'use client'; import { LoadingSpinner } from '../common/spinner'; import { BackButton, ClientsGrid, DateTimeSelect, MastersGrid, NextButton, ServiceSelect, } from './components'; import { OrderStoreProvider, useOrderStore } from '@/stores/order'; import { useInitOrderStore } from '@/stores/order/hooks'; import { withContext } from '@/utils/context'; import { type JSX } from 'react'; const STEP_COMPONENTS: Record = { 'client-select': , 'datetime-select': , 'master-select': , 'service-select': , }; export const OrderForm = withContext(OrderStoreProvider)(function () { useInitOrderStore(); const step = useOrderStore((store) => store.step); if (step === 'loading') return ; return (
{getStepComponent(step)}
); }); function getStepComponent(step: string) { return STEP_COMPONENTS[step] ?? null; }