From a18f9de6d6da34d748b700ba31a0ac93193eb3f3 Mon Sep 17 00:00:00 2001 From: PhilReact Date: Sat, 21 Jun 2025 08:47:08 +0300 Subject: [PATCH] fixes --- src/components/MultiPublish/MultiPublishDialog.tsx | 6 ++++-- src/hooks/usePublish.tsx | 5 +++++ src/state/multiplePublish.ts | 4 +++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/MultiPublish/MultiPublishDialog.tsx b/src/components/MultiPublish/MultiPublishDialog.tsx index bee497f..eddd5f5 100644 --- a/src/components/MultiPublish/MultiPublishDialog.tsx +++ b/src/components/MultiPublish/MultiPublishDialog.tsx @@ -57,7 +57,7 @@ export const MultiPublishDialogComponent = () => { complete: state.complete })); - const { publishStatus, setPublishStatusByKey } = usePublishStatusStore(); + const { publishStatus, setPublishStatusByKey, reset: resetStatusStore } = usePublishStatusStore(); const resourcesToPublish = useMemo(() => { return resources.filter((item) => @@ -88,8 +88,10 @@ export const MultiPublishDialogComponent = () => { { action: 'PUBLISH_MULTIPLE_QDN_RESOURCES', resources: resourcesToPublish }, timeout ); - + complete(result); + reset(); + resetStatusStore() } catch (error: any) { const unPublished = error?.error?.unsuccessfulPublishes; const failedPublishes: QortalGetMetadata[] = []; diff --git a/src/hooks/usePublish.tsx b/src/hooks/usePublish.tsx index 882584d..4ace8b8 100644 --- a/src/hooks/usePublish.tsx +++ b/src/hooks/usePublish.tsx @@ -275,6 +275,8 @@ interface StoredPublish { const publishMultipleResources = useCallback(async (resources: ResourceToPublish[]): Promise => { return new Promise(async (resolve, reject) => { const store = useMultiplePublishStore.getState(); + const storeStatus = usePublishStatusStore.getState(); + store.setPublishResources(resources); store.setIsPublishing(true); store.setCompletionResolver(resolve); @@ -291,7 +293,10 @@ const publishMultipleResources = useCallback(async (resources: ResourceToPublish action: "PUBLISH_MULTIPLE_QDN_RESOURCES", resources }, lengthOfTimeout); + store.complete(result); + store.reset() + storeStatus.reset() } catch (error: any) { const unPublished = error?.error?.unsuccessfulPublishes; const failedPublishes: QortalGetMetadata[] = [] diff --git a/src/state/multiplePublish.ts b/src/state/multiplePublish.ts index 25c627f..513a97e 100644 --- a/src/state/multiplePublish.ts +++ b/src/state/multiplePublish.ts @@ -94,9 +94,9 @@ type PublishStatusStore = { publishStatus: Record; getPublishStatusByKey: (key: string) => PublishStatus | undefined; setPublishStatusByKey: (key: string, update: Partial) => void; + reset: () => void; }; - export const usePublishStatusStore = create((set, get) => ({ publishStatus: {}, @@ -134,4 +134,6 @@ export const usePublishStatusStore = create((set, get) => ({ }, }); }, + + reset: () => set({ publishStatus: {} }) })); \ No newline at end of file