blob: 794f0346c9c362831fa7185be106229ec210a4ff (
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
29
30
31
|
import { create } from 'zustand';
import { IProductVariantDetail } from '~/types/productVariant';
type State = {
activeVariantId: number | null;
activePrice: IProductVariantDetail['price'] | null;
quantityInput: string;
askAdminUrl: string;
};
type Action = {
setActive: (variant: IProductVariantDetail) => void;
setQuantityInput: (value: string) => void;
setAskAdminUrl: (url: string) => void;
};
export const useProductDetail = create<State & Action>((set, get) => ({
activeVariantId: null,
activePrice: null,
quantityInput: '1',
askAdminUrl: '',
setActive: (variant) => {
set({ activeVariantId: variant.id, activePrice: variant.price });
},
setQuantityInput: (value: string) => {
set({ quantityInput: value });
},
setAskAdminUrl: (url: string) => {
set({ askAdminUrl: url });
},
}));
|