QRMode.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { TwoFactorSecret } from "@ente/accounts/types/user";
  2. import EnteSpinner from "@ente/shared/components/EnteSpinner";
  3. import { t } from "i18next";
  4. import LinkButton from "@ente/shared/components/LinkButton";
  5. import { Typography } from "@mui/material";
  6. import { LoadingQRCode, QRCode } from "../styledComponents";
  7. interface Iprops {
  8. twoFactorSecret: TwoFactorSecret;
  9. changeToManualMode: () => void;
  10. }
  11. export default function SetupQRMode({
  12. twoFactorSecret,
  13. changeToManualMode,
  14. }: Iprops) {
  15. return (
  16. <>
  17. <Typography>{t("TWO_FACTOR_QR_INSTRUCTION")}</Typography>
  18. {!twoFactorSecret ? (
  19. <LoadingQRCode>
  20. <EnteSpinner />
  21. </LoadingQRCode>
  22. ) : (
  23. <QRCode
  24. src={`data:image/png;base64,${twoFactorSecret?.qrCode}`}
  25. />
  26. )}
  27. <LinkButton onClick={changeToManualMode}>
  28. {t("ENTER_CODE_MANUALLY")}
  29. </LinkButton>
  30. </>
  31. );
  32. }