import { useNotification } from '@composables/notification'; import { RESET_PASSWORD } from '@graphql/mutations/auth.js'; import type { IPasswordResetResponse } from '@types'; export function usePasswordReset() { const { t } = useI18n(); const appStore = useAppStore(); const { mutate, loading, error } = useMutation(RESET_PASSWORD); async function resetPassword(email: string) { const result = await mutate({ email, }); if (result?.data?.resetPassword.success) { useNotification({ message: t('popup.success.reset'), type: 'success', }); appStore.unsetActiveAuthState(); } } watch(error, (err) => { if (!err) return; console.error('usePasswordReset 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 { resetPassword, loading, }; }