ConstThe ThemeSwitcherProps (the button size).
The theme-toggle button element.
<ThemeSwitcher size="medium" />
// In light mode renders a dark-mode icon; clicking calls toggleTheme().
export const ThemeSwitcher: FC<ThemeSwitcherProps> = ({ size = "small" }) => {
const { mode, toggleTheme, currentPalette } = useTheme();
return (
<Tooltip title={`Switch to ${mode === "light" ? "dark" : "light"} mode`}>
<ThemeSwitcherButton
onClick={toggleTheme}
size={size}
currentPalette={currentPalette}
mode={mode}
>
{mode === "light" ? <DarkModeIcon /> : <LightModeIcon />}
</ThemeSwitcherButton>
</Tooltip>
);
};
A tooltip-wrapped icon button that toggles between light and dark theme modes, showing the icon for the mode it will switch to.