https://dev.kronoz.win/r/marzneshin.git
| 1 |
bedeeff |
Mardin |
2y ago |
|
| 2 |
bedeeff |
Mardin |
2y ago |
import { IconButton, chakra, useColorMode } from '@chakra-ui/react'; |
| 3 |
bedeeff |
Mardin |
2y ago |
import { MoonIcon, SunIcon } from '@heroicons/react/24/outline'; |
| 4 |
bedeeff |
Mardin |
2y ago |
import { updateThemeColor } from 'utils/themeColor'; |
| 5 |
bedeeff |
Mardin |
2y ago |
|
| 6 |
bedeeff |
Mardin |
2y ago |
const iconProps = { |
| 7 |
bedeeff |
Mardin |
2y ago |
baseStyle: { |
| 8 |
bedeeff |
Mardin |
2y ago |
w: 4, |
| 9 |
bedeeff |
Mardin |
2y ago |
h: 4, |
| 10 |
bedeeff |
Mardin |
2y ago |
}, |
| 11 |
bedeeff |
Mardin |
2y ago |
}; |
| 12 |
bedeeff |
Mardin |
2y ago |
|
| 13 |
bedeeff |
Mardin |
2y ago |
const DarkThemeIcon = chakra(MoonIcon, iconProps); |
| 14 |
bedeeff |
Mardin |
2y ago |
const LightThemeIcon = chakra(SunIcon, iconProps); |
| 15 |
bedeeff |
Mardin |
2y ago |
|
| 16 |
bedeeff |
Mardin |
2y ago |
export const ThemeToggle = () => { |
| 17 |
bedeeff |
Mardin |
2y ago |
const { colorMode, toggleColorMode } = useColorMode(); |
| 18 |
bedeeff |
Mardin |
2y ago |
return ( |
| 19 |
bedeeff |
Mardin |
2y ago |
<IconButton |
| 20 |
bedeeff |
Mardin |
2y ago |
size="sm" |
| 21 |
bedeeff |
Mardin |
2y ago |
variant="solid" |
| 22 |
bedeeff |
Mardin |
2y ago |
colorScheme="gray" |
| 23 |
bedeeff |
Mardin |
2y ago |
aria-label="switch theme" |
| 24 |
bedeeff |
Mardin |
2y ago |
onClick={() => { |
| 25 |
bedeeff |
Mardin |
2y ago |
updateThemeColor(colorMode == 'dark' ? 'light' : 'dark'); |
| 26 |
bedeeff |
Mardin |
2y ago |
toggleColorMode(); |
| 27 |
bedeeff |
Mardin |
2y ago |
}} |
| 28 |
bedeeff |
Mardin |
2y ago |
> |
| 29 |
bedeeff |
Mardin |
2y ago |
{colorMode === 'light' ? <DarkThemeIcon /> : <LightThemeIcon />} |
| 30 |
bedeeff |
Mardin |
2y ago |
</IconButton> |
| 31 |
bedeeff |
Mardin |
2y ago |
); |
| 32 |
bedeeff |
Mardin |
2y ago |
}; |