import { LOCAL_STORAGE_KEYS, useParams } from 'common' import { BookText } from 'lucide-react' import { useRouter } from 'next/router' import { InnerSideMenuCollapsible, InnerSideMenuCollapsibleContent, InnerSideMenuCollapsibleTrigger, } from 'ui-patterns' import { InnerSideMenuDataItem } from 'ui-patterns/InnerSideMenu' import { DEFAULT_SECTION_STATE, type SectionState } from './SQLEditorNav.constants' import { useLocalStorage } from '@/hooks/misc/useLocalStorage' const OPTIONS = ['templates', 'quickstarts'] as const export function CommunitySnippetsSection() { const { ref } = useParams() const router = useRouter() const [sectionVisibility, setSectionVisibility] = useLocalStorage( LOCAL_STORAGE_KEYS.SQL_EDITOR_SECTION_STATE(ref ?? ''), DEFAULT_SECTION_STATE ) const { community: showCommunitySnippets } = sectionVisibility function isPageActive(key: string): boolean { return router.asPath === `/project/${ref}/sql/${key}` } return ( { setSectionVisibility({ ...(sectionVisibility ?? DEFAULT_SECTION_STATE), community: value, }) }} > {OPTIONS.map((pageId) => { const active = isPageActive(pageId) return ( {pageId} ) })} ) }