import {DEPOSIT} from "~/graphql/mutations/deposit"; import {isGraphQLError} from "~/utils/error"; import {useNotification} from "~/composables/notification"; export function useDeposit() { const {t} = useI18n(); const { mutate, loading, error } = useMutation(DEPOSIT); async function deposit( amount: string ) { const result = await mutate( { amount } ); if (result?.data?.deposit) { if (result?.data.deposit?.transaction?.process?.url) { window.location.href = result?.data.deposit.transaction.process.url } else { console.log(result?.data) } } } watch(error, (err) => { if (!err) return; console.error('useDeposit error:', err); let message = t('popup.errors.defaultError'); if (isGraphQLError(err)) { message = err.graphQLErrors?.[0]?.message || message; } else { message = err.message; } useNotification({ message, type: 'error', title: t('popup.errors.main') }); }); return { deposit, loading }; }