diff --git a/src/Components/LoggedIn/Content/Discounts/index.tsx b/src/Components/LoggedIn/Content/Discounts/index.tsx index d3b0709..df25e50 100644 --- a/src/Components/LoggedIn/Content/Discounts/index.tsx +++ b/src/Components/LoggedIn/Content/Discounts/index.tsx @@ -108,15 +108,7 @@ const Discounts: React.FC = () => { }; - let { discountsArray, discountsArraySet } = useStore((state) => state); - - const getDiscounts = localStorage.getItem("discounts"); - const store = useStore( (state) => state ); - - if( getDiscounts && !store.discountsArray.length ) { - const rows:Array = JSON.parse(getDiscounts); - if( rows.length ) { store.discountsArraySet( rows ); }; - } + const { discountsArray, discountsArraySet } = useStore((state) => state); const { discountsActiveArray, discountsActiveArraySet } = useStore((state) => state); let discountsActiveArrayUpdated:Array; @@ -132,19 +124,11 @@ const Discounts: React.FC = () => { if( JSON.stringify(discountsActiveArray) != JSON.stringify(discountsActiveArrayUpdated) ) { discountsActiveArraySet( discountsActiveArrayUpdated ); - localStorage.setItem("activeDiscounts", JSON.stringify( discountsActiveArrayUpdated )); } } findActiveDiscounts(); - const getActiveDiscounts = localStorage.getItem("activeDiscounts"); - - if( getActiveDiscounts && !store.discountsArray.length ) { - const rows:Array = JSON.parse(getActiveDiscounts); - if( rows.length ) { store.discountsActiveArraySet( rows ); }; - } - const discountsArrayConverted = discountsArray.map( (item) => { const dateFrom = item.from ? new Date( Number(item.from) ) : ""; const dateDueTo = item.from ? new Date( Number(item.dueTo) ) : ""; @@ -172,7 +156,7 @@ const Discounts: React.FC = () => { } } ); - const createDiscount = ( name:string, discount: number ) => { + const createDiscount = ( name:string, discount: number, addedMore: number ) => { const newDiscount = { id: new Date().getTime(), name, @@ -188,15 +172,21 @@ const Discounts: React.FC = () => { const discountsArrayUpdated = [ ...discountsArray, newDiscount ]; discountsArraySet( discountsArrayUpdated ); - localStorage.setItem("discounts", JSON.stringify( discountsArrayUpdated )); } const fieldName = React.useRef(null); const fieldDiscount = React.useRef(null); + const fieldAddedMore = React.useRef(null); const checkFields = () => { - if( fieldName.current != null && fieldDiscount.current != null ) { - createDiscount( fieldName.current.value, Number(fieldDiscount.current.value) ); + if( fieldName.current != null + && fieldDiscount.current != null + && fieldAddedMore.current != null ) { + + createDiscount( fieldName.current.value, + Number(fieldDiscount.current.value), + Number(fieldAddedMore.current.value) ); + } } @@ -225,7 +215,6 @@ const Discounts: React.FC = () => { } ); discountsArraySet( discountsArray ); - localStorage.setItem("discounts", JSON.stringify( discountsArray )); } return ( @@ -341,6 +330,27 @@ const Discounts: React.FC = () => { inputRef={ fieldDiscount } /> + + = [ { id: 1, name: "Промокод 1", endless: false, from: "", dueTo: "", privileges: [ { @@ -111,21 +115,6 @@ const DataGridElement: React.FC = ({ openModal }) => { const { discountsArray, discountsArraySet } = useStore((state) => state); const { discountsActiveArray, discountsActiveArraySet } = useStore((state) => state); - const getDiscounts = localStorage.getItem("discounts"); - const store = useStore( (state) => state ); - - if( getDiscounts && !store.discountsArray.length ) { - const rows:Array = JSON.parse(getDiscounts); - if( rows.length ) { store.discountsArraySet( rows ); }; - } - - const getActiveDiscounts = localStorage.getItem("activeDiscounts"); - - if( getActiveDiscounts && !store.discountsArray.length ) { - const rows:Array = JSON.parse(getActiveDiscounts); - if( rows.length ) { store.discountsActiveArraySet( rows ); }; - } - const [checkboxStates, setCheckboxStates] = React.useState(1); const checkboxToggle = () => { @@ -159,8 +148,6 @@ const DataGridElement: React.FC = ({ openModal }) => { } } ); - localStorage.setItem("tariffs", JSON.stringify(tariffsArray)); - const { tariffsSelectedRowsData, tariffsSelectedRowsDataSet } = useStore((state) => state); const onRowsSelectionHandler = ( ids:GridSelectionModel ) => { const result:Array = []; @@ -383,7 +370,14 @@ const DataGridElement: React.FC = ({ openModal }) => { Корзина - + = ({ openModal }) => { }, }} onClick={ () => checkboxToggle() } /> } label="НКО" /> + + + ((set) => ({ - tariffsArray: [], - tariffsArraySet: (array) => set({ tariffsArray: array }), +const useStore = create()( + persist( + (set, get) => ({ + tariffsArray: [], + tariffsArraySet: (array:Array) => set({ tariffsArray: array }), - tariffsSelectedRowsData: [], - tariffsSelectedRowsDataSet: (array) => set({ tariffsSelectedRowsData: array }), + tariffsSelectedRowsData: [], + tariffsSelectedRowsDataSet: (array:Array) => set({ tariffsSelectedRowsData: array }), - cartRowsData: [], - cartRowsDataSet: (array) => set({ cartRowsData: array }), + cartRowsData: [], + cartRowsDataSet: (array:Array) => set({ cartRowsData: array }), - promocodeArray: [], - promocodeArraySet: (array) => set({ promocodeArray: array }), + promocodeArray: [], + promocodeArraySet: (array:Array) => set({ promocodeArray: array }), - discountsArray: [], - discountsArraySet: (array) => set({ discountsArray: array }), + discountsArray: [], + discountsArraySet: (array:Array) => set({ discountsArray: array }), - discountsActiveArray: [], - discountsActiveArraySet: (array) => set({ discountsActiveArray: array }), + discountsActiveArray: [], + discountsActiveArraySet: (array:Array) => set({ discountsActiveArray: array }), - discountsSelectedRowsData: [], - discountsSelectedRowsDataSet: (array) => set({ discountsSelectedRowsData: array }), -})) + discountsSelectedRowsData: [], + discountsSelectedRowsDataSet: (array:Array) => set({ discountsSelectedRowsData: array }), + }), + { + name: "arrays-storage", + getStorage: () => localStorage, + } + ) +); export interface StoreState { tariffsArray: Array,