Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

HeaderThemeChooser.js 862B

123456789101112131415161718192021222324252627282930
  1. import React, { useContext } from "react";
  2. import PropTypes from "prop-types";
  3. import DarkModeIcon from "@mui/icons-material/DarkMode";
  4. import LightModeIcon from "@mui/icons-material/LightMode";
  5. import { ColorModeContext } from "context/ColorModeContext";
  6. import { DARK_THEME } from "constants/themeConstants";
  7. import { HeaderIconContainer } from "components/Header/Header.styled";
  8. const HeaderThemeChooser = () => {
  9. const themeCtx = useContext(ColorModeContext);
  10. const handleChangeTheme = () => {
  11. themeCtx?.changeTheme?.();
  12. };
  13. return (
  14. <HeaderIconContainer onClick={handleChangeTheme}>
  15. {themeCtx?.currentTheme === DARK_THEME ? (
  16. <LightModeIcon />
  17. ) : (
  18. <DarkModeIcon />
  19. )}
  20. </HeaderIconContainer>
  21. );
  22. };
  23. HeaderThemeChooser.propTypes = {
  24. children: PropTypes.node,
  25. };
  26. export default HeaderThemeChooser;