import React, { FunctionComponent } from 'react'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, } from '../../ui/navigation-menu'; import { Text } from '../../ui/text'; import { View } from 'react-native'; import type { ViewRef } from '@rn-primitives/types'; import { cn } from '../../../lib/utils'; import { ViewIcon } from '../../../lib/icons/ViewIcon'; import { useViewContext } from '../../useViewContext'; import { ResourceViewConfig } from '../../../components/ResourceView'; export const ViewMenu: FunctionComponent = () => { const insets = useSafeAreaInsets(); const contentInsets = { top: insets.top, bottom: insets.bottom, left: 12, right: 12, }; const { validViews } = useViewContext(); const [isOpen, setIsOpen] = React.useState(); return ( Views {validViews.map((menuItem) => ( {menuItem.displayName} ))} ); }; const ListItem = React.forwardRef< ViewRef, React.ComponentPropsWithoutRef & { viewConfig: ResourceViewConfig; } >(({ className, viewConfig, ...props }, ref) => { // TODO: add navigationn to `href` on `NavigationMenuLink` onPress const { curViewConfig, setCurViewConfig } = useViewContext(); const Icon = viewConfig.displayIcon; return ( setCurViewConfig(viewConfig)} {...props} > {viewConfig.displayName} ); }); ListItem.displayName = 'ListItem';