mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-23 19:30:06 +02:00
feat: tanks table layout
This commit is contained in:
1 parent
8a5d286560
commit
8b2c0daa27
51 files changed
+201
-11
No files matched your search
@@ -0,0 +1,52 @@
|
||||
using WotBlitzStatisticsPro.Blazor.GraphQl;
|
||||
|
||||
namespace WotBlitzStatisticsPro.Blazor.Helpers
|
||||
{
|
||||
public static class AssetsHelper
|
||||
{
|
||||
public static string IconAsset(this MarkOfMastery mastery)
|
||||
{
|
||||
return mastery switch
|
||||
{
|
||||
MarkOfMastery.Rank3 => "/mastery/vehicle.mark.third.scale-200.png",
|
||||
MarkOfMastery.Rank2 => "/mastery/vehicle.mark.second.scale-200.png",
|
||||
MarkOfMastery.Rank1 => "/mastery/vehicle.mark.first.scale-200.png",
|
||||
MarkOfMastery.Master => "/mastery/vehicle.mark.master.scale-200.png",
|
||||
_ => "/mastery/vehicle.mark.none.big.scale-200.png"
|
||||
};
|
||||
}
|
||||
|
||||
public static string TankTypeAsset(this string tankTypeId, bool isPremium)
|
||||
{
|
||||
return tankTypeId switch
|
||||
{
|
||||
"heavyTank" when !isPremium => "/tank-type/vehicle.class.heavy.small.scale-200.png",
|
||||
"heavyTank" when isPremium => "/tank-type/vehicle.class.heavy.premium.small.scale-200.png",
|
||||
"AT-SPG" when !isPremium => "/tank-type/vehicle.class.atspg.small.scale-200.png",
|
||||
"AT-SPG" when isPremium => "/tank-type/vehicle.class.atspg.premium.small.scale-200.png",
|
||||
"mediumTank" when !isPremium => "/tank-type/vehicle.class.medium.small.scale-200.png",
|
||||
"mediumTank" when isPremium => "/tank-type/vehicle.class.medium.premium.small.scale-200.png",
|
||||
"lightTank" when !isPremium => "/tank-type/vehicle.class.light.small.scale-200.png",
|
||||
"lightTank" when isPremium => "/tank-type/vehicle.class.light.premium.small.scale-200.png",
|
||||
_ => ""
|
||||
};
|
||||
}
|
||||
|
||||
public static string NationAsset(this string nationTypeId)
|
||||
{
|
||||
return nationTypeId switch
|
||||
{
|
||||
"usa" => "flags/usa.png",
|
||||
"france" => "flags/france.png",
|
||||
"ussr" => "flags/ussr.png",
|
||||
"china" => "flags/china.png",
|
||||
"uk" => "flags/uk.png",
|
||||
"japan" => "flags/japan.png",
|
||||
"germany" => "flags/germany.png",
|
||||
"other" => "flags/other.png",
|
||||
"european" => "flags/eu.png",
|
||||
_ => "flags/vehicle.nation.unknown.scale-200.png"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Text.Encodings.Web;
|
||||
using System;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Text.Json;
|
||||
using System.Text.Unicode;
|
||||
|
||||
@@ -10,5 +11,32 @@ namespace WotBlitzStatisticsPro.Blazor.Helpers
|
||||
{
|
||||
return JsonSerializer.Serialize(data, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.Create(UnicodeRanges.BasicLatin, UnicodeRanges.Cyrillic) });
|
||||
}
|
||||
|
||||
public static string RomanNumber(this int number)
|
||||
{
|
||||
var romanNumerals = new[] {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"};
|
||||
var numerals = new[] {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
|
||||
|
||||
if (number <= 0)
|
||||
{
|
||||
return number.ToString();
|
||||
}
|
||||
|
||||
string result = "";
|
||||
|
||||
while (number > 0)
|
||||
{
|
||||
// find biggest numeral that is less than equal to number
|
||||
var index = Array.FindIndex(numerals, n => n <= number);
|
||||
|
||||
// subtract it's value from your number
|
||||
number -= numerals[index];
|
||||
|
||||
// tack it onto the end of your roman numeral
|
||||
result = string.Concat(result, romanNumerals[index]);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user