import { ChangeEventHandler, useState } from "react"; import { DayPicker } from "./react-day-picker-v8"; export function InputTime() { const [selected, setSelected] = useState(); const [timeValue, setTimeValue] = useState("00:00"); const handleTimeChange: ChangeEventHandler = (e) => { const time = e.target.value; if (!selected) { setTimeValue(time); return; } const [hours, minutes] = time.split(":").map((str) => parseInt(str, 10)); const newSelectedDate = new Date( selected.getFullYear(), selected.getMonth(), selected.getDate(), hours, minutes ); setSelected(newSelectedDate); setTimeValue(time); }; const handleDaySelect = (date: Date | undefined) => { if (!timeValue || !date) { setSelected(date); return; } const [hours, minutes] = timeValue .split(":") .map((str) => parseInt(str, 10)); const newDate = new Date( date.getFullYear(), date.getMonth(), date.getDate(), hours, minutes ); setSelected(newDate); }; return ( <>

Pick a time:{" "}

Selected date: {selected ? selected.toLocaleString() : "none"}

} /> ); }