import { FC } from "react"; import { useRouter } from "next/router"; import { observer } from "mobx-react-lite"; import { FileText, Plus } from "lucide-react"; // services import { PageService } from "services/page.service"; // constants import { PAGE_DETAILS } from "constants/fetch-keys"; // hooks import { useMobxStore } from "lib/mobx/store-provider"; // ui import { Breadcrumbs, Button } from "@plane/ui"; // helper import { renderEmoji } from "helpers/emoji.helper"; import useSWR from "swr"; export interface IPagesHeaderProps { showButton?: boolean; } const pageService = new PageService(); export const PageDetailsHeader: FC = observer((props) => { const { showButton = false } = props; const router = useRouter(); const { workspaceSlug, pageId } = router.query; const { project: projectStore, commandPalette: commandPaletteStore } = useMobxStore(); const { currentProjectDetails } = projectStore; const { data: pageDetails } = useSWR( workspaceSlug && currentProjectDetails?.id && pageId ? PAGE_DETAILS(pageId as string) : null, workspaceSlug && currentProjectDetails?.id ? () => pageService.getPageDetails(workspaceSlug as string, currentProjectDetails.id, pageId as string) : null ); return (
{currentProjectDetails?.name.charAt(0)} ) } link={`/${workspaceSlug}/projects/${currentProjectDetails?.id}/issues`} /> } label="Pages" link={`/${workspaceSlug}/projects/${currentProjectDetails?.id}/pages`} /> } label={pageDetails?.name ?? "Page"} />
{showButton && (
)}
); });