Skip to content

Commit d5a3392

Browse files
committed
fix hydration
1 parent fe4dd3d commit d5a3392

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

apps/site/components/withNavBar.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import type { SimpleLocaleConfig } from '@node-core/ui-components/types';
1111
import dynamic from 'next/dynamic';
1212
import { useLocale, useTranslations } from 'next-intl';
1313
import { useTheme } from 'next-themes';
14+
import { useState, useEffect } from 'react';
1415
import type { FC } from 'react';
1516

1617
import Link from '#site/components/Link';
@@ -35,12 +36,16 @@ const WithNavBar: FC = () => {
3536
const t = useTranslations();
3637

3738
const locale = useLocale();
39+
const [mounted, setMounted] = useState(false);
40+
41+
useEffect(() => setMounted(true), []);
3842

3943
const toggleCurrentTheme = () =>
4044
setTheme(resolvedTheme === 'dark' ? 'light' : 'dark');
4145

42-
const themeToggleAriaLabel =
43-
resolvedTheme === 'dark'
46+
const themeToggleAriaLabel = !mounted
47+
? t('components.common.themeToggle.loading')
48+
: resolvedTheme === 'dark'
4449
? t('components.common.themeToggle.light')
4550
: t('components.common.themeToggle.dark');
4651

packages/i18n/src/locales/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@
229229
"label": "Choose Language"
230230
},
231231
"themeToggle": {
232+
"loading": "Loading theme label...",
232233
"light": "Switch to Light Mode",
233234
"dark": "Switch to Dark Mode"
234235
}

0 commit comments

Comments
 (0)