import { useContext, useState } from "react"; import { ChevronDown } from "lucide-react"; import { twMerge } from "tailwind-merge"; import Button from "@moduletrace/twui/layout/Button"; import LinkList from "@moduletrace/twui/elements/LinkList"; import Row from "@moduletrace/twui/layout/Row"; import Stack from "@moduletrace/twui/layout/Stack"; import { AppContext } from "@/src/pages/__root"; import type { AdminAsideLinkItem } from "../(dict)/admin-aside-groups-dict"; import adminAsideLinkToTwuiLink from "../(functions)/admin-aside-link-to-twui-link"; type Props = { link: AdminAsideLinkItem; }; export default function AdminAsideLinkDropdown({ link }: Props) { const { pageProps } = useContext(AppContext); const { title, url, Icon, children } = link; const is_current = Boolean(pageProps?.url?.pathname?.startsWith(url)); const [open, setOpen] = useState(is_current); return ( {open ? ( adminAsideLinkToTwuiLink({ link: child }), )} className="flex-col items-stretch gap-0.5 ml-5 pl-2 border-l border-slate-200 dark:border-white/10" /> ) : null} ); }