refactor(client): rename GetDarkModeAsync→GetDarkMode, drop commented JS interop, fix misleading comment

This commit is contained in:
Daniel Harvey
2026-05-21 06:29:13 -04:00
parent cb5c2fd2b9
commit 2fac9e51e6
2 changed files with 10 additions and 13 deletions
@@ -81,15 +81,15 @@
{ {
if (firstRender) if (firstRender)
{ {
// Dark-mode cookie sync runs here (not OnInitializedAsync) because // Runs here (not OnInitializedAsync) because OnAfterRenderAsync(firstRender)
// OnAfterRenderAsync(firstRender) is guaranteed not to execute during any // is guaranteed not to execute during any SSR prerender pass. During prerender
// SSR prerender pass. During prerender (now interactive across all of Routes), // (now interactive across all of Routes), awaiting IsDarkModeChanged.InvokeAsync
// awaiting IsDarkModeChanged.InvokeAsync triggers a parent re-render cycle // triggers a parent re-render cycle that cannot complete on the prerender renderer
// that cannot complete on the prerender renderer and hangs the response. // and hangs the response. Server-side DarkModeService has already seeded
// Server-side DarkModeService has already seeded DarkModeSettings via // DarkModeSettings via PersistentComponentState, so the prerender paint is
// PersistentComponentState, so the prerender paint is already correct; // already correct; this call reads that persisted value and propagates it to the
// this call just reconciles with the live cookie once on the client. // parent so the menu's IsDarkMode parameter stays consistent with DarkModeSettings.
IsDarkMode = DarkModeCookieService.GetDarkModeAsync(); IsDarkMode = DarkModeCookieService.GetDarkMode();
await IsDarkModeChanged.InvokeAsync(IsDarkMode); await IsDarkModeChanged.InvokeAsync(IsDarkMode);
_viewportSubscriptionId = Guid.NewGuid(); _viewportSubscriptionId = Guid.NewGuid();
@@ -7,12 +7,9 @@ public class DarkModeCookieService(DarkModeSettings darkModeSetting, IJSRuntime
{ {
private const int EXPIRY_DAYS = 365; private const int EXPIRY_DAYS = 365;
public bool GetDarkModeAsync() public bool GetDarkMode()
{ {
return darkModeSetting.IsDarkMode; return darkModeSetting.IsDarkMode;
// var value = await js.InvokeAsync<string?>("eval",
// $"document.cookie.split('; ').find(c => c.startsWith('{COOKIE_NAME}='))?.split('=')[1]");
// return value == "true";
} }
public async ValueTask SetDarkModeAsync(bool isDarkMode) public async ValueTask SetDarkModeAsync(bool isDarkMode)