From 6a2fbd1df49a525dc339c2391819ca5386f60e9e Mon Sep 17 00:00:00 2001 From: DIYgod Date: Tue, 17 Jan 2023 19:10:47 +0000 Subject: [PATCH] feat: not return to post list after publishing --- src/pages/dashboard/[subdomain]/editor.tsx | 16 +++++++++++++--- src/queries/page.ts | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/pages/dashboard/[subdomain]/editor.tsx b/src/pages/dashboard/[subdomain]/editor.tsx index 7d73a077..aea0a60b 100644 --- a/src/pages/dashboard/[subdomain]/editor.tsx +++ b/src/pages/dashboard/[subdomain]/editor.tsx @@ -81,7 +81,7 @@ export default function SubdomainEditor() { page.data ? getPageVisibility(page.data) : PageVisibilityEnum.Draft, ) } - }, [page.isSuccess]) + }, [page.isSuccess, page.data]) const uploadFile = useUploadFile() @@ -171,9 +171,19 @@ export default function SubdomainEditor() { if (draftKey) { delStorage(draftKey) queryClient.invalidateQueries(["getPagesBySite", subdomain]) - queryClient.invalidateQueries(["getPage", draftKey]) + queryClient.invalidateQueries([ + "getPage", + draftKey.replace(`draft-${subdomain}-`, ""), + ]) + } else { + queryClient.invalidateQueries(["getPage", pageId]) + } + + if (createOrUpdatePage.data.data) { + router.replace( + `/dashboard/${subdomain}/editor?id=${site.data?.metadata?.proof}-${createOrUpdatePage.data.data}&type=${router.query.type}`, + ) } - router.push(`/dashboard/${subdomain}/${isPost ? "posts" : "pages"}`) } else { toast.error("Error: " + createOrUpdatePage.data?.message) } diff --git a/src/queries/page.ts b/src/queries/page.ts index db3d2f76..18c62601 100644 --- a/src/queries/page.ts +++ b/src/queries/page.ts @@ -59,7 +59,7 @@ export const useGetPagesBySite = ( export const useGetPage = (input: Parameters[0]) => { const unidata = useUnidata() - return useQuery(["getPage", input.page, input], async () => { + return useQuery(["getPage", input.page || input.pageId, input], async () => { if (!input.site || !(input.page || input.pageId)) { return null }