export interface ContactFormData { name: string email: string message: string } export function useContactForm() { const isLoading = ref(false) const isSuccess = ref(false) const error = ref(null) const submitForm = async (data: ContactFormData) => { const { t } = useI18n({ useScope: 'global' }) isLoading.value = true error.value = null try { await $fetch('/api/contact/send', { method: 'POST', body: data }) isSuccess.value = true } catch (e: unknown) { const fetchError = e as { statusMessage?: string } error.value = fetchError.statusMessage || t('errors.generic') throw e } finally { isLoading.value = false } } const reset = () => { isLoading.value = false isSuccess.value = false error.value = null } return { isLoading, isSuccess, error, submitForm, reset } }