Components
Color Scheme Toggle
ColorSchemeToggle.tsx

ColorSchemeToggle

Este componente, le permite al usuario tener la capacidad de cambiar el tema en el que ve la página ( tema claro / tema oscuro ). Mediante un clic en este componente que se situa de manera visual y accesible al usuario, se puede cambiar y guardar una configuración del tema que tiene la página en su totalidad.

ColorSchemeToggle

Con la finalidad de que el componente sea intuitivo en su funcionalidad, se le agregan varios iconos y colores distintivos de un botón para cambiar el tema de una página web moderna.

ColorSchemeToggle.tsx
import { ActionIcon, Group, useMantineColorScheme } from '@mantine/core';
import { IconSun, IconMoonStars } from '@tabler/icons';
 
export function ColorSchemeToggle() {
  const { colorScheme, toggleColorScheme } = useMantineColorScheme();
 
  return (
    <Group position="center" mt="xl">
      <ActionIcon
        onClick={() => toggleColorScheme()}
        size="xl"
        sx={(theme) => ({
          backgroundColor:
            theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.colors.gray[3],
          color: theme.colorScheme === 'dark' ? theme.colors.yellow[4] : theme.colors.blue[6],
        })}
      >
        {colorScheme === 'dark' ? (
          <IconSun size={20} stroke={1.5} />
        ) : (
          <IconMoonStars size={20} stroke={1.5} />
        )}
      </ActionIcon>
    </Group>
  );
}

Referencias

https://mantine.dev/hooks/use-color-scheme/ (opens in a new tab)

Last updated on December 23, 2022