ThemeSwitcher.tsx 1005 B

12345678910111213141516171819202122232425262728293031
  1. import { THEME_COLOR } from "@ente/shared/themes/constants";
  2. import DarkModeIcon from "@mui/icons-material/DarkMode";
  3. import LightModeIcon from "@mui/icons-material/LightMode";
  4. import { ToggleButton, ToggleButtonGroup } from "@mui/material";
  5. interface Iprops {
  6. themeColor: THEME_COLOR;
  7. setThemeColor: (theme: THEME_COLOR) => void;
  8. }
  9. export default function ThemeSwitcher({ themeColor, setThemeColor }: Iprops) {
  10. const handleChange = (event, themeColor: THEME_COLOR) => {
  11. if (themeColor !== null) {
  12. setThemeColor(themeColor);
  13. }
  14. };
  15. return (
  16. <ToggleButtonGroup
  17. size="small"
  18. value={themeColor}
  19. exclusive
  20. onChange={handleChange}
  21. >
  22. <ToggleButton value={THEME_COLOR.LIGHT}>
  23. <LightModeIcon />
  24. </ToggleButton>
  25. <ToggleButton value={THEME_COLOR.DARK}>
  26. <DarkModeIcon />
  27. </ToggleButton>
  28. </ToggleButtonGroup>
  29. );
  30. }