diff --git a/.vitepress/middleware/cors.ts b/.vitepress/middleware/cors.ts new file mode 100644 index 000000000..ddd889794 --- /dev/null +++ b/.vitepress/middleware/cors.ts @@ -0,0 +1,6 @@ +import { corsEventHandler } from "nitro-cors"; + +export default corsEventHandler((_event) => { }, { + origin: "*", + methods: "*", +}); diff --git a/.vitepress/routes/index.post.ts b/.vitepress/routes/index.post.ts index 8dd050577..979fd8ac6 100644 --- a/.vitepress/routes/index.post.ts +++ b/.vitepress/routes/index.post.ts @@ -47,5 +47,5 @@ export default defineEventHandler(async (event) => { throw new Error(error); }); - return "success"; + return { status: "success" }; }); diff --git a/.vitepress/theme/components/Feedback.vue b/.vitepress/theme/components/Feedback.vue index 03cdfd85a..91fb4c175 100644 --- a/.vitepress/theme/components/Feedback.vue +++ b/.vitepress/theme/components/Feedback.vue @@ -42,12 +42,11 @@ async function handleSubmit(type?: string) { contactEmail: feedback.contactEmail, }; + // TODO: fix this horror? try { const response = await fetch("https://feedback.tasky.workers.dev", { method: "POST", headers: { - "Access-Control-Allow-Origin": "*", - "Access-Control-Allow-Methods": "POST", "Content-Type": "application/json", }, body: JSON.stringify(body), @@ -59,7 +58,9 @@ async function handleSubmit(type?: string) { error.value = data.error; return; } - success.value = true; + if (data.status === "success") { + success.value = true; + } } catch (err) { error.value = err; } finally { @@ -103,7 +104,10 @@ async function handleSubmit(type?: string) {
Contacts, so we can get back to you. (Optional)
-