diff --git a/functions/api/contact.ts b/functions/api/contact.ts index c55c29e..1770042 100644 --- a/functions/api/contact.ts +++ b/functions/api/contact.ts @@ -57,26 +57,8 @@ const parseFormFields = async (request: Request) => { }; const handlePost: PagesFunction = async ({ request, env }) => { - console.log( - "[contact] post start", - JSON.stringify({ - contentType: request.headers.get("content-type"), - hasTurnstileSecret: Boolean(env.TURNSTILE_SECRET_KEY), - hasResendApiKey: Boolean(env.RESEND_API_KEY), - hasFromEmail: Boolean(env.CONTACT_FROM_EMAIL), - }), - ); const { name, email, message, turnstileToken } = await parseFormFields(request); - console.log( - "[contact] fields", - JSON.stringify({ - hasName: Boolean(name), - hasEmail: Boolean(email), - hasMessage: Boolean(message), - hasTurnstileToken: Boolean(turnstileToken), - }), - ); if (!name || !email || !message) { return jsonResponse( @@ -115,7 +97,6 @@ const handlePost: PagesFunction = async ({ request, env }) => { 8000, "Turnstile", ); - console.log("[contact] turnstile status", verifyResponse.status); const verifyResult = (await verifyResponse.json()) as { success?: boolean; "error-codes"?: string[]; @@ -187,7 +168,6 @@ const handlePost: PagesFunction = async ({ request, env }) => { 8000, "Resend", ); - console.log("[contact] resend status", response.status); if (!response.ok) { const contentType = response.headers.get("content-type") ?? ""; const errorText = contentType.includes("application/json") @@ -227,7 +207,6 @@ export const onRequest: PagesFunction = async (context) => { } catch (error) { const message = error instanceof Error ? error.message : "Unknown error"; - console.error("[contact] unhandled", message); return jsonResponse( { ok: false, error: "Unhandled exception.", details: message }, 500, diff --git a/public/contact-form-v2.js b/public/contact-form-v2.js deleted file mode 100644 index 48e47cc..0000000 --- a/public/contact-form-v2.js +++ /dev/null @@ -1,63 +0,0 @@ -(() => { - const form = document.querySelector("[data-contact-form]"); - const message = document.querySelector("[data-form-message]"); - const submitButton = document.querySelector("[data-form-submit]"); - - if (!form || !message || !submitButton) return; - - form.addEventListener("submit", async (event) => { - event.preventDefault(); - if (submitButton.disabled) return; - - submitButton.disabled = true; - submitButton.textContent = "Sending..."; - message.textContent = ""; - - try { - const formData = new FormData(form); - const body = new URLSearchParams(); - for (const [key, value] of formData.entries()) { - if (typeof value === "string") { - body.append(key, value); - } - } - const response = await fetch(form.action, { - method: "POST", - headers: { "Content-Type": "application/x-www-form-urlencoded" }, - body, - }); - - if (!response.ok) { - let errorMessage = "Request failed"; - const errorData = await response.json().catch(() => null); - if (errorData?.error) { - errorMessage = errorData.details - ? `${errorData.error} (${errorData.details})` - : errorData.error; - } else { - const errorText = await response.text().catch(() => ""); - if (errorText.trim()) { - errorMessage = `${response.status} ${response.statusText}: ${errorText}`; - } else { - errorMessage = `${response.status} ${response.statusText}`; - } - } - throw new Error(errorMessage); - } - - message.textContent = "Thanks! Your message has been sent."; - form.reset(); - if (window.turnstile && typeof window.turnstile.reset === "function") { - window.turnstile.reset(); - } - } catch (error) { - message.textContent = - error instanceof Error - ? error.message - : "Sorry, something went wrong. Please try again."; - } finally { - submitButton.disabled = false; - submitButton.textContent = "Send message"; - } - }); -})(); diff --git a/src/pages/contact.astro b/src/pages/contact.astro index ac6369d..0733610 100644 --- a/src/pages/contact.astro +++ b/src/pages/contact.astro @@ -24,7 +24,7 @@ const turnstileSiteKey = import.meta.env.PUBLIC_TURNSTILE_SITE_KEY ?? ""; ) } - +