From 3c67595d94e14d6195c985adb5e17948a5a79e89 Mon Sep 17 00:00:00 2001 From: Mikhail Shabanov Date: Sat, 15 May 2021 22:23:49 +0200 Subject: [PATCH] feat: realm added. Plus clans bug fixed --- .../Model/RealmSelector.cs | 7 +++ .../Pages/SearchDialog.razor | 53 +++++++++++-------- .../Pages/SearchDialogTypeBase.cs | 14 +++++ WotBlitzStatisticsPro.Blazor/Program.cs | 4 +- .../Services/GraphQlBackendMockService.cs | 4 +- .../Query/WotBlitzStatisticsQuery.cs | 2 +- .../WargamingApiClient.cs | 8 +++ 7 files changed, 66 insertions(+), 26 deletions(-) create mode 100644 WotBlitzStatisticsPro.Blazor/Model/RealmSelector.cs diff --git a/WotBlitzStatisticsPro.Blazor/Model/RealmSelector.cs b/WotBlitzStatisticsPro.Blazor/Model/RealmSelector.cs new file mode 100644 index 0000000..b19cc7a --- /dev/null +++ b/WotBlitzStatisticsPro.Blazor/Model/RealmSelector.cs @@ -0,0 +1,7 @@ +using WotBlitzStatisticsPro.Blazor.GraphQl; + +namespace WotBlitzStatisticsPro.Blazor.Model +{ + public record RealmSelector(RealmType RealmType, string RealmImage); + +} \ No newline at end of file diff --git a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor index db09ceb..cbda9d4 100644 --- a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor +++ b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialog.razor @@ -1,23 +1,34 @@ @using WotBlitzStatisticsPro.Blazor.Model @inherits SearchDialogTypeBase - - - - - - - OnOkButtonClick()) - Text="Ok" - Visible="@(!ComponentBusy)" - Style="margin: 10px auto 10px auto; display: block; width: 150px; " /> +
+
+ + + +
+
+ +
+
+ + + + + OnOkButtonClick()) + Text="Ok" + Visible="@(!ComponentBusy)" + Style="margin: 10px auto 10px auto; display: block; width: 150px; " /> diff --git a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs index 79045cb..832ba50 100644 --- a/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs +++ b/WotBlitzStatisticsPro.Blazor/Pages/SearchDialogTypeBase.cs @@ -32,12 +32,26 @@ namespace WotBlitzStatisticsPro.Blazor.Pages public List FilteredList { get; set; } = new(); + public List Realms { get; set; } + public RealmType CurrentRealmType { get; set; } = RealmType.Eu; public long CurrentValue { get; set; } public bool ComponentBusy { get; set; } = false; + public SearchDialogTypeBase() + { + Realms = new List() + { + new(RealmType.Eu, "/realm/region.eu.scale-200.png"), + new(RealmType.Ru, "/realm/region.ru.scale-200.png"), + new(RealmType.Na, "/realm/region.na.scale-200.png"), + new(RealmType.Asia, "/realm/region.asia.scale-200.png"), + }; + + } + public async Task OnSearchTextChange(string value) { if (DialogType == DialogType.FindPlayer && value.Length < 3) diff --git a/WotBlitzStatisticsPro.Blazor/Program.cs b/WotBlitzStatisticsPro.Blazor/Program.cs index ff8bf77..b633b48 100644 --- a/WotBlitzStatisticsPro.Blazor/Program.cs +++ b/WotBlitzStatisticsPro.Blazor/Program.cs @@ -40,11 +40,11 @@ namespace WotBlitzStatisticsPro.Blazor //var useMock = Environment.GetEnvironmentVariable("USE_GRAPH_QL_MOCK"); //if (useMock != null && useMock == "true") //{ - builder.Services.AddTransient(); + builder.Services.AddTransient(); //} //else //{ - // builder.Services.AddTransient(); + //builder.Services.AddTransient(); //} var host = builder.Build(); diff --git a/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs b/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs index e0bb99f..ffc913d 100644 --- a/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs +++ b/WotBlitzStatisticsPro.Blazor/Services/GraphQlBackendMockService.cs @@ -21,8 +21,8 @@ namespace WotBlitzStatisticsPro.Blazor.Services { result.Add(new FindPlayers_Players_AccountsSearchResponseItem( faker.Random.Long(100000, 999999), - faker.Name.LastName(), - faker.Lorem.Word().OrNull(faker, 0.8f), + faker.Internet.UserName(), + faker.Hacker.Abbreviation().OrNull(faker, 0.6f), faker.Date.Past(), faker.Random.Number(10, 20000), faker.Random.Number(30, 90))); diff --git a/WotBlitzStatisticsPro.GraphQl/Query/WotBlitzStatisticsQuery.cs b/WotBlitzStatisticsPro.GraphQl/Query/WotBlitzStatisticsQuery.cs index 14eebcb..e2f5bc3 100644 --- a/WotBlitzStatisticsPro.GraphQl/Query/WotBlitzStatisticsQuery.cs +++ b/WotBlitzStatisticsPro.GraphQl/Query/WotBlitzStatisticsQuery.cs @@ -30,7 +30,7 @@ namespace WotBlitzStatisticsPro.GraphQl.Query /// Wargaming Realm. /// Language for the output data. /// - public Task> Players( + public Task?> Players( string accountNick, RealmType? realmType, RequestLanguage? language) diff --git a/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs b/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs index b389fb7..fbc8b8e 100644 --- a/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs +++ b/WotBlitzStatisticsPro.WgApiClient/WargamingApiClient.cs @@ -163,6 +163,10 @@ namespace WotBlitzStatisticsPro.WgApiClient public async Task?> GetBulkPlayerClans(long[] accountIds, RealmType realmType = RealmType.Ru, RequestLanguage language = RequestLanguage.En) { + if (accountIds.Length == 0) + { + return null; + } var clanInfo = await GetFromBlitzApi>( realmType, language, @@ -174,6 +178,10 @@ namespace WotBlitzStatisticsPro.WgApiClient public async Task?> GetShortClansInfo(long[] clanIds, RealmType realmType = RealmType.Ru, RequestLanguage language = RequestLanguage.En) { + if (clanIds.Length == 0) + { + return null; + } var clanInfo = await GetFromBlitzApi>( realmType, language,