import {CREATE_ADDRESS} from "@graphql/mutations/addresses"; import type {IAddressCreateResponse} from "@types"; interface ICreateAddressArgs { rawData: string; addressLine1: string; addressLine2?: string; } export function useAddressCreate() { const { t } = useI18n(); const { $notify } = useNuxtApp(); const { mutate, loading, error } = useMutation(CREATE_ADDRESS); async function createAddress(args: ICreateAddressArgs) { const result = await mutate(args); if (result?.data?.createAddress?.address?.uuid) { $notify({ message: t('popup.success.createAddress'), type: 'success', }); } } watch(error, (err) => { if (!err) return; console.error('useAddressCreate error:', err); let message = t('popup.errors.defaultError'); if (isGraphQLError(err)) { message = err.graphQLErrors?.[0]?.message || message; } else { message = err.message; } $notify({ message, type: 'error', title: t('popup.errors.main'), }); }); return { createAddress, loading }; }