From be99542deeed46a26146e2fe6e0aad15f7476813 Mon Sep 17 00:00:00 2001 From: nflnkr Date: Mon, 3 Jul 2023 14:08:20 +0300 Subject: [PATCH] fix store usage --- .../DiscountManagement/CreateDiscount.tsx | 3 +- .../DiscountManagement/EditDiscountDialog.tsx | 8 +- src/stores/privileges.ts | 91 ------------------- src/stores/privilegesStore.ts | 70 -------------- 4 files changed, 5 insertions(+), 167 deletions(-) delete mode 100644 src/stores/privileges.ts diff --git a/src/pages/dashboard/Content/DiscountManagement/CreateDiscount.tsx b/src/pages/dashboard/Content/DiscountManagement/CreateDiscount.tsx index 2791798..6cdabae 100644 --- a/src/pages/dashboard/Content/DiscountManagement/CreateDiscount.tsx +++ b/src/pages/dashboard/Content/DiscountManagement/CreateDiscount.tsx @@ -5,7 +5,6 @@ import { useState } from "react"; import { SERVICE_LIST, ServiceType } from "@root/model/tariff"; import { CustomTextField } from "@root/kitUI/CustomTextField"; import { resetPrivilegeArray, usePrivilegeStore } from "@root/stores/privilegesStore"; -import { setRealPrivileges, useRealPrivilegeStore } from "@root/stores/privileges"; import { addDiscount } from "@root/stores/discounts"; import { enqueueSnackbar } from "notistack"; import { DiscountType, discountTypes } from "@root/model/discount"; @@ -26,7 +25,7 @@ export default function CreateDiscount() { const [cartPurchasesAmountField, setCartPurchasesAmountField] = useState("0"); const [discountMinValueField, setDiscountMinValueField] = useState("0"); - usePrivileges({ onNewPrivileges: setRealPrivileges }); + usePrivileges({ onNewPrivileges: resetPrivilegeArray }); const handleDiscountTypeChange = (event: React.ChangeEvent) => { setDiscountType(event.target.value as DiscountType); diff --git a/src/pages/dashboard/Content/DiscountManagement/EditDiscountDialog.tsx b/src/pages/dashboard/Content/DiscountManagement/EditDiscountDialog.tsx index 26dcd41..b8aa45b 100644 --- a/src/pages/dashboard/Content/DiscountManagement/EditDiscountDialog.tsx +++ b/src/pages/dashboard/Content/DiscountManagement/EditDiscountDialog.tsx @@ -1,10 +1,10 @@ import { Box, Button, Dialog, FormControl, FormControlLabel, FormLabel, InputLabel, MenuItem, Radio, RadioGroup, Select, SelectChangeEvent, Typography, useTheme } from "@mui/material"; -import { createDiscount, patchDiscount } from "@root/api/discounts"; +import { patchDiscount } from "@root/api/discounts"; import { CustomTextField } from "@root/kitUI/CustomTextField"; import { DiscountType, discountTypes } from "@root/model/discount"; import { ServiceType, SERVICE_LIST } from "@root/model/tariff"; import { closeEditDiscountDialog, updateDiscount, useDiscountStore } from "@root/stores/discounts"; -import { setRealPrivileges, useRealPrivilegeStore } from "@root/stores/privileges"; +import { resetPrivilegeArray, usePrivilegeStore } from "@root/stores/privilegesStore"; import { getDiscountTypeFromLayer } from "@root/utils/discount"; import usePrivileges from "@root/utils/hooks/usePrivileges"; import { enqueueSnackbar } from "notistack"; @@ -15,7 +15,7 @@ export default function EditDiscountDialog() { const theme = useTheme(); const editDiscountId = useDiscountStore(state => state.editDiscountId); const discounts = useDiscountStore(state => state.discounts); - const privileges = useRealPrivilegeStore(state => state.privileges); + const privileges = usePrivilegeStore(state => state.privileges); const [serviceType, setServiceType] = useState("templategen"); const [discountType, setDiscountType] = useState("purchasesAmount"); const [discountNameField, setDiscountNameField] = useState(""); @@ -28,7 +28,7 @@ export default function EditDiscountDialog() { const discount = discounts.find(discount => discount.ID === editDiscountId); - usePrivileges({ onNewPrivileges: setRealPrivileges }); + usePrivileges({ onNewPrivileges: resetPrivilegeArray }); useEffect(function setDiscountFields() { if (!discount) return; diff --git a/src/stores/privileges.ts b/src/stores/privileges.ts deleted file mode 100644 index eff5849..0000000 --- a/src/stores/privileges.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Privilege } from "@root/model/tariff"; -import { create } from "zustand"; -import { devtools } from "zustand/middleware"; -import { exampleCartValues } from "./mocks/exampleCartValues"; -import { RealPrivilege } from "@root/model/privilege"; - -interface RealPrivilegeStore { - privileges: RealPrivilege[]; -} - -export const useRealPrivilegeStore = create()( - devtools( - (set, get) => ({ - privileges: [], - }), - { - name: "Privilege store", - } - ) -); - -export const setRealPrivileges = (privileges: RealPrivilegeStore["privileges"]) => useRealPrivilegeStore.setState({ privileges }); - - -/** @deprecated */ -interface PrivilegeStore { - privileges: Privilege[]; - isModalOpen: boolean; - modalPrivilegeId: string | null; - modalPriceField: string; - addPrivileges: (newPrivileges: Privilege[]) => void; -} - -/** @deprecated */ -export const usePrivilegeStore = create()( - devtools( - (set, get) => ({ - privileges: exampleCartValues.privileges, - isModalOpen: false, - modalPrivilegeId: null, - modalPriceField: "", - addPrivileges: (newPrivileges) => set((state) => ({ privileges: [...state.privileges, ...newPrivileges] })), - }), - { - name: "Mock Privilege store", - } - ) -); - -/** @deprecated */ -export const closePrivilegePriceModal = () => usePrivilegeStore.setState({ isModalOpen: false }); - -/** @deprecated */ -export const openPrivilegePriceModal = (modalPrivilegeId: string | null, defaultPrice: number) => - usePrivilegeStore.setState({ - isModalOpen: true, - modalPriceField: defaultPrice.toString(), - modalPrivilegeId, - }); - -/** @deprecated */ -export const changeModalPriceField = (modalPriceField: string) => usePrivilegeStore.setState({ modalPriceField }); - -/** @deprecated */ -export const changePrivilegePrice = () => { - const { privileges, modalPrivilegeId, modalPriceField } = usePrivilegeStore.getState(); - - const privilegeIndex = privileges.findIndex((privilege) => privilege.privilegeId === modalPrivilegeId); - if (privilegeIndex === -1) throw new Error("Privilege not found by id"); - - const price = parseFloat(modalPriceField.replace(",", ".")); - if (!isFinite(price)) return "Error parsing price"; - - const newPrivilege: Privilege = { - ...privileges[privilegeIndex], - price: price, - }; - - const newPrivileges = [...privileges]; - newPrivileges.splice(privilegeIndex, 1, newPrivilege); - - usePrivilegeStore.setState({ - privileges: newPrivileges, - isModalOpen: false, - }); -}; - -/** @deprecated */ -export const findPrivilegeById = (privilegeId: string) => { - return usePrivilegeStore.getState().privileges.find((privilege) => privilege.privilegeId === privilegeId) ?? null; -}; diff --git a/src/stores/privilegesStore.ts b/src/stores/privilegesStore.ts index d328545..d757fdf 100644 --- a/src/stores/privilegesStore.ts +++ b/src/stores/privilegesStore.ts @@ -1,7 +1,5 @@ -import { Privilege } from "@root/model/tariff"; import { create } from "zustand"; import { devtools } from "zustand/middleware"; -import { exampleCartValues } from "./mocks/exampleCartValues"; import { RealPrivilege } from "@root/model/privilege"; interface RealPrivilegeStore { @@ -21,74 +19,6 @@ export const usePrivilegeStore = create()( export const resetPrivilegeArray = (privileges: RealPrivilegeStore["privileges"]) => usePrivilegeStore.setState({ privileges }); - - - - -/** @deprecated */ -// interface PrivilegeStore { -// privileges: Privilege[]; -// isModalOpen: boolean; -// modalPrivilegeId: string | null; -// modalPriceField: string; -// addPrivileges: (newPrivileges: Privilege[]) => void; -// } - -/** @deprecated */ -// export const usePrivilegeStore = create()( -// devtools( -// (set, get) => ({ -// privileges: exampleCartValues.privileges, -// isModalOpen: false, -// modalPrivilegeId: null, -// modalPriceField: "", -// addPrivileges: (newPrivileges) => set((state) => ({ privileges: [...state.privileges, ...newPrivileges] })), -// }), -// { -// name: "Mock Privilege store", -// } -// ) -// ); - -// /** @deprecated */ -// export const closePrivilegePriceModal = () => usePrivilegeStore.setState({ isModalOpen: false }); - -// /** @deprecated */ -// export const openPrivilegePriceModal = (modalPrivilegeId: string | null, defaultPrice: number) => -// usePrivilegeStore.setState({ -// isModalOpen: true, -// modalPriceField: defaultPrice.toString(), -// modalPrivilegeId, -// }); - -// /** @deprecated */ -// export const changeModalPriceField = (modalPriceField: string) => usePrivilegeStore.setState({ modalPriceField }); - -// /** @deprecated */ -// export const changePrivilegePrice = () => { -// const { privileges, modalPrivilegeId, modalPriceField } = usePrivilegeStore.getState(); - -// const privilegeIndex = privileges.findIndex((privilege) => privilege.privilegeId === modalPrivilegeId); -// if (privilegeIndex === -1) throw new Error("Privilege not found by id"); - -// const price = parseFloat(modalPriceField.replace(",", ".")); -// if (!isFinite(price)) return "Error parsing price"; - -// const newPrivilege: Privilege = { -// ...privileges[privilegeIndex], -// price: price, -// }; - -// const newPrivileges = [...privileges]; -// newPrivileges.splice(privilegeIndex, 1, newPrivilege); - -// usePrivilegeStore.setState({ -// privileges: newPrivileges, -// isModalOpen: false, -// }); -// }; - -/** @deprecated */ export const findPrivilegeById = (privilegeId: string) => { return usePrivilegeStore.getState().privileges.find((privilege) => privilege.privilegeId === privilegeId) ?? null; };