Enhance Schedule component by resetting time fields on cancel and draft mode toggle; improve session scheduling logic to prevent conflicts by adjusting start times if necessary.

This commit is contained in:
2025-12-03 17:37:35 +05:00
parent 36d5c88bf0
commit b1557453be
2 changed files with 55 additions and 4 deletions
+11 -2
View File
@@ -96,6 +96,9 @@ function Schedule({ selectedDay, slots, events }: Props) {
function handleClickCancel() {
setDraftMode(false);
setStartTime("");
setEndTime("");
setDuration(undefined);
}
async function addSchesuledSession() {
@@ -129,6 +132,9 @@ function Schedule({ selectedDay, slots, events }: Props) {
function handleClickScheduleDemo() {
setDateForInstantStart(undefined);
setStartAt(new Date());
setStartTime("");
setEndTime("");
setDuration(undefined);
setDraftMode(true);
}
@@ -184,9 +190,12 @@ function Schedule({ selectedDay, slots, events }: Props) {
useEffect(() => {
function handleEscKey(e: KeyboardEvent) {
if (!draftMode && e.key !== "Escape") return;
if (!draftMode || e.key !== "Escape") return;
setDraftMode(false);
setStartTime("");
setEndTime("");
setDuration(undefined);
}
document.addEventListener("keyup", handleEscKey, false);
@@ -194,7 +203,7 @@ function Schedule({ selectedDay, slots, events }: Props) {
return () => {
document.removeEventListener("keyup", handleEscKey, false);
};
}, []);
}, [draftMode]);
return (
<div className="relative h-screen overflow-y-auto bg-[#F2F2F2] text-sm">