Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | /**
* Additional-email verification (v2) hooks.
*
* React Query hooks for the public /verify-email landing page: GET-check the
* token (no mutation) and POST-confirm it. Mirrors the useNewsletter
* verify/unsubscribe pattern.
*/
import {
useMutation,
useQuery,
type UseMutationResult,
type UseQueryResult,
} from '@tanstack/react-query';
import * as userAccountApi from '@/services/api/userAccountApi';
import type {
AdditionalEmailVerificationCheck,
AdditionalEmailVerificationConfirm,
} from '@/services/api/userAccountApi';
/** GET-check the verification token (no mutation) — returns masked email + status. */
export function useCheckAdditionalEmailVerification(
token: string | null
): UseQueryResult<AdditionalEmailVerificationCheck, Error> {
return useQuery({
queryKey: ['additional-email-verify', 'check', token],
queryFn: () => userAccountApi.checkAdditionalEmailVerification(token!),
enabled: !!token,
retry: false,
});
}
/** POST-confirm the verification token (mutates). */
export function useConfirmAdditionalEmailVerification(): UseMutationResult<
AdditionalEmailVerificationConfirm,
Error,
string
> {
return useMutation({
mutationFn: userAccountApi.confirmAdditionalEmailVerification,
});
}
|