import "./styles.css"; import { createVersionURL, parseBranchSemVer } from "#components/VersionPicker/utils.ts"; import clsx from "clsx"; import React, { memo } from "react"; import { AKReleasesPluginEnvironment } from "releases/node.mjs"; export interface VersionDropdownProps { /** * The hostname of the client. */ hostname: string | null; environment: AKReleasesPluginEnvironment; /** * The available versions of the documentation. * * @format semver */ releases: string[]; } /** * A dropdown that shows the available versions of the documentation. */ export const VersionDropdown = memo(({ environment, releases }) => { const { branch, preReleaseOrigin } = environment; const parsedSemVer = parseBranchSemVer(branch); const currentLabel = parsedSemVer || "Pre-release"; const endIndex = parsedSemVer ? releases.indexOf(parsedSemVer) : -1; const visibleReleases = releases.slice(0, endIndex === -1 ? 3 : endIndex + 3); return (
  • ); });