Spaces:
Build error
Build error
| import { NavLink } from "react-router"; | |
| import { cn } from "#/utils/utils"; | |
| import { BetaBadge } from "./beta-badge"; | |
| import { LoadingSpinner } from "../shared/loading-spinner"; | |
| interface NavTabProps { | |
| to: string; | |
| label: string | React.ReactNode; | |
| icon: React.ReactNode; | |
| isBeta?: boolean; | |
| isLoading?: boolean; | |
| rightContent?: React.ReactNode; | |
| } | |
| export function NavTab({ | |
| to, | |
| label, | |
| icon, | |
| isBeta, | |
| isLoading, | |
| rightContent, | |
| }: NavTabProps) { | |
| return ( | |
| <NavLink | |
| end | |
| key={to} | |
| to={to} | |
| className={cn( | |
| "px-2 border-b border-r border-neutral-600 bg-base-secondary flex-1", | |
| "first-of-type:rounded-tl-xl last-of-type:rounded-tr-xl last-of-type:border-r-0", | |
| "flex items-center gap-2 h-full min-h-[36px]", | |
| )} | |
| > | |
| {({ isActive }) => ( | |
| <div className="flex items-center justify-between w-full"> | |
| <div className="flex items-center gap-2"> | |
| <div className={cn(isActive && "text-logo")}>{icon}</div> | |
| {label} | |
| {isBeta && <BetaBadge />} | |
| </div> | |
| <div className="flex items-center gap-2"> | |
| {rightContent} | |
| {isLoading && <LoadingSpinner size="small" />} | |
| </div> | |
| </div> | |
| )} | |
| </NavLink> | |
| ); | |
| } | |