diff --git a/packages/react/src/auth/index.ts b/packages/react/src/auth/index.ts index 024d9a34..a2374773 100644 --- a/packages/react/src/auth/index.ts +++ b/packages/react/src/auth/index.ts @@ -45,6 +45,7 @@ export { useDeleteUserMutation } from "./useDeleteUserMutation"; // useReauthenticateWithRedirectMutation export { useReloadMutation } from "./useReloadMutation"; // useSendEmailVerificationMutation +export { useSendEmailVerificationMutation } from "./useSendEmailVerificationMutation"; // useUnlinkMutation // useUpdateEmailMutation // useUpdatePasswordMutation diff --git a/packages/react/src/auth/useSendEmailVerificationMutation.test.tsx b/packages/react/src/auth/useSendEmailVerificationMutation.test.tsx new file mode 100644 index 00000000..e69de29b diff --git a/packages/react/src/auth/useSendEmailVerificationMutation.ts b/packages/react/src/auth/useSendEmailVerificationMutation.ts new file mode 100644 index 00000000..11f85400 --- /dev/null +++ b/packages/react/src/auth/useSendEmailVerificationMutation.ts @@ -0,0 +1,26 @@ +import { useMutation, type UseMutationOptions } from "@tanstack/react-query"; +import { + type ActionCodeSettings, + type AuthError, + sendEmailVerification, + type User, +} from "firebase/auth"; + +type AuthMutationOptions< + TData = unknown, + TError = Error, + TVariables = void +> = Omit, "mutationFn"> & { + actionCodeSettings?: ActionCodeSettings | null; +}; + +export function useSendEmailVerificationMutation( + user: User, + options?: AuthMutationOptions +) { + return useMutation({ + ...options, + mutationFn: (actionCodeSettings?: ActionCodeSettings | null) => + sendEmailVerification(user, actionCodeSettings), + }); +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de116c21..4c4766a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: dataconnect-sdk/js/default-connector: dependencies: firebase: - specifier: ^11.1.0 + specifier: ^10.14.0 || ^11.0.0 version: 11.1.0 examples/react-example: @@ -103,10 +103,10 @@ importers: packages/react: dependencies: '@tanstack/react-query': - specifier: ^5.55.4 + specifier: ^5 version: 5.56.2(react@19.0.0) firebase: - specifier: ^11.1.0 + specifier: ^11 version: 11.1.0 devDependencies: '@dataconnect/default-connector':