mirror of
https://github.com/umami-software/umami.git
synced 2026-02-08 14:47:14 +01:00
- Rename SideMenu to NavMenu with visible group title labels and selected item highlighting - Update react-zen to 0.242.0 and fix responsive breakpoints (xs -> base) - Style floating tooltips with inverted background across WorldMap, charts, and WeeklyTraffic - Add CSS variables for primary color and use IconLabel consistently - Remove stray console.log from LoadingPanel Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
import { NavMenu } from '@/components/common/NavMenu';
|
|
import { useMessages, useNavigation } from '@/components/hooks';
|
|
import { Settings2, UserCircle, Users } from '@/components/icons';
|
|
|
|
export function SettingsNav({ onItemClick }: { onItemClick?: () => void }) {
|
|
const { formatMessage, labels } = useMessages();
|
|
const { renderUrl, pathname } = useNavigation();
|
|
|
|
const items = [
|
|
{
|
|
label: formatMessage(labels.application),
|
|
items: [
|
|
{
|
|
id: 'preferences',
|
|
label: formatMessage(labels.preferences),
|
|
path: renderUrl('/settings/preferences'),
|
|
icon: <Settings2 />,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
label: formatMessage(labels.account),
|
|
items: [
|
|
{
|
|
id: 'profile',
|
|
label: formatMessage(labels.profile),
|
|
path: renderUrl('/settings/profile'),
|
|
icon: <UserCircle />,
|
|
},
|
|
{
|
|
id: 'teams',
|
|
label: formatMessage(labels.teams),
|
|
path: renderUrl('/settings/teams'),
|
|
icon: <Users />,
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
const selectedKey = items
|
|
.flatMap(e => e.items)
|
|
.find(({ path }) => path && pathname.includes(path.split('?')[0]))?.id;
|
|
|
|
return (
|
|
<NavMenu
|
|
items={items}
|
|
title={formatMessage(labels.settings)}
|
|
selectedKey={selectedKey}
|
|
allowMinimize={false}
|
|
onItemClick={onItemClick}
|
|
/>
|
|
);
|
|
}
|