diff --git a/packages/sanity/src/core/studio/components/navbar/userMenu/UserMenu.tsx b/packages/sanity/src/core/studio/components/navbar/userMenu/UserMenu.tsx index 0dc8e16ec02..7e411e9a141 100644 --- a/packages/sanity/src/core/studio/components/navbar/userMenu/UserMenu.tsx +++ b/packages/sanity/src/core/studio/components/navbar/userMenu/UserMenu.tsx @@ -1,4 +1,12 @@ -import {SunIcon, MoonIcon, LeaveIcon, ChevronDownIcon, CogIcon} from '@sanity/icons' +import { + SunIcon, + MoonIcon, + LeaveIcon, + ChevronDownIcon, + CogIcon, + DesktopIcon, + CheckmarkIcon, +} from '@sanity/icons' import { Box, Button, @@ -15,7 +23,7 @@ import { Tooltip, useRootTheme, } from '@sanity/ui' -import React, {useCallback, useMemo} from 'react' +import React, {useMemo} from 'react' import styled from 'styled-components' import {UserAvatar} from '../../../../components' import {getProviderTitle} from '../../../../store' @@ -40,7 +48,7 @@ const AvatarBox = styled(Box)` export function UserMenu() { const {currentUser, projectId, auth} = useWorkspace() const theme = useRootTheme().theme as StudioTheme - const {scheme, setScheme} = useColorScheme() + const {scheme, setScheme, clearStoredScheme, usingSystemScheme} = useColorScheme() const providerTitle = getProviderTitle(currentUser?.provider) @@ -54,10 +62,6 @@ export function UserMenu() { [scheme] ) - const handleToggleScheme = useCallback(() => { - setScheme(scheme === 'dark' ? 'light' : 'dark') - }, [scheme, setScheme]) - return ( + + + + + } + /> + + setScheme('dark')} + pressed={scheme === 'dark' && !usingSystemScheme} + iconRight={scheme === 'dark' && !usingSystemScheme && } + text="Dark" + /> + setScheme('light')} + pressed={scheme === 'light' && !usingSystemScheme} + iconRight={scheme === 'light' && !usingSystemScheme && } + text="Light" /> )}