import {ACTIVATE_USER} from "@/graphql/mutations/user.js"; import {isGraphQLError} from "~/utils/error"; import type {IUserActivationResponse} from "~/types"; import {useNotification} from "~/composables/notification"; export function useUserActivation() { const {t} = useI18n(); const { mutate, loading, error } = useMutation(ACTIVATE_USER); async function activateUser( token: string, uid: string ) { const result = await mutate({ token, uid }); if (result?.data?.activateUser) { useNotification({ message: t("popup.activationSuccess"), type: 'success' }); } } watch(error, (err) => { if (!err) return; console.error('useUserActivation 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 { activateUser, loading }; }