mirror of
https://github.com/selfxyz/self.git
synced 2026-04-05 03:00:53 -04:00
refactor: reorganize and rename mobile screens (#1207)
* refactor(screens): reorganize screen directories * fix types, linting * udpates * fix lint issues * fix vite * pr feedback and fix missing bundle resolution * remove b4a; breaks build * update gemfile.lock * use DocumentNotFound screen
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
export { AadhaarNavBar } from '@/components/NavBar/AadhaarNavBar';
|
||||
export { DefaultNavBar } from '@/components/NavBar/DefaultNavBar';
|
||||
export { HomeNavBar } from '@/components/NavBar/HomeNavBar';
|
||||
export { IdDetailsNavBar } from '@/components/NavBar/IdDetailsNavBar';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { FC } from 'react';
|
||||
import React, { type FC } from 'react';
|
||||
import { Dimensions } from 'react-native';
|
||||
import { Separator, Text, XStack, YStack } from 'tamagui';
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import { useCallback, useRef, useState } from 'react';
|
||||
import { useNavigation } from '@react-navigation/native';
|
||||
|
||||
import type { ModalParams } from '@/screens/system/ModalScreen';
|
||||
import type { ModalParams } from '@/screens/app/ModalScreen';
|
||||
import {
|
||||
getModalCallbacks,
|
||||
registerModalCallbacks,
|
||||
|
||||
@@ -4,14 +4,48 @@
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import CloudBackupScreen from '@/screens/settings/CloudBackupScreen';
|
||||
import DocumentDataInfoScreen from '@/screens/settings/DocumentDataInfoScreen';
|
||||
import ManageDocumentsScreen from '@/screens/settings/ManageDocumentsScreen';
|
||||
import SettingsScreen from '@/screens/settings/SettingsScreen';
|
||||
import ShowRecoveryPhraseScreen from '@/screens/settings/ShowRecoveryPhraseScreen';
|
||||
import AccountRecoveryChoiceScreen from '@/screens/account/recovery/AccountRecoveryChoiceScreen';
|
||||
import AccountRecoveryScreen from '@/screens/account/recovery/AccountRecoveryScreen';
|
||||
import DocumentDataNotFoundScreen from '@/screens/account/recovery/DocumentDataNotFoundScreen';
|
||||
import RecoverWithPhraseScreen from '@/screens/account/recovery/RecoverWithPhraseScreen';
|
||||
import CloudBackupScreen from '@/screens/account/settings/CloudBackupScreen';
|
||||
import SettingsScreen from '@/screens/account/settings/SettingsScreen';
|
||||
import ShowRecoveryPhraseScreen from '@/screens/account/settings/ShowRecoveryPhraseScreen';
|
||||
import { black, slate300, white } from '@/utils/colors';
|
||||
|
||||
const settingsScreens = {
|
||||
const accountScreens = {
|
||||
AccountRecovery: {
|
||||
screen: AccountRecoveryScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AccountRecoveryChoice: {
|
||||
screen: AccountRecoveryChoiceScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
RecoverWithPhrase: {
|
||||
screen: RecoverWithPhraseScreen,
|
||||
options: {
|
||||
headerTintColor: black,
|
||||
title: 'Enter Recovery Phrase',
|
||||
headerStyle: {
|
||||
backgroundColor: black,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: slate300,
|
||||
},
|
||||
headerBackTitle: 'close',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentDataNotFound: {
|
||||
screen: DocumentDataNotFoundScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
CloudBackupSettings: {
|
||||
screen: CloudBackupScreen,
|
||||
options: {
|
||||
@@ -24,27 +58,6 @@ const settingsScreens = {
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
ManageDocuments: {
|
||||
screen: ManageDocumentsScreen,
|
||||
options: {
|
||||
title: 'Manage Documents',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: black,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentDataInfo: {
|
||||
screen: DocumentDataInfoScreen,
|
||||
options: {
|
||||
title: 'Document Data Info',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
Settings: {
|
||||
screen: SettingsScreen,
|
||||
options: {
|
||||
@@ -72,4 +85,4 @@ const settingsScreens = {
|
||||
},
|
||||
};
|
||||
|
||||
export default settingsScreens;
|
||||
export default accountScreens;
|
||||
29
app/src/navigation/account.web.ts
Normal file
29
app/src/navigation/account.web.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import SettingsScreen from '@/screens/account/settings/SettingsScreen';
|
||||
import { black, white } from '@/utils/colors';
|
||||
|
||||
const accountScreens = {
|
||||
Settings: {
|
||||
screen: SettingsScreen,
|
||||
options: {
|
||||
animation: 'slide_from_bottom',
|
||||
title: 'Settings',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: black,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
config: {
|
||||
screens: {},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default accountScreens;
|
||||
@@ -8,13 +8,13 @@ import type { NativeStackNavigationOptions } from '@react-navigation/native-stac
|
||||
|
||||
import type { DocumentCategory } from '@selfxyz/common/utils/types';
|
||||
|
||||
import DeferredLinkingInfoScreen from '@/screens/system/DeferredLinkingInfoScreen';
|
||||
import LaunchScreen from '@/screens/system/LaunchScreen';
|
||||
import LoadingScreen from '@/screens/system/Loading';
|
||||
import ModalScreen from '@/screens/system/ModalScreen';
|
||||
import SplashScreen from '@/screens/system/SplashScreen';
|
||||
import DeferredLinkingInfoScreen from '@/screens/app/DeferredLinkingInfoScreen';
|
||||
import LaunchScreen from '@/screens/app/LaunchScreen';
|
||||
import LoadingScreen from '@/screens/app/LoadingScreen';
|
||||
import ModalScreen from '@/screens/app/ModalScreen';
|
||||
import SplashScreen from '@/screens/app/SplashScreen';
|
||||
|
||||
const systemScreens = {
|
||||
const appScreens = {
|
||||
Launch: {
|
||||
screen: LaunchScreen,
|
||||
options: {
|
||||
@@ -56,4 +56,4 @@ const systemScreens = {
|
||||
},
|
||||
};
|
||||
|
||||
export default systemScreens;
|
||||
export default appScreens;
|
||||
@@ -1,103 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import ComingSoonScreen from '@/screens/document/ComingSoonScreen';
|
||||
import ConfirmBelongingScreen from '@/screens/document/ConfirmBelongingScreen';
|
||||
import CountryPickerScreen from '@/screens/document/CountryPickerScreen';
|
||||
import DocumentCameraScreen from '@/screens/document/DocumentCameraScreen';
|
||||
import DocumentCameraTroubleScreen from '@/screens/document/DocumentCameraTroubleScreen';
|
||||
import DocumentNFCMethodSelectionScreen from '@/screens/document/DocumentNFCMethodSelectionScreen';
|
||||
import DocumentNFCScanScreen from '@/screens/document/DocumentNFCScanScreen';
|
||||
import DocumentNFCTroubleScreen from '@/screens/document/DocumentNFCTroubleScreen';
|
||||
import DocumentOnboardingScreen from '@/screens/document/DocumentOnboardingScreen';
|
||||
import IDPickerScreen from '@/screens/document/IDPickerScreen';
|
||||
|
||||
const documentScreens = {
|
||||
DocumentCamera: {
|
||||
screen: DocumentCameraScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentCameraTrouble: {
|
||||
screen: DocumentCameraTroubleScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentNFCScan: {
|
||||
screen: DocumentNFCScanScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
passportNumber: '',
|
||||
dateOfBirth: '',
|
||||
dateOfExpiry: '',
|
||||
},
|
||||
},
|
||||
DocumentNFCTrouble: {
|
||||
screen: DocumentNFCTroubleScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentOnboarding: {
|
||||
screen: DocumentOnboardingScreen,
|
||||
options: {
|
||||
animation: 'slide_from_bottom',
|
||||
// presentation: 'modal' wanted to do this but seems to break stuff
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
ComingSoon: {
|
||||
screen: ComingSoonScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
countryCode: null,
|
||||
documentCategory: null,
|
||||
},
|
||||
},
|
||||
DocumentNFCMethodSelection: {
|
||||
screen: DocumentNFCMethodSelectionScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
CountryPicker: {
|
||||
screen: CountryPickerScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
IDPicker: {
|
||||
screen: IDPickerScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
countryCode: '',
|
||||
documentTypes: [],
|
||||
},
|
||||
},
|
||||
ConfirmBelonging: {
|
||||
screen: ConfirmBelongingScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
};
|
||||
|
||||
export default documentScreens;
|
||||
155
app/src/navigation/documents.ts
Normal file
155
app/src/navigation/documents.ts
Normal file
@@ -0,0 +1,155 @@
|
||||
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import { AadhaarNavBar, IdDetailsNavBar } from '@/components/NavBar';
|
||||
import AadhaarUploadedSuccessScreen from '@/screens/documents/aadhaar/AadhaarUploadedSuccessScreen';
|
||||
import AadhaarUploadErrorScreen from '@/screens/documents/aadhaar/AadhaarUploadErrorScreen';
|
||||
import AadhaarUploadScreen from '@/screens/documents/aadhaar/AadhaarUploadScreen';
|
||||
import DocumentDataInfoScreen from '@/screens/documents/management/DocumentDataInfoScreen';
|
||||
import IdDetailsScreen from '@/screens/documents/management/IdDetailsScreen';
|
||||
import ManageDocumentsScreen from '@/screens/documents/management/ManageDocumentsScreen';
|
||||
import DocumentCameraScreen from '@/screens/documents/scanning/DocumentCameraScreen';
|
||||
import DocumentCameraTroubleScreen from '@/screens/documents/scanning/DocumentCameraTroubleScreen';
|
||||
import DocumentNFCMethodSelectionScreen from '@/screens/documents/scanning/DocumentNFCMethodSelectionScreen';
|
||||
import DocumentNFCScanScreen from '@/screens/documents/scanning/DocumentNFCScanScreen';
|
||||
import DocumentNFCTroubleScreen from '@/screens/documents/scanning/DocumentNFCTroubleScreen';
|
||||
import ConfirmBelongingScreen from '@/screens/documents/selection/ConfirmBelongingScreen';
|
||||
import CountryPickerScreen from '@/screens/documents/selection/CountryPickerScreen';
|
||||
import DocumentOnboardingScreen from '@/screens/documents/selection/DocumentOnboardingScreen';
|
||||
import IDPickerScreen from '@/screens/documents/selection/IDPickerScreen';
|
||||
import { black, white } from '@/utils/colors';
|
||||
|
||||
const documentsScreens = {
|
||||
DocumentCamera: {
|
||||
screen: DocumentCameraScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentCameraTrouble: {
|
||||
screen: DocumentCameraTroubleScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentNFCScan: {
|
||||
screen: DocumentNFCScanScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
passportNumber: '',
|
||||
dateOfBirth: '',
|
||||
dateOfExpiry: '',
|
||||
},
|
||||
},
|
||||
DocumentNFCTrouble: {
|
||||
screen: DocumentNFCTroubleScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentNFCMethodSelection: {
|
||||
screen: DocumentNFCMethodSelectionScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentOnboarding: {
|
||||
screen: DocumentOnboardingScreen,
|
||||
options: {
|
||||
animation: 'slide_from_bottom',
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
CountryPicker: {
|
||||
screen: CountryPickerScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
IDPicker: {
|
||||
screen: IDPickerScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
countryCode: '',
|
||||
documentTypes: [],
|
||||
},
|
||||
},
|
||||
ConfirmBelonging: {
|
||||
screen: ConfirmBelongingScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
IdDetails: {
|
||||
screen: IdDetailsScreen,
|
||||
options: {
|
||||
title: '',
|
||||
header: IdDetailsNavBar,
|
||||
headerBackVisible: false,
|
||||
},
|
||||
},
|
||||
ManageDocuments: {
|
||||
screen: ManageDocumentsScreen,
|
||||
options: {
|
||||
title: 'Manage Documents',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: black,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentDataInfo: {
|
||||
screen: DocumentDataInfoScreen,
|
||||
options: {
|
||||
title: 'Document Data Info',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AadhaarUpload: {
|
||||
screen: AadhaarUploadScreen,
|
||||
options: {
|
||||
title: 'AADHAAR REGISTRATION',
|
||||
header: AadhaarNavBar,
|
||||
headerBackVisible: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AadhaarUploadSuccess: {
|
||||
screen: AadhaarUploadedSuccessScreen,
|
||||
options: {
|
||||
title: 'AADHAAR REGISTRATION',
|
||||
header: AadhaarNavBar,
|
||||
headerBackVisible: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AadhaarUploadError: {
|
||||
screen: AadhaarUploadErrorScreen,
|
||||
options: {
|
||||
title: 'AADHAAR REGISTRATION',
|
||||
header: AadhaarNavBar,
|
||||
headerBackVisible: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
errorType: 'general',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default documentsScreens;
|
||||
@@ -4,25 +4,12 @@
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import { HomeNavBar, IdDetailsNavBar } from '@/components/NavBar';
|
||||
import { AadhaarNavBar } from '@/components/NavBar/AadhaarNavBar';
|
||||
import AadhaarUploadedSuccessScreen from '@/screens/document/aadhaar/AadhaarUploadedSuccessScreen';
|
||||
import AadhaarUploadErrorScreen from '@/screens/document/aadhaar/AadhaarUploadErrorScreen';
|
||||
import AadhaarUploadScreen from '@/screens/document/aadhaar/AadhaarUploadScreen';
|
||||
import DisclaimerScreen from '@/screens/home/DisclaimerScreen';
|
||||
import { HomeNavBar } from '@/components/NavBar';
|
||||
import HomeScreen from '@/screens/home/HomeScreen';
|
||||
import IdDetailsScreen from '@/screens/home/IdDetailsScreen';
|
||||
import ProofHistoryDetailScreen from '@/screens/home/ProofHistoryDetailScreen';
|
||||
import ProofHistoryScreen from '@/screens/home/ProofHistoryScreen';
|
||||
|
||||
const homeScreens = {
|
||||
Disclaimer: {
|
||||
screen: DisclaimerScreen,
|
||||
options: {
|
||||
title: 'Disclaimer',
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
Home: {
|
||||
screen: HomeScreen,
|
||||
options: {
|
||||
@@ -44,41 +31,6 @@ const homeScreens = {
|
||||
title: 'Approval',
|
||||
},
|
||||
},
|
||||
IdDetails: {
|
||||
screen: IdDetailsScreen,
|
||||
options: {
|
||||
title: '',
|
||||
header: IdDetailsNavBar, // Use custom header
|
||||
headerBackVisible: false, // Hide default back button
|
||||
},
|
||||
},
|
||||
AadhaarUpload: {
|
||||
screen: AadhaarUploadScreen,
|
||||
options: {
|
||||
title: 'AADHAAR REGISTRATION',
|
||||
header: AadhaarNavBar,
|
||||
headerBackVisible: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AadhaarUploadSuccess: {
|
||||
screen: AadhaarUploadedSuccessScreen,
|
||||
options: {
|
||||
title: 'AADHAAR REGISTRATION',
|
||||
header: AadhaarNavBar,
|
||||
headerBackVisible: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AadhaarUploadError: {
|
||||
screen: AadhaarUploadErrorScreen,
|
||||
options: {
|
||||
title: 'AADHAAR REGISTRATION',
|
||||
header: AadhaarNavBar,
|
||||
headerBackVisible: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
errorType: 'general',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default homeScreens;
|
||||
|
||||
@@ -16,23 +16,25 @@ import { useSelfClient } from '@selfxyz/mobile-sdk-alpha';
|
||||
|
||||
import { DefaultNavBar } from '@/components/NavBar';
|
||||
import AppLayout from '@/layouts/AppLayout';
|
||||
import accountScreens from '@/navigation/account';
|
||||
import appScreens from '@/navigation/app';
|
||||
import devScreens from '@/navigation/devTools';
|
||||
import documentScreens from '@/navigation/document';
|
||||
import documentsScreens from '@/navigation/documents';
|
||||
import homeScreens from '@/navigation/home';
|
||||
import proveScreens from '@/navigation/prove';
|
||||
import recoveryScreens from '@/navigation/recovery';
|
||||
import settingsScreens from '@/navigation/settings';
|
||||
import systemScreens from '@/navigation/system';
|
||||
import onboardingScreens from '@/navigation/onboarding';
|
||||
import sharedScreens from '@/navigation/shared';
|
||||
import verificationScreens from '@/navigation/verification';
|
||||
import analytics from '@/utils/analytics';
|
||||
import { setupUniversalLinkListenerInNavigation } from '@/utils/deeplinks';
|
||||
|
||||
export const navigationScreens = {
|
||||
...systemScreens,
|
||||
...documentScreens,
|
||||
...appScreens,
|
||||
...onboardingScreens,
|
||||
...homeScreens,
|
||||
...proveScreens,
|
||||
...settingsScreens,
|
||||
...recoveryScreens,
|
||||
...documentsScreens,
|
||||
...verificationScreens,
|
||||
...accountScreens,
|
||||
...sharedScreens,
|
||||
...devScreens, // allow in production for testing
|
||||
};
|
||||
const AppNavigation = createNativeStackNavigator({
|
||||
|
||||
35
app/src/navigation/onboarding.ts
Normal file
35
app/src/navigation/onboarding.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import AccountVerifiedSuccessScreen from '@/screens/onboarding/AccountVerifiedSuccessScreen';
|
||||
import DisclaimerScreen from '@/screens/onboarding/DisclaimerScreen';
|
||||
import SaveRecoveryPhraseScreen from '@/screens/onboarding/SaveRecoveryPhraseScreen';
|
||||
|
||||
const onboardingScreens = {
|
||||
Disclaimer: {
|
||||
screen: DisclaimerScreen,
|
||||
options: {
|
||||
title: 'Disclaimer',
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
SaveRecoveryPhrase: {
|
||||
screen: SaveRecoveryPhraseScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AccountVerifiedSuccess: {
|
||||
screen: AccountVerifiedSuccessScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
};
|
||||
|
||||
export default onboardingScreens;
|
||||
@@ -1,67 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import AccountRecoveryChoiceScreen from '@/screens/recovery/AccountRecoveryChoiceScreen';
|
||||
import AccountRecoveryScreen from '@/screens/recovery/AccountRecoveryScreen';
|
||||
import AccountVerifiedSuccessScreen from '@/screens/recovery/AccountVerifiedSuccessScreen';
|
||||
import DocumentDataNotFound from '@/screens/recovery/DocumentDataNotFoundScreen';
|
||||
import RecoverWithPhraseScreen from '@/screens/recovery/RecoverWithPhraseScreen';
|
||||
import SaveRecoveryPhraseScreen from '@/screens/recovery/SaveRecoveryPhraseScreen';
|
||||
import { black, slate300 } from '@/utils/colors';
|
||||
|
||||
const recoveryScreens = {
|
||||
AccountRecovery: {
|
||||
screen: AccountRecoveryScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AccountRecoveryChoice: {
|
||||
screen: AccountRecoveryChoiceScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
AccountVerifiedSuccess: {
|
||||
screen: AccountVerifiedSuccessScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentDataNotFound: {
|
||||
screen: DocumentDataNotFound,
|
||||
options: {
|
||||
headerShown: false,
|
||||
gestureEnabled: false,
|
||||
animation: 'slide_from_bottom',
|
||||
// presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
RecoverWithPhrase: {
|
||||
screen: RecoverWithPhraseScreen,
|
||||
options: {
|
||||
headerTintColor: black,
|
||||
title: 'Enter Recovery Phrase',
|
||||
headerStyle: {
|
||||
backgroundColor: black,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: slate300,
|
||||
},
|
||||
headerBackTitle: 'close',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
SaveRecoveryPhrase: {
|
||||
screen: SaveRecoveryPhraseScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
};
|
||||
|
||||
export default recoveryScreens;
|
||||
@@ -1,52 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import DocumentDataInfoScreen from '@/screens/settings/DocumentDataInfoScreen';
|
||||
import ManageDocumentsScreen from '@/screens/settings/ManageDocumentsScreen';
|
||||
import SettingsScreen from '@/screens/settings/SettingsScreen';
|
||||
import { black, white } from '@/utils/colors';
|
||||
|
||||
const settingsScreens = {
|
||||
ManageDocuments: {
|
||||
screen: ManageDocumentsScreen,
|
||||
options: {
|
||||
title: 'Manage Documents',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: black,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
DocumentDataInfo: {
|
||||
screen: DocumentDataInfoScreen,
|
||||
options: {
|
||||
title: 'Document Data Info',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
Settings: {
|
||||
screen: SettingsScreen,
|
||||
options: {
|
||||
animation: 'slide_from_bottom',
|
||||
title: 'Settings',
|
||||
headerStyle: {
|
||||
backgroundColor: white,
|
||||
},
|
||||
headerTitleStyle: {
|
||||
color: black,
|
||||
},
|
||||
} as NativeStackNavigationOptions,
|
||||
config: {
|
||||
screens: {},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default settingsScreens;
|
||||
@@ -4,18 +4,19 @@
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import DocumentDataNotFound from '@/screens/recovery/DocumentDataNotFoundScreen';
|
||||
import ComingSoonScreen from '@/screens/shared/ComingSoonScreen';
|
||||
|
||||
const recoveryScreens = {
|
||||
DocumentDataNotFound: {
|
||||
screen: DocumentDataNotFound,
|
||||
const sharedScreens = {
|
||||
ComingSoon: {
|
||||
screen: ComingSoonScreen,
|
||||
options: {
|
||||
headerShown: false,
|
||||
gestureEnabled: false,
|
||||
animation: 'slide_from_bottom',
|
||||
// presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
initialParams: {
|
||||
countryCode: null,
|
||||
documentCategory: null,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default recoveryScreens;
|
||||
export default sharedScreens;
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';
|
||||
|
||||
import ProofRequestStatusScreen from '@/screens/prove/ProofRequestStatusScreen';
|
||||
import ProveScreen from '@/screens/prove/ProveScreen';
|
||||
import QRCodeTroubleScreen from '@/screens/prove/QRCodeTroubleScreen';
|
||||
import QRCodeViewFinderScreen from '@/screens/prove/QRCodeViewFinderScreen';
|
||||
import ProofRequestStatusScreen from '@/screens/verification/ProofRequestStatusScreen';
|
||||
import ProveScreen from '@/screens/verification/ProveScreen';
|
||||
import QRCodeTroubleScreen from '@/screens/verification/QRCodeTroubleScreen';
|
||||
import QRCodeViewFinderScreen from '@/screens/verification/QRCodeViewFinderScreen';
|
||||
import { black, white } from '@/utils/colors';
|
||||
|
||||
const proveScreens = {
|
||||
const verificationScreens = {
|
||||
ProofRequestStatus: {
|
||||
screen: ProofRequestStatusScreen,
|
||||
options: {
|
||||
@@ -43,9 +43,8 @@ const proveScreens = {
|
||||
options: {
|
||||
headerShown: false,
|
||||
animation: 'slide_from_bottom',
|
||||
// presentation: 'modal',
|
||||
} as NativeStackNavigationOptions,
|
||||
},
|
||||
};
|
||||
|
||||
export default proveScreens;
|
||||
export default verificationScreens;
|
||||
@@ -40,7 +40,7 @@ import { extraYPadding } from '@/utils/constants';
|
||||
import { impactLight } from '@/utils/haptic';
|
||||
import { getCountry, getLocales, getTimeZone } from '@/utils/locale';
|
||||
|
||||
import { version } from '../../../package.json';
|
||||
import { version } from '../../../../package.json';
|
||||
|
||||
interface MenuButtonProps extends PropsWithChildren {
|
||||
Icon: React.FC<SvgProps>;
|
||||
@@ -21,7 +21,7 @@ import Description from '@/components/typography/Description';
|
||||
import { Title } from '@/components/typography/Title';
|
||||
import useHapticNavigation from '@/hooks/useHapticNavigation';
|
||||
import { ExpandableBottomLayout } from '@/layouts/ExpandableBottomLayout';
|
||||
import { styles } from '@/screens/prove/ProofRequestStatusScreen';
|
||||
import { styles } from '@/screens/verification/ProofRequestStatusScreen';
|
||||
import { useSettingStore } from '@/stores/settingStore';
|
||||
import { flushAllAnalytics, trackNfcEvent } from '@/utils/analytics';
|
||||
import { black, white } from '@/utils/colors';
|
||||
@@ -14,7 +14,7 @@ import { DelayedLottieView } from '@/components/DelayedLottieView';
|
||||
import Description from '@/components/typography/Description';
|
||||
import { Title } from '@/components/typography/Title';
|
||||
import { ExpandableBottomLayout } from '@/layouts/ExpandableBottomLayout';
|
||||
import { styles } from '@/screens/prove/ProofRequestStatusScreen';
|
||||
import { styles } from '@/screens/verification/ProofRequestStatusScreen';
|
||||
import { black, white } from '@/utils/colors';
|
||||
import { buttonTap } from '@/utils/haptic';
|
||||
|
||||
Reference in New Issue
Block a user