Spaces:
Build error
Build error
File size: 1,276 Bytes
b59aa07 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
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>
);
}
|