diff --git a/src/components/sections/ContactSection.vue b/src/components/sections/ContactSection.vue index a96f0fb..46f2933 100644 --- a/src/components/sections/ContactSection.vue +++ b/src/components/sections/ContactSection.vue @@ -17,8 +17,10 @@ const budget = ref(""); const message = ref(""); const status = ref<"idle" | "sending" | "success" | "error">("idle"); const errorMessage = ref(""); +let timeoutId: ReturnType; const handleSubmit = async (e: Event) => { + if (timeoutId) clearTimeout(timeoutId); status.value = "sending"; errorMessage.value = ""; @@ -55,12 +57,13 @@ ${message.value}`, service.value = ""; budget.value = ""; message.value = ""; - setTimeout(() => (status.value = "idle"), 3000); + timeoutId = setTimeout(() => (status.value = "idle"), 2000); } catch (error) { status.value = "error"; errorMessage.value = error instanceof Error ? error.message : "Failed to send message"; console.error("Submission error:", error); + timeoutId = setTimeout(() => (status.value = "idle"), 2000); } }; @@ -227,34 +230,17 @@ ${message.value}`, /> - - - -