2025-04-09 16:51:25 +03:00

44 lines
960 B
TypeScript

'use client';
import {
BackButton,
ClientsGrid,
DateSelect,
MastersGrid,
ServiceSelect,
SubmitButton,
TimeSelect,
} from './components';
import { OrderContext, OrderContextProvider } from '@/context/order';
import { withContext } from '@/utils/context';
import { type JSX, use } from 'react';
const STEP_COMPONENTS: Record<string, JSX.Element> = {
'client-select': <ClientsGrid />,
'datetime-select': (
<>
<DateSelect />
<TimeSelect />
</>
),
'master-select': <MastersGrid />,
'service-select': <ServiceSelect />,
};
function getStepComponent(step: string) {
return STEP_COMPONENTS[step] ?? null;
}
export const OrderForm = withContext(OrderContextProvider)(function () {
const { step } = use(OrderContext);
return (
<div className="space-y-4 [&>*]:px-4">
{getStepComponent(step)}
<div className="space-y-2">
<SubmitButton />
<BackButton />
</div>
</div>
);
});