import { UnstyledButton, Text, Group, ActionIcon, Tooltip, rem, } from '@mantine/core'; import { spotlight } from '@mantine/spotlight'; import { IconSearch, IconPlus, IconSettings, IconFilePlus, } from '@tabler/icons-react'; import classes from './navbar.module.css'; import { UserButton } from './user-button'; import React from 'react'; import { useAtom } from 'jotai'; import { settingsModalAtom } from '@/features/settings/modal/atoms/settings-modal-atom'; import SettingsModal from '@/features/settings/modal/settings-modal'; import { SearchSpotlight } from '@/features/search/search-spotlight'; import PageTree from '@/features/page/tree/page-tree'; import { treeApiAtom } from '@/features/page/tree/atoms/tree-api-atom'; interface PrimaryMenuItem { icon: React.ElementType; label: string; onClick?: () => void; } interface PageItem { emoji: string; label: string; } const primaryMenu: PrimaryMenuItem[] = [ { icon: IconSearch, label: 'Search' }, { icon: IconSettings, label: 'Settings' }, { icon: IconFilePlus, label: 'New Page' }, ]; const pages: PageItem[] = [ { emoji: '👍', label: 'Sales' }, { emoji: '🚚', label: 'Deliveries' }, { emoji: '💸', label: 'Discounts' }, { emoji: '💰', label: 'Profits' }, { emoji: '✨', label: 'Reports' }, { emoji: '🛒', label: 'Orders' }, { emoji: '📅', label: 'Events' }, { emoji: '🙈', label: 'Debts' }, { emoji: '💁‍♀️', label: 'Customers' }, ]; export function Navbar() { const [, setSettingsModalOpen] = useAtom(settingsModalAtom); const [tree] = useAtom(treeApiAtom); const handleMenuItemClick = (label: string) => { if (label === 'Search') { spotlight.open(); } if (label === 'Settings') { setSettingsModalOpen(true); } }; function handleCreatePage() { tree?.create({ type: 'internal', index: 0 }); } const primaryMenuItems = primaryMenu.map((menuItem) => ( handleMenuItemClick(menuItem.label)} >
{menuItem.label}
)); const pageLinks = pages.map((page) => ( event.preventDefault()} key={page.label} className={classes.pageLink} > {page.emoji} {' '} {page.label} )); return ( <> ); }