Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions app/src/navigation/aesop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,13 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

import { ProgressNavBar } from '@/components/NavBar';
import { shouldShowAesopRedesign } from '@/hooks/useAesopRedesign';
import DocumentOnboardingScreen from '@/screens/aesop/DocumentOnboardingScreen';
import { white } from '@/utils/colors';

const DocumentOnboardingScreen = lazy(
() => import('@/screens/aesop/DocumentOnboardingScreen'),
);

const aesopScreens = {
DocumentOnboarding: {
screen: DocumentOnboardingScreen,
Expand Down
22 changes: 6 additions & 16 deletions app/src/navigation/devTools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,16 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

import CreateMockScreen from '@/screens/dev/CreateMockScreen';
import CreateMockScreenDeepLink from '@/screens/dev/CreateMockScreenDeepLink';
import DevFeatureFlagsScreen from '@/screens/dev/DevFeatureFlagsScreen';
import DevHapticFeedbackScreen from '@/screens/dev/DevHapticFeedbackScreen';
import DevPrivateKeyScreen from '@/screens/dev/DevPrivateKeyScreen';
import DevSettingsScreen from '@/screens/dev/DevSettingsScreen';
import { black, white } from '@/utils/colors';

const DevFeatureFlagsScreen = lazy(
() => import('@/screens/dev/DevFeatureFlagsScreen'),
);
const DevHapticFeedbackScreen = lazy(
() => import('@/screens/dev/DevHapticFeedbackScreen'),
);
const DevPrivateKeyScreen = lazy(
() => import('@/screens/dev/DevPrivateKeyScreen'),
);
const DevSettingsScreen = lazy(() => import('@/screens/dev/DevSettingsScreen'));
const CreateMockScreen = lazy(() => import('@/screens/dev/CreateMockScreen'));
const CreateMockScreenDeepLink = lazy(
() => import('@/screens/dev/CreateMockScreenDeepLink'),
);

const devHeaderOptions: NativeStackNavigationOptions = {
headerStyle: {
backgroundColor: black,
Expand Down
29 changes: 7 additions & 22 deletions app/src/navigation/document.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,15 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

const DocumentCameraScreen = lazy(
() => import('@/screens/document/DocumentCameraScreen'),
);
const DocumentCameraTroubleScreen = lazy(
() => import('@/screens/document/DocumentCameraTroubleScreen'),
);
const DocumentNFCScanScreen = lazy(
() => import('@/screens/document/DocumentNFCScanScreen'),
);
const DocumentNFCTroubleScreen = lazy(
() => import('@/screens/document/DocumentNFCTroubleScreen'),
);
const DocumentOnboardingScreen = lazy(
() => import('@/screens/document/DocumentOnboardingScreen'),
);
const UnsupportedDocumentScreen = lazy(
() => import('@/screens/document/UnsupportedDocumentScreen'),
);
const DocumentNFCMethodSelectionScreen = lazy(
() => import('@/screens/document/DocumentNFCMethodSelectionScreen'),
);
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 UnsupportedDocumentScreen from '@/screens/document/UnsupportedDocumentScreen';

const documentScreens = {
DocumentCamera: {
Expand Down
13 changes: 4 additions & 9 deletions app/src/navigation/home.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,14 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

import { HomeNavBar } from '@/components/NavBar';
import DisclaimerScreen from '@/screens/home/DisclaimerScreen';
import HomeScreen from '@/screens/home/HomeScreen';
import ProofHistoryDetailScreen from '@/screens/home/ProofHistoryDetailScreen';
import ProofHistoryScreen from '@/screens/home/ProofHistoryScreen';

const DisclaimerScreen = lazy(() => import('@/screens/home/DisclaimerScreen'));
const HomeScreen = lazy(() => import('@/screens/home/HomeScreen'));
const ProofHistoryDetailScreen = lazy(
() => import('@/screens/home/ProofHistoryDetailScreen'),
);
const ProofHistoryScreen = lazy(
() => import('@/screens/home/ProofHistoryScreen'),
);
const homeScreens = {
Disclaimer: {
screen: DisclaimerScreen,
Expand Down
20 changes: 3 additions & 17 deletions app/src/navigation/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import React, { Suspense, useEffect } from 'react';
import { Platform, View } from 'react-native';
import React, { useEffect } from 'react';
import { Platform } from 'react-native';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
import { Text } from 'tamagui';
import type { StaticParamList } from '@react-navigation/native';
import {
createNavigationContainerRef,
Expand Down Expand Up @@ -62,17 +61,6 @@ declare global {
const { trackScreenView } = analytics();
const Navigation = createStaticNavigation(AppNavigation);

const SuspenseFallback = () => {
if (Platform.OS === 'web') {
return <div>Loading...</div>;
}
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>Loading...</Text>
</View>
);
};

const NavigationWithTracking = () => {
const trackScreen = () => {
const currentRoute = navigationRef.getCurrentRoute();
Expand All @@ -95,9 +83,7 @@ const NavigationWithTracking = () => {

return (
<GestureHandlerRootView>
<Suspense fallback={<SuspenseFallback />}>
<Navigation ref={navigationRef} onStateChange={trackScreen} />
</Suspense>
<Navigation ref={navigationRef} onStateChange={trackScreen} />
</GestureHandlerRootView>
);
};
Expand Down
19 changes: 0 additions & 19 deletions app/src/navigation/lazyWithPreload.ts

This file was deleted.

20 changes: 5 additions & 15 deletions app/src/navigation/prove.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,15 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

import ConfirmBelongingScreen from '@/screens/prove/ConfirmBelongingScreen';
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 { black, white } from '@/utils/colors';

const ConfirmBelongingScreen = lazy(
() => import('@/screens/prove/ConfirmBelongingScreen'),
);
const ProofRequestStatusScreen = lazy(
() => import('@/screens/prove/ProofRequestStatusScreen'),
);
const ProveScreen = lazy(() => import('@/screens/prove/ProveScreen'));
const QRCodeTroubleScreen = lazy(
() => import('@/screens/prove/QRCodeTroubleScreen'),
);
const QRCodeViewFinderScreen = lazy(
() => import('@/screens/prove/QRCodeViewFinderScreen'),
);

const proveScreens = {
ConfirmBelonging: {
screen: ConfirmBelongingScreen,
Expand Down
26 changes: 6 additions & 20 deletions app/src/navigation/recovery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,16 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
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 AccountRecoveryChoiceScreen = lazy(
() => import('@/screens/recovery/AccountRecoveryChoiceScreen'),
);
const AccountRecoveryScreen = lazy(
() => import('@/screens/recovery/AccountRecoveryScreen'),
);
const AccountVerifiedSuccessScreen = lazy(
() => import('@/screens/recovery/AccountVerifiedSuccessScreen'),
);
const DocumentDataNotFound = lazy(
() => import('@/screens/recovery/DocumentDataNotFoundScreen'),
);
const RecoverWithPhraseScreen = lazy(
() => import('@/screens/recovery/RecoverWithPhraseScreen'),
);
const SaveRecoveryPhraseScreen = lazy(
() => import('@/screens/recovery/SaveRecoveryPhraseScreen'),
);

const recoveryScreens = {
AccountRecovery: {
screen: AccountRecoveryScreen,
Expand Down
5 changes: 1 addition & 4 deletions app/src/navigation/recovery.web.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

const DocumentDataNotFound = lazy(
() => import('@/screens/recovery/DocumentDataNotFoundScreen'),
);
import DocumentDataNotFound from '@/screens/recovery/DocumentDataNotFoundScreen';

const recoveryScreens = {
DocumentDataNotFound: {
Expand Down
20 changes: 5 additions & 15 deletions app/src/navigation/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,15 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
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 { black, slate300, white } from '@/utils/colors';

const CloudBackupScreen = lazy(
() => import('@/screens/settings/CloudBackupScreen'),
);
const ManageDocumentsScreen = lazy(
() => import('@/screens/settings/ManageDocumentsScreen'),
);
const DocumentDataInfoScreen = lazy(
() => import('@/screens/settings/DocumentDataInfoScreen'),
);
const SettingsScreen = lazy(() => import('@/screens/settings/SettingsScreen'));
const ShowRecoveryPhraseScreen = lazy(
() => import('@/screens/settings/ShowRecoveryPhraseScreen'),
);

const settingsScreens = {
CloudBackupSettings: {
screen: CloudBackupScreen,
Expand Down
12 changes: 3 additions & 9 deletions app/src/navigation/settings.web.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,13 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import { lazy } from 'react';
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 ManageDocumentsScreen = lazy(
() => import('@/screens/settings/ManageDocumentsScreen'),
);
const DocumentDataInfoScreen = lazy(
() => import('@/screens/settings/DocumentDataInfoScreen'),
);
const SettingsScreen = lazy(() => import('@/screens/settings/SettingsScreen'));

const settingsScreens = {
ManageDocuments: {
screen: ManageDocumentsScreen,
Expand Down
16 changes: 5 additions & 11 deletions app/src/navigation/system.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,16 @@
// SPDX-License-Identifier: BUSL-1.1
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.

import React, { lazy } from 'react';
import React from 'react';
import { SystemBars } from 'react-native-edge-to-edge';
import type { NativeStackNavigationOptions } from '@react-navigation/native-stack';

// Important: SplashScreen is imported directly and not lazy-loaded.
// This is because it's used as a fallback for the Suspense boundary in the root navigator,
// ensuring it's immediately available at startup.
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';

const LaunchScreen = lazy(() => import('@/screens/system/LaunchScreen'));
const LoadingScreen = lazy(() => import('@/screens/system/Loading'));
const ModalScreen = lazy(() => import('@/screens/system/ModalScreen'));
const DeferredLinkingInfoScreen = lazy(
() => import('@/screens/system/DeferredLinkingInfoScreen'),
);

const systemScreens = {
Launch: {
screen: LaunchScreen,
Expand Down
Loading