@entropy-softworks/ui 2026.9.9 → 2026.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/screens/auth/AuthPage.d.ts +33 -0
- package/lib/screens/auth/AuthPage.d.ts.map +1 -0
- package/lib/screens/auth/AuthPage.jsx +55 -0
- package/lib/screens/auth/AuthPage.jsx.map +1 -0
- package/lib/screens/auth/MfaEnrollScreen.d.ts +4 -1
- package/lib/screens/auth/MfaEnrollScreen.d.ts.map +1 -1
- package/lib/screens/auth/MfaEnrollScreen.jsx +85 -124
- package/lib/screens/auth/MfaEnrollScreen.jsx.map +1 -1
- package/lib/screens/auth/VerifyEmailScreen.d.ts +6 -1
- package/lib/screens/auth/VerifyEmailScreen.d.ts.map +1 -1
- package/lib/screens/auth/VerifyEmailScreen.jsx +22 -50
- package/lib/screens/auth/VerifyEmailScreen.jsx.map +1 -1
- package/lib/screens/auth/index.d.ts +5 -4
- package/lib/screens/auth/index.d.ts.map +1 -1
- package/lib/screens/auth/index.js +4 -3
- package/lib/screens/auth/index.js.map +1 -1
- package/package.json +1 -1
- package/src/screens/auth/AuthPage.tsx +128 -0
- package/src/screens/auth/MfaEnrollScreen.tsx +191 -232
- package/src/screens/auth/VerifyEmailScreen.tsx +83 -106
- package/src/screens/auth/index.ts +5 -14
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Which shape an auth screen takes.
|
|
4
|
+
*
|
|
5
|
+
* `card` is a dialog floated in the middle of the viewport: a title, a
|
|
6
|
+
* description, the content and the actions, all inside a bordered panel. It is
|
|
7
|
+
* right on a desktop portal and it is what every consumer of these screens has
|
|
8
|
+
* always had.
|
|
9
|
+
*
|
|
10
|
+
* `screen` is the phone shape — heading at the top, content filling the space
|
|
11
|
+
* below it, actions at the bottom, no panel. A card on a phone is a panel
|
|
12
|
+
* floated over nothing, with its own padding inside the screen's padding, and
|
|
13
|
+
* next to a flow built the other way it reads as something from another app.
|
|
14
|
+
*
|
|
15
|
+
* The default stays `card` so nothing changes for anyone who does not ask.
|
|
16
|
+
*/
|
|
17
|
+
export type AuthPageLayout = "card" | "screen";
|
|
18
|
+
export interface AuthPageProps {
|
|
19
|
+
layout?: AuthPageLayout;
|
|
20
|
+
title: string;
|
|
21
|
+
subtitle?: string | null;
|
|
22
|
+
/** Drawn above the title in the card layout, and nowhere in the screen one. */
|
|
23
|
+
icon?: React.ReactNode;
|
|
24
|
+
/** Top-left of the page, outside the content — a sign-out control, usually. */
|
|
25
|
+
corner?: React.ReactNode;
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
footer?: React.ReactNode;
|
|
28
|
+
/** Card width. Ignored by the screen layout, which has the whole width. */
|
|
29
|
+
maxWidth?: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function AuthPage({ layout, title, subtitle, icon, corner, children, footer, maxWidth, }: AuthPageProps): React.JSX.Element;
|
|
32
|
+
export default AuthPage;
|
|
33
|
+
//# sourceMappingURL=AuthPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthPage.d.ts","sourceRoot":"","sources":["../../../src/screens/auth/AuthPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EACvB,MAAe,EACf,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,QAAc,GACf,EAAE,aAAa,qBAsEf;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ScrollView, View } from "react-native";
|
|
3
|
+
import { SafeAreaView } from "react-native-safe-area-context";
|
|
4
|
+
import { StatusBar } from "expo-status-bar";
|
|
5
|
+
import { useColorScheme } from "nativewind";
|
|
6
|
+
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "../../components/card";
|
|
7
|
+
import { Heading, MutedText } from "../../components/text";
|
|
8
|
+
export function AuthPage({ layout = "card", title, subtitle, icon, corner, children, footer, maxWidth = 440, }) {
|
|
9
|
+
const { colorScheme } = useColorScheme();
|
|
10
|
+
const isDark = colorScheme === "dark";
|
|
11
|
+
if (layout === "screen") {
|
|
12
|
+
return (<SafeAreaView className="flex-1 bg-background dark:bg-black">
|
|
13
|
+
<StatusBar style={isDark ? "light" : "dark"}/>
|
|
14
|
+
<ScrollView className="flex-1" contentContainerStyle={{ flexGrow: 1 }} keyboardShouldPersistTaps="handled">
|
|
15
|
+
<View className="flex-1 px-6 pb-10 pt-4">
|
|
16
|
+
{/* The corner control sits in the 40px above the heading rather
|
|
17
|
+
than absolutely over the content, which is where the card
|
|
18
|
+
layout puts it. Same row every screen in the flow leaves for a
|
|
19
|
+
back control, so the headings all land in the same place. */}
|
|
20
|
+
<View className="mb-4 h-10 flex-row items-center">{corner}</View>
|
|
21
|
+
|
|
22
|
+
<Heading className="text-3xl" numberOfLines={1} adjustsFontSizeToFit minimumFontScale={0.7}>
|
|
23
|
+
{title}
|
|
24
|
+
</Heading>
|
|
25
|
+
{subtitle ? (<MutedText className="mt-2 text-base leading-6">{subtitle}</MutedText>) : null}
|
|
26
|
+
|
|
27
|
+
<View className="flex-1 pt-6">{children}</View>
|
|
28
|
+
{footer ? <View className="gap-2 pt-6">{footer}</View> : null}
|
|
29
|
+
</View>
|
|
30
|
+
</ScrollView>
|
|
31
|
+
</SafeAreaView>);
|
|
32
|
+
}
|
|
33
|
+
return (<SafeAreaView className="flex-1 bg-background dark:bg-black">
|
|
34
|
+
<StatusBar style={isDark ? "light" : "dark"}/>
|
|
35
|
+
<ScrollView className="flex-1" contentContainerClassName="flex-1 items-center justify-center p-6" keyboardShouldPersistTaps="handled">
|
|
36
|
+
{corner ? <View className="absolute left-6 top-4 mt-4 self-start">{corner}</View> : null}
|
|
37
|
+
|
|
38
|
+
<Card className="w-full" style={{ maxWidth }}>
|
|
39
|
+
<CardHeader className="items-center">
|
|
40
|
+
{icon}
|
|
41
|
+
<CardTitle className="text-center text-2xl">{title}</CardTitle>
|
|
42
|
+
{subtitle ? (<CardDescription className="text-center text-base">{subtitle}</CardDescription>) : null}
|
|
43
|
+
</CardHeader>
|
|
44
|
+
|
|
45
|
+
<CardContent className="gap-4 pb-3">{children}</CardContent>
|
|
46
|
+
|
|
47
|
+
{footer ? (<CardFooter className="flex-col items-stretch gap-1 border-t-0 pt-0">
|
|
48
|
+
{footer}
|
|
49
|
+
</CardFooter>) : null}
|
|
50
|
+
</Card>
|
|
51
|
+
</ScrollView>
|
|
52
|
+
</SafeAreaView>);
|
|
53
|
+
}
|
|
54
|
+
export default AuthPage;
|
|
55
|
+
//# sourceMappingURL=AuthPage.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthPage.jsx","sourceRoot":"","sources":["../../../src/screens/auth/AuthPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { type AuthPageLayout } from "./AuthPage";
|
|
2
3
|
export interface MfaEnrollScreenProps {
|
|
3
4
|
/**
|
|
4
5
|
* Optional promo widget rendered on the prompt step (vault advertises
|
|
@@ -6,7 +7,9 @@ export interface MfaEnrollScreenProps {
|
|
|
6
7
|
* nothing in that slot.
|
|
7
8
|
*/
|
|
8
9
|
authenticatorAppPromo?: React.ReactNode;
|
|
10
|
+
/** See `AuthPageLayout`. Defaults to the card, as it always was. */
|
|
11
|
+
layout?: AuthPageLayout;
|
|
9
12
|
}
|
|
10
|
-
export declare function MfaEnrollScreen({ authenticatorAppPromo }?: MfaEnrollScreenProps): React.JSX.Element;
|
|
13
|
+
export declare function MfaEnrollScreen({ authenticatorAppPromo, layout }?: MfaEnrollScreenProps): React.JSX.Element;
|
|
11
14
|
export default MfaEnrollScreen;
|
|
12
15
|
//# sourceMappingURL=MfaEnrollScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MfaEnrollScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/auth/MfaEnrollScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MfaEnrollScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/auth/MfaEnrollScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAkB3D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxC,oEAAoE;IACpE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAE,oBAAyB,qBA8T3F;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useRef, useState } from "react";
|
|
2
|
-
import { Pressable,
|
|
3
|
-
import { SafeAreaView } from "react-native-safe-area-context";
|
|
2
|
+
import { Pressable, View } from "react-native";
|
|
4
3
|
import { useNavigation } from "../../context/NavigationContext";
|
|
5
|
-
import { StatusBar } from "expo-status-bar";
|
|
6
4
|
import { Ionicons } from "@expo/vector-icons";
|
|
7
5
|
import { useColorScheme } from "nativewind";
|
|
8
6
|
import * as Haptics from "expo-haptics";
|
|
@@ -11,7 +9,6 @@ import QRCode from "react-native-qrcode-svg";
|
|
|
11
9
|
import Toast from "react-native-toast-message";
|
|
12
10
|
import { MonoText, MutedText } from "../../components/text";
|
|
13
11
|
import { Button } from "../../components/button";
|
|
14
|
-
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "../../components/card";
|
|
15
12
|
import { withClickTracking } from "../../services/telemetry";
|
|
16
13
|
import { Input } from "../../components/input";
|
|
17
14
|
import { Separator } from "../../components/separator";
|
|
@@ -19,7 +16,8 @@ import AuthService from "../../services/auth.service";
|
|
|
19
16
|
import { useAuth } from "../../hooks/useAuth";
|
|
20
17
|
import { useAppConfig } from "../../context/AppConfigContext";
|
|
21
18
|
import { getErrorMessage } from "../../utils/error";
|
|
22
|
-
|
|
19
|
+
import { AuthPage } from "./AuthPage";
|
|
20
|
+
export function MfaEnrollScreen({ authenticatorAppPromo, layout } = {}) {
|
|
23
21
|
const { refreshUser } = useAuth();
|
|
24
22
|
const { colorScheme } = useColorScheme();
|
|
25
23
|
const isDark = colorScheme === "dark";
|
|
@@ -130,139 +128,102 @@ export function MfaEnrollScreen({ authenticatorAppPromo } = {}) {
|
|
|
130
128
|
});
|
|
131
129
|
}
|
|
132
130
|
};
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
131
|
+
/**
|
|
132
|
+
* What the page says, per step.
|
|
133
|
+
*
|
|
134
|
+
* Held here rather than inline because the frame below takes one title and
|
|
135
|
+
* one subtitle, and three branches each rendering their own header is what
|
|
136
|
+
* made this screen three screens wearing the same card.
|
|
137
|
+
*/
|
|
138
|
+
const page = step === "prompt"
|
|
139
|
+
? {
|
|
140
|
+
title: "Secure your account",
|
|
141
|
+
subtitle: "Two-factor authentication asks for a code from an authenticator app as well as your password.",
|
|
142
|
+
}
|
|
143
|
+
: step === "setup"
|
|
144
|
+
? {
|
|
145
|
+
title: "Scan the QR code",
|
|
146
|
+
subtitle: "Open your authenticator app and scan this, or enter the key by hand.",
|
|
147
|
+
}
|
|
148
|
+
: { title: "MFA is on", subtitle: "Save these recovery codes somewhere safe." };
|
|
149
|
+
return (<AuthPage layout={layout} title={page.title} subtitle={page.subtitle} icon={step === "setup" ? null : (<View className="mb-3 h-16 w-16 items-center justify-center rounded-full bg-secondary dark:bg-neutral-800">
|
|
150
|
+
<Ionicons name={step === "prompt" ? "shield-checkmark-outline" : "shield-checkmark"} size={32} color={isDark ? "#FFFFFF" : "#000000"}/>
|
|
151
|
+
</View>)} maxWidth={400} footer={step === "prompt" ? (<>
|
|
152
|
+
<Button className="w-full" telemetryId="auth.mfa_enroll.start_setup" onPress={handleStartSetup} isLoading={isLoading} accessibilityLabel="Enable MFA" accessibilityRole="button">
|
|
153
|
+
Enable MFA
|
|
154
|
+
</Button>
|
|
155
|
+
<Button variant="ghost" className="w-full" telemetryId="auth.mfa_enroll.skip" onPress={handleSkip} accessibilityLabel="Skip for now" accessibilityRole="button">
|
|
156
|
+
Skip for now
|
|
157
|
+
</Button>
|
|
158
|
+
</>) : step === "setup" ? (<>
|
|
159
|
+
<Button className="w-full" telemetryId="auth.mfa_enroll.verify_code" onPress={handleVerifyCode} isLoading={isLoading} disabled={code.length !== 6} accessibilityLabel="Verify and enable MFA" accessibilityRole="button">
|
|
160
|
+
Verify & Enable
|
|
161
|
+
</Button>
|
|
162
|
+
<Button variant="ghost" className="w-full" telemetryId="auth.mfa_enroll.skip_2" onPress={handleSkip} accessibilityLabel="Skip for now" accessibilityRole="button">
|
|
163
|
+
Skip for now
|
|
164
|
+
</Button>
|
|
165
|
+
</>) : (<Button className="w-full" telemetryId="auth.mfa_enroll.finish" onPress={handleFinish} accessibilityLabel={`Continue to ${appName}`} accessibilityRole="button">
|
|
166
|
+
Continue to {appName}
|
|
167
|
+
</Button>)}>
|
|
168
|
+
{step === "prompt" ? authenticatorAppPromo : null}
|
|
169
169
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
Scan with your authenticator app
|
|
177
|
-
</MutedText>
|
|
178
|
-
</View>
|
|
170
|
+
{step === "setup" && setupData ? (<>
|
|
171
|
+
<View className="items-center">
|
|
172
|
+
<View className="rounded-xl bg-white p-4">
|
|
173
|
+
<QRCode value={setupData.uri} size={200} backgroundColor="#FFFFFF" color="#000000"/>
|
|
174
|
+
</View>
|
|
175
|
+
</View>
|
|
179
176
|
|
|
180
|
-
|
|
177
|
+
<Separator />
|
|
181
178
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
179
|
+
<View>
|
|
180
|
+
<MutedText className="mb-2 text-center text-xs font-medium">
|
|
181
|
+
Can't scan? Enter the key by hand
|
|
182
|
+
</MutedText>
|
|
183
|
+
<Pressable onPress={withClickTracking("auth.mfa_enroll.copy_to_clipboard", () => copyToClipboard(setupData.secret, "Secret"))} className="rounded-lg bg-secondary p-3 active:opacity-70 dark:bg-neutral-800" accessibilityRole="button" accessibilityLabel="Copy secret key" accessibilityHint="Double tap to copy the secret key to clipboard">
|
|
184
|
+
<MonoText className="text-center text-base font-bold tracking-widest">
|
|
185
|
+
{setupData.secret}
|
|
186
|
+
</MonoText>
|
|
187
|
+
</Pressable>
|
|
188
|
+
<MutedText className="mt-1 text-center text-xs">Tap to copy</MutedText>
|
|
189
|
+
</View>
|
|
193
190
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
<Pressable onPress={withClickTracking("auth.mfa_enroll.copy_to_clipboard_2", () => copyToClipboard(setupData.uri, "URI"))} className="rounded-lg bg-secondary px-3 py-2 active:opacity-70 dark:bg-neutral-800" accessibilityRole="button" accessibilityLabel="Copy full OTP URI">
|
|
192
|
+
<MutedText className="text-center text-xs">Copy full OTP URI</MutedText>
|
|
193
|
+
</Pressable>
|
|
197
194
|
|
|
198
|
-
|
|
195
|
+
<Separator />
|
|
199
196
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
197
|
+
<View>
|
|
198
|
+
<MutedText className="mb-1.5 text-center text-xs font-medium">
|
|
199
|
+
Enter the 6-digit code from your authenticator
|
|
200
|
+
</MutedText>
|
|
201
|
+
<Input value={code} onChangeText={(text) => {
|
|
205
202
|
setCode(text.replace(/[^0-9]/g, "").slice(0, 6));
|
|
206
203
|
if (error) {
|
|
207
204
|
setError("");
|
|
208
205
|
}
|
|
209
206
|
}} error={error} placeholder="000000" keyboardType="number-pad" className="text-center font-mono text-xl tracking-widest" returnKeyType="done" onSubmitEditing={handleVerifyCode} accessibilityLabel="Authenticator code"/>
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
<CardFooter className="flex-col items-stretch gap-3 border-t-0">
|
|
214
|
-
<Button className="w-full" telemetryId="auth.mfa_enroll.verify_code" onPress={handleVerifyCode} isLoading={isLoading} disabled={code.length !== 6} accessibilityLabel="Verify and enable MFA" accessibilityRole="button">
|
|
215
|
-
Verify & Enable
|
|
216
|
-
</Button>
|
|
217
|
-
<Button variant="ghost" className="w-full" telemetryId="auth.mfa_enroll.skip_2" onPress={handleSkip} accessibilityLabel="Skip for now" accessibilityRole="button">
|
|
218
|
-
Skip for now
|
|
219
|
-
</Button>
|
|
220
|
-
</CardFooter>
|
|
221
|
-
</>) : null}
|
|
222
|
-
|
|
223
|
-
{step === "recovery" && setupData ? (<>
|
|
224
|
-
<CardHeader className="items-center">
|
|
225
|
-
<View className="mb-3 h-16 w-16 items-center justify-center rounded-full bg-secondary dark:bg-neutral-800">
|
|
226
|
-
<Ionicons name="shield-checkmark" size={32} color={isDark ? "#FFFFFF" : "#000000"}/>
|
|
227
|
-
</View>
|
|
228
|
-
<CardTitle className="text-center">MFA enabled!</CardTitle>
|
|
229
|
-
<CardDescription className="text-center">
|
|
230
|
-
Save these recovery codes in a safe place. You'll need them to access your
|
|
231
|
-
account if you lose your authenticator device.
|
|
232
|
-
</CardDescription>
|
|
233
|
-
</CardHeader>
|
|
234
|
-
|
|
235
|
-
<CardContent className="gap-3">
|
|
236
|
-
<View className="rounded-lg border border-border bg-secondary p-4 dark:border-neutral-700 dark:bg-neutral-800">
|
|
237
|
-
{setupData.recovery_codes.map((rc) => (<MonoText key={rc} className="text-center text-sm leading-6">
|
|
238
|
-
{rc}
|
|
239
|
-
</MonoText>))}
|
|
240
|
-
</View>
|
|
207
|
+
</View>
|
|
208
|
+
</>) : null}
|
|
241
209
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
210
|
+
{step === "recovery" && setupData ? (<>
|
|
211
|
+
<View className="rounded-lg bg-secondary p-4 dark:bg-neutral-800">
|
|
212
|
+
{setupData.recovery_codes.map((rc) => (<MonoText key={rc} className="text-center text-sm leading-6">
|
|
213
|
+
{rc}
|
|
214
|
+
</MonoText>))}
|
|
215
|
+
</View>
|
|
245
216
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
<MutedText className="flex-1 text-xs leading-4">
|
|
250
|
-
Each code can only be used once. Store them securely — they cannot be
|
|
251
|
-
recovered if lost.
|
|
252
|
-
</MutedText>
|
|
253
|
-
</View>
|
|
254
|
-
</View>
|
|
255
|
-
</CardContent>
|
|
217
|
+
<Button variant="outline" className="w-full" telemetryId="auth.mfa_enroll.copy_to_clipboard_3" onPress={() => copyToClipboard(setupData.recovery_codes.join("\n"), "Recovery codes")} accessibilityLabel="Copy all recovery codes" accessibilityRole="button">
|
|
218
|
+
{copied === "Recovery codes" ? "Copied!" : "Copy all codes"}
|
|
219
|
+
</Button>
|
|
256
220
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
</Card>
|
|
264
|
-
</ScrollView>
|
|
265
|
-
</SafeAreaView>);
|
|
221
|
+
<View className="flex-row items-start gap-2 rounded-lg bg-secondary p-3 dark:bg-neutral-800">
|
|
222
|
+
<Ionicons name="warning-outline" size={16} color={isDark ? "#F59E0B" : "#D97706"}/>
|
|
223
|
+
<MutedText className="flex-1 text-xs leading-4">Each code works once.</MutedText>
|
|
224
|
+
</View>
|
|
225
|
+
</>) : null}
|
|
226
|
+
</AuthPage>);
|
|
266
227
|
}
|
|
267
228
|
export default MfaEnrollScreen;
|
|
268
229
|
//# sourceMappingURL=MfaEnrollScreen.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MfaEnrollScreen.jsx","sourceRoot":"","sources":["../../../src/screens/auth/MfaEnrollScreen.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MfaEnrollScreen.jsx","sourceRoot":"","sources":["../../../src/screens/auth/MfaEnrollScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,KAAK,MAAM,4BAA4B,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAuB,MAAM,YAAY,CAAC;AAe3D,MAAM,UAAU,eAAe,CAAC,EAAE,qBAAqB,EAAE,MAAM,KAA2B,EAAE;IAC1F,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAE3C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAIhC,IAAI,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GAAG,MAAM,CAAgC,SAAS,CAAC,CAAC;IAE7E,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,kEAAkE;IAClE,8DAA8D;IAC9D,+DAA+D;IAC/D,4DAA4D;IAC5D,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO;QACT,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5C,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,2BAA2B,CAAC;gBACtD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,QAAQ,CAAC,oDAAoD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,uDAAuD,CAAC,CAAC,CAAC;YACtF,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,WAAW,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,+DAA+D;gBACtE,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBAC/C,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,MAAM,WAAW,CAAC,kBAAkB,EAAE,CAAC;YACvC,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,gBAAgB,CAAC;gBAC3C,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,IAAI,GACR,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC;YACE,KAAK,EAAE,qBAAqB;YAC5B,QAAQ,EACN,+FAA+F;SAClG;QACH,CAAC,CAAC,IAAI,KAAK,OAAO;YAChB,CAAC,CAAC;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,sEAAsE;aACjF;YACH,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,2CAA2C,EAAE,CAAC;IAEtF,OAAO,CACL,CAAC,QAAQ,CACP,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,CACH,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,CAAC,IAAI,CAAC,SAAS,CAAC,0FAA0F,CACxG;YAAA,CAAC,QAAQ,CACP,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAC1E,IAAI,CAAC,CAAC,EAAE,CAAC,CACT,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EAE1C;UAAA,EAAE,IAAI,CAAC,CAEX,CAAC,CACD,QAAQ,CAAC,CAAC,GAAG,CAAC,CACd,MAAM,CAAC,CACL,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClB,EACE;YAAA,CAAC,MAAM,CACL,SAAS,CAAC,QAAQ,CAClB,WAAW,CAAC,6BAA6B,CACzC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAC1B,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,kBAAkB,CAAC,YAAY,CAC/B,iBAAiB,CAAC,QAAQ,CAE1B;;YACF,EAAE,MAAM,CACR;YAAA,CAAC,MAAM,CACL,OAAO,CAAC,OAAO,CACf,SAAS,CAAC,QAAQ,CAClB,WAAW,CAAC,sBAAsB,CAClC,OAAO,CAAC,CAAC,UAAU,CAAC,CACpB,kBAAkB,CAAC,cAAc,CACjC,iBAAiB,CAAC,QAAQ,CAE1B;;YACF,EAAE,MAAM,CACV;UAAA,GAAG,CACJ,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CACrB,EACE;YAAA,CAAC,MAAM,CACL,SAAS,CAAC,QAAQ,CAClB,WAAW,CAAC,6BAA6B,CACzC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAC1B,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAC5B,kBAAkB,CAAC,uBAAuB,CAC1C,iBAAiB,CAAC,QAAQ,CAE1B;;YACF,EAAE,MAAM,CACR;YAAA,CAAC,MAAM,CACL,OAAO,CAAC,OAAO,CACf,SAAS,CAAC,QAAQ,CAClB,WAAW,CAAC,wBAAwB,CACpC,OAAO,CAAC,CAAC,UAAU,CAAC,CACpB,kBAAkB,CAAC,cAAc,CACjC,iBAAiB,CAAC,QAAQ,CAE1B;;YACF,EAAE,MAAM,CACV;UAAA,GAAG,CACJ,CAAC,CAAC,CAAC,CACF,CAAC,MAAM,CACL,SAAS,CAAC,QAAQ,CAClB,WAAW,CAAC,wBAAwB,CACpC,OAAO,CAAC,CAAC,YAAY,CAAC,CACtB,kBAAkB,CAAC,CAAC,eAAe,OAAO,EAAE,CAAC,CAC7C,iBAAiB,CAAC,QAAQ,CAE1B;wBAAY,CAAC,OAAO,CACtB;UAAA,EAAE,MAAM,CAAC,CAEb,CAAC,CAED;MAAA,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAEjD;;MAAA,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAC/B,EACE;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAC5B;YAAA,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CACvC;cAAA,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EACpF;YAAA,EAAE,IAAI,CACR;UAAA,EAAE,IAAI,CAEN;;UAAA,CAAC,SAAS,CAAC,AAAD,EAEV;;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,SAAS,CAAC,SAAS,CAAC,sCAAsC,CACzD;;YACF,EAAE,SAAS,CACX;YAAA,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,iBAAiB,CAAC,mCAAmC,EAAE,GAAG,EAAE,CACnE,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC5C,CAAC,CACF,SAAS,CAAC,mEAAmE,CAC7E,iBAAiB,CAAC,QAAQ,CAC1B,kBAAkB,CAAC,iBAAiB,CACpC,iBAAiB,CAAC,gDAAgD,CAElE;cAAA,CAAC,QAAQ,CAAC,SAAS,CAAC,iDAAiD,CACnE;gBAAA,CAAC,SAAS,CAAC,MAAM,CACnB;cAAA,EAAE,QAAQ,CACZ;YAAA,EAAE,SAAS,CACX;YAAA,CAAC,SAAS,CAAC,SAAS,CAAC,0BAA0B,CAAC,WAAW,EAAE,SAAS,CACxE;UAAA,EAAE,IAAI,CAEN;;UAAA,CAAC,SAAS,CACR,OAAO,CAAC,CAAC,iBAAiB,CAAC,qCAAqC,EAAE,GAAG,EAAE,CACrE,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CACtC,CAAC,CACF,SAAS,CAAC,yEAAyE,CACnF,iBAAiB,CAAC,QAAQ,CAC1B,kBAAkB,CAAC,mBAAmB,CAEtC;YAAA,CAAC,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CACzE;UAAA,EAAE,SAAS,CAEX;;UAAA,CAAC,SAAS,CAAC,AAAD,EAEV;;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,SAAS,CAAC,SAAS,CAAC,wCAAwC,CAC3D;;YACF,EAAE,SAAS,CACX;YAAA,CAAC,KAAK,CACJ,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CACF,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,WAAW,CAAC,QAAQ,CACpB,YAAY,CAAC,YAAY,CACzB,SAAS,CAAC,+CAA+C,CACzD,aAAa,CAAC,MAAM,CACpB,eAAe,CAAC,CAAC,gBAAgB,CAAC,CAClC,kBAAkB,CAAC,oBAAoB,EAE3C;UAAA,EAAE,IAAI,CACR;QAAA,GAAG,CACJ,CAAC,CAAC,CAAC,IAAI,CAER;;MAAA,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAClC,EACE;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC,iDAAiD,CAC/D;YAAA,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACpC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAC1D;gBAAA,CAAC,EAAE,CACL;cAAA,EAAE,QAAQ,CAAC,CACZ,CAAC,CACJ;UAAA,EAAE,IAAI,CAEN;;UAAA,CAAC,MAAM,CACL,OAAO,CAAC,SAAS,CACjB,SAAS,CAAC,QAAQ,CAClB,WAAW,CAAC,qCAAqC,CACjD,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC,CACtF,kBAAkB,CAAC,yBAAyB,CAC5C,iBAAiB,CAAC,QAAQ,CAE1B;YAAA,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAC7D;UAAA,EAAE,MAAM,CAER;;UAAA,CAAC,IAAI,CAAC,SAAS,CAAC,4EAA4E,CAC1F;YAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,EACjF;YAAA,CAAC,SAAS,CAAC,SAAS,CAAC,0BAA0B,CAAC,qBAAqB,EAAE,SAAS,CAClF;UAAA,EAAE,IAAI,CACR;QAAA,GAAG,CACJ,CAAC,CAAC,CAAC,IAAI,CACV;IAAA,EAAE,QAAQ,CAAC,CACZ,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { type AuthPageLayout } from "./AuthPage";
|
|
3
|
+
export interface VerifyEmailScreenProps {
|
|
4
|
+
/** See `AuthPageLayout`. Defaults to the card, as it always was. */
|
|
5
|
+
layout?: AuthPageLayout;
|
|
6
|
+
}
|
|
7
|
+
export declare function VerifyEmailScreen({ layout }?: VerifyEmailScreenProps): React.JSX.Element;
|
|
3
8
|
export default VerifyEmailScreen;
|
|
4
9
|
//# sourceMappingURL=VerifyEmailScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerifyEmailScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/auth/VerifyEmailScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VerifyEmailScreen.d.ts","sourceRoot":"","sources":["../../../src/screens/auth/VerifyEmailScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAgBxE,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAE,sBAA2B,qBA+QxE;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
-
import { Platform
|
|
3
|
-
import { SafeAreaView } from "react-native-safe-area-context";
|
|
2
|
+
import { Platform } from "react-native";
|
|
4
3
|
import { useLocalSearchParams } from "expo-router";
|
|
5
4
|
import { useNavigation } from "../../context/NavigationContext";
|
|
6
|
-
import { StatusBar } from "expo-status-bar";
|
|
7
5
|
import { Ionicons } from "@expo/vector-icons";
|
|
8
6
|
import { useColorScheme } from "nativewind";
|
|
9
7
|
import * as Haptics from "expo-haptics";
|
|
10
8
|
import Toast from "react-native-toast-message";
|
|
11
9
|
import { MutedText, Text } from "../../components/text";
|
|
12
10
|
import { Button, IconButton } from "../../components/button";
|
|
13
|
-
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "../../components/card";
|
|
14
11
|
import { withClickTracking } from "../../services/telemetry";
|
|
15
12
|
import { Input } from "../../components/input";
|
|
16
13
|
import AuthService from "../../services/auth.service";
|
|
17
14
|
import { useAuth } from "../../hooks/useAuth";
|
|
18
15
|
import { useAppConfig } from "../../context/AppConfigContext";
|
|
19
16
|
import { getErrorMessage } from "../../utils/error";
|
|
20
|
-
|
|
17
|
+
import { AuthPage } from "./AuthPage";
|
|
18
|
+
export function VerifyEmailScreen({ layout } = {}) {
|
|
21
19
|
const { refreshUser, logout, user } = useAuth();
|
|
22
20
|
const { routes } = useAppConfig();
|
|
23
21
|
const router = useNavigation();
|
|
@@ -200,57 +198,31 @@ export function VerifyEmailScreen() {
|
|
|
200
198
|
});
|
|
201
199
|
}
|
|
202
200
|
};
|
|
203
|
-
return (<
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
</IconButton>
|
|
210
|
-
</View>
|
|
201
|
+
return (<AuthPage layout={layout} title="Verify your email" subtitle={`Enter the verification code sent to ${params.email || "your email"}`} corner={<IconButton variant="ghost" telemetryId="auth.verify_email.logout" onPress={() => logout()} accessibilityLabel="Sign out" accessibilityRole="button">
|
|
202
|
+
<Ionicons name="log-out-outline" size={24} color={isDark ? "#FFFFFF" : "#000000"}/>
|
|
203
|
+
</IconButton>} footer={<>
|
|
204
|
+
<Button className="h-14 w-full" telemetryId="auth.verify_email.verify" onPress={handleVerify} isLoading={isLoading} accessibilityLabel="Continue" accessibilityRole="button" accessibilityHint="Double tap to verify your email" testID="verify-submit">
|
|
205
|
+
Continue
|
|
206
|
+
</Button>
|
|
211
207
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
</CardDescription>
|
|
218
|
-
</CardHeader>
|
|
219
|
-
|
|
220
|
-
<CardContent className="gap-4 pb-3">
|
|
221
|
-
<Input label="Verification Code" labelClassName="text-base" className="h-14" value={code} onChangeText={(text) => {
|
|
208
|
+
<Button variant="ghost" className="w-full" telemetryId="auth.verify_email.logout_2" onPress={() => logout()} accessibilityLabel="Sign out" accessibilityRole="button">
|
|
209
|
+
Sign Out
|
|
210
|
+
</Button>
|
|
211
|
+
</>}>
|
|
212
|
+
<Input label="Verification Code" labelClassName="text-base" className="h-14" value={code} onChangeText={(text) => {
|
|
222
213
|
setCode(text);
|
|
223
214
|
if (error) {
|
|
224
215
|
setError("");
|
|
225
216
|
}
|
|
226
|
-
}} error={error} placeholder="
|
|
227
|
-
|
|
228
|
-
<MutedText className="text-center text-base">
|
|
229
|
-
Didn't receive the code?{" "}
|
|
230
|
-
{resendCooldown > 0 ? (<Text className="text-base text-foreground">Resend ({resendCooldown})</Text>) : (<Text className="text-base text-foreground underline" onPress={withClickTracking("auth.verify_email.resend", handleResend)} accessibilityRole="button" accessibilityLabel="Resend verification code">
|
|
231
|
-
Resend
|
|
232
|
-
</Text>)}
|
|
233
|
-
</MutedText>
|
|
234
|
-
</CardContent>
|
|
235
|
-
|
|
236
|
-
{/* `items-stretch`, like every other stacked footer in this package.
|
|
237
|
-
`CardFooter` defaults to `flex-row items-center`, and turning it
|
|
238
|
-
into a column leaves the centring behind — so a `w-full` child
|
|
239
|
-
resolves its percentage against a parent that is itself sizing to
|
|
240
|
-
its content. On Android that measured out wide, with the label
|
|
241
|
-
sitting in one half of a button twice the width it asked for. */}
|
|
242
|
-
<CardFooter className="flex-col items-stretch gap-1 border-t-0 pt-0">
|
|
243
|
-
<Button className="h-14 w-full" telemetryId="auth.verify_email.verify" onPress={handleVerify} isLoading={isLoading} accessibilityLabel="Continue" accessibilityRole="button" accessibilityHint="Double tap to verify your email" testID="verify-submit">
|
|
244
|
-
Continue
|
|
245
|
-
</Button>
|
|
217
|
+
}} error={error} placeholder="Enter the 6-digit code" autoCapitalize="none" keyboardType="number-pad" autoFocus returnKeyType="done" onSubmitEditing={handleVerify} accessibilityLabel="Verification code" testID="verify-code-input"/>
|
|
246
218
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
</
|
|
253
|
-
</
|
|
219
|
+
<MutedText className="text-center text-base">
|
|
220
|
+
Didn't receive the code?{" "}
|
|
221
|
+
{resendCooldown > 0 ? (<Text className="text-base text-foreground">Resend ({resendCooldown})</Text>) : (<Text className="text-base text-foreground underline" onPress={withClickTracking("auth.verify_email.resend", handleResend)} accessibilityRole="button" accessibilityLabel="Resend verification code">
|
|
222
|
+
Resend
|
|
223
|
+
</Text>)}
|
|
224
|
+
</MutedText>
|
|
225
|
+
</AuthPage>);
|
|
254
226
|
}
|
|
255
227
|
export default VerifyEmailScreen;
|
|
256
228
|
//# sourceMappingURL=VerifyEmailScreen.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerifyEmailScreen.jsx","sourceRoot":"","sources":["../../../src/screens/auth/VerifyEmailScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"VerifyEmailScreen.jsx","sourceRoot":"","sources":["../../../src/screens/auth/VerifyEmailScreen.tsx"],"names":[],"mappings":"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"}
|