diff --git a/components/chanje-tem.js b/components/chanje-tem.js new file mode 100644 index 0000000..e8e40b0 --- /dev/null +++ b/components/chanje-tem.js @@ -0,0 +1,57 @@ +'use client' + +import {useContext} from 'react' +import {styled, useTheme} from '@mui/material/styles' +import LightModeIcon from '@mui/icons-material/LightMode' +import DarkModeIcon from '@mui/icons-material/DarkMode' +import {Box} from '@mui/material' +import {usePathname} from 'next/navigation' +import {ColorModeContext} from '../app/theme-registy' + +const PREFIX = 'chanje-tem' + +const klas = { + chanje: `${PREFIX}-chanje`, + chanjeFiks: `${PREFIX}-chanjeFiks` +} + +const StyledBox = styled(Box)({ + [`& .${klas.chanje}`]: { + position: 'absolute', + right: '1em', + top: '60px', + zIndex: 1, + cursor: 'pointer' + }, + [`& .${klas.chanjeFiks}`]: { + position: 'fixed', + right: '0.5em', + top: '68px', + zIndex: 2, + cursor: 'pointer' + } +}) + +export default function ChanjeTem() { + const colorMode = useContext(ColorModeContext) + const theme = useTheme() + const pathname = usePathname() + const selectedPath = pathname === '/' ? 'akey' : pathname.split('/')[1] + + const jereClik = seletedMode => { + colorMode.toggleColorMode() + localStorage.setItem('oki-tem', seletedMode) + } + + return ( + +
+ {theme.palette.mode === 'dark' ? ( + jereClik('light')} /> + ) : ( + jereClik('dark')} /> + )} +
+
+ ) +} diff --git a/components/switch-theme.js b/components/switch-theme.js deleted file mode 100644 index 18f2543..0000000 --- a/components/switch-theme.js +++ /dev/null @@ -1,54 +0,0 @@ -import PropTypes from 'prop-types' -import {styled} from '@mui/material/styles' -import LightModeIcon from '@mui/icons-material/LightMode' -import DarkModeIcon from '@mui/icons-material/DarkMode' -import {Box} from '@mui/material' - -const PREFIX = 'switch-theme' - -const classes = { - switch: `${PREFIX}-switch`, - switchFixed: `${PREFIX}-switchFixed` -} - -const StyledBox = styled(Box)({ - [`& .${classes.switch}`]: { - position: 'absolute', - right: '1em', - top: '60px', - zIndex: 1, - cursor: 'pointer' - }, - [`& .${classes.switchFixed}`]: { - position: 'fixed', - right: '0.5em', - top: '68px', - zIndex: 9990, - cursor: 'pointer' - } -}) - -export default function SwitchTheme({switchFixed, mode, setMode}) { - const handleClick = seletedMode => { - localStorage.setItem('oki-theme', seletedMode) - setMode(seletedMode) - } - - return ( - -
- {mode === 'dark' ? ( - handleClick('light')} /> - ) : ( - handleClick('dark')} /> - )} -
-
- ) -} - -SwitchTheme.propTypes = { - switchFixed: PropTypes.bool.isRequired, - mode: PropTypes.oneOf(['light', 'dark']), - setMode: PropTypes.func.isRequired -}