2025-02-18 16:41:58 +03:00

46 lines
1.1 KiB
TypeScript

'use client';
import {
createContext,
type Dispatch,
type PropsWithChildren,
type SetStateAction,
useMemo,
useState,
} from 'react';
export type ContextType = {
editMode: boolean;
endTime: string;
resetTime: () => void;
setEditMode: Dispatch<SetStateAction<boolean>>;
setEndTime: Dispatch<SetStateAction<string>>;
setStartTime: Dispatch<SetStateAction<string>>;
startTime: string;
};
export const ScheduleTimeContext = createContext<ContextType>({} as ContextType);
export function ScheduleTimeContextProvider({ children }: Readonly<PropsWithChildren>) {
const [editMode, setEditMode] = useState(false);
const [startTime, setStartTime] = useState('');
const [endTime, setEndTime] = useState('');
function resetTime() {
setStartTime('');
setEndTime('');
}
const value = useMemo(() => {
return {
editMode,
endTime,
resetTime,
setEditMode,
setEndTime,
setStartTime,
startTime,
};
}, [editMode, endTime, setEditMode, startTime]);
return <ScheduleTimeContext value={value}>{children}</ScheduleTimeContext>;
}