From ab3ed39b03f2b04a38de735121820959cae99836 Mon Sep 17 00:00:00 2001 From: mortezaei Date: Tue, 25 Aug 2026 13:20:05 +0330 Subject: [PATCH] fix client --- .../[slug]/question-detail-client.tsx | 6 ++- src/hooks/marriage/use-section-data.ts | 38 +++++++++++-------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/src/app/questions-list/[slug]/question-detail-client.tsx b/src/app/questions-list/[slug]/question-detail-client.tsx index 1ec396f..937738b 100644 --- a/src/app/questions-list/[slug]/question-detail-client.tsx +++ b/src/app/questions-list/[slug]/question-detail-client.tsx @@ -270,12 +270,16 @@ export default function QuestionDetailClient({ const profileId = useCurrentProfileId(); const handleExit = useCallback(() => { + void queryClient.invalidateQueries({ + queryKey: [...marriageQueryKeys.all, "form-overview"], + exact: false, + }); if (onClose) { onClose(); return; } router.replace(questionsListHref); - }, [onClose, questionsListHref, router]); + }, [onClose, questionsListHref, router, queryClient]); // Hardware back in the detail page = navigate back to questions list. // QuestionAnswersProvider's pagehide/unmount safety net will flush diff --git a/src/hooks/marriage/use-section-data.ts b/src/hooks/marriage/use-section-data.ts index 93202f5..38cab6a 100644 --- a/src/hooks/marriage/use-section-data.ts +++ b/src/hooks/marriage/use-section-data.ts @@ -149,22 +149,28 @@ export function applyProfilePatchResultToCache( const slug = String(queryKey[3] ?? ""); queryClient.setQueryData(queryKey, patchSection(current, slug)); }); - queryClient.setQueryData( - marriageQueryKeys.formOverview("profile", locale), - (current: any) => - current - ? { - ...current, - progress: data.progress, - sections: current.sections.map((section: any) => { - const progress = - data.affected_sections[section.id] ?? - data.progress.sections_progress[section.id]; - return progress ? { ...section, progress } : section; - }), - } - : current, - ); + queryClient + .getQueriesData({ + queryKey: [...marriageQueryKeys.all, "form-overview"], + }) + .forEach(([queryKey, current]: [any, any]) => { + if (!current) return; + queryClient.setQueryData(queryKey, { + ...current, + progress: data.progress, + sections: current.sections?.map((section: any) => { + const progress = + data.affected_sections[section.id] ?? + data.progress?.sections_progress?.[section.id]; + return progress ? { ...section, progress } : section; + }), + }); + }); + + void queryClient.invalidateQueries({ + queryKey: [...marriageQueryKeys.all, "form-overview"], + exact: false, + }); } export function useMarriageSectionDataQuery(