import { BUY_CART } from '@graphql/mutations/cart'; import type { IBuyOrderResponse } from '@types'; export function useOrderBuy() { const { t } = useI18n(); const { $notify } = useNuxtApp(); const cartStore = useCartStore(); const orderUuid = computed(() => cartStore.currentOrder?.uuid); const { mutate, loading, error } = useMutation(BUY_CART); async function buyOrder() { const result = await mutate({ orderUuid: orderUuid.value, forcePayment: true, }); if (result?.data?.buyOrder?.transaction?.process?.url) { window.location.href = result.data.buyOrder.transaction.process.url; } else { console.log(result?.data); } } watch(error, (err) => { if (!err) return; console.error('useOrderBuy 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 { buyOrder, loading, }; }