From 0ed51ed32562670957ff700bfdc67aa0fcd156b1 Mon Sep 17 00:00:00 2001 From: Wayne Date: Sun, 15 Dec 2024 18:35:00 +0900 Subject: [PATCH] Wait for no custom errors before submitting --- .../TimeLeaveModal/TimeLeaveInputTable.tsx | 5 +++- .../TimeLeaveModal/TimeLeaveModal.tsx | 10 +++++-- src/components/utils/waitFor.ts | 30 +++++++++++++++++++ 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 src/components/utils/waitFor.ts diff --git a/src/components/TimeLeaveModal/TimeLeaveInputTable.tsx b/src/components/TimeLeaveModal/TimeLeaveInputTable.tsx index 5df4577..3eb6ef3 100644 --- a/src/components/TimeLeaveModal/TimeLeaveInputTable.tsx +++ b/src/components/TimeLeaveModal/TimeLeaveInputTable.tsx @@ -637,7 +637,10 @@ const TimeLeaveInputTable: React.FC = ({ setValue(day, newEntries); if (entries.some((e) => e._isNew)) { - setError(day, { message: "There are some unsaved entries." }); + setError(day, { + message: "There are some unsaved entries.", + type: "custom", + }); } else { clearErrors(day); } diff --git a/src/components/TimeLeaveModal/TimeLeaveModal.tsx b/src/components/TimeLeaveModal/TimeLeaveModal.tsx index f7a170b..36aaab9 100644 --- a/src/components/TimeLeaveModal/TimeLeaveModal.tsx +++ b/src/components/TimeLeaveModal/TimeLeaveModal.tsx @@ -39,6 +39,7 @@ import DateHoursList from "../DateHoursTable/DateHoursList"; import TimeLeaveInputTable from "./TimeLeaveInputTable"; import TimeLeaveMobileEntry from "./TimeLeaveMobileEntry"; import { Task } from "@/app/api/tasks"; +import waitForCondition from "../utils/waitFor"; interface Props { isOpen: boolean; @@ -240,9 +241,14 @@ const TimeLeaveModal: React.FC = ({