import * as React from 'react'; import DarkModeIcon from '@mui/icons-material/DarkModeRounded'; import LightModeIcon from '@mui/icons-material/LightModeRounded'; import Box from '@mui/material/Box'; import IconButton, { IconButtonOwnProps } from '@mui/material/IconButton'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; import { useColorScheme } from '@mui/material/styles'; export default function ColorModeIconDropdown(props: IconButtonOwnProps) { const { mode, systemMode, setMode } = useColorScheme(); const [anchorEl, setAnchorEl] = React.useState(null); const open = Boolean(anchorEl); const handleClick = (event: React.MouseEvent) => { setAnchorEl(event.currentTarget); }; const handleClose = () => { setAnchorEl(null); }; const handleMode = (targetMode: 'system' | 'light' | 'dark') => () => { setMode(targetMode); handleClose(); }; if (!mode) { return ( ({ verticalAlign: 'bottom', display: 'inline-flex', width: '2.25rem', height: '2.25rem', borderRadius: (theme.vars || theme).shape.borderRadius, border: '1px solid', borderColor: (theme.vars || theme).palette.divider, })} /> ); } const resolvedMode = (systemMode || mode) as 'light' | 'dark'; const icon = { light: , dark: , }[resolvedMode]; return ( {icon} System Light Dark ); }