diff --git a/packages/core-mobile/app/assets/avatars/avatar-1.jpeg b/packages/core-mobile/app/assets/avatars/avatar-1.jpeg
new file mode 100644
index 0000000000..4a0d38d0fb
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-1.jpeg differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-2.jpeg b/packages/core-mobile/app/assets/avatars/avatar-2.jpeg
new file mode 100644
index 0000000000..b054d9ad3e
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-2.jpeg differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-3.jpeg b/packages/core-mobile/app/assets/avatars/avatar-3.jpeg
new file mode 100644
index 0000000000..ab3ed1be9e
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-3.jpeg differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-4.jpeg b/packages/core-mobile/app/assets/avatars/avatar-4.jpeg
new file mode 100644
index 0000000000..f1e63907bc
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-4.jpeg differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-5.jpeg b/packages/core-mobile/app/assets/avatars/avatar-5.jpeg
new file mode 100644
index 0000000000..ba4e4e02dd
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-5.jpeg differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-6.png b/packages/core-mobile/app/assets/avatars/avatar-6.png
new file mode 100644
index 0000000000..35afc7e6eb
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-6.png differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-7.png b/packages/core-mobile/app/assets/avatars/avatar-7.png
new file mode 100644
index 0000000000..84b544529a
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-7.png differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-8.png b/packages/core-mobile/app/assets/avatars/avatar-8.png
new file mode 100644
index 0000000000..530a2c8912
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-8.png differ
diff --git a/packages/core-mobile/app/assets/avatars/avatar-9.jpeg b/packages/core-mobile/app/assets/avatars/avatar-9.jpeg
new file mode 100644
index 0000000000..d2652f9d25
Binary files /dev/null and b/packages/core-mobile/app/assets/avatars/avatar-9.jpeg differ
diff --git a/packages/core-mobile/app/new/components/SimpleTextInput.tsx b/packages/core-mobile/app/new/components/SimpleTextInput.tsx
new file mode 100644
index 0000000000..87bcc196ea
--- /dev/null
+++ b/packages/core-mobile/app/new/components/SimpleTextInput.tsx
@@ -0,0 +1,58 @@
+import React from 'react'
+import {
+ Icons,
+ TextInput,
+ TouchableOpacity,
+ useTheme,
+ View
+} from '@avalabs/k2-alpine'
+
+export const SimpleTextInput = ({
+ name,
+ setName,
+ placeholder
+}: {
+ name: string
+ setName: (name: string) => void
+ placeholder?: string
+}): React.JSX.Element => {
+ const {
+ theme: { colors }
+ } = useTheme()
+ return (
+
+
+ {name.length !== 0 && (
+ setName('')}>
+
+
+ )}
+
+ )
+}
diff --git a/packages/core-mobile/app/new/components/onboarding/AddRecoveryMethods.tsx b/packages/core-mobile/app/new/components/onboarding/AddRecoveryMethods.tsx
new file mode 100644
index 0000000000..6f1fc8e846
--- /dev/null
+++ b/packages/core-mobile/app/new/components/onboarding/AddRecoveryMethods.tsx
@@ -0,0 +1,68 @@
+import React from 'react'
+import { View, Text, Button } from '@avalabs/k2-alpine'
+import BlurredBarsContentLayout from 'new/components/navigation/BlurredBarsContentLayout'
+import {
+ RecoveryMethod,
+ RecoveryMethods
+} from 'new/hooks/useAvailableRecoveryMethods'
+import { OidcAuth } from 'new/types'
+import { RecoveryMethodList } from '../../components/RecoveryMethodList'
+
+export const AddRecoveryMethods = ({
+ selectedMethod,
+ setSelectedMethod,
+ oidcAuth,
+ availableRecoveryMethods,
+ allowsUserToAddLater,
+ onNext,
+ onSkip
+}: {
+ selectedMethod?: RecoveryMethods
+ setSelectedMethod: (method: RecoveryMethods) => void
+ oidcAuth?: OidcAuth
+ availableRecoveryMethods: RecoveryMethod[]
+ allowsUserToAddLater: boolean
+ onNext: () => void
+ onSkip: () => void
+}): JSX.Element => {
+ return (
+
+
+
+
+ Add a recovery method
+
+
+ Add recovery methods to securely restore access in case you lose
+ your credentials.
+
+
+
+
+
+ {oidcAuth === undefined && allowsUserToAddLater && (
+
+ )}
+
+
+
+ )
+}
diff --git a/packages/core-mobile/app/new/routes/onboarding/analyticsConsent.tsx b/packages/core-mobile/app/new/components/onboarding/AnalyticsConsent.tsx
similarity index 76%
rename from packages/core-mobile/app/new/routes/onboarding/analyticsConsent.tsx
rename to packages/core-mobile/app/new/components/onboarding/AnalyticsConsent.tsx
index 089328114a..63d6deeb63 100644
--- a/packages/core-mobile/app/new/routes/onboarding/analyticsConsent.tsx
+++ b/packages/core-mobile/app/new/components/onboarding/AnalyticsConsent.tsx
@@ -1,5 +1,4 @@
import React, { useEffect } from 'react'
-import { useRouter } from 'expo-router'
import BlurredBarsContentLayout from 'new/components/navigation/BlurredBarsContentLayout'
import {
Button,
@@ -9,27 +8,17 @@ import {
View
} from '@avalabs/k2-alpine'
import { useDispatch } from 'react-redux'
-import { useAnalyticsConsent } from 'hooks/useAnalyticsConsent'
import { setViewOnce, ViewOnceKey } from 'store/viewOnce'
import ScreenHeader from 'new/components/ScreenHeader'
-export default function AnalyticsConsent(): JSX.Element {
- const router = useRouter()
-
+export const AnalyticsConsent = ({
+ onAcceptAnalytics,
+ onRejectAnalytics
+}: {
+ onAcceptAnalytics: () => void
+ onRejectAnalytics: () => void
+}): JSX.Element => {
const dispatch = useDispatch()
- const { accept, reject } = useAnalyticsConsent()
-
- function handleAcceptAnalytics(): void {
- accept()
-
- router.navigate('./recoveryPhrase')
- }
-
- function handleRejectAnalytics(): void {
- reject()
-
- router.navigate('./recoveryPhrase')
- }
useEffect(() => {
return () => {
@@ -68,10 +57,10 @@ export default function AnalyticsConsent(): JSX.Element {
backgroundColor: '$surfacePrimary',
gap: 16
}}>
-