feat: tanks table layout

This commit is contained in:
Mikhail Shabanov committed 2021-07-15 11:51:06 +02:00
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;
}
}
}