From df854f885185dacaaa2b89f3a949c7e1b71811b0 Mon Sep 17 00:00:00 2001 From: Beatrice Mkumbo Date: Wed, 6 Sep 2023 16:14:21 +0300 Subject: [PATCH] chore(web): publish modal (#658) --- .../Editor/tabs/publish/Nav/PublishModal/hooks.ts | 8 +++++--- .../Editor/tabs/publish/Nav/PublishModal/index.tsx | 12 ++++++++---- .../beta/features/Editor/tabs/publish/Nav/hooks.ts | 12 +++++++++--- .../beta/features/Editor/tabs/publish/Nav/index.tsx | 12 +++++------- web/src/services/api/projectApi.ts | 10 +++++++--- 5 files changed, 34 insertions(+), 20 deletions(-) diff --git a/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/hooks.ts b/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/hooks.ts index 2fa4ef5a0..705689f12 100644 --- a/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/hooks.ts +++ b/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/hooks.ts @@ -15,7 +15,7 @@ export default ( publishing?: publishingType, publishStatus?: PublishStatus, defaultAlias?: string, - onPublish?: (publishStatus: PublishStatus) => Promise, + onPublish?: (alias: string | undefined, publishStatus: PublishStatus) => void | Promise, onClose?: () => void, onAliasValidate?: (alias: string) => void, onCopyToClipBoard?: () => void, @@ -95,15 +95,17 @@ export default ( const handlePublish = useCallback(async () => { if (!publishing) return; + const a = publishing !== "unpublishing" ? alias || generateAlias() : undefined; + const mode = publishing === "unpublishing" ? "unpublished" : !searchIndex ? "limited" : "published"; - await onPublish?.(mode); + await onPublish?.(a, mode); if (publishing === "unpublishing") { handleClose?.(); } else { setStatusChange(true); } - }, [onPublish, publishing, searchIndex, setStatusChange, handleClose]); + }, [alias, generateAlias, onPublish, publishing, searchIndex, setStatusChange, handleClose]); return { statusChanged, diff --git a/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/index.tsx b/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/index.tsx index ddcb77fbc..e377237d7 100644 --- a/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/index.tsx +++ b/web/src/beta/features/Editor/tabs/publish/Nav/PublishModal/index.tsx @@ -23,7 +23,7 @@ type Props = { publishing?: publishingType; validatingAlias?: boolean; url?: string[]; - onPublish: (publishStatus: PublishStatus) => Promise; + onPublish: (alias: string | undefined, publishStatus: PublishStatus) => void | Promise; onClose?: () => void; onCopyToClipBoard?: () => void; onAliasValidate?: (alias: string) => void; @@ -79,10 +79,9 @@ const PublishModal: React.FC = ({ const publishDisabled = useMemo( () => loading || - (publishing === "unpublishing" && publishStatus === "unpublished") || ((publishing === "publishing" || publishing === "updating") && (!alias || !!validation || validatingAlias || !validAlias)), - [alias, loading, publishStatus, publishing, validation, validAlias, validatingAlias], + [alias, loading, publishing, validation, validAlias, validatingAlias], ); const modalTitleText = useMemo(() => { @@ -125,7 +124,12 @@ const PublishModal: React.FC = ({ button1={