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 @@
-
-
-
- @(((SearchItem) context).ItemName) | accountId: @(((SearchItem) context).ItemId)
-
-
+ 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