diff --git a/public/logo-stacked-dark.png b/public/logo-stacked-dark.png new file mode 100644 index 0000000..5a5e425 Binary files /dev/null and b/public/logo-stacked-dark.png differ diff --git a/src/app/[lang]/layout.tsx b/src/app/[lang]/layout.tsx index 1c7c74f..d0c01ac 100644 --- a/src/app/[lang]/layout.tsx +++ b/src/app/[lang]/layout.tsx @@ -5,6 +5,7 @@ import "../globals.css"; import SiteHeader from "@/components/site-header"; import SiteFooter from "@/components/site-footer"; import Analytics, { AnalyticsNoScript } from "@/components/analytics"; +import { themeScript } from "@/components/theme-toggle"; import { dirOf, locales, localize, ogLocale } from "@/i18n/config"; import { mainNav } from "@/i18n/nav"; import { getUI } from "@/i18n/server"; @@ -51,7 +52,7 @@ export async function generateMetadata(): Promise { export const viewport: Viewport = { themeColor: "#000000", - colorScheme: "dark", + colorScheme: "dark light", }; export default async function RootLayout({ children }: LayoutProps<"/[lang]">) { @@ -63,6 +64,8 @@ export default async function RootLayout({ children }: LayoutProps<"/[lang]">) { closeMenu: t.nav.closeMenu, language: t.nav.language, logoHome: t.logoHome, + lightTheme: t.nav.lightTheme, + darkTheme: t.nav.darkTheme, }; return ( @@ -71,7 +74,12 @@ export default async function RootLayout({ children }: LayoutProps<"/[lang]">) { dir={dirOf(locale)} className={`${inter.variable} ${arabic.variable}`} data-scroll-behavior="smooth" + // The theme script sets data-theme before React hydrates. + suppressHydrationWarning > + +