feat(FE): refactor drawer zustand store

This commit is contained in:
randy-ar
2025-12-02 11:01:53 +07:00
parent c76f3a3715
commit 6b5838b5aa
5 changed files with 28 additions and 40 deletions
@@ -1,21 +1,11 @@
import { DrawerUISlice } from '@/types/stores';
import { StateCreator } from 'zustand';
import { create } from 'zustand';
import { devtools } from 'zustand/middleware';
export type ProjectFloockUISlice = {
triggerValidate: boolean;
toggleValidate: () => void;
subscribeValidate: (callback: () => void) => void;
isValid: boolean;
setIsValid: (v: boolean) => void;
subscribeIsValid: (callback: (isValid: boolean) => void) => () => void;
};
export const createProjectFlockUiSlice: StateCreator<
ProjectFloockUISlice,
export const createDrawerUISlice: StateCreator<
DrawerUISlice,
[],
[],
ProjectFloockUISlice
DrawerUISlice
> = (set, get, api) => ({
// event flag untuk memicu formik validate
triggerValidate: false,
@@ -48,14 +38,3 @@ export const createProjectFlockUiSlice: StateCreator<
});
},
});
export const useProjectFlockUiStore = create<ProjectFloockUISlice>()(
devtools(
(...args) => ({
...createProjectFlockUiSlice(...args),
}),
{
name: 'ProjectFlockUiStore',
}
)
);
+2
View File
@@ -5,11 +5,13 @@ import { devtools } from 'zustand/middleware';
import { UIStore } from '@/types/stores';
import { createMainUiSlice } from '@/stores/ui/slices/main.slice';
import { createDrawerUISlice } from '@/stores/ui/slices/drawer.slice';
export const useUiStore = create<UIStore>()(
devtools(
(...args) => ({
...createMainUiSlice(...args),
...createDrawerUISlice(...args),
}),
{
name: 'UIStore',