import { Badge, Button, Menu } from '@mantine/core'; import { useDisclosure } from '@mantine/hooks'; import { IconInfoCircle, IconLogin, IconLogout, IconMenu2, IconSettings, } from '@tabler/icons-react'; import { signOut, useSession } from 'next-auth/react'; import { useTranslation } from 'next-i18next'; import Link from 'next/link'; import { AboutModal } from '../../Dashboard/Modals/AboutModal/AboutModal'; import { SettingsDrawer } from '../../Settings/SettingsDrawer'; import { useCardStyles } from '../useCardStyles'; import { ColorSchemeSwitch } from './SettingsMenu/ColorSchemeSwitch'; export function SettingsMenu({ newVersionAvailable }: { newVersionAvailable: string }) { const [drawerOpened, drawer] = useDisclosure(false); const { t } = useTranslation('common'); const [aboutModalOpened, aboutModal] = useDisclosure(false); const { classes } = useCardStyles(true); const { data: sessionData } = useSession(); return ( <> {sessionData?.user?.isAdmin && ( } onClick={drawer.open}> {t('sections.settings')} )} } rightSection={ newVersionAvailable && ( New ) } onClick={() => aboutModal.open()} > {t('about')} {sessionData?.user ? ( } onClick={() => signOut()}> {t('header.logout')} ) : ( } component={Link} href="/login" > {t('header.sign-in')} )} ); }