adminFront/src/stores/tariffs.ts
2023-03-06 16:22:12 +03:00

34 lines
1.1 KiB
TypeScript

import { Tariff } from "@root/model/tariff";
import { create } from "zustand";
import { devtools, persist } from "zustand/middleware";
import { exampleTariffs } from "./mocks/tariffs";
interface TariffStore {
tariffs: Tariff[];
addTariffs: (newTariffs: Tariff[]) => void;
deleteTariffs: (tariffsToDelete: Tariff[]) => void;
deleteAllTariffs: () => void;
}
export const useTariffStore = create<TariffStore>()(
devtools(
// persist(
(set, get) => ({
tariffs: exampleTariffs,
addTariffs: (newTariffs: Tariff[]) => set(state => ({ tariffs: [...state.tariffs, ...newTariffs] })),
deleteTariffs: tariffsToDelete => set(state => (
{ tariffs: state.tariffs.filter(tariff => !tariffsToDelete.includes(tariff)) }
)),
deleteAllTariffs: () => set({ tariffs: [] }),
}),
// {
// name: "tariffs",
// getStorage: () => localStorage,
// }
// ),
{
name: "Tariff store"
}
)
);