import { FC } from "react";
import Link from "next/link";
// types
import { TPageNavigationTabs } from "@plane/types";
// helpers
import { cn } from "@/helpers/common.helper";
type TPageTabNavigation = {
workspaceSlug: string;
projectId: string;
pageType: TPageNavigationTabs;
};
// pages tab options
const pageTabs: { key: TPageNavigationTabs; label: string }[] = [
{
key: "public",
label: "Public",
},
key: "private",
label: "Private",
key: "archived",
label: "Archived",
];
export const PageTabNavigation: FC<TPageTabNavigation> = (props) => {
const { workspaceSlug, projectId, pageType } = props;
const handleTabClick = (e: React.MouseEvent<HTMLAnchorElement>, tabKey: TPageNavigationTabs) => {
if (tabKey === pageType) e.preventDefault();
return (
<div className="relative flex items-center">
{pageTabs.map((tab) => (
<Link
key={tab.key}
href={`/${workspaceSlug}/projects/${projectId}/pages?type=${tab.key}`}
onClick={(e) => handleTabClick(e, tab.key)}
>
<span
className={cn(`block p-3 py-4 text-sm font-medium transition-all`, {
"text-custom-primary-100": tab.key === pageType,
})}
{tab.label}
</span>
<div
className={cn(`rounded-t border-t-2 transition-all border-transparent`, {
"border-custom-primary-100": tab.key === pageType,
/>
</Link>
))}
</div>
);