diff --git a/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoOverview.razor b/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoOverview.razor index 5d977a4..5250d22 100644 --- a/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoOverview.razor +++ b/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoOverview.razor @@ -3,8 +3,8 @@
-
- +
+
@@ -35,11 +35,33 @@
@Localize["Battles"]:
-
- @if(MostRelevantTank != null) - { -

@MostRelevantTank.Name

- } +
+
+ @Localize["Most effective tank"]: +
+ @if (MostRelevantTank != null) + { + + } +
+
+
+ @Localize["Tank with Max XP"] (@AccountInfo.MaxXp.ToString("N0")): +
+ @if (MaxXpTank != null) + { + + } +
+
+
+ @Localize["Tank with Max frags"] (@AccountInfo.MaxFrags): +
+ + @if (MaxFragsTank != null) + { + + }
@@ -49,10 +71,14 @@ public IAccount AccountInfo { get; set; } public ITank? MostRelevantTank; + public ITank? MaxXpTank; + public ITank? MaxFragsTank; protected override void OnInitialized() { MostRelevantTank = AccountInfo?.Tanks?.Where(t => t.Battles > 50).OrderByDescending(t => t.Wn7).FirstOrDefault(); + MaxXpTank = AccountInfo?.Tanks?.FirstOrDefault(t => t.TankId == AccountInfo.MaxXpTankId); + MaxFragsTank = AccountInfo?.Tanks?.FirstOrDefault(t => t.TankId == AccountInfo.MaxFragsTankId); } } diff --git a/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoTanksList.razor b/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoTanksList.razor index 0f4b5e1..d102d55 100644 --- a/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoTanksList.razor +++ b/WotBlitzStatisticsPro.Blazor/Pages/PlayerInfoTanksList.razor @@ -61,32 +61,33 @@ LogicalFilterOperator="LogicalFilterOperator.Or" @ref="TanksGrid"> - + - + - + - + - + @Localize["Tanks"]: @TanksGrid.View.Count() @Localize["of"] @TanksList.Count() @@ -184,3 +185,11 @@ SortOrder="SortOrder.Descending"/> + + +@code { + void ShowTankTooltip(ElementReference elementReference, string img, string nationId, TooltipOptions options = null) => TooltipService.Open(elementReference, ds => + @
+ +
, options); +} \ No newline at end of file diff --git a/WotBlitzStatisticsPro.Blazor/Pages/TankCard.razor b/WotBlitzStatisticsPro.Blazor/Pages/TankCard.razor new file mode 100644 index 0000000..924b61a --- /dev/null +++ b/WotBlitzStatisticsPro.Blazor/Pages/TankCard.razor @@ -0,0 +1,59 @@ +@using WotBlitzStatisticsPro.Blazor.Helpers +@inject IStringLocalizer Localize; + +
+
+
+ + @if (Tank.IsPremium) + { + + @Tank.Tier.RomanNumber() + } + else + { + @Tank.Tier.RomanNumber() + } +
+
+ +
+
+
+ +
+
+ @if (Tank.IsPremium) + { + + @Tank.Name + + } + else + { + @Tank.Name + } +
+
+
+ @Tank.Battles.ToString("N0") +
+
+ @Tank.WinRate.ToString("N0")% +
+
+
+
+
+ @Tank.AvgDamage.ToString("N0") +
+
+ @Tank.AvgXp.ToString("N0") +
+
+
+ +@code { + [Parameter] + public ITank Tank { get; set; } +} diff --git a/WotBlitzStatisticsPro.Blazor/Pages/TankCard.razor.css b/WotBlitzStatisticsPro.Blazor/Pages/TankCard.razor.css new file mode 100644 index 0000000..5a2ff1f --- /dev/null +++ b/WotBlitzStatisticsPro.Blazor/Pages/TankCard.razor.css @@ -0,0 +1,56 @@ +.card-body { + display: flex; + flex-direction: column; + justify-content: flex-start; + width: 120px; + height: 200px; + font-size: 14px; +} + +.header-area { + justify-content: space-between; + display: flex; + flex-direction: row; + align-items: flex-end; +} + +.middle-alligned { + display: flex; + flex-direction: row; + align-items: center; +} + +.card-flag-area { + background-repeat: no-repeat; + width: 120px; + height: 70px; + justify-content: flex-end; + display: flex; + flex-direction: row; +} + +.mastery-image { + width: 32px; + height: 32px; +} + +.tank-preview { + width: 95px; + height: 70px; +} + +.tank-type-icon { + width: 32px; + height: 32px; +} + +.icon-scale { + width: 20px; + height: 20px; +} + +.statistics-row { + justify-content: space-between; + display: flex; + flex-direction: row; +} diff --git a/WotBlitzStatisticsPro.Blazor/Resources/App.de.resx b/WotBlitzStatisticsPro.Blazor/Resources/App.de.resx index 6715233..e57f177 100644 --- a/WotBlitzStatisticsPro.Blazor/Resources/App.de.resx +++ b/WotBlitzStatisticsPro.Blazor/Resources/App.de.resx @@ -177,6 +177,9 @@ vor Monaten + + Effektivster Panzer + von @@ -198,6 +201,12 @@ Panzer + + Panzer max zerstört + + + Panzer mit max EP + Panzern diff --git a/WotBlitzStatisticsPro.Blazor/Resources/App.ru.resx b/WotBlitzStatisticsPro.Blazor/Resources/App.ru.resx index e4ef13a..a2c451a 100644 --- a/WotBlitzStatisticsPro.Blazor/Resources/App.ru.resx +++ b/WotBlitzStatisticsPro.Blazor/Resources/App.ru.resx @@ -177,6 +177,9 @@ месяцев назад + + Самый эффективный танк + из @@ -198,6 +201,12 @@ Танк + + Максимум фрагов + + + Максимум XP + Танков diff --git a/WotBlitzStatisticsPro.Blazor/wwwroot/icons/damage.scale-200.png b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/damage.scale-200.png new file mode 100644 index 0000000..3dfd023 Binary files /dev/null and b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/damage.scale-200.png differ diff --git a/WotBlitzStatisticsPro.Blazor/wwwroot/icons/last.battle.time.scale-200.png b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/last.battle.time.scale-200.png new file mode 100644 index 0000000..b60a783 Binary files /dev/null and b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/last.battle.time.scale-200.png differ diff --git a/WotBlitzStatisticsPro.Blazor/wwwroot/icons/xp.avg.scale-200.png b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/xp.avg.scale-200.png new file mode 100644 index 0000000..e8abcc4 Binary files /dev/null and b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/xp.avg.scale-200.png differ diff --git a/WotBlitzStatisticsPro.Blazor/wwwroot/icons/xp.max.scale-200.png b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/xp.max.scale-200.png new file mode 100644 index 0000000..28d881f Binary files /dev/null and b/WotBlitzStatisticsPro.Blazor/wwwroot/icons/xp.max.scale-200.png differ