35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
![]() |
import create from "zustand";
|
||
|
import { devtools, persist } from "zustand/middleware";
|
||
|
import { Discount } from "../model/cart";
|
||
|
|
||
|
|
||
|
interface DiscountStore {
|
||
|
discountsArray: Array<Discount>,
|
||
|
setDiscountsArray: (array: Array<Discount>) => void,
|
||
|
discountsActiveArray: Array<number>,
|
||
|
setDiscountsActiveArray: (array: Array<number>) => void,
|
||
|
discountsSelectedRowsData: Array<Discount>,
|
||
|
setDiscountsSelectedRowsData: (array: Array<Discount>) => void,
|
||
|
}
|
||
|
|
||
|
export const useDiscountStore = create<DiscountStore>()(
|
||
|
devtools(
|
||
|
persist(
|
||
|
(set, get) => ({
|
||
|
discountsArray: [],
|
||
|
setDiscountsArray: (array: Array<Discount>) => set({ discountsArray: array }),
|
||
|
discountsActiveArray: [],
|
||
|
setDiscountsActiveArray: (array: Array<number>) => set({ discountsActiveArray: array }),
|
||
|
discountsSelectedRowsData: [],
|
||
|
setDiscountsSelectedRowsData: (array: Array<Discount>) => set({ discountsSelectedRowsData: array }),
|
||
|
}),
|
||
|
{
|
||
|
name: "discount-storage",
|
||
|
getStorage: () => localStorage,
|
||
|
}
|
||
|
),
|
||
|
{
|
||
|
name: "Discount store"
|
||
|
}
|
||
|
)
|
||
|
);
|