feat: save user theme preference

This commit is contained in:
Sonny
2024-11-15 23:16:47 +01:00
parent 01298661a5
commit 2f820bb877
5 changed files with 22 additions and 14 deletions

View File

@@ -1,13 +1,22 @@
import { ActionIcon, useMantineColorScheme } from '@mantine/core';
import { TbMoonStars, TbSun } from 'react-icons/tb';
import { makeRequest } from '~/lib/request';
export function MantineThemeSwitcher() {
const { colorScheme, toggleColorScheme } = useMantineColorScheme();
const handleThemeChange = () => {
toggleColorScheme();
makeRequest({
url: '/user/theme',
method: 'POST',
body: { theme: colorScheme === 'dark' ? 'light' : 'dark' },
});
};
return (
<ActionIcon
variant="light"
aria-label="Toggle color scheme"
onClick={() => toggleColorScheme()}
onClick={handleThemeChange}
size="lg"
>
{colorScheme === 'dark' ? <TbSun /> : <TbMoonStars />}