151 lines
4.5 KiB
TypeScript
151 lines
4.5 KiB
TypeScript
// Metro module 14778 (f14779).
|
|
import _slicedToArray from "../../../../_bundle/_slicedToArray";
|
|
import { useState, useEffect, useCallback } from "react";
|
|
import { BACKUP_CODE_MIN_LENGTH, BACKUP_CODE_MAX_LENGTH } from "../../../../_bundle/finishMFACheck";
|
|
import { Text } from "../../../../design/components/Text/native/Text";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import useWideAuthView from "../../../auth/native/useWideAuthView";
|
|
import MfaOptionScreen from "./MfaOptionScreen";
|
|
import ClipboardCopyInput from "../components/ClipboardCopyInput";
|
|
import MFAButton from "../components/button";
|
|
const isValidClipboardCode = function isValidClipboardCode(a0) {
|
|
return a0.length >= BACKUP_CODE_MIN_LENGTH && a0.length <= BACKUP_CODE_MAX_LENGTH;
|
|
};
|
|
export default function BackupScreen(props) {
|
|
let c21336_0;
|
|
let env21335 = {};
|
|
const { mfaChallenge, finish } = props;
|
|
env21335[0] = finish;
|
|
env21335[1] = void 0;
|
|
env21335[2] = void 0;
|
|
env21335[3] = void 0;
|
|
env21335[4] = void 0;
|
|
env21335[5] = void 0;
|
|
env21335[6] = void 0;
|
|
env21335[7] = void 0;
|
|
env21335[8] = void 0;
|
|
const wideAuthView = useWideAuthView();
|
|
const r34 = _slicedToArray(useState(false), 2);
|
|
let disabled = r34[0];
|
|
env21335[1] = r34[1];
|
|
const r38 = _slicedToArray(useState(""), 2);
|
|
const r14 = r38[0];
|
|
env21335[2] = r14;
|
|
env21335[3] = r38[1];
|
|
const r42 = _slicedToArray(useState(void 0), 2);
|
|
const error = r42[0];
|
|
env21335[4] = r42[1];
|
|
const r46 = _slicedToArray(useState(false), 2);
|
|
const r16 = r46[0];
|
|
env21335[5] = r46[1];
|
|
const r50 = _slicedToArray(useState(10), 2);
|
|
const countdown = r50[0];
|
|
env21335[6] = countdown;
|
|
env21335[7] = r50[1];
|
|
useEffect(() => {
|
|
if (env21335[6] <= 0) {
|
|
return void 0;
|
|
}
|
|
let c27801_0 = setTimeout(() => {
|
|
(0, env21335[7])((a0) => a0 - 1);
|
|
}, 1000);
|
|
return () => clearTimeout(c27801_0);
|
|
}, [countdown]);
|
|
c21336_0 = void 0;
|
|
c21336_0 = async (data) => {
|
|
let message, c30770_4;
|
|
let c30770_5 = 0;
|
|
let c31734_0;
|
|
L10: {
|
|
try {
|
|
(0, env21335[4])(void 0);
|
|
(0, env21335[1])(true);
|
|
c30770_5 = 1;
|
|
await (0, env21335[0])({
|
|
mfaType: "backup",
|
|
data
|
|
});
|
|
(0, env21335[5])(true);
|
|
c30770_5 = 0;
|
|
(0, env21335[1])(false);
|
|
} catch ($e) {
|
|
const r26 = $e;
|
|
let r7 = r26;
|
|
c30770_4 = r26;
|
|
if (c30770_5 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r70 = c30770_4;
|
|
c30770_5 = 0;
|
|
c31734_0 = r70;
|
|
const r73 = env21335[4];
|
|
const r74 = c31734_0;
|
|
message = r74 == null ? void 0 : r74.body?.message;
|
|
if (message == null) {
|
|
message = c31734_0.message;
|
|
}
|
|
r73(message);
|
|
(0, env21335[1])(false);
|
|
break L10;
|
|
} catch (r66) {
|
|
r7 = r66;
|
|
c30770_4 = r66;
|
|
if (c30770_5 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
}
|
|
};
|
|
env21335[8] = useCallback(function() {
|
|
return c21336_0.apply(this, arguments);
|
|
}, [finish]);
|
|
const props2 = {
|
|
headerText: intl.string(t.B2T1HD),
|
|
subtitle: intl.string(t.c5J7O0),
|
|
input: <>
|
|
{[<Text {...countdown > 0 ? {
|
|
variant: "text-md/normal",
|
|
children: [intl.string(t.RRtlLg), intl.format(t.tsWkAE, {
|
|
countdown
|
|
})]
|
|
} : {
|
|
variant: "text-md/normal",
|
|
children: [intl.string(t.RRtlLg), intl.string(t.v3a6Pd)]
|
|
}} />, <ClipboardCopyInput label={intl.string(t["C/ZAw/"])} placeholder={intl.string(t.fZSi1D)} isValidClipboardCode={isValidClipboardCode} maxLength={BACKUP_CODE_MAX_LENGTH} onChangeCode={function onChangeCode(event) {
|
|
(0, env21335[3])(event);
|
|
(0, env21335[4])(void 0);
|
|
}} error={error} isDisabled={disabled ? disabled : r16} autoFocus={!wideAuthView} />]}
|
|
</>,
|
|
submit: null,
|
|
screenProps: null,
|
|
mfaMethod: "backup"
|
|
};
|
|
const props3 = {
|
|
variant: "primary",
|
|
text: intl.string(t.geKm7t),
|
|
loading: disabled ? disabled : r16,
|
|
onPress: () => (0, env21335[8])(env21335[2]),
|
|
disabled: null
|
|
};
|
|
if (!disabled) {
|
|
disabled = r16;
|
|
}
|
|
if (!disabled) {
|
|
disabled = r14.length < BACKUP_CODE_MIN_LENGTH;
|
|
}
|
|
if (!disabled) {
|
|
disabled = countdown > 0;
|
|
}
|
|
props3.disabled = disabled;
|
|
props2.submit = <MFAButton {...props3} />;
|
|
props2.screenProps = {
|
|
mfaChallenge,
|
|
finish
|
|
};
|
|
return <MfaOptionScreen {...props2} />;
|
|
};
|