import React, { ReactElement } from 'react'; import TwoFactorEmail from './TwoFactorEmailModal'; import TwoFactorPassword from './TwoFactorPasswordModal'; import TwoFactorTotp from './TwoFactorTotpModal'; export enum Method { TOTP = 'totp', EMAIL = 'email', PASSWORD = 'password', } export type OnConfirm = (code: string, method: Method) => void; type TwoFactorModalProps = { method: Method; onConfirm: OnConfirm; onClose: () => void; emailOrUsername: string; }; const TwoFactorModal = ({ method, onConfirm, onClose, emailOrUsername, }: TwoFactorModalProps): ReactElement => { if (method === Method.TOTP) { return ; } if (method === Method.EMAIL) { return ( ); } if (method === Method.PASSWORD) { return ; } throw new Error('Invalid Two Factor method'); }; export default TwoFactorModal;