mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
fix(theme): prevent theme flash on board load
This commit is contained in:
@@ -79,8 +79,10 @@ const fetchMultisubData = async (): Promise<MultisubData> => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const useDefaultSubplebbits = () => {
|
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<DefaultSubplebbitsState>({
|
const [state, setState] = useState<DefaultSubplebbitsState>({
|
||||||
subplebbits: [],
|
subplebbits: (defaultSubplebbitsData as MultisubData).subplebbits,
|
||||||
loading: true,
|
loading: true,
|
||||||
error: null,
|
error: null,
|
||||||
});
|
});
|
||||||
@@ -165,8 +167,9 @@ export const useDefaultSubplebbits = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const useDefaultSubplebbitsState = () => {
|
export const useDefaultSubplebbitsState = () => {
|
||||||
|
// Use vendored data as fallback to prevent theme flash on first load
|
||||||
const [state, setState] = useState<DefaultSubplebbitsState>({
|
const [state, setState] = useState<DefaultSubplebbitsState>({
|
||||||
subplebbits: cacheSubplebbits || [],
|
subplebbits: cacheSubplebbits || (defaultSubplebbitsData as MultisubData).subplebbits,
|
||||||
loading: !cacheSubplebbits,
|
loading: !cacheSubplebbits,
|
||||||
error: null,
|
error: null,
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user