// thing should be everything visible on desktop/tablet and a popover when small import { useBreakpointContext } from '@roleypoly/design-system/atoms/breakpoints'; import { Popover } from '@roleypoly/design-system/atoms/popover'; import { useState } from 'react'; import { GoChevronDown } from 'react-icons/go'; import { DropdownNavCurrent, DropdownNavIcon, DropdownNavOpener, NavItem, } from './QuickNav.styled'; export type QuickNavProps = { navItems: string[]; onNavChange?: (newNavItem: string) => void; currentNavItem?: string; }; export const QuickNav = (props: QuickNavProps) => { const breakpoints = useBreakpointContext(); if (breakpoints.screenSize.onSmallScreen) { return ; } return ; }; export const QuickNavExpanded = (props: QuickNavProps) => { return (
{props.navItems.map((navItem) => ( props.onNavChange?.(navItem)} selected={props.currentNavItem === navItem} key={navItem} > {navItem} ))}
); }; export const QuickNavCollapsed = (props: QuickNavProps) => { const [popoverState, setPopoverState] = useState(false); return (
{popoverState ? ( Server Editor} position={'top left'} active={popoverState} onExit={() => setPopoverState(false)} > {() => ( <> {props.navItems.map((navItem) => ( { setPopoverState(false); props.onNavChange?.(navItem); }} selected={props.currentNavItem === navItem} key={navItem} > {navItem} ))} )} ) : ( setPopoverState(true)}> {props.currentNavItem} )}
); };