mirror of
https://github.com/umami-software/umami.git
synced 2026-02-09 07:07:17 +01:00
Updated settings.
This commit is contained in:
parent
be2fc0de8d
commit
9260e5bc33
16 changed files with 62 additions and 39 deletions
|
|
@ -1,23 +1,32 @@
|
|||
import classNames from 'classnames';
|
||||
import { useRouter } from 'next/router';
|
||||
import AppLayout from './AppLayout';
|
||||
import styles from './SettingsLayout.module.css';
|
||||
import useMessages from 'hooks/useMessages';
|
||||
import SideNav from './SideNav';
|
||||
import useUser from 'hooks/useUser';
|
||||
import useMessages from 'hooks/useMessages';
|
||||
import useConfig from 'hooks/useConfig';
|
||||
import styles from './SettingsLayout.module.css';
|
||||
|
||||
export default function SettingsLayout({ children }) {
|
||||
const { user } = useUser();
|
||||
const { pathname } = useRouter();
|
||||
const { formatMessage, labels } = useMessages();
|
||||
const { cloudMode } = useConfig();
|
||||
|
||||
const items = [
|
||||
{ label: formatMessage(labels.websites), url: '/settings/websites' },
|
||||
{ label: formatMessage(labels.teams), url: '/settings/teams' },
|
||||
{ label: formatMessage(labels.users), url: '/settings/users' },
|
||||
{ label: formatMessage(labels.profile), url: '/settings/profile' },
|
||||
];
|
||||
{ key: 'websites', label: formatMessage(labels.websites), url: '/settings/websites' },
|
||||
{ key: 'teams', label: formatMessage(labels.teams), url: '/settings/teams' },
|
||||
user.isAdmin && { key: 'users', label: formatMessage(labels.users), url: '/settings/users' },
|
||||
{ key: 'profile', label: formatMessage(labels.profile), url: '/settings/profile' },
|
||||
].filter(n => n);
|
||||
|
||||
const getKey = () => items.find(({ url }) => pathname.startsWith(url))?.key;
|
||||
|
||||
return (
|
||||
<AppLayout>
|
||||
<div className={styles.container}>
|
||||
<div className={styles.menu}>
|
||||
<SideNav items={items} />
|
||||
<div className={classNames(styles.menu, { [styles.hidden]: cloudMode })}>
|
||||
<SideNav items={items} shallow={true} selectedKey={getKey()} />
|
||||
</div>
|
||||
<div className={styles.content}>{children}</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue