Update contact form to use mail proxy
Some checks failed
Build and deploy updated apps / Build & deploy (push) Failing after 1m9s

This commit is contained in:
Dominik Milacher 2025-06-14 12:37:05 +02:00
parent 85d080ab05
commit 822182a17c
2 changed files with 25 additions and 3 deletions

View File

@ -21,4 +21,9 @@ export default defineNuxtConfig({
{code: 'en', name: 'English', file: 'en.json'}
]
},
runtimeConfig: {
public: {
hotelId: "test"
}
}
})

View File

@ -95,6 +95,7 @@
</template>
<script setup lang="ts">
/*TODO form should contain link to privacy statement?*/
const {t, tm, rt} = useI18n()
import * as v from 'valibot'
import type {FormSubmitEvent} from '@nuxt/ui'
@ -117,11 +118,26 @@ const toast = useToast()
/* ───── submit handler ───── */
async function onSubmit(event: FormSubmitEvent<Schema>) {
const config = useRuntimeConfig()
const hotelId = config.public.hotelId
if (!hotelId) {
toast.add({
title: 'Fehler',
description: 'Hotel-ID ist nicht konfiguriert!',
color: 'red'
})
throw new Error('Hotel ID not configured')
}
try {
await $fetch('/contact.php', {
await $fetch('https://api.dominikmilacher.com/contact', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: event.data
body: {
...event.data,
hotel: hotelId
}
})
toast.add({
@ -135,9 +151,10 @@ async function onSubmit(event: FormSubmitEvent<Schema>) {
} catch (err: any) {
toast.add({
title: 'Fehler',
description: err?.data?.message ?? 'Nachricht konnte nicht gesendet werden.',
description: err?.data?.detail ?? err?.message ?? 'Nachricht konnte nicht gesendet werden.',
color: 'red'
})
}
}
</script>