mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
061be85a5d
* fix: GET request changes * fix: filtering changes * feat: cycles and modules archive. * chore: disable fetching of cycle/ module details when clicked on the card in archives page. * chore: remove copy link button from archived modules/ cycles. * fix: archived cycle and module loading fliker issue. * chore: add validation to only archive completed cycles. * chore: add validation to only archive completed or cancelled module. * chore: archived issues/ cycles/ modules empty state update. --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { FC } from "react";
|
|
import { observer } from "mobx-react";
|
|
import Link from "next/link";
|
|
import { useRouter } from "next/router";
|
|
// constants
|
|
import { ARCHIVES_TAB_LIST } from "@/constants/archives";
|
|
// hooks
|
|
import { useProject } from "@/hooks/store";
|
|
|
|
export const ArchiveTabsList: FC = observer(() => {
|
|
// router
|
|
const router = useRouter();
|
|
const { workspaceSlug, projectId } = router.query;
|
|
const activeTab = router.pathname.split("/").pop();
|
|
// store hooks
|
|
const { getProjectById } = useProject();
|
|
|
|
// derived values
|
|
if (!projectId) return null;
|
|
const projectDetails = getProjectById(projectId?.toString());
|
|
if (!projectDetails) return null;
|
|
|
|
return (
|
|
<>
|
|
{ARCHIVES_TAB_LIST.map(
|
|
(tab) =>
|
|
tab.shouldRender(projectDetails) && (
|
|
<Link key={tab.key} href={`/${workspaceSlug}/projects/${projectId}/archives/${tab.key}`}>
|
|
<span
|
|
className={`flex min-w-min flex-shrink-0 whitespace-nowrap border-b-2 py-3 px-4 text-sm font-medium outline-none ${
|
|
tab.key === activeTab
|
|
? "border-custom-primary-100 text-custom-primary-100"
|
|
: "border-transparent hover:border-custom-border-200 text-custom-text-300 hover:text-custom-text-400"
|
|
}`}
|
|
>
|
|
{tab.label}
|
|
</span>
|
|
</Link>
|
|
)
|
|
)}
|
|
</>
|
|
);
|
|
});
|