diff --git a/WotBlitzStatisticsPro.Blazor/Pages/FindClanListItem.razor b/WotBlitzStatisticsPro.Blazor/Pages/FindClanListItem.razor new file mode 100644 index 0000000..ba50a8b --- /dev/null +++ b/WotBlitzStatisticsPro.Blazor/Pages/FindClanListItem.razor @@ -0,0 +1,7 @@ +@Clan.Tag + +@code { + [Parameter] + public IFindClans_Clans Clan { get; set; } + +} diff --git a/WotBlitzStatisticsPro.Blazor/Pages/FindPlayerListItem.razor b/WotBlitzStatisticsPro.Blazor/Pages/FindPlayerListItem.razor new file mode 100644 index 0000000..8ecdc74 --- /dev/null +++ b/WotBlitzStatisticsPro.Blazor/Pages/FindPlayerListItem.razor @@ -0,0 +1,8 @@ +@Player.AccountId + +@code { + [Parameter] + public IFindPlayers_Players Player { get; set; } + + +} diff --git a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor index 54ba0b3..26054a4 100644 --- a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor +++ b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor @@ -16,18 +16,32 @@ - - - + Visible="@ComponentBusy" + Style="width: 100%; margin-top: 10px;" /> + @if (DialogType == DialogType.FindPlayer) + { + + + + } + @if (DialogType == DialogType.FindClan) + { + + + + } OnOkButtonClick()) Text="Ok" Visible="@(!ComponentBusy)" diff --git a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs index c396067..c067be7 100644 --- a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs +++ b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs @@ -29,10 +29,11 @@ namespace WotBlitzStatisticsPro.Blazor.Pages [Parameter] public DialogType DialogType { get; set; } - public List FilteredList { get; set; } = new(); - public List Realms { get; set; } + public List PlayersList { get; set; } = new(); + public List ClansList { get; set; } = new(); + public RealmType CurrentRealmType { get; set; } = RealmType.Eu; public long CurrentValue { get; set; } @@ -58,22 +59,18 @@ namespace WotBlitzStatisticsPro.Blazor.Pages return; } - FilteredList.Clear(); ComponentBusy = true; + PlayersList.Clear(); + ClansList.Clear(); await InvokeAsync(StateHasChanged); - - var accounts = - await GraphQlBackendService.FindPlayers(value, CurrentRealmType); - - if (accounts != null) + if (DialogType == DialogType.FindPlayer) { + await FindPlayers(value); + } - foreach (var account in accounts) - { - FilteredList.Add(new SearchItem(account.AccountId, $"{account.Nickname} [{account.ClanTag}] | {account.WinRate}%")); - - } - + if (DialogType == DialogType.FindClan) + { + await FindClans(value); } ComponentBusy = false; @@ -84,10 +81,39 @@ namespace WotBlitzStatisticsPro.Blazor.Pages { if (CurrentValue > 0) { - await Mediator.Publish(new OpenPlayerInfoMessage(CurrentValue, false)); + if (DialogType == DialogType.FindPlayer) + { + await Mediator.Publish(new OpenPlayerInfoMessage(CurrentValue, false)); + } + + if (DialogType == DialogType.FindClan) + { + //await Mediator.Publish(new OpenClanInfoMessage(CurrentValue, false)); + } } DialogService.Close(true); } + + private async Task FindPlayers(string searchString) + { + var accounts = + await GraphQlBackendService.FindPlayers(searchString, CurrentRealmType); + if (accounts != null) + { + PlayersList = new List(accounts); + } + + } + + private async Task FindClans(string searchString) + { + var clans = + await GraphQlBackendService.FindClans(searchString, CurrentRealmType); + if (clans != null) + { + ClansList = new List(clans); + } + } } } \ No newline at end of file diff --git a/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs b/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs index ffc913d..e269b50 100644 --- a/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs +++ b/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs @@ -44,7 +44,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services { result.Add(new FindClans_Clans_ClanSearchResponseItem( faker.Random.Long(100000, 999999), - Convert.ToInt32((faker.Date.Past() - new DateTime(1970, 1, 1)).TotalMilliseconds), + Convert.ToInt32((faker.Date.Past() - new DateTime(1970, 1, 1)).TotalSeconds), faker.Random.Number(1, 50), faker.Lorem.Word(), faker.Lorem.Letter())); diff --git a/WotBlitzStatisticsPro.sln b/WotBlitzStatisticsPro.sln index 9368ca3..340412c 100644 --- a/WotBlitzStatisticsPro.sln +++ b/WotBlitzStatisticsPro.sln @@ -19,7 +19,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WotBlitzStatisticsPro.Tests EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WotBlitzStatisticsPro.Blazor", "WotBlitzStatisticsPro.Blazor\WotBlitzStatisticsPro.Blazor.csproj", "{3A27736F-B5DD-4310-A013-2BB65C975104}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WotBlitzStatisticsPro.Blazor.Tests", "WotBlitzStatisticsPro.Blazor.Tests\WotBlitzStatisticsPro.Blazor.Tests.csproj", "{7969D13E-2148-4608-8500-2DA22947A39C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WotBlitzStatisticsPro.Blazor.Tests", "WotBlitzStatisticsPro.Blazor.Tests\WotBlitzStatisticsPro.Blazor.Tests.csproj", "{7969D13E-2148-4608-8500-2DA22947A39C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution