2021-07-21 15:44:14 +02:00
|
|
|
@using WotBlitzStatisticsPro.Blazor.Helpers
|
2022-05-05 12:28:16 +02:00
|
|
|
@using MediatR
|
|
|
|
|
@using WotBlitzStatisticsPro.Blazor.Messages
|
2021-07-21 15:44:14 +02:00
|
|
|
@inject IStringLocalizer<App> Localize;
|
2022-05-05 12:28:16 +02:00
|
|
|
@inject IMediator Mediator
|
2021-07-21 15:44:14 +02:00
|
|
|
|
|
|
|
|
<div class="row">
|
2022-05-04 16:29:29 +02:00
|
|
|
<RadzenCard class="m-3" style="width: 350px;">
|
|
|
|
|
<table class="table" width="100%">
|
2021-07-21 15:44:14 +02:00
|
|
|
<tbody>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>@Localize["Battles"]:</td>
|
2022-05-05 10:59:04 +02:00
|
|
|
<td align="right"><b>@AccountInfo.Battles.ToString("N0")</b></td>
|
2021-07-21 15:44:14 +02:00
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>@Localize["Win rate"]:</td>
|
2022-05-05 10:59:04 +02:00
|
|
|
<td align="right">
|
2021-07-21 15:44:14 +02:00
|
|
|
<b>@AccountInfo.WinRate.ToString("N2")%</b>
|
|
|
|
|
<div style="background-color: @AccountInfo.WinRate.ScaleColor(); width: 100%; height: 5px; margin-left: 2px; margin-right: 2px;"></div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>@Localize["Wn7"]:</td>
|
2022-05-05 10:59:04 +02:00
|
|
|
<td align="right">
|
2021-07-21 15:44:14 +02:00
|
|
|
<b>@AccountInfo.Wn7.ToString("N2")</b>
|
|
|
|
|
<div style="background-color: @AccountInfo.Wn7.Wn7ScaleColor(); width: 100%; height: 5px; margin-left: 2px; margin-right: 2px;"></div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2022-05-05 10:59:04 +02:00
|
|
|
<td>@Localize["Average XP"]:</td>
|
|
|
|
|
<td align="right"><b>@AccountInfo.AvgXp.ToString("N0")</b></td>
|
2021-07-21 15:44:14 +02:00
|
|
|
</tr>
|
|
|
|
|
<tr>
|
2022-05-05 10:59:04 +02:00
|
|
|
<td>@Localize["Average Damage"]:</td>
|
|
|
|
|
<td align="right"><b>@AccountInfo.AvgDamage.ToString("N0")</b></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>@Localize["Damage coefficient"]:</td>
|
|
|
|
|
<td align="right"><b>@AccountInfo.DamageCoefficient.ToString("N2")</b></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>@Localize["Survival rate"]:</td>
|
|
|
|
|
<td align="right"><b>@AccountInfo.SurvivalRate.ToString("N0")%</b></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td>@Localize["Avg tier"]:</td>
|
|
|
|
|
<td align="right"><b>@AccountInfo.AvgTier.ToString("N2")</b></td>
|
2021-07-21 15:44:14 +02:00
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
2022-05-04 16:29:29 +02:00
|
|
|
</RadzenCard>
|
|
|
|
|
<RadzenCard class="m-3" style="width: 350px;">
|
|
|
|
|
<h3 class="h5">@Localize["Most effective tank"]</h3>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col col-sm col-md col-lg col-xl">
|
|
|
|
|
</div>
|
2022-05-05 12:28:16 +02:00
|
|
|
<div class="col col-sm col-md col-lg col-xl" @onclick="@(async (e) => { await Mediator.Publish(new OpenTankDialogMessage(MostRelevantTank)); })">
|
2022-05-04 16:29:29 +02:00
|
|
|
@if (MostRelevantTank != null)
|
|
|
|
|
{
|
|
|
|
|
<TankCard Tank=@MostRelevantTank></TankCard>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col col-sm col-md col-lg col-xl">
|
|
|
|
|
</div>
|
2021-07-23 12:29:37 +02:00
|
|
|
|
2022-05-04 16:29:29 +02:00
|
|
|
</div>
|
|
|
|
|
</RadzenCard>
|
|
|
|
|
<RadzenCard class="m-3" style="width: 350px;">
|
|
|
|
|
<h3 class="h5">@Localize["Tank with Max XP"] (@AccountInfo.MaxXp.ToString("N0"))</h3>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col col-sm col-md col-lg col-xl">
|
|
|
|
|
</div>
|
2022-05-05 12:28:16 +02:00
|
|
|
<div class="col col-sm col-md col-lg col-xl" @onclick="@(async (e) => { await Mediator.Publish(new OpenTankDialogMessage(MaxXpTank)); })">
|
2022-05-04 16:29:29 +02:00
|
|
|
@if (MaxXpTank != null)
|
|
|
|
|
{
|
|
|
|
|
<TankCard Tank=@MaxXpTank></TankCard>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col col-sm col-md col-lg col-xl">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</RadzenCard>
|
|
|
|
|
<RadzenCard class="m-3" style="width: 350px;">
|
|
|
|
|
<h3 class="h5">@Localize["Tank with Max frags"] (@AccountInfo.MaxFrags)</h3>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col col-sm col-md col-lg col-xl">
|
|
|
|
|
</div>
|
2022-05-05 12:28:16 +02:00
|
|
|
<div class="col col-sm col-md col-lg col-xl" @onclick="@(async (e) => { await Mediator.Publish(new OpenTankDialogMessage(MaxFragsTank)); })">
|
2022-05-04 16:29:29 +02:00
|
|
|
@if (MaxFragsTank != null)
|
|
|
|
|
{
|
|
|
|
|
<TankCard Tank=@MaxFragsTank></TankCard>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col col-sm col-md col-lg col-xl">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</RadzenCard>
|
2022-05-05 10:59:04 +02:00
|
|
|
<OverallStatisticsCard Statistics="@AccountInfo"></OverallStatisticsCard>
|
2021-07-21 15:44:14 +02:00
|
|
|
</div>
|
2022-05-04 16:29:29 +02:00
|
|
|
|
2021-06-01 09:31:11 +02:00
|
|
|
|
|
|
|
|
@code {
|
2021-06-04 12:33:10 +02:00
|
|
|
[Parameter]
|
2021-06-04 15:35:53 +02:00
|
|
|
public IAccount AccountInfo { get; set; }
|
2021-07-21 15:44:14 +02:00
|
|
|
|
|
|
|
|
public ITank? MostRelevantTank;
|
2021-07-23 12:29:37 +02:00
|
|
|
public ITank? MaxXpTank;
|
|
|
|
|
public ITank? MaxFragsTank;
|
2021-07-21 15:44:14 +02:00
|
|
|
|
|
|
|
|
protected override void OnInitialized()
|
|
|
|
|
{
|
2021-11-03 15:29:03 +01:00
|
|
|
MostRelevantTank = AccountInfo?.Tanks?.FindMostRelevantTank();
|
2021-07-23 12:29:37 +02:00
|
|
|
MaxXpTank = AccountInfo?.Tanks?.FirstOrDefault(t => t.TankId == AccountInfo.MaxXpTankId);
|
|
|
|
|
MaxFragsTank = AccountInfo?.Tanks?.FirstOrDefault(t => t.TankId == AccountInfo.MaxFragsTankId);
|
2021-07-21 15:44:14 +02:00
|
|
|
}
|
2021-06-01 09:31:11 +02:00
|
|
|
}
|