From a6a17991bbb2d1bdee2bcc0f3f6e7a905d112e91 Mon Sep 17 00:00:00 2001 From: OlgunR Date: Mon, 11 May 2026 13:36:44 +0200 Subject: [PATCH] Refactor theme change handler for safe async updates Refactored OnThemeChanged in MainLayout.razor to use InvokeAsync for proper synchronization of UI updates and async logic, preventing threading issues. Also added a blank line after app.Run() in Program.cs (no functional impact). --- .../Components/Layout/MainLayout.razor | 11 ++++++----- DbFirst.BlazorWebApp/Program.cs | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/DbFirst.BlazorWebApp/Components/Layout/MainLayout.razor b/DbFirst.BlazorWebApp/Components/Layout/MainLayout.razor index 77cd534..f7ce51c 100644 --- a/DbFirst.BlazorWebApp/Components/Layout/MainLayout.razor +++ b/DbFirst.BlazorWebApp/Components/Layout/MainLayout.razor @@ -50,13 +50,14 @@ await ApplyDxDarkOverrideAsync(); } - private async void OnThemeChanged() + private void OnThemeChanged() { - StateHasChanged(); - if (_isInteractive) + InvokeAsync(async () => { - await ApplyDxDarkOverrideAsync(); - } + StateHasChanged(); + if (_isInteractive) + await ApplyDxDarkOverrideAsync(); + }); } private async Task ApplyDxDarkOverrideAsync() diff --git a/DbFirst.BlazorWebApp/Program.cs b/DbFirst.BlazorWebApp/Program.cs index 1184383..a477173 100644 --- a/DbFirst.BlazorWebApp/Program.cs +++ b/DbFirst.BlazorWebApp/Program.cs @@ -44,4 +44,4 @@ app.UseAntiforgery(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); -app.Run(); +app.Run(); \ No newline at end of file