diff --git a/src/app/deals/components/Header/Header.tsx b/src/app/deals/components/Header/Header.tsx index f01282d..d365cb6 100644 --- a/src/app/deals/components/Header/Header.tsx +++ b/src/app/deals/components/Header/Header.tsx @@ -6,6 +6,7 @@ import { Box, Group, Text } from "@mantine/core"; import { useBoardsContext } from "@/app/deals/contexts/BoardsContext"; import { useProjectsContext } from "@/app/deals/contexts/ProjectsContext"; import ProjectSelect from "@/components/selects/ProjectSelect/ProjectSelect"; +import { ColorSchemeToggle } from "@/components/ui/ColorSchemeToggle/ColorSchemeToggle"; const Header = () => { const { projects, setSelectedProject, selectedProject } = @@ -14,11 +15,14 @@ const Header = () => { const getDesktopHeader = () => { return ( - value && setSelectedProject(value)} - /> + <> + + value && setSelectedProject(value)} + /> + ); }; diff --git a/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.module.css b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.module.css new file mode 100644 index 0000000..aeec4a0 --- /dev/null +++ b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.module.css @@ -0,0 +1,26 @@ +.container { + @mixin dark { + background-color: var(--mantine-color-dark-7); + } +} + +.icon { + width: rem(18px); + height: rem(18px); +} + +.light { + display: block; +} + +.dark { + display: none; +} + +:global([data-mantine-color-scheme='dark']) .light { + display: none; +} + +:global([data-mantine-color-scheme='dark']) .dark { + display: block; +} diff --git a/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx index 7326a7a..1b5ba66 100644 --- a/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx +++ b/src/components/ui/ColorSchemeToggle/ColorSchemeToggle.tsx @@ -1,28 +1,40 @@ "use client"; -import { Button, Group, useMantineColorScheme } from "@mantine/core"; -import { modals } from "@mantine/modals"; +import { IconMoon, IconSun } from "@tabler/icons-react"; +import classNames from "classnames"; +import { + ActionIcon, + useComputedColorScheme, + useMantineColorScheme, +} from "@mantine/core"; +import style from "./ColorSchemeToggle.module.css"; export function ColorSchemeToggle() { const { setColorScheme } = useMantineColorScheme(); + const computedColorScheme = useComputedColorScheme(undefined, { + getInitialValueInEffect: true, + }); - const openTestModal = () => { - modals.openContextModal({ - modal: "testModal", - title: "Тест", - withCloseButton: false, - innerProps: {}, - }); + const toggleColorScheme = () => { + setColorScheme(computedColorScheme === "light" ? "dark" : "light"); }; return ( - - - - - - + + + + ); }