mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-07 05:55:48 +01:00
✨ Add color scheme toggle for new header
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
|||||||
IconInfoCircle,
|
IconInfoCircle,
|
||||||
IconLogin,
|
IconLogin,
|
||||||
IconLogout,
|
IconLogout,
|
||||||
|
IconMoonStars,
|
||||||
IconSun,
|
IconSun,
|
||||||
IconUserSearch,
|
IconUserSearch,
|
||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
@@ -13,11 +14,15 @@ import { signOut, useSession } from 'next-auth/react';
|
|||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { forwardRef } from 'react';
|
import { forwardRef } from 'react';
|
||||||
import { AboutModal } from '~/components/Dashboard/Modals/AboutModal/AboutModal';
|
import { AboutModal } from '~/components/Dashboard/Modals/AboutModal/AboutModal';
|
||||||
|
import { useColorScheme } from '~/hooks/use-colorscheme';
|
||||||
|
|
||||||
export const AvatarMenu = () => {
|
export const AvatarMenu = () => {
|
||||||
const newVersionAvailable = '0.13.0';
|
const newVersionAvailable = '0.13.0';
|
||||||
const [aboutModalOpened, aboutModal] = useDisclosure(false);
|
const [aboutModalOpened, aboutModal] = useDisclosure(false);
|
||||||
const { data: sessionData } = useSession();
|
const { data: sessionData } = useSession();
|
||||||
|
const { colorScheme, toggleColorScheme } = useColorScheme();
|
||||||
|
|
||||||
|
const Icon = colorScheme === 'dark' ? IconSun : IconMoonStars;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
@@ -27,7 +32,9 @@ export const AvatarMenu = () => {
|
|||||||
<CurrentUserAvatar user={sessionData?.user ?? null} />
|
<CurrentUserAvatar user={sessionData?.user ?? null} />
|
||||||
</Menu.Target>
|
</Menu.Target>
|
||||||
<Menu.Dropdown>
|
<Menu.Dropdown>
|
||||||
<Menu.Item icon={<IconSun size="1rem" />}>Switch theme</Menu.Item>
|
<Menu.Item icon={<Icon size="1rem" />} onClick={toggleColorScheme}>
|
||||||
|
Switch theme
|
||||||
|
</Menu.Item>
|
||||||
{sessionData?.user && (
|
{sessionData?.user && (
|
||||||
<>
|
<>
|
||||||
<Menu.Item icon={<IconUserSearch size="1rem" />}>View Profile</Menu.Item>
|
<Menu.Item icon={<IconUserSearch size="1rem" />}>View Profile</Menu.Item>
|
||||||
|
|||||||
Reference in New Issue
Block a user