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;