2025-04-16 12:47:36 +03:00

53 lines
1.3 KiB
TypeScript

'use client';
import { useEntityState, useStep } from './hooks';
import { type ContextType } from './types';
import { createContext, type PropsWithChildren, useMemo, useState } from 'react';
export const OrderContext = createContext<ContextType>({} as ContextType);
export function OrderContextProvider({ children }: Readonly<PropsWithChildren>) {
const { entityId: masterId, setEntityId: setMasterId } = useEntityState();
const { entityId: serviceId, setEntityId: setServiceId } = useEntityState();
const { entityId: clientId, setEntityId: setClientId } = useEntityState();
const [date, setDate] = useState<Date>(new Date());
const [time, setTime] = useState<null | string>(null);
const { nextStep, prevStep, setStep, step } = useStep();
const value = useMemo(
() => ({
clientId,
date,
masterId,
nextStep,
prevStep,
serviceId,
setClientId,
setDate,
setMasterId,
setServiceId,
setStep,
setTime,
step,
time,
}),
[
clientId,
date,
masterId,
nextStep,
prevStep,
serviceId,
setClientId,
setMasterId,
setServiceId,
setStep,
step,
time,
],
);
return <OrderContext value={value}>{children}</OrderContext>;
}