import { useRef } from "react"; import { observer } from "mobx-react-lite"; import useSWR from "swr"; import { FileText } from "lucide-react"; // editor import { DocumentReadOnlyEditorWithRef, EditorRefApi } from "@plane/editor"; // ui import { Logo } from "@plane/ui"; // helpers import { getReadOnlyEditorFileHandlers } from "@/helpers/editor.helper"; // hooks import { usePublish } from "@/hooks/store"; import { useMention } from "@/hooks/use-mention"; // plane web components import { IssueEmbedCard } from "@/plane-web/components/pages"; // plane web hooks import { usePage, usePagesList } from "@/plane-web/hooks/store"; type Props = { anchor: string; }; export const PageDetailsMainContent: React.FC = observer((props) => { const { anchor } = props; // refs const editorRef = useRef(null); // store hooks const publishSettings = usePublish(anchor); const { fetchPageDetails } = usePagesList(); const pageDetails = usePage(anchor); // mention hook const { mentionHighlights } = useMention(); useSWR(anchor ? `PAGE_DETAILS_${anchor}` : null, anchor ? () => fetchPageDetails(anchor) : null, { revalidateIfStale: false, revalidateOnFocus: false, }); useSWR( anchor && pageDetails ? `PAGE_ISSUE_EMBEDS_${anchor}` : null, anchor && pageDetails ? () => pageDetails.fetchPageIssueEmbeds?.(anchor) : null, { revalidateIfStale: false, revalidateOnFocus: false, } ); if (!publishSettings || !pageDetails || !pageDetails.id) return null; return (
{pageDetails.logo_props?.in_use ? ( ) : ( )}

{pageDetails.name}

"} containerClassName="p-0 pb-64 border-none" fileHandler={getReadOnlyEditorFileHandlers({ anchor, })} mentionHandler={{ highlights: mentionHighlights, }} embedHandler={{ issue: { widgetCallback: ({ issueId }) => , }, }} />
); });