Files
heygermany-e2e-mrg4m7dd/apps/website/components/ui/ThemeToggle.tsx
e2e 6c231d1d36
Some checks failed
Main / Setup and Test (push) Has been cancelled
Main / Build Website (push) Has been cancelled
chore: heygermany customer project
2026-07-11 10:52:27 +02:00

26 lines
926 B
TypeScript

import { IconMoon, IconSun } from '@tabler/icons-react';
import cx from 'clsx';
import { ActionIcon, Group, useComputedColorScheme, useMantineColorScheme } from '@pikku/mantine/core';
import { useI18n } from '@/context/i18n-provider';
import classes from './ThemeToggle.module.css';
export function ThemeToggle() {
const t = useI18n();
const { setColorScheme } = useMantineColorScheme();
const computedColorScheme = useComputedColorScheme('light', { getInitialValueInEffect: true });
return (
<Group justify="center">
<ActionIcon
onClick={() => setColorScheme(computedColorScheme === 'light' ? 'dark' : 'light')}
variant="default"
size="lg"
aria-label={t('theme.toggle')}
>
<IconSun className={cx(classes.icon, classes.light)} stroke={1.5} />
<IconMoon className={cx(classes.icon, classes.dark)} stroke={1.5} />
</ActionIcon>
</Group>
);
}