From 334bbe9ef222b3ec119d499f42f56efca63abc97 Mon Sep 17 00:00:00 2001 From: Brian Bicknell Date: Tue, 11 Nov 2025 17:10:28 -0500 Subject: [PATCH] Minor adjustments to the UI. --- JSMR.Api/.config/dotnet-tools.json | 5 + JSMR.UI.Blazor/.config/dotnet-tools.json | 13 +++ JSMR.UI.Blazor/JSMR.UI.Blazor.csproj | 37 ++++--- JSMR.UI.Blazor/Pages/Circles.razor | 35 +++++- JSMR.UI.Blazor/Pages/Creators.razor | 104 ++++++++---------- JSMR.UI.Blazor/Program.cs | 3 +- JSMR.UI.Blazor/{ => wwwroot}/appsettings.json | 0 7 files changed, 114 insertions(+), 83 deletions(-) create mode 100644 JSMR.Api/.config/dotnet-tools.json create mode 100644 JSMR.UI.Blazor/.config/dotnet-tools.json rename JSMR.UI.Blazor/{ => wwwroot}/appsettings.json (100%) diff --git a/JSMR.Api/.config/dotnet-tools.json b/JSMR.Api/.config/dotnet-tools.json new file mode 100644 index 0000000..b0e38ab --- /dev/null +++ b/JSMR.Api/.config/dotnet-tools.json @@ -0,0 +1,5 @@ +{ + "version": 1, + "isRoot": true, + "tools": {} +} \ No newline at end of file diff --git a/JSMR.UI.Blazor/.config/dotnet-tools.json b/JSMR.UI.Blazor/.config/dotnet-tools.json new file mode 100644 index 0000000..d4937e0 --- /dev/null +++ b/JSMR.UI.Blazor/.config/dotnet-tools.json @@ -0,0 +1,13 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "9.0.10", + "commands": [ + "dotnet-ef" + ], + "rollForward": false + } + } +} \ No newline at end of file diff --git a/JSMR.UI.Blazor/JSMR.UI.Blazor.csproj b/JSMR.UI.Blazor/JSMR.UI.Blazor.csproj index 6565cb5..0268fc8 100644 --- a/JSMR.UI.Blazor/JSMR.UI.Blazor.csproj +++ b/JSMR.UI.Blazor/JSMR.UI.Blazor.csproj @@ -1,25 +1,26 @@ - - net9.0 - enable - enable - service-worker-assets.js - + + net9.0 + enable + enable + service-worker-assets.js + true + - - - - - - + + + + + + - - - + + + - - - + + + diff --git a/JSMR.UI.Blazor/Pages/Circles.razor b/JSMR.UI.Blazor/Pages/Circles.razor index 710bc1a..81515d6 100644 --- a/JSMR.UI.Blazor/Pages/Circles.razor +++ b/JSMR.UI.Blazor/Pages/Circles.razor @@ -43,8 +43,20 @@ else - - + + +
+
@context.Item.Name
+
+
+
+ @* + + @context.Item.MakerId + + *@ + @* + *@ @if (context.Item.Favorite) @@ -78,7 +90,7 @@ else - + @* @context.Item.FirstReleaseDate?.ToString("MMMM d, yyyy") @@ -87,7 +99,7 @@ else @context.Item.LatestReleaseDate?.ToString("MMMM d, yyyy") - + *@ @@ -136,6 +148,21 @@ else background: var(--mud-palette-background); padding: .5em 1em; } + + .circle-name-container { + display: inline-flex; + flex-direction: column; + gap: .5rem; + } + + .circle-name { + font-size: 1.2rem; + font-weight: 600; + } + + .maker-id { + margin: 0; + } @code { diff --git a/JSMR.UI.Blazor/Pages/Creators.razor b/JSMR.UI.Blazor/Pages/Creators.razor index 66e026f..0924a0c 100644 --- a/JSMR.UI.Blazor/Pages/Creators.razor +++ b/JSMR.UI.Blazor/Pages/Creators.razor @@ -11,7 +11,7 @@

Creators

- + @if (searchResults is null) { @@ -23,24 +23,26 @@ else if (searchResults.Items.Length == 0) } else { - - - - - - - - - - - - - - - - + + + Name + Voice Works + Favorite + Blacklisted + + + @context.Name + @context.VoiceWorkCount + + + + + + + + - + } @code { - private string? keywords; - - public string? Keywords - { - get { return keywords; } - set - { - keywords = value; - _ = UpdateDataAsync(true); - } - } - - private int pageNumber = 1; - - public int PageNumber - { - get { return pageNumber; } - set - { - pageNumber = value; - _ = UpdateDataAsync(false); - } - } - - int pageSize = 100; - - public int PageSize - { - get { return pageSize; } - set - { - pageSize = value; - _ = UpdateDataAsync(true); - } - } + public string? Keywords { get; set; } + public int PageNumber { get; set; } = 1; + public int PageSize { get; set; } = 100; SearchResult? searchResults; - protected override Task OnInitializedAsync() + protected override async Task OnInitializedAsync() { - _ = LoadCreatorsAsync(); + await UpdateDataAsync(true); + } - return Task.CompletedTask; + public async Task OnKeywordsChanged(string? newKeywords) + { + Keywords = newKeywords; + await UpdateDataAsync(true); + } + + public async Task OnPageNumberChanged(int newPageNumber) + { + PageNumber = newPageNumber; + await UpdateDataAsync(false); + } + + public async Task OnPageSizeChanged(int newPageSize) + { + PageSize = newPageSize; + await UpdateDataAsync(true); } private async Task UpdateDataAsync(bool resetPageNumber) { if (resetPageNumber) - pageNumber = 1; + PageNumber = 1; await LoadCreatorsAsync(); } @@ -120,7 +106,7 @@ else Options: new() { PageNumber = PageNumber, - PageSize = pageSize, + PageSize = PageSize, Criteria = new() { Name = Keywords @@ -137,6 +123,6 @@ else searchResults = result?.Results ?? new(); - await InvokeAsync(StateHasChanged); + //await InvokeAsync(StateHasChanged); } } \ No newline at end of file diff --git a/JSMR.UI.Blazor/Program.cs b/JSMR.UI.Blazor/Program.cs index 1835427..1c28932 100644 --- a/JSMR.UI.Blazor/Program.cs +++ b/JSMR.UI.Blazor/Program.cs @@ -8,8 +8,7 @@ var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("#app"); builder.RootComponents.Add("head::after"); -var apiBase = builder.Configuration["ApiBaseUrl"] ?? builder.HostEnvironment.BaseAddress; -apiBase = "https://localhost:7277"; +string apiBase = builder.Configuration["ApiBaseUrl"] ?? builder.HostEnvironment.BaseAddress; Console.WriteLine(apiBase); diff --git a/JSMR.UI.Blazor/appsettings.json b/JSMR.UI.Blazor/wwwroot/appsettings.json similarity index 100% rename from JSMR.UI.Blazor/appsettings.json rename to JSMR.UI.Blazor/wwwroot/appsettings.json