import { t } from '@lingui/macro'; import { Skeleton, Stack } from '@mantine/core'; import { IconBellCog, IconDeviceDesktop, IconFileAnalytics, IconLock, IconSearch, IconUserCircle } from '@tabler/icons-react'; import { useMemo } from 'react'; import PageTitle from '../../../components/nav/PageTitle'; import { SettingsHeader } from '../../../components/nav/SettingsHeader'; import type { PanelType } from '../../../components/panels/Panel'; import { PanelGroup } from '../../../components/panels/PanelGroup'; import { UserSettingList } from '../../../components/settings/SettingList'; import { useUserState } from '../../../states/UserState'; import { SecurityContent } from './AccountSettings/SecurityContent'; import { AccountContent } from './AccountSettings/UserPanel'; /** * User settings page */ export default function UserSettings() { const [user, isLoggedIn] = useUserState((state) => [ state.user, state.isLoggedIn ]); const userSettingsPanels: PanelType[] = useMemo(() => { return [ { name: 'account', label: t`Account`, icon: , content: }, { name: 'security', label: t`Security`, icon: , content: }, { name: 'display', label: t`Display Options`, icon: , content: ( ) }, { name: 'search', label: t`Search`, icon: , content: ( ) }, { name: 'notifications', label: t`Notifications`, icon: , content: }, { name: 'reporting', label: t`Reporting`, icon: , content: ( ) } ]; }, []); if (!isLoggedIn()) { return ; } return ( <> ); }