import {isGraphQLError} from "~/utils/error"; import type {IContactUsResponse} from "~/types"; import {CONTACT_US} from "~/graphql/mutations/contact"; export function useContactUs() { const {t} = useI18n(); const { mutate, loading, error } = useMutation(CONTACT_US); async function contactUs( name: string, email: string, phoneNumber: string, subject: string, message: string ) { const result = await mutate({ name, email, phoneNumber, subject, message }); if (result?.data?.contactUs.received) { ElNotification({ message: t('popup.success.contactUs'), type: 'success' }) } } watch(error, (err) => { if (!err) return; console.error('useContactUs error:', err); let message = t('popup.errors.defaultError'); if (isGraphQLError(err)) { message = err.graphQLErrors?.[0]?.message || message; } else { message = err.message; } ElNotification({ title: t('popup.errors.main'), message, type: 'error' }); }); return { contactUs, loading }; }