index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. import SetupManualMode from "@ente/accounts/components/two-factor/setup/ManualMode";
  2. import SetupQRMode from "@ente/accounts/components/two-factor/setup/QRMode";
  3. import { SetupMode } from "@ente/accounts/pages/two-factor/setup";
  4. import { TwoFactorSecret } from "@ente/accounts/types/user";
  5. import { VerticallyCentered } from "@ente/shared/components/Container";
  6. import { useState } from "react";
  7. interface Iprops {
  8. twoFactorSecret: TwoFactorSecret;
  9. }
  10. export function TwoFactorSetup({ twoFactorSecret }: Iprops) {
  11. const [setupMode, setSetupMode] = useState<SetupMode>(SetupMode.QR_CODE);
  12. const changeToManualMode = () => setSetupMode(SetupMode.MANUAL_CODE);
  13. const changeToQRMode = () => setSetupMode(SetupMode.QR_CODE);
  14. return (
  15. <VerticallyCentered sx={{ mb: 3 }}>
  16. {setupMode === SetupMode.QR_CODE ? (
  17. <SetupQRMode
  18. twoFactorSecret={twoFactorSecret}
  19. changeToManualMode={changeToManualMode}
  20. />
  21. ) : (
  22. <SetupManualMode
  23. twoFactorSecret={twoFactorSecret}
  24. changeToQRMode={changeToQRMode}
  25. />
  26. )}
  27. </VerticallyCentered>
  28. );
  29. }