/* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable canonical/id-match */ import { type OrderStore } from './types'; import { createStore } from 'zustand'; export function createOrderStore() { return createStore((set, get) => ({ _setStepSequence: (steps) => set({ _stepSequence: steps }), _stepSequence: [], clientId: null, date: new Date(), masterId: null, nextStep: () => { const { _stepSequence, step } = get(); const index = _stepSequence.indexOf(step); const next = _stepSequence[index + 1]; if (next) set({ step: next }); }, prevStep: () => { const { _stepSequence, step } = get(); const index = _stepSequence.indexOf(step); const previous = _stepSequence[index - 1]; if (previous) set({ step: previous }); }, serviceId: null, setClientId: (id) => set({ clientId: id }), setDate: (date) => set({ date }), setMasterId: (id) => set({ masterId: id }), setServiceId: (id) => set({ serviceId: id }), setSlotId: (id) => set({ slotId: id }), setStep: (step) => set({ step }), setTime: (time) => set({ time }), slotId: null, step: 'loading', time: null, })); }