import { features, type FeatureType } from '~/data/features' import { ArrowLeft, ArrowRight, List } from 'lucide-react' import Link, { LinkProps } from 'next/link' import { useRouter } from 'next/router' import { PropsWithChildren, useEffect, useState } from 'react' import { cn, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from 'ui' interface Props { className?: string wrapperClassName?: string currentFeature: FeatureType prevLink: string nextLink: string } const buttonClassName = 'relative z-10 flex items-center gap-1 px-2 cursor-pointer pointer-events-auto overflow-hidden h-[30px]! min-w-[30px]! max-w-[30px]! py-1 justify-center rounded-full border bg-default hover:bg-surface-100 hover:text-foreground hover:border-foreground-lighter transition-all' const iconClassName = 'w-4 h-4 shrink-0' const PrevNextFeatureNav: React.FC = ({ className, wrapperClassName, currentFeature, prevLink, nextLink, ...props }) => { const [open, setOpen] = useState(false) const router = useRouter() useEffect(() => { function handleRouteChange() { setOpen(false) } router.events.on('routeChangeComplete', handleRouteChange) return () => { router.events.off('routeChangeComplete', handleRouteChange) } }, [router.events]) return (
Previous feature Browse all features All Features {features .sort((a, b) => { if (a['title'] < b['title']) return -1 if (a['title'] > b['title']) return 1 return 0 }) .map((feature) => ( {feature.title} ))} Next feature
) } interface ButtonLinkProps extends LinkProps { className?: string } const ButtonLink: React.FC> = ({ href, className, children, }) => { return ( {children} ) } export default PrevNextFeatureNav