'use client'; import { ReactNode } from 'react'; import { Grid, Column } from '@umami/react-zen'; import { useLoginQuery, useMessages, useNavigation } from '@/components/hooks'; import { User, Users, Globe } from '@/components/icons'; import { SideMenu } from '@/components/common/SideMenu'; import { PageBody } from '@/components/common/PageBody'; export function AdminLayout({ children }: { children: ReactNode }) { const { user } = useLoginQuery(); const { formatMessage, labels } = useMessages(); const { pathname } = useNavigation(); if (!user.isAdmin || process.env.cloudUrl) { return null; } const items = [ { label: formatMessage(labels.manage), items: [ { id: 'users', label: formatMessage(labels.users), path: '/admin/users', icon: , }, { id: 'websites', label: formatMessage(labels.websites), path: '/admin/websites', icon: , }, { id: 'teams', label: formatMessage(labels.teams), path: '/admin/teams', icon: , }, ], }, ]; const selectedKey = items .flatMap(e => e.items) ?.find(({ path }) => path && pathname.startsWith(path))?.id; return ( {children} ); }