diff --git a/web/core/components/pages/dropdowns/actions.tsx b/web/core/components/pages/dropdowns/actions.tsx index 7e770d1ec6..5cc551ae2f 100644 --- a/web/core/components/pages/dropdowns/actions.tsx +++ b/web/core/components/pages/dropdowns/actions.tsx @@ -24,6 +24,8 @@ import { EPageAccess } from "@/constants/page"; import { cn } from "@/helpers/common.helper"; // plane web components import { MovePageModal } from "@/plane-web/components/pages"; +// store types +import { IPage } from "@/store/pages/page"; export type TPageActions = | "full-screen" @@ -64,13 +66,13 @@ type Props = { extraOptions?: (TContextMenuItem & { key: TPageActions })[]; optionsOrder: TPageActions[]; pageConfig: TPageConfig; - pageId: string; + page: IPage; pageOperations: TPageOperations; parentRef?: React.RefObject; }; export const PageActions: React.FC = observer((props) => { - const { extraOptions, optionsOrder, pageConfig, pageId, pageOperations, parentRef } = props; + const { extraOptions, optionsOrder, pageConfig, page, pageOperations, parentRef } = props; // states const [deletePageModal, setDeletePageModal] = useState(false); const [movePageModal, setMovePageModal] = useState(false); @@ -147,8 +149,8 @@ export const PageActions: React.FC = observer((props) => { return ( <> - setMovePageModal(false)} pageId={pageId} /> - setDeletePageModal(false)} pageId={pageId} /> + setMovePageModal(false)} page={page} /> + setDeletePageModal(false)} pageId={page.id ?? ""} /> {parentRef && } {arrangedOptions.map((item) => { diff --git a/web/core/components/pages/editor/header/options-dropdown.tsx b/web/core/components/pages/editor/header/options-dropdown.tsx index ab97d52994..c1e8096c2f 100644 --- a/web/core/components/pages/editor/header/options-dropdown.tsx +++ b/web/core/components/pages/editor/header/options-dropdown.tsx @@ -2,8 +2,8 @@ import { useMemo, useState } from "react"; import { observer } from "mobx-react"; -import { ArrowUpToLine, Clipboard, History } from "lucide-react"; import { useParams, useRouter } from "next/navigation"; +import { ArrowUpToLine, Clipboard, History } from "lucide-react"; // document editor import { EditorReadOnlyRefApi, EditorRefApi } from "@plane/editor"; // ui @@ -106,7 +106,7 @@ export const PageOptionsDropdown: React.FC = observer((props) => { shouldRender: true, }, ], - [editorRef, isFullWidth, router, updateQueryParams] + [editorRef, handleFullWidth, isFullWidth, router, updateQueryParams] ); const pageOperations: TPageOperations = useMemo(() => { @@ -241,8 +241,8 @@ export const PageOptionsDropdown: React.FC = observer((props) => { unlock, workspaceSlug, ]); - const pageConfig: TPageConfig = useMemo(() => { - return { + const pageConfig: TPageConfig = useMemo( + () => ({ canArchive: canCurrentUserArchivePage, canLock: canCurrentUserLockPage, canMove: canCurrentUserMovePage, @@ -252,15 +252,19 @@ export const PageOptionsDropdown: React.FC = observer((props) => { isArchived: !!archived_at, isLocked: is_locked, pageAccess: access ?? 0, - }; - }, [ - archived_at, - canCurrentUserArchivePage, - canCurrentUserChangeAccess, - canCurrentUserDeletePage, - canCurrentUserDuplicatePage, - canCurrentUserLockPage, - ]); + }), + [ + access, + archived_at, + canCurrentUserArchivePage, + canCurrentUserChangeAccess, + canCurrentUserDeletePage, + canCurrentUserDuplicatePage, + canCurrentUserLockPage, + canCurrentUserMovePage, + is_locked, + ] + ); return ( <> @@ -284,7 +288,7 @@ export const PageOptionsDropdown: React.FC = observer((props) => { "export", ]} pageConfig={pageConfig} - pageId={page.id ?? ""} + page={page} pageOperations={pageOperations} /> diff --git a/web/core/components/pages/list/block-item-action.tsx b/web/core/components/pages/list/block-item-action.tsx index a51de11b7a..1fb7b4931d 100644 --- a/web/core/components/pages/list/block-item-action.tsx +++ b/web/core/components/pages/list/block-item-action.tsx @@ -279,7 +279,7 @@ export const BlockItemAction: FC = observer((props) => { "delete", ]} pageConfig={pageConfig} - pageId={pageId} + page={page} pageOperations={pageOperations} parentRef={parentRef} />