Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import { ApiRoute } from "@/utils/type"; | |
import classNames from "classnames"; | |
const TABS = ["headers", "parameters", "body", "snippet"]; | |
export const Tabs = ({ | |
active, | |
setActive, | |
endpoint, | |
}: { | |
active: "headers" | "parameters" | "body" | "snippet"; | |
setActive: (active: "headers" | "parameters" | "body" | "snippet") => void; | |
endpoint: ApiRoute; | |
}) => { | |
return ( | |
<ul className="border-b border-gray-200 dark:border-0 flex items-center justify-center gap-0 bg-white dark:bg-slate-950/40"> | |
{TABS.map( | |
(tab: string) => | |
(["headers", "snippet"].includes(tab) || tab in endpoint) && ( | |
<li | |
key={tab} | |
className={classNames( | |
"text-sm px-6 text-gray-400 hover:text-gray-500 dark:text-slate-400 dark:hover:text-slate-400 dark:font-semibold uppercase -tracking-wider cursor-pointer py-4 border-b-2 border-transparent", | |
{ | |
"!text-gray-500 !border-black dark:!border-slate-100 dark:!text-slate-100": | |
tab === active, | |
} | |
)} | |
onClick={() => setActive(tab as any)} | |
> | |
{tab.charAt(0).toUpperCase() + tab.slice(1)} | |
</li> | |
) | |
)} | |
</ul> | |
); | |
}; | |