From dde0bde57cd3db0670850e0e7a10be09c0ddadf2 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Wed, 27 Sep 2023 16:19:41 -0230 Subject: [PATCH] Use resolved theme (#17753) * Use resolved theme * Update --- apps/docs/components/Frameworks.tsx | 5 ++-- .../NavigationMenuGuideListItems.tsx | 4 +-- .../Navigation/NavigationMenu/TopNavBar.tsx | 6 ++-- apps/docs/layouts/SiteLayout.tsx | 4 +-- .../interfaces/App/AppBannerWrapper.tsx | 8 ++--- .../NavigationBar/NavigationBar.tsx | 30 +++++++++++-------- 6 files changed, 32 insertions(+), 25 deletions(-) diff --git a/apps/docs/components/Frameworks.tsx b/apps/docs/components/Frameworks.tsx index baa4da4efb..8ea096c6c1 100644 --- a/apps/docs/components/Frameworks.tsx +++ b/apps/docs/components/Frameworks.tsx @@ -2,7 +2,7 @@ import ButtonCard from './ButtonCard' import { useTheme } from 'next-themes' const Frameworks = () => { - const { theme } = useTheme() + const { resolvedTheme } = useTheme() const frameworks = [ { @@ -110,8 +110,7 @@ const Frameworks = () => { layout="horizontal" to={x.href} title={x.name} - // [Joshen] Nice to have: theming - icon={theme === 'dark' ? x.logo.dark : x.logo.light} + icon={resolvedTheme === 'dark' ? x.logo.dark : x.logo.light} /> ))} diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx index b5b5c2b870..3398ad1e0e 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenuGuideListItems.tsx @@ -29,7 +29,7 @@ const HeaderLink = React.memo(function HeaderLink(props: { const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any) { const router = useRouter() - const { theme } = useTheme() + const { resolvedTheme } = useTheme() const activeItem = props.subItem.url === router.asPath const activeItemRef = useRef(null) @@ -78,7 +78,7 @@ const ContentAccordionLink = React.memo(function ContentAccordionLink(props: any alt={props.subItem.name + router.basePath} src={ `${router.basePath}` + - `${props.subItem.icon}${theme !== 'dark' ? '-light' : ''}.svg` + `${props.subItem.icon}${resolvedTheme !== 'dark' ? '-light' : ''}.svg` } width={15} height={15} diff --git a/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx b/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx index a1f22876b6..5ba553eaa3 100644 --- a/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/TopNavBar.tsx @@ -10,7 +10,7 @@ import { REFERENCES } from './NavigationMenu.constants' import ThemeToggle from '@ui/components/ThemeProvider/ThemeToggle' const TopNavBar: FC = () => { - const { theme } = useTheme() + const { resolvedTheme } = useTheme() const [mobileMenuOpen, setMobileMenuOpen] = useState(false) const { asPath, push } = useRouter() @@ -59,7 +59,9 @@ const TopNavBar: FC = () => { Supabase Logo Supabase Logo) => { const monaco = useMonaco() - const { theme } = useTheme() + const { resolvedTheme } = useTheme() const ongoingIncident = useFlag('ongoingIncident') useEffect(() => { - if (monaco && theme) { - const mode: any = getTheme(theme) + if (monaco && resolvedTheme) { + const mode: any = getTheme(resolvedTheme) monaco.editor.defineTheme('supabase', mode) } - }, [theme, monaco]) + }, [resolvedTheme, monaco]) return (
diff --git a/studio/components/layouts/ProjectLayout/NavigationBar/NavigationBar.tsx b/studio/components/layouts/ProjectLayout/NavigationBar/NavigationBar.tsx index e77376c4fc..c1d8b1aea4 100644 --- a/studio/components/layouts/ProjectLayout/NavigationBar/NavigationBar.tsx +++ b/studio/components/layouts/ProjectLayout/NavigationBar/NavigationBar.tsx @@ -10,6 +10,7 @@ import { useRouter } from 'next/router' import { Button, DropdownMenuContent_Shadcn_, + DropdownMenuGroup_Shadcn_, DropdownMenuItem_Shadcn_, DropdownMenuLabel_Shadcn_, DropdownMenuRadioGroup_Shadcn_, @@ -31,12 +32,12 @@ import { generateToolRoutes, } from './NavigationBar.utils' import NavigationIconButton from './NavigationIconButton' +import ThemeToggle from '@ui/components/ThemeProvider/ThemeToggle' const NavigationBar = () => { const router = useRouter() const { theme, setTheme } = useTheme() const { ref: projectRef } = useParams() - const os = detectOS() const { setIsOpen } = useCommandMenu() @@ -159,17 +160,22 @@ const NavigationBar = () => { )} Theme - setTheme(value)} - > - - System default - - Dark - Light - + + { + setTheme(value) + }} + > + + System + + Dark + + Light + + +