import { Text } from '@umami/react-zen'; import { Eye, User, Clock, Ungroup, Tag, ChartPie, UserPlus, GitCompare } from '@/components/icons'; import { Lightning, Path, Money, Target, Funnel, Magnet, Network } from '@/components/svg'; import { useMessages, useNavigation } from '@/components/hooks'; import { SideMenu } from '@/components/common/SideMenu'; import { WebsiteSelect } from '@/components/input/WebsiteSelect'; export function WebsiteNav({ websiteId }: { websiteId: string }) { const { formatMessage, labels } = useMessages(); const { pathname, renderUrl, teamId, router } = useNavigation(); const renderPath = (path: string) => renderUrl(`/websites/${websiteId}${path}`, { event: undefined, compare: undefined, view: undefined, }); const items = [ { label: formatMessage(labels.traffic), items: [ { id: 'overview', label: formatMessage(labels.overview), icon: , path: renderPath(''), }, { id: 'events', label: formatMessage(labels.events), icon: , path: renderPath('/events'), }, { id: 'sessions', label: formatMessage(labels.sessions), icon: , path: renderPath('/sessions'), }, { id: 'realtime', label: formatMessage(labels.realtime), icon: , path: renderPath('/realtime'), }, { id: 'compare', label: formatMessage(labels.compare), icon: , path: renderPath('/compare'), }, { id: 'breakdown', label: formatMessage(labels.breakdown), icon: , path: renderPath('/breakdown'), }, ], }, { label: formatMessage(labels.behavior), items: [ { id: 'goals', label: formatMessage(labels.goals), icon: , path: renderPath('/goals'), }, { id: 'funnel', label: formatMessage(labels.funnels), icon: , path: renderPath('/funnels'), }, { id: 'journeys', label: formatMessage(labels.journeys), icon: , path: renderPath('/journeys'), }, { id: 'retention', label: formatMessage(labels.retention), icon: , path: renderPath('/retention'), }, ], }, { label: formatMessage(labels.audience), items: [ { id: 'segments', label: formatMessage(labels.segments), icon: , path: renderPath('/segments'), }, { id: 'cohorts', label: formatMessage(labels.cohorts), icon: , path: renderPath('/cohorts'), }, ], }, { label: formatMessage(labels.growth), items: [ { id: 'utm', label: formatMessage(labels.utm), icon: , path: renderPath('/utm'), }, { id: 'revenue', label: formatMessage(labels.revenue), icon: , path: renderPath('/revenue'), }, { id: 'attribution', label: formatMessage(labels.attribution), icon: , path: renderPath('/attribution'), }, ], }, ]; const handleChange = (value: string) => { router.push(renderUrl(`/websites/${value}`)); }; const renderValue = (value: any) => { return ( {value?.selectedItem?.name} ); }; const selectedKey = items .flatMap(e => e.items) .find(({ path }) => path && pathname.endsWith(path.split('?')[0]))?.id; return ( ); }