refactor(client): rename GetDarkModeAsync→GetDarkMode, drop commented JS interop, fix misleading comment
This commit is contained in:
@@ -81,15 +81,15 @@
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
// Dark-mode cookie sync runs here (not OnInitializedAsync) because
|
||||
// OnAfterRenderAsync(firstRender) is guaranteed not to execute during any
|
||||
// SSR prerender pass. During prerender (now interactive across all of Routes),
|
||||
// awaiting IsDarkModeChanged.InvokeAsync triggers a parent re-render cycle
|
||||
// that cannot complete on the prerender renderer and hangs the response.
|
||||
// Server-side DarkModeService has already seeded DarkModeSettings via
|
||||
// PersistentComponentState, so the prerender paint is already correct;
|
||||
// this call just reconciles with the live cookie once on the client.
|
||||
IsDarkMode = DarkModeCookieService.GetDarkModeAsync();
|
||||
// Runs here (not OnInitializedAsync) because OnAfterRenderAsync(firstRender)
|
||||
// is guaranteed not to execute during any SSR prerender pass. During prerender
|
||||
// (now interactive across all of Routes), awaiting IsDarkModeChanged.InvokeAsync
|
||||
// triggers a parent re-render cycle that cannot complete on the prerender renderer
|
||||
// and hangs the response. Server-side DarkModeService has already seeded
|
||||
// DarkModeSettings via PersistentComponentState, so the prerender paint is
|
||||
// already correct; this call reads that persisted value and propagates it to the
|
||||
// parent so the menu's IsDarkMode parameter stays consistent with DarkModeSettings.
|
||||
IsDarkMode = DarkModeCookieService.GetDarkMode();
|
||||
await IsDarkModeChanged.InvokeAsync(IsDarkMode);
|
||||
|
||||
_viewportSubscriptionId = Guid.NewGuid();
|
||||
|
||||
@@ -7,12 +7,9 @@ public class DarkModeCookieService(DarkModeSettings darkModeSetting, IJSRuntime
|
||||
{
|
||||
private const int EXPIRY_DAYS = 365;
|
||||
|
||||
public bool GetDarkModeAsync()
|
||||
public bool GetDarkMode()
|
||||
{
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user