diff --git a/ui/litellm-dashboard/src/app/layout.tsx b/ui/litellm-dashboard/src/app/layout.tsx index a4ed17cde39..1ad2ef18c62 100644 --- a/ui/litellm-dashboard/src/app/layout.tsx +++ b/ui/litellm-dashboard/src/app/layout.tsx @@ -13,6 +13,20 @@ export const metadata: Metadata = { icons: { icon: "./favicon.ico" }, }; +// Sets the `dark` class on synchronously before React hydrates, so +// returning dark-mode users don't see a flash of light theme on page load. +const darkModeInitScript = ` +(function () { + try { + var stored = window.localStorage.getItem('litellm-dark-mode'); + if (stored === 'true') { + document.documentElement.classList.add('dark'); + document.documentElement.style.colorScheme = 'dark'; + } + } catch (e) {} +})(); +`; + export default function RootLayout({ children, }: Readonly<{ @@ -20,6 +34,9 @@ export default function RootLayout({ }>) { return ( + +