blob: 464bb5980093c1635dd400bd77a1c70cd4de2f05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import { create } from 'zustand';
import { CategoryPromo } from '~/types/promotion';
type State = {
active: boolean;
variantId?: number;
activeTab: CategoryPromo;
};
type Action = {
openModal: (variantId: number) => void;
closeModal: () => void;
changeTab: (tab: State['activeTab']) => void;
};
const defaultState: Omit<State, 'activeTab'> = {
active: false,
variantId: undefined,
};
export const useModalStore = create<State & Action>((set) => ({
...defaultState,
activeTab: 'bundling',
openModal: (variantId: number) => set({ active: true, variantId }),
closeModal: () => set(defaultState),
// TABS
changeTab: (tab) => set({ activeTab: tab }),
}));
|