From b1ebf0b4ae4e4e9361f3a3603f9d40fece2d6ef6 Mon Sep 17 00:00:00 2001 From: plebeius Date: Tue, 25 Nov 2025 22:24:48 +0100 Subject: [PATCH] fix(theme): prevent theme flash on board load --- src/hooks/use-default-subplebbits.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/hooks/use-default-subplebbits.ts b/src/hooks/use-default-subplebbits.ts index ecea1d94..bbaf3ff7 100644 --- a/src/hooks/use-default-subplebbits.ts +++ b/src/hooks/use-default-subplebbits.ts @@ -79,8 +79,10 @@ const fetchMultisubData = async (): Promise => { }; export const useDefaultSubplebbits = () => { + // Use vendored data as initial state to prevent theme flash on first load + // This ensures NSFW status is known synchronously before first render const [state, setState] = useState({ - subplebbits: [], + subplebbits: (defaultSubplebbitsData as MultisubData).subplebbits, loading: true, error: null, }); @@ -165,8 +167,9 @@ export const useDefaultSubplebbits = () => { }; export const useDefaultSubplebbitsState = () => { + // Use vendored data as fallback to prevent theme flash on first load const [state, setState] = useState({ - subplebbits: cacheSubplebbits || [], + subplebbits: cacheSubplebbits || (defaultSubplebbitsData as MultisubData).subplebbits, loading: !cacheSubplebbits, error: null, });