import { VscChevronDown } from '@react-icons/all-files/vsc/VscChevronDown'; import { VscVersions } from '@react-icons/all-files/vsc/VscVersions'; import { Menu, MenuButton, MenuItem, useMenuState } from 'ariakit/menu'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { useMemo } from 'react'; import useSWR from 'swr'; import { fetcher } from '~/util/fetcher'; export function VersionSelect() { const pathname = usePathname(); const packageName = pathname?.split('/').slice(3, 4)[0]; const branchName = pathname?.split('/').slice(4, 5)[0]; const { data: versions } = useSWR(`https://docs.discordjs.dev/api/info?package=${packageName}`, fetcher); const versionMenu = useMenuState({ gutter: 8, sameWidth: true, fitViewport: true }); const versionMenuItems = useMemo( () => versions ?.map((item) => ( versionMenu.setOpen(false)} state={versionMenu} > {item} )) .reverse() ?? [], [versions, packageName, versionMenu], ); return ( <>
{branchName}
{versionMenuItems} ); }