From f58cb4380176521688b33476247b59acfab6d4cf Mon Sep 17 00:00:00 2001 From: rstubryan Date: Fri, 26 Dec 2025 19:17:12 +0700 Subject: [PATCH] refacotr(FE-438): Unsubscribe validate subscription and close drawer --- src/components/pages/uniformity/form/UniformityForm.tsx | 7 +++++-- src/types/stores.d.ts | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/pages/uniformity/form/UniformityForm.tsx b/src/components/pages/uniformity/form/UniformityForm.tsx index 7c8ba5d9..fab49ba5 100644 --- a/src/components/pages/uniformity/form/UniformityForm.tsx +++ b/src/components/pages/uniformity/form/UniformityForm.tsx @@ -345,8 +345,11 @@ const UniformityForm = ({ setIsValid(true); }); - return unsub; - }, []); + return () => { + unsub(); + useUiStore.getState().setExpandedDrawerOpen(false); + }; + }, [subscribeValidate, setIsValid]); // ===== EVENT HANDLERS ===== const handleOpenExpandedDrawer = () => { diff --git a/src/types/stores.d.ts b/src/types/stores.d.ts index 5b4c7c6a..0521b40e 100644 --- a/src/types/stores.d.ts +++ b/src/types/stores.d.ts @@ -6,7 +6,7 @@ type MainUiSlice = { type DrawerUISlice = { triggerValidate: boolean; toggleValidate: () => void; - subscribeValidate: (callback: () => void) => void; + subscribeValidate: (callback: () => void) => () => void; isValid: boolean; setIsValid: (v: boolean) => void; subscribeIsValid: (callback: (isValid: boolean) => void) => () => void;