Skip to content

Commit c87b558

Browse files
committed
feat(shadcn): added onsuccess to mfa assertion form
1 parent 615812d commit c87b558

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,23 @@
22

33
import { getTranslation } from "@invertase/firebaseui-core";
44
import { useUI } from "@invertase/firebaseui-react";
5-
import { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth";
5+
import {
6+
PhoneMultiFactorGenerator,
7+
TotpMultiFactorGenerator,
8+
type MultiFactorInfo,
9+
type UserCredential,
10+
} from "firebase/auth";
611
import { useEffect, useState, type ComponentProps } from "react";
712

813
import { SmsMultiFactorAssertionForm } from "@/components/sms-multi-factor-assertion-form";
914
import { TotpMultiFactorAssertionForm } from "@/components/totp-multi-factor-assertion-form";
1015
import { Button } from "@/components/ui/button";
1116

12-
export function MultiFactorAuthAssertionForm() {
17+
export type MultiFactorAuthAssertionFormProps = {
18+
onSuccess?: (credential: UserCredential) => void;
19+
};
20+
21+
export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAssertionFormProps) {
1322
const ui = useUI();
1423
const resolver = ui.multiFactorResolver;
1524
const mfaAssertionFactorPrompt = getTranslation(ui, "prompts", "mfaAssertionFactorPrompt");
@@ -31,11 +40,11 @@ export function MultiFactorAuthAssertionForm() {
3140

3241
if (hint) {
3342
if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) {
34-
return <SmsMultiFactorAssertionForm hint={hint} />;
43+
return <SmsMultiFactorAssertionForm hint={hint} onSuccess={onSuccess} />;
3544
}
3645

3746
if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) {
38-
return <TotpMultiFactorAssertionForm hint={hint} />;
47+
return <TotpMultiFactorAssertionForm hint={hint} onSuccess={onSuccess} />;
3948
}
4049
}
4150

packages/shadcn/src/components/multi-factor-auth-assertion-screen.test.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
1818
import { render, screen, cleanup } from "@testing-library/react";
1919
import { MultiFactorAuthAssertionScreen } from "./multi-factor-auth-assertion-screen";
2020
import { createMockUI } from "../../tests/utils";
21-
import { registerLocale } from "@firebase-ui/translations";
22-
import { FirebaseUIProvider } from "@firebase-ui/react";
21+
import { registerLocale } from "@invertase/firebaseui-translations";
22+
import { FirebaseUIProvider } from "@invertase/firebaseui-react";
2323

2424
vi.mock("./multi-factor-auth-assertion-form", () => ({
2525
MultiFactorAuthAssertionForm: ({ onSuccess }: { onSuccess?: (credential: any) => void }) => (

0 commit comments

Comments
 (0)