mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-07 14:05:49 +01:00
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import React from 'react';
|
|
import { createStyles, Switch, Group, useMantineColorScheme } from '@mantine/core';
|
|
import { Sun, MoonStars } from 'tabler-icons-react';
|
|
|
|
const useStyles = createStyles((theme) => ({
|
|
root: {
|
|
position: 'relative',
|
|
'& *': {
|
|
cursor: 'pointer',
|
|
},
|
|
},
|
|
|
|
icon: {
|
|
pointerEvents: 'none',
|
|
position: 'absolute',
|
|
zIndex: 1,
|
|
top: 3,
|
|
},
|
|
|
|
iconLight: {
|
|
left: 4,
|
|
color: theme.white,
|
|
},
|
|
|
|
iconDark: {
|
|
right: 4,
|
|
color: theme.colors.gray[6],
|
|
},
|
|
}));
|
|
|
|
export function ColorSchemeSwitch() {
|
|
const { colorScheme, toggleColorScheme } = useMantineColorScheme();
|
|
const { classes, cx } = useStyles();
|
|
|
|
return (
|
|
<Group>
|
|
<div className={classes.root}>
|
|
<Sun className={cx(classes.icon, classes.iconLight)} size={18} />
|
|
<MoonStars className={cx(classes.icon, classes.iconDark)} size={18} />
|
|
<Switch checked={colorScheme === 'dark'} onChange={() => toggleColorScheme()} size="md" />
|
|
</div>
|
|
Switch to {colorScheme === 'dark' ? 'light' : 'dark'} mode
|
|
</Group>
|
|
);
|
|
}
|