From 7628767f972c0da5bad91641adff9976d0e4dc20 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Thu, 29 Feb 2024 16:57:34 +0100 Subject: [PATCH 001/178] feat: revert native stack to the state when PR was merged --- package-lock.json | 17 ++++++++ package.json | 1 + ...react-navigation+native-stack+6.9.17.patch | 39 +++++++++++++++++++ .../AppNavigator/ModalStackNavigators.tsx | 8 ++-- .../BaseCentralPaneNavigator.tsx | 4 +- .../Navigators/Overlay/index.native.tsx | 7 ++++ .../{Overlay.tsx => Overlay/index.tsx} | 0 .../Navigators/RightModalNavigator.tsx | 4 +- .../Navigation/AppNavigator/PublicScreens.tsx | 4 +- .../defaultScreenOptions/index.native.ts | 11 ++++++ .../defaultScreenOptions/index.ts | 12 ++++++ .../index.native.ts | 8 ++++ .../getRightModalNavigatorOptions/index.ts | 20 ++++++++++ .../getRootNavigatorScreenOptions.ts | 23 ++++------- .../index.native.ts | 8 ++++ .../modalStackNavigatorOptions/index.ts | 9 +++++ .../createPlatformStackNavigator.native.ts | 7 ++++ .../createPlatformStackNavigator.ts | 5 +++ 18 files changed, 162 insertions(+), 25 deletions(-) create mode 100644 patches/@react-navigation+native-stack+6.9.17.patch create mode 100644 src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx rename src/libs/Navigation/AppNavigator/Navigators/{Overlay.tsx => Overlay/index.tsx} (100%) create mode 100644 src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts create mode 100644 src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts create mode 100644 src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts create mode 100644 src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts create mode 100644 src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts create mode 100644 src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts diff --git a/package-lock.json b/package-lock.json index dc170b7a95724..0be13f3af7865 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,6 +36,7 @@ "@react-native-picker/picker": "2.5.1", "@react-navigation/material-top-tabs": "^6.6.3", "@react-navigation/native": "6.1.12", + "@react-navigation/native-stack": "^6.9.17", "@react-navigation/stack": "6.3.16", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "^10.1.11", @@ -9310,6 +9311,22 @@ "react-native": "*" } }, + "node_modules/@react-navigation/native-stack": { + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.17.tgz", + "integrity": "sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew==", + "dependencies": { + "@react-navigation/elements": "^1.3.21", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, "node_modules/@react-navigation/routers": { "version": "6.1.9", "license": "MIT", diff --git a/package.json b/package.json index 26918ddc1ce31..fb174293063ab 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "@react-native-picker/picker": "2.5.1", "@react-navigation/material-top-tabs": "^6.6.3", "@react-navigation/native": "6.1.12", + "@react-navigation/native-stack": "^6.9.17", "@react-navigation/stack": "6.3.16", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "^10.1.11", diff --git a/patches/@react-navigation+native-stack+6.9.17.patch b/patches/@react-navigation+native-stack+6.9.17.patch new file mode 100644 index 0000000000000..933ca6ce792e2 --- /dev/null +++ b/patches/@react-navigation+native-stack+6.9.17.patch @@ -0,0 +1,39 @@ +diff --git a/node_modules/@react-navigation/native-stack/src/types.tsx b/node_modules/@react-navigation/native-stack/src/types.tsx +index 206fb0b..7a34a8e 100644 +--- a/node_modules/@react-navigation/native-stack/src/types.tsx ++++ b/node_modules/@react-navigation/native-stack/src/types.tsx +@@ -490,6 +490,14 @@ export type NativeStackNavigationOptions = { + * Only supported on iOS and Android. + */ + freezeOnBlur?: boolean; ++ // partial changes from https://github.com/react-navigation/react-navigation/commit/90cfbf23bcc5259f3262691a9eec6c5b906e5262 ++ // patch can be removed when new version of `native-stack` will be released ++ /** ++ * Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. ++ * ++ * Only supported on iOS ++ */ ++ keyboardHandlingEnabled?: boolean; + }; + + export type NativeStackNavigatorProps = DefaultNavigatorOptions< +diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +index a005c43..03d8b50 100644 +--- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx ++++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +@@ -161,6 +161,7 @@ const SceneView = ({ + statusBarTranslucent, + statusBarColor, + freezeOnBlur, ++ keyboardHandlingEnabled, + } = options; + + let { +@@ -289,6 +290,7 @@ const SceneView = ({ + onNativeDismissCancelled={onNativeDismissCancelled} + // this prop is available since rn-screens 3.16 + freezeOnBlur={freezeOnBlur} ++ hideKeyboardOnSwipe={keyboardHandlingEnabled} + > + + diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx index 1946c969cdad4..f7ac892e40bcb 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx @@ -1,8 +1,8 @@ import type {ParamListBase} from '@react-navigation/routers'; import type {StackNavigationOptions} from '@react-navigation/stack'; -import {CardStyleInterpolators, createStackNavigator} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type { AddPersonalBankAccountNavigatorParamList, DetailsNavigatorParamList, @@ -35,6 +35,7 @@ import type { import type {ThemeStyles} from '@styles/index'; import type {Screen} from '@src/SCREENS'; import SCREENS from '@src/SCREENS'; +import subRouteOptions from './modalStackNavigatorOptions'; type Screens = Partial React.ComponentType>>; @@ -45,16 +46,15 @@ type Screens = Partial React.ComponentType>>; * @param getScreenOptions optional function that returns the screen options, override the default options */ function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => StackNavigationOptions): React.ComponentType { - const ModalStackNavigator = createStackNavigator(); + const ModalStackNavigator = createPlatformStackNavigator(); function ModalStack() { const styles = useThemeStyles(); const defaultSubRouteOptions = useMemo( (): StackNavigationOptions => ({ + ...subRouteOptions, cardStyle: styles.navigationScreenCardStyle, - headerShown: false, - cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, }), [styles], ); diff --git a/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx index 16f403342a582..570f223142d19 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx @@ -1,12 +1,12 @@ -import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import ReportScreenWrapper from '@libs/Navigation/AppNavigator/ReportScreenWrapper'; import getCurrentUrl from '@libs/Navigation/currentUrl'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {CentralPaneNavigatorParamList} from '@navigation/types'; import SCREENS from '@src/SCREENS'; -const Stack = createStackNavigator(); +const Stack = createPlatformStackNavigator(); const url = getCurrentUrl(); const openOnAdminRoom = url ? new URL(url).searchParams.get('openOnAdminRoom') : undefined; diff --git a/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx new file mode 100644 index 0000000000000..30651e32cbd68 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx @@ -0,0 +1,7 @@ +function Overlay() { + return null; +} + +Overlay.displayName = 'Overlay'; + +export default Overlay; diff --git a/src/libs/Navigation/AppNavigator/Navigators/Overlay.tsx b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/Navigators/Overlay.tsx rename to src/libs/Navigation/AppNavigator/Navigators/Overlay/index.tsx diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index c421bdc82028b..550fb947a4e6f 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -1,5 +1,4 @@ import type {StackScreenProps} from '@react-navigation/stack'; -import {createStackNavigator} from '@react-navigation/stack'; import React, {useMemo, useRef} from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; @@ -7,6 +6,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; @@ -14,7 +14,7 @@ import Overlay from './Overlay'; type RightModalNavigatorProps = StackScreenProps; -const Stack = createStackNavigator(); +const Stack = createPlatformStackNavigator(); function RightModalNavigator({navigation}: RightModalNavigatorProps) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/PublicScreens.tsx b/src/libs/Navigation/AppNavigator/PublicScreens.tsx index 6b15579946273..792a538cfd397 100644 --- a/src/libs/Navigation/AppNavigator/PublicScreens.tsx +++ b/src/libs/Navigation/AppNavigator/PublicScreens.tsx @@ -1,5 +1,5 @@ -import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {PublicScreensParamList} from '@navigation/types'; import LogInWithShortLivedAuthTokenPage from '@pages/LogInWithShortLivedAuthTokenPage'; import AppleSignInDesktopPage from '@pages/signin/AppleSignInDesktopPage'; @@ -12,7 +12,7 @@ import NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import defaultScreenOptions from './defaultScreenOptions'; -const RootStack = createStackNavigator(); +const RootStack = createPlatformStackNavigator(); function PublicScreens() { return ( diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts new file mode 100644 index 0000000000000..17100bc71bdac --- /dev/null +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts @@ -0,0 +1,11 @@ +const defaultScreenOptions = { + contentStyle: { + overflow: 'visible', + flex: 1, + }, + headerShown: false, + animationTypeForReplace: 'push', + animation: 'slide_from_right', +}; + +export default defaultScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts new file mode 100644 index 0000000000000..4015c43c679e1 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts @@ -0,0 +1,12 @@ +import type {StackNavigationOptions} from '@react-navigation/stack'; + +const defaultScreenOptions: StackNavigationOptions = { + cardStyle: { + overflow: 'visible', + flex: 1, + }, + headerShown: false, + animationTypeForReplace: 'push', +}; + +export default defaultScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts new file mode 100644 index 0000000000000..2b062fd2f2be8 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts @@ -0,0 +1,8 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +const rightModalNavigatorOptions = (): NativeStackNavigationOptions => ({ + presentation: 'card', + animation: 'slide_from_right', +}); + +export default rightModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts new file mode 100644 index 0000000000000..935c0041b7943 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts @@ -0,0 +1,20 @@ +import type {StackNavigationOptions} from '@react-navigation/stack'; +// eslint-disable-next-line no-restricted-imports +import getNavigationModalCardStyle from '@styles/utils/getNavigationModalCardStyles'; + +const rightModalNavigatorOptions = (isSmallScreenWidth: boolean): StackNavigationOptions => ({ + presentation: 'transparentModal', + + // We want pop in RHP since there are some flows that would work weird otherwise + animationTypeForReplace: 'pop', + cardStyle: { + ...getNavigationModalCardStyle(), + + // This is necessary to cover translated sidebar with overlay. + width: isSmallScreenWidth ? '100%' : '200%', + // Excess space should be on the left so we need to position from right. + right: 0, + }, +}); + +export default rightModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 1dd9322e0b473..a8d512314b5eb 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -4,6 +4,7 @@ import type {StyleUtilsType} from '@styles/utils'; import variables from '@styles/variables'; import CONFIG from '@src/CONFIG'; import createModalCardStyleInterpolator from './createModalCardStyleInterpolator'; +import getRightModalNavigatorOptions from './getRightModalNavigatorOptions'; type ScreenOptions = Record; @@ -23,23 +24,12 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr return { rightModalNavigator: { ...commonScreenOptions, + ...getRightModalNavigatorOptions(isSmallScreenWidth), cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), - presentation: 'transparentModal', - - // We want pop in RHP since there are some flows that would work weird otherwise - animationTypeForReplace: 'pop', - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - - // This is necessary to cover translated sidebar with overlay. - width: isSmallScreenWidth ? '100%' : '200%', - // Excess space should be on the left so we need to position from right. - right: 0, - }, }, leftModalNavigator: { ...commonScreenOptions, - cardStyleInterpolator: (props) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), presentation: 'transparentModal', gestureDirection: 'horizontal-inverted', @@ -58,8 +48,8 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr homeScreen: { title: CONFIG.SITE_TITLE, ...commonScreenOptions, + // Note: The card* properties won't be applied on mobile platforms, as they use the native defaults. cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), - cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, @@ -72,6 +62,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr fullScreen: { ...commonScreenOptions, + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, props), cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), @@ -86,7 +77,9 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, animationEnabled: isSmallScreenWidth, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, props), - + // temporary solution - better to hide a keyboard than see keyboard flickering + // see https://github.com/software-mansion/react-native-screens/issues/2021 for more details + keyboardHandlingEnabled: true, cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts new file mode 100644 index 0000000000000..ca9769fa9972d --- /dev/null +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts @@ -0,0 +1,8 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +const defaultSubRouteOptions: NativeStackNavigationOptions = { + headerShown: false, + animation: 'slide_from_right', +}; + +export default defaultSubRouteOptions; diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.ts new file mode 100644 index 0000000000000..280a38b263b75 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.ts @@ -0,0 +1,9 @@ +import type {StackNavigationOptions} from '@react-navigation/stack'; +import {CardStyleInterpolators} from '@react-navigation/stack'; + +const defaultSubRouteOptions: StackNavigationOptions = { + headerShown: false, + cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, +}; + +export default defaultSubRouteOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts new file mode 100644 index 0000000000000..ef44cefc13c99 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts @@ -0,0 +1,7 @@ +import {createNativeStackNavigator} from '@react-navigation/native-stack'; + +function createPlatformStackNavigator() { + return createNativeStackNavigator(); +} + +export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts new file mode 100644 index 0000000000000..51228295572fd --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts @@ -0,0 +1,5 @@ +import {createStackNavigator} from '@react-navigation/stack'; + +const createPlatformStackNavigator: typeof createStackNavigator = () => createStackNavigator(); + +export default createPlatformStackNavigator; From 349e3b03d2e1ffeb9a43b532abe34152226fa3ba Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 6 Mar 2024 15:27:27 +0100 Subject: [PATCH 002/178] fix: cross platform slide_from_left transition --- patches/react-native-screens+3.29.0.patch | 149 ++++++++++++++++++ .../Navigators/LeftModalNavigator.tsx | 3 +- .../index.native.tsx | 4 +- .../index.native.tsx | 4 +- .../getRootNavigatorScreenOptions.ts | 6 +- 5 files changed, 159 insertions(+), 7 deletions(-) create mode 100644 patches/react-native-screens+3.29.0.patch diff --git a/patches/react-native-screens+3.29.0.patch b/patches/react-native-screens+3.29.0.patch new file mode 100644 index 0000000000000..d59c1d596cfdf --- /dev/null +++ b/patches/react-native-screens+3.29.0.patch @@ -0,0 +1,149 @@ +diff --git a/node_modules/react-native-screens/ios/RNSEnums.h b/node_modules/react-native-screens/ios/RNSEnums.h +index 1895f44..d207517 100644 +--- a/node_modules/react-native-screens/ios/RNSEnums.h ++++ b/node_modules/react-native-screens/ios/RNSEnums.h +@@ -16,6 +16,7 @@ typedef NS_ENUM(NSInteger, RNSScreenStackAnimation) { + RNSScreenStackAnimationFlip, + RNSScreenStackAnimationSlideFromBottom, + RNSScreenStackAnimationSimplePush, ++ RNSScreenStackAnimationSlideFromLeft + }; + + typedef NS_ENUM(NSInteger, RNSScreenReplaceAnimation) { +diff --git a/node_modules/react-native-screens/ios/RNSScreen.mm b/node_modules/react-native-screens/ios/RNSScreen.mm +index 4b24cff..c09cecb 100644 +--- a/node_modules/react-native-screens/ios/RNSScreen.mm ++++ b/node_modules/react-native-screens/ios/RNSScreen.mm +@@ -194,6 +194,7 @@ - (void)setStackAnimation:(RNSScreenStackAnimation)stackAnimation + case RNSScreenStackAnimationSimplePush: + case RNSScreenStackAnimationSlideFromBottom: + case RNSScreenStackAnimationFadeFromBottom: ++ case RNSScreenStackAnimationSlideFromLeft: + // Default + break; + } +@@ -1551,7 +1552,7 @@ @implementation RCTConvert (RNSScreen) + @"simple_push" : @(RNSScreenStackAnimationSimplePush), + @"slide_from_bottom" : @(RNSScreenStackAnimationSlideFromBottom), + @"slide_from_right" : @(RNSScreenStackAnimationDefault), +- @"slide_from_left" : @(RNSScreenStackAnimationDefault), ++ @"slide_from_left" : @(RNSScreenStackAnimationSlideFromLeft), + @"ios" : @(RNSScreenStackAnimationDefault), + }), + RNSScreenStackAnimationDefault, +diff --git a/node_modules/react-native-screens/ios/RNSScreenStack.mm b/node_modules/react-native-screens/ios/RNSScreenStack.mm +index 6c3afe6..13be741 100644 +--- a/node_modules/react-native-screens/ios/RNSScreenStack.mm ++++ b/node_modules/react-native-screens/ios/RNSScreenStack.mm +@@ -722,6 +722,8 @@ - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer + // of `UISemanticContentAttributeForceLeftToRight`, so we just check if it is RTL or not + BOOL isCorrectEdge = (_controller.view.semanticContentAttribute == UISemanticContentAttributeForceRightToLeft && + ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges == UIRectEdgeRight) || ++ (topScreen.stackAnimation == RNSScreenStackAnimationSlideFromLeft && ++ ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges == UIRectEdgeRight) || + (_controller.view.semanticContentAttribute != UISemanticContentAttributeForceRightToLeft && + ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges == UIRectEdgeLeft); + if (isCorrectEdge) { +@@ -786,8 +788,10 @@ - (void)handleSwipe:(UIPanGestureRecognizer *)gestureRecognizer + velocity = -velocity; + } + } ++ bool isInverted = topScreen.stackAnimation == RNSScreenStackAnimationSlideFromLeft; + +- float transitionProgress = (translation / distance); ++ float transitionProgress = translation / distance; ++ transitionProgress = isInverted ? transitionProgress * -1 : transitionProgress; + + switch (gestureRecognizer.state) { + case UIGestureRecognizerStateBegan: { +@@ -809,7 +813,10 @@ - (void)handleSwipe:(UIPanGestureRecognizer *)gestureRecognizer + case UIGestureRecognizerStateEnded: { + // values taken from + // https://github.com/react-navigation/react-navigation/blob/54739828598d7072c1bf7b369659e3682db3edc5/packages/stack/src/views/Stack/Card.tsx#L316 +- BOOL shouldFinishTransition = (translation + velocity * 0.3) > (distance / 2); ++ float snapPoint = distance / 2; ++ float gestureDistance = translation + velocity * 0.3; ++ gestureDistance = isInverted ? gestureDistance * -1 : gestureDistance; ++ BOOL shouldFinishTransition = gestureDistance > snapPoint; + if (shouldFinishTransition) { + [_interactionController finishInteractiveTransition]; + } else { +diff --git a/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm b/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm +index 6fc0542..e2f5b8f 100644 +--- a/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm ++++ b/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm +@@ -225,6 +225,64 @@ - (void)animateSlideFromBottomWithTransitionContext:(id)transitionContext ++ toVC:(UIViewController *)toViewController ++ fromVC:(UIViewController *)fromViewController ++{ ++ float containerWidth = transitionContext.containerView.bounds.size.width; ++ float belowViewWidth = containerWidth * 0.3; ++ ++ CGAffineTransform rightTransform = CGAffineTransformMakeTranslation(-containerWidth, 0); ++ CGAffineTransform leftTransform = CGAffineTransformMakeTranslation(belowViewWidth, 0); ++ ++ if (toViewController.navigationController.view.semanticContentAttribute == ++ UISemanticContentAttributeForceRightToLeft) { ++ rightTransform = CGAffineTransformMakeTranslation(-containerWidth, 0); ++ leftTransform = CGAffineTransformMakeTranslation(belowViewWidth, 0); ++ } ++ ++ if (_operation == UINavigationControllerOperationPush) { ++ toViewController.view.transform = rightTransform; ++ [[transitionContext containerView] addSubview:toViewController.view]; ++ [UIView animateWithDuration:[self transitionDuration:transitionContext] ++ animations:^{ ++ fromViewController.view.transform = leftTransform; ++ toViewController.view.transform = CGAffineTransformIdentity; ++ } ++ completion:^(BOOL finished) { ++ fromViewController.view.transform = CGAffineTransformIdentity; ++ toViewController.view.transform = CGAffineTransformIdentity; ++ [transitionContext completeTransition:![transitionContext transitionWasCancelled]]; ++ }]; ++ } else if (_operation == UINavigationControllerOperationPop) { ++ toViewController.view.transform = leftTransform; ++ [[transitionContext containerView] insertSubview:toViewController.view belowSubview:fromViewController.view]; ++ ++ void (^animationBlock)(void) = ^{ ++ toViewController.view.transform = CGAffineTransformIdentity; ++ fromViewController.view.transform = rightTransform; ++ }; ++ void (^completionBlock)(BOOL) = ^(BOOL finished) { ++ fromViewController.view.transform = CGAffineTransformIdentity; ++ toViewController.view.transform = CGAffineTransformIdentity; ++ [transitionContext completeTransition:![transitionContext transitionWasCancelled]]; ++ }; ++ ++ if (!transitionContext.isInteractive) { ++ [UIView animateWithDuration:[self transitionDuration:transitionContext] ++ animations:animationBlock ++ completion:completionBlock]; ++ } else { ++ // we don't want the EaseInOut option when swiping to dismiss the view, it is the same in default animation option ++ [UIView animateWithDuration:[self transitionDuration:transitionContext] ++ delay:0.0 ++ options:UIViewAnimationOptionCurveLinear ++ animations:animationBlock ++ completion:completionBlock]; ++ } ++ } ++} ++ + - (void)animateFadeFromBottomWithTransitionContext:(id)transitionContext + toVC:(UIViewController *)toViewController + fromVC:(UIViewController *)fromViewController +@@ -309,6 +367,9 @@ - (void)animateTransitionWithStackAnimation:(RNSScreenStackAnimation)animation + } else if (animation == RNSScreenStackAnimationSlideFromBottom) { + [self animateSlideFromBottomWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; + return; ++ } else if (animation == RNSScreenStackAnimationSlideFromLeft) { ++ [self animateSlideFromLeftWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; ++ return; + } else if (animation == RNSScreenStackAnimationFadeFromBottom) { + [self animateFadeFromBottomWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; + return; \ No newline at end of file diff --git a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx index 8f76d8fbdd7b9..c83b22fb95f2d 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx @@ -10,11 +10,12 @@ import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackN import type {AuthScreensParamList, LeftModalNavigatorParamList} from '@libs/Navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import Overlay from './Overlay'; type LeftModalNavigatorProps = StackScreenProps; -const Stack = createStackNavigator(); +const Stack = createPlatformStackNavigator(); function LeftModalNavigator({navigation}: LeftModalNavigatorProps) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index 2f61f1519df06..633469c94e16e 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -1,7 +1,7 @@ import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import {StackView} from '@react-navigation/stack'; +import { NativeStackView } from '@react-navigation/native-stack'; import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; @@ -20,7 +20,7 @@ function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { return ( - - modalCardStyleInterpolator(isSmallScreenWidth, false, props), - presentation: 'transparentModal', - gestureDirection: 'horizontal-inverted', + // presentation: 'transparentModal', + // gestureDirection: 'horizontal-inverted', + animation: 'slide_from_left', + customAnimationOnGesture: true, // We want pop in LHP since there are some flows that would work weird otherwise animationTypeForReplace: 'pop', From afcb1235118a2658b6e4cdd9f3ef4ff1e160e424 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Thu, 7 Mar 2024 16:21:38 +0100 Subject: [PATCH 003/178] fix (#37257): use instead of transition --- .../AppNavigator/modalStackNavigatorOptions/index.native.ts | 3 ++- .../modalStackNavigatorOptions/transition.android.ts | 4 ++++ .../modalStackNavigatorOptions/transition.ios.ts | 5 +++++ .../AppNavigator/modalStackNavigatorOptions/transition.ts | 3 +++ 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.android.ts create mode 100644 src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ios.ts create mode 100644 src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ts diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts index ca9769fa9972d..3c88d478b199c 100644 --- a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts @@ -1,8 +1,9 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import transition from './transition'; const defaultSubRouteOptions: NativeStackNavigationOptions = { headerShown: false, - animation: 'slide_from_right', + animation: transition, }; export default defaultSubRouteOptions; diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.android.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.android.ts new file mode 100644 index 0000000000000..acceb14674418 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.android.ts @@ -0,0 +1,4 @@ +// `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS +const transition = 'slide_from_right'; + +export default transition; diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ios.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ios.ts new file mode 100644 index 0000000000000..b118370760e2d --- /dev/null +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ios.ts @@ -0,0 +1,5 @@ +// default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 +// so we are using `simple_push` which is similar to default and not causing keyboard transition issues +const transition = 'simple_push'; + +export default transition; diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ts new file mode 100644 index 0000000000000..7e323f40db250 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ts @@ -0,0 +1,3 @@ +const transition = 'default'; + +export default transition; From 90c03a714d3311643a80763d03fe9dd57ae75f9d Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 8 Mar 2024 13:46:49 +0100 Subject: [PATCH 004/178] fix: ts & eslint --- .../Navigators/LeftModalNavigator.tsx | 3 +-- .../index.native.tsx | 16 +++++++++------- .../createCustomFullScreenNavigator/types.ts | 4 +++- .../createCustomStackNavigator/index.native.tsx | 16 +++++++++------- .../createCustomStackNavigator/types.ts | 5 ++++- 5 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx index c83b22fb95f2d..2741b0ee21407 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx @@ -1,5 +1,4 @@ import type {StackScreenProps} from '@react-navigation/stack'; -import {createStackNavigator} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; @@ -7,10 +6,10 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {AuthScreensParamList, LeftModalNavigatorParamList} from '@libs/Navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import Overlay from './Overlay'; type LeftModalNavigatorProps = StackScreenProps; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index 633469c94e16e..cf37164bb2f15 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -1,17 +1,17 @@ import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import { NativeStackView } from '@react-navigation/native-stack'; +import {NativeStackView} from '@react-navigation/native-stack'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import CustomFullScreenRouter from './CustomFullScreenRouter'; -import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; +import type {FullScreenNativeNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { +function CustomFullScreenNavigator(props: FullScreenNativeNavigatorProps) { const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< StackNavigationState, FullScreenNavigatorRouterOptions, StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap + NativeStackNavigationOptions, + NativeStackNavigationEventMap >(CustomFullScreenRouter, { children: props.children, screenOptions: props.screenOptions, @@ -33,4 +33,6 @@ function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; -export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof CustomFullScreenNavigator>(CustomFullScreenNavigator); +export default createNavigatorFactory, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof CustomFullScreenNavigator>( + CustomFullScreenNavigator, +); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts index 7e7808c003d7c..c1e0634616b07 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts @@ -1,8 +1,10 @@ import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; type FullScreenNavigatorRouterOptions = StackRouterOptions; type FullScreenNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap>; +type FullScreenNativeNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap>; -export type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions}; +export type {FullScreenNavigatorProps, FullScreenNativeNavigatorProps, FullScreenNavigatorRouterOptions}; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx index 687ca8edd26da..81ffd6af815bc 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx @@ -1,13 +1,13 @@ import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import {NativeStackView} from '@react-navigation/native-stack'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import React, {useRef} from 'react'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import { NativeStackView } from '@react-navigation/native-stack'; import CustomRouter from './CustomRouter'; -import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; +import type {ResponsiveNativeStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { +function ResponsiveStackNavigator(props: ResponsiveNativeStackNavigatorProps) { const {isSmallScreenWidth} = useWindowDimensions(); const isSmallScreenWidthRef = useRef(isSmallScreenWidth); @@ -18,8 +18,8 @@ function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { StackNavigationState, ResponsiveStackNavigatorRouterOptions, StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap + NativeStackNavigationOptions, + NativeStackNavigationEventMap >(CustomRouter, { children: props.children, screenOptions: props.screenOptions, @@ -41,4 +41,6 @@ function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; -export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof ResponsiveStackNavigator>(ResponsiveStackNavigator); +export default createNavigatorFactory, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof ResponsiveStackNavigator>( + ResponsiveStackNavigator, +); diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts index 09d35e2a1680b..f6b3efa843f68 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts @@ -1,4 +1,5 @@ import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; type ResponsiveStackNavigatorConfig = { @@ -9,5 +10,7 @@ type ResponsiveStackNavigatorRouterOptions = StackRouterOptions; type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap> & ResponsiveStackNavigatorConfig; +type ResponsiveNativeStackNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap> & + ResponsiveStackNavigatorConfig; -export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps, ResponsiveStackNavigatorConfig}; +export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps, ResponsiveStackNavigatorConfig, ResponsiveNativeStackNavigatorProps}; From 047ea38732d241f8409ad6147e99885acebeadf4 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 8 Mar 2024 15:36:05 +0100 Subject: [PATCH 005/178] fix: show profile picture from settings --- src/libs/Navigation/AppNavigator/AuthScreens.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index 463dcfcd9e999..6949b97f53109 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -305,7 +305,6 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie name={SCREENS.PROFILE_AVATAR} options={{ headerShown: false, - presentation: 'transparentModal', }} getComponent={loadProfileAvatar} listeners={modalScreenListeners} From b5e5e7de5b4fef57248ae8be9089537e48e9b763 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 8 Mar 2024 15:55:48 +0100 Subject: [PATCH 006/178] fix: consistent transitions on Android for Settings/Profile screen --- .../Navigation/AppNavigator/getRootNavigatorScreenOptions.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 4a0aa3cd4c105..7da2c776506b3 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -72,6 +72,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr // This is necessary to cover whole screen. Including translated sidebar. marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, }, + animation: 'slide_from_right', }, centralPaneNavigator: { From 9664f2b2aedc9cb1c5c1cb83f5f814065532d790 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 8 Mar 2024 18:33:01 +0100 Subject: [PATCH 007/178] fix: Status screen, pronounce screen, start chat screen -> fixed keyboard handling (appearance from the bottom, blinks on hide gesture) --- .../AppNavigator/getRootNavigatorScreenOptions.ts | 12 +++++++++--- .../modalStackNavigatorOptions/index.native.ts | 2 +- .../index.android.ts} | 0 .../transition.ios.ts => transition/index.ios.ts} | 0 .../transition.ts => transition/index.ts} | 0 5 files changed, 10 insertions(+), 4 deletions(-) rename src/libs/Navigation/AppNavigator/{modalStackNavigatorOptions/transition.android.ts => transition/index.android.ts} (100%) rename src/libs/Navigation/AppNavigator/{modalStackNavigatorOptions/transition.ios.ts => transition/index.ios.ts} (100%) rename src/libs/Navigation/AppNavigator/{modalStackNavigatorOptions/transition.ts => transition/index.ts} (100%) diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 7da2c776506b3..065478b0a192e 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -5,6 +5,7 @@ import variables from '@styles/variables'; import CONFIG from '@src/CONFIG'; import createModalCardStyleInterpolator from './createModalCardStyleInterpolator'; import getRightModalNavigatorOptions from './getRightModalNavigatorOptions'; +import transition from './transition'; type ScreenOptions = Record; @@ -15,6 +16,11 @@ const commonScreenOptions: StackNavigationOptions = { cardOverlayEnabled: true, animationTypeForReplace: 'push', }; +const hideKeyboardOnSwipe = { + // temporary solution - better to hide a keyboard than see keyboard flickering + // see https://github.com/software-mansion/react-native-screens/issues/2021 for more details + keyboardHandlingEnabled: true, +}; type GetRootNavigatorScreenOptions = (isSmallScreenWidth: boolean, styles: ThemeStyles, StyleUtils: StyleUtilsType) => ScreenOptions; @@ -26,6 +32,8 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, ...getRightModalNavigatorOptions(isSmallScreenWidth), cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), + animation: transition, + ...hideKeyboardOnSwipe, }, leftModalNavigator: { ...commonScreenOptions, @@ -80,9 +88,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, animationEnabled: isSmallScreenWidth, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, props), - // temporary solution - better to hide a keyboard than see keyboard flickering - // see https://github.com/software-mansion/react-native-screens/issues/2021 for more details - keyboardHandlingEnabled: true, + ...hideKeyboardOnSwipe, cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts index 3c88d478b199c..e145d881b4502 100644 --- a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import transition from './transition'; +import transition from '@libs/Navigation/AppNavigator/transition'; const defaultSubRouteOptions: NativeStackNavigationOptions = { headerShown: false, diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.android.ts b/src/libs/Navigation/AppNavigator/transition/index.android.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.android.ts rename to src/libs/Navigation/AppNavigator/transition/index.android.ts diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ios.ts b/src/libs/Navigation/AppNavigator/transition/index.ios.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ios.ts rename to src/libs/Navigation/AppNavigator/transition/index.ios.ts diff --git a/src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ts b/src/libs/Navigation/AppNavigator/transition/index.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/modalStackNavigatorOptions/transition.ts rename to src/libs/Navigation/AppNavigator/transition/index.ts From 8860266e50b2a31e78eb3073f507615c188a6e47 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 8 Mar 2024 19:02:42 +0100 Subject: [PATCH 008/178] fix: hide keyboard on swipe for Private notes --- .../AppNavigator/Navigators/RightModalNavigator.tsx | 2 ++ .../AppNavigator/getRootNavigatorScreenOptions.ts | 6 +----- src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts | 7 +++++++ 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 550fb947a4e6f..cd8425a871b68 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -7,6 +7,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; +import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; @@ -132,6 +133,7 @@ function RightModalNavigator({navigation}: RightModalNavigatorProps) { ; @@ -16,11 +17,6 @@ const commonScreenOptions: StackNavigationOptions = { cardOverlayEnabled: true, animationTypeForReplace: 'push', }; -const hideKeyboardOnSwipe = { - // temporary solution - better to hide a keyboard than see keyboard flickering - // see https://github.com/software-mansion/react-native-screens/issues/2021 for more details - keyboardHandlingEnabled: true, -}; type GetRootNavigatorScreenOptions = (isSmallScreenWidth: boolean, styles: ThemeStyles, StyleUtils: StyleUtilsType) => ScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts b/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts new file mode 100644 index 0000000000000..75a832555c1f4 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts @@ -0,0 +1,7 @@ +const hideKeyboardOnSwipe = { + // temporary solution - better to hide a keyboard than see keyboard flickering + // see https://github.com/software-mansion/react-native-screens/issues/2021 for more details + keyboardHandlingEnabled: true, +}; + +export default hideKeyboardOnSwipe; From afde8de28b18d97d7c5ed08c77d52fe794e08f7f Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 11 Mar 2024 16:55:05 +0100 Subject: [PATCH 009/178] feat: added integration with InteractionManager --- ...dded-interaction-manager-integration.patch | 55 +++++++++++++++++++ ...ion+native-stack+6.9.17+001+initial.patch} | 0 2 files changed, 55 insertions(+) create mode 100644 patches/@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch rename patches/{@react-navigation+native-stack+6.9.17.patch => @react-navigation+native-stack+6.9.17+001+initial.patch} (100%) diff --git a/patches/@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch new file mode 100644 index 0000000000000..edb89d594c49b --- /dev/null +++ b/patches/@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch @@ -0,0 +1,55 @@ +diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +index 03d8b50..a6a54ba 100644 +--- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx ++++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +@@ -17,7 +17,7 @@ import { + useTheme, + } from '@react-navigation/native'; + import * as React from 'react'; +-import { Platform, StyleSheet, View } from 'react-native'; ++import { InteractionManager, Platform, StyleSheet, View } from 'react-native'; + import { + useSafeAreaFrame, + useSafeAreaInsets, +@@ -121,7 +121,7 @@ type SceneViewProps = { + previousDescriptor?: NativeStackDescriptor; + nextDescriptor?: NativeStackDescriptor; + onWillDisappear: () => void; +- onAppear: () => void; ++ onAppear: ScreenProps['onAppear']; + onDisappear: () => void; + onDismissed: ScreenProps['onDismissed']; + onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; +@@ -234,6 +234,23 @@ const SceneView = ({ + statusBarHeight + ); + ++ const interactionHandleRef = React.useRef(); ++ ++ // this memo acts as a synchronous useEffect ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = InteractionManager.createInteractionHandle(); ++ } ++ }, [focused]); ++ const onAppearCallback: ScreenProps["onAppear"] = React.useCallback((e) => { ++ onAppear?.(e); ++ ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ + const [customHeaderHeight, setCustomHeaderHeight] = + React.useState(defaultHeaderHeight); + +@@ -279,7 +296,7 @@ const SceneView = ({ + swipeDirection={gestureDirectionOverride} + transitionDuration={animationDuration} + onWillDisappear={onWillDisappear} +- onAppear={onAppear} ++ onAppear={onAppearCallback} + onDisappear={onDisappear} + onDismissed={onDismissed} + isNativeStack diff --git a/patches/@react-navigation+native-stack+6.9.17.patch b/patches/@react-navigation+native-stack+6.9.17+001+initial.patch similarity index 100% rename from patches/@react-navigation+native-stack+6.9.17.patch rename to patches/@react-navigation+native-stack+6.9.17+001+initial.patch From 07fb94f745b20a6b94afcc202a4c0917261e83cf Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 11 Mar 2024 17:01:55 +0100 Subject: [PATCH 010/178] fix: prettier --- .../Navigation/AppNavigator/Navigators/RightModalNavigator.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index cd8425a871b68..61ae43f423e39 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -4,10 +4,10 @@ import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; From 6b6690c8e4182043aeedc7d4e2684602fc975c8b Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 11 Mar 2024 18:14:33 +0100 Subject: [PATCH 011/178] chore: rename patches to be more consistent wwith other changes --- ...on+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch} | 0 ...-stack+6.9.17+002+added-interaction-manager-integration.patch} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename patches/{@react-navigation+native-stack+6.9.17+001+initial.patch => @react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch} (100%) rename patches/{@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch => @react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch} (100%) diff --git a/patches/@react-navigation+native-stack+6.9.17+001+initial.patch b/patches/@react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch similarity index 100% rename from patches/@react-navigation+native-stack+6.9.17+001+initial.patch rename to patches/@react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch diff --git a/patches/@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch similarity index 100% rename from patches/@react-navigation+native-stack+6.9.17+001+added-interaction-manager-integration.patch rename to patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch From b9d226225813471c1ad214fcbad9e5c60237aaab Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 11 Mar 2024 18:51:13 +0100 Subject: [PATCH 012/178] fix: new chat -> description (keyboard close on back swipe) --- src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx index f7ac892e40bcb..c3906d5611e0e 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators.tsx @@ -35,6 +35,7 @@ import type { import type {ThemeStyles} from '@styles/index'; import type {Screen} from '@src/SCREENS'; import SCREENS from '@src/SCREENS'; +import hideKeyboardOnSwipe from './hideKeyboardOnSwipe'; import subRouteOptions from './modalStackNavigatorOptions'; type Screens = Partial React.ComponentType>>; @@ -54,6 +55,7 @@ function createModalStackNavigator(screens: const defaultSubRouteOptions = useMemo( (): StackNavigationOptions => ({ ...subRouteOptions, + ...hideKeyboardOnSwipe, cardStyle: styles.navigationScreenCardStyle, }), [styles], From 2aec5aff0f79f59bcf0a1a623586585164cdc7ca Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 12 Mar 2024 16:41:30 +0100 Subject: [PATCH 013/178] chore: added PRs references for patches --- ...+6.9.17+002+added-interaction-manager-integration.patch | 7 ++++--- patches/react-native-screens+3.29.0.patch | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch index edb89d594c49b..fd528359030fc 100644 --- a/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch +++ b/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index 03d8b50..a6a54ba 100644 +index 03d8b50..8404566 100644 --- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx @@ -17,7 +17,7 @@ import { @@ -20,10 +20,11 @@ index 03d8b50..a6a54ba 100644 onDisappear: () => void; onDismissed: ScreenProps['onDismissed']; onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; -@@ -234,6 +234,23 @@ const SceneView = ({ +@@ -234,6 +234,24 @@ const SceneView = ({ statusBarHeight ); ++ // https://github.com/react-navigation/react-navigation/pull/11887 + const interactionHandleRef = React.useRef(); + + // this memo acts as a synchronous useEffect @@ -44,7 +45,7 @@ index 03d8b50..a6a54ba 100644 const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); -@@ -279,7 +296,7 @@ const SceneView = ({ +@@ -279,7 +297,7 @@ const SceneView = ({ swipeDirection={gestureDirectionOverride} transitionDuration={animationDuration} onWillDisappear={onWillDisappear} diff --git a/patches/react-native-screens+3.29.0.patch b/patches/react-native-screens+3.29.0.patch index d59c1d596cfdf..b8d210cd5aa1c 100644 --- a/patches/react-native-screens+3.29.0.patch +++ b/patches/react-native-screens+3.29.0.patch @@ -1,11 +1,12 @@ diff --git a/node_modules/react-native-screens/ios/RNSEnums.h b/node_modules/react-native-screens/ios/RNSEnums.h -index 1895f44..d207517 100644 +index 1895f44..66195ca 100644 --- a/node_modules/react-native-screens/ios/RNSEnums.h +++ b/node_modules/react-native-screens/ios/RNSEnums.h -@@ -16,6 +16,7 @@ typedef NS_ENUM(NSInteger, RNSScreenStackAnimation) { +@@ -16,6 +16,8 @@ typedef NS_ENUM(NSInteger, RNSScreenStackAnimation) { RNSScreenStackAnimationFlip, RNSScreenStackAnimationSlideFromBottom, RNSScreenStackAnimationSimplePush, ++ // https://github.com/software-mansion/react-native-screens/pull/2057 + RNSScreenStackAnimationSlideFromLeft }; @@ -146,4 +147,4 @@ index 6fc0542..e2f5b8f 100644 + return; } else if (animation == RNSScreenStackAnimationFadeFromBottom) { [self animateFadeFromBottomWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; - return; \ No newline at end of file + return; From 3bc82654c037268c774d7c950b024178b5d0b8f9 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 12 Mar 2024 17:30:14 +0100 Subject: [PATCH 014/178] fix: double back press from preferences causes buttons on settings screen to be disabled (when settings screen becomes shown again) --- ...dded-interaction-manager-integration.patch | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch index fd528359030fc..da61ec6a25ba8 100644 --- a/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch +++ b/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index 03d8b50..8404566 100644 +index 03d8b50..acc0c34 100644 --- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx @@ -17,7 +17,7 @@ import { @@ -20,32 +20,39 @@ index 03d8b50..8404566 100644 onDisappear: () => void; onDismissed: ScreenProps['onDismissed']; onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; -@@ -234,6 +234,24 @@ const SceneView = ({ +@@ -234,6 +234,31 @@ const SceneView = ({ statusBarHeight ); + // https://github.com/react-navigation/react-navigation/pull/11887 + const interactionHandleRef = React.useRef(); + -+ // this memo acts as a synchronous useEffect ++ // this memo acts as a synchronous `useEffect` + React.useMemo(() => { + if (focused && interactionHandleRef.current === undefined) { + interactionHandleRef.current = InteractionManager.createInteractionHandle(); + } + }, [focused]); -+ const onAppearCallback: ScreenProps["onAppear"] = React.useCallback((e) => { -+ onAppear?.(e); -+ ++ const finishInteraction = React.useCallback(() => { + if (interactionHandleRef.current !== undefined) { + InteractionManager.clearInteractionHandle(interactionHandleRef.current); + interactionHandleRef.current = undefined; + } + }, []); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]) ++ ++ const onAppearCallback: ScreenProps["onAppear"] = React.useCallback((e) => { ++ onAppear?.(e); ++ ++ finishInteraction(); ++ }, [onAppear, finishInteraction]); + const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); -@@ -279,7 +297,7 @@ const SceneView = ({ +@@ -279,7 +304,7 @@ const SceneView = ({ swipeDirection={gestureDirectionOverride} transitionDuration={animationDuration} onWillDisappear={onWillDisappear} From f2c32e6596434c41a4c2d0ec15585351d17b4d8e Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 13 Mar 2024 13:13:44 +0100 Subject: [PATCH 015/178] chore: removed commented out code --- .../Navigation/AppNavigator/getRootNavigatorScreenOptions.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 2d373f01b0a28..705d0d855add7 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -34,8 +34,6 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr leftModalNavigator: { ...commonScreenOptions, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), - // presentation: 'transparentModal', - // gestureDirection: 'horizontal-inverted', animation: 'slide_from_left', customAnimationOnGesture: true, From 2fff6cb4aa8a70df15c6ce30403188c1ac6d7c2c Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 15 Mar 2024 12:37:49 +0100 Subject: [PATCH 016/178] fix: leftModalStackNavigator platform specific options --- .../AppNavigator/getRootNavigatorScreenOptions.ts | 4 ++-- .../AppNavigator/leftModalNavigatorOptions/index.native.ts | 6 ++++++ .../AppNavigator/leftModalNavigatorOptions/index.ts | 6 ++++++ 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts create mode 100644 src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 705d0d855add7..f78a15617a980 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -6,6 +6,7 @@ import CONFIG from '@src/CONFIG'; import createModalCardStyleInterpolator from './createModalCardStyleInterpolator'; import getRightModalNavigatorOptions from './getRightModalNavigatorOptions'; import hideKeyboardOnSwipe from './hideKeyboardOnSwipe'; +import leftModalNavigatorOptions from './leftModalNavigatorOptions'; import transition from './transition'; type ScreenOptions = Record; @@ -33,9 +34,8 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr }, leftModalNavigator: { ...commonScreenOptions, + ...leftModalNavigatorOptions, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, props), - animation: 'slide_from_left', - customAnimationOnGesture: true, // We want pop in LHP since there are some flows that would work weird otherwise animationTypeForReplace: 'pop', diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts new file mode 100644 index 0000000000000..a6710efdf4bbe --- /dev/null +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -0,0 +1,6 @@ +const leftModalNavigatorOptions = { + animation: 'slide_from_left', + customAnimationOnGesture: true, +}; + +export default leftModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts new file mode 100644 index 0000000000000..3482844aa35a4 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts @@ -0,0 +1,6 @@ +const leftModalNavigatorOptions = { + presentation: 'transparentModal', + gestureDirection: 'horizontal-inverted', +}; + +export default leftModalNavigatorOptions; From ffa510b2947b71e569dc58c142a3ea4377ad055e Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Fri, 15 Mar 2024 12:54:40 +0100 Subject: [PATCH 017/178] fix: incorrect automatic types conversion --- .../AppNavigator/leftModalNavigatorOptions/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts index 3482844aa35a4..e27d9d1444791 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts @@ -1,4 +1,6 @@ -const leftModalNavigatorOptions = { +import type {StackNavigationOptions} from '@react-navigation/stack'; + +const leftModalNavigatorOptions: StackNavigationOptions = { presentation: 'transparentModal', gestureDirection: 'horizontal-inverted', }; From 651bbef5e1122c918b516f494a1c62515e4dc423 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 27 Mar 2024 12:48:54 +0100 Subject: [PATCH 018/178] chore: update RNS to latest version, remove patch --- ios/Podfile.lock | 4 +- package-lock.json | 7 +- package.json | 2 +- patches/react-native-screens+3.29.0.patch | 150 ---------------------- 4 files changed, 7 insertions(+), 156 deletions(-) delete mode 100644 patches/react-native-screens+3.29.0.patch diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 310003ee8adce..7e367c067d2f4 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1389,7 +1389,7 @@ PODS: - RCT-Folly (= 2022.05.16.00) - React-Core - ReactCommon/turbomodule/core - - RNScreens (3.29.0): + - RNScreens (3.30.1): - glog - RCT-Folly (= 2022.05.16.00) - React-Core @@ -1910,7 +1910,7 @@ SPEC CHECKSUMS: RNPermissions: 9b086c8f05b2e2faa587fdc31f4c5ab4509728aa RNReactNativeHapticFeedback: ec56a5f81c3941206fd85625fa669ffc7b4545f9 RNReanimated: 3850671fd0c67051ea8e1e648e8c3e86bf3a28eb - RNScreens: b582cb834dc4133307562e930e8fa914b8c04ef2 + RNScreens: 77fc79e66b726ee45b091486b348418ee1d792ab RNShare: 859ff710211285676b0bcedd156c12437ea1d564 RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852 RNSVG: ba3e7232f45e34b7b47e74472386cf4e1a676d0a diff --git a/package-lock.json b/package-lock.json index 0be13f3af7865..3620ad5b50b7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -108,7 +108,7 @@ "react-native-release-profiler": "^0.1.6", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "4.8.2", - "react-native-screens": "3.29.0", + "react-native-screens": "3.30.1", "react-native-share": "^10.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "14.1.0", @@ -39587,8 +39587,9 @@ } }, "node_modules/react-native-screens": { - "version": "3.29.0", - "license": "MIT", + "version": "3.30.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.30.1.tgz", + "integrity": "sha512-/muEvjocCtFb+j5J3YmLvB25+f4rIU8hnnxgGTkXcAf2omPBY8uhPjJaaFUlvj64VEoEzJcRpugbXWsjfPPIFg==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" diff --git a/package.json b/package.json index fb174293063ab..279fbef36302f 100644 --- a/package.json +++ b/package.json @@ -159,7 +159,7 @@ "react-native-release-profiler": "^0.1.6", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "4.8.2", - "react-native-screens": "3.29.0", + "react-native-screens": "3.30.1", "react-native-share": "^10.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "14.1.0", diff --git a/patches/react-native-screens+3.29.0.patch b/patches/react-native-screens+3.29.0.patch deleted file mode 100644 index b8d210cd5aa1c..0000000000000 --- a/patches/react-native-screens+3.29.0.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/node_modules/react-native-screens/ios/RNSEnums.h b/node_modules/react-native-screens/ios/RNSEnums.h -index 1895f44..66195ca 100644 ---- a/node_modules/react-native-screens/ios/RNSEnums.h -+++ b/node_modules/react-native-screens/ios/RNSEnums.h -@@ -16,6 +16,8 @@ typedef NS_ENUM(NSInteger, RNSScreenStackAnimation) { - RNSScreenStackAnimationFlip, - RNSScreenStackAnimationSlideFromBottom, - RNSScreenStackAnimationSimplePush, -+ // https://github.com/software-mansion/react-native-screens/pull/2057 -+ RNSScreenStackAnimationSlideFromLeft - }; - - typedef NS_ENUM(NSInteger, RNSScreenReplaceAnimation) { -diff --git a/node_modules/react-native-screens/ios/RNSScreen.mm b/node_modules/react-native-screens/ios/RNSScreen.mm -index 4b24cff..c09cecb 100644 ---- a/node_modules/react-native-screens/ios/RNSScreen.mm -+++ b/node_modules/react-native-screens/ios/RNSScreen.mm -@@ -194,6 +194,7 @@ - (void)setStackAnimation:(RNSScreenStackAnimation)stackAnimation - case RNSScreenStackAnimationSimplePush: - case RNSScreenStackAnimationSlideFromBottom: - case RNSScreenStackAnimationFadeFromBottom: -+ case RNSScreenStackAnimationSlideFromLeft: - // Default - break; - } -@@ -1551,7 +1552,7 @@ @implementation RCTConvert (RNSScreen) - @"simple_push" : @(RNSScreenStackAnimationSimplePush), - @"slide_from_bottom" : @(RNSScreenStackAnimationSlideFromBottom), - @"slide_from_right" : @(RNSScreenStackAnimationDefault), -- @"slide_from_left" : @(RNSScreenStackAnimationDefault), -+ @"slide_from_left" : @(RNSScreenStackAnimationSlideFromLeft), - @"ios" : @(RNSScreenStackAnimationDefault), - }), - RNSScreenStackAnimationDefault, -diff --git a/node_modules/react-native-screens/ios/RNSScreenStack.mm b/node_modules/react-native-screens/ios/RNSScreenStack.mm -index 6c3afe6..13be741 100644 ---- a/node_modules/react-native-screens/ios/RNSScreenStack.mm -+++ b/node_modules/react-native-screens/ios/RNSScreenStack.mm -@@ -722,6 +722,8 @@ - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer - // of `UISemanticContentAttributeForceLeftToRight`, so we just check if it is RTL or not - BOOL isCorrectEdge = (_controller.view.semanticContentAttribute == UISemanticContentAttributeForceRightToLeft && - ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges == UIRectEdgeRight) || -+ (topScreen.stackAnimation == RNSScreenStackAnimationSlideFromLeft && -+ ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges == UIRectEdgeRight) || - (_controller.view.semanticContentAttribute != UISemanticContentAttributeForceRightToLeft && - ((RNSScreenEdgeGestureRecognizer *)gestureRecognizer).edges == UIRectEdgeLeft); - if (isCorrectEdge) { -@@ -786,8 +788,10 @@ - (void)handleSwipe:(UIPanGestureRecognizer *)gestureRecognizer - velocity = -velocity; - } - } -+ bool isInverted = topScreen.stackAnimation == RNSScreenStackAnimationSlideFromLeft; - -- float transitionProgress = (translation / distance); -+ float transitionProgress = translation / distance; -+ transitionProgress = isInverted ? transitionProgress * -1 : transitionProgress; - - switch (gestureRecognizer.state) { - case UIGestureRecognizerStateBegan: { -@@ -809,7 +813,10 @@ - (void)handleSwipe:(UIPanGestureRecognizer *)gestureRecognizer - case UIGestureRecognizerStateEnded: { - // values taken from - // https://github.com/react-navigation/react-navigation/blob/54739828598d7072c1bf7b369659e3682db3edc5/packages/stack/src/views/Stack/Card.tsx#L316 -- BOOL shouldFinishTransition = (translation + velocity * 0.3) > (distance / 2); -+ float snapPoint = distance / 2; -+ float gestureDistance = translation + velocity * 0.3; -+ gestureDistance = isInverted ? gestureDistance * -1 : gestureDistance; -+ BOOL shouldFinishTransition = gestureDistance > snapPoint; - if (shouldFinishTransition) { - [_interactionController finishInteractiveTransition]; - } else { -diff --git a/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm b/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm -index 6fc0542..e2f5b8f 100644 ---- a/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm -+++ b/node_modules/react-native-screens/ios/RNSScreenStackAnimator.mm -@@ -225,6 +225,64 @@ - (void)animateSlideFromBottomWithTransitionContext:(id)transitionContext -+ toVC:(UIViewController *)toViewController -+ fromVC:(UIViewController *)fromViewController -+{ -+ float containerWidth = transitionContext.containerView.bounds.size.width; -+ float belowViewWidth = containerWidth * 0.3; -+ -+ CGAffineTransform rightTransform = CGAffineTransformMakeTranslation(-containerWidth, 0); -+ CGAffineTransform leftTransform = CGAffineTransformMakeTranslation(belowViewWidth, 0); -+ -+ if (toViewController.navigationController.view.semanticContentAttribute == -+ UISemanticContentAttributeForceRightToLeft) { -+ rightTransform = CGAffineTransformMakeTranslation(-containerWidth, 0); -+ leftTransform = CGAffineTransformMakeTranslation(belowViewWidth, 0); -+ } -+ -+ if (_operation == UINavigationControllerOperationPush) { -+ toViewController.view.transform = rightTransform; -+ [[transitionContext containerView] addSubview:toViewController.view]; -+ [UIView animateWithDuration:[self transitionDuration:transitionContext] -+ animations:^{ -+ fromViewController.view.transform = leftTransform; -+ toViewController.view.transform = CGAffineTransformIdentity; -+ } -+ completion:^(BOOL finished) { -+ fromViewController.view.transform = CGAffineTransformIdentity; -+ toViewController.view.transform = CGAffineTransformIdentity; -+ [transitionContext completeTransition:![transitionContext transitionWasCancelled]]; -+ }]; -+ } else if (_operation == UINavigationControllerOperationPop) { -+ toViewController.view.transform = leftTransform; -+ [[transitionContext containerView] insertSubview:toViewController.view belowSubview:fromViewController.view]; -+ -+ void (^animationBlock)(void) = ^{ -+ toViewController.view.transform = CGAffineTransformIdentity; -+ fromViewController.view.transform = rightTransform; -+ }; -+ void (^completionBlock)(BOOL) = ^(BOOL finished) { -+ fromViewController.view.transform = CGAffineTransformIdentity; -+ toViewController.view.transform = CGAffineTransformIdentity; -+ [transitionContext completeTransition:![transitionContext transitionWasCancelled]]; -+ }; -+ -+ if (!transitionContext.isInteractive) { -+ [UIView animateWithDuration:[self transitionDuration:transitionContext] -+ animations:animationBlock -+ completion:completionBlock]; -+ } else { -+ // we don't want the EaseInOut option when swiping to dismiss the view, it is the same in default animation option -+ [UIView animateWithDuration:[self transitionDuration:transitionContext] -+ delay:0.0 -+ options:UIViewAnimationOptionCurveLinear -+ animations:animationBlock -+ completion:completionBlock]; -+ } -+ } -+} -+ - - (void)animateFadeFromBottomWithTransitionContext:(id)transitionContext - toVC:(UIViewController *)toViewController - fromVC:(UIViewController *)fromViewController -@@ -309,6 +367,9 @@ - (void)animateTransitionWithStackAnimation:(RNSScreenStackAnimation)animation - } else if (animation == RNSScreenStackAnimationSlideFromBottom) { - [self animateSlideFromBottomWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; - return; -+ } else if (animation == RNSScreenStackAnimationSlideFromLeft) { -+ [self animateSlideFromLeftWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; -+ return; - } else if (animation == RNSScreenStackAnimationFadeFromBottom) { - [self animateFadeFromBottomWithTransitionContext:transitionContext toVC:toVC fromVC:fromVC]; - return; From 5ca73162194d6a9d790a3355f1c03fcc93a4603c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 12:58:18 +0200 Subject: [PATCH 019/178] update deps --- ios/Podfile.lock | 29 +++++++---------------------- package-lock.json | 2 +- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index ac5f3fdd397ef..0d4c884109952 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1818,7 +1818,7 @@ PODS: - RNGoogleSignin (10.0.1): - GoogleSignIn (~> 7.0) - React-Core - - RNLiveMarkdown (0.1.47): + - RNLiveMarkdown (0.1.49): - glog - hermes-engine - RCT-Folly (= 2022.05.16.00) @@ -1836,9 +1836,9 @@ PODS: - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNLiveMarkdown/common (= 0.1.47) + - RNLiveMarkdown/common (= 0.1.49) - Yoga - - RNLiveMarkdown/common (0.1.47): + - RNLiveMarkdown/common (0.1.49): - glog - hermes-engine - RCT-Folly (= 2022.05.16.00) @@ -2032,24 +2032,9 @@ PODS: - SocketRocket (0.6.1) - Turf (2.7.0) - VisionCamera (4.0.0-beta.13): - - glog - - hermes-engine - - RCT-Folly (= 2022.05.16.00) - - RCTRequired - - RCTTypeSafety - - React-Codegen + - React + - React-callinvoker - React-Core - - React-debug - - React-Fabric - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - Yoga (1.14.0) DEPENDENCIES: @@ -2547,7 +2532,7 @@ SPEC CHECKSUMS: RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 RNGestureHandler: 1190c218cdaaf029ee1437076a3fbbc3297d89fb RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0 - RNLiveMarkdown: f172c7199283dc9d21bccf7e21ea10741fd19e1d + RNLiveMarkdown: ecfb555a8332434115b2670d99d21fa1f3af0bdf RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81 rnmapbox-maps: 3e273e0e867a079ec33df9ee33bb0482434b897d RNPermissions: 8990fc2c10da3640938e6db1647cb6416095b729 @@ -2563,7 +2548,7 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: af09429398d99d524cae2fe00f6f0f6e491ed102 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2 - VisionCamera: 3033e0dd5272d46e97bcb406adea4ae0e6907abf + VisionCamera: 9f26224fce1233ffdad9fa4e56863e3de2190dc0 Yoga: 64cd2a583ead952b0315d5135bf39e053ae9be70 PODFILE CHECKSUM: a25a81f2b50270f0c0bd0aff2e2ebe4d0b4ec06d diff --git a/package-lock.json b/package-lock.json index 2164ad510b551..c2ae99fb92d85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@dotlottie/react-player": "^1.6.3", - "@expensify/react-native-live-markdown": "^0.1.49", + "@expensify/react-native-live-markdown": "0.1.49", "@expo/metro-runtime": "~3.1.1", "@formatjs/intl-datetimeformat": "^6.10.0", "@formatjs/intl-listformat": "^7.2.2", From a0be472481de679d29f2cc1d19c94bda595f2504 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 14:06:50 +0200 Subject: [PATCH 020/178] implement typed createPlatformStackNavigator --- .../createPlatformStackNavigator.native.ts | 7 ---- .../createPlatformStackNavigator.ts | 5 --- .../createCommonStackNavigator.tsx | 15 +++++++ .../index.native.ts | 15 +++++++ .../createPlatformStackNavigator/index.ts | 15 +++++++ .../createPlatformStackNavigator/types.tsx | 40 +++++++++++++++++++ 6 files changed, 85 insertions(+), 12 deletions(-) delete mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts delete mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx create mode 100644 src/libs/Navigation/createPlatformStackNavigator/index.native.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/index.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/types.tsx diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts deleted file mode 100644 index ef44cefc13c99..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.native.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {createNativeStackNavigator} from '@react-navigation/native-stack'; - -function createPlatformStackNavigator() { - return createNativeStackNavigator(); -} - -export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts deleted file mode 100644 index 51228295572fd..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {createStackNavigator} from '@react-navigation/stack'; - -const createPlatformStackNavigator: typeof createStackNavigator = () => createStackNavigator(); - -export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx b/src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx new file mode 100644 index 0000000000000..cde146f049a77 --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx @@ -0,0 +1,15 @@ +import type {ParamListBase} from '@react-navigation/native'; +import type {CommonNavigatorProps, CommonStack} from './types'; + +function createCommonStackNavigator(Stack: CommonStack) { + return ({screenOptions, initialRouteName, children}: CommonNavigatorProps): React.ReactElement => ( + + {children} + + ); +} + +export default createCommonStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.native.ts b/src/libs/Navigation/createPlatformStackNavigator/index.native.ts new file mode 100644 index 0000000000000..45796c949cd86 --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/index.native.ts @@ -0,0 +1,15 @@ +import {createNavigatorFactory} from '@react-navigation/native'; +import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import {createNativeStackNavigator} from '@react-navigation/native-stack'; +import createCommonStackNavigator from './createCommonStackNavigator'; +import type {CommonNavigationEventMap, CommonNavigationOptions, CommonNavigator} from './types'; +import type CreatePlatformStackNavigatorResult from './types'; + +function createPlatformStackNavigator(): CreatePlatformStackNavigatorResult { + const NativeStack = createNativeStackNavigator(); + const CommonNavigator = createCommonStackNavigator(NativeStack); + + return createNavigatorFactory, CommonNavigationOptions, CommonNavigationEventMap, CommonNavigator>(CommonNavigator)(); +} + +export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.ts b/src/libs/Navigation/createPlatformStackNavigator/index.ts new file mode 100644 index 0000000000000..390f75168d9df --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/index.ts @@ -0,0 +1,15 @@ +import {createNavigatorFactory} from '@react-navigation/native'; +import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import {createStackNavigator} from '@react-navigation/stack'; +import createCommonStackNavigator from './createCommonStackNavigator'; +import type {CommonNavigationEventMap, CommonNavigationOptions, CommonNavigator} from './types'; +import type CreatePlatformStackNavigatorResult from './types'; + +function createPlatformStackNavigator(): CreatePlatformStackNavigatorResult { + const Stack = createStackNavigator(); + const CommonNavigator = createCommonStackNavigator(Stack); + + return createNavigatorFactory, CommonNavigationOptions, CommonNavigationEventMap, CommonNavigator>(CommonNavigator)(); +} + +export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/types.tsx b/src/libs/Navigation/createPlatformStackNavigator/types.tsx new file mode 100644 index 0000000000000..33ab180ea46e6 --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/types.tsx @@ -0,0 +1,40 @@ +import type {createNavigatorFactory} from '@react-navigation/core'; +import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {createNativeStackNavigator, NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import type {createStackNavigator, StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; + +type CommonNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; +type CommonNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; + +type CreateStackNavigatorResult = ReturnType>; +type CreateNativeStackNavigatorResult = ReturnType>; + +type CommonStack = CreateStackNavigatorResult | CreateNativeStackNavigatorResult; + +type CommonStackRouterOptions = Omit & { + initialRouteName: keyof TStackParams; +}; + +type CommonNavigatorProps = DefaultNavigatorOptions, CommonNavigationOptions, CommonNavigationEventMap> & + CommonStackRouterOptions & + StackNavigationConfig; + +// type PlatformStackNavigatorProps = { +// initialRouteName: keyof TStackParams; +// screenOptions?: CommonNavigatorOptions; +// }; + +type CommonNavigator = (props: CommonNavigatorProps) => React.ReactElement; + +type CreatePlatformNavigatorFactory = typeof createNavigatorFactory< + StackNavigationState, + CommonNavigationOptions, + CommonNavigationEventMap, + CommonNavigator +>; +type CreatePlatformNavigatorFactoryResult = ReturnType>; +type CreatePlatformStackNavigatorResult = ReturnType>; + +export default CreatePlatformStackNavigatorResult; +export type {CommonNavigationOptions, CommonNavigationEventMap, CommonStack, CommonNavigatorProps, CommonNavigator}; From 5282af183e353459e1e9e5f05ec4312b9d39357c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 14:33:01 +0200 Subject: [PATCH 021/178] simplify abstraction layer --- .../createCommonStackNavigator.tsx | 15 ------- .../index.native.ts | 15 ------- .../index.native.tsx | 24 +++++++++++ .../createPlatformStackNavigator/index.ts | 15 ------- .../createPlatformStackNavigator/index.tsx | 24 +++++++++++ .../createPlatformStackNavigator/types.tsx | 43 ++++++------------- 6 files changed, 62 insertions(+), 74 deletions(-) delete mode 100644 src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx delete mode 100644 src/libs/Navigation/createPlatformStackNavigator/index.native.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/index.native.tsx delete mode 100644 src/libs/Navigation/createPlatformStackNavigator/index.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/index.tsx diff --git a/src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx b/src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx deleted file mode 100644 index cde146f049a77..0000000000000 --- a/src/libs/Navigation/createPlatformStackNavigator/createCommonStackNavigator.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type {ParamListBase} from '@react-navigation/native'; -import type {CommonNavigatorProps, CommonStack} from './types'; - -function createCommonStackNavigator(Stack: CommonStack) { - return ({screenOptions, initialRouteName, children}: CommonNavigatorProps): React.ReactElement => ( - - {children} - - ); -} - -export default createCommonStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.native.ts b/src/libs/Navigation/createPlatformStackNavigator/index.native.ts deleted file mode 100644 index 45796c949cd86..0000000000000 --- a/src/libs/Navigation/createPlatformStackNavigator/index.native.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; -import {createNativeStackNavigator} from '@react-navigation/native-stack'; -import createCommonStackNavigator from './createCommonStackNavigator'; -import type {CommonNavigationEventMap, CommonNavigationOptions, CommonNavigator} from './types'; -import type CreatePlatformStackNavigatorResult from './types'; - -function createPlatformStackNavigator(): CreatePlatformStackNavigatorResult { - const NativeStack = createNativeStackNavigator(); - const CommonNavigator = createCommonStackNavigator(NativeStack); - - return createNavigatorFactory, CommonNavigationOptions, CommonNavigationEventMap, CommonNavigator>(CommonNavigator)(); -} - -export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx new file mode 100644 index 0000000000000..3279937f1823e --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx @@ -0,0 +1,24 @@ +import {createNavigatorFactory} from '@react-navigation/native'; +import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import {createNativeStackNavigator} from '@react-navigation/native-stack'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigator, PlatformStackNavigatorProps} from './types'; + +function createPlatformStackNavigator() { + const NativeStack = createNativeStackNavigator(); + function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { + return ( + + {children} + + ); + } + + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigator>( + PlatformStackNavigator, + )(); +} + +export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.ts b/src/libs/Navigation/createPlatformStackNavigator/index.ts deleted file mode 100644 index 390f75168d9df..0000000000000 --- a/src/libs/Navigation/createPlatformStackNavigator/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; -import {createStackNavigator} from '@react-navigation/stack'; -import createCommonStackNavigator from './createCommonStackNavigator'; -import type {CommonNavigationEventMap, CommonNavigationOptions, CommonNavigator} from './types'; -import type CreatePlatformStackNavigatorResult from './types'; - -function createPlatformStackNavigator(): CreatePlatformStackNavigatorResult { - const Stack = createStackNavigator(); - const CommonNavigator = createCommonStackNavigator(Stack); - - return createNavigatorFactory, CommonNavigationOptions, CommonNavigationEventMap, CommonNavigator>(CommonNavigator)(); -} - -export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/createPlatformStackNavigator/index.tsx new file mode 100644 index 0000000000000..8db88be9e2996 --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/index.tsx @@ -0,0 +1,24 @@ +import {createNavigatorFactory} from '@react-navigation/native'; +import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import {createStackNavigator} from '@react-navigation/stack'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigator, PlatformStackNavigatorProps} from './types'; + +function createPlatformStackNavigator() { + const Stack = createStackNavigator(); + function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { + return ( + + {children} + + ); + } + + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigator>( + PlatformStackNavigator, + )(); +} + +export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/createPlatformStackNavigator/types.tsx b/src/libs/Navigation/createPlatformStackNavigator/types.tsx index 33ab180ea46e6..df421c1280bde 100644 --- a/src/libs/Navigation/createPlatformStackNavigator/types.tsx +++ b/src/libs/Navigation/createPlatformStackNavigator/types.tsx @@ -1,40 +1,25 @@ -import type {createNavigatorFactory} from '@react-navigation/core'; import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; -import type {createNativeStackNavigator, NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import type {createStackNavigator, StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; type CommonNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; type CommonNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; -type CreateStackNavigatorResult = ReturnType>; -type CreateNativeStackNavigatorResult = ReturnType>; - -type CommonStack = CreateStackNavigatorResult | CreateNativeStackNavigatorResult; - -type CommonStackRouterOptions = Omit & { - initialRouteName: keyof TStackParams; +type PlatformStackNavigationOptions = CommonNavigationOptions & { + platformAnimation: 'slide_from_left' | 'slide_from_right'; }; +type PlatformStackNavigationEventMap = CommonNavigationEventMap; -type CommonNavigatorProps = DefaultNavigatorOptions, CommonNavigationOptions, CommonNavigationEventMap> & - CommonStackRouterOptions & +type PlatformStackNavigatorProps = DefaultNavigatorOptions< + TStackParams, + StackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap +> & + StackRouterOptions & StackNavigationConfig; -// type PlatformStackNavigatorProps = { -// initialRouteName: keyof TStackParams; -// screenOptions?: CommonNavigatorOptions; -// }; - -type CommonNavigator = (props: CommonNavigatorProps) => React.ReactElement; - -type CreatePlatformNavigatorFactory = typeof createNavigatorFactory< - StackNavigationState, - CommonNavigationOptions, - CommonNavigationEventMap, - CommonNavigator ->; -type CreatePlatformNavigatorFactoryResult = ReturnType>; -type CreatePlatformStackNavigatorResult = ReturnType>; +type PlatformStackNavigator = (props: PlatformStackNavigatorProps) => React.ReactElement; -export default CreatePlatformStackNavigatorResult; -export type {CommonNavigationOptions, CommonNavigationEventMap, CommonStack, CommonNavigatorProps, CommonNavigator}; +export type {PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigatorProps, PlatformStackNavigator}; From 3121e455b0927ac9ac3a28eec767f0b95769fef3 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 15:55:50 +0200 Subject: [PATCH 022/178] re-structure platform depdendent stack navigation options --- .../index.native.ts | 6 +-- .../modalStackNavigatorOptions/index.ts | 4 +- .../useModalScreenOptions.ts | 6 +-- .../AppNavigator/transition/index.android.ts | 4 -- .../AppNavigator/transition/index.ts | 3 -- .../native/slideFromLeft/index.android.ts | 7 +++ .../animation/native/slideFromLeft/index.ts} | 4 +- .../native/slideFromRight/index.android.ts | 6 +++ .../animation/native/slideFromRight/index.ts | 7 +++ .../index.native.tsx | 51 ++++++++++++++++++- .../createPlatformStackNavigator/index.tsx | 29 ++++++++++- .../createPlatformStackNavigator/types.tsx | 35 ++++++++++--- 12 files changed, 134 insertions(+), 28 deletions(-) delete mode 100644 src/libs/Navigation/AppNavigator/transition/index.android.ts delete mode 100644 src/libs/Navigation/AppNavigator/transition/index.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.android.ts rename src/libs/Navigation/{AppNavigator/transition/index.ios.ts => createPlatformStackNavigator/animation/native/slideFromLeft/index.ts} (60%) create mode 100644 src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.android.ts create mode 100644 src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.ts diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts index e145d881b4502..720f8d1088241 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts @@ -1,9 +1,7 @@ -import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import transition from '@libs/Navigation/AppNavigator/transition'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/createPlatformStackNavigator/types'; -const defaultSubRouteOptions: NativeStackNavigationOptions = { +const defaultSubRouteOptions: PlatformStackNavigationOptions = { headerShown: false, - animation: transition, }; export default defaultSubRouteOptions; diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts index 280a38b263b75..bfc06d8cc5560 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts @@ -1,7 +1,7 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; import {CardStyleInterpolators} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/createPlatformStackNavigator/types'; -const defaultSubRouteOptions: StackNavigationOptions = { +const defaultSubRouteOptions: PlatformStackNavigationOptions = { headerShown: false, cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, }; diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts index 2c8f18689b4b4..492315cfcb3a1 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts @@ -1,15 +1,15 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; import {useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/createPlatformStackNavigator/types'; import type {ThemeStyles} from '@src/styles'; import subRouteOptions from './modalStackNavigatorOptions'; -function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => StackNavigationOptions) { +function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => PlatformStackNavigationOptions) { const styles = useThemeStyles(); const defaultSubRouteOptions = useMemo( - (): StackNavigationOptions => ({ + (): PlatformStackNavigationOptions => ({ ...subRouteOptions, ...hideKeyboardOnSwipe, cardStyle: styles.navigationScreenCardStyle, diff --git a/src/libs/Navigation/AppNavigator/transition/index.android.ts b/src/libs/Navigation/AppNavigator/transition/index.android.ts deleted file mode 100644 index acceb14674418..0000000000000 --- a/src/libs/Navigation/AppNavigator/transition/index.android.ts +++ /dev/null @@ -1,4 +0,0 @@ -// `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -const transition = 'slide_from_right'; - -export default transition; diff --git a/src/libs/Navigation/AppNavigator/transition/index.ts b/src/libs/Navigation/AppNavigator/transition/index.ts deleted file mode 100644 index 7e323f40db250..0000000000000 --- a/src/libs/Navigation/AppNavigator/transition/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -const transition = 'default'; - -export default transition; diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.android.ts b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.android.ts new file mode 100644 index 0000000000000..23e2eed8c8b79 --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.android.ts @@ -0,0 +1,7 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +// `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS +// const transition: NativeStackNavigationOptions['animation'] = 'slide_from_right'; +const transition: NativeStackNavigationOptions['animation'] = 'ios'; + +export default transition; diff --git a/src/libs/Navigation/AppNavigator/transition/index.ios.ts b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.ts similarity index 60% rename from src/libs/Navigation/AppNavigator/transition/index.ios.ts rename to src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.ts index b118370760e2d..f3fbd3ecf6196 100644 --- a/src/libs/Navigation/AppNavigator/transition/index.ios.ts +++ b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.ts @@ -1,5 +1,7 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const transition = 'simple_push'; +const transition: NativeStackNavigationOptions['animation'] = 'simple_push'; export default transition; diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.android.ts b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.android.ts new file mode 100644 index 0000000000000..7bfb31558d39b --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.android.ts @@ -0,0 +1,6 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +// `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS +const transition: NativeStackNavigationOptions['animation'] = 'slide_from_right'; + +export default transition; diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.ts b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.ts new file mode 100644 index 0000000000000..f3fbd3ecf6196 --- /dev/null +++ b/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.ts @@ -0,0 +1,7 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +// default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 +// so we are using `simple_push` which is similar to default and not causing keyboard transition issues +const transition: NativeStackNavigationOptions['animation'] = 'simple_push'; + +export default transition; diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx index 3279937f1823e..7fcdba9e422eb 100644 --- a/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx @@ -1,14 +1,61 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigator, PlatformStackNavigatorProps} from './types'; +import slideFromLeftAnimation from './animation/native/slideFromLeft'; +import slideFromRightAnimation from './animation/native/slideFromRight'; +import {isRouteBasedScreenOptions} from './types'; +import type { + CommonStackNavigationOptions, + NavigationOptionsRouteProps, + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigator, + PlatformStackNavigatorProps, +} from './types'; + +const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { + if (screenOptions === undefined) { + return {}; + } + + const commonScreenOptions = (({animation, ...rest}) => rest)(screenOptions) satisfies CommonStackNavigationOptions; + + let animation: NativeStackNavigationOptions['animation']; + switch (screenOptions.animation) { + case 'slide_from_right': + animation = slideFromRightAnimation; + break; + case 'slide_from_left': + animation = slideFromLeftAnimation; + break; + case 'modal': + animation = 'slide_from_bottom'; + break; + default: + animation = undefined; + } + + return { + ...commonScreenOptions, + animation, + }; +}; function createPlatformStackNavigator() { const NativeStack = createNativeStackNavigator(); + function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { + const nativeScreenOptions = isRouteBasedScreenOptions(screenOptions) + ? (props: NavigationOptionsRouteProps) => { + const routeBasedScreenOptions = screenOptions(props); + return withPolyfills(routeBasedScreenOptions); + } + : withPolyfills(screenOptions); + return ( {children} diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/createPlatformStackNavigator/index.tsx index 8db88be9e2996..cc8286c6801c1 100644 --- a/src/libs/Navigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/createPlatformStackNavigator/index.tsx @@ -1,14 +1,39 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import type {StackNavigationOptions} from '@react-navigation/stack'; import {createStackNavigator} from '@react-navigation/stack'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigator, PlatformStackNavigatorProps} from './types'; +import {isRouteBasedScreenOptions} from './types'; +import type { + CommonStackNavigationOptions, + NavigationOptionsRouteProps, + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigator, + PlatformStackNavigatorProps, +} from './types'; + +const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { + if (screenOptions === undefined) { + return {}; + } + + const commonScreenOptions = (({animation, ...rest}) => rest)(screenOptions) satisfies CommonStackNavigationOptions; + + return commonScreenOptions; +}; function createPlatformStackNavigator() { const Stack = createStackNavigator(); function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { + const webScreenOptions = isRouteBasedScreenOptions(screenOptions) + ? (props: NavigationOptionsRouteProps) => { + const routeBasedScreenOptions = screenOptions(props); + return withPolyfills(routeBasedScreenOptions); + } + : withPolyfills(screenOptions); return ( {children} diff --git a/src/libs/Navigation/createPlatformStackNavigator/types.tsx b/src/libs/Navigation/createPlatformStackNavigator/types.tsx index df421c1280bde..4aea7bed058cb 100644 --- a/src/libs/Navigation/createPlatformStackNavigator/types.tsx +++ b/src/libs/Navigation/createPlatformStackNavigator/types.tsx @@ -1,15 +1,15 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {DefaultNavigatorOptions, ParamListBase, RouteProp, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; -type CommonNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; -type CommonNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; +type CommonStackNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; +type CommonStackNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; -type PlatformStackNavigationOptions = CommonNavigationOptions & { - platformAnimation: 'slide_from_left' | 'slide_from_right'; +type PlatformStackNavigationOptions = Omit & { + animation?: 'slide_from_left' | 'slide_from_right' | 'modal'; }; -type PlatformStackNavigationEventMap = CommonNavigationEventMap; +type PlatformStackNavigationEventMap = CommonStackNavigationEventMap; type PlatformStackNavigatorProps = DefaultNavigatorOptions< TStackParams, @@ -22,4 +22,25 @@ type PlatformStackNavigatorProps = DefaultNa type PlatformStackNavigator = (props: PlatformStackNavigatorProps) => React.ReactElement; -export type {PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigatorProps, PlatformStackNavigator}; +type NavigationOptionsRouteProps = { + route: RouteProp; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + navigation: any; +}; + +function isRouteBasedScreenOptions( + screenOptions: PlatformStackNavigatorProps['screenOptions'], +): screenOptions is (props: NavigationOptionsRouteProps) => PlatformStackNavigationOptions { + return typeof screenOptions === 'function'; +} + +export {isRouteBasedScreenOptions}; +export type { + CommonStackNavigationOptions, + CommonStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + PlatformStackNavigatorProps, + PlatformStackNavigator, + NavigationOptionsRouteProps, +}; From 3b9b5b01fa55983462c2ab7e661479f19135b21e Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 15:59:09 +0200 Subject: [PATCH 023/178] move files --- .../modalStackNavigatorOptions/index.native.ts | 2 +- .../modalStackNavigatorOptions/index.ts | 2 +- .../ModalStackNavigators/useModalScreenOptions.ts | 2 +- .../animation/native/slideFromLeft/index.android.ts | 0 .../animation/native/slideFromLeft/index.ts | 0 .../animation/native/slideFromRight/index.android.ts | 0 .../animation/native/slideFromRight/index.ts | 0 .../createPlatformStackNavigator/index.native.tsx | 8 ++++---- .../createPlatformStackNavigator/index.tsx | 4 ++-- .../types.tsx | 0 10 files changed, 9 insertions(+), 9 deletions(-) rename src/libs/Navigation/{createPlatformStackNavigator => PlatformStackNavigation}/animation/native/slideFromLeft/index.android.ts (100%) rename src/libs/Navigation/{createPlatformStackNavigator => PlatformStackNavigation}/animation/native/slideFromLeft/index.ts (100%) rename src/libs/Navigation/{createPlatformStackNavigator => PlatformStackNavigation}/animation/native/slideFromRight/index.android.ts (100%) rename src/libs/Navigation/{createPlatformStackNavigator => PlatformStackNavigation}/animation/native/slideFromRight/index.ts (100%) rename src/libs/Navigation/{ => PlatformStackNavigation}/createPlatformStackNavigator/index.native.tsx (86%) rename src/libs/Navigation/{ => PlatformStackNavigation}/createPlatformStackNavigator/index.tsx (96%) rename src/libs/Navigation/{createPlatformStackNavigator => PlatformStackNavigation}/types.tsx (100%) diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts index 720f8d1088241..56f880bbdc64e 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.native.ts @@ -1,4 +1,4 @@ -import type {PlatformStackNavigationOptions} from '@libs/Navigation/createPlatformStackNavigator/types'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const defaultSubRouteOptions: PlatformStackNavigationOptions = { headerShown: false, diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts index bfc06d8cc5560..c0093379046f8 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts @@ -1,5 +1,5 @@ import {CardStyleInterpolators} from '@react-navigation/stack'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/createPlatformStackNavigator/types'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const defaultSubRouteOptions: PlatformStackNavigationOptions = { headerShown: false, diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts index 492315cfcb3a1..839ba1fc73b81 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts @@ -1,7 +1,7 @@ import {useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/createPlatformStackNavigator/types'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ThemeStyles} from '@src/styles'; import subRouteOptions from './modalStackNavigatorOptions'; diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromLeft/index.android.ts similarity index 100% rename from src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromLeft/index.android.ts diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromLeft/index.ts similarity index 100% rename from src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromLeft/index.ts rename to src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromLeft/index.ts diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromRight/index.android.ts similarity index 100% rename from src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromRight/index.android.ts diff --git a/src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromRight/index.ts similarity index 100% rename from src/libs/Navigation/createPlatformStackNavigator/animation/native/slideFromRight/index.ts rename to src/libs/Navigation/PlatformStackNavigation/animation/native/slideFromRight/index.ts diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx similarity index 86% rename from src/libs/Navigation/createPlatformStackNavigator/index.native.tsx rename to src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index 7fcdba9e422eb..cd4bc2039e575 100644 --- a/src/libs/Navigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -2,9 +2,9 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; -import slideFromLeftAnimation from './animation/native/slideFromLeft'; -import slideFromRightAnimation from './animation/native/slideFromRight'; -import {isRouteBasedScreenOptions} from './types'; +import slideFromLeftAnimation from '@libs/Navigation/PlatformStackNavigation/animation/native/slideFromLeft'; +import slideFromRightAnimation from '@libs/Navigation/PlatformStackNavigation/animation/native/slideFromRight'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type { CommonStackNavigationOptions, NavigationOptionsRouteProps, @@ -12,7 +12,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigator, PlatformStackNavigatorProps, -} from './types'; +} from '@libs/Navigation/PlatformStackNavigation/types'; const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { if (screenOptions === undefined) { diff --git a/src/libs/Navigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx similarity index 96% rename from src/libs/Navigation/createPlatformStackNavigator/index.tsx rename to src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index cc8286c6801c1..4d776ec70006b 100644 --- a/src/libs/Navigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -2,7 +2,7 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; import {createStackNavigator} from '@react-navigation/stack'; -import {isRouteBasedScreenOptions} from './types'; +import {isRouteBasedScreenOptions} from '../types'; import type { CommonStackNavigationOptions, NavigationOptionsRouteProps, @@ -10,7 +10,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigator, PlatformStackNavigatorProps, -} from './types'; +} from '../types'; const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { if (screenOptions === undefined) { diff --git a/src/libs/Navigation/createPlatformStackNavigator/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx similarity index 100% rename from src/libs/Navigation/createPlatformStackNavigator/types.tsx rename to src/libs/Navigation/PlatformStackNavigation/types.tsx From 57bfdd2ef68975f0a2d7fabb62a572942e701c86 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 18:00:06 +0200 Subject: [PATCH 024/178] simplify and improve createPlatformStackNavigator --- .../index.native.tsx | 3 +-- .../createPlatformStackNavigator/index.tsx | 8 ++++---- .../Navigation/PlatformStackNavigation/types.tsx | 16 ++++++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index cd4bc2039e575..ac2d63e8da369 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -10,7 +10,6 @@ import type { NavigationOptionsRouteProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, - PlatformStackNavigator, PlatformStackNavigatorProps, } from '@libs/Navigation/PlatformStackNavigation/types'; @@ -63,7 +62,7 @@ function createPlatformStackNavigator() { ); } - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, )(); } diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index 4d776ec70006b..8bfe6425c5a82 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -2,15 +2,14 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; import {createStackNavigator} from '@react-navigation/stack'; -import {isRouteBasedScreenOptions} from '../types'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type { CommonStackNavigationOptions, NavigationOptionsRouteProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, - PlatformStackNavigator, PlatformStackNavigatorProps, -} from '../types'; +} from '@libs/Navigation/PlatformStackNavigation/types'; const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { if (screenOptions === undefined) { @@ -24,6 +23,7 @@ const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): StackNav function createPlatformStackNavigator() { const Stack = createStackNavigator(); + function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { const webScreenOptions = isRouteBasedScreenOptions(screenOptions) ? (props: NavigationOptionsRouteProps) => { @@ -41,7 +41,7 @@ function createPlatformStackNavigator() { ); } - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, )(); } diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index 4aea7bed058cb..f9543f3f7391f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -1,16 +1,22 @@ -import type {DefaultNavigatorOptions, ParamListBase, RouteProp, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {DefaultNavigatorOptions, NavigationProp, ParamListBase, RouteProp, StackActionHelpers, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; type CommonStackNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; -type CommonStackNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; - type PlatformStackNavigationOptions = Omit & { animation?: 'slide_from_left' | 'slide_from_right' | 'modal'; }; + +type CommonStackNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; type PlatformStackNavigationEventMap = CommonStackNavigationEventMap; +type PlatformStackScreenProps = { + navigation: NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & + StackActionHelpers; + route: RouteProp; +}; + type PlatformStackNavigatorProps = DefaultNavigatorOptions< TStackParams, StackNavigationState, @@ -20,8 +26,6 @@ type PlatformStackNavigatorProps = DefaultNa StackRouterOptions & StackNavigationConfig; -type PlatformStackNavigator = (props: PlatformStackNavigatorProps) => React.ReactElement; - type NavigationOptionsRouteProps = { route: RouteProp; // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -40,7 +44,7 @@ export type { CommonStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, + PlatformStackScreenProps, PlatformStackNavigatorProps, - PlatformStackNavigator, NavigationOptionsRouteProps, }; From a9dbb9e64eb1bd4b4bf69ea0c3c1729f2f081f2c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 18:02:05 +0200 Subject: [PATCH 025/178] fix: default animation --- .../createPlatformStackNavigator/index.native.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index ac2d63e8da369..613eb9d9315d7 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -21,7 +21,7 @@ const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): NativeSt const commonScreenOptions = (({animation, ...rest}) => rest)(screenOptions) satisfies CommonStackNavigationOptions; let animation: NativeStackNavigationOptions['animation']; - switch (screenOptions.animation) { + switch (screenOptions.animation ?? 'slide_from_right') { case 'slide_from_right': animation = slideFromRightAnimation; break; From 85fc4bb86173bb5cdc909bd8de8b584e4494f738 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 17 Apr 2024 18:03:04 +0200 Subject: [PATCH 026/178] adapt pages --- .../Navigation/AppNavigator/ModalNavigatorScreenOptions.ts | 4 ++-- .../Navigation/AppNavigator/ModalStackNavigators/index.tsx | 4 ++-- src/libs/Navigation/AppNavigator/defaultScreenOptions.ts | 4 ++-- .../Navigation/AppNavigator/getRootNavigatorScreenOptions.ts | 2 -- src/pages/LogInWithShortLivedAuthTokenPage.tsx | 4 ++-- src/pages/UnlinkLoginPage.tsx | 4 ++-- src/pages/ValidateLoginPage/types.ts | 4 ++-- 7 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index e49a94bf4ed76..8b0b2cc581bad 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -1,5 +1,5 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; import {CardStyleInterpolators} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ThemeStyles} from '@styles/index'; /** @@ -7,7 +7,7 @@ import type {ThemeStyles} from '@styles/index'; * @param themeStyles - The styles object * @returns The screen options object */ -const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles): StackNavigationOptions => ({ +const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles): PlatformStackNavigationOptions => ({ headerShown: false, animationEnabled: true, gestureDirection: 'horizontal', diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx index 23fefdaea432a..45d7905aafc51 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx @@ -1,7 +1,7 @@ import type {ParamListBase} from '@react-navigation/routers'; -import type {StackNavigationOptions} from '@react-navigation/stack'; import React from 'react'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type { AddPersonalBankAccountNavigatorParamList, DetailsNavigatorParamList, @@ -45,7 +45,7 @@ type Screens = Partial React.ComponentType>>; * @param screens key/value pairs where the key is the name of the screen and the value is a functon that returns the lazy-loaded component * @param getScreenOptions optional function that returns the screen options, override the default options */ -function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => StackNavigationOptions): React.ComponentType { +function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => PlatformStackNavigationOptions): React.ComponentType { const ModalStackNavigator = createPlatformStackNavigator(); function ModalStack() { diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts index 4015c43c679e1..3104264263a66 100644 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts @@ -1,6 +1,6 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -const defaultScreenOptions: StackNavigationOptions = { +const defaultScreenOptions: PlatformStackNavigationOptions = { cardStyle: { overflow: 'visible', flex: 1, diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index dd0927492d70d..3df1e79e3678e 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -8,7 +8,6 @@ import createModalCardStyleInterpolator from './createModalCardStyleInterpolator import getRightModalNavigatorOptions from './getRightModalNavigatorOptions'; import hideKeyboardOnSwipe from './hideKeyboardOnSwipe'; import leftModalNavigatorOptions from './leftModalNavigatorOptions'; -import transition from './transition'; type GetOnboardingModalNavigatorOptions = (shouldUseNarrowLayout: boolean) => StackNavigationOptions; @@ -41,7 +40,6 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...getRightModalNavigatorOptions(isSmallScreenWidth), ...hideKeyboardOnSwipe, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - animation: transition, ...hideKeyboardOnSwipe, }, onboardingModalNavigator: (shouldUseNarrowLayout: boolean) => ({ diff --git a/src/pages/LogInWithShortLivedAuthTokenPage.tsx b/src/pages/LogInWithShortLivedAuthTokenPage.tsx index 72425e0e2ca65..265f7666deccf 100644 --- a/src/pages/LogInWithShortLivedAuthTokenPage.tsx +++ b/src/pages/LogInWithShortLivedAuthTokenPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {NativeModules, View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import CONST from '@src/CONST'; @@ -28,7 +28,7 @@ type LogInWithShortLivedAuthTokenPageOnyxProps = { account: OnyxEntry; }; -type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & StackScreenProps; +type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & PlatformStackScreenProps; function LogInWithShortLivedAuthTokenPage({route, account}: LogInWithShortLivedAuthTokenPageProps) { const theme = useTheme(); diff --git a/src/pages/UnlinkLoginPage.tsx b/src/pages/UnlinkLoginPage.tsx index 326d09df31436..eaa60824ab6a2 100644 --- a/src/pages/UnlinkLoginPage.tsx +++ b/src/pages/UnlinkLoginPage.tsx @@ -1,10 +1,10 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import usePrevious from '@hooks/usePrevious'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@navigation/types'; import * as Session from '@userActions/Session'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -16,7 +16,7 @@ type UnlinkLoginPageOnyxProps = { account: OnyxEntry; }; -type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & StackScreenProps; +type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & PlatformStackScreenProps; function UnlinkLoginPage({route, account}: UnlinkLoginPageProps) { const accountID = route.params.accountID ?? -1; diff --git a/src/pages/ValidateLoginPage/types.ts b/src/pages/ValidateLoginPage/types.ts index d9d2873891cda..47208eee2ebb1 100644 --- a/src/pages/ValidateLoginPage/types.ts +++ b/src/pages/ValidateLoginPage/types.ts @@ -1,5 +1,5 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import type {OnyxEntry} from 'react-native-onyx'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import type {Account, Credentials, Session} from '@src/types/onyx'; @@ -17,6 +17,6 @@ type ValidateLoginPageOnyxProps = ValidateLoginPageOnyxNativeProps & { credentials: OnyxEntry; }; -type ValidateLoginPageProps = OnyxProps & StackScreenProps; +type ValidateLoginPageProps = OnyxProps & PlatformStackScreenProps; export type {ValidateLoginPageOnyxNativeProps, ValidateLoginPageOnyxProps, ValidateLoginPageProps}; From 75b5cac9f1be209426bc02a6502cdb73e71c1516 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 11:58:58 +0200 Subject: [PATCH 027/178] add patch for additional (onyx) props --- patches/@react-navigation+core+6.4.11.patch | 40 +++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 patches/@react-navigation+core+6.4.11.patch diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch new file mode 100644 index 0000000000000..6ba3f2727f40e --- /dev/null +++ b/patches/@react-navigation+core+6.4.11.patch @@ -0,0 +1,40 @@ +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +index fcd456b..13e005e 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +@@ -307,10 +307,11 @@ export type Descriptor = Partial<{ + [EventName in keyof (EventMap & EventMapCore)]: EventListenerCallback; + }>; +-type ScreenComponentType = React.ComponentType<{ ++type ScreenComponentType = Record> = React.ComponentType<{ + route: RouteProp; + navigation: any; +-}> | React.ComponentType<{}>; ++} & CustomProps> | React.ComponentType; + export type RouteConfigComponent = { + /** + * React component to render for this screen. +diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx +index b691d75..8435eed 100644 +--- a/node_modules/@react-navigation/core/src/types.tsx ++++ b/node_modules/@react-navigation/core/src/types.tsx +@@ -442,13 +442,14 @@ export type ScreenListeners< + + type ScreenComponentType< + ParamList extends ParamListBase, +- RouteName extends keyof ParamList ++ RouteName extends keyof ParamList, ++ CustomProps extends Record = Record + > = + | React.ComponentType<{ + route: RouteProp; + navigation: any; +- }> +- | React.ComponentType<{}>; ++ } & CustomProps> ++ | React.ComponentType; + + export type RouteConfigComponent< + ParamList extends ParamListBase, From 1c60ee67a6fac9965daa8ce199cf605518c707ba Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 12:17:50 +0200 Subject: [PATCH 028/178] use PlatformStackScreenProps --- .../AppNavigator/Navigators/LeftModalNavigator.tsx | 4 ++-- .../AppNavigator/Navigators/RightModalNavigator.tsx | 4 ++-- src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx | 4 ++-- src/pages/ConciergePage.tsx | 4 ++-- src/pages/DetailsPage.tsx | 4 ++-- src/pages/EditSplitBillPage.tsx | 4 ++-- src/pages/FlagCommentPage.tsx | 4 ++-- src/pages/GetAssistancePage.tsx | 4 ++-- src/pages/GroupChatNameEditPage.tsx | 4 ++-- src/pages/LogOutPreviousUserPage.tsx | 4 ++-- src/pages/PrivateNotes/PrivateNotesEditPage.tsx | 4 ++-- src/pages/ProfilePage.tsx | 4 ++-- src/pages/ReferralDetailsPage.tsx | 4 ++-- src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx | 4 ++-- src/pages/ReportAvatar.tsx | 4 ++-- src/pages/ReportDescriptionPage.tsx | 4 ++-- src/pages/ReportDetailsPage.tsx | 4 ++-- src/pages/ReportParticipantDetailsPage.tsx | 4 ++-- src/pages/ReportParticipantRoleSelectionPage.tsx | 4 ++-- src/pages/RoomInvitePage.tsx | 4 ++-- src/pages/RoomMembersPage.tsx | 4 ++-- src/pages/SearchPage/index.tsx | 4 ++-- src/pages/TransactionReceiptPage.tsx | 4 ++-- src/pages/home/ReportScreen.tsx | 4 ++-- src/pages/home/report/ReportAttachments.tsx | 4 ++-- .../home/report/withReportAndReportActionOrNotFound.tsx | 4 ++-- src/pages/iou/MoneyRequestWaypointPage.tsx | 4 ++-- src/pages/iou/SplitBillDetailsPage.tsx | 4 ++-- src/pages/settings/AboutPage/ShareLogPage.tsx | 4 ++-- src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx | 4 ++-- src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx | 4 ++-- .../settings/Profile/Contacts/ContactMethodDetailsPage.tsx | 5 +++-- src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx | 4 ++-- .../settings/Profile/Contacts/NewContactMethodPage.tsx | 4 ++-- src/pages/settings/Profile/PersonalDetails/AddressPage.tsx | 4 ++-- .../Profile/PersonalDetails/CountrySelectionPage.tsx | 4 ++-- src/pages/settings/Profile/ProfileAvatar.tsx | 4 ++-- src/pages/settings/Report/NotificationPreferencePage.tsx | 4 ++-- src/pages/settings/Report/ReportSettingsPage.tsx | 4 ++-- src/pages/settings/Report/RoomNamePage.tsx | 4 ++-- src/pages/settings/Report/VisibilityPage.tsx | 4 ++-- src/pages/settings/Report/WriteCapabilityPage.tsx | 4 ++-- src/pages/settings/Security/CloseAccountPage.tsx | 4 ++-- src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx | 4 ++-- src/pages/settings/Wallet/ExpensifyCardPage.tsx | 4 ++-- src/pages/settings/Wallet/ReportCardLostPage.tsx | 4 ++-- src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx | 4 ++-- src/pages/tasks/NewTaskDescriptionPage.tsx | 4 ++-- src/pages/tasks/NewTaskDetailsPage.tsx | 4 ++-- src/pages/tasks/NewTaskPage.tsx | 4 ++-- src/pages/tasks/NewTaskTitlePage.tsx | 4 ++-- src/pages/wallet/WalletStatementPage.tsx | 4 ++-- src/pages/workspace/WorkspaceAvatar.tsx | 4 ++-- src/pages/workspace/WorkspaceInitialPage.tsx | 6 ++++-- src/pages/workspace/WorkspaceInviteMessagePage.tsx | 4 ++-- src/pages/workspace/WorkspaceInvitePage.tsx | 4 ++-- src/pages/workspace/WorkspaceJoinUserPage.tsx | 4 ++-- src/pages/workspace/WorkspaceMembersPage.tsx | 4 ++-- src/pages/workspace/WorkspaceMoreFeaturesPage.tsx | 4 ++-- src/pages/workspace/bills/WorkspaceBillsPage.tsx | 4 ++-- src/pages/workspace/card/WorkspaceCardPage.tsx | 4 ++-- src/pages/workspace/categories/CategorySettingsPage.tsx | 4 ++-- src/pages/workspace/categories/CreateCategoryPage.tsx | 4 ++-- src/pages/workspace/categories/EditCategoryPage.tsx | 4 ++-- src/pages/workspace/categories/WorkspaceCategoriesPage.tsx | 4 ++-- .../categories/WorkspaceCategoriesSettingsPage.tsx | 4 ++-- .../workspace/distanceRates/CreateDistanceRatePage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRateDetailsPage.tsx | 4 ++-- .../workspace/distanceRates/PolicyDistanceRateEditPage.tsx | 4 ++-- .../workspace/distanceRates/PolicyDistanceRatesPage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRatesSettingsPage.tsx | 4 ++-- src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx | 4 ++-- src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeErrorPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeSuccessPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeWrapperPage.tsx | 4 ++-- src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx | 4 ++-- src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx | 4 ++-- src/pages/workspace/tags/EditTagPage.tsx | 4 ++-- src/pages/workspace/tags/TagSettingsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceCreateTagPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceEditTagsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceTagsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx | 4 ++-- src/pages/workspace/taxes/NamePage.tsx | 4 ++-- src/pages/workspace/taxes/ValuePage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceTaxesPage.tsx | 4 ++-- .../workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx | 5 +++-- .../taxes/WorkspaceTaxesSettingsForeignCurrency.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx | 4 ++-- src/pages/workspace/travel/WorkspaceTravelPage.tsx | 4 ++-- .../workflows/WorkspaceAutoReportingFrequencyPage.tsx | 5 +++-- .../workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx | 4 ++-- .../workspace/workflows/WorkspaceWorkflowsApproverPage.tsx | 4 ++-- src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx | 4 ++-- .../workspace/workflows/WorkspaceWorkflowsPayerPage.tsx | 4 ++-- tests/perf-test/ReportScreen.perf-test.tsx | 4 ++-- tests/perf-test/SearchPage.perf-test.tsx | 4 ++-- 105 files changed, 215 insertions(+), 210 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx index 2741b0ee21407..742cf28157e43 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; @@ -7,12 +6,13 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, LeftModalNavigatorParamList} from '@libs/Navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type LeftModalNavigatorProps = StackScreenProps; +type LeftModalNavigatorProps = PlatformStackScreenProps; const Stack = createPlatformStackNavigator(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 61ae43f423e39..47f0532e7e865 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo, useRef} from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; @@ -8,12 +7,13 @@ import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwi import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type RightModalNavigatorProps = StackScreenProps; +type RightModalNavigatorProps = PlatformStackScreenProps; const Stack = createPlatformStackNavigator(); diff --git a/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx b/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx index 5d710afa69e93..9854ea136e8b9 100644 --- a/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx @@ -1,11 +1,11 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@navigation/types'; import ReportScreen from '@pages/home/ReportScreen'; import type SCREENS from '@src/SCREENS'; import ReportScreenIDSetter from './ReportScreenIDSetter'; -type ReportScreenWrapperProps = StackScreenProps; +type ReportScreenWrapperProps = PlatformStackScreenProps; function ReportScreenWrapper({route, navigation}: ReportScreenWrapperProps) { // The ReportScreen without the reportID set will display a skeleton diff --git a/src/pages/ConciergePage.tsx b/src/pages/ConciergePage.tsx index 10040a6c31467..c22aa867f3da0 100644 --- a/src/pages/ConciergePage.tsx +++ b/src/pages/ConciergePage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useRef} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -9,6 +8,7 @@ import ReportHeaderSkeletonView from '@components/ReportHeaderSkeletonView'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as App from '@userActions/App'; import * as Report from '@userActions/Report'; @@ -21,7 +21,7 @@ type ConciergePageOnyxProps = { session: OnyxEntry; }; -type ConciergePageProps = ConciergePageOnyxProps & StackScreenProps; +type ConciergePageProps = ConciergePageOnyxProps & PlatformStackScreenProps; /* * This is a "utility page", that does this: diff --git a/src/pages/DetailsPage.tsx b/src/pages/DetailsPage.tsx index 49b3e856c65d9..5310b051d342e 100755 --- a/src/pages/DetailsPage.tsx +++ b/src/pages/DetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import React from 'react'; import {View} from 'react-native'; @@ -20,6 +19,7 @@ import Text from '@components/Text'; import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -40,7 +40,7 @@ type DetailsPageOnyxProps = { session: OnyxEntry; }; -type DetailsPageProps = DetailsPageOnyxProps & StackScreenProps; +type DetailsPageProps = DetailsPageOnyxProps & PlatformStackScreenProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/EditSplitBillPage.tsx b/src/pages/EditSplitBillPage.tsx index 26e08d8347f72..7474ff672c340 100644 --- a/src/pages/EditSplitBillPage.tsx +++ b/src/pages/EditSplitBillPage.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {TransactionChanges} from '@libs/TransactionUtils'; @@ -32,7 +32,7 @@ type EditSplitBillOnyxProps = { draftTransaction: OnyxEntry; }; -type EditSplitBillProps = EditSplitBillOnyxProps & StackScreenProps; +type EditSplitBillProps = EditSplitBillOnyxProps & PlatformStackScreenProps; function EditSplitBillPage({route, transaction, draftTransaction, report}: EditSplitBillProps) { const {field: fieldToEdit, reportID, reportActionID, tagIndex} = route.params; diff --git a/src/pages/FlagCommentPage.tsx b/src/pages/FlagCommentPage.tsx index 53aac0ce2a8b0..93c2da15d8db9 100644 --- a/src/pages/FlagCommentPage.tsx +++ b/src/pages/FlagCommentPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as Report from '@userActions/Report'; @@ -30,7 +30,7 @@ type FlagCommentPageWithOnyxProps = { parentReportAction: OnyxEntry; }; -type FlagCommentPageNavigationProps = StackScreenProps; +type FlagCommentPageNavigationProps = PlatformStackScreenProps; type FlagCommentPageProps = FlagCommentPageNavigationProps & WithReportAndReportActionOrNotFoundProps & FlagCommentPageWithOnyxProps; diff --git a/src/pages/GetAssistancePage.tsx b/src/pages/GetAssistancePage.tsx index b543524fc68e2..381a1716f59b9 100644 --- a/src/pages/GetAssistancePage.tsx +++ b/src/pages/GetAssistancePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import * as Report from '@userActions/Report'; @@ -28,7 +28,7 @@ type GetAssistanceOnyxProps = { account: OnyxEntry; }; -type GetAssistancePageProps = GetAssistanceOnyxProps & StackScreenProps; +type GetAssistancePageProps = GetAssistanceOnyxProps & PlatformStackScreenProps; function GetAssistancePage({route, account}: GetAssistancePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/GroupChatNameEditPage.tsx b/src/pages/GroupChatNameEditPage.tsx index 05d179fa552a2..7cdf59d1f18d6 100644 --- a/src/pages/GroupChatNameEditPage.tsx +++ b/src/pages/GroupChatNameEditPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {withOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -11,6 +10,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {NewChatNavigatorParamList} from '@navigation/types'; @@ -27,7 +27,7 @@ type GroupChatNameEditPageOnyxProps = { groupChatDraft: NewGroupChatDraft | null; }; -type GroupChatNameEditPageProps = StackScreenProps & GroupChatNameEditPageOnyxProps; +type GroupChatNameEditPageProps = PlatformStackScreenProps & GroupChatNameEditPageOnyxProps; function GroupChatNameEditPage({groupChatDraft, route}: GroupChatNameEditPageProps) { // If we have a reportID this means we are using this page to update an existing Group Chat name diff --git a/src/pages/LogOutPreviousUserPage.tsx b/src/pages/LogOutPreviousUserPage.tsx index c80b26bbb9e76..435efa8be6ce1 100644 --- a/src/pages/LogOutPreviousUserPage.tsx +++ b/src/pages/LogOutPreviousUserPage.tsx @@ -1,10 +1,10 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useContext, useEffect} from 'react'; import {NativeModules} from 'react-native'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import {InitialURLContext} from '@components/InitialURLContextProvider'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as SessionUtils from '@libs/SessionUtils'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ type LogOutPreviousUserPageOnyxProps = { isAccountLoading: boolean; }; -type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & StackScreenProps; +type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & PlatformStackScreenProps; // This page is responsible for handling transitions from OldDot. Specifically, it logs the current user // out if the transition is for another user. diff --git a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx index 7d0b8fff8e410..f4fb6f79aee13 100644 --- a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import Str from 'expensify-common/lib/str'; import lodashDebounce from 'lodash/debounce'; @@ -19,6 +18,7 @@ import useHtmlPaste from '@hooks/useHtmlPaste'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; @@ -40,7 +40,7 @@ type PrivateNotesEditPageOnyxProps = { type PrivateNotesEditPageProps = WithReportAndPrivateNotesOrNotFoundProps & PrivateNotesEditPageOnyxProps & - StackScreenProps & { + PlatformStackScreenProps & { /** The report currently being looked at */ report: Report; }; diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx index 6ad3860132d22..91efe6e018301 100755 --- a/src/pages/ProfilePage.tsx +++ b/src/pages/ProfilePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import React, {useEffect, useMemo} from 'react'; import {View} from 'react-native'; @@ -22,6 +21,7 @@ import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -40,7 +40,7 @@ import type {PersonalDetails, Report} from '@src/types/onyx'; import type {EmptyObject} from '@src/types/utils/EmptyObject'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ProfilePageProps = StackScreenProps; +type ProfilePageProps = PlatformStackScreenProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx index d8a27e1719337..76dac1aca1a88 100644 --- a/src/pages/ReferralDetailsPage.tsx +++ b/src/pages/ReferralDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useRef} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; @@ -15,6 +14,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReferralDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import CONST from '@src/CONST'; @@ -29,7 +29,7 @@ type ReferralDetailsPageOnyxProps = { account: OnyxEntry; }; -type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & StackScreenProps; +type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & PlatformStackScreenProps; function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const theme = useTheme(); diff --git a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx index 04254bbe15595..03725fa18025b 100644 --- a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx +++ b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx @@ -1,5 +1,4 @@ import type {RouteProp} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import lodashPick from 'lodash/pick'; import React, {useEffect, useRef, useState} from 'react'; @@ -19,6 +18,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import getPlaidOAuthReceivedRedirectURI from '@libs/getPlaidOAuthReceivedRedirectURI'; import BankAccount from '@libs/models/BankAccount'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReimbursementAccountNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import shouldReopenOnfido from '@libs/shouldReopenOnfido'; @@ -68,7 +68,7 @@ type ReimbursementAccountOnyxProps = { type ReimbursementAccountPageProps = WithPolicyOnyxProps & ReimbursementAccountOnyxProps & - StackScreenProps; + PlatformStackScreenProps; const ROUTE_NAMES = { COMPANY: 'company', diff --git a/src/pages/ReportAvatar.tsx b/src/pages/ReportAvatar.tsx index 121b238012bf4..63c3d154e74cc 100644 --- a/src/pages/ReportAvatar.tsx +++ b/src/pages/ReportAvatar.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -18,7 +18,7 @@ type ReportAvatarOnyxProps = { policies: OnyxCollection; }; -type ReportAvatarProps = ReportAvatarOnyxProps & StackScreenProps; +type ReportAvatarProps = ReportAvatarOnyxProps & PlatformStackScreenProps; function ReportAvatar({report = {} as Report, policies, isLoadingApp = true}: ReportAvatarProps) { const policy = policies?.[`${ONYXKEYS.COLLECTION.POLICY}${report?.policyID ?? '0'}`]; diff --git a/src/pages/ReportDescriptionPage.tsx b/src/pages/ReportDescriptionPage.tsx index 6062ef748f369..0aabe5ad5d58d 100644 --- a/src/pages/ReportDescriptionPage.tsx +++ b/src/pages/ReportDescriptionPage.tsx @@ -1,5 +1,5 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportDescriptionNavigatorParamList} from '@navigation/types'; import type SCREENS from '@src/SCREENS'; @@ -8,7 +8,7 @@ import withReportOrNotFound from './home/report/withReportOrNotFound'; import RoomDescriptionPage from './RoomDescriptionPage'; import TaskDescriptionPage from './tasks/TaskDescriptionPage'; -type ReportDescriptionPageProps = WithReportOrNotFoundProps & StackScreenProps; +type ReportDescriptionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function ReportDescriptionPage(props: ReportDescriptionPageProps) { const isTask = ReportUtils.isTaskReport(props.report); diff --git a/src/pages/ReportDetailsPage.tsx b/src/pages/ReportDetailsPage.tsx index 0646f37f9b262..ad9117599f1f6 100644 --- a/src/pages/ReportDetailsPage.tsx +++ b/src/pages/ReportDetailsPage.tsx @@ -1,5 +1,4 @@ import {useRoute} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useMemo} from 'react'; import {View} from 'react-native'; import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; @@ -24,6 +23,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -58,7 +58,7 @@ type ReportDetailsPageOnyxProps = { /** Session info for the currently logged in user. */ session: OnyxEntry; }; -type ReportDetailsPageProps = ReportDetailsPageOnyxProps & WithReportOrNotFoundProps & StackScreenProps; +type ReportDetailsPageProps = ReportDetailsPageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenProps; function ReportDetailsPage({policies, report, session, personalDetails}: ReportDetailsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/ReportParticipantDetailsPage.tsx b/src/pages/ReportParticipantDetailsPage.tsx index 2b1411641faaf..56ebec0789d40 100644 --- a/src/pages/ReportParticipantDetailsPage.tsx +++ b/src/pages/ReportParticipantDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -17,6 +16,7 @@ import useLocalize from '@hooks/useLocalize'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; import Navigation from '@navigation/Navigation'; @@ -35,7 +35,7 @@ type ReportParticipantDetailsOnyxProps = { }; type ReportParticipantDetailsPageProps = WithReportOrNotFoundProps & - StackScreenProps & + PlatformStackScreenProps & ReportParticipantDetailsOnyxProps; function ReportParticipantDetails({personalDetails, report, route}: ReportParticipantDetailsPageProps) { diff --git a/src/pages/ReportParticipantRoleSelectionPage.tsx b/src/pages/ReportParticipantRoleSelectionPage.tsx index 6d8c5d9510647..1db4e878bcb7a 100644 --- a/src/pages/ReportParticipantRoleSelectionPage.tsx +++ b/src/pages/ReportParticipantRoleSelectionPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import type {ValueOf} from 'type-fest'; @@ -10,6 +9,7 @@ import type {ListItem} from '@components/SelectionList/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {ParticipantsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -19,7 +19,7 @@ import NotFoundPage from './ErrorPage/NotFoundPage'; import withReportOrNotFound from './home/report/withReportOrNotFound'; import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound'; -type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & StackScreenProps; +type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; type ListItemType = ListItem & { value: ValueOf; diff --git a/src/pages/RoomInvitePage.tsx b/src/pages/RoomInvitePage.tsx index 79198e81fc434..7db147c815646 100644 --- a/src/pages/RoomInvitePage.tsx +++ b/src/pages/RoomInvitePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; @@ -18,6 +17,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -34,7 +34,7 @@ import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound import withReportOrNotFound from './home/report/withReportOrNotFound'; import SearchInputManager from './workspace/SearchInputManager'; -type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & StackScreenProps; +type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & PlatformStackScreenProps; type Sections = Array>>; diff --git a/src/pages/RoomMembersPage.tsx b/src/pages/RoomMembersPage.tsx index 009eaaf15a3ca..9d074e678957d 100644 --- a/src/pages/RoomMembersPage.tsx +++ b/src/pages/RoomMembersPage.tsx @@ -1,5 +1,4 @@ import {useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -21,6 +20,7 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -45,7 +45,7 @@ type RoomMembersPageOnyxProps = { type RoomMembersPageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps & RoomMembersPageOnyxProps & - StackScreenProps; + PlatformStackScreenProps; function RoomMembersPage({report, session, policies}: RoomMembersPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/SearchPage/index.tsx b/src/pages/SearchPage/index.tsx index d79c60ff4f45e..aafad8ce800c8 100644 --- a/src/pages/SearchPage/index.tsx +++ b/src/pages/SearchPage/index.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import isEmpty from 'lodash/isEmpty'; import React, {useEffect, useMemo, useState} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; @@ -15,6 +14,7 @@ import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import type {MaybePhraseKey} from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import Performance from '@libs/Performance'; @@ -35,7 +35,7 @@ type SearchPageOnyxProps = { isSearchingForReports: OnyxEntry; }; -type SearchPageProps = SearchPageOnyxProps & StackScreenProps; +type SearchPageProps = SearchPageOnyxProps & PlatformStackScreenProps; type SearchPageSectionItem = { data: OptionData[]; diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 80bda8c0df1bd..97ce2dd44cf5f 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReceiptUtils from '@libs/ReceiptUtils'; import * as ReportActionUtils from '@libs/ReportActionsUtils'; @@ -23,7 +23,7 @@ type TransactionReceiptOnyxProps = { reportMetadata: OnyxEntry; }; -type TransactionReceiptProps = TransactionReceiptOnyxProps & StackScreenProps; +type TransactionReceiptProps = TransactionReceiptOnyxProps & PlatformStackScreenProps; function TransactionReceipt({transaction, report, reportMetadata = {isLoadingInitialReportActions: true}, route}: TransactionReceiptProps) { const receiptURIs = ReceiptUtils.getThumbnailAndImageURIs(transaction); diff --git a/src/pages/home/ReportScreen.tsx b/src/pages/home/ReportScreen.tsx index 1854afb961ed3..61b8111078d2e 100644 --- a/src/pages/home/ReportScreen.tsx +++ b/src/pages/home/ReportScreen.tsx @@ -1,5 +1,4 @@ import {useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import lodashIsEqual from 'lodash/isEqual'; import React, {memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState} from 'react'; import type {FlatList, ViewStyle} from 'react-native'; @@ -29,6 +28,7 @@ import useViewportOffsetTop from '@hooks/useViewportOffsetTop'; import useWindowDimensions from '@hooks/useWindowDimensions'; import Timing from '@libs/actions/Timing'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import clearReportNotifications from '@libs/Notification/clearReportNotifications'; import Performance from '@libs/Performance'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -88,7 +88,7 @@ type OnyxHOCProps = { markReadyForHydration?: () => void; }; -type ReportScreenNavigationProps = StackScreenProps; +type ReportScreenNavigationProps = PlatformStackScreenProps; type ReportScreenPropsWithoutParentReportAction = OnyxHOCProps & CurrentReportIDContextValue & ReportScreenOnyxPropsWithoutParentReportAction & ReportScreenNavigationProps; diff --git a/src/pages/home/report/ReportAttachments.tsx b/src/pages/home/report/ReportAttachments.tsx index 82b49d1e260c4..7e33b7047cc5b 100644 --- a/src/pages/home/report/ReportAttachments.tsx +++ b/src/pages/home/report/ReportAttachments.tsx @@ -1,15 +1,15 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import AttachmentModal from '@components/AttachmentModal'; import type {Attachment} from '@components/Attachments/types'; import ComposerFocusManager from '@libs/ComposerFocusManager'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportAttachmentsProps = StackScreenProps; +type ReportAttachmentsProps = PlatformStackScreenProps; function ReportAttachments({route}: ReportAttachmentsProps) { const reportID = route.params.reportID; diff --git a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx index e5e203fb50306..59e8a30dbd774 100644 --- a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx +++ b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx @@ -1,5 +1,4 @@ /* eslint-disable rulesdir/no-negated-variables */ -import type {StackScreenProps} from '@react-navigation/stack'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {useCallback, useEffect} from 'react'; import type {OnyxCollection, OnyxEntry, WithOnyxInstanceState} from 'react-native-onyx'; @@ -9,6 +8,7 @@ import withWindowDimensions from '@components/withWindowDimensions'; import type {WindowDimensionsProps} from '@components/withWindowDimensions/types'; import compose from '@libs/compose'; import getComponentDisplayName from '@libs/getComponentDisplayName'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList, SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -46,7 +46,7 @@ type OnyxProps = { type WithReportAndReportActionOrNotFoundProps = OnyxProps & WindowDimensionsProps & - StackScreenProps; + PlatformStackScreenProps; export default function ( WrappedComponent: ComponentType>, diff --git a/src/pages/iou/MoneyRequestWaypointPage.tsx b/src/pages/iou/MoneyRequestWaypointPage.tsx index 35778f37a9ef5..f9b78d77b81e0 100644 --- a/src/pages/iou/MoneyRequestWaypointPage.tsx +++ b/src/pages/iou/MoneyRequestWaypointPage.tsx @@ -1,6 +1,6 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; @@ -9,7 +9,7 @@ import IOURequestStepWaypoint from './request/step/IOURequestStepWaypoint'; type MoneyRequestWaypointPageOnyxProps = { transactionID: string | undefined; }; -type MoneyRequestWaypointPageProps = StackScreenProps & MoneyRequestWaypointPageOnyxProps; +type MoneyRequestWaypointPageProps = PlatformStackScreenProps & MoneyRequestWaypointPageOnyxProps; // This component is responsible for grabbing the transactionID from the IOU key // You can't use Onyx props in the withOnyx mapping, so we need to set up and access the transactionID here, and then pass it down so that WaypointEditor can subscribe to the transaction. diff --git a/src/pages/iou/SplitBillDetailsPage.tsx b/src/pages/iou/SplitBillDetailsPage.tsx index 91aa37dd01c26..ba8b8ce74b0a0 100644 --- a/src/pages/iou/SplitBillDetailsPage.tsx +++ b/src/pages/iou/SplitBillDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -10,6 +9,7 @@ import MoneyRequestHeaderStatusBar from '@components/MoneyRequestHeaderStatusBar import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -51,7 +51,7 @@ type SplitBillDetailsPageOnyxProps = SplitBillDetailsPageTransactionOnyxProps & type SplitBillDetailsPageProps = WithReportAndReportActionOrNotFoundProps & SplitBillDetailsPageOnyxProps & - StackScreenProps; + PlatformStackScreenProps; function SplitBillDetailsPage({personalDetails, report, route, reportActions, transaction, draftTransaction, session}: SplitBillDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/AboutPage/ShareLogPage.tsx b/src/pages/settings/AboutPage/ShareLogPage.tsx index 8f0623f99d323..ad4006b06e034 100644 --- a/src/pages/settings/AboutPage/ShareLogPage.tsx +++ b/src/pages/settings/AboutPage/ShareLogPage.tsx @@ -1,10 +1,10 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import ShareLogList from './ShareLogList'; -type ShareLogPageProps = StackScreenProps; +type ShareLogPageProps = PlatformStackScreenProps; function ShareLogPage({route}: ShareLogPageProps) { return ; diff --git a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx index 672dbbb91069d..81c95b243157b 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {NativeModules, View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,6 +12,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -31,7 +31,7 @@ type ExitSurveyConfirmPageOnyxProps = { isLoading: OnyxEntry; }; -type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & StackScreenProps; +type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & PlatformStackScreenProps; function ExitSurveyConfirmPage({exitReason, isLoading, route, navigation}: ExitSurveyConfirmPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx index badbdeb86d14f..8ade6b1703951 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {withOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -17,6 +16,7 @@ import useSafeAreaInsets from '@hooks/useSafeAreaInsets'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import Navigation from '@navigation/Navigation'; @@ -35,7 +35,7 @@ type ExitSurveyResponsePageOnyxProps = { draftResponse: string; }; -type ExitSurveyResponsePageProps = ExitSurveyResponsePageOnyxProps & StackScreenProps; +type ExitSurveyResponsePageProps = ExitSurveyResponsePageOnyxProps & PlatformStackScreenProps; function ExitSurveyResponsePage({draftResponse, route, navigation}: ExitSurveyResponsePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx index 8aaeb71515639..89574a39e68e0 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx @@ -1,4 +1,4 @@ -import type {StackScreenProps} from '@react-navigation/stack'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Str from 'expensify-common/lib/str'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {InteractionManager, Keyboard, View} from 'react-native'; @@ -22,6 +22,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {canUseTouchScreen} from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import * as User from '@userActions/User'; @@ -41,7 +42,7 @@ const policiesSelector = (policy: OnyxEntry): Pick; +type ContactMethodDetailsPageProps = PlatformStackScreenProps; function ContactMethodDetailsPage({route}: ContactMethodDetailsPageProps) { const [loginList, loginListResult] = useOnyx(ONYXKEYS.LOGIN_LIST); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx index 8970df59f8569..5fec33ce4a155 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import React, {useCallback} from 'react'; import {View} from 'react-native'; @@ -16,6 +15,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -32,7 +32,7 @@ type ContactMethodsPageOnyxProps = { session: OnyxEntry; }; -type ContactMethodsPageProps = ContactMethodsPageOnyxProps & StackScreenProps; +type ContactMethodsPageProps = ContactMethodsPageOnyxProps & PlatformStackScreenProps; function ContactMethodsPage({loginList, session, route}: ContactMethodsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx index 20e12f71664e8..8edcc669be86d 100644 --- a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx +++ b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -17,6 +16,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as User from '@userActions/User'; import CONST from '@src/CONST'; @@ -32,7 +32,7 @@ type NewContactMethodPageOnyxProps = { loginList: OnyxEntry; }; -type NewContactMethodPageProps = NewContactMethodPageOnyxProps & StackScreenProps; +type NewContactMethodPageProps = NewContactMethodPageOnyxProps & PlatformStackScreenProps; const addNewContactMethod = (values: FormOnyxValues) => { const phoneLogin = LoginUtils.getPhoneLogin(values.phoneOrEmail); diff --git a/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx b/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx index fcb018348b721..f40405d2e1a6d 100644 --- a/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; @@ -10,6 +9,7 @@ import useGeographicalStateFromRoute from '@hooks/useGeographicalStateFromRoute' import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetails from '@userActions/PersonalDetails'; import type {FormOnyxValues} from '@src/components/Form/types'; @@ -27,7 +27,7 @@ type AddressPageOnyxProps = { isLoadingApp: OnyxEntry; }; -type AddressPageProps = StackScreenProps & AddressPageOnyxProps; +type AddressPageProps = PlatformStackScreenProps & AddressPageOnyxProps; /** * Submit form to update user's first and last legal name diff --git a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx index c0d980083ddf3..44e61bc7b3189 100644 --- a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -6,6 +5,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type {CountryData} from '@libs/searchCountryOptions'; import searchCountryOptions from '@libs/searchCountryOptions'; @@ -15,7 +15,7 @@ import type {TranslationPaths} from '@src/languages/types'; import type {Route} from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type CountrySelectionPageProps = StackScreenProps; +type CountrySelectionPageProps = PlatformStackScreenProps; function CountrySelectionPage({route, navigation}: CountrySelectionPageProps) { const [searchValue, setSearchValue] = useState(''); diff --git a/src/pages/settings/Profile/ProfileAvatar.tsx b/src/pages/settings/Profile/ProfileAvatar.tsx index 4925a6948fefb..ebec25da7a636 100644 --- a/src/pages/settings/Profile/ProfileAvatar.tsx +++ b/src/pages/settings/Profile/ProfileAvatar.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -19,7 +19,7 @@ type ProfileAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type ProfileAvatarProps = ProfileAvatarOnyxProps & StackScreenProps; +type ProfileAvatarProps = ProfileAvatarOnyxProps & PlatformStackScreenProps; function ProfileAvatar({route, personalDetails, personalDetailsMetadata, isLoadingApp = true}: ProfileAvatarProps) { const personalDetail = personalDetails?.[route.params.accountID]; diff --git a/src/pages/settings/Report/NotificationPreferencePage.tsx b/src/pages/settings/Report/NotificationPreferencePage.tsx index af55ff994fcf5..108b6576ad96d 100644 --- a/src/pages/settings/Report/NotificationPreferencePage.tsx +++ b/src/pages/settings/Report/NotificationPreferencePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -14,7 +14,7 @@ import * as ReportActions from '@userActions/Report'; import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type NotificationPreferencePageProps = WithReportOrNotFoundProps & StackScreenProps; +type NotificationPreferencePageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function NotificationPreferencePage({report}: NotificationPreferencePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Report/ReportSettingsPage.tsx b/src/pages/settings/Report/ReportSettingsPage.tsx index 7c765d3d5ca85..a17588b3c3dd2 100644 --- a/src/pages/settings/Report/ReportSettingsPage.tsx +++ b/src/pages/settings/Report/ReportSettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; @@ -12,6 +11,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ReportSettingsPageProps = WithReportOrNotFoundProps & StackScreenProps; +type ReportSettingsPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function ReportSettingsPage({report, policies}: ReportSettingsPageProps) { const reportID = report?.reportID ?? ''; diff --git a/src/pages/settings/Report/RoomNamePage.tsx b/src/pages/settings/Report/RoomNamePage.tsx index 5ba85961e5baf..f3ae524cc1548 100644 --- a/src/pages/settings/Report/RoomNamePage.tsx +++ b/src/pages/settings/Report/RoomNamePage.tsx @@ -1,5 +1,4 @@ import {useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -16,6 +15,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; @@ -37,7 +37,7 @@ type RoomNamePageOnyxProps = { policy: OnyxEntry; }; -type RoomNamePageProps = RoomNamePageOnyxProps & WithReportOrNotFoundProps & StackScreenProps; +type RoomNamePageProps = RoomNamePageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenProps; function RoomNamePage({report, policy, reports}: RoomNamePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Report/VisibilityPage.tsx b/src/pages/settings/Report/VisibilityPage.tsx index d3b8b2656d502..b53d10b5a5e15 100644 --- a/src/pages/settings/Report/VisibilityPage.tsx +++ b/src/pages/settings/Report/VisibilityPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import ConfirmModal from '@components/ConfirmModal'; @@ -7,6 +6,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportSettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {WithReportOrNotFoundProps} from '@pages/home/report/withReportOrNotFound'; @@ -16,7 +16,7 @@ import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; import type {RoomVisibility} from '@src/types/onyx/Report'; -type VisibilityProps = WithReportOrNotFoundProps & StackScreenProps; +type VisibilityProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function VisibilityPage({report}: VisibilityProps) { const [showConfirmModal, setShowConfirmModal] = useState(false); diff --git a/src/pages/settings/Report/WriteCapabilityPage.tsx b/src/pages/settings/Report/WriteCapabilityPage.tsx index 1f991ef87c9a6..6b3dd77a94e88 100644 --- a/src/pages/settings/Report/WriteCapabilityPage.tsx +++ b/src/pages/settings/Report/WriteCapabilityPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -9,6 +8,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -27,7 +27,7 @@ type WriteCapabilityPageOnyxProps = { type WriteCapabilityPageProps = WriteCapabilityPageOnyxProps & WithReportOrNotFoundProps & - StackScreenProps; + PlatformStackScreenProps; function WriteCapabilityPage({report, policy}: WriteCapabilityPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Security/CloseAccountPage.tsx b/src/pages/settings/Security/CloseAccountPage.tsx index bcf65ecfe8376..dc67f04303d5e 100644 --- a/src/pages/settings/Security/CloseAccountPage.tsx +++ b/src/pages/settings/Security/CloseAccountPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import Str from 'expensify-common/lib/str'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; @@ -15,6 +14,7 @@ import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import * as CloseAccount from '@userActions/CloseAccount'; @@ -30,7 +30,7 @@ type CloseAccountPageOnyxProps = { session: OnyxEntry; }; -type CloseAccountPageProps = CloseAccountPageOnyxProps & StackScreenProps; +type CloseAccountPageProps = CloseAccountPageOnyxProps & PlatformStackScreenProps; function CloseAccountPage({session}: CloseAccountPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx index a031cf6363f4d..791a3054f3d8b 100644 --- a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx +++ b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useRef, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -19,6 +18,7 @@ import * as CardUtils from '@libs/CardUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as CardSettings from '@userActions/Card'; @@ -34,7 +34,7 @@ type ActivatePhysicalCardPageOnyxProps = { cardList: OnyxEntry>; }; -type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & StackScreenProps; +type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & PlatformStackScreenProps; const LAST_FOUR_DIGITS_LENGTH = 4; const MAGIC_INPUT_MIN_HEIGHT = 86; diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx index 5f3dbb3fa6c3d..5636358dfe6fb 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx @@ -1,10 +1,10 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import AddressForm from '@components/AddressForm'; import useLocalize from '@hooks/useLocalize'; import * as FormActions from '@libs/actions/FormActions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; @@ -18,7 +18,7 @@ type GetPhysicalCardAddressOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & StackScreenProps; +type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & PlatformStackScreenProps; function GetPhysicalCardAddress({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx index c6b4bc2272d13..9fcca69a611da 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -8,6 +7,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -34,7 +34,7 @@ type GetPhysicalCardConfirmOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & StackScreenProps; +type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & PlatformStackScreenProps; function GetPhysicalCardConfirm({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx index 1667aa8d36d3c..f9a62195f81f0 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -6,6 +5,7 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -26,7 +26,7 @@ type GetPhysicalCardNameOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & StackScreenProps; +type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & PlatformStackScreenProps; function GetPhysicalCardName({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx index f709de4b51c3f..d2eeb0d59c618 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -6,6 +5,7 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import * as LoginUtils from '@libs/LoginUtils'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -24,7 +24,7 @@ type GetPhysicalCardPhoneOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & StackScreenProps; +type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & PlatformStackScreenProps; function GetPhysicalCardPhone({ route: { diff --git a/src/pages/settings/Wallet/ExpensifyCardPage.tsx b/src/pages/settings/Wallet/ExpensifyCardPage.tsx index d96574063ac72..4dac01544b23b 100644 --- a/src/pages/settings/Wallet/ExpensifyCardPage.tsx +++ b/src/pages/settings/Wallet/ExpensifyCardPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -20,6 +19,7 @@ import * as CardUtils from '@libs/CardUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as GetPhysicalCardUtils from '@libs/GetPhysicalCardUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -49,7 +49,7 @@ type ExpensifyCardPageOnyxProps = { loginList: OnyxEntry; }; -type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & StackScreenProps; +type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & PlatformStackScreenProps; function ExpensifyCardPage({ cardList, diff --git a/src/pages/settings/Wallet/ReportCardLostPage.tsx b/src/pages/settings/Wallet/ReportCardLostPage.tsx index 0c5c0a5c9ff20..8b9aaf96278cf 100644 --- a/src/pages/settings/Wallet/ReportCardLostPage.tsx +++ b/src/pages/settings/Wallet/ReportCardLostPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import usePrevious from '@hooks/usePrevious'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import Navigation from '@libs/Navigation/Navigation'; +import {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -61,7 +61,7 @@ type ReportCardLostPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportCardLostPageProps = ReportCardLostPageOnyxProps & StackScreenProps; +type ReportCardLostPageProps = ReportCardLostPageOnyxProps & PlatformStackScreenProps; function ReportCardLostPage({ privatePersonalDetails = { diff --git a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx index 7a6460029a8e1..1b8eb22ac6496 100644 --- a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx +++ b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -13,6 +12,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -31,7 +31,7 @@ type ReportVirtualCardFraudPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & StackScreenProps; +type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & PlatformStackScreenProps; function ReportVirtualCardFraudPage({ route: { diff --git a/src/pages/tasks/NewTaskDescriptionPage.tsx b/src/pages/tasks/NewTaskDescriptionPage.tsx index e33241c52f4aa..8bef635dec641 100644 --- a/src/pages/tasks/NewTaskDescriptionPage.tsx +++ b/src/pages/tasks/NewTaskDescriptionPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import React from 'react'; import {View} from 'react-native'; @@ -15,6 +14,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import * as TaskActions from '@userActions/Task'; @@ -30,7 +30,7 @@ type NewTaskDescriptionPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & StackScreenProps; +type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/tasks/NewTaskDetailsPage.tsx b/src/pages/tasks/NewTaskDetailsPage.tsx index 9e857b22c5c48..8c31015d11643 100644 --- a/src/pages/tasks/NewTaskDetailsPage.tsx +++ b/src/pages/tasks/NewTaskDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; @@ -15,6 +14,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as TaskActions from '@userActions/Task'; import CONST from '@src/CONST'; @@ -29,7 +29,7 @@ type NewTaskDetailsPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & StackScreenProps; +type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/tasks/NewTaskPage.tsx b/src/pages/tasks/NewTaskPage.tsx index 44cb485c0b063..f0f12d4776c86 100644 --- a/src/pages/tasks/NewTaskPage.tsx +++ b/src/pages/tasks/NewTaskPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as LocalePhoneNumber from '@libs/LocalePhoneNumber'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -36,7 +36,7 @@ type NewTaskPageOnyxProps = { reports: OnyxCollection; }; -type NewTaskPageProps = NewTaskPageOnyxProps & StackScreenProps; +type NewTaskPageProps = NewTaskPageOnyxProps & PlatformStackScreenProps; function NewTaskPage({task, reports, personalDetails}: NewTaskPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/NewTaskTitlePage.tsx b/src/pages/tasks/NewTaskTitlePage.tsx index 582d2a5c65000..f71f20257fff4 100644 --- a/src/pages/tasks/NewTaskTitlePage.tsx +++ b/src/pages/tasks/NewTaskTitlePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as TaskActions from '@userActions/Task'; import CONST from '@src/CONST'; @@ -27,7 +27,7 @@ type NewTaskTitlePageOnyxProps = { /** Task Creation Data */ task: OnyxEntry; }; -type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & StackScreenProps; +type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & PlatformStackScreenProps; function NewTaskTitlePage({task}: NewTaskTitlePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/wallet/WalletStatementPage.tsx b/src/pages/wallet/WalletStatementPage.tsx index ac1b6d428d52a..915df16305fdf 100644 --- a/src/pages/wallet/WalletStatementPage.tsx +++ b/src/pages/wallet/WalletStatementPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import {format, getMonth, getYear} from 'date-fns'; import Str from 'expensify-common/lib/str'; import React, {useEffect} from 'react'; @@ -15,6 +14,7 @@ import DateUtils from '@libs/DateUtils'; import fileDownload from '@libs/fileDownload'; import Growl from '@libs/Growl'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WalletStatementNavigatorParamList} from '@navigation/types'; import * as User from '@userActions/User'; import CONFIG from '@src/CONFIG'; @@ -27,7 +27,7 @@ type WalletStatementOnyxProps = { walletStatement: OnyxEntry; }; -type WalletStatementPageProps = WalletStatementOnyxProps & StackScreenProps; +type WalletStatementPageProps = WalletStatementOnyxProps & PlatformStackScreenProps; function WalletStatementPage({walletStatement, route}: WalletStatementPageProps) { const themePreference = useThemePreference(); diff --git a/src/pages/workspace/WorkspaceAvatar.tsx b/src/pages/workspace/WorkspaceAvatar.tsx index 9ab9d0af25d5f..fff2b9c19ddb4 100644 --- a/src/pages/workspace/WorkspaceAvatar.tsx +++ b/src/pages/workspace/WorkspaceAvatar.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -16,7 +16,7 @@ type WorkspaceAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & StackScreenProps; +type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & PlatformStackScreenProps; function WorkspaceAvatar({policy, isLoadingApp = true}: WorkspaceAvatarProps) { const avatarURL = policy?.avatar ?? '' ? policy?.avatar ?? '' : ReportUtils.getDefaultWorkspaceAvatar(policy?.name ?? ''); diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index c066319cd31e6..94fd7363ebaa2 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -1,5 +1,4 @@ import {useNavigationState} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -21,6 +20,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWaitForNavigation from '@hooks/useWaitForNavigation'; import getTopmostWorkspacesCentralPaneName from '@libs/Navigation/getTopmostWorkspacesCentralPaneName'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import {getDefaultWorkspaceAvatar} from '@libs/ReportUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; @@ -54,7 +54,9 @@ type WorkspaceInitialPageOnyxProps = { policyCategories: OnyxEntry; }; -type WorkspaceInitialPageProps = WithPolicyAndFullscreenLoadingProps & WorkspaceInitialPageOnyxProps & StackScreenProps; +type WorkspaceInitialPageProps = WithPolicyAndFullscreenLoadingProps & + WorkspaceInitialPageOnyxProps & + PlatformStackScreenProps; function dismissError(policyID: string) { PolicyUtils.goBackFromInvalidPolicy(); diff --git a/src/pages/workspace/WorkspaceInviteMessagePage.tsx b/src/pages/workspace/WorkspaceInviteMessagePage.tsx index dd2ab151b658c..c8e49f26bbc75 100644 --- a/src/pages/workspace/WorkspaceInviteMessagePage.tsx +++ b/src/pages/workspace/WorkspaceInviteMessagePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import lodashDebounce from 'lodash/debounce'; import React, {useEffect, useMemo, useState} from 'react'; @@ -23,6 +22,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; @@ -54,7 +54,7 @@ type WorkspaceInviteMessagePageOnyxProps = { type WorkspaceInviteMessagePageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & WorkspaceInviteMessagePageOnyxProps & - StackScreenProps; + PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/workspace/WorkspaceInvitePage.tsx b/src/pages/workspace/WorkspaceInvitePage.tsx index 0310104590e5b..dd513b621e47f 100644 --- a/src/pages/workspace/WorkspaceInvitePage.tsx +++ b/src/pages/workspace/WorkspaceInvitePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -19,6 +18,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {MemberForList} from '@libs/OptionsListUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -50,7 +50,7 @@ type WorkspaceInvitePageOnyxProps = { type WorkspaceInvitePageProps = WithPolicyAndFullscreenLoadingProps & WithNavigationTransitionEndProps & WorkspaceInvitePageOnyxProps & - StackScreenProps; + PlatformStackScreenProps; function WorkspaceInvitePage({route, betas, invitedEmailsToAccountIDsDraft, policy, isLoadingReportData = true}: WorkspaceInvitePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/WorkspaceJoinUserPage.tsx b/src/pages/workspace/WorkspaceJoinUserPage.tsx index 7cc8e63da2ee4..9e62a8d66071a 100644 --- a/src/pages/workspace/WorkspaceJoinUserPage.tsx +++ b/src/pages/workspace/WorkspaceJoinUserPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useRef} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -6,6 +5,7 @@ import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import navigateAfterJoinRequest from '@libs/navigateAfterJoinRequest'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; import * as PolicyAction from '@userActions/Policy'; @@ -20,7 +20,7 @@ type WorkspaceJoinUserPageOnyxProps = { policy: OnyxEntry; }; -type WorkspaceJoinUserPageRoute = {route: StackScreenProps['route']}; +type WorkspaceJoinUserPageRoute = {route: PlatformStackScreenProps['route']}; type WorkspaceJoinUserPageProps = WorkspaceJoinUserPageRoute & WorkspaceJoinUserPageOnyxProps; let isJoinLinkUsed = false; diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 9c5631eff0aac..ffdd60fd69001 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -1,5 +1,4 @@ import {useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import lodashIsEqual from 'lodash/isEqual'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import type {TextInput} from 'react-native'; @@ -29,6 +28,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -56,7 +56,7 @@ type WorkspaceMembersPageOnyxProps = { type WorkspaceMembersPageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & WorkspaceMembersPageOnyxProps & - StackScreenProps; + PlatformStackScreenProps; /** * Inverts an object, equivalent of _.invert */ diff --git a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx index f37921f07c36e..fa8f0ae001bd1 100644 --- a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx +++ b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -12,6 +11,7 @@ import useNetwork from '@hooks/useNetwork'; import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as Policy from '@userActions/Policy'; import type {TranslationPaths} from '@src/languages/types'; @@ -24,7 +24,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscree import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading'; import ToggleSettingOptionRow from './workflows/ToggleSettingsOptionRow'; -type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; type Item = { icon: IconAsset; diff --git a/src/pages/workspace/bills/WorkspaceBillsPage.tsx b/src/pages/workspace/bills/WorkspaceBillsPage.tsx index e2dbe398b49fe..702f85152680a 100644 --- a/src/pages/workspace/bills/WorkspaceBillsPage.tsx +++ b/src/pages/workspace/bills/WorkspaceBillsPage.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceBillsNoVBAView from './WorkspaceBillsNoVBAView'; import WorkspaceBillsVBAView from './WorkspaceBillsVBAView'; -type WorkspaceBillsPageProps = StackScreenProps; +type WorkspaceBillsPageProps = PlatformStackScreenProps; function WorkspaceBillsPage({route}: WorkspaceBillsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/card/WorkspaceCardPage.tsx b/src/pages/workspace/card/WorkspaceCardPage.tsx index 079c715bffd6f..99f195a9d54bd 100644 --- a/src/pages/workspace/card/WorkspaceCardPage.tsx +++ b/src/pages/workspace/card/WorkspaceCardPage.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -12,7 +12,7 @@ import WorkspaceCardNoVBAView from './WorkspaceCardNoVBAView'; import WorkspaceCardVBANoECardView from './WorkspaceCardVBANoECardView'; import WorkspaceCardVBAWithECardView from './WorkspaceCardVBAWithECardView'; -type WorkspaceCardPageProps = StackScreenProps; +type WorkspaceCardPageProps = PlatformStackScreenProps; function WorkspaceCardPage({route}: WorkspaceCardPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/categories/CategorySettingsPage.tsx b/src/pages/workspace/categories/CategorySettingsPage.tsx index 6e35c4e2d0402..7a856f98332f5 100644 --- a/src/pages/workspace/categories/CategorySettingsPage.tsx +++ b/src/pages/workspace/categories/CategorySettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -17,6 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {setWorkspaceCategoryEnabled} from '@libs/actions/Policy'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type CategorySettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type CategorySettingsPageProps = CategorySettingsPageOnyxProps & StackScreenProps; +type CategorySettingsPageProps = CategorySettingsPageOnyxProps & PlatformStackScreenProps; function CategorySettingsPage({route, policyCategories}: CategorySettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/CreateCategoryPage.tsx b/src/pages/workspace/categories/CreateCategoryPage.tsx index b31207e73208e..9cb8f19cce13b 100644 --- a/src/pages/workspace/categories/CreateCategoryPage.tsx +++ b/src/pages/workspace/categories/CreateCategoryPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -8,6 +7,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -24,7 +24,7 @@ type WorkspaceCreateCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & StackScreenProps; +type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & PlatformStackScreenProps; function CreateCategoryPage({route, policyCategories}: CreateCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/EditCategoryPage.tsx b/src/pages/workspace/categories/EditCategoryPage.tsx index dbf7c89135158..2eeeea5070651 100644 --- a/src/pages/workspace/categories/EditCategoryPage.tsx +++ b/src/pages/workspace/categories/EditCategoryPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -8,6 +7,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ type WorkspaceEditCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & StackScreenProps; +type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & PlatformStackScreenProps; function EditCategoryPage({route, policyCategories}: EditCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx index 80394623dba89..94dc48be74987 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -27,6 +26,7 @@ import {deleteWorkspaceCategories, setWorkspaceCategoryEnabled} from '@libs/acti import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -53,7 +53,7 @@ type WorkspaceCategoriesOnyxProps = { policyCategories: OnyxEntry; }; -type WorkspaceCategoriesPageProps = WorkspaceCategoriesOnyxProps & StackScreenProps; +type WorkspaceCategoriesPageProps = WorkspaceCategoriesOnyxProps & PlatformStackScreenProps; function WorkspaceCategoriesPage({policy, policyCategories, route}: WorkspaceCategoriesPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx index 0ebfcde6f97b8..d591505001133 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -11,6 +10,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setWorkspaceRequiresCategory} from '@libs/actions/Policy'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -26,7 +26,7 @@ type WorkspaceCategoriesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type WorkspaceCategoriesSettingsPageProps = WorkspaceCategoriesSettingsPageOnyxProps & StackScreenProps; +type WorkspaceCategoriesSettingsPageProps = WorkspaceCategoriesSettingsPageOnyxProps & PlatformStackScreenProps; function WorkspaceCategoriesSettingsPage({route, policyCategories}: WorkspaceCategoriesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx index 1d01856992f9f..3e7004f21e022 100644 --- a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx +++ b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; @@ -11,6 +10,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {getOptimisticRateName, validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -29,7 +29,7 @@ type CreateDistanceRatePageOnyxProps = { policy: OnyxEntry; }; -type CreateDistanceRatePageProps = CreateDistanceRatePageOnyxProps & StackScreenProps; +type CreateDistanceRatePageProps = CreateDistanceRatePageOnyxProps & PlatformStackScreenProps; function CreateDistanceRatePage({policy, route}: CreateDistanceRatePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx index a1716405da8b2..6a10a6dc10390 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -17,6 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type PolicyDistanceRateDetailsPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & StackScreenProps; +type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRateDetailsPage({policy, route}: PolicyDistanceRateDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx index f44175f09e3fb..22dd4e01af25d 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,6 +12,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ type PolicyDistanceRateEditPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateEditPageProps = PolicyDistanceRateEditPageOnyxProps & StackScreenProps; +type PolicyDistanceRateEditPageProps = PolicyDistanceRateEditPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRateEditPage({policy, route}: PolicyDistanceRateEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx index ea35526bcdfa0..54aa72d7814f6 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -24,6 +23,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -44,7 +44,7 @@ type PolicyDistanceRatesPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRatesPageProps = PolicyDistanceRatesPageOnyxProps & StackScreenProps; +type PolicyDistanceRatesPageProps = PolicyDistanceRatesPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRatesPage({policy, route}: PolicyDistanceRatesPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx index 0cf5c133e37f8..9183b08608519 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -11,6 +10,7 @@ import type {UnitItemType} from '@components/UnitPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -33,7 +33,7 @@ type PolicyDistanceRatesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & StackScreenProps; +type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRatesSettingsPage({policy, policyCategories, route}: PolicyDistanceRatesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx index a00c4959cedb2..71abf7ea7132d 100644 --- a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx +++ b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceInvoicesNoVBAView from './WorkspaceInvoicesNoVBAView'; import WorkspaceInvoicesVBAView from './WorkspaceInvoicesVBAView'; -type WorkspaceInvoicesPageProps = StackScreenProps; +type WorkspaceInvoicesPageProps = PlatformStackScreenProps; function WorkspaceInvoicesPage({route}: WorkspaceInvoicesPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx index 32b43a2306197..26fbdc5e59c7c 100644 --- a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx +++ b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -18,6 +17,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as UserUtils from '@libs/UserUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -40,7 +40,7 @@ type WorkspacePolicyOnyxProps = { type WorkspaceMemberDetailsPageProps = Omit & WorkspacePolicyOnyxProps & - StackScreenProps; + PlatformStackScreenProps; function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceMemberDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx index 81c43f6ab818f..5ac44bdcff7c8 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import Button from '@components/Button'; @@ -11,6 +10,7 @@ import Text from '@components/Text'; import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -20,7 +20,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = StackScreenProps; +type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; function WorkspaceOwnerChangeErrorPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx index 856a852037b4f..935b2492a61a6 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import ConfirmationPage from '@components/ConfirmationPage'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import LottieAnimations from '@components/LottieAnimations'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -14,7 +14,7 @@ import * as PolicyActions from '@userActions/Policy'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = StackScreenProps; +type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; function WorkspaceOwnerChangeSuccessPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx index 9f9540327c53f..7c34b82c3a954 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {View} from 'react-native'; import type {ValueOf} from 'type-fest'; @@ -7,6 +6,7 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -20,7 +20,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceOwnerChangeCheck from './WorkspaceOwnerChangeCheck'; import WorkspaceOwnerPaymentCardForm from './WorkspaceOwnerPaymentCardForm'; -type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & StackScreenProps; +type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & PlatformStackScreenProps; function WorkspaceOwnerChangeWrapperPage({route, policy}: WorkspaceOwnerChangeWrapperPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx b/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx index 8fef5f4dc6f96..38f066876d8ef 100644 --- a/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx +++ b/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {Keyboard, View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -12,6 +11,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import getPermittedDecimalSeparator from '@libs/getPermittedDecimalSeparator'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -27,7 +27,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {Unit} from '@src/types/onyx/Policy'; -type WorkspaceRateAndUnitPageProps = WithPolicyProps & StackScreenProps; +type WorkspaceRateAndUnitPageProps = WithPolicyProps & PlatformStackScreenProps; type ValidationError = {rate?: TranslationPaths | undefined}; diff --git a/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx b/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx index 222ece12d29df..084141ab368a4 100644 --- a/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx +++ b/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx @@ -1,6 +1,6 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import useLocalize from '@hooks/useLocalize'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; import withPolicy from '@pages/workspace/withPolicy'; @@ -9,7 +9,7 @@ import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; import WorkspaceReimburseView from './WorkspaceReimburseView'; -type WorkspaceReimbursePageProps = WithPolicyProps & StackScreenProps; +type WorkspaceReimbursePageProps = WithPolicyProps & PlatformStackScreenProps; function WorkspaceReimbursePage({route, policy}: WorkspaceReimbursePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/tags/EditTagPage.tsx b/src/pages/workspace/tags/EditTagPage.tsx index fbde96eb2b914..26bf181dfb1c9 100644 --- a/src/pages/workspace/tags/EditTagPage.tsx +++ b/src/pages/workspace/tags/EditTagPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,6 +12,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -31,7 +31,7 @@ type EditTagPageOnyxProps = { policyTags: OnyxEntry; }; -type EditTagPageProps = EditTagPageOnyxProps & StackScreenProps; +type EditTagPageProps = EditTagPageOnyxProps & PlatformStackScreenProps; function EditTagPage({route, policyTags}: EditTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/TagSettingsPage.tsx b/src/pages/workspace/tags/TagSettingsPage.tsx index a643797eac1e3..b2da751e6a757 100644 --- a/src/pages/workspace/tags/TagSettingsPage.tsx +++ b/src/pages/workspace/tags/TagSettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -17,6 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {setWorkspaceTagEnabled} from '@libs/actions/Policy'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -35,7 +35,7 @@ type TagSettingsPageOnyxProps = { policyTags: OnyxEntry; }; -type TagSettingsPageProps = TagSettingsPageOnyxProps & StackScreenProps; +type TagSettingsPageProps = TagSettingsPageOnyxProps & PlatformStackScreenProps; function TagSettingsPage({route, policyTags}: TagSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx index 346d56891dd50..3c8d2e7953970 100644 --- a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx +++ b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -32,7 +32,7 @@ type WorkspaceCreateTagPageOnyxProps = { policyTags: OnyxEntry; }; -type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & StackScreenProps; +type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & PlatformStackScreenProps; function CreateTagPage({route, policyTags}: CreateTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx index 0072d37ef6310..ac39c781d587e 100644 --- a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -14,6 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ type WorkspaceEditTagsPageOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & StackScreenProps; +type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & PlatformStackScreenProps; const validateTagName = (values: FormOnyxValues) => { const errors: FormInputErrors = {}; diff --git a/src/pages/workspace/tags/WorkspaceTagsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsPage.tsx index a46e32d5371e3..a1fb67db067c9 100644 --- a/src/pages/workspace/tags/WorkspaceTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import lodashSortBy from 'lodash/sortBy'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -27,6 +26,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -60,7 +60,7 @@ type WorkspaceTagsOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceTagsPageProps = WorkspaceTagsOnyxProps & StackScreenProps; +type WorkspaceTagsPageProps = WorkspaceTagsOnyxProps & PlatformStackScreenProps; function WorkspaceTagsPage({policyTags, route}: WorkspaceTagsPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx index b421698b8f2fd..6cfe9d2ef0499 100644 --- a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -13,6 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -28,7 +28,7 @@ type WorkspaceTagsSettingsPageOnyxProps = { /** Collection of tags attached to a policy */ policyTags: OnyxEntry; }; -type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & StackScreenProps; +type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & PlatformStackScreenProps; function WorkspaceTagsSettingsPage({route, policyTags}: WorkspaceTagsSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/taxes/NamePage.tsx b/src/pages/workspace/taxes/NamePage.tsx index 5c77295a96644..a484e26b6ca49 100644 --- a/src/pages/workspace/taxes/NamePage.tsx +++ b/src/pages/workspace/taxes/NamePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; @@ -13,6 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {renamePolicyTax, validateTaxName} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -27,7 +27,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxNameForm'; -type NamePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type NamePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/workspace/taxes/ValuePage.tsx b/src/pages/workspace/taxes/ValuePage.tsx index c062b6a13f626..168cd23a53d76 100644 --- a/src/pages/workspace/taxes/ValuePage.tsx +++ b/src/pages/workspace/taxes/ValuePage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import AmountForm from '@components/AmountForm'; import FormProvider from '@components/Form/FormProvider'; @@ -12,6 +11,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {updatePolicyTaxValue, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -26,7 +26,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxValueForm'; -type ValuePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type ValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function ValuePage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx index e76e57768963f..c84cd9adb8b22 100644 --- a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import AmountPicker from '@components/AmountPicker'; @@ -13,6 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {createPolicyTax, getNextTaxCode, getTaxValueWithPercentage, validateTaxName, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceNewTaxForm'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceCreateTaxPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx index ec04b77df3ca2..ae5c6c838669f 100644 --- a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo, useState} from 'react'; import {View} from 'react-native'; import ConfirmModal from '@components/ConfirmModal'; @@ -16,6 +15,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {clearTaxRateFieldError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs/actions/TaxRate'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -28,7 +28,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceEditTaxPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx index a61c8ae72734c..3c763f3c154df 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import Button from '@components/Button'; @@ -25,6 +24,7 @@ import {clearTaxRateError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -37,7 +37,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceTaxesPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx index e9e359d9d0597..ab15e94add6a4 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -12,6 +11,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setPolicyCustomTaxName} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -26,7 +26,8 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxCustomName'; import type {WorkspaceTaxCustomName} from '@src/types/form/WorkspaceTaxCustomName'; -type WorkspaceTaxesSettingsCustomTaxNameProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type WorkspaceTaxesSettingsCustomTaxNameProps = WithPolicyAndFullscreenLoadingProps & + PlatformStackScreenProps; function WorkspaceTaxesSettingsCustomTaxName({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx index 3081df55fe697..0670c5682cb66 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -8,6 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setForeignCurrencyDefault} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsForeignCurrencyProps = WithPolicyAndFullscreenLoadingProps & - StackScreenProps; + PlatformStackScreenProps; function WorkspaceTaxesSettingsForeignCurrency({ route: { params: {policyID}, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx index 8fbfa7b79292f..ebc32b2f47f24 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -9,6 +8,7 @@ import ScrollView from '@components/ScrollView'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -19,7 +19,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; +type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceTaxesSettingsPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx index 630560f864b41..5e9b27ca7a530 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -8,6 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setWorkspaceCurrencyDefault} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsWorkspaceCurrencyProps = WithPolicyAndFullscreenLoadingProps & - StackScreenProps; + PlatformStackScreenProps; function WorkspaceTaxesSettingsWorkspaceCurrency({ route: { diff --git a/src/pages/workspace/travel/WorkspaceTravelPage.tsx b/src/pages/workspace/travel/WorkspaceTravelPage.tsx index c03bcc7cfb9be..72bfb6cb924fe 100644 --- a/src/pages/workspace/travel/WorkspaceTravelPage.tsx +++ b/src/pages/workspace/travel/WorkspaceTravelPage.tsx @@ -1,9 +1,9 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceTravelNoVBAView from './WorkspaceTravelNoVBAView'; import WorkspaceTravelVBAView from './WorkspaceTravelVBAView'; -type WorkspaceTravelPageProps = StackScreenProps; +type WorkspaceTravelPageProps = PlatformStackScreenProps; function WorkspaceTravelPage({route}: WorkspaceTravelPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx index 5d2297f47ddd4..d80cf676953ac 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {FlatList} from 'react-native-gesture-handler'; import type {ValueOf} from 'type-fest'; @@ -13,6 +12,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as Localize from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -27,7 +27,8 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; type AutoReportingFrequencyKey = Exclude, 'instant'>; type Locale = ValueOf; -type WorkspaceAutoReportingFrequencyPageProps = WithPolicyOnyxProps & StackScreenProps; +type WorkspaceAutoReportingFrequencyPageProps = WithPolicyOnyxProps & + PlatformStackScreenProps; type WorkspaceAutoReportingFrequencyPageItem = { text: string; diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx index 0b44d6c565d1d..26dfa84520f4b 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import type {ValueOf} from 'type-fest'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; @@ -8,6 +7,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -21,7 +21,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; const DAYS_OF_MONTH = 28; type WorkspaceAutoReportingMonthlyOffsetProps = WithPolicyOnyxProps & - StackScreenProps; + PlatformStackScreenProps; type AutoReportingOffsetKeys = ValueOf; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx index d322186166622..4637ed01727b8 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -16,6 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -37,7 +37,7 @@ type WorkspaceWorkflowsApproverPageOnyxProps = { type WorkspaceWorkflowsApproverPageProps = WorkspaceWorkflowsApproverPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - StackScreenProps; + PlatformStackScreenProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index 35412d768bccb..0efa55022cfe0 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect} from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -16,6 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Permissions from '@libs/Permissions'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -40,7 +40,7 @@ type WorkspaceWorkflowsPageOnyxProps = { /** Beta features list */ betas: OnyxEntry; }; -type WorkspaceWorkflowsPageProps = WithPolicyProps & WorkspaceWorkflowsPageOnyxProps & StackScreenProps; +type WorkspaceWorkflowsPageProps = WithPolicyProps & WorkspaceWorkflowsPageOnyxProps & PlatformStackScreenProps; function WorkspaceWorkflowsPage({policy, betas, route}: WorkspaceWorkflowsPageProps) { const {translate, preferredLocale} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx index da51b2c3e8e36..e16f9d4ea841c 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -16,6 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -38,7 +38,7 @@ type WorkspaceWorkflowsPayerPageOnyxProps = { type WorkspaceWorkflowsPayerPageProps = WorkspaceWorkflowsPayerPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - StackScreenProps; + PlatformStackScreenProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/tests/perf-test/ReportScreen.perf-test.tsx b/tests/perf-test/ReportScreen.perf-test.tsx index c89b7fe54b5ff..8dd728899e6fb 100644 --- a/tests/perf-test/ReportScreen.perf-test.tsx +++ b/tests/perf-test/ReportScreen.perf-test.tsx @@ -1,4 +1,3 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import {fireEvent, screen, waitFor} from '@testing-library/react-native'; import type {ComponentType} from 'react'; import React from 'react'; @@ -7,6 +6,7 @@ import type Animated from 'react-native-reanimated'; import {measurePerformance} from 'reassure'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; import type Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import ComposeProviders from '@src/components/ComposeProviders'; import DragAndDropProvider from '@src/components/DragAndDrop/Provider'; @@ -34,7 +34,7 @@ import * as TestHelper from '../utils/TestHelper'; import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; -type ReportScreenWrapperProps = StackScreenProps; +type ReportScreenWrapperProps = PlatformStackScreenProps; jest.mock('react-native-reanimated', () => { const actualNav = jest.requireActual('react-native-reanimated/mock'); diff --git a/tests/perf-test/SearchPage.perf-test.tsx b/tests/perf-test/SearchPage.perf-test.tsx index 33ee900f8b6c7..e0655b7e1ddbe 100644 --- a/tests/perf-test/SearchPage.perf-test.tsx +++ b/tests/perf-test/SearchPage.perf-test.tsx @@ -1,5 +1,4 @@ import type * as NativeNavigation from '@react-navigation/native'; -import type {StackScreenProps} from '@react-navigation/stack'; import {fireEvent, screen, waitFor} from '@testing-library/react-native'; import type {TextMatch} from '@testing-library/react-native/build/matches'; import React, {useMemo} from 'react'; @@ -11,6 +10,7 @@ import {LocaleContextProvider} from '@components/LocaleContextProvider'; import OptionListContextProvider, {OptionsListContext} from '@components/OptionListContextProvider'; import {KeyboardStateProvider} from '@components/withKeyboardState'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import {createOptionList} from '@libs/OptionsListUtils'; import SearchPage from '@pages/SearchPage'; @@ -126,7 +126,7 @@ afterEach(() => { PusherHelper.teardown(); }); -type SearchPageProps = StackScreenProps & { +type SearchPageProps = PlatformStackScreenProps & { betas: OnyxEntry; reports: OnyxCollection; isSearchingForReports: OnyxEntry; From c5b5775f7bd22e49a860b75b2c85765bcec21e3d Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 12:29:16 +0200 Subject: [PATCH 029/178] fix: lint errors --- .../settings/Profile/Contacts/ContactMethodDetailsPage.tsx | 1 - src/pages/settings/Wallet/ReportCardLostPage.tsx | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx index 89574a39e68e0..58780d63f5d4d 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Str from 'expensify-common/lib/str'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {InteractionManager, Keyboard, View} from 'react-native'; diff --git a/src/pages/settings/Wallet/ReportCardLostPage.tsx b/src/pages/settings/Wallet/ReportCardLostPage.tsx index 8b9aaf96278cf..585518fd59f26 100644 --- a/src/pages/settings/Wallet/ReportCardLostPage.tsx +++ b/src/pages/settings/Wallet/ReportCardLostPage.tsx @@ -13,7 +13,7 @@ import usePrevious from '@hooks/usePrevious'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import Navigation from '@libs/Navigation/Navigation'; -import {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; From 23b70c22f490d09319354284a1a10d451cb380af Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 13:09:19 +0200 Subject: [PATCH 030/178] fix: pass generic parameter --- patches/@react-navigation+core+6.4.11.patch | 40 ------------------- .../index.native.tsx | 2 +- .../createPlatformStackNavigator/index.tsx | 2 +- 3 files changed, 2 insertions(+), 42 deletions(-) delete mode 100644 patches/@react-navigation+core+6.4.11.patch diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch deleted file mode 100644 index 6ba3f2727f40e..0000000000000 --- a/patches/@react-navigation+core+6.4.11.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index fcd456b..13e005e 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -307,10 +307,11 @@ export type Descriptor = Partial<{ - [EventName in keyof (EventMap & EventMapCore)]: EventListenerCallback; - }>; --type ScreenComponentType = React.ComponentType<{ -+type ScreenComponentType = Record> = React.ComponentType<{ - route: RouteProp; - navigation: any; --}> | React.ComponentType<{}>; -+} & CustomProps> | React.ComponentType; - export type RouteConfigComponent = { - /** - * React component to render for this screen. -diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index b691d75..8435eed 100644 ---- a/node_modules/@react-navigation/core/src/types.tsx -+++ b/node_modules/@react-navigation/core/src/types.tsx -@@ -442,13 +442,14 @@ export type ScreenListeners< - - type ScreenComponentType< - ParamList extends ParamListBase, -- RouteName extends keyof ParamList -+ RouteName extends keyof ParamList, -+ CustomProps extends Record = Record - > = - | React.ComponentType<{ - route: RouteProp; - navigation: any; -- }> -- | React.ComponentType<{}>; -+ } & CustomProps> -+ | React.ComponentType; - - export type RouteConfigComponent< - ParamList extends ParamListBase, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index 613eb9d9315d7..a9cc5fb11d410 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -64,7 +64,7 @@ function createPlatformStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, - )(); + )(); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index 8bfe6425c5a82..a3674340dfd0b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -43,7 +43,7 @@ function createPlatformStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, - )(); + )(); } export default createPlatformStackNavigator; From a47a39818745877fa287b09c658661461d56e455 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 13:11:27 +0200 Subject: [PATCH 031/178] replace remaining stack navigators --- .../WorkspaceSettingsModalStackNavigator.tsx | 36 +++++++++---------- .../Navigators/OnboardingModalNavigator.tsx | 4 +-- .../Navigators/WelcomeVideoModalNavigator.tsx | 4 +-- .../OnboardingModalNavigatorScreenOptions.ts | 4 +-- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/WorkspaceSettingsModalStackNavigator.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/WorkspaceSettingsModalStackNavigator.tsx index 172b622391315..5ab7d00adbc37 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/WorkspaceSettingsModalStackNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/WorkspaceSettingsModalStackNavigator.tsx @@ -1,88 +1,88 @@ -import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import SCREENS from '@src/SCREENS'; import useModalScreenOptions from './useModalScreenOptions'; -const StackNavigator = createStackNavigator(); +const Stack = createPlatformStackNavigator(); function WorkspaceSettingsModalStackNavigator() { const screenOptions = useModalScreenOptions((styles) => ({cardStyle: styles.navigationScreenCardStyle, headerShown: false})); return ( - - + require('@pages/workspace/WorkspaceProfilePage').default as React.ComponentType} /> - require('@pages/workspace/card/WorkspaceCardPage').default as React.ComponentType} /> - require('@pages/workspace/workflows/WorkspaceWorkflowsPage').default as React.ComponentType} /> - require('@pages/workspace/reimburse/WorkspaceReimbursePage').default as React.ComponentType} /> - require('@pages/workspace/bills/WorkspaceBillsPage').default as React.ComponentType} /> - require('@pages/workspace/invoices/WorkspaceInvoicesPage').default as React.ComponentType} /> - require('@pages/workspace/travel/WorkspaceTravelPage').default as React.ComponentType} /> - require('@pages/workspace/WorkspaceMembersPage').default as React.ComponentType} /> - require('@pages/workspace/accounting/PolicyAccountingPage').default as React.ComponentType} /> - require('@pages/workspace/categories/WorkspaceCategoriesPage').default as React.ComponentType} /> - require('@pages/workspace/WorkspaceMoreFeaturesPage').default as React.ComponentType} /> - require('@pages/workspace/tags/WorkspaceTagsPage').default as React.ComponentType} /> - require('@pages/workspace/taxes/WorkspaceTaxesPage').default as React.ComponentType} /> - require('@pages/workspace/distanceRates/PolicyDistanceRatesPage').default as React.ComponentType} /> - + ); } diff --git a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx index 6f4fbb08403ba..25faf6acfd8f9 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx @@ -1,17 +1,17 @@ -import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; import useOnboardingLayout from '@hooks/useOnboardingLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import OnboardingModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; import OnboardingPersonalDetails from '@pages/OnboardingPersonalDetails'; import OnboardingPurpose from '@pages/OnboardingPurpose'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -const Stack = createStackNavigator(); +const Stack = createPlatformStackNavigator(); function OnboardingModalNavigator() { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx index c788af3f8d2bd..5125979040762 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx @@ -1,12 +1,12 @@ -import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; import OnboardingWelcomeVideo from '@components/OnboardingWelcomeVideo'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {WelcomeVideoModalNavigatorParamList} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; -const Stack = createStackNavigator(); +const Stack = createPlatformStackNavigator(); function WelcomeVideoModalNavigator() { return ( diff --git a/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts index d4607a809f174..d15bc5b5a5524 100644 --- a/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts @@ -1,11 +1,11 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; import {CardStyleInterpolators} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; /** * Modal stack navigator screen options generator function * @returns The screen options object */ -const OnboardingModalNavigatorScreenOptions = (): StackNavigationOptions => ({ +const OnboardingModalNavigatorScreenOptions = (): PlatformStackNavigationOptions => ({ headerShown: false, animationEnabled: true, gestureDirection: 'horizontal', From 289ba71639108033e9066c6449ce1fb9c793a20e Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 14:05:11 +0200 Subject: [PATCH 032/178] restructure styles --- .../defaultScreenOptions/index.ts | 4 +- .../getRightModalNavigatorOptions/index.ts | 4 +- .../getRootNavigatorScreenOptions.ts | 29 ++++++------ .../leftModalNavigatorOptions/index.native.ts | 4 +- .../leftModalNavigatorOptions/index.ts | 7 +-- .../index.native.tsx | 44 ++----------------- .../createPlatformStackNavigator/index.tsx | 24 ++-------- .../native/slideFromLeft/index.android.ts | 2 +- .../native/slideFromLeft/index.ts | 2 +- .../native/slideFromRight/index.android.ts | 2 +- .../native/slideFromRight/index.ts | 2 +- .../animationOptions/web/slideFromLeft.ts | 5 +++ .../animationOptions/web/slideFromRight.ts | 5 +++ .../animationOptions/withAnimation.ts | 29 ++++++++++++ .../platformOptions/utils.ts | 7 +++ .../platformOptions/withNativeOptions.ts | 19 ++++++++ .../platformOptions/withWebOptions.ts | 19 ++++++++ 17 files changed, 120 insertions(+), 88 deletions(-) rename src/libs/Navigation/PlatformStackNavigation/{animation => platformOptions/animationOptions}/native/slideFromLeft/index.android.ts (81%) rename src/libs/Navigation/PlatformStackNavigation/{animation => platformOptions/animationOptions}/native/slideFromLeft/index.ts (80%) rename src/libs/Navigation/PlatformStackNavigation/{animation => platformOptions/animationOptions}/native/slideFromRight/index.android.ts (72%) rename src/libs/Navigation/PlatformStackNavigation/{animation => platformOptions/animationOptions}/native/slideFromRight/index.ts (80%) create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/web/slideFromLeft.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/web/slideFromRight.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts index 4015c43c679e1..3104264263a66 100644 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts @@ -1,6 +1,6 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -const defaultScreenOptions: StackNavigationOptions = { +const defaultScreenOptions: PlatformStackNavigationOptions = { cardStyle: { overflow: 'visible', flex: 1, diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts index 935c0041b7943..0eb2bc534e80d 100644 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts @@ -1,8 +1,8 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; // eslint-disable-next-line no-restricted-imports import getNavigationModalCardStyle from '@styles/utils/getNavigationModalCardStyles'; -const rightModalNavigatorOptions = (isSmallScreenWidth: boolean): StackNavigationOptions => ({ +const rightModalNavigatorOptions = (isSmallScreenWidth: boolean): PlatformStackNavigationOptions => ({ presentation: 'transparentModal', // We want pop in RHP since there are some flows that would work weird otherwise diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 3df1e79e3678e..4e43d060ec6b8 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -1,5 +1,6 @@ -import type {StackCardInterpolationProps, StackNavigationOptions} from '@react-navigation/stack'; +import type {StackCardInterpolationProps} from '@react-navigation/stack'; import type {ViewStyle} from 'react-native'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ThemeStyles} from '@styles/index'; import type {StyleUtilsType} from '@styles/utils'; import variables from '@styles/variables'; @@ -9,24 +10,21 @@ import getRightModalNavigatorOptions from './getRightModalNavigatorOptions'; import hideKeyboardOnSwipe from './hideKeyboardOnSwipe'; import leftModalNavigatorOptions from './leftModalNavigatorOptions'; -type GetOnboardingModalNavigatorOptions = (shouldUseNarrowLayout: boolean) => StackNavigationOptions; +type GetOnboardingModalNavigatorOptions = (shouldUseNarrowLayout: boolean) => PlatformStackNavigationOptions; type ScreenOptions = { - rightModalNavigator: StackNavigationOptions; + rightModalNavigator: PlatformStackNavigationOptions; onboardingModalNavigator: GetOnboardingModalNavigatorOptions; - leftModalNavigator: StackNavigationOptions; - homeScreen: StackNavigationOptions; - fullScreen: StackNavigationOptions; - centralPaneNavigator: StackNavigationOptions; - bottomTab: StackNavigationOptions; + leftModalNavigator: PlatformStackNavigationOptions; + homeScreen: PlatformStackNavigationOptions; + fullScreen: PlatformStackNavigationOptions; + centralPaneNavigator: PlatformStackNavigationOptions; + bottomTab: PlatformStackNavigationOptions; }; -const commonScreenOptions: StackNavigationOptions = { +const commonScreenOptions: PlatformStackNavigationOptions = { headerShown: false, - gestureDirection: 'horizontal', - animationEnabled: true, cardOverlayEnabled: true, - animationTypeForReplace: 'push', }; type GetRootNavigatorScreenOptions = (isSmallScreenWidth: boolean, styles: ThemeStyles, StyleUtils: StyleUtilsType) => ScreenOptions; @@ -40,7 +38,6 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...getRightModalNavigatorOptions(isSmallScreenWidth), ...hideKeyboardOnSwipe, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - ...hideKeyboardOnSwipe, }, onboardingModalNavigator: (shouldUseNarrowLayout: boolean) => ({ cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, shouldUseNarrowLayout, props), @@ -76,8 +73,8 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr }, }, homeScreen: { - title: CONFIG.SITE_TITLE, ...commonScreenOptions, + title: CONFIG.SITE_TITLE, // Note: The card* properties won't be applied on mobile platforms, as they use the native defaults. cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), cardStyle: { @@ -103,11 +100,11 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr }, centralPaneNavigator: { - title: CONFIG.SITE_TITLE, ...commonScreenOptions, + ...hideKeyboardOnSwipe, + title: CONFIG.SITE_TITLE, animationEnabled: isSmallScreenWidth, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), - ...hideKeyboardOnSwipe, cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts index a6710efdf4bbe..4d8219a323016 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -1,4 +1,6 @@ -const leftModalNavigatorOptions = { +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +const leftModalNavigatorOptions: PlatformStackNavigationOptions = { animation: 'slide_from_left', customAnimationOnGesture: true, }; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts index e27d9d1444791..71645e81908a2 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts @@ -1,8 +1,9 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -const leftModalNavigatorOptions: StackNavigationOptions = { +const leftModalNavigatorOptions: PlatformStackNavigationOptions = { presentation: 'transparentModal', - gestureDirection: 'horizontal-inverted', + animation: 'slide_from_left', + customAnimationOnGesture: true, }; export default leftModalNavigatorOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index a9cc5fb11d410..af53b00eaacde 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -1,45 +1,9 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; -import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; -import slideFromLeftAnimation from '@libs/Navigation/PlatformStackNavigation/animation/native/slideFromLeft'; -import slideFromRightAnimation from '@libs/Navigation/PlatformStackNavigation/animation/native/slideFromRight'; +import withNativeOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type { - CommonStackNavigationOptions, - NavigationOptionsRouteProps, - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigatorProps, -} from '@libs/Navigation/PlatformStackNavigation/types'; - -const withPolyfills = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { - if (screenOptions === undefined) { - return {}; - } - - const commonScreenOptions = (({animation, ...rest}) => rest)(screenOptions) satisfies CommonStackNavigationOptions; - - let animation: NativeStackNavigationOptions['animation']; - switch (screenOptions.animation ?? 'slide_from_right') { - case 'slide_from_right': - animation = slideFromRightAnimation; - break; - case 'slide_from_left': - animation = slideFromLeftAnimation; - break; - case 'modal': - animation = 'slide_from_bottom'; - break; - default: - animation = undefined; - } - - return { - ...commonScreenOptions, - animation, - }; -}; +import type {NavigationOptionsRouteProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { const NativeStack = createNativeStackNavigator(); @@ -48,9 +12,9 @@ function createPlatformStackNavigator() { const nativeScreenOptions = isRouteBasedScreenOptions(screenOptions) ? (props: NavigationOptionsRouteProps) => { const routeBasedScreenOptions = screenOptions(props); - return withPolyfills(routeBasedScreenOptions); + return withNativeOptions(routeBasedScreenOptions); } - : withPolyfills(screenOptions); + : withNativeOptions(screenOptions); return ( { - if (screenOptions === undefined) { - return {}; - } - - const commonScreenOptions = (({animation, ...rest}) => rest)(screenOptions) satisfies CommonStackNavigationOptions; - - return commonScreenOptions; -}; +import type {NavigationOptionsRouteProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { const Stack = createStackNavigator(); @@ -28,9 +12,9 @@ function createPlatformStackNavigator() { const webScreenOptions = isRouteBasedScreenOptions(screenOptions) ? (props: NavigationOptionsRouteProps) => { const routeBasedScreenOptions = screenOptions(props); - return withPolyfills(routeBasedScreenOptions); + return withWebOptions(routeBasedScreenOptions); } - : withPolyfills(screenOptions); + : withWebOptions(screenOptions); return ( ( + screenOptions: PlatformStackNavigationOptions, + slideInFromLeft: PlatformOptions, + slideInFromRight: PlatformOptions, + slideInFromBottom: PlatformOptions, +) { + let animationOptions: PlatformOptions | undefined; + switch (screenOptions.animation ?? 'slide_from_right') { + case 'slide_from_left': + animationOptions = slideInFromLeft; + break; + case 'slide_from_right': + animationOptions = slideInFromRight; + break; + case 'modal': + animationOptions = slideInFromBottom; + break; + default: + animationOptions = undefined; + } + + return animationOptions; +} + +export default withAnimation; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts new file mode 100644 index 0000000000000..2de2371fa0965 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts @@ -0,0 +1,7 @@ +import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +function getCommonNavigationOptions(screenOptions: PlatformStackNavigationOptions): CommonStackNavigationOptions { + return (({animation, ...rest}) => rest)(screenOptions); +} + +export default getCommonNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts new file mode 100644 index 0000000000000..36d31cb165b95 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts @@ -0,0 +1,19 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import slideFromLeftAnimation from './animationOptions/native/slideFromLeft'; +import slideFromRightAnimation from './animationOptions/native/slideFromRight'; +import withAnimation from './animationOptions/withAnimation'; +import getCommonNavigationOptions from './utils'; + +const withNativeOptions = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { + if (screenOptions === undefined) { + return {}; + } + + return { + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {animation: 'slide_from_bottom'}), + ...getCommonNavigationOptions(screenOptions), + }; +}; + +export default withNativeOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts new file mode 100644 index 0000000000000..e815b1c02c465 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts @@ -0,0 +1,19 @@ +import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import slideFromLeftAnimation from './animationOptions/web/slideFromLeft'; +import slideFromRightAnimation from './animationOptions/web/slideFromRight'; +import withAnimation from './animationOptions/withAnimation'; +import getCommonNavigationOptions from './utils'; + +const withWebOptions = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { + if (screenOptions === undefined) { + return {}; + } + + return { + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {}), + ...getCommonNavigationOptions(screenOptions), + }; +}; + +export default withWebOptions; From 18fc89309f4a3051fecc3acabcc97de1b4b46420 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 19:29:16 +0200 Subject: [PATCH 033/178] improve platform navigation --- .../index.native.tsx | 32 +++++++++---------- .../createPlatformStackNavigator/index.tsx | 27 ++++++++-------- .../native/slideFromRight/index.android.ts | 2 +- .../animationOptions/withAnimation.ts | 18 +++++------ .../withNativeNavigationOptions.ts | 30 +++++++++++++++++ .../platformOptions/withNativeOptions.ts | 19 ----------- .../withWebNavigationOptions.ts | 30 +++++++++++++++++ .../platformOptions/withWebOptions.ts | 19 ----------- .../PlatformStackNavigation/types.tsx | 22 ++++++++----- 9 files changed, 114 insertions(+), 85 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts delete mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts delete mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index af53b00eaacde..427e6df163705 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -1,32 +1,32 @@ import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import type {ParamListBase} from '@react-navigation/native'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; -import withNativeOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationOptionsRouteProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackNavigatorProps, +} from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { - const NativeStack = createNativeStackNavigator(); + const Stack = createNativeStackNavigator(); - function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { - const nativeScreenOptions = isRouteBasedScreenOptions(screenOptions) - ? (props: NavigationOptionsRouteProps) => { - const routeBasedScreenOptions = screenOptions(props); - return withNativeOptions(routeBasedScreenOptions); - } - : withNativeOptions(screenOptions); + function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); return ( - {children} - + ); } - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, )(); } diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index 5f06a4b16a623..8554d19c1cc23 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -1,31 +1,32 @@ import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase, StackNavigationState} from '@react-navigation/native'; +import type {ParamListBase} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; -import withWebOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationOptionsRouteProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackNavigatorProps, +} from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { const Stack = createStackNavigator(); - function PlatformStackNavigator({screenOptions, initialRouteName, children}: PlatformStackNavigatorProps) { - const webScreenOptions = isRouteBasedScreenOptions(screenOptions) - ? (props: NavigationOptionsRouteProps) => { - const routeBasedScreenOptions = screenOptions(props); - return withWebOptions(routeBasedScreenOptions); - } - : withWebOptions(screenOptions); + function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(screenOptions); + return ( {children} ); } - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, )(); } diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.android.ts index beb1aaa01bb27..f79fb7a31c865 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.android.ts @@ -1,6 +1,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -const transition: NativeStackNavigationOptions = {animation: 'slide_from_right'}; +const transition: NativeStackNavigationOptions = {animation: 'ios'}; export default transition; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts index e045fc2947515..9389406e0c097 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts @@ -4,23 +4,23 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac function withAnimation( screenOptions: PlatformStackNavigationOptions, - slideInFromLeft: PlatformOptions, - slideInFromRight: PlatformOptions, - slideInFromBottom: PlatformOptions, + slideFromLeft: PlatformOptions, + slideFromRight: PlatformOptions, + slideFromBottom: PlatformOptions, ) { - let animationOptions: PlatformOptions | undefined; - switch (screenOptions.animation ?? 'slide_from_right') { + let animationOptions: PlatformOptions; + switch (screenOptions.animation) { case 'slide_from_left': - animationOptions = slideInFromLeft; + animationOptions = slideFromLeft; break; case 'slide_from_right': - animationOptions = slideInFromRight; + animationOptions = slideFromRight; break; case 'modal': - animationOptions = slideInFromBottom; + animationOptions = slideFromBottom; break; default: - animationOptions = undefined; + animationOptions = slideFromRight; } return animationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts new file mode 100644 index 0000000000000..18bb516d2c159 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -0,0 +1,30 @@ +import type {ParamListBase} from '@react-navigation/native'; +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import slideFromLeftAnimation from './animationOptions/native/slideFromLeft'; +import slideFromRightAnimation from './animationOptions/native/slideFromRight'; +import withAnimation from './animationOptions/withAnimation'; +import getCommonNavigationOptions from './utils'; + +const transformPlatformOptionsToNative = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { + if (screenOptions === undefined) { + return {}; + } + + return { + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {animation: 'slide_from_bottom'}), + ...getCommonNavigationOptions(screenOptions), + }; +}; + +function withNativeNavigationOptions(screenOptions: PlatformStackNavigatorProps['screenOptions']) { + return isRouteBasedScreenOptions(screenOptions) + ? (p: NavigationOptionsRouteProps) => { + const routeBasedScreenOptions = screenOptions(p); + return transformPlatformOptionsToNative(routeBasedScreenOptions); + } + : transformPlatformOptionsToNative(screenOptions); +} + +export default withNativeNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts deleted file mode 100644 index 36d31cb165b95..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeOptions.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import slideFromLeftAnimation from './animationOptions/native/slideFromLeft'; -import slideFromRightAnimation from './animationOptions/native/slideFromRight'; -import withAnimation from './animationOptions/withAnimation'; -import getCommonNavigationOptions from './utils'; - -const withNativeOptions = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { - if (screenOptions === undefined) { - return {}; - } - - return { - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {animation: 'slide_from_bottom'}), - ...getCommonNavigationOptions(screenOptions), - }; -}; - -export default withNativeOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts new file mode 100644 index 0000000000000..dcf971af75168 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -0,0 +1,30 @@ +import type {ParamListBase} from '@react-navigation/native'; +import type {StackNavigationOptions} from '@react-navigation/stack'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import slideFromLeftAnimation from './animationOptions/web/slideFromLeft'; +import slideFromRightAnimation from './animationOptions/web/slideFromRight'; +import withAnimation from './animationOptions/withAnimation'; +import getCommonNavigationOptions from './utils'; + +const transformPlatformOptionsToWeb = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { + if (screenOptions === undefined) { + return {}; + } + + return { + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {}), + ...getCommonNavigationOptions(screenOptions), + }; +}; + +function withWebNavigationOptions(screenOptions: PlatformStackNavigatorProps['screenOptions']) { + return isRouteBasedScreenOptions(screenOptions) + ? (p: NavigationOptionsRouteProps) => { + const routeBasedScreenOptions = screenOptions(p); + return transformPlatformOptionsToWeb(routeBasedScreenOptions); + } + : transformPlatformOptionsToWeb(screenOptions); +} + +export default withWebNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts deleted file mode 100644 index e815b1c02c465..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebOptions.ts +++ /dev/null @@ -1,19 +0,0 @@ -import type {StackNavigationOptions} from '@react-navigation/stack'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import slideFromLeftAnimation from './animationOptions/web/slideFromLeft'; -import slideFromRightAnimation from './animationOptions/web/slideFromRight'; -import withAnimation from './animationOptions/withAnimation'; -import getCommonNavigationOptions from './utils'; - -const withWebOptions = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { - if (screenOptions === undefined) { - return {}; - } - - return { - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {}), - ...getCommonNavigationOptions(screenOptions), - }; -}; - -export default withWebOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index f9543f3f7391f..22d72a9e51269 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -3,6 +3,8 @@ import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from ' import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; +type PlatformStackNavigationState = StackNavigationState; + type CommonStackNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; type PlatformStackNavigationOptions = Omit & { animation?: 'slide_from_left' | 'slide_from_right' | 'modal'; @@ -11,19 +13,15 @@ type PlatformStackNavigationOptions = Omit = { - navigation: NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & - StackActionHelpers; - route: RouteProp; -}; +type PlatformStackNavigationRouterOptions = StackRouterOptions; -type PlatformStackNavigatorProps = DefaultNavigatorOptions< +type PlatformStackNavigatorProps = DefaultNavigatorOptions< TStackParams, - StackNavigationState, + PlatformStackNavigationState, PlatformStackNavigationOptions, PlatformStackNavigationEventMap > & - StackRouterOptions & + RouterOptions & StackNavigationConfig; type NavigationOptionsRouteProps = { @@ -32,6 +30,12 @@ type NavigationOptionsRouteProps = { navigation: any; }; +type PlatformStackScreenProps = { + navigation: NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & + StackActionHelpers; + route: RouteProp; +}; + function isRouteBasedScreenOptions( screenOptions: PlatformStackNavigatorProps['screenOptions'], ): screenOptions is (props: NavigationOptionsRouteProps) => PlatformStackNavigationOptions { @@ -42,8 +46,10 @@ export {isRouteBasedScreenOptions}; export type { CommonStackNavigationOptions, CommonStackNavigationEventMap, + PlatformStackNavigationState, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, + PlatformStackNavigationRouterOptions, PlatformStackScreenProps, PlatformStackNavigatorProps, NavigationOptionsRouteProps, From 3b40ab2edc7a7c6ae28451fc5bfb625cd8b99341 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 18 Apr 2024 19:29:27 +0200 Subject: [PATCH 034/178] update custom navigator factories --- .../ModalNavigatorScreenOptions.ts | 2 - .../Navigators/RightModalNavigator.tsx | 4 +- .../index.native.tsx | 82 +++++++++++++++++ .../createCustomBottomTabNavigator/index.tsx | 82 +++++++++-------- .../CustomFullScreenRouter.tsx | 16 ++-- .../createCustomFullScreenNavigator/index.tsx | 86 ++++++++++-------- .../createCustomFullScreenNavigator/types.ts | 15 ++-- .../createCustomStackNavigator/index.tsx | 89 +++++++++++-------- 8 files changed, 249 insertions(+), 127 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index 8b0b2cc581bad..9d3a6f2675992 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -9,8 +9,6 @@ import type {ThemeStyles} from '@styles/index'; */ const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles): PlatformStackNavigationOptions => ({ headerShown: false, - animationEnabled: true, - gestureDirection: 'horizontal', cardStyle: themeStyles.navigationScreenCardStyle, cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, }); diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 47f0532e7e865..163bf4071c1c9 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -15,7 +15,7 @@ import Overlay from './Overlay'; type RightModalNavigatorProps = PlatformStackScreenProps; -const Stack = createPlatformStackNavigator(); +const Stack = createPlatformStackNavigator('right'); function RightModalNavigator({navigation}: RightModalNavigatorProps) { const styles = useThemeStyles(); @@ -23,6 +23,8 @@ function RightModalNavigator({navigation}: RightModalNavigatorProps) { const screenOptions = useMemo(() => ModalNavigatorScreenOptions(styles), [styles]); const isExecutingRef = useRef(false); + console.log({right: screenOptions}); + return ( {!isSmallScreenWidth && ( diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx new file mode 100644 index 0000000000000..9b2550228ff9f --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -0,0 +1,82 @@ +import type {DefaultNavigatorOptions, ParamListBase, StackActionHelpers, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import {NativeStackView} from '@react-navigation/native-stack'; +import type {StackNavigationEventMap} from '@react-navigation/stack'; +import React from 'react'; +import {View} from 'react-native'; +import ScreenWrapper from '@components/ScreenWrapper'; +import useThemeStyles from '@hooks/useThemeStyles'; +import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationStateRoute} from '@libs/Navigation/types'; +import SCREENS from '@src/SCREENS'; +import BottomTabBar from './BottomTabBar'; + +type CustomNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, StackNavigationEventMap> & { + initialRouteName: string; +}; + +function getStateToRender(state: StackNavigationState): StackNavigationState { + const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; + + // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. + // Currently this value will be switched only after the first HOME screen is rendered. + if (routesToRender[0].name !== SCREENS.HOME) { + const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); + if (routeToRender) { + routesToRender.unshift(routeToRender); + } + } + + return {...state, routes: routesToRender, index: routesToRender.length - 1}; +} + +function createCustomBottomTabNavigator() { + function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); + + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + StackRouterOptions, + StackActionHelpers, + NativeStackNavigationOptions, + NativeStackNavigationEventMap + >(StackRouter, { + children, + screenOptions: nativeScreenOptions, + initialRouteName, + }); + + const styles = useThemeStyles(); + const stateToRender = getStateToRender(state); + + return ( + + + + + + + + + ); + } + + CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; + + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( + CustomBottomTabNavigator, + ); +} + +export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 8c53027cf7135..171dee878fc98 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -6,11 +6,13 @@ import React from 'react'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; +import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationStateRoute} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; import BottomTabBar from './BottomTabBar'; -type CustomNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap> & { +type CustomNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, StackNavigationEventMap> & { initialRouteName: string; }; @@ -29,43 +31,51 @@ function getStateToRender(state: StackNavigationState): StackNavi return {...state, routes: routesToRender, index: routesToRender.length - 1}; } -function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomNavigatorProps) { - const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< - StackNavigationState, - StackRouterOptions, - StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap - >(StackRouter, { - children, - screenOptions, - initialRouteName, - }); +function createCustomBottomTabNavigator() { + function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(screenOptions); - const styles = useThemeStyles(); - const stateToRender = getStateToRender(state); + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + StackRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(StackRouter, { + children, + screenOptions: webScreenOptions, + initialRouteName, + }); - return ( - - - - - - - - + const styles = useThemeStyles(); + const stateToRender = getStateToRender(state); + + return ( + + + + + + + + + ); + } + + CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; + + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( + CustomBottomTabNavigator, ); } -CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - -export default createNavigatorFactory(CustomBottomTabNavigator); +export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx index eb19f891ecd5d..9369e1169961b 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx @@ -1,14 +1,15 @@ -import type {ParamListBase, PartialState, RouterConfigOptions, StackNavigationState} from '@react-navigation/native'; +import type {ParamListBase, PartialState, Router, RouterConfigOptions} from '@react-navigation/native'; import {StackRouter} from '@react-navigation/native'; import getIsNarrowLayout from '@libs/getIsNarrowLayout'; +import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import SCREENS from '@src/SCREENS'; import type {FullScreenNavigatorRouterOptions} from './types'; -type StackState = StackNavigationState | PartialState>; +type StackState = PlatformStackNavigationState | PartialState>; -const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); +const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); -function adaptStateIfNecessary(state: StackState) { +function adaptStateIfNecessary(state: StackState) { const isNarrowLayout = getIsNarrowLayout(); const workspaceCentralPane = state.routes.at(-1); const topmostWorkspaceCentralPaneRoute = workspaceCentralPane?.state?.routes[0]; @@ -61,8 +62,9 @@ function adaptStateIfNecessary(state: StackState) { } } -function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { - const stackRouter = StackRouter(options); +function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const stackRouter = StackRouter(options) as Router, any>; return { ...stackRouter, @@ -77,7 +79,7 @@ function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { return initialState; }, - getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { + getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): PlatformStackNavigationState { adaptStateIfNecessary(partialState); const state = stackRouter.getRehydratedState(partialState, {routeNames, routeParamList, routeGetIdList}); return state; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index f35c609402b0b..90603f62ef79c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -1,50 +1,60 @@ -import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import useWindowDimensions from '@hooks/useWindowDimensions'; import navigationRef from '@libs/Navigation/navigationRef'; +import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - StackNavigationState, - FullScreenNavigatorRouterOptions, - StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap - >(CustomFullScreenRouter, { - children: props.children, - screenOptions: props.screenOptions, - initialRouteName: props.initialRouteName, - }); - - const {isSmallScreenWidth} = useWindowDimensions(); - - useEffect(() => { - if (!navigationRef.isReady()) { - return; - } - // We need to separately reset state of this navigator to trigger getRehydratedState. - navigation.reset(navigation.getState()); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [isSmallScreenWidth]); - - return ( - - - +function createCustomFullScreenNavigator() { + function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(props.screenOptions); + + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + FullScreenNavigatorRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(CustomFullScreenRouter, { + children: props.children, + screenOptions: webScreenOptions, + initialRouteName: props.initialRouteName, + }); + + const {isSmallScreenWidth} = useWindowDimensions(); + + useEffect(() => { + if (!navigationRef.isReady()) { + return; + } + // We need to separately reset state of this navigator to trigger getRehydratedState. + navigation.reset(navigation.getState()); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isSmallScreenWidth]); + + return ( + + + + ); + } + + CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( + CustomFullScreenNavigator, ); } -CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - -export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof CustomFullScreenNavigator>(CustomFullScreenNavigator); +export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts index c1e0634616b07..fec04e5823041 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts @@ -1,10 +1,13 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; -import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import type {DefaultNavigatorOptions, ParamListBase, StackRouterOptions} from '@react-navigation/native'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; type FullScreenNavigatorRouterOptions = StackRouterOptions; -type FullScreenNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap>; -type FullScreenNativeNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap>; +type FullScreenNavigatorProps = DefaultNavigatorOptions< + TStackParams, + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap +>; -export type {FullScreenNavigatorProps, FullScreenNativeNavigatorProps, FullScreenNavigatorRouterOptions}; +export type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions}; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx index 2a517c45eb0d9..05c5b9ab4a57d 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx @@ -8,6 +8,7 @@ import navigationRef from '@libs/Navigation/navigationRef'; import NAVIGATORS from '@src/NAVIGATORS'; import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; type Routes = StackNavigationState['routes']; function reduceReportRoutes(routes: Routes): Routes { @@ -30,51 +31,65 @@ function reduceReportRoutes(routes: Routes): Routes { return result.reverse(); } -function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { - const {isSmallScreenWidth} = useWindowDimensions(); +function createResponsiveStackNavigator(Stack: ReturnType>) { + function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { + const {isSmallScreenWidth} = useWindowDimensions(); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - StackNavigationState, - ResponsiveStackNavigatorRouterOptions, - StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap - >(CustomRouter, { - children: props.children, - screenOptions: props.screenOptions, - initialRouteName: props.initialRouteName, - }); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + StackNavigationState, + ResponsiveStackNavigatorRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(CustomRouter, { + children: props.children, + screenOptions: props.screenOptions, + initialRouteName: props.initialRouteName, + }); - useEffect(() => { - if (!navigationRef.isReady()) { - return; - } - navigationRef.resetRoot(navigationRef.getRootState()); - }, [isSmallScreenWidth]); + useEffect(() => { + if (!navigationRef.isReady()) { + return; + } + navigationRef.resetRoot(navigationRef.getRootState()); + }, [isSmallScreenWidth]); + + const stateToRender = useMemo(() => { + const result = reduceReportRoutes(state.routes); - const stateToRender = useMemo(() => { - const result = reduceReportRoutes(state.routes); + return { + ...state, + index: result.length - 1, + routes: [...result], + }; + }, [state]); - return { - ...state, - index: result.length - 1, - routes: [...result], - }; - }, [state]); - return ( - - + // + // + - - ); + navigation={navigation} /> + ); + } + ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; } -ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; +function createCustomStackNavigator() { + const Stack = createPlatformStackNavigator(); + + return createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof ResponsiveStackNavigator>(createResponsiveStackNavigator(Stack)); +} -export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof ResponsiveStackNavigator>(ResponsiveStackNavigator); +export default createCustomStackNavigator From 0dbc9a7a2d6fcc200b84c4dc7cfe0f8aeb83e15b Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 09:31:58 +0200 Subject: [PATCH 035/178] adapt custom navigators --- .../index.native.tsx | 30 ++------ .../createCustomBottomTabNavigator/index.tsx | 29 ++------ .../createCustomBottomTabNavigator/types.ts | 8 +++ .../createCustomBottomTabNavigator/utils.ts | 21 ++++++ .../CustomFullScreenRouter.tsx | 12 ++-- .../index.native.tsx | 66 +++++++++-------- .../createCustomFullScreenNavigator/index.tsx | 8 +-- .../index.native.tsx | 70 ++++++++++--------- .../createCustomStackNavigator/index.tsx | 46 ++++++------ .../createCustomStackNavigator/types.ts | 11 ++- 10 files changed, 148 insertions(+), 153 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 9b2550228ff9f..6cd6e18079902 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -1,39 +1,19 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackActionHelpers, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers, StackRouterOptions} from '@react-navigation/native'; import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {NativeStackView} from '@react-navigation/native-stack'; -import type {StackNavigationEventMap} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationStateRoute} from '@libs/Navigation/types'; -import SCREENS from '@src/SCREENS'; import BottomTabBar from './BottomTabBar'; - -type CustomNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, StackNavigationEventMap> & { - initialRouteName: string; -}; - -function getStateToRender(state: StackNavigationState): StackNavigationState { - const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; - - // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. - // Currently this value will be switched only after the first HOME screen is rendered. - if (routesToRender[0].name !== SCREENS.HOME) { - const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); - if (routeToRender) { - routesToRender.unshift(routeToRender); - } - } - - return {...state, routes: routesToRender, index: routesToRender.length - 1}; -} +import type CustomBottomTabNavigatorProps from './types'; +import getStateToRender from './utils'; function createCustomBottomTabNavigator() { - function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomNavigatorProps) { + function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(screenOptions); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< @@ -76,7 +56,7 @@ function createCustomBottomTabNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( CustomBottomTabNavigator, - ); + )(); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 171dee878fc98..7f928b292fad7 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -1,4 +1,4 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackActionHelpers, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers, StackRouterOptions} from '@react-navigation/native'; import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; @@ -8,31 +8,12 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationStateRoute} from '@libs/Navigation/types'; -import SCREENS from '@src/SCREENS'; import BottomTabBar from './BottomTabBar'; - -type CustomNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, StackNavigationEventMap> & { - initialRouteName: string; -}; - -function getStateToRender(state: StackNavigationState): StackNavigationState { - const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; - - // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. - // Currently this value will be switched only after the first HOME screen is rendered. - if (routesToRender[0].name !== SCREENS.HOME) { - const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); - if (routeToRender) { - routesToRender.unshift(routeToRender); - } - } - - return {...state, routes: routesToRender, index: routesToRender.length - 1}; -} +import type CustomBottomTabNavigatorProps from './types'; +import getStateToRender from './utils'; function createCustomBottomTabNavigator() { - function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomNavigatorProps) { + function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { const webScreenOptions = withWebNavigationOptions(screenOptions); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< @@ -75,7 +56,7 @@ function createCustomBottomTabNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( CustomBottomTabNavigator, - ); + )(); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts new file mode 100644 index 0000000000000..ebc3fb74a36b8 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts @@ -0,0 +1,8 @@ +import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; + +type CustomBottomTabNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & { + initialRouteName: string; +}; + +export default CustomBottomTabNavigatorProps; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts new file mode 100644 index 0000000000000..ea18eb58e4965 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts @@ -0,0 +1,21 @@ +import type {ParamListBase} from '@react-navigation/native'; +import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationStateRoute} from '@libs/Navigation/types'; +import SCREENS from '@src/SCREENS'; + +function getStateToRender(state: PlatformStackNavigationState): PlatformStackNavigationState { + const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; + + // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. + // Currently this value will be switched only after the first HOME screen is rendered. + if (routesToRender[0].name !== SCREENS.HOME) { + const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); + if (routeToRender) { + routesToRender.unshift(routeToRender); + } + } + + return {...state, routes: routesToRender, index: routesToRender.length - 1}; +} + +export default getStateToRender; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx index 9369e1169961b..4593c0b7688ee 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx @@ -5,11 +5,11 @@ import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackN import SCREENS from '@src/SCREENS'; import type {FullScreenNavigatorRouterOptions} from './types'; -type StackState = PlatformStackNavigationState | PartialState>; +type StackState = PlatformStackNavigationState | PartialState>; -const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); +const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); -function adaptStateIfNecessary(state: StackState) { +function adaptStateIfNecessary(state: StackState) { const isNarrowLayout = getIsNarrowLayout(); const workspaceCentralPane = state.routes.at(-1); const topmostWorkspaceCentralPaneRoute = workspaceCentralPane?.state?.routes[0]; @@ -62,9 +62,9 @@ function adaptStateIfNecessary(state: StackS } } -function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { +function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { // eslint-disable-next-line @typescript-eslint/no-explicit-any - const stackRouter = StackRouter(options) as Router, any>; + const stackRouter = StackRouter(options) as Router, any>; return { ...stackRouter, @@ -79,7 +79,7 @@ function CustomFullScreenRouter(options: Ful return initialState; }, - getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): PlatformStackNavigationState { + getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): PlatformStackNavigationState { adaptStateIfNecessary(partialState); const state = stackRouter.getRehydratedState(partialState, {routeNames, routeParamList, routeGetIdList}); return state; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index cf37164bb2f15..dab3d337b5dfc 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -2,37 +2,45 @@ import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@rea import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; +import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomFullScreenRouter from './CustomFullScreenRouter'; -import type {FullScreenNativeNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; +import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function CustomFullScreenNavigator(props: FullScreenNativeNavigatorProps) { - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - StackNavigationState, - FullScreenNavigatorRouterOptions, - StackActionHelpers, - NativeStackNavigationOptions, - NativeStackNavigationEventMap - >(CustomFullScreenRouter, { - children: props.children, - screenOptions: props.screenOptions, - initialRouteName: props.initialRouteName, - }); +function createCustomFullScreenNavigator() { + function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); - return ( - - - - ); -} + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + FullScreenNavigatorRouterOptions, + StackActionHelpers, + NativeStackNavigationOptions, + NativeStackNavigationEventMap + >(CustomFullScreenRouter, { + children: props.children, + screenOptions: nativeScreenOptions, + initialRouteName: props.initialRouteName, + }); + + return ( + + + + ); + } -CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + + return createNavigatorFactory, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof CustomFullScreenNavigator>( + CustomFullScreenNavigator, + )(); +} -export default createNavigatorFactory, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof CustomFullScreenNavigator>( - CustomFullScreenNavigator, -); +export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index 90603f62ef79c..e1bf373474de0 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -11,13 +11,13 @@ import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; function createCustomFullScreenNavigator() { - function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { + function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { const webScreenOptions = withWebNavigationOptions(props.screenOptions); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, + PlatformStackNavigationState, FullScreenNavigatorRouterOptions, - StackActionHelpers, + StackActionHelpers, StackNavigationOptions, StackNavigationEventMap >(CustomFullScreenRouter, { @@ -54,7 +54,7 @@ function createCustomFullScreenNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( CustomFullScreenNavigator, - ); + )(); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx index 81ffd6af815bc..4d205afadc7c0 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx @@ -4,43 +4,49 @@ import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import React, {useRef} from 'react'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; +import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; -import type {ResponsiveNativeStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; +import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -function ResponsiveStackNavigator(props: ResponsiveNativeStackNavigatorProps) { - const {isSmallScreenWidth} = useWindowDimensions(); +function createCustomStackNavigator() { + function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { + const {isSmallScreenWidth} = useWindowDimensions(); + const isSmallScreenWidthRef = useRef(isSmallScreenWidth); + isSmallScreenWidthRef.current = isSmallScreenWidth; - const isSmallScreenWidthRef = useRef(isSmallScreenWidth); + const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); - isSmallScreenWidthRef.current = isSmallScreenWidth; + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + ResponsiveStackNavigatorRouterOptions, + StackActionHelpers, + NativeStackNavigationOptions, + NativeStackNavigationEventMap + >(CustomRouter, { + children: props.children, + screenOptions: nativeScreenOptions, + initialRouteName: props.initialRouteName, + }); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - StackNavigationState, - ResponsiveStackNavigatorRouterOptions, - StackActionHelpers, - NativeStackNavigationOptions, - NativeStackNavigationEventMap - >(CustomRouter, { - children: props.children, - screenOptions: props.screenOptions, - initialRouteName: props.initialRouteName, - }); + return ( + + + + ); + } - return ( - - - - ); -} + ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; -ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; + return createNavigatorFactory, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof ResponsiveStackNavigator>( + ResponsiveStackNavigator, + )(); +} -export default createNavigatorFactory, NativeStackNavigationOptions, NativeStackNavigationEventMap, typeof ResponsiveStackNavigator>( - ResponsiveStackNavigator, -); +export default createCustomStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx index 05c5b9ab4a57d..dbe33c0b26c2b 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx @@ -5,10 +5,11 @@ import {StackView} from '@react-navigation/stack'; import React, {useEffect, useMemo} from 'react'; import useWindowDimensions from '@hooks/useWindowDimensions'; import navigationRef from '@libs/Navigation/navigationRef'; +import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import NAVIGATORS from '@src/NAVIGATORS'; import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; type Routes = StackNavigationState['routes']; function reduceReportRoutes(routes: Routes): Routes { @@ -31,19 +32,21 @@ function reduceReportRoutes(routes: Routes): Routes { return result.reverse(); } -function createResponsiveStackNavigator(Stack: ReturnType>) { +function createCustomStackNavigator() { function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { const {isSmallScreenWidth} = useWindowDimensions(); + const webScreenOptions = withWebNavigationOptions(props.screenOptions); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - StackNavigationState, + PlatformStackNavigationState, ResponsiveStackNavigatorRouterOptions, StackActionHelpers, StackNavigationOptions, StackNavigationEventMap >(CustomRouter, { children: props.children, - screenOptions: props.screenOptions, + screenOptions: webScreenOptions, initialRouteName: props.initialRouteName, }); @@ -64,32 +67,23 @@ function createResponsiveStackNavigator(Stac }; }, [state]); - - return ( - // - // - // - + + + ); } ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; -} - -function createCustomStackNavigator() { - const Stack = createPlatformStackNavigator(); - return createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof ResponsiveStackNavigator>(createResponsiveStackNavigator(Stack)); + return createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof ResponsiveStackNavigator>( + ResponsiveStackNavigator, + )(); } -export default createCustomStackNavigator +export default createCustomStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts index f6b3efa843f68..6ddae12f67644 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts @@ -1,6 +1,5 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; -import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import type {DefaultNavigatorOptions, ParamListBase, StackRouterOptions} from '@react-navigation/native'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; type ResponsiveStackNavigatorConfig = { isSmallScreenWidth: boolean; @@ -8,9 +7,7 @@ type ResponsiveStackNavigatorConfig = { type ResponsiveStackNavigatorRouterOptions = StackRouterOptions; -type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap> & - ResponsiveStackNavigatorConfig; -type ResponsiveNativeStackNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap> & +type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & ResponsiveStackNavigatorConfig; -export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps, ResponsiveStackNavigatorConfig, ResponsiveNativeStackNavigatorProps}; +export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps, ResponsiveStackNavigatorConfig}; From b3ec7ef8927c2b045c166c49472bd85826a6e6a3 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 09:32:03 +0200 Subject: [PATCH 036/178] remove log --- .../AppNavigator/Navigators/RightModalNavigator.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 163bf4071c1c9..47f0532e7e865 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -15,7 +15,7 @@ import Overlay from './Overlay'; type RightModalNavigatorProps = PlatformStackScreenProps; -const Stack = createPlatformStackNavigator('right'); +const Stack = createPlatformStackNavigator(); function RightModalNavigator({navigation}: RightModalNavigatorProps) { const styles = useThemeStyles(); @@ -23,8 +23,6 @@ function RightModalNavigator({navigation}: RightModalNavigatorProps) { const screenOptions = useMemo(() => ModalNavigatorScreenOptions(styles), [styles]); const isExecutingRef = useRef(false); - console.log({right: screenOptions}); - return ( {!isSmallScreenWidth && ( From 8c4df3af095363e486589d416f1762bfc66d6e4a Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 10:14:40 +0200 Subject: [PATCH 037/178] remove remaining references to native stack and stack directly --- src/components/ScreenWrapper.tsx | 6 +++--- src/components/withNavigationTransitionEnd.tsx | 4 ++-- .../AppNavigator/Navigators/BottomTabNavigator.tsx | 4 ++-- .../getRightModalNavigatorOptions/index.native.ts | 4 ++-- .../Navigation/PlatformStackNavigation/types.tsx | 14 +++++++++++--- src/pages/Search/SearchPage.tsx | 4 ++-- 6 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/components/ScreenWrapper.tsx b/src/components/ScreenWrapper.tsx index e53823860ce07..0f446d37c833f 100644 --- a/src/components/ScreenWrapper.tsx +++ b/src/components/ScreenWrapper.tsx @@ -1,5 +1,4 @@ import {useNavigation} from '@react-navigation/native'; -import type {StackNavigationProp} from '@react-navigation/stack'; import type {ForwardedRef, ReactNode} from 'react'; import React, {createContext, forwardRef, useEffect, useMemo, useRef, useState} from 'react'; import type {DimensionValue, StyleProp, ViewStyle} from 'react-native'; @@ -14,6 +13,7 @@ import useTackInputFocus from '@hooks/useTackInputFocus'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as Browser from '@libs/Browser'; +import type {PlatformStackNavigationProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList, RootStackParamList} from '@libs/Navigation/types'; import toggleTestToolsModal from '@userActions/TestTool'; import CONST from '@src/CONST'; @@ -93,7 +93,7 @@ type ScreenWrapperProps = { * * This is required because transitionEnd event doesn't trigger in the testing environment. */ - navigation?: StackNavigationProp | StackNavigationProp; + navigation?: PlatformStackNavigationProp | PlatformStackNavigationProp; /** Whether to show offline indicator on wide screens */ shouldShowOfflineIndicatorInWideScreen?: boolean; @@ -132,7 +132,7 @@ function ScreenWrapper( * so in other places where ScreenWrapper is used, we need to * fallback to useNavigation. */ - const navigationFallback = useNavigation>(); + const navigationFallback = useNavigation>(); const navigation = navigationProp ?? navigationFallback; const {windowHeight, isSmallScreenWidth} = useWindowDimensions(shouldUseCachedViewportHeight); const {initialHeight} = useInitialDimensions(); diff --git a/src/components/withNavigationTransitionEnd.tsx b/src/components/withNavigationTransitionEnd.tsx index 417d8828c1e49..b8bbdc6a0bb04 100644 --- a/src/components/withNavigationTransitionEnd.tsx +++ b/src/components/withNavigationTransitionEnd.tsx @@ -1,8 +1,8 @@ import {useNavigation} from '@react-navigation/native'; -import type {StackNavigationProp} from '@react-navigation/stack'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {useEffect, useState} from 'react'; import getComponentDisplayName from '@libs/getComponentDisplayName'; +import type {PlatformStackNavigationProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; type WithNavigationTransitionEndProps = {didScreenTransitionEnd: boolean}; @@ -10,7 +10,7 @@ type WithNavigationTransitionEndProps = {didScreenTransitionEnd: boolean}; export default function (WrappedComponent: ComponentType>): React.ComponentType> { function WithNavigationTransitionEnd(props: TProps, ref: ForwardedRef) { const [didScreenTransitionEnd, setDidScreenTransitionEnd] = useState(false); - const navigation = useNavigation>(); + const navigation = useNavigation>(); useEffect(() => { const unsubscribeTransitionEnd = navigation.addListener('transitionEnd', () => { diff --git a/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx index 6680ea302441e..91865db4e83ad 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx @@ -1,8 +1,8 @@ import {useNavigationState} from '@react-navigation/native'; -import type {StackNavigationOptions} from '@react-navigation/stack'; import React from 'react'; import createCustomBottomTabNavigator from '@libs/Navigation/AppNavigator/createCustomBottomTabNavigator'; import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {BottomTabNavigatorParamList} from '@libs/Navigation/types'; import SidebarScreen from '@pages/home/sidebar/SidebarScreen'; import SearchPageBottomTab from '@pages/Search/SearchPageBottomTab'; @@ -13,7 +13,7 @@ const loadInitialSettingsPage = () => require('../../../../pages/settings/Initia const Tab = createCustomBottomTabNavigator(); -const screenOptions: StackNavigationOptions = { +const screenOptions: PlatformStackNavigationOptions = { headerShown: false, animationEnabled: false, }; diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts index 2b062fd2f2be8..9feb0a3f3a472 100644 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts @@ -1,6 +1,6 @@ -import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -const rightModalNavigatorOptions = (): NativeStackNavigationOptions => ({ +const rightModalNavigatorOptions = (): PlatformStackNavigationOptions => ({ presentation: 'card', animation: 'slide_from_right', }); diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index 22d72a9e51269..e28f2a383f761 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -30,10 +30,16 @@ type NavigationOptionsRouteProps = { navigation: any; }; +type PlatformStackNavigationProp< + TStackParams extends ParamListBase, + RouteName extends keyof TStackParams = keyof TStackParams, + NavigatorID extends string | undefined = undefined, +> = NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap>; +type PlatformStackRouteProp = RouteProp; + type PlatformStackScreenProps = { - navigation: NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & - StackActionHelpers; - route: RouteProp; + navigation: PlatformStackNavigationProp & StackActionHelpers; + route: PlatformStackRouteProp; }; function isRouteBasedScreenOptions( @@ -50,6 +56,8 @@ export type { PlatformStackNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigationRouterOptions, + PlatformStackNavigationProp, + PlatformStackRouteProp, PlatformStackScreenProps, PlatformStackNavigatorProps, NavigationOptionsRouteProps, diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx index 3f69371841ce8..7f3667d097372 100644 --- a/src/pages/Search/SearchPage.tsx +++ b/src/pages/Search/SearchPage.tsx @@ -1,12 +1,12 @@ -import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import ScreenWrapper from '@components/ScreenWrapper'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import SearchResults from './SearchResults'; import useCustomBackHandler from './useCustomBackHandler'; -type SearchPageProps = StackScreenProps; +type SearchPageProps = PlatformStackScreenProps; function SearchPage({route}: SearchPageProps) { useCustomBackHandler(); From f33eba6d6ca641e28973daa29494ae9985f850dd Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 10:14:44 +0200 Subject: [PATCH 038/178] update pods --- ios/Podfile.lock | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d8d9c84faf449..40ad3b9366b74 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2049,9 +2049,24 @@ PODS: - SocketRocket (0.6.1) - Turf (2.7.0) - VisionCamera (4.0.0-beta.13): - - React - - React-callinvoker + - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - Yoga (1.14.0) DEPENDENCIES: @@ -2566,7 +2581,7 @@ SPEC CHECKSUMS: SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2 VisionCamera: 3033e0dd5272d46e97bcb406adea4ae0e6907abf - Yoga: 1b901a6d6eeba4e8a2e8f308f708691cdb5db312 + Yoga: 64cd2a583ead952b0315d5135bf39e053ae9be70 PODFILE CHECKSUM: a25a81f2b50270f0c0bd0aff2e2ebe4d0b4ec06d From 884627bbb542bfb2349909968dad1f886adcd9a7 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 10:25:25 +0200 Subject: [PATCH 039/178] fix: order of animations --- .../animationOptions/withAnimation.ts | 4 ++-- .../platformOptions/utils.ts | 6 +++++- .../platformOptions/withNativeNavigationOptions.ts | 14 ++++---------- .../platformOptions/withWebNavigationOptions.ts | 14 ++++---------- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts index 9389406e0c097..fc4b15c90ac3d 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts @@ -3,13 +3,13 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; function withAnimation( - screenOptions: PlatformStackNavigationOptions, + screenOptions: PlatformStackNavigationOptions | undefined, slideFromLeft: PlatformOptions, slideFromRight: PlatformOptions, slideFromBottom: PlatformOptions, ) { let animationOptions: PlatformOptions; - switch (screenOptions.animation) { + switch (screenOptions?.animation) { case 'slide_from_left': animationOptions = slideFromLeft; break; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts index 2de2371fa0965..5b45c296cd3c5 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts @@ -1,6 +1,10 @@ import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -function getCommonNavigationOptions(screenOptions: PlatformStackNavigationOptions): CommonStackNavigationOptions { +function getCommonNavigationOptions(screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions { + if (screenOptions === undefined) { + return {}; + } + return (({animation, ...rest}) => rest)(screenOptions); } diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 18bb516d2c159..5a20d02ff9581 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -7,16 +7,10 @@ import slideFromRightAnimation from './animationOptions/native/slideFromRight'; import withAnimation from './animationOptions/withAnimation'; import getCommonNavigationOptions from './utils'; -const transformPlatformOptionsToNative = (screenOptions?: PlatformStackNavigationOptions): NativeStackNavigationOptions => { - if (screenOptions === undefined) { - return {}; - } - - return { - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {animation: 'slide_from_bottom'}), - ...getCommonNavigationOptions(screenOptions), - }; -}; +const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigationOptions | undefined): NativeStackNavigationOptions => ({ + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {animation: 'slide_from_bottom'}), + ...getCommonNavigationOptions(screenOptions), +}); function withNativeNavigationOptions(screenOptions: PlatformStackNavigatorProps['screenOptions']) { return isRouteBasedScreenOptions(screenOptions) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index dcf971af75168..762bef6ffd9e2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -7,16 +7,10 @@ import slideFromRightAnimation from './animationOptions/web/slideFromRight'; import withAnimation from './animationOptions/withAnimation'; import getCommonNavigationOptions from './utils'; -const transformPlatformOptionsToWeb = (screenOptions?: PlatformStackNavigationOptions): StackNavigationOptions => { - if (screenOptions === undefined) { - return {}; - } - - return { - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {}), - ...getCommonNavigationOptions(screenOptions), - }; -}; +const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions | undefined): StackNavigationOptions => ({ + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {}), + ...getCommonNavigationOptions(screenOptions), +}); function withWebNavigationOptions(screenOptions: PlatformStackNavigatorProps['screenOptions']) { return isRouteBasedScreenOptions(screenOptions) From 568cf4a113ddfa5606005421f989a2235daac334 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 10:26:45 +0200 Subject: [PATCH 040/178] move files --- .../native/slideFromLeft/index.android.ts | 0 .../native/slideFromLeft/index.ts | 0 .../native/slideFromRight/index.android.ts | 0 .../native/slideFromRight/index.ts | 0 .../{animationOptions => animation}/web/slideFromLeft.ts | 0 .../{animationOptions => animation}/web/slideFromRight.ts | 0 .../{animationOptions => animation}/withAnimation.ts | 0 .../platformOptions/withNativeNavigationOptions.ts | 6 +++--- .../platformOptions/withWebNavigationOptions.ts | 6 +++--- 9 files changed, 6 insertions(+), 6 deletions(-) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/native/slideFromLeft/index.android.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/native/slideFromLeft/index.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/native/slideFromRight/index.android.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/native/slideFromRight/index.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/web/slideFromLeft.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/web/slideFromRight.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/{animationOptions => animation}/withAnimation.ts (100%) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromLeft/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromLeft/index.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/native/slideFromRight/index.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/web/slideFromLeft.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/web/slideFromLeft.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/web/slideFromRight.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/web/slideFromRight.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animationOptions/withAnimation.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 5a20d02ff9581..83c1579484bb6 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -2,9 +2,9 @@ import type {ParamListBase} from '@react-navigation/native'; import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import slideFromLeftAnimation from './animationOptions/native/slideFromLeft'; -import slideFromRightAnimation from './animationOptions/native/slideFromRight'; -import withAnimation from './animationOptions/withAnimation'; +import slideFromLeftAnimation from './animation/native/slideFromLeft'; +import slideFromRightAnimation from './animation/native/slideFromRight'; +import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigationOptions | undefined): NativeStackNavigationOptions => ({ diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 762bef6ffd9e2..64b6da6b93b27 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -2,9 +2,9 @@ import type {ParamListBase} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import slideFromLeftAnimation from './animationOptions/web/slideFromLeft'; -import slideFromRightAnimation from './animationOptions/web/slideFromRight'; -import withAnimation from './animationOptions/withAnimation'; +import slideFromLeftAnimation from './animation/web/slideFromLeft'; +import slideFromRightAnimation from './animation/web/slideFromRight'; +import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions | undefined): StackNavigationOptions => ({ From eda54ab5171ec8bde51106649996370f86b3b0de Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 10:52:37 +0200 Subject: [PATCH 041/178] remove Podfile changes --- ios/Podfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 40ad3b9366b74..f564bfd931e4f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2581,7 +2581,7 @@ SPEC CHECKSUMS: SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2 VisionCamera: 3033e0dd5272d46e97bcb406adea4ae0e6907abf - Yoga: 64cd2a583ead952b0315d5135bf39e053ae9be70 + Yoga: 1b901a6d6eeba4e8a2e8f308f708691cdb5db312 PODFILE CHECKSUM: a25a81f2b50270f0c0bd0aff2e2ebe4d0b4ec06d From de68a31b8665d873793be79bc47e1461cc1f8567 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 10:57:02 +0200 Subject: [PATCH 042/178] remove unused defaultScreenOptions --- .../defaultScreenOptions/index.native.ts | 11 ----------- .../AppNavigator/defaultScreenOptions/index.ts | 12 ------------ 2 files changed, 23 deletions(-) delete mode 100644 src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts delete mode 100644 src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts deleted file mode 100644 index 17100bc71bdac..0000000000000 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.native.ts +++ /dev/null @@ -1,11 +0,0 @@ -const defaultScreenOptions = { - contentStyle: { - overflow: 'visible', - flex: 1, - }, - headerShown: false, - animationTypeForReplace: 'push', - animation: 'slide_from_right', -}; - -export default defaultScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts deleted file mode 100644 index 3104264263a66..0000000000000 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -const defaultScreenOptions: PlatformStackNavigationOptions = { - cardStyle: { - overflow: 'visible', - flex: 1, - }, - headerShown: false, - animationTypeForReplace: 'push', -}; - -export default defaultScreenOptions; From f8dc036706d92e63f6744921f83492e6bc2fdc15 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 12:45:10 +0200 Subject: [PATCH 043/178] update animations --- .../platformOptions/animation/native/none.ts | 5 +++++ .../platformOptions/animation/native/slideFromBottom.ts | 5 +++++ .../animation/native/slideFromLeft/index.android.ts | 4 ++-- .../platformOptions/animation/native/slideFromLeft/index.ts | 4 ++-- .../platformOptions/animation/web/none.ts | 5 +++++ .../platformOptions/animation/web/slideFromBottom.ts | 5 +++++ .../platformOptions/animation/web/slideFromLeft.ts | 4 ++-- .../platformOptions/animation/web/slideFromRight.ts | 4 ++-- .../platformOptions/animation/withAnimation.ts | 4 ++++ 9 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/none.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromBottom.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/none.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/none.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/none.ts new file mode 100644 index 0000000000000..ced2ecbaac2b5 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/none.ts @@ -0,0 +1,5 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +const none: NativeStackNavigationOptions = {animation: 'none'}; + +export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromBottom.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromBottom.ts new file mode 100644 index 0000000000000..7e36c811fe428 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromBottom.ts @@ -0,0 +1,5 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; + +const slideFromBottom: NativeStackNavigationOptions = {animation: 'slide_from_bottom'}; + +export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts index 1868261250fec..576cdc31a090e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS // const transition: NativeStackNavigationOptions['animation'] = 'slide_from_right'; -const transition: NativeStackNavigationOptions = {animation: 'ios'}; +const slideFromLeft: NativeStackNavigationOptions = {animation: 'ios'}; -export default transition; +export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts index 4f482b5024aab..1e1305ce54eb9 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const transition: NativeStackNavigationOptions = {animation: 'simple_push'}; +const slideFromLeft: NativeStackNavigationOptions = {animation: 'simple_push'}; -export default transition; +export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/none.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/none.ts new file mode 100644 index 0000000000000..99103cac8eb92 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/none.ts @@ -0,0 +1,5 @@ +import type {StackNavigationOptions} from '@react-navigation/stack'; + +const none: StackNavigationOptions = {animationEnabled: false}; + +export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts new file mode 100644 index 0000000000000..61279046a5c6f --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts @@ -0,0 +1,5 @@ +import type {StackNavigationOptions} from '@react-navigation/stack'; + +const slideFromBottom: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'vertical'}; + +export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts index 8b1558f8e3567..4674564812217 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -const transition: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'horizontal-inverted'}; +const slideFromLeft: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'horizontal-inverted'}; -export default transition; +export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts index d958bf5209f2a..31528d7fb7a4b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -const transition: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'horizontal'}; +const slideFromRight: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'horizontal'}; -export default transition; +export default slideFromRight; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts index fc4b15c90ac3d..f55a94bbf3617 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts @@ -7,6 +7,7 @@ function withAnimation Date: Fri, 19 Apr 2024 12:47:09 +0200 Subject: [PATCH 044/178] add more animations --- .../platformOptions/withNativeNavigationOptions.ts | 4 +++- .../platformOptions/withWebNavigationOptions.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 83c1579484bb6..f4f2b0cbe5b8b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -2,13 +2,15 @@ import type {ParamListBase} from '@react-navigation/native'; import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import noAnimation from './animation/native/none'; +import slideFromBottomAnimation from './animation/native/slideFromBottom'; import slideFromLeftAnimation from './animation/native/slideFromLeft'; import slideFromRightAnimation from './animation/native/slideFromRight'; import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigationOptions | undefined): NativeStackNavigationOptions => ({ - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {animation: 'slide_from_bottom'}), + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), }); diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 64b6da6b93b27..31bd59b3693d2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -2,13 +2,15 @@ import type {ParamListBase} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import noAnimation from './animation/web/none'; +import slideFromBottomAnimation from './animation/web/slideFromBottom'; import slideFromLeftAnimation from './animation/web/slideFromLeft'; import slideFromRightAnimation from './animation/web/slideFromRight'; import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions | undefined): StackNavigationOptions => ({ - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, {}), + ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), }); From 86a3af759822e749cd3f011c042f3c294f7f1d76 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 12:48:35 +0200 Subject: [PATCH 045/178] fix: remove animations from bottom tab navigator --- .../Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx | 1 - .../AppNavigator/createCustomBottomTabNavigator/index.tsx | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx index 91865db4e83ad..ff1a3021a5dc9 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx @@ -15,7 +15,6 @@ const Tab = createCustomBottomTabNavigator(); const screenOptions: PlatformStackNavigationOptions = { headerShown: false, - animationEnabled: false, }; function BottomTabNavigator() { diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 7f928b292fad7..c9eaa30494e3c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -14,7 +14,7 @@ import getStateToRender from './utils'; function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions); + const webScreenOptions = withWebNavigationOptions({...screenOptions, animation: undefined}); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, From 69a534c147908f9b59883e32465090402584681f Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 12:53:17 +0200 Subject: [PATCH 046/178] keyboardHandlingEnabled prop only on stack --- src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts | 4 +++- .../PlatformStackNavigation/platformOptions/utils.ts | 9 ++------- .../platformOptions/withWebNavigationOptions.ts | 1 + 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts b/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts index 75a832555c1f4..261d2fcb460e5 100644 --- a/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts +++ b/src/libs/Navigation/AppNavigator/hideKeyboardOnSwipe.ts @@ -1,4 +1,6 @@ -const hideKeyboardOnSwipe = { +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +const hideKeyboardOnSwipe: PlatformStackNavigationOptions = { // temporary solution - better to hide a keyboard than see keyboard flickering // see https://github.com/software-mansion/react-native-screens/issues/2021 for more details keyboardHandlingEnabled: true, diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts index 5b45c296cd3c5..9a647bcd26bec 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts @@ -1,11 +1,6 @@ import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -function getCommonNavigationOptions(screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions { - if (screenOptions === undefined) { - return {}; - } - - return (({animation, ...rest}) => rest)(screenOptions); -} +const getCommonNavigationOptions = (screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions => + screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); export default getCommonNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 31bd59b3693d2..a87456be29f30 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -10,6 +10,7 @@ import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions | undefined): StackNavigationOptions => ({ + keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), }); From 92962374d3b5184b47957c87e61a6e8b176d9a4b Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 12:57:57 +0200 Subject: [PATCH 047/178] add default screen options prop --- .../createCustomBottomTabNavigator/index.native.tsx | 4 ++-- .../createCustomBottomTabNavigator/index.tsx | 4 ++-- .../AppNavigator/createCustomBottomTabNavigator/utils.ts | 8 ++++++-- .../platformOptions/withNativeNavigationOptions.ts | 9 ++++++--- .../platformOptions/withWebNavigationOptions.ts | 9 ++++++--- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 6cd6e18079902..5a2c91ea1b820 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -10,11 +10,11 @@ import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigatio import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; -import getStateToRender from './utils'; +import {defaultScreenOptions, getStateToRender} from './utils'; function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); + const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index c9eaa30494e3c..28b3fd480bd99 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -10,11 +10,11 @@ import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/p import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; -import getStateToRender from './utils'; +import {defaultScreenOptions, getStateToRender} from './utils'; function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { - const webScreenOptions = withWebNavigationOptions({...screenOptions, animation: undefined}); + const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts index ea18eb58e4965..f7fad09f25267 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts @@ -1,8 +1,12 @@ import type {ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationStateRoute} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; +const defaultScreenOptions: PlatformStackNavigationOptions = { + animation: 'none', +}; + function getStateToRender(state: PlatformStackNavigationState): PlatformStackNavigationState { const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; @@ -18,4 +22,4 @@ function getStateToRender(state: PlatformStackNavigationState): P return {...state, routes: routesToRender, index: routesToRender.length - 1}; } -export default getStateToRender; +export {defaultScreenOptions, getStateToRender}; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index f4f2b0cbe5b8b..6098db217ca46 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -14,13 +14,16 @@ const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigation ...getCommonNavigationOptions(screenOptions), }); -function withNativeNavigationOptions(screenOptions: PlatformStackNavigatorProps['screenOptions']) { +function withNativeNavigationOptions( + screenOptions: PlatformStackNavigatorProps['screenOptions'], + defaultScreenOptions?: PlatformStackNavigationOptions, +) { return isRouteBasedScreenOptions(screenOptions) ? (p: NavigationOptionsRouteProps) => { const routeBasedScreenOptions = screenOptions(p); - return transformPlatformOptionsToNative(routeBasedScreenOptions); + return transformPlatformOptionsToNative({...defaultScreenOptions, ...routeBasedScreenOptions}); } - : transformPlatformOptionsToNative(screenOptions); + : transformPlatformOptionsToNative({...defaultScreenOptions, ...screenOptions}); } export default withNativeNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index a87456be29f30..2d832684fffbc 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -15,13 +15,16 @@ const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOpt ...getCommonNavigationOptions(screenOptions), }); -function withWebNavigationOptions(screenOptions: PlatformStackNavigatorProps['screenOptions']) { +function withWebNavigationOptions( + screenOptions: PlatformStackNavigatorProps['screenOptions'], + defaultScreenOptions?: PlatformStackNavigationOptions, +) { return isRouteBasedScreenOptions(screenOptions) ? (p: NavigationOptionsRouteProps) => { const routeBasedScreenOptions = screenOptions(p); - return transformPlatformOptionsToWeb(routeBasedScreenOptions); + return transformPlatformOptionsToWeb({...defaultScreenOptions, ...routeBasedScreenOptions}); } - : transformPlatformOptionsToWeb(screenOptions); + : transformPlatformOptionsToWeb({...defaultScreenOptions, ...screenOptions}); } export default withWebNavigationOptions; From 346f4e673d62ebd620534b08735b285f9f4cde57 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 13:01:23 +0200 Subject: [PATCH 048/178] remove stack animation props --- .../AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx | 2 +- .../AppNavigator/OnboardingModalNavigatorScreenOptions.ts | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx index 5125979040762..e2f2a1fe4946f 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/WelcomeVideoModalNavigator.tsx @@ -12,7 +12,7 @@ function WelcomeVideoModalNavigator() { return ( - + ({ headerShown: false, - animationEnabled: true, gestureDirection: 'horizontal', cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, presentation: 'transparentModal', From 8744c4b59dbfcf3b9729f3ee54c7742d3b1cafcc Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 14:47:30 +0200 Subject: [PATCH 049/178] add react import --- .../createPlatformStackNavigator/index.native.tsx | 1 + .../createPlatformStackNavigator/index.tsx | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index 427e6df163705..d9eb5131e756f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -1,6 +1,7 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase} from '@react-navigation/native'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; +import React from 'react'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; import type { PlatformStackNavigationEventMap, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index 8554d19c1cc23..06854c5c34da5 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -1,6 +1,7 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase} from '@react-navigation/native'; import {createStackNavigator} from '@react-navigation/stack'; +import React from 'react'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; import type { PlatformStackNavigationEventMap, From 210a95fe0b1928f121fc35bce6c7b62240bb2194 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 14:56:36 +0200 Subject: [PATCH 050/178] fix: bottom tab not working --- .../index.native.tsx | 16 ++++++++++------ .../createCustomBottomTabNavigator/index.tsx | 11 ++++++++--- .../createCustomFullScreenNavigator/types.ts | 11 ++++++++--- .../createCustomStackNavigator/types.ts | 11 ++++++++--- 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 5a2c91ea1b820..e49cb1cd0819c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -1,4 +1,4 @@ -import type {ParamListBase, StackActionHelpers, StackRouterOptions} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {NativeStackView} from '@react-navigation/native-stack'; @@ -7,10 +7,15 @@ import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationRouterOptions, + PlatformStackNavigationState, +} from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; -import {defaultScreenOptions, getStateToRender} from './utils'; +import {defaultScreenOptions} from './utils'; function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { @@ -18,7 +23,7 @@ function createCustomBottomTabNavigator() { const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, - StackRouterOptions, + PlatformStackNavigationRouterOptions, StackActionHelpers, NativeStackNavigationOptions, NativeStackNavigationEventMap @@ -29,7 +34,6 @@ function createCustomBottomTabNavigator() { }); const styles = useThemeStyles(); - const stateToRender = getStateToRender(state); return ( () { diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 28b3fd480bd99..6582873d0e64a 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -1,4 +1,4 @@ -import type {ParamListBase, StackActionHelpers, StackRouterOptions} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; @@ -7,7 +7,12 @@ import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationRouterOptions, + PlatformStackNavigationState, +} from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions, getStateToRender} from './utils'; @@ -18,7 +23,7 @@ function createCustomBottomTabNavigator() { const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, - StackRouterOptions, + PlatformStackNavigationRouterOptions, StackActionHelpers, StackNavigationOptions, StackNavigationEventMap diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts index fec04e5823041..1fe8429a4f613 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts @@ -1,7 +1,12 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackRouterOptions} from '@react-navigation/native'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationRouterOptions, + PlatformStackNavigationState, +} from '@libs/Navigation/PlatformStackNavigation/types'; -type FullScreenNavigatorRouterOptions = StackRouterOptions; +type FullScreenNavigatorRouterOptions = PlatformStackNavigationRouterOptions; type FullScreenNavigatorProps = DefaultNavigatorOptions< TStackParams, diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts index 6ddae12f67644..3f188eaf8b1eb 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts @@ -1,11 +1,16 @@ -import type {DefaultNavigatorOptions, ParamListBase, StackRouterOptions} from '@react-navigation/native'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationRouterOptions, + PlatformStackNavigationState, +} from '@libs/Navigation/PlatformStackNavigation/types'; type ResponsiveStackNavigatorConfig = { isSmallScreenWidth: boolean; }; -type ResponsiveStackNavigatorRouterOptions = StackRouterOptions; +type ResponsiveStackNavigatorRouterOptions = PlatformStackNavigationRouterOptions; type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & ResponsiveStackNavigatorConfig; From 96cd8746deee9619abf7b478b150e0a3e5bd9df7 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 15:57:19 +0200 Subject: [PATCH 051/178] add more types --- .../CentralPaneNavigator/BaseCentralPaneNavigator.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx index edb17ba20491c..1d71e689d7c25 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx @@ -3,6 +3,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import ReportScreenWrapper from '@libs/Navigation/AppNavigator/ReportScreenWrapper'; import getCurrentUrl from '@libs/Navigation/currentUrl'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@navigation/types'; import SearchPage from '@pages/Search/SearchPage'; import SCREENS from '@src/SCREENS'; @@ -27,10 +28,10 @@ const settingsScreens = { function BaseCentralPaneNavigator() { const styles = useThemeStyles(); - const options = { + const options: PlatformStackNavigationOptions = { headerShown: false, title: 'New Expensify', - + animation: 'slide_from_left', // Prevent unnecessary scrolling cardStyle: styles.cardStyleNavigator, }; From b4f3248214767508e980d11bdbefe3e31c5badfc Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 15:58:46 +0200 Subject: [PATCH 052/178] add transformScreenOptions function --- patches/@react-navigation+core+6.4.11.patch | 587 ++++++++++++++++++++ 1 file changed, 587 insertions(+) create mode 100644 patches/@react-navigation+core+6.4.11.patch diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch new file mode 100644 index 0000000000000..c444da8bb66b9 --- /dev/null +++ b/patches/@react-navigation+core+6.4.11.patch @@ -0,0 +1,587 @@ +diff --git a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js +index e73a338..d34ed47 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js ++++ b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js +@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = createNavigatorFactory; ++var React = _interopRequireWildcard(require("react")); + var _Group = _interopRequireDefault(require("./Group")); + var _Screen = _interopRequireDefault(require("./Screen")); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } ++function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } ++function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } ++function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + /** + * Higher order component to create a `Navigator` and `Screen` pair. + * Custom navigators should wrap the navigator component in `createNavigator` before exporting. +@@ -14,15 +18,24 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de + * @param Navigator The navigtor component to wrap. + * @returns Factory method to create a `Navigator` and `Screen` pair. + */ +-function createNavigatorFactory(Navigator) { ++function createNavigatorFactory(Navigator, transformScreenOptions) { + return function () { + if (arguments[0] !== undefined) { + throw new Error("Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides."); + } ++ const TransformedScreen = transformScreenOptions === undefined ? _Screen.default : _ref => { ++ let { ++ options, ++ ...props ++ } = _ref; ++ return /*#__PURE__*/React.createElement(_Screen.default, _extends({ ++ options: transformScreenOptions(options) ++ }, props)); ++ }; + return { + Navigator, + Group: _Group.default, +- Screen: _Screen.default ++ Screen: TransformedScreen + }; + }; + } +diff --git a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map +index e5c26f6..d7156c8 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map +@@ -1 +1 @@ +-{"version":3,"names":["createNavigatorFactory","Navigator","arguments","undefined","Error","Group","Screen"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;;;;;AAGA;AACA;AAA8B;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAsB,CAK5CC,SAA6B,EAAE;EAC/B,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,OAAO;MACLH,SAAS;MACTI,KAAK,EAALA,cAAK;MACLC,MAAM,EAANA;IACF,CAAC;EACH,CAAC;AACH"} +\ No newline at end of file ++{"version":3,"names":["createNavigatorFactory","Navigator","transformScreenOptions","arguments","undefined","Error","TransformedScreen","Screen","options","props","Group"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;;;;;AACA;AAEA;AACA;AAA8B;AAAA;AAAA;AAAA;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAsB,CAO5CC,SAA6B,EAC7BC,sBAA6E,EAC7E;EACA,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,MAAMC,iBAAiB,GACrBJ,sBAAsB,KAAKE,SAAS,GAChCG,eAAM,GACN,QASM;MAAA,IAT8B;QAClCC,OAAO;QACP,GAAGC;MAOL,CAAC;MACC,oBACE,oBAAC,eAAM;QACL,OAAO,EAAEP,sBAAsB,CAC7BM,OAAO;MACP,GACEC,KAAK,EACT;IAEN,CAAC;IAEP,OAAO;MACLR,SAAS;MACTS,KAAK,EAALA,cAAK;MACLH,MAAM,EAAED;IACV,CAAC;EACH,CAAC;AACH"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js +index f6f02ca..0836dfb 100644 +--- a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js ++++ b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js +@@ -1,3 +1,5 @@ ++function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } ++import * as React from 'react'; + import Group from './Group'; + import Screen from './Screen'; + /** +@@ -7,15 +9,24 @@ import Screen from './Screen'; + * @param Navigator The navigtor component to wrap. + * @returns Factory method to create a `Navigator` and `Screen` pair. + */ +-export default function createNavigatorFactory(Navigator) { ++export default function createNavigatorFactory(Navigator, transformScreenOptions) { + return function () { + if (arguments[0] !== undefined) { + throw new Error("Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides."); + } ++ const TransformedScreen = transformScreenOptions === undefined ? Screen : _ref => { ++ let { ++ options, ++ ...props ++ } = _ref; ++ return /*#__PURE__*/React.createElement(Screen, _extends({ ++ options: transformScreenOptions(options) ++ }, props)); ++ }; + return { + Navigator, + Group, +- Screen ++ Screen: TransformedScreen + }; + }; + } +diff --git a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map +index 0054bc4..954b923 100644 +--- a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map ++++ b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map +@@ -1 +1 @@ +-{"version":3,"names":["Group","Screen","createNavigatorFactory","Navigator","arguments","undefined","Error"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":"AAGA,OAAOA,KAAK,MAAM,SAAS;AAC3B,OAAOC,MAAM,MAAM,UAAU;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsB,CAK5CC,SAA6B,EAAE;EAC/B,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,OAAO;MACLH,SAAS;MACTH,KAAK;MACLC;IACF,CAAC;EACH,CAAC;AACH"} +\ No newline at end of file ++{"version":3,"names":["React","Group","Screen","createNavigatorFactory","Navigator","transformScreenOptions","arguments","undefined","Error","TransformedScreen","options","props"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,MAAM,MAAM,UAAU;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsB,CAO5CC,SAA6B,EAC7BC,sBAA6E,EAC7E;EACA,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,MAAMC,iBAAiB,GACrBJ,sBAAsB,KAAKE,SAAS,GAChCL,MAAM,GACN,QASM;MAAA,IAT8B;QAClCQ,OAAO;QACP,GAAGC;MAOL,CAAC;MACC,oBACE,oBAAC,MAAM;QACL,OAAO,EAAEN,sBAAsB,CAC7BK,OAAO;MACP,GACEC,KAAK,EACT;IAEN,CAAC;IAEP,OAAO;MACLP,SAAS;MACTH,KAAK;MACLC,MAAM,EAAEO;IACV,CAAC;EACH,CAAC;AACH"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts +new file mode 100644 +index 0000000..d22cbd4 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=BaseNavigationContainer.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map +new file mode 100644 +index 0000000..6334965 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"BaseNavigationContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/BaseNavigationContainer.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts +new file mode 100644 +index 0000000..433d407 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=StaticContainer.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map +new file mode 100644 +index 0000000..34bb501 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"StaticContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/StaticContainer.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts +new file mode 100644 +index 0000000..7e2c7c6 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts +@@ -0,0 +1,25 @@ ++import { CommonNavigationAction, DefaultRouterOptions, Router } from '@react-navigation/routers'; ++export type MockActions = CommonNavigationAction | { ++ type: 'NOOP' | 'UPDATE'; ++}; ++export declare const MockRouterKey: { ++ current: number; ++}; ++export default function MockRouter(options: DefaultRouterOptions): Router & Readonly<{ ++ params?: Readonly; ++ }> & { ++ state?: Readonly | import("@react-navigation/routers").PartialState> | undefined; ++ })[]; ++ type: string; ++ stale: false; ++}>, MockActions>; ++//# sourceMappingURL=MockRouter.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map +new file mode 100644 +index 0000000..4ff520f +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"MockRouter.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/__fixtures__/MockRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EAGpB,MAAM,EACP,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,aAAa;;CAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;iBA+I/D"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts +new file mode 100644 +index 0000000..1fa4c05 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=checkSerializable.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map +new file mode 100644 +index 0000000..7134153 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"checkSerializable.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/checkSerializable.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts +new file mode 100644 +index 0000000..600781b +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=createNavigationContainerRef.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map +new file mode 100644 +index 0000000..c92c69c +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"createNavigationContainerRef.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigationContainerRef.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts +new file mode 100644 +index 0000000..3dcc160 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=createNavigatorFactory.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map +new file mode 100644 +index 0000000..8f35188 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"createNavigatorFactory.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigatorFactory.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts +new file mode 100644 +index 0000000..df51c94 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getActionFromState.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map +new file mode 100644 +index 0000000..e3191ac +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getActionFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getActionFromState.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts +new file mode 100644 +index 0000000..ae3812b +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getFocusedRouteNameFromRoute.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map +new file mode 100644 +index 0000000..be64b01 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getFocusedRouteNameFromRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getFocusedRouteNameFromRoute.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts +new file mode 100644 +index 0000000..7625849 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getPathFromState.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map +new file mode 100644 +index 0000000..b119f20 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getPathFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getPathFromState.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts +new file mode 100644 +index 0000000..2ebde5a +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getStateFromPath.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map +new file mode 100644 +index 0000000..cd928df +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getStateFromPath.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getStateFromPath.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts +new file mode 100644 +index 0000000..121d59b +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=index.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map +new file mode 100644 +index 0000000..7b9421a +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts +new file mode 100644 +index 0000000..98b6561 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useDescriptors.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map +new file mode 100644 +index 0000000..666ac88 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useDescriptors.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useDescriptors.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts +new file mode 100644 +index 0000000..86ccf20 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useEventEmitter.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map +new file mode 100644 +index 0000000..0c223bb +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useEventEmitter.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useEventEmitter.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts +new file mode 100644 +index 0000000..88a0334 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useFocusEffect.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map +new file mode 100644 +index 0000000..14fd128 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useFocusEffect.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useFocusEffect.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts +new file mode 100644 +index 0000000..5ace84d +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useIsFocused.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map +new file mode 100644 +index 0000000..eb4a60a +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useIsFocused.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useIsFocused.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts +new file mode 100644 +index 0000000..49943be +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useNavigation.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map +new file mode 100644 +index 0000000..0d5f05d +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useNavigation.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigation.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts +new file mode 100644 +index 0000000..c4bdd73 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useNavigationCache.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map +new file mode 100644 +index 0000000..45d5eec +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useNavigationCache.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationCache.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts +new file mode 100644 +index 0000000..3f3e1e8 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useNavigationState.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map +new file mode 100644 +index 0000000..7f87ce2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useNavigationState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationState.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts +new file mode 100644 +index 0000000..a2d09c2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useOnAction.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map +new file mode 100644 +index 0000000..f1b8ce2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useOnAction.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useOnAction.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts +new file mode 100644 +index 0000000..8f19ec2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=usePreventRemove.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map +new file mode 100644 +index 0000000..6c812fd +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"usePreventRemove.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/usePreventRemove.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts +new file mode 100644 +index 0000000..2fc7bc3 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useRoute.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map +new file mode 100644 +index 0000000..0f1e440 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts +index 55a87da..89ab338 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts +@@ -1,5 +1,5 @@ + import type { NavigationState, ParamListBase } from '@react-navigation/routers'; +-import type * as React from 'react'; ++import * as React from 'react'; + import type { EventMapBase, TypedNavigator } from './types'; + /** + * Higher order component to create a `Navigator` and `Screen` pair. +@@ -8,5 +8,5 @@ import type { EventMapBase, TypedNavigator } from './types'; + * @param Navigator The navigtor component to wrap. + * @returns Factory method to create a `Navigator` and `Screen` pair. + */ +-export default function createNavigatorFactory>(Navigator: NavigatorComponent): () => TypedNavigator; ++export default function createNavigatorFactory, TransformedScreenOptions extends {} = ScreenOptions>(Navigator: NavigatorComponent, transformScreenOptions?: (options: ScreenOptions) => TransformedScreenOptions): () => TypedNavigator; + //# sourceMappingURL=createNavigatorFactory.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map +index 27faf3e..a0f9a20 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,kBAAkB,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACnD,SAAS,EAAE,kBAAkB,wHAoB9B"} +\ No newline at end of file ++{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,YAAY,EAAe,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,kBAAkB,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACnD,wBAAwB,SAAS,EAAE,GAAG,aAAa,EAEnD,SAAS,EAAE,kBAAkB,EAC7B,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,wBAAwB,wHA4C9E"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx b/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx +index e367956..50ce1c9 100644 +--- a/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx ++++ b/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx +@@ -1,9 +1,9 @@ + import type { NavigationState, ParamListBase } from '@react-navigation/routers'; +-import type * as React from 'react'; ++import * as React from 'react'; + + import Group from './Group'; + import Screen from './Screen'; +-import type { EventMapBase, TypedNavigator } from './types'; ++import type { EventMapBase, RouteConfig, TypedNavigator } from './types'; + + /** + * Higher order component to create a `Navigator` and `Screen` pair. +@@ -16,8 +16,12 @@ export default function createNavigatorFactory< + State extends NavigationState, + ScreenOptions extends {}, + EventMap extends EventMapBase, +- NavigatorComponent extends React.ComponentType +->(Navigator: NavigatorComponent) { ++ NavigatorComponent extends React.ComponentType, ++ TransformedScreenOptions extends {} = ScreenOptions, ++>( ++ Navigator: NavigatorComponent, ++ transformScreenOptions?: (options: ScreenOptions) => TransformedScreenOptions ++) { + return function (): TypedNavigator< + ParamList, + State, +@@ -31,10 +35,33 @@ export default function createNavigatorFactory< + ); + } + ++ const TransformedScreen = ++ transformScreenOptions === undefined ++ ? Screen ++ : ({ ++ options, ++ ...props ++ }: RouteConfig< ++ ParamList, ++ RouteName, ++ State, ++ ScreenOptions, ++ EventMap ++ >) => { ++ return ( ++ ++ ) as unknown as null; ++ }; ++ + return { + Navigator, + Group, +- Screen, ++ Screen: TransformedScreen, + }; + }; + } +diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +index b1971ba..8e688db 100644 +--- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx ++++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +@@ -49,7 +49,7 @@ import useScheduleUpdate from './useScheduleUpdate'; + // eslint-disable-next-line babel/no-unused-expressions + PrivateValueStore; + +-type NavigationBuilderOptions = { ++export type NavigationBuilderOptions = { + /** + * Default options specified by the navigator. + * It receives the custom options in the arguments if a function is specified. From 5e453ba6f3ebb54a68fb40f1029c81f886c15452 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 17:03:25 +0200 Subject: [PATCH 053/178] adapt platform stack navigation --- .../index.native.tsx | 16 ++- .../createCustomBottomTabNavigator/index.tsx | 15 ++- .../index.native.tsx | 21 ++- .../createCustomFullScreenNavigator/index.tsx | 21 ++- .../index.native.tsx | 21 ++- .../createCustomStackNavigator/index.tsx | 21 ++- .../index.native.tsx | 15 ++- .../createPlatformStackNavigator/index.tsx | 15 ++- .../withNativeNavigationOptions.ts | 12 +- .../withWebNavigationOptions.ts | 12 +- .../PlatformStackNavigation/types.tsx | 126 ++++++++++++++---- 11 files changed, 230 insertions(+), 65 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index e49cb1cd0819c..dd4f2b0b568b1 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -2,6 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {NativeStackView} from '@react-navigation/native-stack'; +import type {NativeStackNavigationConfig} from '@react-navigation/native-stack/lib/typescript/src/types'; import React from 'react'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -12,6 +13,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationRouterOptions, PlatformStackNavigationState, + PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; @@ -55,12 +57,18 @@ function createCustomBottomTabNavigator() { ); } - CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( - CustomBottomTabNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof CustomBottomTabNavigator, + NativeStackNavigationConfig + >(CustomBottomTabNavigator)(transformScreenProps); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 6582873d0e64a..8d4ddb37a44e0 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -12,6 +12,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationRouterOptions, PlatformStackNavigationState, + PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; @@ -56,12 +57,18 @@ function createCustomBottomTabNavigator() { ); } - CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( - CustomBottomTabNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof CustomBottomTabNavigator, + StackNavigationOptions + >(CustomBottomTabNavigator)(transformScreenProps); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index a6732d2552fa8..7d04893b5ebea 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -3,7 +3,12 @@ import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/na import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; @@ -35,12 +40,18 @@ function createCustomFullScreenNavigator() { ); } - CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( - CustomFullScreenNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof CustomFullScreenNavigator, + NativeStackNavigationOptions + >(CustomFullScreenNavigator)(transformScreenProps); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index e1bf373474de0..c08ff9e88334a 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -6,7 +6,12 @@ import React, {useEffect} from 'react'; import useWindowDimensions from '@hooks/useWindowDimensions'; import navigationRef from '@libs/Navigation/navigationRef'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; @@ -49,12 +54,18 @@ function createCustomFullScreenNavigator() { ); } - CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( - CustomFullScreenNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof CustomFullScreenNavigator, + StackNavigationOptions + >(CustomFullScreenNavigator)(transformScreenProps); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx index ce38fbf05631f..088780da03144 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx @@ -6,7 +6,12 @@ import React from 'react'; import {View} from 'react-native'; import useThemeStyles from '@hooks/useThemeStyles'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; import useCommonLogic from './useCommonLogic'; @@ -44,12 +49,18 @@ function createCustomStackNavigator() { ); } - ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( - ResponsiveStackNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof ResponsiveStackNavigator, + NativeStackNavigationOptions + >(ResponsiveStackNavigator)(transformScreenProps); } export default createCustomStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx index 4e8d8dc558a7d..3ca17e15c3f83 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx @@ -6,7 +6,12 @@ import React from 'react'; import {View} from 'react-native'; import useThemeStyles from '@hooks/useThemeStyles'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; import useCommonLogic from './useCommonLogic'; @@ -44,12 +49,18 @@ function createCustomStackNavigator() { ); } - ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( - ResponsiveStackNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof ResponsiveStackNavigator, + StackNavigationOptions + >(ResponsiveStackNavigator)(transformScreenProps); } export default createCustomStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index d9eb5131e756f..708c0d8f149a2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -1,5 +1,6 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase} from '@react-navigation/native'; +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; import React from 'react'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; @@ -8,6 +9,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackNavigatorProps, + PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { @@ -27,9 +29,16 @@ function createPlatformStackNavigator() { ); } - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( - PlatformStackNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof PlatformStackNavigator, + NativeStackNavigationOptions + >(PlatformStackNavigator)(transformScreenProps); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index 06854c5c34da5..132a380b1af58 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -1,5 +1,6 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase} from '@react-navigation/native'; +import type {StackNavigationOptions} from '@react-navigation/stack'; import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; @@ -8,6 +9,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackNavigatorProps, + PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { @@ -27,9 +29,16 @@ function createPlatformStackNavigator() { ); } - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( - PlatformStackNavigator, - )(); + const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(screenOptions); + + return createNavigatorFactory< + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap, + typeof PlatformStackNavigator, + StackNavigationOptions + >(PlatformStackNavigator)(transformScreenProps); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 6098db217ca46..3911b8a1c0cdc 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -1,7 +1,11 @@ import type {ParamListBase} from '@react-navigation/native'; import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationOptions, + PlatformStackScreenOptionsPropsWithoutNavigation, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; import noAnimation from './animation/native/none'; import slideFromBottomAnimation from './animation/native/slideFromBottom'; import slideFromLeftAnimation from './animation/native/slideFromLeft'; @@ -14,12 +18,12 @@ const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigation ...getCommonNavigationOptions(screenOptions), }); -function withNativeNavigationOptions( - screenOptions: PlatformStackNavigatorProps['screenOptions'], +function withNativeNavigationOptions( + screenOptions: PlatformStackScreenOptionsWithoutNavigation, defaultScreenOptions?: PlatformStackNavigationOptions, ) { return isRouteBasedScreenOptions(screenOptions) - ? (p: NavigationOptionsRouteProps) => { + ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { const routeBasedScreenOptions = screenOptions(p); return transformPlatformOptionsToNative({...defaultScreenOptions, ...routeBasedScreenOptions}); } diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 2d832684fffbc..d6f094bdb7061 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -1,7 +1,11 @@ import type {ParamListBase} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationOptionsRouteProps, PlatformStackNavigationOptions, PlatformStackNavigatorProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + PlatformStackNavigationOptions, + PlatformStackScreenOptionsPropsWithoutNavigation, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; import noAnimation from './animation/web/none'; import slideFromBottomAnimation from './animation/web/slideFromBottom'; import slideFromLeftAnimation from './animation/web/slideFromLeft'; @@ -15,12 +19,12 @@ const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOpt ...getCommonNavigationOptions(screenOptions), }); -function withWebNavigationOptions( - screenOptions: PlatformStackNavigatorProps['screenOptions'], +function withWebNavigationOptions( + screenOptions: PlatformStackScreenOptionsWithoutNavigation, defaultScreenOptions?: PlatformStackNavigationOptions, ) { return isRouteBasedScreenOptions(screenOptions) - ? (p: NavigationOptionsRouteProps) => { + ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { const routeBasedScreenOptions = screenOptions(p); return transformPlatformOptionsToWeb({...defaultScreenOptions, ...routeBasedScreenOptions}); } diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index e28f2a383f761..a2aa0e187f5dd 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -1,35 +1,118 @@ -import type {DefaultNavigatorOptions, NavigationProp, ParamListBase, RouteProp, StackActionHelpers, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {DefaultNavigatorOptions, NavigationProp, ParamListBase, RouteProp, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; type PlatformStackNavigationState = StackNavigationState; -type CommonStackNavigationOptions = StackNavigationOptions & NativeStackNavigationOptions; -type PlatformStackNavigationOptions = Omit & { - animation?: 'slide_from_left' | 'slide_from_right' | 'modal'; +type OmitNever> = { + [K in keyof T as T[K] extends never ? never : K]: T[K]; }; +type CommonProperties = OmitNever>; -type CommonStackNavigationEventMap = StackNavigationEventMap & NativeStackNavigationEventMap; +type CommonStackNavigationOptions = CommonProperties; + +type GeneralPlatformStackNavigationOptions = { + keyboardHandlingEnabled?: boolean; + + // Stack + // animationEnabled?: boolean; + // animationTypeForReplace?: 'push' | 'pop'; + // Native stack + // animation?: ScreenProps['stackAnimation']; // The animation used for transitions + // animationDuration?: number; + animation?: 'slide_from_left' | 'slide_from_right' | 'modal' | 'none'; + + // Native stack + // headerBackImageSource?: ImageSourcePropType; + // headerBackTitleStyle?: StyleProp<{ fontFamily?: string; fontSize?: number; }>; + // headerBackVisible?: boolean; + // headerBlurEffect?: ScreenStackHeaderConfigProps['blurEffect']; + // headerLargeStyle?: StyleProp<{ backgroundColor?: string; }>; + // headerLargeTitle?: boolean; + // headerLargeTitleShadowVisible?: boolean; + // headerLargeTitleStyle?: StyleProp<{ fontFamily?: string; fontSize?: number; fontWeight?: string; color?: string; }>; + // headerShadowVisible?: boolean; + // headerTitleAlign?: 'left' | 'center'; + // headerBackButtonMenuEnabled?: boolean; + header?: unknown; + + // Native stack + // statusBarAnimation?: ScreenProps['statusBarAnimation']; + // statusBarColor?: string; + // statusBarHidden?: boolean; + // statusBarStyle?: ScreenProps['statusBarStyle']; + // statusBarTranslucent?: boolean; + statusBar?: unknown; + + // Stack + // presentation?: 'card' | 'modal' | 'transparentModal'; + // Native stack + // presentation?: Exclude | 'card'; + presentation?: 'card' | 'modal' | 'transparentModal'; + + // Native stack + // gestureEnabled?: boolean; + // gestureResponseDistance?: number; + // gestureVelocityImpact?: number; + // gestureDirection?: ScreenProps['swipeDirection']; + gesture?: unknown; + + // // Unique to StackNavigationOptions + // cardOverlay?: (props: { style: Animated.WithAnimatedValue> }) => React.ReactNode; + // cardOverlayEnabled?: boolean; + // cardShadowEnabled?: boolean; + // cardStyle?: StyleProp; + // detachPreviousScreen?: boolean; + // keyboardHandlingEnabled?: boolean; + // freezeOnBlur?: boolean; + + // // Unique to NativeStackNavigationOptions + // autoHideHomeIndicator?: boolean; + // contentStyle?: StyleProp; + // customAnimationOnGesture?: boolean; + // fullScreenGestureEnabled?: boolean; + // navigationBarColor?: string; + // navigationBarHidden?: boolean; + // orientation?: ScreenProps['screenOrientation']; +}; + +type PlatformStackNavigationOptions = CommonStackNavigationOptions & GeneralPlatformStackNavigationOptions; + +type CommonStackNavigationEventMap = CommonProperties; type PlatformStackNavigationEventMap = CommonStackNavigationEventMap; type PlatformStackNavigationRouterOptions = StackRouterOptions; -type PlatformStackNavigatorProps = DefaultNavigatorOptions< - TStackParams, - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap -> & +type PlatformStackNavigatorProps< + TStackParams extends ParamListBase, + RouteName extends keyof TStackParams = keyof TStackParams, + RouterOptions extends PlatformStackNavigationRouterOptions = PlatformStackNavigationRouterOptions, +> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & RouterOptions & StackNavigationConfig; -type NavigationOptionsRouteProps = { - route: RouteProp; +type PlatformStackScreenOptionsProps = { + route: PlatformStackRouteProp; + navigation: PlatformStackNavigationProp; +}; + +type PlatformStackScreenOptionsPropsWithoutNavigation = { + route: PlatformStackRouteProp; // eslint-disable-next-line @typescript-eslint/no-explicit-any navigation: any; }; +type PlatformStackScreenOptions = PlatformStackNavigatorProps< + TStackParams, + RouteName +>['screenOptions']; + +type PlatformStackScreenOptionsWithoutNavigation = + | PlatformStackNavigationOptions + | ((props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions) + | undefined; + type PlatformStackNavigationProp< TStackParams extends ParamListBase, RouteName extends keyof TStackParams = keyof TStackParams, @@ -37,14 +120,9 @@ type PlatformStackNavigationProp< > = NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap>; type PlatformStackRouteProp = RouteProp; -type PlatformStackScreenProps = { - navigation: PlatformStackNavigationProp & StackActionHelpers; - route: PlatformStackRouteProp; -}; - -function isRouteBasedScreenOptions( - screenOptions: PlatformStackNavigatorProps['screenOptions'], -): screenOptions is (props: NavigationOptionsRouteProps) => PlatformStackNavigationOptions { +function isRouteBasedScreenOptions( + screenOptions: PlatformStackScreenOptions, +): screenOptions is (props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions { return typeof screenOptions === 'function'; } @@ -58,7 +136,9 @@ export type { PlatformStackNavigationRouterOptions, PlatformStackNavigationProp, PlatformStackRouteProp, - PlatformStackScreenProps, + PlatformStackScreenOptions, + PlatformStackScreenOptionsWithoutNavigation, + PlatformStackScreenOptionsProps, + PlatformStackScreenOptionsPropsWithoutNavigation, PlatformStackNavigatorProps, - NavigationOptionsRouteProps, }; From 6e8a07d44d2825e7bcae4924ffcc12f13dedf82c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 17:03:59 +0200 Subject: [PATCH 054/178] rename types --- .../AppNavigator/Navigators/LeftModalNavigator.tsx | 4 ++-- .../AppNavigator/Navigators/RightModalNavigator.tsx | 4 ++-- src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx | 4 ++-- src/pages/ChatFinderPage/index.tsx | 4 ++-- src/pages/ConciergePage.tsx | 4 ++-- src/pages/DetailsPage.tsx | 4 ++-- src/pages/EditSplitBillPage.tsx | 4 ++-- src/pages/FlagCommentPage.tsx | 4 ++-- src/pages/GetAssistancePage.tsx | 4 ++-- src/pages/GroupChatNameEditPage.tsx | 4 ++-- src/pages/LogInWithShortLivedAuthTokenPage.tsx | 4 ++-- src/pages/LogOutPreviousUserPage.tsx | 4 ++-- src/pages/PrivateNotes/PrivateNotesEditPage.tsx | 4 ++-- src/pages/ProfilePage.tsx | 4 ++-- src/pages/ReferralDetailsPage.tsx | 4 ++-- src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx | 4 ++-- src/pages/ReportAvatar.tsx | 4 ++-- src/pages/ReportDescriptionPage.tsx | 4 ++-- src/pages/ReportDetailsPage.tsx | 4 ++-- src/pages/ReportParticipantDetailsPage.tsx | 4 ++-- src/pages/ReportParticipantRoleSelectionPage.tsx | 4 ++-- src/pages/RoomInvitePage.tsx | 4 ++-- src/pages/RoomMembersPage.tsx | 4 ++-- src/pages/Search/SearchPage.tsx | 4 ++-- src/pages/TransactionReceiptPage.tsx | 4 ++-- src/pages/UnlinkLoginPage.tsx | 4 ++-- src/pages/ValidateLoginPage/types.ts | 4 ++-- src/pages/home/ReportScreen.tsx | 4 ++-- src/pages/home/report/ReportAttachments.tsx | 4 ++-- .../home/report/withReportAndReportActionOrNotFound.tsx | 4 ++-- src/pages/iou/MoneyRequestWaypointPage.tsx | 4 ++-- src/pages/iou/SplitBillDetailsPage.tsx | 4 ++-- src/pages/settings/AboutPage/ShareLogPage.tsx | 4 ++-- src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx | 4 ++-- src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx | 4 ++-- .../settings/Profile/Contacts/ContactMethodDetailsPage.tsx | 4 ++-- src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx | 4 ++-- .../settings/Profile/Contacts/NewContactMethodPage.tsx | 4 ++-- src/pages/settings/Profile/PersonalDetails/AddressPage.tsx | 4 ++-- .../Profile/PersonalDetails/CountrySelectionPage.tsx | 4 ++-- src/pages/settings/Profile/ProfileAvatar.tsx | 4 ++-- src/pages/settings/Report/NotificationPreferencePage.tsx | 4 ++-- src/pages/settings/Report/ReportSettingsPage.tsx | 4 ++-- src/pages/settings/Report/RoomNamePage.tsx | 4 ++-- src/pages/settings/Report/VisibilityPage.tsx | 4 ++-- src/pages/settings/Report/WriteCapabilityPage.tsx | 4 ++-- src/pages/settings/Security/CloseAccountPage.tsx | 4 ++-- src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx | 4 ++-- src/pages/settings/Wallet/ExpensifyCardPage.tsx | 4 ++-- src/pages/settings/Wallet/ReportCardLostPage.tsx | 4 ++-- src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx | 4 ++-- src/pages/tasks/NewTaskDescriptionPage.tsx | 4 ++-- src/pages/tasks/NewTaskDetailsPage.tsx | 4 ++-- src/pages/tasks/NewTaskPage.tsx | 4 ++-- src/pages/tasks/NewTaskTitlePage.tsx | 4 ++-- src/pages/wallet/WalletStatementPage.tsx | 4 ++-- src/pages/workspace/WorkspaceAvatar.tsx | 4 ++-- src/pages/workspace/WorkspaceInitialPage.tsx | 4 ++-- src/pages/workspace/WorkspaceInviteMessagePage.tsx | 4 ++-- src/pages/workspace/WorkspaceInvitePage.tsx | 4 ++-- src/pages/workspace/WorkspaceJoinUserPage.tsx | 4 ++-- src/pages/workspace/WorkspaceMembersPage.tsx | 4 ++-- src/pages/workspace/WorkspaceMoreFeaturesPage.tsx | 4 ++-- src/pages/workspace/bills/WorkspaceBillsPage.tsx | 4 ++-- src/pages/workspace/card/WorkspaceCardPage.tsx | 4 ++-- src/pages/workspace/categories/CategorySettingsPage.tsx | 4 ++-- src/pages/workspace/categories/CreateCategoryPage.tsx | 4 ++-- src/pages/workspace/categories/EditCategoryPage.tsx | 4 ++-- src/pages/workspace/categories/WorkspaceCategoriesPage.tsx | 4 ++-- .../categories/WorkspaceCategoriesSettingsPage.tsx | 4 ++-- .../workspace/distanceRates/CreateDistanceRatePage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRateDetailsPage.tsx | 4 ++-- .../workspace/distanceRates/PolicyDistanceRateEditPage.tsx | 4 ++-- .../workspace/distanceRates/PolicyDistanceRatesPage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRatesSettingsPage.tsx | 5 +++-- src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx | 4 ++-- src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeErrorPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeSuccessPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeWrapperPage.tsx | 4 ++-- src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx | 4 ++-- src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx | 4 ++-- src/pages/workspace/tags/EditTagPage.tsx | 4 ++-- src/pages/workspace/tags/TagSettingsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceCreateTagPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceEditTagsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceTagsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx | 4 ++-- src/pages/workspace/taxes/NamePage.tsx | 4 ++-- src/pages/workspace/taxes/ValuePage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceTaxesPage.tsx | 4 ++-- .../workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsForeignCurrency.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx | 4 ++-- src/pages/workspace/travel/WorkspaceTravelPage.tsx | 4 ++-- .../workflows/WorkspaceAutoReportingFrequencyPage.tsx | 4 ++-- .../workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx | 4 ++-- .../workspace/workflows/WorkspaceWorkflowsApproverPage.tsx | 4 ++-- src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx | 6 ++++-- .../workspace/workflows/WorkspaceWorkflowsPayerPage.tsx | 4 ++-- tests/perf-test/ReportScreen.perf-test.tsx | 4 ++-- tests/perf-test/SearchPage.perf-test.tsx | 4 ++-- 109 files changed, 221 insertions(+), 218 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx index 5cf8754d0961b..c42b67f75c085 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx @@ -6,13 +6,13 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, LeftModalNavigatorParamList} from '@libs/Navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type LeftModalNavigatorProps = PlatformStackScreenProps; +type LeftModalNavigatorProps = PlatformStackScreenOptionsProps; const Stack = createPlatformStackNavigator(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 47f0532e7e865..37f9db76f3a83 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -7,13 +7,13 @@ import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwi import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type RightModalNavigatorProps = PlatformStackScreenProps; +type RightModalNavigatorProps = PlatformStackScreenOptionsProps; const Stack = createPlatformStackNavigator(); diff --git a/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx b/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx index 9854ea136e8b9..f265a5566e2b9 100644 --- a/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx @@ -1,11 +1,11 @@ import React from 'react'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@navigation/types'; import ReportScreen from '@pages/home/ReportScreen'; import type SCREENS from '@src/SCREENS'; import ReportScreenIDSetter from './ReportScreenIDSetter'; -type ReportScreenWrapperProps = PlatformStackScreenProps; +type ReportScreenWrapperProps = PlatformStackScreenOptionsProps; function ReportScreenWrapper({route, navigation}: ReportScreenWrapperProps) { // The ReportScreen without the reportID set will display a skeleton diff --git a/src/pages/ChatFinderPage/index.tsx b/src/pages/ChatFinderPage/index.tsx index 0c364f4538c24..55f2a2bf282d2 100644 --- a/src/pages/ChatFinderPage/index.tsx +++ b/src/pages/ChatFinderPage/index.tsx @@ -14,7 +14,7 @@ import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import type {MaybePhraseKey} from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import Performance from '@libs/Performance'; @@ -35,7 +35,7 @@ type ChatFinderPageOnyxProps = { isSearchingForReports: OnyxEntry; }; -type ChatFinderPageProps = ChatFinderPageOnyxProps & PlatformStackScreenProps; +type ChatFinderPageProps = ChatFinderPageOnyxProps & PlatformStackScreenOptionsProps; type ChatFinderPageSectionItem = { data: OptionData[]; diff --git a/src/pages/ConciergePage.tsx b/src/pages/ConciergePage.tsx index c22aa867f3da0..cc3b2334e9e46 100644 --- a/src/pages/ConciergePage.tsx +++ b/src/pages/ConciergePage.tsx @@ -8,7 +8,7 @@ import ReportHeaderSkeletonView from '@components/ReportHeaderSkeletonView'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as App from '@userActions/App'; import * as Report from '@userActions/Report'; @@ -21,7 +21,7 @@ type ConciergePageOnyxProps = { session: OnyxEntry; }; -type ConciergePageProps = ConciergePageOnyxProps & PlatformStackScreenProps; +type ConciergePageProps = ConciergePageOnyxProps & PlatformStackScreenOptionsProps; /* * This is a "utility page", that does this: diff --git a/src/pages/DetailsPage.tsx b/src/pages/DetailsPage.tsx index 5310b051d342e..d464f003c4eb7 100755 --- a/src/pages/DetailsPage.tsx +++ b/src/pages/DetailsPage.tsx @@ -19,7 +19,7 @@ import Text from '@components/Text'; import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -40,7 +40,7 @@ type DetailsPageOnyxProps = { session: OnyxEntry; }; -type DetailsPageProps = DetailsPageOnyxProps & PlatformStackScreenProps; +type DetailsPageProps = DetailsPageOnyxProps & PlatformStackScreenOptionsProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/EditSplitBillPage.tsx b/src/pages/EditSplitBillPage.tsx index 7474ff672c340..d9969ecf9d8c4 100644 --- a/src/pages/EditSplitBillPage.tsx +++ b/src/pages/EditSplitBillPage.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {TransactionChanges} from '@libs/TransactionUtils'; @@ -32,7 +32,7 @@ type EditSplitBillOnyxProps = { draftTransaction: OnyxEntry; }; -type EditSplitBillProps = EditSplitBillOnyxProps & PlatformStackScreenProps; +type EditSplitBillProps = EditSplitBillOnyxProps & PlatformStackScreenOptionsProps; function EditSplitBillPage({route, transaction, draftTransaction, report}: EditSplitBillProps) { const {field: fieldToEdit, reportID, reportActionID, tagIndex} = route.params; diff --git a/src/pages/FlagCommentPage.tsx b/src/pages/FlagCommentPage.tsx index 93c2da15d8db9..d499ac534bc53 100644 --- a/src/pages/FlagCommentPage.tsx +++ b/src/pages/FlagCommentPage.tsx @@ -13,7 +13,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as Report from '@userActions/Report'; @@ -30,7 +30,7 @@ type FlagCommentPageWithOnyxProps = { parentReportAction: OnyxEntry; }; -type FlagCommentPageNavigationProps = PlatformStackScreenProps; +type FlagCommentPageNavigationProps = PlatformStackScreenOptionsProps; type FlagCommentPageProps = FlagCommentPageNavigationProps & WithReportAndReportActionOrNotFoundProps & FlagCommentPageWithOnyxProps; diff --git a/src/pages/GetAssistancePage.tsx b/src/pages/GetAssistancePage.tsx index 381a1716f59b9..5b2047b2580b4 100644 --- a/src/pages/GetAssistancePage.tsx +++ b/src/pages/GetAssistancePage.tsx @@ -13,7 +13,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import * as Report from '@userActions/Report'; @@ -28,7 +28,7 @@ type GetAssistanceOnyxProps = { account: OnyxEntry; }; -type GetAssistancePageProps = GetAssistanceOnyxProps & PlatformStackScreenProps; +type GetAssistancePageProps = GetAssistanceOnyxProps & PlatformStackScreenOptionsProps; function GetAssistancePage({route, account}: GetAssistancePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/GroupChatNameEditPage.tsx b/src/pages/GroupChatNameEditPage.tsx index 7cdf59d1f18d6..d910174481750 100644 --- a/src/pages/GroupChatNameEditPage.tsx +++ b/src/pages/GroupChatNameEditPage.tsx @@ -10,7 +10,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {NewChatNavigatorParamList} from '@navigation/types'; @@ -27,7 +27,7 @@ type GroupChatNameEditPageOnyxProps = { groupChatDraft: NewGroupChatDraft | null; }; -type GroupChatNameEditPageProps = PlatformStackScreenProps & GroupChatNameEditPageOnyxProps; +type GroupChatNameEditPageProps = PlatformStackScreenOptionsProps & GroupChatNameEditPageOnyxProps; function GroupChatNameEditPage({groupChatDraft, route}: GroupChatNameEditPageProps) { // If we have a reportID this means we are using this page to update an existing Group Chat name diff --git a/src/pages/LogInWithShortLivedAuthTokenPage.tsx b/src/pages/LogInWithShortLivedAuthTokenPage.tsx index 265f7666deccf..b52e45e50beac 100644 --- a/src/pages/LogInWithShortLivedAuthTokenPage.tsx +++ b/src/pages/LogInWithShortLivedAuthTokenPage.tsx @@ -13,7 +13,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import CONST from '@src/CONST'; @@ -28,7 +28,7 @@ type LogInWithShortLivedAuthTokenPageOnyxProps = { account: OnyxEntry; }; -type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & PlatformStackScreenProps; +type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & PlatformStackScreenOptionsProps; function LogInWithShortLivedAuthTokenPage({route, account}: LogInWithShortLivedAuthTokenPageProps) { const theme = useTheme(); diff --git a/src/pages/LogOutPreviousUserPage.tsx b/src/pages/LogOutPreviousUserPage.tsx index 435efa8be6ce1..f2204c691bd2d 100644 --- a/src/pages/LogOutPreviousUserPage.tsx +++ b/src/pages/LogOutPreviousUserPage.tsx @@ -4,7 +4,7 @@ import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import {InitialURLContext} from '@components/InitialURLContextProvider'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as SessionUtils from '@libs/SessionUtils'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ type LogOutPreviousUserPageOnyxProps = { isAccountLoading: boolean; }; -type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & PlatformStackScreenProps; +type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & PlatformStackScreenOptionsProps; // This page is responsible for handling transitions from OldDot. Specifically, it logs the current user // out if the transition is for another user. diff --git a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx index f4fb6f79aee13..bbf5500aaf03b 100644 --- a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx @@ -18,7 +18,7 @@ import useHtmlPaste from '@hooks/useHtmlPaste'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; @@ -40,7 +40,7 @@ type PrivateNotesEditPageOnyxProps = { type PrivateNotesEditPageProps = WithReportAndPrivateNotesOrNotFoundProps & PrivateNotesEditPageOnyxProps & - PlatformStackScreenProps & { + PlatformStackScreenOptionsProps & { /** The report currently being looked at */ report: Report; }; diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx index 91efe6e018301..8e53fac55553e 100755 --- a/src/pages/ProfilePage.tsx +++ b/src/pages/ProfilePage.tsx @@ -21,7 +21,7 @@ import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -40,7 +40,7 @@ import type {PersonalDetails, Report} from '@src/types/onyx'; import type {EmptyObject} from '@src/types/utils/EmptyObject'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ProfilePageProps = PlatformStackScreenProps; +type ProfilePageProps = PlatformStackScreenOptionsProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx index 76dac1aca1a88..b903caa3a7a41 100644 --- a/src/pages/ReferralDetailsPage.tsx +++ b/src/pages/ReferralDetailsPage.tsx @@ -14,7 +14,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReferralDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import CONST from '@src/CONST'; @@ -29,7 +29,7 @@ type ReferralDetailsPageOnyxProps = { account: OnyxEntry; }; -type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & PlatformStackScreenProps; +type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & PlatformStackScreenOptionsProps; function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const theme = useTheme(); diff --git a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx index aaff6241008a4..154340dc16f7e 100644 --- a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx +++ b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx @@ -18,7 +18,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import getPlaidOAuthReceivedRedirectURI from '@libs/getPlaidOAuthReceivedRedirectURI'; import BankAccount from '@libs/models/BankAccount'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReimbursementAccountNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import shouldReopenOnfido from '@libs/shouldReopenOnfido'; @@ -68,7 +68,7 @@ type ReimbursementAccountOnyxProps = { type ReimbursementAccountPageProps = WithPolicyOnyxProps & ReimbursementAccountOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; const ROUTE_NAMES = { COMPANY: 'company', diff --git a/src/pages/ReportAvatar.tsx b/src/pages/ReportAvatar.tsx index 63c3d154e74cc..c8171639980f3 100644 --- a/src/pages/ReportAvatar.tsx +++ b/src/pages/ReportAvatar.tsx @@ -3,7 +3,7 @@ import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -18,7 +18,7 @@ type ReportAvatarOnyxProps = { policies: OnyxCollection; }; -type ReportAvatarProps = ReportAvatarOnyxProps & PlatformStackScreenProps; +type ReportAvatarProps = ReportAvatarOnyxProps & PlatformStackScreenOptionsProps; function ReportAvatar({report = {} as Report, policies, isLoadingApp = true}: ReportAvatarProps) { const policy = policies?.[`${ONYXKEYS.COLLECTION.POLICY}${report?.policyID ?? '0'}`]; diff --git a/src/pages/ReportDescriptionPage.tsx b/src/pages/ReportDescriptionPage.tsx index 0aabe5ad5d58d..4fda961662a72 100644 --- a/src/pages/ReportDescriptionPage.tsx +++ b/src/pages/ReportDescriptionPage.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportDescriptionNavigatorParamList} from '@navigation/types'; import type SCREENS from '@src/SCREENS'; @@ -8,7 +8,7 @@ import withReportOrNotFound from './home/report/withReportOrNotFound'; import RoomDescriptionPage from './RoomDescriptionPage'; import TaskDescriptionPage from './tasks/TaskDescriptionPage'; -type ReportDescriptionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportDescriptionPageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; function ReportDescriptionPage(props: ReportDescriptionPageProps) { const isTask = ReportUtils.isTaskReport(props.report); diff --git a/src/pages/ReportDetailsPage.tsx b/src/pages/ReportDetailsPage.tsx index f3402bccffea0..dbae6eef504e8 100644 --- a/src/pages/ReportDetailsPage.tsx +++ b/src/pages/ReportDetailsPage.tsx @@ -23,7 +23,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -58,7 +58,7 @@ type ReportDetailsPageOnyxProps = { /** Session info for the currently logged in user. */ session: OnyxEntry; }; -type ReportDetailsPageProps = ReportDetailsPageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportDetailsPageProps = ReportDetailsPageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; function ReportDetailsPage({policies, report, session, personalDetails}: ReportDetailsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/ReportParticipantDetailsPage.tsx b/src/pages/ReportParticipantDetailsPage.tsx index 56ebec0789d40..225cea09189bf 100644 --- a/src/pages/ReportParticipantDetailsPage.tsx +++ b/src/pages/ReportParticipantDetailsPage.tsx @@ -16,7 +16,7 @@ import useLocalize from '@hooks/useLocalize'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; import Navigation from '@navigation/Navigation'; @@ -35,7 +35,7 @@ type ReportParticipantDetailsOnyxProps = { }; type ReportParticipantDetailsPageProps = WithReportOrNotFoundProps & - PlatformStackScreenProps & + PlatformStackScreenOptionsProps & ReportParticipantDetailsOnyxProps; function ReportParticipantDetails({personalDetails, report, route}: ReportParticipantDetailsPageProps) { diff --git a/src/pages/ReportParticipantRoleSelectionPage.tsx b/src/pages/ReportParticipantRoleSelectionPage.tsx index 1db4e878bcb7a..5c62d130cc0ca 100644 --- a/src/pages/ReportParticipantRoleSelectionPage.tsx +++ b/src/pages/ReportParticipantRoleSelectionPage.tsx @@ -9,7 +9,7 @@ import type {ListItem} from '@components/SelectionList/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {ParticipantsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -19,7 +19,7 @@ import NotFoundPage from './ErrorPage/NotFoundPage'; import withReportOrNotFound from './home/report/withReportOrNotFound'; import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound'; -type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; type ListItemType = ListItem & { value: ValueOf; diff --git a/src/pages/RoomInvitePage.tsx b/src/pages/RoomInvitePage.tsx index 7db147c815646..f81cff2aa468d 100644 --- a/src/pages/RoomInvitePage.tsx +++ b/src/pages/RoomInvitePage.tsx @@ -17,7 +17,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -34,7 +34,7 @@ import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound import withReportOrNotFound from './home/report/withReportOrNotFound'; import SearchInputManager from './workspace/SearchInputManager'; -type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & PlatformStackScreenProps; +type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & PlatformStackScreenOptionsProps; type Sections = Array>>; diff --git a/src/pages/RoomMembersPage.tsx b/src/pages/RoomMembersPage.tsx index 9d074e678957d..737a46ae042a8 100644 --- a/src/pages/RoomMembersPage.tsx +++ b/src/pages/RoomMembersPage.tsx @@ -20,7 +20,7 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -45,7 +45,7 @@ type RoomMembersPageOnyxProps = { type RoomMembersPageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps & RoomMembersPageOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function RoomMembersPage({report, session, policies}: RoomMembersPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx index 7f3667d097372..d783439160fa7 100644 --- a/src/pages/Search/SearchPage.tsx +++ b/src/pages/Search/SearchPage.tsx @@ -1,12 +1,12 @@ import React from 'react'; import ScreenWrapper from '@components/ScreenWrapper'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import SearchResults from './SearchResults'; import useCustomBackHandler from './useCustomBackHandler'; -type SearchPageProps = PlatformStackScreenProps; +type SearchPageProps = PlatformStackScreenOptionsProps; function SearchPage({route}: SearchPageProps) { useCustomBackHandler(); diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 97ce2dd44cf5f..4c44acee226b7 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReceiptUtils from '@libs/ReceiptUtils'; import * as ReportActionUtils from '@libs/ReportActionsUtils'; @@ -23,7 +23,7 @@ type TransactionReceiptOnyxProps = { reportMetadata: OnyxEntry; }; -type TransactionReceiptProps = TransactionReceiptOnyxProps & PlatformStackScreenProps; +type TransactionReceiptProps = TransactionReceiptOnyxProps & PlatformStackScreenOptionsProps; function TransactionReceipt({transaction, report, reportMetadata = {isLoadingInitialReportActions: true}, route}: TransactionReceiptProps) { const receiptURIs = ReceiptUtils.getThumbnailAndImageURIs(transaction); diff --git a/src/pages/UnlinkLoginPage.tsx b/src/pages/UnlinkLoginPage.tsx index eaa60824ab6a2..aa9b0b3872255 100644 --- a/src/pages/UnlinkLoginPage.tsx +++ b/src/pages/UnlinkLoginPage.tsx @@ -4,7 +4,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import usePrevious from '@hooks/usePrevious'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@navigation/types'; import * as Session from '@userActions/Session'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -16,7 +16,7 @@ type UnlinkLoginPageOnyxProps = { account: OnyxEntry; }; -type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & PlatformStackScreenProps; +type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & PlatformStackScreenOptionsProps; function UnlinkLoginPage({route, account}: UnlinkLoginPageProps) { const accountID = route.params.accountID ?? -1; diff --git a/src/pages/ValidateLoginPage/types.ts b/src/pages/ValidateLoginPage/types.ts index 47208eee2ebb1..044de8146a46a 100644 --- a/src/pages/ValidateLoginPage/types.ts +++ b/src/pages/ValidateLoginPage/types.ts @@ -1,5 +1,5 @@ import type {OnyxEntry} from 'react-native-onyx'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import type {Account, Credentials, Session} from '@src/types/onyx'; @@ -17,6 +17,6 @@ type ValidateLoginPageOnyxProps = ValidateLoginPageOnyxNativeProps & { credentials: OnyxEntry; }; -type ValidateLoginPageProps = OnyxProps & PlatformStackScreenProps; +type ValidateLoginPageProps = OnyxProps & PlatformStackScreenOptionsProps; export type {ValidateLoginPageOnyxNativeProps, ValidateLoginPageOnyxProps, ValidateLoginPageProps}; diff --git a/src/pages/home/ReportScreen.tsx b/src/pages/home/ReportScreen.tsx index b930e1b92fa40..069a316437068 100644 --- a/src/pages/home/ReportScreen.tsx +++ b/src/pages/home/ReportScreen.tsx @@ -29,7 +29,7 @@ import useViewportOffsetTop from '@hooks/useViewportOffsetTop'; import useWindowDimensions from '@hooks/useWindowDimensions'; import Timing from '@libs/actions/Timing'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import clearReportNotifications from '@libs/Notification/clearReportNotifications'; import Performance from '@libs/Performance'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -89,7 +89,7 @@ type OnyxHOCProps = { markReadyForHydration?: () => void; }; -type ReportScreenNavigationProps = PlatformStackScreenProps; +type ReportScreenNavigationProps = PlatformStackScreenOptionsProps; type ReportScreenPropsWithoutParentReportAction = OnyxHOCProps & CurrentReportIDContextValue & ReportScreenOnyxPropsWithoutParentReportAction & ReportScreenNavigationProps; diff --git a/src/pages/home/report/ReportAttachments.tsx b/src/pages/home/report/ReportAttachments.tsx index 7e33b7047cc5b..23f1eff879264 100644 --- a/src/pages/home/report/ReportAttachments.tsx +++ b/src/pages/home/report/ReportAttachments.tsx @@ -3,13 +3,13 @@ import AttachmentModal from '@components/AttachmentModal'; import type {Attachment} from '@components/Attachments/types'; import ComposerFocusManager from '@libs/ComposerFocusManager'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportAttachmentsProps = PlatformStackScreenProps; +type ReportAttachmentsProps = PlatformStackScreenOptionsProps; function ReportAttachments({route}: ReportAttachmentsProps) { const reportID = route.params.reportID; diff --git a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx index 59e8a30dbd774..7a845ecddcce6 100644 --- a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx +++ b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx @@ -8,7 +8,7 @@ import withWindowDimensions from '@components/withWindowDimensions'; import type {WindowDimensionsProps} from '@components/withWindowDimensions/types'; import compose from '@libs/compose'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList, SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -46,7 +46,7 @@ type OnyxProps = { type WithReportAndReportActionOrNotFoundProps = OnyxProps & WindowDimensionsProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; export default function ( WrappedComponent: ComponentType>, diff --git a/src/pages/iou/MoneyRequestWaypointPage.tsx b/src/pages/iou/MoneyRequestWaypointPage.tsx index f9b78d77b81e0..e742a9c5d4c16 100644 --- a/src/pages/iou/MoneyRequestWaypointPage.tsx +++ b/src/pages/iou/MoneyRequestWaypointPage.tsx @@ -1,6 +1,6 @@ import React from 'react'; import {withOnyx} from 'react-native-onyx'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; @@ -9,7 +9,7 @@ import IOURequestStepWaypoint from './request/step/IOURequestStepWaypoint'; type MoneyRequestWaypointPageOnyxProps = { transactionID: string | undefined; }; -type MoneyRequestWaypointPageProps = PlatformStackScreenProps & MoneyRequestWaypointPageOnyxProps; +type MoneyRequestWaypointPageProps = PlatformStackScreenOptionsProps & MoneyRequestWaypointPageOnyxProps; // This component is responsible for grabbing the transactionID from the IOU key // You can't use Onyx props in the withOnyx mapping, so we need to set up and access the transactionID here, and then pass it down so that WaypointEditor can subscribe to the transaction. diff --git a/src/pages/iou/SplitBillDetailsPage.tsx b/src/pages/iou/SplitBillDetailsPage.tsx index 1275452ebd05d..9946068e11bc8 100644 --- a/src/pages/iou/SplitBillDetailsPage.tsx +++ b/src/pages/iou/SplitBillDetailsPage.tsx @@ -9,7 +9,7 @@ import MoneyRequestHeaderStatusBar from '@components/MoneyRequestHeaderStatusBar import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -51,7 +51,7 @@ type SplitBillDetailsPageOnyxProps = SplitBillDetailsPageTransactionOnyxProps & type SplitBillDetailsPageProps = WithReportAndReportActionOrNotFoundProps & SplitBillDetailsPageOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function SplitBillDetailsPage({personalDetails, report, route, reportActions, transaction, draftTransaction, session}: SplitBillDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/AboutPage/ShareLogPage.tsx b/src/pages/settings/AboutPage/ShareLogPage.tsx index ad4006b06e034..64fca1496422d 100644 --- a/src/pages/settings/AboutPage/ShareLogPage.tsx +++ b/src/pages/settings/AboutPage/ShareLogPage.tsx @@ -1,10 +1,10 @@ import React from 'react'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import ShareLogList from './ShareLogList'; -type ShareLogPageProps = PlatformStackScreenProps; +type ShareLogPageProps = PlatformStackScreenOptionsProps; function ShareLogPage({route}: ShareLogPageProps) { return ; diff --git a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx index 81c95b243157b..7172f60649503 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx @@ -12,7 +12,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -31,7 +31,7 @@ type ExitSurveyConfirmPageOnyxProps = { isLoading: OnyxEntry; }; -type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & PlatformStackScreenProps; +type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & PlatformStackScreenOptionsProps; function ExitSurveyConfirmPage({exitReason, isLoading, route, navigation}: ExitSurveyConfirmPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx index 8ade6b1703951..9f28445e89c07 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx @@ -16,7 +16,7 @@ import useSafeAreaInsets from '@hooks/useSafeAreaInsets'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import Navigation from '@navigation/Navigation'; @@ -35,7 +35,7 @@ type ExitSurveyResponsePageOnyxProps = { draftResponse: string; }; -type ExitSurveyResponsePageProps = ExitSurveyResponsePageOnyxProps & PlatformStackScreenProps; +type ExitSurveyResponsePageProps = ExitSurveyResponsePageOnyxProps & PlatformStackScreenOptionsProps; function ExitSurveyResponsePage({draftResponse, route, navigation}: ExitSurveyResponsePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx index 58780d63f5d4d..4ce9f8b58351d 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx @@ -21,7 +21,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {canUseTouchScreen} from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import * as User from '@userActions/User'; @@ -41,7 +41,7 @@ const policiesSelector = (policy: OnyxEntry): Pick; +type ContactMethodDetailsPageProps = PlatformStackScreenOptionsProps; function ContactMethodDetailsPage({route}: ContactMethodDetailsPageProps) { const [loginList, loginListResult] = useOnyx(ONYXKEYS.LOGIN_LIST); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx index 5fec33ce4a155..79aee2186fd03 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx @@ -15,7 +15,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -32,7 +32,7 @@ type ContactMethodsPageOnyxProps = { session: OnyxEntry; }; -type ContactMethodsPageProps = ContactMethodsPageOnyxProps & PlatformStackScreenProps; +type ContactMethodsPageProps = ContactMethodsPageOnyxProps & PlatformStackScreenOptionsProps; function ContactMethodsPage({loginList, session, route}: ContactMethodsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx index 8edcc669be86d..a57e42fb37cea 100644 --- a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx +++ b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx @@ -16,7 +16,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as User from '@userActions/User'; import CONST from '@src/CONST'; @@ -32,7 +32,7 @@ type NewContactMethodPageOnyxProps = { loginList: OnyxEntry; }; -type NewContactMethodPageProps = NewContactMethodPageOnyxProps & PlatformStackScreenProps; +type NewContactMethodPageProps = NewContactMethodPageOnyxProps & PlatformStackScreenOptionsProps; const addNewContactMethod = (values: FormOnyxValues) => { const phoneLogin = LoginUtils.getPhoneLogin(values.phoneOrEmail); diff --git a/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx b/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx index f40405d2e1a6d..a48b13e6fc46c 100644 --- a/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx @@ -9,7 +9,7 @@ import useGeographicalStateFromRoute from '@hooks/useGeographicalStateFromRoute' import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetails from '@userActions/PersonalDetails'; import type {FormOnyxValues} from '@src/components/Form/types'; @@ -27,7 +27,7 @@ type AddressPageOnyxProps = { isLoadingApp: OnyxEntry; }; -type AddressPageProps = PlatformStackScreenProps & AddressPageOnyxProps; +type AddressPageProps = PlatformStackScreenOptionsProps & AddressPageOnyxProps; /** * Submit form to update user's first and last legal name diff --git a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx index 44e61bc7b3189..fc8a250ca1441 100644 --- a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx @@ -5,7 +5,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type {CountryData} from '@libs/searchCountryOptions'; import searchCountryOptions from '@libs/searchCountryOptions'; @@ -15,7 +15,7 @@ import type {TranslationPaths} from '@src/languages/types'; import type {Route} from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type CountrySelectionPageProps = PlatformStackScreenProps; +type CountrySelectionPageProps = PlatformStackScreenOptionsProps; function CountrySelectionPage({route, navigation}: CountrySelectionPageProps) { const [searchValue, setSearchValue] = useState(''); diff --git a/src/pages/settings/Profile/ProfileAvatar.tsx b/src/pages/settings/Profile/ProfileAvatar.tsx index ebec25da7a636..0601c427a30e7 100644 --- a/src/pages/settings/Profile/ProfileAvatar.tsx +++ b/src/pages/settings/Profile/ProfileAvatar.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -19,7 +19,7 @@ type ProfileAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type ProfileAvatarProps = ProfileAvatarOnyxProps & PlatformStackScreenProps; +type ProfileAvatarProps = ProfileAvatarOnyxProps & PlatformStackScreenOptionsProps; function ProfileAvatar({route, personalDetails, personalDetailsMetadata, isLoadingApp = true}: ProfileAvatarProps) { const personalDetail = personalDetails?.[route.params.accountID]; diff --git a/src/pages/settings/Report/NotificationPreferencePage.tsx b/src/pages/settings/Report/NotificationPreferencePage.tsx index 108b6576ad96d..2200c616dafbf 100644 --- a/src/pages/settings/Report/NotificationPreferencePage.tsx +++ b/src/pages/settings/Report/NotificationPreferencePage.tsx @@ -5,7 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -14,7 +14,7 @@ import * as ReportActions from '@userActions/Report'; import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type NotificationPreferencePageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type NotificationPreferencePageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; function NotificationPreferencePage({report}: NotificationPreferencePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Report/ReportSettingsPage.tsx b/src/pages/settings/Report/ReportSettingsPage.tsx index 8248687921243..2b1c99200443c 100644 --- a/src/pages/settings/Report/ReportSettingsPage.tsx +++ b/src/pages/settings/Report/ReportSettingsPage.tsx @@ -11,7 +11,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ReportSettingsPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportSettingsPageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; function ReportSettingsPage({report, policies}: ReportSettingsPageProps) { const reportID = report?.reportID ?? ''; diff --git a/src/pages/settings/Report/RoomNamePage.tsx b/src/pages/settings/Report/RoomNamePage.tsx index f3ae524cc1548..922432e7366d3 100644 --- a/src/pages/settings/Report/RoomNamePage.tsx +++ b/src/pages/settings/Report/RoomNamePage.tsx @@ -15,7 +15,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; @@ -37,7 +37,7 @@ type RoomNamePageOnyxProps = { policy: OnyxEntry; }; -type RoomNamePageProps = RoomNamePageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenProps; +type RoomNamePageProps = RoomNamePageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; function RoomNamePage({report, policy, reports}: RoomNamePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Report/VisibilityPage.tsx b/src/pages/settings/Report/VisibilityPage.tsx index b53d10b5a5e15..c05d82398fe1c 100644 --- a/src/pages/settings/Report/VisibilityPage.tsx +++ b/src/pages/settings/Report/VisibilityPage.tsx @@ -6,7 +6,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportSettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {WithReportOrNotFoundProps} from '@pages/home/report/withReportOrNotFound'; @@ -16,7 +16,7 @@ import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; import type {RoomVisibility} from '@src/types/onyx/Report'; -type VisibilityProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type VisibilityProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; function VisibilityPage({report}: VisibilityProps) { const [showConfirmModal, setShowConfirmModal] = useState(false); diff --git a/src/pages/settings/Report/WriteCapabilityPage.tsx b/src/pages/settings/Report/WriteCapabilityPage.tsx index 6b3dd77a94e88..38a2f0ab48f42 100644 --- a/src/pages/settings/Report/WriteCapabilityPage.tsx +++ b/src/pages/settings/Report/WriteCapabilityPage.tsx @@ -8,7 +8,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -27,7 +27,7 @@ type WriteCapabilityPageOnyxProps = { type WriteCapabilityPageProps = WriteCapabilityPageOnyxProps & WithReportOrNotFoundProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function WriteCapabilityPage({report, policy}: WriteCapabilityPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Security/CloseAccountPage.tsx b/src/pages/settings/Security/CloseAccountPage.tsx index dc67f04303d5e..4516f53cfee67 100644 --- a/src/pages/settings/Security/CloseAccountPage.tsx +++ b/src/pages/settings/Security/CloseAccountPage.tsx @@ -14,7 +14,7 @@ import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import * as CloseAccount from '@userActions/CloseAccount'; @@ -30,7 +30,7 @@ type CloseAccountPageOnyxProps = { session: OnyxEntry; }; -type CloseAccountPageProps = CloseAccountPageOnyxProps & PlatformStackScreenProps; +type CloseAccountPageProps = CloseAccountPageOnyxProps & PlatformStackScreenOptionsProps; function CloseAccountPage({session}: CloseAccountPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx index 791a3054f3d8b..4638add5c6b9d 100644 --- a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx +++ b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx @@ -18,7 +18,7 @@ import * as CardUtils from '@libs/CardUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as CardSettings from '@userActions/Card'; @@ -34,7 +34,7 @@ type ActivatePhysicalCardPageOnyxProps = { cardList: OnyxEntry>; }; -type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & PlatformStackScreenProps; +type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & PlatformStackScreenOptionsProps; const LAST_FOUR_DIGITS_LENGTH = 4; const MAGIC_INPUT_MIN_HEIGHT = 86; diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx index 5636358dfe6fb..102ad35f2474a 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx @@ -4,7 +4,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import AddressForm from '@components/AddressForm'; import useLocalize from '@hooks/useLocalize'; import * as FormActions from '@libs/actions/FormActions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; @@ -18,7 +18,7 @@ type GetPhysicalCardAddressOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & PlatformStackScreenOptionsProps; function GetPhysicalCardAddress({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx index 9fcca69a611da..ed8801628fd3e 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx @@ -7,7 +7,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -34,7 +34,7 @@ type GetPhysicalCardConfirmOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & PlatformStackScreenOptionsProps; function GetPhysicalCardConfirm({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx index f9a62195f81f0..780709c578dff 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx @@ -5,7 +5,7 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -26,7 +26,7 @@ type GetPhysicalCardNameOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & PlatformStackScreenOptionsProps; function GetPhysicalCardName({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx index d2eeb0d59c618..e2b6e7b4b7260 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx @@ -5,7 +5,7 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import * as LoginUtils from '@libs/LoginUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -24,7 +24,7 @@ type GetPhysicalCardPhoneOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & PlatformStackScreenOptionsProps; function GetPhysicalCardPhone({ route: { diff --git a/src/pages/settings/Wallet/ExpensifyCardPage.tsx b/src/pages/settings/Wallet/ExpensifyCardPage.tsx index 4dac01544b23b..63d7cf6cbddcc 100644 --- a/src/pages/settings/Wallet/ExpensifyCardPage.tsx +++ b/src/pages/settings/Wallet/ExpensifyCardPage.tsx @@ -19,7 +19,7 @@ import * as CardUtils from '@libs/CardUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as GetPhysicalCardUtils from '@libs/GetPhysicalCardUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -49,7 +49,7 @@ type ExpensifyCardPageOnyxProps = { loginList: OnyxEntry; }; -type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & PlatformStackScreenProps; +type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & PlatformStackScreenOptionsProps; function ExpensifyCardPage({ cardList, diff --git a/src/pages/settings/Wallet/ReportCardLostPage.tsx b/src/pages/settings/Wallet/ReportCardLostPage.tsx index 585518fd59f26..9258506a12239 100644 --- a/src/pages/settings/Wallet/ReportCardLostPage.tsx +++ b/src/pages/settings/Wallet/ReportCardLostPage.tsx @@ -13,7 +13,7 @@ import usePrevious from '@hooks/usePrevious'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -61,7 +61,7 @@ type ReportCardLostPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportCardLostPageProps = ReportCardLostPageOnyxProps & PlatformStackScreenProps; +type ReportCardLostPageProps = ReportCardLostPageOnyxProps & PlatformStackScreenOptionsProps; function ReportCardLostPage({ privatePersonalDetails = { diff --git a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx index 1b8eb22ac6496..3170a20085dae 100644 --- a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx +++ b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx @@ -12,7 +12,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -31,7 +31,7 @@ type ReportVirtualCardFraudPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & PlatformStackScreenProps; +type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & PlatformStackScreenOptionsProps; function ReportVirtualCardFraudPage({ route: { diff --git a/src/pages/tasks/NewTaskDescriptionPage.tsx b/src/pages/tasks/NewTaskDescriptionPage.tsx index 8bef635dec641..c901021acd9e2 100644 --- a/src/pages/tasks/NewTaskDescriptionPage.tsx +++ b/src/pages/tasks/NewTaskDescriptionPage.tsx @@ -14,7 +14,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import * as TaskActions from '@userActions/Task'; @@ -30,7 +30,7 @@ type NewTaskDescriptionPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & PlatformStackScreenProps; +type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & PlatformStackScreenOptionsProps; const parser = new ExpensiMark(); diff --git a/src/pages/tasks/NewTaskDetailsPage.tsx b/src/pages/tasks/NewTaskDetailsPage.tsx index 50fb856103bc5..f15b566642e75 100644 --- a/src/pages/tasks/NewTaskDetailsPage.tsx +++ b/src/pages/tasks/NewTaskDetailsPage.tsx @@ -14,7 +14,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import playSound, {SOUNDS} from '@libs/Sound'; import * as TaskActions from '@userActions/Task'; @@ -30,7 +30,7 @@ type NewTaskDetailsPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & PlatformStackScreenProps; +type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & PlatformStackScreenOptionsProps; const parser = new ExpensiMark(); diff --git a/src/pages/tasks/NewTaskPage.tsx b/src/pages/tasks/NewTaskPage.tsx index f0f12d4776c86..5498efb5a77ee 100644 --- a/src/pages/tasks/NewTaskPage.tsx +++ b/src/pages/tasks/NewTaskPage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as LocalePhoneNumber from '@libs/LocalePhoneNumber'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -36,7 +36,7 @@ type NewTaskPageOnyxProps = { reports: OnyxCollection; }; -type NewTaskPageProps = NewTaskPageOnyxProps & PlatformStackScreenProps; +type NewTaskPageProps = NewTaskPageOnyxProps & PlatformStackScreenOptionsProps; function NewTaskPage({task, reports, personalDetails}: NewTaskPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/NewTaskTitlePage.tsx b/src/pages/tasks/NewTaskTitlePage.tsx index f71f20257fff4..b5562a978be54 100644 --- a/src/pages/tasks/NewTaskTitlePage.tsx +++ b/src/pages/tasks/NewTaskTitlePage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as TaskActions from '@userActions/Task'; import CONST from '@src/CONST'; @@ -27,7 +27,7 @@ type NewTaskTitlePageOnyxProps = { /** Task Creation Data */ task: OnyxEntry; }; -type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & PlatformStackScreenProps; +type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & PlatformStackScreenOptionsProps; function NewTaskTitlePage({task}: NewTaskTitlePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/wallet/WalletStatementPage.tsx b/src/pages/wallet/WalletStatementPage.tsx index 915df16305fdf..0cbe411c565f7 100644 --- a/src/pages/wallet/WalletStatementPage.tsx +++ b/src/pages/wallet/WalletStatementPage.tsx @@ -14,7 +14,7 @@ import DateUtils from '@libs/DateUtils'; import fileDownload from '@libs/fileDownload'; import Growl from '@libs/Growl'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WalletStatementNavigatorParamList} from '@navigation/types'; import * as User from '@userActions/User'; import CONFIG from '@src/CONFIG'; @@ -27,7 +27,7 @@ type WalletStatementOnyxProps = { walletStatement: OnyxEntry; }; -type WalletStatementPageProps = WalletStatementOnyxProps & PlatformStackScreenProps; +type WalletStatementPageProps = WalletStatementOnyxProps & PlatformStackScreenOptionsProps; function WalletStatementPage({walletStatement, route}: WalletStatementPageProps) { const themePreference = useThemePreference(); diff --git a/src/pages/workspace/WorkspaceAvatar.tsx b/src/pages/workspace/WorkspaceAvatar.tsx index fff2b9c19ddb4..adafbf1ca5b3b 100644 --- a/src/pages/workspace/WorkspaceAvatar.tsx +++ b/src/pages/workspace/WorkspaceAvatar.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -16,7 +16,7 @@ type WorkspaceAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & PlatformStackScreenProps; +type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & PlatformStackScreenOptionsProps; function WorkspaceAvatar({policy, isLoadingApp = true}: WorkspaceAvatarProps) { const avatarURL = policy?.avatar ?? '' ? policy?.avatar ?? '' : ReportUtils.getDefaultWorkspaceAvatar(policy?.name ?? ''); diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index 0dc95b072b36e..c5e8f6a9520cc 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -20,7 +20,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWaitForNavigation from '@hooks/useWaitForNavigation'; import getTopmostWorkspacesCentralPaneName from '@libs/Navigation/getTopmostWorkspacesCentralPaneName'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import {getDefaultWorkspaceAvatar} from '@libs/ReportUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; @@ -71,7 +71,7 @@ type WorkspaceInitialPageOnyxProps = { type WorkspaceInitialPageProps = WithPolicyAndFullscreenLoadingProps & WorkspaceInitialPageOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function dismissError(policyID: string) { PolicyUtils.goBackFromInvalidPolicy(); diff --git a/src/pages/workspace/WorkspaceInviteMessagePage.tsx b/src/pages/workspace/WorkspaceInviteMessagePage.tsx index 6a955419908f7..3a9391528eba3 100644 --- a/src/pages/workspace/WorkspaceInviteMessagePage.tsx +++ b/src/pages/workspace/WorkspaceInviteMessagePage.tsx @@ -22,7 +22,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; @@ -54,7 +54,7 @@ type WorkspaceInviteMessagePageOnyxProps = { type WorkspaceInviteMessagePageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & WorkspaceInviteMessagePageOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; const parser = new ExpensiMark(); diff --git a/src/pages/workspace/WorkspaceInvitePage.tsx b/src/pages/workspace/WorkspaceInvitePage.tsx index dd513b621e47f..72cf706d29fd5 100644 --- a/src/pages/workspace/WorkspaceInvitePage.tsx +++ b/src/pages/workspace/WorkspaceInvitePage.tsx @@ -18,7 +18,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {MemberForList} from '@libs/OptionsListUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -50,7 +50,7 @@ type WorkspaceInvitePageOnyxProps = { type WorkspaceInvitePageProps = WithPolicyAndFullscreenLoadingProps & WithNavigationTransitionEndProps & WorkspaceInvitePageOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function WorkspaceInvitePage({route, betas, invitedEmailsToAccountIDsDraft, policy, isLoadingReportData = true}: WorkspaceInvitePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/WorkspaceJoinUserPage.tsx b/src/pages/workspace/WorkspaceJoinUserPage.tsx index 9e62a8d66071a..b67192f907dd6 100644 --- a/src/pages/workspace/WorkspaceJoinUserPage.tsx +++ b/src/pages/workspace/WorkspaceJoinUserPage.tsx @@ -5,7 +5,7 @@ import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import navigateAfterJoinRequest from '@libs/navigateAfterJoinRequest'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; import * as PolicyAction from '@userActions/Policy'; @@ -20,7 +20,7 @@ type WorkspaceJoinUserPageOnyxProps = { policy: OnyxEntry; }; -type WorkspaceJoinUserPageRoute = {route: PlatformStackScreenProps['route']}; +type WorkspaceJoinUserPageRoute = {route: PlatformStackScreenOptionsProps['route']}; type WorkspaceJoinUserPageProps = WorkspaceJoinUserPageRoute & WorkspaceJoinUserPageOnyxProps; let isJoinLinkUsed = false; diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index e60bebbcca056..260c7b0a41700 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -31,7 +31,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -58,7 +58,7 @@ type WorkspaceMembersPageOnyxProps = { type WorkspaceMembersPageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & WorkspaceMembersPageOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; /** * Inverts an object, equivalent of _.invert diff --git a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx index 5a4910f5c340c..386908c755781 100644 --- a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx +++ b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx @@ -11,7 +11,7 @@ import useNetwork from '@hooks/useNetwork'; import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as Policy from '@userActions/Policy'; import type {TranslationPaths} from '@src/languages/types'; @@ -24,7 +24,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscree import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading'; import ToggleSettingOptionRow from './workflows/ToggleSettingsOptionRow'; -type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; type Item = { icon: IconAsset; diff --git a/src/pages/workspace/bills/WorkspaceBillsPage.tsx b/src/pages/workspace/bills/WorkspaceBillsPage.tsx index 702f85152680a..cfcc3ec576be1 100644 --- a/src/pages/workspace/bills/WorkspaceBillsPage.tsx +++ b/src/pages/workspace/bills/WorkspaceBillsPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceBillsNoVBAView from './WorkspaceBillsNoVBAView'; import WorkspaceBillsVBAView from './WorkspaceBillsVBAView'; -type WorkspaceBillsPageProps = PlatformStackScreenProps; +type WorkspaceBillsPageProps = PlatformStackScreenOptionsProps; function WorkspaceBillsPage({route}: WorkspaceBillsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/card/WorkspaceCardPage.tsx b/src/pages/workspace/card/WorkspaceCardPage.tsx index 99f195a9d54bd..50e93096ee7e9 100644 --- a/src/pages/workspace/card/WorkspaceCardPage.tsx +++ b/src/pages/workspace/card/WorkspaceCardPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -12,7 +12,7 @@ import WorkspaceCardNoVBAView from './WorkspaceCardNoVBAView'; import WorkspaceCardVBANoECardView from './WorkspaceCardVBANoECardView'; import WorkspaceCardVBAWithECardView from './WorkspaceCardVBAWithECardView'; -type WorkspaceCardPageProps = PlatformStackScreenProps; +type WorkspaceCardPageProps = PlatformStackScreenOptionsProps; function WorkspaceCardPage({route}: WorkspaceCardPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/categories/CategorySettingsPage.tsx b/src/pages/workspace/categories/CategorySettingsPage.tsx index 7a856f98332f5..4743f5e70720e 100644 --- a/src/pages/workspace/categories/CategorySettingsPage.tsx +++ b/src/pages/workspace/categories/CategorySettingsPage.tsx @@ -16,7 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {setWorkspaceCategoryEnabled} from '@libs/actions/Policy'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type CategorySettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type CategorySettingsPageProps = CategorySettingsPageOnyxProps & PlatformStackScreenProps; +type CategorySettingsPageProps = CategorySettingsPageOnyxProps & PlatformStackScreenOptionsProps; function CategorySettingsPage({route, policyCategories}: CategorySettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/CreateCategoryPage.tsx b/src/pages/workspace/categories/CreateCategoryPage.tsx index 9cb8f19cce13b..57078a4f98b30 100644 --- a/src/pages/workspace/categories/CreateCategoryPage.tsx +++ b/src/pages/workspace/categories/CreateCategoryPage.tsx @@ -7,7 +7,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -24,7 +24,7 @@ type WorkspaceCreateCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & PlatformStackScreenProps; +type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & PlatformStackScreenOptionsProps; function CreateCategoryPage({route, policyCategories}: CreateCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/EditCategoryPage.tsx b/src/pages/workspace/categories/EditCategoryPage.tsx index 2eeeea5070651..3a5df14c07b7c 100644 --- a/src/pages/workspace/categories/EditCategoryPage.tsx +++ b/src/pages/workspace/categories/EditCategoryPage.tsx @@ -7,7 +7,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ type WorkspaceEditCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & PlatformStackScreenProps; +type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & PlatformStackScreenOptionsProps; function EditCategoryPage({route, policyCategories}: EditCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx index 94dc48be74987..eaf8fd1513b34 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx @@ -26,7 +26,7 @@ import {deleteWorkspaceCategories, setWorkspaceCategoryEnabled} from '@libs/acti import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -53,7 +53,7 @@ type WorkspaceCategoriesOnyxProps = { policyCategories: OnyxEntry; }; -type WorkspaceCategoriesPageProps = WorkspaceCategoriesOnyxProps & PlatformStackScreenProps; +type WorkspaceCategoriesPageProps = WorkspaceCategoriesOnyxProps & PlatformStackScreenOptionsProps; function WorkspaceCategoriesPage({policy, policyCategories, route}: WorkspaceCategoriesPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx index d591505001133..64c520cbf8b16 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx @@ -10,7 +10,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setWorkspaceRequiresCategory} from '@libs/actions/Policy'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -26,7 +26,7 @@ type WorkspaceCategoriesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type WorkspaceCategoriesSettingsPageProps = WorkspaceCategoriesSettingsPageOnyxProps & PlatformStackScreenProps; +type WorkspaceCategoriesSettingsPageProps = WorkspaceCategoriesSettingsPageOnyxProps & PlatformStackScreenOptionsProps; function WorkspaceCategoriesSettingsPage({route, policyCategories}: WorkspaceCategoriesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx index 3e7004f21e022..3d17086736ad5 100644 --- a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx +++ b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx @@ -10,7 +10,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {getOptimisticRateName, validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -29,7 +29,7 @@ type CreateDistanceRatePageOnyxProps = { policy: OnyxEntry; }; -type CreateDistanceRatePageProps = CreateDistanceRatePageOnyxProps & PlatformStackScreenProps; +type CreateDistanceRatePageProps = CreateDistanceRatePageOnyxProps & PlatformStackScreenOptionsProps; function CreateDistanceRatePage({policy, route}: CreateDistanceRatePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx index 6a10a6dc10390..7ec6f3fe4ce30 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx @@ -16,7 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type PolicyDistanceRateDetailsPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & PlatformStackScreenOptionsProps; function PolicyDistanceRateDetailsPage({policy, route}: PolicyDistanceRateDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx index 22dd4e01af25d..8ffbafa02ce70 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx @@ -12,7 +12,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ type PolicyDistanceRateEditPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateEditPageProps = PolicyDistanceRateEditPageOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRateEditPageProps = PolicyDistanceRateEditPageOnyxProps & PlatformStackScreenOptionsProps; function PolicyDistanceRateEditPage({policy, route}: PolicyDistanceRateEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx index 54aa72d7814f6..10b851383ed79 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx @@ -23,7 +23,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -44,7 +44,7 @@ type PolicyDistanceRatesPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRatesPageProps = PolicyDistanceRatesPageOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRatesPageProps = PolicyDistanceRatesPageOnyxProps & PlatformStackScreenOptionsProps; function PolicyDistanceRatesPage({policy, route}: PolicyDistanceRatesPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx index 9183b08608519..8ef68569873f1 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx @@ -10,7 +10,7 @@ import type {UnitItemType} from '@components/UnitPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -33,7 +33,8 @@ type PolicyDistanceRatesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & + PlatformStackScreenOptionsProps; function PolicyDistanceRatesSettingsPage({policy, policyCategories, route}: PolicyDistanceRatesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx index 71abf7ea7132d..bf2101ca09012 100644 --- a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx +++ b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceInvoicesNoVBAView from './WorkspaceInvoicesNoVBAView'; import WorkspaceInvoicesVBAView from './WorkspaceInvoicesVBAView'; -type WorkspaceInvoicesPageProps = PlatformStackScreenProps; +type WorkspaceInvoicesPageProps = PlatformStackScreenOptionsProps; function WorkspaceInvoicesPage({route}: WorkspaceInvoicesPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx index 26fbdc5e59c7c..7b78c4d920d21 100644 --- a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx +++ b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx @@ -17,7 +17,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as UserUtils from '@libs/UserUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -40,7 +40,7 @@ type WorkspacePolicyOnyxProps = { type WorkspaceMemberDetailsPageProps = Omit & WorkspacePolicyOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceMemberDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx index 41b718792e9d8..70ab6d5ef9d3f 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx @@ -10,7 +10,7 @@ import Text from '@components/Text'; import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -20,7 +20,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; +type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenOptionsProps; function WorkspaceOwnerChangeErrorPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx index 3b201a8920e7b..cf1cd9596a26f 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx @@ -5,7 +5,7 @@ import LottieAnimations from '@components/LottieAnimations'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -14,7 +14,7 @@ import * as PolicyActions from '@userActions/Policy'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; +type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenOptionsProps; function WorkspaceOwnerChangeSuccessPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx index a264cd0e25927..9a5f1e6f4d645 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx @@ -6,7 +6,7 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -20,7 +20,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceOwnerChangeCheck from './WorkspaceOwnerChangeCheck'; import WorkspaceOwnerPaymentCardForm from './WorkspaceOwnerPaymentCardForm'; -type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & PlatformStackScreenProps; +type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & PlatformStackScreenOptionsProps; function WorkspaceOwnerChangeWrapperPage({route, policy}: WorkspaceOwnerChangeWrapperPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx b/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx index 38f066876d8ef..69c31619f1ccf 100644 --- a/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx +++ b/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx @@ -11,7 +11,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import getPermittedDecimalSeparator from '@libs/getPermittedDecimalSeparator'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -27,7 +27,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {Unit} from '@src/types/onyx/Policy'; -type WorkspaceRateAndUnitPageProps = WithPolicyProps & PlatformStackScreenProps; +type WorkspaceRateAndUnitPageProps = WithPolicyProps & PlatformStackScreenOptionsProps; type ValidationError = {rate?: TranslationPaths | undefined}; diff --git a/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx b/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx index 084141ab368a4..8e7e6f5a9f46e 100644 --- a/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx +++ b/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx @@ -1,6 +1,6 @@ import React from 'react'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; import withPolicy from '@pages/workspace/withPolicy'; @@ -9,7 +9,7 @@ import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; import WorkspaceReimburseView from './WorkspaceReimburseView'; -type WorkspaceReimbursePageProps = WithPolicyProps & PlatformStackScreenProps; +type WorkspaceReimbursePageProps = WithPolicyProps & PlatformStackScreenOptionsProps; function WorkspaceReimbursePage({route, policy}: WorkspaceReimbursePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/tags/EditTagPage.tsx b/src/pages/workspace/tags/EditTagPage.tsx index 03a1c81719a5a..3b52e5c22cc51 100644 --- a/src/pages/workspace/tags/EditTagPage.tsx +++ b/src/pages/workspace/tags/EditTagPage.tsx @@ -12,7 +12,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -31,7 +31,7 @@ type EditTagPageOnyxProps = { policyTags: OnyxEntry; }; -type EditTagPageProps = EditTagPageOnyxProps & PlatformStackScreenProps; +type EditTagPageProps = EditTagPageOnyxProps & PlatformStackScreenOptionsProps; function EditTagPage({route, policyTags}: EditTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/TagSettingsPage.tsx b/src/pages/workspace/tags/TagSettingsPage.tsx index c0f8ceefb49a8..c9c01b9bf4650 100644 --- a/src/pages/workspace/tags/TagSettingsPage.tsx +++ b/src/pages/workspace/tags/TagSettingsPage.tsx @@ -16,7 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {setWorkspaceTagEnabled} from '@libs/actions/Policy'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -35,7 +35,7 @@ type TagSettingsPageOnyxProps = { policyTags: OnyxEntry; }; -type TagSettingsPageProps = TagSettingsPageOnyxProps & PlatformStackScreenProps; +type TagSettingsPageProps = TagSettingsPageOnyxProps & PlatformStackScreenOptionsProps; function TagSettingsPage({route, policyTags}: TagSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx index 3c8d2e7953970..5e35a699af53e 100644 --- a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx +++ b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -32,7 +32,7 @@ type WorkspaceCreateTagPageOnyxProps = { policyTags: OnyxEntry; }; -type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & PlatformStackScreenProps; +type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & PlatformStackScreenOptionsProps; function CreateTagPage({route, policyTags}: CreateTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx index efb13e710fbd8..ebbb79875905c 100644 --- a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ type WorkspaceEditTagsPageOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & PlatformStackScreenProps; +type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & PlatformStackScreenOptionsProps; const validateTagName = (values: FormOnyxValues) => { const errors: FormInputErrors = {}; diff --git a/src/pages/workspace/tags/WorkspaceTagsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsPage.tsx index 877da930fd9e6..bfd71f4b59ea8 100644 --- a/src/pages/workspace/tags/WorkspaceTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsPage.tsx @@ -26,7 +26,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -60,7 +60,7 @@ type WorkspaceTagsOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceTagsPageProps = WorkspaceTagsOnyxProps & PlatformStackScreenProps; +type WorkspaceTagsPageProps = WorkspaceTagsOnyxProps & PlatformStackScreenOptionsProps; function WorkspaceTagsPage({policyTags, route}: WorkspaceTagsPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx index 6cfe9d2ef0499..cc9a8bbf6e0b0 100644 --- a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -28,7 +28,7 @@ type WorkspaceTagsSettingsPageOnyxProps = { /** Collection of tags attached to a policy */ policyTags: OnyxEntry; }; -type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & PlatformStackScreenProps; +type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & PlatformStackScreenOptionsProps; function WorkspaceTagsSettingsPage({route, policyTags}: WorkspaceTagsSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/taxes/NamePage.tsx b/src/pages/workspace/taxes/NamePage.tsx index a484e26b6ca49..48202d2508727 100644 --- a/src/pages/workspace/taxes/NamePage.tsx +++ b/src/pages/workspace/taxes/NamePage.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {renamePolicyTax, validateTaxName} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -27,7 +27,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxNameForm'; -type NamePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type NamePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; const parser = new ExpensiMark(); diff --git a/src/pages/workspace/taxes/ValuePage.tsx b/src/pages/workspace/taxes/ValuePage.tsx index 168cd23a53d76..6a2e19264746a 100644 --- a/src/pages/workspace/taxes/ValuePage.tsx +++ b/src/pages/workspace/taxes/ValuePage.tsx @@ -11,7 +11,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {updatePolicyTaxValue, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -26,7 +26,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxValueForm'; -type ValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; function ValuePage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx index c84cd9adb8b22..1d5cfcb25b522 100644 --- a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {createPolicyTax, getNextTaxCode, getTaxValueWithPercentage, validateTaxName, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceNewTaxForm'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; function WorkspaceCreateTaxPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx index ae5c6c838669f..fb61822759d71 100644 --- a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx @@ -15,7 +15,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {clearTaxRateFieldError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs/actions/TaxRate'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -28,7 +28,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; function WorkspaceEditTaxPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx index 3c763f3c154df..104694cfbc63d 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx @@ -24,7 +24,7 @@ import {clearTaxRateError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -37,7 +37,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; function WorkspaceTaxesPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx index ab15e94add6a4..89b3fc71dc56d 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx @@ -11,7 +11,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setPolicyCustomTaxName} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -27,7 +27,7 @@ import INPUT_IDS from '@src/types/form/WorkspaceTaxCustomName'; import type {WorkspaceTaxCustomName} from '@src/types/form/WorkspaceTaxCustomName'; type WorkspaceTaxesSettingsCustomTaxNameProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function WorkspaceTaxesSettingsCustomTaxName({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx index 0670c5682cb66..be899ce2eabf0 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx @@ -7,7 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setForeignCurrencyDefault} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsForeignCurrencyProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function WorkspaceTaxesSettingsForeignCurrency({ route: { params: {policyID}, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx index ebc32b2f47f24..a1500e5c64f27 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx @@ -8,7 +8,7 @@ import ScrollView from '@components/ScrollView'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -19,7 +19,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; function WorkspaceTaxesSettingsPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx index 5e9b27ca7a530..e40d7fbcae9c7 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx @@ -7,7 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setWorkspaceCurrencyDefault} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsWorkspaceCurrencyProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; function WorkspaceTaxesSettingsWorkspaceCurrency({ route: { diff --git a/src/pages/workspace/travel/WorkspaceTravelPage.tsx b/src/pages/workspace/travel/WorkspaceTravelPage.tsx index 72bfb6cb924fe..a5cbf9aae5160 100644 --- a/src/pages/workspace/travel/WorkspaceTravelPage.tsx +++ b/src/pages/workspace/travel/WorkspaceTravelPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceTravelNoVBAView from './WorkspaceTravelNoVBAView'; import WorkspaceTravelVBAView from './WorkspaceTravelVBAView'; -type WorkspaceTravelPageProps = PlatformStackScreenProps; +type WorkspaceTravelPageProps = PlatformStackScreenOptionsProps; function WorkspaceTravelPage({route}: WorkspaceTravelPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx index d80cf676953ac..10ce8353eef35 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx @@ -12,7 +12,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as Localize from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -28,7 +28,7 @@ type AutoReportingFrequencyKey = Exclude; type WorkspaceAutoReportingFrequencyPageProps = WithPolicyOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; type WorkspaceAutoReportingFrequencyPageItem = { text: string; diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx index 26dfa84520f4b..09787ce3ccb35 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx @@ -7,7 +7,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -21,7 +21,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; const DAYS_OF_MONTH = 28; type WorkspaceAutoReportingMonthlyOffsetProps = WithPolicyOnyxProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; type AutoReportingOffsetKeys = ValueOf; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx index 4637ed01727b8..890801b3f80a8 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx @@ -15,7 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -37,7 +37,7 @@ type WorkspaceWorkflowsApproverPageOnyxProps = { type WorkspaceWorkflowsApproverPageProps = WorkspaceWorkflowsApproverPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index 0efa55022cfe0..ae477c4244235 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -15,7 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Permissions from '@libs/Permissions'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -40,7 +40,9 @@ type WorkspaceWorkflowsPageOnyxProps = { /** Beta features list */ betas: OnyxEntry; }; -type WorkspaceWorkflowsPageProps = WithPolicyProps & WorkspaceWorkflowsPageOnyxProps & PlatformStackScreenProps; +type WorkspaceWorkflowsPageProps = WithPolicyProps & + WorkspaceWorkflowsPageOnyxProps & + PlatformStackScreenOptionsProps; function WorkspaceWorkflowsPage({policy, betas, route}: WorkspaceWorkflowsPageProps) { const {translate, preferredLocale} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx index e16f9d4ea841c..52d3a9c76eb41 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx @@ -15,7 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -38,7 +38,7 @@ type WorkspaceWorkflowsPayerPageOnyxProps = { type WorkspaceWorkflowsPayerPageProps = WorkspaceWorkflowsPayerPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + PlatformStackScreenOptionsProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/tests/perf-test/ReportScreen.perf-test.tsx b/tests/perf-test/ReportScreen.perf-test.tsx index 8dd728899e6fb..8833ff80f96ec 100644 --- a/tests/perf-test/ReportScreen.perf-test.tsx +++ b/tests/perf-test/ReportScreen.perf-test.tsx @@ -6,7 +6,7 @@ import type Animated from 'react-native-reanimated'; import {measurePerformance} from 'reassure'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; import type Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import ComposeProviders from '@src/components/ComposeProviders'; import DragAndDropProvider from '@src/components/DragAndDrop/Provider'; @@ -34,7 +34,7 @@ import * as TestHelper from '../utils/TestHelper'; import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; -type ReportScreenWrapperProps = PlatformStackScreenProps; +type ReportScreenWrapperProps = PlatformStackScreenOptionsProps; jest.mock('react-native-reanimated', () => { const actualNav = jest.requireActual('react-native-reanimated/mock'); diff --git a/tests/perf-test/SearchPage.perf-test.tsx b/tests/perf-test/SearchPage.perf-test.tsx index 9b67f234c030d..ddf324eb8d1d6 100644 --- a/tests/perf-test/SearchPage.perf-test.tsx +++ b/tests/perf-test/SearchPage.perf-test.tsx @@ -10,7 +10,7 @@ import {LocaleContextProvider} from '@components/LocaleContextProvider'; import OptionListContextProvider, {OptionsListContext} from '@components/OptionListContextProvider'; import {KeyboardStateProvider} from '@components/withKeyboardState'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import {createOptionList} from '@libs/OptionsListUtils'; import ChatFinderPage from '@pages/ChatFinderPage'; @@ -126,7 +126,7 @@ afterEach(() => { PusherHelper.teardown(); }); -type ChatFinderPageProps = PlatformStackScreenProps & { +type ChatFinderPageProps = PlatformStackScreenOptionsProps & { betas: OnyxEntry; reports: OnyxCollection; isSearchingForReports: OnyxEntry; From 57a325052467147ced8c609b8cda2f138b12a521 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 19 Apr 2024 17:04:08 +0200 Subject: [PATCH 055/178] play around with animations --- .../Navigation/AppNavigator/ModalNavigatorScreenOptions.ts | 1 + .../Navigation/AppNavigator/getRootNavigatorScreenOptions.ts | 4 ++-- .../AppNavigator/leftModalNavigatorOptions/index.native.ts | 1 + .../AppNavigator/leftModalNavigatorOptions/index.ts | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index 9d3a6f2675992..423c1b482302f 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -10,6 +10,7 @@ import type {ThemeStyles} from '@styles/index'; const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles): PlatformStackNavigationOptions => ({ headerShown: false, cardStyle: themeStyles.navigationScreenCardStyle, + animation: 'slide_from_left', cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, }); diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 4e43d060ec6b8..6a0d89f2fad52 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -103,7 +103,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, ...hideKeyboardOnSwipe, title: CONFIG.SITE_TITLE, - animationEnabled: isSmallScreenWidth, + animation: isSmallScreenWidth ? 'none' : undefined, cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), @@ -124,7 +124,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...(isSmallScreenWidth ? {} : themeStyles.borderRight), }, }, - }; + } satisfies ScreenOptions; }; export default getRootNavigatorScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts index 4d8219a323016..71645e81908a2 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -1,6 +1,7 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const leftModalNavigatorOptions: PlatformStackNavigationOptions = { + presentation: 'transparentModal', animation: 'slide_from_left', customAnimationOnGesture: true, }; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts index 71645e81908a2..7a06b0a216e79 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts @@ -3,7 +3,7 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac const leftModalNavigatorOptions: PlatformStackNavigationOptions = { presentation: 'transparentModal', animation: 'slide_from_left', - customAnimationOnGesture: true, + // customAnimationOnGesture: true, }; export default leftModalNavigatorOptions; From 5acaa451ed67e09bc9b85324c7659559e38d587b Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 10:42:46 +0200 Subject: [PATCH 056/178] update patch --- patches/@react-navigation+core+6.4.11.patch | 478 ++++++++++++-------- 1 file changed, 290 insertions(+), 188 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch index c444da8bb66b9..e5236306cbf44 100644 --- a/patches/@react-navigation+core+6.4.11.patch +++ b/patches/@react-navigation+core+6.4.11.patch @@ -1,102 +1,132 @@ -diff --git a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js -index e73a338..d34ed47 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js -+++ b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js -@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = createNavigatorFactory; -+var React = _interopRequireWildcard(require("react")); - var _Group = _interopRequireDefault(require("./Group")); - var _Screen = _interopRequireDefault(require("./Screen")); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -+function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -+function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -+function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - /** - * Higher order component to create a `Navigator` and `Screen` pair. - * Custom navigators should wrap the navigator component in `createNavigator` before exporting. -@@ -14,15 +18,24 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de - * @param Navigator The navigtor component to wrap. - * @returns Factory method to create a `Navigator` and `Screen` pair. +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +index 14338b9..ce42362 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js ++++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +@@ -43,7 +43,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != + * + * @param children React Elements to extract the config from. */ --function createNavigatorFactory(Navigator) { -+function createNavigatorFactory(Navigator, transformScreenOptions) { - return function () { - if (arguments[0] !== undefined) { - throw new Error("Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides."); +-const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { ++const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { + const configs = React.Children.toArray(children).reduce((acc, child) => { + var _child$type, _child$props; + if ( /*#__PURE__*/React.isValidElement(child)) { +@@ -54,10 +54,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + if (!isValidKey(child.props.navigationKey)) { + throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); + } ++ const props = transformScreenOptions === undefined ? child.props : { ++ ...child.props, ++ options: transformScreenOptions(child.props.options) ++ }; + acc.push({ + keys: [groupKey, child.props.navigationKey], + options: groupOptions, +- props: child.props ++ props: props + }); + return acc; + } +@@ -68,7 +72,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + + // When we encounter a fragment or group, we need to dive into its children to extract the configs + // This is handy to conditionally define a group of screens +- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); + return acc; + } } -+ const TransformedScreen = transformScreenOptions === undefined ? _Screen.default : _ref => { -+ let { -+ options, -+ ...props -+ } = _ref; -+ return /*#__PURE__*/React.createElement(_Screen.default, _extends({ -+ options: transformScreenOptions(options) -+ }, props)); -+ }; - return { - Navigator, - Group: _Group.default, -- Screen: _Screen.default -+ Screen: TransformedScreen - }; - }; - } -diff --git a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map -index e5c26f6..d7156c8 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/createNavigatorFactory.js.map +@@ -129,7 +133,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-function useNavigationBuilder(createRouter, options) { ++function useNavigationBuilder(createRouter, options, transformScreenOptions) { + const navigatorKey = (0, _useRegisterNavigator.default)(); + const route = React.useContext(_NavigationRouteContext.default); + const { +@@ -145,7 +149,7 @@ function useNavigationBuilder(createRouter, options) { + initialRouteName: route.params.screen + } : null) + })); +- const routeConfigs = getRouteConfigsFromChildren(children); ++ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, transformScreenOptions); + const screens = routeConfigs.reduce((acc, config) => { + if (config.props.name in acc) { + throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +index 55b77ca..179519a 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ --{"version":3,"names":["createNavigatorFactory","Navigator","arguments","undefined","Error","Group","Screen"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;;;;;AAGA;AACA;AAA8B;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAsB,CAK5CC,SAA6B,EAAE;EAC/B,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,OAAO;MACLH,SAAS;MACTI,KAAK,EAALA,cAAK;MACLC,MAAM,EAANA;IACF,CAAC;EACH,CAAC;AACH"} -\ No newline at end of file -+{"version":3,"names":["createNavigatorFactory","Navigator","transformScreenOptions","arguments","undefined","Error","TransformedScreen","Screen","options","props","Group"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";;;;;;AACA;AAEA;AACA;AAA8B;AAAA;AAAA;AAAA;AAG9B;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAsB,CAO5CC,SAA6B,EAC7BC,sBAA6E,EAC7E;EACA,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,MAAMC,iBAAiB,GACrBJ,sBAAsB,KAAKE,SAAS,GAChCG,eAAM,GACN,QASM;MAAA,IAT8B;QAClCC,OAAO;QACP,GAAGC;MAOL,CAAC;MACC,oBACE,oBAAC,eAAM;QACL,OAAO,EAAEP,sBAAsB,CAC7BM,OAAO;MACP,GACEC,KAAK,EACT;IAEN,CAAC;IAEP,OAAO;MACLR,SAAS;MACTS,KAAK,EAALA,cAAK;MACLH,MAAM,EAAED;IACV,CAAC;EACH,CAAC;AACH"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js -index f6f02ca..0836dfb 100644 ---- a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js -+++ b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js -@@ -1,3 +1,5 @@ -+function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } -+import * as React from 'react'; - import Group from './Group'; - import Screen from './Screen'; - /** -@@ -7,15 +9,24 @@ import Screen from './Screen'; - * @param Navigator The navigtor component to wrap. - * @returns Factory method to create a `Navigator` and `Screen` pair. +-{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":";;;;;;AAAA;AAYA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoD;AAAA;AAAA;AAEpD;AACA;AACAA,wBAAiB;AAwDjB,MAAMC,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAG,CAMlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,EACZC,sBAKC,KACE;EACH,MAAMC,OAAO,GAAGC,KAAK,CAACC,QAAQ,CAACC,OAAO,CAACP,QAAQ,CAAC,CAACQ,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIL,KAAK,CAACM,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAKC,eAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACjB,UAAU,CAACc,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDR,KAAK,CAACI,KAAK,CAACC,aAAa,CACzB,qBACAL,KAAK,CAACI,KAAK,CAACK,IACb,kDAAiD,CACnD;QACH;QAEA,MAAML,KAAK,GACTX,sBAAsB,KAAKL,SAAS,GAChCY,KAAK,CAACI,KAAK,GACX;UACE,GAAGJ,KAAK,CAACI,KAAK;UACdM,OAAO,EAAEjB,sBAAsB,CAACO,KAAK,CAACI,KAAK,CAACM,OAAO;QACrD,CAAC;QAEPX,GAAG,CAACY,IAAI,CAAC;UACPC,IAAI,EAAE,CAACrB,QAAQ,EAAES,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC;UAC3CK,OAAO,EAAElB,YAAY;UACrBY,KAAK,EAAEA;QAOT,CAAC,CAAC;QACF,OAAOL,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKP,KAAK,CAACkB,QAAQ,IAAIb,KAAK,CAACE,IAAI,KAAKY,cAAK,EAAE;QACzD,IAAI,CAAC5B,UAAU,CAACc,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDR,KAAK,CAACI,KAAK,CAACC,aAAa,CACzB,gEAA+D,CAClE;QACH;;QAEA;QACA;QACAN,GAAG,CAACY,IAAI,CACN,GAAGtB,2BAA2B,CAC5BW,KAAK,CAACI,KAAK,CAACd,QAAQ,EACpBU,KAAK,CAACI,KAAK,CAACC,aAAa,EACzBL,KAAK,CAACE,IAAI,KAAKY,cAAK,GAChBtB,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEQ,KAAK,CAACI,KAAK,CAACW,aAAa,CAAC,GAC5C,CAACf,KAAK,CAACI,KAAK,CAACW,aAAa,CAAC,EAC/BtB,sBAAsB,CACvB,CACF;QACD,OAAOM,GAAG;MACZ;IACF;IAEA,MAAM,IAAIO,KAAK,CACZ,oGACC,aAAAX,KAAK,CAACM,cAAc,CAACD,KAAK,CAAC,GACtB,IACC,OAAOA,KAAK,CAACE,IAAI,KAAK,QAAQ,GAAGF,KAAK,CAACE,IAAI,kBAAGF,KAAK,CAACE,IAAI,gDAAV,YAAYO,IAC3D,IACCT,KAAK,CAACI,KAAK,IAAI,IAAI,IACnB,OAAOJ,KAAK,CAACI,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIJ,KAAK,CAACI,KAAK,oBACrBJ,KAAK,CAACI,KAAK,yCAAX,aAAaK,IAAI,GACZ,oBAAmBT,KAAK,CAACI,KAAK,CAACK,IAAK,GAAE,GACvC,EACL,EAAC,GACF,OAAOT,KAAK,KAAK,QAAQ,GACzBO,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC,GACpB,IAAGgB,MAAM,CAAChB,KAAK,CAAE,GACvB,4FAA2F,CAC7F;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIiB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCzB,OAAO,CAAC0B,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEZ,IAAI;QAAEnB,QAAQ;QAAEgC,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAACjB,KAAK;MAEhE,IAAI,OAAOK,IAAI,KAAK,QAAQ,IAAI,CAACA,IAAI,EAAE;QACrC,MAAM,IAAIH,KAAK,CACZ,wBAAuBC,IAAI,CAACC,SAAS,CACpCC,IAAI,CACJ,kDAAiD,CACpD;MACH;MAEA,IACEnB,QAAQ,IAAI,IAAI,IAChBgC,SAAS,KAAKlC,SAAS,IACvBmC,YAAY,KAAKnC,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAIgC,SAAS,KAAKlC,SAAS,EAAE;UAC/C,MAAM,IAAIkB,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAInB,QAAQ,IAAI,IAAI,IAAIiC,YAAY,KAAKnC,SAAS,EAAE;UAClD,MAAM,IAAIkB,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIa,SAAS,KAAKlC,SAAS,IAAImC,YAAY,KAAKnC,SAAS,EAAE;UACzD,MAAM,IAAIkB,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAInB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIgB,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIa,SAAS,KAAKlC,SAAS,IAAI,CAAC,IAAAoC,2BAAkB,EAACF,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIhB,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIc,YAAY,KAAKnC,SAAS,IAAI,OAAOmC,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIjB,KAAK,CACZ,gEAA+DG,IAAK,uDAAsD,CAC5H;QACH;QAEA,IAAI,OAAOa,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAACb,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAgB,OAAO,CAACC,IAAI,CACT,qFAAoFjB,IAAK,uRAAsR,CACjX;UACH,CAAC,MAAM,IAAI,QAAQ,CAACkB,IAAI,CAACL,SAAS,CAACb,IAAI,CAAC,EAAE;YACxCgB,OAAO,CAACC,IAAI,CACT,kCAAiCJ,SAAS,CAACb,IAAK,qBAAoBA,IAAK,yMAAwM,CACnR;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAIH,KAAK,CACZ,kFAAiFG,IAAK,qLAAoL,CAC5Q;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOf,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASkC,oBAAoB,CAQ1CC,YAAsD,EACtDnB,OAOe,EACfjB,sBAKC,EACD;EACA,MAAMqC,YAAY,GAAG,IAAAC,6BAAoB,GAAE;EAE3C,MAAMC,KAAK,GAAGrC,KAAK,CAACsC,UAAU,CAACC,+BAAsB,CAExC;EAEb,MAAM;IAAE5C,QAAQ;IAAE6C,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAG1B,OAAO;EACtD,MAAM;IAAE2B,OAAO,EAAEC;EAAO,CAAC,GAAG3C,KAAK,CAAC4C,MAAM,CACtCV,YAAY,CAAC;IACX,GAAIO,IAAiC;IACrC,IAAIJ,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEQ,MAAM,IACjBR,KAAK,CAACQ,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BT,KAAK,CAACQ,MAAM,CAACE,OAAO,KAAK,KAAK,IAC9B,OAAOV,KAAK,CAACQ,MAAM,CAACG,MAAM,KAAK,QAAQ,GACnC;MAAEC,gBAAgB,EAAEZ,KAAK,CAACQ,MAAM,CAACG;IAAO,CAAC,GACzC,IAAI;EACV,CAAC,CAAC,CACH;EAED,MAAME,YAAY,GAAGxD,2BAA2B,CAI9CC,QAAQ,EAAEF,SAAS,EAAEA,SAAS,EAAEK,sBAAsB,CAAC;EAEzD,MAAMqD,OAAO,GAAGD,YAAY,CAAC/C,MAAM,CAEjC,CAACC,GAAG,EAAEsB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAACjB,KAAK,CAACK,IAAI,IAAIV,GAAG,EAAE;MAC5B,MAAM,IAAIO,KAAK,CACZ,6GAA4Ge,MAAM,CAACjB,KAAK,CAACK,IAAK,IAAG,CACnI;IACH;IAEAV,GAAG,CAACsB,MAAM,CAACjB,KAAK,CAACK,IAAI,CAAC,GAAGY,MAAM;IAC/B,OAAOtB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMgD,UAAU,GAAGF,YAAY,CAACG,GAAG,CAAE3B,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMwC,YAAY,GAAGF,UAAU,CAACjD,MAAM,CACpC,CAACC,GAAG,EAAEmD,IAAI,KAAK;IACbnD,GAAG,CAACmD,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACtC,IAAI,CAACoC,GAAG,CAAE7D,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACgE,IAAI,CAAC,GAAG,CAAC;IAChE,OAAOpD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMqD,cAAc,GAAGL,UAAU,CAACjD,MAAM,CACtC,CAACC,GAAG,EAAEmD,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC9C,KAAK;IAC7CL,GAAG,CAACmD,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOtD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMuD,cAAc,GAAGP,UAAU,CAACjD,MAAM,CAGtC,CAACC,GAAG,EAAEmD,IAAI,KACRK,MAAM,CAACC,MAAM,CAACzD,GAAG,EAAE;IACjB,CAACmD,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC9C,KAAK,CAACqD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIpD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMqD,YAAY,GAAGhE,KAAK,CAACiE,WAAW,CACnCnB,KAAsD,IACrDA,KAAK,CAACvC,IAAI,KAAKd,SAAS,IAAIqD,KAAK,CAACvC,IAAI,KAAKoC,MAAM,CAACpC,IAAI,EACxD,CAACoC,MAAM,CAACpC,IAAI,CAAC,CACd;EAED,MAAM2D,kBAAkB,GAAGlE,KAAK,CAACiE,WAAW,CACzCnB,KAAkE,IACjEA,KAAK,KAAKrD,SAAS,IAAIqD,KAAK,CAACqB,KAAK,KAAK,KAAK,IAAIH,YAAY,CAAClB,KAAK,CAAC,EACrE,CAACkB,YAAY,CAAC,CACf;EAED,MAAM;IACJlB,KAAK,EAAEsB,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAG3E,KAAK,CAACsC,UAAU,CAACsC,+BAAsB,CAAC;EAE5C,MAAMC,cAAc,GAAG7E,KAAK,CAAC4C,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMkC,YAAY,GAAG9E,KAAK,CAACiE,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAAC/E,SAAS,CAAC;IAC1BoF,cAAc,CAACnC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC8B,eAAe,CAAC,CAAC;EAErB,MAAMD,QAAQ,GAAGvE,KAAK,CAACiE,WAAW,CAC/BnB,KAAkE,IAAK;IACtE,IAAI+B,cAAc,CAACnC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA8B,eAAe,CAAC1B,KAAK,CAAC;EACxB,CAAC,EACD,CAAC0B,eAAe,CAAC,CAClB;EAED,MAAM,CAACO,gBAAgB,EAAEC,0BAA0B,CAAC,GAAGhF,KAAK,CAACiF,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG9B,UAAU,CAACjD,MAAM,CAE7C,CAACC,GAAG,EAAEmD,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC9C,KAAK;MAC7C,MAAM0E,uBAAuB,GAC3B,CAAA9C,KAAK,aAALA,KAAK,wCAALA,KAAK,CAAEQ,MAAM,kDAAb,cAAeC,KAAK,KAAI,IAAI,IAC5B,CAAAT,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeE,OAAO,MAAK,KAAK,IAChC,CAAAV,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeG,MAAM,MAAKO,IAAI,GAC1BlB,KAAK,CAACQ,MAAM,CAACA,MAAM,GACnBpD,SAAS;MAEfW,GAAG,CAACmD,IAAI,CAAC,GACPG,aAAa,KAAKjE,SAAS,IAAI0F,uBAAuB,KAAK1F,SAAS,GAChE;QACE,GAAGiE,aAAa;QAChB,GAAGyB;MACL,CAAC,GACD1F,SAAS;MAEf,OAAOW,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAACgE,YAAY,KAAK3E,SAAS,IAAI,CAACuE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA/B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACyC,eAAe,CAAC;QACrBhC,UAAU;QACVK,cAAc,EAAEyB,qBAAqB;QACrCvB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLhB,MAAM,CAAC0C,kBAAkB,CACvB,CAAAhD,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeC,KAAK,KAAKsB,YAAoC,EAC7D;QACEhB,UAAU;QACVK,cAAc,EAAEyB,qBAAqB;QACrCvB;MACF,CAAC,CACF,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACS,YAAY,EAAEzB,MAAM,EAAEqB,YAAY,CAAC,CAAC;EAExC,MAAMsB,uBAAuB,GAAGtF,KAAK,CAAC4C,MAAM,CAACU,YAAY,CAAC;EAE1DtD,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC5C,OAAO,GAAGY,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMkC,oBAAoB,GAAGF,uBAAuB,CAAC5C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAoB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZW,gBAA0B;EAEjC,IAAIU,SAAgB,GAAG3C,KAAK;EAE5B,IACE,CAAC,IAAA4C,qBAAY,EAAC5C,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC,IAAAuC,sBAAa,EAACrC,YAAY,EAAEkC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG9C,MAAM,CAACiD,2BAA2B,CAAC9C,KAAK,EAAE;MACpDM,UAAU;MACVK,cAAc;MACdE,cAAc;MACdkC,eAAe,EAAEjC,MAAM,CAAC3C,IAAI,CAACqC,YAAY,CAAC,CAACwC,MAAM,CAC9ChF,IAAI,IACH0E,oBAAoB,CAACO,cAAc,CAACjF,IAAI,CAAC,IACzCwC,YAAY,CAACxC,IAAI,CAAC,KAAK0E,oBAAoB,CAAC1E,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAMkF,uBAAuB,GAAGhG,KAAK,CAAC4C,MAAM,CAACP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM,CAAC;EAE3D7C,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBS,uBAAuB,CAACtD,OAAO,GAAGL,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM;EACjD,CAAC,EAAE,CAACR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM,CAAC,CAAC;EAEnB,IAAIR,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEQ,MAAM,EAAE;IACjB,MAAMoD,cAAc,GAAGD,uBAAuB,CAACtD,OAAO;IAEtD,IAAIwD,MAAwC;IAE5C,IACE,OAAO7D,KAAK,CAACQ,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCT,KAAK,CAACQ,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BT,KAAK,CAACQ,MAAM,KAAKoD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAGC,sBAAa,CAACC,KAAK,CAAC/D,KAAK,CAACQ,MAAM,CAACC,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAOT,KAAK,CAACQ,MAAM,CAACG,MAAM,KAAK,QAAQ,KACrCX,KAAK,CAACQ,MAAM,CAACE,OAAO,KAAK,KAAK,IAAIiC,0BAA0B,IAC5D3C,KAAK,CAACQ,MAAM,KAAKoD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAGC,sBAAa,CAACE,QAAQ,CAAC;QAC9BvF,IAAI,EAAEuB,KAAK,CAACQ,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAER,KAAK,CAACQ,MAAM,CAACA,MAAM;QAC3ByD,IAAI,EAAEjE,KAAK,CAACQ,MAAM,CAACyD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGL,MAAM,GACvBvD,MAAM,CAAC6D,iBAAiB,CAACf,SAAS,EAAES,MAAM,EAAE;MAC1C9C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER8B,SAAS,GACPc,YAAY,KAAK,IAAI,GACjB5D,MAAM,CAAC0C,kBAAkB,CAACkB,YAAY,EAAE;MACtCnD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF8B,SAAS;EACjB;EAEA,MAAMgB,YAAY,GAAG3D,KAAK,KAAK2C,SAAS;EAExC,IAAAiB,0BAAiB,EAAC,MAAM;IACtB,IAAID,YAAY,EAAE;MAChB;MACAlC,QAAQ,CAACkB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA3C,KAAK,GAAG2C,SAAS;EAEjBzF,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBd,MAAM,CAACtC,YAAY,CAAC;IAEpB,IAAI,CAACwC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACkB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAkB,UAAU,CAAC,MAAM;QACf,IAAIrC,eAAe,EAAE,KAAK7E,SAAS,IAAIiF,MAAM,EAAE,KAAKvC,YAAY,EAAE;UAChE2C,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM8B,mBAAmB,GAAG5G,KAAK,CAAC4C,MAAM,EAAS;EACjDgE,mBAAmB,CAAClE,OAAO,GAAGqC,gBAAgB;EAE9C,MAAMV,QAAQ,GAAGrE,KAAK,CAACiE,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZwC,mBAAmB,CAAClE,OAAiB;EAC5C,CAAC,EAAE,CAAC4B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAM2C,OAAO,GAAG,IAAAC,wBAAe,EAAuBC,CAAC,IAAK;IAC1D,IAAI3D,UAAU,GAAG,EAAE;IAEnB,IAAIf,KAAgC;IAEpC,IAAI0E,CAAC,CAACC,MAAM,EAAE;MAAA;MACZ3E,KAAK,GAAGS,KAAK,CAACmE,MAAM,CAACC,IAAI,CAAE7E,KAAK,IAAKA,KAAK,CAAC7C,GAAG,KAAKuH,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAI3E,KAAK,mCAAL,OAAOvB,IAAI,EAAE;QACfsC,UAAU,CAACpC,IAAI,CAACqB,KAAK,CAACvB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLuB,KAAK,GAAGS,KAAK,CAACmE,MAAM,CAACnE,KAAK,CAACqE,KAAK,CAAC;MACjC/D,UAAU,CAACpC,IAAI,CACb,GAAG4C,MAAM,CAAC3C,IAAI,CAACkC,OAAO,CAAC,CAAC2C,MAAM,CAAEhF,IAAI;QAAA;QAAA,OAAK,YAAAuB,KAAK,4CAAL,QAAOvB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIuB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAM+E,UAAU,GAAGC,WAAW,CAAChF,KAAK,CAAC7C,GAAG,CAAC,CAAC4H,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACD/E,eAAe,EACf,GAAGY,UAAU,CAACC,GAAG,CAAEvC,IAAI,IAAK;MAC1B,MAAM;QAAEwG;MAAU,CAAC,GAAGnE,OAAO,CAACrC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAO6G,SAAS;IAClB,CAAC,CAAC,CACH,CAACjE,GAAG,CAAEiE,SAAS,IAAK;MACnB,MAAMjE,GAAG,GACP,OAAOiE,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAEjF,KAAK,EAAEA,KAAY;QAAE+E;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAOjE,GAAG,GACNO,MAAM,CAAC3C,IAAI,CAACoC,GAAG,CAAC,CACbyC,MAAM,CAAEvF,IAAI,IAAKA,IAAI,KAAKwG,CAAC,CAACxG,IAAI,CAAC,CACjC8C,GAAG,CAAE9C,IAAI,IAAK8C,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAG9C,IAAI,CAAC,CAAC,GAC7Bd,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACCqG,MAAM,CAAC,CAAC0B,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAAC7F,OAAO,CAAEmG,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEF,IAAAc,uBAAc,EAAC;IAAE/E,KAAK;IAAE+D;EAAQ,CAAC,CAAC;EAElC7G,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBsB,OAAO,CAACiB,IAAI,CAAC;MAAEvH,IAAI,EAAE,OAAO;MAAEwH,IAAI,EAAE;QAAEjF;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC+D,OAAO,EAAE/D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEwE,SAAS,EAAEU,cAAc;IAAEC;EAAY,CAAC,GAAG,IAAAC,0BAAiB,GAAE;EAEtE,MAAM;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,+BAAsB,GAAE;EAErE,MAAMC,QAAQ,GAAG,IAAAC,oBAAW,EAAC;IAC3B5F,MAAM;IACN0B,QAAQ;IACRE,QAAQ;IACR/E,GAAG,EAAE6C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE7C,GAAG;IACfgJ,eAAe,EAAER,cAAc,CAAC9B,MAAM;IACtCuC,qBAAqB,EAAEN,cAAc,CAACO,YAAY;IAClDC,mBAAmB,EAAE;MACnBvF,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACDkD;EACF,CAAC,CAAC;EAEF,MAAM+B,YAAY,GAAG,IAAAC,wBAAe,EAAC;IACnClG,MAAM;IACNnD,GAAG,EAAE6C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE7C,GAAG;IACf6E,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAM6C,UAAU,GAAG,IAAA0B,6BAAoB,EAKrC;IACAC,EAAE,EAAEhI,OAAO,CAACgI,EAAE;IACdT,QAAQ;IACRjE,QAAQ;IACRwC,OAAO;IACPlE;EACF,CAAC,CAAC;EAEF,IAAAqG,2CAAkC,EAAC;IACjC5B,UAAU;IACV6B,gBAAgB,EAAEjB,cAAc,CAACkB;EACnC,CAAC,CAAC;EAEF,IAAAC,sBAAa,EAAC;IACZ9E,QAAQ;IACR+E,iBAAiB,EAAEjB,cAAc,CAAC9D;EACpC,CAAC,CAAC;EAEF,MAAMgD,WAAW,GAAG,IAAAgC,uBAAc,EAKhC;IACAvG,KAAK;IACLK,OAAO;IACPiE,UAAU;IACVhG,aAAa,EAAEL,OAAO,CAACK,aAAa;IACpCkI,oBAAoB,EAAEvI,OAAO,CAACuI,oBAAoB;IAClDhB,QAAQ;IACRjE,QAAQ;IACRE,QAAQ;IACRqE,YAAY;IACZX,WAAW;IACXG,gBAAgB;IAChBzF,MAAM;IACN;IACAkE;EACF,CAAC,CAAC;EAEF,IAAA0C,yBAAgB,EAAC;IACfzG,KAAK;IACLsE,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMmC,iBAAiB,GAAG,IAAAC,qBAAY,EAAE9J,QAAyB,iBAC/D,oBAAC,iCAAwB,CAAC,QAAQ;IAAC,KAAK,EAAEyH;EAAW,gBACnD,oBAAC,8BAAqB,QAAEzH,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACLmD,KAAK;IACLsE,UAAU;IACVC,WAAW;IACXmC;EACF,CAAC;AACH"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +index 051520b..3062a21 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +@@ -35,7 +35,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != + * + * @param children React Elements to extract the config from. */ --export default function createNavigatorFactory(Navigator) { -+export default function createNavigatorFactory(Navigator, transformScreenOptions) { - return function () { - if (arguments[0] !== undefined) { - throw new Error("Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides."); +-const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { ++const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { + const configs = React.Children.toArray(children).reduce((acc, child) => { + var _child$type, _child$props; + if ( /*#__PURE__*/React.isValidElement(child)) { +@@ -46,10 +46,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + if (!isValidKey(child.props.navigationKey)) { + throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); + } ++ const props = transformScreenOptions === undefined ? child.props : { ++ ...child.props, ++ options: transformScreenOptions(child.props.options) ++ }; + acc.push({ + keys: [groupKey, child.props.navigationKey], + options: groupOptions, +- props: child.props ++ props: props + }); + return acc; + } +@@ -60,7 +64,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + + // When we encounter a fragment or group, we need to dive into its children to extract the configs + // This is handy to conditionally define a group of screens +- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); + return acc; + } } -+ const TransformedScreen = transformScreenOptions === undefined ? Screen : _ref => { -+ let { -+ options, -+ ...props -+ } = _ref; -+ return /*#__PURE__*/React.createElement(Screen, _extends({ -+ options: transformScreenOptions(options) -+ }, props)); -+ }; - return { - Navigator, - Group, -- Screen -+ Screen: TransformedScreen - }; - }; - } -diff --git a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map -index 0054bc4..954b923 100644 ---- a/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map -+++ b/node_modules/@react-navigation/core/lib/module/createNavigatorFactory.js.map +@@ -121,7 +125,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-export default function useNavigationBuilder(createRouter, options) { ++export default function useNavigationBuilder(createRouter, options, transformScreenOptions) { + const navigatorKey = useRegisterNavigator(); + const route = React.useContext(NavigationRouteContext); + const { +@@ -137,7 +141,7 @@ export default function useNavigationBuilder(createRouter, options) { + initialRouteName: route.params.screen + } : null) + })); +- const routeConfigs = getRouteConfigsFromChildren(children); ++ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, transformScreenOptions); + const screens = routeConfigs.reduce((acc, config) => { + if (config.props.name in acc) { + throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +index 5d5cdbd..5dfa49a 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ --{"version":3,"names":["Group","Screen","createNavigatorFactory","Navigator","arguments","undefined","Error"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":"AAGA,OAAOA,KAAK,MAAM,SAAS;AAC3B,OAAOC,MAAM,MAAM,UAAU;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsB,CAK5CC,SAA6B,EAAE;EAC/B,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,OAAO;MACLH,SAAS;MACTH,KAAK;MACLC;IACF,CAAC;EACH,CAAC;AACH"} +-{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["React","Group","Screen","createNavigatorFactory","Navigator","transformScreenOptions","arguments","undefined","Error","TransformedScreen","options","props"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":";AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,MAAM,MAAM,UAAU;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsB,CAO5CC,SAA6B,EAC7BC,sBAA6E,EAC7E;EACA,OAAO,YAML;IACA,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;MAC9B,MAAM,IAAIC,KAAK,CACb,+LAA+L,CAChM;IACH;IAEA,MAAMC,iBAAiB,GACrBJ,sBAAsB,KAAKE,SAAS,GAChCL,MAAM,GACN,QASM;MAAA,IAT8B;QAClCQ,OAAO;QACP,GAAGC;MAOL,CAAC;MACC,oBACE,oBAAC,MAAM;QACL,OAAO,EAAEN,sBAAsB,CAC7BK,OAAO;MACP,GACEC,KAAK,EACT;IAEN,CAAC;IAEP,OAAO;MACLP,SAAS;MACTH,KAAK;MACLC,MAAM,EAAEO;IACV,CAAC;EACH,CAAC;AACH"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -478,110 +508,182 @@ index 0000000..0f1e440 @@ -0,0 +1 @@ +{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} \ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts -index 55a87da..89ab338 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts -@@ -1,5 +1,5 @@ - import type { NavigationState, ParamListBase } from '@react-navigation/routers'; --import type * as React from 'react'; -+import * as React from 'react'; - import type { EventMapBase, TypedNavigator } from './types'; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +index 53d474e..050b605 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +@@ -1,6 +1,6 @@ + import { DefaultRouterOptions, NavigationState, ParamListBase, PartialState, RouterFactory } from '@react-navigation/routers'; + import * as React from 'react'; +-import { DefaultNavigatorOptions, EventMapCore, PrivateValueStore, RouteProp } from './types'; ++import { DefaultNavigatorOptions, EventMapBase, EventMapCore, PrivateValueStore, RouteConfig, RouteProp } from './types'; + type NavigationBuilderOptions = { + /** + * Default options specified by the navigator. +@@ -12,6 +12,8 @@ type NavigationBuilderOptions = { + options: ScreenOptions; + }) => ScreenOptions); + }; ++type ScreenOptionsProp = RouteConfig['options']; ++type TransformScreenOptions, TransformedScreenOptions extends ScreenOptions = ScreenOptions> = (options: ScreenOptionsProp) => ScreenOptionsProp; /** - * Higher order component to create a `Navigator` and `Screen` pair. -@@ -8,5 +8,5 @@ import type { EventMapBase, TypedNavigator } from './types'; - * @param Navigator The navigtor component to wrap. - * @returns Factory method to create a `Navigator` and `Screen` pair. + * Hook for building navigators. + * +@@ -19,7 +21,7 @@ type NavigationBuilderOptions = { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. */ --export default function createNavigatorFactory>(Navigator: NavigatorComponent): () => TypedNavigator; -+export default function createNavigatorFactory, TransformedScreenOptions extends {} = ScreenOptions>(Navigator: NavigatorComponent, transformScreenOptions?: (options: ScreenOptions) => TransformedScreenOptions): () => TypedNavigator; - //# sourceMappingURL=createNavigatorFactory.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map -index 27faf3e..a0f9a20 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/createNavigatorFactory.d.ts.map +-export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { ++export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, TransformedScreenOptions extends ScreenOptions = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, transformScreenOptions?: TransformScreenOptions): { + state: State; + navigation: { + dispatch(action: Readonly<{ +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +index 33762f4..5484c68 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ --{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,kBAAkB,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACnD,SAAS,EAAE,kBAAkB,wHAoB9B"} -\ No newline at end of file -+{"version":3,"file":"createNavigatorFactory.d.ts","sourceRoot":"","sources":["../../../src/createNavigatorFactory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,YAAY,EAAe,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,kBAAkB,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EACnD,wBAAwB,SAAS,EAAE,GAAG,aAAa,EAEnD,SAAS,EAAE,kBAAkB,EAC7B,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,wBAAwB,wHA4C9E"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx b/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx -index e367956..50ce1c9 100644 ---- a/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx -+++ b/node_modules/@react-navigation/core/src/createNavigatorFactory.tsx -@@ -1,9 +1,9 @@ - import type { NavigationState, ParamListBase } from '@react-navigation/routers'; --import type * as React from 'react'; -+import * as React from 'react'; +-{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} +\ No newline at end of file ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAOF,KAAK,iBAAiB,CACpB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,WAAW,CACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC,SAAS,CAAC,CAAC;AAEb,KAAK,sBAAsB,CACzB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,aAAa,GAAG,aAAa,IAC5D,CAAC,SAAS,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,SAAS,EACrE,OAAO,EAAE,iBAAiB,CACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,CACV,KACE,iBAAiB,CACpB,KAAK,EACL,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;AAmMF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,aAAa,GAAG,aAAa,EAE9D,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa,EACf,sBAAsB,CAAC,EAAE,sBAAsB,CAC7C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0cF"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +index b1971ba..8dc3b8a 100644 +--- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx ++++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +@@ -68,6 +68,41 @@ type NavigatorRoute = { + params?: NavigatorScreenParams; + }; - import Group from './Group'; - import Screen from './Screen'; --import type { EventMapBase, TypedNavigator } from './types'; -+import type { EventMapBase, RouteConfig, TypedNavigator } from './types'; ++type ScreenOptionsProp< ++ State extends NavigationState, ++ ScreenOptions extends {}, ++ EventMap extends EventMapBase, ++ ParamList extends ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList ++> = RouteConfig< ++ ParamList, ++ RouteName, ++ State, ++ ScreenOptions, ++ EventMap ++>['options']; ++ ++type TransformScreenOptions< ++ State extends NavigationState, ++ ScreenOptions extends {}, ++ EventMap extends Record, ++ TransformedScreenOptions extends ScreenOptions = ScreenOptions ++> = ( ++ options: ScreenOptionsProp< ++ State, ++ ScreenOptions, ++ EventMap, ++ ParamList, ++ RouteName ++ > ++) => ScreenOptionsProp< ++ State, ++ TransformedScreenOptions, ++ EventMap, ++ ParamList, ++ RouteName ++>; ++ + const isValidKey = (key: unknown) => + key === undefined || (typeof key === 'string' && key !== ''); - /** - * Higher order component to create a `Navigator` and `Screen` pair. -@@ -16,8 +16,12 @@ export default function createNavigatorFactory< +@@ -79,7 +114,8 @@ const isValidKey = (key: unknown) => + const getRouteConfigsFromChildren = < State extends NavigationState, ScreenOptions extends {}, - EventMap extends EventMapBase, -- NavigatorComponent extends React.ComponentType -->(Navigator: NavigatorComponent) { -+ NavigatorComponent extends React.ComponentType, -+ TransformedScreenOptions extends {} = ScreenOptions, -+>( -+ Navigator: NavigatorComponent, -+ transformScreenOptions?: (options: ScreenOptions) => TransformedScreenOptions -+) { - return function (): TypedNavigator< - ParamList, +- EventMap extends EventMapBase ++ EventMap extends EventMapBase, ++ TransformedScreenOptions extends ScreenOptions = ScreenOptions + >( + children: React.ReactNode, + groupKey?: string, +@@ -87,7 +123,13 @@ const getRouteConfigsFromChildren = < State, -@@ -31,10 +35,33 @@ export default function createNavigatorFactory< - ); - } + ScreenOptions, + EventMap +- >['options'] ++ >['options'], ++ transformScreenOptions?: TransformScreenOptions< ++ State, ++ ScreenOptions, ++ EventMap, ++ TransformedScreenOptions ++ > + ) => { + const configs = React.Children.toArray(children).reduce< + ScreenConfigWithParent[] +@@ -107,14 +149,22 @@ const getRouteConfigsFromChildren = < + ); + } -+ const TransformedScreen = -+ transformScreenOptions === undefined -+ ? Screen -+ : ({ -+ options, -+ ...props -+ }: RouteConfig< -+ ParamList, -+ RouteName, -+ State, -+ ScreenOptions, -+ EventMap -+ >) => { -+ return ( -+ -+ ) as unknown as null; -+ }; ++ const props = ++ transformScreenOptions === undefined ++ ? child.props ++ : { ++ ...child.props, ++ options: transformScreenOptions(child.props.options), ++ }; + - return { - Navigator, - Group, -- Screen, -+ Screen: TransformedScreen, - }; - }; - } -diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index b1971ba..8e688db 100644 ---- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -+++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -49,7 +49,7 @@ import useScheduleUpdate from './useScheduleUpdate'; - // eslint-disable-next-line babel/no-unused-expressions - PrivateValueStore; + acc.push({ + keys: [groupKey, child.props.navigationKey], + options: groupOptions, +- props: child.props as RouteConfig< ++ props: props as RouteConfig< + ParamListBase, + string, + State, +- ScreenOptions, ++ TransformedScreenOptions, + EventMap + >, + }); +@@ -140,7 +190,8 @@ const getRouteConfigsFromChildren = < + ? groupOptions + : groupOptions != null + ? [...groupOptions, child.props.screenOptions] +- : [child.props.screenOptions] ++ : [child.props.screenOptions], ++ transformScreenOptions + ) + ); + return acc; +@@ -257,7 +308,8 @@ export default function useNavigationBuilder< + RouterOptions extends DefaultRouterOptions, + ActionHelpers extends Record void>, + ScreenOptions extends {}, +- EventMap extends Record ++ EventMap extends Record, ++ TransformedScreenOptions extends ScreenOptions = ScreenOptions + >( + createRouter: RouterFactory, + options: DefaultNavigatorOptions< +@@ -267,7 +319,13 @@ export default function useNavigationBuilder< + EventMap + > & + NavigationBuilderOptions & +- RouterOptions ++ RouterOptions, ++ transformScreenOptions?: TransformScreenOptions< ++ State, ++ ScreenOptions, ++ EventMap, ++ TransformedScreenOptions ++ > + ) { + const navigatorKey = useRegisterNavigator(); + +@@ -292,7 +350,7 @@ export default function useNavigationBuilder< + State, + ScreenOptions, + EventMap +- >(children); ++ >(children, undefined, undefined, transformScreenOptions); --type NavigationBuilderOptions = { -+export type NavigationBuilderOptions = { - /** - * Default options specified by the navigator. - * It receives the custom options in the arguments if a function is specified. + const screens = routeConfigs.reduce< + Record> From a34607606530069d87d4e164732c63166952de46 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 11:10:09 +0200 Subject: [PATCH 057/178] fix: patch --- patches/@react-navigation+core+6.4.11.patch | 140 ++++++++++++++------ 1 file changed, 103 insertions(+), 37 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch index e5236306cbf44..27e29484545a3 100644 --- a/patches/@react-navigation+core+6.4.11.patch +++ b/patches/@react-navigation+core+6.4.11.patch @@ -1,5 +1,5 @@ diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..ce42362 100644 +index 14338b9..57e1fa2 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js @@ -43,7 +43,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != @@ -23,7 +23,7 @@ index 14338b9..ce42362 100644 keys: [groupKey, child.props.navigationKey], options: groupOptions, - props: child.props -+ props: props ++ props }); return acc; } @@ -55,16 +55,16 @@ index 14338b9..ce42362 100644 if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..179519a 100644 +index 55b77ca..de10a37 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 051520b..3062a21 100644 +index 051520b..01247b9 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js @@ -35,7 +35,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != @@ -88,7 +88,7 @@ index 051520b..3062a21 100644 keys: [groupKey, child.props.navigationKey], options: groupOptions, - props: child.props -+ props: props ++ props }); return acc; } @@ -120,13 +120,13 @@ index 051520b..3062a21 100644 if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..5dfa49a 100644 +index 5d5cdbd..2cb1aaf 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -509,7 +509,7 @@ index 0000000..0f1e440 +{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 53d474e..050b605 100644 +index 53d474e..87c846d 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts @@ -1,6 +1,6 @@ @@ -525,7 +525,7 @@ index 53d474e..050b605 100644 }) => ScreenOptions); }; +type ScreenOptionsProp = RouteConfig['options']; -+type TransformScreenOptions, TransformedScreenOptions extends ScreenOptions = ScreenOptions> = (options: ScreenOptionsProp) => ScreenOptionsProp; ++type TransformScreenOptions, TransformedScreenOptions extends {} = ScreenOptions> = (options: ScreenOptionsProp) => ScreenOptionsProp; /** * Hook for building navigators. * @@ -534,21 +534,39 @@ index 53d474e..050b605 100644 * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { -+export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, TransformedScreenOptions extends ScreenOptions = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, transformScreenOptions?: TransformScreenOptions): { ++export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, TransformedScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, transformScreenOptions?: TransformScreenOptions): { state: State; navigation: { dispatch(action: Readonly<{ +@@ -118,7 +120,7 @@ export default function useNavigationBuilder & import("./types").EventEmitter & { + setParams(params: Partial): void; + } & ActionHelpers; +- descriptors: Record, {}, {}> | undefined>(id?: string | undefined): T_1; + setParams(params: Partial): void; +- setOptions(options: Partial): void; ++ setOptions(options: Partial): void; + } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp>>; + NavigationContent: ({ children }: { + children: React.ReactNode; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..5484c68 100644 +index 33762f4..8370e58 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAOF,KAAK,iBAAiB,CACpB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,WAAW,CACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC,SAAS,CAAC,CAAC;AAEb,KAAK,sBAAsB,CACzB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,aAAa,GAAG,aAAa,IAC5D,CAAC,SAAS,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,SAAS,EACrE,OAAO,EAAE,iBAAiB,CACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,CACV,KACE,iBAAiB,CACpB,KAAK,EACL,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;AAmMF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,aAAa,GAAG,aAAa,EAE9D,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa,EACf,sBAAsB,CAAC,EAAE,sBAAsB,CAC7C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0cF"} ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAOF,KAAK,iBAAiB,CACpB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,WAAW,CACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC,SAAS,CAAC,CAAC;AAEb,KAAK,sBAAsB,CACzB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,IACjD,CAAC,SAAS,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,SAAS,EACrE,OAAO,EAAE,iBAAiB,CACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,CACV,KACE,iBAAiB,CACpB,KAAK,EACL,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;AAwMF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,EAEnD,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,QAAQ,CACT,GACC,wBAAwB,CAAC,wBAAwB,CAAC,GAClD,aAAa,EACf,sBAAsB,CAAC,EAAE,sBAAsB,CAC7C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8cF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index b1971ba..8dc3b8a 100644 +index b1971ba..05d3976 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx @@ -68,6 +68,41 @@ type NavigatorRoute = { @@ -573,7 +591,7 @@ index b1971ba..8dc3b8a 100644 + State extends NavigationState, + ScreenOptions extends {}, + EventMap extends Record, -+ TransformedScreenOptions extends ScreenOptions = ScreenOptions ++ TransformedScreenOptions extends {} = ScreenOptions +> = ( + options: ScreenOptionsProp< + State, @@ -593,19 +611,20 @@ index b1971ba..8dc3b8a 100644 const isValidKey = (key: unknown) => key === undefined || (typeof key === 'string' && key !== ''); -@@ -79,7 +114,8 @@ const isValidKey = (key: unknown) => +@@ -79,18 +114,25 @@ const isValidKey = (key: unknown) => const getRouteConfigsFromChildren = < State extends NavigationState, ScreenOptions extends {}, - EventMap extends EventMapBase + EventMap extends EventMapBase, -+ TransformedScreenOptions extends ScreenOptions = ScreenOptions ++ TransformedScreenOptions extends {} = ScreenOptions >( children: React.ReactNode, groupKey?: string, -@@ -87,7 +123,13 @@ const getRouteConfigsFromChildren = < + groupOptions?: ScreenConfigWithParent< State, - ScreenOptions, +- ScreenOptions, ++ TransformedScreenOptions, EventMap - >['options'] + >['options'], @@ -617,12 +636,22 @@ index b1971ba..8dc3b8a 100644 + > ) => { const configs = React.Children.toArray(children).reduce< - ScreenConfigWithParent[] -@@ -107,14 +149,22 @@ const getRouteConfigsFromChildren = < +- ScreenConfigWithParent[] ++ ScreenConfigWithParent[] + >((acc, child) => { + if (React.isValidElement(child)) { + if (child.type === Screen) { +@@ -107,16 +149,24 @@ const getRouteConfigsFromChildren = < ); } -+ const props = ++ const props: RouteConfig< ++ ParamListBase, ++ keyof ParamListBase, ++ State, ++ TransformedScreenOptions, ++ EventMap ++ > = + transformScreenOptions === undefined + ? child.props + : { @@ -634,16 +663,30 @@ index b1971ba..8dc3b8a 100644 keys: [groupKey, child.props.navigationKey], options: groupOptions, - props: child.props as RouteConfig< -+ props: props as RouteConfig< - ParamListBase, - string, - State, +- ParamListBase, +- string, +- State, - ScreenOptions, -+ TransformedScreenOptions, - EventMap - >, +- EventMap +- >, ++ props, }); -@@ -140,7 +190,8 @@ const getRouteConfigsFromChildren = < + return acc; + } +@@ -133,14 +183,20 @@ const getRouteConfigsFromChildren = < + // When we encounter a fragment or group, we need to dive into its children to extract the configs + // This is handy to conditionally define a group of screens + acc.push( +- ...getRouteConfigsFromChildren( ++ ...getRouteConfigsFromChildren< ++ State, ++ ScreenOptions, ++ EventMap, ++ TransformedScreenOptions ++ >( + child.props.children, + child.props.navigationKey, + child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] @@ -653,21 +696,25 @@ index b1971ba..8dc3b8a 100644 ) ); return acc; -@@ -257,7 +308,8 @@ export default function useNavigationBuilder< +@@ -257,17 +313,24 @@ export default function useNavigationBuilder< RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record void>, ScreenOptions extends {}, - EventMap extends Record + EventMap extends Record, -+ TransformedScreenOptions extends ScreenOptions = ScreenOptions ++ TransformedScreenOptions extends {} = ScreenOptions >( createRouter: RouterFactory, options: DefaultNavigatorOptions< -@@ -267,7 +319,13 @@ export default function useNavigationBuilder< + ParamListBase, + State, +- ScreenOptions, ++ TransformedScreenOptions, EventMap > & - NavigationBuilderOptions & +- NavigationBuilderOptions & - RouterOptions ++ NavigationBuilderOptions & + RouterOptions, + transformScreenOptions?: TransformScreenOptions< + State, @@ -678,12 +725,31 @@ index b1971ba..8dc3b8a 100644 ) { const navigatorKey = useRegisterNavigator(); -@@ -292,7 +350,7 @@ export default function useNavigationBuilder< +@@ -291,11 +354,15 @@ export default function useNavigationBuilder< + const routeConfigs = getRouteConfigsFromChildren< State, ScreenOptions, - EventMap +- EventMap - >(children); ++ EventMap, ++ TransformedScreenOptions + >(children, undefined, undefined, transformScreenOptions); const screens = routeConfigs.reduce< - Record> +- Record> ++ Record< ++ string, ++ ScreenConfigWithParent ++ > + >((acc, config) => { + if (config.props.name in acc) { + throw new Error( +@@ -688,7 +755,7 @@ export default function useNavigationBuilder< + const descriptors = useDescriptors< + State, + ActionHelpers, +- ScreenOptions, ++ TransformedScreenOptions, + EventMap + >({ + state, From 256ee99e7ff11274e8ad064070e1650f811487cd Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 11:10:20 +0200 Subject: [PATCH 058/178] adapt responsive stack navigator --- .../Navigation/AppNavigator/AuthScreens.tsx | 4 +- .../CustomRouter.ts | 0 .../index.native.tsx | 43 +++++++++--------- .../index.tsx | 44 ++++++++++--------- .../types.ts | 0 .../useStateWithSearch.tsx} | 4 +- 6 files changed, 49 insertions(+), 46 deletions(-) rename src/libs/Navigation/AppNavigator/{createCustomStackNavigator => createResponsiveStackNavigator}/CustomRouter.ts (100%) rename src/libs/Navigation/AppNavigator/{createCustomStackNavigator => createResponsiveStackNavigator}/index.native.tsx (63%) rename src/libs/Navigation/AppNavigator/{createCustomStackNavigator => createResponsiveStackNavigator}/index.tsx (62%) rename src/libs/Navigation/AppNavigator/{createCustomStackNavigator => createResponsiveStackNavigator}/types.ts (100%) rename src/libs/Navigation/AppNavigator/{createCustomStackNavigator/useCommonLogic.tsx => createResponsiveStackNavigator/useStateWithSearch.tsx} (94%) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index c8f799490f898..c9dbc23e8d50c 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -36,7 +36,7 @@ import ROUTES from '@src/ROUTES'; import SCREENS from '@src/SCREENS'; import type * as OnyxTypes from '@src/types/onyx'; import type {SelectedTimezone, Timezone} from '@src/types/onyx/PersonalDetails'; -import createCustomStackNavigator from './createCustomStackNavigator'; +import createReponsiveStackNavigator from './createResponsiveStackNavigator'; import defaultScreenOptions from './defaultScreenOptions'; import getRootNavigatorScreenOptions from './getRootNavigatorScreenOptions'; import BottomTabNavigator from './Navigators/BottomTabNavigator'; @@ -136,7 +136,7 @@ function handleNetworkReconnect() { } } -const RootStack = createCustomStackNavigator(); +const RootStack = createReponsiveStackNavigator(); // We want to delay the re-rendering for components(e.g. ReportActionCompose) // that depends on modal visibility until Modal is completely closed and its focused // When modal screen is focused, update modal visibility in Onyx diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts rename to src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx similarity index 63% rename from src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx rename to src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx index 088780da03144..f82e3eaa58c09 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx @@ -14,27 +14,35 @@ import type { } from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -import useCommonLogic from './useCommonLogic'; +import useStateWithSearch from './useStateWithSearch'; -function createCustomStackNavigator() { +function createResponsiveStackNavigator() { function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { const styles = useThemeStyles(); const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withNativeNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, ResponsiveStackNavigatorRouterOptions, StackActionHelpers, - NativeStackNavigationOptions, - NativeStackNavigationEventMap - >(CustomRouter, { - children: props.children, - screenOptions: nativeScreenOptions, - initialRouteName: props.initialRouteName, - }); + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + CustomRouter, + { + children: props.children, + screenOptions: nativeScreenOptions, + initialRouteName: props.initialRouteName, + }, + transformScreenProps, + ); - const {stateToRender, searchRoute} = useCommonLogic(state); + const {stateToRender, searchRoute} = useStateWithSearch(state); return ( @@ -51,16 +59,9 @@ function createCustomStackNavigator() { } ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof ResponsiveStackNavigator, - NativeStackNavigationOptions - >(ResponsiveStackNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( + ResponsiveStackNavigator, + )(); } -export default createCustomStackNavigator; +export default createResponsiveStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx similarity index 62% rename from src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx rename to src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 3ca17e15c3f83..97b3caa49fa90 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -14,27 +14,36 @@ import type { } from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -import useCommonLogic from './useCommonLogic'; +import useStateWithSearch from './useStateWithSearch'; -function createCustomStackNavigator() { +function createReponsiveStackNavigator() { function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { const styles = useThemeStyles(); const webScreenOptions = withWebNavigationOptions(props.screenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withWebNavigationOptions(options); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, ResponsiveStackNavigatorRouterOptions, StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap - >(CustomRouter, { - children: props.children, - screenOptions: webScreenOptions, - initialRouteName: props.initialRouteName, - }); + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + CustomRouter, + { + children: props.children, + screenOptions: webScreenOptions, + initialRouteName: props.initialRouteName, + }, + transformScreenProps, + ); - const {stateToRender, searchRoute} = useCommonLogic(state); + const {stateToRender, searchRoute} = useStateWithSearch(state); return ( @@ -51,16 +60,9 @@ function createCustomStackNavigator() { } ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof ResponsiveStackNavigator, - StackNavigationOptions - >(ResponsiveStackNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( + ResponsiveStackNavigator, + )(); } -export default createCustomStackNavigator; +export default createReponsiveStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts rename to src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/useCommonLogic.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx similarity index 94% rename from src/libs/Navigation/AppNavigator/createCustomStackNavigator/useCommonLogic.tsx rename to src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx index 0d1af3c2f48af..47430f8225c03 100644 --- a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/useCommonLogic.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx @@ -28,7 +28,7 @@ function reduceCentralPaneRoutes(routes: Routes): Routes { return result.reverse(); } -const useCommonLogic = (state: PlatformStackNavigationState) => { +const useStateWithSearch = (state: PlatformStackNavigationState) => { const {isSmallScreenWidth} = useWindowDimensions(); return useMemo(() => { @@ -62,4 +62,4 @@ const useCommonLogic = (state: PlatformStackNavigationState) => { }, [isSmallScreenWidth, state]); }; -export default useCommonLogic; +export default useStateWithSearch; From c9c200864baf5f3ed2646beff600e819448490a6 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 11:18:38 +0200 Subject: [PATCH 059/178] adapt --- .../index.native.tsx | 37 +++++------ .../createCustomBottomTabNavigator/index.tsx | 36 ++++++----- .../index.native.tsx | 36 ++++++----- .../createCustomFullScreenNavigator/index.tsx | 36 ++++++----- .../index.native.tsx | 62 ++++++++++++------- .../createPlatformStackNavigator/index.tsx | 61 +++++++++++------- 6 files changed, 154 insertions(+), 114 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index dd4f2b0b568b1..0c7d12b5d3aa5 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -2,7 +2,6 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import {NativeStackView} from '@react-navigation/native-stack'; -import type {NativeStackNavigationConfig} from '@react-navigation/native-stack/lib/typescript/src/types'; import React from 'react'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -23,17 +22,26 @@ function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withNativeNavigationOptions(options); + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, PlatformStackNavigationRouterOptions, StackActionHelpers, - NativeStackNavigationOptions, - NativeStackNavigationEventMap - >(StackRouter, { - children, - screenOptions: nativeScreenOptions, - initialRouteName, - }); + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + StackRouter, + { + children, + screenOptions: nativeScreenOptions, + initialRouteName, + }, + transformScreenProps, + ); const styles = useThemeStyles(); @@ -59,16 +67,9 @@ function createCustomBottomTabNavigator() { } CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof CustomBottomTabNavigator, - NativeStackNavigationConfig - >(CustomBottomTabNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( + CustomBottomTabNavigator, + )(); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 8d4ddb37a44e0..352ed64981e7c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -22,17 +22,26 @@ function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withWebNavigationOptions(options); + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, PlatformStackNavigationRouterOptions, StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap - >(StackRouter, { - children, - screenOptions: webScreenOptions, - initialRouteName, - }); + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + StackRouter, + { + children, + screenOptions: webScreenOptions, + initialRouteName, + }, + transformScreenProps, + ); const styles = useThemeStyles(); const stateToRender = getStateToRender(state); @@ -59,16 +68,9 @@ function createCustomBottomTabNavigator() { } CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof CustomBottomTabNavigator, - StackNavigationOptions - >(CustomBottomTabNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( + CustomBottomTabNavigator, + )(); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index 7d04893b5ebea..90f4698b0daad 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -16,17 +16,26 @@ function createCustomFullScreenNavigator() { function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withNativeNavigationOptions(options); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, FullScreenNavigatorRouterOptions, StackActionHelpers, - NativeStackNavigationOptions, - NativeStackNavigationEventMap - >(CustomFullScreenRouter, { - children: props.children, - screenOptions: nativeScreenOptions, - initialRouteName: props.initialRouteName, - }); + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + CustomFullScreenRouter, + { + children: props.children, + screenOptions: nativeScreenOptions, + initialRouteName: props.initialRouteName, + }, + transformScreenProps, + ); return ( @@ -42,16 +51,9 @@ function createCustomFullScreenNavigator() { } CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof CustomFullScreenNavigator, - NativeStackNavigationOptions - >(CustomFullScreenNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( + CustomFullScreenNavigator, + )(); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index c08ff9e88334a..67005b493109d 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -19,17 +19,26 @@ function createCustomFullScreenNavigator() { function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { const webScreenOptions = withWebNavigationOptions(props.screenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withWebNavigationOptions(options); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, FullScreenNavigatorRouterOptions, StackActionHelpers, - StackNavigationOptions, - StackNavigationEventMap - >(CustomFullScreenRouter, { - children: props.children, - screenOptions: webScreenOptions, - initialRouteName: props.initialRouteName, - }); + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + CustomFullScreenRouter, + { + children: props.children, + screenOptions: webScreenOptions, + initialRouteName: props.initialRouteName, + }, + transformScreenProps, + ); const {isSmallScreenWidth} = useWindowDimensions(); @@ -56,16 +65,9 @@ function createCustomFullScreenNavigator() { } CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof CustomFullScreenNavigator, - StackNavigationOptions - >(CustomFullScreenNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( + CustomFullScreenNavigator, + )(); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index 708c0d8f149a2..1bb8e0ca0ef04 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -1,44 +1,60 @@ -import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase} from '@react-navigation/native'; -import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {createNativeStackNavigator} from '@react-navigation/native-stack'; +import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import {NativeStackView} from '@react-navigation/native-stack'; import React from 'react'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; import type { PlatformStackNavigationEventMap, PlatformStackNavigationOptions, + PlatformStackNavigationRouterOptions, PlatformStackNavigationState, PlatformStackNavigatorProps, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { - const Stack = createNativeStackNavigator(); - function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(screenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withNativeNavigationOptions(options); + + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + PlatformStackNavigationRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + StackRouter, + { + children: props.children, + screenOptions: nativeScreenOptions, + initialRouteName: props.initialRouteName, + }, + transformScreenProps, + ); + return ( - - {children} - + + + ); } + PlatformStackNavigator.displayName = 'PlatformStackNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof PlatformStackNavigator, - NativeStackNavigationOptions - >(PlatformStackNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + PlatformStackNavigator, + )(); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index 132a380b1af58..e2cff593920ea 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -1,44 +1,61 @@ -import {createNavigatorFactory} from '@react-navigation/native'; -import type {ParamListBase} from '@react-navigation/native'; +import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; +import type {NativeStackNavigationEventMap} from '@react-navigation/native-stack'; import type {StackNavigationOptions} from '@react-navigation/stack'; -import {createStackNavigator} from '@react-navigation/stack'; +import {StackView} from '@react-navigation/stack'; import React from 'react'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; import type { PlatformStackNavigationEventMap, PlatformStackNavigationOptions, + PlatformStackNavigationRouterOptions, PlatformStackNavigationState, PlatformStackNavigatorProps, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigator() { - const Stack = createStackNavigator(); - function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { const webScreenOptions = withWebNavigationOptions(screenOptions); + const transformScreenProps = ( + options: PlatformStackScreenOptionsWithoutNavigation, + ) => withWebNavigationOptions(options); + + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + PlatformStackNavigationRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + StackNavigationOptions + >( + StackRouter, + { + children: props.children, + screenOptions: webScreenOptions, + initialRouteName: props.initialRouteName, + }, + transformScreenProps, + ); + return ( - - {children} - + + + ); } + PlatformStackNavigator.displayName = 'PlatformStackNavigator'; - const transformScreenProps = (screenOptions: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(screenOptions); - - return createNavigatorFactory< - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap, - typeof PlatformStackNavigator, - StackNavigationOptions - >(PlatformStackNavigator)(transformScreenProps); + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + PlatformStackNavigator, + )(); } export default createPlatformStackNavigator; From 15b7689928036f7d427379a16a9fdae3b51bc07d Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 11:19:42 +0200 Subject: [PATCH 060/178] rename generic parameters --- .../ModalStackNavigators/index.tsx | 4 +- .../index.native.tsx | 11 ++--- .../createCustomBottomTabNavigator/index.tsx | 11 ++--- .../index.native.tsx | 11 ++--- .../createCustomFullScreenNavigator/index.tsx | 11 ++--- .../createCustomFullScreenNavigator/types.ts | 6 +-- .../index.native.tsx | 11 ++--- .../createResponsiveStackNavigator/index.tsx | 11 ++--- .../index.native.tsx | 13 +++-- .../createPlatformStackNavigator/index.tsx | 13 +++-- .../withNativeNavigationOptions.ts | 6 +-- .../withWebNavigationOptions.ts | 6 +-- .../PlatformStackNavigation/types.tsx | 48 +++++++++---------- 13 files changed, 77 insertions(+), 85 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx index 43f50b4fe2e62..6343a03b5b11f 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx @@ -45,8 +45,8 @@ type Screens = Partial React.ComponentType>>; * @param screens key/value pairs where the key is the name of the screen and the value is a functon that returns the lazy-loaded component * @param getScreenOptions optional function that returns the screen options, override the default options */ -function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => PlatformStackNavigationOptions): React.ComponentType { - const ModalStackNavigator = createPlatformStackNavigator(); +function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => PlatformStackNavigationOptions): React.ComponentType { + const ModalStackNavigator = createPlatformStackNavigator(); function ModalStack() { const screenOptions = useModalScreenOptions(getScreenOptions); diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 0c7d12b5d3aa5..bdec75ec6ff3c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -18,13 +18,12 @@ import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions} from './utils'; -function createCustomBottomTabNavigator() { +function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -67,9 +66,9 @@ function createCustomBottomTabNavigator() { } CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( CustomBottomTabNavigator, - )(); + )(); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 352ed64981e7c..6a8fab338d877 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -18,13 +18,12 @@ import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions, getStateToRender} from './utils'; -function createCustomBottomTabNavigator() { +function createCustomBottomTabNavigator() { function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -68,9 +67,9 @@ function createCustomBottomTabNavigator() { } CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( CustomBottomTabNavigator, - )(); + )(); } export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index 90f4698b0daad..67794c4698852 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -12,13 +12,12 @@ import type { import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function createCustomFullScreenNavigator() { +function createCustomFullScreenNavigator() { function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -51,9 +50,9 @@ function createCustomFullScreenNavigator() { } CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( CustomFullScreenNavigator, - )(); + )(); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index 67005b493109d..94fb15233e532 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -15,13 +15,12 @@ import type { import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function createCustomFullScreenNavigator() { +function createCustomFullScreenNavigator() { function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { const webScreenOptions = withWebNavigationOptions(props.screenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -65,9 +64,9 @@ function createCustomFullScreenNavigator() { } CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( CustomFullScreenNavigator, - )(); + )(); } export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts index 1fe8429a4f613..2c4107335eb36 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts @@ -8,9 +8,9 @@ import type { type FullScreenNavigatorRouterOptions = PlatformStackNavigationRouterOptions; -type FullScreenNavigatorProps = DefaultNavigatorOptions< - TStackParams, - PlatformStackNavigationState, +type FullScreenNavigatorProps = DefaultNavigatorOptions< + ParamList, + PlatformStackNavigationState, PlatformStackNavigationOptions, PlatformStackNavigationEventMap >; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx index f82e3eaa58c09..bb71e476b8319 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx @@ -16,14 +16,13 @@ import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; import useStateWithSearch from './useStateWithSearch'; -function createResponsiveStackNavigator() { +function createResponsiveStackNavigator() { function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { const styles = useThemeStyles(); const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -59,9 +58,9 @@ function createResponsiveStackNavigator() { } ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( ResponsiveStackNavigator, - )(); + )(); } export default createResponsiveStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 97b3caa49fa90..67509b90106a9 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -16,15 +16,14 @@ import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; import useStateWithSearch from './useStateWithSearch'; -function createReponsiveStackNavigator() { +function createReponsiveStackNavigator() { function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { const styles = useThemeStyles(); const webScreenOptions = withWebNavigationOptions(props.screenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -60,9 +59,9 @@ function createReponsiveStackNavigator() { } ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( ResponsiveStackNavigator, - )(); + )(); } export default createReponsiveStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index 1bb8e0ca0ef04..912bd665e7613 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -13,13 +13,12 @@ import type { PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -function createPlatformStackNavigator() { - function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { +function createPlatformStackNavigator() { + function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -52,9 +51,9 @@ function createPlatformStackNavigator() { } PlatformStackNavigator.displayName = 'PlatformStackNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, - )(); + )(); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index e2cff593920ea..a0a153239c26b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -14,13 +14,12 @@ import type { PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -function createPlatformStackNavigator() { - function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { +function createPlatformStackNavigator() { + function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { const webScreenOptions = withWebNavigationOptions(screenOptions); - const transformScreenProps = ( - options: PlatformStackScreenOptionsWithoutNavigation, - ) => withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -53,9 +52,9 @@ function createPlatformStackNavigator() { } PlatformStackNavigator.displayName = 'PlatformStackNavigator'; - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, - )(); + )(); } export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 3911b8a1c0cdc..3d01784fca54c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -18,12 +18,12 @@ const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigation ...getCommonNavigationOptions(screenOptions), }); -function withNativeNavigationOptions( - screenOptions: PlatformStackScreenOptionsWithoutNavigation, +function withNativeNavigationOptions( + screenOptions: PlatformStackScreenOptionsWithoutNavigation, defaultScreenOptions?: PlatformStackNavigationOptions, ) { return isRouteBasedScreenOptions(screenOptions) - ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { + ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { const routeBasedScreenOptions = screenOptions(p); return transformPlatformOptionsToNative({...defaultScreenOptions, ...routeBasedScreenOptions}); } diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index d6f094bdb7061..4c4aedc319245 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -19,12 +19,12 @@ const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOpt ...getCommonNavigationOptions(screenOptions), }); -function withWebNavigationOptions( - screenOptions: PlatformStackScreenOptionsWithoutNavigation, +function withWebNavigationOptions( + screenOptions: PlatformStackScreenOptionsWithoutNavigation, defaultScreenOptions?: PlatformStackNavigationOptions, ) { return isRouteBasedScreenOptions(screenOptions) - ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { + ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { const routeBasedScreenOptions = screenOptions(p); return transformPlatformOptionsToWeb({...defaultScreenOptions, ...routeBasedScreenOptions}); } diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index a2aa0e187f5dd..f663f1819b590 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -3,7 +3,7 @@ import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from ' import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; -type PlatformStackNavigationState = StackNavigationState; +type PlatformStackNavigationState = StackNavigationState; type OmitNever> = { [K in keyof T as T[K] extends never ? never : K]: T[K]; @@ -85,44 +85,44 @@ type PlatformStackNavigationEventMap = CommonStackNavigationEventMap; type PlatformStackNavigationRouterOptions = StackRouterOptions; type PlatformStackNavigatorProps< - TStackParams extends ParamListBase, - RouteName extends keyof TStackParams = keyof TStackParams, + ParamList extends ParamListBase, + RouteName extends keyof ParamList = keyof ParamList, RouterOptions extends PlatformStackNavigationRouterOptions = PlatformStackNavigationRouterOptions, -> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & +> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & RouterOptions & StackNavigationConfig; -type PlatformStackScreenOptionsProps = { - route: PlatformStackRouteProp; - navigation: PlatformStackNavigationProp; +type PlatformStackScreenOptionsProps = { + route: PlatformStackRouteProp; + navigation: PlatformStackNavigationProp; }; -type PlatformStackScreenOptionsPropsWithoutNavigation = { - route: PlatformStackRouteProp; +type PlatformStackScreenOptionsPropsWithoutNavigation = { + route: PlatformStackRouteProp; // eslint-disable-next-line @typescript-eslint/no-explicit-any navigation: any; }; -type PlatformStackScreenOptions = PlatformStackNavigatorProps< - TStackParams, - RouteName ->['screenOptions']; +type PlatformStackScreenOptions = PlatformStackNavigatorProps['screenOptions']; -type PlatformStackScreenOptionsWithoutNavigation = +type PlatformStackScreenOptionsWithoutNavigation = | PlatformStackNavigationOptions - | ((props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions) + | ((props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions) | undefined; -type PlatformStackNavigationProp< - TStackParams extends ParamListBase, - RouteName extends keyof TStackParams = keyof TStackParams, - NavigatorID extends string | undefined = undefined, -> = NavigationProp, PlatformStackNavigationOptions, PlatformStackNavigationEventMap>; -type PlatformStackRouteProp = RouteProp; +type PlatformStackNavigationProp = NavigationProp< + ParamList, + RouteName, + NavigatorID, + PlatformStackNavigationState, + PlatformStackNavigationOptions, + PlatformStackNavigationEventMap +>; +type PlatformStackRouteProp = RouteProp; -function isRouteBasedScreenOptions( - screenOptions: PlatformStackScreenOptions, -): screenOptions is (props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions { +function isRouteBasedScreenOptions( + screenOptions: PlatformStackScreenOptions, +): screenOptions is (props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions { return typeof screenOptions === 'function'; } From 48632e7cf0c7aeff6b21eac8465c9cc358f9e222 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 20:24:20 +0200 Subject: [PATCH 061/178] fix: react navigation types --- patches/@react-navigation+core+6.4.11.patch | 57 +++++++++++++++ .../index.native.tsx | 4 +- .../createCustomBottomTabNavigator/index.tsx | 4 +- .../index.native.tsx | 10 ++- .../createCustomFullScreenNavigator/index.tsx | 10 ++- .../index.native.tsx | 10 ++- .../createResponsiveStackNavigator/index.tsx | 10 ++- .../index.native.tsx | 70 +++++++++--------- .../createPlatformStackNavigator/index.tsx | 73 ++++++++++--------- 9 files changed, 160 insertions(+), 88 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch index 27e29484545a3..2a6d29e360f5a 100644 --- a/patches/@react-navigation+core+6.4.11.patch +++ b/patches/@react-navigation+core+6.4.11.patch @@ -1,3 +1,12 @@ +diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map +index a3da390..fdd09cf 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/types.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAoJO,MAAMA,iBAAiB,CAA4B;AAYzD"} +\ No newline at end of file ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAqJO,MAAMA,iBAAiB,CAA4B;AAYzD"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js index 14338b9..57e1fa2 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js @@ -63,6 +72,15 @@ index 55b77ca..de10a37 100644 \ No newline at end of file +{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map +index 21fd3e8..7fa0d02 100644 +--- a/node_modules/@react-navigation/core/lib/module/types.js.map ++++ b/node_modules/@react-navigation/core/lib/module/types.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAoJA,OAAO,MAAMA,iBAAiB,CAA4B"} +\ No newline at end of file ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAqJA,OAAO,MAAMA,iBAAiB,CAA4B"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js index 051520b..01247b9 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js @@ -508,6 +526,45 @@ index 0000000..0f1e440 @@ -0,0 +1 @@ +{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} \ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +index fcd456b..a9ee1ae 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +@@ -7,7 +7,7 @@ declare global { + } + } + type Keyof = Extract; +-export type DefaultNavigatorOptions = DefaultRouterOptions> & { ++export type DefaultNavigatorOptions = DefaultRouterOptions> & { + /** + * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. + */ +@@ -21,14 +21,14 @@ export type DefaultNavigatorOptions | ((props: { +- route: RouteProp; ++ route: RouteProp; + navigation: any; + }) => ScreenListeners); + /** + * Default options for all screens under this navigator. + */ + screenOptions?: ScreenOptions | ((props: { +- route: RouteProp; ++ route: RouteProp; + navigation: any; + }) => ScreenOptions); + }; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +index 6594ef4..eccdf61 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts index 53d474e..87c846d 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index bdec75ec6ff3c..1eafed5f82028 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -19,7 +19,7 @@ import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions} from './utils'; function createCustomBottomTabNavigator() { - function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { + function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => @@ -35,8 +35,10 @@ function createCustomBottomTabNavigator() { >( StackRouter, { + id, children, screenOptions: nativeScreenOptions, + screenListeners, initialRouteName, }, transformScreenProps, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 6a8fab338d877..a4f3fa4a4e42e 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -19,7 +19,7 @@ import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions, getStateToRender} from './utils'; function createCustomBottomTabNavigator() { - function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomBottomTabNavigatorProps) { + function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => @@ -35,8 +35,10 @@ function createCustomBottomTabNavigator() { >( StackRouter, { + id, children, screenOptions: webScreenOptions, + screenListeners, initialRouteName, }, transformScreenProps, diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index 67794c4698852..89a73339af491 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -13,8 +13,8 @@ import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; function createCustomFullScreenNavigator() { - function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); + function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => withNativeNavigationOptions(options); @@ -29,9 +29,11 @@ function createCustomFullScreenNavigator() { >( CustomFullScreenRouter, { - children: props.children, + id, + children, screenOptions: nativeScreenOptions, - initialRouteName: props.initialRouteName, + screenListeners, + initialRouteName, }, transformScreenProps, ); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index 94fb15233e532..44c4e1e674aaa 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -16,8 +16,8 @@ import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; function createCustomFullScreenNavigator() { - function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(props.screenOptions); + function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(screenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => withWebNavigationOptions(options); @@ -32,9 +32,11 @@ function createCustomFullScreenNavigator() { >( CustomFullScreenRouter, { - children: props.children, + id, + children, screenOptions: webScreenOptions, - initialRouteName: props.initialRouteName, + screenListeners, + initialRouteName, }, transformScreenProps, ); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx index bb71e476b8319..7b53e399873a6 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx @@ -17,10 +17,10 @@ import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOption import useStateWithSearch from './useStateWithSearch'; function createResponsiveStackNavigator() { - function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { + function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { const styles = useThemeStyles(); - const nativeScreenOptions = withNativeNavigationOptions(props.screenOptions); + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => withNativeNavigationOptions(options); @@ -34,9 +34,11 @@ function createResponsiveStackNavigator() { >( CustomRouter, { - children: props.children, + id, + children, screenOptions: nativeScreenOptions, - initialRouteName: props.initialRouteName, + screenListeners, + initialRouteName, }, transformScreenProps, ); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 67509b90106a9..0a19e73349347 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -17,10 +17,10 @@ import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOption import useStateWithSearch from './useStateWithSearch'; function createReponsiveStackNavigator() { - function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { + function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { const styles = useThemeStyles(); - const webScreenOptions = withWebNavigationOptions(props.screenOptions); + const webScreenOptions = withWebNavigationOptions(screenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => withWebNavigationOptions(options); @@ -35,9 +35,11 @@ function createReponsiveStackNavigator() { >( CustomRouter, { - children: props.children, + id, + children, screenOptions: webScreenOptions, - initialRouteName: props.initialRouteName, + screenListeners, + initialRouteName, }, transformScreenProps, ); diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx index 912bd665e7613..a60c598f86f10 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx @@ -13,44 +13,46 @@ import type { PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -function createPlatformStackNavigator() { - function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); +function PlatformStackNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - StackRouter, - { - children: props.children, - screenOptions: nativeScreenOptions, - initialRouteName: props.initialRouteName, - }, - transformScreenProps, - ); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + PlatformStackNavigationRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + StackRouter, + { + id, + children, + screenOptions: nativeScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - return ( - - - - ); - } - PlatformStackNavigator.displayName = 'PlatformStackNavigator'; + return ( + + + + ); +} +PlatformStackNavigator.displayName = 'PlatformStackNavigator'; +function createPlatformStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, )(); diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx index a0a153239c26b..b83c36810a404 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx @@ -1,7 +1,6 @@ import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import type {NativeStackNavigationEventMap} from '@react-navigation/native-stack'; -import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; import React from 'react'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; @@ -14,44 +13,46 @@ import type { PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -function createPlatformStackNavigator() { - function PlatformStackNavigator({screenOptions, children, ...props}: PlatformStackNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions); +function PlatformStackNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - StackNavigationOptions - >( - StackRouter, - { - children: props.children, - screenOptions: webScreenOptions, - initialRouteName: props.initialRouteName, - }, - transformScreenProps, - ); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + PlatformStackNavigationRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + StackRouter, + { + id, + children, + screenOptions: webScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - return ( - - - - ); - } - PlatformStackNavigator.displayName = 'PlatformStackNavigator'; + return ( + + + + ); +} +PlatformStackNavigator.displayName = 'PlatformStackNavigator'; +function createPlatformStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( PlatformStackNavigator, )(); From 6327d662a0de63c275b0df75edd6e3f612db8788 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 20:25:57 +0200 Subject: [PATCH 062/178] move navigators out of factory --- .../index.native.tsx | 90 +++++++++--------- .../createCustomBottomTabNavigator/index.tsx | 92 +++++++++---------- .../index.native.tsx | 72 +++++++-------- .../createCustomFullScreenNavigator/index.tsx | 90 +++++++++--------- .../index.native.tsx | 78 ++++++++-------- .../createResponsiveStackNavigator/index.tsx | 78 ++++++++-------- 6 files changed, 250 insertions(+), 250 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 1eafed5f82028..1bb1297779f4f 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -18,56 +18,56 @@ import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions} from './utils'; -function createCustomBottomTabNavigator() { - function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); +function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); - const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - StackRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + PlatformStackNavigationRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + StackRouter, + { + id, + children, + screenOptions: nativeScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - const styles = useThemeStyles(); + const styles = useThemeStyles(); - return ( - - - - - - - - - ); - } - CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; + return ( + + + + + + + + + ); +} +CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; +function createCustomBottomTabNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( CustomBottomTabNavigator, )(); diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index a4f3fa4a4e42e..8b8093a184fa5 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -18,57 +18,57 @@ import BottomTabBar from './BottomTabBar'; import type CustomBottomTabNavigatorProps from './types'; import {defaultScreenOptions, getStateToRender} from './utils'; -function createCustomBottomTabNavigator() { - function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); +function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); - const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - StackRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + PlatformStackNavigationRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + StackRouter, + { + id, + children, + screenOptions: webScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - const styles = useThemeStyles(); - const stateToRender = getStateToRender(state); + const styles = useThemeStyles(); + const stateToRender = getStateToRender(state); - return ( - - - - - - - - - ); - } - CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; + return ( + + + + + + + + + ); +} +CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; +function createCustomBottomTabNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( CustomBottomTabNavigator, )(); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx index 89a73339af491..d486013d915b3 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -12,46 +12,46 @@ import type { import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function createCustomFullScreenNavigator() { - function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); +function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - FullScreenNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - CustomFullScreenRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + FullScreenNavigatorRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + CustomFullScreenRouter, + { + id, + children, + screenOptions: nativeScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - return ( - - - - ); - } - CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + return ( + + + + ); +} +CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; +function createCustomFullScreenNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( CustomFullScreenNavigator, )(); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index 44c4e1e674aaa..1afd96ec2636d 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -15,57 +15,57 @@ import type { import CustomFullScreenRouter from './CustomFullScreenRouter'; import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function createCustomFullScreenNavigator() { - function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions); +function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { + const webScreenOptions = withWebNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - FullScreenNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - CustomFullScreenRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + FullScreenNavigatorRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + CustomFullScreenRouter, + { + id, + children, + screenOptions: webScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - const {isSmallScreenWidth} = useWindowDimensions(); + const {isSmallScreenWidth} = useWindowDimensions(); - useEffect(() => { - if (!navigationRef.isReady()) { - return; - } - // We need to separately reset state of this navigator to trigger getRehydratedState. - navigation.reset(navigation.getState()); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [isSmallScreenWidth]); + useEffect(() => { + if (!navigationRef.isReady()) { + return; + } + // We need to separately reset state of this navigator to trigger getRehydratedState. + navigation.reset(navigation.getState()); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isSmallScreenWidth]); - return ( - - - - ); - } - CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + return ( + + + + ); +} +CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; +function createCustomFullScreenNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( CustomFullScreenNavigator, )(); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx index 7b53e399873a6..fca7bb1acc7c1 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx @@ -16,50 +16,50 @@ import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; import useStateWithSearch from './useStateWithSearch'; -function createResponsiveStackNavigator() { - function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { - const styles = useThemeStyles(); +function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { + const styles = useThemeStyles(); - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withNativeNavigationOptions(options); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - ResponsiveStackNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - CustomRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + ResponsiveStackNavigatorRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + CustomRouter, + { + id, + children, + screenOptions: nativeScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - const {stateToRender, searchRoute} = useStateWithSearch(state); + const {stateToRender, searchRoute} = useStateWithSearch(state); - return ( - - - {searchRoute && {descriptors[searchRoute.key].render()}} - - ); - } - ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; + return ( + + + {searchRoute && {descriptors[searchRoute.key].render()}} + + ); +} +ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; +function createResponsiveStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( ResponsiveStackNavigator, )(); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 0a19e73349347..69131d54aa64b 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -16,51 +16,51 @@ import CustomRouter from './CustomRouter'; import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; import useStateWithSearch from './useStateWithSearch'; -function createReponsiveStackNavigator() { - function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { - const styles = useThemeStyles(); +function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { + const styles = useThemeStyles(); - const webScreenOptions = withWebNavigationOptions(screenOptions); + const webScreenOptions = withWebNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); + const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => + withWebNavigationOptions(options); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - ResponsiveStackNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - CustomRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + ResponsiveStackNavigatorRouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + CustomRouter, + { + id, + children, + screenOptions: webScreenOptions, + screenListeners, + initialRouteName, + }, + transformScreenProps, + ); - const {stateToRender, searchRoute} = useStateWithSearch(state); + const {stateToRender, searchRoute} = useStateWithSearch(state); - return ( - - - {searchRoute && {descriptors[searchRoute.key].render()}} - - ); - } - ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; + return ( + + + {searchRoute && {descriptors[searchRoute.key].render()}} + + ); +} +ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; +function createReponsiveStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( ResponsiveStackNavigator, )(); From 1080e07be07fede0f11db2092590a896272694fa Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sat, 20 Apr 2024 20:29:41 +0200 Subject: [PATCH 063/178] add defaultOptions to CustomBottomTabNavigator --- .../createCustomBottomTabNavigator/index.native.tsx | 2 +- .../AppNavigator/createCustomBottomTabNavigator/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 1bb1297779f4f..21fa0e0b885ce 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -22,7 +22,7 @@ function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); + withNativeNavigationOptions(options, defaultScreenOptions); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 8b8093a184fa5..d1f3333e65482 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -22,7 +22,7 @@ function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); + withWebNavigationOptions(options, defaultScreenOptions); const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, From 6649b86156b66e7d9fd370a435be65950f388f00 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 10:27:46 +0200 Subject: [PATCH 064/178] fix: animations --- .../AppNavigator/leftModalNavigatorOptions/index.native.ts | 1 - .../animation/native/slideFromLeft/index.android.ts | 2 +- .../platformOptions/animation/native/slideFromLeft/index.ts | 2 +- .../animation/native/slideFromRight/index.android.ts | 2 +- .../platformOptions/animation/native/slideFromRight/index.ts | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts index 71645e81908a2..4d8219a323016 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -1,7 +1,6 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const leftModalNavigatorOptions: PlatformStackNavigationOptions = { - presentation: 'transparentModal', animation: 'slide_from_left', customAnimationOnGesture: true, }; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts index 576cdc31a090e..7963a851dce48 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS // const transition: NativeStackNavigationOptions['animation'] = 'slide_from_right'; -const slideFromLeft: NativeStackNavigationOptions = {animation: 'ios'}; +const slideFromLeft: NativeStackNavigationOptions = {animation: 'slide_from_left'}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts index 1e1305ce54eb9..991dba98c50b9 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const slideFromLeft: NativeStackNavigationOptions = {animation: 'simple_push'}; +const slideFromLeft: NativeStackNavigationOptions = {animation: 'slide_from_left'}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts index f79fb7a31c865..beb1aaa01bb27 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts @@ -1,6 +1,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -const transition: NativeStackNavigationOptions = {animation: 'ios'}; +const transition: NativeStackNavigationOptions = {animation: 'slide_from_right'}; export default transition; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts index 4f482b5024aab..a2758682b87ea 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const transition: NativeStackNavigationOptions = {animation: 'simple_push'}; +const transition: NativeStackNavigationOptions = {animation: 'slide_from_right'}; export default transition; From 32cfce4e8da41a79af440ef198c99160efd3fecf Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 11:33:21 +0200 Subject: [PATCH 065/178] simplify ResponsiveStackNavigator types --- src/libs/Navigation/AppNavigator/AuthScreens.tsx | 2 +- .../AppNavigator/createResponsiveStackNavigator/types.ts | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index 7d12bdd01386e..a94cdb89feb9b 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -269,7 +269,7 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie return ( - + , PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & - ResponsiveStackNavigatorConfig; +type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap>; -export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps, ResponsiveStackNavigatorConfig}; +export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps}; From 9f592f38c7fe968ee12ae4105b3c147930f1127c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 11:33:27 +0200 Subject: [PATCH 066/178] update Podfile.lock --- ios/Podfile.lock | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 6ef495a65bd3f..71f9f765403be 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2083,6 +2083,7 @@ DEPENDENCIES: - ExpoImageManipulator (from `../node_modules/expo-image-manipulator/ios`) - ExpoModulesCore (from `../node_modules/expo-modules-core`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - "fullstory_react-native (from `../node_modules/@fullstory/react-native`)" - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - libevent (~> 2.1.12) @@ -2248,8 +2249,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/FBLazyVector" fullstory_react-native: :path: "../node_modules/@fullstory/react-native" - FBReactNativeSpec: - :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: From 850bb3ddde5a8fa3044734199ac3fbe6054d8a99 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 11:49:09 +0200 Subject: [PATCH 067/178] fix: no animation on small screens --- .../Navigation/AppNavigator/getRootNavigatorScreenOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 6a0d89f2fad52..225c645f85e65 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -103,7 +103,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, ...hideKeyboardOnSwipe, title: CONFIG.SITE_TITLE, - animation: isSmallScreenWidth ? 'none' : undefined, + animation: isSmallScreenWidth ? undefined : 'none', cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), From 706dc61c65045ede95b9820d58a8843d4301cab1 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 14:52:37 +0200 Subject: [PATCH 068/178] simplify PlatformStackNavigation code --- patches/@react-navigation+core+6.4.11.patch | 179 +++++++++++++++++- .../PlatformStackNavigator.tsx | 5 + .../createPlatformStackNavigator.tsx | 12 ++ .../index.native.tsx | 61 ------ .../createPlatformStackNavigator/index.tsx | 61 ------ .../index.native.tsx | 79 ++++++++ .../index.tsx | 79 ++++++++ .../types.ts | 92 +++++++++ .../PlatformStackNavigation/types.tsx | 49 ++++- 9 files changed, 483 insertions(+), 134 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx delete mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx delete mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx create mode 100644 src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch index 2a6d29e360f5a..6690085b729a8 100644 --- a/patches/@react-navigation+core+6.4.11.patch +++ b/patches/@react-navigation+core+6.4.11.patch @@ -1,3 +1,55 @@ +diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js b/node_modules/@react-navigation/core/lib/commonjs/index.js +index d1ea4eb..4b0a660 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/index.js ++++ b/node_modules/@react-navigation/core/lib/commonjs/index.js +@@ -22,6 +22,7 @@ var _exportNames = { + useFocusEffect: true, + useIsFocused: true, + useNavigation: true, ++ NavigationBuilderOptions: true, + useNavigationBuilder: true, + useNavigationContainerRef: true, + useNavigationState: true, +@@ -42,6 +43,12 @@ Object.defineProperty(exports, "CurrentRenderContext", { + return _CurrentRenderContext.default; + } + }); ++Object.defineProperty(exports, "NavigationBuilderOptions", { ++ enumerable: true, ++ get: function () { ++ return _useNavigationBuilder.NavigationBuilderOptions; ++ } ++}); + Object.defineProperty(exports, "NavigationContainerRefContext", { + enumerable: true, + get: function () { +@@ -210,7 +217,7 @@ Object.keys(_types).forEach(function (key) { + var _useFocusEffect = _interopRequireDefault(require("./useFocusEffect")); + var _useIsFocused = _interopRequireDefault(require("./useIsFocused")); + var _useNavigation = _interopRequireDefault(require("./useNavigation")); +-var _useNavigationBuilder = _interopRequireDefault(require("./useNavigationBuilder")); ++var _useNavigationBuilder = _interopRequireWildcard(require("./useNavigationBuilder")); + var _useNavigationContainerRef = _interopRequireDefault(require("./useNavigationContainerRef")); + var _useNavigationState = _interopRequireDefault(require("./useNavigationState")); + var _usePreventRemove = _interopRequireDefault(require("./usePreventRemove")); +@@ -229,5 +236,7 @@ Object.keys(_routers).forEach(function (key) { + } + }); + }); ++function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } ++function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + //# sourceMappingURL=index.js.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js.map b/node_modules/@react-navigation/core/lib/commonjs/index.js.map +index f531070..f6131d3 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/index.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/index.js.map +@@ -1 +1 @@ +-{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"} +\ No newline at end of file ++{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C;AAAA;AAAA"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map index a3da390..fdd09cf 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map @@ -72,6 +124,28 @@ index 55b77ca..de10a37 100644 \ No newline at end of file +{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js +index 1d42c3a..06f6bde 100644 +--- a/node_modules/@react-navigation/core/lib/module/index.js ++++ b/node_modules/@react-navigation/core/lib/module/index.js +@@ -17,7 +17,7 @@ export * from './types'; + export { default as useFocusEffect } from './useFocusEffect'; + export { default as useIsFocused } from './useIsFocused'; + export { default as useNavigation } from './useNavigation'; +-export { default as useNavigationBuilder } from './useNavigationBuilder'; ++export { NavigationBuilderOptions, default as useNavigationBuilder } from './useNavigationBuilder'; + export { default as useNavigationContainerRef } from './useNavigationContainerRef'; + export { default as useNavigationState } from './useNavigationState'; + export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; +diff --git a/node_modules/@react-navigation/core/lib/module/index.js.map b/node_modules/@react-navigation/core/lib/module/index.js.map +index ed01400..32855ca 100644 +--- a/node_modules/@react-navigation/core/lib/module/index.js.map ++++ b/node_modules/@react-navigation/core/lib/module/index.js.map +@@ -1 +1 @@ +-{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SAASlB,OAAO,IAAImB,oBAAoB,QAAQ,wBAAwB;AACxE,SAASnB,OAAO,IAAIoB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASpB,OAAO,IAAIqB,kBAAkB,QAAQ,sBAAsB;AACpE,SAASrB,OAAO,IAAIsB,yBAAyB,QAAQ,oBAAoB;AACzE,SAAStB,OAAO,IAAIuB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASvB,OAAO,IAAIwB,QAAQ,QAAQ,YAAY;AAChD,SAASxB,OAAO,IAAIyB,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} +\ No newline at end of file ++{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","NavigationBuilderOptions","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SACEC,wBAAwB,EACxBnB,OAAO,IAAIoB,oBAAoB,QAC1B,wBAAwB;AAC/B,SAASpB,OAAO,IAAIqB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAStB,OAAO,IAAIuB,yBAAyB,QAAQ,oBAAoB;AACzE,SAASvB,OAAO,IAAIwB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASxB,OAAO,IAAIyB,QAAQ,QAAQ,YAAY;AAChD,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map index 21fd3e8..7fa0d02 100644 --- a/node_modules/@react-navigation/core/lib/module/types.js.map @@ -526,6 +600,28 @@ index 0000000..0f1e440 @@ -0,0 +1 @@ +{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} \ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts +index e59dc93..9481d93 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts +@@ -17,7 +17,7 @@ export * from './types'; + export { default as useFocusEffect } from './useFocusEffect'; + export { default as useIsFocused } from './useIsFocused'; + export { default as useNavigation } from './useNavigation'; +-export { default as useNavigationBuilder } from './useNavigationBuilder'; ++export { NavigationBuilderOptions, default as useNavigationBuilder, } from './useNavigationBuilder'; + export { default as useNavigationContainerRef } from './useNavigationContainerRef'; + export { default as useNavigationState } from './useNavigationState'; + export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map +index 366138e..b8b7de5 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} +\ No newline at end of file ++{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts index fcd456b..a9ee1ae 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts @@ -566,17 +662,19 @@ index 6594ef4..eccdf61 100644 +{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 53d474e..87c846d 100644 +index 53d474e..3382383 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -@@ -1,6 +1,6 @@ +@@ -1,7 +1,7 @@ import { DefaultRouterOptions, NavigationState, ParamListBase, PartialState, RouterFactory } from '@react-navigation/routers'; import * as React from 'react'; -import { DefaultNavigatorOptions, EventMapCore, PrivateValueStore, RouteProp } from './types'; +-type NavigationBuilderOptions = { +import { DefaultNavigatorOptions, EventMapBase, EventMapCore, PrivateValueStore, RouteConfig, RouteProp } from './types'; - type NavigationBuilderOptions = { ++export type NavigationBuilderOptions = { /** * Default options specified by the navigator. + * It receives the custom options in the arguments if a function is specified. @@ -12,6 +12,8 @@ type NavigationBuilderOptions = { options: ScreenOptions; }) => ScreenOptions); @@ -614,18 +712,85 @@ index 53d474e..87c846d 100644 NavigationContent: ({ children }: { children: React.ReactNode; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..8370e58 100644 +index 33762f4..7865e44 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAOF,KAAK,iBAAiB,CACpB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,WAAW,CACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC,SAAS,CAAC,CAAC;AAEb,KAAK,sBAAsB,CACzB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,IACjD,CAAC,SAAS,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,SAAS,EACrE,OAAO,EAAE,iBAAiB,CACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,CACV,KACE,iBAAiB,CACpB,KAAK,EACL,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;AAwMF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,EAEnD,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,QAAQ,CACT,GACC,wBAAwB,CAAC,wBAAwB,CAAC,GAClD,aAAa,EACf,sBAAsB,CAAC,EAAE,sBAAsB,CAC7C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8cF"} -\ No newline at end of file ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAOF,KAAK,iBAAiB,CACpB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,WAAW,CACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC,SAAS,CAAC,CAAC;AAEb,KAAK,sBAAsB,CACzB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,IACjD,CAAC,SAAS,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,SAAS,EACrE,OAAO,EAAE,iBAAiB,CACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,CACV,KACE,iBAAiB,CACpB,KAAK,EACL,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;AAwMF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,EAEnD,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,QAAQ,CACT,GACC,wBAAwB,CAAC,wBAAwB,CAAC,GAClD,aAAa,EACf,sBAAsB,CAAC,EAAE,sBAAsB,CAC7C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8cF"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx +index 61706b6..9db0c9d 100644 +--- a/node_modules/@react-navigation/core/src/index.tsx ++++ b/node_modules/@react-navigation/core/src/index.tsx +@@ -17,7 +17,10 @@ export * from './types'; + export { default as useFocusEffect } from './useFocusEffect'; + export { default as useIsFocused } from './useIsFocused'; + export { default as useNavigation } from './useNavigation'; +-export { default as useNavigationBuilder } from './useNavigationBuilder'; ++export { ++ NavigationBuilderOptions, ++ default as useNavigationBuilder, ++} from './useNavigationBuilder'; + export { default as useNavigationContainerRef } from './useNavigationContainerRef'; + export { default as useNavigationState } from './useNavigationState'; + export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; +diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx +index b691d75..a76b2f9 100644 +--- a/node_modules/@react-navigation/core/src/types.tsx ++++ b/node_modules/@react-navigation/core/src/types.tsx +@@ -23,7 +23,8 @@ export type DefaultNavigatorOptions< + ParamList extends ParamListBase, + State extends NavigationState, + ScreenOptions extends {}, +- EventMap extends EventMapBase ++ EventMap extends EventMapBase, ++ RouteName extends keyof ParamList = keyof ParamList + > = DefaultRouterOptions> & { + /** + * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. +@@ -40,7 +41,7 @@ export type DefaultNavigatorOptions< + screenListeners?: + | ScreenListeners + | ((props: { +- route: RouteProp; ++ route: RouteProp; + navigation: any; + }) => ScreenListeners); + /** +@@ -49,7 +50,7 @@ export type DefaultNavigatorOptions< + screenOptions?: + | ScreenOptions + | ((props: { +- route: RouteProp; ++ route: RouteProp; + navigation: any; + }) => ScreenOptions); + }; +diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx +index d5a192c..12d4f89 100644 +--- a/node_modules/@react-navigation/core/src/useDescriptors.tsx ++++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx +@@ -236,3 +236,5 @@ export default function useDescriptors< + return acc; + }, {}); + } ++ ++export type { Options as DescriptorOptions }; diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index b1971ba..05d3976 100644 +index b1971ba..5df9cd2 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +@@ -49,7 +49,7 @@ import useScheduleUpdate from './useScheduleUpdate'; + // eslint-disable-next-line babel/no-unused-expressions + PrivateValueStore; + +-type NavigationBuilderOptions = { ++export type NavigationBuilderOptions = { + /** + * Default options specified by the navigator. + * It receives the custom options in the arguments if a function is specified. @@ -68,6 +68,41 @@ type NavigatorRoute = { params?: NavigatorScreenParams; }; diff --git a/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx new file mode 100644 index 0000000000000..819f7ee2f3b5d --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx @@ -0,0 +1,5 @@ +import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent/index.native'; + +const PlatformStackNavigator = createPlatformStackNavigatorComponent('PlatformStackNavigator'); + +export default PlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx new file mode 100644 index 0000000000000..ea025df8466d2 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -0,0 +1,12 @@ +import {createNavigatorFactory} from '@react-navigation/native'; +import type {ParamListBase} from '@react-navigation/native'; +import PlatformStackNavigator from './PlatformStackNavigator'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from './types'; + +function createPlatformStackNavigator() { + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( + PlatformStackNavigator, + )(); +} + +export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx deleted file mode 100644 index a60c598f86f10..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.native.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {NativeStackView} from '@react-navigation/native-stack'; -import React from 'react'; -import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationRouterOptions, - PlatformStackNavigationState, - PlatformStackNavigatorProps, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; - -function PlatformStackNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); - - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - StackRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - return ( - - - - ); -} -PlatformStackNavigator.displayName = 'PlatformStackNavigator'; - -function createPlatformStackNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( - PlatformStackNavigator, - )(); -} - -export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx deleted file mode 100644 index b83c36810a404..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator/index.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import {StackView} from '@react-navigation/stack'; -import React from 'react'; -import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationRouterOptions, - PlatformStackNavigationState, - PlatformStackNavigatorProps, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; - -function PlatformStackNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions); - - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); - - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - StackRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - return ( - - - - ); -} -PlatformStackNavigator.displayName = 'PlatformStackNavigator'; - -function createPlatformStackNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( - PlatformStackNavigator, - )(); -} - -export default createPlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx new file mode 100644 index 0000000000000..3fce3428d291a --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -0,0 +1,79 @@ +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; +import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import {NativeStackView} from '@react-navigation/native-stack'; +import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import useThemeStyles from '@hooks/useThemeStyles'; +import useWindowDimensions from '@hooks/useWindowDimensions'; +import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; +import type { + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackNavigatorProps, + PlatformStackRouterOptions, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {CreatePlaformNavigatorOptions, PlatformNavigationBuilderOptions} from './types'; + +function createPlatformStackNavigatorComponent( + displayName: string, + options?: CreatePlaformNavigatorOptions, +) { + const createRouter = options?.createRouter ?? StackRouter; + const transformState = options?.transformState; + const renderExtraContent = options?.renderExtraContent; + + function PlatformNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { + const styles = useThemeStyles(); + const windowDimensions = useWindowDimensions(); + + const nativeScreenOptions = withNativeNavigationOptions(screenOptions); + + const transformScreenProps = ( + screenOptionsToTransform: PlatformStackScreenOptionsWithoutNavigation, + ) => withNativeNavigationOptions(screenOptionsToTransform); + + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + RouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + NativeStackNavigationEventMap, + NativeStackNavigationOptions + >( + createRouter, + { + id, + children, + screenOptions: nativeScreenOptions, + screenListeners, + initialRouteName, + } as PlatformNavigationBuilderOptions, + transformScreenProps, + ); + + const {stateToRender, searchRoute} = transformState?.(state, { + styles, + windowDimensions, + descriptors, + }) ?? {stateToRender: state, undefined}; + + return ( + + + + {renderExtraContent?.({searchRoute, styles, windowDimensions, descriptors})} + + ); + } + PlatformNavigator.displayName = displayName; + + return PlatformNavigator; +} + +export default createPlatformStackNavigatorComponent; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx new file mode 100644 index 0000000000000..7ec3bac944bb0 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -0,0 +1,79 @@ +import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; +import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import {StackView} from '@react-navigation/stack'; +import useThemeStyles from '@hooks/useThemeStyles'; +import useWindowDimensions from '@hooks/useWindowDimensions'; +import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import type { + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackNavigatorProps, + PlatformStackRouterOptions, + PlatformStackScreenOptionsWithoutNavigation, +} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {CreatePlaformNavigatorOptions, PlatformNavigationBuilderOptions} from './types'; + +function createPlatformStackNavigatorComponent( + displayName: string, + options?: CreatePlaformNavigatorOptions, +) { + const createRouter = options?.createRouter ?? StackRouter; + const transformState = options?.transformState; + const renderExtraContent = options?.renderExtraContent; + + function PlatformNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { + const styles = useThemeStyles(); + const windowDimensions = useWindowDimensions(); + + const nativeScreenOptions = withWebNavigationOptions(screenOptions); + + const transformScreenProps = ( + screenOptionsToTransform: PlatformStackScreenOptionsWithoutNavigation, + ) => withWebNavigationOptions(screenOptionsToTransform); + + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + PlatformStackNavigationState, + RouterOptions, + StackActionHelpers, + PlatformStackNavigationOptions, + StackNavigationEventMap, + StackNavigationOptions + >( + createRouter, + { + id, + children, + screenOptions: nativeScreenOptions, + screenListeners, + initialRouteName, + } as PlatformNavigationBuilderOptions, + transformScreenProps, + ); + + const {stateToRender, searchRoute} = transformState?.(state, { + styles, + windowDimensions, + descriptors, + }) ?? {stateToRender: state, undefined}; + + return ( + + + + {renderExtraContent?.({searchRoute, styles, windowDimensions, descriptors})} + + ); + } + PlatformNavigator.displayName = displayName; + + return PlatformNavigator; +} + +export default createPlatformStackNavigatorComponent; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts new file mode 100644 index 0000000000000..7127a4eb573e4 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts @@ -0,0 +1,92 @@ +import type {DefaultNavigatorOptions, EventMapBase, NavigationBuilderOptions, ParamListBase, StackActionHelpers, useNavigationBuilder} from '@react-navigation/native'; +import type WindowDimensions from '@hooks/useWindowDimensions/types'; +import type { + PlatformSpecificEventMap, + PlatformSpecificNavigationOptions, + PlatformStackNavigationDescriptor, + PlatformStackNavigationDescriptors, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackRouterFactory, + PlatformStackRouterOptions, +} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {ThemeStyles} from '@styles/index'; + +type PlatformNavigationBuilderOptions< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, +> = DefaultNavigatorOptions, NavigationOptions, EventMap> & NavigationBuilderOptions & RouterOptions; + +type PlatformNavigationBuilderResult< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, +> = ReturnType< + typeof useNavigationBuilder, RouterOptions, StackActionHelpers, PlatformStackNavigationOptions, EventMap, NavigationOptions> +>; + +type CustomCodeProps< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = { + styles: ThemeStyles; + windowDimensions: WindowDimensions; + descriptors: PlatformStackNavigationDescriptors; +}; + +type SearchRoute = PlatformStackNavigationState['routes'][number]; +type TransformStateProps< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = CustomCodeProps & { + state: PlatformStackNavigationState; +}; +type TransformStateExtraResult = { + searchRoute?: SearchRoute; +}; +type TransformState< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = (props: TransformStateProps) => TransformStateExtraResult & { + stateToRender: PlatformStackNavigationState; +}; + +type RenderExtraContentProps< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = CustomCodeProps & TransformStateExtraResult; +type RenderExtraContent< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = (props: RenderExtraContentProps) => React.ReactElement | null; + +type CreatePlaformNavigatorOptions< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, +> = { + createRouter?: PlatformStackRouterFactory; + transformState?: TransformState; + renderExtraContent?: RenderExtraContent; +}; + +export type { + PlatformNavigationBuilderOptions, + PlatformNavigationBuilderResult, + PlatformStackNavigationDescriptor, + TransformStateExtraResult, + TransformStateProps, + TransformState, + RenderExtraContentProps, + RenderExtraContent, + CreatePlaformNavigatorOptions, +}; diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index 9cce65ed0d975..ca66fcd87e2cc 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -1,4 +1,14 @@ -import type {DefaultNavigatorOptions, NavigationProp, ParamListBase, RouteProp, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type { + DefaultNavigatorOptions, + Descriptor, + EventMapBase, + NavigationProp, + ParamListBase, + RouteProp, + RouterFactory, + StackNavigationState, + StackRouterOptions, +} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; @@ -78,16 +88,40 @@ type GeneralPlatformStackNavigationOptions = { }; type PlatformStackNavigationOptions = CommonStackNavigationOptions & GeneralPlatformStackNavigationOptions; +type PlatformSpecificNavigationOptions = StackNavigationOptions | NativeStackNavigationOptions; type CommonStackNavigationEventMap = CommonProperties; type PlatformStackNavigationEventMap = CommonStackNavigationEventMap; +type PlatformSpecificEventMap = StackNavigationOptions | NativeStackNavigationOptions; -type PlatformStackNavigationRouterOptions = StackRouterOptions; +type PlatformStackRouterOptions = StackRouterOptions; +type PlatformStackRouterFactory = RouterFactory< + PlatformStackNavigationState, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + any, + RouterOptions +>; + +type PlatformStackNavigationDescriptor< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = Descriptor< + NavigationOptions, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + NavigationProp, NavigationOptions, EventMap>, + RouteProp +>; +type PlatformStackNavigationDescriptors< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = Record>; type PlatformStackNavigatorProps< ParamList extends ParamListBase, RouteName extends keyof ParamList = keyof ParamList, - RouterOptions extends PlatformStackNavigationRouterOptions = PlatformStackNavigationRouterOptions, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, > = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & RouterOptions & StackNavigationConfig; @@ -100,7 +134,7 @@ type PlatformStackNavigationProp; -type PlatformStackRouteProp = RouteProp; +type PlatformStackRouteProp = RouteProp; type PlatformStackScreenOptionsProps = { route: PlatformStackRouteProp; @@ -132,8 +166,13 @@ export type { CommonStackNavigationEventMap, PlatformStackNavigationState, PlatformStackNavigationOptions, + PlatformSpecificNavigationOptions, PlatformStackNavigationEventMap, - PlatformStackNavigationRouterOptions, + PlatformSpecificEventMap, + PlatformStackRouterOptions, + PlatformStackRouterFactory, + PlatformStackNavigationDescriptor, + PlatformStackNavigationDescriptors, PlatformStackNavigationProp, PlatformStackRouteProp, PlatformStackScreenOptions, From 10e50c2c0ed66b2038a64b2ec8e9dd597a318448 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 14:52:45 +0200 Subject: [PATCH 069/178] simplify ResponsiveStackNavigator --- .../RenderSearchRoute.tsx | 25 ++++++ .../getStateWithSearch.tsx | 64 +++++++++++++++ .../index.native.tsx | 68 ---------------- .../createResponsiveStackNavigator/index.tsx | 78 ++++--------------- .../createResponsiveStackNavigator/types.ts | 9 +-- .../useStateWithSearch.tsx | 65 ---------------- 6 files changed, 105 insertions(+), 204 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx create mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx delete mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx delete mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx new file mode 100644 index 0000000000000..14f97fba0e9cc --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx @@ -0,0 +1,25 @@ +import type {EventMapBase} from '@react-navigation/native'; +import {View} from 'react-native'; +import type {RenderExtraContentProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +function RenderSearchRoute({ + searchRoute, + styles, + descriptors, +}: RenderExtraContentProps) { + if (!searchRoute) { + return null; + } + + const key = searchRoute.key; + const descriptor = descriptors[key]; + + if (!descriptor) { + return null; + } + + return {descriptor.render()}; +} + +export default RenderSearchRoute; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx new file mode 100644 index 0000000000000..dc517327adce7 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx @@ -0,0 +1,64 @@ +import type {EventMapBase, ParamListBase} from '@react-navigation/native'; +import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {RootStackParamList, State} from '@libs/Navigation/types'; +import NAVIGATORS from '@src/NAVIGATORS'; +import SCREENS from '@src/SCREENS'; + +type Routes = PlatformStackNavigationState['routes']; +function reduceCentralPaneRoutes(routes: Routes): Routes { + const result: Routes = []; + let count = 0; + const reverseRoutes = [...routes].reverse(); + + reverseRoutes.forEach((route) => { + if (route.name === NAVIGATORS.CENTRAL_PANE_NAVIGATOR) { + // Remove all central pane routes except the last 3. This will improve performance. + if (count < 3) { + result.push(route); + count++; + } + } else { + result.push(route); + } + }); + + return result.reverse(); +} + +function getStateWithSearch< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +>({state, windowDimensions}: TransformStateProps) { + const routes = reduceCentralPaneRoutes(state.routes); + + const lastRoute = routes[routes.length - 1]; + const isLastRouteSearchRoute = getTopmostCentralPaneRoute({routes: [lastRoute]} as State)?.name === SCREENS.SEARCH.CENTRAL_PANE; + + const firstRoute = routes[0]; + + // On narrow layout, if we are on /search route we want to hide all central pane routes and show only the bottom tab navigator. + if (windowDimensions.isSmallScreenWidth && isLastRouteSearchRoute) { + return { + stateToRender: { + ...state, + index: 0, + routes: [firstRoute], + }, + searchRoute: lastRoute, + }; + } + + return { + stateToRender: { + ...state, + index: routes.length - 1, + routes: [...routes], + }, + searchRoute: undefined, + }; +} + +export default getStateWithSearch; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx deleted file mode 100644 index fca7bb1acc7c1..0000000000000 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.native.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; -import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {NativeStackView} from '@react-navigation/native-stack'; -import React from 'react'; -import {View} from 'react-native'; -import useThemeStyles from '@hooks/useThemeStyles'; -import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import CustomRouter from './CustomRouter'; -import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -import useStateWithSearch from './useStateWithSearch'; - -function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { - const styles = useThemeStyles(); - - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); - - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - ResponsiveStackNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - CustomRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - const {stateToRender, searchRoute} = useStateWithSearch(state); - - return ( - - - {searchRoute && {descriptors[searchRoute.key].render()}} - - ); -} -ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - -function createResponsiveStackNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( - ResponsiveStackNavigator, - )(); -} - -export default createResponsiveStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 69131d54aa64b..f542810bfcc29 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -1,69 +1,19 @@ -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import {StackView} from '@react-navigation/stack'; -import React from 'react'; -import {View} from 'react-native'; -import useThemeStyles from '@hooks/useThemeStyles'; -import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import CustomRouter from './CustomRouter'; -import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; -import useStateWithSearch from './useStateWithSearch'; - -function ResponsiveStackNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: ResponsiveStackNavigatorProps) { - const styles = useThemeStyles(); - - const webScreenOptions = withWebNavigationOptions(screenOptions); - - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); - - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - ResponsiveStackNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - CustomRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - const {stateToRender, searchRoute} = useStateWithSearch(state); - - return ( - - - {searchRoute && {descriptors[searchRoute.key].render()}} - - ); -} -ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; - -function createReponsiveStackNavigator() { +import type {ParamListBase} from '@react-navigation/native'; +import {createNavigatorFactory} from '@react-navigation/native'; +import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import getStateWithSearch from './getStateWithSearch'; +import RenderSearchRoute from './RenderSearchRoute'; + +const ResponsiveStackNavigator = createPlatformStackNavigatorComponent('ResponsiveStackNavigator', { + transformState: getStateWithSearch, + renderExtraContent: RenderSearchRoute, +}); + +function createResponsiveStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( ResponsiveStackNavigator, )(); } -export default createReponsiveStackNavigator; +export default createResponsiveStackNavigator; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts index 6d7187dbe9afb..d4df8f6ea45d0 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts @@ -1,12 +1,7 @@ import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationRouterOptions, - PlatformStackNavigationState, -} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -type ResponsiveStackNavigatorRouterOptions = PlatformStackNavigationRouterOptions; +type ResponsiveStackNavigatorRouterOptions = PlatformStackRouterOptions; type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap>; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx deleted file mode 100644 index 47430f8225c03..0000000000000 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import type {ParamListBase} from '@react-navigation/native'; -import {useMemo} from 'react'; -import useWindowDimensions from '@hooks/useWindowDimensions'; -import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; -import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {RootStackParamList, State} from '@libs/Navigation/types'; -import NAVIGATORS from '@src/NAVIGATORS'; -import SCREENS from '@src/SCREENS'; - -type Routes = PlatformStackNavigationState['routes']; -function reduceCentralPaneRoutes(routes: Routes): Routes { - const result: Routes = []; - let count = 0; - const reverseRoutes = [...routes].reverse(); - - reverseRoutes.forEach((route) => { - if (route.name === NAVIGATORS.CENTRAL_PANE_NAVIGATOR) { - // Remove all central pane routes except the last 3. This will improve performance. - if (count < 3) { - result.push(route); - count++; - } - } else { - result.push(route); - } - }); - - return result.reverse(); -} - -const useStateWithSearch = (state: PlatformStackNavigationState) => { - const {isSmallScreenWidth} = useWindowDimensions(); - - return useMemo(() => { - const routes = reduceCentralPaneRoutes(state.routes); - - const lastRoute = routes[routes.length - 1]; - const isLastRouteSearchRoute = getTopmostCentralPaneRoute({routes: [lastRoute]} as State)?.name === SCREENS.SEARCH.CENTRAL_PANE; - - const firstRoute = routes[0]; - - // On narrow layout, if we are on /search route we want to hide all central pane routes and show only the bottom tab navigator. - if (isSmallScreenWidth && isLastRouteSearchRoute) { - return { - stateToRender: { - ...state, - index: 0, - routes: [firstRoute], - }, - searchRoute: lastRoute, - }; - } - - return { - stateToRender: { - ...state, - index: routes.length - 1, - routes: [...routes], - }, - searchRoute: undefined, - }; - }, [isSmallScreenWidth, state]); -}; - -export default useStateWithSearch; From 26a667abf2ea7e8e2dde7d42d1369a9c8ecac5a2 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 14:52:52 +0200 Subject: [PATCH 070/178] update type names --- .../createCustomBottomTabNavigator/index.native.tsx | 4 ++-- .../createCustomBottomTabNavigator/index.tsx | 4 ++-- .../createCustomFullScreenNavigator/types.ts | 9 ++------- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx index 21fa0e0b885ce..b1da7bfc4dea8 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx @@ -10,8 +10,8 @@ import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigatio import type { PlatformStackNavigationEventMap, PlatformStackNavigationOptions, - PlatformStackNavigationRouterOptions, PlatformStackNavigationState, + PlatformStackRouterOptions, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; @@ -26,7 +26,7 @@ function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, + PlatformStackRouterOptions, StackActionHelpers, PlatformStackNavigationOptions, NativeStackNavigationEventMap, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index d1f3333e65482..ac1592a5e233c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -10,8 +10,8 @@ import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/p import type { PlatformStackNavigationEventMap, PlatformStackNavigationOptions, - PlatformStackNavigationRouterOptions, PlatformStackNavigationState, + PlatformStackRouterOptions, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; @@ -26,7 +26,7 @@ function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, - PlatformStackNavigationRouterOptions, + PlatformStackRouterOptions, StackActionHelpers, PlatformStackNavigationOptions, StackNavigationEventMap, diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts index 2c4107335eb36..e46989c281186 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts @@ -1,12 +1,7 @@ import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationRouterOptions, - PlatformStackNavigationState, -} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -type FullScreenNavigatorRouterOptions = PlatformStackNavigationRouterOptions; +type FullScreenNavigatorRouterOptions = PlatformStackRouterOptions; type FullScreenNavigatorProps = DefaultNavigatorOptions< ParamList, From 1620f0c3070e386420245f7a839cbe0eeec587a7 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 14:53:10 +0200 Subject: [PATCH 071/178] fix: param --- .../createPlatformStackNavigatorComponent/index.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 7ec3bac944bb0..866f003f2e87f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -51,11 +51,7 @@ function createPlatformStackNavigatorComponent From 43f78482db0f5a5cd76aa37bd0bfec0b3994407d Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 15:41:30 +0200 Subject: [PATCH 072/178] simplify types --- .../index.native.tsx | 55 ++++++++++++------- .../index.tsx | 51 ++++++++++++----- .../types.ts | 48 +++++++++++----- 3 files changed, 106 insertions(+), 48 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 3fce3428d291a..554a596a39f90 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -2,6 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import {useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; @@ -12,15 +13,16 @@ import type { PlatformStackRouterOptions, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlaformNavigatorOptions, PlatformNavigationBuilderOptions} from './types'; +import type {CreatePlaformStackNavigatorOptions, CustomComponentProps, PlatformNavigationBuilderOptions} from './types'; function createPlatformStackNavigatorComponent( displayName: string, - options?: CreatePlaformNavigatorOptions, + options?: CreatePlaformStackNavigatorOptions, ) { const createRouter = options?.createRouter ?? StackRouter; const transformState = options?.transformState; - const renderExtraContent = options?.renderExtraContent; + const ExtraContent = options?.ExtraContent; + const NavigationContentWrapper = options?.NavigationContentWrapper; function PlatformNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { const styles = useThemeStyles(); @@ -51,25 +53,40 @@ function createPlatformStackNavigatorComponent - + const customComponentProps = useMemo>( + () => ({ + state, + displayName, + searchRoute, + descriptors, + }), + [state, searchRoute, descriptors], + ); + + const Content = useMemo( + () => ( + + - {renderExtraContent?.({searchRoute, styles, windowDimensions, descriptors})} - + {ExtraContent && ( + // eslint-disable-next-line react/jsx-props-no-spreading + + )} + + ), + [NavigationContent, customComponentProps, descriptors, navigation, props, stateToRender], ); + + // eslint-disable-next-line react/jsx-props-no-spreading + return NavigationContentWrapper === undefined ? Content : {Content}; } PlatformNavigator.displayName = displayName; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 866f003f2e87f..31d8ecc5676e8 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -2,6 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; +import {useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; @@ -12,15 +13,16 @@ import type { PlatformStackRouterOptions, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlaformNavigatorOptions, PlatformNavigationBuilderOptions} from './types'; +import type {CreatePlaformStackNavigatorOptions, CustomComponentProps, PlatformNavigationBuilderOptions} from './types'; function createPlatformStackNavigatorComponent( displayName: string, - options?: CreatePlaformNavigatorOptions, + options?: CreatePlaformStackNavigatorOptions, ) { const createRouter = options?.createRouter ?? StackRouter; const transformState = options?.transformState; - const renderExtraContent = options?.renderExtraContent; + const ExtraContent = options?.ExtraContent; + const NavigationContentWrapper = options?.NavigationContentWrapper; function PlatformNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { const styles = useThemeStyles(); @@ -51,21 +53,40 @@ function createPlatformStackNavigatorComponent - + const customComponentProps = useMemo>( + () => ({ + state, + displayName, + searchRoute, + descriptors, + }), + [state, searchRoute, descriptors], + ); + + const Content = useMemo( + () => ( + + - {renderExtraContent?.({searchRoute, styles, windowDimensions, descriptors})} - + {ExtraContent && ( + // eslint-disable-next-line react/jsx-props-no-spreading + + )} + + ), + [NavigationContent, customComponentProps, descriptors, navigation, props, stateToRender], ); + + // eslint-disable-next-line react/jsx-props-no-spreading + return NavigationContentWrapper === undefined ? Content : {Content}; } PlatformNavigator.displayName = displayName; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts index 7127a4eb573e4..4e629a125e174 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts @@ -33,19 +33,25 @@ type CustomCodeProps< EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, > = { - styles: ThemeStyles; - windowDimensions: WindowDimensions; descriptors: PlatformStackNavigationDescriptors; + displayName: string; }; type SearchRoute = PlatformStackNavigationState['routes'][number]; + +type CustomCodeDisplayProps = { + styles: ThemeStyles; + windowDimensions: WindowDimensions; +}; + type TransformStateProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = CustomCodeProps & { - state: PlatformStackNavigationState; -}; +> = CustomCodeProps & + CustomCodeDisplayProps & { + state: PlatformStackNavigationState; + }; type TransformStateExtraResult = { searchRoute?: SearchRoute; }; @@ -57,26 +63,38 @@ type TransformState< stateToRender: PlatformStackNavigationState; }; -type RenderExtraContentProps< +type CustomComponentProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, > = CustomCodeProps & TransformStateExtraResult; -type RenderExtraContent< + +type ExtraContent = ( + props: CustomComponentProps, +) => React.ReactElement | null; + +type NavigationContentWrapperProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = (props: RenderExtraContentProps) => React.ReactElement | null; - -type CreatePlaformNavigatorOptions< +> = React.PropsWithChildren>; +type NavigationContentWrapper< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, +> = (props: NavigationContentWrapperProps) => React.ReactElement | null; + +type CreatePlaformStackNavigatorOptions< RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, + NavigationOptions extends PlatformSpecificNavigationOptions = PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase = PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, > = { createRouter?: PlatformStackRouterFactory; + defaultScreenOptions?: NavigationOptions; transformState?: TransformState; - renderExtraContent?: RenderExtraContent; + ExtraContent?: ExtraContent; + NavigationContentWrapper?: NavigationContentWrapper; }; export type { @@ -86,7 +104,9 @@ export type { TransformStateExtraResult, TransformStateProps, TransformState, - RenderExtraContentProps, - RenderExtraContent, - CreatePlaformNavigatorOptions, + CustomComponentProps, + ExtraContent, + NavigationContentWrapperProps, + NavigationContentWrapper, + CreatePlaformStackNavigatorOptions, }; From 2fe3e72e522427251a6f55262c22e25b5c268bfa Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 15:41:38 +0200 Subject: [PATCH 073/178] simplify responsive stack navigator --- .../createResponsiveStackNavigator/RenderSearchRoute.tsx | 8 ++------ .../createResponsiveStackNavigator/getStateWithSearch.tsx | 6 +----- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx index 14f97fba0e9cc..5ce76acb82dff 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx @@ -1,13 +1,9 @@ import type {EventMapBase} from '@react-navigation/native'; import {View} from 'react-native'; -import type {RenderExtraContentProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import type {CustomComponentProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -function RenderSearchRoute({ - searchRoute, - styles, - descriptors, -}: RenderExtraContentProps) { +function RenderSearchRoute({searchRoute, styles, descriptors}: CustomComponentProps) { if (!searchRoute) { return null; } diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx index dc517327adce7..7ec2fc18cc263 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx @@ -27,11 +27,7 @@ function reduceCentralPaneRoutes(routes: Routes): Routes { return result.reverse(); } -function getStateWithSearch< - NavigationOptions extends PlatformSpecificNavigationOptions, - EventMap extends PlatformSpecificEventMap & EventMapBase, - ParamList extends ParamListBase = ParamListBase, ->({state, windowDimensions}: TransformStateProps) { +function getStateWithSearch({state, windowDimensions}: TransformStateProps) { const routes = reduceCentralPaneRoutes(state.routes); const lastRoute = routes[routes.length - 1]; From 85d015e21fc403975949d9ef1e52bb5fb7dc8039 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 15:41:46 +0200 Subject: [PATCH 074/178] simplify Bottom tab navigator --- .../BottomTabNavigationContentWrapper.tsx | 24 +++++ .../index.native.tsx | 76 ---------------- .../createCustomBottomTabNavigator/index.tsx | 87 +++++++------------ .../createCustomBottomTabNavigator/utils.ts | 25 ------ 4 files changed, 54 insertions(+), 158 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx delete mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx delete mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx new file mode 100644 index 0000000000000..3c5187e97f9eb --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx @@ -0,0 +1,24 @@ +import type {EventMapBase, ParamListBase} from '@react-navigation/native'; +import {View} from 'react-native'; +import ScreenWrapper from '@components/ScreenWrapper'; +import useThemeStyles from '@hooks/useThemeStyles'; +import type {NavigationContentWrapperProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +function BottomTabNavigationContentWrapper({ + children, + displayName, +}: NavigationContentWrapperProps) { + const styles = useThemeStyles(); + + return ( + + {children} + + ); +} + +export default BottomTabNavigationContentWrapper; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx deleted file mode 100644 index b1da7bfc4dea8..0000000000000 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.native.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; -import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {NativeStackView} from '@react-navigation/native-stack'; -import React from 'react'; -import {View} from 'react-native'; -import ScreenWrapper from '@components/ScreenWrapper'; -import useThemeStyles from '@hooks/useThemeStyles'; -import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackRouterOptions, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import BottomTabBar from './BottomTabBar'; -import type CustomBottomTabNavigatorProps from './types'; -import {defaultScreenOptions} from './utils'; - -function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions, defaultScreenOptions); - - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options, defaultScreenOptions); - - const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - StackRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - const styles = useThemeStyles(); - - return ( - - - - - - - - - ); -} -CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; - -function createCustomBottomTabNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( - CustomBottomTabNavigator, - )(); -} - -export default createCustomBottomTabNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index ac1592a5e233c..5bfda300be69c 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -1,72 +1,45 @@ -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import {StackView} from '@react-navigation/stack'; +import type {EventMapBase, ParamListBase} from '@react-navigation/native'; +import {createNavigatorFactory} from '@react-navigation/native'; import React from 'react'; -import {View} from 'react-native'; -import ScreenWrapper from '@components/ScreenWrapper'; -import useThemeStyles from '@hooks/useThemeStyles'; -import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type { + PlatformSpecificEventMap, + PlatformSpecificNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, - PlatformStackRouterOptions, - PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationStateRoute} from '@libs/Navigation/types'; +import SCREENS from '@src/SCREENS'; import BottomTabBar from './BottomTabBar'; -import type CustomBottomTabNavigatorProps from './types'; -import {defaultScreenOptions, getStateToRender} from './utils'; +import BottomTabNavigationContentWrapper from './BottomTabNavigationContentWrapper'; -function CustomBottomTabNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: CustomBottomTabNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions, defaultScreenOptions); +function transformState({state}: TransformStateProps) { + const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options, defaultScreenOptions); + // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. + // Currently this value will be switched only after the first HOME screen is rendered. + if (routesToRender[0].name !== SCREENS.HOME) { + const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); + if (routeToRender) { + routesToRender.unshift(routeToRender); + } + } - const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - PlatformStackRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - StackRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); + return {stateToRender: {...state, routes: routesToRender, index: routesToRender.length - 1}}; +} - const styles = useThemeStyles(); - const stateToRender = getStateToRender(state); +const defaultScreenOptions: PlatformStackNavigationOptions = { + animation: 'none', +}; - return ( - - - - - - - - - ); -} -CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; +const CustomBottomTabNavigator = createPlatformStackNavigatorComponent('CustomBottomTabNavigator', { + transformState, + defaultScreenOptions, + NavigationContentWrapper: BottomTabNavigationContentWrapper, + ExtraContent: () => , +}); function createCustomBottomTabNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts deleted file mode 100644 index f7fad09f25267..0000000000000 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/utils.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type {ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationStateRoute} from '@libs/Navigation/types'; -import SCREENS from '@src/SCREENS'; - -const defaultScreenOptions: PlatformStackNavigationOptions = { - animation: 'none', -}; - -function getStateToRender(state: PlatformStackNavigationState): PlatformStackNavigationState { - const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; - - // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. - // Currently this value will be switched only after the first HOME screen is rendered. - if (routesToRender[0].name !== SCREENS.HOME) { - const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); - if (routeToRender) { - routesToRender.unshift(routeToRender); - } - } - - return {...state, routes: routesToRender, index: routesToRender.length - 1}; -} - -export {defaultScreenOptions, getStateToRender}; From 00fa2444e8d134be82c1c21bc0d4bb4b0cfc8568 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 16:14:46 +0200 Subject: [PATCH 075/178] further improve logic of PlatformStackNaivgation --- .../index.native.tsx | 36 +++++++++++----- .../index.tsx | 36 +++++++++++----- .../types.ts | 42 +++++++++++++------ .../PlatformStackNavigation/types.tsx | 9 ++++ 4 files changed, 91 insertions(+), 32 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 554a596a39f90..f7780919a7b0c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -2,7 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {useMemo} from 'react'; +import {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; @@ -13,7 +13,7 @@ import type { PlatformStackRouterOptions, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlaformStackNavigatorOptions, CustomComponentProps, PlatformNavigationBuilderOptions} from './types'; +import type {CreatePlaformStackNavigatorOptions, CustomCodePropsWithTransformedState, PlatformNavigationBuilderOptions} from './types'; function createPlatformStackNavigatorComponent( displayName: string, @@ -23,6 +23,7 @@ function createPlatformStackNavigatorComponent) { const styles = useThemeStyles(); @@ -53,16 +54,27 @@ function createPlatformStackNavigatorComponent>( + const customCodeProps = useMemo>>( () => ({ state, + navigation, + descriptors, displayName, + }), + [state, navigation, descriptors], + ); + + const {stateToRender, searchRoute} = transformState?.({...customCodeProps, styles, windowDimensions}) ?? {stateToRender: state, undefined}; + + const customCodePropsWithTransformedState = useMemo< + CustomCodePropsWithTransformedState> + >( + () => ({ + ...customCodeProps, searchRoute, - descriptors, + stateToRender, }), - [state, searchRoute, descriptors], + [customCodeProps, searchRoute, stateToRender], ); const Content = useMemo( @@ -78,15 +90,19 @@ function createPlatformStackNavigatorComponent + )} ), - [NavigationContent, customComponentProps, descriptors, navigation, props, stateToRender], + [NavigationContent, customCodePropsWithTransformedState, descriptors, navigation, props, stateToRender], ); + useEffect(() => { + onIsSmallScreenWidthChange?.({...customCodePropsWithTransformedState, windowDimensions}); + }, [customCodePropsWithTransformedState, windowDimensions]); + // eslint-disable-next-line react/jsx-props-no-spreading - return NavigationContentWrapper === undefined ? Content : {Content}; + return NavigationContentWrapper === undefined ? Content : {Content}; } PlatformNavigator.displayName = displayName; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 31d8ecc5676e8..3dc86088f8db3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -2,7 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; -import {useMemo} from 'react'; +import {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; @@ -13,7 +13,7 @@ import type { PlatformStackRouterOptions, PlatformStackScreenOptionsWithoutNavigation, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlaformStackNavigatorOptions, CustomComponentProps, PlatformNavigationBuilderOptions} from './types'; +import type {CreatePlaformStackNavigatorOptions, CustomCodePropsWithTransformedState, PlatformNavigationBuilderOptions} from './types'; function createPlatformStackNavigatorComponent( displayName: string, @@ -23,6 +23,7 @@ function createPlatformStackNavigatorComponent) { const styles = useThemeStyles(); @@ -53,16 +54,27 @@ function createPlatformStackNavigatorComponent>( + const customCodeProps = useMemo>>( () => ({ state, + navigation, + descriptors, displayName, + }), + [state, navigation, descriptors], + ); + + const {stateToRender, searchRoute} = transformState?.({...customCodeProps, styles, windowDimensions}) ?? {stateToRender: state, undefined}; + + const customCodePropsWithTransformedState = useMemo< + CustomCodePropsWithTransformedState> + >( + () => ({ + ...customCodeProps, searchRoute, - descriptors, + stateToRender, }), - [state, searchRoute, descriptors], + [customCodeProps, searchRoute, stateToRender], ); const Content = useMemo( @@ -78,15 +90,19 @@ function createPlatformStackNavigatorComponent + )} ), - [NavigationContent, customComponentProps, descriptors, navigation, props, stateToRender], + [NavigationContent, customCodePropsWithTransformedState, descriptors, navigation, props, stateToRender], ); + useEffect(() => { + onIsSmallScreenWidthChange?.({...customCodePropsWithTransformedState, windowDimensions}); + }, [customCodePropsWithTransformedState, windowDimensions]); + // eslint-disable-next-line react/jsx-props-no-spreading - return NavigationContentWrapper === undefined ? Content : {Content}; + return NavigationContentWrapper === undefined ? Content : {Content}; } PlatformNavigator.displayName = displayName; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts index 4e629a125e174..168068d23913f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts @@ -1,6 +1,7 @@ import type {DefaultNavigatorOptions, EventMapBase, NavigationBuilderOptions, ParamListBase, StackActionHelpers, useNavigationBuilder} from '@react-navigation/native'; import type WindowDimensions from '@hooks/useWindowDimensions/types'; import type { + PlatformNavigationBuilderNavigation, PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationDescriptor, @@ -24,19 +25,28 @@ type PlatformNavigationBuilderResult< EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = ReturnType< - typeof useNavigationBuilder, RouterOptions, StackActionHelpers, PlatformStackNavigationOptions, EventMap, NavigationOptions> ->; + ActionHelpers extends StackActionHelpers = StackActionHelpers, +> = ReturnType, RouterOptions, ActionHelpers, PlatformStackNavigationOptions, EventMap, NavigationOptions>>; type CustomCodeProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, + ActionHelpers extends StackActionHelpers = StackActionHelpers, > = { + state: PlatformStackNavigationState; + navigation: PlatformNavigationBuilderNavigation; descriptors: PlatformStackNavigationDescriptors; displayName: string; }; +type CustomCodePropsWithTransformedState< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + ActionHelpers extends StackActionHelpers = StackActionHelpers, +> = CustomCodeProps & TransformStateExtraResult; + type SearchRoute = PlatformStackNavigationState['routes'][number]; type CustomCodeDisplayProps = { @@ -48,10 +58,7 @@ type TransformStateProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = CustomCodeProps & - CustomCodeDisplayProps & { - state: PlatformStackNavigationState; - }; +> = CustomCodeProps & CustomCodeDisplayProps; type TransformStateExtraResult = { searchRoute?: SearchRoute; }; @@ -63,21 +70,29 @@ type TransformState< stateToRender: PlatformStackNavigationState; }; -type CustomComponentProps< +type OnWindowDimensionsChangeProps< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = CustomCodeProps & { + windowDimensions: WindowDimensions; +}; + +type OnWindowDimensionsChange< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = CustomCodeProps & TransformStateExtraResult; +> = (props: OnWindowDimensionsChangeProps) => void; type ExtraContent = ( - props: CustomComponentProps, + props: CustomCodePropsWithTransformedState, ) => React.ReactElement | null; type NavigationContentWrapperProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = React.PropsWithChildren>; +> = React.PropsWithChildren>; type NavigationContentWrapper< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, @@ -93,6 +108,7 @@ type CreatePlaformStackNavigatorOptions< createRouter?: PlatformStackRouterFactory; defaultScreenOptions?: NavigationOptions; transformState?: TransformState; + onWindowDimensionsChange?: OnWindowDimensionsChange; ExtraContent?: ExtraContent; NavigationContentWrapper?: NavigationContentWrapper; }; @@ -104,7 +120,9 @@ export type { TransformStateExtraResult, TransformStateProps, TransformState, - CustomComponentProps, + OnWindowDimensionsChangeProps, + OnWindowDimensionsChange, + CustomCodePropsWithTransformedState, ExtraContent, NavigationContentWrapperProps, NavigationContentWrapper, diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types.tsx index ca66fcd87e2cc..caf1a74e08f67 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types.tsx @@ -2,10 +2,12 @@ import type { DefaultNavigatorOptions, Descriptor, EventMapBase, + NavigationHelpers, NavigationProp, ParamListBase, RouteProp, RouterFactory, + StackActionHelpers, StackNavigationState, StackRouterOptions, } from '@react-navigation/native'; @@ -102,6 +104,12 @@ type PlatformStackRouterFactory; +type PlatformNavigationBuilderNavigation< + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + ActionHelpers extends StackActionHelpers = StackActionHelpers, +> = NavigationHelpers & ActionHelpers; + type PlatformStackNavigationDescriptor< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, @@ -171,6 +179,7 @@ export type { PlatformSpecificEventMap, PlatformStackRouterOptions, PlatformStackRouterFactory, + PlatformNavigationBuilderNavigation, PlatformStackNavigationDescriptor, PlatformStackNavigationDescriptors, PlatformStackNavigationProp, From 6d250425ee48b0de7dea3f82aae2f10a04df564c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 16:14:53 +0200 Subject: [PATCH 076/178] simplify custom routers --- .../createCustomBottomTabNavigator/types.ts | 8 --- .../CustomFullScreenRouter.tsx | 5 +- .../index.native.tsx | 60 ---------------- .../createCustomFullScreenNavigator/index.tsx | 71 ++----------------- .../createCustomFullScreenNavigator/types.ts | 13 ---- .../CustomRouter.ts | 4 +- ...{RenderSearchRoute.tsx => SearchRoute.tsx} | 9 ++- .../createResponsiveStackNavigator/index.tsx | 26 +++++-- .../createResponsiveStackNavigator/types.ts | 8 --- 9 files changed, 39 insertions(+), 165 deletions(-) delete mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts delete mode 100644 src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx delete mode 100644 src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts rename src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/{RenderSearchRoute.tsx => SearchRoute.tsx} (52%) delete mode 100644 src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts deleted file mode 100644 index ebc3fb74a36b8..0000000000000 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/types.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; - -type CustomBottomTabNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap> & { - initialRouteName: string; -}; - -export default CustomBottomTabNavigatorProps; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx index 4593c0b7688ee..5e11aef378973 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx @@ -1,9 +1,8 @@ import type {ParamListBase, PartialState, Router, RouterConfigOptions} from '@react-navigation/native'; import {StackRouter} from '@react-navigation/native'; import getIsNarrowLayout from '@libs/getIsNarrowLayout'; -import type {PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import SCREENS from '@src/SCREENS'; -import type {FullScreenNavigatorRouterOptions} from './types'; type StackState = PlatformStackNavigationState | PartialState>; @@ -62,7 +61,7 @@ function adaptStateIfNecessary(state: StackState) { } } -function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { +function CustomFullScreenRouter(options: PlatformStackRouterOptions) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const stackRouter = StackRouter(options) as Router, any>; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx deleted file mode 100644 index d486013d915b3..0000000000000 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; -import {NativeStackView} from '@react-navigation/native-stack'; -import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import CustomFullScreenRouter from './CustomFullScreenRouter'; -import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; - -function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { - const nativeScreenOptions = withNativeNavigationOptions(screenOptions); - - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withNativeNavigationOptions(options); - - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - FullScreenNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - NativeStackNavigationEventMap, - NativeStackNavigationOptions - >( - CustomFullScreenRouter, - { - id, - children, - screenOptions: nativeScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - return ( - - - - ); -} -CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; - -function createCustomFullScreenNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( - CustomFullScreenNavigator, - )(); -} - -export default createCustomFullScreenNavigator; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index 1afd96ec2636d..a455d5a82e30e 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -1,69 +1,12 @@ -import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; -import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; -import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import {StackView} from '@react-navigation/stack'; -import React, {useEffect} from 'react'; -import useWindowDimensions from '@hooks/useWindowDimensions'; -import navigationRef from '@libs/Navigation/navigationRef'; -import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type { - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {ParamListBase} from '@react-navigation/native'; +import {createNavigatorFactory} from '@react-navigation/native'; +import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomFullScreenRouter from './CustomFullScreenRouter'; -import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; -function CustomFullScreenNavigator({id, initialRouteName, children, screenOptions, screenListeners, ...props}: FullScreenNavigatorProps) { - const webScreenOptions = withWebNavigationOptions(screenOptions); - - const transformScreenProps = (options: PlatformStackScreenOptionsWithoutNavigation) => - withWebNavigationOptions(options); - - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< - PlatformStackNavigationState, - FullScreenNavigatorRouterOptions, - StackActionHelpers, - PlatformStackNavigationOptions, - StackNavigationEventMap, - StackNavigationOptions - >( - CustomFullScreenRouter, - { - id, - children, - screenOptions: webScreenOptions, - screenListeners, - initialRouteName, - }, - transformScreenProps, - ); - - const {isSmallScreenWidth} = useWindowDimensions(); - - useEffect(() => { - if (!navigationRef.isReady()) { - return; - } - // We need to separately reset state of this navigator to trigger getRehydratedState. - navigation.reset(navigation.getState()); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [isSmallScreenWidth]); - - return ( - - - - ); -} -CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; +const CustomFullScreenNavigator = createPlatformStackNavigatorComponent('CustomFullScreenNavigator', { + createRouter: CustomFullScreenRouter, +}); function createCustomFullScreenNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts deleted file mode 100644 index e46989c281186..0000000000000 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -type FullScreenNavigatorRouterOptions = PlatformStackRouterOptions; - -type FullScreenNavigatorProps = DefaultNavigatorOptions< - ParamList, - PlatformStackNavigationState, - PlatformStackNavigationOptions, - PlatformStackNavigationEventMap ->; - -export type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions}; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts index 5048030269949..defc68cd0ea7c 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/CustomRouter.ts @@ -6,10 +6,10 @@ import getTopmostBottomTabRoute from '@libs/Navigation/getTopmostBottomTabRoute' import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; import linkingConfig from '@libs/Navigation/linkingConfig'; import getAdaptedStateFromPath from '@libs/Navigation/linkingConfig/getAdaptedStateFromPath'; +import type {PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationPartialRoute, RootStackParamList, State} from '@libs/Navigation/types'; import NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; -import type {ResponsiveStackNavigatorRouterOptions} from './types'; function insertRootRoute(state: State, routeToInsert: NavigationPartialRoute) { const nonModalRoutes = state.routes.filter((route) => route.name !== NAVIGATORS.RIGHT_MODAL_NAVIGATOR && route.name !== NAVIGATORS.LEFT_MODAL_NAVIGATOR); @@ -96,7 +96,7 @@ function compareAndAdaptState(state: StackNavigationState) { } } -function CustomRouter(options: ResponsiveStackNavigatorRouterOptions) { +function CustomRouter(options: PlatformStackRouterOptions) { const stackRouter = StackRouter(options); return { diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx similarity index 52% rename from src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx rename to src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx index 5ce76acb82dff..c836298a2a5f4 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/RenderSearchRoute.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx @@ -1,9 +1,12 @@ import type {EventMapBase} from '@react-navigation/native'; import {View} from 'react-native'; -import type {CustomComponentProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import useThemeStyles from '@hooks/useThemeStyles'; +import type {CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -function RenderSearchRoute({searchRoute, styles, descriptors}: CustomComponentProps) { +function SearchRoute({searchRoute, descriptors}: CustomCodePropsWithTransformedState) { + const styles = useThemeStyles(); + if (!searchRoute) { return null; } @@ -18,4 +21,4 @@ function RenderSearchRoute({searchRoute, styles, descriptors}: CustomComponentPr return {descriptor.render()}; } -export default RenderSearchRoute; +export default SearchRoute; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index f542810bfcc29..a062eb77d3014 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -1,13 +1,31 @@ -import type {ParamListBase} from '@react-navigation/native'; +import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; +import navigationRef from '@libs/Navigation/navigationRef'; import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {OnWindowDimensionsChange} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import type { + PlatformSpecificEventMap, + PlatformSpecificNavigationOptions, + PlatformStackNavigationEventMap, + PlatformStackNavigationOptions, + PlatformStackNavigationState, +} from '@libs/Navigation/PlatformStackNavigation/types'; import getStateWithSearch from './getStateWithSearch'; -import RenderSearchRoute from './RenderSearchRoute'; +import RenderSearchRoute from './SearchRoute'; + +const handleWindowDimensionsChange: OnWindowDimensionsChange = ({navigation}) => { + if (!navigationRef.isReady()) { + return; + } + // We need to separately reset state of this navigator to trigger getRehydratedState. + navigation.reset(navigation.getState()); + // eslint-disable-next-line react-hooks/exhaustive-deps +}; const ResponsiveStackNavigator = createPlatformStackNavigatorComponent('ResponsiveStackNavigator', { transformState: getStateWithSearch, - renderExtraContent: RenderSearchRoute, + ExtraContent: RenderSearchRoute, + onWindowDimensionsChange: handleWindowDimensionsChange, }); function createResponsiveStackNavigator() { diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts deleted file mode 100644 index d4df8f6ea45d0..0000000000000 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/types.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -type ResponsiveStackNavigatorRouterOptions = PlatformStackRouterOptions; - -type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap>; - -export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps}; From 0dcb55e57f929a4cb1760061bb40e77612997f12 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 18:44:42 +0200 Subject: [PATCH 077/178] improve types and add comments --- .../index.native.tsx | 21 ++-- .../index.tsx | 21 ++-- .../withNativeNavigationOptions.ts | 13 +-- .../withWebNavigationOptions.ts | 13 +-- .../types/NavigationBuilder.ts | 66 +++++++++++ .../types.ts => types/NavigatorComponent.ts} | 69 +++++------ .../types/PlatformStackNavigator.ts | 14 +++ .../types/ScreenOptions.ts | 24 ++++ .../{types.tsx => types/index.ts} | 107 +++++------------- 9 files changed, 188 insertions(+), 160 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts rename src/libs/Navigation/PlatformStackNavigation/{createPlatformStackNavigatorComponent/types.ts => types/NavigatorComponent.ts} (65%) create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts rename src/libs/Navigation/PlatformStackNavigation/{types.tsx => types/index.ts} (56%) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index f7780919a7b0c..ccc94b5372610 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -6,18 +6,14 @@ import {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type { - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackNavigatorProps, - PlatformStackRouterOptions, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlaformStackNavigatorOptions, CustomCodePropsWithTransformedState, PlatformNavigationBuilderOptions} from './types'; +import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions, PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; +import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; function createPlatformStackNavigatorComponent( displayName: string, - options?: CreatePlaformStackNavigatorOptions, + options?: CreatePlatformStackNavigatorComponentOptions, ) { const createRouter = options?.createRouter ?? StackRouter; const transformState = options?.transformState; @@ -31,9 +27,8 @@ function createPlatformStackNavigatorComponent( - screenOptionsToTransform: PlatformStackScreenOptionsWithoutNavigation, - ) => withNativeNavigationOptions(screenOptionsToTransform); + const transformScreenProps = (screenOptionsToTransform: PlatformStackScreenOptions) => + withNativeNavigationOptions(screenOptionsToTransform); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -54,7 +49,7 @@ function createPlatformStackNavigatorComponent>>( + const customCodeProps = useMemo>>( () => ({ state, navigation, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 3dc86088f8db3..9dc3fcac4196e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -6,18 +6,14 @@ import {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type { - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackNavigatorProps, - PlatformStackRouterOptions, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlaformStackNavigatorOptions, CustomCodePropsWithTransformedState, PlatformNavigationBuilderOptions} from './types'; +import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions, PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; +import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; function createPlatformStackNavigatorComponent( displayName: string, - options?: CreatePlaformStackNavigatorOptions, + options?: CreatePlatformStackNavigatorComponentOptions, ) { const createRouter = options?.createRouter ?? StackRouter; const transformState = options?.transformState; @@ -31,9 +27,8 @@ function createPlatformStackNavigatorComponent( - screenOptionsToTransform: PlatformStackScreenOptionsWithoutNavigation, - ) => withWebNavigationOptions(screenOptionsToTransform); + const transformScreenProps = (screenOptionsToTransform: PlatformStackScreenOptions) => + withWebNavigationOptions(screenOptionsToTransform); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, @@ -54,7 +49,7 @@ function createPlatformStackNavigatorComponent>>( + const customCodeProps = useMemo>>( () => ({ state, navigation, diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 3d01784fca54c..2ab69133b1b8a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -1,11 +1,8 @@ import type {ParamListBase} from '@react-navigation/native'; import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type { - PlatformStackNavigationOptions, - PlatformStackScreenOptionsPropsWithoutNavigation, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; import noAnimation from './animation/native/none'; import slideFromBottomAnimation from './animation/native/slideFromBottom'; import slideFromLeftAnimation from './animation/native/slideFromLeft'; @@ -19,11 +16,11 @@ const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigation }); function withNativeNavigationOptions( - screenOptions: PlatformStackScreenOptionsWithoutNavigation, + screenOptions: PlatformStackScreenOptions, defaultScreenOptions?: PlatformStackNavigationOptions, ) { return isRouteBasedScreenOptions(screenOptions) - ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { + ? (p: PlatformStackScreenProps) => { const routeBasedScreenOptions = screenOptions(p); return transformPlatformOptionsToNative({...defaultScreenOptions, ...routeBasedScreenOptions}); } diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 4c4aedc319245..e639bcc42f61e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -1,11 +1,8 @@ import type {ParamListBase} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type { - PlatformStackNavigationOptions, - PlatformStackScreenOptionsPropsWithoutNavigation, - PlatformStackScreenOptionsWithoutNavigation, -} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import {isRouteBasedScreenOptions, PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; import noAnimation from './animation/web/none'; import slideFromBottomAnimation from './animation/web/slideFromBottom'; import slideFromLeftAnimation from './animation/web/slideFromLeft'; @@ -20,11 +17,11 @@ const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOpt }); function withWebNavigationOptions( - screenOptions: PlatformStackScreenOptionsWithoutNavigation, + screenOptions: PlatformStackScreenOptions, defaultScreenOptions?: PlatformStackNavigationOptions, ) { return isRouteBasedScreenOptions(screenOptions) - ? (p: PlatformStackScreenOptionsPropsWithoutNavigation) => { + ? (p: PlatformStackScreenProps) => { const routeBasedScreenOptions = screenOptions(p); return transformPlatformOptionsToWeb({...defaultScreenOptions, ...routeBasedScreenOptions}); } diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts new file mode 100644 index 0000000000000..821584f586458 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigationBuilder.ts @@ -0,0 +1,66 @@ +// Represents the options passed to useNavigationBuilder for creating a custom navigation builder, +import type { + DefaultNavigatorOptions, + Descriptor, + EventMapBase, + NavigationBuilderOptions, + NavigationHelpers, + NavigationProp, + ParamListBase, + RouteProp, + StackActionHelpers, + useNavigationBuilder, +} from '@react-navigation/native'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '.'; + +// Represents the options passed to useNavigationBuilder for creating a custom navigation builder, +// using the abstracted and custom types from PlatformStackNavigation. +type PlatformNavigationBuilderOptions< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, +> = DefaultNavigatorOptions, NavigationOptions, EventMap> & NavigationBuilderOptions & RouterOptions; + +// Represents the return type of the useNavigationBuilder function using the types from PlatformStackNavigation. +type PlatformNavigationBuilderResult< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, + ActionHelpers extends StackActionHelpers = StackActionHelpers, +> = ReturnType, RouterOptions, ActionHelpers, PlatformStackNavigationOptions, EventMap, NavigationOptions>>; + +// Represents the type of the navigation object returned by useNavigationBuilder +type PlatformNavigationBuilderNavigation< + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, + ActionHelpers extends StackActionHelpers = StackActionHelpers, +> = NavigationHelpers & ActionHelpers; + +// Represents the type of a single descripter returned by useNavigationBuilder +type PlatformNavigationBuilderDescriptor< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = Descriptor< + NavigationOptions, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + NavigationProp, NavigationOptions, EventMap>, + RouteProp +>; + +// Represents the type of the descriptors object returned by useNavigationBuilder +type PlatformNavigationBuilderDescriptors< + NavigationOptions extends PlatformSpecificNavigationOptions, + EventMap extends PlatformSpecificEventMap & EventMapBase, + ParamList extends ParamListBase = ParamListBase, +> = Record>; + +export type { + PlatformNavigationBuilderOptions, + PlatformNavigationBuilderResult, + PlatformNavigationBuilderNavigation, + PlatformNavigationBuilderDescriptor, + PlatformNavigationBuilderDescriptors, +}; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts similarity index 65% rename from src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts rename to src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts index 168068d23913f..f54aefe5974b2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts @@ -1,33 +1,11 @@ -import type {DefaultNavigatorOptions, EventMapBase, NavigationBuilderOptions, ParamListBase, StackActionHelpers, useNavigationBuilder} from '@react-navigation/native'; +import type {EventMapBase, ParamListBase, StackActionHelpers} from '@react-navigation/native'; import type WindowDimensions from '@hooks/useWindowDimensions/types'; -import type { - PlatformNavigationBuilderNavigation, - PlatformSpecificEventMap, - PlatformSpecificNavigationOptions, - PlatformStackNavigationDescriptor, - PlatformStackNavigationDescriptors, - PlatformStackNavigationOptions, - PlatformStackNavigationState, - PlatformStackRouterFactory, - PlatformStackRouterOptions, -} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ThemeStyles} from '@styles/index'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState, PlatformStackRouterFactory, PlatformStackRouterOptions} from '.'; +import type {PlatformNavigationBuilderDescriptors, PlatformNavigationBuilderNavigation} from './NavigationBuilder'; -type PlatformNavigationBuilderOptions< - NavigationOptions extends PlatformSpecificNavigationOptions, - EventMap extends PlatformSpecificEventMap & EventMapBase, - ParamList extends ParamListBase = ParamListBase, - RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = DefaultNavigatorOptions, NavigationOptions, EventMap> & NavigationBuilderOptions & RouterOptions; - -type PlatformNavigationBuilderResult< - NavigationOptions extends PlatformSpecificNavigationOptions, - EventMap extends PlatformSpecificEventMap & EventMapBase, - ParamList extends ParamListBase = ParamListBase, - RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, - ActionHelpers extends StackActionHelpers = StackActionHelpers, -> = ReturnType, RouterOptions, ActionHelpers, PlatformStackNavigationOptions, EventMap, NavigationOptions>>; - +// Props that custom code receives when passed to the createPlatformStackNavigatorComponent generator function. +// Custom logic like "transformState", "onWindowDimensionsChange" and custom components like "NavigationContentWrapper" and "ExtraContent" will receive these props type CustomCodeProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, @@ -36,40 +14,49 @@ type CustomCodeProps< > = { state: PlatformStackNavigationState; navigation: PlatformNavigationBuilderNavigation; - descriptors: PlatformStackNavigationDescriptors; + descriptors: PlatformNavigationBuilderDescriptors; displayName: string; }; +// Extension of CustomCodeProps to include the output from the "transformState" function. type CustomCodePropsWithTransformedState< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, ActionHelpers extends StackActionHelpers = StackActionHelpers, -> = CustomCodeProps & TransformStateExtraResult; +> = CustomCodeProps & TransformStateResult; +// Represents a route in the search context within the navigation state. type SearchRoute = PlatformStackNavigationState['routes'][number]; +// Since we cannot use hooks like useThemeStyles and useWindowDimensions in custom code functions, +// We need to run the hooks in the navigator and pass the results as props to the custom code functions. type CustomCodeDisplayProps = { styles: ThemeStyles; windowDimensions: WindowDimensions; }; +// Props that are passed to the "transformState" function. type TransformStateProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, > = CustomCodeProps & CustomCodeDisplayProps; -type TransformStateExtraResult = { + +// The result from the "transformState" function, which includes the transformed state and the search route. +type TransformStateResult = { + stateToRender: PlatformStackNavigationState; searchRoute?: SearchRoute; }; + +// Defines a function type for transforming the navigation state based on props, and returning the transformed state and search route. type TransformState< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = (props: TransformStateProps) => TransformStateExtraResult & { - stateToRender: PlatformStackNavigationState; -}; +> = (props: TransformStateProps) => TransformStateResult; +// Props that are passed to the "onWindowDimensionsChange" callback. type OnWindowDimensionsChangeProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, @@ -78,28 +65,34 @@ type OnWindowDimensionsChangeProps< windowDimensions: WindowDimensions; }; +// Defines a function type for handling changes in window dimensions within a navigation context. type OnWindowDimensionsChange< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, > = (props: OnWindowDimensionsChangeProps) => void; +// A React component that renders extra content within the navigator, like a header or footer. type ExtraContent = ( props: CustomCodePropsWithTransformedState, ) => React.ReactElement | null; +// Props for the NavigationContentWrapper component. type NavigationContentWrapperProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, > = React.PropsWithChildren>; + +// A React component that renders extra content within the navigator, like a header or footer. type NavigationContentWrapper< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, > = (props: NavigationContentWrapperProps) => React.ReactElement | null; -type CreatePlaformStackNavigatorOptions< +// Options for creating the PlatformStackNavigator using createPlatformStackNavigatorComponent. +type CreatePlatformStackNavigatorComponentOptions< RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, NavigationOptions extends PlatformSpecificNavigationOptions = PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase = PlatformSpecificEventMap & EventMapBase, @@ -114,17 +107,15 @@ type CreatePlaformStackNavigatorOptions< }; export type { - PlatformNavigationBuilderOptions, - PlatformNavigationBuilderResult, - PlatformStackNavigationDescriptor, - TransformStateExtraResult, + TransformStateResult as TransformStateExtraResult, TransformStateProps, TransformState, OnWindowDimensionsChangeProps, OnWindowDimensionsChange, + CustomCodeProps, CustomCodePropsWithTransformedState, ExtraContent, NavigationContentWrapperProps, NavigationContentWrapper, - CreatePlaformStackNavigatorOptions, + CreatePlatformStackNavigatorComponentOptions, }; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts b/src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts new file mode 100644 index 0000000000000..4374417b93df3 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts @@ -0,0 +1,14 @@ +import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; +import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '.'; + +// Props to configure the the PlatformStackNavigator +type PlatformStackNavigatorProps< + ParamList extends ParamListBase, + RouteName extends keyof ParamList = keyof ParamList, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, +> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & + RouterOptions & + StackNavigationConfig; + +export default PlatformStackNavigatorProps; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts b/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts new file mode 100644 index 0000000000000..eeca9ab8fadb7 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts @@ -0,0 +1,24 @@ +import type {ParamListBase} from '@react-navigation/native'; +import type {PlatformStackNavigationOptions} from '.'; +import type {PlatformStackScreenProps} from '.'; +import type PlatformStackNavigatorProps from './PlatformStackNavigator'; + +// The "screenOptions" and "defaultScreenOptions" can either be an object of configuration settings or +// a factory function that returns the configuration settings based on route and navigation props. +// These types are used to represent the screen options and their factory functions. + +type PlatformStackScreenOptions = PlatformStackNavigatorProps['screenOptions']; + +// type PlatformStackScreenOptionsWithoutNavigation = +// | PlatformStackNavigationOptions +// | ((props: PlatformScreenOptionsFactoryFunctionProps) => PlatformStackNavigationOptions) +// | undefined; + +function isRouteBasedScreenOptions( + screenOptions: PlatformStackScreenOptions, +): screenOptions is (props: PlatformStackScreenProps) => PlatformStackNavigationOptions { + return typeof screenOptions === 'function'; +} + +export {isRouteBasedScreenOptions}; +export type {PlatformStackScreenOptions}; diff --git a/src/libs/Navigation/PlatformStackNavigation/types.tsx b/src/libs/Navigation/PlatformStackNavigation/types/index.ts similarity index 56% rename from src/libs/Navigation/PlatformStackNavigation/types.tsx rename to src/libs/Navigation/PlatformStackNavigation/types/index.ts index caf1a74e08f67..8d7b87f5c183b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -1,29 +1,15 @@ -import type { - DefaultNavigatorOptions, - Descriptor, - EventMapBase, - NavigationHelpers, - NavigationProp, - ParamListBase, - RouteProp, - RouterFactory, - StackActionHelpers, - StackNavigationState, - StackRouterOptions, -} from '@react-navigation/native'; +import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; -import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; +import type CommonProperties from '@src/types/utils/CommonProperties'; +// Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; -type OmitNever> = { - [K in keyof T as T[K] extends never ? never : K]: T[K]; -}; -type CommonProperties = OmitNever>; - +// Common navigation options merged from both stack and native-stack navigations. type CommonStackNavigationOptions = CommonProperties; +// Expanded navigation options including possible custom properties for platform-specific implementations. type GeneralPlatformStackNavigationOptions = { keyboardHandlingEnabled?: boolean; @@ -89,14 +75,25 @@ type GeneralPlatformStackNavigationOptions = { // orientation?: ScreenProps['screenOrientation']; }; +// Combines common and general platform-specific options for PlatformStackNavigation. type PlatformStackNavigationOptions = CommonStackNavigationOptions & GeneralPlatformStackNavigationOptions; + +// Used to represent platform-specific navigation options. type PlatformSpecificNavigationOptions = StackNavigationOptions | NativeStackNavigationOptions; +// Common event map merged from both stack and native-stack navigations. type CommonStackNavigationEventMap = CommonProperties; + +// Represents the event map that can be used in the PlatformStackNavigation (only common events). type PlatformStackNavigationEventMap = CommonStackNavigationEventMap; + +// Used to represent platform-specific event maps. type PlatformSpecificEventMap = StackNavigationOptions | NativeStackNavigationOptions; +// Router options used in the PlatformStackNavigation type PlatformStackRouterOptions = StackRouterOptions; + +// Factory function type for creating a router specific to the PlatformStackNavigation type PlatformStackRouterFactory = RouterFactory< PlatformStackNavigationState, // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -104,36 +101,7 @@ type PlatformStackRouterFactory; -type PlatformNavigationBuilderNavigation< - EventMap extends PlatformSpecificEventMap & EventMapBase, - ParamList extends ParamListBase = ParamListBase, - ActionHelpers extends StackActionHelpers = StackActionHelpers, -> = NavigationHelpers & ActionHelpers; - -type PlatformStackNavigationDescriptor< - NavigationOptions extends PlatformSpecificNavigationOptions, - EventMap extends PlatformSpecificEventMap & EventMapBase, - ParamList extends ParamListBase = ParamListBase, -> = Descriptor< - NavigationOptions, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - NavigationProp, NavigationOptions, EventMap>, - RouteProp ->; -type PlatformStackNavigationDescriptors< - NavigationOptions extends PlatformSpecificNavigationOptions, - EventMap extends PlatformSpecificEventMap & EventMapBase, - ParamList extends ParamListBase = ParamListBase, -> = Record>; - -type PlatformStackNavigatorProps< - ParamList extends ParamListBase, - RouteName extends keyof ParamList = keyof ParamList, - RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & - RouterOptions & - StackNavigationConfig; - +// Represents the navigation prop for passed to screens and "screenOptions" factory functions using the types from PlatformStackNavigation type PlatformStackNavigationProp = NavigationProp< ParamList, RouteName, @@ -142,33 +110,21 @@ type PlatformStackNavigationProp; -type PlatformStackRouteProp = RouteProp; -type PlatformStackScreenOptionsProps = { - route: PlatformStackRouteProp; - navigation: PlatformStackNavigationProp; -}; +// Represents the route prop for passed to screens and "screenOptions" factory functions using the types from PlatformStackNavigation +type PlatformStackRouteProp = RouteProp; -type PlatformStackScreenOptionsPropsWithoutNavigation = { +type PlatformStackScreenProps< + ParamList extends ParamListBase, + RouteName extends keyof ParamList = keyof ParamList, + NavigatorID extends string | undefined = undefined, + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents + NavigationProp extends PlatformStackNavigationProp | any = PlatformStackNavigationProp, +> = { route: PlatformStackRouteProp; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - navigation: any; + navigation: NavigationProp; }; -type PlatformStackScreenOptions = PlatformStackNavigatorProps['screenOptions']; - -type PlatformStackScreenOptionsWithoutNavigation = - | PlatformStackNavigationOptions - | ((props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions) - | undefined; - -function isRouteBasedScreenOptions( - screenOptions: PlatformStackScreenOptions, -): screenOptions is (props: PlatformStackScreenOptionsPropsWithoutNavigation) => PlatformStackNavigationOptions { - return typeof screenOptions === 'function'; -} - -export {isRouteBasedScreenOptions}; export type { CommonStackNavigationOptions, CommonStackNavigationEventMap, @@ -179,14 +135,7 @@ export type { PlatformSpecificEventMap, PlatformStackRouterOptions, PlatformStackRouterFactory, - PlatformNavigationBuilderNavigation, - PlatformStackNavigationDescriptor, - PlatformStackNavigationDescriptors, PlatformStackNavigationProp, PlatformStackRouteProp, - PlatformStackScreenOptions, - PlatformStackScreenOptionsWithoutNavigation, - PlatformStackScreenOptionsProps, - PlatformStackScreenOptionsPropsWithoutNavigation, - PlatformStackNavigatorProps, + PlatformStackScreenProps, }; From 8875023c36aa9b526d8c6d0e4e6e01a009187f4c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 18:44:51 +0200 Subject: [PATCH 078/178] update screen props type usage --- .../AppNavigator/Navigators/LeftModalNavigator.tsx | 4 ++-- .../AppNavigator/Navigators/RightModalNavigator.tsx | 4 ++-- src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx | 4 ++-- .../index.native.tsx | 3 ++- .../createPlatformStackNavigatorComponent/index.tsx | 3 ++- src/pages/ChatFinderPage/index.tsx | 4 ++-- src/pages/ConciergePage.tsx | 4 ++-- src/pages/DetailsPage.tsx | 4 ++-- src/pages/EditSplitBillPage.tsx | 4 ++-- src/pages/FlagCommentPage.tsx | 4 ++-- src/pages/GetAssistancePage.tsx | 4 ++-- src/pages/GroupChatNameEditPage.tsx | 4 ++-- src/pages/LogInWithShortLivedAuthTokenPage.tsx | 4 ++-- src/pages/LogOutPreviousUserPage.tsx | 4 ++-- src/pages/PrivateNotes/PrivateNotesEditPage.tsx | 4 ++-- src/pages/ProfilePage.tsx | 4 ++-- src/pages/ReferralDetailsPage.tsx | 4 ++-- .../ReimbursementAccount/ReimbursementAccountPage.tsx | 4 ++-- src/pages/ReportAvatar.tsx | 4 ++-- src/pages/ReportDescriptionPage.tsx | 4 ++-- src/pages/ReportDetailsPage.tsx | 4 ++-- src/pages/ReportParticipantDetailsPage.tsx | 4 ++-- src/pages/ReportParticipantRoleSelectionPage.tsx | 4 ++-- src/pages/RoomInvitePage.tsx | 4 ++-- src/pages/RoomMembersPage.tsx | 4 ++-- src/pages/Search/SearchPage.tsx | 4 ++-- src/pages/TransactionReceiptPage.tsx | 4 ++-- src/pages/UnlinkLoginPage.tsx | 4 ++-- src/pages/ValidateLoginPage/types.ts | 4 ++-- src/pages/home/ReportScreen.tsx | 4 ++-- src/pages/home/report/ReportAttachments.tsx | 4 ++-- .../home/report/withReportAndReportActionOrNotFound.tsx | 4 ++-- src/pages/iou/MoneyRequestWaypointPage.tsx | 4 ++-- src/pages/iou/SplitBillDetailsPage.tsx | 4 ++-- src/pages/settings/AboutPage/ShareLogPage.tsx | 4 ++-- src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx | 4 ++-- src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx | 4 ++-- .../Profile/Contacts/ContactMethodDetailsPage.tsx | 4 ++-- .../settings/Profile/Contacts/ContactMethodsPage.tsx | 4 ++-- .../settings/Profile/Contacts/NewContactMethodPage.tsx | 4 ++-- .../settings/Profile/PersonalDetails/AddressPage.tsx | 4 ++-- .../Profile/PersonalDetails/CountrySelectionPage.tsx | 4 ++-- src/pages/settings/Profile/ProfileAvatar.tsx | 4 ++-- src/pages/settings/Report/NotificationPreferencePage.tsx | 4 ++-- src/pages/settings/Report/ReportSettingsPage.tsx | 4 ++-- src/pages/settings/Report/RoomNamePage.tsx | 4 ++-- src/pages/settings/Report/VisibilityPage.tsx | 4 ++-- src/pages/settings/Report/WriteCapabilityPage.tsx | 4 ++-- src/pages/settings/Security/CloseAccountPage.tsx | 4 ++-- src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx | 4 ++-- .../settings/Wallet/Card/GetPhysicalCardAddress.tsx | 4 ++-- .../settings/Wallet/Card/GetPhysicalCardConfirm.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx | 4 ++-- src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx | 4 ++-- src/pages/settings/Wallet/ExpensifyCardPage.tsx | 4 ++-- src/pages/settings/Wallet/ReportCardLostPage.tsx | 4 ++-- src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx | 4 ++-- src/pages/tasks/NewTaskDescriptionPage.tsx | 4 ++-- src/pages/tasks/NewTaskDetailsPage.tsx | 4 ++-- src/pages/tasks/NewTaskPage.tsx | 4 ++-- src/pages/tasks/NewTaskTitlePage.tsx | 4 ++-- src/pages/wallet/WalletStatementPage.tsx | 4 ++-- src/pages/workspace/WorkspaceAvatar.tsx | 4 ++-- src/pages/workspace/WorkspaceInitialPage.tsx | 4 ++-- src/pages/workspace/WorkspaceInviteMessagePage.tsx | 4 ++-- src/pages/workspace/WorkspaceInvitePage.tsx | 4 ++-- src/pages/workspace/WorkspaceJoinUserPage.tsx | 4 ++-- src/pages/workspace/WorkspaceMembersPage.tsx | 4 ++-- src/pages/workspace/WorkspaceMoreFeaturesPage.tsx | 4 ++-- src/pages/workspace/bills/WorkspaceBillsPage.tsx | 4 ++-- src/pages/workspace/card/WorkspaceCardPage.tsx | 4 ++-- src/pages/workspace/categories/CategorySettingsPage.tsx | 4 ++-- src/pages/workspace/categories/CreateCategoryPage.tsx | 4 ++-- src/pages/workspace/categories/EditCategoryPage.tsx | 4 ++-- .../categories/WorkspaceCategoriesSettingsPage.tsx | 4 ++-- .../workspace/distanceRates/CreateDistanceRatePage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRateDetailsPage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRateEditPage.tsx | 4 ++-- .../workspace/distanceRates/PolicyDistanceRatesPage.tsx | 4 ++-- .../distanceRates/PolicyDistanceRatesSettingsPage.tsx | 5 ++--- src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx | 4 ++-- .../workspace/members/WorkspaceMemberDetailsPage.tsx | 4 ++-- .../workspace/members/WorkspaceOwnerChangeErrorPage.tsx | 4 ++-- .../members/WorkspaceOwnerChangeSuccessPage.tsx | 4 ++-- .../members/WorkspaceOwnerChangeWrapperPage.tsx | 4 ++-- .../workspace/reimburse/WorkspaceRateAndUnitPage.tsx | 4 ++-- src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx | 4 ++-- src/pages/workspace/tags/EditTagPage.tsx | 4 ++-- src/pages/workspace/tags/TagSettingsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceCreateTagPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceEditTagsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceTagsPage.tsx | 4 ++-- src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx | 4 ++-- src/pages/workspace/taxes/NamePage.tsx | 4 ++-- src/pages/workspace/taxes/ValuePage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceTaxesPage.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsCustomTaxName.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsForeignCurrency.tsx | 4 ++-- src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx | 4 ++-- .../taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx | 4 ++-- src/pages/workspace/travel/WorkspaceTravelPage.tsx | 4 ++-- .../workflows/WorkspaceAutoReportingFrequencyPage.tsx | 4 ++-- .../WorkspaceAutoReportingMonthlyOffsetPage.tsx | 4 ++-- .../workflows/WorkspaceWorkflowsApproverPage.tsx | 4 ++-- src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx | 6 ++---- .../workspace/workflows/WorkspaceWorkflowsPayerPage.tsx | 4 ++-- src/types/utils/CommonProperties.ts | 9 +++++++++ tests/perf-test/ChatFinderPage.perf-test.tsx | 4 ++-- tests/perf-test/ReportScreen.perf-test.tsx | 4 ++-- 111 files changed, 229 insertions(+), 221 deletions(-) create mode 100644 src/types/utils/CommonProperties.ts diff --git a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx index c42b67f75c085..5cf8754d0961b 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/LeftModalNavigator.tsx @@ -6,13 +6,13 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, LeftModalNavigatorParamList} from '@libs/Navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type LeftModalNavigatorProps = PlatformStackScreenOptionsProps; +type LeftModalNavigatorProps = PlatformStackScreenProps; const Stack = createPlatformStackNavigator(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 6b147b25f10b7..ad68936b080fd 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -7,13 +7,13 @@ import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwi import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import type NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type RightModalNavigatorProps = PlatformStackScreenOptionsProps; +type RightModalNavigatorProps = PlatformStackScreenProps; const Stack = createPlatformStackNavigator(); diff --git a/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx b/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx index f265a5566e2b9..9854ea136e8b9 100644 --- a/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/ReportScreenWrapper.tsx @@ -1,11 +1,11 @@ import React from 'react'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@navigation/types'; import ReportScreen from '@pages/home/ReportScreen'; import type SCREENS from '@src/SCREENS'; import ReportScreenIDSetter from './ReportScreenIDSetter'; -type ReportScreenWrapperProps = PlatformStackScreenOptionsProps; +type ReportScreenWrapperProps = PlatformStackScreenProps; function ReportScreenWrapper({route, navigation}: ReportScreenWrapperProps) { // The ReportScreen without the reportID set will display a skeleton diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index ccc94b5372610..14b4aa83e83c2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -6,10 +6,11 @@ import {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; -import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions, PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; +import {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 9dc3fcac4196e..bfb0811fbda8b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -6,10 +6,11 @@ import {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; -import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions, PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; +import {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/pages/ChatFinderPage/index.tsx b/src/pages/ChatFinderPage/index.tsx index 55f2a2bf282d2..0c364f4538c24 100644 --- a/src/pages/ChatFinderPage/index.tsx +++ b/src/pages/ChatFinderPage/index.tsx @@ -14,7 +14,7 @@ import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import type {MaybePhraseKey} from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import Performance from '@libs/Performance'; @@ -35,7 +35,7 @@ type ChatFinderPageOnyxProps = { isSearchingForReports: OnyxEntry; }; -type ChatFinderPageProps = ChatFinderPageOnyxProps & PlatformStackScreenOptionsProps; +type ChatFinderPageProps = ChatFinderPageOnyxProps & PlatformStackScreenProps; type ChatFinderPageSectionItem = { data: OptionData[]; diff --git a/src/pages/ConciergePage.tsx b/src/pages/ConciergePage.tsx index cc3b2334e9e46..c22aa867f3da0 100644 --- a/src/pages/ConciergePage.tsx +++ b/src/pages/ConciergePage.tsx @@ -8,7 +8,7 @@ import ReportHeaderSkeletonView from '@components/ReportHeaderSkeletonView'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as App from '@userActions/App'; import * as Report from '@userActions/Report'; @@ -21,7 +21,7 @@ type ConciergePageOnyxProps = { session: OnyxEntry; }; -type ConciergePageProps = ConciergePageOnyxProps & PlatformStackScreenOptionsProps; +type ConciergePageProps = ConciergePageOnyxProps & PlatformStackScreenProps; /* * This is a "utility page", that does this: diff --git a/src/pages/DetailsPage.tsx b/src/pages/DetailsPage.tsx index dceb5785ba120..56cc29d5bc4a3 100755 --- a/src/pages/DetailsPage.tsx +++ b/src/pages/DetailsPage.tsx @@ -19,7 +19,7 @@ import Text from '@components/Text'; import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -40,7 +40,7 @@ type DetailsPageOnyxProps = { session: OnyxEntry; }; -type DetailsPageProps = DetailsPageOnyxProps & PlatformStackScreenOptionsProps; +type DetailsPageProps = DetailsPageOnyxProps & PlatformStackScreenProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/EditSplitBillPage.tsx b/src/pages/EditSplitBillPage.tsx index d9969ecf9d8c4..7474ff672c340 100644 --- a/src/pages/EditSplitBillPage.tsx +++ b/src/pages/EditSplitBillPage.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {TransactionChanges} from '@libs/TransactionUtils'; @@ -32,7 +32,7 @@ type EditSplitBillOnyxProps = { draftTransaction: OnyxEntry; }; -type EditSplitBillProps = EditSplitBillOnyxProps & PlatformStackScreenOptionsProps; +type EditSplitBillProps = EditSplitBillOnyxProps & PlatformStackScreenProps; function EditSplitBillPage({route, transaction, draftTransaction, report}: EditSplitBillProps) { const {field: fieldToEdit, reportID, reportActionID, tagIndex} = route.params; diff --git a/src/pages/FlagCommentPage.tsx b/src/pages/FlagCommentPage.tsx index d499ac534bc53..93c2da15d8db9 100644 --- a/src/pages/FlagCommentPage.tsx +++ b/src/pages/FlagCommentPage.tsx @@ -13,7 +13,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as Report from '@userActions/Report'; @@ -30,7 +30,7 @@ type FlagCommentPageWithOnyxProps = { parentReportAction: OnyxEntry; }; -type FlagCommentPageNavigationProps = PlatformStackScreenOptionsProps; +type FlagCommentPageNavigationProps = PlatformStackScreenProps; type FlagCommentPageProps = FlagCommentPageNavigationProps & WithReportAndReportActionOrNotFoundProps & FlagCommentPageWithOnyxProps; diff --git a/src/pages/GetAssistancePage.tsx b/src/pages/GetAssistancePage.tsx index 5b2047b2580b4..381a1716f59b9 100644 --- a/src/pages/GetAssistancePage.tsx +++ b/src/pages/GetAssistancePage.tsx @@ -13,7 +13,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import * as Report from '@userActions/Report'; @@ -28,7 +28,7 @@ type GetAssistanceOnyxProps = { account: OnyxEntry; }; -type GetAssistancePageProps = GetAssistanceOnyxProps & PlatformStackScreenOptionsProps; +type GetAssistancePageProps = GetAssistanceOnyxProps & PlatformStackScreenProps; function GetAssistancePage({route, account}: GetAssistancePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/GroupChatNameEditPage.tsx b/src/pages/GroupChatNameEditPage.tsx index 8fdc945c9a8ff..85a99b50b2ac7 100644 --- a/src/pages/GroupChatNameEditPage.tsx +++ b/src/pages/GroupChatNameEditPage.tsx @@ -10,7 +10,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {NewChatNavigatorParamList} from '@navigation/types'; @@ -27,7 +27,7 @@ type GroupChatNameEditPageOnyxProps = { groupChatDraft: NewGroupChatDraft | null; }; -type GroupChatNameEditPageProps = PlatformStackScreenOptionsProps & GroupChatNameEditPageOnyxProps; +type GroupChatNameEditPageProps = PlatformStackScreenProps & GroupChatNameEditPageOnyxProps; function GroupChatNameEditPage({groupChatDraft, route}: GroupChatNameEditPageProps) { // If we have a reportID this means we are using this page to update an existing Group Chat name diff --git a/src/pages/LogInWithShortLivedAuthTokenPage.tsx b/src/pages/LogInWithShortLivedAuthTokenPage.tsx index b52e45e50beac..265f7666deccf 100644 --- a/src/pages/LogInWithShortLivedAuthTokenPage.tsx +++ b/src/pages/LogInWithShortLivedAuthTokenPage.tsx @@ -13,7 +13,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import CONST from '@src/CONST'; @@ -28,7 +28,7 @@ type LogInWithShortLivedAuthTokenPageOnyxProps = { account: OnyxEntry; }; -type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & PlatformStackScreenOptionsProps; +type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & PlatformStackScreenProps; function LogInWithShortLivedAuthTokenPage({route, account}: LogInWithShortLivedAuthTokenPageProps) { const theme = useTheme(); diff --git a/src/pages/LogOutPreviousUserPage.tsx b/src/pages/LogOutPreviousUserPage.tsx index f2204c691bd2d..435efa8be6ce1 100644 --- a/src/pages/LogOutPreviousUserPage.tsx +++ b/src/pages/LogOutPreviousUserPage.tsx @@ -4,7 +4,7 @@ import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import {InitialURLContext} from '@components/InitialURLContextProvider'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as SessionUtils from '@libs/SessionUtils'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ type LogOutPreviousUserPageOnyxProps = { isAccountLoading: boolean; }; -type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & PlatformStackScreenOptionsProps; +type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & PlatformStackScreenProps; // This page is responsible for handling transitions from OldDot. Specifically, it logs the current user // out if the transition is for another user. diff --git a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx index 0f3f235b2ff82..ccc4ecc0af3e4 100644 --- a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx @@ -18,7 +18,7 @@ import useHtmlPaste from '@hooks/useHtmlPaste'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; @@ -40,7 +40,7 @@ type PrivateNotesEditPageOnyxProps = { type PrivateNotesEditPageProps = WithReportAndPrivateNotesOrNotFoundProps & PrivateNotesEditPageOnyxProps & - PlatformStackScreenOptionsProps & { + PlatformStackScreenProps & { /** The report currently being looked at */ report: Report; }; diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx index 8ba8e3f9c6b66..80a49305c05b0 100755 --- a/src/pages/ProfilePage.tsx +++ b/src/pages/ProfilePage.tsx @@ -21,7 +21,7 @@ import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -39,7 +39,7 @@ import type {PersonalDetails, Report} from '@src/types/onyx'; import type {EmptyObject} from '@src/types/utils/EmptyObject'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ProfilePageProps = PlatformStackScreenOptionsProps; +type ProfilePageProps = PlatformStackScreenProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx index b903caa3a7a41..76dac1aca1a88 100644 --- a/src/pages/ReferralDetailsPage.tsx +++ b/src/pages/ReferralDetailsPage.tsx @@ -14,7 +14,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReferralDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import CONST from '@src/CONST'; @@ -29,7 +29,7 @@ type ReferralDetailsPageOnyxProps = { account: OnyxEntry; }; -type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & PlatformStackScreenOptionsProps; +type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & PlatformStackScreenProps; function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const theme = useTheme(); diff --git a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx index 72f0c91cec60e..745a4ac2e29b1 100644 --- a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx +++ b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx @@ -17,7 +17,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import getPlaidOAuthReceivedRedirectURI from '@libs/getPlaidOAuthReceivedRedirectURI'; import BankAccount from '@libs/models/BankAccount'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp, PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReimbursementAccountNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import shouldReopenOnfido from '@libs/shouldReopenOnfido'; @@ -67,7 +67,7 @@ type ReimbursementAccountOnyxProps = { type ReimbursementAccountPageProps = WithPolicyOnyxProps & ReimbursementAccountOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; const ROUTE_NAMES = { COMPANY: 'company', diff --git a/src/pages/ReportAvatar.tsx b/src/pages/ReportAvatar.tsx index c8171639980f3..63c3d154e74cc 100644 --- a/src/pages/ReportAvatar.tsx +++ b/src/pages/ReportAvatar.tsx @@ -3,7 +3,7 @@ import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -18,7 +18,7 @@ type ReportAvatarOnyxProps = { policies: OnyxCollection; }; -type ReportAvatarProps = ReportAvatarOnyxProps & PlatformStackScreenOptionsProps; +type ReportAvatarProps = ReportAvatarOnyxProps & PlatformStackScreenProps; function ReportAvatar({report = {} as Report, policies, isLoadingApp = true}: ReportAvatarProps) { const policy = policies?.[`${ONYXKEYS.COLLECTION.POLICY}${report?.policyID ?? '0'}`]; diff --git a/src/pages/ReportDescriptionPage.tsx b/src/pages/ReportDescriptionPage.tsx index 4fda961662a72..0aabe5ad5d58d 100644 --- a/src/pages/ReportDescriptionPage.tsx +++ b/src/pages/ReportDescriptionPage.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportDescriptionNavigatorParamList} from '@navigation/types'; import type SCREENS from '@src/SCREENS'; @@ -8,7 +8,7 @@ import withReportOrNotFound from './home/report/withReportOrNotFound'; import RoomDescriptionPage from './RoomDescriptionPage'; import TaskDescriptionPage from './tasks/TaskDescriptionPage'; -type ReportDescriptionPageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type ReportDescriptionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function ReportDescriptionPage(props: ReportDescriptionPageProps) { const isTask = ReportUtils.isTaskReport(props.report); diff --git a/src/pages/ReportDetailsPage.tsx b/src/pages/ReportDetailsPage.tsx index 3dbcf49b1db9b..90909d7e4a729 100644 --- a/src/pages/ReportDetailsPage.tsx +++ b/src/pages/ReportDetailsPage.tsx @@ -23,7 +23,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -58,7 +58,7 @@ type ReportDetailsPageOnyxProps = { /** Session info for the currently logged in user. */ session: OnyxEntry; }; -type ReportDetailsPageProps = ReportDetailsPageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type ReportDetailsPageProps = ReportDetailsPageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenProps; function ReportDetailsPage({policies, report, session, personalDetails}: ReportDetailsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/ReportParticipantDetailsPage.tsx b/src/pages/ReportParticipantDetailsPage.tsx index c0cf678441d2e..8aea77410d2f2 100644 --- a/src/pages/ReportParticipantDetailsPage.tsx +++ b/src/pages/ReportParticipantDetailsPage.tsx @@ -16,7 +16,7 @@ import useLocalize from '@hooks/useLocalize'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import Navigation from '@navigation/Navigation'; import type {ParticipantsNavigatorParamList} from '@navigation/types'; @@ -34,7 +34,7 @@ type ReportParticipantDetailsOnyxProps = { }; type ReportParticipantDetailsPageProps = WithReportOrNotFoundProps & - PlatformStackScreenOptionsProps & + PlatformStackScreenProps & ReportParticipantDetailsOnyxProps; function ReportParticipantDetails({personalDetails, report, route}: ReportParticipantDetailsPageProps) { diff --git a/src/pages/ReportParticipantRoleSelectionPage.tsx b/src/pages/ReportParticipantRoleSelectionPage.tsx index 5c62d130cc0ca..1db4e878bcb7a 100644 --- a/src/pages/ReportParticipantRoleSelectionPage.tsx +++ b/src/pages/ReportParticipantRoleSelectionPage.tsx @@ -9,7 +9,7 @@ import type {ListItem} from '@components/SelectionList/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {ParticipantsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -19,7 +19,7 @@ import NotFoundPage from './ErrorPage/NotFoundPage'; import withReportOrNotFound from './home/report/withReportOrNotFound'; import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound'; -type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; type ListItemType = ListItem & { value: ValueOf; diff --git a/src/pages/RoomInvitePage.tsx b/src/pages/RoomInvitePage.tsx index 3ec88780970ee..15681ce8816a1 100644 --- a/src/pages/RoomInvitePage.tsx +++ b/src/pages/RoomInvitePage.tsx @@ -17,7 +17,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -34,7 +34,7 @@ import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound import withReportOrNotFound from './home/report/withReportOrNotFound'; import SearchInputManager from './workspace/SearchInputManager'; -type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & PlatformStackScreenOptionsProps; +type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & PlatformStackScreenProps; type Sections = Array>>; diff --git a/src/pages/RoomMembersPage.tsx b/src/pages/RoomMembersPage.tsx index 75e6e80e2fae4..9551e5b0f10f2 100644 --- a/src/pages/RoomMembersPage.tsx +++ b/src/pages/RoomMembersPage.tsx @@ -21,7 +21,7 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -45,7 +45,7 @@ type RoomMembersPageOnyxProps = { type RoomMembersPageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps & RoomMembersPageOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function RoomMembersPage({report, session, policies}: RoomMembersPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx index ddb5c2638536a..cf7f68a56abe0 100644 --- a/src/pages/Search/SearchPage.tsx +++ b/src/pages/Search/SearchPage.tsx @@ -1,13 +1,13 @@ import React from 'react'; import ScreenWrapper from '@components/ScreenWrapper'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; // import EmptySearchView from './EmptySearchView'; import SearchResults from './SearchResults'; import useCustomBackHandler from './useCustomBackHandler'; -type SearchPageProps = PlatformStackScreenOptionsProps; +type SearchPageProps = PlatformStackScreenProps; function SearchPage({route}: SearchPageProps) { useCustomBackHandler(); diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 03a358d71b3d2..037153ff64786 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReceiptUtils from '@libs/ReceiptUtils'; import * as ReportActionUtils from '@libs/ReportActionsUtils'; @@ -23,7 +23,7 @@ type TransactionReceiptOnyxProps = { reportMetadata: OnyxEntry; }; -type TransactionReceiptProps = TransactionReceiptOnyxProps & PlatformStackScreenOptionsProps; +type TransactionReceiptProps = TransactionReceiptOnyxProps & PlatformStackScreenProps; function TransactionReceipt({transaction, report, reportMetadata = {isLoadingInitialReportActions: true}, route}: TransactionReceiptProps) { const receiptURIs = ReceiptUtils.getThumbnailAndImageURIs(transaction); diff --git a/src/pages/UnlinkLoginPage.tsx b/src/pages/UnlinkLoginPage.tsx index aa9b0b3872255..eaa60824ab6a2 100644 --- a/src/pages/UnlinkLoginPage.tsx +++ b/src/pages/UnlinkLoginPage.tsx @@ -4,7 +4,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import usePrevious from '@hooks/usePrevious'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@navigation/types'; import * as Session from '@userActions/Session'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -16,7 +16,7 @@ type UnlinkLoginPageOnyxProps = { account: OnyxEntry; }; -type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & PlatformStackScreenOptionsProps; +type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & PlatformStackScreenProps; function UnlinkLoginPage({route, account}: UnlinkLoginPageProps) { const accountID = route.params.accountID ?? -1; diff --git a/src/pages/ValidateLoginPage/types.ts b/src/pages/ValidateLoginPage/types.ts index 044de8146a46a..47208eee2ebb1 100644 --- a/src/pages/ValidateLoginPage/types.ts +++ b/src/pages/ValidateLoginPage/types.ts @@ -1,5 +1,5 @@ import type {OnyxEntry} from 'react-native-onyx'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import type {Account, Credentials, Session} from '@src/types/onyx'; @@ -17,6 +17,6 @@ type ValidateLoginPageOnyxProps = ValidateLoginPageOnyxNativeProps & { credentials: OnyxEntry; }; -type ValidateLoginPageProps = OnyxProps & PlatformStackScreenOptionsProps; +type ValidateLoginPageProps = OnyxProps & PlatformStackScreenProps; export type {ValidateLoginPageOnyxNativeProps, ValidateLoginPageOnyxProps, ValidateLoginPageProps}; diff --git a/src/pages/home/ReportScreen.tsx b/src/pages/home/ReportScreen.tsx index eabc2888a6e92..361810ed1ff79 100644 --- a/src/pages/home/ReportScreen.tsx +++ b/src/pages/home/ReportScreen.tsx @@ -29,7 +29,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import Timing from '@libs/actions/Timing'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import clearReportNotifications from '@libs/Notification/clearReportNotifications'; import Performance from '@libs/Performance'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -89,7 +89,7 @@ type OnyxHOCProps = { markReadyForHydration?: () => void; }; -type ReportScreenNavigationProps = PlatformStackScreenOptionsProps; +type ReportScreenNavigationProps = PlatformStackScreenProps; type ReportScreenPropsWithoutParentReportAction = OnyxHOCProps & CurrentReportIDContextValue & ReportScreenOnyxPropsWithoutParentReportAction & ReportScreenNavigationProps; diff --git a/src/pages/home/report/ReportAttachments.tsx b/src/pages/home/report/ReportAttachments.tsx index 23f1eff879264..7e33b7047cc5b 100644 --- a/src/pages/home/report/ReportAttachments.tsx +++ b/src/pages/home/report/ReportAttachments.tsx @@ -3,13 +3,13 @@ import AttachmentModal from '@components/AttachmentModal'; import type {Attachment} from '@components/Attachments/types'; import ComposerFocusManager from '@libs/ComposerFocusManager'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportAttachmentsProps = PlatformStackScreenOptionsProps; +type ReportAttachmentsProps = PlatformStackScreenProps; function ReportAttachments({route}: ReportAttachmentsProps) { const reportID = route.params.reportID; diff --git a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx index 7a845ecddcce6..59e8a30dbd774 100644 --- a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx +++ b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx @@ -8,7 +8,7 @@ import withWindowDimensions from '@components/withWindowDimensions'; import type {WindowDimensionsProps} from '@components/withWindowDimensions/types'; import compose from '@libs/compose'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList, SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -46,7 +46,7 @@ type OnyxProps = { type WithReportAndReportActionOrNotFoundProps = OnyxProps & WindowDimensionsProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; export default function ( WrappedComponent: ComponentType>, diff --git a/src/pages/iou/MoneyRequestWaypointPage.tsx b/src/pages/iou/MoneyRequestWaypointPage.tsx index e742a9c5d4c16..f9b78d77b81e0 100644 --- a/src/pages/iou/MoneyRequestWaypointPage.tsx +++ b/src/pages/iou/MoneyRequestWaypointPage.tsx @@ -1,6 +1,6 @@ import React from 'react'; import {withOnyx} from 'react-native-onyx'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; @@ -9,7 +9,7 @@ import IOURequestStepWaypoint from './request/step/IOURequestStepWaypoint'; type MoneyRequestWaypointPageOnyxProps = { transactionID: string | undefined; }; -type MoneyRequestWaypointPageProps = PlatformStackScreenOptionsProps & MoneyRequestWaypointPageOnyxProps; +type MoneyRequestWaypointPageProps = PlatformStackScreenProps & MoneyRequestWaypointPageOnyxProps; // This component is responsible for grabbing the transactionID from the IOU key // You can't use Onyx props in the withOnyx mapping, so we need to set up and access the transactionID here, and then pass it down so that WaypointEditor can subscribe to the transaction. diff --git a/src/pages/iou/SplitBillDetailsPage.tsx b/src/pages/iou/SplitBillDetailsPage.tsx index 9946068e11bc8..1275452ebd05d 100644 --- a/src/pages/iou/SplitBillDetailsPage.tsx +++ b/src/pages/iou/SplitBillDetailsPage.tsx @@ -9,7 +9,7 @@ import MoneyRequestHeaderStatusBar from '@components/MoneyRequestHeaderStatusBar import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -51,7 +51,7 @@ type SplitBillDetailsPageOnyxProps = SplitBillDetailsPageTransactionOnyxProps & type SplitBillDetailsPageProps = WithReportAndReportActionOrNotFoundProps & SplitBillDetailsPageOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function SplitBillDetailsPage({personalDetails, report, route, reportActions, transaction, draftTransaction, session}: SplitBillDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/AboutPage/ShareLogPage.tsx b/src/pages/settings/AboutPage/ShareLogPage.tsx index 64fca1496422d..ad4006b06e034 100644 --- a/src/pages/settings/AboutPage/ShareLogPage.tsx +++ b/src/pages/settings/AboutPage/ShareLogPage.tsx @@ -1,10 +1,10 @@ import React from 'react'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import ShareLogList from './ShareLogList'; -type ShareLogPageProps = PlatformStackScreenOptionsProps; +type ShareLogPageProps = PlatformStackScreenProps; function ShareLogPage({route}: ShareLogPageProps) { return ; diff --git a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx index 7172f60649503..81c95b243157b 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx @@ -12,7 +12,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -31,7 +31,7 @@ type ExitSurveyConfirmPageOnyxProps = { isLoading: OnyxEntry; }; -type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & PlatformStackScreenOptionsProps; +type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & PlatformStackScreenProps; function ExitSurveyConfirmPage({exitReason, isLoading, route, navigation}: ExitSurveyConfirmPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx index 9f28445e89c07..8ade6b1703951 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx @@ -16,7 +16,7 @@ import useSafeAreaInsets from '@hooks/useSafeAreaInsets'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import Navigation from '@navigation/Navigation'; @@ -35,7 +35,7 @@ type ExitSurveyResponsePageOnyxProps = { draftResponse: string; }; -type ExitSurveyResponsePageProps = ExitSurveyResponsePageOnyxProps & PlatformStackScreenOptionsProps; +type ExitSurveyResponsePageProps = ExitSurveyResponsePageOnyxProps & PlatformStackScreenProps; function ExitSurveyResponsePage({draftResponse, route, navigation}: ExitSurveyResponsePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx index 4ce9f8b58351d..58780d63f5d4d 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx @@ -21,7 +21,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {canUseTouchScreen} from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import * as User from '@userActions/User'; @@ -41,7 +41,7 @@ const policiesSelector = (policy: OnyxEntry): Pick; +type ContactMethodDetailsPageProps = PlatformStackScreenProps; function ContactMethodDetailsPage({route}: ContactMethodDetailsPageProps) { const [loginList, loginListResult] = useOnyx(ONYXKEYS.LOGIN_LIST); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx index 79aee2186fd03..5fec33ce4a155 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx @@ -15,7 +15,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -32,7 +32,7 @@ type ContactMethodsPageOnyxProps = { session: OnyxEntry; }; -type ContactMethodsPageProps = ContactMethodsPageOnyxProps & PlatformStackScreenOptionsProps; +type ContactMethodsPageProps = ContactMethodsPageOnyxProps & PlatformStackScreenProps; function ContactMethodsPage({loginList, session, route}: ContactMethodsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx index a57e42fb37cea..8edcc669be86d 100644 --- a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx +++ b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx @@ -16,7 +16,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as User from '@userActions/User'; import CONST from '@src/CONST'; @@ -32,7 +32,7 @@ type NewContactMethodPageOnyxProps = { loginList: OnyxEntry; }; -type NewContactMethodPageProps = NewContactMethodPageOnyxProps & PlatformStackScreenOptionsProps; +type NewContactMethodPageProps = NewContactMethodPageOnyxProps & PlatformStackScreenProps; const addNewContactMethod = (values: FormOnyxValues) => { const phoneLogin = LoginUtils.getPhoneLogin(values.phoneOrEmail); diff --git a/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx b/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx index a48b13e6fc46c..f40405d2e1a6d 100644 --- a/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/AddressPage.tsx @@ -9,7 +9,7 @@ import useGeographicalStateFromRoute from '@hooks/useGeographicalStateFromRoute' import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetails from '@userActions/PersonalDetails'; import type {FormOnyxValues} from '@src/components/Form/types'; @@ -27,7 +27,7 @@ type AddressPageOnyxProps = { isLoadingApp: OnyxEntry; }; -type AddressPageProps = PlatformStackScreenOptionsProps & AddressPageOnyxProps; +type AddressPageProps = PlatformStackScreenProps & AddressPageOnyxProps; /** * Submit form to update user's first and last legal name diff --git a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx index fc8a250ca1441..44e61bc7b3189 100644 --- a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx @@ -5,7 +5,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type {CountryData} from '@libs/searchCountryOptions'; import searchCountryOptions from '@libs/searchCountryOptions'; @@ -15,7 +15,7 @@ import type {TranslationPaths} from '@src/languages/types'; import type {Route} from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type CountrySelectionPageProps = PlatformStackScreenOptionsProps; +type CountrySelectionPageProps = PlatformStackScreenProps; function CountrySelectionPage({route, navigation}: CountrySelectionPageProps) { const [searchValue, setSearchValue] = useState(''); diff --git a/src/pages/settings/Profile/ProfileAvatar.tsx b/src/pages/settings/Profile/ProfileAvatar.tsx index 0601c427a30e7..ebec25da7a636 100644 --- a/src/pages/settings/Profile/ProfileAvatar.tsx +++ b/src/pages/settings/Profile/ProfileAvatar.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -19,7 +19,7 @@ type ProfileAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type ProfileAvatarProps = ProfileAvatarOnyxProps & PlatformStackScreenOptionsProps; +type ProfileAvatarProps = ProfileAvatarOnyxProps & PlatformStackScreenProps; function ProfileAvatar({route, personalDetails, personalDetailsMetadata, isLoadingApp = true}: ProfileAvatarProps) { const personalDetail = personalDetails?.[route.params.accountID]; diff --git a/src/pages/settings/Report/NotificationPreferencePage.tsx b/src/pages/settings/Report/NotificationPreferencePage.tsx index 2200c616dafbf..108b6576ad96d 100644 --- a/src/pages/settings/Report/NotificationPreferencePage.tsx +++ b/src/pages/settings/Report/NotificationPreferencePage.tsx @@ -5,7 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -14,7 +14,7 @@ import * as ReportActions from '@userActions/Report'; import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type NotificationPreferencePageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type NotificationPreferencePageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function NotificationPreferencePage({report}: NotificationPreferencePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Report/ReportSettingsPage.tsx b/src/pages/settings/Report/ReportSettingsPage.tsx index 2b1c99200443c..8248687921243 100644 --- a/src/pages/settings/Report/ReportSettingsPage.tsx +++ b/src/pages/settings/Report/ReportSettingsPage.tsx @@ -11,7 +11,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ReportSettingsPageProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type ReportSettingsPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function ReportSettingsPage({report, policies}: ReportSettingsPageProps) { const reportID = report?.reportID ?? ''; diff --git a/src/pages/settings/Report/RoomNamePage.tsx b/src/pages/settings/Report/RoomNamePage.tsx index 922432e7366d3..f3ae524cc1548 100644 --- a/src/pages/settings/Report/RoomNamePage.tsx +++ b/src/pages/settings/Report/RoomNamePage.tsx @@ -15,7 +15,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; @@ -37,7 +37,7 @@ type RoomNamePageOnyxProps = { policy: OnyxEntry; }; -type RoomNamePageProps = RoomNamePageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type RoomNamePageProps = RoomNamePageOnyxProps & WithReportOrNotFoundProps & PlatformStackScreenProps; function RoomNamePage({report, policy, reports}: RoomNamePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Report/VisibilityPage.tsx b/src/pages/settings/Report/VisibilityPage.tsx index c05d82398fe1c..b53d10b5a5e15 100644 --- a/src/pages/settings/Report/VisibilityPage.tsx +++ b/src/pages/settings/Report/VisibilityPage.tsx @@ -6,7 +6,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportSettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {WithReportOrNotFoundProps} from '@pages/home/report/withReportOrNotFound'; @@ -16,7 +16,7 @@ import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; import type {RoomVisibility} from '@src/types/onyx/Report'; -type VisibilityProps = WithReportOrNotFoundProps & PlatformStackScreenOptionsProps; +type VisibilityProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function VisibilityPage({report}: VisibilityProps) { const [showConfirmModal, setShowConfirmModal] = useState(false); diff --git a/src/pages/settings/Report/WriteCapabilityPage.tsx b/src/pages/settings/Report/WriteCapabilityPage.tsx index 38a2f0ab48f42..6b3dd77a94e88 100644 --- a/src/pages/settings/Report/WriteCapabilityPage.tsx +++ b/src/pages/settings/Report/WriteCapabilityPage.tsx @@ -8,7 +8,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -27,7 +27,7 @@ type WriteCapabilityPageOnyxProps = { type WriteCapabilityPageProps = WriteCapabilityPageOnyxProps & WithReportOrNotFoundProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function WriteCapabilityPage({report, policy}: WriteCapabilityPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Security/CloseAccountPage.tsx b/src/pages/settings/Security/CloseAccountPage.tsx index 4516f53cfee67..dc67f04303d5e 100644 --- a/src/pages/settings/Security/CloseAccountPage.tsx +++ b/src/pages/settings/Security/CloseAccountPage.tsx @@ -14,7 +14,7 @@ import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import * as CloseAccount from '@userActions/CloseAccount'; @@ -30,7 +30,7 @@ type CloseAccountPageOnyxProps = { session: OnyxEntry; }; -type CloseAccountPageProps = CloseAccountPageOnyxProps & PlatformStackScreenOptionsProps; +type CloseAccountPageProps = CloseAccountPageOnyxProps & PlatformStackScreenProps; function CloseAccountPage({session}: CloseAccountPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx index 4638add5c6b9d..791a3054f3d8b 100644 --- a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx +++ b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx @@ -18,7 +18,7 @@ import * as CardUtils from '@libs/CardUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as CardSettings from '@userActions/Card'; @@ -34,7 +34,7 @@ type ActivatePhysicalCardPageOnyxProps = { cardList: OnyxEntry>; }; -type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & PlatformStackScreenOptionsProps; +type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & PlatformStackScreenProps; const LAST_FOUR_DIGITS_LENGTH = 4; const MAGIC_INPUT_MIN_HEIGHT = 86; diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx index 102ad35f2474a..5636358dfe6fb 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx @@ -4,7 +4,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import AddressForm from '@components/AddressForm'; import useLocalize from '@hooks/useLocalize'; import * as FormActions from '@libs/actions/FormActions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; @@ -18,7 +18,7 @@ type GetPhysicalCardAddressOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & PlatformStackScreenOptionsProps; +type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & PlatformStackScreenProps; function GetPhysicalCardAddress({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx index ed8801628fd3e..9fcca69a611da 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx @@ -7,7 +7,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -34,7 +34,7 @@ type GetPhysicalCardConfirmOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & PlatformStackScreenOptionsProps; +type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & PlatformStackScreenProps; function GetPhysicalCardConfirm({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx index 780709c578dff..f9a62195f81f0 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx @@ -5,7 +5,7 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -26,7 +26,7 @@ type GetPhysicalCardNameOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & PlatformStackScreenOptionsProps; +type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & PlatformStackScreenProps; function GetPhysicalCardName({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx index e2b6e7b4b7260..d2eeb0d59c618 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx @@ -5,7 +5,7 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import * as LoginUtils from '@libs/LoginUtils'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -24,7 +24,7 @@ type GetPhysicalCardPhoneOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & PlatformStackScreenOptionsProps; +type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & PlatformStackScreenProps; function GetPhysicalCardPhone({ route: { diff --git a/src/pages/settings/Wallet/ExpensifyCardPage.tsx b/src/pages/settings/Wallet/ExpensifyCardPage.tsx index 63d7cf6cbddcc..4dac01544b23b 100644 --- a/src/pages/settings/Wallet/ExpensifyCardPage.tsx +++ b/src/pages/settings/Wallet/ExpensifyCardPage.tsx @@ -19,7 +19,7 @@ import * as CardUtils from '@libs/CardUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as GetPhysicalCardUtils from '@libs/GetPhysicalCardUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -49,7 +49,7 @@ type ExpensifyCardPageOnyxProps = { loginList: OnyxEntry; }; -type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & PlatformStackScreenOptionsProps; +type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & PlatformStackScreenProps; function ExpensifyCardPage({ cardList, diff --git a/src/pages/settings/Wallet/ReportCardLostPage.tsx b/src/pages/settings/Wallet/ReportCardLostPage.tsx index 9258506a12239..585518fd59f26 100644 --- a/src/pages/settings/Wallet/ReportCardLostPage.tsx +++ b/src/pages/settings/Wallet/ReportCardLostPage.tsx @@ -13,7 +13,7 @@ import usePrevious from '@hooks/usePrevious'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -61,7 +61,7 @@ type ReportCardLostPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportCardLostPageProps = ReportCardLostPageOnyxProps & PlatformStackScreenOptionsProps; +type ReportCardLostPageProps = ReportCardLostPageOnyxProps & PlatformStackScreenProps; function ReportCardLostPage({ privatePersonalDetails = { diff --git a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx index 3170a20085dae..1b8eb22ac6496 100644 --- a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx +++ b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx @@ -12,7 +12,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -31,7 +31,7 @@ type ReportVirtualCardFraudPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & PlatformStackScreenOptionsProps; +type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & PlatformStackScreenProps; function ReportVirtualCardFraudPage({ route: { diff --git a/src/pages/tasks/NewTaskDescriptionPage.tsx b/src/pages/tasks/NewTaskDescriptionPage.tsx index c901021acd9e2..8bef635dec641 100644 --- a/src/pages/tasks/NewTaskDescriptionPage.tsx +++ b/src/pages/tasks/NewTaskDescriptionPage.tsx @@ -14,7 +14,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import * as TaskActions from '@userActions/Task'; @@ -30,7 +30,7 @@ type NewTaskDescriptionPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & PlatformStackScreenOptionsProps; +type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/tasks/NewTaskDetailsPage.tsx b/src/pages/tasks/NewTaskDetailsPage.tsx index f15b566642e75..50fb856103bc5 100644 --- a/src/pages/tasks/NewTaskDetailsPage.tsx +++ b/src/pages/tasks/NewTaskDetailsPage.tsx @@ -14,7 +14,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import playSound, {SOUNDS} from '@libs/Sound'; import * as TaskActions from '@userActions/Task'; @@ -30,7 +30,7 @@ type NewTaskDetailsPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & PlatformStackScreenOptionsProps; +type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/tasks/NewTaskPage.tsx b/src/pages/tasks/NewTaskPage.tsx index 5498efb5a77ee..f0f12d4776c86 100644 --- a/src/pages/tasks/NewTaskPage.tsx +++ b/src/pages/tasks/NewTaskPage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as LocalePhoneNumber from '@libs/LocalePhoneNumber'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -36,7 +36,7 @@ type NewTaskPageOnyxProps = { reports: OnyxCollection; }; -type NewTaskPageProps = NewTaskPageOnyxProps & PlatformStackScreenOptionsProps; +type NewTaskPageProps = NewTaskPageOnyxProps & PlatformStackScreenProps; function NewTaskPage({task, reports, personalDetails}: NewTaskPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/NewTaskTitlePage.tsx b/src/pages/tasks/NewTaskTitlePage.tsx index b5562a978be54..f71f20257fff4 100644 --- a/src/pages/tasks/NewTaskTitlePage.tsx +++ b/src/pages/tasks/NewTaskTitlePage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as TaskActions from '@userActions/Task'; import CONST from '@src/CONST'; @@ -27,7 +27,7 @@ type NewTaskTitlePageOnyxProps = { /** Task Creation Data */ task: OnyxEntry; }; -type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & PlatformStackScreenOptionsProps; +type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & PlatformStackScreenProps; function NewTaskTitlePage({task}: NewTaskTitlePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/wallet/WalletStatementPage.tsx b/src/pages/wallet/WalletStatementPage.tsx index 0cbe411c565f7..915df16305fdf 100644 --- a/src/pages/wallet/WalletStatementPage.tsx +++ b/src/pages/wallet/WalletStatementPage.tsx @@ -14,7 +14,7 @@ import DateUtils from '@libs/DateUtils'; import fileDownload from '@libs/fileDownload'; import Growl from '@libs/Growl'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WalletStatementNavigatorParamList} from '@navigation/types'; import * as User from '@userActions/User'; import CONFIG from '@src/CONFIG'; @@ -27,7 +27,7 @@ type WalletStatementOnyxProps = { walletStatement: OnyxEntry; }; -type WalletStatementPageProps = WalletStatementOnyxProps & PlatformStackScreenOptionsProps; +type WalletStatementPageProps = WalletStatementOnyxProps & PlatformStackScreenProps; function WalletStatementPage({walletStatement, route}: WalletStatementPageProps) { const themePreference = useThemePreference(); diff --git a/src/pages/workspace/WorkspaceAvatar.tsx b/src/pages/workspace/WorkspaceAvatar.tsx index adafbf1ca5b3b..fff2b9c19ddb4 100644 --- a/src/pages/workspace/WorkspaceAvatar.tsx +++ b/src/pages/workspace/WorkspaceAvatar.tsx @@ -3,7 +3,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -16,7 +16,7 @@ type WorkspaceAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & PlatformStackScreenOptionsProps; +type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & PlatformStackScreenProps; function WorkspaceAvatar({policy, isLoadingApp = true}: WorkspaceAvatarProps) { const avatarURL = policy?.avatar ?? '' ? policy?.avatar ?? '' : ReportUtils.getDefaultWorkspaceAvatar(policy?.name ?? ''); diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index d1e317879f197..7cf4dab2c6b8c 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -20,7 +20,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWaitForNavigation from '@hooks/useWaitForNavigation'; import getTopmostWorkspacesCentralPaneName from '@libs/Navigation/getTopmostWorkspacesCentralPaneName'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import {getDefaultWorkspaceAvatar} from '@libs/ReportUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; @@ -71,7 +71,7 @@ type WorkspaceInitialPageOnyxProps = { type WorkspaceInitialPageProps = WithPolicyAndFullscreenLoadingProps & WorkspaceInitialPageOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function dismissError(policyID: string) { PolicyUtils.goBackFromInvalidPolicy(); diff --git a/src/pages/workspace/WorkspaceInviteMessagePage.tsx b/src/pages/workspace/WorkspaceInviteMessagePage.tsx index 3a9391528eba3..6a955419908f7 100644 --- a/src/pages/workspace/WorkspaceInviteMessagePage.tsx +++ b/src/pages/workspace/WorkspaceInviteMessagePage.tsx @@ -22,7 +22,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; @@ -54,7 +54,7 @@ type WorkspaceInviteMessagePageOnyxProps = { type WorkspaceInviteMessagePageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & WorkspaceInviteMessagePageOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/workspace/WorkspaceInvitePage.tsx b/src/pages/workspace/WorkspaceInvitePage.tsx index 85a9836b9f3a2..84f89f8cdbe7a 100644 --- a/src/pages/workspace/WorkspaceInvitePage.tsx +++ b/src/pages/workspace/WorkspaceInvitePage.tsx @@ -18,7 +18,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {MemberForList} from '@libs/OptionsListUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -50,7 +50,7 @@ type WorkspaceInvitePageOnyxProps = { type WorkspaceInvitePageProps = WithPolicyAndFullscreenLoadingProps & WithNavigationTransitionEndProps & WorkspaceInvitePageOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function WorkspaceInvitePage({route, betas, invitedEmailsToAccountIDsDraft, policy, isLoadingReportData = true}: WorkspaceInvitePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/WorkspaceJoinUserPage.tsx b/src/pages/workspace/WorkspaceJoinUserPage.tsx index b67192f907dd6..9e62a8d66071a 100644 --- a/src/pages/workspace/WorkspaceJoinUserPage.tsx +++ b/src/pages/workspace/WorkspaceJoinUserPage.tsx @@ -5,7 +5,7 @@ import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import navigateAfterJoinRequest from '@libs/navigateAfterJoinRequest'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; import * as PolicyAction from '@userActions/Policy'; @@ -20,7 +20,7 @@ type WorkspaceJoinUserPageOnyxProps = { policy: OnyxEntry; }; -type WorkspaceJoinUserPageRoute = {route: PlatformStackScreenOptionsProps['route']}; +type WorkspaceJoinUserPageRoute = {route: PlatformStackScreenProps['route']}; type WorkspaceJoinUserPageProps = WorkspaceJoinUserPageRoute & WorkspaceJoinUserPageOnyxProps; let isJoinLinkUsed = false; diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index a21c06c2c895d..161cd1e1bb818 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -32,7 +32,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -58,7 +58,7 @@ type WorkspaceMembersPageOnyxProps = { type WorkspaceMembersPageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & WorkspaceMembersPageOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; /** * Inverts an object, equivalent of _.invert diff --git a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx index 386908c755781..5a4910f5c340c 100644 --- a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx +++ b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx @@ -11,7 +11,7 @@ import useNetwork from '@hooks/useNetwork'; import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as Policy from '@userActions/Policy'; import type {TranslationPaths} from '@src/languages/types'; @@ -24,7 +24,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscree import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading'; import ToggleSettingOptionRow from './workflows/ToggleSettingsOptionRow'; -type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; type Item = { icon: IconAsset; diff --git a/src/pages/workspace/bills/WorkspaceBillsPage.tsx b/src/pages/workspace/bills/WorkspaceBillsPage.tsx index cfcc3ec576be1..702f85152680a 100644 --- a/src/pages/workspace/bills/WorkspaceBillsPage.tsx +++ b/src/pages/workspace/bills/WorkspaceBillsPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceBillsNoVBAView from './WorkspaceBillsNoVBAView'; import WorkspaceBillsVBAView from './WorkspaceBillsVBAView'; -type WorkspaceBillsPageProps = PlatformStackScreenOptionsProps; +type WorkspaceBillsPageProps = PlatformStackScreenProps; function WorkspaceBillsPage({route}: WorkspaceBillsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/card/WorkspaceCardPage.tsx b/src/pages/workspace/card/WorkspaceCardPage.tsx index 50e93096ee7e9..99f195a9d54bd 100644 --- a/src/pages/workspace/card/WorkspaceCardPage.tsx +++ b/src/pages/workspace/card/WorkspaceCardPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -12,7 +12,7 @@ import WorkspaceCardNoVBAView from './WorkspaceCardNoVBAView'; import WorkspaceCardVBANoECardView from './WorkspaceCardVBANoECardView'; import WorkspaceCardVBAWithECardView from './WorkspaceCardVBAWithECardView'; -type WorkspaceCardPageProps = PlatformStackScreenOptionsProps; +type WorkspaceCardPageProps = PlatformStackScreenProps; function WorkspaceCardPage({route}: WorkspaceCardPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/categories/CategorySettingsPage.tsx b/src/pages/workspace/categories/CategorySettingsPage.tsx index 4743f5e70720e..7a856f98332f5 100644 --- a/src/pages/workspace/categories/CategorySettingsPage.tsx +++ b/src/pages/workspace/categories/CategorySettingsPage.tsx @@ -16,7 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {setWorkspaceCategoryEnabled} from '@libs/actions/Policy'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type CategorySettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type CategorySettingsPageProps = CategorySettingsPageOnyxProps & PlatformStackScreenOptionsProps; +type CategorySettingsPageProps = CategorySettingsPageOnyxProps & PlatformStackScreenProps; function CategorySettingsPage({route, policyCategories}: CategorySettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/CreateCategoryPage.tsx b/src/pages/workspace/categories/CreateCategoryPage.tsx index 57078a4f98b30..9cb8f19cce13b 100644 --- a/src/pages/workspace/categories/CreateCategoryPage.tsx +++ b/src/pages/workspace/categories/CreateCategoryPage.tsx @@ -7,7 +7,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -24,7 +24,7 @@ type WorkspaceCreateCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & PlatformStackScreenOptionsProps; +type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & PlatformStackScreenProps; function CreateCategoryPage({route, policyCategories}: CreateCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/EditCategoryPage.tsx b/src/pages/workspace/categories/EditCategoryPage.tsx index 3a5df14c07b7c..2eeeea5070651 100644 --- a/src/pages/workspace/categories/EditCategoryPage.tsx +++ b/src/pages/workspace/categories/EditCategoryPage.tsx @@ -7,7 +7,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ type WorkspaceEditCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & PlatformStackScreenOptionsProps; +type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & PlatformStackScreenProps; function EditCategoryPage({route, policyCategories}: EditCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx index 64c520cbf8b16..d591505001133 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesSettingsPage.tsx @@ -10,7 +10,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setWorkspaceRequiresCategory} from '@libs/actions/Policy'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -26,7 +26,7 @@ type WorkspaceCategoriesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type WorkspaceCategoriesSettingsPageProps = WorkspaceCategoriesSettingsPageOnyxProps & PlatformStackScreenOptionsProps; +type WorkspaceCategoriesSettingsPageProps = WorkspaceCategoriesSettingsPageOnyxProps & PlatformStackScreenProps; function WorkspaceCategoriesSettingsPage({route, policyCategories}: WorkspaceCategoriesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx index 3d17086736ad5..3e7004f21e022 100644 --- a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx +++ b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx @@ -10,7 +10,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {getOptimisticRateName, validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -29,7 +29,7 @@ type CreateDistanceRatePageOnyxProps = { policy: OnyxEntry; }; -type CreateDistanceRatePageProps = CreateDistanceRatePageOnyxProps & PlatformStackScreenOptionsProps; +type CreateDistanceRatePageProps = CreateDistanceRatePageOnyxProps & PlatformStackScreenProps; function CreateDistanceRatePage({policy, route}: CreateDistanceRatePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx index 7ec6f3fe4ce30..6a10a6dc10390 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx @@ -16,7 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type PolicyDistanceRateDetailsPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & PlatformStackScreenOptionsProps; +type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRateDetailsPage({policy, route}: PolicyDistanceRateDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx index 8ffbafa02ce70..22dd4e01af25d 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx @@ -12,7 +12,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ type PolicyDistanceRateEditPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateEditPageProps = PolicyDistanceRateEditPageOnyxProps & PlatformStackScreenOptionsProps; +type PolicyDistanceRateEditPageProps = PolicyDistanceRateEditPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRateEditPage({policy, route}: PolicyDistanceRateEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx index 10b851383ed79..54aa72d7814f6 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx @@ -23,7 +23,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -44,7 +44,7 @@ type PolicyDistanceRatesPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRatesPageProps = PolicyDistanceRatesPageOnyxProps & PlatformStackScreenOptionsProps; +type PolicyDistanceRatesPageProps = PolicyDistanceRatesPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRatesPage({policy, route}: PolicyDistanceRatesPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx index 8ef68569873f1..9183b08608519 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx @@ -10,7 +10,7 @@ import type {UnitItemType} from '@components/UnitPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -33,8 +33,7 @@ type PolicyDistanceRatesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & - PlatformStackScreenOptionsProps; +type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & PlatformStackScreenProps; function PolicyDistanceRatesSettingsPage({policy, policyCategories, route}: PolicyDistanceRatesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx index bf2101ca09012..71abf7ea7132d 100644 --- a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx +++ b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceInvoicesNoVBAView from './WorkspaceInvoicesNoVBAView'; import WorkspaceInvoicesVBAView from './WorkspaceInvoicesVBAView'; -type WorkspaceInvoicesPageProps = PlatformStackScreenOptionsProps; +type WorkspaceInvoicesPageProps = PlatformStackScreenProps; function WorkspaceInvoicesPage({route}: WorkspaceInvoicesPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx index 1f0d8d0ce8538..22982c1618ad5 100644 --- a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx +++ b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx @@ -17,7 +17,7 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as UserUtils from '@libs/UserUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -40,7 +40,7 @@ type WorkspacePolicyOnyxProps = { type WorkspaceMemberDetailsPageProps = Omit & WorkspacePolicyOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceMemberDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx index 70ab6d5ef9d3f..41b718792e9d8 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx @@ -10,7 +10,7 @@ import Text from '@components/Text'; import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -20,7 +20,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenOptionsProps; +type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; function WorkspaceOwnerChangeErrorPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx index cf1cd9596a26f..3b201a8920e7b 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx @@ -5,7 +5,7 @@ import LottieAnimations from '@components/LottieAnimations'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -14,7 +14,7 @@ import * as PolicyActions from '@userActions/Policy'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenOptionsProps; +type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; function WorkspaceOwnerChangeSuccessPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx index 9a5f1e6f4d645..a264cd0e25927 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx @@ -6,7 +6,7 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -20,7 +20,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceOwnerChangeCheck from './WorkspaceOwnerChangeCheck'; import WorkspaceOwnerPaymentCardForm from './WorkspaceOwnerPaymentCardForm'; -type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & PlatformStackScreenOptionsProps; +type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & PlatformStackScreenProps; function WorkspaceOwnerChangeWrapperPage({route, policy}: WorkspaceOwnerChangeWrapperPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx b/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx index 69c31619f1ccf..38f066876d8ef 100644 --- a/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx +++ b/src/pages/workspace/reimburse/WorkspaceRateAndUnitPage.tsx @@ -11,7 +11,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import getPermittedDecimalSeparator from '@libs/getPermittedDecimalSeparator'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -27,7 +27,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {Unit} from '@src/types/onyx/Policy'; -type WorkspaceRateAndUnitPageProps = WithPolicyProps & PlatformStackScreenOptionsProps; +type WorkspaceRateAndUnitPageProps = WithPolicyProps & PlatformStackScreenProps; type ValidationError = {rate?: TranslationPaths | undefined}; diff --git a/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx b/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx index 8e7e6f5a9f46e..084141ab368a4 100644 --- a/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx +++ b/src/pages/workspace/reimburse/WorkspaceReimbursePage.tsx @@ -1,6 +1,6 @@ import React from 'react'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import type {WithPolicyProps} from '@pages/workspace/withPolicy'; import withPolicy from '@pages/workspace/withPolicy'; @@ -9,7 +9,7 @@ import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; import WorkspaceReimburseView from './WorkspaceReimburseView'; -type WorkspaceReimbursePageProps = WithPolicyProps & PlatformStackScreenOptionsProps; +type WorkspaceReimbursePageProps = WithPolicyProps & PlatformStackScreenProps; function WorkspaceReimbursePage({route, policy}: WorkspaceReimbursePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/tags/EditTagPage.tsx b/src/pages/workspace/tags/EditTagPage.tsx index 3b52e5c22cc51..03a1c81719a5a 100644 --- a/src/pages/workspace/tags/EditTagPage.tsx +++ b/src/pages/workspace/tags/EditTagPage.tsx @@ -12,7 +12,7 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -31,7 +31,7 @@ type EditTagPageOnyxProps = { policyTags: OnyxEntry; }; -type EditTagPageProps = EditTagPageOnyxProps & PlatformStackScreenOptionsProps; +type EditTagPageProps = EditTagPageOnyxProps & PlatformStackScreenProps; function EditTagPage({route, policyTags}: EditTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/TagSettingsPage.tsx b/src/pages/workspace/tags/TagSettingsPage.tsx index c9c01b9bf4650..c0f8ceefb49a8 100644 --- a/src/pages/workspace/tags/TagSettingsPage.tsx +++ b/src/pages/workspace/tags/TagSettingsPage.tsx @@ -16,7 +16,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {setWorkspaceTagEnabled} from '@libs/actions/Policy'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -35,7 +35,7 @@ type TagSettingsPageOnyxProps = { policyTags: OnyxEntry; }; -type TagSettingsPageProps = TagSettingsPageOnyxProps & PlatformStackScreenOptionsProps; +type TagSettingsPageProps = TagSettingsPageOnyxProps & PlatformStackScreenProps; function TagSettingsPage({route, policyTags}: TagSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx index 5e35a699af53e..3c8d2e7953970 100644 --- a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx +++ b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -32,7 +32,7 @@ type WorkspaceCreateTagPageOnyxProps = { policyTags: OnyxEntry; }; -type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & PlatformStackScreenOptionsProps; +type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & PlatformStackScreenProps; function CreateTagPage({route, policyTags}: CreateTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx index ebbb79875905c..efb13e710fbd8 100644 --- a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx @@ -13,7 +13,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ type WorkspaceEditTagsPageOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & PlatformStackScreenOptionsProps; +type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & PlatformStackScreenProps; const validateTagName = (values: FormOnyxValues) => { const errors: FormInputErrors = {}; diff --git a/src/pages/workspace/tags/WorkspaceTagsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsPage.tsx index bfd71f4b59ea8..877da930fd9e6 100644 --- a/src/pages/workspace/tags/WorkspaceTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsPage.tsx @@ -26,7 +26,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -60,7 +60,7 @@ type WorkspaceTagsOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceTagsPageProps = WorkspaceTagsOnyxProps & PlatformStackScreenOptionsProps; +type WorkspaceTagsPageProps = WorkspaceTagsOnyxProps & PlatformStackScreenProps; function WorkspaceTagsPage({policyTags, route}: WorkspaceTagsPageProps) { const {isSmallScreenWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx index cc9a8bbf6e0b0..6cfe9d2ef0499 100644 --- a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -28,7 +28,7 @@ type WorkspaceTagsSettingsPageOnyxProps = { /** Collection of tags attached to a policy */ policyTags: OnyxEntry; }; -type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & PlatformStackScreenOptionsProps; +type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & PlatformStackScreenProps; function WorkspaceTagsSettingsPage({route, policyTags}: WorkspaceTagsSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/taxes/NamePage.tsx b/src/pages/workspace/taxes/NamePage.tsx index 48202d2508727..a484e26b6ca49 100644 --- a/src/pages/workspace/taxes/NamePage.tsx +++ b/src/pages/workspace/taxes/NamePage.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {renamePolicyTax, validateTaxName} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -27,7 +27,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxNameForm'; -type NamePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type NamePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; const parser = new ExpensiMark(); diff --git a/src/pages/workspace/taxes/ValuePage.tsx b/src/pages/workspace/taxes/ValuePage.tsx index 6a2e19264746a..168cd23a53d76 100644 --- a/src/pages/workspace/taxes/ValuePage.tsx +++ b/src/pages/workspace/taxes/ValuePage.tsx @@ -11,7 +11,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {updatePolicyTaxValue, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -26,7 +26,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxValueForm'; -type ValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type ValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function ValuePage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx index 1d5cfcb25b522..c84cd9adb8b22 100644 --- a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx @@ -12,7 +12,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {createPolicyTax, getNextTaxCode, getTaxValueWithPercentage, validateTaxName, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceNewTaxForm'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceCreateTaxPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx index fb61822759d71..ae5c6c838669f 100644 --- a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx @@ -15,7 +15,7 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import {clearTaxRateFieldError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs/actions/TaxRate'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -28,7 +28,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceEditTaxPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx index 104694cfbc63d..3c763f3c154df 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx @@ -24,7 +24,7 @@ import {clearTaxRateError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {WorkspacesCentralPaneNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -37,7 +37,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceTaxesPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx index 89b3fc71dc56d..ab15e94add6a4 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx @@ -11,7 +11,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setPolicyCustomTaxName} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; @@ -27,7 +27,7 @@ import INPUT_IDS from '@src/types/form/WorkspaceTaxCustomName'; import type {WorkspaceTaxCustomName} from '@src/types/form/WorkspaceTaxCustomName'; type WorkspaceTaxesSettingsCustomTaxNameProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function WorkspaceTaxesSettingsCustomTaxName({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx index be899ce2eabf0..0670c5682cb66 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx @@ -7,7 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setForeignCurrencyDefault} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsForeignCurrencyProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function WorkspaceTaxesSettingsForeignCurrency({ route: { params: {policyID}, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx index a1500e5c64f27..ebc32b2f47f24 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx @@ -8,7 +8,7 @@ import ScrollView from '@components/ScrollView'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -19,7 +19,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenOptionsProps; +type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; function WorkspaceTaxesSettingsPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx index e40d7fbcae9c7..5e9b27ca7a530 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx @@ -7,7 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {setWorkspaceCurrencyDefault} from '@libs/actions/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsWorkspaceCurrencyProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; function WorkspaceTaxesSettingsWorkspaceCurrency({ route: { diff --git a/src/pages/workspace/travel/WorkspaceTravelPage.tsx b/src/pages/workspace/travel/WorkspaceTravelPage.tsx index a5cbf9aae5160..72bfb6cb924fe 100644 --- a/src/pages/workspace/travel/WorkspaceTravelPage.tsx +++ b/src/pages/workspace/travel/WorkspaceTravelPage.tsx @@ -3,7 +3,7 @@ import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -11,7 +11,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceTravelNoVBAView from './WorkspaceTravelNoVBAView'; import WorkspaceTravelVBAView from './WorkspaceTravelVBAView'; -type WorkspaceTravelPageProps = PlatformStackScreenOptionsProps; +type WorkspaceTravelPageProps = PlatformStackScreenProps; function WorkspaceTravelPage({route}: WorkspaceTravelPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx index 10ce8353eef35..d80cf676953ac 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx @@ -12,7 +12,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as Localize from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -28,7 +28,7 @@ type AutoReportingFrequencyKey = Exclude; type WorkspaceAutoReportingFrequencyPageProps = WithPolicyOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; type WorkspaceAutoReportingFrequencyPageItem = { text: string; diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx index 09787ce3ccb35..26dfa84520f4b 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx @@ -7,7 +7,7 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper'; @@ -21,7 +21,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; const DAYS_OF_MONTH = 28; type WorkspaceAutoReportingMonthlyOffsetProps = WithPolicyOnyxProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; type AutoReportingOffsetKeys = ValueOf; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx index 5919223b25c16..2b6858bba684a 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx @@ -14,7 +14,7 @@ import useNetwork from '@hooks/useNetwork'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -35,7 +35,7 @@ type WorkspaceWorkflowsApproverPageOnyxProps = { type WorkspaceWorkflowsApproverPageProps = WorkspaceWorkflowsApproverPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index ae477c4244235..0efa55022cfe0 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -15,7 +15,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Permissions from '@libs/Permissions'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -40,9 +40,7 @@ type WorkspaceWorkflowsPageOnyxProps = { /** Beta features list */ betas: OnyxEntry; }; -type WorkspaceWorkflowsPageProps = WithPolicyProps & - WorkspaceWorkflowsPageOnyxProps & - PlatformStackScreenOptionsProps; +type WorkspaceWorkflowsPageProps = WithPolicyProps & WorkspaceWorkflowsPageOnyxProps & PlatformStackScreenProps; function WorkspaceWorkflowsPage({policy, betas, route}: WorkspaceWorkflowsPageProps) { const {translate, preferredLocale} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx index eabf4c787fbb2..32c53aece1690 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx @@ -14,7 +14,7 @@ import useNetwork from '@hooks/useNetwork'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -36,7 +36,7 @@ type WorkspaceWorkflowsPayerPageOnyxProps = { type WorkspaceWorkflowsPayerPageProps = WorkspaceWorkflowsPayerPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenOptionsProps; + PlatformStackScreenProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/src/types/utils/CommonProperties.ts b/src/types/utils/CommonProperties.ts new file mode 100644 index 0000000000000..e4e44f92fd8e7 --- /dev/null +++ b/src/types/utils/CommonProperties.ts @@ -0,0 +1,9 @@ +// Utility type for omitting properties in an object that are 'never'. +type OmitNever> = { + [K in keyof T as T[K] extends never ? never : K]: T[K]; +}; + +// Helper type to get common properties between two types. +type CommonProperties = OmitNever>; + +export default CommonProperties; diff --git a/tests/perf-test/ChatFinderPage.perf-test.tsx b/tests/perf-test/ChatFinderPage.perf-test.tsx index 8205a6a9e798e..ba416222bbe29 100644 --- a/tests/perf-test/ChatFinderPage.perf-test.tsx +++ b/tests/perf-test/ChatFinderPage.perf-test.tsx @@ -9,7 +9,7 @@ import {LocaleContextProvider} from '@components/LocaleContextProvider'; import OptionListContextProvider, {OptionsListContext} from '@components/OptionListContextProvider'; import {KeyboardStateProvider} from '@components/withKeyboardState'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import {createOptionList} from '@libs/OptionsListUtils'; import ChatFinderPage from '@pages/ChatFinderPage'; @@ -123,7 +123,7 @@ afterEach(() => { Onyx.clear(); }); -type ChatFinderPageProps = PlatformStackScreenOptionsProps & { +type ChatFinderPageProps = PlatformStackScreenProps & { betas: OnyxEntry; reports: OnyxCollection; isSearchingForReports: OnyxEntry; diff --git a/tests/perf-test/ReportScreen.perf-test.tsx b/tests/perf-test/ReportScreen.perf-test.tsx index 1c5c82c379eb4..779c17dc9d422 100644 --- a/tests/perf-test/ReportScreen.perf-test.tsx +++ b/tests/perf-test/ReportScreen.perf-test.tsx @@ -6,7 +6,7 @@ import type Animated from 'react-native-reanimated'; import {measurePerformance} from 'reassure'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; import type Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenOptionsProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import ComposeProviders from '@src/components/ComposeProviders'; import DragAndDropProvider from '@src/components/DragAndDrop/Provider'; @@ -33,7 +33,7 @@ import * as TestHelper from '../utils/TestHelper'; import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; -type ReportScreenWrapperProps = PlatformStackScreenOptionsProps; +type ReportScreenWrapperProps = PlatformStackScreenProps; jest.mock('@src/libs/API', () => ({ write: jest.fn(), From 4b40806b4957f6a9c10a5eec725d08bb809aa24b Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 19:10:52 +0200 Subject: [PATCH 079/178] allow nativeOnly and webOnly options --- .../ModalNavigatorScreenOptions.ts | 6 +- .../modalStackNavigatorOptions/index.ts | 4 +- .../useModalScreenOptions.ts | 4 +- .../BaseCentralPaneNavigator.tsx | 6 +- .../OnboardingModalNavigatorScreenOptions.ts | 4 +- .../BottomTabNavigationContentWrapper.tsx | 2 +- .../createCustomBottomTabNavigator/index.tsx | 2 +- .../SearchRoute.tsx | 2 +- .../getStateWithSearch.tsx | 2 +- .../createResponsiveStackNavigator/index.tsx | 4 +- .../getRightModalNavigatorOptions/index.ts | 16 +-- .../getRootNavigatorScreenOptions.ts | 114 ++++++++++-------- .../PlatformStackNavigator.tsx | 2 +- .../platformOptions/utils.ts | 2 +- .../withNativeNavigationOptions.ts | 1 + .../withWebNavigationOptions.ts | 1 + .../PlatformStackNavigation/types/index.ts | 46 ++++--- src/types/utils/Substract.ts | 5 + 18 files changed, 132 insertions(+), 91 deletions(-) create mode 100644 src/types/utils/Substract.ts diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index 423c1b482302f..e3a67bc375835 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -9,9 +9,11 @@ import type {ThemeStyles} from '@styles/index'; */ const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles): PlatformStackNavigationOptions => ({ headerShown: false, - cardStyle: themeStyles.navigationScreenCardStyle, animation: 'slide_from_left', - cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, + webOnly: { + cardStyle: themeStyles.navigationScreenCardStyle, + cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, + }, }); export default ModalNavigatorScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts index c0093379046f8..0d07e69070dc6 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/modalStackNavigatorOptions/index.ts @@ -3,7 +3,9 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac const defaultSubRouteOptions: PlatformStackNavigationOptions = { headerShown: false, - cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, + webOnly: { + cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, + }, }; export default defaultSubRouteOptions; diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts index 839ba1fc73b81..fa7cfa060851a 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts @@ -12,7 +12,9 @@ function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => Platf (): PlatformStackNavigationOptions => ({ ...subRouteOptions, ...hideKeyboardOnSwipe, - cardStyle: styles.navigationScreenCardStyle, + webOnly: { + cardStyle: styles.navigationScreenCardStyle, + }, }), [styles], ); diff --git a/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx index 1d71e689d7c25..98010726923c8 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/CentralPaneNavigator/BaseCentralPaneNavigator.tsx @@ -32,8 +32,10 @@ function BaseCentralPaneNavigator() { headerShown: false, title: 'New Expensify', animation: 'slide_from_left', - // Prevent unnecessary scrolling - cardStyle: styles.cardStyleNavigator, + webOnly: { + // Prevent unnecessary scrolling + cardStyle: styles.cardStyleNavigator, + }, }; return ( diff --git a/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts index e75a59a20062a..3d6179ed53b5f 100644 --- a/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts @@ -8,8 +8,10 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac const OnboardingModalNavigatorScreenOptions = (): PlatformStackNavigationOptions => ({ headerShown: false, gestureDirection: 'horizontal', - cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, presentation: 'transparentModal', + webOnly: { + cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, + }, }); export default OnboardingModalNavigatorScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx index 3c5187e97f9eb..155f74d6a6adb 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx @@ -2,8 +2,8 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {NavigationContentWrapperProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationContentWrapperProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; function BottomTabNavigationContentWrapper({ children, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 5bfda300be69c..987fbfc607f63 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -2,7 +2,6 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import React from 'react'; import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type { PlatformSpecificEventMap, PlatformSpecificNavigationOptions, @@ -10,6 +9,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationState, } from '@libs/Navigation/PlatformStackNavigation/types'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type {NavigationStateRoute} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; import BottomTabBar from './BottomTabBar'; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx index c836298a2a5f4..eee7319ec613b 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx @@ -1,8 +1,8 @@ import type {EventMapBase} from '@react-navigation/native'; import {View} from 'react-native'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; function SearchRoute({searchRoute, descriptors}: CustomCodePropsWithTransformedState) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx index 7ec2fc18cc263..8c485663faa2a 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx @@ -1,7 +1,7 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type {RootStackParamList, State} from '@libs/Navigation/types'; import NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index a062eb77d3014..cea062b625cd5 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -1,8 +1,7 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import navigationRef from '@libs/Navigation/navigationRef'; -import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native'; -import type {OnWindowDimensionsChange} from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/types'; +import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; import type { PlatformSpecificEventMap, PlatformSpecificNavigationOptions, @@ -10,6 +9,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationState, } from '@libs/Navigation/PlatformStackNavigation/types'; +import type {OnWindowDimensionsChange} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import getStateWithSearch from './getStateWithSearch'; import RenderSearchRoute from './SearchRoute'; diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts index 0eb2bc534e80d..1edcf3e27839d 100644 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts @@ -4,16 +4,16 @@ import getNavigationModalCardStyle from '@styles/utils/getNavigationModalCardSty const rightModalNavigatorOptions = (isSmallScreenWidth: boolean): PlatformStackNavigationOptions => ({ presentation: 'transparentModal', - // We want pop in RHP since there are some flows that would work weird otherwise animationTypeForReplace: 'pop', - cardStyle: { - ...getNavigationModalCardStyle(), - - // This is necessary to cover translated sidebar with overlay. - width: isSmallScreenWidth ? '100%' : '200%', - // Excess space should be on the left so we need to position from right. - right: 0, + webOnly: { + cardStyle: { + ...getNavigationModalCardStyle(), + // This is necessary to cover translated sidebar with overlay. + width: isSmallScreenWidth ? '100%' : '200%', + // Excess space should be on the left so we need to position from right. + right: 0, + }, }, }); diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 225c645f85e65..364cf1b934b3e 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -24,7 +24,9 @@ type ScreenOptions = { const commonScreenOptions: PlatformStackNavigationOptions = { headerShown: false, - cardOverlayEnabled: true, + webOnly: { + cardOverlayEnabled: true, + }, }; type GetRootNavigatorScreenOptions = (isSmallScreenWidth: boolean, styles: ThemeStyles, StyleUtils: StyleUtilsType) => ScreenOptions; @@ -37,7 +39,9 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, ...getRightModalNavigatorOptions(isSmallScreenWidth), ...hideKeyboardOnSwipe, - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + webOnly: { + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + }, }, onboardingModalNavigator: (shouldUseNarrowLayout: boolean) => ({ cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, shouldUseNarrowLayout, props), @@ -45,58 +49,65 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr animationEnabled: true, cardOverlayEnabled: false, presentation: 'transparentModal', - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - backgroundColor: 'transparent', - width: '100%', - top: 0, - left: 0, - // We need to guarantee that it covers BottomTabBar on web, but fixed position is not supported in react native. - position: 'fixed' as ViewStyle['position'], + webOnly: { + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + backgroundColor: 'transparent', + width: '100%', + top: 0, + left: 0, + // We need to guarantee that it covers BottomTabBar on web, but fixed position is not supported in react native. + position: 'fixed' as ViewStyle['position'], + }, }, }), leftModalNavigator: { ...commonScreenOptions, ...leftModalNavigatorOptions, - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - - // We want pop in LHP since there are some flows that would work weird otherwise animationTypeForReplace: 'pop', - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - - // This is necessary to cover translated sidebar with overlay. - width: isSmallScreenWidth ? '100%' : '200%', - - // LHP should be displayed in place of the sidebar - left: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + webOnly: { + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + // We want pop in LHP since there are some flows that would work weird otherwise + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + + // This is necessary to cover translated sidebar with overlay. + width: isSmallScreenWidth ? '100%' : '200%', + + // LHP should be displayed in place of the sidebar + left: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + }, }, }, homeScreen: { ...commonScreenOptions, title: CONFIG.SITE_TITLE, - // Note: The card* properties won't be applied on mobile platforms, as they use the native defaults. - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, - - // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. - marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - ...(isSmallScreenWidth ? {} : themeStyles.borderRight), + webOnly: { + // Note: The card* properties won't be applied on mobile platforms, as they use the native defaults. + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, + + // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. + marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + ...(isSmallScreenWidth ? {} : themeStyles.borderRight), + }, }, }, fullScreen: { ...commonScreenOptions, - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - - // This is necessary to cover whole screen. Including translated sidebar. - marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - }, animation: 'slide_from_right', + webOnly: { + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + + // This is necessary to cover whole screen. Including translated sidebar. + marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + }, + }, }, centralPaneNavigator: { @@ -104,24 +115,27 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...hideKeyboardOnSwipe, title: CONFIG.SITE_TITLE, animation: isSmallScreenWidth ? undefined : 'none', - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, + webOnly: { + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, + }, }, }, bottomTab: { ...commonScreenOptions, - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, - - // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. - marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - ...(isSmallScreenWidth ? {} : themeStyles.borderRight), + webOnly: { + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, + + // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. + marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + ...(isSmallScreenWidth ? {} : themeStyles.borderRight), + }, }, }, } satisfies ScreenOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx index 819f7ee2f3b5d..9d1af6e764e5e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx @@ -1,4 +1,4 @@ -import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent/index.native'; +import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent'; const PlatformStackNavigator = createPlatformStackNavigatorComponent('PlatformStackNavigator'); diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts index 9a647bcd26bec..301dd733a0e97 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts @@ -1,6 +1,6 @@ import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const getCommonNavigationOptions = (screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions => - screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); + screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, webOnly, nativeOnly, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); export default getCommonNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 2ab69133b1b8a..cd524a8f69560 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -13,6 +13,7 @@ import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigationOptions | undefined): NativeStackNavigationOptions => ({ ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), + ...screenOptions?.nativeOnly, }); function withNativeNavigationOptions( diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index e639bcc42f61e..6ac7ed07d6dc8 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -14,6 +14,7 @@ const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOpt keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), + ...screenOptions?.webOnly, }); function withWebNavigationOptions( diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index 8d7b87f5c183b..2c1c36eb6a346 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -2,6 +2,7 @@ import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, StackNavig import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type CommonProperties from '@src/types/utils/CommonProperties'; +import Subtract from '@src/types/utils/Substract'; // Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; @@ -9,8 +10,35 @@ type PlatformStackNavigationState = StackNaviga // Common navigation options merged from both stack and native-stack navigations. type CommonStackNavigationOptions = CommonProperties; +// Navigation properties that are only available in web or native stack navigations. +type WebOnlyNavigationOptions = Partial>; +type NativeOnlyNavigationOptions = Partial>; + +// type CardOptions = { +// cardShadowEnabled?: StackNavigationOptions['cardShadowEnabled']; +// cardOverlayEnabled?: StackNavigationOptions['cardOverlayEnabled']; +// cardOverlay?: StackNavigationOptions['cardOverlay']; +// cardStyle?: StackNavigationOptions['cardStyle']; +// cardStyleInterpolator: StackNavigationOptions['cardStyleInterpolator']; +// }; + // Expanded navigation options including possible custom properties for platform-specific implementations. type GeneralPlatformStackNavigationOptions = { + // // Unique to StackNavigationOptions + // detachPreviousScreen?: boolean; + // freezeOnBlur?: boolean; + webOnly?: WebOnlyNavigationOptions; + + // // Unique to NativeStackNavigationOptions + // autoHideHomeIndicator?: boolean; + // contentStyle?: StyleProp; + // customAnimationOnGesture?: boolean; + // fullScreenGestureEnabled?: boolean; + // navigationBarColor?: string; + // navigationBarHidden?: boolean; + // orientation?: ScreenProps['screenOrientation']; + nativeOnly?: NativeOnlyNavigationOptions; + keyboardHandlingEnabled?: boolean; // Stack @@ -55,24 +83,6 @@ type GeneralPlatformStackNavigationOptions = { // gestureVelocityImpact?: number; // gestureDirection?: ScreenProps['swipeDirection']; gesture?: unknown; - - // // Unique to StackNavigationOptions - // cardOverlay?: (props: { style: Animated.WithAnimatedValue> }) => React.ReactNode; - // cardOverlayEnabled?: boolean; - // cardShadowEnabled?: boolean; - // cardStyle?: StyleProp; - // detachPreviousScreen?: boolean; - // keyboardHandlingEnabled?: boolean; - // freezeOnBlur?: boolean; - - // // Unique to NativeStackNavigationOptions - // autoHideHomeIndicator?: boolean; - // contentStyle?: StyleProp; - // customAnimationOnGesture?: boolean; - // fullScreenGestureEnabled?: boolean; - // navigationBarColor?: string; - // navigationBarHidden?: boolean; - // orientation?: ScreenProps['screenOrientation']; }; // Combines common and general platform-specific options for PlatformStackNavigation. diff --git a/src/types/utils/Substract.ts b/src/types/utils/Substract.ts new file mode 100644 index 0000000000000..33e281ce8e1a7 --- /dev/null +++ b/src/types/utils/Substract.ts @@ -0,0 +1,5 @@ +type Subtract = { + [Property in Exclude]: TypeA[Property]; +}; + +export default Subtract; From a2f16c3f55bd3cb3e170ea9e3675b6733b19a165 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 19:10:59 +0200 Subject: [PATCH 080/178] fix: defaultScreenOptions --- .../Navigation/AppNavigator/defaultScreenOptions.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts index 3104264263a66..a480049ce6aec 100644 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts @@ -1,12 +1,14 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const defaultScreenOptions: PlatformStackNavigationOptions = { - cardStyle: { - overflow: 'visible', - flex: 1, - }, headerShown: false, animationTypeForReplace: 'push', + webOnly: { + cardStyle: { + overflow: 'visible', + flex: 1, + }, + }, }; export default defaultScreenOptions; From b322da47b7503447147f15375c09e9c95eb82ebb Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 19:12:28 +0200 Subject: [PATCH 081/178] fix: last TS error --- .../AppNavigator/leftModalNavigatorOptions/index.native.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts index 4d8219a323016..3dfdbbbc44af6 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -2,7 +2,9 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac const leftModalNavigatorOptions: PlatformStackNavigationOptions = { animation: 'slide_from_left', - customAnimationOnGesture: true, + nativeOnly: { + customAnimationOnGesture: true, + }, }; export default leftModalNavigatorOptions; From 451ce6505e5efe95627d3bc31e26896144c131bf Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 24 Apr 2024 19:58:03 +0200 Subject: [PATCH 082/178] fix: lint errors --- .../createPlatformStackNavigatorComponent/index.native.tsx | 2 +- .../createPlatformStackNavigatorComponent/index.tsx | 2 +- .../platformOptions/withWebNavigationOptions.ts | 6 +++--- .../PlatformStackNavigation/types/ScreenOptions.ts | 3 +-- src/libs/Navigation/PlatformStackNavigation/types/index.ts | 6 +++--- src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx | 1 - 6 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 14b4aa83e83c2..32fcfe609fdec 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -10,7 +10,7 @@ import type {PlatformStackNavigationOptions, PlatformStackNavigationState, Platf import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; -import {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; +import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index bfb0811fbda8b..b142ff40e6b70 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -10,7 +10,7 @@ import type {PlatformStackNavigationOptions, PlatformStackNavigationState, Platf import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; -import {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; +import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 6ac7ed07d6dc8..1a5da1615b57a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -1,8 +1,8 @@ import type {ParamListBase} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import {isRouteBasedScreenOptions, PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; +import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; import noAnimation from './animation/web/none'; import slideFromBottomAnimation from './animation/web/slideFromBottom'; import slideFromLeftAnimation from './animation/web/slideFromLeft'; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts b/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts index eeca9ab8fadb7..a3336b2c86728 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts @@ -1,6 +1,5 @@ import type {ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationOptions} from '.'; -import type {PlatformStackScreenProps} from '.'; +import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '.'; import type PlatformStackNavigatorProps from './PlatformStackNavigator'; // The "screenOptions" and "defaultScreenOptions" can either be an object of configuration settings or diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index 2c1c36eb6a346..f97ad8b0aa595 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -2,7 +2,7 @@ import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, StackNavig import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type CommonProperties from '@src/types/utils/CommonProperties'; -import Subtract from '@src/types/utils/Substract'; +import type Subtract from '@src/types/utils/Substract'; // Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; @@ -129,10 +129,10 @@ type PlatformStackScreenProps< RouteName extends keyof ParamList = keyof ParamList, NavigatorID extends string | undefined = undefined, // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents - NavigationProp extends PlatformStackNavigationProp | any = PlatformStackNavigationProp, + NavigationPropType extends PlatformStackNavigationProp | any = PlatformStackNavigationProp, > = { route: PlatformStackRouteProp; - navigation: NavigationProp; + navigation: NavigationPropType; }; export type { diff --git a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx index 22982c1618ad5..a8982936dc15a 100644 --- a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx +++ b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx @@ -18,7 +18,6 @@ import useNetwork from '@hooks/useNetwork'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import * as UserUtils from '@libs/UserUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper'; From 899f180c3567168ec4d69310dae0d16700dc26c4 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 25 Apr 2024 22:56:01 +0200 Subject: [PATCH 083/178] fix: navigation updating every render --- .../createResponsiveStackNavigator/index.tsx | 6 +++--- .../index.native.tsx | 5 +++-- .../createPlatformStackNavigatorComponent/index.tsx | 5 +++-- .../types/NavigatorComponent.ts | 12 ++++++------ 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index cea062b625cd5..f8b8cb84ecf4c 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -9,11 +9,11 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationState, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {OnWindowDimensionsChange} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {OnIsSmallScreenWidthChange} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import getStateWithSearch from './getStateWithSearch'; import RenderSearchRoute from './SearchRoute'; -const handleWindowDimensionsChange: OnWindowDimensionsChange = ({navigation}) => { +const handleIsSmallScreenWidthChange: OnIsSmallScreenWidthChange = ({navigation}) => { if (!navigationRef.isReady()) { return; } @@ -25,7 +25,7 @@ const handleWindowDimensionsChange: OnWindowDimensionsChange() { diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 32fcfe609fdec..1a0f90896760b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -20,7 +20,7 @@ function createPlatformStackNavigatorComponent) { const styles = useThemeStyles(); @@ -95,7 +95,8 @@ function createPlatformStackNavigatorComponent { onIsSmallScreenWidthChange?.({...customCodePropsWithTransformedState, windowDimensions}); - }, [customCodePropsWithTransformedState, windowDimensions]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [windowDimensions.isSmallScreenWidth]); // eslint-disable-next-line react/jsx-props-no-spreading return NavigationContentWrapper === undefined ? Content : {Content}; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index b142ff40e6b70..e97eefc76a48a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -20,7 +20,7 @@ function createPlatformStackNavigatorComponent) { const styles = useThemeStyles(); @@ -95,7 +95,8 @@ function createPlatformStackNavigatorComponent { onIsSmallScreenWidthChange?.({...customCodePropsWithTransformedState, windowDimensions}); - }, [customCodePropsWithTransformedState, windowDimensions]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [windowDimensions.isSmallScreenWidth]); // eslint-disable-next-line react/jsx-props-no-spreading return NavigationContentWrapper === undefined ? Content : {Content}; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts index f54aefe5974b2..7570a64c3b522 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts @@ -57,7 +57,7 @@ type TransformState< > = (props: TransformStateProps) => TransformStateResult; // Props that are passed to the "onWindowDimensionsChange" callback. -type OnWindowDimensionsChangeProps< +type OnIsSmallScreenWidthChangeProps< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, @@ -66,11 +66,11 @@ type OnWindowDimensionsChangeProps< }; // Defines a function type for handling changes in window dimensions within a navigation context. -type OnWindowDimensionsChange< +type OnIsSmallScreenWidthChange< NavigationOptions extends PlatformSpecificNavigationOptions, EventMap extends PlatformSpecificEventMap & EventMapBase, ParamList extends ParamListBase = ParamListBase, -> = (props: OnWindowDimensionsChangeProps) => void; +> = (props: OnIsSmallScreenWidthChangeProps) => void; // A React component that renders extra content within the navigator, like a header or footer. type ExtraContent = ( @@ -101,7 +101,7 @@ type CreatePlatformStackNavigatorComponentOptions< createRouter?: PlatformStackRouterFactory; defaultScreenOptions?: NavigationOptions; transformState?: TransformState; - onWindowDimensionsChange?: OnWindowDimensionsChange; + onIsSmallScreenWidthChange?: OnIsSmallScreenWidthChange; ExtraContent?: ExtraContent; NavigationContentWrapper?: NavigationContentWrapper; }; @@ -110,8 +110,8 @@ export type { TransformStateResult as TransformStateExtraResult, TransformStateProps, TransformState, - OnWindowDimensionsChangeProps, - OnWindowDimensionsChange, + OnIsSmallScreenWidthChangeProps, + OnIsSmallScreenWidthChange, CustomCodeProps, CustomCodePropsWithTransformedState, ExtraContent, From 549d0f1e4c63d03a32eacadba7ca1736af793ad1 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 25 Apr 2024 23:01:23 +0200 Subject: [PATCH 084/178] fix: Podfile --- ios/Podfile.lock | 3 --- 1 file changed, 3 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 8f0acc969352a..cf5c4bab5c75e 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2062,7 +2062,6 @@ DEPENDENCIES: - ExpoImageManipulator (from `../node_modules/expo-image-manipulator/ios`) - ExpoModulesCore (from `../node_modules/expo-modules-core`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - "fullstory_react-native (from `../node_modules/@fullstory/react-native`)" - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - libevent (~> 2.1.12) @@ -2225,8 +2224,6 @@ EXTERNAL SOURCES: :path: "../node_modules/expo-modules-core" FBLazyVector: :path: "../node_modules/react-native/Libraries/FBLazyVector" - fullstory_react-native: - :path: "../node_modules/@fullstory/react-native" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" hermes-engine: From 5a35435129d1fa026f335e065b652a28cac89a63 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 25 Apr 2024 23:12:54 +0200 Subject: [PATCH 085/178] fix: React not found --- .../BottomTabNavigationContentWrapper.tsx | 1 + .../createPlatformStackNavigatorComponent/index.native.tsx | 2 +- .../createPlatformStackNavigatorComponent/index.tsx | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx index 155f74d6a6adb..2f2f65a75ecf0 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx @@ -1,4 +1,5 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; +import React from 'react'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 1a0f90896760b..dfd14e1fc01f6 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -2,7 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {useEffect, useMemo} from 'react'; +import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index e97eefc76a48a..e8c945914d5c4 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -2,7 +2,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import {StackView} from '@react-navigation/stack'; -import {useEffect, useMemo} from 'react'; +import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; From 22c0e1612b3c2e1ccb8cd39b0fa496d0ef6f1832 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 25 Apr 2024 23:13:01 +0200 Subject: [PATCH 086/178] simplify web animations --- .../platformOptions/animation/web/slideFromBottom.ts | 2 +- .../platformOptions/animation/web/slideFromLeft.ts | 2 +- .../platformOptions/animation/web/slideFromRight.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts index 61279046a5c6f..c43388c52a674 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -const slideFromBottom: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'vertical'}; +const slideFromBottom: StackNavigationOptions = {animationEnabled: true, gestureDirection: 'vertical'}; export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts index 4674564812217..d5598c93eb538 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -const slideFromLeft: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'horizontal-inverted'}; +const slideFromLeft: StackNavigationOptions = {animationEnabled: true, gestureDirection: 'horizontal-inverted'}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts index 31528d7fb7a4b..b6b6c8c74e485 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -const slideFromRight: StackNavigationOptions = {animationEnabled: true, animationTypeForReplace: 'push', gestureDirection: 'horizontal'}; +const slideFromRight: StackNavigationOptions = {animationEnabled: true, gestureDirection: 'horizontal'}; export default slideFromRight; From d78c8edd55b739b833260313444d930a59d417ed Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 25 Apr 2024 23:56:28 +0200 Subject: [PATCH 087/178] update patches --- package-lock.json | 10 +- package.json | 2 +- ....17+001+keyboardHandlingEnabled-prop.patch | 39 ---- ...dded-interaction-manager-integration.patch | 63 ------ ....26+001+keyboardHandlingEnabled-prop.patch | 157 ++++++++++++++ ...dded-interaction-manager-integration.patch | 191 ++++++++++++++++++ 6 files changed, 354 insertions(+), 108 deletions(-) delete mode 100644 patches/@react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch delete mode 100644 patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch create mode 100644 patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch create mode 100644 patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch diff --git a/package-lock.json b/package-lock.json index 2d10f5933d8a9..c8c7f120de158 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "@react-native-picker/picker": "2.6.1", "@react-navigation/material-top-tabs": "^6.6.3", "@react-navigation/native": "6.1.12", - "@react-navigation/native-stack": "^6.9.17", + "@react-navigation/native-stack": "^6.9.26", "@react-navigation/stack": "6.3.29", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.1.11", @@ -9245,11 +9245,11 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "6.9.17", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.17.tgz", - "integrity": "sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew==", + "version": "6.9.26", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.26.tgz", + "integrity": "sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw==", "dependencies": { - "@react-navigation/elements": "^1.3.21", + "@react-navigation/elements": "^1.3.30", "warn-once": "^0.1.0" }, "peerDependencies": { diff --git a/package.json b/package.json index 7e04143fd6159..9395ff7f0ab66 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "@react-native-picker/picker": "2.6.1", "@react-navigation/material-top-tabs": "^6.6.3", "@react-navigation/native": "6.1.12", - "@react-navigation/native-stack": "^6.9.17", + "@react-navigation/native-stack": "^6.9.26", "@react-navigation/stack": "6.3.29", "@react-ng/bounds-observer": "^0.2.1", "@rnmapbox/maps": "10.1.11", diff --git a/patches/@react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch b/patches/@react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch deleted file mode 100644 index 933ca6ce792e2..0000000000000 --- a/patches/@react-navigation+native-stack+6.9.17+001+keyboardHandlingEnabled-prop.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/node_modules/@react-navigation/native-stack/src/types.tsx b/node_modules/@react-navigation/native-stack/src/types.tsx -index 206fb0b..7a34a8e 100644 ---- a/node_modules/@react-navigation/native-stack/src/types.tsx -+++ b/node_modules/@react-navigation/native-stack/src/types.tsx -@@ -490,6 +490,14 @@ export type NativeStackNavigationOptions = { - * Only supported on iOS and Android. - */ - freezeOnBlur?: boolean; -+ // partial changes from https://github.com/react-navigation/react-navigation/commit/90cfbf23bcc5259f3262691a9eec6c5b906e5262 -+ // patch can be removed when new version of `native-stack` will be released -+ /** -+ * Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. -+ * -+ * Only supported on iOS -+ */ -+ keyboardHandlingEnabled?: boolean; - }; - - export type NativeStackNavigatorProps = DefaultNavigatorOptions< -diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index a005c43..03d8b50 100644 ---- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -+++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -@@ -161,6 +161,7 @@ const SceneView = ({ - statusBarTranslucent, - statusBarColor, - freezeOnBlur, -+ keyboardHandlingEnabled, - } = options; - - let { -@@ -289,6 +290,7 @@ const SceneView = ({ - onNativeDismissCancelled={onNativeDismissCancelled} - // this prop is available since rn-screens 3.16 - freezeOnBlur={freezeOnBlur} -+ hideKeyboardOnSwipe={keyboardHandlingEnabled} - > - - diff --git a/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch deleted file mode 100644 index da61ec6a25ba8..0000000000000 --- a/patches/@react-navigation+native-stack+6.9.17+002+added-interaction-manager-integration.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index 03d8b50..acc0c34 100644 ---- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -+++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -@@ -17,7 +17,7 @@ import { - useTheme, - } from '@react-navigation/native'; - import * as React from 'react'; --import { Platform, StyleSheet, View } from 'react-native'; -+import { InteractionManager, Platform, StyleSheet, View } from 'react-native'; - import { - useSafeAreaFrame, - useSafeAreaInsets, -@@ -121,7 +121,7 @@ type SceneViewProps = { - previousDescriptor?: NativeStackDescriptor; - nextDescriptor?: NativeStackDescriptor; - onWillDisappear: () => void; -- onAppear: () => void; -+ onAppear: ScreenProps['onAppear']; - onDisappear: () => void; - onDismissed: ScreenProps['onDismissed']; - onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; -@@ -234,6 +234,31 @@ const SceneView = ({ - statusBarHeight - ); - -+ // https://github.com/react-navigation/react-navigation/pull/11887 -+ const interactionHandleRef = React.useRef(); -+ -+ // this memo acts as a synchronous `useEffect` -+ React.useMemo(() => { -+ if (focused && interactionHandleRef.current === undefined) { -+ interactionHandleRef.current = InteractionManager.createInteractionHandle(); -+ } -+ }, [focused]); -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); -+ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired -+ // so we clean up an interaction here -+ React.useEffect(() => finishInteraction, [finishInteraction]) -+ -+ const onAppearCallback: ScreenProps["onAppear"] = React.useCallback((e) => { -+ onAppear?.(e); -+ -+ finishInteraction(); -+ }, [onAppear, finishInteraction]); -+ - const [customHeaderHeight, setCustomHeaderHeight] = - React.useState(defaultHeaderHeight); - -@@ -279,7 +304,7 @@ const SceneView = ({ - swipeDirection={gestureDirectionOverride} - transitionDuration={animationDuration} - onWillDisappear={onWillDisappear} -- onAppear={onAppear} -+ onAppear={onAppearCallback} - onDisappear={onDisappear} - onDismissed={onDismissed} - isNativeStack diff --git a/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch b/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch new file mode 100644 index 0000000000000..40e93a0bfe79b --- /dev/null +++ b/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch @@ -0,0 +1,157 @@ +diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js +index 2d5f921..997e384 100644 +--- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js ++++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js +@@ -103,7 +103,8 @@ const SceneView = _ref2 => { + statusBarStyle, + statusBarTranslucent, + statusBarColor, +- freezeOnBlur ++ freezeOnBlur, ++ keyboardHandlingEnabled + } = options; + let { + animation, +@@ -205,7 +206,8 @@ const SceneView = _ref2 => { + onNativeDismissCancelled: onNativeDismissCancelled + // this prop is available since rn-screens 3.16 + , +- freezeOnBlur: freezeOnBlur ++ freezeOnBlur: freezeOnBlur, ++ hideKeyboardOnSwipe: keyboardHandlingEnabled + }, /*#__PURE__*/React.createElement(_native.NavigationContext.Provider, { + value: navigation + }, /*#__PURE__*/React.createElement(_native.NavigationRouteContext.Provider, { +diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map +index bacb290..1eb6dc4 100644 +--- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map ++++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map +@@ -1 +1 @@ +-{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +index 06439fe..cbdd502 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +@@ -94,7 +94,8 @@ const SceneView = _ref2 => { + statusBarStyle, + statusBarTranslucent, + statusBarColor, +- freezeOnBlur ++ freezeOnBlur, ++ keyboardHandlingEnabled + } = options; + let { + animation, +@@ -196,7 +197,8 @@ const SceneView = _ref2 => { + onNativeDismissCancelled: onNativeDismissCancelled + // this prop is available since rn-screens 3.16 + , +- freezeOnBlur: freezeOnBlur ++ freezeOnBlur: freezeOnBlur, ++ hideKeyboardOnSwipe: keyboardHandlingEnabled + }, /*#__PURE__*/React.createElement(NavigationContext.Provider, { + value: navigation + }, /*#__PURE__*/React.createElement(NavigationRouteContext.Provider, { +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +index c0ec5e4..2b113bb 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +@@ -1 +1 @@ +-{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts +new file mode 100644 +index 0000000..121d59b +--- /dev/null ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=index.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts.map +new file mode 100644 +index 0000000..7b9421a +--- /dev/null ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/__tests__/index.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts +index 3d74b14..d886b7b 100644 +--- a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts +@@ -446,6 +446,12 @@ export type NativeStackNavigationOptions = { + * Only supported on iOS and Android. + */ + freezeOnBlur?: boolean; ++ /** ++ * Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. ++ * ++ * Only supported on iOS ++ */ ++ keyboardHandlingEnabled?: boolean; + }; + export type NativeStackNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap> & StackRouterOptions & NativeStackNavigationConfig; + export type NativeStackDescriptor = Descriptor, RouteProp>; +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map +index 39c4fd5..91f0d7a 100644 +--- a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +index faf125c..3cdaf10 100644 +--- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AA+VlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} +\ No newline at end of file ++{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAiWlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/src/types.tsx b/node_modules/@react-navigation/native-stack/src/types.tsx +index 206fb0b..7a34a8e 100644 +--- a/node_modules/@react-navigation/native-stack/src/types.tsx ++++ b/node_modules/@react-navigation/native-stack/src/types.tsx +@@ -490,6 +490,14 @@ export type NativeStackNavigationOptions = { + * Only supported on iOS and Android. + */ + freezeOnBlur?: boolean; ++ // partial changes from https://github.com/react-navigation/react-navigation/commit/90cfbf23bcc5259f3262691a9eec6c5b906e5262 ++ // patch can be removed when new version of `native-stack` will be released ++ /** ++ * Whether the keyboard should hide when swiping to the previous screen. Defaults to `false`. ++ * ++ * Only supported on iOS ++ */ ++ keyboardHandlingEnabled?: boolean; + }; + + export type NativeStackNavigatorProps = DefaultNavigatorOptions< +diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +index a005c43..03d8b50 100644 +--- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx ++++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +@@ -161,6 +161,7 @@ const SceneView = ({ + statusBarTranslucent, + statusBarColor, + freezeOnBlur, ++ keyboardHandlingEnabled, + } = options; + + let { +@@ -289,6 +290,7 @@ const SceneView = ({ + onNativeDismissCancelled={onNativeDismissCancelled} + // this prop is available since rn-screens 3.16 + freezeOnBlur={freezeOnBlur} ++ hideKeyboardOnSwipe={keyboardHandlingEnabled} + > + + diff --git a/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch new file mode 100644 index 0000000000000..73385f344fd2e --- /dev/null +++ b/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch @@ -0,0 +1,191 @@ +diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js +index 997e384..94b1b71 100644 +--- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js ++++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js +@@ -160,6 +160,29 @@ const SceneView = _ref2 => { + preventedRoutes + } = (0, _native.usePreventRemoveContext)(); + const defaultHeaderHeight = (0, _elements.getDefaultHeaderHeight)(frame, isModal, statusBarHeight); ++ ++ // https://github.com/react-navigation/react-navigation/pull/11887 ++ const interactionHandleRef = React.useRef(); ++ ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle(); ++ } ++ }, [focused]); ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ _reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ const onAppearCallback = React.useCallback(e => { ++ onAppear === null || onAppear === void 0 ? void 0 : onAppear(e); ++ finishInteraction(); ++ }, [onAppear, finishInteraction]); + const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); + const headerTopInsetEnabled = topInset !== 0; + const headerHeight = header ? customHeaderHeight : defaultHeaderHeight; +@@ -192,7 +215,7 @@ const SceneView = _ref2 => { + swipeDirection: gestureDirectionOverride, + transitionDuration: animationDuration, + onWillDisappear: onWillDisappear, +- onAppear: onAppear, ++ onAppear: onAppearCallback, + onDisappear: onDisappear, + onDismissed: onDismissed, + isNativeStack: true, +diff --git a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map +index 1eb6dc4..e8f2da4 100644 +--- a/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map ++++ b/node_modules/@react-navigation/native-stack/lib/commonjs/views/NativeStackView.native.js.map +@@ -1 +1 @@ +-{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":";;;;;;AAAA;AAQA;AAUA;AACA;AACA;AAKA;AAKA;AAQA;AACA;AACA;AACA;AAA0C;AAAA;AAAA;AAAA;AAE1C,MAAMA,SAAS,GAAGC,qBAAQ,CAACC,EAAE,KAAK,SAAS;AAE3C,MAAMC,gBAAgB,GAAG,QAcnB;EAAA,IAdoB;IACxBC,OAAO;IACPC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,qBAAqB;IACrBC;EAQF,CAAC;EACC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,gBAAQ,GAAE;EAC7B,MAAM;IAAEC,MAAM;IAAEC,WAAW,GAAG,IAAI;IAAEC;EAAa,CAAC,GAAGV,OAAO;EAE5D,MAAMW,eAAe,GAAGf,SAAS,GAC7B,KAAK,GACLM,YAAY,KAAK,MAAM,IAAIO,WAAW,KAAK,IAAI,IAAID,MAAM,KAAKI,SAAS;EAE3E,MAAMC,sBAAsB,GAAGC,KAAK,CAACC,MAAM,CAACN,WAAW,CAAC;EAExDK,KAAK,CAACE,SAAS,CAAC,MAAM;IACpB,IAAAC,iBAAQ,EACN,CAACrB,SAAS,IACRM,YAAY,KAAK,MAAM,IACvBW,sBAAsB,CAACK,OAAO,KAAKT,WAAW,EAC/C,6IAA4IR,KAAK,CAACkB,IAAK,IAAG,CAC5J;IAEDN,sBAAsB,CAACK,OAAO,GAAGT,WAAW;EAC9C,CAAC,EAAE,CAACA,WAAW,EAAEP,YAAY,EAAED,KAAK,CAACkB,IAAI,CAAC,CAAC;EAE3C,MAAMC,OAAO,gBACX,oBAAC,uBAAc;IACb,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBpB,YAAY,KAAK,kBAAkB,IACjCA,YAAY,KAAK,2BAA2B,IAAI;MAC9CqB,eAAe,EAAEjB,MAAM,CAACkB;IAC1B,CAAC,EACHd,YAAY,CACZ;IACF,iBAAiB,EAAER,YAAY,KAAK,MAAM,GAAG,MAAM,GAAGA;EAAa,GAElEG,QAAQ,CAEZ;EAED,IAAIM,eAAe,EAAE;IACnB,oBACE,oBAAC,+BAAW;MAAC,KAAK,EAAEU,MAAM,CAACC;IAAU,gBACnC,oBAAC,0BAAM;MAAC,OAAO;MAAC,KAAK,EAAEG,uBAAU,CAACC;IAAa,GAC5CN,OAAO,eACR,oBAAC,qBAAY,eACPpB,OAAO;MACX,KAAK,EAAEC,KAAM;MACb,YAAY,EAAEE,YAAa;MAC3B,qBAAqB,EAAEC,qBAAsB;MAC7C,SAAS;IAAA,GACT,CACK,CACG;EAElB;EAEA,OAAOgB,OAAO;AAChB,CAAC;AAgBD,MAAMO,SAAS,GAAG,SAYI;EAAA;EAAA,IAZH;IACjBC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,kBAAkB;IAClBC,cAAc;IACdC,eAAe;IACfC,QAAQ;IACRC,WAAW;IACXC,WAAW;IACXC,yBAAyB;IACzBC;EACc,CAAC;EACf,MAAM;IAAErC,KAAK;IAAEsC,UAAU;IAAEvC,OAAO;IAAEwC;EAAO,CAAC,GAAGV,UAAU;EACzD,MAAM;IACJW,iBAAiB;IACjBC,uBAAuB,GAAG,MAAM;IAChCC,cAAc;IACdnC,MAAM;IACNoC,2BAA2B;IAC3BnC,WAAW;IACXoC,gBAAgB;IAChBC,iBAAiB;IACjBC,qBAAqB;IACrBC,kBAAkB;IAClBC,mBAAmB;IACnBC,WAAW;IACXC,kBAAkB;IAClBC,eAAe;IACfC,cAAc;IACdC,oBAAoB;IACpBC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,GAAGzD,OAAO;EAEX,IAAI;IACF0D,SAAS;IACTC,wBAAwB;IACxBC,wBAAwB;IACxB1D,YAAY,GAAG,MAAM;IACrB2D,gBAAgB,GAAG3D,YAAY,KAAK,MAAM,GAAG,YAAY,GAAG;EAC9D,CAAC,GAAGF,OAAO;EAEX,IAAI6D,gBAAgB,KAAK,UAAU,IAAIhE,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAC5D;IACA;IACA;IACA;IACA;IACA,IAAI8D,wBAAwB,KAAKhD,SAAS,EAAE;MAC1CgD,wBAAwB,GAAG,IAAI;IACjC;IACA,IAAID,wBAAwB,KAAK/C,SAAS,EAAE;MAC1C+C,wBAAwB,GAAG,IAAI;IACjC;IACA,IAAID,SAAS,KAAK9C,SAAS,EAAE;MAC3B8C,SAAS,GAAG,mBAAmB;IACjC;EACF;;EAEA;EACA;EACA,MAAMI,oBAAoB,GAAG9B,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEhC,OAAO,CAAC6D,gBAAgB;EACrE,MAAME,wBAAwB,GAC5BD,oBAAoB,IAAI,IAAI,GAAGA,oBAAoB,GAAGD,gBAAgB;EAExE,IAAIjC,KAAK,KAAK,CAAC,EAAE;IACf;IACA;IACA1B,YAAY,GAAG,MAAM;EACvB;EAEA,MAAM8D,MAAM,GAAG,IAAAC,6CAAiB,GAAE;EAClC,MAAMC,KAAK,GAAG,IAAAC,4CAAgB,GAAE;;EAEhC;EACA,MAAMC,OAAO,GAAGlE,YAAY,KAAK,OAAO,IAAIA,YAAY,KAAK,WAAW;;EAExE;EACA,MAAMmE,QAAQ,GAAGxE,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,EAAED,qBAAQ,CAACyE,KAAK,IAAIzE,qBAAQ,CAAC0E,IAAI,CAAC;EAC5E,MAAMC,WAAW,GAAGN,KAAK,CAACO,KAAK,GAAGP,KAAK,CAACQ,MAAM;EAE9C,MAAMC,mBAAmB,GAAG7D,KAAK,CAAC8D,UAAU,CAACC,4BAAkB,CAAC;EAChE,MAAMC,kBAAkB,GAAGhE,KAAK,CAAC8D,UAAU,CAACG,6BAAmB,CAAC;EAChE,MAAMC,gBAAgB,GAAGlE,KAAK,CAAC8D,UAAU,CAACK,2BAAiB,CAAC;EAE5D,MAAMC,QAAQ,GACZP,mBAAmB,IAClB9E,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIsE,OAAQ,IACjCC,QAAQ,IAAIG,WAAY,GACrB,CAAC,GACDR,MAAM,CAACmB,GAAG;;EAEhB;EACA,MAAMC,gBAAgB,GAAGvF,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAIoF,QAAQ,GAAG,EAAE;EAC/D,MAAMG,eAAe,GAAGD,gBAAgB,GAAGF,QAAQ,GAAG,CAAC,GAAGA,QAAQ;EAElE,MAAM;IAAEI;EAAgB,CAAC,GAAG,IAAAC,+BAAuB,GAAE;EAErD,MAAMC,mBAAmB,GAAG,IAAAC,gCAAsB,EAChDvB,KAAK,EACLE,OAAO,EACPiB,eAAe,CAChB;EAED,MAAM,CAACK,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/C7E,KAAK,CAAC8E,QAAQ,CAACJ,mBAAmB,CAAC;EAErC,MAAMpF,qBAAqB,GAAG8E,QAAQ,KAAK,CAAC;EAC5C,MAAM/E,YAAY,GAAGK,MAAM,GAAGkF,kBAAkB,GAAGF,mBAAmB;EACtE,MAAMK,UAAU,GAAG9D,kBAAkB,GACjC;IACE+D,KAAK,EAAE,IAAAC,wBAAc,EACnBhE,kBAAkB,CAAC/B,OAAO,EAC1B+B,kBAAkB,CAAC9B,KAAK,CAACkB,IAAI;EAEjC,CAAC,GACD6D,gBAAgB;EAEpB,MAAMgB,iBAAiB,4BAAGV,eAAe,CAACrF,KAAK,CAACgG,GAAG,CAAC,0DAA1B,sBAA4BC,aAAa;EAEnE,oBACE,oBAAC,0BAAM;IACL,GAAG,EAAEjG,KAAK,CAACgG,GAAI;IACf,OAAO;IACP,KAAK,EAAExE,uBAAU,CAACC,YAAa;IAC/B,sBAAsB,EAAEiC,wBAAyB;IACjD,sBAAsB,EAAEC,wBAAyB;IACjD,cAAc,EACZhE,SAAS;IACL;IACA;IACA,KAAK,GACL+C,cACL;IACD,mBAAmB,EAAEI,qBAAsB;IAC3C,kBAAkB,EAAEC,kBAAmB;IACvC,mBAAmB,EAAEC,mBAAoB;IACzC,gBAAgB,EAAEP,uBAAwB;IAC1C,iBAAiB,EAAExC,YAAY,KAAK,MAAM,GAAG,MAAM,GAAGA,YAAa;IACnE,cAAc,EAAEwD,SAAU;IAC1B,iBAAiB,EAAER,WAAY;IAC/B,kBAAkB,EAAEC,kBAAmB;IACvC,eAAe,EAAEC,eAAgB;IACjC,cAAc,EAAEC,cAAe;IAC/B,cAAc,EAAEE,cAAe;IAC/B,oBAAoB,EAAED,oBAAqB;IAC3C,cAAc,EAAES,wBAAyB;IACzC,kBAAkB,EAAEtB,iBAAkB;IACtC,eAAe,EAAER,eAAgB;IACjC,QAAQ,EAAEC,QAAS;IACnB,WAAW,EAAEC,WAAY;IACzB,WAAW,EAAEC,WAAY;IACzB,aAAa;IACb,gCAAgC,EAAE,KAAM,CAAC;IAAA;IACzC,yBAAyB,EAAEC;IAC3B;IAAA;IACA,oBAAoB,EAAE2D,iBAAkB,CAAC;IAAA;IACzC,wBAAwB,EAAE1D;IAC1B;IAAA;IACA,YAAY,EAAEkB,YAAa;IAC3B,mBAAmB,EAAEC;EAAwB,gBAE7C,oBAAC,yBAAiB,CAAC,QAAQ;IAAC,KAAK,EAAElB;EAAW,gBAC5C,oBAAC,8BAAsB,CAAC,QAAQ;IAAC,KAAK,EAAEtC;EAAM,gBAC5C,oBAAC,4BAAkB,CAAC,QAAQ;IAC1B,KAAK,EAAE0E,mBAAmB,IAAIlE,WAAW,KAAK;EAAM,gBAEpD,oBAAC,6BAAmB,CAAC,QAAQ;IAC3B,KAAK,EACHA,WAAW,KAAK,KAAK,GAAGN,YAAY,GAAG2E,kBAAkB,IAAI;EAC9D,GAEAjC,gBAAgB,IAAI,IAAI;EAAA;EACvB;AAChB;AACA;AACA;EACgB,oBAAC,iBAAI;IACH,KAAK,EAAE,CACLxB,MAAM,CAACG,UAAU,EACjBsB,iBAAiB,GAAGzB,MAAM,CAAC8E,WAAW,GAAG,IAAI,EAC7C;MAAEzB,MAAM,EAAEvE;IAAa,CAAC;EACxB,GAED0C,gBAAgB,EAAE,CACd,GACL,IAAI,eACR,oBAAC,iBAAI;IACH,2BAA2B,EAAE,CAAChB,OAAQ;IACtC,yBAAyB,EACvBA,OAAO,GAAG,MAAM,GAAG,qBACpB;IACD,KAAK,EAAER,MAAM,CAAC+E;EAAM,gBAEpB,oBAAC,gBAAgB;IACf,OAAO,EAAEpG,OAAQ;IACjB,KAAK,EAAEC,KAAM;IACb,YAAY,EAAEC,YAAa;IAC3B,YAAY,EAAEC,YAAa;IAC3B,qBAAqB,EAAEC;EAAsB,gBAE7C,oBAAC,2BAAiB,CAAC,QAAQ;IAAC,KAAK,EAAEyF;EAAW,GAC3CrD,MAAM,EAAE,CACkB,CACZ,EAClBhC,MAAM,KAAKI,SAAS,IAAIH,WAAW,KAAK,KAAK,gBAC5C,oBAAC,iBAAI;IACH,QAAQ,EAAG4F,CAAC,IAAK;MACfV,qBAAqB,CAACU,CAAC,CAACC,WAAW,CAACC,MAAM,CAAC7B,MAAM,CAAC;IACpD,CAAE;IACF,KAAK,EAAE5B,iBAAiB,GAAGzB,MAAM,CAACmF,QAAQ,GAAG;EAAK,GAEjDhG,MAAM,CAAC;IACNiG,IAAI,EAAEZ,UAAU;IAChB7F,OAAO;IACPC,KAAK;IACLsC;EACF,CAAC,CAAC,CACG,GACL,IAAI,CACH,eAYP,oBAAC,qBAAY,eACPvC,OAAO;IACX,KAAK,EAAEC,KAAM;IACb,2BAA2B,EACzB+F,iBAAiB,KAAKpF,SAAS,GAC3B,CAACoF,iBAAiB,GAClBpD,2BACL;IACD,WAAW,EAAEpC,MAAM,KAAKI,SAAS,GAAG,KAAK,GAAGH,WAAY;IACxD,YAAY,EAAEN,YAAa;IAC3B,eAAe,EACbH,OAAO,CAAC0G,eAAe,KAAK9F,SAAS,GACjCZ,OAAO,CAAC0G,eAAe,GACvB9F,SACL;IACD,qBAAqB,EAAER,qBAAsB;IAC7C,SAAS,EAAEyF,UAAU,KAAKjF;EAAU,GACpC,CAC2B,CACH,CACE,CACP,CACtB;AAEb,CAAC;AAQD,SAAS+F,oBAAoB,QAA4C;EAAA,IAA3C;IAAEC,KAAK;IAAErE,UAAU;IAAEsE;EAAmB,CAAC;EACrE,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,+BAAsB,EAACH,KAAK,CAAC;EAE7D,IAAAI,qCAA4B,EAACH,WAAW,CAAC;EAEzC,oBACE,oBAAC,+BAAW;IAAC,KAAK,EAAExF,MAAM,CAACC;EAAU,GAClCsF,KAAK,CAACK,MAAM,CAACC,GAAG,CAAC,CAACjH,KAAK,EAAE2B,KAAK,KAAK;IAAA;IAClC,MAAME,UAAU,GAAG+E,WAAW,CAAC5G,KAAK,CAACgG,GAAG,CAAC;IACzC,MAAMkB,SAAS,GAAGP,KAAK,CAAChF,KAAK,KAAKA,KAAK;IACvC,MAAMwF,WAAW,oBAAGR,KAAK,CAACK,MAAM,CAACrF,KAAK,GAAG,CAAC,CAAC,kDAAvB,cAAyBqE,GAAG;IAChD,MAAMoB,OAAO,qBAAGT,KAAK,CAACK,MAAM,CAACrF,KAAK,GAAG,CAAC,CAAC,mDAAvB,eAAyBqE,GAAG;IAC5C,MAAMlE,kBAAkB,GAAGqF,WAAW,GAClCP,WAAW,CAACO,WAAW,CAAC,GACxBxG,SAAS;IACb,MAAMoB,cAAc,GAAGqF,OAAO,GAAGR,WAAW,CAACQ,OAAO,CAAC,GAAGzG,SAAS;IAEjE,oBACE,oBAAC,SAAS;MACR,GAAG,EAAEX,KAAK,CAACgG,GAAI;MACf,KAAK,EAAErE,KAAM;MACb,OAAO,EAAEuF,SAAU;MACnB,UAAU,EAAErF,UAAW;MACvB,kBAAkB,EAAEC,kBAAmB;MACvC,cAAc,EAAEC,cAAe;MAC/B,eAAe,EAAE,MAAM;QACrBO,UAAU,CAAC+E,IAAI,CAAC;UACdC,IAAI,EAAE,iBAAiB;UACvBC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAK,CAAC;UACvBC,MAAM,EAAEzH,KAAK,CAACgG;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,QAAQ,EAAE,MAAM;QACd1D,UAAU,CAAC+E,IAAI,CAAC;UACdC,IAAI,EAAE,eAAe;UACrBC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAM,CAAC;UACxBC,MAAM,EAAEzH,KAAK,CAACgG;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,WAAW,EAAE,MAAM;QACjB1D,UAAU,CAAC+E,IAAI,CAAC;UACdC,IAAI,EAAE,eAAe;UACrBC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAK,CAAC;UACvBC,MAAM,EAAEzH,KAAK,CAACgG;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,WAAW,EAAG0B,KAAK,IAAK;QACtBpF,UAAU,CAACqF,QAAQ,CAAC;UAClB,GAAGC,oBAAY,CAACC,GAAG,CAACH,KAAK,CAACrB,WAAW,CAACyB,YAAY,CAAC;UACnDC,MAAM,EAAE/H,KAAK,CAACgG,GAAG;UACjByB,MAAM,EAAEd,KAAK,CAACX;QAChB,CAAC,CAAC;QAEFa,mBAAmB,CAAC7G,KAAK,CAACgG,GAAG,CAAC;MAChC,CAAE;MACF,yBAAyB,EAAE,MAAM;QAC/B1D,UAAU,CAACqF,QAAQ,CAAC;UAClB,GAAGC,oBAAY,CAACC,GAAG,EAAE;UACrBE,MAAM,EAAE/H,KAAK,CAACgG,GAAG;UACjByB,MAAM,EAAEd,KAAK,CAACX;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,wBAAwB,EAAG0B,KAAK,IAAK;QACnCpF,UAAU,CAACqF,QAAQ,CAAC;UAClB,GAAGC,oBAAY,CAACC,GAAG,CAACH,KAAK,CAACrB,WAAW,CAACyB,YAAY,CAAC;UACnDC,MAAM,EAAE/H,KAAK,CAACgG,GAAG;UACjByB,MAAM,EAAEd,KAAK,CAACX;QAChB,CAAC,CAAC;MACJ;IAAE,EACF;EAEN,CAAC,CAAC,CACU;AAElB;AAEe,SAASgC,eAAe,CAACC,KAAY,EAAE;EACpD,oBACE,oBAAC,gCAAsB,qBACrB,oBAAC,oBAAoB,EAAKA,KAAK,CAAI,CACZ;AAE7B;AAEA,MAAM7G,MAAM,GAAGI,uBAAU,CAAC0G,MAAM,CAAC;EAC/B7G,SAAS,EAAE;IACT8G,IAAI,EAAE;EACR,CAAC;EACDhC,KAAK,EAAE;IACLgC,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB,CAAC;EACD7B,QAAQ,EAAE;IACR8B,QAAQ,EAAE,UAAU;IACpBnD,GAAG,EAAE,CAAC;IACNoD,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT,CAAC;EACDrC,WAAW,EAAE;IACXmC,QAAQ,EAAE,UAAU;IACpBnD,GAAG,EAAE,CAAC;IACNoD,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,SAAS,EAAE;EACb,CAAC;EACDlH,UAAU,EAAE;IACVmH,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"} +\ No newline at end of file ++{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","interactionHandleRef","useMemo","InteractionManager","createInteractionHandle","finishInteraction","useCallback","clearInteractionHandle","onAppearCallback","e","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","translucent","scene","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +index cbdd502..17f337b 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js +@@ -2,7 +2,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function + import { getDefaultHeaderHeight, getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext, SafeAreaProviderCompat } from '@react-navigation/elements'; + import { NavigationContext, NavigationRouteContext, StackActions, usePreventRemoveContext, useTheme } from '@react-navigation/native'; + import * as React from 'react'; +-import { Platform, StyleSheet, View } from 'react-native'; ++import { InteractionManager, Platform, StyleSheet, View } from 'react-native'; + import { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context'; + import { Screen, ScreenStack } from 'react-native-screens'; + import warnOnce from 'warn-once'; +@@ -151,6 +151,29 @@ const SceneView = _ref2 => { + preventedRoutes + } = usePreventRemoveContext(); + const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, statusBarHeight); ++ ++ // https://github.com/react-navigation/react-navigation/pull/11887 ++ const interactionHandleRef = React.useRef(); ++ ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = InteractionManager.createInteractionHandle(); ++ } ++ }, [focused]); ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ const onAppearCallback = React.useCallback(e => { ++ onAppear === null || onAppear === void 0 ? void 0 : onAppear(e); ++ finishInteraction(); ++ }, [onAppear, finishInteraction]); + const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); + const headerTopInsetEnabled = topInset !== 0; + const headerHeight = header ? customHeaderHeight : defaultHeaderHeight; +@@ -183,7 +206,7 @@ const SceneView = _ref2 => { + swipeDirection: gestureDirectionOverride, + transitionDuration: animationDuration, + onWillDisappear: onWillDisappear, +- onAppear: onAppear, ++ onAppear: onAppearCallback, + onDisappear: onDisappear, + onDismissed: onDismissed, + isNativeStack: true, +diff --git a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +index 2b113bb..6bccdf6 100644 +--- a/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map ++++ b/node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.native.js.map +@@ -1 +1 @@ +-{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","e","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","InteractionManager","Platform","StyleSheet","View","useSafeAreaFrame","useSafeAreaInsets","Screen","ScreenStack","warnOnce","useDismissedRouteError","useInvalidPreventRemoveError","DebugContainer","HeaderConfig","isAndroid","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","useRef","useEffect","current","name","content","styles","container","backgroundColor","background","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerBackground","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","keyboardHandlingEnabled","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","frame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","topInset","top","hasDynamicIsland","statusBarHeight","preventedRoutes","defaultHeaderHeight","interactionHandleRef","useMemo","createInteractionHandle","finishInteraction","useCallback","clearInteractionHandle","onAppearCallback","e","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","isRemovePrevented","key","preventRemove","translucent","scene","nativeEvent","layout","absolute","back","headerBackTitle","NativeStackViewInner","state","descriptors","setNextDismissedKey","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right","zIndex","elevation","overflow"],"sourceRoot":"../../../src","sources":["views/NativeStackView.native.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EACtBC,cAAc,EACdC,iBAAiB,EACjBC,mBAAmB,EACnBC,kBAAkB,EAClBC,sBAAsB,QACjB,4BAA4B;AACnC,SACEC,iBAAiB,EACjBC,sBAAsB,EAGtBC,YAAY,EAEZC,uBAAuB,EACvBC,QAAQ,QACH,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC7E,SACEC,gBAAgB,EAChBC,iBAAiB,QACZ,gCAAgC;AAEvC,SACEC,MAAM,EACNC,WAAW,QAEN,sBAAsB;AAC7B,OAAOC,QAAQ,MAAM,WAAW;AAQhC,OAAOC,sBAAsB,MAAM,iCAAiC;AACpE,OAAOC,4BAA4B,MAAM,uCAAuC;AAChF,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,MAAMC,SAAS,GAAGZ,QAAQ,CAACa,EAAE,KAAK,SAAS;AAE3C,MAAMC,gBAAgB,GAAG,QAcnB;EAAA,IAdoB;IACxBC,OAAO;IACPC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,qBAAqB;IACrBC;EAQF,CAAC;EACC,MAAM;IAAEC;EAAO,CAAC,GAAGxB,QAAQ,EAAE;EAC7B,MAAM;IAAEyB,MAAM;IAAEC,WAAW,GAAG,IAAI;IAAEC;EAAa,CAAC,GAAGT,OAAO;EAE5D,MAAMU,eAAe,GAAGb,SAAS,GAC7B,KAAK,GACLK,YAAY,KAAK,MAAM,IAAIM,WAAW,KAAK,IAAI,IAAID,MAAM,KAAKI,SAAS;EAE3E,MAAMC,sBAAsB,GAAG7B,KAAK,CAAC8B,MAAM,CAACL,WAAW,CAAC;EAExDzB,KAAK,CAAC+B,SAAS,CAAC,MAAM;IACpBtB,QAAQ,CACN,CAACK,SAAS,IACRK,YAAY,KAAK,MAAM,IACvBU,sBAAsB,CAACG,OAAO,KAAKP,WAAW,EAC/C,6IAA4IP,KAAK,CAACe,IAAK,IAAG,CAC5J;IAEDJ,sBAAsB,CAACG,OAAO,GAAGP,WAAW;EAC9C,CAAC,EAAE,CAACA,WAAW,EAAEN,YAAY,EAAED,KAAK,CAACe,IAAI,CAAC,CAAC;EAE3C,MAAMC,OAAO,gBACX,oBAAC,cAAc;IACb,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBjB,YAAY,KAAK,kBAAkB,IACjCA,YAAY,KAAK,2BAA2B,IAAI;MAC9CkB,eAAe,EAAEd,MAAM,CAACe;IAC1B,CAAC,EACHZ,YAAY,CACZ;IACF,iBAAiB,EAAEP,YAAY,KAAK,MAAM,GAAG,MAAM,GAAGA;EAAa,GAElEG,QAAQ,CAEZ;EAED,IAAIK,eAAe,EAAE;IACnB,oBACE,oBAAC,WAAW;MAAC,KAAK,EAAEQ,MAAM,CAACC;IAAU,gBACnC,oBAAC,MAAM;MAAC,OAAO;MAAC,KAAK,EAAEjC,UAAU,CAACoC;IAAa,GAC5CL,OAAO,eACR,oBAAC,YAAY,eACPjB,OAAO;MACX,KAAK,EAAEC,KAAM;MACb,YAAY,EAAEE,YAAa;MAC3B,qBAAqB,EAAEC,qBAAsB;MAC7C,SAAS;IAAA,GACT,CACK,CACG;EAElB;EAEA,OAAOa,OAAO;AAChB,CAAC;AAgBD,MAAMM,SAAS,GAAG,SAYI;EAAA;EAAA,IAZH;IACjBC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,kBAAkB;IAClBC,cAAc;IACdC,eAAe;IACfC,QAAQ;IACRC,WAAW;IACXC,WAAW;IACXC,yBAAyB;IACzBC;EACc,CAAC;EACf,MAAM;IAAEjC,KAAK;IAAEkC,UAAU;IAAEnC,OAAO;IAAEoC;EAAO,CAAC,GAAGV,UAAU;EACzD,MAAM;IACJW,iBAAiB;IACjBC,uBAAuB,GAAG,MAAM;IAChCC,cAAc;IACdhC,MAAM;IACNiC,2BAA2B;IAC3BhC,WAAW;IACXiC,gBAAgB;IAChBC,iBAAiB;IACjBC,qBAAqB;IACrBC,kBAAkB;IAClBC,mBAAmB;IACnBC,WAAW;IACXC,kBAAkB;IAClBC,eAAe;IACfC,cAAc;IACdC,oBAAoB;IACpBC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,GAAGrD,OAAO;EAEX,IAAI;IACFsD,SAAS;IACTC,wBAAwB;IACxBC,wBAAwB;IACxBtD,YAAY,GAAG,MAAM;IACrBuD,gBAAgB,GAAGvD,YAAY,KAAK,MAAM,GAAG,YAAY,GAAG;EAC9D,CAAC,GAAGF,OAAO;EAEX,IAAIyD,gBAAgB,KAAK,UAAU,IAAIxE,QAAQ,CAACa,EAAE,KAAK,KAAK,EAAE;IAC5D;IACA;IACA;IACA;IACA;IACA,IAAI0D,wBAAwB,KAAK7C,SAAS,EAAE;MAC1C6C,wBAAwB,GAAG,IAAI;IACjC;IACA,IAAID,wBAAwB,KAAK5C,SAAS,EAAE;MAC1C4C,wBAAwB,GAAG,IAAI;IACjC;IACA,IAAID,SAAS,KAAK3C,SAAS,EAAE;MAC3B2C,SAAS,GAAG,mBAAmB;IACjC;EACF;;EAEA;EACA;EACA,MAAMI,oBAAoB,GAAG9B,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE5B,OAAO,CAACyD,gBAAgB;EACrE,MAAME,wBAAwB,GAC5BD,oBAAoB,IAAI,IAAI,GAAGA,oBAAoB,GAAGD,gBAAgB;EAExE,IAAIjC,KAAK,KAAK,CAAC,EAAE;IACf;IACA;IACAtB,YAAY,GAAG,MAAM;EACvB;EAEA,MAAM0D,MAAM,GAAGvE,iBAAiB,EAAE;EAClC,MAAMwE,KAAK,GAAGzE,gBAAgB,EAAE;;EAEhC;EACA,MAAM0E,OAAO,GAAG5D,YAAY,KAAK,OAAO,IAAIA,YAAY,KAAK,WAAW;;EAExE;EACA,MAAM6D,QAAQ,GAAG9E,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAI,EAAEb,QAAQ,CAAC+E,KAAK,IAAI/E,QAAQ,CAACgF,IAAI,CAAC;EAC5E,MAAMC,WAAW,GAAGL,KAAK,CAACM,KAAK,GAAGN,KAAK,CAACO,MAAM;EAE9C,MAAMC,mBAAmB,GAAGtF,KAAK,CAACuF,UAAU,CAAC9F,kBAAkB,CAAC;EAChE,MAAM+F,kBAAkB,GAAGxF,KAAK,CAACuF,UAAU,CAAC/F,mBAAmB,CAAC;EAChE,MAAMiG,gBAAgB,GAAGzF,KAAK,CAACuF,UAAU,CAAChG,iBAAiB,CAAC;EAE5D,MAAMmG,QAAQ,GACZJ,mBAAmB,IAClBpF,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAIgE,OAAQ,IACjCC,QAAQ,IAAIG,WAAY,GACrB,CAAC,GACDN,MAAM,CAACc,GAAG;;EAEhB;EACA,MAAMC,gBAAgB,GAAG1F,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAI2E,QAAQ,GAAG,EAAE;EAC/D,MAAMG,eAAe,GAAGD,gBAAgB,GAAGF,QAAQ,GAAG,CAAC,GAAGA,QAAQ;EAElE,MAAM;IAAEI;EAAgB,CAAC,GAAGhG,uBAAuB,EAAE;EAErD,MAAMiG,mBAAmB,GAAG1G,sBAAsB,CAChDyF,KAAK,EACLC,OAAO,EACPc,eAAe,CAChB;;EAED;EACA,MAAMG,oBAAoB,GAAGhG,KAAK,CAAC8B,MAAM,EAAU;;EAEnD;EACA9B,KAAK,CAACiG,OAAO,CAAC,MAAM;IAClB,IAAIvD,OAAO,IAAIsD,oBAAoB,CAAChE,OAAO,KAAKJ,SAAS,EAAE;MACzDoE,oBAAoB,CAAChE,OAAO,GAC1B/B,kBAAkB,CAACiG,uBAAuB,EAAE;IAChD;EACF,CAAC,EAAE,CAACxD,OAAO,CAAC,CAAC;EACb,MAAMyD,iBAAiB,GAAGnG,KAAK,CAACoG,WAAW,CAAC,MAAM;IAChD,IAAIJ,oBAAoB,CAAChE,OAAO,KAAKJ,SAAS,EAAE;MAC9C3B,kBAAkB,CAACoG,sBAAsB,CAACL,oBAAoB,CAAChE,OAAO,CAAC;MACvEgE,oBAAoB,CAAChE,OAAO,GAAGJ,SAAS;IAC1C;EACF,CAAC,EAAE,EAAE,CAAC;EACN;EACA;EACA5B,KAAK,CAAC+B,SAAS,CAAC,MAAMoE,iBAAiB,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAE7D,MAAMG,gBAAgB,GAAGtG,KAAK,CAACoG,WAAW,CAGvCG,CAAC,IAAK;IACLxD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGwD,CAAC,CAAC;IAEbJ,iBAAiB,EAAE;EACrB,CAAC,EACD,CAACpD,QAAQ,EAAEoD,iBAAiB,CAAC,CAC9B;EAED,MAAM,CAACK,kBAAkB,EAAEC,qBAAqB,CAAC,GAC/CzG,KAAK,CAAC0G,QAAQ,CAACX,mBAAmB,CAAC;EAErC,MAAM1E,qBAAqB,GAAGqE,QAAQ,KAAK,CAAC;EAC5C,MAAMtE,YAAY,GAAGI,MAAM,GAAGgF,kBAAkB,GAAGT,mBAAmB;EACtE,MAAMY,UAAU,GAAG/D,kBAAkB,GACjC;IACEgE,KAAK,EAAEtH,cAAc,CACnBsD,kBAAkB,CAAC3B,OAAO,EAC1B2B,kBAAkB,CAAC1B,KAAK,CAACe,IAAI;EAEjC,CAAC,GACDwD,gBAAgB;EAEpB,MAAMoB,iBAAiB,4BAAGf,eAAe,CAAC5E,KAAK,CAAC4F,GAAG,CAAC,0DAA1B,sBAA4BC,aAAa;EAEnE,oBACE,oBAAC,MAAM;IACL,GAAG,EAAE7F,KAAK,CAAC4F,GAAI;IACf,OAAO;IACP,KAAK,EAAE3G,UAAU,CAACoC,YAAa;IAC/B,sBAAsB,EAAEiC,wBAAyB;IACjD,sBAAsB,EAAEC,wBAAyB;IACjD,cAAc,EACZ3D,SAAS;IACL;IACA;IACA,KAAK,GACL0C,cACL;IACD,mBAAmB,EAAEI,qBAAsB;IAC3C,kBAAkB,EAAEC,kBAAmB;IACvC,mBAAmB,EAAEC,mBAAoB;IACzC,gBAAgB,EAAEP,uBAAwB;IAC1C,iBAAiB,EAAEpC,YAAY,KAAK,MAAM,GAAG,MAAM,GAAGA,YAAa;IACnE,cAAc,EAAEoD,SAAU;IAC1B,iBAAiB,EAAER,WAAY;IAC/B,kBAAkB,EAAEC,kBAAmB;IACvC,eAAe,EAAEC,eAAgB;IACjC,cAAc,EAAEC,cAAe;IAC/B,cAAc,EAAEE,cAAe;IAC/B,oBAAoB,EAAED,oBAAqB;IAC3C,cAAc,EAAES,wBAAyB;IACzC,kBAAkB,EAAEtB,iBAAkB;IACtC,eAAe,EAAER,eAAgB;IACjC,QAAQ,EAAEwD,gBAAiB;IAC3B,WAAW,EAAEtD,WAAY;IACzB,WAAW,EAAEC,WAAY;IACzB,aAAa;IACb,gCAAgC,EAAE,KAAM,CAAC;IAAA;IACzC,yBAAyB,EAAEC;IAC3B;IAAA;IACA,oBAAoB,EAAE2D,iBAAkB,CAAC;IAAA;IACzC,wBAAwB,EAAE1D;IAC1B;IAAA;IACA,YAAY,EAAEkB,YAAa;IAC3B,mBAAmB,EAAEC;EAAwB,gBAE7C,oBAAC,iBAAiB,CAAC,QAAQ;IAAC,KAAK,EAAElB;EAAW,gBAC5C,oBAAC,sBAAsB,CAAC,QAAQ;IAAC,KAAK,EAAElC;EAAM,gBAC5C,oBAAC,kBAAkB,CAAC,QAAQ;IAC1B,KAAK,EAAEoE,mBAAmB,IAAI7D,WAAW,KAAK;EAAM,gBAEpD,oBAAC,mBAAmB,CAAC,QAAQ;IAC3B,KAAK,EACHA,WAAW,KAAK,KAAK,GAAGL,YAAY,GAAGoE,kBAAkB,IAAI;EAC9D,GAEA9B,gBAAgB,IAAI,IAAI;EAAA;EACvB;AAChB;AACA;AACA;EACgB,oBAAC,IAAI;IACH,KAAK,EAAE,CACLvB,MAAM,CAACG,UAAU,EACjBqB,iBAAiB,GAAGxB,MAAM,CAAC6E,WAAW,GAAG,IAAI,EAC7C;MAAE3B,MAAM,EAAEjE;IAAa,CAAC;EACxB,GAEDsC,gBAAgB,EAAE,CACd,GACL,IAAI,eACR,oBAAC,IAAI;IACH,2BAA2B,EAAE,CAAChB,OAAQ;IACtC,yBAAyB,EACvBA,OAAO,GAAG,MAAM,GAAG,qBACpB;IACD,KAAK,EAAEP,MAAM,CAAC8E;EAAM,gBAEpB,oBAAC,gBAAgB;IACf,OAAO,EAAEhG,OAAQ;IACjB,KAAK,EAAEC,KAAM;IACb,YAAY,EAAEC,YAAa;IAC3B,YAAY,EAAEC,YAAa;IAC3B,qBAAqB,EAAEC;EAAsB,gBAE7C,oBAAC,iBAAiB,CAAC,QAAQ;IAAC,KAAK,EAAEsF;EAAW,GAC3CtD,MAAM,EAAE,CACkB,CACZ,EAClB7B,MAAM,KAAKI,SAAS,IAAIH,WAAW,KAAK,KAAK,gBAC5C,oBAAC,IAAI;IACH,QAAQ,EAAG8E,CAAC,IAAK;MACfE,qBAAqB,CAACF,CAAC,CAACW,WAAW,CAACC,MAAM,CAAC9B,MAAM,CAAC;IACpD,CAAE;IACF,KAAK,EAAE1B,iBAAiB,GAAGxB,MAAM,CAACiF,QAAQ,GAAG;EAAK,GAEjD5F,MAAM,CAAC;IACN6F,IAAI,EAAEV,UAAU;IAChB1F,OAAO;IACPC,KAAK;IACLkC;EACF,CAAC,CAAC,CACG,GACL,IAAI,CACH,eAYP,oBAAC,YAAY,eACPnC,OAAO;IACX,KAAK,EAAEC,KAAM;IACb,2BAA2B,EACzB2F,iBAAiB,KAAKjF,SAAS,GAC3B,CAACiF,iBAAiB,GAClBpD,2BACL;IACD,WAAW,EAAEjC,MAAM,KAAKI,SAAS,GAAG,KAAK,GAAGH,WAAY;IACxD,YAAY,EAAEL,YAAa;IAC3B,eAAe,EACbH,OAAO,CAACqG,eAAe,KAAK1F,SAAS,GACjCX,OAAO,CAACqG,eAAe,GACvB1F,SACL;IACD,qBAAqB,EAAEP,qBAAsB;IAC7C,SAAS,EAAEsF,UAAU,KAAK/E;EAAU,GACpC,CAC2B,CACH,CACE,CACP,CACtB;AAEb,CAAC;AAQD,SAAS2F,oBAAoB,QAA4C;EAAA,IAA3C;IAAEC,KAAK;IAAEpE,UAAU;IAAEqE;EAAmB,CAAC;EACrE,MAAM;IAAEC;EAAoB,CAAC,GAAGhH,sBAAsB,CAAC8G,KAAK,CAAC;EAE7D7G,4BAA4B,CAAC8G,WAAW,CAAC;EAEzC,oBACE,oBAAC,WAAW;IAAC,KAAK,EAAEtF,MAAM,CAACC;EAAU,GAClCoF,KAAK,CAACG,MAAM,CAACC,GAAG,CAAC,CAAC1G,KAAK,EAAEuB,KAAK,KAAK;IAAA;IAClC,MAAME,UAAU,GAAG8E,WAAW,CAACvG,KAAK,CAAC4F,GAAG,CAAC;IACzC,MAAMe,SAAS,GAAGL,KAAK,CAAC/E,KAAK,KAAKA,KAAK;IACvC,MAAMqF,WAAW,oBAAGN,KAAK,CAACG,MAAM,CAAClF,KAAK,GAAG,CAAC,CAAC,kDAAvB,cAAyBqE,GAAG;IAChD,MAAMiB,OAAO,qBAAGP,KAAK,CAACG,MAAM,CAAClF,KAAK,GAAG,CAAC,CAAC,mDAAvB,eAAyBqE,GAAG;IAC5C,MAAMlE,kBAAkB,GAAGkF,WAAW,GAClCL,WAAW,CAACK,WAAW,CAAC,GACxBlG,SAAS;IACb,MAAMiB,cAAc,GAAGkF,OAAO,GAAGN,WAAW,CAACM,OAAO,CAAC,GAAGnG,SAAS;IAEjE,oBACE,oBAAC,SAAS;MACR,GAAG,EAAEV,KAAK,CAAC4F,GAAI;MACf,KAAK,EAAErE,KAAM;MACb,OAAO,EAAEoF,SAAU;MACnB,UAAU,EAAElF,UAAW;MACvB,kBAAkB,EAAEC,kBAAmB;MACvC,cAAc,EAAEC,cAAe;MAC/B,eAAe,EAAE,MAAM;QACrBO,UAAU,CAAC4E,IAAI,CAAC;UACdC,IAAI,EAAE,iBAAiB;UACvBC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAK,CAAC;UACvBC,MAAM,EAAElH,KAAK,CAAC4F;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,QAAQ,EAAE,MAAM;QACd1D,UAAU,CAAC4E,IAAI,CAAC;UACdC,IAAI,EAAE,eAAe;UACrBC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAM,CAAC;UACxBC,MAAM,EAAElH,KAAK,CAAC4F;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,WAAW,EAAE,MAAM;QACjB1D,UAAU,CAAC4E,IAAI,CAAC;UACdC,IAAI,EAAE,eAAe;UACrBC,IAAI,EAAE;YAAEC,OAAO,EAAE;UAAK,CAAC;UACvBC,MAAM,EAAElH,KAAK,CAAC4F;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,WAAW,EAAGuB,KAAK,IAAK;QACtBjF,UAAU,CAACkF,QAAQ,CAAC;UAClB,GAAGzI,YAAY,CAAC0I,GAAG,CAACF,KAAK,CAACnB,WAAW,CAACsB,YAAY,CAAC;UACnDC,MAAM,EAAEvH,KAAK,CAAC4F,GAAG;UACjBsB,MAAM,EAAEZ,KAAK,CAACV;QAChB,CAAC,CAAC;QAEFY,mBAAmB,CAACxG,KAAK,CAAC4F,GAAG,CAAC;MAChC,CAAE;MACF,yBAAyB,EAAE,MAAM;QAC/B1D,UAAU,CAACkF,QAAQ,CAAC;UAClB,GAAGzI,YAAY,CAAC0I,GAAG,EAAE;UACrBE,MAAM,EAAEvH,KAAK,CAAC4F,GAAG;UACjBsB,MAAM,EAAEZ,KAAK,CAACV;QAChB,CAAC,CAAC;MACJ,CAAE;MACF,wBAAwB,EAAGuB,KAAK,IAAK;QACnCjF,UAAU,CAACkF,QAAQ,CAAC;UAClB,GAAGzI,YAAY,CAAC0I,GAAG,CAACF,KAAK,CAACnB,WAAW,CAACsB,YAAY,CAAC;UACnDC,MAAM,EAAEvH,KAAK,CAAC4F,GAAG;UACjBsB,MAAM,EAAEZ,KAAK,CAACV;QAChB,CAAC,CAAC;MACJ;IAAE,EACF;EAEN,CAAC,CAAC,CACU;AAElB;AAEA,eAAe,SAAS4B,eAAe,CAACC,KAAY,EAAE;EACpD,oBACE,oBAAC,sBAAsB,qBACrB,oBAAC,oBAAoB,EAAKA,KAAK,CAAI,CACZ;AAE7B;AAEA,MAAMxG,MAAM,GAAGhC,UAAU,CAACyI,MAAM,CAAC;EAC/BxG,SAAS,EAAE;IACTyG,IAAI,EAAE;EACR,CAAC;EACD5B,KAAK,EAAE;IACL4B,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB,CAAC;EACD1B,QAAQ,EAAE;IACR2B,QAAQ,EAAE,UAAU;IACpBpD,GAAG,EAAE,CAAC;IACNqD,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE;EACT,CAAC;EACDjC,WAAW,EAAE;IACX+B,QAAQ,EAAE,UAAU;IACpBpD,GAAG,EAAE,CAAC;IACNqD,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,SAAS,EAAE;EACb,CAAC;EACD7G,UAAU,EAAE;IACV8G,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +index 3cdaf10..245bf7e 100644 +--- a/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map ++++ b/node_modules/@react-navigation/native-stack/lib/typescript/src/views/NativeStackView.native.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAiWlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} +\ No newline at end of file ++{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAgYlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +index 03d8b50..eac1025 100644 +--- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx ++++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +@@ -17,7 +17,7 @@ import { + useTheme, + } from '@react-navigation/native'; + import * as React from 'react'; +-import { Platform, StyleSheet, View } from 'react-native'; ++import { InteractionManager, Platform, StyleSheet, View } from 'react-native'; + import { + useSafeAreaFrame, + useSafeAreaInsets, +@@ -121,7 +121,7 @@ type SceneViewProps = { + previousDescriptor?: NativeStackDescriptor; + nextDescriptor?: NativeStackDescriptor; + onWillDisappear: () => void; +- onAppear: () => void; ++ onAppear: ScreenProps['onAppear']; + onDisappear: () => void; + onDismissed: ScreenProps['onDismissed']; + onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; +@@ -234,6 +234,37 @@ const SceneView = ({ + statusBarHeight + ); + ++ // https://github.com/react-navigation/react-navigation/pull/11887 ++ const interactionHandleRef = React.useRef(); ++ ++ // this memo acts as a synchronous `useEffect` ++ React.useMemo(() => { ++ if (focused && interactionHandleRef.current === undefined) { ++ interactionHandleRef.current = ++ InteractionManager.createInteractionHandle(); ++ } ++ }, [focused]); ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); ++ // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired ++ // so we clean up an interaction here ++ React.useEffect(() => finishInteraction, [finishInteraction]); ++ ++ const onAppearCallback = React.useCallback< ++ NonNullable ++ >( ++ (e) => { ++ onAppear?.(e); ++ ++ finishInteraction(); ++ }, ++ [onAppear, finishInteraction] ++ ); ++ + const [customHeaderHeight, setCustomHeaderHeight] = + React.useState(defaultHeaderHeight); + +@@ -279,7 +310,7 @@ const SceneView = ({ + swipeDirection={gestureDirectionOverride} + transitionDuration={animationDuration} + onWillDisappear={onWillDisappear} +- onAppear={onAppear} ++ onAppear={onAppearCallback} + onDisappear={onDisappear} + onDismissed={onDismissed} + isNativeStack From 8ba4ccc24bc0f7f98a3e9ed7a4adba3a361cbaf2 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 25 Apr 2024 23:57:00 +0200 Subject: [PATCH 088/178] add keyboardHandlingEnabled option to native stack --- .../platformOptions/withNativeNavigationOptions.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index cd524a8f69560..2e9636945f434 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -11,6 +11,7 @@ import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigationOptions | undefined): NativeStackNavigationOptions => ({ + keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), ...screenOptions?.nativeOnly, From 316d44fbafcfd1b1dbc78410cfde3a6f7a6dbeac Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 26 Apr 2024 00:05:45 +0200 Subject: [PATCH 089/178] use defaultScreenOptions --- .../createPlatformStackNavigatorComponent/index.native.tsx | 5 +++-- .../createPlatformStackNavigatorComponent/index.tsx | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index dfd14e1fc01f6..7881e54c5d4b1 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -18,6 +18,7 @@ function createPlatformStackNavigatorComponent(screenOptionsToTransform: PlatformStackScreenOptions) => - withNativeNavigationOptions(screenOptionsToTransform); + withNativeNavigationOptions(screenOptionsToTransform, defaultScreenOptions); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index e8c945914d5c4..5b1e524736cd5 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -18,6 +18,7 @@ function createPlatformStackNavigatorComponent(screenOptionsToTransform: PlatformStackScreenOptions) => - withWebNavigationOptions(screenOptionsToTransform); + withWebNavigationOptions(screenOptionsToTransform, defaultScreenOptions); const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, From 8a4524c6a58a4ac29699a4509c7ccad2002705d6 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 26 Apr 2024 00:06:19 +0200 Subject: [PATCH 090/178] update defaultScreenOptions type --- .../types/NavigatorComponent.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts index 7570a64c3b522..b4bda2a8a815e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigatorComponent.ts @@ -1,7 +1,14 @@ import type {EventMapBase, ParamListBase, StackActionHelpers} from '@react-navigation/native'; import type WindowDimensions from '@hooks/useWindowDimensions/types'; import type {ThemeStyles} from '@styles/index'; -import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState, PlatformStackRouterFactory, PlatformStackRouterOptions} from '.'; +import type { + PlatformSpecificEventMap, + PlatformSpecificNavigationOptions, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackRouterFactory, + PlatformStackRouterOptions, +} from '.'; import type {PlatformNavigationBuilderDescriptors, PlatformNavigationBuilderNavigation} from './NavigationBuilder'; // Props that custom code receives when passed to the createPlatformStackNavigatorComponent generator function. @@ -99,7 +106,7 @@ type CreatePlatformStackNavigatorComponentOptions< ParamList extends ParamListBase = ParamListBase, > = { createRouter?: PlatformStackRouterFactory; - defaultScreenOptions?: NavigationOptions; + defaultScreenOptions?: PlatformStackNavigationOptions; transformState?: TransformState; onIsSmallScreenWidthChange?: OnIsSmallScreenWidthChange; ExtraContent?: ExtraContent; From 09a39b96c3fcb7056a241e34f9bcf4c70ffd7e03 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 26 Apr 2024 00:34:55 +0200 Subject: [PATCH 091/178] fix: bottom tab navigator transformState on native --- .../createCustomBottomTabNavigator/index.tsx | 29 ++----------------- .../transformState/index.native.ts | 3 ++ .../transformState/index.ts | 22 ++++++++++++++ 3 files changed, 28 insertions(+), 26 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.native.ts create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index 987fbfc607f63..9a2a82c3322a4 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -1,34 +1,11 @@ -import type {EventMapBase, ParamListBase} from '@react-navigation/native'; +import type {ParamListBase} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import React from 'react'; import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; -import type { - PlatformSpecificEventMap, - PlatformSpecificNavigationOptions, - PlatformStackNavigationEventMap, - PlatformStackNavigationOptions, - PlatformStackNavigationState, -} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; -import type {NavigationStateRoute} from '@libs/Navigation/types'; -import SCREENS from '@src/SCREENS'; +import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import BottomTabNavigationContentWrapper from './BottomTabNavigationContentWrapper'; - -function transformState({state}: TransformStateProps) { - const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; - - // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. - // Currently this value will be switched only after the first HOME screen is rendered. - if (routesToRender[0].name !== SCREENS.HOME) { - const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); - if (routeToRender) { - routesToRender.unshift(routeToRender); - } - } - - return {stateToRender: {...state, routes: routesToRender, index: routesToRender.length - 1}}; -} +import transformState from './transformState'; const defaultScreenOptions: PlatformStackNavigationOptions = { animation: 'none', diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.native.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.native.ts new file mode 100644 index 0000000000000..eee19da60af2e --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.native.ts @@ -0,0 +1,3 @@ +const transformState = undefined; + +export default transformState; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts new file mode 100644 index 0000000000000..d1517a6793de0 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts @@ -0,0 +1,22 @@ +import type {EventMapBase, ParamListBase} from '@react-navigation/native'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {NavigationStateRoute} from '@libs/Navigation/types'; +import SCREENS from '@src/SCREENS'; + +function transformState({state}: TransformStateProps) { + const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; + + // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. + // Currently this value will be switched only after the first HOME screen is rendered. + if (routesToRender[0].name !== SCREENS.HOME) { + const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); + if (routeToRender) { + routesToRender.unshift(routeToRender); + } + } + + return {stateToRender: {...state, routes: routesToRender, index: routesToRender.length - 1}}; +} + +export default transformState; From 7c04f3f16aab8302ba5b8f4cc93736b4c7311530 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 26 Apr 2024 10:05:12 +0200 Subject: [PATCH 092/178] change iOS animation --- .../platformOptions/animation/native/slideFromRight/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts index a2758682b87ea..4f482b5024aab 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const transition: NativeStackNavigationOptions = {animation: 'slide_from_right'}; +const transition: NativeStackNavigationOptions = {animation: 'simple_push'}; export default transition; From bd961fa44b177c00acc2b9cacecd3c58586e1c61 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 29 Apr 2024 16:41:02 +0200 Subject: [PATCH 093/178] fix: crash when attempt to upload a photo --- .../Navigators/Overlay/index.native.tsx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx index 0dd9e203c46b3..cde195fca561b 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx @@ -1,15 +1,5 @@ -import React from 'react'; -import type {BaseOverlayProps} from './BaseOverlay'; -import BaseOverlay from './BaseOverlay'; - -function Overlay({...rest}: Omit) { - return ( - - ); +function Overlay() { + return null; } Overlay.displayName = 'Overlay'; From d64570da56bcc70228704af5c6a28a40aa478a3b Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 30 Apr 2024 12:23:40 +0200 Subject: [PATCH 094/178] chore: update react-native-screens to latest version --- ios/Podfile.lock | 31 +++++++++---------------------- package-lock.json | 8 ++++---- package.json | 2 +- 3 files changed, 14 insertions(+), 27 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 0398bd3b1324b..4b535b6e26a63 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1940,7 +1940,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNScreens (3.30.1): + - RNScreens (3.31.1): - glog - hermes-engine - RCT-Folly (= 2022.05.16.00) @@ -1954,13 +1954,14 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric + - React-RCTImage - React-rendererdebug - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 3.30.1) + - RNScreens/common (= 3.31.1) - Yoga - - RNScreens/common (3.30.1): + - RNScreens/common (3.31.1): - glog - hermes-engine - RCT-Folly (= 2022.05.16.00) @@ -1974,6 +1975,7 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric + - React-RCTImage - React-rendererdebug - React-utils - ReactCommon/turbomodule/bridging @@ -2045,24 +2047,9 @@ PODS: - SocketRocket (0.6.1) - Turf (2.7.0) - VisionCamera (4.0.0-beta.13): - - glog - - hermes-engine - - RCT-Folly (= 2022.05.16.00) - - RCTRequired - - RCTTypeSafety - - React-Codegen + - React + - React-callinvoker - React-Core - - React-debug - - React-Fabric - - React-graphics - - React-ImageManager - - React-NativeModulesApple - - React-RCTFabric - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - Yoga - Yoga (1.14.0) DEPENDENCIES: @@ -2562,7 +2549,7 @@ SPEC CHECKSUMS: RNPermissions: 8990fc2c10da3640938e6db1647cb6416095b729 RNReactNativeHapticFeedback: 616c35bdec7d20d4c524a7949ca9829c09e35f37 RNReanimated: 605409e0d0ced6f2e194ae585fedc2f8a1935bf2 - RNScreens: 65a936f4e227b91e4a8e2a7d4c4607355bfefda0 + RNScreens: e5204ceff1851ebae11578a43071358d37057a30 RNShare: 2a4cdfc0626ad56b0ef583d424f2038f772afe58 RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852 RNSVG: db32cfcad0a221fd175e0882eff7bcba7690380a @@ -2572,7 +2559,7 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: af09429398d99d524cae2fe00f6f0f6e491ed102 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2 - VisionCamera: 8c5c9c50b3d76018782a823cee2f0b8b628c8604 + VisionCamera: 9f26224fce1233ffdad9fa4e56863e3de2190dc0 Yoga: 64cd2a583ead952b0315d5135bf39e053ae9be70 PODFILE CHECKSUM: a25a81f2b50270f0c0bd0aff2e2ebe4d0b4ec06d diff --git a/package-lock.json b/package-lock.json index a6e6fbfa1543c..fb06aabab1982 100644 --- a/package-lock.json +++ b/package-lock.json @@ -114,7 +114,7 @@ "react-native-release-profiler": "^0.1.6", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "4.8.2", - "react-native-screens": "3.30.1", + "react-native-screens": "3.31.1", "react-native-share": "^10.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "14.1.0", @@ -31702,9 +31702,9 @@ } }, "node_modules/react-native-screens": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.30.1.tgz", - "integrity": "sha512-/muEvjocCtFb+j5J3YmLvB25+f4rIU8hnnxgGTkXcAf2omPBY8uhPjJaaFUlvj64VEoEzJcRpugbXWsjfPPIFg==", + "version": "3.31.1", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.31.1.tgz", + "integrity": "sha512-8fRW362pfZ9y4rS8KY5P3DFScrmwo/vu1RrRMMx0PNHbeC9TLq0Kw1ubD83591yz64gLNHFLTVkTJmWeWCXKtQ==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" diff --git a/package.json b/package.json index 335c2b9f46f64..0b53cbc9b9af6 100644 --- a/package.json +++ b/package.json @@ -166,7 +166,7 @@ "react-native-release-profiler": "^0.1.6", "react-native-render-html": "6.3.1", "react-native-safe-area-context": "4.8.2", - "react-native-screens": "3.30.1", + "react-native-screens": "3.31.1", "react-native-share": "^10.0.2", "react-native-sound": "^0.11.2", "react-native-svg": "14.1.0", From 552b97837ce4f8d6a2a626f99733c3581828b13c Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Thu, 2 May 2024 13:10:11 +0200 Subject: [PATCH 095/178] fix: update lock files --- ios/Podfile.lock | 25 ++++++++++++++++++++----- package-lock.json | 2 +- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 465e11d967683..108b94ae75907 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2047,9 +2047,24 @@ PODS: - SocketRocket (0.6.1) - Turf (2.7.0) - VisionCamera (4.0.0-beta.13): - - React - - React-callinvoker + - glog + - hermes-engine + - RCT-Folly (= 2022.05.16.00) + - RCTRequired + - RCTTypeSafety + - React-Codegen - React-Core + - React-debug + - React-Fabric + - React-graphics + - React-ImageManager + - React-NativeModulesApple + - React-RCTFabric + - React-rendererdebug + - React-utils + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - Yoga - Yoga (1.14.0) DEPENDENCIES: @@ -2548,8 +2563,8 @@ SPEC CHECKSUMS: rnmapbox-maps: 51aee278cc2af8af9298f91a2aad7210739785b4 RNPermissions: 0b61d30d21acbeafe25baaa47d9bae40a0c65216 RNReactNativeHapticFeedback: 616c35bdec7d20d4c524a7949ca9829c09e35f37 - RNReanimated: 605409e0d0ced6f2e194ae585fedc2f8a1935bf2 - RNScreens: e5204ceff1851ebae11578a43071358d37057a30 + RNReanimated: 51db0fff543694d931bd3b7cab1a3b36bd86c738 + RNScreens: 2227d6ad579fe65108a404c8e11a8066371d92ab RNShare: 2a4cdfc0626ad56b0ef583d424f2038f772afe58 RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852 RNSVG: 18f1381e046be2f1c30b4724db8d0c966238089f @@ -2559,7 +2574,7 @@ SPEC CHECKSUMS: SDWebImageWebPCoder: af09429398d99d524cae2fe00f6f0f6e491ed102 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 Turf: 13d1a92d969ca0311bbc26e8356cca178ce95da2 - VisionCamera: 9f26224fce1233ffdad9fa4e56863e3de2190dc0 + VisionCamera: 1394a316c7add37e619c48d7aa40b38b954bf055 Yoga: 64cd2a583ead952b0315d5135bf39e053ae9be70 PODFILE CHECKSUM: a25a81f2b50270f0c0bd0aff2e2ebe4d0b4ec06d diff --git a/package-lock.json b/package-lock.json index 392ec430b571f..b6d8a2820959c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -101,7 +101,7 @@ "react-native-linear-gradient": "^2.8.1", "react-native-localize": "^2.2.6", "react-native-modal": "^13.0.0", - "react-native-onyx": "^2.0.35", + "react-native-onyx": "2.0.35", "react-native-pager-view": "6.2.3", "react-native-pdf": "6.7.3", "react-native-performance": "^5.1.0", From 3d37d9d407c15cde11e93923b032c49c076c9e19 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Thu, 2 May 2024 14:42:28 +0200 Subject: [PATCH 096/178] fix: lint, typescript --- src/pages/Search/SearchPage.tsx | 2 +- src/pages/workspace/WorkspaceMoreFeaturesPage.tsx | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx index 9107a9a0cff85..3caaf3d838bdc 100644 --- a/src/pages/Search/SearchPage.tsx +++ b/src/pages/Search/SearchPage.tsx @@ -4,8 +4,8 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import * as Illustrations from '@components/Icon/Illustrations'; import ScreenWrapper from '@components/ScreenWrapper'; import Search from '@components/Search'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {CentralPaneNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; diff --git a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx index 9c4e476d0e66c..9a0f3bdcdb9be 100644 --- a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx +++ b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx @@ -1,5 +1,4 @@ import {useFocusEffect} from '@react-navigation/native'; -import {CONST} from 'expensify-common/lib/CONST'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -12,9 +11,11 @@ import useNetwork from '@hooks/useNetwork'; import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; +import * as ErrorUtils from '@libs/ErrorUtils'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WorkspacesCentralPaneNavigatorParamList} from '@libs/Navigation/types'; import * as Policy from '@userActions/Policy'; +import CONST from '@src/CONST'; import type {TranslationPaths} from '@src/languages/types'; import type SCREENS from '@src/SCREENS'; import type {Errors, PendingAction} from '@src/types/onyx/OnyxCommon'; From c443b1cd1235db98c59154d8f4abe8d92952355b Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 6 May 2024 14:28:15 +0200 Subject: [PATCH 097/178] fix: typo --- src/libs/Navigation/AppNavigator/AuthScreens.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index 50ebc6f225146..b04b580abbb62 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -38,7 +38,7 @@ import ROUTES from '@src/ROUTES'; import SCREENS from '@src/SCREENS'; import type * as OnyxTypes from '@src/types/onyx'; import type {SelectedTimezone, Timezone} from '@src/types/onyx/PersonalDetails'; -import createReponsiveStackNavigator from './createResponsiveStackNavigator'; +import createResponsiveStackNavigator from './createResponsiveStackNavigator'; import defaultScreenOptions from './defaultScreenOptions'; import getRootNavigatorScreenOptions from './getRootNavigatorScreenOptions'; import BottomTabNavigator from './Navigators/BottomTabNavigator'; @@ -139,7 +139,7 @@ function handleNetworkReconnect() { } } -const RootStack = createReponsiveStackNavigator(); +const RootStack = createResponsiveStackNavigator(); // We want to delay the re-rendering for components(e.g. ReportActionCompose) // that depends on modal visibility until Modal is completely closed and its focused // When modal screen is focused, update modal visibility in Onyx From fb718b73b137643ef57e1cac629a4c94776a9bb2 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Mon, 6 May 2024 17:37:11 +0200 Subject: [PATCH 098/178] fix: issue#4 --- ...dded-interaction-manager-integration.patch | 23 +++++++++++-------- .../Navigation/AppNavigator/AuthScreens.tsx | 2 ++ src/pages/settings/Profile/ProfileAvatar.tsx | 5 +++- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch b/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch index 73385f344fd2e..e8c6ad7ffa2e5 100644 --- a/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch +++ b/patches/@react-navigation+native-stack+6.9.26+002+added-interaction-manager-integration.patch @@ -121,7 +121,7 @@ index 3cdaf10..245bf7e 100644 +{"version":3,"file":"NativeStackView.native.d.ts","sourceRoot":"","sources":["../../../../src/views/NativeStackView.native.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAGb,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAelC,OAAO,KAAK,EAEV,wBAAwB,EACxB,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAgYlB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,4BAA4B,CAAC;IACzC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AA8EF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,KAAK,eAMnD"} \ No newline at end of file diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx -index 03d8b50..eac1025 100644 +index 03d8b50..e8e4c27 100644 --- a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx +++ b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx @@ -17,7 +17,7 @@ import { @@ -142,26 +142,31 @@ index 03d8b50..eac1025 100644 onDisappear: () => void; onDismissed: ScreenProps['onDismissed']; onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked']; -@@ -234,6 +234,37 @@ const SceneView = ({ +@@ -234,6 +234,42 @@ const SceneView = ({ statusBarHeight ); + // https://github.com/react-navigation/react-navigation/pull/11887 + const interactionHandleRef = React.useRef(); + ++ const finishInteraction = React.useCallback(() => { ++ if (interactionHandleRef.current !== undefined) { ++ InteractionManager.clearInteractionHandle(interactionHandleRef.current); ++ interactionHandleRef.current = undefined; ++ } ++ }, []); + // this memo acts as a synchronous `useEffect` + React.useMemo(() => { + if (focused && interactionHandleRef.current === undefined) { + interactionHandleRef.current = + InteractionManager.createInteractionHandle(); ++ // actually transition is highly unlikely to be more than 500ms, but sometimes BottomTabNavigator ++ // can become unfocused and then focused again, and in this case `onAppear` will not be fired an ++ // we will get infinite interaction manager handler. To fix that we are making a running timeout ++ // action that will clear an interaction 100% ++ setTimeout(finishInteraction, 500); + } + }, [focused]); -+ const finishInteraction = React.useCallback(() => { -+ if (interactionHandleRef.current !== undefined) { -+ InteractionManager.clearInteractionHandle(interactionHandleRef.current); -+ interactionHandleRef.current = undefined; -+ } -+ }, []); + // in case if screen is unmounted faster than transition finishes, then `onAppear` will not be fired + // so we clean up an interaction here + React.useEffect(() => finishInteraction, [finishInteraction]); @@ -180,7 +185,7 @@ index 03d8b50..eac1025 100644 const [customHeaderHeight, setCustomHeaderHeight] = React.useState(defaultHeaderHeight); -@@ -279,7 +310,7 @@ const SceneView = ({ +@@ -279,7 +315,7 @@ const SceneView = ({ swipeDirection={gestureDirectionOverride} transitionDuration={animationDuration} onWillDisappear={onWillDisappear} diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index b04b580abbb62..176b0c897bd1e 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -319,6 +319,8 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie name={SCREENS.PROFILE_AVATAR} options={{ headerShown: false, + presentation: 'transparentModal', + animation: 'none', }} getComponent={loadProfileAvatar} listeners={modalScreenListeners} diff --git a/src/pages/settings/Profile/ProfileAvatar.tsx b/src/pages/settings/Profile/ProfileAvatar.tsx index ebec25da7a636..b9039f85e71ea 100644 --- a/src/pages/settings/Profile/ProfileAvatar.tsx +++ b/src/pages/settings/Profile/ProfileAvatar.tsx @@ -1,4 +1,5 @@ import React, {useEffect} from 'react'; +import {InteractionManager} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; @@ -41,7 +42,9 @@ function ProfileAvatar({route, personalDetails, personalDetailsMetadata, isLoadi defaultOpen source={UserUtils.getFullSizeAvatar(avatarURL, accountID)} onModalClose={() => { - Navigation.goBack(); + InteractionManager.runAfterInteractions(() => { + Navigation.goBack(); + }); }} originalFileName={personalDetail?.originalFileName ?? ''} isLoading={!!isLoading} From 1e61de84536a9d0c75db9ecb09e67719ff7a986b Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 7 May 2024 11:40:22 +0200 Subject: [PATCH 099/178] fix: CI --- patches/@react-navigation+core+6.4.11.patch | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11.patch b/patches/@react-navigation+core+6.4.11.patch index 6690085b729a8..7cebc6ee28d22 100644 --- a/patches/@react-navigation+core+6.4.11.patch +++ b/patches/@react-navigation+core+6.4.11.patch @@ -124,19 +124,6 @@ index 55b77ca..de10a37 100644 \ No newline at end of file +{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js -index 1d42c3a..06f6bde 100644 ---- a/node_modules/@react-navigation/core/lib/module/index.js -+++ b/node_modules/@react-navigation/core/lib/module/index.js -@@ -17,7 +17,7 @@ export * from './types'; - export { default as useFocusEffect } from './useFocusEffect'; - export { default as useIsFocused } from './useIsFocused'; - export { default as useNavigation } from './useNavigation'; --export { default as useNavigationBuilder } from './useNavigationBuilder'; -+export { NavigationBuilderOptions, default as useNavigationBuilder } from './useNavigationBuilder'; - export { default as useNavigationContainerRef } from './useNavigationContainerRef'; - export { default as useNavigationState } from './useNavigationState'; - export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; diff --git a/node_modules/@react-navigation/core/lib/module/index.js.map b/node_modules/@react-navigation/core/lib/module/index.js.map index ed01400..32855ca 100644 --- a/node_modules/@react-navigation/core/lib/module/index.js.map From 935e6732e17671ce034dee83d219d08438d83273 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 7 May 2024 12:56:00 +0200 Subject: [PATCH 100/178] fix: post changes after merge --- package-lock.json | 2 +- ...ch => react-native-screens+3.31.1+001+fix-screen-type.patch} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename patches/{react-native-screens+3.30.1+001+fix-screen-type.patch => react-native-screens+3.31.1+001+fix-screen-type.patch} (100%) diff --git a/package-lock.json b/package-lock.json index e25ec84c89504..2556333b44971 100644 --- a/package-lock.json +++ b/package-lock.json @@ -101,7 +101,7 @@ "react-native-linear-gradient": "^2.8.1", "react-native-localize": "^2.2.6", "react-native-modal": "^13.0.0", - "react-native-onyx": "2.0.35", + "react-native-onyx": "2.0.32", "react-native-pager-view": "6.2.3", "react-native-pdf": "6.7.3", "react-native-performance": "^5.1.0", diff --git a/patches/react-native-screens+3.30.1+001+fix-screen-type.patch b/patches/react-native-screens+3.31.1+001+fix-screen-type.patch similarity index 100% rename from patches/react-native-screens+3.30.1+001+fix-screen-type.patch rename to patches/react-native-screens+3.31.1+001+fix-screen-type.patch From 2b741ff8769744f0817b91540b1ac5d27f0c3e98 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 09:34:17 +0200 Subject: [PATCH 101/178] fix: merge conflict --- src/pages/home/report/ReportAttachments.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/pages/home/report/ReportAttachments.tsx b/src/pages/home/report/ReportAttachments.tsx index 90cced1e2cdd6..5a9cff3d95fa9 100644 --- a/src/pages/home/report/ReportAttachments.tsx +++ b/src/pages/home/report/ReportAttachments.tsx @@ -1,9 +1,4 @@ -<<<<<<< HEAD -import React, {useCallback} from 'react'; -======= -import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useRef} from 'react'; ->>>>>>> main import {useOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import type {Attachment} from '@components/Attachments/types'; From d068e77adeb45ee04f2435afc5761956d6aba2c4 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 09:52:15 +0200 Subject: [PATCH 102/178] remove outdated file --- .../WorkspaceWorkflowsApproverPage.tsx | 196 ------------------ 1 file changed, 196 deletions(-) delete mode 100644 src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx deleted file mode 100644 index 1d39a438360f7..0000000000000 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsApproverPage.tsx +++ /dev/null @@ -1,196 +0,0 @@ -import React, {useCallback, useMemo, useState} from 'react'; -import type {SectionListData} from 'react-native'; -import type {OnyxEntry} from 'react-native-onyx'; -import Badge from '@components/Badge'; -import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; -import HeaderWithBackButton from '@components/HeaderWithBackButton'; -import {FallbackAvatar} from '@components/Icon/Expensicons'; -import ScreenWrapper from '@components/ScreenWrapper'; -import SelectionList from '@components/SelectionList'; -import type {ListItem, Section} from '@components/SelectionList/types'; -import UserListItem from '@components/SelectionList/UserListItem'; -import useLocalize from '@hooks/useLocalize'; -import useNetwork from '@hooks/useNetwork'; -import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; -import Log from '@libs/Log'; -import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; -import * as OptionsListUtils from '@libs/OptionsListUtils'; -import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; -import * as PolicyUtils from '@libs/PolicyUtils'; -import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; -import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading'; -import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading'; -import * as Policy from '@userActions/Policy/Policy'; -import CONST from '@src/CONST'; -import type SCREENS from '@src/SCREENS'; -import type {PersonalDetailsList, PolicyEmployee} from '@src/types/onyx'; -import {isEmptyObject} from '@src/types/utils/EmptyObject'; - -type WorkspaceWorkflowsApproverPageOnyxProps = { - /** All of the personal details for everyone */ - personalDetails: OnyxEntry; -}; - -type WorkspaceWorkflowsApproverPageProps = WorkspaceWorkflowsApproverPageOnyxProps & - WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; -type MemberOption = Omit & {accountID: number}; -type MembersSection = SectionListData>; - -function WorkspaceWorkflowsApproverPage({policy, personalDetails, isLoadingReportData = true, route}: WorkspaceWorkflowsApproverPageProps) { - const {translate} = useLocalize(); - const policyName = policy?.name ?? ''; - const [searchTerm, setSearchTerm] = useState(''); - const {isOffline} = useNetwork(); - - const isDeletedPolicyEmployee = useCallback( - (policyEmployee: PolicyEmployee) => !isOffline && policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE && isEmptyObject(policyEmployee.errors), - [isOffline], - ); - - const [formattedPolicyEmployeeList, formattedApprover] = useMemo(() => { - const policyMemberDetails: MemberOption[] = []; - const approverDetails: MemberOption[] = []; - - const policyMemberEmailsToAccountIDs = PolicyUtils.getMemberAccountIDsForWorkspace(policy?.employeeList); - - Object.entries(policy?.employeeList ?? {}).forEach(([email, policyEmployee]) => { - if (isDeletedPolicyEmployee(policyEmployee)) { - return; - } - - const accountID = Number(policyMemberEmailsToAccountIDs[email] ?? ''); - - const details = personalDetails?.[accountID]; - if (!details) { - Log.hmmm(`[WorkspaceMembersPage] no personal details found for policy member with accountID: ${accountID}`); - return; - } - - const isOwner = policy?.owner === details.login; - const isAdmin = policyEmployee.role === CONST.POLICY.ROLE.ADMIN; - - let roleBadge = null; - if (isOwner || isAdmin) { - roleBadge = ; - } - - const formattedMember = { - keyForList: String(accountID), - accountID, - isSelected: policy?.approver === details.login, - isDisabled: policyEmployee.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE || !isEmptyObject(policyEmployee.errors), - text: formatPhoneNumber(PersonalDetailsUtils.getDisplayNameOrDefault(details)), - alternateText: formatPhoneNumber(details?.login ?? ''), - rightElement: roleBadge, - icons: [ - { - source: details.avatar ?? FallbackAvatar, - name: formatPhoneNumber(details?.login ?? ''), - type: CONST.ICON_TYPE_AVATAR, - id: accountID, - }, - ], - errors: policyEmployee.errors, - pendingAction: policyEmployee.pendingAction, - }; - - if (policy?.approver === details.login) { - approverDetails.push(formattedMember); - } else { - policyMemberDetails.push(formattedMember); - } - }); - return [policyMemberDetails, approverDetails]; - }, [personalDetails, translate, policy?.approver, isDeletedPolicyEmployee, policy?.owner, policy?.employeeList]); - - const sections: MembersSection[] = useMemo(() => { - const sectionsArray: MembersSection[] = []; - - if (searchTerm !== '') { - const filteredOptions = [...formattedApprover, ...formattedPolicyEmployeeList].filter((option) => { - const searchValue = OptionsListUtils.getSearchValueForPhoneOrEmail(searchTerm); - return !!option.text?.toLowerCase().includes(searchValue) || !!option.login?.toLowerCase().includes(searchValue); - }); - return [ - { - title: undefined, - data: filteredOptions, - shouldShow: true, - }, - ]; - } - - sectionsArray.push({ - title: undefined, - data: formattedApprover, - shouldShow: formattedApprover.length > 0, - }); - - sectionsArray.push({ - title: translate('common.all'), - data: formattedPolicyEmployeeList, - shouldShow: true, - }); - - return sectionsArray; - }, [formattedPolicyEmployeeList, formattedApprover, searchTerm, translate]); - - const headerMessage = useMemo( - () => (searchTerm && !sections[0].data.length ? translate('common.noResultsFound') : ''), - - // eslint-disable-next-line react-hooks/exhaustive-deps - [translate, sections], - ); - - const setPolicyApprover = (member: MemberOption) => { - if (!policy?.approvalMode || !personalDetails?.[member.accountID]?.login) { - return; - } - const approver: string = personalDetails?.[member.accountID]?.login ?? policy.approver ?? policy.owner; - Policy.setWorkspaceApprovalMode(policy.id, approver, policy.approvalMode); - Navigation.goBack(); - }; - - return ( - - - - - - - - - ); -} - -WorkspaceWorkflowsApproverPage.displayName = 'WorkspaceWorkflowsApproverPage'; - -export default withPolicyAndFullscreenLoading(WorkspaceWorkflowsApproverPage); From 87a988494293efd971caf655c684ae7856e41379 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 09:53:02 +0200 Subject: [PATCH 103/178] fix: TS errors --- .../Navigation/AppNavigator/ModalNavigatorScreenOptions.ts | 2 +- .../Navigators/FeatureTrainingModalNavigator.tsx | 2 +- .../AppNavigator/getRootNavigatorScreenOptions.ts | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index 7873433b8b0cd..37a100ebfc218 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -19,7 +19,7 @@ const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles, gestureDirection: webOnly: { cardStyle: themeStyles.navigationScreenCardStyle, cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, - // TODO: Fix web/native only additional types + // @ts-expect-error TODO: Fix web/native exclusive navigation options gestureDirection: webGestureDirection, }, }; diff --git a/src/libs/Navigation/AppNavigator/Navigators/FeatureTrainingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/FeatureTrainingModalNavigator.tsx index 6dac8da073af2..64f02525a4ef1 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/FeatureTrainingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/FeatureTrainingModalNavigator.tsx @@ -12,7 +12,7 @@ function FeatureTrainingModalNavigator() { return ( - + modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), cardStyle: { @@ -106,9 +107,6 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, }, }, - - // We need to turn off animation for the full screen to avoid delay when closing screens. - animationEnabled: isSmallScreenWidth, }, centralPaneNavigator: { From 3d068bc5c02c05677b2d0d6f90b664abfbb8940d Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 09:53:16 +0200 Subject: [PATCH 104/178] chore: remove Podfile.lock diff --- ios/Podfile.lock | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index bedf5c73a4f62..fb7c722cfaa70 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2489,7 +2489,6 @@ PODS: - React-ImageManager - React-NativeModulesApple - React-RCTFabric - - React-RCTImage - React-rendererdebug - React-utils - ReactCodegen @@ -3209,7 +3208,7 @@ SPEC CHECKSUMS: SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e VisionCamera: c6c8aa4b028501fc87644550fbc35a537d4da3fb - Yoga: 2a45d7e59592db061217551fd3bbe2dd993817ae + Yoga: a1d7895431387402a674fd0d1c04ec85e87909b8 PODFILE CHECKSUM: e479ec84cb53e5fd463486d71dfee91708d3fd9a From 4b04c4a3db1da9bffaea85b966fed7c68c9b7c9a Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 10:09:34 +0200 Subject: [PATCH 105/178] fix: memoize also on native --- .../createPlatformStackNavigatorComponent/index.native.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 7881e54c5d4b1..ef5eab09395df 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -61,7 +61,10 @@ function createPlatformStackNavigatorComponent transformState?.({...customCodeProps, styles, windowDimensions}) ?? {stateToRender: state, searchRoute: undefined}, + [customCodeProps, state, styles, windowDimensions], + ); const customCodePropsWithTransformedState = useMemo< CustomCodePropsWithTransformedState> @@ -96,7 +99,7 @@ function createPlatformStackNavigatorComponent { onIsSmallScreenWidthChange?.({...customCodePropsWithTransformedState, windowDimensions}); - // eslint-disable-next-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps }, [windowDimensions.isSmallScreenWidth]); // eslint-disable-next-line react/jsx-props-no-spreading From 70a6d48d966a2143b3616b4629f922c9bdff073f Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 10:10:02 +0200 Subject: [PATCH 106/178] remove TODO comment --- .../createPlatformStackNavigatorComponent/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 90421394837c2..7a5e3bfae3f47 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -61,7 +61,6 @@ function createPlatformStackNavigatorComponent transformState?.({...customCodeProps, styles, windowDimensions}) ?? {stateToRender: state, searchRoute: undefined}, [customCodeProps, state, styles, windowDimensions], From bea66c0a46cef3f92e040024272fafc5b5c49d55 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 10:46:49 +0200 Subject: [PATCH 107/178] update web/native only navigation options and rename --- .../platformOptions/utils.ts | 2 +- .../platformOptions/withNativeNavigationOptions.ts | 2 +- .../platformOptions/withWebNavigationOptions.ts | 2 +- .../PlatformStackNavigation/types/index.ts | 13 ++++++++----- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts index 301dd733a0e97..0931ae9a36355 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts @@ -1,6 +1,6 @@ import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const getCommonNavigationOptions = (screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions => - screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, webOnly, nativeOnly, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); + screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, web, native, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); export default getCommonNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 2e9636945f434..83326100b15b3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -14,7 +14,7 @@ const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigation keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), - ...screenOptions?.nativeOnly, + ...screenOptions?.native, }); function withNativeNavigationOptions( diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index 1a5da1615b57a..d85deaeee191d 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -14,7 +14,7 @@ const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOpt keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), - ...screenOptions?.webOnly, + ...screenOptions?.web, }); function withWebNavigationOptions( diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index f97ad8b0aa595..b8ad61cdb1d93 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -2,7 +2,8 @@ import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, StackNavig import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type CommonProperties from '@src/types/utils/CommonProperties'; -import type Subtract from '@src/types/utils/Substract'; + +// import type Subtract from '@src/types/utils/Substract'; // Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; @@ -11,8 +12,10 @@ type PlatformStackNavigationState = StackNaviga type CommonStackNavigationOptions = CommonProperties; // Navigation properties that are only available in web or native stack navigations. -type WebOnlyNavigationOptions = Partial>; -type NativeOnlyNavigationOptions = Partial>; +// type WebOnlyNavigationOptions = Partial>; +// type NativeOnlyNavigationOptions = Partial>; +type WebOnlyNavigationOptions = StackNavigationOptions; +type NativeOnlyNavigationOptions = NativeStackNavigationOptions; // type CardOptions = { // cardShadowEnabled?: StackNavigationOptions['cardShadowEnabled']; @@ -27,7 +30,7 @@ type GeneralPlatformStackNavigationOptions = { // // Unique to StackNavigationOptions // detachPreviousScreen?: boolean; // freezeOnBlur?: boolean; - webOnly?: WebOnlyNavigationOptions; + web?: WebOnlyNavigationOptions; // // Unique to NativeStackNavigationOptions // autoHideHomeIndicator?: boolean; @@ -37,7 +40,7 @@ type GeneralPlatformStackNavigationOptions = { // navigationBarColor?: string; // navigationBarHidden?: boolean; // orientation?: ScreenProps['screenOrientation']; - nativeOnly?: NativeOnlyNavigationOptions; + native?: NativeOnlyNavigationOptions; keyboardHandlingEnabled?: boolean; From 91ee83698de01c86ab603280a55135e5da759b56 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 10:47:18 +0200 Subject: [PATCH 108/178] update styles based on recent navigation option rename --- .../AppNavigator/ModalNavigatorScreenOptions.ts | 12 ++++++++---- .../useModalScreenOptions.ts | 2 +- .../Navigators/RightModalNavigator.tsx | 4 ++-- .../OnboardingModalNavigatorScreenOptions.ts | 2 +- .../AppNavigator/defaultScreenOptions.ts | 2 +- .../getRightModalNavigatorOptions/index.ts | 2 +- .../getRootNavigatorScreenOptions.ts | 16 ++++++++-------- .../leftModalNavigatorOptions/index.native.ts | 2 +- 8 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index 37a100ebfc218..b17db67e6f0c3 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -9,17 +9,21 @@ import type {ThemeStyles} from '@styles/index'; * @returns The screen options object */ const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles, gestureDirection: GestureDirection = 'horizontal'): PlatformStackNavigationOptions => { - const universalGestureDirection = gestureDirection === 'horizontal' || gestureDirection === 'vertical' ? gestureDirection : undefined; - const webGestureDirection = gestureDirection !== 'horizontal' && gestureDirection !== 'vertical' ? gestureDirection : undefined; + let universalGestureDirection: PlatformStackNavigationOptions['gestureDirection'] | undefined; + let webGestureDirection: GestureDirection | undefined; + if (gestureDirection === 'horizontal' || gestureDirection === 'vertical') { + universalGestureDirection = gestureDirection; + } else { + webGestureDirection = gestureDirection; + } return { headerShown: false, animation: 'slide_from_left', gestureDirection: universalGestureDirection, - webOnly: { + web: { cardStyle: themeStyles.navigationScreenCardStyle, cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, - // @ts-expect-error TODO: Fix web/native exclusive navigation options gestureDirection: webGestureDirection, }, }; diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts index d1d143ba5e7c9..0aa79b3ae7063 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts @@ -26,7 +26,7 @@ function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => Platf (): PlatformStackNavigationOptions => ({ ...hideKeyboardOnSwipe, headerShown: false, - webOnly: { + web: { cardStyle: styles.navigationScreenCardStyle, cardStyleInterpolator, }, diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index 820691180c1fe..6cb59b530cfbc 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -32,8 +32,8 @@ function RightModalNavigator({navigation, route}: RightModalNavigatorProps) { // The .forHorizontalIOS interpolator from `@react-navigation` is misbehaving on Safari, so we override it with Expensify custom interpolator if (isSafari()) { const customInterpolator = createModalCardStyleInterpolator(styleUtils); - if (options.webOnly) { - options.webOnly.cardStyleInterpolator = (props: StackCardInterpolationProps) => customInterpolator(isSmallScreenWidth, false, false, props); + if (options.web) { + options.web.cardStyleInterpolator = (props: StackCardInterpolationProps) => customInterpolator(isSmallScreenWidth, false, false, props); } } diff --git a/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts index 3d6179ed53b5f..0ca3db57b67f2 100644 --- a/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions.ts @@ -9,7 +9,7 @@ const OnboardingModalNavigatorScreenOptions = (): PlatformStackNavigationOptions headerShown: false, gestureDirection: 'horizontal', presentation: 'transparentModal', - webOnly: { + web: { cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, }, }); diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts index a480049ce6aec..8d941799a81a4 100644 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts @@ -3,7 +3,7 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac const defaultScreenOptions: PlatformStackNavigationOptions = { headerShown: false, animationTypeForReplace: 'push', - webOnly: { + web: { cardStyle: { overflow: 'visible', flex: 1, diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts index 1edcf3e27839d..ceefb2380f597 100644 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts @@ -6,7 +6,7 @@ const rightModalNavigatorOptions = (isSmallScreenWidth: boolean): PlatformStackN presentation: 'transparentModal', // We want pop in RHP since there are some flows that would work weird otherwise animationTypeForReplace: 'pop', - webOnly: { + web: { cardStyle: { ...getNavigationModalCardStyle(), // This is necessary to cover translated sidebar with overlay. diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index 6b68feb28c7b0..c9ff10e63401f 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -23,7 +23,7 @@ type ScreenOptions = { const commonScreenOptions: PlatformStackNavigationOptions = { headerShown: false, - webOnly: { + web: { cardOverlayEnabled: true, }, }; @@ -38,7 +38,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, ...getRightModalNavigatorOptions(isSmallScreenWidth), ...hideKeyboardOnSwipe, - webOnly: { + web: { cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), }, }, @@ -48,7 +48,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr animationEnabled: true, cardOverlayEnabled: false, presentation: 'transparentModal', - webOnly: { + web: { cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), backgroundColor: 'transparent', @@ -63,7 +63,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, ...leftModalNavigatorOptions, animationTypeForReplace: 'pop', - webOnly: { + web: { cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), // We want pop in LHP since there are some flows that would work weird otherwise cardStyle: { @@ -80,7 +80,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr homeScreen: { ...commonScreenOptions, title: CONFIG.SITE_TITLE, - webOnly: { + web: { // Note: The card* properties won't be applied on mobile platforms, as they use the native defaults. cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), cardStyle: { @@ -98,7 +98,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...commonScreenOptions, // We need to turn off animation for the full screen to avoid delay when closing screens. animation: isSmallScreenWidth ? 'slide_from_right' : 'none', - webOnly: { + web: { cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), @@ -114,7 +114,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr ...hideKeyboardOnSwipe, title: CONFIG.SITE_TITLE, animation: isSmallScreenWidth ? undefined : 'none', - webOnly: { + web: { cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), @@ -125,7 +125,7 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr bottomTab: { ...commonScreenOptions, - webOnly: { + web: { cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), cardStyle: { ...StyleUtils.getNavigationModalCardStyle(), diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts index 3dfdbbbc44af6..d4618348af6ff 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -2,7 +2,7 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac const leftModalNavigatorOptions: PlatformStackNavigationOptions = { animation: 'slide_from_left', - nativeOnly: { + native: { customAnimationOnGesture: true, }, }; From 041262a9ffa44a0bc6f01225e13aed12fb44dbeb Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 11:22:22 +0200 Subject: [PATCH 109/178] migrate stack navigator --- .../AppNavigator/Navigators/ExplanationModalNavigator.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx index f4136bb8783a5..0c964c3c4356e 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx @@ -1,18 +1,18 @@ -import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; import ExplanationModal from '@components/ExplanationModal'; +import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {ExplanationModalNavigatorParamList} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; -const Stack = createStackNavigator(); +const Stack = createPlatformStackNavigator(); function ExplanationModalNavigator() { return ( - + Date: Wed, 28 Aug 2024 13:13:31 +0200 Subject: [PATCH 110/178] use CustomRouter --- .../AppNavigator/createResponsiveStackNavigator/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index f8b8cb84ecf4c..4bd23922898a9 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -10,6 +10,7 @@ import type { PlatformStackNavigationState, } from '@libs/Navigation/PlatformStackNavigation/types'; import type {OnIsSmallScreenWidthChange} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import CustomRouter from './CustomRouter'; import getStateWithSearch from './getStateWithSearch'; import RenderSearchRoute from './SearchRoute'; @@ -26,6 +27,7 @@ const ResponsiveStackNavigator = createPlatformStackNavigatorComponent('Responsi transformState: getStateWithSearch, ExtraContent: RenderSearchRoute, onIsSmallScreenWidthChange: handleIsSmallScreenWidthChange, + createRouter: CustomRouter, }); function createResponsiveStackNavigator() { From 239e6eaa97334130b0783db656c973f1fdbf513e Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 18:07:26 +0200 Subject: [PATCH 111/178] extended @react-navigation/core patch --- ...+002+platform-navigation-stack-types.patch | 542 ++++++++++++------ 1 file changed, 373 insertions(+), 169 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 158bfa1152805..1b011b000b79d 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -51,28 +51,41 @@ index f531070..f6131d3 100644 +{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C;AAAA;AAAA"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map -index a3da390..fdd09cf 100644 +index a3da390..f993a9f 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/types.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAoJO,MAAMA,iBAAiB,CAA4B;AAYzD"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAqJO,MAAMA,iBAAiB,CAA4B;AAYzD"} ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AA8KO,MAAMA,iBAAiB,CAA4B;AAYzD"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map +index d2248a2..9419f8d 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map +@@ -1 +1 @@ +-{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..57e1fa2 100644 +index 14338b9..9afc4c0 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -@@ -43,7 +43,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != +@@ -43,7 +43,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != * * @param children React Elements to extract the config from. */ -const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { ++ let platformGroupOptions = groupOptions; ++ if (transformScreenOptions !== undefined && groupOptions !== undefined) { ++ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); ++ } const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -54,10 +54,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -54,10 +58,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } @@ -82,13 +95,14 @@ index 14338b9..57e1fa2 100644 + }; acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, +- options: groupOptions, - props: child.props ++ options: platformGroupOptions, + props }); return acc; } -@@ -68,7 +72,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -68,7 +76,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens @@ -97,32 +111,43 @@ index 14338b9..57e1fa2 100644 return acc; } } -@@ -129,7 +133,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -129,7 +137,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * @param options Options object containing `children` and additional options for the router. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -function useNavigationBuilder(createRouter, options) { -+function useNavigationBuilder(createRouter, options, transformScreenOptions) { ++function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { const navigatorKey = (0, _useRegisterNavigator.default)(); const route = React.useContext(_NavigationRouteContext.default); const { -@@ -145,7 +149,7 @@ function useNavigationBuilder(createRouter, options) { +@@ -145,7 +153,7 @@ function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); - const routeConfigs = getRouteConfigsFromChildren(children); -+ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, transformScreenOptions); ++ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); +@@ -427,8 +435,8 @@ function useNavigationBuilder(createRouter, options) { + state, + screens, + navigation, +- screenOptions: options.screenOptions, +- defaultScreenOptions: options.defaultScreenOptions, ++ screenOptions: options.screenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions) : options.screenOptions, ++ defaultScreenOptions: options.defaultScreenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions) : options.defaultScreenOptions, + onAction, + getState, + setState, diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..de10a37 100644 +index 55b77ca..55a6cfe 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js index 1d42c3a..06f6bde 100644 @@ -147,28 +172,41 @@ index ed01400..32855ca 100644 +{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","NavigationBuilderOptions","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SACEC,wBAAwB,EACxBnB,OAAO,IAAIoB,oBAAoB,QAC1B,wBAAwB;AAC/B,SAASpB,OAAO,IAAIqB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAStB,OAAO,IAAIuB,yBAAyB,QAAQ,oBAAoB;AACzE,SAASvB,OAAO,IAAIwB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASxB,OAAO,IAAIyB,QAAQ,QAAQ,YAAY;AAChD,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map -index 21fd3e8..7fa0d02 100644 +index 21fd3e8..a783f20 100644 --- a/node_modules/@react-navigation/core/lib/module/types.js.map +++ b/node_modules/@react-navigation/core/lib/module/types.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAoJA,OAAO,MAAMA,iBAAiB,CAA4B"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAqJA,OAAO,MAAMA,iBAAiB,CAA4B"} ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AA8KA,OAAO,MAAMA,iBAAiB,CAA4B"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +index 77a198a..b329172 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +@@ -1 +1 @@ +-{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..01247b9 100644 +index 6fb49e0..8106a16 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -35,7 +35,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != +@@ -35,7 +35,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != * * @param children React Elements to extract the config from. */ -const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { ++ let platformGroupOptions = groupOptions; ++ if (transformScreenOptions !== undefined && groupOptions !== undefined) { ++ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); ++ } const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -46,10 +46,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -46,10 +50,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } @@ -178,13 +216,14 @@ index 6fb49e0..01247b9 100644 + }; acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, +- options: groupOptions, - props: child.props ++ options: platformGroupOptions, + props }); return acc; } -@@ -60,7 +64,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -60,7 +68,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens @@ -193,25 +232,25 @@ index 6fb49e0..01247b9 100644 return acc; } } -@@ -121,7 +125,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -121,7 +129,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * @param options Options object containing `children` and additional options for the router. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export default function useNavigationBuilder(createRouter, options) { -+export default function useNavigationBuilder(createRouter, options, transformScreenOptions) { ++export default function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { const navigatorKey = useRegisterNavigator(); const route = React.useContext(NavigationRouteContext); const { -@@ -137,7 +141,7 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -137,7 +145,7 @@ export default function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); - const routeConfigs = getRouteConfigsFromChildren(children); -+ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, transformScreenOptions); ++ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -174,6 +178,10 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -174,6 +182,10 @@ export default function useNavigationBuilder(createRouter, options) { getIsInitial } = React.useContext(NavigationStateContext); const stateCleanedUp = React.useRef(false); @@ -222,7 +261,7 @@ index 6fb49e0..01247b9 100644 const setState = React.useCallback(state => { if (stateCleanedUp.current) { // State might have been already cleaned up due to unmount -@@ -287,9 +295,6 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -287,9 +299,6 @@ export default function useNavigationBuilder(createRouter, options) { // So we override the state object we return to use the latest state as soon as possible state = nextState; React.useEffect(() => { @@ -232,7 +271,7 @@ index 6fb49e0..01247b9 100644 setKey(navigatorKey); if (!getIsInitial()) { // If it's not initial render, we need to update the state -@@ -299,10 +304,14 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -299,10 +308,14 @@ export default function useNavigationBuilder(createRouter, options) { } return () => { // We need to clean up state for this navigator on unmount @@ -251,14 +290,25 @@ index 6fb49e0..01247b9 100644 }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); +@@ -414,8 +427,8 @@ export default function useNavigationBuilder(createRouter, options) { + state, + screens, + navigation, +- screenOptions: options.screenOptions, +- defaultScreenOptions: options.defaultScreenOptions, ++ screenOptions: options.screenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions) : options.screenOptions, ++ defaultScreenOptions: options.defaultScreenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions) : options.defaultScreenOptions, + onAction, + getState, + setState, diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..2cb1aaf 100644 +index 5d5cdbd..3ae99b1 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -663,102 +713,154 @@ index 366138e..b8b7de5 100644 +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index fcd456b..a9ee1ae 100644 +index fcd456b..cd695d1 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -7,7 +7,7 @@ declare global { +@@ -7,7 +7,20 @@ declare global { } } type Keyof = Extract; -export type DefaultNavigatorOptions = DefaultRouterOptions> & { ++export type ScreenListenersOrCallback = ScreenListeners | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenListeners); ++export type ScreenOptionsOrCallback = ScreenOptions | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenOptions); ++export type DefaultScreenOptionsOrCallback = ScreenOptions | ((props: { ++ route: RouteProp; ++ navigation: any; ++ options: ScreenOptions; ++}) => ScreenOptions); +export type DefaultNavigatorOptions = DefaultRouterOptions> & { /** * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. */ -@@ -21,14 +21,14 @@ export type DefaultNavigatorOptions | ((props: { +- screenListeners?: ScreenListeners | ((props: { - route: RouteProp; -+ route: RouteProp; - navigation: any; - }) => ScreenListeners); +- navigation: any; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback; /** * Default options for all screens under this navigator. */ - screenOptions?: ScreenOptions | ((props: { +- screenOptions?: ScreenOptions | ((props: { - route: RouteProp; -+ route: RouteProp; - navigation: any; - }) => ScreenOptions); +- navigation: any; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback; }; + export type EventMapBase = Record = { + keys: (string | undefined)[]; + options: (ScreenOptionsOrCallback | undefined)[] | undefined; + props: RouteConfig; + }; +-type ScreenOptionsOrCallback = ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +-}) => ScreenOptions); + type Options = { + state: State; + screens: Record>; + navigation: NavigationHelpers; + screenOptions?: ScreenOptionsOrCallback; +- defaultScreenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +- options: ScreenOptions; +- }) => ScreenOptions); ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; + onAction: (action: NavigationAction) => boolean; + getState: () => State; + setState: (state: State) => void; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map +index b67e6ea..0d7967a 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,uBAAuB,CAAC,aAAa,SAAS,EAAE,IACjD,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;IACP,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CAAC;CACjB,KAAK,aAAa,CAAC,CAAC;AAEzB,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} +\ No newline at end of file ++{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACrE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 53d474e..3382383 100644 +index 53d474e..8155d9c 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -@@ -1,7 +1,7 @@ +@@ -1,17 +1,14 @@ import { DefaultRouterOptions, NavigationState, ParamListBase, PartialState, RouterFactory } from '@react-navigation/routers'; import * as React from 'react'; -import { DefaultNavigatorOptions, EventMapCore, PrivateValueStore, RouteProp } from './types'; -type NavigationBuilderOptions = { -+import { DefaultNavigatorOptions, EventMapBase, EventMapCore, PrivateValueStore, RouteConfig, RouteProp } from './types'; ++import { DefaultNavigatorOptions, DefaultScreenOptionsOrCallback, EventMapCore, PrivateValueStore, ScreenOptionsOrCallback } from './types'; +export type NavigationBuilderOptions = { /** * Default options specified by the navigator. * It receives the custom options in the arguments if a function is specified. -@@ -12,6 +12,8 @@ type NavigationBuilderOptions = { - options: ScreenOptions; - }) => ScreenOptions); + */ +- defaultScreenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +- options: ScreenOptions; +- }) => ScreenOptions); ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; }; -+type ScreenOptionsProp = RouteConfig['options']; -+type TransformScreenOptions, TransformedScreenOptions extends {} = ScreenOptions> = (options: ScreenOptionsProp) => ScreenOptionsProp; ++type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback) => ScreenOptionsOrCallback; /** * Hook for building navigators. * -@@ -19,7 +21,7 @@ type NavigationBuilderOptions = { +@@ -19,7 +16,7 @@ type NavigationBuilderOptions = { * @param options Options object containing `children` and additional options for the router. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { -+export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, TransformedScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, transformScreenOptions?: TransformScreenOptions): { ++export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { state: State; navigation: { dispatch(action: Readonly<{ -@@ -118,7 +120,7 @@ export default function useNavigationBuilder & import("./types").EventEmitter & { - setParams(params: Partial): void; - } & ActionHelpers; -- descriptors: Record, {}, {}> | undefined>(id?: string | undefined): T_1; setParams(params: Partial): void; -- setOptions(options: Partial): void; -+ setOptions(options: Partial): void; - } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp>>; + setOptions(options: Partial): void; +- } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp>>; ++ } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, import("./types").RouteProp>>; NavigationContent: ({ children }: { children: React.ReactNode; + }) => JSX.Element; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..7865e44 100644 +index 33762f4..13aa161 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAOF,KAAK,iBAAiB,CACpB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,WAAW,CACb,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC,SAAS,CAAC,CAAC;AAEb,KAAK,sBAAsB,CACzB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,IACjD,CAAC,SAAS,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,SAAS,EACrE,OAAO,EAAE,iBAAiB,CACxB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,CACV,KACE,iBAAiB,CACpB,KAAK,EACL,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;AAwMF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,wBAAwB,SAAS,EAAE,GAAG,aAAa,EAEnD,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,wBAAwB,EACxB,QAAQ,CACT,GACC,wBAAwB,CAAC,wBAAwB,CAAC,GAClD,aAAa,EACf,sBAAsB,CAAC,EAAE,sBAAsB,CAC7C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,wBAAwB,CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8cF"} ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EAEjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,KAClD,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAmN5C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,CACT,GACC,wBAAwB,CAAC,mBAAmB,CAAC,GAC7C,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmdF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 @@ -777,10 +879,49 @@ index 61706b6..9db0c9d 100644 export { default as useNavigationState } from './useNavigationState'; export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index b691d75..a76b2f9 100644 +index b691d75..88f4f50 100644 --- a/node_modules/@react-navigation/core/src/types.tsx +++ b/node_modules/@react-navigation/core/src/types.tsx -@@ -23,7 +23,8 @@ export type DefaultNavigatorOptions< +@@ -19,11 +19,47 @@ declare global { + + type Keyof = Extract; + ++export type ScreenListenersOrCallback< ++ State extends NavigationState, ++ EventMap extends EventMapBase, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList ++> = ++ | ScreenListeners ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ }) => ScreenListeners); ++ ++export type ScreenOptionsOrCallback< ++ ScreenOptions extends {}, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList ++> = ++ | ScreenOptions ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ }) => ScreenOptions); ++ ++export type DefaultScreenOptionsOrCallback< ++ ScreenOptions extends {}, ++ ParamList extends ParamListBase = ParamListBase, ++ RouteName extends keyof ParamList = keyof ParamList ++> = ++ | ScreenOptions ++ | ((props: { ++ route: RouteProp; ++ navigation: any; ++ options: ScreenOptions; ++ }) => ScreenOptions); ++ + export type DefaultNavigatorOptions< ParamList extends ParamListBase, State extends NavigationState, ScreenOptions extends {}, @@ -790,29 +931,98 @@ index b691d75..a76b2f9 100644 > = DefaultRouterOptions> & { /** * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. -@@ -40,7 +41,7 @@ export type DefaultNavigatorOptions< - screenListeners?: - | ScreenListeners - | ((props: { +@@ -37,21 +73,11 @@ export type DefaultNavigatorOptions< + /** + * Event listeners for all the screens in the navigator. + */ +- screenListeners?: +- | ScreenListeners +- | ((props: { - route: RouteProp; -+ route: RouteProp; - navigation: any; - }) => ScreenListeners); +- navigation: any; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback; /** -@@ -49,7 +50,7 @@ export type DefaultNavigatorOptions< - screenOptions?: - | ScreenOptions - | ((props: { + * Default options for all screens under this navigator. + */ +- screenOptions?: +- | ScreenOptions +- | ((props: { - route: RouteProp; -+ route: RouteProp; - navigation: any; - }) => ScreenOptions); +- navigation: any; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback; }; + + export type EventMapBase = Record< +diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx +index d5a192c..e39b723 100644 +--- a/node_modules/@react-navigation/core/src/useDescriptors.tsx ++++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx +@@ -14,12 +14,14 @@ import NavigationContext from './NavigationContext'; + import NavigationRouteContext from './NavigationRouteContext'; + import SceneView from './SceneView'; + import type { ++ DefaultScreenOptionsOrCallback, + Descriptor, + EventMapBase, + NavigationHelpers, + NavigationProp, + RouteConfig, + RouteProp, ++ ScreenOptionsOrCallback, + } from './types'; + import type { NavigationEventEmitter } from './useEventEmitter'; + import useNavigationCache from './useNavigationCache'; +@@ -35,13 +37,6 @@ export type ScreenConfigWithParent< + props: RouteConfig; + }; + +-type ScreenOptionsOrCallback = +- | ScreenOptions +- | ((props: { +- route: RouteProp; +- navigation: any; +- }) => ScreenOptions); +- + type Options< + State extends NavigationState, + ScreenOptions extends {}, +@@ -54,13 +49,7 @@ type Options< + >; + navigation: NavigationHelpers; + screenOptions?: ScreenOptionsOrCallback; +- defaultScreenOptions?: +- | ScreenOptions +- | ((props: { +- route: RouteProp; +- navigation: any; +- options: ScreenOptions; +- }) => ScreenOptions); ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; + onAction: (action: NavigationAction) => boolean; + getState: () => State; + setState: (state: State) => void; diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..5df9cd2 100644 +index 7d550e0..0e1bd1c 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -49,7 +49,7 @@ import useScheduleUpdate from './useScheduleUpdate'; +@@ -23,12 +23,13 @@ import PreventRemoveProvider from './PreventRemoveProvider'; + import Screen from './Screen'; + import { + DefaultNavigatorOptions, ++ DefaultScreenOptionsOrCallback, + EventMapBase, + EventMapCore, + NavigatorScreenParams, + PrivateValueStore, + RouteConfig, +- RouteProp, ++ ScreenOptionsOrCallback, + } from './types'; + import useChildListeners from './useChildListeners'; + import useComponent from './useComponent'; +@@ -49,18 +50,12 @@ import useScheduleUpdate from './useScheduleUpdate'; // eslint-disable-next-line babel/no-unused-expressions PrivateValueStore; @@ -821,79 +1031,71 @@ index 7d550e0..5df9cd2 100644 /** * Default options specified by the navigator. * It receives the custom options in the arguments if a function is specified. -@@ -68,6 +68,41 @@ type NavigatorRoute = { + */ +- defaultScreenOptions?: +- | ScreenOptions +- | ((props: { +- route: RouteProp; +- navigation: any; +- options: ScreenOptions; +- }) => ScreenOptions); ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; + }; + + type NavigatorRoute = { +@@ -68,6 +63,13 @@ type NavigatorRoute = { params?: NavigatorScreenParams; }; -+type ScreenOptionsProp< -+ State extends NavigationState, -+ ScreenOptions extends {}, -+ EventMap extends EventMapBase, -+ ParamList extends ParamListBase, -+ RouteName extends keyof ParamList = keyof ParamList -+> = RouteConfig< -+ ParamList, -+ RouteName, -+ State, -+ ScreenOptions, -+ EventMap -+>['options']; -+ -+type TransformScreenOptions< -+ State extends NavigationState, -+ ScreenOptions extends {}, -+ EventMap extends Record, -+ TransformedScreenOptions extends {} = ScreenOptions -+> = ( -+ options: ScreenOptionsProp< -+ State, -+ ScreenOptions, -+ EventMap, -+ ParamList, -+ RouteName -+ > -+) => ScreenOptionsProp< -+ State, -+ TransformedScreenOptions, -+ EventMap, -+ ParamList, -+ RouteName -+>; ++type ConvertCustomScreenOptions< ++ CustomScreenOptions extends {}, ++ ScreenOptions extends {} ++> = ( ++ options: ScreenOptionsOrCallback ++) => ScreenOptionsOrCallback; + const isValidKey = (key: unknown) => key === undefined || (typeof key === 'string' && key !== ''); -@@ -79,18 +114,25 @@ const isValidKey = (key: unknown) => +@@ -79,16 +81,34 @@ const isValidKey = (key: unknown) => const getRouteConfigsFromChildren = < State extends NavigationState, ScreenOptions extends {}, - EventMap extends EventMapBase + EventMap extends EventMapBase, -+ TransformedScreenOptions extends {} = ScreenOptions ++ CustomScreenOptions extends {} = ScreenOptions >( children: React.ReactNode, groupKey?: string, groupOptions?: ScreenConfigWithParent< State, - ScreenOptions, -+ TransformedScreenOptions, ++ ScreenOptions | CustomScreenOptions, EventMap - >['options'] + >['options'], -+ transformScreenOptions?: TransformScreenOptions< -+ State, -+ ScreenOptions, -+ EventMap, -+ TransformedScreenOptions ++ transformScreenOptions?: ConvertCustomScreenOptions< ++ CustomScreenOptions, ++ ScreenOptions + > ) => { ++ let platformGroupOptions = groupOptions as ++ | (ScreenOptionsOrCallback | undefined)[] ++ | undefined; ++ if (transformScreenOptions !== undefined && groupOptions !== undefined) { ++ platformGroupOptions = groupOptions.map((groupOption) => ++ groupOption === undefined ++ ? undefined ++ : transformScreenOptions( ++ groupOption as ScreenOptionsOrCallback ++ ) ++ ); ++ } ++ const configs = React.Children.toArray(children).reduce< -- ScreenConfigWithParent[] -+ ScreenConfigWithParent[] + ScreenConfigWithParent[] >((acc, child) => { - if (React.isValidElement(child)) { - if (child.type === Screen) { -@@ -107,16 +149,24 @@ const getRouteConfigsFromChildren = < +@@ -107,16 +127,24 @@ const getRouteConfigsFromChildren = < ); } @@ -901,7 +1103,7 @@ index 7d550e0..5df9cd2 100644 + ParamListBase, + keyof ParamListBase, + State, -+ TransformedScreenOptions, ++ ScreenOptions, + EventMap + > = + transformScreenOptions === undefined @@ -913,7 +1115,7 @@ index 7d550e0..5df9cd2 100644 + acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, +- options: groupOptions, - props: child.props as RouteConfig< - ParamListBase, - string, @@ -921,11 +1123,12 @@ index 7d550e0..5df9cd2 100644 - ScreenOptions, - EventMap - >, ++ options: platformGroupOptions, + props, }); return acc; } -@@ -133,14 +183,20 @@ const getRouteConfigsFromChildren = < +@@ -133,14 +161,20 @@ const getRouteConfigsFromChildren = < // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens acc.push( @@ -934,7 +1137,7 @@ index 7d550e0..5df9cd2 100644 + State, + ScreenOptions, + EventMap, -+ TransformedScreenOptions ++ CustomScreenOptions + >( child.props.children, child.props.navigationKey, @@ -948,55 +1151,46 @@ index 7d550e0..5df9cd2 100644 ) ); return acc; -@@ -257,17 +313,24 @@ export default function useNavigationBuilder< +@@ -257,17 +291,22 @@ export default function useNavigationBuilder< RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record void>, ScreenOptions extends {}, - EventMap extends Record + EventMap extends Record, -+ TransformedScreenOptions extends {} = ScreenOptions ++ CustomScreenOptions extends {} = ScreenOptions >( createRouter: RouterFactory, options: DefaultNavigatorOptions< ParamListBase, State, - ScreenOptions, -+ TransformedScreenOptions, ++ CustomScreenOptions, EventMap > & - NavigationBuilderOptions & - RouterOptions -+ NavigationBuilderOptions & ++ NavigationBuilderOptions & + RouterOptions, -+ transformScreenOptions?: TransformScreenOptions< -+ State, -+ ScreenOptions, -+ EventMap, -+ TransformedScreenOptions ++ convertCustomScreenOptions?: ConvertCustomScreenOptions< ++ CustomScreenOptions, ++ ScreenOptions + > ) { const navigatorKey = useRegisterNavigator(); -@@ -291,11 +354,15 @@ export default function useNavigationBuilder< +@@ -291,8 +330,9 @@ export default function useNavigationBuilder< const routeConfigs = getRouteConfigsFromChildren< State, ScreenOptions, - EventMap - >(children); + EventMap, -+ TransformedScreenOptions -+ >(children, undefined, undefined, transformScreenOptions); ++ CustomScreenOptions ++ >(children, undefined, undefined, convertCustomScreenOptions); const screens = routeConfigs.reduce< -- Record> -+ Record< -+ string, -+ ScreenConfigWithParent -+ > - >((acc, config) => { - if (config.props.name in acc) { - throw new Error( -@@ -362,6 +429,11 @@ export default function useNavigationBuilder< + Record> +@@ -362,6 +402,11 @@ export default function useNavigationBuilder< const stateCleanedUp = React.useRef(false); @@ -1008,7 +1202,7 @@ index 7d550e0..5df9cd2 100644 const setState = React.useCallback( (state: NavigationState | PartialState | undefined) => { if (stateCleanedUp.current) { -@@ -535,9 +607,6 @@ export default function useNavigationBuilder< +@@ -535,9 +580,6 @@ export default function useNavigationBuilder< state = nextState; React.useEffect(() => { @@ -1018,7 +1212,7 @@ index 7d550e0..5df9cd2 100644 setKey(navigatorKey); if (!getIsInitial()) { -@@ -549,10 +618,14 @@ export default function useNavigationBuilder< +@@ -549,10 +591,14 @@ export default function useNavigationBuilder< return () => { // We need to clean up state for this navigator on unmount @@ -1037,12 +1231,22 @@ index 7d550e0..5df9cd2 100644 }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); -@@ -682,7 +755,7 @@ export default function useNavigationBuilder< - const descriptors = useDescriptors< - State, - ActionHelpers, -- ScreenOptions, -+ TransformedScreenOptions, - EventMap - >({ +@@ -688,8 +734,16 @@ export default function useNavigationBuilder< state, + screens, + navigation, +- screenOptions: options.screenOptions, +- defaultScreenOptions: options.defaultScreenOptions, ++ screenOptions: ++ options.screenOptions !== undefined ++ ? convertCustomScreenOptions?.(options.screenOptions) ++ : options.screenOptions, ++ defaultScreenOptions: ++ options.defaultScreenOptions !== undefined ++ ? convertCustomScreenOptions?.( ++ options.defaultScreenOptions as ScreenOptionsOrCallback ++ ) ++ : options.defaultScreenOptions, + onAction, + getState, + setState, From 2968c2664ddecc847d3182e0b0a1f279a9622e45 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 18:14:03 +0200 Subject: [PATCH 112/178] simplify patch --- ...+002+platform-navigation-stack-types.patch | 880 +----------------- 1 file changed, 8 insertions(+), 872 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 1b011b000b79d..81625f04c5edd 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -1,867 +1,3 @@ -diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js b/node_modules/@react-navigation/core/lib/commonjs/index.js -index d1ea4eb..4b0a660 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/index.js -+++ b/node_modules/@react-navigation/core/lib/commonjs/index.js -@@ -22,6 +22,7 @@ var _exportNames = { - useFocusEffect: true, - useIsFocused: true, - useNavigation: true, -+ NavigationBuilderOptions: true, - useNavigationBuilder: true, - useNavigationContainerRef: true, - useNavigationState: true, -@@ -42,6 +43,12 @@ Object.defineProperty(exports, "CurrentRenderContext", { - return _CurrentRenderContext.default; - } - }); -+Object.defineProperty(exports, "NavigationBuilderOptions", { -+ enumerable: true, -+ get: function () { -+ return _useNavigationBuilder.NavigationBuilderOptions; -+ } -+}); - Object.defineProperty(exports, "NavigationContainerRefContext", { - enumerable: true, - get: function () { -@@ -210,7 +217,7 @@ Object.keys(_types).forEach(function (key) { - var _useFocusEffect = _interopRequireDefault(require("./useFocusEffect")); - var _useIsFocused = _interopRequireDefault(require("./useIsFocused")); - var _useNavigation = _interopRequireDefault(require("./useNavigation")); --var _useNavigationBuilder = _interopRequireDefault(require("./useNavigationBuilder")); -+var _useNavigationBuilder = _interopRequireWildcard(require("./useNavigationBuilder")); - var _useNavigationContainerRef = _interopRequireDefault(require("./useNavigationContainerRef")); - var _useNavigationState = _interopRequireDefault(require("./useNavigationState")); - var _usePreventRemove = _interopRequireDefault(require("./usePreventRemove")); -@@ -229,5 +236,7 @@ Object.keys(_routers).forEach(function (key) { - } - }); - }); -+function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -+function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - //# sourceMappingURL=index.js.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js.map b/node_modules/@react-navigation/core/lib/commonjs/index.js.map -index f531070..f6131d3 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/index.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/index.js.map -@@ -1 +1 @@ --{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"} -\ No newline at end of file -+{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C;AAAA;AAAA"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map -index a3da390..f993a9f 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/types.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAoJO,MAAMA,iBAAiB,CAA4B;AAYzD"} -\ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AA8KO,MAAMA,iBAAiB,CAA4B;AAYzD"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -index d2248a2..9419f8d 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -@@ -1 +1 @@ --{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..9afc4c0 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -+++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -@@ -43,7 +43,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != - * - * @param children React Elements to extract the config from. - */ --const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { -+const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { -+ let platformGroupOptions = groupOptions; -+ if (transformScreenOptions !== undefined && groupOptions !== undefined) { -+ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); -+ } - const configs = React.Children.toArray(children).reduce((acc, child) => { - var _child$type, _child$props; - if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -54,10 +58,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - if (!isValidKey(child.props.navigationKey)) { - throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); - } -+ const props = transformScreenOptions === undefined ? child.props : { -+ ...child.props, -+ options: transformScreenOptions(child.props.options) -+ }; - acc.push({ - keys: [groupKey, child.props.navigationKey], -- options: groupOptions, -- props: child.props -+ options: platformGroupOptions, -+ props - }); - return acc; - } -@@ -68,7 +76,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - - // When we encounter a fragment or group, we need to dive into its children to extract the configs - // This is handy to conditionally define a group of screens -- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); - return acc; - } - } -@@ -129,7 +137,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - * @param options Options object containing `children` and additional options for the router. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --function useNavigationBuilder(createRouter, options) { -+function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { - const navigatorKey = (0, _useRegisterNavigator.default)(); - const route = React.useContext(_NavigationRouteContext.default); - const { -@@ -145,7 +153,7 @@ function useNavigationBuilder(createRouter, options) { - initialRouteName: route.params.screen - } : null) - })); -- const routeConfigs = getRouteConfigsFromChildren(children); -+ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); - const screens = routeConfigs.reduce((acc, config) => { - if (config.props.name in acc) { - throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -427,8 +435,8 @@ function useNavigationBuilder(createRouter, options) { - state, - screens, - navigation, -- screenOptions: options.screenOptions, -- defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: options.screenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions) : options.screenOptions, -+ defaultScreenOptions: options.defaultScreenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions) : options.defaultScreenOptions, - onAction, - getState, - setState, -diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..55a6cfe 100644 ---- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -+++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js -index 1d42c3a..06f6bde 100644 ---- a/node_modules/@react-navigation/core/lib/module/index.js -+++ b/node_modules/@react-navigation/core/lib/module/index.js -@@ -17,7 +17,7 @@ export * from './types'; - export { default as useFocusEffect } from './useFocusEffect'; - export { default as useIsFocused } from './useIsFocused'; - export { default as useNavigation } from './useNavigation'; --export { default as useNavigationBuilder } from './useNavigationBuilder'; -+export { NavigationBuilderOptions, default as useNavigationBuilder } from './useNavigationBuilder'; - export { default as useNavigationContainerRef } from './useNavigationContainerRef'; - export { default as useNavigationState } from './useNavigationState'; - export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; -diff --git a/node_modules/@react-navigation/core/lib/module/index.js.map b/node_modules/@react-navigation/core/lib/module/index.js.map -index ed01400..32855ca 100644 ---- a/node_modules/@react-navigation/core/lib/module/index.js.map -+++ b/node_modules/@react-navigation/core/lib/module/index.js.map -@@ -1 +1 @@ --{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SAASlB,OAAO,IAAImB,oBAAoB,QAAQ,wBAAwB;AACxE,SAASnB,OAAO,IAAIoB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASpB,OAAO,IAAIqB,kBAAkB,QAAQ,sBAAsB;AACpE,SAASrB,OAAO,IAAIsB,yBAAyB,QAAQ,oBAAoB;AACzE,SAAStB,OAAO,IAAIuB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASvB,OAAO,IAAIwB,QAAQ,QAAQ,YAAY;AAChD,SAASxB,OAAO,IAAIyB,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} -\ No newline at end of file -+{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","NavigationBuilderOptions","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SACEC,wBAAwB,EACxBnB,OAAO,IAAIoB,oBAAoB,QAC1B,wBAAwB;AAC/B,SAASpB,OAAO,IAAIqB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAStB,OAAO,IAAIuB,yBAAyB,QAAQ,oBAAoB;AACzE,SAASvB,OAAO,IAAIwB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASxB,OAAO,IAAIyB,QAAQ,QAAQ,YAAY;AAChD,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map -index 21fd3e8..a783f20 100644 ---- a/node_modules/@react-navigation/core/lib/module/types.js.map -+++ b/node_modules/@react-navigation/core/lib/module/types.js.map -@@ -1 +1 @@ --{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAoJA,OAAO,MAAMA,iBAAiB,CAA4B"} -\ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AA8KA,OAAO,MAAMA,iBAAiB,CAA4B"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -index 77a198a..b329172 100644 ---- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -+++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -@@ -1 +1 @@ --{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..8106a16 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -35,7 +35,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != - * - * @param children React Elements to extract the config from. - */ --const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { -+const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { -+ let platformGroupOptions = groupOptions; -+ if (transformScreenOptions !== undefined && groupOptions !== undefined) { -+ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); -+ } - const configs = React.Children.toArray(children).reduce((acc, child) => { - var _child$type, _child$props; - if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -46,10 +50,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - if (!isValidKey(child.props.navigationKey)) { - throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); - } -+ const props = transformScreenOptions === undefined ? child.props : { -+ ...child.props, -+ options: transformScreenOptions(child.props.options) -+ }; - acc.push({ - keys: [groupKey, child.props.navigationKey], -- options: groupOptions, -- props: child.props -+ options: platformGroupOptions, -+ props - }); - return acc; - } -@@ -60,7 +68,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - - // When we encounter a fragment or group, we need to dive into its children to extract the configs - // This is handy to conditionally define a group of screens -- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); - return acc; - } - } -@@ -121,7 +129,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - * @param options Options object containing `children` and additional options for the router. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --export default function useNavigationBuilder(createRouter, options) { -+export default function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { - const navigatorKey = useRegisterNavigator(); - const route = React.useContext(NavigationRouteContext); - const { -@@ -137,7 +145,7 @@ export default function useNavigationBuilder(createRouter, options) { - initialRouteName: route.params.screen - } : null) - })); -- const routeConfigs = getRouteConfigsFromChildren(children); -+ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); - const screens = routeConfigs.reduce((acc, config) => { - if (config.props.name in acc) { - throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -174,6 +182,10 @@ export default function useNavigationBuilder(createRouter, options) { - getIsInitial - } = React.useContext(NavigationStateContext); - const stateCleanedUp = React.useRef(false); -+ const cleanUpState = React.useCallback(() => { -+ setCurrentState(undefined); -+ stateCleanedUp.current = true; -+ }, [setCurrentState]); - const setState = React.useCallback(state => { - if (stateCleanedUp.current) { - // State might have been already cleaned up due to unmount -@@ -287,9 +299,6 @@ export default function useNavigationBuilder(createRouter, options) { - // So we override the state object we return to use the latest state as soon as possible - state = nextState; - React.useEffect(() => { -- // In strict mode, React will double-invoke effects. -- // So we need to reset the flag if component was not unmounted -- stateCleanedUp.current = false; - setKey(navigatorKey); - if (!getIsInitial()) { - // If it's not initial render, we need to update the state -@@ -299,10 +308,14 @@ export default function useNavigationBuilder(createRouter, options) { - } - return () => { - // We need to clean up state for this navigator on unmount -- if (getCurrentState() !== undefined && getKey() === navigatorKey) { -- setCurrentState(undefined); -- stateCleanedUp.current = true; -- } -+ // We do it in a timeout because we need to detect if another navigator mounted in the meantime -+ // For example, if another navigator has started rendering, we should skip cleanup -+ // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it -+ setTimeout(() => { -+ if (getCurrentState() !== undefined && getKey() === navigatorKey) { -+ cleanUpState(); -+ } -+ }, 0); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); -@@ -414,8 +427,8 @@ export default function useNavigationBuilder(createRouter, options) { - state, - screens, - navigation, -- screenOptions: options.screenOptions, -- defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: options.screenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions) : options.screenOptions, -+ defaultScreenOptions: options.defaultScreenOptions !== undefined ? convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions) : options.defaultScreenOptions, - onAction, - getState, - setState, -diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..3ae99b1 100644 ---- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -+++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -@@ -1 +1 @@ --{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts -new file mode 100644 -index 0000000..d22cbd4 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=BaseNavigationContainer.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map -new file mode 100644 -index 0000000..6334965 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"BaseNavigationContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/BaseNavigationContainer.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts -new file mode 100644 -index 0000000..433d407 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=StaticContainer.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map -new file mode 100644 -index 0000000..34bb501 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"StaticContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/StaticContainer.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts -new file mode 100644 -index 0000000..7e2c7c6 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts -@@ -0,0 +1,25 @@ -+import { CommonNavigationAction, DefaultRouterOptions, Router } from '@react-navigation/routers'; -+export type MockActions = CommonNavigationAction | { -+ type: 'NOOP' | 'UPDATE'; -+}; -+export declare const MockRouterKey: { -+ current: number; -+}; -+export default function MockRouter(options: DefaultRouterOptions): Router & Readonly<{ -+ params?: Readonly; -+ }> & { -+ state?: Readonly | import("@react-navigation/routers").PartialState> | undefined; -+ })[]; -+ type: string; -+ stale: false; -+}>, MockActions>; -+//# sourceMappingURL=MockRouter.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map -new file mode 100644 -index 0000000..4ff520f ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"MockRouter.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/__fixtures__/MockRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EAGpB,MAAM,EACP,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,aAAa;;CAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;iBA+I/D"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts -new file mode 100644 -index 0000000..1fa4c05 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=checkSerializable.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map -new file mode 100644 -index 0000000..7134153 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"checkSerializable.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/checkSerializable.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts -new file mode 100644 -index 0000000..600781b ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=createNavigationContainerRef.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map -new file mode 100644 -index 0000000..c92c69c ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"createNavigationContainerRef.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigationContainerRef.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts -new file mode 100644 -index 0000000..3dcc160 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=createNavigatorFactory.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map -new file mode 100644 -index 0000000..8f35188 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"createNavigatorFactory.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigatorFactory.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts -new file mode 100644 -index 0000000..df51c94 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getActionFromState.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map -new file mode 100644 -index 0000000..e3191ac ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getActionFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getActionFromState.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts -new file mode 100644 -index 0000000..ae3812b ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getFocusedRouteNameFromRoute.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map -new file mode 100644 -index 0000000..be64b01 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getFocusedRouteNameFromRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getFocusedRouteNameFromRoute.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts -new file mode 100644 -index 0000000..7625849 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getPathFromState.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map -new file mode 100644 -index 0000000..b119f20 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getPathFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getPathFromState.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts -new file mode 100644 -index 0000000..2ebde5a ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=getStateFromPath.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map -new file mode 100644 -index 0000000..cd928df ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"getStateFromPath.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getStateFromPath.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts -new file mode 100644 -index 0000000..121d59b ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=index.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map -new file mode 100644 -index 0000000..7b9421a ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts -new file mode 100644 -index 0000000..98b6561 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useDescriptors.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map -new file mode 100644 -index 0000000..666ac88 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useDescriptors.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useDescriptors.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts -new file mode 100644 -index 0000000..86ccf20 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useEventEmitter.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map -new file mode 100644 -index 0000000..0c223bb ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useEventEmitter.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useEventEmitter.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts -new file mode 100644 -index 0000000..88a0334 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useFocusEffect.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map -new file mode 100644 -index 0000000..14fd128 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useFocusEffect.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useFocusEffect.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts -new file mode 100644 -index 0000000..5ace84d ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useIsFocused.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map -new file mode 100644 -index 0000000..eb4a60a ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useIsFocused.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useIsFocused.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts -new file mode 100644 -index 0000000..49943be ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useNavigation.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map -new file mode 100644 -index 0000000..0d5f05d ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useNavigation.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigation.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts -new file mode 100644 -index 0000000..c4bdd73 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useNavigationCache.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map -new file mode 100644 -index 0000000..45d5eec ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useNavigationCache.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationCache.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts -new file mode 100644 -index 0000000..3f3e1e8 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useNavigationState.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map -new file mode 100644 -index 0000000..7f87ce2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useNavigationState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationState.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts -new file mode 100644 -index 0000000..a2d09c2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useOnAction.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map -new file mode 100644 -index 0000000..f1b8ce2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useOnAction.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useOnAction.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts -new file mode 100644 -index 0000000..8f19ec2 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=usePreventRemove.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map -new file mode 100644 -index 0000000..6c812fd ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"usePreventRemove.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/usePreventRemove.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts -new file mode 100644 -index 0000000..2fc7bc3 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts -@@ -0,0 +1,2 @@ -+export {}; -+//# sourceMappingURL=useRoute.test.d.ts.map -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map -new file mode 100644 -index 0000000..0f1e440 ---- /dev/null -+++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map -@@ -0,0 +1 @@ -+{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts -index e59dc93..9481d93 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts -@@ -17,7 +17,7 @@ export * from './types'; - export { default as useFocusEffect } from './useFocusEffect'; - export { default as useIsFocused } from './useIsFocused'; - export { default as useNavigation } from './useNavigation'; --export { default as useNavigationBuilder } from './useNavigationBuilder'; -+export { NavigationBuilderOptions, default as useNavigationBuilder, } from './useNavigationBuilder'; - export { default as useNavigationContainerRef } from './useNavigationContainerRef'; - export { default as useNavigationState } from './useNavigationState'; - export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map -index 366138e..b8b7de5 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} -\ No newline at end of file -+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index fcd456b..cd695d1 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -@@ -7,7 +7,20 @@ declare global { - } - } - type Keyof = Extract; --export type DefaultNavigatorOptions = DefaultRouterOptions> & { -+export type ScreenListenersOrCallback = ScreenListeners | ((props: { -+ route: RouteProp; -+ navigation: any; -+}) => ScreenListeners); -+export type ScreenOptionsOrCallback = ScreenOptions | ((props: { -+ route: RouteProp; -+ navigation: any; -+}) => ScreenOptions); -+export type DefaultScreenOptionsOrCallback = ScreenOptions | ((props: { -+ route: RouteProp; -+ navigation: any; -+ options: ScreenOptions; -+}) => ScreenOptions); -+export type DefaultNavigatorOptions = DefaultRouterOptions> & { - /** - * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. - */ -@@ -20,17 +33,11 @@ export type DefaultNavigatorOptions | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback; - /** - * Default options for all screens under this navigator. - */ -- screenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- }) => ScreenOptions); -+ screenOptions?: ScreenOptionsOrCallback; - }; - export type EventMapBase = Record = { - keys: (string | undefined)[]; - options: (ScreenOptionsOrCallback | undefined)[] | undefined; - props: RouteConfig; - }; --type ScreenOptionsOrCallback = ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; --}) => ScreenOptions); - type Options = { - state: State; - screens: Record>; - navigation: NavigationHelpers; - screenOptions?: ScreenOptionsOrCallback; -- defaultScreenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- options: ScreenOptions; -- }) => ScreenOptions); -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; - onAction: (action: NavigationAction) => boolean; - getState: () => State; - setState: (state: State) => void; -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map -index b67e6ea..0d7967a 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,uBAAuB,CAAC,aAAa,SAAS,EAAE,IACjD,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;IACP,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CAAC;CACjB,KAAK,aAAa,CAAC,CAAC;AAEzB,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} -\ No newline at end of file -+{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACrE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} -\ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 53d474e..8155d9c 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -@@ -1,17 +1,14 @@ - import { DefaultRouterOptions, NavigationState, ParamListBase, PartialState, RouterFactory } from '@react-navigation/routers'; - import * as React from 'react'; --import { DefaultNavigatorOptions, EventMapCore, PrivateValueStore, RouteProp } from './types'; --type NavigationBuilderOptions = { -+import { DefaultNavigatorOptions, DefaultScreenOptionsOrCallback, EventMapCore, PrivateValueStore, ScreenOptionsOrCallback } from './types'; -+export type NavigationBuilderOptions = { - /** - * Default options specified by the navigator. - * It receives the custom options in the arguments if a function is specified. - */ -- defaultScreenOptions?: ScreenOptions | ((props: { -- route: RouteProp; -- navigation: any; -- options: ScreenOptions; -- }) => ScreenOptions); -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; - }; -+type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback) => ScreenOptionsOrCallback; - /** - * Hook for building navigators. - * -@@ -19,7 +16,7 @@ type NavigationBuilderOptions = { - * @param options Options object containing `children` and additional options for the router. - * @returns An object containing `state`, `navigation`, `descriptors` objects. - */ --export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { -+export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { - state: State; - navigation: { - dispatch(action: Readonly<{ -@@ -168,7 +165,7 @@ export default function useNavigationBuilder, {}, {}> | undefined>(id?: string | undefined): T_1; - setParams(params: Partial): void; - setOptions(options: Partial): void; -- } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp>>; -+ } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, import("./types").RouteProp>>; - NavigationContent: ({ children }: { - children: React.ReactNode; - }) => JSX.Element; -diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..13aa161 100644 ---- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -+++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} -\ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EAEjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,KAClD,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAmN5C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,CACT,GACC,wBAAwB,CAAC,mBAAmB,CAAC,GAC7C,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmdF"} -\ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 --- a/node_modules/@react-navigation/core/src/index.tsx @@ -1004,7 +140,7 @@ index d5a192c..e39b723 100644 getState: () => State; setState: (state: State) => void; diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..0e1bd1c 100644 +index 7d550e0..2efd31f 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx @@ -23,12 +23,13 @@ import PreventRemoveProvider from './PreventRemoveProvider'; @@ -1238,15 +374,15 @@ index 7d550e0..0e1bd1c 100644 - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, + screenOptions: -+ options.screenOptions !== undefined -+ ? convertCustomScreenOptions?.(options.screenOptions) -+ : options.screenOptions, ++ options.screenOptions === undefined ++ ? undefined ++ : convertCustomScreenOptions?.(options.screenOptions), + defaultScreenOptions: -+ options.defaultScreenOptions !== undefined -+ ? convertCustomScreenOptions?.( ++ options.defaultScreenOptions === undefined ++ ? undefined ++ : convertCustomScreenOptions?.( + options.defaultScreenOptions as ScreenOptionsOrCallback -+ ) -+ : options.defaultScreenOptions, ++ ), onAction, getState, setState, From cc814481502c0e4b6934411727ee8230e426d9bd Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 23:02:02 +0200 Subject: [PATCH 113/178] fix: patch --- ...+002+platform-navigation-stack-types.patch | 864 ++++++++++++++++++ 1 file changed, 864 insertions(+) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 81625f04c5edd..217081a61fa60 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -1,3 +1,867 @@ +diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js b/node_modules/@react-navigation/core/lib/commonjs/index.js +index d1ea4eb..4b0a660 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/index.js ++++ b/node_modules/@react-navigation/core/lib/commonjs/index.js +@@ -22,6 +22,7 @@ var _exportNames = { + useFocusEffect: true, + useIsFocused: true, + useNavigation: true, ++ NavigationBuilderOptions: true, + useNavigationBuilder: true, + useNavigationContainerRef: true, + useNavigationState: true, +@@ -42,6 +43,12 @@ Object.defineProperty(exports, "CurrentRenderContext", { + return _CurrentRenderContext.default; + } + }); ++Object.defineProperty(exports, "NavigationBuilderOptions", { ++ enumerable: true, ++ get: function () { ++ return _useNavigationBuilder.NavigationBuilderOptions; ++ } ++}); + Object.defineProperty(exports, "NavigationContainerRefContext", { + enumerable: true, + get: function () { +@@ -210,7 +217,7 @@ Object.keys(_types).forEach(function (key) { + var _useFocusEffect = _interopRequireDefault(require("./useFocusEffect")); + var _useIsFocused = _interopRequireDefault(require("./useIsFocused")); + var _useNavigation = _interopRequireDefault(require("./useNavigation")); +-var _useNavigationBuilder = _interopRequireDefault(require("./useNavigationBuilder")); ++var _useNavigationBuilder = _interopRequireWildcard(require("./useNavigationBuilder")); + var _useNavigationContainerRef = _interopRequireDefault(require("./useNavigationContainerRef")); + var _useNavigationState = _interopRequireDefault(require("./useNavigationState")); + var _usePreventRemove = _interopRequireDefault(require("./usePreventRemove")); +@@ -229,5 +236,7 @@ Object.keys(_routers).forEach(function (key) { + } + }); + }); ++function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } ++function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + //# sourceMappingURL=index.js.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/index.js.map b/node_modules/@react-navigation/core/lib/commonjs/index.js.map +index f531070..f6131d3 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/index.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/index.js.map +@@ -1 +1 @@ +-{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"} +\ No newline at end of file ++{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C;AAAA;AAAA"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map +index a3da390..f993a9f 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/types.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAoJO,MAAMA,iBAAiB,CAA4B;AAYzD"} +\ No newline at end of file ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AA8KO,MAAMA,iBAAiB,CAA4B;AAYzD"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map +index d2248a2..9419f8d 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map +@@ -1 +1 @@ +-{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":";;;;;;AAMA;AAEA;AAIA;AACA;AACA;AAYA;AACA;AAA4C;AAAA;AAAA;AAmC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,cAAc,OAmBM;EAAA,IAd1C;IACAC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,oBAAoB;IACpBC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZC,MAAM;IACNC;EACuC,CAAC;EACxC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGC,KAAK,CAACC,QAAQ,CAAyB,CAAC,CAAC,CAAC;EACxE,MAAM;IAAEC,gBAAgB;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAGJ,KAAK,CAACK,UAAU,CACtEC,iCAAwB,CACzB;EAED,MAAMC,OAAO,GAAGP,KAAK,CAACQ,OAAO,CAC3B,OAAO;IACLrB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZO,gBAAgB;IAChBC,eAAe;IACfC;EACF,CAAC,CAAC,EACF,CACEjB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZO,gBAAgB,EAChBC,eAAe,EACfC,QAAQ,CACT,CACF;EAED,MAAMK,WAAW,GAAG,IAAAC,2BAAkB,EAAiC;IACrEzB,KAAK;IACLM,QAAQ;IACRJ,UAAU;IACVY,UAAU;IACVH,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMc,MAAM,GAAG,IAAAC,sBAAa,EAAC3B,KAAK,CAAC0B,MAAM,CAAC;EAE1C,OAAOA,MAAM,CAACE,MAAM,CAiBlB,CAACC,GAAG,EAAEC,KAAK,EAAEC,CAAC,KAAK;IACnB,MAAMC,MAAM,GAAG/B,OAAO,CAAC6B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAC3B,MAAMjC,UAAU,GAAGsB,WAAW,CAACM,KAAK,CAACM,GAAG,CAAC;IAEzC,MAAMC,WAAW,GAAG;IAClB;IACAlC,aAAa;IACb;IACA,IAAK6B,MAAM,CAACnB,OAAO,GACfmB,MAAM,CAACnB,OAAO,CAACyB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAL,MAAM,CAACrB,OAAO;IACd;IACAA,OAAO,CAACiB,KAAK,CAACM,GAAG,CAAC,CACnB;IAED,MAAMI,aAAa,GAAGH,WAAW,CAACT,MAAM,CACtC,CAACC,GAAG,EAAEY,IAAI,KACRC,MAAM,CAACC,MAAM,CACXd,GAAG;IACH;IACA,OAAOY,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAGA,IAAI,CAAC;MAAEX,KAAK;MAAE5B;IAAW,CAAC,CAAC,CAChE,EACH,CAAC,CAAC,CACH;IAED,MAAM0C,aAAa,GAAG;MACpB,IAAI,OAAOxC,oBAAoB,KAAK,UAAU;MAC1C;MACAA,oBAAoB,CAAC;QACnB0B,KAAK;QACL5B,UAAU;QACVW,OAAO,EAAE2B;MACX,CAAC,CAAC,GACFpC,oBAAoB,CAAC;MACzB,GAAGoC;IACL,CAAC;IAED,MAAMK,YAAY,GAAG,MACnB/B,UAAU,CAAEgC,CAAC,IAAK;MAChB,IAAIhB,KAAK,CAACM,GAAG,IAAIU,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAAChB,KAAK,CAACM,GAAG,GAAGW,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGF,CAAC;QACrC,OAAOE,IAAI;MACb;MAEA,OAAOF,CAAC;IACV,CAAC,CAAC;IAEJjB,GAAG,CAACC,KAAK,CAACM,GAAG,CAAC,GAAG;MACfN,KAAK;MACL;MACA5B,UAAU;MACV+C,MAAM,GAAG;QACP,oBACE,oBAAC,iCAAwB,CAAC,QAAQ;UAAC,GAAG,EAAEnB,KAAK,CAACM,GAAI;UAAC,KAAK,EAAEd;QAAQ,gBAChE,oBAAC,0BAAiB,CAAC,QAAQ;UAAC,KAAK,EAAEpB;QAAW,gBAC5C,oBAAC,+BAAsB,CAAC,QAAQ;UAAC,KAAK,EAAE4B;QAAM,gBAC5C,oBAAC,kBAAS;UACR,UAAU,EAAE5B,UAAW;UACvB,KAAK,EAAE4B,KAAM;UACb,MAAM,EAAEI,MAAO;UACf,UAAU,EAAElC,KAAK,CAAC0B,MAAM,CAACK,CAAC,CAAC,CAAC/B,KAAM;UAClC,QAAQ,EAAEM,QAAS;UACnB,QAAQ,EAAEC,QAAS;UACnB,OAAO,EAAEqC,aAAc;UACvB,YAAY,EAAEC;QAAa,EAC3B,CAC8B,CACP,CACK;MAExC,CAAC;MACDhC,OAAO,EAAE+B;IACX,CAAC;IAED,OAAOf,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +index 14338b9..6b46e0a 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js ++++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +@@ -43,7 +43,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != + * + * @param children React Elements to extract the config from. + */ +-const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { ++const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { ++ let platformGroupOptions = groupOptions; ++ if (transformScreenOptions !== undefined && groupOptions !== undefined) { ++ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); ++ } + const configs = React.Children.toArray(children).reduce((acc, child) => { + var _child$type, _child$props; + if ( /*#__PURE__*/React.isValidElement(child)) { +@@ -54,10 +58,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + if (!isValidKey(child.props.navigationKey)) { + throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); + } ++ const props = transformScreenOptions === undefined ? child.props : { ++ ...child.props, ++ options: transformScreenOptions(child.props.options) ++ }; + acc.push({ + keys: [groupKey, child.props.navigationKey], +- options: groupOptions, +- props: child.props ++ options: platformGroupOptions, ++ props + }); + return acc; + } +@@ -68,7 +76,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + + // When we encounter a fragment or group, we need to dive into its children to extract the configs + // This is handy to conditionally define a group of screens +- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); + return acc; + } + } +@@ -129,7 +137,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-function useNavigationBuilder(createRouter, options) { ++function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { + const navigatorKey = (0, _useRegisterNavigator.default)(); + const route = React.useContext(_NavigationRouteContext.default); + const { +@@ -145,7 +153,7 @@ function useNavigationBuilder(createRouter, options) { + initialRouteName: route.params.screen + } : null) + })); +- const routeConfigs = getRouteConfigsFromChildren(children); ++ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); + const screens = routeConfigs.reduce((acc, config) => { + if (config.props.name in acc) { + throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); +@@ -427,8 +435,8 @@ function useNavigationBuilder(createRouter, options) { + state, + screens, + navigation, +- screenOptions: options.screenOptions, +- defaultScreenOptions: options.defaultScreenOptions, ++ screenOptions: options.screenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), ++ defaultScreenOptions: options.defaultScreenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), + onAction, + getState, + setState, +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +index 55b77ca..2dad445 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map ++++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js +index 1d42c3a..06f6bde 100644 +--- a/node_modules/@react-navigation/core/lib/module/index.js ++++ b/node_modules/@react-navigation/core/lib/module/index.js +@@ -17,7 +17,7 @@ export * from './types'; + export { default as useFocusEffect } from './useFocusEffect'; + export { default as useIsFocused } from './useIsFocused'; + export { default as useNavigation } from './useNavigation'; +-export { default as useNavigationBuilder } from './useNavigationBuilder'; ++export { NavigationBuilderOptions, default as useNavigationBuilder } from './useNavigationBuilder'; + export { default as useNavigationContainerRef } from './useNavigationContainerRef'; + export { default as useNavigationState } from './useNavigationState'; + export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; +diff --git a/node_modules/@react-navigation/core/lib/module/index.js.map b/node_modules/@react-navigation/core/lib/module/index.js.map +index ed01400..32855ca 100644 +--- a/node_modules/@react-navigation/core/lib/module/index.js.map ++++ b/node_modules/@react-navigation/core/lib/module/index.js.map +@@ -1 +1 @@ +-{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SAASlB,OAAO,IAAImB,oBAAoB,QAAQ,wBAAwB;AACxE,SAASnB,OAAO,IAAIoB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASpB,OAAO,IAAIqB,kBAAkB,QAAQ,sBAAsB;AACpE,SAASrB,OAAO,IAAIsB,yBAAyB,QAAQ,oBAAoB;AACzE,SAAStB,OAAO,IAAIuB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASvB,OAAO,IAAIwB,QAAQ,QAAQ,YAAY;AAChD,SAASxB,OAAO,IAAIyB,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} +\ No newline at end of file ++{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","NavigationBuilderOptions","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SACEC,wBAAwB,EACxBnB,OAAO,IAAIoB,oBAAoB,QAC1B,wBAAwB;AAC/B,SAASpB,OAAO,IAAIqB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAStB,OAAO,IAAIuB,yBAAyB,QAAQ,oBAAoB;AACzE,SAASvB,OAAO,IAAIwB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASxB,OAAO,IAAIyB,QAAQ,QAAQ,YAAY;AAChD,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map +index 21fd3e8..a783f20 100644 +--- a/node_modules/@react-navigation/core/lib/module/types.js.map ++++ b/node_modules/@react-navigation/core/lib/module/types.js.map +@@ -1 +1 @@ +-{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAoJA,OAAO,MAAMA,iBAAiB,CAA4B"} +\ No newline at end of file ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AA8KA,OAAO,MAAMA,iBAAiB,CAA4B"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +index 77a198a..b329172 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +@@ -1 +1 @@ +-{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"AAMA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,wBAAwB,MAGxB,4BAA4B;AACnC,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,SAAS,MAAM,aAAa;AAYnC,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,aAAa,MAAM,iBAAiB;AAmC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,cAAc,OAmBM;EAAA,IAd1C;IACAC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,oBAAoB;IACpBC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZC,MAAM;IACNC;EACuC,CAAC;EACxC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGtB,KAAK,CAACuB,QAAQ,CAAyB,CAAC,CAAC,CAAC;EACxE,MAAM;IAAEC,gBAAgB;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG1B,KAAK,CAAC2B,UAAU,CACtE1B,wBAAwB,CACzB;EAED,MAAM2B,OAAO,GAAG5B,KAAK,CAAC6B,OAAO,CAC3B,OAAO;IACLnB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZM,gBAAgB;IAChBC,eAAe;IACfC;EACF,CAAC,CAAC,EACF,CACEhB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZM,gBAAgB,EAChBC,eAAe,EACfC,QAAQ,CACT,CACF;EAED,MAAMI,WAAW,GAAGzB,kBAAkB,CAAiC;IACrEG,KAAK;IACLM,QAAQ;IACRJ,UAAU;IACVY,UAAU;IACVH,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAGzB,aAAa,CAACE,KAAK,CAACuB,MAAM,CAAC;EAE1C,OAAOA,MAAM,CAACC,MAAM,CAiBlB,CAACC,GAAG,EAAEC,KAAK,EAAEC,CAAC,KAAK;IACnB,MAAMC,MAAM,GAAG3B,OAAO,CAACyB,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAC3B,MAAM7B,UAAU,GAAGoB,WAAW,CAACI,KAAK,CAACM,GAAG,CAAC;IAEzC,MAAMC,WAAW,GAAG;IAClB;IACA9B,aAAa;IACb;IACA,IAAKyB,MAAM,CAACf,OAAO,GACfe,MAAM,CAACf,OAAO,CAACqB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAL,MAAM,CAACjB,OAAO;IACd;IACAA,OAAO,CAACa,KAAK,CAACM,GAAG,CAAC,CACnB;IAED,MAAMI,aAAa,GAAGH,WAAW,CAACT,MAAM,CACtC,CAACC,GAAG,EAAEY,IAAI,KACRC,MAAM,CAACC,MAAM,CACXd,GAAG;IACH;IACA,OAAOY,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAGA,IAAI,CAAC;MAAEX,KAAK;MAAExB;IAAW,CAAC,CAAC,CAChE,EACH,CAAC,CAAC,CACH;IAED,MAAMsC,aAAa,GAAG;MACpB,IAAI,OAAOpC,oBAAoB,KAAK,UAAU;MAC1C;MACAA,oBAAoB,CAAC;QACnBsB,KAAK;QACLxB,UAAU;QACVW,OAAO,EAAEuB;MACX,CAAC,CAAC,GACFhC,oBAAoB,CAAC;MACzB,GAAGgC;IACL,CAAC;IAED,MAAMK,YAAY,GAAG,MACnB3B,UAAU,CAAE4B,CAAC,IAAK;MAChB,IAAIhB,KAAK,CAACM,GAAG,IAAIU,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAAChB,KAAK,CAACM,GAAG,GAAGW,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGF,CAAC;QACrC,OAAOE,IAAI;MACb;MAEA,OAAOF,CAAC;IACV,CAAC,CAAC;IAEJjB,GAAG,CAACC,KAAK,CAACM,GAAG,CAAC,GAAG;MACfN,KAAK;MACL;MACAxB,UAAU;MACV2C,MAAM,GAAG;QACP,oBACE,oBAAC,wBAAwB,CAAC,QAAQ;UAAC,GAAG,EAAEnB,KAAK,CAACM,GAAI;UAAC,KAAK,EAAEZ;QAAQ,gBAChE,oBAAC,iBAAiB,CAAC,QAAQ;UAAC,KAAK,EAAElB;QAAW,gBAC5C,oBAAC,sBAAsB,CAAC,QAAQ;UAAC,KAAK,EAAEwB;QAAM,gBAC5C,oBAAC,SAAS;UACR,UAAU,EAAExB,UAAW;UACvB,KAAK,EAAEwB,KAAM;UACb,MAAM,EAAEI,MAAO;UACf,UAAU,EAAE9B,KAAK,CAACuB,MAAM,CAACI,CAAC,CAAC,CAAC3B,KAAM;UAClC,QAAQ,EAAEM,QAAS;UACnB,QAAQ,EAAEC,QAAS;UACnB,OAAO,EAAEiC,aAAc;UACvB,YAAY,EAAEC;QAAa,EAC3B,CAC8B,CACP,CACK;MAExC,CAAC;MACD5B,OAAO,EAAE2B;IACX,CAAC;IAED,OAAOf,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +index 6fb49e0..daac093 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +@@ -35,7 +35,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != + * + * @param children React Elements to extract the config from. + */ +-const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { ++const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { ++ let platformGroupOptions = groupOptions; ++ if (transformScreenOptions !== undefined && groupOptions !== undefined) { ++ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); ++ } + const configs = React.Children.toArray(children).reduce((acc, child) => { + var _child$type, _child$props; + if ( /*#__PURE__*/React.isValidElement(child)) { +@@ -46,10 +50,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + if (!isValidKey(child.props.navigationKey)) { + throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); + } ++ const props = transformScreenOptions === undefined ? child.props : { ++ ...child.props, ++ options: transformScreenOptions(child.props.options) ++ }; + acc.push({ + keys: [groupKey, child.props.navigationKey], +- options: groupOptions, +- props: child.props ++ options: platformGroupOptions, ++ props + }); + return acc; + } +@@ -60,7 +68,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + + // When we encounter a fragment or group, we need to dive into its children to extract the configs + // This is handy to conditionally define a group of screens +- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); + return acc; + } + } +@@ -121,7 +129,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-export default function useNavigationBuilder(createRouter, options) { ++export default function useNavigationBuilder(createRouter, options, convertCustomScreenOptions) { + const navigatorKey = useRegisterNavigator(); + const route = React.useContext(NavigationRouteContext); + const { +@@ -137,7 +145,7 @@ export default function useNavigationBuilder(createRouter, options) { + initialRouteName: route.params.screen + } : null) + })); +- const routeConfigs = getRouteConfigsFromChildren(children); ++ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); + const screens = routeConfigs.reduce((acc, config) => { + if (config.props.name in acc) { + throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); +@@ -174,6 +182,10 @@ export default function useNavigationBuilder(createRouter, options) { + getIsInitial + } = React.useContext(NavigationStateContext); + const stateCleanedUp = React.useRef(false); ++ const cleanUpState = React.useCallback(() => { ++ setCurrentState(undefined); ++ stateCleanedUp.current = true; ++ }, [setCurrentState]); + const setState = React.useCallback(state => { + if (stateCleanedUp.current) { + // State might have been already cleaned up due to unmount +@@ -287,9 +299,6 @@ export default function useNavigationBuilder(createRouter, options) { + // So we override the state object we return to use the latest state as soon as possible + state = nextState; + React.useEffect(() => { +- // In strict mode, React will double-invoke effects. +- // So we need to reset the flag if component was not unmounted +- stateCleanedUp.current = false; + setKey(navigatorKey); + if (!getIsInitial()) { + // If it's not initial render, we need to update the state +@@ -299,10 +308,14 @@ export default function useNavigationBuilder(createRouter, options) { + } + return () => { + // We need to clean up state for this navigator on unmount +- if (getCurrentState() !== undefined && getKey() === navigatorKey) { +- setCurrentState(undefined); +- stateCleanedUp.current = true; +- } ++ // We do it in a timeout because we need to detect if another navigator mounted in the meantime ++ // For example, if another navigator has started rendering, we should skip cleanup ++ // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it ++ setTimeout(() => { ++ if (getCurrentState() !== undefined && getKey() === navigatorKey) { ++ cleanUpState(); ++ } ++ }, 0); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); +@@ -414,8 +427,8 @@ export default function useNavigationBuilder(createRouter, options) { + state, + screens, + navigation, +- screenOptions: options.screenOptions, +- defaultScreenOptions: options.defaultScreenOptions, ++ screenOptions: options.screenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), ++ defaultScreenOptions: options.defaultScreenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), + onAction, + getState, + setState, +diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +index 5d5cdbd..e2dee8a 100644 +--- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map ++++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +@@ -1 +1 @@ +-{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts +new file mode 100644 +index 0000000..d22cbd4 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=BaseNavigationContainer.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map +new file mode 100644 +index 0000000..6334965 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"BaseNavigationContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/BaseNavigationContainer.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts +new file mode 100644 +index 0000000..433d407 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=StaticContainer.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map +new file mode 100644 +index 0000000..34bb501 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/StaticContainer.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"StaticContainer.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/StaticContainer.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts +new file mode 100644 +index 0000000..7e2c7c6 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts +@@ -0,0 +1,25 @@ ++import { CommonNavigationAction, DefaultRouterOptions, Router } from '@react-navigation/routers'; ++export type MockActions = CommonNavigationAction | { ++ type: 'NOOP' | 'UPDATE'; ++}; ++export declare const MockRouterKey: { ++ current: number; ++}; ++export default function MockRouter(options: DefaultRouterOptions): Router & Readonly<{ ++ params?: Readonly; ++ }> & { ++ state?: Readonly | import("@react-navigation/routers").PartialState> | undefined; ++ })[]; ++ type: string; ++ stale: false; ++}>, MockActions>; ++//# sourceMappingURL=MockRouter.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map +new file mode 100644 +index 0000000..4ff520f +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/__fixtures__/MockRouter.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"MockRouter.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/__fixtures__/MockRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EAGpB,MAAM,EACP,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,WAAW,GAAG,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE/E,eAAO,MAAM,aAAa;;CAAiB,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,oBAAoB;;;;;;;;;;;;;;;;iBA+I/D"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts +new file mode 100644 +index 0000000..1fa4c05 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=checkSerializable.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map +new file mode 100644 +index 0000000..7134153 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/checkSerializable.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"checkSerializable.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/checkSerializable.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts +new file mode 100644 +index 0000000..600781b +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=createNavigationContainerRef.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map +new file mode 100644 +index 0000000..c92c69c +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigationContainerRef.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"createNavigationContainerRef.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigationContainerRef.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts +new file mode 100644 +index 0000000..3dcc160 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=createNavigatorFactory.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map +new file mode 100644 +index 0000000..8f35188 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/createNavigatorFactory.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"createNavigatorFactory.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/createNavigatorFactory.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts +new file mode 100644 +index 0000000..df51c94 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getActionFromState.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map +new file mode 100644 +index 0000000..e3191ac +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getActionFromState.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getActionFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getActionFromState.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts +new file mode 100644 +index 0000000..ae3812b +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getFocusedRouteNameFromRoute.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map +new file mode 100644 +index 0000000..be64b01 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getFocusedRouteNameFromRoute.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getFocusedRouteNameFromRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getFocusedRouteNameFromRoute.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts +new file mode 100644 +index 0000000..7625849 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getPathFromState.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map +new file mode 100644 +index 0000000..b119f20 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getPathFromState.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getPathFromState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getPathFromState.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts +new file mode 100644 +index 0000000..2ebde5a +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=getStateFromPath.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map +new file mode 100644 +index 0000000..cd928df +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/getStateFromPath.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"getStateFromPath.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/getStateFromPath.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts +new file mode 100644 +index 0000000..121d59b +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=index.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map +new file mode 100644 +index 0000000..7b9421a +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/index.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts +new file mode 100644 +index 0000000..98b6561 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useDescriptors.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map +new file mode 100644 +index 0000000..666ac88 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useDescriptors.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useDescriptors.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useDescriptors.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts +new file mode 100644 +index 0000000..86ccf20 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useEventEmitter.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map +new file mode 100644 +index 0000000..0c223bb +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useEventEmitter.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useEventEmitter.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useEventEmitter.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts +new file mode 100644 +index 0000000..88a0334 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useFocusEffect.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map +new file mode 100644 +index 0000000..14fd128 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useFocusEffect.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useFocusEffect.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useFocusEffect.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts +new file mode 100644 +index 0000000..5ace84d +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useIsFocused.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map +new file mode 100644 +index 0000000..eb4a60a +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useIsFocused.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useIsFocused.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useIsFocused.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts +new file mode 100644 +index 0000000..49943be +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useNavigation.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map +new file mode 100644 +index 0000000..0d5f05d +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigation.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useNavigation.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigation.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts +new file mode 100644 +index 0000000..c4bdd73 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useNavigationCache.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map +new file mode 100644 +index 0000000..45d5eec +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationCache.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useNavigationCache.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationCache.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts +new file mode 100644 +index 0000000..3f3e1e8 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useNavigationState.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map +new file mode 100644 +index 0000000..7f87ce2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useNavigationState.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useNavigationState.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useNavigationState.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts +new file mode 100644 +index 0000000..a2d09c2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useOnAction.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map +new file mode 100644 +index 0000000..f1b8ce2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useOnAction.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useOnAction.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useOnAction.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts +new file mode 100644 +index 0000000..8f19ec2 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=usePreventRemove.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map +new file mode 100644 +index 0000000..6c812fd +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/usePreventRemove.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"usePreventRemove.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/usePreventRemove.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts +new file mode 100644 +index 0000000..2fc7bc3 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts +@@ -0,0 +1,2 @@ ++export {}; ++//# sourceMappingURL=useRoute.test.d.ts.map +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map +new file mode 100644 +index 0000000..0f1e440 +--- /dev/null ++++ b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/useRoute.test.d.ts.map +@@ -0,0 +1 @@ ++{"version":3,"file":"useRoute.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/useRoute.test.tsx"],"names":[],"mappings":""} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts +index e59dc93..9481d93 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts +@@ -17,7 +17,7 @@ export * from './types'; + export { default as useFocusEffect } from './useFocusEffect'; + export { default as useIsFocused } from './useIsFocused'; + export { default as useNavigation } from './useNavigation'; +-export { default as useNavigationBuilder } from './useNavigationBuilder'; ++export { NavigationBuilderOptions, default as useNavigationBuilder, } from './useNavigationBuilder'; + export { default as useNavigationContainerRef } from './useNavigationContainerRef'; + export { default as useNavigationState } from './useNavigationState'; + export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map +index 366138e..b8b7de5 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/index.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} +\ No newline at end of file ++{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +index fcd456b..cd695d1 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +@@ -7,7 +7,20 @@ declare global { + } + } + type Keyof = Extract; +-export type DefaultNavigatorOptions = DefaultRouterOptions> & { ++export type ScreenListenersOrCallback = ScreenListeners | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenListeners); ++export type ScreenOptionsOrCallback = ScreenOptions | ((props: { ++ route: RouteProp; ++ navigation: any; ++}) => ScreenOptions); ++export type DefaultScreenOptionsOrCallback = ScreenOptions | ((props: { ++ route: RouteProp; ++ navigation: any; ++ options: ScreenOptions; ++}) => ScreenOptions); ++export type DefaultNavigatorOptions = DefaultRouterOptions> & { + /** + * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. + */ +@@ -20,17 +33,11 @@ export type DefaultNavigatorOptions | ((props: { +- route: RouteProp; +- navigation: any; +- }) => ScreenListeners); ++ screenListeners?: ScreenListenersOrCallback; + /** + * Default options for all screens under this navigator. + */ +- screenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +- }) => ScreenOptions); ++ screenOptions?: ScreenOptionsOrCallback; + }; + export type EventMapBase = Record = { + keys: (string | undefined)[]; + options: (ScreenOptionsOrCallback | undefined)[] | undefined; + props: RouteConfig; + }; +-type ScreenOptionsOrCallback = ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +-}) => ScreenOptions); + type Options = { + state: State; + screens: Record>; + navigation: NavigationHelpers; + screenOptions?: ScreenOptionsOrCallback; +- defaultScreenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +- options: ScreenOptions; +- }) => ScreenOptions); ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; + onAction: (action: NavigationAction) => boolean; + getState: () => State; + setState: (state: State) => void; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map +index b67e6ea..0d7967a 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,uBAAuB,CAAC,aAAa,SAAS,EAAE,IACjD,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;IACP,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CAAC;CACjB,KAAK,aAAa,CAAC,CAAC;AAEzB,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} +\ No newline at end of file ++{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACrE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} +\ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +index 53d474e..8155d9c 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +@@ -1,17 +1,14 @@ + import { DefaultRouterOptions, NavigationState, ParamListBase, PartialState, RouterFactory } from '@react-navigation/routers'; + import * as React from 'react'; +-import { DefaultNavigatorOptions, EventMapCore, PrivateValueStore, RouteProp } from './types'; +-type NavigationBuilderOptions = { ++import { DefaultNavigatorOptions, DefaultScreenOptionsOrCallback, EventMapCore, PrivateValueStore, ScreenOptionsOrCallback } from './types'; ++export type NavigationBuilderOptions = { + /** + * Default options specified by the navigator. + * It receives the custom options in the arguments if a function is specified. + */ +- defaultScreenOptions?: ScreenOptions | ((props: { +- route: RouteProp; +- navigation: any; +- options: ScreenOptions; +- }) => ScreenOptions); ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; + }; ++type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback) => ScreenOptionsOrCallback; + /** + * Hook for building navigators. + * +@@ -19,7 +16,7 @@ type NavigationBuilderOptions = { + * @param options Options object containing `children` and additional options for the router. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ +-export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { ++export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { + state: State; + navigation: { + dispatch(action: Readonly<{ +@@ -168,7 +165,7 @@ export default function useNavigationBuilder, {}, {}> | undefined>(id?: string | undefined): T_1; + setParams(params: Partial): void; + setOptions(options: Partial): void; +- } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp>>; ++ } & import("./types").EventConsumer> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, import("./types").RouteProp>>; + NavigationContent: ({ children }: { + children: React.ReactNode; + }) => JSX.Element; +diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +index 33762f4..13aa161 100644 +--- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map ++++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} +\ No newline at end of file ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EAEjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,KAClD,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAmN5C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,CACT,GACC,wBAAwB,CAAC,mBAAmB,CAAC,GAC7C,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmdF"} +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 --- a/node_modules/@react-navigation/core/src/index.tsx From 9aadd778d116fbc4b6158f531de853595f18591a Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 28 Aug 2024 23:31:21 +0200 Subject: [PATCH 114/178] fix: patch --- ...+002+platform-navigation-stack-types.patch | 270 ++++++++---------- 1 file changed, 114 insertions(+), 156 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 217081a61fa60..28e99d38f3298 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -69,7 +69,7 @@ index d2248a2..9419f8d 100644 +{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..6b46e0a 100644 +index 14338b9..8007628 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js @@ -43,7 +43,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != @@ -85,24 +85,27 @@ index 14338b9..6b46e0a 100644 const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -54,10 +58,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -54,9 +58,12 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } -+ const props = transformScreenOptions === undefined ? child.props : { -+ ...child.props, -+ options: transformScreenOptions(child.props.options) -+ }; ++ if (transformScreenOptions !== undefined) { ++ child.props.options = transformScreenOptions(child.props.options); ++ } acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, -- props: child.props + options: platformGroupOptions, -+ props + props: child.props }); return acc; - } -@@ -68,7 +76,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -65,10 +72,13 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + if (!isValidKey(child.props.navigationKey)) { + throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); + } ++ if (transformScreenOptions !== undefined) { ++ child.props.screenOptions = transformScreenOptions(child.props.screenOptions); ++ } // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens @@ -111,7 +114,7 @@ index 14338b9..6b46e0a 100644 return acc; } } -@@ -129,7 +137,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -129,7 +139,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * @param options Options object containing `children` and additional options for the router. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ @@ -120,7 +123,7 @@ index 14338b9..6b46e0a 100644 const navigatorKey = (0, _useRegisterNavigator.default)(); const route = React.useContext(_NavigationRouteContext.default); const { -@@ -145,7 +153,7 @@ function useNavigationBuilder(createRouter, options) { +@@ -145,7 +155,7 @@ function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); @@ -129,25 +132,65 @@ index 14338b9..6b46e0a 100644 const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -427,8 +435,8 @@ function useNavigationBuilder(createRouter, options) { +@@ -182,10 +192,6 @@ function useNavigationBuilder(createRouter, options) { + getIsInitial + } = React.useContext(_NavigationStateContext.default); + const stateCleanedUp = React.useRef(false); +- const cleanUpState = React.useCallback(() => { +- setCurrentState(undefined); +- stateCleanedUp.current = true; +- }, [setCurrentState]); + const setState = React.useCallback(state => { + if (stateCleanedUp.current) { + // State might have been already cleaned up due to unmount +@@ -299,6 +305,9 @@ function useNavigationBuilder(createRouter, options) { + // So we override the state object we return to use the latest state as soon as possible + state = nextState; + React.useEffect(() => { ++ // In strict mode, React will double-invoke effects. ++ // So we need to reset the flag if component was not unmounted ++ stateCleanedUp.current = false; + setKey(navigatorKey); + if (!getIsInitial()) { + // If it's not initial render, we need to update the state +@@ -308,14 +317,10 @@ function useNavigationBuilder(createRouter, options) { + } + return () => { + // We need to clean up state for this navigator on unmount +- // We do it in a timeout because we need to detect if another navigator mounted in the meantime +- // For example, if another navigator has started rendering, we should skip cleanup +- // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it +- setTimeout(() => { +- if (getCurrentState() !== undefined && getKey() === navigatorKey) { +- cleanUpState(); +- } +- }, 0); ++ if (getCurrentState() !== undefined && getKey() === navigatorKey) { ++ setCurrentState(undefined); ++ stateCleanedUp.current = true; ++ } + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); +@@ -427,8 +432,8 @@ function useNavigationBuilder(createRouter, options) { state, screens, navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: options.screenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), -+ defaultScreenOptions: options.defaultScreenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), ++ screenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), ++ defaultScreenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), onAction, getState, setState, diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..2dad445 100644 +index 55b77ca..6085d7b 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js index 1d42c3a..06f6bde 100644 @@ -190,7 +233,7 @@ index 77a198a..b329172 100644 +{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"AAMA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,wBAAwB,MAGxB,4BAA4B;AACnC,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,SAAS,MAAM,aAAa;AAYnC,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,aAAa,MAAM,iBAAiB;AAmC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,cAAc,OAmBM;EAAA,IAd1C;IACAC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,oBAAoB;IACpBC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZC,MAAM;IACNC;EACuC,CAAC;EACxC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGtB,KAAK,CAACuB,QAAQ,CAAyB,CAAC,CAAC,CAAC;EACxE,MAAM;IAAEC,gBAAgB;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG1B,KAAK,CAAC2B,UAAU,CACtE1B,wBAAwB,CACzB;EAED,MAAM2B,OAAO,GAAG5B,KAAK,CAAC6B,OAAO,CAC3B,OAAO;IACLnB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZM,gBAAgB;IAChBC,eAAe;IACfC;EACF,CAAC,CAAC,EACF,CACEhB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZM,gBAAgB,EAChBC,eAAe,EACfC,QAAQ,CACT,CACF;EAED,MAAMI,WAAW,GAAGzB,kBAAkB,CAAiC;IACrEG,KAAK;IACLM,QAAQ;IACRJ,UAAU;IACVY,UAAU;IACVH,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAGzB,aAAa,CAACE,KAAK,CAACuB,MAAM,CAAC;EAE1C,OAAOA,MAAM,CAACC,MAAM,CAiBlB,CAACC,GAAG,EAAEC,KAAK,EAAEC,CAAC,KAAK;IACnB,MAAMC,MAAM,GAAG3B,OAAO,CAACyB,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAC3B,MAAM7B,UAAU,GAAGoB,WAAW,CAACI,KAAK,CAACM,GAAG,CAAC;IAEzC,MAAMC,WAAW,GAAG;IAClB;IACA9B,aAAa;IACb;IACA,IAAKyB,MAAM,CAACf,OAAO,GACfe,MAAM,CAACf,OAAO,CAACqB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAL,MAAM,CAACjB,OAAO;IACd;IACAA,OAAO,CAACa,KAAK,CAACM,GAAG,CAAC,CACnB;IAED,MAAMI,aAAa,GAAGH,WAAW,CAACT,MAAM,CACtC,CAACC,GAAG,EAAEY,IAAI,KACRC,MAAM,CAACC,MAAM,CACXd,GAAG;IACH;IACA,OAAOY,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAGA,IAAI,CAAC;MAAEX,KAAK;MAAExB;IAAW,CAAC,CAAC,CAChE,EACH,CAAC,CAAC,CACH;IAED,MAAMsC,aAAa,GAAG;MACpB,IAAI,OAAOpC,oBAAoB,KAAK,UAAU;MAC1C;MACAA,oBAAoB,CAAC;QACnBsB,KAAK;QACLxB,UAAU;QACVW,OAAO,EAAEuB;MACX,CAAC,CAAC,GACFhC,oBAAoB,CAAC;MACzB,GAAGgC;IACL,CAAC;IAED,MAAMK,YAAY,GAAG,MACnB3B,UAAU,CAAE4B,CAAC,IAAK;MAChB,IAAIhB,KAAK,CAACM,GAAG,IAAIU,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAAChB,KAAK,CAACM,GAAG,GAAGW,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGF,CAAC;QACrC,OAAOE,IAAI;MACb;MAEA,OAAOF,CAAC;IACV,CAAC,CAAC;IAEJjB,GAAG,CAACC,KAAK,CAACM,GAAG,CAAC,GAAG;MACfN,KAAK;MACL;MACAxB,UAAU;MACV2C,MAAM,GAAG;QACP,oBACE,oBAAC,wBAAwB,CAAC,QAAQ;UAAC,GAAG,EAAEnB,KAAK,CAACM,GAAI;UAAC,KAAK,EAAEZ;QAAQ,gBAChE,oBAAC,iBAAiB,CAAC,QAAQ;UAAC,KAAK,EAAElB;QAAW,gBAC5C,oBAAC,sBAAsB,CAAC,QAAQ;UAAC,KAAK,EAAEwB;QAAM,gBAC5C,oBAAC,SAAS;UACR,UAAU,EAAExB,UAAW;UACvB,KAAK,EAAEwB,KAAM;UACb,MAAM,EAAEI,MAAO;UACf,UAAU,EAAE9B,KAAK,CAACuB,MAAM,CAACI,CAAC,CAAC,CAAC3B,KAAM;UAClC,QAAQ,EAAEM,QAAS;UACnB,QAAQ,EAAEC,QAAS;UACnB,OAAO,EAAEiC,aAAc;UACvB,YAAY,EAAEC;QAAa,EAC3B,CAC8B,CACP,CACK;MAExC,CAAC;MACD5B,OAAO,EAAE2B;IACX,CAAC;IAED,OAAOf,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..daac093 100644 +index 6fb49e0..51edcb1 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js @@ -35,7 +35,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != @@ -206,24 +249,27 @@ index 6fb49e0..daac093 100644 const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -46,10 +50,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -46,9 +50,12 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } -+ const props = transformScreenOptions === undefined ? child.props : { -+ ...child.props, -+ options: transformScreenOptions(child.props.options) -+ }; ++ if (transformScreenOptions !== undefined) { ++ child.props.options = transformScreenOptions(child.props.options); ++ } acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, -- props: child.props + options: platformGroupOptions, -+ props + props: child.props }); return acc; - } -@@ -60,7 +68,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -57,10 +64,13 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + if (!isValidKey(child.props.navigationKey)) { + throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); + } ++ if (transformScreenOptions !== undefined) { ++ child.props.screenOptions = transformScreenOptions(child.props.screenOptions); ++ } // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens @@ -232,7 +278,7 @@ index 6fb49e0..daac093 100644 return acc; } } -@@ -121,7 +129,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -121,7 +131,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * @param options Options object containing `children` and additional options for the router. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ @@ -241,7 +287,7 @@ index 6fb49e0..daac093 100644 const navigatorKey = useRegisterNavigator(); const route = React.useContext(NavigationRouteContext); const { -@@ -137,7 +145,7 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -137,7 +147,7 @@ export default function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); @@ -250,65 +296,25 @@ index 6fb49e0..daac093 100644 const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -174,6 +182,10 @@ export default function useNavigationBuilder(createRouter, options) { - getIsInitial - } = React.useContext(NavigationStateContext); - const stateCleanedUp = React.useRef(false); -+ const cleanUpState = React.useCallback(() => { -+ setCurrentState(undefined); -+ stateCleanedUp.current = true; -+ }, [setCurrentState]); - const setState = React.useCallback(state => { - if (stateCleanedUp.current) { - // State might have been already cleaned up due to unmount -@@ -287,9 +299,6 @@ export default function useNavigationBuilder(createRouter, options) { - // So we override the state object we return to use the latest state as soon as possible - state = nextState; - React.useEffect(() => { -- // In strict mode, React will double-invoke effects. -- // So we need to reset the flag if component was not unmounted -- stateCleanedUp.current = false; - setKey(navigatorKey); - if (!getIsInitial()) { - // If it's not initial render, we need to update the state -@@ -299,10 +308,14 @@ export default function useNavigationBuilder(createRouter, options) { - } - return () => { - // We need to clean up state for this navigator on unmount -- if (getCurrentState() !== undefined && getKey() === navigatorKey) { -- setCurrentState(undefined); -- stateCleanedUp.current = true; -- } -+ // We do it in a timeout because we need to detect if another navigator mounted in the meantime -+ // For example, if another navigator has started rendering, we should skip cleanup -+ // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it -+ setTimeout(() => { -+ if (getCurrentState() !== undefined && getKey() === navigatorKey) { -+ cleanUpState(); -+ } -+ }, 0); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); -@@ -414,8 +427,8 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -414,8 +424,8 @@ export default function useNavigationBuilder(createRouter, options) { state, screens, navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: options.screenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), -+ defaultScreenOptions: options.defaultScreenOptions === undefined ? undefined : convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), ++ screenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), ++ defaultScreenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), onAction, getState, setState, diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..e2dee8a 100644 +index 5d5cdbd..4829fd4 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -810,7 +816,7 @@ index b67e6ea..0d7967a 100644 +{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACrE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts -index 53d474e..8155d9c 100644 +index 53d474e..8933a61 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts @@ -1,17 +1,14 @@ @@ -831,7 +837,7 @@ index 53d474e..8155d9c 100644 - }) => ScreenOptions); + defaultScreenOptions?: DefaultScreenOptionsOrCallback; }; -+type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback) => ScreenOptionsOrCallback; ++type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; /** * Hook for building navigators. * @@ -854,13 +860,13 @@ index 53d474e..8155d9c 100644 children: React.ReactNode; }) => JSX.Element; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..13aa161 100644 +index 33762f4..40727ca 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EAEjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,KAClD,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAmN5C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,CACT,GACC,wBAAwB,CAAC,mBAAmB,CAAC,GAC7C,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmdF"} ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,SAAS,KAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AA+MxD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,CACT,GACC,wBAAwB,CAAC,mBAAmB,CAAC,GAC7C,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAucF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 @@ -1004,10 +1010,10 @@ index d5a192c..e39b723 100644 getState: () => State; setState: (state: State) => void; diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..2efd31f 100644 +index 7d550e0..01ed591 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -23,12 +23,13 @@ import PreventRemoveProvider from './PreventRemoveProvider'; +@@ -23,12 +23,12 @@ import PreventRemoveProvider from './PreventRemoveProvider'; import Screen from './Screen'; import { DefaultNavigatorOptions, @@ -1016,13 +1022,13 @@ index 7d550e0..2efd31f 100644 EventMapCore, NavigatorScreenParams, PrivateValueStore, - RouteConfig, +- RouteConfig, - RouteProp, + ScreenOptionsOrCallback, } from './types'; import useChildListeners from './useChildListeners'; import useComponent from './useComponent'; -@@ -49,18 +50,12 @@ import useScheduleUpdate from './useScheduleUpdate'; +@@ -49,18 +49,12 @@ import useScheduleUpdate from './useScheduleUpdate'; // eslint-disable-next-line babel/no-unused-expressions PrivateValueStore; @@ -1043,7 +1049,7 @@ index 7d550e0..2efd31f 100644 }; type NavigatorRoute = { -@@ -68,6 +63,13 @@ type NavigatorRoute = { +@@ -68,6 +62,13 @@ type NavigatorRoute = { params?: NavigatorScreenParams; }; @@ -1051,13 +1057,13 @@ index 7d550e0..2efd31f 100644 + CustomScreenOptions extends {}, + ScreenOptions extends {} +> = ( -+ options: ScreenOptionsOrCallback -+) => ScreenOptionsOrCallback; ++ options: ScreenOptionsOrCallback | undefined ++) => ScreenOptionsOrCallback | undefined; + const isValidKey = (key: unknown) => key === undefined || (typeof key === 'string' && key !== ''); -@@ -79,16 +81,34 @@ const isValidKey = (key: unknown) => +@@ -79,16 +80,34 @@ const isValidKey = (key: unknown) => const getRouteConfigsFromChildren = < State extends NavigationState, ScreenOptions extends {}, @@ -1095,23 +1101,13 @@ index 7d550e0..2efd31f 100644 const configs = React.Children.toArray(children).reduce< ScreenConfigWithParent[] >((acc, child) => { -@@ -107,16 +127,24 @@ const getRouteConfigsFromChildren = < +@@ -107,16 +126,14 @@ const getRouteConfigsFromChildren = < ); } -+ const props: RouteConfig< -+ ParamListBase, -+ keyof ParamListBase, -+ State, -+ ScreenOptions, -+ EventMap -+ > = -+ transformScreenOptions === undefined -+ ? child.props -+ : { -+ ...child.props, -+ options: transformScreenOptions(child.props.options), -+ }; ++ if (transformScreenOptions !== undefined) { ++ child.props.options = transformScreenOptions(child.props.options); ++ } + acc.push({ keys: [groupKey, child.props.navigationKey], @@ -1124,11 +1120,20 @@ index 7d550e0..2efd31f 100644 - EventMap - >, + options: platformGroupOptions, -+ props, ++ props: child.props, }); return acc; } -@@ -133,14 +161,20 @@ const getRouteConfigsFromChildren = < +@@ -130,17 +147,29 @@ const getRouteConfigsFromChildren = < + ); + } + ++ if (transformScreenOptions !== undefined) { ++ child.props.screenOptions = transformScreenOptions( ++ child.props.screenOptions ++ ); ++ } ++ // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens acc.push( @@ -1151,7 +1156,7 @@ index 7d550e0..2efd31f 100644 ) ); return acc; -@@ -257,17 +291,22 @@ export default function useNavigationBuilder< +@@ -257,17 +286,22 @@ export default function useNavigationBuilder< RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record void>, ScreenOptions extends {}, @@ -1178,7 +1183,7 @@ index 7d550e0..2efd31f 100644 ) { const navigatorKey = useRegisterNavigator(); -@@ -291,8 +330,9 @@ export default function useNavigationBuilder< +@@ -291,8 +325,9 @@ export default function useNavigationBuilder< const routeConfigs = getRouteConfigsFromChildren< State, ScreenOptions, @@ -1190,63 +1195,16 @@ index 7d550e0..2efd31f 100644 const screens = routeConfigs.reduce< Record> -@@ -362,6 +402,11 @@ export default function useNavigationBuilder< - - const stateCleanedUp = React.useRef(false); - -+ const cleanUpState = React.useCallback(() => { -+ setCurrentState(undefined); -+ stateCleanedUp.current = true; -+ }, [setCurrentState]); -+ - const setState = React.useCallback( - (state: NavigationState | PartialState | undefined) => { - if (stateCleanedUp.current) { -@@ -535,9 +580,6 @@ export default function useNavigationBuilder< - state = nextState; - - React.useEffect(() => { -- // In strict mode, React will double-invoke effects. -- // So we need to reset the flag if component was not unmounted -- stateCleanedUp.current = false; - setKey(navigatorKey); - - if (!getIsInitial()) { -@@ -549,10 +591,14 @@ export default function useNavigationBuilder< - - return () => { - // We need to clean up state for this navigator on unmount -- if (getCurrentState() !== undefined && getKey() === navigatorKey) { -- setCurrentState(undefined); -- stateCleanedUp.current = true; -- } -+ // We do it in a timeout because we need to detect if another navigator mounted in the meantime -+ // For example, if another navigator has started rendering, we should skip cleanup -+ // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it -+ setTimeout(() => { -+ if (getCurrentState() !== undefined && getKey() === navigatorKey) { -+ cleanUpState(); -+ } -+ }, 0); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); -@@ -688,8 +734,16 @@ export default function useNavigationBuilder< +@@ -688,8 +723,10 @@ export default function useNavigationBuilder< state, screens, navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: -+ options.screenOptions === undefined -+ ? undefined -+ : convertCustomScreenOptions?.(options.screenOptions), -+ defaultScreenOptions: -+ options.defaultScreenOptions === undefined -+ ? undefined -+ : convertCustomScreenOptions?.( -+ options.defaultScreenOptions as ScreenOptionsOrCallback -+ ), ++ screenOptions: convertCustomScreenOptions?.(options.screenOptions), ++ defaultScreenOptions: convertCustomScreenOptions?.( ++ options.defaultScreenOptions as ScreenOptionsOrCallback ++ ), onAction, getState, setState, From ac34ed90435935b299c31837fecef3afb76bc9f3 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 10:03:50 +0200 Subject: [PATCH 115/178] fix: simplify platform stack logic --- .../index.native.tsx | 17 +++------ .../index.tsx | 17 +++------ .../animation/withAnimation.ts | 2 +- .../withNativeNavigationOptions.ts | 34 +++++++++-------- .../withWebNavigationOptions.ts | 37 ++++++++++--------- .../types/ScreenOptions.ts | 23 ------------ .../PlatformStackNavigation/types/index.ts | 14 ++++++- 7 files changed, 64 insertions(+), 80 deletions(-) delete mode 100644 src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index ef5eab09395df..911dc90bee7e8 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -10,7 +10,6 @@ import type {PlatformStackNavigationOptions, PlatformStackNavigationState, Platf import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; -import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; function createPlatformStackNavigatorComponent( displayName: string, @@ -27,28 +26,24 @@ function createPlatformStackNavigatorComponent(screenOptionsToTransform: PlatformStackScreenOptions) => - withNativeNavigationOptions(screenOptionsToTransform, defaultScreenOptions); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, RouterOptions, StackActionHelpers, - PlatformStackNavigationOptions, + NativeStackNavigationOptions, NativeStackNavigationEventMap, - NativeStackNavigationOptions + PlatformStackNavigationOptions >( createRouter, { id, children, - screenOptions: nativeScreenOptions, + screenOptions, + defaultScreenOptions, screenListeners, initialRouteName, - } as PlatformNavigationBuilderOptions, - transformScreenProps, + } as PlatformNavigationBuilderOptions, + withNativeNavigationOptions, ); const customCodeProps = useMemo>>( diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 7a5e3bfae3f47..7e41b525ad797 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -10,7 +10,6 @@ import type {PlatformStackNavigationOptions, PlatformStackNavigationState, Platf import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; -import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; function createPlatformStackNavigatorComponent( displayName: string, @@ -27,28 +26,24 @@ function createPlatformStackNavigatorComponent(screenOptionsToTransform: PlatformStackScreenOptions) => - withWebNavigationOptions(screenOptionsToTransform, defaultScreenOptions); - const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< PlatformStackNavigationState, RouterOptions, StackActionHelpers, - PlatformStackNavigationOptions, + StackNavigationOptions, StackNavigationEventMap, - StackNavigationOptions + PlatformStackNavigationOptions >( createRouter, { id, children, - screenOptions: nativeScreenOptions, + screenOptions, + defaultScreenOptions, screenListeners, initialRouteName, - } as PlatformNavigationBuilderOptions, - transformScreenProps, + } as PlatformNavigationBuilderOptions, + withWebNavigationOptions, ); const customCodeProps = useMemo>>( diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts index f55a94bbf3617..94db15f95da1f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts @@ -3,7 +3,7 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; function withAnimation( - screenOptions: PlatformStackNavigationOptions | undefined, + screenOptions: PlatformStackNavigationOptions, slideFromLeft: PlatformOptions, slideFromRight: PlatformOptions, slideFromBottom: PlatformOptions, diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts index 83326100b15b3..8c90293c03bac 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts @@ -1,8 +1,7 @@ -import type {ParamListBase} from '@react-navigation/native'; +import type {ParamListBase, ScreenOptionsOrCallback} from '@react-navigation/native'; import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; import noAnimation from './animation/native/none'; import slideFromBottomAnimation from './animation/native/slideFromBottom'; import slideFromLeftAnimation from './animation/native/slideFromLeft'; @@ -10,23 +9,26 @@ import slideFromRightAnimation from './animation/native/slideFromRight'; import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; -const transformPlatformOptionsToNative = (screenOptions: PlatformStackNavigationOptions | undefined): NativeStackNavigationOptions => ({ - keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, +const convertPlatformOptions = (screenOptions: PlatformStackNavigationOptions): NativeStackNavigationOptions => ({ + keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), - ...screenOptions?.native, + ...screenOptions.native, }); -function withNativeNavigationOptions( - screenOptions: PlatformStackScreenOptions, - defaultScreenOptions?: PlatformStackNavigationOptions, -) { - return isRouteBasedScreenOptions(screenOptions) - ? (p: PlatformStackScreenProps) => { - const routeBasedScreenOptions = screenOptions(p); - return transformPlatformOptionsToNative({...defaultScreenOptions, ...routeBasedScreenOptions}); - } - : transformPlatformOptionsToNative({...defaultScreenOptions, ...screenOptions}); +function withNativeNavigationOptions(screenOptions: ScreenOptionsOrCallback | undefined): ScreenOptionsOrCallback | undefined { + if (screenOptions === undefined) { + return undefined; + } + + if (isRouteBasedScreenOptions(screenOptions)) { + return (p: PlatformStackScreenProps) => { + const routeBasedScreenOptions = screenOptions(p); + return convertPlatformOptions(routeBasedScreenOptions); + }; + } + + return convertPlatformOptions(screenOptions); } export default withNativeNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts index d85deaeee191d..5e810f00cbbeb 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts @@ -1,8 +1,7 @@ -import type {ParamListBase} from '@react-navigation/native'; +import type {ParamListBase, RouteProp, ScreenOptionsOrCallback} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; -import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformStackScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types/ScreenOptions'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import noAnimation from './animation/web/none'; import slideFromBottomAnimation from './animation/web/slideFromBottom'; import slideFromLeftAnimation from './animation/web/slideFromLeft'; @@ -10,23 +9,27 @@ import slideFromRightAnimation from './animation/web/slideFromRight'; import withAnimation from './animation/withAnimation'; import getCommonNavigationOptions from './utils'; -const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions | undefined): StackNavigationOptions => ({ - keyboardHandlingEnabled: screenOptions?.keyboardHandlingEnabled, +const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions): StackNavigationOptions => ({ + keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), ...getCommonNavigationOptions(screenOptions), - ...screenOptions?.web, + ...screenOptions.web, }); -function withWebNavigationOptions( - screenOptions: PlatformStackScreenOptions, - defaultScreenOptions?: PlatformStackNavigationOptions, -) { - return isRouteBasedScreenOptions(screenOptions) - ? (p: PlatformStackScreenProps) => { - const routeBasedScreenOptions = screenOptions(p); - return transformPlatformOptionsToWeb({...defaultScreenOptions, ...routeBasedScreenOptions}); - } - : transformPlatformOptionsToWeb({...defaultScreenOptions, ...screenOptions}); +function withWebNavigationOptions(screenOptions: ScreenOptionsOrCallback | undefined): ScreenOptionsOrCallback | undefined { + if (screenOptions === undefined) { + return undefined; + } + + if (isRouteBasedScreenOptions(screenOptions)) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return (p: {route: RouteProp; navigation: any}) => { + const routeBasedScreenOptions = screenOptions(p); + return transformPlatformOptionsToWeb(routeBasedScreenOptions); + }; + } + + return transformPlatformOptionsToWeb(screenOptions); } export default withWebNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts b/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts deleted file mode 100644 index a3336b2c86728..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/types/ScreenOptions.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type {ParamListBase} from '@react-navigation/native'; -import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '.'; -import type PlatformStackNavigatorProps from './PlatformStackNavigator'; - -// The "screenOptions" and "defaultScreenOptions" can either be an object of configuration settings or -// a factory function that returns the configuration settings based on route and navigation props. -// These types are used to represent the screen options and their factory functions. - -type PlatformStackScreenOptions = PlatformStackNavigatorProps['screenOptions']; - -// type PlatformStackScreenOptionsWithoutNavigation = -// | PlatformStackNavigationOptions -// | ((props: PlatformScreenOptionsFactoryFunctionProps) => PlatformStackNavigationOptions) -// | undefined; - -function isRouteBasedScreenOptions( - screenOptions: PlatformStackScreenOptions, -): screenOptions is (props: PlatformStackScreenProps) => PlatformStackNavigationOptions { - return typeof screenOptions === 'function'; -} - -export {isRouteBasedScreenOptions}; -export type {PlatformStackScreenOptions}; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index b8ad61cdb1d93..f1b491fceea69 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -1,4 +1,4 @@ -import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, ScreenOptionsOrCallback, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type CommonProperties from '@src/types/utils/CommonProperties'; @@ -138,6 +138,18 @@ type PlatformStackScreenProps< navigation: NavigationPropType; }; +// The "screenOptions" and "defaultScreenOptions" can either be an object of navigation options or +// a factory function that returns the navigation options based on route and navigation props. +// These types are used to represent the screen options and their factory functions. + +function isRouteBasedScreenOptions( + screenOptions: ScreenOptionsOrCallback | undefined, +): screenOptions is (props: PlatformStackScreenProps) => PlatformStackNavigationOptions { + return typeof screenOptions === 'function'; +} + +export {isRouteBasedScreenOptions}; + export type { CommonStackNavigationOptions, CommonStackNavigationEventMap, From 94c6ec2f271078af52e561b6103396008c09cef2 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 10:28:30 +0200 Subject: [PATCH 116/178] simplify navigation option conversion --- .../index.native.tsx | 4 +-- .../index.tsx | 4 +-- .../{native/none.ts => none/index.native.ts} | 0 .../animation/{web/none.ts => none/index.ts} | 0 .../index.native.ts} | 0 .../index.ts} | 0 .../slideFromLeft/index.android.ts | 0 .../index.ts => slideFromLeft/index.ios.ts} | 0 .../index.ts} | 0 .../slideFromRight/index.android.ts | 0 .../index.ts => slideFromRight/index.ios.ts} | 0 .../index.ts} | 0 .../animation/withAnimation.ts | 29 ++++++--------- .../buildPlatformSpecificNavigationOptions.ts | 17 +++++++++ .../convertToNativeNavigationOptions.ts | 24 +++++++++++++ .../convertToWebNavigationOptions.ts | 23 ++++++++++++ .../platformOptions/utils.ts | 6 ---- .../withNativeNavigationOptions.ts | 34 ------------------ .../withWebNavigationOptions.ts | 35 ------------------- 19 files changed, 79 insertions(+), 97 deletions(-) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{native/none.ts => none/index.native.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{web/none.ts => none/index.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{native/slideFromBottom.ts => slideFromBottom/index.native.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{web/slideFromBottom.ts => slideFromBottom/index.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{native => }/slideFromLeft/index.android.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{native/slideFromLeft/index.ts => slideFromLeft/index.ios.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{web/slideFromLeft.ts => slideFromLeft/index.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{native => }/slideFromRight/index.android.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{native/slideFromRight/index.ts => slideFromRight/index.ios.ts} (100%) rename src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/{web/slideFromRight.ts => slideFromRight/index.ts} (100%) create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions.ts delete mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts delete mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts delete mode 100644 src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 911dc90bee7e8..107874ccd333e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -5,7 +5,7 @@ import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from ' import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import withNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions'; +import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions'; import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; @@ -43,7 +43,7 @@ function createPlatformStackNavigatorComponent, - withNativeNavigationOptions, + convertToNativeNavigationOptions, ); const customCodeProps = useMemo>>( diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 7e41b525ad797..90335b143ac81 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -5,7 +5,7 @@ import {StackView} from '@react-navigation/stack'; import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import withWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions'; +import convertToWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions'; import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; @@ -43,7 +43,7 @@ function createPlatformStackNavigatorComponent, - withWebNavigationOptions, + convertToWebNavigationOptions, ); const customCodeProps = useMemo>>( diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/none.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.native.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/none.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.native.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/none.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/none.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromBottom.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.native.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromBottom.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.native.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromBottom.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.android.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.android.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ios.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromLeft/index.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ios.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromLeft.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.android.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.android.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ios.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/native/slideFromRight/index.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ios.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/web/slideFromRight.ts rename to src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts index 94db15f95da1f..26cfabd0ed705 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts @@ -1,33 +1,26 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationOptions} from '@react-navigation/stack'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import none from './none'; +import slideFromBottom from './slideFromBottom'; +import slideFromLeft from './slideFromLeft'; +import slideFromRight from './slideFromRight'; -function withAnimation( +function withAnimation( screenOptions: PlatformStackNavigationOptions, - slideFromLeft: PlatformOptions, - slideFromRight: PlatformOptions, - slideFromBottom: PlatformOptions, - none: PlatformOptions, -) { - let animationOptions: PlatformOptions; +): PlatformSpecificNavigationOptions { switch (screenOptions?.animation) { case 'slide_from_left': - animationOptions = slideFromLeft; - break; + return slideFromLeft as PlatformSpecificNavigationOptions; case 'slide_from_right': - animationOptions = slideFromRight; - break; + return slideFromRight as PlatformSpecificNavigationOptions; case 'modal': - animationOptions = slideFromBottom; - break; + return slideFromBottom as PlatformSpecificNavigationOptions; case 'none': - animationOptions = none; - break; + return none as PlatformSpecificNavigationOptions; default: - animationOptions = slideFromRight; + return slideFromRight as PlatformSpecificNavigationOptions; } - - return animationOptions; } export default withAnimation; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts new file mode 100644 index 0000000000000..f70db4448746b --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts @@ -0,0 +1,17 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import withAnimation from './animation/withAnimation'; + +const getCommonNavigationOptions = (screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions => + screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, web, native, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); + +const buildPlatformSpecificNavigationOptions = ( + screenOptions: PlatformStackNavigationOptions, +): PlatformSpecificNavigationOptions => ({ + keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, + ...withAnimation(screenOptions), + ...getCommonNavigationOptions(screenOptions), +}); + +export default buildPlatformSpecificNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions.ts new file mode 100644 index 0000000000000..15d21981a1695 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions.ts @@ -0,0 +1,24 @@ +import type {ParamListBase, ScreenOptionsOrCallback} from '@react-navigation/native'; +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import buildPlatformSpecificNavigationOptions from './buildPlatformSpecificNavigationOptions'; + +function convertToNativeNavigationOptions( + screenOptions: ScreenOptionsOrCallback | undefined, +): ScreenOptionsOrCallback | undefined { + if (screenOptions === undefined) { + return undefined; + } + + if (isRouteBasedScreenOptions(screenOptions)) { + return (p: PlatformStackScreenProps) => { + const routeBasedScreenOptions = screenOptions(p); + return {...buildPlatformSpecificNavigationOptions(routeBasedScreenOptions), ...routeBasedScreenOptions.native}; + }; + } + + return {...buildPlatformSpecificNavigationOptions(screenOptions), ...screenOptions.native}; +} + +export default convertToNativeNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions.ts new file mode 100644 index 0000000000000..58a4484d35385 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions.ts @@ -0,0 +1,23 @@ +import type {ParamListBase, RouteProp, ScreenOptionsOrCallback} from '@react-navigation/native'; +import type {StackNavigationOptions} from '@react-navigation/stack'; +import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import buildPlatformSpecificNavigationOptions from './buildPlatformSpecificNavigationOptions'; + +function convertToWebNavigationOptions(screenOptions: ScreenOptionsOrCallback | undefined): ScreenOptionsOrCallback | undefined { + if (screenOptions === undefined) { + return undefined; + } + + if (isRouteBasedScreenOptions(screenOptions)) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return (p: {route: RouteProp; navigation: any}) => { + const routeBasedScreenOptions = screenOptions(p); + return {...buildPlatformSpecificNavigationOptions(routeBasedScreenOptions), ...routeBasedScreenOptions.web}; + }; + } + + return {...buildPlatformSpecificNavigationOptions(screenOptions), ...screenOptions.web}; +} + +export default convertToWebNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts deleted file mode 100644 index 0931ae9a36355..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/utils.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type {CommonStackNavigationOptions, PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -const getCommonNavigationOptions = (screenOptions: PlatformStackNavigationOptions | undefined): CommonStackNavigationOptions => - screenOptions === undefined ? {} : (({animation, keyboardHandlingEnabled, web, native, ...rest}: PlatformStackNavigationOptions) => rest)(screenOptions); - -export default getCommonNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts deleted file mode 100644 index 8c90293c03bac..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withNativeNavigationOptions.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type {ParamListBase, ScreenOptionsOrCallback} from '@react-navigation/native'; -import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import noAnimation from './animation/native/none'; -import slideFromBottomAnimation from './animation/native/slideFromBottom'; -import slideFromLeftAnimation from './animation/native/slideFromLeft'; -import slideFromRightAnimation from './animation/native/slideFromRight'; -import withAnimation from './animation/withAnimation'; -import getCommonNavigationOptions from './utils'; - -const convertPlatformOptions = (screenOptions: PlatformStackNavigationOptions): NativeStackNavigationOptions => ({ - keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), - ...getCommonNavigationOptions(screenOptions), - ...screenOptions.native, -}); - -function withNativeNavigationOptions(screenOptions: ScreenOptionsOrCallback | undefined): ScreenOptionsOrCallback | undefined { - if (screenOptions === undefined) { - return undefined; - } - - if (isRouteBasedScreenOptions(screenOptions)) { - return (p: PlatformStackScreenProps) => { - const routeBasedScreenOptions = screenOptions(p); - return convertPlatformOptions(routeBasedScreenOptions); - }; - } - - return convertPlatformOptions(screenOptions); -} - -export default withNativeNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts deleted file mode 100644 index 5e810f00cbbeb..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/withWebNavigationOptions.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type {ParamListBase, RouteProp, ScreenOptionsOrCallback} from '@react-navigation/native'; -import type {StackNavigationOptions} from '@react-navigation/stack'; -import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import noAnimation from './animation/web/none'; -import slideFromBottomAnimation from './animation/web/slideFromBottom'; -import slideFromLeftAnimation from './animation/web/slideFromLeft'; -import slideFromRightAnimation from './animation/web/slideFromRight'; -import withAnimation from './animation/withAnimation'; -import getCommonNavigationOptions from './utils'; - -const transformPlatformOptionsToWeb = (screenOptions: PlatformStackNavigationOptions): StackNavigationOptions => ({ - keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, - ...withAnimation(screenOptions, slideFromLeftAnimation, slideFromRightAnimation, slideFromBottomAnimation, noAnimation), - ...getCommonNavigationOptions(screenOptions), - ...screenOptions.web, -}); - -function withWebNavigationOptions(screenOptions: ScreenOptionsOrCallback | undefined): ScreenOptionsOrCallback | undefined { - if (screenOptions === undefined) { - return undefined; - } - - if (isRouteBasedScreenOptions(screenOptions)) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return (p: {route: RouteProp; navigation: any}) => { - const routeBasedScreenOptions = screenOptions(p); - return transformPlatformOptionsToWeb(routeBasedScreenOptions); - }; - } - - return transformPlatformOptionsToWeb(screenOptions); -} - -export default withWebNavigationOptions; From 24426790809920ec66f859ec5e9c69ba8c0ee173 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 10:43:59 +0200 Subject: [PATCH 117/178] restructure types --- .../BottomTabNavigationContentWrapper.tsx | 2 +- .../transformState/index.ts | 2 +- .../SearchRoute.tsx | 2 +- .../getStateWithSearch.tsx | 2 +- .../createResponsiveStackNavigator/index.tsx | 2 +- .../index.native.tsx | 6 +- .../index.tsx | 6 +- .../types/NavigationOptions.ts | 45 +++++++++ .../PlatformStackNavigation/types/index.ts | 99 ++----------------- 9 files changed, 62 insertions(+), 104 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx index 5255ebd2a44ce..be4e47b8e3323 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx @@ -4,7 +4,7 @@ import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationContentWrapperProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {NavigationContentWrapperProps} from '@libs/Navigation/PlatformStackNavigation/types'; function BottomTabNavigationContentWrapper({ children, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts index d1517a6793de0..28bc97dac778e 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts @@ -1,6 +1,6 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationStateRoute} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx index eee7319ec613b..3a8b93eaccfc0 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx @@ -2,7 +2,7 @@ import type {EventMapBase} from '@react-navigation/native'; import {View} from 'react-native'; import useThemeStyles from '@hooks/useThemeStyles'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types'; function SearchRoute({searchRoute, descriptors}: CustomCodePropsWithTransformedState) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx index 2e4f8ac9f9bee..1dade718e2f0d 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx @@ -1,7 +1,7 @@ import type {EventMapBase, ParamListBase, RouteProp} from '@react-navigation/native'; import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList, State} from '@libs/Navigation/types'; import {isCentralPaneName} from '@libs/NavigationUtils'; import SCREENS from '@src/SCREENS'; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 4bd23922898a9..1061e423d8903 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -9,7 +9,7 @@ import type { PlatformStackNavigationOptions, PlatformStackNavigationState, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {OnIsSmallScreenWidthChange} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; +import type {OnIsSmallScreenWidthChange} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; import getStateWithSearch from './getStateWithSearch'; import RenderSearchRoute from './SearchRoute'; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 107874ccd333e..44dc7e9f099b8 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -7,9 +7,9 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions'; import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; -import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; -import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; +import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 90335b143ac81..0a6dec8455693 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -7,9 +7,9 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import convertToWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions'; import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types/NavigationBuilder'; -import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types/NavigatorComponent'; -import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator'; +import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts new file mode 100644 index 0000000000000..30aedf48dfbc6 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts @@ -0,0 +1,45 @@ +import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import type {StackNavigationOptions} from '@react-navigation/stack'; +import type CommonProperties from '@src/types/utils/CommonProperties'; + +// Navigation properties that are only available in web or native stack navigations. +type WebOnlyNavigationOptions = StackNavigationOptions; +type NativeOnlyNavigationOptions = NativeStackNavigationOptions; + +// Common navigation options merged from both stack and native-stack navigations. +type CommonStackNavigationOptions = CommonProperties; + +// type CardOptions = { +// cardShadowEnabled?: StackNavigationOptions['cardShadowEnabled']; +// cardOverlayEnabled?: StackNavigationOptions['cardOverlayEnabled']; +// cardOverlay?: StackNavigationOptions['cardOverlay']; +// cardStyle?: StackNavigationOptions['cardStyle']; +// cardStyleInterpolator: StackNavigationOptions['cardStyleInterpolator']; +// }; + +type GeneralPlatformStackNavigationOptions = { + web?: WebOnlyNavigationOptions; + native?: NativeOnlyNavigationOptions; + + keyboardHandlingEnabled?: boolean; + animation?: 'slide_from_left' | 'slide_from_right' | 'modal' | 'none'; + header?: unknown; + statusBar?: unknown; + presentation?: 'card' | 'modal' | 'transparentModal'; + gesture?: unknown; +}; + +// Combines common and general platform-specific options for PlatformStackNavigation. +type PlatformStackNavigationOptions = CommonStackNavigationOptions & GeneralPlatformStackNavigationOptions; + +// Used to represent platform-specific navigation options. +type PlatformSpecificNavigationOptions = StackNavigationOptions | NativeStackNavigationOptions; + +export type { + WebOnlyNavigationOptions, + NativeOnlyNavigationOptions, + CommonStackNavigationOptions, + GeneralPlatformStackNavigationOptions, + PlatformStackNavigationOptions, + PlatformSpecificNavigationOptions, +}; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index f1b491fceea69..61286d5a3a989 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -2,98 +2,11 @@ import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, ScreenOpti import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; import type CommonProperties from '@src/types/utils/CommonProperties'; - -// import type Subtract from '@src/types/utils/Substract'; +import type {PlatformStackNavigationOptions} from './NavigationOptions'; // Represents the navigation state type for a platform-specific stack. type PlatformStackNavigationState = StackNavigationState; -// Common navigation options merged from both stack and native-stack navigations. -type CommonStackNavigationOptions = CommonProperties; - -// Navigation properties that are only available in web or native stack navigations. -// type WebOnlyNavigationOptions = Partial>; -// type NativeOnlyNavigationOptions = Partial>; -type WebOnlyNavigationOptions = StackNavigationOptions; -type NativeOnlyNavigationOptions = NativeStackNavigationOptions; - -// type CardOptions = { -// cardShadowEnabled?: StackNavigationOptions['cardShadowEnabled']; -// cardOverlayEnabled?: StackNavigationOptions['cardOverlayEnabled']; -// cardOverlay?: StackNavigationOptions['cardOverlay']; -// cardStyle?: StackNavigationOptions['cardStyle']; -// cardStyleInterpolator: StackNavigationOptions['cardStyleInterpolator']; -// }; - -// Expanded navigation options including possible custom properties for platform-specific implementations. -type GeneralPlatformStackNavigationOptions = { - // // Unique to StackNavigationOptions - // detachPreviousScreen?: boolean; - // freezeOnBlur?: boolean; - web?: WebOnlyNavigationOptions; - - // // Unique to NativeStackNavigationOptions - // autoHideHomeIndicator?: boolean; - // contentStyle?: StyleProp; - // customAnimationOnGesture?: boolean; - // fullScreenGestureEnabled?: boolean; - // navigationBarColor?: string; - // navigationBarHidden?: boolean; - // orientation?: ScreenProps['screenOrientation']; - native?: NativeOnlyNavigationOptions; - - keyboardHandlingEnabled?: boolean; - - // Stack - // animationEnabled?: boolean; - // animationTypeForReplace?: 'push' | 'pop'; - // Native stack - // animation?: ScreenProps['stackAnimation']; // The animation used for transitions - // animationDuration?: number; - animation?: 'slide_from_left' | 'slide_from_right' | 'modal' | 'none'; - - // Native stack - // headerBackImageSource?: ImageSourcePropType; - // headerBackTitleStyle?: StyleProp<{ fontFamily?: string; fontSize?: number; }>; - // headerBackVisible?: boolean; - // headerBlurEffect?: ScreenStackHeaderConfigProps['blurEffect']; - // headerLargeStyle?: StyleProp<{ backgroundColor?: string; }>; - // headerLargeTitle?: boolean; - // headerLargeTitleShadowVisible?: boolean; - // headerLargeTitleStyle?: StyleProp<{ fontFamily?: string; fontSize?: number; fontWeight?: string; color?: string; }>; - // headerShadowVisible?: boolean; - // headerTitleAlign?: 'left' | 'center'; - // headerBackButtonMenuEnabled?: boolean; - header?: unknown; - - // Native stack - // statusBarAnimation?: ScreenProps['statusBarAnimation']; - // statusBarColor?: string; - // statusBarHidden?: boolean; - // statusBarStyle?: ScreenProps['statusBarStyle']; - // statusBarTranslucent?: boolean; - statusBar?: unknown; - - // Stack - // presentation?: 'card' | 'modal' | 'transparentModal'; - // Native stack - // presentation?: Exclude | 'card'; - presentation?: 'card' | 'modal' | 'transparentModal'; - - // Native stack - // gestureEnabled?: boolean; - // gestureResponseDistance?: number; - // gestureVelocityImpact?: number; - // gestureDirection?: ScreenProps['swipeDirection']; - gesture?: unknown; -}; - -// Combines common and general platform-specific options for PlatformStackNavigation. -type PlatformStackNavigationOptions = CommonStackNavigationOptions & GeneralPlatformStackNavigationOptions; - -// Used to represent platform-specific navigation options. -type PlatformSpecificNavigationOptions = StackNavigationOptions | NativeStackNavigationOptions; - // Common event map merged from both stack and native-stack navigations. type CommonStackNavigationEventMap = CommonProperties; @@ -141,7 +54,6 @@ type PlatformStackScreenProps< // The "screenOptions" and "defaultScreenOptions" can either be an object of navigation options or // a factory function that returns the navigation options based on route and navigation props. // These types are used to represent the screen options and their factory functions. - function isRouteBasedScreenOptions( screenOptions: ScreenOptionsOrCallback | undefined, ): screenOptions is (props: PlatformStackScreenProps) => PlatformStackNavigationOptions { @@ -151,11 +63,7 @@ function isRouteBasedScreenOptions Date: Thu, 29 Aug 2024 12:07:35 +0200 Subject: [PATCH 118/178] improve patch --- ...+002+platform-navigation-stack-types.patch | 263 +++++++++++------- 1 file changed, 166 insertions(+), 97 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 28e99d38f3298..c09fe5c336a48 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -51,13 +51,13 @@ index f531070..f6131d3 100644 +{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C;AAAA;AAAA"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/types.js.map b/node_modules/@react-navigation/core/lib/commonjs/types.js.map -index a3da390..f993a9f 100644 +index a3da390..bca9dc0 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/types.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/types.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAoJO,MAAMA,iBAAiB,CAA4B;AAYzD"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AA8KO,MAAMA,iBAAiB,CAA4B;AAYzD"} ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAmLO,MAAMA,iBAAiB,CAA4B;AAYzD"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map index d2248a2..9419f8d 100644 @@ -69,33 +69,33 @@ index d2248a2..9419f8d 100644 +{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..8007628 100644 +index 14338b9..9c78bbf 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -@@ -43,7 +43,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != +@@ -43,7 +43,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != * * @param children React Elements to extract the config from. */ -const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { -+const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { -+ let platformGroupOptions = groupOptions; -+ if (transformScreenOptions !== undefined && groupOptions !== undefined) { -+ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); -+ } ++const getRouteConfigsFromChildren = (children, groupKey, groupOptions, convertCustomScreenOptions) => { const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -54,9 +58,12 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -54,9 +54,16 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } -+ if (transformScreenOptions !== undefined) { -+ child.props.options = transformScreenOptions(child.props.options); ++ let convertedGroupOptions = groupOptions; ++ if (convertCustomScreenOptions !== undefined && groupOptions !== undefined) { ++ convertedGroupOptions = groupOptions.map(convertCustomScreenOptions); ++ } ++ if (convertCustomScreenOptions !== undefined) { ++ child.props.options = convertCustomScreenOptions(child.props.options); + } acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, -+ options: platformGroupOptions, ++ options: convertedGroupOptions, props: child.props }); return acc; @@ -103,19 +103,23 @@ index 14338b9..8007628 100644 if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); } -+ if (transformScreenOptions !== undefined) { -+ child.props.screenOptions = transformScreenOptions(child.props.screenOptions); ++ if (convertCustomScreenOptions !== undefined) { ++ child.props.screenOptions = convertCustomScreenOptions(child.props.screenOptions); + } // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens - acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], convertCustomScreenOptions)); return acc; } } -@@ -129,7 +139,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -127,9 +137,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + * + * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -function useNavigationBuilder(createRouter, options) { @@ -123,7 +127,7 @@ index 14338b9..8007628 100644 const navigatorKey = (0, _useRegisterNavigator.default)(); const route = React.useContext(_NavigationRouteContext.default); const { -@@ -145,7 +155,7 @@ function useNavigationBuilder(createRouter, options) { +@@ -145,7 +157,7 @@ function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); @@ -132,7 +136,7 @@ index 14338b9..8007628 100644 const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -182,10 +192,6 @@ function useNavigationBuilder(createRouter, options) { +@@ -182,10 +194,6 @@ function useNavigationBuilder(createRouter, options) { getIsInitial } = React.useContext(_NavigationStateContext.default); const stateCleanedUp = React.useRef(false); @@ -143,7 +147,7 @@ index 14338b9..8007628 100644 const setState = React.useCallback(state => { if (stateCleanedUp.current) { // State might have been already cleaned up due to unmount -@@ -299,6 +305,9 @@ function useNavigationBuilder(createRouter, options) { +@@ -299,6 +307,9 @@ function useNavigationBuilder(createRouter, options) { // So we override the state object we return to use the latest state as soon as possible state = nextState; React.useEffect(() => { @@ -153,7 +157,7 @@ index 14338b9..8007628 100644 setKey(navigatorKey); if (!getIsInitial()) { // If it's not initial render, we need to update the state -@@ -308,14 +317,10 @@ function useNavigationBuilder(createRouter, options) { +@@ -308,14 +319,10 @@ function useNavigationBuilder(createRouter, options) { } return () => { // We need to clean up state for this navigator on unmount @@ -172,25 +176,31 @@ index 14338b9..8007628 100644 }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); -@@ -427,8 +432,8 @@ function useNavigationBuilder(createRouter, options) { +@@ -423,12 +430,14 @@ function useNavigationBuilder(createRouter, options) { + getState, + getStateListeners: keyedListeners.getState + }); ++ const screenOptions = convertCustomScreenOptions === undefined ? options.screenOptions : convertCustomScreenOptions(options.screenOptions); ++ const defaultScreenOptions = convertCustomScreenOptions === undefined ? options.defaultScreenOptions : convertCustomScreenOptions(options.defaultScreenOptions); + const descriptors = (0, _useDescriptors.default)({ state, screens, navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), -+ defaultScreenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), ++ screenOptions, ++ defaultScreenOptions, onAction, getState, setState, diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..6085d7b 100644 +index 55b77ca..f7f3bcf 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","defaultScreenOptions","useDescriptors","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js index 1d42c3a..06f6bde 100644 @@ -215,13 +225,13 @@ index ed01400..32855ca 100644 +{"version":3,"names":["default","BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","useFocusEffect","useIsFocused","useNavigation","NavigationBuilderOptions","useNavigationBuilder","useNavigationContainerRef","useNavigationState","UNSTABLE_usePreventRemove","usePreventRemoveContext","useRoute","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,OAAO,IAAIC,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASD,OAAO,IAAIE,4BAA4B,QAAQ,gCAAgC;AACxF,SAASF,OAAO,IAAIG,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASH,OAAO,IAAII,oBAAoB,QAAQ,wBAAwB;AACxE,SAASJ,OAAO,IAAIK,gBAAgB,QAAQ,oBAAoB;AAChE,SAASL,OAAO,IAAIM,kBAAkB,QAAQ,sBAAsB;AACpE,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,gBAAgB,QAAQ,oBAAoB;AAChE,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,oBAAoB;AAChE,SAAST,OAAO,IAAIU,6BAA6B,QAAQ,iCAAiC;AAC1F,SAASV,OAAO,IAAIW,iBAAiB,QAAQ,qBAAqB;AAClE,SAASX,OAAO,IAAIY,wBAAwB,QAAQ,4BAA4B;AAChF,SAASZ,OAAO,IAAIa,sBAAsB,QAAQ,0BAA0B;AAC5E,SAASb,OAAO,IAAIc,oBAAoB,QAAQ,wBAAwB;AACxE,SAASd,OAAO,IAAIe,qBAAqB,QAAQ,yBAAyB;AAC1E,cAAc,SAAS;AACvB,SAASf,OAAO,IAAIgB,cAAc,QAAQ,kBAAkB;AAC5D,SAAShB,OAAO,IAAIiB,YAAY,QAAQ,gBAAgB;AACxD,SAASjB,OAAO,IAAIkB,aAAa,QAAQ,iBAAiB;AAC1D,SACEC,wBAAwB,EACxBnB,OAAO,IAAIoB,oBAAoB,QAC1B,wBAAwB;AAC/B,SAASpB,OAAO,IAAIqB,yBAAyB,QAAQ,6BAA6B;AAClF,SAASrB,OAAO,IAAIsB,kBAAkB,QAAQ,sBAAsB;AACpE,SAAStB,OAAO,IAAIuB,yBAAyB,QAAQ,oBAAoB;AACzE,SAASvB,OAAO,IAAIwB,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASxB,OAAO,IAAIyB,QAAQ,QAAQ,YAAY;AAChD,SAASzB,OAAO,IAAI0B,kBAAkB,QAAQ,sBAAsB;AACpE,cAAc,2BAA2B"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/types.js.map b/node_modules/@react-navigation/core/lib/module/types.js.map -index 21fd3e8..a783f20 100644 +index 21fd3e8..29de331 100644 --- a/node_modules/@react-navigation/core/lib/module/types.js.map +++ b/node_modules/@react-navigation/core/lib/module/types.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAoJA,OAAO,MAAMA,iBAAiB,CAA4B"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AA8KA,OAAO,MAAMA,iBAAiB,CAA4B"} ++{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAmLA,OAAO,MAAMA,iBAAiB,CAA4B"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map index 77a198a..b329172 100644 @@ -233,33 +243,33 @@ index 77a198a..b329172 100644 +{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..51edcb1 100644 +index 6fb49e0..fc3393c 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -35,7 +35,11 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != +@@ -35,7 +35,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != * * @param children React Elements to extract the config from. */ -const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { -+const getRouteConfigsFromChildren = (children, groupKey, groupOptions, transformScreenOptions) => { -+ let platformGroupOptions = groupOptions; -+ if (transformScreenOptions !== undefined && groupOptions !== undefined) { -+ platformGroupOptions = groupOptions.map(groupOption => groupOption === undefined ? undefined : transformScreenOptions(groupOption)); -+ } ++const getRouteConfigsFromChildren = (children, groupKey, groupOptions, convertCustomScreenOptions) => { const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -46,9 +50,12 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -46,9 +46,16 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } -+ if (transformScreenOptions !== undefined) { -+ child.props.options = transformScreenOptions(child.props.options); ++ let convertedGroupOptions = groupOptions; ++ if (convertCustomScreenOptions !== undefined && groupOptions !== undefined) { ++ convertedGroupOptions = groupOptions.map(convertCustomScreenOptions); ++ } ++ if (convertCustomScreenOptions !== undefined) { ++ child.props.options = convertCustomScreenOptions(child.props.options); + } acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, -+ options: platformGroupOptions, ++ options: convertedGroupOptions, props: child.props }); return acc; @@ -267,19 +277,23 @@ index 6fb49e0..51edcb1 100644 if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); } -+ if (transformScreenOptions !== undefined) { -+ child.props.screenOptions = transformScreenOptions(child.props.screenOptions); ++ if (convertCustomScreenOptions !== undefined) { ++ child.props.screenOptions = convertCustomScreenOptions(child.props.screenOptions); + } // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens - acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], transformScreenOptions)); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], convertCustomScreenOptions)); return acc; } } -@@ -121,7 +131,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -119,9 +129,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + * + * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export default function useNavigationBuilder(createRouter, options) { @@ -287,7 +301,7 @@ index 6fb49e0..51edcb1 100644 const navigatorKey = useRegisterNavigator(); const route = React.useContext(NavigationRouteContext); const { -@@ -137,7 +147,7 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -137,7 +149,7 @@ export default function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); @@ -296,25 +310,31 @@ index 6fb49e0..51edcb1 100644 const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -414,8 +424,8 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -410,12 +422,14 @@ export default function useNavigationBuilder(createRouter, options) { + getState, + getStateListeners: keyedListeners.getState + }); ++ const screenOptions = convertCustomScreenOptions === undefined ? options.screenOptions : convertCustomScreenOptions(options.screenOptions); ++ const defaultScreenOptions = convertCustomScreenOptions === undefined ? options.defaultScreenOptions : convertCustomScreenOptions(options.defaultScreenOptions); + const descriptors = useDescriptors({ state, screens, navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.screenOptions), -+ defaultScreenOptions: convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(options.defaultScreenOptions), ++ screenOptions, ++ defaultScreenOptions, onAction, getState, setState, diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..4829fd4 100644 +index 5d5cdbd..6643d40 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","transformScreenOptions","platformGroupOptions","map","groupOption","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"AAAA,SACEA,aAAa,QAUR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,UAAU;AAE7C,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAMEC,iBAAiB,QAEZ,SAAS;AAChB,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,cAAc,MAAkC,kBAAkB;AACzE,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,kCAAkC,MAAM,sCAAsC;AACrF,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,iBAAiB,MAAM,qBAAqB;;AAEnD;AACA;AACAd,iBAAiB;AAsBjB,MAAMe,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAG,CAMlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,EACZC,sBAGC,KACE;EACH,IAAIC,oBAAoB,GAAGF,YAEd;EACb,IAAIC,sBAAsB,KAAKL,SAAS,IAAII,YAAY,KAAKJ,SAAS,EAAE;IACtEM,oBAAoB,GAAGF,YAAY,CAACG,GAAG,CAAEC,WAAW,IAClDA,WAAW,KAAKR,SAAS,GACrBA,SAAS,GACTK,sBAAsB,CACpBG,WAAW,CACZ,CACN;EACH;EAEA,MAAMC,OAAO,GAAGpC,KAAK,CAACqC,QAAQ,CAACC,OAAO,CAACT,QAAQ,CAAC,CAACU,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIzC,KAAK,CAAC0C,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAKlC,MAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACgB,UAAU,CAACgB,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDP,KAAK,CAACG,KAAK,CAACC,aAAa,CACzB,qBACAJ,KAAK,CAACG,KAAK,CAACK,IACb,kDAAiD,CACnD;QACH;QAEA,IAAIjB,sBAAsB,KAAKL,SAAS,EAAE;UACxCc,KAAK,CAACG,KAAK,CAACM,OAAO,GAAGlB,sBAAsB,CAACS,KAAK,CAACG,KAAK,CAACM,OAAO,CAAC;QACnE;QAEAV,GAAG,CAACW,IAAI,CAAC;UACPC,IAAI,EAAE,CAACtB,QAAQ,EAAEW,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CK,OAAO,EAAEjB,oBAAoB;UAC7BW,KAAK,EAAEH,KAAK,CAACG;QACf,CAAC,CAAC;QACF,OAAOJ,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAK3C,KAAK,CAACqD,QAAQ,IAAIZ,KAAK,CAACE,IAAI,KAAKzC,KAAK,EAAE;QACzD,IAAI,CAACuB,UAAU,CAACgB,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDP,KAAK,CAACG,KAAK,CAACC,aAAa,CACzB,gEAA+D,CAClE;QACH;QAEA,IAAIb,sBAAsB,KAAKL,SAAS,EAAE;UACxCc,KAAK,CAACG,KAAK,CAACU,aAAa,GAAGtB,sBAAsB,CAChDS,KAAK,CAACG,KAAK,CAACU,aAAa,CAC1B;QACH;;QAEA;QACA;QACAd,GAAG,CAACW,IAAI,CACN,GAAGvB,2BAA2B,CAM5Ba,KAAK,CAACG,KAAK,CAACf,QAAQ,EACpBY,KAAK,CAACG,KAAK,CAACC,aAAa,EACzBJ,KAAK,CAACE,IAAI,KAAKzC,KAAK,GAChB6B,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEU,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,GAC5C,CAACb,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,EAC/BtB,sBAAsB,CACvB,CACF;QACD,OAAOQ,GAAG;MACZ;IACF;IAEA,MAAM,IAAIM,KAAK,CACZ,oGACC,aAAA9C,KAAK,CAAC0C,cAAc,CAACD,KAAK,CAAC,GACtB,IACC,OAAOA,KAAK,CAACE,IAAI,KAAK,QAAQ,GAAGF,KAAK,CAACE,IAAI,kBAAGF,KAAK,CAACE,IAAI,gDAAV,YAAYM,IAC3D,IACCR,KAAK,CAACG,KAAK,IAAI,IAAI,IACnB,OAAOH,KAAK,CAACG,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIH,KAAK,CAACG,KAAK,oBACrBH,KAAK,CAACG,KAAK,yCAAX,aAAaK,IAAI,GACZ,oBAAmBR,KAAK,CAACG,KAAK,CAACK,IAAK,GAAE,GACvC,EACL,EAAC,GACF,OAAOR,KAAK,KAAK,QAAQ,GACzBM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,GACpB,IAAGc,MAAM,CAACd,KAAK,CAAE,GACvB,4FAA2F,CAC7F;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIe,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCtB,OAAO,CAACuB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEX,IAAI;QAAEpB,QAAQ;QAAEgC,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAAChB,KAAK;MAEhE,IAAI,OAAOK,IAAI,KAAK,QAAQ,IAAI,CAACA,IAAI,EAAE;QACrC,MAAM,IAAIH,KAAK,CACZ,wBAAuBC,IAAI,CAACC,SAAS,CACpCC,IAAI,CACJ,kDAAiD,CACpD;MACH;MAEA,IACEpB,QAAQ,IAAI,IAAI,IAChBgC,SAAS,KAAKlC,SAAS,IACvBmC,YAAY,KAAKnC,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAIgC,SAAS,KAAKlC,SAAS,EAAE;UAC/C,MAAM,IAAImB,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIpB,QAAQ,IAAI,IAAI,IAAIiC,YAAY,KAAKnC,SAAS,EAAE;UAClD,MAAM,IAAImB,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIY,SAAS,KAAKlC,SAAS,IAAImC,YAAY,KAAKnC,SAAS,EAAE;UACzD,MAAM,IAAImB,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIpB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIiB,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIY,SAAS,KAAKlC,SAAS,IAAI,CAAC1B,kBAAkB,CAAC4D,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIf,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIa,YAAY,KAAKnC,SAAS,IAAI,OAAOmC,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIhB,KAAK,CACZ,gEAA+DG,IAAK,uDAAsD,CAC5H;QACH;QAEA,IAAI,OAAOY,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAACZ,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAc,OAAO,CAACC,IAAI,CACT,qFAAoFf,IAAK,uRAAsR,CACjX;UACH,CAAC,MAAM,IAAI,QAAQ,CAACgB,IAAI,CAACJ,SAAS,CAACZ,IAAI,CAAC,EAAE;YACxCc,OAAO,CAACC,IAAI,CACT,kCAAiCH,SAAS,CAACZ,IAAK,qBAAoBA,IAAK,yMAAwM,CACnR;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAIH,KAAK,CACZ,kFAAiFG,IAAK,qLAAoL,CAC5Q;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOb,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS8B,oBAAoB,CAQ1CC,YAAsD,EACtDjB,OAOe,EACfkB,0BAGC,EACD;EACA,MAAMC,YAAY,GAAG9C,oBAAoB,EAAE;EAE3C,MAAM+C,KAAK,GAAGtE,KAAK,CAACuE,UAAU,CAACjE,sBAAsB,CAExC;EAEb,MAAM;IAAEuB,QAAQ;IAAE2C,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGvB,OAAO;EACtD,MAAM;IAAEwB,OAAO,EAAEC;EAAO,CAAC,GAAG3E,KAAK,CAAC4E,MAAM,CACtCT,YAAY,CAAC;IACX,GAAIM,IAAiC;IACrC,IAAIH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,MAAM,IACjBP,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,CAACE,OAAO,KAAK,KAAK,IAC9B,OAAOT,KAAK,CAACO,MAAM,CAACG,MAAM,KAAK,QAAQ,GACnC;MAAEC,gBAAgB,EAAEX,KAAK,CAACO,MAAM,CAACG;IAAO,CAAC,GACzC,IAAI;EACV,CAAC,CAAC,CACH;EAED,MAAME,YAAY,GAAGtD,2BAA2B,CAK9CC,QAAQ,EAAEF,SAAS,EAAEA,SAAS,EAAEyC,0BAA0B,CAAC;EAE7D,MAAMe,OAAO,GAAGD,YAAY,CAAC3C,MAAM,CAEjC,CAACC,GAAG,EAAEoB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAAChB,KAAK,CAACK,IAAI,IAAIT,GAAG,EAAE;MAC5B,MAAM,IAAIM,KAAK,CACZ,6GAA4Gc,MAAM,CAAChB,KAAK,CAACK,IAAK,IAAG,CACnI;IACH;IAEAT,GAAG,CAACoB,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC,GAAGW,MAAM;IAC/B,OAAOpB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAM4C,UAAU,GAAGF,YAAY,CAAChD,GAAG,CAAE0B,MAAM,IAAKA,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMoC,YAAY,GAAGD,UAAU,CAAC7C,MAAM,CACpC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb9C,GAAG,CAAC8C,IAAI,CAAC,GAAGH,OAAO,CAACG,IAAI,CAAC,CAAClC,IAAI,CAAClB,GAAG,CAAER,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAAC6D,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMgD,cAAc,GAAGJ,UAAU,CAAC7C,MAAM,CACtC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC1C,KAAK;IAC7CJ,GAAG,CAAC8C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOjD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMkD,cAAc,GAAGN,UAAU,CAAC7C,MAAM,CAGtC,CAACC,GAAG,EAAE8C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACpD,GAAG,EAAE;IACjB,CAAC8C,IAAI,GAAGH,OAAO,CAACG,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACT,UAAU,CAACU,MAAM,EAAE;IACtB,MAAM,IAAIhD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMiD,YAAY,GAAG/F,KAAK,CAACgG,WAAW,CACnClB,KAAsD,IACrDA,KAAK,CAACnC,IAAI,KAAKhB,SAAS,IAAImD,KAAK,CAACnC,IAAI,KAAKgC,MAAM,CAAChC,IAAI,EACxD,CAACgC,MAAM,CAAChC,IAAI,CAAC,CACd;EAED,MAAMsD,kBAAkB,GAAGjG,KAAK,CAACgG,WAAW,CACzClB,KAAkE,IACjEA,KAAK,KAAKnD,SAAS,IAAImD,KAAK,CAACoB,KAAK,KAAK,KAAK,IAAIH,YAAY,CAACjB,KAAK,CAAC,EACrE,CAACiB,YAAY,CAAC,CACf;EAED,MAAM;IACJjB,KAAK,EAAEqB,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAG1G,KAAK,CAACuE,UAAU,CAAChE,sBAAsB,CAAC;EAE5C,MAAMoG,cAAc,GAAG3G,KAAK,CAAC4E,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAM0B,QAAQ,GAAGtG,KAAK,CAACgG,WAAW,CAC/BlB,KAAkE,IAAK;IACtE,IAAI6B,cAAc,CAACjC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA6B,eAAe,CAACzB,KAAK,CAAC;EACxB,CAAC,EACD,CAACyB,eAAe,CAAC,CAClB;EAED,MAAM,CAACK,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG7G,KAAK,CAAC8G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG3B,UAAU,CAAC7C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMoE,uBAAuB,GAC3B,CAAA1C,KAAK,aAALA,KAAK,wCAALA,KAAK,CAAEO,MAAM,kDAAb,cAAeC,KAAK,KAAI,IAAI,IAC5B,CAAAR,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeE,OAAO,MAAK,KAAK,IAChC,CAAAT,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeG,MAAM,MAAKM,IAAI,GAC1BhB,KAAK,CAACO,MAAM,CAACA,MAAM,GACnBlD,SAAS;MAEfa,GAAG,CAAC8C,IAAI,CAAC,GACPG,aAAa,KAAK9D,SAAS,IAAIqF,uBAAuB,KAAKrF,SAAS,GAChE;QACE,GAAG8D,aAAa;QAChB,GAAGuB;MACL,CAAC,GACDrF,SAAS;MAEf,OAAOa,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC2D,YAAY,KAAKxE,SAAS,IAAI,CAACoE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA7B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACsC,eAAe,CAAC;QACrB7B,UAAU;QACVI,cAAc,EAAEuB,qBAAqB;QACrCrB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLf,MAAM,CAACuC,kBAAkB,CACvB,CAAA5C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKqB,YAAoC,EAC7D;QACEf,UAAU;QACVI,cAAc,EAAEuB,qBAAqB;QACrCrB;MACF,CAAC,CACF,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACS,YAAY,EAAExB,MAAM,EAAEoB,YAAY,CAAC,CAAC;EAExC,MAAMoB,uBAAuB,GAAGnH,KAAK,CAAC4E,MAAM,CAACS,YAAY,CAAC;EAE1DrF,KAAK,CAACoH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAACzC,OAAO,GAAGW,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMgC,oBAAoB,GAAGF,uBAAuB,CAACzC,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAmB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZS,gBAA0B;EAEjC,IAAIU,SAAgB,GAAGxC,KAAK;EAE5B,IACE,CAAC3E,YAAY,CAAC2E,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAChF,aAAa,CAACiF,YAAY,EAAEgC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG3C,MAAM,CAAC4C,2BAA2B,CAACzC,KAAK,EAAE;MACpDM,UAAU;MACVI,cAAc;MACdE,cAAc;MACd8B,eAAe,EAAE7B,MAAM,CAACvC,IAAI,CAACiC,YAAY,CAAC,CAACoC,MAAM,CAC9CxE,IAAI,IACHoE,oBAAoB,CAACK,cAAc,CAACzE,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKoE,oBAAoB,CAACpE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM0E,uBAAuB,GAAG3H,KAAK,CAAC4E,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3D7E,KAAK,CAACoH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAACjD,OAAO,GAAGJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM;EACjD,CAAC,EAAE,CAACP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC,CAAC;EAEnB,IAAIP,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,MAAM,EAAE;IACjB,MAAM+C,cAAc,GAAGD,uBAAuB,CAACjD,OAAO;IAEtD,IAAImD,MAAwC;IAE5C,IACE,OAAOvD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAK+C,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG9H,aAAa,CAAC+H,KAAK,CAACxD,KAAK,CAACO,MAAM,CAACC,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAOR,KAAK,CAACO,MAAM,CAACG,MAAM,KAAK,QAAQ,KACrCV,KAAK,CAACO,MAAM,CAACE,OAAO,KAAK,KAAK,IAAI8B,0BAA0B,IAC5DvC,KAAK,CAACO,MAAM,KAAK+C,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG9H,aAAa,CAACgI,QAAQ,CAAC;QAC9B9E,IAAI,EAAEqB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BmD,IAAI,EAAE1D,KAAK,CAACO,MAAM,CAACmD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBlD,MAAM,CAACuD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1CzC,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER4B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBtD,MAAM,CAACuC,kBAAkB,CAACe,YAAY,EAAE;MACtC7C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF4B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGrD,KAAK,KAAKwC,SAAS;EAExC9F,iBAAiB,CAAC,MAAM;IACtB,IAAI2G,YAAY,EAAE;MAChB;MACA7B,QAAQ,CAACgB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACAxC,KAAK,GAAGwC,SAAS;EAEjBtH,KAAK,CAACoH,SAAS,CAAC,MAAM;IACpB;IACA;IACAT,cAAc,CAACjC,OAAO,GAAG,KAAK;IAC9B8B,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACgB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA,IAAIjB,eAAe,EAAE,KAAK1E,SAAS,IAAI8E,MAAM,EAAE,KAAKpC,YAAY,EAAE;QAChEkC,eAAe,CAAC5E,SAAS,CAAC;QAC1BgF,cAAc,CAACjC,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0D,mBAAmB,GAAGpI,KAAK,CAAC4E,MAAM,EAAS;EACjDwD,mBAAmB,CAAC1D,OAAO,GAAGkC,gBAAgB;EAE9C,MAAMR,QAAQ,GAAGpG,KAAK,CAACgG,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZiC,mBAAmB,CAAC1D,OAAiB;EAC5C,CAAC,EAAE,CAAC2B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMoC,OAAO,GAAGtH,eAAe,CAAuBuH,CAAC,IAAK;IAC1D,IAAIlD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAIgE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZjE,KAAK,GAAGQ,KAAK,CAAC0D,MAAM,CAACC,IAAI,CAAEnE,KAAK,IAAKA,KAAK,CAAC5C,GAAG,KAAK4G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIjE,KAAK,mCAAL,OAAOrB,IAAI,EAAE;QACfmC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACrB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLqB,KAAK,GAAGQ,KAAK,CAAC0D,MAAM,CAAC1D,KAAK,CAAC4D,KAAK,CAAC;MACjCtD,UAAU,CAACjC,IAAI,CACb,GAAGwC,MAAM,CAACvC,IAAI,CAAC+B,OAAO,CAAC,CAACsC,MAAM,CAAExE,IAAI;QAAA;QAAA,OAAK,YAAAqB,KAAK,4CAAL,QAAOrB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIqB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMqE,UAAU,GAAGC,WAAW,CAACtE,KAAK,CAAC5C,GAAG,CAAC,CAACiH,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDtE,eAAe,EACf,GAAGY,UAAU,CAAClD,GAAG,CAAEe,IAAI,IAAK;MAC1B,MAAM;QAAE4F;MAAU,CAAC,GAAG1D,OAAO,CAAClC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOiG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC3G,GAAG,CAAE2G,SAAS,IAAK;MACnB,MAAM3G,GAAG,GACP,OAAO2G,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAEvE,KAAK,EAAEA,KAAY;QAAEqE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO3G,GAAG,GACNyD,MAAM,CAACvC,IAAI,CAAClB,GAAG,CAAC,CACbuF,MAAM,CAAE9E,IAAI,IAAKA,IAAI,KAAK2F,CAAC,CAAC3F,IAAI,CAAC,CACjCT,GAAG,CAAES,IAAI,IAAKT,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGS,IAAI,CAAC,CAAC,GAC7BhB,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC8F,MAAM,CAAC,CAACsB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAAClF,OAAO,CAAEwF,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFrH,cAAc,CAAC;IAAE6D,KAAK;IAAEuD;EAAQ,CAAC,CAAC;EAElCrI,KAAK,CAACoH,SAAS,CAAC,MAAM;IACpBiB,OAAO,CAACe,IAAI,CAAC;MAAEzG,IAAI,EAAE,OAAO;MAAE0G,IAAI,EAAE;QAAEvE;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAACuD,OAAO,EAAEvD,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAE+D,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAG5I,iBAAiB,EAAE;EAEtE,MAAM;IAAE6I,cAAc;IAAEC;EAAiB,CAAC,GAAGvI,sBAAsB,EAAE;EAErE,MAAMwI,QAAQ,GAAGtI,WAAW,CAAC;IAC3BuD,MAAM;IACNyB,QAAQ;IACRE,QAAQ;IACR5E,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACfiI,eAAe,EAAEL,cAAc,CAACzB,MAAM;IACtC+B,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB1E,UAAU;MACVI,cAAc;MACdE;IACF,CAAC;IACD2C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGzI,eAAe,CAAC;IACnCqD,MAAM;IACNjD,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACf0E,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMqC,UAAU,GAAGxH,oBAAoB,CAKrC;IACA6I,EAAE,EAAE9G,OAAO,CAAC8G,EAAE;IACdN,QAAQ;IACRtD,QAAQ;IACRiC,OAAO;IACP1D;EACF,CAAC,CAAC;EAEF3D,kCAAkC,CAAC;IACjC2H,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF7I,aAAa,CAAC;IACZ+E,QAAQ;IACR+D,iBAAiB,EAAEX,cAAc,CAACpD;EACpC,CAAC,CAAC;EAEF,MAAMwC,WAAW,GAAG9H,cAAc,CAKhC;IACAgE,KAAK;IACLK,OAAO;IACPwD,UAAU;IACVrF,aAAa,EAAEc,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CAAGlB,OAAO,CAACI,aAAa,CAAC;IAClE8G,oBAAoB,EAAEhG,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CAC9ClB,OAAO,CAACkH,oBAAoB,CAC7B;IACDV,QAAQ;IACRtD,QAAQ;IACRE,QAAQ;IACRyD,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChB9E,MAAM;IACN;IACA0D;EACF,CAAC,CAAC;EAEFxH,gBAAgB,CAAC;IACfiE,KAAK;IACL6D,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAGzJ,YAAY,CAAEiB,QAAyB,iBAC/D,oBAAC,wBAAwB,CAAC,QAAQ;IAAC,KAAK,EAAE8G;EAAW,gBACnD,oBAAC,qBAAqB,QAAE9G,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACLiD,KAAK;IACL6D,UAAU;IACVC,WAAW;IACXyB;EACF,CAAC;AACH"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"AAAA,SACEA,aAAa,QAUR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,QAAQ,UAAU;AAE7C,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAMEC,iBAAiB,QAEZ,SAAS;AAChB,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,cAAc,MAAkC,kBAAkB;AACzE,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,kCAAkC,MAAM,sCAAsC;AACrF,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,OAAOC,iBAAiB,MAAM,qBAAqB;;AAEnD;AACA;AACAd,iBAAiB;AAsBjB,MAAMe,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAG,CAMlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,EACZC,0BAGC,KACE;EACH,MAAMC,OAAO,GAAGjC,KAAK,CAACkC,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC,CAACO,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAItC,KAAK,CAACuC,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAK/B,MAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACgB,UAAU,CAACa,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDP,KAAK,CAACG,KAAK,CAACC,aAAa,CACzB,qBACAJ,KAAK,CAACG,KAAK,CAACK,IACb,kDAAiD,CACnD;QACH;QAEA,IAAIC,qBAAqB,GAAGhB,YAIhB;QACZ,IACEC,0BAA0B,KAAKL,SAAS,IACxCI,YAAY,KAAKJ,SAAS,EAC1B;UACAoB,qBAAqB,GACnBhB,YAAY,CAOZiB,GAAG,CAAChB,0BAA0B,CAAC;QACnC;QAEA,IAAIA,0BAA0B,KAAKL,SAAS,EAAE;UAC5CW,KAAK,CAACG,KAAK,CAACQ,OAAO,GAAGjB,0BAA0B,CAACM,KAAK,CAACG,KAAK,CAACQ,OAAO,CAAC;QACvE;QAEAZ,GAAG,CAACa,IAAI,CAAC;UACPC,IAAI,EAAE,CAACrB,QAAQ,EAAEQ,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEF,qBAAqB;UAC9BN,KAAK,EAAEH,KAAK,CAACG;QACf,CAAC,CAAC;QACF,OAAOJ,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKxC,KAAK,CAACoD,QAAQ,IAAId,KAAK,CAACE,IAAI,KAAKtC,KAAK,EAAE;QACzD,IAAI,CAACuB,UAAU,CAACa,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDP,KAAK,CAACG,KAAK,CAACC,aAAa,CACzB,gEAA+D,CAClE;QACH;QAEA,IAAIV,0BAA0B,KAAKL,SAAS,EAAE;UAC5CW,KAAK,CAACG,KAAK,CAACY,aAAa,GAAGrB,0BAA0B,CACpDM,KAAK,CAACG,KAAK,CAACY,aAAa,CAC1B;QACH;;QAEA;QACA;QACAhB,GAAG,CAACa,IAAI,CACN,GAAGtB,2BAA2B,CAM5BU,KAAK,CAACG,KAAK,CAACZ,QAAQ,EACpBS,KAAK,CAACG,KAAK,CAACC,aAAa,EACzBJ,KAAK,CAACE,IAAI,KAAKtC,KAAK,GAChB6B,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEO,KAAK,CAACG,KAAK,CAACY,aAAa,CAAC,GAC5C,CAACf,KAAK,CAACG,KAAK,CAACY,aAAa,CAAC,EAC/BrB,0BAA0B,CAC3B,CACF;QACD,OAAOK,GAAG;MACZ;IACF;IAEA,MAAM,IAAIM,KAAK,CACZ,oGACC,aAAA3C,KAAK,CAACuC,cAAc,CAACD,KAAK,CAAC,GACtB,IACC,OAAOA,KAAK,CAACE,IAAI,KAAK,QAAQ,GAAGF,KAAK,CAACE,IAAI,kBAAGF,KAAK,CAACE,IAAI,gDAAV,YAAYM,IAC3D,IACCR,KAAK,CAACG,KAAK,IAAI,IAAI,IACnB,OAAOH,KAAK,CAACG,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIH,KAAK,CAACG,KAAK,oBACrBH,KAAK,CAACG,KAAK,yCAAX,aAAaK,IAAI,GACZ,oBAAmBR,KAAK,CAACG,KAAK,CAACK,IAAK,GAAE,GACvC,EACL,EAAC,GACF,OAAOR,KAAK,KAAK,QAAQ,GACzBM,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,GACpB,IAAGgB,MAAM,CAAChB,KAAK,CAAE,GACvB,4FAA2F,CAC7F;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIiB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCxB,OAAO,CAACyB,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEb,IAAI;QAAEjB,QAAQ;QAAE+B,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAAClB,KAAK;MAEhE,IAAI,OAAOK,IAAI,KAAK,QAAQ,IAAI,CAACA,IAAI,EAAE;QACrC,MAAM,IAAIH,KAAK,CACZ,wBAAuBC,IAAI,CAACC,SAAS,CACpCC,IAAI,CACJ,kDAAiD,CACpD;MACH;MAEA,IACEjB,QAAQ,IAAI,IAAI,IAChB+B,SAAS,KAAKjC,SAAS,IACvBkC,YAAY,KAAKlC,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI+B,SAAS,KAAKjC,SAAS,EAAE;UAC/C,MAAM,IAAIgB,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIjB,QAAQ,IAAI,IAAI,IAAIgC,YAAY,KAAKlC,SAAS,EAAE;UAClD,MAAM,IAAIgB,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIc,SAAS,KAAKjC,SAAS,IAAIkC,YAAY,KAAKlC,SAAS,EAAE;UACzD,MAAM,IAAIgB,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIjB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIc,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIc,SAAS,KAAKjC,SAAS,IAAI,CAAC1B,kBAAkB,CAAC2D,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIjB,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIe,YAAY,KAAKlC,SAAS,IAAI,OAAOkC,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIlB,KAAK,CACZ,gEAA+DG,IAAK,uDAAsD,CAC5H;QACH;QAEA,IAAI,OAAOc,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAACd,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAgB,OAAO,CAACC,IAAI,CACT,qFAAoFjB,IAAK,uRAAsR,CACjX;UACH,CAAC,MAAM,IAAI,QAAQ,CAACkB,IAAI,CAACJ,SAAS,CAACd,IAAI,CAAC,EAAE;YACxCgB,OAAO,CAACC,IAAI,CACT,kCAAiCH,SAAS,CAACd,IAAK,qBAAoBA,IAAK,yMAAwM,CACnR;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAIH,KAAK,CACZ,kFAAiFG,IAAK,qLAAoL,CAC5Q;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOb,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASgC,oBAAoB,CAQ1CC,YAAsD,EACtDjB,OAOe,EACfjB,0BAGC,EACD;EACA,MAAMmC,YAAY,GAAG5C,oBAAoB,EAAE;EAE3C,MAAM6C,KAAK,GAAGpE,KAAK,CAACqE,UAAU,CAAC/D,sBAAsB,CAExC;EAEb,MAAM;IAAEuB,QAAQ;IAAEyC,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGtB,OAAO;EACtD,MAAM;IAAEuB,OAAO,EAAEC;EAAO,CAAC,GAAGzE,KAAK,CAAC0E,MAAM,CACtCR,YAAY,CAAC;IACX,GAAIK,IAAiC;IACrC,IAAIH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,MAAM,IACjBP,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,CAACE,OAAO,KAAK,KAAK,IAC9B,OAAOT,KAAK,CAACO,MAAM,CAACG,MAAM,KAAK,QAAQ,GACnC;MAAEC,gBAAgB,EAAEX,KAAK,CAACO,MAAM,CAACG;IAAO,CAAC,GACzC,IAAI;EACV,CAAC,CAAC,CACH;EAED,MAAME,YAAY,GAAGpD,2BAA2B,CAK9CC,QAAQ,EAAEF,SAAS,EAAEA,SAAS,EAAEK,0BAA0B,CAAC;EAE7D,MAAMiD,OAAO,GAAGD,YAAY,CAAC5C,MAAM,CAEjC,CAACC,GAAG,EAAEsB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAAClB,KAAK,CAACK,IAAI,IAAIT,GAAG,EAAE;MAC5B,MAAM,IAAIM,KAAK,CACZ,6GAA4GgB,MAAM,CAAClB,KAAK,CAACK,IAAK,IAAG,CACnI;IACH;IAEAT,GAAG,CAACsB,MAAM,CAAClB,KAAK,CAACK,IAAI,CAAC,GAAGa,MAAM;IAC/B,OAAOtB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAM6C,UAAU,GAAGF,YAAY,CAAChC,GAAG,CAAEW,MAAM,IAAKA,MAAM,CAAClB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMqC,YAAY,GAAGD,UAAU,CAAC9C,MAAM,CACpC,CAACC,GAAG,EAAE+C,IAAI,KAAK;IACb/C,GAAG,CAAC+C,IAAI,CAAC,GAAGH,OAAO,CAACG,IAAI,CAAC,CAACjC,IAAI,CAACH,GAAG,CAAEtB,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAAC2D,IAAI,CAAC,GAAG,CAAC;IAChE,OAAOhD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMiD,cAAc,GAAGJ,UAAU,CAAC9C,MAAM,CACtC,CAACC,GAAG,EAAE+C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC3C,KAAK;IAC7CJ,GAAG,CAAC+C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOlD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMmD,cAAc,GAAGN,UAAU,CAAC9C,MAAM,CAGtC,CAACC,GAAG,EAAE+C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACrD,GAAG,EAAE;IACjB,CAAC+C,IAAI,GAAGH,OAAO,CAACG,IAAI,CAAC,CAAC3C,KAAK,CAACkD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACT,UAAU,CAACU,MAAM,EAAE;IACtB,MAAM,IAAIjD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMkD,YAAY,GAAG7F,KAAK,CAAC8F,WAAW,CACnClB,KAAsD,IACrDA,KAAK,CAACpC,IAAI,KAAKb,SAAS,IAAIiD,KAAK,CAACpC,IAAI,KAAKiC,MAAM,CAACjC,IAAI,EACxD,CAACiC,MAAM,CAACjC,IAAI,CAAC,CACd;EAED,MAAMuD,kBAAkB,GAAG/F,KAAK,CAAC8F,WAAW,CACzClB,KAAkE,IACjEA,KAAK,KAAKjD,SAAS,IAAIiD,KAAK,CAACoB,KAAK,KAAK,KAAK,IAAIH,YAAY,CAACjB,KAAK,CAAC,EACrE,CAACiB,YAAY,CAAC,CACf;EAED,MAAM;IACJjB,KAAK,EAAEqB,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAGxG,KAAK,CAACqE,UAAU,CAAC9D,sBAAsB,CAAC;EAE5C,MAAMkG,cAAc,GAAGzG,KAAK,CAAC0E,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAM0B,QAAQ,GAAGpG,KAAK,CAAC8F,WAAW,CAC/BlB,KAAkE,IAAK;IACtE,IAAI6B,cAAc,CAACjC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA6B,eAAe,CAACzB,KAAK,CAAC;EACxB,CAAC,EACD,CAACyB,eAAe,CAAC,CAClB;EAED,MAAM,CAACK,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG3G,KAAK,CAAC4G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG3B,UAAU,CAAC9C,MAAM,CAE7C,CAACC,GAAG,EAAE+C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC3C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA1C,KAAK,aAALA,KAAK,wCAALA,KAAK,CAAEO,MAAM,kDAAb,cAAeC,KAAK,KAAI,IAAI,IAC5B,CAAAR,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeE,OAAO,MAAK,KAAK,IAChC,CAAAT,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeG,MAAM,MAAKM,IAAI,GAC1BhB,KAAK,CAACO,MAAM,CAACA,MAAM,GACnBhD,SAAS;MAEfU,GAAG,CAAC+C,IAAI,CAAC,GACPG,aAAa,KAAK5D,SAAS,IAAImF,uBAAuB,KAAKnF,SAAS,GAChE;QACE,GAAG4D,aAAa;QAChB,GAAGuB;MACL,CAAC,GACDnF,SAAS;MAEf,OAAOU,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC4D,YAAY,KAAKtE,SAAS,IAAI,CAACkE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA7B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACsC,eAAe,CAAC;QACrB7B,UAAU;QACVI,cAAc,EAAEuB,qBAAqB;QACrCrB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLf,MAAM,CAACuC,kBAAkB,CACvB,CAAA5C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKqB,YAAoC,EAC7D;QACEf,UAAU;QACVI,cAAc,EAAEuB,qBAAqB;QACrCrB;MACF,CAAC,CACF,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACS,YAAY,EAAExB,MAAM,EAAEoB,YAAY,CAAC,CAAC;EAExC,MAAMoB,uBAAuB,GAAGjH,KAAK,CAAC0E,MAAM,CAACS,YAAY,CAAC;EAE1DnF,KAAK,CAACkH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAACzC,OAAO,GAAGW,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMgC,oBAAoB,GAAGF,uBAAuB,CAACzC,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAmB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZS,gBAA0B;EAEjC,IAAIU,SAAgB,GAAGxC,KAAK;EAE5B,IACE,CAACzE,YAAY,CAACyE,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC9E,aAAa,CAAC+E,YAAY,EAAEgC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG3C,MAAM,CAAC4C,2BAA2B,CAACzC,KAAK,EAAE;MACpDM,UAAU;MACVI,cAAc;MACdE,cAAc;MACd8B,eAAe,EAAE7B,MAAM,CAACtC,IAAI,CAACgC,YAAY,CAAC,CAACoC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCqC,YAAY,CAACrC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAGzH,KAAK,CAAC0E,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3D3E,KAAK,CAACkH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAACjD,OAAO,GAAGJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM;EACjD,CAAC,EAAE,CAACP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC,CAAC;EAEnB,IAAIP,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,MAAM,EAAE;IACjB,MAAM+C,cAAc,GAAGD,uBAAuB,CAACjD,OAAO;IAEtD,IAAImD,MAAwC;IAE5C,IACE,OAAOvD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAK+C,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG5H,aAAa,CAAC6H,KAAK,CAACxD,KAAK,CAACO,MAAM,CAACC,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAOR,KAAK,CAACO,MAAM,CAACG,MAAM,KAAK,QAAQ,KACrCV,KAAK,CAACO,MAAM,CAACE,OAAO,KAAK,KAAK,IAAI8B,0BAA0B,IAC5DvC,KAAK,CAACO,MAAM,KAAK+C,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG5H,aAAa,CAAC8H,QAAQ,CAAC;QAC9B/E,IAAI,EAAEsB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BmD,IAAI,EAAE1D,KAAK,CAACO,MAAM,CAACmD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBlD,MAAM,CAACuD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1CzC,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER4B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBtD,MAAM,CAACuC,kBAAkB,CAACe,YAAY,EAAE;MACtC7C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF4B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGrD,KAAK,KAAKwC,SAAS;EAExC5F,iBAAiB,CAAC,MAAM;IACtB,IAAIyG,YAAY,EAAE;MAChB;MACA7B,QAAQ,CAACgB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACAxC,KAAK,GAAGwC,SAAS;EAEjBpH,KAAK,CAACkH,SAAS,CAAC,MAAM;IACpB;IACA;IACAT,cAAc,CAACjC,OAAO,GAAG,KAAK;IAC9B8B,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACgB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA,IAAIjB,eAAe,EAAE,KAAKxE,SAAS,IAAI4E,MAAM,EAAE,KAAKpC,YAAY,EAAE;QAChEkC,eAAe,CAAC1E,SAAS,CAAC;QAC1B8E,cAAc,CAACjC,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0D,mBAAmB,GAAGlI,KAAK,CAAC0E,MAAM,EAAS;EACjDwD,mBAAmB,CAAC1D,OAAO,GAAGkC,gBAAgB;EAE9C,MAAMR,QAAQ,GAAGlG,KAAK,CAAC8F,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZiC,mBAAmB,CAAC1D,OAAiB;EAC5C,CAAC,EAAE,CAAC2B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMoC,OAAO,GAAGpH,eAAe,CAAuBqH,CAAC,IAAK;IAC1D,IAAIlD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAIgE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZjE,KAAK,GAAGQ,KAAK,CAAC0D,MAAM,CAACC,IAAI,CAAEnE,KAAK,IAAKA,KAAK,CAAC1C,GAAG,KAAK0G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIjE,KAAK,mCAAL,OAAOtB,IAAI,EAAE;QACfoC,UAAU,CAAChC,IAAI,CAACkB,KAAK,CAACtB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLsB,KAAK,GAAGQ,KAAK,CAAC0D,MAAM,CAAC1D,KAAK,CAAC4D,KAAK,CAAC;MACjCtD,UAAU,CAAChC,IAAI,CACb,GAAGuC,MAAM,CAACtC,IAAI,CAAC8B,OAAO,CAAC,CAACsC,MAAM,CAAEzE,IAAI;QAAA;QAAA,OAAK,YAAAsB,KAAK,4CAAL,QAAOtB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIsB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMqE,UAAU,GAAGC,WAAW,CAACtE,KAAK,CAAC1C,GAAG,CAAC,CAAC+G,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDtE,eAAe,EACf,GAAGY,UAAU,CAAClC,GAAG,CAAEF,IAAI,IAAK;MAC1B,MAAM;QAAE6F;MAAU,CAAC,GAAG1D,OAAO,CAACnC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOkG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC3F,GAAG,CAAE2F,SAAS,IAAK;MACnB,MAAM3F,GAAG,GACP,OAAO2F,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAEvE,KAAK,EAAEA,KAAY;QAAEqE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO3F,GAAG,GACNyC,MAAM,CAACtC,IAAI,CAACH,GAAG,CAAC,CACbuE,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK4F,CAAC,CAAC5F,IAAI,CAAC,CACjCQ,GAAG,CAAER,IAAI,IAAKQ,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGR,IAAI,CAAC,CAAC,GAC7Bb,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC4F,MAAM,CAAC,CAACsB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACjF,OAAO,CAAEuF,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFnH,cAAc,CAAC;IAAE2D,KAAK;IAAEuD;EAAQ,CAAC,CAAC;EAElCnI,KAAK,CAACkH,SAAS,CAAC,MAAM;IACpBiB,OAAO,CAACe,IAAI,CAAC;MAAE1G,IAAI,EAAE,OAAO;MAAE2G,IAAI,EAAE;QAAEvE;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAACuD,OAAO,EAAEvD,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAE+D,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAG1I,iBAAiB,EAAE;EAEtE,MAAM;IAAE2I,cAAc;IAAEC;EAAiB,CAAC,GAAGrI,sBAAsB,EAAE;EAErE,MAAMsI,QAAQ,GAAGpI,WAAW,CAAC;IAC3BqD,MAAM;IACNyB,QAAQ;IACRE,QAAQ;IACR1E,GAAG,EAAE0C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE1C,GAAG;IACf+H,eAAe,EAAEL,cAAc,CAACzB,MAAM;IACtC+B,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB1E,UAAU;MACVI,cAAc;MACdE;IACF,CAAC;IACD2C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGvI,eAAe,CAAC;IACnCmD,MAAM;IACN/C,GAAG,EAAE0C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE1C,GAAG;IACfwE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMqC,UAAU,GAAGtH,oBAAoB,CAKrC;IACA2I,EAAE,EAAE7G,OAAO,CAAC6G,EAAE;IACdN,QAAQ;IACRtD,QAAQ;IACRiC,OAAO;IACP1D;EACF,CAAC,CAAC;EAEFzD,kCAAkC,CAAC;IACjCyH,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF3I,aAAa,CAAC;IACZ6E,QAAQ;IACR+D,iBAAiB,EAAEX,cAAc,CAACpD;EACpC,CAAC,CAAC;EAEF,MAAM7C,aAAa,GACjBrB,0BAA0B,KAAKL,SAAS,GACnCsB,OAAO,CAACI,aAAa,GAGtBrB,0BAA0B,CACxBiB,OAAO,CAACI,aAAa,CAGtB;EAEP,MAAM6G,oBAAoB,GACxBlI,0BAA0B,KAAKL,SAAS,GACnCsB,OAAO,CAACiH,oBAAoB,GAG7BlI,0BAA0B,CACxBiB,OAAO,CAACiH,oBAAoB,CAG7B;EAEP,MAAMxB,WAAW,GAAG5H,cAAc,CAKhC;IACA8D,KAAK;IACLK,OAAO;IACPwD,UAAU;IACVpF,aAAa;IACb6G,oBAAoB;IACpBV,QAAQ;IACRtD,QAAQ;IACRE,QAAQ;IACRyD,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChB9E,MAAM;IACN;IACA0D;EACF,CAAC,CAAC;EAEFtH,gBAAgB,CAAC;IACf+D,KAAK;IACL6D,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAGvJ,YAAY,CAAEiB,QAAyB,iBAC/D,oBAAC,wBAAwB,CAAC,QAAQ;IAAC,KAAK,EAAE4G;EAAW,gBACnD,oBAAC,qBAAqB,QAAE5G,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACL+C,KAAK;IACL6D,UAAU;IACVC,WAAW;IACXyB;EACF,CAAC;AACH"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -719,7 +739,7 @@ index 366138e..b8b7de5 100644 +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index fcd456b..cd695d1 100644 +index fcd456b..58ca24e 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts @@ -7,7 +7,20 @@ declare global { @@ -752,7 +772,7 @@ index fcd456b..cd695d1 100644 - route: RouteProp; - navigation: any; - }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback; ++ screenListeners?: ScreenListenersOrCallback; /** * Default options for all screens under this navigator. */ @@ -765,13 +785,13 @@ index fcd456b..cd695d1 100644 export type EventMapBase = Record = { + * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. * @returns An object containing `state`, `navigation`, `descriptors` objects. */ -export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions): { -+export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { ++export default function useNavigationBuilder void>, ScreenOptions extends {}, EventMap extends Record, CustomScreenOptions extends {} = ScreenOptions>(createRouter: RouterFactory, options: DefaultNavigatorOptions & NavigationBuilderOptions & RouterOptions, convertCustomScreenOptions?: ConvertCustomScreenOptions): { state: State; navigation: { dispatch(action: Readonly<{ -@@ -168,7 +165,7 @@ export default function useNavigationBuilder, {}, {}> | undefined>(id?: string | undefined): T_1; setParams(params: Partial): void; setOptions(options: Partial): void; @@ -860,13 +882,13 @@ index 53d474e..8933a61 100644 children: React.ReactNode; }) => JSX.Element; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..40727ca 100644 +index 33762f4..68ef2d1 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,SAAS,KAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AA+MxD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,mBAAmB,EACnB,QAAQ,CACT,GACC,wBAAwB,CAAC,mBAAmB,CAAC,GAC7C,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAucF"} ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,SAAS,KAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AAsNxD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAC7D,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2dF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 @@ -885,7 +907,7 @@ index 61706b6..9db0c9d 100644 export { default as useNavigationState } from './useNavigationState'; export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index b691d75..88f4f50 100644 +index b691d75..03df5ab 100644 --- a/node_modules/@react-navigation/core/src/types.tsx +++ b/node_modules/@react-navigation/core/src/types.tsx @@ -19,11 +19,47 @@ declare global { @@ -937,7 +959,7 @@ index b691d75..88f4f50 100644 > = DefaultRouterOptions> & { /** * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent. -@@ -37,21 +73,11 @@ export type DefaultNavigatorOptions< +@@ -37,21 +73,16 @@ export type DefaultNavigatorOptions< /** * Event listeners for all the screens in the navigator. */ @@ -947,7 +969,12 @@ index b691d75..88f4f50 100644 - route: RouteProp; - navigation: any; - }) => ScreenListeners); -+ screenListeners?: ScreenListenersOrCallback; ++ screenListeners?: ScreenListenersOrCallback< ++ State, ++ EventMap, ++ ParamList, ++ RouteName ++ >; /** * Default options for all screens under this navigator. */ @@ -1010,7 +1037,7 @@ index d5a192c..e39b723 100644 getState: () => State; setState: (state: State) => void; diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..01ed591 100644 +index 7d550e0..812325a 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx @@ -23,12 +23,12 @@ import PreventRemoveProvider from './PreventRemoveProvider'; @@ -1063,7 +1090,7 @@ index 7d550e0..01ed591 100644 const isValidKey = (key: unknown) => key === undefined || (typeof key === 'string' && key !== ''); -@@ -79,16 +80,34 @@ const isValidKey = (key: unknown) => +@@ -79,15 +80,20 @@ const isValidKey = (key: unknown) => const getRouteConfigsFromChildren = < State extends NavigationState, ScreenOptions extends {}, @@ -1080,33 +1107,39 @@ index 7d550e0..01ed591 100644 EventMap - >['options'] + >['options'], -+ transformScreenOptions?: ConvertCustomScreenOptions< ++ convertCustomScreenOptions?: ConvertCustomScreenOptions< + CustomScreenOptions, + ScreenOptions + > ) => { -+ let platformGroupOptions = groupOptions as -+ | (ScreenOptionsOrCallback | undefined)[] -+ | undefined; -+ if (transformScreenOptions !== undefined && groupOptions !== undefined) { -+ platformGroupOptions = groupOptions.map((groupOption) => -+ groupOption === undefined -+ ? undefined -+ : transformScreenOptions( -+ groupOption as ScreenOptionsOrCallback -+ ) -+ ); -+ } -+ const configs = React.Children.toArray(children).reduce< ScreenConfigWithParent[] - >((acc, child) => { -@@ -107,16 +126,14 @@ const getRouteConfigsFromChildren = < +@@ -107,16 +113,34 @@ const getRouteConfigsFromChildren = < ); } -+ if (transformScreenOptions !== undefined) { -+ child.props.options = transformScreenOptions(child.props.options); ++ let convertedGroupOptions = groupOptions as ScreenConfigWithParent< ++ State, ++ ScreenOptions, ++ EventMap ++ >['options']; ++ if ( ++ convertCustomScreenOptions !== undefined && ++ groupOptions !== undefined ++ ) { ++ convertedGroupOptions = ( ++ groupOptions as NonNullable< ++ ScreenConfigWithParent< ++ State, ++ CustomScreenOptions, ++ EventMap ++ >['options'] ++ > ++ ).map(convertCustomScreenOptions); ++ } ++ ++ if (convertCustomScreenOptions !== undefined) { ++ child.props.options = convertCustomScreenOptions(child.props.options); + } + acc.push({ @@ -1119,17 +1152,17 @@ index 7d550e0..01ed591 100644 - ScreenOptions, - EventMap - >, -+ options: platformGroupOptions, ++ options: convertedGroupOptions, + props: child.props, }); return acc; } -@@ -130,17 +147,29 @@ const getRouteConfigsFromChildren = < +@@ -130,17 +154,29 @@ const getRouteConfigsFromChildren = < ); } -+ if (transformScreenOptions !== undefined) { -+ child.props.screenOptions = transformScreenOptions( ++ if (convertCustomScreenOptions !== undefined) { ++ child.props.screenOptions = convertCustomScreenOptions( + child.props.screenOptions + ); + } @@ -1152,11 +1185,20 @@ index 7d550e0..01ed591 100644 ? [...groupOptions, child.props.screenOptions] - : [child.props.screenOptions] + : [child.props.screenOptions], -+ transformScreenOptions ++ convertCustomScreenOptions ) ); return acc; -@@ -257,17 +286,22 @@ export default function useNavigationBuilder< +@@ -250,6 +286,8 @@ const getRouteConfigsFromChildren = < + * + * @param createRouter Factory method which returns router object. + * @param options Options object containing `children` and additional options for the router. ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + * @returns An object containing `state`, `navigation`, `descriptors` objects. + */ + export default function useNavigationBuilder< +@@ -257,17 +295,22 @@ export default function useNavigationBuilder< RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record void>, ScreenOptions extends {}, @@ -1169,12 +1211,12 @@ index 7d550e0..01ed591 100644 ParamListBase, State, - ScreenOptions, -+ CustomScreenOptions, ++ ScreenOptions | CustomScreenOptions, EventMap > & - NavigationBuilderOptions & - RouterOptions -+ NavigationBuilderOptions & ++ NavigationBuilderOptions & + RouterOptions, + convertCustomScreenOptions?: ConvertCustomScreenOptions< + CustomScreenOptions, @@ -1183,7 +1225,7 @@ index 7d550e0..01ed591 100644 ) { const navigatorKey = useRegisterNavigator(); -@@ -291,8 +325,9 @@ export default function useNavigationBuilder< +@@ -291,8 +334,9 @@ export default function useNavigationBuilder< const routeConfigs = getRouteConfigsFromChildren< State, ScreenOptions, @@ -1195,16 +1237,43 @@ index 7d550e0..01ed591 100644 const screens = routeConfigs.reduce< Record> -@@ -688,8 +723,10 @@ export default function useNavigationBuilder< +@@ -679,6 +723,28 @@ export default function useNavigationBuilder< + getStateListeners: keyedListeners.getState, + }); + ++ const screenOptions = ++ convertCustomScreenOptions === undefined ++ ? (options.screenOptions as ++ | ScreenOptionsOrCallback ++ | undefined) ++ : convertCustomScreenOptions( ++ options.screenOptions as ++ | ScreenOptionsOrCallback ++ | undefined ++ ); ++ ++ const defaultScreenOptions = ++ convertCustomScreenOptions === undefined ++ ? (options.defaultScreenOptions as ++ | ScreenOptionsOrCallback ++ | undefined) ++ : convertCustomScreenOptions( ++ options.defaultScreenOptions as ++ | ScreenOptionsOrCallback ++ | undefined ++ ); ++ + const descriptors = useDescriptors< + State, + ActionHelpers, +@@ -688,8 +754,8 @@ export default function useNavigationBuilder< state, screens, navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions: convertCustomScreenOptions?.(options.screenOptions), -+ defaultScreenOptions: convertCustomScreenOptions?.( -+ options.defaultScreenOptions as ScreenOptionsOrCallback -+ ), ++ screenOptions, ++ defaultScreenOptions, onAction, getState, setState, From 625a00bb3cc3e85d0bf6d2daa5b2bc4c25353cac Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 14:44:27 +0200 Subject: [PATCH 119/178] update patch --- ...+002+platform-navigation-stack-types.patch | 126 ++++++++++-------- 1 file changed, 70 insertions(+), 56 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index c09fe5c336a48..256477476fc82 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -69,7 +69,7 @@ index d2248a2..9419f8d 100644 +{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..9c78bbf 100644 +index 14338b9..bc399fe 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js @@ -43,7 +43,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != @@ -81,7 +81,7 @@ index 14338b9..9c78bbf 100644 const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -54,9 +54,16 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -54,10 +54,21 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } @@ -89,32 +89,39 @@ index 14338b9..9c78bbf 100644 + if (convertCustomScreenOptions !== undefined && groupOptions !== undefined) { + convertedGroupOptions = groupOptions.map(convertCustomScreenOptions); + } ++ let options = child.props.options; + if (convertCustomScreenOptions !== undefined) { -+ child.props.options = convertCustomScreenOptions(child.props.options); ++ options = convertCustomScreenOptions(child.props.options); + } acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, +- props: child.props + options: convertedGroupOptions, - props: child.props ++ props: { ++ ...child.props, ++ options ++ } }); return acc; -@@ -65,10 +72,13 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + } +@@ -65,10 +76,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); } ++ let screenOptions = child.props.screenOptions; + if (convertCustomScreenOptions !== undefined) { -+ child.props.screenOptions = convertCustomScreenOptions(child.props.screenOptions); ++ screenOptions = convertCustomScreenOptions(child.props.screenOptions); + } // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens - acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], convertCustomScreenOptions)); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, screenOptions] : [screenOptions], convertCustomScreenOptions)); return acc; } } -@@ -127,9 +137,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -127,9 +142,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. @@ -127,7 +134,7 @@ index 14338b9..9c78bbf 100644 const navigatorKey = (0, _useRegisterNavigator.default)(); const route = React.useContext(_NavigationRouteContext.default); const { -@@ -145,7 +157,7 @@ function useNavigationBuilder(createRouter, options) { +@@ -145,7 +162,7 @@ function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); @@ -136,7 +143,7 @@ index 14338b9..9c78bbf 100644 const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -182,10 +194,6 @@ function useNavigationBuilder(createRouter, options) { +@@ -182,10 +199,6 @@ function useNavigationBuilder(createRouter, options) { getIsInitial } = React.useContext(_NavigationStateContext.default); const stateCleanedUp = React.useRef(false); @@ -147,7 +154,7 @@ index 14338b9..9c78bbf 100644 const setState = React.useCallback(state => { if (stateCleanedUp.current) { // State might have been already cleaned up due to unmount -@@ -299,6 +307,9 @@ function useNavigationBuilder(createRouter, options) { +@@ -299,6 +312,9 @@ function useNavigationBuilder(createRouter, options) { // So we override the state object we return to use the latest state as soon as possible state = nextState; React.useEffect(() => { @@ -157,7 +164,7 @@ index 14338b9..9c78bbf 100644 setKey(navigatorKey); if (!getIsInitial()) { // If it's not initial render, we need to update the state -@@ -308,14 +319,10 @@ function useNavigationBuilder(createRouter, options) { +@@ -308,14 +324,10 @@ function useNavigationBuilder(createRouter, options) { } return () => { // We need to clean up state for this navigator on unmount @@ -176,7 +183,7 @@ index 14338b9..9c78bbf 100644 }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); -@@ -423,12 +430,14 @@ function useNavigationBuilder(createRouter, options) { +@@ -423,12 +435,14 @@ function useNavigationBuilder(createRouter, options) { getState, getStateListeners: keyedListeners.getState }); @@ -194,13 +201,13 @@ index 14338b9..9c78bbf 100644 getState, setState, diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..f7f3bcf 100644 +index 55b77ca..06074e2 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":";;;;;;AAAA;AAYA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoD;AAAA;AAAA;AAEpD;AACA;AACAA,wBAAiB;AAqBjB,MAAMC,UAAU,GAAIC,GAAY,IAC9BA,GAAG,KAAKC,SAAS,IAAK,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,EAAG;;AAE9D;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAAG,CAKlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,KACT;EACH,MAAMC,OAAO,GAAGC,KAAK,CAACC,QAAQ,CAACC,OAAO,CAACN,QAAQ,CAAC,CAACO,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIL,KAAK,CAACM,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAKC,eAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAAChB,UAAU,CAACa,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDR,KAAK,CAACI,KAAK,CAACC,aAAa,CACzB,qBACAL,KAAK,CAACI,KAAK,CAACK,IACb,kDAAiD,CACnD;QACH;QAEAV,GAAG,CAACW,IAAI,CAAC;UACPC,IAAI,EAAE,CAACnB,QAAQ,EAAEQ,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEnB,YAAY;UACrBW,KAAK,EAAEJ,KAAK,CAACI;QAOf,CAAC,CAAC;QACF,OAAOL,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKP,KAAK,CAACkB,QAAQ,IAAIb,KAAK,CAACE,IAAI,KAAKY,cAAK,EAAE;QACzD,IAAI,CAAC3B,UAAU,CAACa,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC,EAAE;UAC1C,MAAM,IAAIC,KAAK,CACZ,wCAAuCC,IAAI,CAACC,SAAS,CACpDR,KAAK,CAACI,KAAK,CAACC,aAAa,CACzB,gEAA+D,CAClE;QACH;;QAEA;QACA;QACAN,GAAG,CAACW,IAAI,CACN,GAAGpB,2BAA2B,CAC5BU,KAAK,CAACI,KAAK,CAACb,QAAQ,EACpBS,KAAK,CAACI,KAAK,CAACC,aAAa,EACzBL,KAAK,CAACE,IAAI,KAAKY,cAAK,GAChBrB,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEO,KAAK,CAACI,KAAK,CAACW,aAAa,CAAC,GAC5C,CAACf,KAAK,CAACI,KAAK,CAACW,aAAa,CAAC,CAChC,CACF;QACD,OAAOhB,GAAG;MACZ;IACF;IAEA,MAAM,IAAIO,KAAK,CACZ,oGACC,aAAAX,KAAK,CAACM,cAAc,CAACD,KAAK,CAAC,GACtB,IACC,OAAOA,KAAK,CAACE,IAAI,KAAK,QAAQ,GAAGF,KAAK,CAACE,IAAI,kBAAGF,KAAK,CAACE,IAAI,gDAAV,YAAYO,IAC3D,IACCT,KAAK,CAACI,KAAK,IAAI,IAAI,IACnB,OAAOJ,KAAK,CAACI,KAAK,KAAK,QAAQ,IAC/B,MAAM,IAAIJ,KAAK,CAACI,KAAK,oBACrBJ,KAAK,CAACI,KAAK,yCAAX,aAAaK,IAAI,GACZ,oBAAmBT,KAAK,CAACI,KAAK,CAACK,IAAK,GAAE,GACvC,EACL,EAAC,GACF,OAAOT,KAAK,KAAK,QAAQ,GACzBO,IAAI,CAACC,SAAS,CAACR,KAAK,CAAC,GACpB,IAAGgB,MAAM,CAAChB,KAAK,CAAE,GACvB,4FAA2F,CAC7F;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIiB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCzB,OAAO,CAAC0B,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEZ,IAAI;QAAElB,QAAQ;QAAE+B,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAACjB,KAAK;MAEhE,IAAI,OAAOK,IAAI,KAAK,QAAQ,IAAI,CAACA,IAAI,EAAE;QACrC,MAAM,IAAIH,KAAK,CACZ,wBAAuBC,IAAI,CAACC,SAAS,CACpCC,IAAI,CACJ,kDAAiD,CACpD;MACH;MAEA,IACElB,QAAQ,IAAI,IAAI,IAChB+B,SAAS,KAAKjC,SAAS,IACvBkC,YAAY,KAAKlC,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI+B,SAAS,KAAKjC,SAAS,EAAE;UAC/C,MAAM,IAAIiB,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIlB,QAAQ,IAAI,IAAI,IAAIgC,YAAY,KAAKlC,SAAS,EAAE;UAClD,MAAM,IAAIiB,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIa,SAAS,KAAKjC,SAAS,IAAIkC,YAAY,KAAKlC,SAAS,EAAE;UACzD,MAAM,IAAIiB,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIlB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIe,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIa,SAAS,KAAKjC,SAAS,IAAI,CAAC,IAAAmC,2BAAkB,EAACF,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIhB,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIc,YAAY,KAAKlC,SAAS,IAAI,OAAOkC,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAIjB,KAAK,CACZ,gEAA+DG,IAAK,uDAAsD,CAC5H;QACH;QAEA,IAAI,OAAOa,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAACb,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAgB,OAAO,CAACC,IAAI,CACT,qFAAoFjB,IAAK,uRAAsR,CACjX;UACH,CAAC,MAAM,IAAI,QAAQ,CAACkB,IAAI,CAACL,SAAS,CAACb,IAAI,CAAC,EAAE;YACxCgB,OAAO,CAACC,IAAI,CACT,kCAAiCJ,SAAS,CAACb,IAAK,qBAAoBA,IAAK,yMAAwM,CACnR;UACH;QACF;MACF,CAAC,MAAM;QACL,MAAM,IAAIH,KAAK,CACZ,kFAAiFG,IAAK,qLAAoL,CAC5Q;MACH;IACF,CAAC,CAAC;EACJ;EAEA,OAAOf,OAAO;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASkC,oBAAoB,CAO1CC,YAAsD,EACtDjB,OAOe,EACf;EACA,MAAMkB,YAAY,GAAG,IAAAC,6BAAoB,GAAE;EAE3C,MAAMC,KAAK,GAAGrC,KAAK,CAACsC,UAAU,CAACC,+BAAsB,CAExC;EAEb,MAAM;IAAE3C,QAAQ;IAAE4C,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGxB,OAAO;EACtD,MAAM;IAAEyB,OAAO,EAAEC;EAAO,CAAC,GAAG3C,KAAK,CAAC4C,MAAM,CACtCV,YAAY,CAAC;IACX,GAAIO,IAAiC;IACrC,IAAIJ,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEQ,MAAM,IACjBR,KAAK,CAACQ,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BT,KAAK,CAACQ,MAAM,CAACE,OAAO,KAAK,KAAK,IAC9B,OAAOV,KAAK,CAACQ,MAAM,CAACG,MAAM,KAAK,QAAQ,GACnC;MAAEC,gBAAgB,EAAEZ,KAAK,CAACQ,MAAM,CAACG;IAAO,CAAC,GACzC,IAAI;EACV,CAAC,CAAC,CACH;EAED,MAAME,YAAY,GAAGvD,2BAA2B,CAI9CC,QAAQ,CAAC;EAEX,MAAMuD,OAAO,GAAGD,YAAY,CAAC/C,MAAM,CAEjC,CAACC,GAAG,EAAEsB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAACjB,KAAK,CAACK,IAAI,IAAIV,GAAG,EAAE;MAC5B,MAAM,IAAIO,KAAK,CACZ,6GAA4Ge,MAAM,CAACjB,KAAK,CAACK,IAAK,IAAG,CACnI;IACH;IAEAV,GAAG,CAACsB,MAAM,CAACjB,KAAK,CAACK,IAAI,CAAC,GAAGY,MAAM;IAC/B,OAAOtB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMgD,UAAU,GAAGF,YAAY,CAACG,GAAG,CAAE3B,MAAM,IAAKA,MAAM,CAACjB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMwC,YAAY,GAAGF,UAAU,CAACjD,MAAM,CACpC,CAACC,GAAG,EAAEmD,IAAI,KAAK;IACbnD,GAAG,CAACmD,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACvC,IAAI,CAACqC,GAAG,CAAE5D,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAAC+D,IAAI,CAAC,GAAG,CAAC;IAChE,OAAOpD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMqD,cAAc,GAAGL,UAAU,CAACjD,MAAM,CACtC,CAACC,GAAG,EAAEmD,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC9C,KAAK;IAC7CL,GAAG,CAACmD,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOtD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMuD,cAAc,GAAGP,UAAU,CAACjD,MAAM,CAGtC,CAACC,GAAG,EAAEmD,IAAI,KACRK,MAAM,CAACC,MAAM,CAACzD,GAAG,EAAE;IACjB,CAACmD,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC9C,KAAK,CAACqD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIpD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMqD,YAAY,GAAGhE,KAAK,CAACiE,WAAW,CACnCnB,KAAsD,IACrDA,KAAK,CAACvC,IAAI,KAAKb,SAAS,IAAIoD,KAAK,CAACvC,IAAI,KAAKoC,MAAM,CAACpC,IAAI,EACxD,CAACoC,MAAM,CAACpC,IAAI,CAAC,CACd;EAED,MAAM2D,kBAAkB,GAAGlE,KAAK,CAACiE,WAAW,CACzCnB,KAAkE,IACjEA,KAAK,KAAKpD,SAAS,IAAIoD,KAAK,CAACqB,KAAK,KAAK,KAAK,IAAIH,YAAY,CAAClB,KAAK,CAAC,EACrE,CAACkB,YAAY,CAAC,CACf;EAED,MAAM;IACJlB,KAAK,EAAEsB,YAAY;IACnBC,QAAQ,EAAEC,eAAe;IACzBC,QAAQ,EAAEC,eAAe;IACzBC,MAAM;IACNC,MAAM;IACNC;EACF,CAAC,GAAG3E,KAAK,CAACsC,UAAU,CAACsC,+BAAsB,CAAC;EAE5C,MAAMC,cAAc,GAAG7E,KAAK,CAAC4C,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMkC,YAAY,GAAG9E,KAAK,CAACiE,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAAC9E,SAAS,CAAC;IAC1BmF,cAAc,CAACnC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC8B,eAAe,CAAC,CAAC;EAErB,MAAMD,QAAQ,GAAGvE,KAAK,CAACiE,WAAW,CAC/BnB,KAAkE,IAAK;IACtE,IAAI+B,cAAc,CAACnC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA8B,eAAe,CAAC1B,KAAK,CAAC;EACxB,CAAC,EACD,CAAC0B,eAAe,CAAC,CAClB;EAED,MAAM,CAACO,gBAAgB,EAAEC,0BAA0B,CAAC,GAAGhF,KAAK,CAACiF,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG9B,UAAU,CAACjD,MAAM,CAE7C,CAACC,GAAG,EAAEmD,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC9C,KAAK;MAC7C,MAAM0E,uBAAuB,GAC3B,CAAA9C,KAAK,aAALA,KAAK,wCAALA,KAAK,CAAEQ,MAAM,kDAAb,cAAeC,KAAK,KAAI,IAAI,IAC5B,CAAAT,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeE,OAAO,MAAK,KAAK,IAChC,CAAAV,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeG,MAAM,MAAKO,IAAI,GAC1BlB,KAAK,CAACQ,MAAM,CAACA,MAAM,GACnBnD,SAAS;MAEfU,GAAG,CAACmD,IAAI,CAAC,GACPG,aAAa,KAAKhE,SAAS,IAAIyF,uBAAuB,KAAKzF,SAAS,GAChE;QACE,GAAGgE,aAAa;QAChB,GAAGyB;MACL,CAAC,GACDzF,SAAS;MAEf,OAAOU,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAACgE,YAAY,KAAK1E,SAAS,IAAI,CAACsE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA/B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACyC,eAAe,CAAC;QACrBhC,UAAU;QACVK,cAAc,EAAEyB,qBAAqB;QACrCvB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLhB,MAAM,CAAC0C,kBAAkB,CACvB,CAAAhD,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeC,KAAK,KAAKsB,YAAoC,EAC7D;QACEhB,UAAU;QACVK,cAAc,EAAEyB,qBAAqB;QACrCvB;MACF,CAAC,CACF,EACD,KAAK,CACN;IACH;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACS,YAAY,EAAEzB,MAAM,EAAEqB,YAAY,CAAC,CAAC;EAExC,MAAMsB,uBAAuB,GAAGtF,KAAK,CAAC4C,MAAM,CAACU,YAAY,CAAC;EAE1DtD,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC5C,OAAO,GAAGY,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMkC,oBAAoB,GAAGF,uBAAuB,CAAC5C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAoB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZW,gBAA0B;EAEjC,IAAIU,SAAgB,GAAG3C,KAAK;EAE5B,IACE,CAAC,IAAA4C,qBAAY,EAAC5C,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC,IAAAuC,sBAAa,EAACrC,YAAY,EAAEkC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG9C,MAAM,CAACiD,2BAA2B,CAAC9C,KAAK,EAAE;MACpDM,UAAU;MACVK,cAAc;MACdE,cAAc;MACdkC,eAAe,EAAEjC,MAAM,CAAC5C,IAAI,CAACsC,YAAY,CAAC,CAACwC,MAAM,CAC9ChF,IAAI,IACH0E,oBAAoB,CAACO,cAAc,CAACjF,IAAI,CAAC,IACzCwC,YAAY,CAACxC,IAAI,CAAC,KAAK0E,oBAAoB,CAAC1E,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAMkF,uBAAuB,GAAGhG,KAAK,CAAC4C,MAAM,CAACP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM,CAAC;EAE3D7C,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBS,uBAAuB,CAACtD,OAAO,GAAGL,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM;EACjD,CAAC,EAAE,CAACR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM,CAAC,CAAC;EAEnB,IAAIR,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEQ,MAAM,EAAE;IACjB,MAAMoD,cAAc,GAAGD,uBAAuB,CAACtD,OAAO;IAEtD,IAAIwD,MAAwC;IAE5C,IACE,OAAO7D,KAAK,CAACQ,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCT,KAAK,CAACQ,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BT,KAAK,CAACQ,MAAM,KAAKoD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAGC,sBAAa,CAACC,KAAK,CAAC/D,KAAK,CAACQ,MAAM,CAACC,KAAK,CAAC;IAClD,CAAC,MAAM,IACL,OAAOT,KAAK,CAACQ,MAAM,CAACG,MAAM,KAAK,QAAQ,KACrCX,KAAK,CAACQ,MAAM,CAACE,OAAO,KAAK,KAAK,IAAIiC,0BAA0B,IAC5D3C,KAAK,CAACQ,MAAM,KAAKoD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAGC,sBAAa,CAACE,QAAQ,CAAC;QAC9BvF,IAAI,EAAEuB,KAAK,CAACQ,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAER,KAAK,CAACQ,MAAM,CAACA,MAAM;QAC3ByD,IAAI,EAAEjE,KAAK,CAACQ,MAAM,CAACyD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGL,MAAM,GACvBvD,MAAM,CAAC6D,iBAAiB,CAACf,SAAS,EAAES,MAAM,EAAE;MAC1C9C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER8B,SAAS,GACPc,YAAY,KAAK,IAAI,GACjB5D,MAAM,CAAC0C,kBAAkB,CAACkB,YAAY,EAAE;MACtCnD,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF8B,SAAS;EACjB;EAEA,MAAMgB,YAAY,GAAG3D,KAAK,KAAK2C,SAAS;EAExC,IAAAiB,0BAAiB,EAAC,MAAM;IACtB,IAAID,YAAY,EAAE;MAChB;MACAlC,QAAQ,CAACkB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA3C,KAAK,GAAG2C,SAAS;EAEjBzF,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBd,MAAM,CAACtC,YAAY,CAAC;IAEpB,IAAI,CAACwC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACkB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAkB,UAAU,CAAC,MAAM;QACf,IAAIrC,eAAe,EAAE,KAAK5E,SAAS,IAAIgF,MAAM,EAAE,KAAKvC,YAAY,EAAE;UAChE2C,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM8B,mBAAmB,GAAG5G,KAAK,CAAC4C,MAAM,EAAS;EACjDgE,mBAAmB,CAAClE,OAAO,GAAGqC,gBAAgB;EAE9C,MAAMV,QAAQ,GAAGrE,KAAK,CAACiE,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZwC,mBAAmB,CAAClE,OAAiB;EAC5C,CAAC,EAAE,CAAC4B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAM2C,OAAO,GAAG,IAAAC,wBAAe,EAAuBC,CAAC,IAAK;IAC1D,IAAI3D,UAAU,GAAG,EAAE;IAEnB,IAAIf,KAAgC;IAEpC,IAAI0E,CAAC,CAACC,MAAM,EAAE;MAAA;MACZ3E,KAAK,GAAGS,KAAK,CAACmE,MAAM,CAACC,IAAI,CAAE7E,KAAK,IAAKA,KAAK,CAAC5C,GAAG,KAAKsH,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAI3E,KAAK,mCAAL,OAAOvB,IAAI,EAAE;QACfsC,UAAU,CAACrC,IAAI,CAACsB,KAAK,CAACvB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLuB,KAAK,GAAGS,KAAK,CAACmE,MAAM,CAACnE,KAAK,CAACqE,KAAK,CAAC;MACjC/D,UAAU,CAACrC,IAAI,CACb,GAAG6C,MAAM,CAAC5C,IAAI,CAACmC,OAAO,CAAC,CAAC2C,MAAM,CAAEhF,IAAI;QAAA;QAAA,OAAK,YAAAuB,KAAK,4CAAL,QAAOvB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIuB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAM+E,UAAU,GAAGC,WAAW,CAAChF,KAAK,CAAC5C,GAAG,CAAC,CAAC2H,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACD/E,eAAe,EACf,GAAGY,UAAU,CAACC,GAAG,CAAEvC,IAAI,IAAK;MAC1B,MAAM;QAAEwG;MAAU,CAAC,GAAGnE,OAAO,CAACrC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAO6G,SAAS;IAClB,CAAC,CAAC,CACH,CAACjE,GAAG,CAAEiE,SAAS,IAAK;MACnB,MAAMjE,GAAG,GACP,OAAOiE,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAEjF,KAAK,EAAEA,KAAY;QAAE+E;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAOjE,GAAG,GACNO,MAAM,CAAC5C,IAAI,CAACqC,GAAG,CAAC,CACbyC,MAAM,CAAEvF,IAAI,IAAKA,IAAI,KAAKwG,CAAC,CAACxG,IAAI,CAAC,CACjC8C,GAAG,CAAE9C,IAAI,IAAK8C,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAG9C,IAAI,CAAC,CAAC,GAC7Bb,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACCoG,MAAM,CAAC,CAAC0B,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAAC7F,OAAO,CAAEmG,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEF,IAAAc,uBAAc,EAAC;IAAE/E,KAAK;IAAE+D;EAAQ,CAAC,CAAC;EAElC7G,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBsB,OAAO,CAACiB,IAAI,CAAC;MAAEvH,IAAI,EAAE,OAAO;MAAEwH,IAAI,EAAE;QAAEjF;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC+D,OAAO,EAAE/D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEwE,SAAS,EAAEU,cAAc;IAAEC;EAAY,CAAC,GAAG,IAAAC,0BAAiB,GAAE;EAEtE,MAAM;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,+BAAsB,GAAE;EAErE,MAAMC,QAAQ,GAAG,IAAAC,oBAAW,EAAC;IAC3B5F,MAAM;IACN0B,QAAQ;IACRE,QAAQ;IACR9E,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACf+I,eAAe,EAAER,cAAc,CAAC9B,MAAM;IACtCuC,qBAAqB,EAAEN,cAAc,CAACO,YAAY;IAClDC,mBAAmB,EAAE;MACnBvF,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACDkD;EACF,CAAC,CAAC;EAEF,MAAM+B,YAAY,GAAG,IAAAC,wBAAe,EAAC;IACnClG,MAAM;IACNlD,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACf4E,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAM6C,UAAU,GAAG,IAAA0B,6BAAoB,EAKrC;IACAC,EAAE,EAAE9H,OAAO,CAAC8H,EAAE;IACdT,QAAQ;IACRjE,QAAQ;IACRwC,OAAO;IACPlE;EACF,CAAC,CAAC;EAEF,IAAAqG,2CAAkC,EAAC;IACjC5B,UAAU;IACV6B,gBAAgB,EAAEjB,cAAc,CAACkB;EACnC,CAAC,CAAC;EAEF,IAAAC,sBAAa,EAAC;IACZ9E,QAAQ;IACR+E,iBAAiB,EAAEjB,cAAc,CAAC9D;EACpC,CAAC,CAAC;EAEF,MAAMgD,WAAW,GAAG,IAAAgC,uBAAc,EAKhC;IACAvG,KAAK;IACLK,OAAO;IACPiE,UAAU;IACVhG,aAAa,EAAEH,OAAO,CAACG,aAAa;IACpCkI,oBAAoB,EAAErI,OAAO,CAACqI,oBAAoB;IAClDhB,QAAQ;IACRjE,QAAQ;IACRE,QAAQ;IACRqE,YAAY;IACZX,WAAW;IACXG,gBAAgB;IAChBzF,MAAM;IACN;IACAkE;EACF,CAAC,CAAC;EAEF,IAAA0C,yBAAgB,EAAC;IACfzG,KAAK;IACLsE,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMmC,iBAAiB,GAAG,IAAAC,qBAAY,EAAE7J,QAAyB,iBAC/D,oBAAC,iCAAwB,CAAC,QAAQ;IAAC,KAAK,EAAEwH;EAAW,gBACnD,oBAAC,8BAAqB,QAAExH,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACLkD,KAAK;IACLsE,UAAU;IACVC,WAAW;IACXmC;EACF,CAAC;AACH"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","defaultScreenOptions","useDescriptors","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","defaultScreenOptions","useDescriptors","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js index 1d42c3a..06f6bde 100644 @@ -243,7 +250,7 @@ index 77a198a..b329172 100644 +{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..fc3393c 100644 +index 6fb49e0..1e28e46 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js @@ -35,7 +35,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != @@ -255,7 +262,7 @@ index 6fb49e0..fc3393c 100644 const configs = React.Children.toArray(children).reduce((acc, child) => { var _child$type, _child$props; if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -46,9 +46,16 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -46,10 +46,21 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); } @@ -263,32 +270,39 @@ index 6fb49e0..fc3393c 100644 + if (convertCustomScreenOptions !== undefined && groupOptions !== undefined) { + convertedGroupOptions = groupOptions.map(convertCustomScreenOptions); + } ++ let options = child.props.options; + if (convertCustomScreenOptions !== undefined) { -+ child.props.options = convertCustomScreenOptions(child.props.options); ++ options = convertCustomScreenOptions(child.props.options); + } acc.push({ keys: [groupKey, child.props.navigationKey], - options: groupOptions, +- props: child.props + options: convertedGroupOptions, - props: child.props ++ props: { ++ ...child.props, ++ options ++ } }); return acc; -@@ -57,10 +64,13 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { + } +@@ -57,10 +68,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { if (!isValidKey(child.props.navigationKey)) { throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); } ++ let screenOptions = child.props.screenOptions; + if (convertCustomScreenOptions !== undefined) { -+ child.props.screenOptions = convertCustomScreenOptions(child.props.screenOptions); ++ screenOptions = convertCustomScreenOptions(child.props.screenOptions); + } // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens - acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], convertCustomScreenOptions)); ++ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, screenOptions] : [screenOptions], convertCustomScreenOptions)); return acc; } } -@@ -119,9 +129,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -119,9 +134,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. @@ -301,7 +315,7 @@ index 6fb49e0..fc3393c 100644 const navigatorKey = useRegisterNavigator(); const route = React.useContext(NavigationRouteContext); const { -@@ -137,7 +149,7 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -137,7 +154,7 @@ export default function useNavigationBuilder(createRouter, options) { initialRouteName: route.params.screen } : null) })); @@ -310,7 +324,7 @@ index 6fb49e0..fc3393c 100644 const screens = routeConfigs.reduce((acc, config) => { if (config.props.name in acc) { throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -410,12 +422,14 @@ export default function useNavigationBuilder(createRouter, options) { +@@ -410,12 +427,14 @@ export default function useNavigationBuilder(createRouter, options) { getState, getStateListeners: keyedListeners.getState }); @@ -328,13 +342,13 @@ index 6fb49e0..fc3393c 100644 getState, setState, diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..6643d40 100644 +index 5d5cdbd..57445b7 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -882,13 +896,13 @@ index 53d474e..4243c7b 100644 children: React.ReactNode; }) => JSX.Element; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..68ef2d1 100644 +index 33762f4..3005645 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,SAAS,KAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AAsNxD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAC7D,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2dF"} ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,SAAS,KAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AAqNxD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAC7D,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2dF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 @@ -1037,7 +1051,7 @@ index d5a192c..e39b723 100644 getState: () => State; setState: (state: State) => void; diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..812325a 100644 +index 7d550e0..17e9e57 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx @@ -23,12 +23,12 @@ import PreventRemoveProvider from './PreventRemoveProvider'; @@ -1114,32 +1128,30 @@ index 7d550e0..812325a 100644 ) => { const configs = React.Children.toArray(children).reduce< ScreenConfigWithParent[] -@@ -107,16 +113,34 @@ const getRouteConfigsFromChildren = < +@@ -107,16 +113,32 @@ const getRouteConfigsFromChildren = < ); } -+ let convertedGroupOptions = groupOptions as ScreenConfigWithParent< -+ State, -+ ScreenOptions, -+ EventMap -+ >['options']; ++ let convertedGroupOptions = groupOptions as ++ | (ScreenOptionsOrCallback | undefined)[] ++ | undefined; + if ( + convertCustomScreenOptions !== undefined && + groupOptions !== undefined + ) { + convertedGroupOptions = ( -+ groupOptions as NonNullable< -+ ScreenConfigWithParent< -+ State, -+ CustomScreenOptions, -+ EventMap -+ >['options'] -+ > ++ groupOptions as ( ++ | ScreenOptionsOrCallback ++ | undefined ++ )[] + ).map(convertCustomScreenOptions); + } + ++ let options = child.props.options as ++ | ScreenOptionsOrCallback ++ | undefined; + if (convertCustomScreenOptions !== undefined) { -+ child.props.options = convertCustomScreenOptions(child.props.options); ++ options = convertCustomScreenOptions(child.props.options); + } + acc.push({ @@ -1153,18 +1165,19 @@ index 7d550e0..812325a 100644 - EventMap - >, + options: convertedGroupOptions, -+ props: child.props, ++ props: { ...child.props, options }, }); return acc; } -@@ -130,17 +154,29 @@ const getRouteConfigsFromChildren = < +@@ -130,17 +152,30 @@ const getRouteConfigsFromChildren = < ); } ++ let screenOptions = child.props.screenOptions as ++ | ScreenOptionsOrCallback ++ | undefined; + if (convertCustomScreenOptions !== undefined) { -+ child.props.screenOptions = convertCustomScreenOptions( -+ child.props.screenOptions -+ ); ++ screenOptions = convertCustomScreenOptions(child.props.screenOptions); + } + // When we encounter a fragment or group, we need to dive into its children to extract the configs @@ -1182,14 +1195,15 @@ index 7d550e0..812325a 100644 child.type !== Group ? groupOptions : groupOptions != null - ? [...groupOptions, child.props.screenOptions] +- ? [...groupOptions, child.props.screenOptions] - : [child.props.screenOptions] -+ : [child.props.screenOptions], ++ ? [...groupOptions, screenOptions] ++ : [screenOptions], + convertCustomScreenOptions ) ); return acc; -@@ -250,6 +286,8 @@ const getRouteConfigsFromChildren = < +@@ -250,6 +285,8 @@ const getRouteConfigsFromChildren = < * * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. @@ -1198,7 +1212,7 @@ index 7d550e0..812325a 100644 * @returns An object containing `state`, `navigation`, `descriptors` objects. */ export default function useNavigationBuilder< -@@ -257,17 +295,22 @@ export default function useNavigationBuilder< +@@ -257,17 +294,22 @@ export default function useNavigationBuilder< RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record void>, ScreenOptions extends {}, @@ -1225,7 +1239,7 @@ index 7d550e0..812325a 100644 ) { const navigatorKey = useRegisterNavigator(); -@@ -291,8 +334,9 @@ export default function useNavigationBuilder< +@@ -291,8 +333,9 @@ export default function useNavigationBuilder< const routeConfigs = getRouteConfigsFromChildren< State, ScreenOptions, @@ -1237,7 +1251,7 @@ index 7d550e0..812325a 100644 const screens = routeConfigs.reduce< Record> -@@ -679,6 +723,28 @@ export default function useNavigationBuilder< +@@ -679,6 +722,28 @@ export default function useNavigationBuilder< getStateListeners: keyedListeners.getState, }); @@ -1266,7 +1280,7 @@ index 7d550e0..812325a 100644 const descriptors = useDescriptors< State, ActionHelpers, -@@ -688,8 +754,8 @@ export default function useNavigationBuilder< +@@ -688,8 +753,8 @@ export default function useNavigationBuilder< state, screens, navigation, From 1a992c78e14fa021acb42e53995d59f16c6fa980 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 15:35:01 +0200 Subject: [PATCH 120/178] simplify types --- .../index.native.tsx | 14 +++++++---- .../index.tsx | 14 +++++++---- .../types/PlatformStackNavigator.ts | 14 ----------- .../PlatformStackNavigation/types/index.ts | 23 +++++++++++++++++-- 4 files changed, 41 insertions(+), 24 deletions(-) delete mode 100644 src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 44dc7e9f099b8..21d096aa20c87 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -6,10 +6,16 @@ import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions'; -import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + CreatePlatformStackNavigatorComponentOptions, + CustomCodeProps, + CustomCodePropsWithTransformedState, + PlatformNavigationBuilderOptions, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackNavigatorProps, + PlatformStackRouterOptions, +} from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 0a6dec8455693..6dc463042b8e3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -6,10 +6,16 @@ import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import convertToWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions'; -import type {PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformNavigationBuilderOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type PlatformStackNavigatorProps from '@libs/Navigation/PlatformStackNavigation/types'; +import type { + CreatePlatformStackNavigatorComponentOptions, + CustomCodeProps, + CustomCodePropsWithTransformedState, + PlatformNavigationBuilderOptions, + PlatformStackNavigationOptions, + PlatformStackNavigationState, + PlatformStackNavigatorProps, + PlatformStackRouterOptions, +} from '@libs/Navigation/PlatformStackNavigation/types'; function createPlatformStackNavigatorComponent( displayName: string, diff --git a/src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts b/src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts deleted file mode 100644 index 4374417b93df3..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/types/PlatformStackNavigator.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type {DefaultNavigatorOptions, ParamListBase} from '@react-navigation/native'; -import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; -import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, PlatformStackRouterOptions} from '.'; - -// Props to configure the the PlatformStackNavigator -type PlatformStackNavigatorProps< - ParamList extends ParamListBase, - RouteName extends keyof ParamList = keyof ParamList, - RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, -> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & - RouterOptions & - StackNavigationConfig; - -export default PlatformStackNavigatorProps; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index 61286d5a3a989..a5a8684d9cff1 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -1,6 +1,16 @@ -import type {NavigationProp, ParamListBase, RouteProp, RouterFactory, ScreenOptionsOrCallback, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type { + DefaultNavigatorOptions, + NavigationProp, + ParamListBase, + RouteProp, + RouterFactory, + ScreenOptionsOrCallback, + StackNavigationState, + StackRouterOptions, +} from '@react-navigation/native'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import type {StackNavigationConfig} from '@react-navigation/stack/lib/typescript/src/types'; import type CommonProperties from '@src/types/utils/CommonProperties'; import type {PlatformStackNavigationOptions} from './NavigationOptions'; @@ -51,6 +61,15 @@ type PlatformStackScreenProps< navigation: NavigationPropType; }; +// Props to configure the the PlatformStackNavigator +type PlatformStackNavigatorProps< + ParamList extends ParamListBase, + RouteName extends keyof ParamList = keyof ParamList, + RouterOptions extends PlatformStackRouterOptions = PlatformStackRouterOptions, +> = DefaultNavigatorOptions, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, RouteName> & + RouterOptions & + StackNavigationConfig; + // The "screenOptions" and "defaultScreenOptions" can either be an object of navigation options or // a factory function that returns the navigation options based on route and navigation props. // These types are used to represent the screen options and their factory functions. @@ -71,9 +90,9 @@ export type { PlatformStackNavigationProp, PlatformStackRouteProp, PlatformStackScreenProps, + PlatformStackNavigatorProps, }; export * from './NavigationBuilder'; export * from './NavigationOptions'; export * from './NavigatorComponent'; -export type {default as PlatformStackNavigator} from './PlatformStackNavigator'; From f132d9cc74d92a15a51ee30cc4b233278362f938 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 18:37:44 +0200 Subject: [PATCH 121/178] update patch --- ...+002+platform-navigation-stack-types.patch | 769 +++++++++++------- 1 file changed, 465 insertions(+), 304 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 256477476fc82..d73904ac06d12 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -59,69 +59,93 @@ index a3da390..bca9dc0 100644 \ No newline at end of file +{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAmLO,MAAMA,iBAAiB,CAA4B;AAYzD"} \ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js +index 778981c..5ec8c4f 100644 +--- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js ++++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js +@@ -21,8 +21,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ +-function useDescriptors(_ref) { ++function useDescriptors(_ref, convertCustomScreenOptions) { + let { + state, + screens, +@@ -67,29 +69,43 @@ function useDescriptors(_ref) { + const config = screens[route.name]; + const screen = config.props; + const navigation = navigations[route.key]; +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...(config.options ? config.options.filter(Boolean) : []), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- options[route.key]]; +- const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, +- // @ts-expect-error: we check for function but TS still complains +- typeof curr !== 'function' ? curr : curr({ ++ const optionsList = []; ++ if (convertCustomScreenOptions) { ++ optionsList.push([ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions(screenOptions), ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions(screen.options), ++ // The options set via `navigation.setOptions` ++ convertCustomScreenOptions(options[route.key])]); ++ } else { ++ optionsList.push([ ++ // The default `screenOptions` passed to the navigator ++ screenOptions, ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean) : []), ++ // The `options` prop passed to `Screen` elements, ++ screen.options, ++ // The options set via `navigation.setOptions` ++ options[route.key]]); ++ } ++ const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, typeof curr !== 'function' ? curr : curr({ + route, + navigation + })), {}); ++ const customDefaultScreenOptions = (convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(defaultScreenOptions)) ?? defaultScreenOptions; + const mergedOptions = { + ...(typeof defaultScreenOptions === 'function' ? ++ // In Expensify's PlatformStackNavigation we don't allow a callback function for `defaultScreenOptions`, ++ // therefore we don't need to convert any custom default options when it's a function. + // @ts-expect-error: ts gives incorrect error here + defaultScreenOptions({ + route, + navigation, + options: customOptions +- }) : defaultScreenOptions), ++ }) : customDefaultScreenOptions), + ...customOptions + }; + const clearOptions = () => setOptions(o => { diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -index d2248a2..9419f8d 100644 +index d2248a2..1c4fe0c 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map @@ -1 +1 @@ -{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} ++{"version":3,"names":["useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","push","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -index 14338b9..bc399fe 100644 +index 14338b9..70564a7 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js -@@ -43,7 +43,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != - * - * @param children React Elements to extract the config from. - */ --const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { -+const getRouteConfigsFromChildren = (children, groupKey, groupOptions, convertCustomScreenOptions) => { - const configs = React.Children.toArray(children).reduce((acc, child) => { - var _child$type, _child$props; - if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -54,10 +54,21 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - if (!isValidKey(child.props.navigationKey)) { - throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); - } -+ let convertedGroupOptions = groupOptions; -+ if (convertCustomScreenOptions !== undefined && groupOptions !== undefined) { -+ convertedGroupOptions = groupOptions.map(convertCustomScreenOptions); -+ } -+ let options = child.props.options; -+ if (convertCustomScreenOptions !== undefined) { -+ options = convertCustomScreenOptions(child.props.options); -+ } - acc.push({ - keys: [groupKey, child.props.navigationKey], -- options: groupOptions, -- props: child.props -+ options: convertedGroupOptions, -+ props: { -+ ...child.props, -+ options -+ } - }); - return acc; - } -@@ -65,10 +76,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - if (!isValidKey(child.props.navigationKey)) { - throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); - } -+ let screenOptions = child.props.screenOptions; -+ if (convertCustomScreenOptions !== undefined) { -+ screenOptions = convertCustomScreenOptions(child.props.screenOptions); -+ } - - // When we encounter a fragment or group, we need to dive into its children to extract the configs - // This is handy to conditionally define a group of screens -- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [...groupOptions, screenOptions] : [screenOptions], convertCustomScreenOptions)); - return acc; - } - } -@@ -127,9 +142,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -127,9 +127,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. @@ -134,16 +158,7 @@ index 14338b9..bc399fe 100644 const navigatorKey = (0, _useRegisterNavigator.default)(); const route = React.useContext(_NavigationRouteContext.default); const { -@@ -145,7 +162,7 @@ function useNavigationBuilder(createRouter, options) { - initialRouteName: route.params.screen - } : null) - })); -- const routeConfigs = getRouteConfigsFromChildren(children); -+ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); - const screens = routeConfigs.reduce((acc, config) => { - if (config.props.name in acc) { - throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -182,10 +199,6 @@ function useNavigationBuilder(createRouter, options) { +@@ -182,10 +184,6 @@ function useNavigationBuilder(createRouter, options) { getIsInitial } = React.useContext(_NavigationStateContext.default); const stateCleanedUp = React.useRef(false); @@ -154,7 +169,7 @@ index 14338b9..bc399fe 100644 const setState = React.useCallback(state => { if (stateCleanedUp.current) { // State might have been already cleaned up due to unmount -@@ -299,6 +312,9 @@ function useNavigationBuilder(createRouter, options) { +@@ -299,6 +297,9 @@ function useNavigationBuilder(createRouter, options) { // So we override the state object we return to use the latest state as soon as possible state = nextState; React.useEffect(() => { @@ -164,7 +179,7 @@ index 14338b9..bc399fe 100644 setKey(navigatorKey); if (!getIsInitial()) { // If it's not initial render, we need to update the state -@@ -308,14 +324,10 @@ function useNavigationBuilder(createRouter, options) { +@@ -308,14 +309,10 @@ function useNavigationBuilder(createRouter, options) { } return () => { // We need to clean up state for this navigator on unmount @@ -183,31 +198,23 @@ index 14338b9..bc399fe 100644 }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); -@@ -423,12 +435,14 @@ function useNavigationBuilder(createRouter, options) { - getState, - getStateListeners: keyedListeners.getState - }); -+ const screenOptions = convertCustomScreenOptions === undefined ? options.screenOptions : convertCustomScreenOptions(options.screenOptions); -+ const defaultScreenOptions = convertCustomScreenOptions === undefined ? options.defaultScreenOptions : convertCustomScreenOptions(options.defaultScreenOptions); - const descriptors = (0, _useDescriptors.default)({ +@@ -438,7 +435,7 @@ function useNavigationBuilder(createRouter, options) { + router, + // @ts-expect-error: this should have both core and custom events, but too much work right now + emitter +- }); ++ }, convertCustomScreenOptions); + (0, _useCurrentRender.default)({ state, - screens, navigation, -- screenOptions: options.screenOptions, -- defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions, -+ defaultScreenOptions, - onAction, - getState, - setState, diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map -index 55b77ca..06074e2 100644 +index 55b77ca..564a9dc 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","defaultScreenOptions","useDescriptors","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js index 1d42c3a..06f6bde 100644 @@ -240,69 +247,93 @@ index 21fd3e8..29de331 100644 \ No newline at end of file +{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAmLA,OAAO,MAAMA,iBAAiB,CAA4B"} \ No newline at end of file +diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js b/node_modules/@react-navigation/core/lib/module/useDescriptors.js +index b8f73f9..726800e 100644 +--- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js ++++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js +@@ -12,8 +12,10 @@ import useRouteCache from './useRouteCache'; + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ +-export default function useDescriptors(_ref) { ++export default function useDescriptors(_ref, convertCustomScreenOptions) { + let { + state, + screens, +@@ -58,29 +60,43 @@ export default function useDescriptors(_ref) { + const config = screens[route.name]; + const screen = config.props; + const navigation = navigations[route.key]; +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...(config.options ? config.options.filter(Boolean) : []), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- options[route.key]]; +- const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, +- // @ts-expect-error: we check for function but TS still complains +- typeof curr !== 'function' ? curr : curr({ ++ const optionsList = []; ++ if (convertCustomScreenOptions) { ++ optionsList.push([ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions(screenOptions), ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean).map(convertCustomScreenOptions) : []), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions(screen.options), ++ // The options set via `navigation.setOptions` ++ convertCustomScreenOptions(options[route.key])]); ++ } else { ++ optionsList.push([ ++ // The default `screenOptions` passed to the navigator ++ screenOptions, ++ // The `screenOptions` props passed to `Group` elements ++ ...(config.options ? config.options.filter(Boolean) : []), ++ // The `options` prop passed to `Screen` elements, ++ screen.options, ++ // The options set via `navigation.setOptions` ++ options[route.key]]); ++ } ++ const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, typeof curr !== 'function' ? curr : curr({ + route, + navigation + })), {}); ++ const customDefaultScreenOptions = (convertCustomScreenOptions === null || convertCustomScreenOptions === void 0 ? void 0 : convertCustomScreenOptions(defaultScreenOptions)) ?? defaultScreenOptions; + const mergedOptions = { + ...(typeof defaultScreenOptions === 'function' ? ++ // In Expensify's PlatformStackNavigation we don't allow a callback function for `defaultScreenOptions`, ++ // therefore we don't need to convert any custom default options when it's a function. + // @ts-expect-error: ts gives incorrect error here + defaultScreenOptions({ + route, + navigation, + options: customOptions +- }) : defaultScreenOptions), ++ }) : customDefaultScreenOptions), + ...customOptions + }; + const clearOptions = () => setOptions(o => { diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -index 77a198a..b329172 100644 +index 77a198a..006eff2 100644 --- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map @@ -1 +1 @@ -{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"AAMA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAOC,wBAAwB,MAGxB,4BAA4B;AACnC,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,sBAAsB,MAAM,0BAA0B;AAC7D,OAAOC,SAAS,MAAM,aAAa;AAYnC,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,aAAa,MAAM,iBAAiB;AAmC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,cAAc,OAmBM;EAAA,IAd1C;IACAC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,aAAa;IACbC,oBAAoB;IACpBC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZC,MAAM;IACNC;EACuC,CAAC;EACxC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGtB,KAAK,CAACuB,QAAQ,CAAyB,CAAC,CAAC,CAAC;EACxE,MAAM;IAAEC,gBAAgB;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG1B,KAAK,CAAC2B,UAAU,CACtE1B,wBAAwB,CACzB;EAED,MAAM2B,OAAO,GAAG5B,KAAK,CAAC6B,OAAO,CAC3B,OAAO;IACLnB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZM,gBAAgB;IAChBC,eAAe;IACfC;EACF,CAAC,CAAC,EACF,CACEhB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZM,gBAAgB,EAChBC,eAAe,EACfC,QAAQ,CACT,CACF;EAED,MAAMI,WAAW,GAAGzB,kBAAkB,CAAiC;IACrEG,KAAK;IACLM,QAAQ;IACRJ,UAAU;IACVY,UAAU;IACVH,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMW,MAAM,GAAGzB,aAAa,CAACE,KAAK,CAACuB,MAAM,CAAC;EAE1C,OAAOA,MAAM,CAACC,MAAM,CAiBlB,CAACC,GAAG,EAAEC,KAAK,EAAEC,CAAC,KAAK;IACnB,MAAMC,MAAM,GAAG3B,OAAO,CAACyB,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAC3B,MAAM7B,UAAU,GAAGoB,WAAW,CAACI,KAAK,CAACM,GAAG,CAAC;IAEzC,MAAMC,WAAW,GAAG;IAClB;IACA9B,aAAa;IACb;IACA,IAAKyB,MAAM,CAACf,OAAO,GACfe,MAAM,CAACf,OAAO,CAACqB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAL,MAAM,CAACjB,OAAO;IACd;IACAA,OAAO,CAACa,KAAK,CAACM,GAAG,CAAC,CACnB;IAED,MAAMI,aAAa,GAAGH,WAAW,CAACT,MAAM,CACtC,CAACC,GAAG,EAAEY,IAAI,KACRC,MAAM,CAACC,MAAM,CACXd,GAAG;IACH;IACA,OAAOY,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAGA,IAAI,CAAC;MAAEX,KAAK;MAAExB;IAAW,CAAC,CAAC,CAChE,EACH,CAAC,CAAC,CACH;IAED,MAAMsC,aAAa,GAAG;MACpB,IAAI,OAAOpC,oBAAoB,KAAK,UAAU;MAC1C;MACAA,oBAAoB,CAAC;QACnBsB,KAAK;QACLxB,UAAU;QACVW,OAAO,EAAEuB;MACX,CAAC,CAAC,GACFhC,oBAAoB,CAAC;MACzB,GAAGgC;IACL,CAAC;IAED,MAAMK,YAAY,GAAG,MACnB3B,UAAU,CAAE4B,CAAC,IAAK;MAChB,IAAIhB,KAAK,CAACM,GAAG,IAAIU,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAAChB,KAAK,CAACM,GAAG,GAAGW,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGF,CAAC;QACrC,OAAOE,IAAI;MACb;MAEA,OAAOF,CAAC;IACV,CAAC,CAAC;IAEJjB,GAAG,CAACC,KAAK,CAACM,GAAG,CAAC,GAAG;MACfN,KAAK;MACL;MACAxB,UAAU;MACV2C,MAAM,GAAG;QACP,oBACE,oBAAC,wBAAwB,CAAC,QAAQ;UAAC,GAAG,EAAEnB,KAAK,CAACM,GAAI;UAAC,KAAK,EAAEZ;QAAQ,gBAChE,oBAAC,iBAAiB,CAAC,QAAQ;UAAC,KAAK,EAAElB;QAAW,gBAC5C,oBAAC,sBAAsB,CAAC,QAAQ;UAAC,KAAK,EAAEwB;QAAM,gBAC5C,oBAAC,SAAS;UACR,UAAU,EAAExB,UAAW;UACvB,KAAK,EAAEwB,KAAM;UACb,MAAM,EAAEI,MAAO;UACf,UAAU,EAAE9B,KAAK,CAACuB,MAAM,CAACI,CAAC,CAAC,CAAC3B,KAAM;UAClC,QAAQ,EAAEM,QAAS;UACnB,QAAQ,EAAEC,QAAS;UACnB,OAAO,EAAEiC,aAAc;UACvB,YAAY,EAAEC;QAAa,EAC3B,CAC8B,CACP,CACK;MAExC,CAAC;MACD5B,OAAO,EAAE2B;IACX,CAAC;IAED,OAAOf,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACR"} ++{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","push","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -index 6fb49e0..1e28e46 100644 +index 6fb49e0..e17764e 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js -@@ -35,7 +35,7 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key != - * - * @param children React Elements to extract the config from. - */ --const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { -+const getRouteConfigsFromChildren = (children, groupKey, groupOptions, convertCustomScreenOptions) => { - const configs = React.Children.toArray(children).reduce((acc, child) => { - var _child$type, _child$props; - if ( /*#__PURE__*/React.isValidElement(child)) { -@@ -46,10 +46,21 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - if (!isValidKey(child.props.navigationKey)) { - throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the screen '${child.props.name}'. It must be a non-empty string or 'undefined'.`); - } -+ let convertedGroupOptions = groupOptions; -+ if (convertCustomScreenOptions !== undefined && groupOptions !== undefined) { -+ convertedGroupOptions = groupOptions.map(convertCustomScreenOptions); -+ } -+ let options = child.props.options; -+ if (convertCustomScreenOptions !== undefined) { -+ options = convertCustomScreenOptions(child.props.options); -+ } - acc.push({ - keys: [groupKey, child.props.navigationKey], -- options: groupOptions, -- props: child.props -+ options: convertedGroupOptions, -+ props: { -+ ...child.props, -+ options -+ } - }); - return acc; - } -@@ -57,10 +68,14 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { - if (!isValidKey(child.props.navigationKey)) { - throw new Error(`Got an invalid 'navigationKey' prop (${JSON.stringify(child.props.navigationKey)}) for the group. It must be a non-empty string or 'undefined'.`); - } -+ let screenOptions = child.props.screenOptions; -+ if (convertCustomScreenOptions !== undefined) { -+ screenOptions = convertCustomScreenOptions(child.props.screenOptions); -+ } - - // When we encounter a fragment or group, we need to dive into its children to extract the configs - // This is handy to conditionally define a group of screens -- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions])); -+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== Group ? groupOptions : groupOptions != null ? [...groupOptions, screenOptions] : [screenOptions], convertCustomScreenOptions)); - return acc; - } - } -@@ -119,9 +134,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { +@@ -119,9 +119,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => { * * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. @@ -315,40 +346,23 @@ index 6fb49e0..1e28e46 100644 const navigatorKey = useRegisterNavigator(); const route = React.useContext(NavigationRouteContext); const { -@@ -137,7 +154,7 @@ export default function useNavigationBuilder(createRouter, options) { - initialRouteName: route.params.screen - } : null) - })); -- const routeConfigs = getRouteConfigsFromChildren(children); -+ const routeConfigs = getRouteConfigsFromChildren(children, undefined, undefined, convertCustomScreenOptions); - const screens = routeConfigs.reduce((acc, config) => { - if (config.props.name in acc) { - throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`); -@@ -410,12 +427,14 @@ export default function useNavigationBuilder(createRouter, options) { - getState, - getStateListeners: keyedListeners.getState - }); -+ const screenOptions = convertCustomScreenOptions === undefined ? options.screenOptions : convertCustomScreenOptions(options.screenOptions); -+ const defaultScreenOptions = convertCustomScreenOptions === undefined ? options.defaultScreenOptions : convertCustomScreenOptions(options.defaultScreenOptions); - const descriptors = useDescriptors({ +@@ -425,7 +427,7 @@ export default function useNavigationBuilder(createRouter, options) { + router, + // @ts-expect-error: this should have both core and custom events, but too much work right now + emitter +- }); ++ }, convertCustomScreenOptions); + useCurrentRender({ state, - screens, navigation, -- screenOptions: options.screenOptions, -- defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions, -+ defaultScreenOptions, - onAction, - getState, - setState, diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map -index 5d5cdbd..57445b7 100644 +index 5d5cdbd..9724f28 100644 --- a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map +++ b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js.map @@ -1 +1 @@ -{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","setTimeout","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","convertCustomScreenOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","convertedGroupOptions","map","options","push","keys","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} ++{"version":3,"names":["CommonActions","React","isValidElementType","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","Children","toArray","reduce","acc","child","isValidElement","type","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","route","useContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","initializedStateRef","emitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","defaultScreenOptions","NavigationContent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/__tests__/BaseNavigationContainer.test.d.ts new file mode 100644 @@ -753,7 +767,7 @@ index 366138e..b8b7de5 100644 +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,OAAO,IAAI,oBAAoB,GAChC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,2BAA2B,CAAC"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts -index fcd456b..58ca24e 100644 +index fcd456b..f0b0bdb 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts @@ -7,7 +7,20 @@ declare global { @@ -798,24 +812,32 @@ index fcd456b..58ca24e 100644 }; export type EventMapBase = Record = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; + export type RouteConfig = { + /** + * Optional key for this screen. This doesn't need to be unique. diff --git a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map -index 6594ef4..ef54dd9 100644 +index 6594ef4..f6c839d 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} \ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts -index b0f331a..81159a4 100644 +index b0f331a..195ea3c 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts +++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts @@ -1,26 +1,18 @@ import type { NavigationAction, NavigationState, ParamListBase, Router } from '@react-navigation/routers'; import { AddKeyedListener, AddListener } from './NavigationBuilderContext'; -import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types'; -+import type { DefaultScreenOptionsOrCallback, Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp, ScreenOptionsOrCallback } from './types'; ++import type { ConvertCustomScreenOptions, DefaultScreenOptionsOrCallback, Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp, ScreenOptionsOrCallback } from './types'; import type { NavigationEventEmitter } from './useEventEmitter'; export type ScreenConfigWithParent = { keys: (string | undefined)[]; @@ -826,39 +848,54 @@ index b0f331a..81159a4 100644 - route: RouteProp; - navigation: any; -}) => ScreenOptions); - type Options = { +-type Options = { ++type Options = { state: State; - screens: Record>; +- screens: Record>; ++ screens: Record>; navigation: NavigationHelpers; - screenOptions?: ScreenOptionsOrCallback; +- screenOptions?: ScreenOptionsOrCallback; - defaultScreenOptions?: ScreenOptions | ((props: { - route: RouteProp; - navigation: any; - options: ScreenOptions; - }) => ScreenOptions); -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; ++ screenOptions?: ScreenOptionsOrCallback; ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback; onAction: (action: NavigationAction) => boolean; getState: () => State; setState: (state: State) => void; +@@ -37,8 +29,10 @@ type Options void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, defaultScreenOptions, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options): Record void>, ScreenOptions extends {}, EventMap extends EventMapBase, CustomScreenOptions extends {} = ScreenOptions>({ state, screens, navigation, screenOptions, defaultScreenOptions, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options, convertCustomScreenOptions: ConvertCustomScreenOptions | undefined): Record = { -+import { DefaultNavigatorOptions, DefaultScreenOptionsOrCallback, EventMapCore, PrivateValueStore, ScreenOptionsOrCallback } from './types'; ++import { ConvertCustomScreenOptions, DefaultNavigatorOptions, DefaultScreenOptionsOrCallback, EventMapCore, PrivateValueStore } from './types'; +export type NavigationBuilderOptions = { /** * Default options specified by the navigator. @@ -871,7 +908,6 @@ index 53d474e..4243c7b 100644 - }) => ScreenOptions); + defaultScreenOptions?: DefaultScreenOptionsOrCallback; }; -+type ConvertCustomScreenOptions = (options: ScreenOptionsOrCallback | undefined) => ScreenOptionsOrCallback | undefined; /** * Hook for building navigators. * @@ -886,7 +922,7 @@ index 53d474e..4243c7b 100644 state: State; navigation: { dispatch(action: Readonly<{ -@@ -168,7 +167,7 @@ export default function useNavigationBuilder, {}, {}> | undefined>(id?: string | undefined): T_1; setParams(params: Partial): void; setOptions(options: Partial): void; @@ -895,14 +931,18 @@ index 53d474e..4243c7b 100644 NavigationContent: ({ children }: { children: React.ReactNode; }) => JSX.Element; + }; +-export {}; + //# sourceMappingURL=useNavigationBuilder.d.ts.map +\ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map -index 33762f4..3005645 100644 +index 33762f4..9800d08 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EAEvB,YAAY,EAEZ,iBAAiB,EAEjB,SAAS,EACV,MAAM,SAAS,CAAC;AAoBjB,KAAK,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IACxD;;;OAGG;IACH,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;CAC1B,CAAC;AAwLF;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,CAAC,GACvC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0chB"} \ No newline at end of file -+{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AAOF,KAAK,0BAA0B,CAC7B,mBAAmB,SAAS,EAAE,EAC9B,aAAa,SAAS,EAAE,IACtB,CACF,OAAO,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,SAAS,KAC9D,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;AAqNxD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAC7D,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2dF"} ++{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,eAAe,EACf,aAAa,EACb,YAAY,EAIZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAE9B,YAAY,EAEZ,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAoBjB,MAAM,MAAM,wBAAwB,CAAC,aAAa,SAAS,EAAE,IAAI;IAC/D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,CAAC,aAAa,CAAC,CAAC;CACtE,CAAC;AA4LF;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EACtD,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,GAAG,mBAAmB,EACnC,QAAQ,CACT,GACC,wBAAwB,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAC7D,aAAa,EACf,0BAA0B,CAAC,EAAE,0BAA0B,CACrD,mBAAmB,EACnB,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgdF"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/src/index.tsx b/node_modules/@react-navigation/core/src/index.tsx index 61706b6..9db0c9d 100644 @@ -921,7 +961,7 @@ index 61706b6..9db0c9d 100644 export { default as useNavigationState } from './useNavigationState'; export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; diff --git a/node_modules/@react-navigation/core/src/types.tsx b/node_modules/@react-navigation/core/src/types.tsx -index b691d75..03df5ab 100644 +index b691d75..e9b8ea4 100644 --- a/node_modules/@react-navigation/core/src/types.tsx +++ b/node_modules/@react-navigation/core/src/types.tsx @@ -19,11 +19,47 @@ declare global { @@ -1002,14 +1042,29 @@ index b691d75..03df5ab 100644 }; export type EventMapBase = Record< +@@ -482,6 +513,13 @@ export type RouteConfigComponent< + getComponent?: never; + }; + ++export type ConvertCustomScreenOptions< ++ CustomScreenOptions extends {}, ++ ScreenOptions extends {} ++> = ( ++ options: ScreenOptionsOrCallback | undefined ++) => ScreenOptionsOrCallback | undefined; ++ + export type RouteConfig< + ParamList extends ParamListBase, + RouteName extends keyof ParamList, diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx -index d5a192c..e39b723 100644 +index d5a192c..d5481c0 100644 --- a/node_modules/@react-navigation/core/src/useDescriptors.tsx +++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx -@@ -14,12 +14,14 @@ import NavigationContext from './NavigationContext'; +@@ -14,12 +14,15 @@ import NavigationContext from './NavigationContext'; import NavigationRouteContext from './NavigationRouteContext'; import SceneView from './SceneView'; import type { ++ ConvertCustomScreenOptions, + DefaultScreenOptionsOrCallback, Descriptor, EventMapBase, @@ -1021,7 +1076,7 @@ index d5a192c..e39b723 100644 } from './types'; import type { NavigationEventEmitter } from './useEventEmitter'; import useNavigationCache from './useNavigationCache'; -@@ -35,13 +37,6 @@ export type ScreenConfigWithParent< +@@ -35,32 +38,22 @@ export type ScreenConfigWithParent< props: RouteConfig; }; @@ -1035,10 +1090,18 @@ index d5a192c..e39b723 100644 type Options< State extends NavigationState, ScreenOptions extends {}, -@@ -54,13 +49,7 @@ type Options< +- EventMap extends EventMapBase ++ EventMap extends EventMapBase, ++ CustomScreenOptions extends {} = ScreenOptions + > = { + state: State; + screens: Record< + string, +- ScreenConfigWithParent ++ ScreenConfigWithParent >; navigation: NavigationHelpers; - screenOptions?: ScreenOptionsOrCallback; +- screenOptions?: ScreenOptionsOrCallback; - defaultScreenOptions?: - | ScreenOptions - | ((props: { @@ -1046,17 +1109,158 @@ index d5a192c..e39b723 100644 - navigation: any; - options: ScreenOptions; - }) => ScreenOptions); -+ defaultScreenOptions?: DefaultScreenOptionsOrCallback; ++ screenOptions?: ScreenOptionsOrCallback; ++ defaultScreenOptions?: DefaultScreenOptionsOrCallback< ++ ScreenOptions | CustomScreenOptions ++ >; onAction: (action: NavigationAction) => boolean; getState: () => State; setState: (state: State) => void; +@@ -78,27 +71,35 @@ type Options< + * - Helper method to render a screen + * - Options specified by the screen for the navigator + * - Navigation object intended for the route ++ * @param convertCustomScreenOptions Function to convert custom screen options to screen options. ++ * If passed, it means that the `options`/`screenOptions` passed to the navigator are custom and need to be converted to regular screen options. + */ + export default function useDescriptors< + State extends NavigationState, + ActionHelpers extends Record void>, + ScreenOptions extends {}, +- EventMap extends EventMapBase +->({ +- state, +- screens, +- navigation, +- screenOptions, +- defaultScreenOptions, +- onAction, +- getState, +- setState, +- addListener, +- addKeyedListener, +- onRouteFocus, +- router, +- emitter, +-}: Options) { ++ EventMap extends EventMapBase, ++ CustomScreenOptions extends {} = ScreenOptions ++>( ++ { ++ state, ++ screens, ++ navigation, ++ screenOptions, ++ defaultScreenOptions, ++ onAction, ++ getState, ++ setState, ++ addListener, ++ addKeyedListener, ++ onRouteFocus, ++ router, ++ emitter, ++ }: Options, ++ convertCustomScreenOptions: ++ | ConvertCustomScreenOptions ++ | undefined ++) { + const [options, setOptions] = React.useState>({}); + const { onDispatchAction, onOptionsChange, stackRef } = React.useContext( + NavigationBuilderContext +@@ -160,38 +161,68 @@ export default function useDescriptors< + const screen = config.props; + const navigation = navigations[route.key]; + +- const optionsList = [ +- // The default `screenOptions` passed to the navigator +- screenOptions, +- // The `screenOptions` props passed to `Group` elements +- ...((config.options +- ? config.options.filter(Boolean) +- : []) as ScreenOptionsOrCallback[]), +- // The `options` prop passed to `Screen` elements, +- screen.options, +- // The options set via `navigation.setOptions` +- options[route.key], +- ]; ++ const optionsList: any[] = []; ++ if (convertCustomScreenOptions) { ++ optionsList.push([ ++ // The default `screenOptions` passed to the navigator ++ convertCustomScreenOptions( ++ screenOptions as ScreenOptionsOrCallback ++ ), ++ // The `screenOptions` props passed to `Group` elements ++ ...((config.options ++ ? (config.options as ScreenOptionsOrCallback[]) ++ .filter(Boolean) ++ .map(convertCustomScreenOptions) ++ : []) as ScreenOptionsOrCallback[]), ++ // The `options` prop passed to `Screen` elements, ++ convertCustomScreenOptions( ++ screen.options as ScreenOptionsOrCallback ++ ), ++ // The options set via `navigation.setOptions` ++ convertCustomScreenOptions( ++ options[route.key] as ScreenOptionsOrCallback ++ ), ++ ]); ++ } else { ++ optionsList.push([ ++ // The default `screenOptions` passed to the navigator ++ screenOptions, ++ // The `screenOptions` props passed to `Group` elements ++ ...((config.options ++ ? config.options.filter(Boolean) ++ : []) as ScreenOptionsOrCallback[]), ++ // The `options` prop passed to `Screen` elements, ++ screen.options, ++ // The options set via `navigation.setOptions` ++ options[route.key], ++ ]); ++ } + + const customOptions = optionsList.reduce( + (acc, curr) => + Object.assign( + acc, +- // @ts-expect-error: we check for function but TS still complains + typeof curr !== 'function' ? curr : curr({ route, navigation }) + ), + {} as ScreenOptions + ); + ++ const customDefaultScreenOptions = ++ convertCustomScreenOptions?.( ++ defaultScreenOptions as ScreenOptionsOrCallback ++ ) ?? defaultScreenOptions; ++ + const mergedOptions = { + ...(typeof defaultScreenOptions === 'function' +- ? // @ts-expect-error: ts gives incorrect error here ++ ? // In Expensify's PlatformStackNavigation we don't allow a callback function for `defaultScreenOptions`, ++ // therefore we don't need to convert any custom default options when it's a function. ++ // @ts-expect-error: ts gives incorrect error here + defaultScreenOptions({ + route, + navigation, + options: customOptions, + }) +- : defaultScreenOptions), ++ : customDefaultScreenOptions), + ...customOptions, + }; + diff --git a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -index 7d550e0..17e9e57 100644 +index 7d550e0..2bcf288 100644 --- a/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx +++ b/node_modules/@react-navigation/core/src/useNavigationBuilder.tsx -@@ -23,12 +23,12 @@ import PreventRemoveProvider from './PreventRemoveProvider'; +@@ -22,13 +22,13 @@ import NavigationStateContext from './NavigationStateContext'; + import PreventRemoveProvider from './PreventRemoveProvider'; import Screen from './Screen'; import { ++ ConvertCustomScreenOptions, DefaultNavigatorOptions, + DefaultScreenOptionsOrCallback, EventMapBase, @@ -1065,7 +1269,6 @@ index 7d550e0..17e9e57 100644 PrivateValueStore, - RouteConfig, - RouteProp, -+ ScreenOptionsOrCallback, } from './types'; import useChildListeners from './useChildListeners'; import useComponent from './useComponent'; @@ -1090,21 +1293,7 @@ index 7d550e0..17e9e57 100644 }; type NavigatorRoute = { -@@ -68,6 +62,13 @@ type NavigatorRoute = { - params?: NavigatorScreenParams; - }; - -+type ConvertCustomScreenOptions< -+ CustomScreenOptions extends {}, -+ ScreenOptions extends {} -+> = ( -+ options: ScreenOptionsOrCallback | undefined -+) => ScreenOptionsOrCallback | undefined; -+ - const isValidKey = (key: unknown) => - key === undefined || (typeof key === 'string' && key !== ''); - -@@ -79,15 +80,20 @@ const isValidKey = (key: unknown) => +@@ -79,18 +73,23 @@ const isValidKey = (key: unknown) => const getRouteConfigsFromChildren = < State extends NavigationState, ScreenOptions extends {}, @@ -1119,44 +1308,22 @@ index 7d550e0..17e9e57 100644 - ScreenOptions, + ScreenOptions | CustomScreenOptions, EventMap -- >['options'] -+ >['options'], -+ convertCustomScreenOptions?: ConvertCustomScreenOptions< -+ CustomScreenOptions, -+ ScreenOptions -+ > + >['options'] ) => { const configs = React.Children.toArray(children).reduce< - ScreenConfigWithParent[] -@@ -107,16 +113,32 @@ const getRouteConfigsFromChildren = < - ); - } - -+ let convertedGroupOptions = groupOptions as -+ | (ScreenOptionsOrCallback | undefined)[] -+ | undefined; -+ if ( -+ convertCustomScreenOptions !== undefined && -+ groupOptions !== undefined -+ ) { -+ convertedGroupOptions = ( -+ groupOptions as ( -+ | ScreenOptionsOrCallback -+ | undefined -+ )[] -+ ).map(convertCustomScreenOptions); -+ } -+ -+ let options = child.props.options as -+ | ScreenOptionsOrCallback -+ | undefined; -+ if (convertCustomScreenOptions !== undefined) { -+ options = convertCustomScreenOptions(child.props.options); -+ } -+ +- ScreenConfigWithParent[] ++ ScreenConfigWithParent< ++ State, ++ ScreenOptions | CustomScreenOptions, ++ EventMap ++ >[] + >((acc, child) => { + if (React.isValidElement(child)) { + if (child.type === Screen) { +@@ -110,13 +109,7 @@ const getRouteConfigsFromChildren = < acc.push({ keys: [groupKey, child.props.navigationKey], -- options: groupOptions, + options: groupOptions, - props: child.props as RouteConfig< - ParamListBase, - string, @@ -1164,46 +1331,25 @@ index 7d550e0..17e9e57 100644 - ScreenOptions, - EventMap - >, -+ options: convertedGroupOptions, -+ props: { ...child.props, options }, ++ props: child.props, }); return acc; } -@@ -130,17 +152,30 @@ const getRouteConfigsFromChildren = < - ); - } - -+ let screenOptions = child.props.screenOptions as -+ | ScreenOptionsOrCallback -+ | undefined; -+ if (convertCustomScreenOptions !== undefined) { -+ screenOptions = convertCustomScreenOptions(child.props.screenOptions); -+ } -+ +@@ -133,7 +126,12 @@ const getRouteConfigsFromChildren = < // When we encounter a fragment or group, we need to dive into its children to extract the configs // This is handy to conditionally define a group of screens acc.push( - ...getRouteConfigsFromChildren( + ...getRouteConfigsFromChildren< + State, -+ ScreenOptions, ++ ScreenOptions | CustomScreenOptions, + EventMap, + CustomScreenOptions + >( child.props.children, child.props.navigationKey, child.type !== Group - ? groupOptions - : groupOptions != null -- ? [...groupOptions, child.props.screenOptions] -- : [child.props.screenOptions] -+ ? [...groupOptions, screenOptions] -+ : [screenOptions], -+ convertCustomScreenOptions - ) - ); - return acc; -@@ -250,6 +285,8 @@ const getRouteConfigsFromChildren = < +@@ -250,6 +248,8 @@ const getRouteConfigsFromChildren = < * * @param createRouter Factory method which returns router object. * @param options Options object containing `children` and additional options for the router. @@ -1212,7 +1358,7 @@ index 7d550e0..17e9e57 100644 * @returns An object containing `state`, `navigation`, `descriptors` objects. */ export default function useNavigationBuilder< -@@ -257,17 +294,22 @@ export default function useNavigationBuilder< +@@ -257,17 +257,22 @@ export default function useNavigationBuilder< RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record void>, ScreenOptions extends {}, @@ -1239,55 +1385,70 @@ index 7d550e0..17e9e57 100644 ) { const navigatorKey = useRegisterNavigator(); -@@ -291,8 +333,9 @@ export default function useNavigationBuilder< +@@ -291,11 +296,19 @@ export default function useNavigationBuilder< const routeConfigs = getRouteConfigsFromChildren< State, ScreenOptions, - EventMap -- >(children); + EventMap, + CustomScreenOptions -+ >(children, undefined, undefined, convertCustomScreenOptions); + >(children); const screens = routeConfigs.reduce< - Record> -@@ -679,6 +722,28 @@ export default function useNavigationBuilder< - getStateListeners: keyedListeners.getState, - }); - -+ const screenOptions = -+ convertCustomScreenOptions === undefined -+ ? (options.screenOptions as -+ | ScreenOptionsOrCallback -+ | undefined) -+ : convertCustomScreenOptions( -+ options.screenOptions as -+ | ScreenOptionsOrCallback -+ | undefined -+ ); -+ -+ const defaultScreenOptions = -+ convertCustomScreenOptions === undefined -+ ? (options.defaultScreenOptions as -+ | ScreenOptionsOrCallback -+ | undefined) -+ : convertCustomScreenOptions( -+ options.defaultScreenOptions as -+ | ScreenOptionsOrCallback -+ | undefined -+ ); -+ - const descriptors = useDescriptors< +- Record> ++ Record< ++ string, ++ ScreenConfigWithParent< ++ State, ++ ScreenOptions | CustomScreenOptions, ++ EventMap ++ > ++ > + >((acc, config) => { + if (config.props.name in acc) { + throw new Error( +@@ -683,23 +696,27 @@ export default function useNavigationBuilder< State, ActionHelpers, -@@ -688,8 +753,8 @@ export default function useNavigationBuilder< - state, - screens, - navigation, + ScreenOptions, +- EventMap +- >({ +- state, +- screens, +- navigation, - screenOptions: options.screenOptions, - defaultScreenOptions: options.defaultScreenOptions, -+ screenOptions, -+ defaultScreenOptions, - onAction, - getState, - setState, +- onAction, +- getState, +- setState, +- onRouteFocus, +- addListener, +- addKeyedListener, +- router, +- // @ts-expect-error: this should have both core and custom events, but too much work right now +- emitter, +- }); ++ EventMap, ++ CustomScreenOptions ++ >( ++ { ++ state, ++ screens, ++ navigation, ++ screenOptions: options.screenOptions, ++ defaultScreenOptions: options.defaultScreenOptions, ++ onAction, ++ getState, ++ setState, ++ onRouteFocus, ++ addListener, ++ addKeyedListener, ++ router, ++ // @ts-expect-error: this should have both core and custom events, but too much work right now ++ emitter, ++ }, ++ convertCustomScreenOptions ++ ); + + useCurrentRender({ + state, From b97e15ac02a0772445bbf6bf1522d1a381cb2a35 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 18:38:16 +0200 Subject: [PATCH 122/178] fix: bottom stack always uses `slide_from_right` animation --- .../platformOptions/animation/withAnimation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts index 26cfabd0ed705..1d1eee595c712 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts @@ -19,7 +19,7 @@ function withAnimation Date: Thu, 29 Aug 2024 18:38:32 +0200 Subject: [PATCH 123/178] move PlatformStackNavigatorComponent --- .../PlatformStackNavigation/PlatformStackNavigator.tsx | 5 ----- .../createPlatformStackNavigator.tsx | 8 +++++--- 2 files changed, 5 insertions(+), 8 deletions(-) delete mode 100644 src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx diff --git a/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx deleted file mode 100644 index 9d1af6e764e5e..0000000000000 --- a/src/libs/Navigation/PlatformStackNavigation/PlatformStackNavigator.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent'; - -const PlatformStackNavigator = createPlatformStackNavigatorComponent('PlatformStackNavigator'); - -export default PlatformStackNavigator; diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx index ea025df8466d2..e943944338814 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -1,11 +1,13 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase} from '@react-navigation/native'; -import PlatformStackNavigator from './PlatformStackNavigator'; +import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent'; import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from './types'; +const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator'); + function createPlatformStackNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigator>( - PlatformStackNavigator, + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigatorComponent>( + PlatformStackNavigatorComponent, )(); } From 05e7be00495c0902ef350e1745b1b18cccf5681f Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 18:57:37 +0200 Subject: [PATCH 124/178] fix: rename navigator components --- .../AppNavigator/createCustomBottomTabNavigator/index.tsx | 6 +++--- .../createCustomFullScreenNavigator/index.tsx | 6 +++--- .../AppNavigator/createResponsiveStackNavigator/index.tsx | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx index abb5ad35c631b..3ebbaebee4107 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -11,7 +11,7 @@ const defaultScreenOptions: PlatformStackNavigationOptions = { animation: 'none', }; -const CustomBottomTabNavigator = createPlatformStackNavigatorComponent('CustomBottomTabNavigator', { +const CustomBottomTabNavigatorComponent = createPlatformStackNavigatorComponent('CustomBottomTabNavigator', { transformState, defaultScreenOptions, NavigationContentWrapper: BottomTabNavigationContentWrapper, @@ -22,8 +22,8 @@ const CustomBottomTabNavigator = createPlatformStackNavigatorComponent('CustomBo }); function createCustomBottomTabNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigator>( - CustomBottomTabNavigator, + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomBottomTabNavigatorComponent>( + CustomBottomTabNavigatorComponent, )(); } diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx index a455d5a82e30e..519492f6ae22b 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -4,13 +4,13 @@ import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStac import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomFullScreenRouter from './CustomFullScreenRouter'; -const CustomFullScreenNavigator = createPlatformStackNavigatorComponent('CustomFullScreenNavigator', { +const CustomFullScreenNavigatorComponent = createPlatformStackNavigatorComponent('CustomFullScreenNavigator', { createRouter: CustomFullScreenRouter, }); function createCustomFullScreenNavigator() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigator>( - CustomFullScreenNavigator, + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof CustomFullScreenNavigatorComponent>( + CustomFullScreenNavigatorComponent, )(); } diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index 1061e423d8903..aa2e23bf596c4 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -3,13 +3,13 @@ import {createNavigatorFactory} from '@react-navigation/native'; import navigationRef from '@libs/Navigation/navigationRef'; import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; import type { + OnIsSmallScreenWidthChange, PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState, } from '@libs/Navigation/PlatformStackNavigation/types'; -import type {OnIsSmallScreenWidthChange} from '@libs/Navigation/PlatformStackNavigation/types'; import CustomRouter from './CustomRouter'; import getStateWithSearch from './getStateWithSearch'; import RenderSearchRoute from './SearchRoute'; @@ -23,7 +23,7 @@ const handleIsSmallScreenWidthChange: OnIsSmallScreenWidthChange() { - return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigator>( - ResponsiveStackNavigator, + return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof ResponsiveStackNavigatorComponent>( + ResponsiveStackNavigatorComponent, )(); } From 9927fafa0401f014d728bf7491f332bb93c3b0a5 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 18:58:14 +0200 Subject: [PATCH 125/178] prioritize others over common navigation options --- .../platformOptions/buildPlatformSpecificNavigationOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts index f70db4448746b..18b0deb85f5d5 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts @@ -10,8 +10,8 @@ const buildPlatformSpecificNavigationOptions = ({ keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, - ...withAnimation(screenOptions), ...getCommonNavigationOptions(screenOptions), + ...withAnimation(screenOptions), }); export default buildPlatformSpecificNavigationOptions; From af97d99c37c04d21a22b3841f22c50c79dcf0fcd Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 19:14:20 +0200 Subject: [PATCH 126/178] fix: patch --- ...+002+platform-navigation-stack-types.patch | 80 +++++++++---------- 1 file changed, 37 insertions(+), 43 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index d73904ac06d12..8e20103875ae1 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -60,7 +60,7 @@ index a3da390..bca9dc0 100644 +{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;AAmLO,MAAMA,iBAAiB,CAA4B;AAYzD"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js -index 778981c..5ec8c4f 100644 +index 778981c..87fa958 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js +++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js @@ -21,8 +21,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && @@ -75,7 +75,7 @@ index 778981c..5ec8c4f 100644 let { state, screens, -@@ -67,29 +69,43 @@ function useDescriptors(_ref) { +@@ -67,29 +69,45 @@ function useDescriptors(_ref) { const config = screens[route.name]; const screen = config.props; const navigation = navigations[route.key]; @@ -88,12 +88,9 @@ index 778981c..5ec8c4f 100644 - screen.options, - // The options set via `navigation.setOptions` - options[route.key]]; -- const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, -- // @ts-expect-error: we check for function but TS still complains -- typeof curr !== 'function' ? curr : curr({ -+ const optionsList = []; ++ let optionsList; + if (convertCustomScreenOptions) { -+ optionsList.push([ ++ optionsList = [ + // The default `screenOptions` passed to the navigator + convertCustomScreenOptions(screenOptions), + // The `screenOptions` props passed to `Group` elements @@ -101,9 +98,9 @@ index 778981c..5ec8c4f 100644 + // The `options` prop passed to `Screen` elements, + convertCustomScreenOptions(screen.options), + // The options set via `navigation.setOptions` -+ convertCustomScreenOptions(options[route.key])]); ++ convertCustomScreenOptions(options[route.key])]; + } else { -+ optionsList.push([ ++ optionsList = [ + // The default `screenOptions` passed to the navigator + screenOptions, + // The `screenOptions` props passed to `Group` elements @@ -111,9 +108,11 @@ index 778981c..5ec8c4f 100644 + // The `options` prop passed to `Screen` elements, + screen.options, + // The options set via `navigation.setOptions` -+ options[route.key]]); ++ options[route.key]]; + } -+ const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, typeof curr !== 'function' ? curr : curr({ + const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, + // @ts-expect-error: we check for function but TS still complains + typeof curr !== 'function' ? curr : curr({ route, navigation })), {}); @@ -133,13 +132,13 @@ index 778981c..5ec8c4f 100644 }; const clearOptions = () => setOptions(o => { diff --git a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map -index d2248a2..1c4fe0c 100644 +index d2248a2..33f2f63 100644 --- a/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map +++ b/node_modules/@react-navigation/core/lib/commonjs/useDescriptors.js.map @@ -1 +1 @@ -{"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","push","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} ++{"version":3,"names":["useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/commonjs/useNavigationBuilder.js index 14338b9..70564a7 100644 @@ -248,7 +247,7 @@ index 21fd3e8..29de331 100644 +{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"AAmLA,OAAO,MAAMA,iBAAiB,CAA4B"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js b/node_modules/@react-navigation/core/lib/module/useDescriptors.js -index b8f73f9..726800e 100644 +index b8f73f9..76fdab1 100644 --- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js +++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js @@ -12,8 +12,10 @@ import useRouteCache from './useRouteCache'; @@ -263,7 +262,7 @@ index b8f73f9..726800e 100644 let { state, screens, -@@ -58,29 +60,43 @@ export default function useDescriptors(_ref) { +@@ -58,29 +60,45 @@ export default function useDescriptors(_ref) { const config = screens[route.name]; const screen = config.props; const navigation = navigations[route.key]; @@ -276,12 +275,9 @@ index b8f73f9..726800e 100644 - screen.options, - // The options set via `navigation.setOptions` - options[route.key]]; -- const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, -- // @ts-expect-error: we check for function but TS still complains -- typeof curr !== 'function' ? curr : curr({ -+ const optionsList = []; ++ let optionsList; + if (convertCustomScreenOptions) { -+ optionsList.push([ ++ optionsList = [ + // The default `screenOptions` passed to the navigator + convertCustomScreenOptions(screenOptions), + // The `screenOptions` props passed to `Group` elements @@ -289,9 +285,9 @@ index b8f73f9..726800e 100644 + // The `options` prop passed to `Screen` elements, + convertCustomScreenOptions(screen.options), + // The options set via `navigation.setOptions` -+ convertCustomScreenOptions(options[route.key])]); ++ convertCustomScreenOptions(options[route.key])]; + } else { -+ optionsList.push([ ++ optionsList = [ + // The default `screenOptions` passed to the navigator + screenOptions, + // The `screenOptions` props passed to `Group` elements @@ -299,9 +295,11 @@ index b8f73f9..726800e 100644 + // The `options` prop passed to `Screen` elements, + screen.options, + // The options set via `navigation.setOptions` -+ options[route.key]]); ++ options[route.key]]; + } -+ const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, typeof curr !== 'function' ? curr : curr({ + const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, + // @ts-expect-error: we check for function but TS still complains + typeof curr !== 'function' ? curr : curr({ route, navigation })), {}); @@ -321,13 +319,13 @@ index b8f73f9..726800e 100644 }; const clearOptions = () => setOptions(o => { diff --git a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map -index 77a198a..006eff2 100644 +index 77a198a..026d685 100644 --- a/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map +++ b/node_modules/@react-navigation/core/lib/module/useDescriptors.js.map @@ -1 +1 @@ -{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file -+{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","push","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} ++{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","useNavigationCache","useRouteCache","useDescriptors","convertCustomScreenOptions","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","useContext","context","useMemo","navigations","routes","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","map","customOptions","curr","Object","assign","customDefaultScreenOptions","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js b/node_modules/@react-navigation/core/lib/module/useNavigationBuilder.js index 6fb49e0..e17764e 100644 @@ -878,13 +876,13 @@ index b0f331a..195ea3c 100644 type: string; payload?: object | undefined; diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map -index b67e6ea..684d9c5 100644 +index b67e6ea..754cba5 100644 --- a/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map +++ b/node_modules/@react-navigation/core/lib/typescript/src/useDescriptors.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,uBAAuB,CAAC,aAAa,SAAS,EAAE,IACjD,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;IACP,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CAAC;CACjB,KAAK,aAAa,CAAC,CAAC;AAEzB,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvD,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvD,oBAAoB,CAAC,EACjB,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChC,UAAU,EAAE,GAAG,CAAC;QAChB,OAAO,EAAE,aAAa,CAAC;KACxB,KAAK,aAAa,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,EACA,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyIzC"} \ No newline at end of file -+{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,0BAA0B,EAC1B,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,mBAAmB,SAAS,EAAE,GAAG,aAAa,IAC5C;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,EAAE,QAAQ,CAAC,CAC7E,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,GAAG,mBAAmB,CAAC,CAAC;IAC7E,oBAAoB,CAAC,EAAE,8BAA8B,CACnD,aAAa,GAAG,mBAAmB,CACpC,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,EACE,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAChE,0BAA0B,EACtB,0BAA0B,CAAC,mBAAmB,EAAE,aAAa,CAAC,GAC9D,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAwKd"} ++{"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAGnC,OAAiC,EAC/B,gBAAgB,EAChB,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EACV,0BAA0B,EAC1B,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,SAAS,EACT,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAIhE,MAAM,MAAM,sBAAsB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,IAC3B;IACF,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5E,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,mBAAmB,SAAS,EAAE,GAAG,aAAa,IAC5C;IACF,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CACb,MAAM,EACN,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,EAAE,QAAQ,CAAC,CAC7E,CAAC;IACF,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,uBAAuB,CAAC,aAAa,GAAG,mBAAmB,CAAC,CAAC;IAC7E,oBAAoB,CAAC,EAAE,8BAA8B,CACnD,aAAa,GAAG,mBAAmB,CACpC,CAAC;IACF,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,mBAAmB,SAAS,EAAE,GAAG,aAAa,EAE9C,EACE,KAAK,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAChE,0BAA0B,EACtB,0BAA0B,CAAC,mBAAmB,EAAE,aAAa,CAAC,GAC9D,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mNAyKd"} \ No newline at end of file diff --git a/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts b/node_modules/@react-navigation/core/lib/typescript/src/useNavigationBuilder.d.ts index 53d474e..bf68b60 100644 @@ -1057,7 +1055,7 @@ index b691d75..e9b8ea4 100644 ParamList extends ParamListBase, RouteName extends keyof ParamList, diff --git a/node_modules/@react-navigation/core/src/useDescriptors.tsx b/node_modules/@react-navigation/core/src/useDescriptors.tsx -index d5a192c..d5481c0 100644 +index d5a192c..2e4ee0f 100644 --- a/node_modules/@react-navigation/core/src/useDescriptors.tsx +++ b/node_modules/@react-navigation/core/src/useDescriptors.tsx @@ -14,12 +14,15 @@ import NavigationContext from './NavigationContext'; @@ -1168,7 +1166,7 @@ index d5a192c..d5481c0 100644 const [options, setOptions] = React.useState>({}); const { onDispatchAction, onOptionsChange, stackRef } = React.useContext( NavigationBuilderContext -@@ -160,38 +161,68 @@ export default function useDescriptors< +@@ -160,18 +161,42 @@ export default function useDescriptors< const screen = config.props; const navigation = navigations[route.key]; @@ -1184,9 +1182,9 @@ index d5a192c..d5481c0 100644 - // The options set via `navigation.setOptions` - options[route.key], - ]; -+ const optionsList: any[] = []; ++ let optionsList: (ScreenOptionsOrCallback | undefined)[]; + if (convertCustomScreenOptions) { -+ optionsList.push([ ++ optionsList = [ + // The default `screenOptions` passed to the navigator + convertCustomScreenOptions( + screenOptions as ScreenOptionsOrCallback @@ -1205,29 +1203,25 @@ index d5a192c..d5481c0 100644 + convertCustomScreenOptions( + options[route.key] as ScreenOptionsOrCallback + ), -+ ]); ++ ]; + } else { -+ optionsList.push([ ++ optionsList = [ + // The default `screenOptions` passed to the navigator -+ screenOptions, ++ screenOptions as ScreenOptionsOrCallback, + // The `screenOptions` props passed to `Group` elements + ...((config.options + ? config.options.filter(Boolean) + : []) as ScreenOptionsOrCallback[]), + // The `options` prop passed to `Screen` elements, -+ screen.options, ++ screen.options as ScreenOptionsOrCallback, + // The options set via `navigation.setOptions` -+ options[route.key], -+ ]); ++ options[route.key] as ScreenOptionsOrCallback, ++ ]; + } const customOptions = optionsList.reduce( (acc, curr) => - Object.assign( - acc, -- // @ts-expect-error: we check for function but TS still complains - typeof curr !== 'function' ? curr : curr({ route, navigation }) - ), +@@ -183,15 +208,22 @@ export default function useDescriptors< {} as ScreenOptions ); From a4effebbe88e013562f041263c101311bd884412 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 19:38:55 +0200 Subject: [PATCH 127/178] restructure --- .../createPlatformStackNavigatorComponent/index.native.tsx | 2 +- .../createPlatformStackNavigatorComponent/index.tsx | 2 +- .../animation/none/index.native.ts | 0 .../animation/none/index.ts | 0 .../animation/slideFromBottom/index.native.ts | 0 .../animation/slideFromBottom/index.ts | 0 .../animation/slideFromLeft/index.android.ts | 0 .../animation/slideFromLeft/index.ios.ts | 0 .../animation/slideFromLeft/index.ts | 0 .../animation/slideFromRight/index.android.ts | 0 .../animation/slideFromRight/index.ios.ts | 0 .../animation/slideFromRight/index.ts | 0 .../animation/withAnimation.ts | 0 .../buildPlatformSpecificNavigationOptions.ts | 2 +- .../convertToNativeNavigationOptions.ts | 0 .../convertToWebNavigationOptions.ts | 0 16 files changed, 3 insertions(+), 3 deletions(-) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/none/index.native.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/none/index.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromBottom/index.native.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromBottom/index.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromLeft/index.android.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromLeft/index.ios.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromLeft/index.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromRight/index.android.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromRight/index.ios.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/slideFromRight/index.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/animation/withAnimation.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/buildPlatformSpecificNavigationOptions.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/convertToNativeNavigationOptions.ts (100%) rename src/libs/Navigation/PlatformStackNavigation/{platformOptions => navigationOptions}/convertToWebNavigationOptions.ts (100%) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 21d096aa20c87..362a59567d008 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -5,7 +5,7 @@ import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from ' import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions'; +import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions'; import type { CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx index 6dc463042b8e3..4f73815d42bb4 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.tsx @@ -5,7 +5,7 @@ import {StackView} from '@react-navigation/stack'; import React, {useEffect, useMemo} from 'react'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import convertToWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions'; +import convertToWebNavigationOptions from '@libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions'; import type { CreatePlatformStackNavigatorComponentOptions, CustomCodeProps, diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.native.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/none/index.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.native.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromBottom/index.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ios.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromLeft/index.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.android.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ios.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/slideFromRight/index.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/animation/withAnimation.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/buildPlatformSpecificNavigationOptions.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/buildPlatformSpecificNavigationOptions.ts index 18b0deb85f5d5..f70db4448746b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/platformOptions/buildPlatformSpecificNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/buildPlatformSpecificNavigationOptions.ts @@ -10,8 +10,8 @@ const buildPlatformSpecificNavigationOptions = ({ keyboardHandlingEnabled: screenOptions.keyboardHandlingEnabled, - ...getCommonNavigationOptions(screenOptions), ...withAnimation(screenOptions), + ...getCommonNavigationOptions(screenOptions), }); export default buildPlatformSpecificNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToNativeNavigationOptions.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts similarity index 100% rename from src/libs/Navigation/PlatformStackNavigation/platformOptions/convertToWebNavigationOptions.ts rename to src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts From 1e4f48040fd362d61148f66957bfd8d50e75f7c9 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 19:39:11 +0200 Subject: [PATCH 128/178] add defaultScreenOptions for PlatformStackNavigator --- .../createPlatformStackNavigator.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx index e943944338814..e0c16991a3a9f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -3,7 +3,12 @@ import type {ParamListBase} from '@react-navigation/native'; import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent'; import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from './types'; -const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator'); +const defaultScreenOptions: PlatformStackNavigationOptions = { + animation: 'slide_from_right', + headerShown: false, +}; + +const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator', {defaultScreenOptions}); function createPlatformStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigatorComponent>( From fcb9849d697156d236b04d5ebe47c10c1f017c14 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 19:39:40 +0200 Subject: [PATCH 129/178] use defaultScreenOptions on navigator --- src/libs/Navigation/AppNavigator/PublicScreens.tsx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/PublicScreens.tsx b/src/libs/Navigation/AppNavigator/PublicScreens.tsx index 45f8ba5e37f67..3a4e867e8e84b 100644 --- a/src/libs/Navigation/AppNavigator/PublicScreens.tsx +++ b/src/libs/Navigation/AppNavigator/PublicScreens.tsx @@ -17,16 +17,14 @@ const RootStack = createPlatformStackNavigator(); function PublicScreens() { return ( - + {/* The structure for the HOME route has to be the same in public and auth screens. That's why the name for SignInPage is BOTTOM_TAB_NAVIGATOR. */} From 63c9f946098b8c2fa0cd3b5c32ed8eb930e6e0f5 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 29 Aug 2024 19:46:38 +0200 Subject: [PATCH 130/178] use defaultPlatformStackScreenOptions in ResponsiveStackNavigator --- .../AppNavigator/createResponsiveStackNavigator/index.tsx | 2 ++ .../createPlatformStackNavigator.tsx | 8 ++------ .../defaultPlatformStackScreenOptions.ts | 8 ++++++++ 3 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx index aa2e23bf596c4..74edaaa11fadf 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/index.tsx @@ -2,6 +2,7 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import navigationRef from '@libs/Navigation/navigationRef'; import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; +import defaultPlatformStackScreenOptions from '@libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions'; import type { OnIsSmallScreenWidthChange, PlatformSpecificEventMap, @@ -27,6 +28,7 @@ const ResponsiveStackNavigatorComponent = createPlatformStackNavigatorComponent( transformState: getStateWithSearch, ExtraContent: RenderSearchRoute, onIsSmallScreenWidthChange: handleIsSmallScreenWidthChange, + defaultScreenOptions: defaultPlatformStackScreenOptions, createRouter: CustomRouter, }); diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx index e0c16991a3a9f..374887648bb0c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator.tsx @@ -1,14 +1,10 @@ import {createNavigatorFactory} from '@react-navigation/native'; import type {ParamListBase} from '@react-navigation/native'; import createPlatformStackNavigatorComponent from './createPlatformStackNavigatorComponent'; +import defaultPlatformStackScreenOptions from './defaultPlatformStackScreenOptions'; import type {PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from './types'; -const defaultScreenOptions: PlatformStackNavigationOptions = { - animation: 'slide_from_right', - headerShown: false, -}; - -const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator', {defaultScreenOptions}); +const PlatformStackNavigatorComponent = createPlatformStackNavigatorComponent('PlatformStackNavigator', {defaultScreenOptions: defaultPlatformStackScreenOptions}); function createPlatformStackNavigator() { return createNavigatorFactory, PlatformStackNavigationOptions, PlatformStackNavigationEventMap, typeof PlatformStackNavigatorComponent>( diff --git a/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts b/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts new file mode 100644 index 0000000000000..da84ab3b2d0f5 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts @@ -0,0 +1,8 @@ +import type {PlatformStackNavigationOptions} from './types'; + +const defaultPlatformStackScreenOptions: PlatformStackNavigationOptions = { + animation: 'slide_from_right', + headerShown: false, +}; + +export default defaultPlatformStackScreenOptions; From 3ebddd8c088573d03f2c4227e0d2e10da955ac98 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 10:46:02 +0200 Subject: [PATCH 131/178] add `ios_from_left` animation to `react-native-screens` --- ...s+3.34.0+002+ios_from_left_animation.patch | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch new file mode 100644 index 0000000000000..281bc332c84c8 --- /dev/null +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -0,0 +1,362 @@ +diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt +index fb4260f..6a89639 100644 +--- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt ++++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt +@@ -363,7 +363,8 @@ class Screen( + SLIDE_FROM_RIGHT, + SLIDE_FROM_LEFT, + FADE_FROM_BOTTOM, +- IOS, ++ IOS_FROM_RIGHT, ++ IOS_FROM_LEFT, + } + + enum class ReplaceAnimation { +diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +index 4b520d1..2b098c5 100644 +--- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt ++++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +@@ -160,7 +160,8 @@ class ScreenStack( + R.anim.rns_no_animation_medium, + ) + StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_fade_from_bottom, R.anim.rns_no_animation_350) +- StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) + } + } else { + when (stackAnimation) { +@@ -183,7 +184,8 @@ class ScreenStack( + R.anim.rns_slide_out_to_bottom, + ) + StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) +- StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) + } + } + } +@@ -373,6 +375,7 @@ class ScreenStack( + Build.VERSION.SDK_INT >= 33 || + fragmentWrapper.screen.stackAnimation === StackAnimation.SLIDE_FROM_BOTTOM || + fragmentWrapper.screen.stackAnimation === StackAnimation.FADE_FROM_BOTTOM || +- fragmentWrapper.screen.stackAnimation === StackAnimation.IOS ++ fragmentWrapper.screen.stackAnimation === StackAnimation.IOS_FROM_RIGHT || ++ fragmentWrapper.screen.stackAnimation === StackAnimation.IOS_FROM_LEFT + } + } +diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +index 99e88f6..ec4be76 100644 +--- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt ++++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +@@ -103,7 +103,8 @@ open class ScreenViewManager : + "slide_from_left" -> Screen.StackAnimation.SLIDE_FROM_LEFT + "slide_from_bottom" -> Screen.StackAnimation.SLIDE_FROM_BOTTOM + "fade_from_bottom" -> Screen.StackAnimation.FADE_FROM_BOTTOM +- "ios" -> Screen.StackAnimation.IOS ++ "ios_from_right" -> Screen.StackAnimation.IOS_FROM_RIGHT ++ "ios_from_left" -> Screen.StackAnimation.IOS_FROM_LEFT + else -> throw JSApplicationIllegalArgumentException("Unknown animation type $animation") + } + } +diff --git a/node_modules/react-native-screens/ios/RNSConvert.mm b/node_modules/react-native-screens/ios/RNSConvert.mm +index 2acf655..c0c3128 100644 +--- a/node_modules/react-native-screens/ios/RNSConvert.mm ++++ b/node_modules/react-native-screens/ios/RNSConvert.mm +@@ -53,10 +53,12 @@ + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSS + switch (stackAnimation) { + // these three are intentionally grouped + case react::RNSScreenStackAnimation::Slide_from_right: +- case react::RNSScreenStackAnimation::Ios: ++ case react::RNSScreenStackAnimation::Ios_from_right: + case react::RNSScreenStackAnimation::Default: + return RNSScreenStackAnimationDefault; ++ // these two are intentionally grouped + case react::RNSScreenStackAnimation::Slide_from_left: ++ case react::RNSScreenStackAnimation::Ios_from_left: + return RNSScreenStackAnimationSlideFromLeft; + case react::RNSScreenStackAnimation::Flip: + return RNSScreenStackAnimationFlip; +diff --git a/node_modules/react-native-screens/ios/RNSScreen.mm b/node_modules/react-native-screens/ios/RNSScreen.mm +index b673407..e588c10 100644 +--- a/node_modules/react-native-screens/ios/RNSScreen.mm ++++ b/node_modules/react-native-screens/ios/RNSScreen.mm +@@ -1545,7 +1545,8 @@ @implementation RCTConvert (RNSScreen) + @"slide_from_bottom" : @(RNSScreenStackAnimationSlideFromBottom), + @"slide_from_right" : @(RNSScreenStackAnimationDefault), + @"slide_from_left" : @(RNSScreenStackAnimationSlideFromLeft), +- @"ios" : @(RNSScreenStackAnimationDefault), ++ @"ios_from_right" : @(RNSScreenStackAnimationDefault), ++ @"ios_from_left" : @(RNSScreenStackAnimationSlideFromLeft), + }), + RNSScreenStackAnimationDefault, + integerValue) +diff --git a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map +index 4920853..6c00586 100644 +--- a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map ++++ b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map +@@ -1 +1 @@ +-{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA6Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} ++{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA8Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} +diff --git a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map +index e21812a..a18ba30 100644 +--- a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map ++++ b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map +@@ -1 +1 @@ +-{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA6FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} ++{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA8FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} +diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts +index 92874bd..1f0b1b9 100644 +--- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts ++++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts +@@ -20,7 +20,7 @@ type GestureResponseDistanceType = Readonly<{ + bottom: Float; + }>; + type StackPresentation = 'push' | 'modal' | 'transparentModal' | 'fullScreenModal' | 'formSheet' | 'containedModal' | 'containedTransparentModal'; +-type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios'; ++type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios_from_right' | 'ios_from_left'; + type SwipeDirection = 'vertical' | 'horizontal'; + type ReplaceAnimation = 'pop' | 'push'; + type SheetDetentTypes = 'large' | 'medium' | 'all'; +diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +index 84f2fad..cbd9e43 100644 +--- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map ++++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts +index ce3a88f..d877a69 100644 +--- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts ++++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts +@@ -397,7 +397,8 @@ export type NativeStackNavigationOptions = { + * - "slide_from_bottom" – performs a slide from bottom animation + * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "slide_from_left" - slide in the new screen from left to right +- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + * - "none" – the screen appears/dissapears without an animation + */ + stackAnimation?: ScreenProps['stackAnimation']; +diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map +index 00b53ff..bbdbbbe 100644 +--- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map ++++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts b/node_modules/react-native-screens/lib/typescript/types.d.ts +index e6a12da..d15f046 100644 +--- a/node_modules/react-native-screens/lib/typescript/types.d.ts ++++ b/node_modules/react-native-screens/lib/typescript/types.d.ts +@@ -11,7 +11,7 @@ export type SearchBarCommands = { + }; + export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal'; + export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet'; +-export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios'; ++export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios_from_right' | 'ios_from_left'; + export type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark'; + export type ScreenReplaceTypes = 'push' | 'pop'; + export type SwipeDirectionTypes = 'vertical' | 'horizontal'; +@@ -273,7 +273,8 @@ export interface ScreenProps extends ViewProps { + * - `slide_from_bottom` – performs a slide from bottom animation + * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "slide_from_left" - slide in the new screen from left to right +- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + * - "none" – the screen appears/dissapears without an animation + */ + stackAnimation?: StackAnimationTypes; +diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/types.d.ts.map +index 2fde7e3..6efc2f5 100644 +--- a/node_modules/react-native-screens/lib/typescript/types.d.ts.map ++++ b/node_modules/react-native-screens/lib/typescript/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/react-native-screens/native-stack/README.md b/node_modules/react-native-screens/native-stack/README.md +index ce96e8e..f16c8e6 100644 +--- a/node_modules/react-native-screens/native-stack/README.md ++++ b/node_modules/react-native-screens/native-stack/README.md +@@ -302,7 +302,8 @@ How the given screen should appear/disappear when pushed or popped at the top of + - `slide_from_bottom` – performs a slide from bottom animation + - `slide_from_right` - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + - `slide_from_left` - slide in the new screen from left to right +-- `ios` - iOS like slide in animation (Android only, resolves to default transition on iOS) ++- `"ios_from_right"` - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++- `"ios_from_left"` - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + - `none` - the screen appears/disappears without an animation. + + Defaults to `default`. +diff --git a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts +index 71c2251..6a9fd9d 100644 +--- a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts ++++ b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts +@@ -51,7 +51,8 @@ type StackAnimation = + | 'slide_from_left' + | 'slide_from_bottom' + | 'fade_from_bottom' +- | 'ios'; ++ | 'ios_from_right' ++ | 'ios_from_left'; + + type SwipeDirection = 'vertical' | 'horizontal'; + +diff --git a/node_modules/react-native-screens/src/native-stack/types.tsx b/node_modules/react-native-screens/src/native-stack/types.tsx +index 5ad3184..5ca46bd 100644 +--- a/node_modules/react-native-screens/src/native-stack/types.tsx ++++ b/node_modules/react-native-screens/src/native-stack/types.tsx +@@ -418,7 +418,8 @@ export type NativeStackNavigationOptions = { + * - "slide_from_bottom" – performs a slide from bottom animation + * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "slide_from_left" - slide in the new screen from left to right +- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + * - "none" – the screen appears/dissapears without an animation + */ + stackAnimation?: ScreenProps['stackAnimation']; +diff --git a/node_modules/react-native-screens/src/types.tsx b/node_modules/react-native-screens/src/types.tsx +index f83ad56..6ddd3d0 100644 +--- a/node_modules/react-native-screens/src/types.tsx ++++ b/node_modules/react-native-screens/src/types.tsx +@@ -38,7 +38,8 @@ export type StackAnimationTypes = + | 'slide_from_bottom' + | 'slide_from_right' + | 'slide_from_left' +- | 'ios'; ++ | 'ios_from_right' ++ | 'ios_from_left'; + export type BlurEffectTypes = + | 'extraLight' + | 'light' +@@ -340,7 +341,8 @@ export interface ScreenProps extends ViewProps { + * - `slide_from_bottom` – performs a slide from bottom animation + * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "slide_from_left" - slide in the new screen from left to right +- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + * - "none" – the screen appears/dissapears without an animation + */ + stackAnimation?: StackAnimationTypes; +diff --git a/node_modules/react-native-screens/windows/.gitignore b/node_modules/react-native-screens/windows/.gitignore +new file mode 100644 +index 0000000..4ea0c7b +--- /dev/null ++++ b/node_modules/react-native-screens/windows/.gitignore +@@ -0,0 +1,92 @@ ++*AppPackages* ++*BundleArtifacts* ++ ++#OS junk files ++[Tt]humbs.db ++*.DS_Store ++ ++#Visual Studio files ++*.[Oo]bj ++*.user ++*.aps ++*.pch ++*.vspscc ++*.vssscc ++*_i.c ++*_p.c ++*.ncb ++*.suo ++*.tlb ++*.tlh ++*.bak ++*.[Cc]ache ++*.ilk ++*.log ++*.lib ++*.sbr ++*.sdf ++*.opensdf ++*.opendb ++*.unsuccessfulbuild ++ipch/ ++[Oo]bj/ ++[Bb]in ++[Dd]ebug*/ ++[Rr]elease*/ ++Ankh.NoLoad ++ ++# Visual C++ cache files ++ipch/ ++*.aps ++*.ncb ++*.opendb ++*.opensdf ++*.sdf ++*.cachefile ++*.VC.db ++*.VC.VC.opendb ++ ++#MonoDevelop ++*.pidb ++*.userprefs ++ ++#Tooling ++_ReSharper*/ ++*.resharper ++[Tt]est[Rr]esult* ++*.sass-cache ++ ++#Project files ++[Bb]uild/ ++ ++#Subversion files ++.svn ++ ++# Office Temp Files ++~$* ++ ++# vim Temp Files ++*~ ++ ++#NuGet ++packages/ ++*.nupkg ++ ++#ncrunch ++*ncrunch* ++*crunch*.local.xml ++ ++# visual studio database projects ++*.dbmdl ++ ++#Test files ++*.testsettings ++ ++#Other files ++*.DotSettings ++.vs/ ++*project.lock.json ++ ++#Files generated by the VS build ++**/Generated Files/** ++ +diff --git a/node_modules/react-native-screens/windows/RNScreens/Screen.h b/node_modules/react-native-screens/windows/RNScreens/Screen.h +index fd02641..7abf426 100644 +--- a/node_modules/react-native-screens/windows/RNScreens/Screen.h ++++ b/node_modules/react-native-screens/windows/RNScreens/Screen.h +@@ -11,7 +11,8 @@ enum class StackAnimation { + SIMPLE_FROM_BOTTOM, + SLIDE_FROM_RIGHT, + SLIDE_FROM_LEFT, +- IOS ++ IOS_FROM_RIGHT, ++ IOS_FROM_LEFT + }; + + enum class ReplaceAnimation { PUSH, POP }; From 1dae4ddbc28752b8a5dc0a8ea39c23675e7768b2 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 11:11:05 +0200 Subject: [PATCH 132/178] use ios like animations on android --- .../navigationOptions/animation/slideFromLeft/index.android.ts | 2 +- .../animation/slideFromRight/index.android.ts | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index 7963a851dce48..1a4df4a6c0a1f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -2,6 +2,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack' // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS // const transition: NativeStackNavigationOptions['animation'] = 'slide_from_right'; -const slideFromLeft: NativeStackNavigationOptions = {animation: 'slide_from_left'}; +const slideFromLeft: NativeStackNavigationOptions = {animation: 'ios_from_left'}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index beb1aaa01bb27..c66c20e07781d 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,6 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -// `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -const transition: NativeStackNavigationOptions = {animation: 'slide_from_right'}; +const transition: NativeStackNavigationOptions = {animation: 'ios_from_right'}; export default transition; From a07e5716946358759292151e03796d917a8b9fbf Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 11:12:25 +0200 Subject: [PATCH 133/178] fix: lint errors --- .../BottomTabNavigationContentWrapper.tsx | 3 +-- .../createCustomBottomTabNavigator/transformState/index.ts | 3 +-- .../createResponsiveStackNavigator/SearchRoute.tsx | 3 +-- .../createResponsiveStackNavigator/getStateWithSearch.tsx | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx index be4e47b8e3323..327b08993fcd4 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx @@ -3,8 +3,7 @@ import React from 'react'; import {View} from 'react-native'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {NavigationContentWrapperProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {NavigationContentWrapperProps, PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; function BottomTabNavigationContentWrapper({ children, diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts index 28bc97dac778e..2eb0aaa9de44e 100644 --- a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/transformState/index.ts @@ -1,6 +1,5 @@ import type {EventMapBase, ParamListBase} from '@react-navigation/native'; -import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationStateRoute} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx index 3a8b93eaccfc0..5eff3b3c38e51 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx @@ -1,8 +1,7 @@ import type {EventMapBase} from '@react-navigation/native'; import {View} from 'react-native'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {CustomCodePropsWithTransformedState} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {CustomCodePropsWithTransformedState, PlatformSpecificEventMap, PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; function SearchRoute({searchRoute, descriptors}: CustomCodePropsWithTransformedState) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx index 1dade718e2f0d..6603d650a4982 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/getStateWithSearch.tsx @@ -1,7 +1,6 @@ import type {EventMapBase, ParamListBase, RouteProp} from '@react-navigation/native'; import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; -import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformSpecificEventMap, PlatformSpecificNavigationOptions, PlatformStackNavigationState, TransformStateProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList, State} from '@libs/Navigation/types'; import {isCentralPaneName} from '@libs/NavigationUtils'; import SCREENS from '@src/SCREENS'; From 9c85763668b3caef07e083f0b7ed0e8b65cba180 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 12:21:18 +0200 Subject: [PATCH 134/178] update RNS patch --- ...s+3.34.0+002+ios_from_left_animation.patch | 156 +++++------------- 1 file changed, 45 insertions(+), 111 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 281bc332c84c8..0449f285a475f 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -10,33 +10,49 @@ index fb4260f..6a89639 100644 + IOS_FROM_RIGHT, + IOS_FROM_LEFT, } - + enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..2b098c5 100644 +index 4b520d1..f327719 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -@@ -160,7 +160,8 @@ class ScreenStack( +@@ -160,7 +160,16 @@ class ScreenStack( R.anim.rns_no_animation_medium, ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_fade_from_bottom, R.anim.rns_no_animation_350) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) -+ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) -+ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) ++ StackAnimation.IOS_FROM_RIGHT -> ++ it.setCustomAnimations( ++ R.anim.rns_ios_foreground_slide_from_right, ++ R.anim.rns_ios_background_slide_from_right ++ ) ++ StackAnimation.IOS_FROM_LEFT -> ++ it.setCustomAnimations( ++ R.anim.rns_ios_foreground_slide_from_left, ++ R.anim.rns_ios_background_slide_from_left ++ ) } } else { when (stackAnimation) { -@@ -183,7 +184,8 @@ class ScreenStack( +@@ -183,7 +192,16 @@ class ScreenStack( R.anim.rns_slide_out_to_bottom, ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) -+ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) -+ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) ++ StackAnimation.IOS_FROM_RIGHT -> ++ it.setCustomAnimations( ++ R.anim.rns_ios_foreground_slide_from_left, ++ R.anim.rns_ios_background_slide_from_left ++ ) ++ StackAnimation.IOS_FROM_LEFT -> ++ it.setCustomAnimations( ++ R.anim.rns_ios_foreground_slide_from_right, ++ R.anim.rns_ios_background_slide_from_right ++ ) } } } -@@ -373,6 +375,7 @@ class ScreenStack( +@@ -373,6 +391,7 @@ class ScreenStack( Build.VERSION.SDK_INT >= 33 || fragmentWrapper.screen.stackAnimation === StackAnimation.SLIDE_FROM_BOTTOM || fragmentWrapper.screen.stackAnimation === StackAnimation.FADE_FROM_BOTTOM || @@ -59,6 +75,22 @@ index 99e88f6..ec4be76 100644 else -> throw JSApplicationIllegalArgumentException("Unknown animation type $animation") } } +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_left.xml +similarity index 100% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_left.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_right.xml +similarity index 100% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_right.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_left.xml +similarity index 100% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_left.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_right.xml +similarity index 100% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_right.xml diff --git a/node_modules/react-native-screens/ios/RNSConvert.mm b/node_modules/react-native-screens/ios/RNSConvert.mm index 2acf655..c0c3128 100644 --- a/node_modules/react-native-screens/ios/RNSConvert.mm @@ -194,7 +226,7 @@ index ce96e8e..f16c8e6 100644 +- `"ios_from_right"` - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) +- `"ios_from_left"` - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) - `none` - the screen appears/disappears without an animation. - + Defaults to `default`. diff --git a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts index 71c2251..6a9fd9d 100644 @@ -207,9 +239,9 @@ index 71c2251..6a9fd9d 100644 - | 'ios'; + | 'ios_from_right' + | 'ios_from_left'; - + type SwipeDirection = 'vertical' | 'horizontal'; - + diff --git a/node_modules/react-native-screens/src/native-stack/types.tsx b/node_modules/react-native-screens/src/native-stack/types.tsx index 5ad3184..5ca46bd 100644 --- a/node_modules/react-native-screens/src/native-stack/types.tsx @@ -248,104 +280,6 @@ index f83ad56..6ddd3d0 100644 * - "none" – the screen appears/dissapears without an animation */ stackAnimation?: StackAnimationTypes; -diff --git a/node_modules/react-native-screens/windows/.gitignore b/node_modules/react-native-screens/windows/.gitignore -new file mode 100644 -index 0000000..4ea0c7b ---- /dev/null -+++ b/node_modules/react-native-screens/windows/.gitignore -@@ -0,0 +1,92 @@ -+*AppPackages* -+*BundleArtifacts* -+ -+#OS junk files -+[Tt]humbs.db -+*.DS_Store -+ -+#Visual Studio files -+*.[Oo]bj -+*.user -+*.aps -+*.pch -+*.vspscc -+*.vssscc -+*_i.c -+*_p.c -+*.ncb -+*.suo -+*.tlb -+*.tlh -+*.bak -+*.[Cc]ache -+*.ilk -+*.log -+*.lib -+*.sbr -+*.sdf -+*.opensdf -+*.opendb -+*.unsuccessfulbuild -+ipch/ -+[Oo]bj/ -+[Bb]in -+[Dd]ebug*/ -+[Rr]elease*/ -+Ankh.NoLoad -+ -+# Visual C++ cache files -+ipch/ -+*.aps -+*.ncb -+*.opendb -+*.opensdf -+*.sdf -+*.cachefile -+*.VC.db -+*.VC.VC.opendb -+ -+#MonoDevelop -+*.pidb -+*.userprefs -+ -+#Tooling -+_ReSharper*/ -+*.resharper -+[Tt]est[Rr]esult* -+*.sass-cache -+ -+#Project files -+[Bb]uild/ -+ -+#Subversion files -+.svn -+ -+# Office Temp Files -+~$* -+ -+# vim Temp Files -+*~ -+ -+#NuGet -+packages/ -+*.nupkg -+ -+#ncrunch -+*ncrunch* -+*crunch*.local.xml -+ -+# visual studio database projects -+*.dbmdl -+ -+#Test files -+*.testsettings -+ -+#Other files -+*.DotSettings -+.vs/ -+*project.lock.json -+ -+#Files generated by the VS build -+**/Generated Files/** -+ diff --git a/node_modules/react-native-screens/windows/RNScreens/Screen.h b/node_modules/react-native-screens/windows/RNScreens/Screen.h index fd02641..7abf426 100644 --- a/node_modules/react-native-screens/windows/RNScreens/Screen.h @@ -358,5 +292,5 @@ index fd02641..7abf426 100644 + IOS_FROM_RIGHT, + IOS_FROM_LEFT }; - + enum class ReplaceAnimation { PUSH, POP }; From e0a9fc072a6bcf9bf42a99b16f1577da889da6c5 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 13:16:48 +0200 Subject: [PATCH 135/178] update RNS patch --- ...s+3.34.0+002+ios_from_left_animation.patch | 84 ++++++++++++++----- 1 file changed, 65 insertions(+), 19 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 0449f285a475f..ae7ea0a80e817 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -13,7 +13,7 @@ index fb4260f..6a89639 100644 enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..f327719 100644 +index 4b520d1..6f5580c 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt @@ -160,7 +160,16 @@ class ScreenStack( @@ -23,13 +23,13 @@ index 4b520d1..f327719 100644 - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) + StackAnimation.IOS_FROM_RIGHT -> + it.setCustomAnimations( -+ R.anim.rns_ios_foreground_slide_from_right, -+ R.anim.rns_ios_background_slide_from_right ++ R.anim.rns_ios_from_right_foreground_open, ++ R.anim.rns_ios_from_right_background_open, + ) + StackAnimation.IOS_FROM_LEFT -> + it.setCustomAnimations( -+ R.anim.rns_ios_foreground_slide_from_left, -+ R.anim.rns_ios_background_slide_from_left ++ R.anim.rns_ios_from_left_foreground_open, ++ R.anim.rns_ios_from_left_background_open, + ) } } else { @@ -40,14 +40,14 @@ index 4b520d1..f327719 100644 StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) + StackAnimation.IOS_FROM_RIGHT -> -+ it.setCustomAnimations( -+ R.anim.rns_ios_foreground_slide_from_left, -+ R.anim.rns_ios_background_slide_from_left ++ it.setCustomAnimations( ++ R.anim.rns_ios_from_right_foreground_close, ++ R.anim.rns_ios_from_right_background_close, + ) + StackAnimation.IOS_FROM_LEFT -> -+ it.setCustomAnimations( -+ R.anim.rns_ios_foreground_slide_from_right, -+ R.anim.rns_ios_background_slide_from_right ++ it.setCustomAnimations( ++ R.anim.rns_ios_from_left_foreground_close, ++ R.anim.rns_ios_from_left_background_close, + ) } } @@ -75,22 +75,68 @@ index 99e88f6..ec4be76 100644 else -> throw JSApplicationIllegalArgumentException("Unknown animation type $animation") } } -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_left.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_left.xml -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_right.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +new file mode 100644 +index 0000000..11a8d45 +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +@@ -0,0 +1,5 @@ ++ ++ +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +new file mode 100644 +index 0000000..2cb6237 +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml +@@ -0,0 +1,6 @@ ++ ++ +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +new file mode 100644 +index 0000000..394ac66 +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_open.xml +@@ -0,0 +1,6 @@ ++ ++ +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +new file mode 100644 +index 0000000..66a611f +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +@@ -0,0 +1,5 @@ ++ ++ +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_background_slide_from_right.xml -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_left.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_left.xml -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_right.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_foreground_slide_from_right.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml diff --git a/node_modules/react-native-screens/ios/RNSConvert.mm b/node_modules/react-native-screens/ios/RNSConvert.mm index 2acf655..c0c3128 100644 --- a/node_modules/react-native-screens/ios/RNSConvert.mm From ed0c177848a8612fe2d7147e55ef06434d5dae7f Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 16:18:25 +0200 Subject: [PATCH 136/178] update RNS patch --- ...s+3.34.0+002+ios_from_left_animation.patch | 167 +++++++++--------- 1 file changed, 85 insertions(+), 82 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index ae7ea0a80e817..f39420d4ac852 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -1,58 +1,41 @@ diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt -index fb4260f..6a89639 100644 +index fb4260f..9d08d39 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt -@@ -363,7 +363,8 @@ class Screen( - SLIDE_FROM_RIGHT, +@@ -364,6 +364,8 @@ class Screen( SLIDE_FROM_LEFT, FADE_FROM_BOTTOM, -- IOS, + IOS, + IOS_FROM_RIGHT, + IOS_FROM_LEFT, } enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..6f5580c 100644 +index 4b520d1..b105b1a 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -@@ -160,7 +160,16 @@ class ScreenStack( +@@ -160,7 +160,8 @@ class ScreenStack( R.anim.rns_no_animation_medium, ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_fade_from_bottom, R.anim.rns_no_animation_350) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) -+ StackAnimation.IOS_FROM_RIGHT -> -+ it.setCustomAnimations( -+ R.anim.rns_ios_from_right_foreground_open, -+ R.anim.rns_ios_from_right_background_open, -+ ) -+ StackAnimation.IOS_FROM_LEFT -> -+ it.setCustomAnimations( -+ R.anim.rns_ios_from_left_foreground_open, -+ R.anim.rns_ios_from_left_background_open, -+ ) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.R.anim.rns_ios_from_right_foreground_open, R.anim.rns_ios_from_right_background_open) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.R.anim.rns_ios_from_left_foreground_open, R.anim.rns_ios_from_left_background_open) } } else { when (stackAnimation) { -@@ -183,7 +192,16 @@ class ScreenStack( +@@ -183,7 +184,8 @@ class ScreenStack( R.anim.rns_slide_out_to_bottom, ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) -+ StackAnimation.IOS_FROM_RIGHT -> -+ it.setCustomAnimations( -+ R.anim.rns_ios_from_right_foreground_close, -+ R.anim.rns_ios_from_right_background_close, -+ ) -+ StackAnimation.IOS_FROM_LEFT -> -+ it.setCustomAnimations( -+ R.anim.rns_ios_from_left_foreground_close, -+ R.anim.rns_ios_from_left_background_close, -+ ) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.R.anim.rns_ios_from_left_foreground_close, R.anim.rns_ios_from_left_background_close) } } } -@@ -373,6 +391,7 @@ class ScreenStack( +@@ -373,6 +375,7 @@ class ScreenStack( Build.VERSION.SDK_INT >= 33 || fragmentWrapper.screen.stackAnimation === StackAnimation.SLIDE_FROM_BOTTOM || fragmentWrapper.screen.stackAnimation === StackAnimation.FADE_FROM_BOTTOM || @@ -62,34 +45,35 @@ index 4b520d1..6f5580c 100644 } } diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -index 99e88f6..ec4be76 100644 +index 99e88f6..a4e0879 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -@@ -103,7 +103,8 @@ open class ScreenViewManager : +@@ -103,7 +103,9 @@ open class ScreenViewManager : "slide_from_left" -> Screen.StackAnimation.SLIDE_FROM_LEFT "slide_from_bottom" -> Screen.StackAnimation.SLIDE_FROM_BOTTOM "fade_from_bottom" -> Screen.StackAnimation.FADE_FROM_BOTTOM - "ios" -> Screen.StackAnimation.IOS ++ "ios" -> Screen.StackAnimation.IOS_FROM_RIGHT + "ios_from_right" -> Screen.StackAnimation.IOS_FROM_RIGHT + "ios_from_left" -> Screen.StackAnimation.IOS_FROM_LEFT else -> throw JSApplicationIllegalArgumentException("Unknown animation type $animation") } } -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml -similarity index 100% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml new file mode 100644 -index 0000000..11a8d45 +index 0000000..1d92c95 --- /dev/null -+++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml @@ -0,0 +1,5 @@ + + ++ android:toXDelta="-30%" /> +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +similarity index 100% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml new file mode 100644 index 0000000..2cb6237 @@ -114,21 +98,30 @@ index 0000000..394ac66 + android:interpolator="@android:interpolator/accelerate_decelerate" + android:fromXDelta="-100%" + android:toXDelta="0%" /> -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +similarity index 86% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml +rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +index 0789fbe..11a8d45 100644 +--- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +@@ -2,4 +2,4 @@ + ++ android:toXDelta="30%" /> +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml new file mode 100644 -index 0000000..66a611f +index 0000000..5d75e0b --- /dev/null -+++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml @@ -0,0 +1,5 @@ + + -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml -similarity index 100% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml @@ -138,14 +131,17 @@ similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml diff --git a/node_modules/react-native-screens/ios/RNSConvert.mm b/node_modules/react-native-screens/ios/RNSConvert.mm -index 2acf655..c0c3128 100644 +index 2acf655..0ad8ff3 100644 --- a/node_modules/react-native-screens/ios/RNSConvert.mm +++ b/node_modules/react-native-screens/ios/RNSConvert.mm -@@ -53,10 +53,12 @@ + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSS +@@ -51,12 +51,15 @@ + (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent: + + (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:(react::RNSScreenStackAnimation)stackAnimation + { switch (stackAnimation) { - // these three are intentionally grouped +- // these three are intentionally grouped ++ // these four are intentionally grouped case react::RNSScreenStackAnimation::Slide_from_right: -- case react::RNSScreenStackAnimation::Ios: + case react::RNSScreenStackAnimation::Ios: + case react::RNSScreenStackAnimation::Ios_from_right: case react::RNSScreenStackAnimation::Default: return RNSScreenStackAnimationDefault; @@ -156,35 +152,34 @@ index 2acf655..c0c3128 100644 case react::RNSScreenStackAnimation::Flip: return RNSScreenStackAnimationFlip; diff --git a/node_modules/react-native-screens/ios/RNSScreen.mm b/node_modules/react-native-screens/ios/RNSScreen.mm -index b673407..e588c10 100644 +index b673407..0c7ec2b 100644 --- a/node_modules/react-native-screens/ios/RNSScreen.mm +++ b/node_modules/react-native-screens/ios/RNSScreen.mm -@@ -1545,7 +1545,8 @@ @implementation RCTConvert (RNSScreen) - @"slide_from_bottom" : @(RNSScreenStackAnimationSlideFromBottom), +@@ -1546,6 +1546,8 @@ @implementation RCTConvert (RNSScreen) @"slide_from_right" : @(RNSScreenStackAnimationDefault), @"slide_from_left" : @(RNSScreenStackAnimationSlideFromLeft), -- @"ios" : @(RNSScreenStackAnimationDefault), + @"ios" : @(RNSScreenStackAnimationDefault), + @"ios_from_right" : @(RNSScreenStackAnimationDefault), + @"ios_from_left" : @(RNSScreenStackAnimationSlideFromLeft), }), RNSScreenStackAnimationDefault, integerValue) diff --git a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map -index 4920853..6c00586 100644 +index 4920853..00ab471 100644 --- a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map +++ b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map @@ -1 +1 @@ -{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA6Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} -+{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA8Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} ++{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA+Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} diff --git a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map -index e21812a..a18ba30 100644 +index e21812a..7a67ad7 100644 --- a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map +++ b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map @@ -1 +1 @@ -{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA6FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} -+{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA8FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} ++{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA+FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -index 92874bd..1f0b1b9 100644 +index 92874bd..11ed190 100644 --- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts +++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts @@ -20,7 +20,7 @@ type GestureResponseDistanceType = Readonly<{ @@ -192,44 +187,45 @@ index 92874bd..1f0b1b9 100644 }>; type StackPresentation = 'push' | 'modal' | 'transparentModal' | 'fullScreenModal' | 'formSheet' | 'containedModal' | 'containedTransparentModal'; -type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios'; -+type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios_from_right' | 'ios_from_left'; ++type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios' | 'ios_from_right' | 'ios_from_left'; type SwipeDirection = 'vertical' | 'horizontal'; type ReplaceAnimation = 'pop' | 'push'; type SheetDetentTypes = 'large' | 'medium' | 'all'; diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map -index 84f2fad..cbd9e43 100644 +index 84f2fad..d919c9f 100644 --- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} \ No newline at end of file -+{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} ++{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,KAAK,EACL,KAAK,EACL,MAAM,EACP,MAAM,2CAA2C,CAAC;AAGnD,KAAK,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhC,KAAK,oBAAoB,GAAG,QAAQ,CAAC;IACnC,YAAY,EAAE,KAAK,CAAC;CACrB,CAAC,CAAC;AAEH,KAAK,uBAAuB,GAAG,QAAQ,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,KAAK,CAAC;CACrB,CAAC,CAAC;AAEH,KAAK,uBAAuB,GAAG,QAAQ,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,KAAK,2BAA2B,GAAG,QAAQ,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;IACX,GAAG,EAAE,KAAK,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;CACf,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAClB,MAAM,GACN,OAAO,GACP,kBAAkB,GAClB,iBAAiB,GACjB,WAAW,GACX,gBAAgB,GAChB,2BAA2B,CAAC;AAEhC,KAAK,cAAc,GACf,SAAS,GACT,MAAM,GACN,aAAa,GACb,MAAM,GACN,MAAM,GACN,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,KAAK,GACL,gBAAgB,GAChB,eAAe,CAAC;AAEpB,KAAK,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhD,KAAK,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,KAAK,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACvD,wBAAwB,CAAC,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACpE,YAAY,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClD,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IACnE,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IACnE,eAAe,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClD,yBAAyB,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5D,mBAAmB,CAAC,EAAE,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC7D,0BAA0B,CAAC,EAAE,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAClE,mBAAmB,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7C,8BAA8B,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;IACtD,iBAAiB,CAAC,EAAE,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACxD,kBAAkB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACzC,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C;;AAED,wBAEG"} \ No newline at end of file diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts -index ce3a88f..d877a69 100644 +index ce3a88f..f349bf6 100644 --- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts +++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts -@@ -397,7 +397,8 @@ export type NativeStackNavigationOptions = { +@@ -397,7 +397,9 @@ export type NativeStackNavigationOptions = { * - "slide_from_bottom" – performs a slide from bottom animation * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) * - "slide_from_left" - slide in the new screen from left to right - * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) + * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) * - "none" – the screen appears/dissapears without an animation */ stackAnimation?: ScreenProps['stackAnimation']; diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map -index 00b53ff..bbdbbbe 100644 +index 00b53ff..f91cd9d 100644 --- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map +++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;OAIG;IACH,MAAM,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAC5B;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IAC7B;;OAEG;IACH,eAAe,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IAChD;;OAEG;IACH,aAAa,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IAC9C;;OAEG;IACH,aAAa,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;IACnC;;OAEG;IACH,kBAAkB,EAAE;QAAE,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,CACnC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,IACxC,cAAc,CAChB,SAAS,EACT,SAAS,EACT,oBAAoB,CAAC,SAAS,CAAC,EAC/B,4BAA4B,EAC5B,6BAA6B,CAC9B,GACC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAEhC,MAAM,MAAM,sBAAsB,CAChC,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,IACxC;IACF,UAAU,EAAE,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5D,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,iBAAiB,CAC1D,aAAa,EACb,6BAA6B,CAC9B,CAAC;AAIF,MAAM,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE7C,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;OAGG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,4BAA4B,CAAC,uBAAuB,CAAC,CAAC;IAC9E;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;OAQG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACjE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACtE;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QACjB,eAAe,CAAC,EAAE,UAAU,CAAC;KAC9B,CAAC;IACF;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;IACF;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACpE;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,UAAU,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IACrE;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACZ,eAAe,CAAC,EAAE,UAAU,CAAC;QAC7B,UAAU,CAAC,EAAE,4BAA4B,CAAC,YAAY,CAAC,CAAC;KACzD,CAAC;IACF;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;IACF;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;OAMG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnD;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACrD;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC;;;;;;OAMG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,0BAA0B,CAAC,EAAE,gBAAgB,CAAC;IAC9C;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACrD;;OAEG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACvD;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACnC,uBAAuB,CAAC,4BAA4B,CAAC,GACnD,kBAAkB,GAClB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAC5C,aAAa,EACb,MAAM,EACN,oBAAoB,CAAC,aAAa,CAAC,EACnC,4BAA4B,CAC7B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACtC,CAAC;AAGF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,WAAW,GACX,SAAS,GACT,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,CACd,KAAK,EAAE,6BAA6B,EACpC,UAAU,EAAE,kBAAkB,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,mBAAmB,EAAE,CACnB,KAAK,EAAE,6BAA6B,EACpC,UAAU,EAAE,kBAAkB,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CACpD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAC7E,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,qBAAqB,EAAE,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACrE,WAAW,EAAE,iBAAiB,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,mBAAmB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC1D,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC,CAAC"} \ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts b/node_modules/react-native-screens/lib/typescript/types.d.ts -index e6a12da..d15f046 100644 +index e6a12da..dcaee10 100644 --- a/node_modules/react-native-screens/lib/typescript/types.d.ts +++ b/node_modules/react-native-screens/lib/typescript/types.d.ts @@ -11,7 +11,7 @@ export type SearchBarCommands = { @@ -237,104 +233,111 @@ index e6a12da..d15f046 100644 export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal'; export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet'; -export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios'; -+export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios_from_right' | 'ios_from_left'; ++export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios' | 'ios_from_right' | 'ios_from_left'; export type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark'; export type ScreenReplaceTypes = 'push' | 'pop'; export type SwipeDirectionTypes = 'vertical' | 'horizontal'; -@@ -273,7 +273,8 @@ export interface ScreenProps extends ViewProps { +@@ -273,7 +273,9 @@ export interface ScreenProps extends ViewProps { * - `slide_from_bottom` – performs a slide from bottom animation * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) * - "slide_from_left" - slide in the new screen from left to right - * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) + * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) * - "none" – the screen appears/dissapears without an animation */ stackAnimation?: StackAnimationTypes; diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/types.d.ts.map -index 2fde7e3..6efc2f5 100644 +index 2fde7e3..c0d4747 100644 --- a/node_modules/react-native-screens/lib/typescript/types.d.ts.map +++ b/node_modules/react-native-screens/lib/typescript/types.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} \ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,SAAS,EACT,IAAI,EACJ,aAAa,EACb,uBAAuB,EACvB,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,kBAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,OAAO,GACP,kBAAkB,GAClB,gBAAgB,GAChB,2BAA2B,GAC3B,iBAAiB,GACjB,WAAW,CAAC;AAChB,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,MAAM,GACN,kBAAkB,GAClB,MAAM,GACN,MAAM,GACN,aAAa,GACb,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAC;AACpB,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,OAAO,GACP,MAAM,GACN,SAAS,GACT,WAAW,GACX,yBAAyB,GACzB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,sBAAsB,GACtB,8BAA8B,GAC9B,yBAAyB,GACzB,qBAAqB,GACrB,0BAA0B,GAC1B,2BAA2B,GAC3B,6BAA6B,GAC7B,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,0BAA0B,CAAC;AAC/B,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,CAAC;AAC5D,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,KAAK,GACL,UAAU,GACV,aAAa,GACb,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,iBAAiB,CAAC;AACtB,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;OAQG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;IACtD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;OAMG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC5D,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC/D;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC1E;;OAEG;IACH,oBAAoB,CAAC,EAAE,CACrB,CAAC,EAAE,oBAAoB,CAAC,2BAA2B,CAAC,KACjD,IAAI,CAAC;IACV;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC1D;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CACzB,CAAC,EAAE,oBAAoB,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,KAC9C,IAAI,CAAC;IACV;;OAEG;IACH,oBAAoB,CAAC,EAAE,CACrB,CAAC,EAAE,oBAAoB,CAAC,2BAA2B,CAAC,KACjD,IAAI,CAAC;IACV;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAChE;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACnE;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC;;;;;;OAMG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,0BAA0B,CAAC,EAAE,gBAAgB,CAAC;IAC9C;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxD;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,sBAAsB,EAAE,CACtB,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KACnE,IAAI,CAAC;CACX;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACzE,qBAAqB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IACtE,GAAG,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,yBAAyB,CAAC,EAAE,UAAU,CAAC;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEzC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC;IAC/D;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClD;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC1D;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAEvE;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC;IAE1E;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3D;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CACpB,CAAC,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,KAC7C,IAAI,CAAC;IACV;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B;;OAEG;IACH,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC"} ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/react-native-screens/native-stack/README.md b/node_modules/react-native-screens/native-stack/README.md -index ce96e8e..f16c8e6 100644 +index ce96e8e..a7d07c7 100644 --- a/node_modules/react-native-screens/native-stack/README.md +++ b/node_modules/react-native-screens/native-stack/README.md -@@ -302,7 +302,8 @@ How the given screen should appear/disappear when pushed or popped at the top of +@@ -302,7 +302,9 @@ How the given screen should appear/disappear when pushed or popped at the top of - `slide_from_bottom` – performs a slide from bottom animation - `slide_from_right` - slide in the new screen from right to left (Android only, resolves to default transition on iOS) - `slide_from_left` - slide in the new screen from left to right -- `ios` - iOS like slide in animation (Android only, resolves to default transition on iOS) ++- `"ios"` - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) +- `"ios_from_right"` - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) +- `"ios_from_left"` - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) - `none` - the screen appears/disappears without an animation. Defaults to `default`. diff --git a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts -index 71c2251..6a9fd9d 100644 +index 71c2251..4e39336 100644 --- a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts +++ b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts -@@ -51,7 +51,8 @@ type StackAnimation = +@@ -51,7 +51,9 @@ type StackAnimation = | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' - | 'ios'; ++ | 'ios' + | 'ios_from_right' + | 'ios_from_left'; type SwipeDirection = 'vertical' | 'horizontal'; diff --git a/node_modules/react-native-screens/src/native-stack/types.tsx b/node_modules/react-native-screens/src/native-stack/types.tsx -index 5ad3184..5ca46bd 100644 +index 5ad3184..78989e7 100644 --- a/node_modules/react-native-screens/src/native-stack/types.tsx +++ b/node_modules/react-native-screens/src/native-stack/types.tsx -@@ -418,7 +418,8 @@ export type NativeStackNavigationOptions = { +@@ -418,7 +418,9 @@ export type NativeStackNavigationOptions = { * - "slide_from_bottom" – performs a slide from bottom animation * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) * - "slide_from_left" - slide in the new screen from left to right - * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) + * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) * - "none" – the screen appears/dissapears without an animation */ stackAnimation?: ScreenProps['stackAnimation']; diff --git a/node_modules/react-native-screens/src/types.tsx b/node_modules/react-native-screens/src/types.tsx -index f83ad56..6ddd3d0 100644 +index f83ad56..6052fdc 100644 --- a/node_modules/react-native-screens/src/types.tsx +++ b/node_modules/react-native-screens/src/types.tsx -@@ -38,7 +38,8 @@ export type StackAnimationTypes = +@@ -38,7 +38,9 @@ export type StackAnimationTypes = | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' - | 'ios'; ++ | 'ios' + | 'ios_from_right' + | 'ios_from_left'; export type BlurEffectTypes = | 'extraLight' | 'light' -@@ -340,7 +341,8 @@ export interface ScreenProps extends ViewProps { +@@ -340,7 +342,9 @@ export interface ScreenProps extends ViewProps { * - `slide_from_bottom` – performs a slide from bottom animation * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) * - "slide_from_left" - slide in the new screen from left to right - * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) + * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) * - "none" – the screen appears/dissapears without an animation */ stackAnimation?: StackAnimationTypes; diff --git a/node_modules/react-native-screens/windows/RNScreens/Screen.h b/node_modules/react-native-screens/windows/RNScreens/Screen.h -index fd02641..7abf426 100644 +index fd02641..564b173 100644 --- a/node_modules/react-native-screens/windows/RNScreens/Screen.h +++ b/node_modules/react-native-screens/windows/RNScreens/Screen.h -@@ -11,7 +11,8 @@ enum class StackAnimation { +@@ -11,7 +11,9 @@ enum class StackAnimation { SIMPLE_FROM_BOTTOM, SLIDE_FROM_RIGHT, SLIDE_FROM_LEFT, - IOS ++ IOS, + IOS_FROM_RIGHT, + IOS_FROM_LEFT }; From 1bd5a6a7cc73e2e0ccbe9101b2a550d8c9807e4f Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 16:36:34 +0200 Subject: [PATCH 137/178] update patch --- ...ve-screens+3.34.0+002+ios_from_left_animation.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index f39420d4ac852..97547f8db7255 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -12,7 +12,7 @@ index fb4260f..9d08d39 100644 enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..b105b1a 100644 +index 4b520d1..9aa4974 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt @@ -160,7 +160,8 @@ class ScreenStack( @@ -20,8 +20,8 @@ index 4b520d1..b105b1a 100644 ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_fade_from_bottom, R.anim.rns_no_animation_350) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) -+ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.R.anim.rns_ios_from_right_foreground_open, R.anim.rns_ios_from_right_background_open) -+ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.R.anim.rns_ios_from_left_foreground_open, R.anim.rns_ios_from_left_background_open) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_open, R.anim.rns_ios_from_right_background_open) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_ios_from_left_foreground_open, R.anim.rns_ios_from_left_background_open) } } else { when (stackAnimation) { @@ -30,8 +30,8 @@ index 4b520d1..b105b1a 100644 ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) -+ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) -+ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.R.anim.rns_ios_from_left_foreground_close, R.anim.rns_ios_from_left_background_close) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_ios_from_left_foreground_close, R.anim.rns_ios_from_left_background_close) } } } From ecd8b53cf85f400068fa08cbbb5907e924b5458f Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 16:48:49 +0200 Subject: [PATCH 138/178] update RNS patch --- ...ve-screens+3.34.0+002+ios_from_left_animation.patch | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 97547f8db7255..7cec1068ac573 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -12,30 +12,32 @@ index fb4260f..9d08d39 100644 enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..9aa4974 100644 +index 4b520d1..2a920f8 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -@@ -160,7 +160,8 @@ class ScreenStack( +@@ -160,7 +160,9 @@ class ScreenStack( R.anim.rns_no_animation_medium, ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_fade_from_bottom, R.anim.rns_no_animation_350) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_right_ios, R.anim.rns_slide_out_to_left_ios) ++ StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_open, R.anim.rns_ios_from_right_background_open) + StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_open, R.anim.rns_ios_from_right_background_open) + StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_ios_from_left_foreground_open, R.anim.rns_ios_from_left_background_open) } } else { when (stackAnimation) { -@@ -183,7 +184,8 @@ class ScreenStack( +@@ -183,7 +185,9 @@ class ScreenStack( R.anim.rns_slide_out_to_bottom, ) StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) ++ StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) + StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) + StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_ios_from_left_foreground_close, R.anim.rns_ios_from_left_background_close) } } } -@@ -373,6 +375,7 @@ class ScreenStack( +@@ -373,6 +377,7 @@ class ScreenStack( Build.VERSION.SDK_INT >= 33 || fragmentWrapper.screen.stackAnimation === StackAnimation.SLIDE_FROM_BOTTOM || fragmentWrapper.screen.stackAnimation === StackAnimation.FADE_FROM_BOTTOM || From e4be7cf014533eafcbcb89e37fc9238b0f2bfaf3 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 30 Aug 2024 16:49:13 +0200 Subject: [PATCH 139/178] update RNS patch --- ...eact-native-screens+3.34.0+002+ios_from_left_animation.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 7cec1068ac573..208e66d29d025 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -11,7 +11,7 @@ index fb4260f..9d08d39 100644 } enum class ReplaceAnimation { -diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmans¸ion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt index 4b520d1..2a920f8 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt From 24287b5cb8526b93bfdae5e7219fb731aa30ee78 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 2 Sep 2024 14:14:50 +0200 Subject: [PATCH 140/178] update patch --- ...s+3.34.0+002+ios_from_left_animation.patch | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 208e66d29d025..46f4add9ad7dd 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -11,8 +11,8 @@ index fb4260f..9d08d39 100644 } enum class ReplaceAnimation { -diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmans¸ion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..2a920f8 100644 +diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +index 4b520d1..b303b0e 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt @@ -160,7 +160,9 @@ class ScreenStack( @@ -32,8 +32,8 @@ index 4b520d1..2a920f8 100644 StackAnimation.FADE_FROM_BOTTOM -> it.setCustomAnimations(R.anim.rns_no_animation_250, R.anim.rns_fade_to_bottom) - StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_slide_in_from_left_ios, R.anim.rns_slide_out_to_right_ios) + StackAnimation.IOS -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) -+ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_ios_from_right_foreground_close, R.anim.rns_ios_from_right_background_close) -+ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_ios_from_left_foreground_close, R.anim.rns_ios_from_left_background_close) ++ StackAnimation.IOS_FROM_RIGHT -> it.setCustomAnimations(R.anim.rns_ios_from_right_background_close, R.anim.rns_ios_from_right_foreground_close) ++ StackAnimation.IOS_FROM_LEFT -> it.setCustomAnimations(R.anim.rns_ios_from_left_background_close, R.anim.rns_ios_from_left_foreground_close) } } } @@ -63,19 +63,28 @@ index 99e88f6..a4e0879 100644 } diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml new file mode 100644 -index 0000000..1d92c95 +index 0000000..5d75e0b --- /dev/null +++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_close.xml @@ -0,0 +1,5 @@ + + -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml -similarity index 100% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml ++ android:fromXDelta="30%" ++ android:toXDelta="0%" /> +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +similarity index 86% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +index 0789fbe..11a8d45 100644 +--- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +@@ -2,4 +2,4 @@ + ++ android:toXDelta="30%" /> diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml new file mode 100644 index 0000000..2cb6237 @@ -100,30 +109,21 @@ index 0000000..394ac66 + android:interpolator="@android:interpolator/accelerate_decelerate" + android:fromXDelta="-100%" + android:toXDelta="0%" /> -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml -similarity index 86% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +similarity index 100% +rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml -index 0789fbe..11a8d45 100644 ---- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml -+++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml -@@ -2,4 +2,4 @@ - -+ android:toXDelta="30%" /> diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml new file mode 100644 -index 0000000..5d75e0b +index 0000000..1d92c95 --- /dev/null +++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml @@ -0,0 +1,5 @@ + + ++ android:fromXDelta="0%" ++ android:toXDelta="-30%" /> diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml similarity index 100% rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml From 5b1e5fb13a0616805c72f94fa02d0a8ca2897134 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 3 Sep 2024 14:20:53 +0200 Subject: [PATCH 141/178] fix: patch --- ...ve-screens+3.34.0+002+ios_from_left_animation.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 46f4add9ad7dd..d12b896f549f6 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -9,7 +9,7 @@ index fb4260f..9d08d39 100644 + IOS_FROM_RIGHT, + IOS_FROM_LEFT, } - + enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt index 4b520d1..b303b0e 100644 @@ -272,7 +272,7 @@ index ce96e8e..a7d07c7 100644 +- `"ios_from_right"` - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) +- `"ios_from_left"` - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) - `none` - the screen appears/disappears without an animation. - + Defaults to `default`. diff --git a/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts b/node_modules/react-native-screens/src/fabric/ScreenNativeComponent.ts index 71c2251..4e39336 100644 @@ -286,9 +286,9 @@ index 71c2251..4e39336 100644 + | 'ios' + | 'ios_from_right' + | 'ios_from_left'; - + type SwipeDirection = 'vertical' | 'horizontal'; - + diff --git a/node_modules/react-native-screens/src/native-stack/types.tsx b/node_modules/react-native-screens/src/native-stack/types.tsx index 5ad3184..78989e7 100644 --- a/node_modules/react-native-screens/src/native-stack/types.tsx @@ -343,5 +343,5 @@ index fd02641..564b173 100644 + IOS_FROM_RIGHT, + IOS_FROM_LEFT }; - + enum class ReplaceAnimation { PUSH, POP }; From a404e5581aa6bddb258247326074631dcfc8c87c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 3 Sep 2024 15:03:18 +0200 Subject: [PATCH 142/178] update patch --- ...s+3.34.0+002+ios_from_left_animation.patch | 106 +----------------- 1 file changed, 6 insertions(+), 100 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index d12b896f549f6..3fefba597e004 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -12,7 +12,7 @@ index fb4260f..9d08d39 100644 enum class ReplaceAnimation { diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt -index 4b520d1..b303b0e 100644 +index 4b520d1..b8c66e5 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStack.kt @@ -160,7 +160,9 @@ class ScreenStack( @@ -37,25 +37,24 @@ index 4b520d1..b303b0e 100644 } } } -@@ -373,6 +377,7 @@ class ScreenStack( +@@ -373,6 +377,8 @@ class ScreenStack( Build.VERSION.SDK_INT >= 33 || fragmentWrapper.screen.stackAnimation === StackAnimation.SLIDE_FROM_BOTTOM || fragmentWrapper.screen.stackAnimation === StackAnimation.FADE_FROM_BOTTOM || - fragmentWrapper.screen.stackAnimation === StackAnimation.IOS ++ fragmentWrapper.screen.stackAnimation === StackAnimation.IOS || + fragmentWrapper.screen.stackAnimation === StackAnimation.IOS_FROM_RIGHT || + fragmentWrapper.screen.stackAnimation === StackAnimation.IOS_FROM_LEFT } } diff --git a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -index 99e88f6..a4e0879 100644 +index 99e88f6..0699904 100644 --- a/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt +++ b/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.kt -@@ -103,7 +103,9 @@ open class ScreenViewManager : - "slide_from_left" -> Screen.StackAnimation.SLIDE_FROM_LEFT +@@ -104,6 +104,8 @@ open class ScreenViewManager : "slide_from_bottom" -> Screen.StackAnimation.SLIDE_FROM_BOTTOM "fade_from_bottom" -> Screen.StackAnimation.FADE_FROM_BOTTOM -- "ios" -> Screen.StackAnimation.IOS -+ "ios" -> Screen.StackAnimation.IOS_FROM_RIGHT + "ios" -> Screen.StackAnimation.IOS + "ios_from_right" -> Screen.StackAnimation.IOS_FROM_RIGHT + "ios_from_left" -> Screen.StackAnimation.IOS_FROM_LEFT else -> throw JSApplicationIllegalArgumentException("Unknown animation type $animation") @@ -166,99 +165,6 @@ index b673407..0c7ec2b 100644 }), RNSScreenStackAnimationDefault, integerValue) -diff --git a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map -index 4920853..00ab471 100644 ---- a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map -+++ b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map -@@ -1 +1 @@ --{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA6Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} -+{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA+Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} -diff --git a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map -index e21812a..7a67ad7 100644 ---- a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map -+++ b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map -@@ -1 +1 @@ --{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA6FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} -+{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA+FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} -diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -index 92874bd..11ed190 100644 ---- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -+++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts -@@ -20,7 +20,7 @@ type GestureResponseDistanceType = Readonly<{ - bottom: Float; - }>; - type StackPresentation = 'push' | 'modal' | 'transparentModal' | 'fullScreenModal' | 'formSheet' | 'containedModal' | 'containedTransparentModal'; --type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios'; -+type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios' | 'ios_from_right' | 'ios_from_left'; - type SwipeDirection = 'vertical' | 'horizontal'; - type ReplaceAnimation = 'pop' | 'push'; - type SheetDetentTypes = 'large' | 'medium' | 'all'; -diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map -index 84f2fad..d919c9f 100644 ---- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map -+++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts -index ce3a88f..f349bf6 100644 ---- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts -+++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts -@@ -397,7 +397,9 @@ export type NativeStackNavigationOptions = { - * - "slide_from_bottom" – performs a slide from bottom animation - * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) - * - "slide_from_left" - slide in the new screen from left to right -- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) -+ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) -+ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) -+ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) - * - "none" – the screen appears/dissapears without an animation - */ - stackAnimation?: ScreenProps['stackAnimation']; -diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map -index 00b53ff..f91cd9d 100644 ---- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map -+++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts b/node_modules/react-native-screens/lib/typescript/types.d.ts -index e6a12da..dcaee10 100644 ---- a/node_modules/react-native-screens/lib/typescript/types.d.ts -+++ b/node_modules/react-native-screens/lib/typescript/types.d.ts -@@ -11,7 +11,7 @@ export type SearchBarCommands = { - }; - export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal'; - export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet'; --export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios'; -+export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios' | 'ios_from_right' | 'ios_from_left'; - export type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark'; - export type ScreenReplaceTypes = 'push' | 'pop'; - export type SwipeDirectionTypes = 'vertical' | 'horizontal'; -@@ -273,7 +273,9 @@ export interface ScreenProps extends ViewProps { - * - `slide_from_bottom` – performs a slide from bottom animation - * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) - * - "slide_from_left" - slide in the new screen from left to right -- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) -+ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) -+ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) -+ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) - * - "none" – the screen appears/dissapears without an animation - */ - stackAnimation?: StackAnimationTypes; -diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/types.d.ts.map -index 2fde7e3..c0d4747 100644 ---- a/node_modules/react-native-screens/lib/typescript/types.d.ts.map -+++ b/node_modules/react-native-screens/lib/typescript/types.d.ts.map -@@ -1 +1 @@ --{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} -\ No newline at end of file diff --git a/node_modules/react-native-screens/native-stack/README.md b/node_modules/react-native-screens/native-stack/README.md index ce96e8e..a7d07c7 100644 --- a/node_modules/react-native-screens/native-stack/README.md From 3ea4cdda5aa322ca1ed2a44450687441a72b4d25 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 3 Sep 2024 15:23:31 +0200 Subject: [PATCH 143/178] fix: patch (patch-package bug, renamed files lead to error when patching) --- ...s+3.34.0+002+ios_from_left_animation.patch | 206 ++++++++++++++++-- 1 file changed, 183 insertions(+), 23 deletions(-) diff --git a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch index 3fefba597e004..e53da4dca5461 100644 --- a/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch +++ b/patches/react-native-screens+3.34.0+002+ios_from_left_animation.patch @@ -71,18 +71,16 @@ index 0000000..5d75e0b + android:duration="@android:integer/config_shortAnimTime" + android:fromXDelta="30%" + android:toXDelta="0%" /> -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml -similarity index 86% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml -index 0789fbe..11a8d45 100644 ---- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml +new file mode 100644 +index 0000000..11a8d45 +--- /dev/null +++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_background_open.xml -@@ -2,4 +2,4 @@ - +@@ -0,0 +1,5 @@ ++ ++ diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_left_foreground_close.xml new file mode 100644 @@ -108,10 +106,17 @@ index 0000000..394ac66 + android:interpolator="@android:interpolator/accelerate_decelerate" + android:fromXDelta="-100%" + android:toXDelta="0%" /> -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml -similarity index 100% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +new file mode 100644 +index 0000000..66a611f +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_close.xml +@@ -0,0 +1,5 @@ ++ ++ diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_background_open.xml new file mode 100644 index 0000000..1d92c95 @@ -123,14 +128,76 @@ index 0000000..1d92c95 + android:duration="@android:integer/config_shortAnimTime" + android:fromXDelta="0%" + android:toXDelta="-30%" /> -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml -similarity index 100% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml -diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml -similarity index 100% -rename from node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml -rename to node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +new file mode 100644 +index 0000000..1073ae6 +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_close.xml +@@ -0,0 +1,6 @@ ++ ++ +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +new file mode 100644 +index 0000000..e687584 +--- /dev/null ++++ b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_ios_from_right_foreground_open.xml +@@ -0,0 +1,6 @@ ++ ++ +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml +deleted file mode 100644 +index 66a611f..0000000 +--- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_left_ios.xml ++++ /dev/null +@@ -1,5 +0,0 @@ +- +- +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml +deleted file mode 100644 +index e687584..0000000 +--- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_in_from_right_ios.xml ++++ /dev/null +@@ -1,6 +0,0 @@ +- +- +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml +deleted file mode 100644 +index 0789fbe..0000000 +--- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_left_ios.xml ++++ /dev/null +@@ -1,5 +0,0 @@ +- +- +diff --git a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml b/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml +deleted file mode 100644 +index 1073ae6..0000000 +--- a/node_modules/react-native-screens/android/src/main/res/base/anim/rns_slide_out_to_right_ios.xml ++++ /dev/null +@@ -1,6 +0,0 @@ +- +- diff --git a/node_modules/react-native-screens/ios/RNSConvert.mm b/node_modules/react-native-screens/ios/RNSConvert.mm index 2acf655..0ad8ff3 100644 --- a/node_modules/react-native-screens/ios/RNSConvert.mm @@ -165,6 +232,99 @@ index b673407..0c7ec2b 100644 }), RNSScreenStackAnimationDefault, integerValue) +diff --git a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map +index 4920853..00ab471 100644 +--- a/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map ++++ b/node_modules/react-native-screens/lib/commonjs/fabric/ScreenNativeComponent.js.map +@@ -1 +1 @@ +-{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA6Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} ++{"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","obj","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAU7F;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GA+Fe,IAAAG,+BAAsB,EAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} +diff --git a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map +index e21812a..7a67ad7 100644 +--- a/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map ++++ b/node_modules/react-native-screens/lib/module/fabric/ScreenNativeComponent.js.map +@@ -1 +1 @@ +-{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA6FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} ++{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["fabric/ScreenNativeComponent.ts"],"mappings":"AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;;AAU5F;;AA+FA,eAAeA,sBAAsB,CAAc,WAAW,EAAE;EAC9DC,aAAa,EAAE;AACjB,CAAC,CAAC"} +diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts +index 92874bd..11ed190 100644 +--- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts ++++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts +@@ -20,7 +20,7 @@ type GestureResponseDistanceType = Readonly<{ + bottom: Float; + }>; + type StackPresentation = 'push' | 'modal' | 'transparentModal' | 'fullScreenModal' | 'formSheet' | 'containedModal' | 'containedTransparentModal'; +-type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios'; ++type StackAnimation = 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios' | 'ios_from_right' | 'ios_from_left'; + type SwipeDirection = 'vertical' | 'horizontal'; + type ReplaceAnimation = 'pop' | 'push'; + type SheetDetentTypes = 'large' | 'medium' | 'all'; +diff --git a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +index 84f2fad..d919c9f 100644 +--- a/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map ++++ b/node_modules/react-native-screens/lib/typescript/fabric/ScreenNativeComponent.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"ScreenNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/fabric/ScreenNativeComponent.ts"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts +index ce3a88f..f349bf6 100644 +--- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts ++++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts +@@ -397,7 +397,9 @@ export type NativeStackNavigationOptions = { + * - "slide_from_bottom" – performs a slide from bottom animation + * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "slide_from_left" - slide in the new screen from left to right +- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) ++ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + * - "none" – the screen appears/dissapears without an animation + */ + stackAnimation?: ScreenProps['stackAnimation']; +diff --git a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map +index 00b53ff..f91cd9d 100644 +--- a/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map ++++ b/node_modules/react-native-screens/lib/typescript/native-stack/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/native-stack/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file +diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts b/node_modules/react-native-screens/lib/typescript/types.d.ts +index e6a12da..dcaee10 100644 +--- a/node_modules/react-native-screens/lib/typescript/types.d.ts ++++ b/node_modules/react-native-screens/lib/typescript/types.d.ts +@@ -11,7 +11,7 @@ export type SearchBarCommands = { + }; + export type BackButtonDisplayMode = 'default' | 'generic' | 'minimal'; + export type StackPresentationTypes = 'push' | 'modal' | 'transparentModal' | 'containedModal' | 'containedTransparentModal' | 'fullScreenModal' | 'formSheet'; +-export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios'; ++export type StackAnimationTypes = 'default' | 'fade' | 'fade_from_bottom' | 'flip' | 'none' | 'simple_push' | 'slide_from_bottom' | 'slide_from_right' | 'slide_from_left' | 'ios' | 'ios_from_right' | 'ios_from_left'; + export type BlurEffectTypes = 'extraLight' | 'light' | 'dark' | 'regular' | 'prominent' | 'systemUltraThinMaterial' | 'systemThinMaterial' | 'systemMaterial' | 'systemThickMaterial' | 'systemChromeMaterial' | 'systemUltraThinMaterialLight' | 'systemThinMaterialLight' | 'systemMaterialLight' | 'systemThickMaterialLight' | 'systemChromeMaterialLight' | 'systemUltraThinMaterialDark' | 'systemThinMaterialDark' | 'systemMaterialDark' | 'systemThickMaterialDark' | 'systemChromeMaterialDark'; + export type ScreenReplaceTypes = 'push' | 'pop'; + export type SwipeDirectionTypes = 'vertical' | 'horizontal'; +@@ -273,7 +273,9 @@ export interface ScreenProps extends ViewProps { + * - `slide_from_bottom` – performs a slide from bottom animation + * - "slide_from_right" - slide in the new screen from right to left (Android only, resolves to default transition on iOS) + * - "slide_from_left" - slide in the new screen from left to right +- * - "ios" - iOS like slide in animation (Android only, resolves to default transition on iOS) ++ * - "ios" - @deprecated iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) (will be removed in v4.0.0 in favor of `ios_from_right`) ++ * - "ios_from_right" - iOS like slide in animation. pushes in the new screen from right to left (Android only, resolves to default transition on iOS) ++ * - "ios_from_left" - iOS like slide in animation. pushes in the new screen from left to right (Android only, resolves to default transition on iOS) + * - "none" – the screen appears/dissapears without an animation + */ + stackAnimation?: StackAnimationTypes; +diff --git a/node_modules/react-native-screens/lib/typescript/types.d.ts.map b/node_modules/react-native-screens/lib/typescript/types.d.ts.map +index 2fde7e3..c0d4747 100644 +--- a/node_modules/react-native-screens/lib/typescript/types.d.ts.map ++++ b/node_modules/react-native-screens/lib/typescript/types.d.ts.map +@@ -1 +1 @@ +-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.tsx"],"names":[],"mappings":"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"} +\ No newline at end of file diff --git a/node_modules/react-native-screens/native-stack/README.md b/node_modules/react-native-screens/native-stack/README.md index ce96e8e..a7d07c7 100644 --- a/node_modules/react-native-screens/native-stack/README.md From b37e0a2a92def8567429fee8d801c46ebbc4d35c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 24 Sep 2024 11:25:25 +0200 Subject: [PATCH 144/178] revert unintentional patch change --- ...tive-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch b/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch index c6719da113f41..b09d133735284 100644 --- a/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch +++ b/patches/@react-navigation+native-stack+6.9.26+001+keyboardHandlingEnabled-prop.patch @@ -97,7 +97,7 @@ index 3d74b14..d886b7b 100644 + keyboardHandlingEnabled?: boolean; }; export type NativeStackNavigatorProps = DefaultNavigatorOptions, NativeStackNavigationOptions, NativeStackNavigationEventMap> & StackRouterOptions & NativeStackNavigationConfig; - export type NativeStackDescriptor = Descriptor, RouteProp>; + export type NativeStackDescriptor = Descriptor, RouteProp>; diff --git a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map b/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map index 39c4fd5..91f0d7a 100644 --- a/node_modules/@react-navigation/native-stack/lib/typescript/src/types.d.ts.map @@ -133,7 +133,7 @@ index 206fb0b..7a34a8e 100644 + */ + keyboardHandlingEnabled?: boolean; }; - + export type NativeStackNavigatorProps = DefaultNavigatorOptions< diff --git a/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx b/node_modules/@react-navigation/native-stack/src/views/NativeStackView.native.tsx index a005c43..03d8b50 100644 @@ -145,7 +145,7 @@ index a005c43..03d8b50 100644 freezeOnBlur, + keyboardHandlingEnabled, } = options; - + let { @@ -289,6 +290,7 @@ const SceneView = ({ onNativeDismissCancelled={onNativeDismissCancelled} From 8d50c0c2cbb7a869b09c0ebba99ee641cc856dc7 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 24 Sep 2024 11:51:22 +0200 Subject: [PATCH 145/178] fix: StackView import --- .../createPlatformStackNavigatorComponent/index.native.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index 08504a586377d..bebcd95c136be 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -1,7 +1,7 @@ import type {ParamListBase, StackActionHelpers} from '@react-navigation/native'; import {StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import {NativeStackView} from '@react-navigation/native-stack'; import type {NativeStackNavigationEventMap, NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import {StackView} from '@react-navigation/native-stack'; import React, {useMemo} from 'react'; import convertToNativeNavigationOptions from '@libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions'; import type { @@ -78,7 +78,7 @@ function createPlatformStackNavigatorComponent ( - Date: Tue, 24 Sep 2024 12:07:53 +0200 Subject: [PATCH 146/178] fix: eslint --- src/pages/home/report/ReportActionsList.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/home/report/ReportActionsList.tsx b/src/pages/home/report/ReportActionsList.tsx index 44d25c8abe34b..1f31abddad4aa 100644 --- a/src/pages/home/report/ReportActionsList.tsx +++ b/src/pages/home/report/ReportActionsList.tsx @@ -1,5 +1,6 @@ import type {ListRenderItemInfo} from '@react-native/virtualized-lists/Lists/VirtualizedList'; import {useIsFocused, useRoute} from '@react-navigation/native'; +// eslint-disable-next-line lodash/import-scope import type {DebouncedFunc} from 'lodash'; import React, {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {DeviceEventEmitter, InteractionManager, View} from 'react-native'; From d3c33c4dea037f9fdf5b5c7eeaf9050c318ed51c Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 24 Sep 2024 12:09:06 +0200 Subject: [PATCH 147/178] re-arrange options --- .../createPlatformStackNavigatorComponent/index.native.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx index bebcd95c136be..9c2cc31875049 100644 --- a/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx +++ b/src/libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent/index.native.tsx @@ -19,11 +19,11 @@ function createPlatformStackNavigatorComponent, ) { const createRouter = options?.createRouter ?? StackRouter; - const useCustomState = options?.useCustomState ?? (() => ({stateToRender: undefined, searchRoute: undefined})); const defaultScreenOptions = options?.defaultScreenOptions; + const useCustomState = options?.useCustomState ?? (() => ({stateToRender: undefined, searchRoute: undefined})); + const useCustomEffects = options?.useCustomEffects ?? (() => undefined); const ExtraContent = options?.ExtraContent; const NavigationContentWrapper = options?.NavigationContentWrapper; - const useCustomEffects = options?.useCustomEffects ?? (() => undefined); function PlatformNavigator({id, initialRouteName, screenOptions, screenListeners, children, ...props}: PlatformStackNavigatorProps) { const { From 75c40fbc265983ab4f8aa82fc1b069eb9353a097 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 25 Sep 2024 12:14:40 +0200 Subject: [PATCH 148/178] fix: wrong replacements --- .../MoneyRequestPreview/MoneyRequestPreviewContent.tsx | 4 ++-- .../navigationOptions/convertToWebNavigationOptions.ts | 6 +++--- src/pages/InviteReportParticipantsPage.tsx | 4 ++-- src/pages/PrivateNotes/PrivateNotesListPage.tsx | 4 ++-- src/pages/RoomDescriptionPage.tsx | 4 ++-- src/pages/RoomMembersPage.tsx | 4 ++-- src/pages/TransactionDuplicate/Confirmation.tsx | 4 ++-- src/pages/TransactionDuplicate/Review.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewBillable.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewCategory.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewDescription.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewMerchant.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewReimbursable.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewTag.tsx | 4 ++-- src/pages/TransactionDuplicate/ReviewTaxCode.tsx | 4 ++-- src/pages/settings/AboutPage/ConsolePage.tsx | 4 ++-- src/pages/settings/Report/RoomNamePage.tsx | 4 ++-- .../settings/Security/TwoFactorAuth/Steps/CodesStep.tsx | 4 ++-- src/pages/tasks/TaskDescriptionPage.tsx | 4 ++-- src/pages/tasks/TaskTitlePage.tsx | 4 ++-- .../workspace/expensifyCard/WorkspaceCardsListLabel.tsx | 4 ++-- 21 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx b/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx index 606a020b94a9d..876d0be2c610b 100644 --- a/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx +++ b/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import lodashSortBy from 'lodash/sortBy'; import truncate from 'lodash/truncate'; @@ -29,6 +28,7 @@ import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as IOUUtils from '@libs/IOUUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReceiptUtils from '@libs/ReceiptUtils'; @@ -76,7 +76,7 @@ function MoneyRequestPreviewContent({ const StyleUtils = useStyleUtils(); const {translate} = useLocalize(); const {windowWidth} = useWindowDimensions(); - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {shouldUseNarrowLayout} = useResponsiveLayout(); const sessionAccountID = session?.accountID; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts index 58a4484d35385..941d5d51417d0 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts @@ -1,6 +1,6 @@ -import type {ParamListBase, RouteProp, ScreenOptionsOrCallback} from '@react-navigation/native'; +import type {ParamListBase, ScreenOptionsOrCallback} from '@react-navigation/native'; import type {StackNavigationOptions} from '@react-navigation/stack'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackNavigationOptions, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import buildPlatformSpecificNavigationOptions from './buildPlatformSpecificNavigationOptions'; @@ -11,7 +11,7 @@ function convertToWebNavigationOptions(screenOptions: ScreenOptionsOrCallback; navigation: any}) => { + return (p: PlatformStackScreenProps) => { const routeBasedScreenOptions = screenOptions(p); return {...buildPlatformSpecificNavigationOptions(routeBasedScreenOptions), ...routeBasedScreenOptions.web}; }; diff --git a/src/pages/InviteReportParticipantsPage.tsx b/src/pages/InviteReportParticipantsPage.tsx index 9c69a5d49655e..b639d984a1329 100644 --- a/src/pages/InviteReportParticipantsPage.tsx +++ b/src/pages/InviteReportParticipantsPage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; @@ -20,6 +19,7 @@ import * as UserSearchPhraseActions from '@libs/actions/RoomMembersUserSearchPhr import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ParticipantsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -44,7 +44,7 @@ type InviteReportParticipantsPageProps = InviteReportParticipantsPageOnyxProps & type Sections = Array>>; function InviteReportParticipantsPage({betas, personalDetails, report, didScreenTransitionEnd}: InviteReportParticipantsPageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {options, areOptionsInitialized} = useOptionsList({ shouldInitialize: didScreenTransitionEnd, }); diff --git a/src/pages/PrivateNotes/PrivateNotesListPage.tsx b/src/pages/PrivateNotes/PrivateNotesListPage.tsx index a7aad8b4a7e4a..799b67a3a2eab 100644 --- a/src/pages/PrivateNotes/PrivateNotesListPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesListPage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; @@ -13,6 +12,7 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; import type {WithReportAndPrivateNotesOrNotFoundProps} from '@pages/home/report/withReportAndPrivateNotesOrNotFound'; import withReportAndPrivateNotesOrNotFound from '@pages/home/report/withReportAndPrivateNotesOrNotFound'; @@ -44,7 +44,7 @@ type NoteListItem = { }; function PrivateNotesListPage({report, personalDetailsList, session}: PrivateNotesListPageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const backTo = route.params.backTo; const styles = useThemeStyles(); const {translate} = useLocalize(); diff --git a/src/pages/RoomDescriptionPage.tsx b/src/pages/RoomDescriptionPage.tsx index d286567b4fd48..c5f8e8d01421e 100644 --- a/src/pages/RoomDescriptionPage.tsx +++ b/src/pages/RoomDescriptionPage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useFocusEffect, useRoute} from '@react-navigation/native'; import React, {useCallback, useRef, useState} from 'react'; import {View} from 'react-native'; @@ -15,6 +14,7 @@ import type {BaseTextInputRef} from '@components/TextInput/BaseTextInput/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDescriptionNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -37,7 +37,7 @@ type RoomDescriptionPageProps = { }; function RoomDescriptionPage({report, policies}: RoomDescriptionPageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const backTo = route.params.backTo; const styles = useThemeStyles(); const [description, setDescription] = useState(() => Parser.htmlToMarkdown(report?.description ?? '')); diff --git a/src/pages/RoomMembersPage.tsx b/src/pages/RoomMembersPage.tsx index 0164a2c7303d5..23c8a4d73dfb9 100644 --- a/src/pages/RoomMembersPage.tsx +++ b/src/pages/RoomMembersPage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useIsFocused, useRoute} from '@react-navigation/native'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; @@ -29,6 +28,7 @@ import * as UserSearchPhraseActions from '@libs/actions/RoomMembersUserSearchPhr import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; @@ -56,7 +56,7 @@ type RoomMembersPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; function RoomMembersPage({report, session, policies}: RoomMembersPageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const styles = useThemeStyles(); const {formatPhoneNumber, translate} = useLocalize(); const [selectedMembers, setSelectedMembers] = useState([]); diff --git a/src/pages/TransactionDuplicate/Confirmation.tsx b/src/pages/TransactionDuplicate/Confirmation.tsx index 6b79b0d169dfc..48955e64d4a08 100644 --- a/src/pages/TransactionDuplicate/Confirmation.tsx +++ b/src/pages/TransactionDuplicate/Confirmation.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; @@ -18,6 +17,7 @@ import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import variables from '@styles/variables'; import * as IOU from '@src/libs/actions/IOU'; @@ -34,7 +34,7 @@ import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue'; function Confirmation() { const styles = useThemeStyles(); const {translate} = useLocalize(); - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const [reviewDuplicates, reviewDuplicatesResult] = useOnyx(ONYXKEYS.REVIEW_DUPLICATES); const transaction = useMemo(() => TransactionUtils.buildNewTransactionAfterReviewingDuplicates(reviewDuplicates), [reviewDuplicates]); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); diff --git a/src/pages/TransactionDuplicate/Review.tsx b/src/pages/TransactionDuplicate/Review.tsx index 5ef8eb60325ab..cb27ecfcbb3cd 100644 --- a/src/pages/TransactionDuplicate/Review.tsx +++ b/src/pages/TransactionDuplicate/Review.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import {View} from 'react-native'; @@ -12,6 +11,7 @@ import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails' import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as ReportActionsUtils from '@libs/ReportActionsUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -25,7 +25,7 @@ import DuplicateTransactionsList from './DuplicateTransactionsList'; function TransactionDuplicateReview() { const styles = useThemeStyles(); const {translate} = useLocalize(); - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const currentPersonalDetails = useCurrentUserPersonalDetails(); const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${route.params.threadReportID}`); const reportAction = ReportActionsUtils.getReportAction(report?.parentReportID ?? '-1', report?.parentReportActionID ?? '-1'); diff --git a/src/pages/TransactionDuplicate/ReviewBillable.tsx b/src/pages/TransactionDuplicate/ReviewBillable.tsx index 21332115c5201..2473c18a5551f 100644 --- a/src/pages/TransactionDuplicate/ReviewBillable.tsx +++ b/src/pages/TransactionDuplicate/ReviewBillable.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewBillable() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewCategory.tsx b/src/pages/TransactionDuplicate/ReviewCategory.tsx index 7026b1a357048..05e90733d6bdc 100644 --- a/src/pages/TransactionDuplicate/ReviewCategory.tsx +++ b/src/pages/TransactionDuplicate/ReviewCategory.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewCategory() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewDescription.tsx b/src/pages/TransactionDuplicate/ReviewDescription.tsx index ad9d6a1cc735c..cc4648acd667e 100644 --- a/src/pages/TransactionDuplicate/ReviewDescription.tsx +++ b/src/pages/TransactionDuplicate/ReviewDescription.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewDescription() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewMerchant.tsx b/src/pages/TransactionDuplicate/ReviewMerchant.tsx index e95af429d30c7..657bbae7ce86b 100644 --- a/src/pages/TransactionDuplicate/ReviewMerchant.tsx +++ b/src/pages/TransactionDuplicate/ReviewMerchant.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewMerchant() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewReimbursable.tsx b/src/pages/TransactionDuplicate/ReviewReimbursable.tsx index db17ea848b606..922f35d4e861d 100644 --- a/src/pages/TransactionDuplicate/ReviewReimbursable.tsx +++ b/src/pages/TransactionDuplicate/ReviewReimbursable.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewReimbursable() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewTag.tsx b/src/pages/TransactionDuplicate/ReviewTag.tsx index 4df1b1d56a47b..5d8fe2192e891 100644 --- a/src/pages/TransactionDuplicate/ReviewTag.tsx +++ b/src/pages/TransactionDuplicate/ReviewTag.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,6 +5,7 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -14,7 +14,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewTag() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); diff --git a/src/pages/TransactionDuplicate/ReviewTaxCode.tsx b/src/pages/TransactionDuplicate/ReviewTaxCode.tsx index 5ee11390b0608..109b0d96665c8 100644 --- a/src/pages/TransactionDuplicate/ReviewTaxCode.tsx +++ b/src/pages/TransactionDuplicate/ReviewTaxCode.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import {useOnyx} from 'react-native-onyx'; @@ -8,6 +7,7 @@ import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; import * as CurrencyUtils from '@libs/CurrencyUtils'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -18,7 +18,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewTaxRate() { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {translate} = useLocalize(); const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${route.params.threadReportID}`); const policy = PolicyUtils.getPolicy(report?.policyID ?? ''); diff --git a/src/pages/settings/AboutPage/ConsolePage.tsx b/src/pages/settings/AboutPage/ConsolePage.tsx index 2727116b5289e..be0fcf2f30211 100644 --- a/src/pages/settings/AboutPage/ConsolePage.tsx +++ b/src/pages/settings/AboutPage/ConsolePage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import {format} from 'date-fns'; import React, {useCallback, useMemo, useRef, useState} from 'react'; @@ -26,6 +25,7 @@ import type {Log} from '@libs/Console'; import localFileCreate from '@libs/localFileCreate'; import localFileDownload from '@libs/localFileDownload'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -50,7 +50,7 @@ function ConsolePage() { const styles = useThemeStyles(); const theme = useTheme(); const {windowWidth} = useWindowDimensions(); - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const menuItems: PopoverMenuItem[] = useMemo( () => [ diff --git a/src/pages/settings/Report/RoomNamePage.tsx b/src/pages/settings/Report/RoomNamePage.tsx index 415d07bf6b132..ac23f455c6359 100644 --- a/src/pages/settings/Report/RoomNamePage.tsx +++ b/src/pages/settings/Report/RoomNamePage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useIsFocused, useRoute} from '@react-navigation/native'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -16,6 +15,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportSettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; @@ -37,7 +37,7 @@ type RoomNamePageProps = RoomNamePageOnyxProps & { }; function RoomNamePage({report, reports}: RoomNamePageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const styles = useThemeStyles(); const roomNameInputRef = useRef(null); const isFocused = useIsFocused(); diff --git a/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx b/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx index d3aca6111d4c8..5ae593971f8ed 100644 --- a/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx +++ b/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useEffect, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -19,6 +18,7 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; import localFileDownload from '@libs/localFileDownload'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {BackToParams, SettingsNavigatorParamList} from '@libs/Navigation/types'; import StepWrapper from '@pages/settings/Security/TwoFactorAuth/StepWrapper/StepWrapper'; import useTwoFactorAuthContext from '@pages/settings/Security/TwoFactorAuth/TwoFactorAuthContext/useTwoFactorAuth'; @@ -39,7 +39,7 @@ function CodesStep({account, user, backTo}: CodesStepProps) { const {isExtraSmallScreenWidth, isSmallScreenWidth} = useResponsiveLayout(); const [error, setError] = useState(''); const isUserValidated = user?.validated; - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const {setStep} = useTwoFactorAuthContext(); diff --git a/src/pages/tasks/TaskDescriptionPage.tsx b/src/pages/tasks/TaskDescriptionPage.tsx index d4646a9d8df75..97c5cf7f7e16f 100644 --- a/src/pages/tasks/TaskDescriptionPage.tsx +++ b/src/pages/tasks/TaskDescriptionPage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useFocusEffect, useRoute} from '@react-navigation/native'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -16,6 +15,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDescriptionNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -33,7 +33,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; type TaskDescriptionPageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps; function TaskDescriptionPage({report, currentUserPersonalDetails}: TaskDescriptionPageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const styles = useThemeStyles(); const {translate} = useLocalize(); diff --git a/src/pages/tasks/TaskTitlePage.tsx b/src/pages/tasks/TaskTitlePage.tsx index 54c5dcc2a87b5..e6c429a446743 100644 --- a/src/pages/tasks/TaskTitlePage.tsx +++ b/src/pages/tasks/TaskTitlePage.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -16,6 +15,7 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TaskDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -30,7 +30,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; type TaskTitlePageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps; function TaskTitlePage({report, currentUserPersonalDetails}: TaskTitlePageProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const styles = useThemeStyles(); const {translate} = useLocalize(); diff --git a/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx b/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx index 83d1d92991686..a1ca4ce22e10c 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx @@ -1,4 +1,3 @@ -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import {useRoute} from '@react-navigation/native'; import React, {useEffect, useMemo, useRef, useState} from 'react'; import {View} from 'react-native'; @@ -19,6 +18,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import getClickedTargetLocation from '@libs/getClickedTargetLocation'; +import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -40,7 +40,7 @@ type WorkspaceCardsListLabelProps = { }; function WorkspaceCardsListLabel({type, value, style}: WorkspaceCardsListLabelProps) { - const route = useRoutePlatformStackRouteProp>(); + const route = useRoute>(); const policy = usePolicy(route.params.policyID); const styles = useThemeStyles(); const {windowWidth} = useWindowDimensions(); From 6db8b60d6f17c0f26f0f41e90f08090b4021fed5 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 25 Sep 2024 12:23:55 +0200 Subject: [PATCH 149/178] fix: lint --- src/pages/RoomMembersPage.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pages/RoomMembersPage.tsx b/src/pages/RoomMembersPage.tsx index 23c8a4d73dfb9..22ab407b0ce7d 100644 --- a/src/pages/RoomMembersPage.tsx +++ b/src/pages/RoomMembersPage.tsx @@ -28,8 +28,7 @@ import * as UserSearchPhraseActions from '@libs/actions/RoomMembersUserSearchPhr import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; From 234e91e61213d7ad7aec639195ccdeba8cf3ec9b Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 25 Sep 2024 13:30:24 +0200 Subject: [PATCH 150/178] disable gesture for no animation screens --- .../navigationOptions/animation/none/index.native.ts | 2 +- .../navigationOptions/animation/none/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index ced2ecbaac2b5..76050b1f049a0 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -const none: NativeStackNavigationOptions = {animation: 'none'}; +const none: NativeStackNavigationOptions = {animation: 'none', gestureEnabled: false}; export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts index 99103cac8eb92..c1724f9cfeef1 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -const none: StackNavigationOptions = {animationEnabled: false}; +const none: StackNavigationOptions = {animationEnabled: false, gestureEnabled: false}; export default none; From b7155b196b6338364f0f24615584f75cda9cbb72 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Wed, 25 Sep 2024 15:51:23 +0200 Subject: [PATCH 151/178] fix: animation wrong direction in modals --- src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts index b17db67e6f0c3..62e6b83dada99 100644 --- a/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalNavigatorScreenOptions.ts @@ -19,7 +19,7 @@ const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles, gestureDirection: return { headerShown: false, - animation: 'slide_from_left', + animation: 'slide_from_right', gestureDirection: universalGestureDirection, web: { cardStyle: themeStyles.navigationScreenCardStyle, From c4639abc41b1310dbfa60d328264342d241064be Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 26 Sep 2024 11:06:56 +0200 Subject: [PATCH 152/178] update RouteProp types --- .../PlatformStackNavigation/types/index.ts | 2 +- src/libs/Navigation/types.ts | 22 ++++++++++++++- src/pages/OnboardingPersonalDetails/types.ts | 7 +++-- .../home/report/withReportOrNotFound.tsx | 27 ++++++++++--------- src/pages/iou/HoldReasonPage.tsx | 23 +++++----------- src/pages/iou/request/IOURequestStartPage.tsx | 12 +++++++-- .../step/withFullTransactionOrNotFound.tsx | 7 +++-- .../step/withWritableReportOrNotFound.tsx | 6 ++--- 8 files changed, 61 insertions(+), 45 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/types/index.ts b/src/libs/Navigation/PlatformStackNavigation/types/index.ts index a5a8684d9cff1..04ed4e68d9a80 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/index.ts @@ -51,7 +51,7 @@ type PlatformStackNavigationProp = RouteProp; type PlatformStackScreenProps< - ParamList extends ParamListBase, + ParamList extends ParamListBase = ParamListBase, RouteName extends keyof ParamList = keyof ParamList, NavigatorID extends string | undefined = undefined, // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts index 39cc50affaa7e..1548c33d19e43 100644 --- a/src/libs/Navigation/types.ts +++ b/src/libs/Navigation/types.ts @@ -17,7 +17,7 @@ import type {SaveSearchParams} from '@libs/API/parameters'; import type CONST from '@src/CONST'; import type {Country, IOUAction, IOUType} from '@src/CONST'; import type NAVIGATORS from '@src/NAVIGATORS'; -import type {HybridAppRoute, Route as Routes} from '@src/ROUTES'; +import type {Route as ExpensifyRoute, HybridAppRoute, Route as Routes} from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type EXIT_SURVEY_REASON_FORM_INPUT_IDS from '@src/types/form/ExitSurveyReasonForm'; import type {ConnectionName, SageIntacctMappingName} from '@src/types/onyx/Policy'; @@ -1073,6 +1073,16 @@ type MoneyRequestNavigatorParamList = { backTo?: Routes; currency?: string; }; + [SCREENS.MONEY_REQUEST.HOLD]: { + /** ID of the transaction the page was opened for */ + transactionID: string; + + /** ID of the report that user is providing hold reason to */ + reportID: string; + + /** Link to previous page */ + backTo: ExpensifyRoute; + }; }; type NewTaskNavigatorParamList = { @@ -1475,6 +1485,16 @@ type SearchReportParamList = { reportID: string; reportActionID?: string; }; + [SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP]: { + /** ID of the transaction the page was opened for */ + transactionID: string; + + /** ID of the report that user is providing hold reason to */ + reportID: string; + + /** Link to previous page */ + backTo: ExpensifyRoute; + }; }; type SearchAdvancedFiltersParamList = { diff --git a/src/pages/OnboardingPersonalDetails/types.ts b/src/pages/OnboardingPersonalDetails/types.ts index e963ea54087f4..29b43130dd0ad 100644 --- a/src/pages/OnboardingPersonalDetails/types.ts +++ b/src/pages/OnboardingPersonalDetails/types.ts @@ -1,6 +1,6 @@ import type {OnyxEntry} from 'react-native-onyx'; import type {WithCurrentUserPersonalDetailsProps} from '@components/withCurrentUserPersonalDetails'; -import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; import type {OnboardingPurposeType} from '@src/CONST'; import type SCREENS from '@src/SCREENS'; @@ -19,11 +19,10 @@ type BaseOnboardingPersonalDetailsOnyxProps = { }; type BaseOnboardingPersonalDetailsProps = WithCurrentUserPersonalDetailsProps & - BaseOnboardingPersonalDetailsOnyxProps & { + BaseOnboardingPersonalDetailsOnyxProps & + PlatformStackScreenProps & { /* Whether to use native styles tailored for native devices */ shouldUseNativeStyles: boolean; - - route: PlatformStackRouteProp; }; export type {OnboardingPersonalDetailsProps, BaseOnboardingPersonalDetailsOnyxProps, BaseOnboardingPersonalDetailsProps}; diff --git a/src/pages/home/report/withReportOrNotFound.tsx b/src/pages/home/report/withReportOrNotFound.tsx index 63837a3e8b66f..1607370c864be 100644 --- a/src/pages/home/report/withReportOrNotFound.tsx +++ b/src/pages/home/report/withReportOrNotFound.tsx @@ -5,7 +5,7 @@ import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type { ParticipantsNavigatorParamList, @@ -39,20 +39,23 @@ type WithReportOrNotFoundOnyxProps = { isLoadingReportData: OnyxEntry; }; -type WithReportOrNotFoundProps = WithReportOrNotFoundOnyxProps & { - route: - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp - | PlatformStackRouteProp; +type ScreenProps = + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps + | PlatformStackScreenProps; +type WithReportOrNotFoundProps = WithReportOrNotFoundOnyxProps & { /** The report currently being looked at */ report: OnyxTypes.Report; + + route: ScreenProps['route']; + navigation: ScreenProps['navigation']; }; export default function ( diff --git a/src/pages/iou/HoldReasonPage.tsx b/src/pages/iou/HoldReasonPage.tsx index 8eae23a236748..37997b31a4bc7 100644 --- a/src/pages/iou/HoldReasonPage.tsx +++ b/src/pages/iou/HoldReasonPage.tsx @@ -4,32 +4,21 @@ import type {FormInputErrors, FormOnyxValues} from '@components/Form/types'; import useLocalize from '@hooks/useLocalize'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {MoneyRequestNavigatorParamList, SearchReportParamList} from '@libs/Navigation/types'; import * as ReportActionsUtils from '@libs/ReportActionsUtils'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import * as FormActions from '@userActions/FormActions'; import * as IOU from '@userActions/IOU'; import ONYXKEYS from '@src/ONYXKEYS'; -import type {Route} from '@src/ROUTES'; +import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/MoneyRequestHoldReasonForm'; import HoldReasonFormView from './HoldReasonFormView'; -type HoldReasonPageRouteParams = { - /** ID of the transaction the page was opened for */ - transactionID: string; - - /** ID of the report that user is providing hold reason to */ - reportID: string; - - /** Link to previous page */ - backTo: Route; -}; - -type HoldReasonPageProps = { - /** Navigation route context info provided by react navigation */ - route: PlatformStackRouteProp<{params: HoldReasonPageRouteParams}>; -}; +type HoldReasonPageProps = + | PlatformStackScreenProps + | PlatformStackScreenProps; function HoldReasonPage({route}: HoldReasonPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/iou/request/IOURequestStartPage.tsx b/src/pages/iou/request/IOURequestStartPage.tsx index eac30b8839d23..12727ad85d311 100644 --- a/src/pages/iou/request/IOURequestStartPage.tsx +++ b/src/pages/iou/request/IOURequestStartPage.tsx @@ -146,6 +146,7 @@ function IOURequestStartPage({ )} @@ -153,7 +154,10 @@ function IOURequestStartPage({ {() => ( - + )} @@ -161,7 +165,10 @@ function IOURequestStartPage({ {() => ( - + )} @@ -174,6 +181,7 @@ function IOURequestStartPage({ > diff --git a/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx b/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx index 35cb4abf812fc..7f04d6fc8bd46 100644 --- a/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx +++ b/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx @@ -6,7 +6,7 @@ import {withOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import getComponentDisplayName from '@libs/getComponentDisplayName'; import * as IOUUtils from '@libs/IOUUtils'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -38,9 +38,8 @@ type MoneyRequestRouteName = | typeof SCREENS.MONEY_REQUEST.STEP_SEND_FROM | typeof SCREENS.MONEY_REQUEST.STEP_COMPANY_INFO; -type Route = PlatformStackRouteProp; - -type WithFullTransactionOrNotFoundProps = WithFullTransactionOrNotFoundOnyxProps & {route: Route}; +type WithFullTransactionOrNotFoundProps = WithFullTransactionOrNotFoundOnyxProps & + PlatformStackScreenProps; export default function , TRef>(WrappedComponent: ComponentType>) { // eslint-disable-next-line rulesdir/no-negated-variables diff --git a/src/pages/iou/request/step/withWritableReportOrNotFound.tsx b/src/pages/iou/request/step/withWritableReportOrNotFound.tsx index f7d8837773df7..e65f5db2ace82 100644 --- a/src/pages/iou/request/step/withWritableReportOrNotFound.tsx +++ b/src/pages/iou/request/step/withWritableReportOrNotFound.tsx @@ -5,7 +5,7 @@ import {withOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ReportActions from '@userActions/Report'; @@ -45,9 +45,7 @@ type MoneyRequestRouteName = | typeof SCREENS.MONEY_REQUEST.STEP_SEND_FROM | typeof SCREENS.MONEY_REQUEST.STEP_COMPANY_INFO; -type Route = PlatformStackRouteProp; - -type WithWritableReportOrNotFoundProps = WithWritableReportOrNotFoundOnyxProps & {route: Route}; +type WithWritableReportOrNotFoundProps = WithWritableReportOrNotFoundOnyxProps & PlatformStackScreenProps; export default function , TRef>( WrappedComponent: ComponentType>, From 3f4280d8d6bd9b99800c9262d8a4ca519857fa09 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 26 Sep 2024 14:38:09 +0200 Subject: [PATCH 153/178] move type --- .../Navigation/AppNavigator/ModalStackNavigators/index.tsx | 5 ++--- .../ModalStackNavigators/useModalScreenOptions.ts | 5 ++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx index 32ec0d8926f45..8d80887ab06af 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx @@ -1,7 +1,6 @@ import type {ParamListBase} from '@react-navigation/routers'; import React from 'react'; import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type { AddPersonalBankAccountNavigatorParamList, DebugParamList, @@ -33,10 +32,10 @@ import type { TravelNavigatorParamList, WalletStatementNavigatorParamList, } from '@navigation/types'; -import type {ThemeStyles} from '@styles/index'; import type {Screen} from '@src/SCREENS'; import SCREENS from '@src/SCREENS'; import type ReactComponentModule from '@src/types/utils/ReactComponentModule'; +import type {GetModalStackScreenOptions} from './useModalScreenOptions'; import useModalScreenOptions from './useModalScreenOptions'; type Screens = Partial React.ComponentType>>; @@ -47,7 +46,7 @@ type Screens = Partial React.ComponentType>>; * @param screens key/value pairs where the key is the name of the screen and the value is a functon that returns the lazy-loaded component * @param getScreenOptions optional function that returns the screen options, override the default options */ -function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => PlatformStackNavigationOptions): React.ComponentType { +function createModalStackNavigator(screens: Screens, getScreenOptions?: GetModalStackScreenOptions): React.ComponentType { const ModalStackNavigator = createPlatformStackNavigator(); function ModalStack() { diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts index 164e483beecda..892b50a49abb9 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts @@ -10,7 +10,9 @@ import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStac import createModalCardStyleInterpolator from '@navigation/AppNavigator/createModalCardStyleInterpolator'; import type {ThemeStyles} from '@src/styles'; -function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => PlatformStackNavigationOptions) { +type GetModalStackScreenOptions = (styles: ThemeStyles) => PlatformStackNavigationOptions; + +function useModalScreenOptions(getScreenOptions?: GetModalStackScreenOptions) { const styles = useThemeStyles(); const styleUtils = useStyleUtils(); const {shouldUseNarrowLayout} = useResponsiveLayout(); @@ -38,3 +40,4 @@ function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => Platf } export default useModalScreenOptions; +export type {GetModalStackScreenOptions}; From 88cbda4b8ec805689b4617429b507118f5636049 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Thu, 26 Sep 2024 14:38:16 +0200 Subject: [PATCH 154/178] fix: missing prop --- src/pages/iou/request/IOURequestStartPage.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/iou/request/IOURequestStartPage.tsx b/src/pages/iou/request/IOURequestStartPage.tsx index 12727ad85d311..41de3b9dd26d8 100644 --- a/src/pages/iou/request/IOURequestStartPage.tsx +++ b/src/pages/iou/request/IOURequestStartPage.tsx @@ -35,6 +35,7 @@ function IOURequestStartPage({ route: { params: {iouType, reportID}, }, + navigation, }: IOURequestStartPageProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); From fb5a17d8325dac34d4cdf078f3b86824b0face4d Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 15:56:16 +0200 Subject: [PATCH 155/178] fix: VisionCamera fabric bug, deinit camera session on screen unmount --- ....0.0-beta.13+001+rn75-compatibility.patch} | 47 +++++---------- ...stack-unmount-recycle-camera-session.patch | 59 +++++++++++++++++++ 2 files changed, 73 insertions(+), 33 deletions(-) rename patches/{react-native-vision-camera+4.0.0-beta.13.patch => react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch} (99%) create mode 100644 patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch diff --git a/patches/react-native-vision-camera+4.0.0-beta.13.patch b/patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch similarity index 99% rename from patches/react-native-vision-camera+4.0.0-beta.13.patch rename to patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch index 4e0961ec536ac..b66b659dab577 100644 --- a/patches/react-native-vision-camera+4.0.0-beta.13.patch +++ b/patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch @@ -1335,7 +1335,7 @@ index 0000000..46c2c2c +#endif /* RCT_NEW_ARCH_ENABLED */ diff --git a/node_modules/react-native-vision-camera/ios/RNCameraView.mm b/node_modules/react-native-vision-camera/ios/RNCameraView.mm new file mode 100644 -index 0000000..019be20 +index 0000000..b90427e --- /dev/null +++ b/node_modules/react-native-vision-camera/ios/RNCameraView.mm @@ -0,0 +1,377 @@ @@ -1384,7 +1384,7 @@ index 0000000..019be20 + + //The remaining part of the initializer is standard Objective-C code to create views and layout them with AutoLayout. Here we can change whatever we want to. + _view = [[CameraView alloc] init]; -+ _view.delegate = self; ++ _view.delegate = self; + + self.contentView = _view; +} @@ -1397,9 +1397,9 @@ index 0000000..019be20 +{ + const auto &newViewProps = *std::static_pointer_cast(props); + const auto &oldViewProps = *std::static_pointer_cast(_props); -+ ++ + NSMutableArray* changedProps = [[NSMutableArray alloc] init]; -+ ++ + if(oldViewProps.isActive != newViewProps.isActive){ + _view.isActive = newViewProps.isActive; + [changedProps addObject:@"isActive"]; @@ -1496,12 +1496,12 @@ index 0000000..019be20 + _view.enableFpsGraph = newViewProps.enableFpsGraph; + [changedProps addObject:@"enableFpsGraph"]; + } -+ -+ ++ ++ + if(_view.format == nil){ + _view.format =[ [NSMutableDictionary alloc] init]; + } -+ ++ + + //Checking format props, TODO: find cleaner way to do it + if(oldViewProps.format.supportsDepthCapture != newViewProps.format.supportsDepthCapture){ @@ -1521,7 +1521,7 @@ index 0000000..019be20 + [_view.format setValue:newPixelFormats forKey:@"pixelFormats"]; + [changedProps addObject:@"format"]; + } -+ ++ + if(oldViewProps.format.videoStabilizationModes.size() != newViewProps.format.videoStabilizationModes.size()){ + NSMutableArray* newVideoStabilizationModes = [[NSMutableArray alloc] init]; + for(int i = 0; i < newViewProps.format.videoStabilizationModes.size(); i++){ @@ -1530,7 +1530,7 @@ index 0000000..019be20 + [_view.format setValue:newVideoStabilizationModes forKey:@"videoStabilizationModes"]; + [changedProps addObject:@"format"]; + } -+ ++ + if(oldViewProps.format.photoHeight != newViewProps.format.photoHeight){ + [_view.format setValue:[NSNumber numberWithDouble:newViewProps.format.photoHeight] forKey:@"photoHeight"]; + [changedProps addObject:@"format"]; @@ -1578,11 +1578,11 @@ index 0000000..019be20 + [_view.format setValue:supportsPhotoHDR forKey:@"supportsPhotoHDR"]; + [changedProps addObject:@"format"]; + } -+ ++ + if (_view.format.count == 0) { + _view.format = nil; + } -+ ++ + if(_view.codeScannerOptions == nil){ + _view.codeScannerOptions =[[NSMutableDictionary alloc] init]; + } @@ -1595,12 +1595,12 @@ index 0000000..019be20 + [_view.codeScannerOptions setValue:newCodeTypes forKey:@"codeTypes"]; + [changedProps addObject:@"codeScannerOptions"]; + } -+ ++ + if(oldViewProps.codeScannerOptions.interval != newViewProps.codeScannerOptions.interval){ + [_view.codeScannerOptions setValue:[NSNumber numberWithDouble:newViewProps.codeScannerOptions.interval] forKey:@"interval"]; + [changedProps addObject:@"codeScannerOptions"]; + } -+ ++ + if( + oldViewProps.codeScannerOptions.regionOfInterest.x != newViewProps.codeScannerOptions.regionOfInterest.x || + oldViewProps.codeScannerOptions.regionOfInterest.y != newViewProps.codeScannerOptions.regionOfInterest.y || @@ -1616,7 +1616,7 @@ index 0000000..019be20 + [_view.codeScannerOptions setValue:newRegionOfInterest forKey:@"regionOfInterest"]; + [changedProps addObject:@"codeScannerOptions"]; + } -+ ++ + if (_view.codeScannerOptions.count == 0) { + _view.codeScannerOptions = nil; + } @@ -2005,25 +2005,6 @@ index 0000000..e47e42f @@ -0,0 +1 @@ +{"version":3,"file":"CameraViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/CameraViewNativeComponent.ts"],"names":[],"mappings":"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"} \ No newline at end of file -diff --git a/node_modules/react-native-vision-camera/package.json b/node_modules/react-native-vision-camera/package.json -index 86352fa..7af9577 100644 ---- a/node_modules/react-native-vision-camera/package.json -+++ b/node_modules/react-native-vision-camera/package.json -@@ -166,5 +166,13 @@ - ] - ] - }, -- "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447" -+ "codegenConfig": { -+ "name": "RNVisioncameraSpec", -+ "type": "all", -+ "jsSrcsDir": "./src/specs", -+ "android": { -+ "javaPackageName": "com.mrousavy.camera" -+ } -+ }, -+ "packageManager": "yarn@1.22.19" - } diff --git a/node_modules/react-native-vision-camera/src/Camera.tsx b/node_modules/react-native-vision-camera/src/Camera.tsx index 18733ba..1668322 100644 --- a/node_modules/react-native-vision-camera/src/Camera.tsx diff --git a/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch b/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch new file mode 100644 index 0000000000000..b98b6d30540fa --- /dev/null +++ b/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch @@ -0,0 +1,59 @@ +diff --git a/node_modules/react-native-vision-camera/ios/RNCameraView.mm b/node_modules/react-native-vision-camera/ios/RNCameraView.mm +index b90427e..feccc33 100644 +--- a/node_modules/react-native-vision-camera/ios/RNCameraView.mm ++++ b/node_modules/react-native-vision-camera/ios/RNCameraView.mm +@@ -34,26 +34,46 @@ + (ComponentDescriptorProvider)componentDescriptorProvider + return concreteComponentDescriptorProvider(); + } + ++- (void) initCamera { ++ static const auto defaultProps = std::make_shared(); ++ _props = defaultProps; ++ ++ //The remaining part of the initializer is standard Objective-C code to create views and layout them with AutoLayout. Here we can change whatever we want to. ++ _view = [[CameraView alloc] init]; ++ _view.delegate = self; ++ ++ self.contentView = _view; ++} ++ + - (instancetype)initWithFrame:(CGRect)frame + { + self = [super initWithFrame:frame]; +-if (self) { +- static const auto defaultProps = std::make_shared(); +- _props = defaultProps; ++ if (self) { ++ [self initCamera]; ++ } ++ return self; ++} ++ + +- //The remaining part of the initializer is standard Objective-C code to create views and layout them with AutoLayout. Here we can change whatever we want to. +- _view = [[CameraView alloc] init]; +- _view.delegate = self; ++- (void) prepareForRecycle { ++ [super prepareForRecycle]; + +- self.contentView = _view; ++ _view.delegate = nil; ++ _view = nil; ++ self.contentView = nil; + } + +-return self; ++- (void) updateLayoutMetrics:(const facebook::react::LayoutMetrics &)layoutMetrics oldLayoutMetrics:(const facebook::react::LayoutMetrics &)oldLayoutMetrics { ++ [super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics]; + } + + // why we need this func -> https://reactnative.dev/docs/next/the-new-architecture/pillars-fabric-components#write-the-native-ios-code + - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &)oldProps + { ++ if (_view == nil) { ++ [self initCamera]; ++ } ++ + const auto &newViewProps = *std::static_pointer_cast(props); + const auto &oldViewProps = *std::static_pointer_cast(_props); + From ce4f8c649135b579580f6d4740444196e86e49d1 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 15:56:22 +0200 Subject: [PATCH 156/178] update Podfile.lock --- ios/Podfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index beac64acd0839..d36e6147ad04d 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1946,7 +1946,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-view-shot (3.8.0): + - react-native-view-shot (4.0.0-alpha.3): - React-Core - react-native-webview (13.8.6): - DoubleConversion @@ -2537,7 +2537,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNScreens (3.34.0): + - RNScreens (4.0.0-beta.0): - DoubleConversion - glog - hermes-engine @@ -2558,9 +2558,9 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 3.34.0) + - RNScreens/common (= 4.0.0-beta.0) - Yoga - - RNScreens/common (3.34.0): + - RNScreens/common (4.0.0-beta.0): - DoubleConversion - glog - hermes-engine @@ -3188,7 +3188,7 @@ SPEC CHECKSUMS: react-native-quick-sqlite: 7c793c9f5834e756b336257a8d8b8239b7ceb451 react-native-release-profiler: 131ec5e4145d900b2be2a8d6641e2ce0dd784259 react-native-safe-area-context: 38fdd9b3c5561de7cabae64bd0cd2ce05d2768a1 - react-native-view-shot: 6b7ed61d77d88580fed10954d45fad0eb2d47688 + react-native-view-shot: ee44129a7c470310d3c7e67085834fc8cc077655 react-native-webview: ad29375839c9aa0409ce8e8693291b42bdc067a4 React-nativeconfig: 57781b79e11d5af7573e6f77cbf1143b71802a6d React-NativeModulesApple: 7ff2e2cfb2e5fa5bdedcecf28ce37e696c6ef1e1 @@ -3235,7 +3235,7 @@ SPEC CHECKSUMS: RNPermissions: 0b1429b55af59d1d08b75a8be2459f65a8ac3f28 RNReactNativeHapticFeedback: 73756a3477a5a622fa16862a3ab0d0fc5e5edff5 RNReanimated: 76901886830e1032f16bbf820153f7dc3f02d51d - RNScreens: de6e57426ba0e6cbc3fb5b4f496e7f08cb2773c2 + RNScreens: cecfc1861f155b68584a6aa7bd284ac5ca38eb3a RNShare: bd4fe9b95d1ee89a200778cc0753ebe650154bb0 RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852 RNSVG: 1079f96b39a35753d481a20e30603fd6fc4f6fa9 From c3c7c7ac2c7d844463536c403064b58051add579 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 17:36:37 +0200 Subject: [PATCH 157/178] remove screen and component changes --- .../MoneyRequestPreviewContent.tsx | 4 +-- src/components/ScreenWrapper.tsx | 6 ++--- .../ScrollOffsetContextProvider.tsx | 9 +++---- src/components/Search/index.tsx | 4 +-- .../withNavigationTransitionEnd.tsx | 4 +-- src/pages/ChatFinderPage/index.tsx | 4 +-- src/pages/ConciergePage.tsx | 4 +-- .../Debug/DebugDetailsConstantPickerPage.tsx | 4 +-- .../Debug/DebugDetailsDateTimePickerPage.tsx | 4 +-- src/pages/Debug/Report/DebugReportPage.tsx | 4 +-- .../DebugReportActionCreatePage.tsx | 4 +-- .../ReportAction/DebugReportActionPage.tsx | 4 +-- src/pages/FlagCommentPage.tsx | 4 +-- src/pages/GetAssistancePage.tsx | 4 +-- src/pages/GroupChatNameEditPage.tsx | 4 +-- src/pages/InviteReportParticipantsPage.tsx | 4 +-- .../LogInWithShortLivedAuthTokenPage.tsx | 4 +-- src/pages/LogOutPreviousUserPage.tsx | 4 +-- src/pages/OnboardingPersonalDetails/types.ts | 10 ++++--- src/pages/OnboardingPurpose/types.ts | 4 +-- src/pages/OnboardingWork/types.ts | 4 +-- .../PrivateNotes/PrivateNotesEditPage.tsx | 4 +-- .../PrivateNotes/PrivateNotesListPage.tsx | 4 +-- src/pages/ProfilePage.tsx | 4 +-- src/pages/ReferralDetailsPage.tsx | 4 +-- .../ReimbursementAccountPage.tsx | 7 ++--- src/pages/ReportAvatar.tsx | 4 +-- src/pages/ReportDescriptionPage.tsx | 4 +-- src/pages/ReportDetailsPage.tsx | 4 +-- src/pages/ReportParticipantDetailsPage.tsx | 4 +-- .../ReportParticipantRoleSelectionPage.tsx | 4 +-- .../WorkspaceRestrictedActionPage.tsx | 4 +-- src/pages/RoomDescriptionPage.tsx | 4 +-- src/pages/RoomInvitePage.tsx | 4 +-- src/pages/RoomMemberDetailsPage.tsx | 4 +-- src/pages/RoomMembersPage.tsx | 7 ++--- src/pages/Search/SearchHoldReasonPage.tsx | 4 +-- src/pages/Search/SearchPage.tsx | 4 +-- .../TransactionDuplicate/Confirmation.tsx | 4 +-- src/pages/TransactionDuplicate/Review.tsx | 4 +-- .../TransactionDuplicate/ReviewBillable.tsx | 4 +-- .../TransactionDuplicate/ReviewCategory.tsx | 4 +-- .../ReviewDescription.tsx | 4 +-- .../TransactionDuplicate/ReviewMerchant.tsx | 4 +-- .../ReviewReimbursable.tsx | 4 +-- src/pages/TransactionDuplicate/ReviewTag.tsx | 4 +-- .../TransactionDuplicate/ReviewTaxCode.tsx | 4 +-- src/pages/TransactionReceiptPage.tsx | 4 +-- src/pages/UnlinkLoginPage.tsx | 4 +-- src/pages/ValidateLoginPage/types.ts | 4 +-- src/pages/home/ReportScreen.tsx | 4 +-- src/pages/home/report/ReportActionsList.tsx | 4 +-- src/pages/home/report/ReportActionsView.tsx | 4 +-- src/pages/home/report/ReportAttachments.tsx | 4 +-- .../home/report/ReportDetailsExportPage.tsx | 4 +-- .../home/report/UserTypingEventListener.tsx | 4 +-- .../withReportAndReportActionOrNotFound.tsx | 4 +-- .../home/report/withReportOrNotFound.tsx | 27 +++++++++---------- src/pages/iou/HoldReasonPage.tsx | 25 ++++++++++++----- src/pages/iou/SplitBillDetailsPage.tsx | 4 +-- src/pages/iou/request/IOURequestStartPage.tsx | 13 ++------- .../step/withFullTransactionOrNotFound.tsx | 7 ++--- .../step/withWritableReportOrNotFound.tsx | 6 +++-- src/pages/settings/AboutPage/ConsolePage.tsx | 4 +-- src/pages/settings/AboutPage/ShareLogPage.tsx | 4 +-- .../ExitSurvey/ExitSurveyConfirmPage.tsx | 4 +-- .../ExitSurvey/ExitSurveyResponsePage.tsx | 4 +-- .../Contacts/ContactMethodDetailsPage.tsx | 4 +-- .../Profile/Contacts/ContactMethodsPage.tsx | 4 +-- .../Profile/Contacts/NewContactMethodPage.tsx | 4 +-- .../PersonalDetails/CountrySelectionPage.tsx | 4 +-- .../PersonalDetails/PersonalAddressPage.tsx | 4 +-- src/pages/settings/Profile/ProfileAvatar.tsx | 9 +++---- src/pages/settings/Report/NamePage.tsx | 4 +-- .../Report/NotificationPreferencePage.tsx | 7 ++--- .../settings/Report/ReportSettingsPage.tsx | 4 +-- src/pages/settings/Report/RoomNamePage.tsx | 4 +-- src/pages/settings/Report/VisibilityPage.tsx | 7 ++--- .../settings/Report/WriteCapabilityPage.tsx | 7 ++--- .../AddDelegate/ConfirmDelegatePage.tsx | 4 +-- .../AddDelegate/DelegateMagicCodePage.tsx | 4 +-- .../AddDelegate/SelectDelegateRolePage.tsx | 4 +-- .../settings/Security/CloseAccountPage.tsx | 4 +-- .../TwoFactorAuth/Steps/CodesStep.tsx | 4 +-- .../TwoFactorAuth/TwoFactorAuthSteps.tsx | 4 +-- .../Subscription/SubscriptionSize/index.tsx | 4 +-- .../Wallet/ActivatePhysicalCardPage.tsx | 4 +-- .../Wallet/Card/GetPhysicalCardAddress.tsx | 4 +-- .../Wallet/Card/GetPhysicalCardConfirm.tsx | 4 +-- .../Wallet/Card/GetPhysicalCardName.tsx | 4 +-- .../Wallet/Card/GetPhysicalCardPhone.tsx | 4 +-- .../settings/Wallet/ExpensifyCardPage.tsx | 4 +-- .../settings/Wallet/ReportCardLostPage.tsx | 4 +-- .../Wallet/ReportVirtualCardFraudPage.tsx | 4 +-- src/pages/tasks/NewTaskDescriptionPage.tsx | 4 +-- src/pages/tasks/NewTaskDetailsPage.tsx | 4 +-- src/pages/tasks/NewTaskPage.tsx | 4 +-- src/pages/tasks/NewTaskTitlePage.tsx | 4 +-- src/pages/tasks/TaskAssigneeSelectorModal.tsx | 4 +-- src/pages/tasks/TaskDescriptionPage.tsx | 4 +-- src/pages/tasks/TaskTitlePage.tsx | 4 +-- src/pages/wallet/WalletStatementPage.tsx | 4 +-- src/pages/workspace/WorkspaceAvatar.tsx | 4 +-- src/pages/workspace/WorkspaceInitialPage.tsx | 4 +-- .../workspace/WorkspaceInviteMessagePage.tsx | 4 +-- src/pages/workspace/WorkspaceInvitePage.tsx | 4 +-- src/pages/workspace/WorkspaceJoinUserPage.tsx | 4 +-- src/pages/workspace/WorkspaceMembersPage.tsx | 6 ++--- .../workspace/WorkspaceMoreFeaturesPage.tsx | 4 +-- .../workspace/WorkspaceProfileAddressPage.tsx | 4 +-- src/pages/workspace/WorkspaceProfilePage.tsx | 4 +-- .../EnterSageIntacctCredentialsPage.tsx | 4 +-- .../intacct/ExistingConnectionsPage.tsx | 4 +-- .../intacct/SageIntacctPrerequisitesPage.tsx | 4 +-- .../export/SageIntacctDefaultVendorPage.tsx | 4 +-- .../SageIntacctEditUserDimensionsPage.tsx | 4 +-- .../import/SageIntacctMappingsTypePage.tsx | 4 +-- .../import/SageIntacctToggleMappingsPage.tsx | 4 +-- .../NetSuiteExistingConnectionsPage.tsx | 4 +-- .../reconciliation/CardReconciliationPage.tsx | 4 +-- .../ReconciliationAccountSettingsPage.tsx | 4 +-- .../XeroOrganizationConfigurationPage.tsx | 4 +-- .../categories/CategoryApproverPage.tsx | 4 +-- .../categories/CategoryDefaultTaxRatePage.tsx | 4 +-- .../CategoryDescriptionHintPage.tsx | 4 +-- .../CategoryFlagAmountsOverPage.tsx | 4 +-- .../categories/CategoryGLCodePage.tsx | 4 +-- .../categories/CategoryPayrollCodePage.tsx | 4 +-- .../CategoryRequireReceiptsOverPage.tsx | 4 +-- .../categories/CategorySettingsPage.tsx | 4 +-- .../categories/CreateCategoryPage.tsx | 4 +-- .../workspace/categories/EditCategoryPage.tsx | 4 +-- .../categories/ImportCategoriesPage.tsx | 4 +-- .../categories/ImportedCategoriesPage.tsx | 4 +-- .../categories/WorkspaceCategoriesPage.tsx | 4 +-- ...kspaceCompanyCardAccountSelectCardPage.tsx | 4 +-- .../WorkspaceCompanyCardDetailsPage.tsx | 4 +-- .../WorkspaceCompanyCardEditCardNamePage.tsx | 4 +-- .../WorkspaceCompanyCardFeedSelectorPage.tsx | 4 +-- .../WorkspaceCompanyCardsPage.tsx | 4 +-- ...kspaceCompanyCardsSettingsFeedNamePage.tsx | 4 +-- .../WorkspaceCompanyCardsSettingsPage.tsx | 4 +-- .../distanceRates/CreateDistanceRatePage.tsx | 4 +-- .../PolicyDistanceRateDetailsPage.tsx | 4 +-- .../PolicyDistanceRateEditPage.tsx | 4 +-- .../PolicyDistanceRateTaxRateEditPage.tsx | 4 +-- ...licyDistanceRateTaxReclaimableEditPage.tsx | 5 ++-- .../distanceRates/PolicyDistanceRatesPage.tsx | 4 +-- .../PolicyDistanceRatesSettingsPage.tsx | 4 +-- .../WorkspaceCardSettingsPage.tsx | 4 +-- .../expensifyCard/WorkspaceCardsListLabel.tsx | 4 +-- .../WorkspaceEditCardLimitPage.tsx | 4 +-- .../WorkspaceEditCardLimitTypePage.tsx | 4 +-- .../WorkspaceEditCardNamePage.tsx | 4 +-- .../WorkspaceExpensifyCardBankAccounts.tsx | 4 +-- .../WorkspaceExpensifyCardDetailsPage.tsx | 4 +-- .../WorkspaceExpensifyCardListPage.tsx | 4 +-- .../WorkspaceExpensifyCardPage.tsx | 4 +-- .../WorkspaceExpensifyCardPageEmptyState.tsx | 4 +-- .../WorkspaceSettlementAccountPage.tsx | 4 +-- .../WorkspaceSettlementFrequencyPage.tsx | 4 +-- .../issueNew/IssueNewCardPage.tsx | 4 +-- .../invoices/WorkspaceInvoicesPage.tsx | 4 +-- .../WorkspaceInvoicingDetailsName.tsx | 4 +-- .../WorkspaceInvoicingDetailsWebsite.tsx | 4 +-- .../workspace/members/ImportMembersPage.tsx | 4 +-- .../workspace/members/ImportedMembersPage.tsx | 4 +-- .../members/WorkspaceMemberDetailsPage.tsx | 4 +-- .../members/WorkspaceOwnerChangeErrorPage.tsx | 4 +-- .../WorkspaceOwnerChangeSuccessPage.tsx | 4 +-- .../WorkspaceOwnerChangeWrapperPage.tsx | 4 +-- .../reportFields/CreateReportFieldsPage.tsx | 4 +-- .../ReportFieldsAddListValuePage.tsx | 4 +-- .../ReportFieldsEditValuePage.tsx | 4 +-- .../ReportFieldsInitialValuePage.tsx | 5 ++-- .../ReportFieldsListValuesPage.tsx | 4 +-- .../reportFields/ReportFieldsSettingsPage.tsx | 4 +-- .../ReportFieldsValueSettingsPage.tsx | 4 +-- .../WorkspaceReportFieldsPage.tsx | 4 +-- src/pages/workspace/rules/PolicyRulesPage.tsx | 4 +-- .../RulesAutoApproveReportsUnderPage.tsx | 4 +-- .../rules/RulesAutoPayReportsUnderPage.tsx | 4 +-- .../rules/RulesBillableDefaultPage.tsx | 4 +-- .../workspace/rules/RulesCustomNamePage.tsx | 4 +-- .../rules/RulesMaxExpenseAgePage.tsx | 4 +-- .../rules/RulesMaxExpenseAmountPage.tsx | 4 +-- .../rules/RulesRandomReportAuditPage.tsx | 4 +-- .../rules/RulesReceiptRequiredAmountPage.tsx | 4 +-- src/pages/workspace/tags/EditTagPage.tsx | 4 +-- src/pages/workspace/tags/ImportTagsPage.tsx | 4 +-- src/pages/workspace/tags/ImportedTagsPage.tsx | 4 +-- src/pages/workspace/tags/TagApproverPage.tsx | 4 +-- src/pages/workspace/tags/TagGLCodePage.tsx | 4 +-- src/pages/workspace/tags/TagSettingsPage.tsx | 4 +-- .../workspace/tags/WorkspaceCreateTagPage.tsx | 4 +-- .../workspace/tags/WorkspaceEditTagsPage.tsx | 4 +-- .../workspace/tags/WorkspaceTagsPage.tsx | 4 +-- .../tags/WorkspaceTagsSettingsPage.tsx | 4 +-- .../workspace/tags/WorkspaceViewTagsPage.tsx | 4 +-- src/pages/workspace/taxes/NamePage.tsx | 4 +-- src/pages/workspace/taxes/ValuePage.tsx | 4 +-- .../taxes/WorkspaceCreateTaxPage.tsx | 4 +-- .../workspace/taxes/WorkspaceEditTaxPage.tsx | 4 +-- .../workspace/taxes/WorkspaceTaxCodePage.tsx | 4 +-- .../workspace/taxes/WorkspaceTaxesPage.tsx | 4 +-- .../WorkspaceTaxesSettingsCustomTaxName.tsx | 5 ++-- .../WorkspaceTaxesSettingsForeignCurrency.tsx | 4 +-- .../taxes/WorkspaceTaxesSettingsPage.tsx | 4 +-- ...orkspaceTaxesSettingsWorkspaceCurrency.tsx | 4 +-- .../upgrade/WorkspaceUpgradePage.tsx | 4 +-- src/pages/workspace/withPolicy.tsx | 4 +-- .../WorkspaceAutoReportingFrequencyPage.tsx | 4 +-- ...orkspaceAutoReportingMonthlyOffsetPage.tsx | 5 ++-- .../workflows/WorkspaceWorkflowsPage.tsx | 4 +-- .../workflows/WorkspaceWorkflowsPayerPage.tsx | 4 +-- ...orkspaceWorkflowsApprovalsApproverPage.tsx | 4 +-- .../WorkspaceWorkflowsApprovalsCreatePage.tsx | 5 ++-- .../WorkspaceWorkflowsApprovalsEditPage.tsx | 5 ++-- ...paceWorkflowsApprovalsExpensesFromPage.tsx | 4 +-- tests/perf-test/ChatFinderPage.perf-test.tsx | 8 +++--- tests/perf-test/ReportScreen.perf-test.tsx | 10 +++---- 221 files changed, 496 insertions(+), 497 deletions(-) diff --git a/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx b/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx index 9c46e7ba0a9f2..0a740e65747f8 100644 --- a/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx +++ b/src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import lodashSortBy from 'lodash/sortBy'; import truncate from 'lodash/truncate'; @@ -28,7 +29,6 @@ import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as IOUUtils from '@libs/IOUUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReceiptUtils from '@libs/ReceiptUtils'; @@ -70,7 +70,7 @@ function MoneyRequestPreviewContent({ const StyleUtils = useStyleUtils(); const {translate} = useLocalize(); const {windowWidth} = useWindowDimensions(); - const route = useRoute>(); + const route = useRoute>(); const {shouldUseNarrowLayout} = useResponsiveLayout(); const [personalDetails] = useOnyx(ONYXKEYS.PERSONAL_DETAILS_LIST); const [chatReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${chatReportID || '-1'}`); diff --git a/src/components/ScreenWrapper.tsx b/src/components/ScreenWrapper.tsx index 5f05c453b47ec..37e2842c06714 100644 --- a/src/components/ScreenWrapper.tsx +++ b/src/components/ScreenWrapper.tsx @@ -1,4 +1,5 @@ import {useIsFocused, useNavigation} from '@react-navigation/native'; +import type {StackNavigationProp} from '@react-navigation/stack'; import type {ForwardedRef, ReactNode} from 'react'; import React, {createContext, forwardRef, useEffect, useMemo, useRef, useState} from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; @@ -14,7 +15,6 @@ import useTackInputFocus from '@hooks/useTackInputFocus'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as Browser from '@libs/Browser'; -import type {PlatformStackNavigationProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, RootStackParamList} from '@libs/Navigation/types'; import toggleTestToolsModal from '@userActions/TestTool'; import CONST from '@src/CONST'; @@ -96,7 +96,7 @@ type ScreenWrapperProps = { * * This is required because transitionEnd event doesn't trigger in the testing environment. */ - navigation?: PlatformStackNavigationProp | PlatformStackNavigationProp; + navigation?: StackNavigationProp | StackNavigationProp; /** Whether to show offline indicator on wide screens */ shouldShowOfflineIndicatorInWideScreen?: boolean; @@ -141,7 +141,7 @@ function ScreenWrapper( * so in other places where ScreenWrapper is used, we need to * fallback to useNavigation. */ - const navigationFallback = useNavigation>(); + const navigationFallback = useNavigation>(); const navigation = navigationProp ?? navigationFallback; const isFocused = useIsFocused(); const {windowHeight} = useWindowDimensions(shouldUseCachedViewportHeight); diff --git a/src/components/ScrollOffsetContextProvider.tsx b/src/components/ScrollOffsetContextProvider.tsx index 78d8c5ed61fb6..d7815d7a65a0a 100644 --- a/src/components/ScrollOffsetContextProvider.tsx +++ b/src/components/ScrollOffsetContextProvider.tsx @@ -1,8 +1,7 @@ -import type {ParamListBase} from '@react-navigation/native'; +import type {ParamListBase, RouteProp} from '@react-navigation/native'; import React, {createContext, useCallback, useEffect, useMemo, useRef} from 'react'; import {withOnyx} from 'react-native-onyx'; import usePrevious from '@hooks/usePrevious'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NavigationPartialRoute, State} from '@libs/Navigation/types'; import NAVIGATORS from '@src/NAVIGATORS'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -11,10 +10,10 @@ import type {PriorityMode} from '@src/types/onyx'; type ScrollOffsetContextValue = { /** Save scroll offset of flashlist on given screen */ - saveScrollOffset: (route: PlatformStackRouteProp, scrollOffset: number) => void; + saveScrollOffset: (route: RouteProp, scrollOffset: number) => void; /** Get scroll offset value for given screen */ - getScrollOffset: (route: PlatformStackRouteProp) => number | undefined; + getScrollOffset: (route: RouteProp) => number | undefined; /** Clean scroll offsets of screen that aren't anymore in the state */ cleanStaleScrollOffsets: (state: State) => void; @@ -39,7 +38,7 @@ const defaultValue: ScrollOffsetContextValue = { const ScrollOffsetContext = createContext(defaultValue); /** This function is prepared to work with HOME screens. May need modification if we want to handle other types of screens. */ -function getKey(route: PlatformStackRouteProp | NavigationPartialRoute): string { +function getKey(route: RouteProp | NavigationPartialRoute): string { if (route.params && 'policyID' in route.params && typeof route.params.policyID === 'string') { return `${route.name}-${route.params.policyID}`; } diff --git a/src/components/Search/index.tsx b/src/components/Search/index.tsx index 5878f9fcf2ee1..18a14c0ec719f 100644 --- a/src/components/Search/index.tsx +++ b/src/components/Search/index.tsx @@ -1,4 +1,5 @@ import {useNavigation} from '@react-navigation/native'; +import type {StackNavigationProp} from '@react-navigation/stack'; import React, {useCallback, useEffect, useRef, useState} from 'react'; import {View} from 'react-native'; import type {NativeScrollEvent, NativeSyntheticEvent, StyleProp, ViewStyle} from 'react-native'; @@ -19,7 +20,6 @@ import * as SearchActions from '@libs/actions/Search'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Log from '@libs/Log'; import memoize from '@libs/memoize'; -import type {PlatformStackNavigationProp} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as SearchUtils from '@libs/SearchUtils'; import Navigation from '@navigation/Navigation'; @@ -81,7 +81,7 @@ function Search({queryJSON, onSearchListScroll, contentContainerStyle}: SearchPr const {shouldUseNarrowLayout} = useResponsiveLayout(); const styles = useThemeStyles(); const {isSmallScreenWidth, isLargeScreenWidth} = useResponsiveLayout(); - const navigation = useNavigation>(); + const navigation = useNavigation>(); const lastSearchResultsRef = useRef>(); const {setCurrentSearchHash, setSelectedTransactions, selectedTransactions, clearSelectedTransactions, setShouldShowStatusBarLoading} = useSearchContext(); const {selectionMode} = useMobileSelectionMode(); diff --git a/src/components/withNavigationTransitionEnd.tsx b/src/components/withNavigationTransitionEnd.tsx index 69e04ff22e357..83f14a1d58ef1 100644 --- a/src/components/withNavigationTransitionEnd.tsx +++ b/src/components/withNavigationTransitionEnd.tsx @@ -1,8 +1,8 @@ import {useNavigation} from '@react-navigation/native'; +import type {StackNavigationProp} from '@react-navigation/stack'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {useEffect, useState} from 'react'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackNavigationProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; type WithNavigationTransitionEndProps = {didScreenTransitionEnd: boolean}; @@ -10,7 +10,7 @@ type WithNavigationTransitionEndProps = {didScreenTransitionEnd: boolean}; export default function (WrappedComponent: ComponentType>): React.ComponentType> { function WithNavigationTransitionEnd(props: TProps, ref: ForwardedRef) { const [didScreenTransitionEnd, setDidScreenTransitionEnd] = useState(false); - const navigation = useNavigation>(); + const navigation = useNavigation>(); useEffect(() => { const unsubscribeTransitionEnd = navigation.addListener('transitionEnd', () => { diff --git a/src/pages/ChatFinderPage/index.tsx b/src/pages/ChatFinderPage/index.tsx index a35b17ae7ff04..aabf881a8bedb 100644 --- a/src/pages/ChatFinderPage/index.tsx +++ b/src/pages/ChatFinderPage/index.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import isEmpty from 'lodash/isEmpty'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import useDismissedReferralBanners from '@hooks/useDismissedReferralBanners'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import Performance from '@libs/Performance'; @@ -35,7 +35,7 @@ type ChatFinderPageOnyxProps = { isSearchingForReports: OnyxEntry; }; -type ChatFinderPageProps = ChatFinderPageOnyxProps & PlatformStackScreenProps; +type ChatFinderPageProps = ChatFinderPageOnyxProps & StackScreenProps; type ChatFinderPageSectionItem = { data: OptionData[]; diff --git a/src/pages/ConciergePage.tsx b/src/pages/ConciergePage.tsx index 897d1c429799a..46f17e76c083e 100644 --- a/src/pages/ConciergePage.tsx +++ b/src/pages/ConciergePage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useRef} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -9,7 +10,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as App from '@userActions/App'; import * as Report from '@userActions/Report'; @@ -22,7 +22,7 @@ type ConciergePageOnyxProps = { session: OnyxEntry; }; -type ConciergePageProps = ConciergePageOnyxProps & PlatformStackScreenProps; +type ConciergePageProps = ConciergePageOnyxProps & StackScreenProps; /* * This is a "utility page", that does this: diff --git a/src/pages/Debug/DebugDetailsConstantPickerPage.tsx b/src/pages/Debug/DebugDetailsConstantPickerPage.tsx index 98015cd2af1ba..7dff4f2fe2ff1 100644 --- a/src/pages/Debug/DebugDetailsConstantPickerPage.tsx +++ b/src/pages/Debug/DebugDetailsConstantPickerPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import isObject from 'lodash/isObject'; import React, {useMemo, useState} from 'react'; import {View} from 'react-native'; @@ -9,13 +10,12 @@ import type {ListItem} from '@components/SelectionList/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {DebugParamList} from '@libs/Navigation/types'; import {appendParam} from '@libs/Url'; import type SCREENS from '@src/SCREENS'; import {DETAILS_CONSTANT_OPTIONS} from './const'; -type DebugDetailsConstantPickerPageProps = PlatformStackScreenProps; +type DebugDetailsConstantPickerPageProps = StackScreenProps; function DebugDetailsConstantPickerPage({ route: { diff --git a/src/pages/Debug/DebugDetailsDateTimePickerPage.tsx b/src/pages/Debug/DebugDetailsDateTimePickerPage.tsx index b2be1429ee5b6..920b5b52076ce 100644 --- a/src/pages/Debug/DebugDetailsDateTimePickerPage.tsx +++ b/src/pages/Debug/DebugDetailsDateTimePickerPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {format} from 'date-fns'; import React, {useState} from 'react'; import {View} from 'react-native'; @@ -11,12 +12,11 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import DateUtils from '@libs/DateUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {DebugParamList} from '@libs/Navigation/types'; import {appendParam} from '@libs/Url'; import type SCREENS from '@src/SCREENS'; -type DebugDetailsDateTimePickerPageProps = PlatformStackScreenProps; +type DebugDetailsDateTimePickerPageProps = StackScreenProps; function DebugDetailsDateTimePickerPage({ route: { diff --git a/src/pages/Debug/Report/DebugReportPage.tsx b/src/pages/Debug/Report/DebugReportPage.tsx index 9d280acd36bcc..5fc3eb21c2004 100644 --- a/src/pages/Debug/Report/DebugReportPage.tsx +++ b/src/pages/Debug/Report/DebugReportPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -10,7 +11,6 @@ import DebugUtils from '@libs/DebugUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; import OnyxTabNavigator, {TopTab} from '@libs/Navigation/OnyxTabNavigator'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {DebugParamList} from '@libs/Navigation/types'; import DebugDetails from '@pages/Debug/DebugDetails'; import DebugJSON from '@pages/Debug/DebugJSON'; @@ -20,7 +20,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import DebugReportActions from './DebugReportActions'; -type DebugReportPageProps = PlatformStackScreenProps; +type DebugReportPageProps = StackScreenProps; function DebugReportPage({ route: { diff --git a/src/pages/Debug/ReportAction/DebugReportActionCreatePage.tsx b/src/pages/Debug/ReportAction/DebugReportActionCreatePage.tsx index 429f42b58dda1..0b260a8bc93e1 100644 --- a/src/pages/Debug/ReportAction/DebugReportActionCreatePage.tsx +++ b/src/pages/Debug/ReportAction/DebugReportActionCreatePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import DateUtils from '@libs/DateUtils'; import DebugUtils from '@libs/DebugUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {DebugParamList} from '@libs/Navigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import ReportActionItem from '@pages/home/report/ReportActionItem'; @@ -26,7 +26,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {PersonalDetailsList, ReportAction, Session} from '@src/types/onyx'; -type DebugReportActionCreatePageProps = PlatformStackScreenProps; +type DebugReportActionCreatePageProps = StackScreenProps; const getInitialReportAction = (reportID: string, session: OnyxEntry, personalDetailsList: OnyxEntry) => DebugUtils.stringifyJSON({ diff --git a/src/pages/Debug/ReportAction/DebugReportActionPage.tsx b/src/pages/Debug/ReportAction/DebugReportActionPage.tsx index 621e773603580..89377310571eb 100644 --- a/src/pages/Debug/ReportAction/DebugReportActionPage.tsx +++ b/src/pages/Debug/ReportAction/DebugReportActionPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -10,7 +11,6 @@ import DebugUtils from '@libs/DebugUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; import OnyxTabNavigator, {TopTab} from '@libs/Navigation/OnyxTabNavigator'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {DebugParamList} from '@libs/Navigation/types'; import DebugDetails from '@pages/Debug/DebugDetails'; import DebugJSON from '@pages/Debug/DebugJSON'; @@ -20,7 +20,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import DebugReportActionPreview from './DebugReportActionPreview'; -type DebugReportActionPageProps = PlatformStackScreenProps; +type DebugReportActionPageProps = StackScreenProps; function DebugReportActionPage({ route: { diff --git a/src/pages/FlagCommentPage.tsx b/src/pages/FlagCommentPage.tsx index 64f287aad15db..c87dda8e13c90 100644 --- a/src/pages/FlagCommentPage.tsx +++ b/src/pages/FlagCommentPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as Report from '@userActions/Report'; @@ -29,7 +29,7 @@ type FlagCommentPageWithOnyxProps = { parentReportAction: OnyxEntry; }; -type FlagCommentPageNavigationProps = PlatformStackScreenProps; +type FlagCommentPageNavigationProps = StackScreenProps; type FlagCommentPageProps = WithReportAndReportActionOrNotFoundProps & FlagCommentPageNavigationProps & FlagCommentPageWithOnyxProps; diff --git a/src/pages/GetAssistancePage.tsx b/src/pages/GetAssistancePage.tsx index aecb78b76a762..90b7ccbb28d88 100644 --- a/src/pages/GetAssistancePage.tsx +++ b/src/pages/GetAssistancePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import useLocalize from '@hooks/useLocalize'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import * as Report from '@userActions/Report'; @@ -29,7 +29,7 @@ type GetAssistanceOnyxProps = { account: OnyxEntry; }; -type GetAssistancePageProps = GetAssistanceOnyxProps & PlatformStackScreenProps; +type GetAssistancePageProps = GetAssistanceOnyxProps & StackScreenProps; function GetAssistancePage({route, account}: GetAssistancePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/GroupChatNameEditPage.tsx b/src/pages/GroupChatNameEditPage.tsx index 100efb69cae1d..425e8a421cb28 100644 --- a/src/pages/GroupChatNameEditPage.tsx +++ b/src/pages/GroupChatNameEditPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; @@ -11,7 +12,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewChatNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; @@ -30,7 +30,7 @@ type GroupChatNameEditPageOnyxProps = { }; type GroupChatNameEditPageProps = GroupChatNameEditPageOnyxProps & - Partial> & { + Partial> & { report?: ReportOnyxType; }; diff --git a/src/pages/InviteReportParticipantsPage.tsx b/src/pages/InviteReportParticipantsPage.tsx index b639d984a1329..6a5bf6832fd66 100644 --- a/src/pages/InviteReportParticipantsPage.tsx +++ b/src/pages/InviteReportParticipantsPage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; @@ -19,7 +20,6 @@ import * as UserSearchPhraseActions from '@libs/actions/RoomMembersUserSearchPhr import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ParticipantsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -44,7 +44,7 @@ type InviteReportParticipantsPageProps = InviteReportParticipantsPageOnyxProps & type Sections = Array>>; function InviteReportParticipantsPage({betas, personalDetails, report, didScreenTransitionEnd}: InviteReportParticipantsPageProps) { - const route = useRoute>(); + const route = useRoute>(); const {options, areOptionsInitialized} = useOptionsList({ shouldInitialize: didScreenTransitionEnd, }); diff --git a/src/pages/LogInWithShortLivedAuthTokenPage.tsx b/src/pages/LogInWithShortLivedAuthTokenPage.tsx index 9dcd655373534..fcbeadaa4a47d 100644 --- a/src/pages/LogInWithShortLivedAuthTokenPage.tsx +++ b/src/pages/LogInWithShortLivedAuthTokenPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {NativeModules} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -5,7 +6,6 @@ import {withOnyx} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import * as Session from '@userActions/Session'; import CONST from '@src/CONST'; @@ -21,7 +21,7 @@ type LogInWithShortLivedAuthTokenPageOnyxProps = { account: OnyxEntry; }; -type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & PlatformStackScreenProps; +type LogInWithShortLivedAuthTokenPageProps = LogInWithShortLivedAuthTokenPageOnyxProps & StackScreenProps; function LogInWithShortLivedAuthTokenPage({route, account}: LogInWithShortLivedAuthTokenPageProps) { const {email = '', shortLivedAuthToken = '', shortLivedToken = '', authTokenType, exitTo, error} = route?.params ?? {}; diff --git a/src/pages/LogOutPreviousUserPage.tsx b/src/pages/LogOutPreviousUserPage.tsx index bb381bb156ed1..deb95a576c3de 100644 --- a/src/pages/LogOutPreviousUserPage.tsx +++ b/src/pages/LogOutPreviousUserPage.tsx @@ -1,10 +1,10 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useContext, useEffect} from 'react'; import {NativeModules} from 'react-native'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import {InitialURLContext} from '@components/InitialURLContextProvider'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as SessionUtils from '@libs/SessionUtils'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ type LogOutPreviousUserPageOnyxProps = { isAccountLoading: boolean; }; -type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & PlatformStackScreenProps; +type LogOutPreviousUserPageProps = LogOutPreviousUserPageOnyxProps & StackScreenProps; // This page is responsible for handling transitions from OldDot. Specifically, it logs the current user // out if the transition is for another user. diff --git a/src/pages/OnboardingPersonalDetails/types.ts b/src/pages/OnboardingPersonalDetails/types.ts index 29b43130dd0ad..5371f289e7433 100644 --- a/src/pages/OnboardingPersonalDetails/types.ts +++ b/src/pages/OnboardingPersonalDetails/types.ts @@ -1,11 +1,12 @@ +import type {RouteProp} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import type {OnyxEntry} from 'react-native-onyx'; import type {WithCurrentUserPersonalDetailsProps} from '@components/withCurrentUserPersonalDetails'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; import type {OnboardingPurposeType} from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type OnboardingPersonalDetailsProps = Record & PlatformStackScreenProps; +type OnboardingPersonalDetailsProps = Record & StackScreenProps; type BaseOnboardingPersonalDetailsOnyxProps = { /** Saved onboarding purpose selected by the user */ @@ -19,10 +20,11 @@ type BaseOnboardingPersonalDetailsOnyxProps = { }; type BaseOnboardingPersonalDetailsProps = WithCurrentUserPersonalDetailsProps & - BaseOnboardingPersonalDetailsOnyxProps & - PlatformStackScreenProps & { + BaseOnboardingPersonalDetailsOnyxProps & { /* Whether to use native styles tailored for native devices */ shouldUseNativeStyles: boolean; + + route: RouteProp; }; export type {OnboardingPersonalDetailsProps, BaseOnboardingPersonalDetailsOnyxProps, BaseOnboardingPersonalDetailsProps}; diff --git a/src/pages/OnboardingPurpose/types.ts b/src/pages/OnboardingPurpose/types.ts index 8f2f99b97e566..7a61196fd328b 100644 --- a/src/pages/OnboardingPurpose/types.ts +++ b/src/pages/OnboardingPurpose/types.ts @@ -1,8 +1,8 @@ -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {StackScreenProps} from '@react-navigation/stack'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; -type OnboardingPurposeProps = Record & PlatformStackScreenProps; +type OnboardingPurposeProps = Record & StackScreenProps; type BaseOnboardingPurposeProps = OnboardingPurposeProps & { /* Whether to use native styles tailored for native devices */ diff --git a/src/pages/OnboardingWork/types.ts b/src/pages/OnboardingWork/types.ts index aee9c10544968..d87843944cd60 100644 --- a/src/pages/OnboardingWork/types.ts +++ b/src/pages/OnboardingWork/types.ts @@ -1,10 +1,10 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import type {OnyxEntry} from 'react-native-onyx'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; import type {OnboardingPurposeType} from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type OnboardingWorkProps = Record & PlatformStackScreenProps; +type OnboardingWorkProps = Record & StackScreenProps; type BaseOnboardingWorkOnyxProps = { /** Saved onboarding purpose selected by the user */ diff --git a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx index 5dd4275e5fa1c..ac8eb7f862b6b 100644 --- a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import lodashDebounce from 'lodash/debounce'; import React, {useCallback, useMemo, useRef, useState} from 'react'; @@ -17,7 +18,6 @@ import useHtmlPaste from '@hooks/useHtmlPaste'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -41,7 +41,7 @@ type PrivateNotesEditPageOnyxProps = { type PrivateNotesEditPageProps = WithReportAndPrivateNotesOrNotFoundProps & PrivateNotesEditPageOnyxProps & - PlatformStackScreenProps & { + StackScreenProps & { /** The report currently being looked at */ report: Report; }; diff --git a/src/pages/PrivateNotes/PrivateNotesListPage.tsx b/src/pages/PrivateNotes/PrivateNotesListPage.tsx index 799b67a3a2eab..cc7ee9f54daa1 100644 --- a/src/pages/PrivateNotes/PrivateNotesListPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesListPage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; @@ -12,7 +13,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; import type {WithReportAndPrivateNotesOrNotFoundProps} from '@pages/home/report/withReportAndPrivateNotesOrNotFound'; import withReportAndPrivateNotesOrNotFound from '@pages/home/report/withReportAndPrivateNotesOrNotFound'; @@ -44,7 +44,7 @@ type NoteListItem = { }; function PrivateNotesListPage({report, personalDetailsList, session}: PrivateNotesListPageProps) { - const route = useRoute>(); + const route = useRoute>(); const backTo = route.params.backTo; const styles = useThemeStyles(); const {translate} = useLocalize(); diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx index b4c61b3d5ca3a..0d47e3fd8f359 100755 --- a/src/pages/ProfilePage.tsx +++ b/src/pages/ProfilePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useEffect, useMemo} from 'react'; import {View} from 'react-native'; @@ -23,7 +24,6 @@ import UserDetailsTooltip from '@components/UserDetailsTooltip'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import {parsePhoneNumber} from '@libs/PhoneNumber'; import * as ReportUtils from '@libs/ReportUtils'; @@ -42,7 +42,7 @@ import type SCREENS from '@src/SCREENS'; import type {PersonalDetails, Report} from '@src/types/onyx'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ProfilePageProps = PlatformStackScreenProps; +type ProfilePageProps = StackScreenProps; /** * Gets the phone number to display for SMS logins diff --git a/src/pages/ReferralDetailsPage.tsx b/src/pages/ReferralDetailsPage.tsx index 76dac1aca1a88..d8a27e1719337 100644 --- a/src/pages/ReferralDetailsPage.tsx +++ b/src/pages/ReferralDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useRef} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReferralDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as Link from '@userActions/Link'; import CONST from '@src/CONST'; @@ -29,7 +29,7 @@ type ReferralDetailsPageOnyxProps = { account: OnyxEntry; }; -type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & PlatformStackScreenProps; +type ReferralDetailsPageProps = ReferralDetailsPageOnyxProps & StackScreenProps; function ReferralDetailsPage({route, account}: ReferralDetailsPageProps) { const theme = useTheme(); diff --git a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx index b9d45d2fbba54..4b42aff1fc1d5 100644 --- a/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx +++ b/src/pages/ReimbursementAccount/ReimbursementAccountPage.tsx @@ -1,3 +1,5 @@ +import type {RouteProp} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import lodashPick from 'lodash/pick'; import React, {useEffect, useRef, useState} from 'react'; @@ -17,7 +19,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import getPlaidOAuthReceivedRedirectURI from '@libs/getPlaidOAuthReceivedRedirectURI'; import BankAccount from '@libs/models/BankAccount'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReimbursementAccountNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import shouldReopenOnfido from '@libs/shouldReopenOnfido'; @@ -66,7 +67,7 @@ type ReimbursementAccountOnyxProps = { type ReimbursementAccountPageProps = WithPolicyOnyxProps & ReimbursementAccountOnyxProps & - PlatformStackScreenProps; + StackScreenProps; const ROUTE_NAMES = { COMPANY: 'company', @@ -82,7 +83,7 @@ const ROUTE_NAMES = { * We can pass stepToOpen in the URL to force which step to show. * Mainly needed when user finished the flow in verifying state, and Ops ask them to modify some fields from a specific step. */ -function getStepToOpenFromRouteParams(route: PlatformStackRouteProp): TBankAccountStep | '' { +function getStepToOpenFromRouteParams(route: RouteProp): TBankAccountStep | '' { switch (route.params.stepToOpen) { case ROUTE_NAMES.NEW: return CONST.BANK_ACCOUNT.STEP.BANK_ACCOUNT; diff --git a/src/pages/ReportAvatar.tsx b/src/pages/ReportAvatar.tsx index ac139e58a9ff4..b9a91705a4013 100644 --- a/src/pages/ReportAvatar.tsx +++ b/src/pages/ReportAvatar.tsx @@ -1,8 +1,8 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {useOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -10,7 +10,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportAvatarProps = PlatformStackScreenProps; +type ReportAvatarProps = StackScreenProps; function ReportAvatar({route}: ReportAvatarProps) { const reportIDFromRoute = route.params?.reportID ?? '-1'; diff --git a/src/pages/ReportDescriptionPage.tsx b/src/pages/ReportDescriptionPage.tsx index 0aabe5ad5d58d..6062ef748f369 100644 --- a/src/pages/ReportDescriptionPage.tsx +++ b/src/pages/ReportDescriptionPage.tsx @@ -1,5 +1,5 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportDescriptionNavigatorParamList} from '@navigation/types'; import type SCREENS from '@src/SCREENS'; @@ -8,7 +8,7 @@ import withReportOrNotFound from './home/report/withReportOrNotFound'; import RoomDescriptionPage from './RoomDescriptionPage'; import TaskDescriptionPage from './tasks/TaskDescriptionPage'; -type ReportDescriptionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportDescriptionPageProps = WithReportOrNotFoundProps & StackScreenProps; function ReportDescriptionPage(props: ReportDescriptionPageProps) { const isTask = ReportUtils.isTaskReport(props.report); diff --git a/src/pages/ReportDetailsPage.tsx b/src/pages/ReportDetailsPage.tsx index bcebf3a5eb1bf..195c14698f7d2 100644 --- a/src/pages/ReportDetailsPage.tsx +++ b/src/pages/ReportDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {View} from 'react-native'; @@ -29,7 +30,6 @@ import useNetwork from '@hooks/useNetwork'; import usePaginatedReportActions from '@hooks/usePaginatedReportActions'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -65,7 +65,7 @@ type ReportDetailsPageMenuItem = { shouldShowRightIcon?: boolean; }; -type ReportDetailsPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportDetailsPageProps = WithReportOrNotFoundProps & StackScreenProps; const CASES = { DEFAULT: 'default', diff --git a/src/pages/ReportParticipantDetailsPage.tsx b/src/pages/ReportParticipantDetailsPage.tsx index 342449ae2befe..db978b70cad86 100644 --- a/src/pages/ReportParticipantDetailsPage.tsx +++ b/src/pages/ReportParticipantDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -17,7 +18,6 @@ import useLocalize from '@hooks/useLocalize'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as ReportUtils from '@libs/ReportUtils'; import Navigation from '@navigation/Navigation'; @@ -37,7 +37,7 @@ type ReportParticipantDetailsOnyxProps = { }; type ReportParticipantDetailsPageProps = WithReportOrNotFoundProps & - PlatformStackScreenProps & + StackScreenProps & ReportParticipantDetailsOnyxProps; function ReportParticipantDetails({personalDetails, report, route}: ReportParticipantDetailsPageProps) { diff --git a/src/pages/ReportParticipantRoleSelectionPage.tsx b/src/pages/ReportParticipantRoleSelectionPage.tsx index 95b3f88e9e371..17b84e8903ea4 100644 --- a/src/pages/ReportParticipantRoleSelectionPage.tsx +++ b/src/pages/ReportParticipantRoleSelectionPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import type {ValueOf} from 'type-fest'; @@ -9,7 +10,6 @@ import type {ListItem} from '@components/SelectionList/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {ParticipantsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -19,7 +19,7 @@ import NotFoundPage from './ErrorPage/NotFoundPage'; import withReportOrNotFound from './home/report/withReportOrNotFound'; import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound'; -type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportParticipantRoleSelectionPageProps = WithReportOrNotFoundProps & StackScreenProps; type ListItemType = ListItem & { value: ValueOf; diff --git a/src/pages/RestrictedAction/Workspace/WorkspaceRestrictedActionPage.tsx b/src/pages/RestrictedAction/Workspace/WorkspaceRestrictedActionPage.tsx index bcb46c7812626..a9cee3236ad0f 100644 --- a/src/pages/RestrictedAction/Workspace/WorkspaceRestrictedActionPage.tsx +++ b/src/pages/RestrictedAction/Workspace/WorkspaceRestrictedActionPage.tsx @@ -1,7 +1,7 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; import usePolicy from '@hooks/usePolicy'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RestrictedActionParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -11,7 +11,7 @@ import WorkspaceAdminRestrictedAction from './WorkspaceAdminRestrictedAction'; import WorkspaceOwnerRestrictedAction from './WorkspaceOwnerRestrictedAction'; import WorkspaceUserRestrictedAction from './WorkspaceUserRestrictedAction'; -type WorkspaceRestrictedActionPageProps = PlatformStackScreenProps; +type WorkspaceRestrictedActionPageProps = StackScreenProps; function WorkspaceRestrictedActionPage({ route: { diff --git a/src/pages/RoomDescriptionPage.tsx b/src/pages/RoomDescriptionPage.tsx index c5f8e8d01421e..a70f17d1468c5 100644 --- a/src/pages/RoomDescriptionPage.tsx +++ b/src/pages/RoomDescriptionPage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useFocusEffect, useRoute} from '@react-navigation/native'; import React, {useCallback, useRef, useState} from 'react'; import {View} from 'react-native'; @@ -14,7 +15,6 @@ import type {BaseTextInputRef} from '@components/TextInput/BaseTextInput/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDescriptionNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -37,7 +37,7 @@ type RoomDescriptionPageProps = { }; function RoomDescriptionPage({report, policies}: RoomDescriptionPageProps) { - const route = useRoute>(); + const route = useRoute>(); const backTo = route.params.backTo; const styles = useThemeStyles(); const [description, setDescription] = useState(() => Parser.htmlToMarkdown(report?.description ?? '')); diff --git a/src/pages/RoomInvitePage.tsx b/src/pages/RoomInvitePage.tsx index b943ceec9a361..c833fdb68ae63 100644 --- a/src/pages/RoomInvitePage.tsx +++ b/src/pages/RoomInvitePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; @@ -23,7 +24,6 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import HttpUtils from '@libs/HttpUtils'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -40,7 +40,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound'; import withReportOrNotFound from './home/report/withReportOrNotFound'; -type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & PlatformStackScreenProps; +type RoomInvitePageProps = WithReportOrNotFoundProps & WithNavigationTransitionEndProps & StackScreenProps; type Sections = Array>>; function RoomInvitePage({ diff --git a/src/pages/RoomMemberDetailsPage.tsx b/src/pages/RoomMemberDetailsPage.tsx index ae0c8ffa1cdcf..475cf37a8847a 100644 --- a/src/pages/RoomMemberDetailsPage.tsx +++ b/src/pages/RoomMemberDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import useLocalize from '@hooks/useLocalize'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Report from '@libs/actions/Report'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import Navigation from '@navigation/Navigation'; import CONST from '@src/CONST'; @@ -26,7 +26,7 @@ import NotFoundPage from './ErrorPage/NotFoundPage'; import withReportOrNotFound from './home/report/withReportOrNotFound'; import type {WithReportOrNotFoundProps} from './home/report/withReportOrNotFound'; -type RoomMemberDetailsPagePageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type RoomMemberDetailsPagePageProps = WithReportOrNotFoundProps & StackScreenProps; function RoomMemberDetailsPage({report, route}: RoomMemberDetailsPagePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/RoomMembersPage.tsx b/src/pages/RoomMembersPage.tsx index 04f85e5c02c3d..f8c07e5b0a673 100644 --- a/src/pages/RoomMembersPage.tsx +++ b/src/pages/RoomMembersPage.tsx @@ -1,4 +1,6 @@ +import type {RouteProp} from '@react-navigation/native'; import {useIsFocused, useRoute} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import {useOnyx, withOnyx} from 'react-native-onyx'; @@ -28,7 +30,6 @@ import * as UserSearchPhraseActions from '@libs/actions/RoomMembersUserSearchPhr import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RoomMembersNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -52,10 +53,10 @@ type RoomMembersPageOnyxProps = { type RoomMembersPageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps & RoomMembersPageOnyxProps & - PlatformStackScreenProps; + StackScreenProps; function RoomMembersPage({report, session, policies}: RoomMembersPageProps) { - const route = useRoute>(); + const route = useRoute>(); const styles = useThemeStyles(); const {formatPhoneNumber, translate} = useLocalize(); const [selectedMembers, setSelectedMembers] = useState([]); diff --git a/src/pages/Search/SearchHoldReasonPage.tsx b/src/pages/Search/SearchHoldReasonPage.tsx index 229f7d7e69945..edd85e78cec2b 100644 --- a/src/pages/Search/SearchHoldReasonPage.tsx +++ b/src/pages/Search/SearchHoldReasonPage.tsx @@ -1,9 +1,9 @@ +import type {RouteProp} from '@react-navigation/native'; import React, {useCallback, useEffect} from 'react'; import type {FormInputErrors, FormOnyxValues} from '@components/Form/types'; import {useSearchContext} from '@components/Search/SearchContext'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import HoldReasonFormView from '@pages/iou/HoldReasonFormView'; import * as FormActions from '@userActions/FormActions'; @@ -19,7 +19,7 @@ type SearchHoldReasonPageRouteParams = { type SearchHoldReasonPageProps = { /** Navigation route context info provided by react navigation */ - route: PlatformStackRouteProp<{params?: SearchHoldReasonPageRouteParams}>; + route: RouteProp<{params?: SearchHoldReasonPageRouteParams}>; }; function SearchHoldReasonPage({route}: SearchHoldReasonPageProps) { diff --git a/src/pages/Search/SearchPage.tsx b/src/pages/Search/SearchPage.tsx index 27125324bfaf7..47c29b99b02fe 100644 --- a/src/pages/Search/SearchPage.tsx +++ b/src/pages/Search/SearchPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -7,13 +8,12 @@ import SearchStatusBar from '@components/Search/SearchStatusBar'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as SearchUtils from '@libs/SearchUtils'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type SearchPageProps = PlatformStackScreenProps; +type SearchPageProps = StackScreenProps; function SearchPage({route}: SearchPageProps) { const {shouldUseNarrowLayout} = useResponsiveLayout(); diff --git a/src/pages/TransactionDuplicate/Confirmation.tsx b/src/pages/TransactionDuplicate/Confirmation.tsx index cc1ae7135df15..b9a4adb729e2c 100644 --- a/src/pages/TransactionDuplicate/Confirmation.tsx +++ b/src/pages/TransactionDuplicate/Confirmation.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; @@ -18,7 +19,6 @@ import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import variables from '@styles/variables'; import * as IOU from '@src/libs/actions/IOU'; @@ -36,7 +36,7 @@ function Confirmation() { const styles = useThemeStyles(); const {translate} = useLocalize(); const currentUserPersonalDetails = useCurrentUserPersonalDetails(); - const route = useRoute>(); + const route = useRoute>(); const [reviewDuplicates, reviewDuplicatesResult] = useOnyx(ONYXKEYS.REVIEW_DUPLICATES); const transaction = useMemo(() => TransactionUtils.buildNewTransactionAfterReviewingDuplicates(reviewDuplicates), [reviewDuplicates]); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); diff --git a/src/pages/TransactionDuplicate/Review.tsx b/src/pages/TransactionDuplicate/Review.tsx index cb27ecfcbb3cd..e61f9382b895b 100644 --- a/src/pages/TransactionDuplicate/Review.tsx +++ b/src/pages/TransactionDuplicate/Review.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import {View} from 'react-native'; @@ -11,7 +12,6 @@ import useCurrentUserPersonalDetails from '@hooks/useCurrentUserPersonalDetails' import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as ReportActionsUtils from '@libs/ReportActionsUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -25,7 +25,7 @@ import DuplicateTransactionsList from './DuplicateTransactionsList'; function TransactionDuplicateReview() { const styles = useThemeStyles(); const {translate} = useLocalize(); - const route = useRoute>(); + const route = useRoute>(); const currentPersonalDetails = useCurrentUserPersonalDetails(); const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${route.params.threadReportID}`); const reportAction = ReportActionsUtils.getReportAction(report?.parentReportID ?? '-1', report?.parentReportActionID ?? '-1'); diff --git a/src/pages/TransactionDuplicate/ReviewBillable.tsx b/src/pages/TransactionDuplicate/ReviewBillable.tsx index 2473c18a5551f..666741daf3035 100644 --- a/src/pages/TransactionDuplicate/ReviewBillable.tsx +++ b/src/pages/TransactionDuplicate/ReviewBillable.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewBillable() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewCategory.tsx b/src/pages/TransactionDuplicate/ReviewCategory.tsx index 05e90733d6bdc..09cbdcd283276 100644 --- a/src/pages/TransactionDuplicate/ReviewCategory.tsx +++ b/src/pages/TransactionDuplicate/ReviewCategory.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewCategory() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewDescription.tsx b/src/pages/TransactionDuplicate/ReviewDescription.tsx index cc4648acd667e..3d74d8cc36e1a 100644 --- a/src/pages/TransactionDuplicate/ReviewDescription.tsx +++ b/src/pages/TransactionDuplicate/ReviewDescription.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewDescription() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewMerchant.tsx b/src/pages/TransactionDuplicate/ReviewMerchant.tsx index 657bbae7ce86b..47dd43d1d3343 100644 --- a/src/pages/TransactionDuplicate/ReviewMerchant.tsx +++ b/src/pages/TransactionDuplicate/ReviewMerchant.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewMerchant() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewReimbursable.tsx b/src/pages/TransactionDuplicate/ReviewReimbursable.tsx index 922f35d4e861d..0b932e8085db0 100644 --- a/src/pages/TransactionDuplicate/ReviewReimbursable.tsx +++ b/src/pages/TransactionDuplicate/ReviewReimbursable.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as TransactionUtils from '@libs/TransactionUtils'; import type SCREENS from '@src/SCREENS'; @@ -13,7 +13,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewReimbursable() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); const compareResult = TransactionUtils.compareDuplicateTransactionFields(transactionID); diff --git a/src/pages/TransactionDuplicate/ReviewTag.tsx b/src/pages/TransactionDuplicate/ReviewTag.tsx index 5d8fe2192e891..03fb627abd8e7 100644 --- a/src/pages/TransactionDuplicate/ReviewTag.tsx +++ b/src/pages/TransactionDuplicate/ReviewTag.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -14,7 +14,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewTag() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const transactionID = TransactionUtils.getTransactionID(route.params.threadReportID ?? ''); diff --git a/src/pages/TransactionDuplicate/ReviewTaxCode.tsx b/src/pages/TransactionDuplicate/ReviewTaxCode.tsx index 109b0d96665c8..78b7c1934715d 100644 --- a/src/pages/TransactionDuplicate/ReviewTaxCode.tsx +++ b/src/pages/TransactionDuplicate/ReviewTaxCode.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import {useOnyx} from 'react-native-onyx'; @@ -7,7 +8,6 @@ import useLocalize from '@hooks/useLocalize'; import useReviewDuplicatesNavigation from '@hooks/useReviewDuplicatesNavigation'; import {setReviewDuplicatesKey} from '@libs/actions/Transaction'; import * as CurrencyUtils from '@libs/CurrencyUtils'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TransactionDuplicateNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -18,7 +18,7 @@ import type {FieldItemType} from './ReviewFields'; import ReviewFields from './ReviewFields'; function ReviewTaxRate() { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${route.params.threadReportID}`); const policy = PolicyUtils.getPolicy(report?.policyID ?? ''); diff --git a/src/pages/TransactionReceiptPage.tsx b/src/pages/TransactionReceiptPage.tsx index 8359ff51a36d8..495458c6b80f9 100644 --- a/src/pages/TransactionReceiptPage.tsx +++ b/src/pages/TransactionReceiptPage.tsx @@ -1,8 +1,8 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReceiptUtils from '@libs/ReceiptUtils'; import * as ReportActionUtils from '@libs/ReportActionsUtils'; @@ -14,7 +14,7 @@ import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; -type TransactionReceiptProps = PlatformStackScreenProps; +type TransactionReceiptProps = StackScreenProps; function TransactionReceipt({route}: TransactionReceiptProps) { const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${route.params.reportID ?? '-1'}`); diff --git a/src/pages/UnlinkLoginPage.tsx b/src/pages/UnlinkLoginPage.tsx index 8ef7c9a199793..9869e4a70e683 100644 --- a/src/pages/UnlinkLoginPage.tsx +++ b/src/pages/UnlinkLoginPage.tsx @@ -1,10 +1,10 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import usePrevious from '@hooks/usePrevious'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@navigation/types'; import * as Session from '@userActions/Session'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -16,7 +16,7 @@ type UnlinkLoginPageOnyxProps = { account: OnyxEntry; }; -type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & PlatformStackScreenProps; +type UnlinkLoginPageProps = UnlinkLoginPageOnyxProps & StackScreenProps; function UnlinkLoginPage({route, account}: UnlinkLoginPageProps) { const accountID = route.params.accountID ?? -1; diff --git a/src/pages/ValidateLoginPage/types.ts b/src/pages/ValidateLoginPage/types.ts index 47208eee2ebb1..d9d2873891cda 100644 --- a/src/pages/ValidateLoginPage/types.ts +++ b/src/pages/ValidateLoginPage/types.ts @@ -1,5 +1,5 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import type {OnyxEntry} from 'react-native-onyx'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PublicScreensParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import type {Account, Credentials, Session} from '@src/types/onyx'; @@ -17,6 +17,6 @@ type ValidateLoginPageOnyxProps = ValidateLoginPageOnyxNativeProps & { credentials: OnyxEntry; }; -type ValidateLoginPageProps = OnyxProps & PlatformStackScreenProps; +type ValidateLoginPageProps = OnyxProps & StackScreenProps; export type {ValidateLoginPageOnyxNativeProps, ValidateLoginPageOnyxProps, ValidateLoginPageProps}; diff --git a/src/pages/home/ReportScreen.tsx b/src/pages/home/ReportScreen.tsx index 27cb98e9aec21..69c4402e959b0 100644 --- a/src/pages/home/ReportScreen.tsx +++ b/src/pages/home/ReportScreen.tsx @@ -1,5 +1,6 @@ import {PortalHost} from '@gorhom/portal'; import {useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import lodashIsEqual from 'lodash/isEqual'; import React, {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'; import type {FlatList, ViewStyle} from 'react-native'; @@ -31,7 +32,6 @@ import useViewportOffsetTop from '@hooks/useViewportOffsetTop'; import Timing from '@libs/actions/Timing'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import clearReportNotifications from '@libs/Notification/clearReportNotifications'; import Performance from '@libs/Performance'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -56,7 +56,7 @@ import ReportFooter from './report/ReportFooter'; import type {ActionListContextType, ReactionListRef, ScrollPosition} from './ReportScreenContext'; import {ActionListContext, ReactionListContext} from './ReportScreenContext'; -type ReportScreenNavigationProps = PlatformStackScreenProps; +type ReportScreenNavigationProps = StackScreenProps; type ReportScreenProps = CurrentReportIDContextValue & ReportScreenNavigationProps; diff --git a/src/pages/home/report/ReportActionsList.tsx b/src/pages/home/report/ReportActionsList.tsx index b9eeeb2b892f5..8f5fc907a9624 100644 --- a/src/pages/home/report/ReportActionsList.tsx +++ b/src/pages/home/report/ReportActionsList.tsx @@ -1,5 +1,6 @@ import type {ListRenderItemInfo} from '@react-native/virtualized-lists/Lists/VirtualizedList'; import {useIsFocused, useRoute} from '@react-navigation/native'; +import type {RouteProp} from '@react-navigation/native'; // eslint-disable-next-line lodash/import-scope import type {DebouncedFunc} from 'lodash'; import React, {memo, useCallback, useEffect, useMemo, useRef, useState} from 'react'; @@ -20,7 +21,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import DateUtils from '@libs/DateUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportActionsUtils from '@libs/ReportActionsUtils'; import * as ReportUtils from '@libs/ReportUtils'; import Visibility from '@libs/Visibility'; @@ -163,7 +163,7 @@ function ReportActionsList({ const {shouldUseNarrowLayout} = useResponsiveLayout(); const {isOffline} = useNetwork(); - const route = useRoute>(); + const route = useRoute>(); const reportScrollManager = useReportScrollManager(); const userActiveSince = useRef(DateUtils.getDBTime()); const lastMessageTime = useRef(null); diff --git a/src/pages/home/report/ReportActionsView.tsx b/src/pages/home/report/ReportActionsView.tsx index 6d85c5bfc1996..270a241778e16 100755 --- a/src/pages/home/report/ReportActionsView.tsx +++ b/src/pages/home/report/ReportActionsView.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useIsFocused, useRoute} from '@react-navigation/native'; import lodashIsEqual from 'lodash/isEqual'; import React, {useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react'; @@ -11,7 +12,6 @@ import usePrevious from '@hooks/usePrevious'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import DateUtils from '@libs/DateUtils'; import getIsReportFullyVisible from '@libs/getIsReportFullyVisible'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as NumberUtils from '@libs/NumberUtils'; import {generateNewRandomInt} from '@libs/NumberUtils'; @@ -79,7 +79,7 @@ function ReportActionsView({ }: ReportActionsViewProps) { useCopySelectionHelper(); const reactionListRef = useContext(ReactionListContext); - const route = useRoute>(); + const route = useRoute>(); const [session] = useOnyx(ONYXKEYS.SESSION); const [transactionThreadReportActions] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID ?? -1}`, { selector: (reportActions: OnyxEntry) => ReportActionsUtils.getSortedReportActionsForDisplay(reportActions, true), diff --git a/src/pages/home/report/ReportAttachments.tsx b/src/pages/home/report/ReportAttachments.tsx index ed14fc24d5517..1e16cfdddf4f5 100644 --- a/src/pages/home/report/ReportAttachments.tsx +++ b/src/pages/home/report/ReportAttachments.tsx @@ -1,17 +1,17 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {useOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import type {Attachment} from '@components/Attachments/types'; import ComposerFocusManager from '@libs/ComposerFocusManager'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportAttachmentsProps = PlatformStackScreenProps; +type ReportAttachmentsProps = StackScreenProps; function ReportAttachments({route}: ReportAttachmentsProps) { const reportID = route.params.reportID; diff --git a/src/pages/home/report/ReportDetailsExportPage.tsx b/src/pages/home/report/ReportDetailsExportPage.tsx index b7b66a356a866..0da9a7c1bb8e3 100644 --- a/src/pages/home/report/ReportDetailsExportPage.tsx +++ b/src/pages/home/report/ReportDetailsExportPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import type {ValueOf} from 'type-fest'; @@ -12,7 +13,6 @@ import SelectionScreen from '@components/SelectionScreen'; import useLocalize from '@hooks/useLocalize'; import * as ReportActions from '@libs/actions/Report'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import CONST from '@src/CONST'; @@ -20,7 +20,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportDetailsExportPageProps = PlatformStackScreenProps; +type ReportDetailsExportPageProps = StackScreenProps; type ExportType = ValueOf; diff --git a/src/pages/home/report/UserTypingEventListener.tsx b/src/pages/home/report/UserTypingEventListener.tsx index ee44e73cb0b16..57eb51df137dd 100644 --- a/src/pages/home/report/UserTypingEventListener.tsx +++ b/src/pages/home/report/UserTypingEventListener.tsx @@ -1,9 +1,9 @@ +import type {RouteProp} from '@react-navigation/native'; import {useIsFocused, useRoute} from '@react-navigation/native'; import {useEffect, useRef} from 'react'; import {InteractionManager} from 'react-native'; import {withOnyx} from 'react-native-onyx'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as Report from '@userActions/Report'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -23,7 +23,7 @@ function UserTypingEventListener({report, lastVisitedPath}: UserTypingEventListe const didSubscribeToReportTypingEvents = useRef(false); const reportID = report.reportID; const isFocused = useIsFocused(); - const route = useRoute>(); + const route = useRoute>(); useEffect( () => () => { diff --git a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx index 9e03054295903..b8bb25d39c865 100644 --- a/src/pages/home/report/withReportAndReportActionOrNotFound.tsx +++ b/src/pages/home/report/withReportAndReportActionOrNotFound.tsx @@ -1,4 +1,5 @@ /* eslint-disable rulesdir/no-negated-variables */ +import type {StackScreenProps} from '@react-navigation/stack'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {useCallback, useEffect} from 'react'; import type {OnyxCollection, OnyxEntry, WithOnyxState} from 'react-native-onyx'; @@ -6,7 +7,6 @@ import {withOnyx} from 'react-native-onyx'; import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FlagCommentNavigatorParamList, SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -43,7 +43,7 @@ type OnyxProps = { }; type WithReportAndReportActionOrNotFoundProps = OnyxProps & - PlatformStackScreenProps; + StackScreenProps; export default function ( WrappedComponent: ComponentType>, diff --git a/src/pages/home/report/withReportOrNotFound.tsx b/src/pages/home/report/withReportOrNotFound.tsx index 1607370c864be..7947ab0a04b4e 100644 --- a/src/pages/home/report/withReportOrNotFound.tsx +++ b/src/pages/home/report/withReportOrNotFound.tsx @@ -1,11 +1,11 @@ /* eslint-disable rulesdir/no-negated-variables */ +import type {RouteProp} from '@react-navigation/native'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {useEffect} from 'react'; import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import FullscreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type { ParticipantsNavigatorParamList, @@ -39,23 +39,20 @@ type WithReportOrNotFoundOnyxProps = { isLoadingReportData: OnyxEntry; }; -type ScreenProps = - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps - | PlatformStackScreenProps; - type WithReportOrNotFoundProps = WithReportOrNotFoundOnyxProps & { + route: + | RouteProp + | RouteProp + | RouteProp + | RouteProp + | RouteProp + | RouteProp + | RouteProp + | RouteProp + | RouteProp; + /** The report currently being looked at */ report: OnyxTypes.Report; - - route: ScreenProps['route']; - navigation: ScreenProps['navigation']; }; export default function ( diff --git a/src/pages/iou/HoldReasonPage.tsx b/src/pages/iou/HoldReasonPage.tsx index 61bf7399889a7..7523a0932c42a 100644 --- a/src/pages/iou/HoldReasonPage.tsx +++ b/src/pages/iou/HoldReasonPage.tsx @@ -1,24 +1,37 @@ +import type {RouteProp} from '@react-navigation/native'; import React, {useCallback, useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; import type {FormInputErrors, FormOnyxValues} from '@components/Form/types'; import useLocalize from '@hooks/useLocalize'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; -import type {MoneyRequestNavigatorParamList, SearchReportParamList} from '@libs/Navigation/types'; import * as ReportActionsUtils from '@libs/ReportActionsUtils'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import * as FormActions from '@userActions/FormActions'; import * as IOU from '@userActions/IOU'; import ONYXKEYS from '@src/ONYXKEYS'; -import type SCREENS from '@src/SCREENS'; +import type {Route} from '@src/ROUTES'; import INPUT_IDS from '@src/types/form/MoneyRequestHoldReasonForm'; import HoldReasonFormView from './HoldReasonFormView'; -type HoldReasonPageProps = - | PlatformStackScreenProps - | PlatformStackScreenProps; +type HoldReasonPageRouteParams = { + /** ID of the transaction the page was opened for */ + transactionID: string; + + /** ID of the report that user is providing hold reason to */ + reportID: string; + + /** Link to previous page */ + backTo: Route; + + searchHash?: number; +}; + +type HoldReasonPageProps = { + /** Navigation route context info provided by react navigation */ + route: RouteProp<{params: HoldReasonPageRouteParams}>; +}; function HoldReasonPage({route}: HoldReasonPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/iou/SplitBillDetailsPage.tsx b/src/pages/iou/SplitBillDetailsPage.tsx index b0bf4341fc630..b696fb38ff006 100644 --- a/src/pages/iou/SplitBillDetailsPage.tsx +++ b/src/pages/iou/SplitBillDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import type {ComponentType} from 'react'; import React, {useCallback, useMemo, useState} from 'react'; import {View} from 'react-native'; @@ -14,7 +15,6 @@ import useLocalize from '@hooks/useLocalize'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SplitDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportActionsUtils from '@libs/ReportActionsUtils'; @@ -58,7 +58,7 @@ type SplitBillDetailsPageOnyxProps = SplitBillDetailsPageTransactionOnyxProps & type SplitBillDetailsPageProps = WithReportAndReportActionOrNotFoundProps & SplitBillDetailsPageOnyxProps & - PlatformStackScreenProps; + StackScreenProps; function SplitBillDetailsPage({personalDetails, report, route, reportActions, transaction, draftTransaction, session}: SplitBillDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/iou/request/IOURequestStartPage.tsx b/src/pages/iou/request/IOURequestStartPage.tsx index 41de3b9dd26d8..eac30b8839d23 100644 --- a/src/pages/iou/request/IOURequestStartPage.tsx +++ b/src/pages/iou/request/IOURequestStartPage.tsx @@ -35,7 +35,6 @@ function IOURequestStartPage({ route: { params: {iouType, reportID}, }, - navigation, }: IOURequestStartPageProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); @@ -147,7 +146,6 @@ function IOURequestStartPage({ )} @@ -155,10 +153,7 @@ function IOURequestStartPage({ {() => ( - + )} @@ -166,10 +161,7 @@ function IOURequestStartPage({ {() => ( - + )} @@ -182,7 +174,6 @@ function IOURequestStartPage({ > diff --git a/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx b/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx index 7f04d6fc8bd46..491c37c9a4022 100644 --- a/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx +++ b/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useIsFocused} from '@react-navigation/native'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {forwardRef} from 'react'; @@ -6,7 +7,6 @@ import {withOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import getComponentDisplayName from '@libs/getComponentDisplayName'; import * as IOUUtils from '@libs/IOUUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -38,8 +38,9 @@ type MoneyRequestRouteName = | typeof SCREENS.MONEY_REQUEST.STEP_SEND_FROM | typeof SCREENS.MONEY_REQUEST.STEP_COMPANY_INFO; -type WithFullTransactionOrNotFoundProps = WithFullTransactionOrNotFoundOnyxProps & - PlatformStackScreenProps; +type Route = RouteProp; + +type WithFullTransactionOrNotFoundProps = WithFullTransactionOrNotFoundOnyxProps & {route: Route}; export default function , TRef>(WrappedComponent: ComponentType>) { // eslint-disable-next-line rulesdir/no-negated-variables diff --git a/src/pages/iou/request/step/withWritableReportOrNotFound.tsx b/src/pages/iou/request/step/withWritableReportOrNotFound.tsx index f4fa34c406aaa..2361d58dc2be1 100644 --- a/src/pages/iou/request/step/withWritableReportOrNotFound.tsx +++ b/src/pages/iou/request/step/withWritableReportOrNotFound.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/core'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {forwardRef, useEffect} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; @@ -5,7 +6,6 @@ import {useOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import getComponentDisplayName from '@libs/getComponentDisplayName'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {MoneyRequestNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ReportActions from '@userActions/Report'; @@ -42,7 +42,9 @@ type MoneyRequestRouteName = | typeof SCREENS.MONEY_REQUEST.STEP_SEND_FROM | typeof SCREENS.MONEY_REQUEST.STEP_COMPANY_INFO; -type WithWritableReportOrNotFoundProps = WithWritableReportOrNotFoundOnyxProps & PlatformStackScreenProps; +type Route = RouteProp; + +type WithWritableReportOrNotFoundProps = WithWritableReportOrNotFoundOnyxProps & {route: Route}; export default function , TRef>( WrappedComponent: ComponentType>, diff --git a/src/pages/settings/AboutPage/ConsolePage.tsx b/src/pages/settings/AboutPage/ConsolePage.tsx index be0fcf2f30211..b156a6c7b2f12 100644 --- a/src/pages/settings/AboutPage/ConsolePage.tsx +++ b/src/pages/settings/AboutPage/ConsolePage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import {format} from 'date-fns'; import React, {useCallback, useMemo, useRef, useState} from 'react'; @@ -25,7 +26,6 @@ import type {Log} from '@libs/Console'; import localFileCreate from '@libs/localFileCreate'; import localFileDownload from '@libs/localFileDownload'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -50,7 +50,7 @@ function ConsolePage() { const styles = useThemeStyles(); const theme = useTheme(); const {windowWidth} = useWindowDimensions(); - const route = useRoute>(); + const route = useRoute>(); const menuItems: PopoverMenuItem[] = useMemo( () => [ diff --git a/src/pages/settings/AboutPage/ShareLogPage.tsx b/src/pages/settings/AboutPage/ShareLogPage.tsx index ad4006b06e034..8f0623f99d323 100644 --- a/src/pages/settings/AboutPage/ShareLogPage.tsx +++ b/src/pages/settings/AboutPage/ShareLogPage.tsx @@ -1,10 +1,10 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type SCREENS from '@src/SCREENS'; import ShareLogList from './ShareLogList'; -type ShareLogPageProps = PlatformStackScreenProps; +type ShareLogPageProps = StackScreenProps; function ShareLogPage({route}: ShareLogPageProps) { return ; diff --git a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx index 135d50a4c89f4..2e567fe82974e 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyConfirmPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -12,7 +13,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -30,7 +30,7 @@ type ExitSurveyConfirmPageOnyxProps = { exitReason?: ExitReason | null; }; -type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & PlatformStackScreenProps; +type ExitSurveyConfirmPageProps = ExitSurveyConfirmPageOnyxProps & StackScreenProps; function ExitSurveyConfirmPage({exitReason, route, navigation}: ExitSurveyConfirmPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx index 87d29aba0e88c..1fb7cfbc94aba 100644 --- a/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx +++ b/src/pages/settings/ExitSurvey/ExitSurveyResponsePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -16,7 +17,6 @@ import useSafeAreaInsets from '@hooks/useSafeAreaInsets'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import StatusBar from '@libs/StatusBar'; import updateMultilineInputRange from '@libs/updateMultilineInputRange'; import Navigation from '@navigation/Navigation'; @@ -31,7 +31,7 @@ import INPUT_IDS from '@src/types/form/ExitSurveyResponseForm'; import type {Errors} from '@src/types/onyx/OnyxCommon'; import ExitSurveyOffline from './ExitSurveyOffline'; -type ExitSurveyResponsePageProps = PlatformStackScreenProps; +type ExitSurveyResponsePageProps = StackScreenProps; function ExitSurveyResponsePage({route, navigation}: ExitSurveyResponsePageProps) { const [draftResponse = ''] = useOnyx(ONYXKEYS.FORMS.EXIT_SURVEY_RESPONSE_FORM_DRAFT, {selector: (value) => value?.[INPUT_IDS.RESPONSE]}); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx index d609355c10e57..9fcc28f519122 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {InteractionManager, Keyboard, View} from 'react-native'; @@ -21,7 +22,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {canUseTouchScreen} from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as User from '@userActions/User'; import CONST from '@src/CONST'; @@ -33,7 +33,7 @@ import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue'; import ValidateCodeForm from './ValidateCodeForm'; import type {ValidateCodeFormHandle} from './ValidateCodeForm/BaseValidateCodeForm'; -type ContactMethodDetailsPageProps = PlatformStackScreenProps; +type ContactMethodDetailsPageProps = StackScreenProps; function ContactMethodDetailsPage({route}: ContactMethodDetailsPageProps) { const [loginList, loginListResult] = useOnyx(ONYXKEYS.LOGIN_LIST); diff --git a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx index 3ff3e3a6de2c5..3f23b3a802bea 100644 --- a/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx +++ b/src/pages/settings/Profile/Contacts/ContactMethodsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useCallback} from 'react'; import {View} from 'react-native'; @@ -15,7 +16,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as User from '@userActions/User'; import CONST from '@src/CONST'; @@ -33,7 +33,7 @@ type ContactMethodsPageOnyxProps = { session: OnyxEntry; }; -type ContactMethodsPageProps = ContactMethodsPageOnyxProps & PlatformStackScreenProps; +type ContactMethodsPageProps = ContactMethodsPageOnyxProps & StackScreenProps; function ContactMethodsPage({loginList, session, route}: ContactMethodsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx index 990754444c583..4ea878e829871 100644 --- a/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx +++ b/src/pages/settings/Profile/Contacts/NewContactMethodPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useCallback, useEffect, useRef, useState} from 'react'; import {View} from 'react-native'; @@ -18,7 +19,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as User from '@userActions/User'; import CONST from '@src/CONST'; @@ -34,7 +34,7 @@ type NewContactMethodPageOnyxProps = { loginList: OnyxEntry; }; -type NewContactMethodPageProps = NewContactMethodPageOnyxProps & PlatformStackScreenProps; +type NewContactMethodPageProps = NewContactMethodPageOnyxProps & StackScreenProps; function NewContactMethodPage({loginList, route}: NewContactMethodPageProps) { const [account] = useOnyx(ONYXKEYS.ACCOUNT); diff --git a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx index 0af04b1dfd2a2..a8afffe32d330 100644 --- a/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/CountrySelectionPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -5,7 +6,6 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type {CountryData} from '@libs/searchCountryOptions'; import searchCountryOptions from '@libs/searchCountryOptions'; @@ -16,7 +16,7 @@ import type {TranslationPaths} from '@src/languages/types'; import type {Route} from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type CountrySelectionPageProps = PlatformStackScreenProps; +type CountrySelectionPageProps = StackScreenProps; function CountrySelectionPage({route, navigation}: CountrySelectionPageProps) { const [searchValue, setSearchValue] = useState(''); diff --git a/src/pages/settings/Profile/PersonalDetails/PersonalAddressPage.tsx b/src/pages/settings/Profile/PersonalDetails/PersonalAddressPage.tsx index 6680812429969..3e5287c82a42b 100644 --- a/src/pages/settings/Profile/PersonalDetails/PersonalAddressPage.tsx +++ b/src/pages/settings/Profile/PersonalDetails/PersonalAddressPage.tsx @@ -1,8 +1,8 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import AddressPage from '@pages/AddressPage'; @@ -19,7 +19,7 @@ type PersonalAddressPageOnyxProps = { isLoadingApp: OnyxEntry; }; -type PersonalAddressPageProps = PlatformStackScreenProps & PersonalAddressPageOnyxProps; +type PersonalAddressPageProps = StackScreenProps & PersonalAddressPageOnyxProps; /** * Submit form to update user's first and last legal name diff --git a/src/pages/settings/Profile/ProfileAvatar.tsx b/src/pages/settings/Profile/ProfileAvatar.tsx index cdaf1129d61b8..977719f638798 100644 --- a/src/pages/settings/Profile/ProfileAvatar.tsx +++ b/src/pages/settings/Profile/ProfileAvatar.tsx @@ -1,10 +1,9 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; -import {InteractionManager} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -20,7 +19,7 @@ type ProfileAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type ProfileAvatarProps = ProfileAvatarOnyxProps & PlatformStackScreenProps; +type ProfileAvatarProps = ProfileAvatarOnyxProps & StackScreenProps; function ProfileAvatar({route, personalDetails, personalDetailsMetadata, isLoadingApp = true}: ProfileAvatarProps) { const personalDetail = personalDetails?.[route.params.accountID]; @@ -42,9 +41,7 @@ function ProfileAvatar({route, personalDetails, personalDetailsMetadata, isLoadi defaultOpen source={UserUtils.getFullSizeAvatar(avatarURL, accountID)} onModalClose={() => { - InteractionManager.runAfterInteractions(() => { - Navigation.goBack(); - }); + Navigation.goBack(); }} originalFileName={personalDetail?.originalFileName ?? ''} isLoading={!!isLoading} diff --git a/src/pages/settings/Report/NamePage.tsx b/src/pages/settings/Report/NamePage.tsx index f8ee44ccaa5fe..de73e59bb7daa 100644 --- a/src/pages/settings/Report/NamePage.tsx +++ b/src/pages/settings/Report/NamePage.tsx @@ -1,5 +1,5 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import GroupChatNameEditPage from '@pages/GroupChatNameEditPage'; @@ -8,7 +8,7 @@ import type {WithReportOrNotFoundProps} from '@pages/home/report/withReportOrNot import type SCREENS from '@src/SCREENS'; import RoomNamePage from './RoomNamePage'; -type NamePageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type NamePageProps = WithReportOrNotFoundProps & StackScreenProps; function NamePage({report}: NamePageProps) { if (ReportUtils.isGroupChat(report)) { diff --git a/src/pages/settings/Report/NotificationPreferencePage.tsx b/src/pages/settings/Report/NotificationPreferencePage.tsx index 50d445015f454..416d710d49661 100644 --- a/src/pages/settings/Report/NotificationPreferencePage.tsx +++ b/src/pages/settings/Report/NotificationPreferencePage.tsx @@ -1,4 +1,6 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {useOnyx} from 'react-native-onyx'; import type {ValueOf} from 'type-fest'; @@ -8,7 +10,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -18,10 +19,10 @@ import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; -type NotificationPreferencePageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type NotificationPreferencePageProps = WithReportOrNotFoundProps & StackScreenProps; function NotificationPreferencePage({report}: NotificationPreferencePageProps) { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const [reportNameValuePairs] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_NAME_VALUE_PAIRS}${report.reportID || -1}`); const isMoneyRequestReport = ReportUtils.isMoneyRequestReport(report); diff --git a/src/pages/settings/Report/ReportSettingsPage.tsx b/src/pages/settings/Report/ReportSettingsPage.tsx index e943bc7b84a16..c407788dce655 100644 --- a/src/pages/settings/Report/ReportSettingsPage.tsx +++ b/src/pages/settings/Report/ReportSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -10,7 +11,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ReportSettingsPageProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type ReportSettingsPageProps = WithReportOrNotFoundProps & StackScreenProps; function ReportSettingsPage({report, policies, route}: ReportSettingsPageProps) { const backTo = route.params.backTo; diff --git a/src/pages/settings/Report/RoomNamePage.tsx b/src/pages/settings/Report/RoomNamePage.tsx index ac23f455c6359..a497d793f4656 100644 --- a/src/pages/settings/Report/RoomNamePage.tsx +++ b/src/pages/settings/Report/RoomNamePage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useIsFocused, useRoute} from '@react-navigation/native'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -15,7 +16,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportSettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; @@ -37,7 +37,7 @@ type RoomNamePageProps = RoomNamePageOnyxProps & { }; function RoomNamePage({report, reports}: RoomNamePageProps) { - const route = useRoute>(); + const route = useRoute>(); const styles = useThemeStyles(); const roomNameInputRef = useRef(null); const isFocused = useIsFocused(); diff --git a/src/pages/settings/Report/VisibilityPage.tsx b/src/pages/settings/Report/VisibilityPage.tsx index a1ddc3d5fe482..07c05d1b8de15 100644 --- a/src/pages/settings/Report/VisibilityPage.tsx +++ b/src/pages/settings/Report/VisibilityPage.tsx @@ -1,4 +1,6 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useRef, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; @@ -8,7 +10,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; -import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportSettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {WithReportOrNotFoundProps} from '@pages/home/report/withReportOrNotFound'; @@ -19,10 +20,10 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import type {RoomVisibility} from '@src/types/onyx/Report'; -type VisibilityProps = WithReportOrNotFoundProps & PlatformStackScreenProps; +type VisibilityProps = WithReportOrNotFoundProps & StackScreenProps; function VisibilityPage({report}: VisibilityProps) { - const route = useRoute>(); + const route = useRoute>(); const [showConfirmModal, setShowConfirmModal] = useState(false); const [reportNameValuePairs] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT_NAME_VALUE_PAIRS}${report?.reportID || -1}`); const shouldGoBackToDetailsPage = useRef(false); diff --git a/src/pages/settings/Report/WriteCapabilityPage.tsx b/src/pages/settings/Report/WriteCapabilityPage.tsx index 2f6fb9b485a74..888c15295dc2c 100644 --- a/src/pages/settings/Report/WriteCapabilityPage.tsx +++ b/src/pages/settings/Report/WriteCapabilityPage.tsx @@ -1,4 +1,6 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -10,7 +12,6 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import type {ReportSettingsNavigatorParamList} from '@navigation/types'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -29,10 +30,10 @@ type WriteCapabilityPageOnyxProps = { type WriteCapabilityPageProps = WriteCapabilityPageOnyxProps & WithReportOrNotFoundProps & - PlatformStackScreenProps; + StackScreenProps; function WriteCapabilityPage({report, policy}: WriteCapabilityPageProps) { - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const writeCapabilityOptions = Object.values(CONST.REPORT.WRITE_CAPABILITIES).map((value) => ({ value, diff --git a/src/pages/settings/Security/AddDelegate/ConfirmDelegatePage.tsx b/src/pages/settings/Security/AddDelegate/ConfirmDelegatePage.tsx index 047d80ee92fa5..2c60aef482a82 100644 --- a/src/pages/settings/Security/AddDelegate/ConfirmDelegatePage.tsx +++ b/src/pages/settings/Security/AddDelegate/ConfirmDelegatePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import type {ValueOf} from 'type-fest'; import Button from '@components/Button'; @@ -12,14 +13,13 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {requestValidationCode} from '@libs/actions/Delegate'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ConfirmDelegatePageProps = PlatformStackScreenProps; +type ConfirmDelegatePageProps = StackScreenProps; function ConfirmDelegatePage({route}: ConfirmDelegatePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Security/AddDelegate/DelegateMagicCodePage.tsx b/src/pages/settings/Security/AddDelegate/DelegateMagicCodePage.tsx index 941cc29921216..9497507f041a7 100644 --- a/src/pages/settings/Security/AddDelegate/DelegateMagicCodePage.tsx +++ b/src/pages/settings/Security/AddDelegate/DelegateMagicCodePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useRef} from 'react'; import {useOnyx} from 'react-native-onyx'; import type {ValueOf} from 'type-fest'; @@ -7,7 +8,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -16,7 +16,7 @@ import type SCREENS from '@src/SCREENS'; import ValidateCodeForm from './ValidateCodeForm'; import type {ValidateCodeFormHandle} from './ValidateCodeForm/BaseValidateCodeForm'; -type DelegateMagicCodePageProps = PlatformStackScreenProps; +type DelegateMagicCodePageProps = StackScreenProps; function DelegateMagicCodePage({route}: DelegateMagicCodePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Security/AddDelegate/SelectDelegateRolePage.tsx b/src/pages/settings/Security/AddDelegate/SelectDelegateRolePage.tsx index 7a52efb6cfd89..4270441775cd0 100644 --- a/src/pages/settings/Security/AddDelegate/SelectDelegateRolePage.tsx +++ b/src/pages/settings/Security/AddDelegate/SelectDelegateRolePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -8,13 +9,12 @@ import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type SelectDelegateRolePageProps = PlatformStackScreenProps; +type SelectDelegateRolePageProps = StackScreenProps; function SelectDelegateRolePage({route}: SelectDelegateRolePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/settings/Security/CloseAccountPage.tsx b/src/pages/settings/Security/CloseAccountPage.tsx index 214b38ee36205..1da4436ca8101 100644 --- a/src/pages/settings/Security/CloseAccountPage.tsx +++ b/src/pages/settings/Security/CloseAccountPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; @@ -14,7 +15,6 @@ import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -31,7 +31,7 @@ type CloseAccountPageOnyxProps = { session: OnyxEntry; }; -type CloseAccountPageProps = CloseAccountPageOnyxProps & PlatformStackScreenProps; +type CloseAccountPageProps = CloseAccountPageOnyxProps & StackScreenProps; function CloseAccountPage({session}: CloseAccountPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx b/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx index 5ae593971f8ed..dd3d3b87a12f2 100644 --- a/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx +++ b/src/pages/settings/Security/TwoFactorAuth/Steps/CodesStep.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useEffect, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -18,7 +19,6 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Clipboard from '@libs/Clipboard'; import localFileDownload from '@libs/localFileDownload'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {BackToParams, SettingsNavigatorParamList} from '@libs/Navigation/types'; import StepWrapper from '@pages/settings/Security/TwoFactorAuth/StepWrapper/StepWrapper'; import useTwoFactorAuthContext from '@pages/settings/Security/TwoFactorAuth/TwoFactorAuthContext/useTwoFactorAuth'; @@ -39,7 +39,7 @@ function CodesStep({account, user, backTo}: CodesStepProps) { const {isExtraSmallScreenWidth, isSmallScreenWidth} = useResponsiveLayout(); const [error, setError] = useState(''); const isUserValidated = user?.validated; - const route = useRoute>(); + const route = useRoute>(); const {setStep} = useTwoFactorAuthContext(); diff --git a/src/pages/settings/Security/TwoFactorAuth/TwoFactorAuthSteps.tsx b/src/pages/settings/Security/TwoFactorAuth/TwoFactorAuthSteps.tsx index 9c70371e76a31..c49b88c2ac0ea 100644 --- a/src/pages/settings/Security/TwoFactorAuth/TwoFactorAuthSteps.tsx +++ b/src/pages/settings/Security/TwoFactorAuth/TwoFactorAuthSteps.tsx @@ -1,9 +1,9 @@ import {useRoute} from '@react-navigation/native'; +import type {RouteProp} from '@react-navigation/native'; import React, {useCallback, useEffect, useMemo} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {AnimationDirection} from '@components/AnimatedStep/AnimatedStepContext'; import useAnimatedStepContext from '@components/AnimatedStep/useAnimatedStepContext'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as TwoFactorAuthActions from '@userActions/TwoFactorAuthActions'; import CONST from '@src/CONST'; @@ -22,7 +22,7 @@ import type {BaseTwoFactorAuthFormOnyxProps} from './TwoFactorAuthForm/types'; type TwoFactorAuthStepProps = BaseTwoFactorAuthFormOnyxProps; function TwoFactorAuthSteps({account}: TwoFactorAuthStepProps) { - const route = useRoute>(); + const route = useRoute>(); const backTo = route.params?.backTo ?? ''; const forwardTo = route.params?.forwardTo ?? ''; diff --git a/src/pages/settings/Subscription/SubscriptionSize/index.tsx b/src/pages/settings/Subscription/SubscriptionSize/index.tsx index 94c6fd5dffd8e..84cd86c60bca1 100644 --- a/src/pages/settings/Subscription/SubscriptionSize/index.tsx +++ b/src/pages/settings/Subscription/SubscriptionSize/index.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,7 +7,6 @@ import useLocalize from '@hooks/useLocalize'; import useSubStep from '@hooks/useSubStep'; import type {SubStepProps} from '@hooks/useSubStep/types'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import * as FormActions from '@userActions/FormActions'; import * as Subscription from '@userActions/Subscription'; @@ -18,7 +18,7 @@ import Size from './substeps/Size'; const bodyContent: Array> = [Size, Confirmation]; -type SubscriptionSizePageProps = PlatformStackScreenProps; +type SubscriptionSizePageProps = StackScreenProps; function SubscriptionSizePage({route}: SubscriptionSizePageProps) { const [privateSubscription] = useOnyx(ONYXKEYS.NVP_PRIVATE_SUBSCRIPTION); diff --git a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx index bdc8928f362b3..23b694fe0d402 100644 --- a/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx +++ b/src/pages/settings/Wallet/ActivatePhysicalCardPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useRef, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -17,7 +18,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as CardSettings from '@userActions/Card'; @@ -33,7 +33,7 @@ type ActivatePhysicalCardPageOnyxProps = { cardList: OnyxEntry>; }; -type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & PlatformStackScreenProps; +type ActivatePhysicalCardPageProps = ActivatePhysicalCardPageOnyxProps & StackScreenProps; const LAST_FOUR_DIGITS_LENGTH = 4; const MAGIC_INPUT_MIN_HEIGHT = 86; diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx index ef85b09ac2a61..69ba24585e2e6 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardAddress.tsx @@ -1,10 +1,10 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useState} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import AddressForm from '@components/AddressForm'; import useLocalize from '@hooks/useLocalize'; import * as FormActions from '@libs/actions/FormActions'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import type {Country} from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -21,7 +21,7 @@ type GetPhysicalCardAddressOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardAddressProps = GetPhysicalCardAddressOnyxProps & StackScreenProps; function GetPhysicalCardAddress({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx index 1023064c0d390..15354c3cdfb8f 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardConfirm.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -7,7 +8,6 @@ import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -34,7 +34,7 @@ type GetPhysicalCardConfirmOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardConfirmProps = GetPhysicalCardConfirmOnyxProps & StackScreenProps; function GetPhysicalCardConfirm({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx index 0a804d1df470e..deaa05350c7f9 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardName.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -5,7 +6,6 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -26,7 +26,7 @@ type GetPhysicalCardNameOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardNameProps = GetPhysicalCardNameOnyxProps & StackScreenProps; function GetPhysicalCardName({ draftValues, diff --git a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx index c7676db260671..56d5a29a3203c 100644 --- a/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx +++ b/src/pages/settings/Wallet/Card/GetPhysicalCardPhone.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -5,7 +6,6 @@ import InputWrapper from '@components/Form/InputWrapper'; import TextInput from '@components/TextInput'; import useLocalize from '@hooks/useLocalize'; import * as LoginUtils from '@libs/LoginUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -24,7 +24,7 @@ type GetPhysicalCardPhoneOnyxProps = { draftValues: OnyxEntry; }; -type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & PlatformStackScreenProps; +type GetPhysicalCardPhoneProps = GetPhysicalCardPhoneOnyxProps & StackScreenProps; function GetPhysicalCardPhone({ route: { diff --git a/src/pages/settings/Wallet/ExpensifyCardPage.tsx b/src/pages/settings/Wallet/ExpensifyCardPage.tsx index 7d7d53fba0aac..df6b2b0c642cc 100644 --- a/src/pages/settings/Wallet/ExpensifyCardPage.tsx +++ b/src/pages/settings/Wallet/ExpensifyCardPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -21,7 +22,6 @@ import * as CardUtils from '@libs/CardUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as GetPhysicalCardUtils from '@libs/GetPhysicalCardUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -51,7 +51,7 @@ type ExpensifyCardPageOnyxProps = { loginList: OnyxEntry; }; -type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & PlatformStackScreenProps; +type ExpensifyCardPageProps = ExpensifyCardPageOnyxProps & StackScreenProps; type PossibleTitles = 'cardPage.smartLimit.title' | 'cardPage.monthlyLimit.title' | 'cardPage.fixedLimit.title'; diff --git a/src/pages/settings/Wallet/ReportCardLostPage.tsx b/src/pages/settings/Wallet/ReportCardLostPage.tsx index 5850be921b236..35b5bc9cd19a3 100644 --- a/src/pages/settings/Wallet/ReportCardLostPage.tsx +++ b/src/pages/settings/Wallet/ReportCardLostPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import usePrevious from '@hooks/usePrevious'; import useStyledSafeAreaInsets from '@hooks/useStyledSafeAreaInsets'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -61,7 +61,7 @@ type ReportCardLostPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportCardLostPageProps = ReportCardLostPageOnyxProps & PlatformStackScreenProps; +type ReportCardLostPageProps = ReportCardLostPageOnyxProps & StackScreenProps; function ReportCardLostPage({ privatePersonalDetails = { diff --git a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx index b190a55ebd1c6..22761c40da9cd 100644 --- a/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx +++ b/src/pages/settings/Wallet/ReportVirtualCardFraudPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -11,7 +12,6 @@ import usePrevious from '@hooks/usePrevious'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import * as Card from '@userActions/Card'; @@ -30,7 +30,7 @@ type ReportVirtualCardFraudPageOnyxProps = { cardList: OnyxEntry>; }; -type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & PlatformStackScreenProps; +type ReportVirtualCardFraudPageProps = ReportVirtualCardFraudPageOnyxProps & StackScreenProps; function ReportVirtualCardFraudPage({ route: { diff --git a/src/pages/tasks/NewTaskDescriptionPage.tsx b/src/pages/tasks/NewTaskDescriptionPage.tsx index fb7e7b9f46172..0132442b59788 100644 --- a/src/pages/tasks/NewTaskDescriptionPage.tsx +++ b/src/pages/tasks/NewTaskDescriptionPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -32,7 +32,7 @@ type NewTaskDescriptionPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & PlatformStackScreenProps; +type NewTaskDescriptionPageProps = NewTaskDescriptionPageOnyxProps & StackScreenProps; function NewTaskDescriptionPage({task, route}: NewTaskDescriptionPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/NewTaskDetailsPage.tsx b/src/pages/tasks/NewTaskDetailsPage.tsx index 245a3a9893b73..f0ff4d0fb409a 100644 --- a/src/pages/tasks/NewTaskDetailsPage.tsx +++ b/src/pages/tasks/NewTaskDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -32,7 +32,7 @@ type NewTaskDetailsPageOnyxProps = { task: OnyxEntry; }; -type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & PlatformStackScreenProps; +type NewTaskDetailsPageProps = NewTaskDetailsPageOnyxProps & StackScreenProps; function NewTaskDetailsPage({task, route}: NewTaskDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/NewTaskPage.tsx b/src/pages/tasks/NewTaskPage.tsx index 1ac6c1b31356a..faf45df8b51da 100644 --- a/src/pages/tasks/NewTaskPage.tsx +++ b/src/pages/tasks/NewTaskPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {InteractionManager, View} from 'react-native'; import type {OnyxCollection, OnyxEntry} from 'react-native-onyx'; @@ -17,7 +18,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import blurActiveElement from '@libs/Accessibility/blurActiveElement'; import * as LocalePhoneNumber from '@libs/LocalePhoneNumber'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -41,7 +41,7 @@ type NewTaskPageOnyxProps = { reports: OnyxCollection; }; -type NewTaskPageProps = NewTaskPageOnyxProps & PlatformStackScreenProps; +type NewTaskPageProps = NewTaskPageOnyxProps & StackScreenProps; function NewTaskPage({task, reports, personalDetails, route}: NewTaskPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/NewTaskTitlePage.tsx b/src/pages/tasks/NewTaskTitlePage.tsx index 55e23f2587621..5afd919cac576 100644 --- a/src/pages/tasks/NewTaskTitlePage.tsx +++ b/src/pages/tasks/NewTaskTitlePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {NewTaskNavigatorParamList} from '@libs/Navigation/types'; import * as TaskActions from '@userActions/Task'; import CONST from '@src/CONST'; @@ -27,7 +27,7 @@ type NewTaskTitlePageOnyxProps = { /** Task Creation Data */ task: OnyxEntry; }; -type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & PlatformStackScreenProps; +type NewTaskTitlePageProps = NewTaskTitlePageOnyxProps & StackScreenProps; function NewTaskTitlePage({task, route}: NewTaskTitlePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/tasks/TaskAssigneeSelectorModal.tsx b/src/pages/tasks/TaskAssigneeSelectorModal.tsx index 00d8ace8b7c4b..3f44882e2fd0f 100644 --- a/src/pages/tasks/TaskAssigneeSelectorModal.tsx +++ b/src/pages/tasks/TaskAssigneeSelectorModal.tsx @@ -1,4 +1,5 @@ /* eslint-disable es/no-optional-chaining */ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {InteractionManager, View} from 'react-native'; @@ -22,7 +23,6 @@ import * as ReportActions from '@libs/actions/Report'; import {READ_COMMANDS} from '@libs/API/types'; import HttpUtils from '@libs/HttpUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as ReportUtils from '@libs/ReportUtils'; import type {TaskDetailsNavigatorParamList} from '@navigation/types'; @@ -101,7 +101,7 @@ function useOptions() { function TaskAssigneeSelectorModal() { const styles = useThemeStyles(); - const route = useRoute>(); + const route = useRoute>(); const {translate} = useLocalize(); const session = useSession(); const backTo = route.params?.backTo; diff --git a/src/pages/tasks/TaskDescriptionPage.tsx b/src/pages/tasks/TaskDescriptionPage.tsx index 97c5cf7f7e16f..acd1329b26ec1 100644 --- a/src/pages/tasks/TaskDescriptionPage.tsx +++ b/src/pages/tasks/TaskDescriptionPage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useFocusEffect, useRoute} from '@react-navigation/native'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -15,7 +16,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {ReportDescriptionNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as ReportUtils from '@libs/ReportUtils'; @@ -33,7 +33,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; type TaskDescriptionPageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps; function TaskDescriptionPage({report, currentUserPersonalDetails}: TaskDescriptionPageProps) { - const route = useRoute>(); + const route = useRoute>(); const styles = useThemeStyles(); const {translate} = useLocalize(); diff --git a/src/pages/tasks/TaskTitlePage.tsx b/src/pages/tasks/TaskTitlePage.tsx index e6c429a446743..900809256c459 100644 --- a/src/pages/tasks/TaskTitlePage.tsx +++ b/src/pages/tasks/TaskTitlePage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useCallback, useRef} from 'react'; import {View} from 'react-native'; @@ -15,7 +16,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {TaskDetailsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import withReportOrNotFound from '@pages/home/report/withReportOrNotFound'; @@ -30,7 +30,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; type TaskTitlePageProps = WithReportOrNotFoundProps & WithCurrentUserPersonalDetailsProps; function TaskTitlePage({report, currentUserPersonalDetails}: TaskTitlePageProps) { - const route = useRoute>(); + const route = useRoute>(); const styles = useThemeStyles(); const {translate} = useLocalize(); diff --git a/src/pages/wallet/WalletStatementPage.tsx b/src/pages/wallet/WalletStatementPage.tsx index 4319eb09e071e..54b601a003505 100644 --- a/src/pages/wallet/WalletStatementPage.tsx +++ b/src/pages/wallet/WalletStatementPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {format, getMonth, getYear} from 'date-fns'; import {Str} from 'expensify-common'; import React, {useEffect} from 'react'; @@ -14,7 +15,6 @@ import DateUtils from '@libs/DateUtils'; import fileDownload from '@libs/fileDownload'; import Growl from '@libs/Growl'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {WalletStatementNavigatorParamList} from '@navigation/types'; import * as User from '@userActions/User'; import CONFIG from '@src/CONFIG'; @@ -27,7 +27,7 @@ type WalletStatementOnyxProps = { walletStatement: OnyxEntry; }; -type WalletStatementPageProps = WalletStatementOnyxProps & PlatformStackScreenProps; +type WalletStatementPageProps = WalletStatementOnyxProps & StackScreenProps; function WalletStatementPage({walletStatement, route}: WalletStatementPageProps) { const themePreference = useThemePreference(); diff --git a/src/pages/workspace/WorkspaceAvatar.tsx b/src/pages/workspace/WorkspaceAvatar.tsx index 79fc432a82a81..dfe79feb77554 100644 --- a/src/pages/workspace/WorkspaceAvatar.tsx +++ b/src/pages/workspace/WorkspaceAvatar.tsx @@ -1,9 +1,9 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {withOnyx} from 'react-native-onyx'; import AttachmentModal from '@components/AttachmentModal'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import * as UserUtils from '@libs/UserUtils'; @@ -16,7 +16,7 @@ type WorkspaceAvatarOnyxProps = { isLoadingApp: OnyxEntry; }; -type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & PlatformStackScreenProps; +type WorkspaceAvatarProps = WorkspaceAvatarOnyxProps & StackScreenProps; function WorkspaceAvatar({policy, isLoadingApp = true}: WorkspaceAvatarProps) { const avatarURL = policy?.avatarURL ?? '' ? policy?.avatarURL ?? '' : ReportUtils.getDefaultWorkspaceAvatar(policy?.name ?? ''); diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index 0bc0bb7fd5c02..ffaeadfbbc0ca 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect, useNavigationState} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -22,7 +23,6 @@ import useWaitForNavigation from '@hooks/useWaitForNavigation'; import {isConnectionInProgress} from '@libs/actions/connections'; import getTopmostRouteName from '@libs/Navigation/getTopmostRouteName'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import {getDefaultWorkspaceAvatar} from '@libs/ReportUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; @@ -64,7 +64,7 @@ type WorkspaceMenuItem = { | typeof SCREENS.WORKSPACE.RULES; }; -type WorkspaceInitialPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceInitialPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; type PolicyFeatureStates = Record; diff --git a/src/pages/workspace/WorkspaceInviteMessagePage.tsx b/src/pages/workspace/WorkspaceInviteMessagePage.tsx index 781b124c0492b..3899656424acf 100644 --- a/src/pages/workspace/WorkspaceInviteMessagePage.tsx +++ b/src/pages/workspace/WorkspaceInviteMessagePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import lodashDebounce from 'lodash/debounce'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {Keyboard, View} from 'react-native'; @@ -19,7 +20,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import Parser from '@libs/Parser'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -41,7 +41,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscree type WorkspaceInviteMessagePageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & - PlatformStackScreenProps; + StackScreenProps; function WorkspaceInviteMessagePage({policy, route, currentUserPersonalDetails}: WorkspaceInviteMessagePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/WorkspaceInvitePage.tsx b/src/pages/workspace/WorkspaceInvitePage.tsx index edd7374bf8c3a..ad48d15aa9df9 100644 --- a/src/pages/workspace/WorkspaceInvitePage.tsx +++ b/src/pages/workspace/WorkspaceInvitePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import type {SectionListData} from 'react-native'; import {useOnyx, withOnyx} from 'react-native-onyx'; @@ -21,7 +22,6 @@ import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import HttpUtils from '@libs/HttpUtils'; import * as LoginUtils from '@libs/LoginUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {MemberForList} from '@libs/OptionsListUtils'; import * as PhoneNumber from '@libs/PhoneNumber'; @@ -54,7 +54,7 @@ type WorkspaceInvitePageOnyxProps = { type WorkspaceInvitePageProps = WithPolicyAndFullscreenLoadingProps & WithNavigationTransitionEndProps & WorkspaceInvitePageOnyxProps & - PlatformStackScreenProps; + StackScreenProps; function WorkspaceInvitePage({route, betas, invitedEmailsToAccountIDsDraft, policy}: WorkspaceInvitePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/WorkspaceJoinUserPage.tsx b/src/pages/workspace/WorkspaceJoinUserPage.tsx index cf1225d89fbf1..d73dab51c4feb 100644 --- a/src/pages/workspace/WorkspaceJoinUserPage.tsx +++ b/src/pages/workspace/WorkspaceJoinUserPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useRef} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -5,7 +6,6 @@ import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import ScreenWrapper from '@components/ScreenWrapper'; import useThemeStyles from '@hooks/useThemeStyles'; import navigateAfterJoinRequest from '@libs/navigateAfterJoinRequest'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {AuthScreensParamList} from '@navigation/types'; @@ -21,7 +21,7 @@ type WorkspaceJoinUserPageOnyxProps = { policy: OnyxEntry; }; -type WorkspaceJoinUserPageRoute = {route: PlatformStackScreenProps['route']}; +type WorkspaceJoinUserPageRoute = {route: StackScreenProps['route']}; type WorkspaceJoinUserPageProps = WorkspaceJoinUserPageRoute & WorkspaceJoinUserPageOnyxProps; let isJoinLinkUsed = false; diff --git a/src/pages/workspace/WorkspaceMembersPage.tsx b/src/pages/workspace/WorkspaceMembersPage.tsx index 160e341602575..52b8a06ba931b 100644 --- a/src/pages/workspace/WorkspaceMembersPage.tsx +++ b/src/pages/workspace/WorkspaceMembersPage.tsx @@ -1,4 +1,5 @@ import {useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import lodashIsEqual from 'lodash/isEqual'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import type {TextInput} from 'react-native'; @@ -33,7 +34,6 @@ import {turnOffMobileSelectionMode} from '@libs/actions/MobileSelectionMode'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; @@ -53,9 +53,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscree import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading'; import WorkspacePageWithSections from './WorkspacePageWithSections'; -type WorkspaceMembersPageProps = WithPolicyAndFullscreenLoadingProps & - WithCurrentUserPersonalDetailsProps & - PlatformStackScreenProps; +type WorkspaceMembersPageProps = WithPolicyAndFullscreenLoadingProps & WithCurrentUserPersonalDetailsProps & StackScreenProps; /** * Inverts an object, equivalent of _.invert diff --git a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx index 2c7a81c9972e0..a743140278f73 100644 --- a/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx +++ b/src/pages/workspace/WorkspaceMoreFeaturesPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -16,7 +17,6 @@ import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import {isControlPolicy} from '@libs/PolicyUtils'; import * as Category from '@userActions/Policy/Category'; @@ -37,7 +37,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from './withPolicyAndFullscree import withPolicyAndFullscreenLoading from './withPolicyAndFullscreenLoading'; import ToggleSettingOptionRow from './workflows/ToggleSettingsOptionRow'; -type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceMoreFeaturesPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; type Item = { icon: IconAsset; diff --git a/src/pages/workspace/WorkspaceProfileAddressPage.tsx b/src/pages/workspace/WorkspaceProfileAddressPage.tsx index 57f55e468b1f4..321471db4c692 100644 --- a/src/pages/workspace/WorkspaceProfileAddressPage.tsx +++ b/src/pages/workspace/WorkspaceProfileAddressPage.tsx @@ -1,8 +1,8 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import type {FormOnyxValues} from '@components/Form/types'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AddressPage from '@pages/AddressPage'; import {updateAddress} from '@userActions/Policy/Policy'; @@ -14,7 +14,7 @@ import withPolicy from './withPolicy'; type WorkspaceProfileAddressPagePolicyProps = WithPolicyProps; -type WorkspaceProfileAddressPageProps = PlatformStackScreenProps & WorkspaceProfileAddressPagePolicyProps; +type WorkspaceProfileAddressPageProps = StackScreenProps & WorkspaceProfileAddressPagePolicyProps; function WorkspaceProfileAddressPage({policy, route}: WorkspaceProfileAddressPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/WorkspaceProfilePage.tsx b/src/pages/workspace/WorkspaceProfilePage.tsx index 7289e86f9fcfa..cbd43fd175293 100644 --- a/src/pages/workspace/WorkspaceProfilePage.tsx +++ b/src/pages/workspace/WorkspaceProfilePage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import type {ImageStyle, StyleProp} from 'react-native'; import {Image, StyleSheet, View} from 'react-native'; @@ -22,7 +23,6 @@ import useThemeIllustrations from '@hooks/useThemeIllustrations'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -45,7 +45,7 @@ type WorkspaceProfilePageOnyxProps = { currencyList: OnyxEntry; }; -type WorkspaceProfilePageProps = WithPolicyProps & WorkspaceProfilePageOnyxProps & PlatformStackScreenProps; +type WorkspaceProfilePageProps = WithPolicyProps & WorkspaceProfilePageOnyxProps & StackScreenProps; function WorkspaceProfilePage({policyDraft, policy: policyProp, currencyList = {}, route}: WorkspaceProfilePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/accounting/intacct/EnterSageIntacctCredentialsPage.tsx b/src/pages/workspace/accounting/intacct/EnterSageIntacctCredentialsPage.tsx index d7eee7648a693..9814e5cef9961 100644 --- a/src/pages/workspace/accounting/intacct/EnterSageIntacctCredentialsPage.tsx +++ b/src/pages/workspace/accounting/intacct/EnterSageIntacctCredentialsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -12,14 +13,13 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {connectToSageIntacct} from '@libs/actions/connections/SageIntacct'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/SageIntactCredentialsForm'; -type SageIntacctPrerequisitesPageProps = PlatformStackScreenProps; +type SageIntacctPrerequisitesPageProps = StackScreenProps; function EnterSageIntacctCredentialsPage({route}: SageIntacctPrerequisitesPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/accounting/intacct/ExistingConnectionsPage.tsx b/src/pages/workspace/accounting/intacct/ExistingConnectionsPage.tsx index 9829fc569f53c..a034699454ed2 100644 --- a/src/pages/workspace/accounting/intacct/ExistingConnectionsPage.tsx +++ b/src/pages/workspace/accounting/intacct/ExistingConnectionsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -8,13 +9,12 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {copyExistingPolicyConnection} from '@libs/actions/connections'; import {getAdminPoliciesConnectedToSageIntacct} from '@libs/actions/Policy/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type ExistingConnectionsPageProps = PlatformStackScreenProps; +type ExistingConnectionsPageProps = StackScreenProps; function ExistingConnectionsPage({route}: ExistingConnectionsPageProps) { const {translate, datetimeToRelative} = useLocalize(); diff --git a/src/pages/workspace/accounting/intacct/SageIntacctPrerequisitesPage.tsx b/src/pages/workspace/accounting/intacct/SageIntacctPrerequisitesPage.tsx index 56f11640ea7cc..1c60065a08c8f 100644 --- a/src/pages/workspace/accounting/intacct/SageIntacctPrerequisitesPage.tsx +++ b/src/pages/workspace/accounting/intacct/SageIntacctPrerequisitesPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo, useRef} from 'react'; import {View} from 'react-native'; // eslint-disable-next-line no-restricted-imports @@ -15,7 +16,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import fileDownload from '@libs/fileDownload'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportActionContextMenu from '@pages/home/report/ContextMenu/ReportActionContextMenu'; import * as Link from '@userActions/Link'; @@ -23,7 +23,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type SageIntacctPrerequisitesPageProps = PlatformStackScreenProps; +type SageIntacctPrerequisitesPageProps = StackScreenProps; function SageIntacctPrerequisitesPage({route}: SageIntacctPrerequisitesPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/accounting/intacct/export/SageIntacctDefaultVendorPage.tsx b/src/pages/workspace/accounting/intacct/export/SageIntacctDefaultVendorPage.tsx index 4ca7d5d349ecd..213f561fb4e90 100644 --- a/src/pages/workspace/accounting/intacct/export/SageIntacctDefaultVendorPage.tsx +++ b/src/pages/workspace/accounting/intacct/export/SageIntacctDefaultVendorPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import BlockingView from '@components/BlockingViews/BlockingView'; @@ -11,7 +12,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {getSageIntacctNonReimbursableActiveDefaultVendor, getSageIntacctVendors, settingsPendingAction} from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {Connections} from '@src/types/onyx/Policy'; -type SageIntacctDefaultVendorPageProps = PlatformStackScreenProps; +type SageIntacctDefaultVendorPageProps = StackScreenProps; function SageIntacctDefaultVendorPage({route}: SageIntacctDefaultVendorPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/accounting/intacct/import/SageIntacctEditUserDimensionsPage.tsx b/src/pages/workspace/accounting/intacct/import/SageIntacctEditUserDimensionsPage.tsx index 8c92aee4722cd..cd10e270d7d21 100644 --- a/src/pages/workspace/accounting/intacct/import/SageIntacctEditUserDimensionsPage.tsx +++ b/src/pages/workspace/accounting/intacct/import/SageIntacctEditUserDimensionsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; import ConfirmModal from '@components/ConfirmModal'; @@ -21,7 +22,6 @@ import { } from '@libs/actions/connections/SageIntacct'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import {settingsPendingAction} from '@libs/PolicyUtils'; import CONST from '@src/CONST'; @@ -31,7 +31,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/SageIntacctDimensionsForm'; import DimensionTypeSelector from './DimensionTypeSelector'; -type SageIntacctEditUserDimensionsPageProps = PlatformStackScreenProps; +type SageIntacctEditUserDimensionsPageProps = StackScreenProps; function SageIntacctEditUserDimensionsPage({route}: SageIntacctEditUserDimensionsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/accounting/intacct/import/SageIntacctMappingsTypePage.tsx b/src/pages/workspace/accounting/intacct/import/SageIntacctMappingsTypePage.tsx index 7e181cdb65c64..73f35cc7bfdb6 100644 --- a/src/pages/workspace/accounting/intacct/import/SageIntacctMappingsTypePage.tsx +++ b/src/pages/workspace/accounting/intacct/import/SageIntacctMappingsTypePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import RadioListItem from '@components/SelectionList/RadioListItem'; import SelectionScreen from '@components/SelectionScreen'; @@ -8,7 +9,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {updateSageIntacctMappingValue} from '@libs/actions/connections/SageIntacct'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import {settingsPendingAction} from '@libs/PolicyUtils'; import * as Policy from '@userActions/Policy/Policy'; @@ -17,7 +17,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {SageIntacctMappingName, SageIntacctMappingValue} from '@src/types/onyx/Policy'; -type SageIntacctMappingsTypePageProps = PlatformStackScreenProps; +type SageIntacctMappingsTypePageProps = StackScreenProps; function SageIntacctMappingsTypePage({route}: SageIntacctMappingsTypePageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/accounting/intacct/import/SageIntacctToggleMappingsPage.tsx b/src/pages/workspace/accounting/intacct/import/SageIntacctToggleMappingsPage.tsx index af85a65a39c91..82757d8d9ae15 100644 --- a/src/pages/workspace/accounting/intacct/import/SageIntacctToggleMappingsPage.tsx +++ b/src/pages/workspace/accounting/intacct/import/SageIntacctToggleMappingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React from 'react'; import ConnectionLayout from '@components/ConnectionLayout'; @@ -10,7 +11,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {clearSageIntacctErrorField, updateSageIntacctMappingValue} from '@libs/actions/connections/SageIntacct'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import {areSettingsInErrorFields, settingsPendingAction} from '@libs/PolicyUtils'; import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow'; @@ -20,7 +20,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {SageIntacctMappingName, SageIntacctMappingValue} from '@src/types/onyx/Policy'; -type SageIntacctToggleMappingsPageProps = PlatformStackScreenProps; +type SageIntacctToggleMappingsPageProps = StackScreenProps; type DisplayTypeTranslationKeys = { titleKey: TranslationPaths; diff --git a/src/pages/workspace/accounting/netsuite/NetSuiteTokenInput/NetSuiteExistingConnectionsPage.tsx b/src/pages/workspace/accounting/netsuite/NetSuiteTokenInput/NetSuiteExistingConnectionsPage.tsx index 77b01ed436897..a83a5dab716e2 100644 --- a/src/pages/workspace/accounting/netsuite/NetSuiteTokenInput/NetSuiteExistingConnectionsPage.tsx +++ b/src/pages/workspace/accounting/netsuite/NetSuiteTokenInput/NetSuiteExistingConnectionsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import ConnectionLayout from '@components/ConnectionLayout'; @@ -7,14 +8,13 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {copyExistingPolicyConnection} from '@libs/actions/connections'; import {getAdminPoliciesConnectedToNetSuite} from '@libs/actions/Policy/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ReportUtils from '@libs/ReportUtils'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ExistingConnectionsPageProps = PlatformStackScreenProps; +type ExistingConnectionsPageProps = StackScreenProps; function NetSuiteExistingConnectionsPage({route}: ExistingConnectionsPageProps) { const {translate, datetimeToRelative} = useLocalize(); diff --git a/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx b/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx index 86fc05054cc54..c907095c4301c 100644 --- a/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx +++ b/src/pages/workspace/accounting/reconciliation/CardReconciliationPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {useOnyx} from 'react-native-onyx'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -9,7 +10,6 @@ import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as AccountingUtils from '@libs/AccountingUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -23,7 +23,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {ConnectionName} from '@src/types/onyx/Policy'; -type CardReconciliationPageProps = WithPolicyConnectionsProps & PlatformStackScreenProps; +type CardReconciliationPageProps = WithPolicyConnectionsProps & StackScreenProps; function CardReconciliationPage({policy, route}: CardReconciliationPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/accounting/reconciliation/ReconciliationAccountSettingsPage.tsx b/src/pages/workspace/accounting/reconciliation/ReconciliationAccountSettingsPage.tsx index e2d6aef05450e..f79b7920f77b4 100644 --- a/src/pages/workspace/accounting/reconciliation/ReconciliationAccountSettingsPage.tsx +++ b/src/pages/workspace/accounting/reconciliation/ReconciliationAccountSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {useOnyx} from 'react-native-onyx'; import ConnectionLayout from '@components/ConnectionLayout'; @@ -10,7 +11,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as AccountingUtils from '@libs/AccountingUtils'; import {getLastFourDigits} from '@libs/BankAccountUtils'; import * as CardUtils from '@libs/CardUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type ReconciliationAccountSettingsPageProps = PlatformStackScreenProps; +type ReconciliationAccountSettingsPageProps = StackScreenProps; function ReconciliationAccountSettingsPage({route}: ReconciliationAccountSettingsPageProps) { const {policyID, connection} = route.params; diff --git a/src/pages/workspace/accounting/xero/XeroOrganizationConfigurationPage.tsx b/src/pages/workspace/accounting/xero/XeroOrganizationConfigurationPage.tsx index adcf515719a88..bb49c5212fb20 100644 --- a/src/pages/workspace/accounting/xero/XeroOrganizationConfigurationPage.tsx +++ b/src/pages/workspace/accounting/xero/XeroOrganizationConfigurationPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import BlockingView from '@components/BlockingViews/BlockingView'; @@ -11,7 +12,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as Xero from '@libs/actions/connections/Xero'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import {findCurrentXeroOrganization, getXeroTenants} from '@libs/PolicyUtils'; import withPolicy from '@pages/workspace/withPolicy'; @@ -22,7 +22,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type XeroOrganizationConfigurationPageProps = WithPolicyProps & PlatformStackScreenProps; +type XeroOrganizationConfigurationPageProps = WithPolicyProps & StackScreenProps; function XeroOrganizationConfigurationPage({ policy, route: { diff --git a/src/pages/workspace/categories/CategoryApproverPage.tsx b/src/pages/workspace/categories/CategoryApproverPage.tsx index 78f5f579bf932..649681db6155f 100644 --- a/src/pages/workspace/categories/CategoryApproverPage.tsx +++ b/src/pages/workspace/categories/CategoryApproverPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -7,7 +8,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CategoryUtils from '@libs/CategoryUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -15,7 +15,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function CategoryApproverPage({ route: { diff --git a/src/pages/workspace/categories/CategoryDefaultTaxRatePage.tsx b/src/pages/workspace/categories/CategoryDefaultTaxRatePage.tsx index a87dae907aeaf..16ea5b9bd2a7b 100644 --- a/src/pages/workspace/categories/CategoryDefaultTaxRatePage.tsx +++ b/src/pages/workspace/categories/CategoryDefaultTaxRatePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -9,7 +10,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CategoryUtils from '@libs/CategoryUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -18,7 +18,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {TaxRate} from '@src/types/onyx'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function CategoryDefaultTaxRatePage({ route: { diff --git a/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx b/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx index 26bd66833929a..d16d66ce3ea38 100644 --- a/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx +++ b/src/pages/workspace/categories/CategoryDescriptionHintPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -11,7 +12,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceCategoryDescriptionHintForm'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function CategoryDescriptionHintPage({ route: { diff --git a/src/pages/workspace/categories/CategoryFlagAmountsOverPage.tsx b/src/pages/workspace/categories/CategoryFlagAmountsOverPage.tsx index dbd491197d376..6b675f7407858 100644 --- a/src/pages/workspace/categories/CategoryFlagAmountsOverPage.tsx +++ b/src/pages/workspace/categories/CategoryFlagAmountsOverPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -25,7 +25,7 @@ import INPUT_IDS from '@src/types/form/WorkspaceCategoryFlagAmountsOverForm'; import type {PolicyCategoryExpenseLimitType} from '@src/types/onyx/PolicyCategory'; import ExpenseLimitTypeSelector from './ExpenseLimitTypeSelector/ExpenseLimitTypeSelector'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function CategoryFlagAmountsOverPage({ route: { diff --git a/src/pages/workspace/categories/CategoryGLCodePage.tsx b/src/pages/workspace/categories/CategoryGLCodePage.tsx index 8e95eeae51d47..131f17a14242d 100644 --- a/src/pages/workspace/categories/CategoryGLCodePage.tsx +++ b/src/pages/workspace/categories/CategoryGLCodePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -10,7 +11,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -20,7 +20,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceCategoryForm'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function CategoryGLCodePage({route}: EditCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/CategoryPayrollCodePage.tsx b/src/pages/workspace/categories/CategoryPayrollCodePage.tsx index 43014547b6f5e..df5ba802a566d 100644 --- a/src/pages/workspace/categories/CategoryPayrollCodePage.tsx +++ b/src/pages/workspace/categories/CategoryPayrollCodePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -10,7 +11,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -20,7 +20,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceCategoryForm'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function CategoryPayrollCodePage({route}: EditCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/CategoryRequireReceiptsOverPage.tsx b/src/pages/workspace/categories/CategoryRequireReceiptsOverPage.tsx index 4c57a8b9ab2e8..7d526ede42b5d 100644 --- a/src/pages/workspace/categories/CategoryRequireReceiptsOverPage.tsx +++ b/src/pages/workspace/categories/CategoryRequireReceiptsOverPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; import type {ValueOf} from 'type-fest'; @@ -10,7 +11,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -19,7 +19,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type EditCategoryPageProps = PlatformStackScreenProps; +type EditCategoryPageProps = StackScreenProps; function getInitiallyFocusedOptionKey(isAlwaysSelected: boolean, isNeverSelected: boolean): ValueOf { if (isAlwaysSelected) { diff --git a/src/pages/workspace/categories/CategorySettingsPage.tsx b/src/pages/workspace/categories/CategorySettingsPage.tsx index 94750e51e929f..05111864f61aa 100644 --- a/src/pages/workspace/categories/CategorySettingsPage.tsx +++ b/src/pages/workspace/categories/CategorySettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -19,7 +20,6 @@ import * as CategoryUtils from '@libs/CategoryUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {isControlPolicy} from '@libs/PolicyUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -31,7 +31,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type CategorySettingsPageProps = PlatformStackScreenProps; +type CategorySettingsPageProps = StackScreenProps; function CategorySettingsPage({ route: { diff --git a/src/pages/workspace/categories/CreateCategoryPage.tsx b/src/pages/workspace/categories/CreateCategoryPage.tsx index 0b431cef46b8a..472cba1215afc 100644 --- a/src/pages/workspace/categories/CreateCategoryPage.tsx +++ b/src/pages/workspace/categories/CreateCategoryPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -7,7 +8,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -23,7 +23,7 @@ type WorkspaceCreateCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & PlatformStackScreenProps; +type CreateCategoryPageProps = WorkspaceCreateCategoryPageOnyxProps & StackScreenProps; function CreateCategoryPage({route, policyCategories}: CreateCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/EditCategoryPage.tsx b/src/pages/workspace/categories/EditCategoryPage.tsx index 4a7047ce82de8..224233fff318c 100644 --- a/src/pages/workspace/categories/EditCategoryPage.tsx +++ b/src/pages/workspace/categories/EditCategoryPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; @@ -7,7 +8,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Category from '@userActions/Policy/Category'; @@ -23,7 +23,7 @@ type WorkspaceEditCategoryPageOnyxProps = { policyCategories: OnyxEntry; }; -type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & PlatformStackScreenProps; +type EditCategoryPageProps = WorkspaceEditCategoryPageOnyxProps & StackScreenProps; function EditCategoryPage({route, policyCategories}: EditCategoryPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/categories/ImportCategoriesPage.tsx b/src/pages/workspace/categories/ImportCategoriesPage.tsx index cdb0cae964b14..d0eecc54ab9ce 100644 --- a/src/pages/workspace/categories/ImportCategoriesPage.tsx +++ b/src/pages/workspace/categories/ImportCategoriesPage.tsx @@ -1,14 +1,14 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import ImportSpreedsheet from '@components/ImportSpreadsheet'; import usePolicy from '@hooks/usePolicy'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ImportCategoriesPageProps = PlatformStackScreenProps; +type ImportCategoriesPageProps = StackScreenProps; function ImportCategoriesPage({route}: ImportCategoriesPageProps) { const policyID = route.params.policyID; diff --git a/src/pages/workspace/categories/ImportedCategoriesPage.tsx b/src/pages/workspace/categories/ImportedCategoriesPage.tsx index 05db9a7ce0f69..041e2b77c91e6 100644 --- a/src/pages/workspace/categories/ImportedCategoriesPage.tsx +++ b/src/pages/workspace/categories/ImportedCategoriesPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import ConfirmModal from '@components/ConfirmModal'; @@ -11,7 +12,6 @@ import {closeImportPage} from '@libs/actions/ImportSpreadsheet'; import {importPolicyCategories} from '@libs/actions/Policy/Category'; import {findDuplicate, generateColumnNames} from '@libs/importSpreadsheetUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import {isControlPolicy} from '@libs/PolicyUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {Errors} from '@src/types/onyx/OnyxCommon'; -type ImportedCategoriesPageProps = PlatformStackScreenProps; +type ImportedCategoriesPageProps = StackScreenProps; function ImportedCategoriesPage({route}: ImportedCategoriesPageProps) { const {translate} = useLocalize(); const [spreadsheet] = useOnyx(ONYXKEYS.IMPORTED_SPREADSHEET); diff --git a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx index dd46753fb8e11..fa0b57ba207c1 100644 --- a/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx +++ b/src/pages/workspace/categories/WorkspaceCategoriesPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import lodashSortBy from 'lodash/sortBy'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -35,7 +36,6 @@ import {turnOffMobileSelectionMode} from '@libs/actions/MobileSelectionMode'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -54,7 +54,7 @@ type PolicyOption = ListItem & { keyForList: string; }; -type WorkspaceCategoriesPageProps = PlatformStackScreenProps; +type WorkspaceCategoriesPageProps = StackScreenProps; function WorkspaceCategoriesPage({route}: WorkspaceCategoriesPageProps) { const {shouldUseNarrowLayout, isSmallScreenWidth} = useResponsiveLayout(); diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardAccountSelectCardPage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardAccountSelectCardPage.tsx index 4a7555f4a91f3..3df8598fde2d5 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardAccountSelectCardPage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardAccountSelectCardPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -12,7 +13,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy/Policy'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -23,7 +23,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {getExportMenuItem} from './utils'; -type WorkspaceCompanyCardAccountSelectCardProps = PlatformStackScreenProps; +type WorkspaceCompanyCardAccountSelectCardProps = StackScreenProps; function WorkspaceCompanyCardAccountSelectCardPage({route}: WorkspaceCompanyCardAccountSelectCardProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx index d460daa15a05a..df4e9635e8518 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {format} from 'date-fns'; import React, {useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -19,7 +20,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy/Policy'; import * as CardUtils from '@libs/CardUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -33,7 +33,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {getExportMenuItem} from './utils'; -type WorkspaceCompanyCardDetailsPageProps = PlatformStackScreenProps; +type WorkspaceCompanyCardDetailsPageProps = StackScreenProps; function WorkspaceCompanyCardDetailsPage({route}: WorkspaceCompanyCardDetailsPageProps) { const {policyID, cardID, backTo, bank} = route.params; diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardEditCardNamePage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardEditCardNamePage.tsx index d5baa5c9f7118..c55d575838a8d 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardEditCardNamePage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardEditCardNamePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -10,7 +11,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy/Policy'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import Navigation from '@navigation/Navigation'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/EditExpensifyCardNameForm'; -type WorkspaceCompanyCardEditCardNamePageProps = PlatformStackScreenProps; +type WorkspaceCompanyCardEditCardNamePageProps = StackScreenProps; function WorkspaceCompanyCardEditCardNamePage({route}: WorkspaceCompanyCardEditCardNamePageProps) { const {policyID, cardID, bank} = route.params; diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardFeedSelectorPage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardFeedSelectorPage.tsx index b79075cc46c55..b1876c17efd5e 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardFeedSelectorPage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardFeedSelectorPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -11,7 +12,6 @@ import type {ListItem} from '@components/SelectionList/types'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import Navigation from '@navigation/Navigation'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -45,7 +45,7 @@ const mockedData: CardFeeds = { }, }; -type WorkspaceCompanyCardFeedSelectorPageProps = PlatformStackScreenProps; +type WorkspaceCompanyCardFeedSelectorPageProps = StackScreenProps; function WorkspaceCompanyCardFeedSelectorPage({route}: WorkspaceCompanyCardFeedSelectorPageProps) { const {policyID} = route.params; diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx index 1939d3e5f78ce..fe03b2a241dd1 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardsPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {ActivityIndicator} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -6,7 +7,6 @@ import * as Illustrations from '@components/Icon/Illustrations'; import useLocalize from '@hooks/useLocalize'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -112,7 +112,7 @@ const mockedCards = { }, } as unknown as WorkspaceCardsList; -type WorkspaceCompanyCardPageProps = PlatformStackScreenProps; +type WorkspaceCompanyCardPageProps = StackScreenProps; function WorkspaceCompanyCardPage({route}: WorkspaceCompanyCardPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsFeedNamePage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsFeedNamePage.tsx index d8282816fe09b..bacc82331331f 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsFeedNamePage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsFeedNamePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -25,7 +25,7 @@ import type SCREENS from '@src/SCREENS'; import type {WorkspaceCompanyCardFeedName} from '@src/types/form/WorkspaceCompanyCardFeedName'; import INPUT_IDS from '@src/types/form/WorkspaceTaxCustomName'; -type WorkspaceCompanyCardsSettingsFeedNamePageProps = PlatformStackScreenProps; +type WorkspaceCompanyCardsSettingsFeedNamePageProps = StackScreenProps; function WorkspaceCompanyCardsSettingsFeedNamePage({ route: { diff --git a/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsPage.tsx b/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsPage.tsx index e79e605f97709..42f89c44ee8b8 100644 --- a/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsPage.tsx +++ b/src/pages/workspace/companyCards/WorkspaceCompanyCardsSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Policy from '@libs/actions/Policy/Policy'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOptionRow'; @@ -23,7 +23,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceCompanyCardsSettingsPageProps = PlatformStackScreenProps; +type WorkspaceCompanyCardsSettingsPageProps = StackScreenProps; function WorkspaceCompanyCardsSettingsPage({ route: { diff --git a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx index 58545d244ffcf..7566f458fcff5 100644 --- a/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx +++ b/src/pages/workspace/distanceRates/CreateDistanceRatePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import AmountForm from '@components/AmountForm'; @@ -11,7 +12,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {getOptimisticRateName, validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/PolicyCreateDistanceRateForm'; import type {Rate} from '@src/types/onyx/Policy'; -type CreateDistanceRatePageProps = PlatformStackScreenProps; +type CreateDistanceRatePageProps = StackScreenProps; function CreateDistanceRatePage({route}: CreateDistanceRatePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx index 5cb1da60901ff..c4d033351b374 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -17,7 +18,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -34,7 +34,7 @@ type PolicyDistanceRateDetailsPageOnyxProps = { policy: OnyxEntry; }; -type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRateDetailsPageProps = PolicyDistanceRateDetailsPageOnyxProps & StackScreenProps; function PolicyDistanceRateDetailsPage({policy, route}: PolicyDistanceRateDetailsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx index df301ae9b1e11..30ab4b40d9589 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import AmountForm from '@components/AmountForm'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {validateRateValue} from '@libs/PolicyDistanceRatesUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -22,7 +22,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/PolicyDistanceRateEditForm'; -type PolicyDistanceRateEditPageProps = PlatformStackScreenProps; +type PolicyDistanceRateEditPageProps = StackScreenProps; function PolicyDistanceRateEditPage({route}: PolicyDistanceRateEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx index 4e9d03008f17a..9fe0902226915 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -5,7 +6,6 @@ import TaxPicker from '@components/TaxPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -17,7 +17,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type PolicyDistanceRateTaxRateEditPageProps = WithPolicyOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRateTaxRateEditPageProps = WithPolicyOnyxProps & StackScreenProps; function PolicyDistanceRateTaxRateEditPage({route, policy}: PolicyDistanceRateTaxRateEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx index 91495572cbe04..f20272dd2f5c8 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import AmountForm from '@components/AmountForm'; import FormProvider from '@components/Form/FormProvider'; @@ -9,7 +10,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {validateTaxClaimableValue} from '@libs/PolicyDistanceRatesUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -21,8 +21,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/PolicyDistanceRateTaxReclaimableOnEditForm'; -type PolicyDistanceRateTaxReclaimableEditPageProps = WithPolicyOnyxProps & - PlatformStackScreenProps; +type PolicyDistanceRateTaxReclaimableEditPageProps = WithPolicyOnyxProps & StackScreenProps; function PolicyDistanceRateTaxReclaimableEditPage({route, policy}: PolicyDistanceRateTaxReclaimableEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx index c5fb23638dcde..6ce697e00fd6f 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import Button from '@components/Button'; @@ -24,7 +25,6 @@ import {turnOffMobileSelectionMode} from '@libs/actions/MobileSelectionMode'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as DistanceRate from '@userActions/Policy/DistanceRate'; @@ -36,7 +36,7 @@ import type {CustomUnit, Rate} from '@src/types/onyx/Policy'; type RateForList = ListItem & {value: string}; -type PolicyDistanceRatesPageProps = PlatformStackScreenProps; +type PolicyDistanceRatesPageProps = StackScreenProps; function PolicyDistanceRatesPage({ route: { diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx index 26b4459e8272e..53c1fe14237c3 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -16,7 +17,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -40,7 +40,7 @@ type PolicyDistanceRatesSettingsPageOnyxProps = { policyCategories: OnyxEntry; }; -type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & PlatformStackScreenProps; +type PolicyDistanceRatesSettingsPageProps = PolicyDistanceRatesSettingsPageOnyxProps & StackScreenProps; function PolicyDistanceRatesSettingsPage({policy, policyCategories, route}: PolicyDistanceRatesSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/expensifyCard/WorkspaceCardSettingsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceCardSettingsPage.tsx index 2458e5033ab28..b34397cc43e34 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceCardSettingsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceCardSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -10,7 +11,6 @@ import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {getLastFourDigits} from '@libs/BankAccountUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -20,7 +20,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceCardSettingsPageProps = PlatformStackScreenProps; +type WorkspaceCardSettingsPageProps = StackScreenProps; function WorkspaceCardSettingsPage({route}: WorkspaceCardSettingsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx b/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx index a1ca4ce22e10c..f1075d85cfd8e 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceCardsListLabel.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import {useRoute} from '@react-navigation/native'; import React, {useEffect, useMemo, useRef, useState} from 'react'; import {View} from 'react-native'; @@ -18,7 +19,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import getClickedTargetLocation from '@libs/getClickedTargetLocation'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; import variables from '@styles/variables'; @@ -40,7 +40,7 @@ type WorkspaceCardsListLabelProps = { }; function WorkspaceCardsListLabel({type, value, style}: WorkspaceCardsListLabelProps) { - const route = useRoute>(); + const route = useRoute>(); const policy = usePolicy(route.params.policyID); const styles = useThemeStyles(); const {windowWidth} = useWindowDimensions(); diff --git a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx index d2e96abd2fe0a..bb8515fe85d39 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import AmountForm from '@components/AmountForm'; @@ -11,7 +12,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import Navigation from '@navigation/Navigation'; @@ -26,7 +26,7 @@ import INPUT_IDS from '@src/types/form/EditExpensifyCardLimitForm'; type ConfirmationWarningTranslationPaths = 'workspace.expensifyCard.smartLimitWarning' | 'workspace.expensifyCard.monthlyLimitWarning' | 'workspace.expensifyCard.fixedLimitWarning'; -type WorkspaceEditCardLimitPageProps = PlatformStackScreenProps; +type WorkspaceEditCardLimitPageProps = StackScreenProps; function WorkspaceEditCardLimitPage({route}: WorkspaceEditCardLimitPageProps) { const {policyID, cardID} = route.params; diff --git a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx index 82e01ae3887c0..e4f14f6c137a2 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceEditCardLimitTypePage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import FullPageOfflineBlockingView from '@components/BlockingViews/FullPageOfflineBlockingView'; @@ -12,7 +13,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -25,7 +25,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type WorkspaceEditCardLimitTypePageProps = PlatformStackScreenProps; +type WorkspaceEditCardLimitTypePageProps = StackScreenProps; function WorkspaceEditCardLimitTypePage({route}: WorkspaceEditCardLimitTypePageProps) { const {policyID, cardID} = route.params; diff --git a/src/pages/workspace/expensifyCard/WorkspaceEditCardNamePage.tsx b/src/pages/workspace/expensifyCard/WorkspaceEditCardNamePage.tsx index 74128fdd05ae1..c5eb8a53930a4 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceEditCardNamePage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceEditCardNamePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -9,7 +10,6 @@ import TextInput from '@components/TextInput'; import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import Navigation from '@navigation/Navigation'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/EditExpensifyCardNameForm'; -type WorkspaceEditCardNamePageProps = PlatformStackScreenProps; +type WorkspaceEditCardNamePageProps = StackScreenProps; function WorkspaceEditCardNamePage({route}: WorkspaceEditCardNamePageProps) { const {policyID, cardID} = route.params; diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx index 8d38219c6c79b..b8b8776df0484 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {getLastFourDigits} from '@libs/BankAccountUtils'; import * as CardUtils from '@libs/CardUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ import type SCREENS from '@src/SCREENS'; import type {BankName} from '@src/types/onyx/Bank'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; -type WorkspaceExpensifyCardBankAccountsProps = PlatformStackScreenProps; +type WorkspaceExpensifyCardBankAccountsProps = StackScreenProps; function WorkspaceExpensifyCardBankAccounts({route}: WorkspaceExpensifyCardBankAccountsProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx index cd0b9ff21ce68..03b489d934021 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -20,7 +21,6 @@ import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -33,7 +33,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceExpensifyCardDetailsPageProps = PlatformStackScreenProps; +type WorkspaceExpensifyCardDetailsPageProps = StackScreenProps; function WorkspaceExpensifyCardDetailsPage({route}: WorkspaceExpensifyCardDetailsPageProps) { const {policyID, cardID, backTo} = route.params; diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx index 24538d0dbdb1a..25de151bbb6dc 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardListPage.tsx @@ -1,3 +1,4 @@ +import type {RouteProp} from '@react-navigation/native'; import React, {useCallback, useMemo} from 'react'; import type {ListRenderItemInfo} from 'react-native'; import {FlatList, View} from 'react-native'; @@ -15,7 +16,6 @@ import usePolicy from '@hooks/usePolicy'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {FullScreenNavigatorParamList} from '@navigation/types'; import CONST from '@src/CONST'; @@ -30,7 +30,7 @@ import WorkspaceCardListRow from './WorkspaceCardListRow'; type WorkspaceExpensifyCardListPageProps = { /** Route from navigation */ - route: PlatformStackRouteProp; + route: RouteProp; /** List of Expensify cards */ cardsList: OnyxEntry; diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx index 4fd741be76847..bc29918fe4506 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx @@ -1,11 +1,11 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {ActivityIndicator} from 'react-native'; import {useOnyx} from 'react-native-onyx'; import useNetwork from '@hooks/useNetwork'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -16,7 +16,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceExpensifyCardListPage from './WorkspaceExpensifyCardListPage'; import WorkspaceExpensifyCardPageEmptyState from './WorkspaceExpensifyCardPageEmptyState'; -type WorkspaceExpensifyCardPageProps = PlatformStackScreenProps; +type WorkspaceExpensifyCardPageProps = StackScreenProps; function WorkspaceExpensifyCardPage({route}: WorkspaceExpensifyCardPageProps) { const policyID = route.params.policyID ?? '-1'; diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPageEmptyState.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPageEmptyState.tsx index 95491a3196ca0..7dc6293e23ea4 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPageEmptyState.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPageEmptyState.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -11,7 +12,6 @@ import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import Navigation from '@navigation/Navigation'; import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading'; @@ -40,7 +40,7 @@ const expensifyCardFeatures: FeatureListItem[] = [ ]; type WorkspaceExpensifyCardPageEmptyStateProps = { - route: PlatformStackScreenProps['route']; + route: StackScreenProps['route']; } & WithPolicyAndFullscreenLoadingProps; function WorkspaceExpensifyCardPageEmptyState({route, policy}: WorkspaceExpensifyCardPageEmptyStateProps) { diff --git a/src/pages/workspace/expensifyCard/WorkspaceSettlementAccountPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceSettlementAccountPage.tsx index 4d49a86a410a3..3699734854997 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceSettlementAccountPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceSettlementAccountPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as AccountingUtils from '@libs/AccountingUtils'; import {getLastFourDigits} from '@libs/BankAccountUtils'; import * as CardUtils from '@libs/CardUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -27,7 +27,7 @@ import type SCREENS from '@src/SCREENS'; import type {BankName} from '@src/types/onyx/Bank'; import type {ConnectionName} from '@src/types/onyx/Policy'; -type WorkspaceSettlementAccountPageProps = PlatformStackScreenProps; +type WorkspaceSettlementAccountPageProps = StackScreenProps; function WorkspaceSettlementAccountPage({route}: WorkspaceSettlementAccountPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/expensifyCard/WorkspaceSettlementFrequencyPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceSettlementFrequencyPage.tsx index 52fa4c8890d03..62db3af81da63 100644 --- a/src/pages/workspace/expensifyCard/WorkspaceSettlementFrequencyPage.tsx +++ b/src/pages/workspace/expensifyCard/WorkspaceSettlementFrequencyPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {useOnyx} from 'react-native-onyx'; import type {ValueOf} from 'type-fest'; @@ -8,7 +9,6 @@ import RadioListItem from '@components/SelectionList/RadioListItem'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -19,7 +19,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceSettlementFrequencyPageProps = PlatformStackScreenProps; +type WorkspaceSettlementFrequencyPageProps = StackScreenProps; function WorkspaceSettlementFrequencyPage({route}: WorkspaceSettlementFrequencyPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/expensifyCard/issueNew/IssueNewCardPage.tsx b/src/pages/workspace/expensifyCard/issueNew/IssueNewCardPage.tsx index d3dad7e94fdc4..3b777765c7b8b 100644 --- a/src/pages/workspace/expensifyCard/issueNew/IssueNewCardPage.tsx +++ b/src/pages/workspace/expensifyCard/issueNew/IssueNewCardPage.tsx @@ -1,6 +1,6 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading'; @@ -16,7 +16,7 @@ import ConfirmationStep from './ConfirmationStep'; import LimitStep from './LimitStep'; import LimitTypeStep from './LimitTypeStep'; -type IssueNewCardPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type IssueNewCardPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function IssueNewCardPage({policy, route}: IssueNewCardPageProps) { const [issueNewCard] = useOnyx(ONYXKEYS.ISSUE_NEW_EXPENSIFY_CARD); diff --git a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx index 047c81ef18a55..2946f918c043c 100644 --- a/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx +++ b/src/pages/workspace/invoices/WorkspaceInvoicesPage.tsx @@ -1,9 +1,9 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@navigation/types'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; import CONST from '@src/CONST'; @@ -12,7 +12,7 @@ import WorkspaceInvoicesNoVBAView from './WorkspaceInvoicesNoVBAView'; import WorkspaceInvoicesVBAView from './WorkspaceInvoicesVBAView'; import WorkspaceInvoiceVBASection from './WorkspaceInvoiceVBASection'; -type WorkspaceInvoicesPageProps = PlatformStackScreenProps; +type WorkspaceInvoicesPageProps = StackScreenProps; function WorkspaceInvoicesPage({route}: WorkspaceInvoicesPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/invoices/WorkspaceInvoicingDetailsName.tsx b/src/pages/workspace/invoices/WorkspaceInvoicingDetailsName.tsx index 105319ff8b6eb..fff7c592baaa7 100644 --- a/src/pages/workspace/invoices/WorkspaceInvoicingDetailsName.tsx +++ b/src/pages/workspace/invoices/WorkspaceInvoicingDetailsName.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -9,7 +10,6 @@ import TextInput from '@components/TextInput'; import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -19,7 +19,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceInvoicesCompanyNameForm'; -type WorkspaceInvoicingDetailsNameProps = PlatformStackScreenProps; +type WorkspaceInvoicingDetailsNameProps = StackScreenProps; function WorkspaceInvoicingDetailsName({route}: WorkspaceInvoicingDetailsNameProps) { const {policyID} = route.params; diff --git a/src/pages/workspace/invoices/WorkspaceInvoicingDetailsWebsite.tsx b/src/pages/workspace/invoices/WorkspaceInvoicingDetailsWebsite.tsx index 249d84f830e18..5a58e8935db2d 100644 --- a/src/pages/workspace/invoices/WorkspaceInvoicingDetailsWebsite.tsx +++ b/src/pages/workspace/invoices/WorkspaceInvoicingDetailsWebsite.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React from 'react'; import {useOnyx} from 'react-native-onyx'; @@ -10,7 +11,6 @@ import TextInput from '@components/TextInput'; import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as Url from '@libs/Url'; import * as ValidationUtils from '@libs/ValidationUtils'; import Navigation from '@navigation/Navigation'; @@ -21,7 +21,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceInvoicesCompanyWebsiteForm'; -type WorkspaceInvoicingDetailsWebsiteProps = PlatformStackScreenProps; +type WorkspaceInvoicingDetailsWebsiteProps = StackScreenProps; function WorkspaceInvoicingDetailsWebsite({route}: WorkspaceInvoicingDetailsWebsiteProps) { const {policyID} = route.params; diff --git a/src/pages/workspace/members/ImportMembersPage.tsx b/src/pages/workspace/members/ImportMembersPage.tsx index 05c153356fee2..6fff3085b472d 100644 --- a/src/pages/workspace/members/ImportMembersPage.tsx +++ b/src/pages/workspace/members/ImportMembersPage.tsx @@ -1,11 +1,11 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import ImportSpreedsheet from '@components/ImportSpreadsheet'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ImportMembersPageProps = PlatformStackScreenProps; +type ImportMembersPageProps = StackScreenProps; function ImportMembersPage({route}: ImportMembersPageProps) { const policyID = route.params.policyID; diff --git a/src/pages/workspace/members/ImportedMembersPage.tsx b/src/pages/workspace/members/ImportedMembersPage.tsx index e0204e40f4fa3..468c64818dbac 100644 --- a/src/pages/workspace/members/ImportedMembersPage.tsx +++ b/src/pages/workspace/members/ImportedMembersPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import ConfirmModal from '@components/ConfirmModal'; @@ -10,14 +11,13 @@ import {closeImportPage} from '@libs/actions/ImportSpreadsheet'; import {importPolicyMembers} from '@libs/actions/Policy/Member'; import {findDuplicate, generateColumnNames} from '@libs/importSpreadsheetUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ImportedMembersPageProps = PlatformStackScreenProps; +type ImportedMembersPageProps = StackScreenProps; function ImportedMembersPage({route}: ImportedMembersPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx index b7953d30b0371..075cfc55a0c8e 100644 --- a/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx +++ b/src/pages/workspace/members/WorkspaceMemberDetailsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -23,7 +24,6 @@ import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CardUtils from '@libs/CardUtils'; import * as CurrencyUtils from '@libs/CurrencyUtils'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -49,7 +49,7 @@ type WorkspacePolicyOnyxProps = { type WorkspaceMemberDetailsPageProps = Omit & WorkspacePolicyOnyxProps & - PlatformStackScreenProps; + StackScreenProps; function WorkspaceMemberDetailsPage({personalDetails, policy, route}: WorkspaceMemberDetailsPageProps) { const policyID = route.params.policyID; diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx index 82ec34fd152f2..b24a2a53d0ef6 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeErrorPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import Button from '@components/Button'; @@ -10,7 +11,6 @@ import Text from '@components/Text'; import TextLink from '@components/TextLink'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -19,7 +19,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; +type WorkspaceOwnerChangeSuccessPageProps = StackScreenProps; function WorkspaceOwnerChangeErrorPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx index fc2f919370e2d..f5c9dd398bf65 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeSuccessPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import ConfirmationPage from '@components/ConfirmationPage'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -5,7 +6,6 @@ import LottieAnimations from '@components/LottieAnimations'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -14,7 +14,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceOwnerChangeSuccessPageProps = PlatformStackScreenProps; +type WorkspaceOwnerChangeSuccessPageProps = StackScreenProps; function WorkspaceOwnerChangeSuccessPage({route}: WorkspaceOwnerChangeSuccessPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx index 99081b71837ab..f6ab69b1e9c5b 100644 --- a/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx +++ b/src/pages/workspace/members/WorkspaceOwnerChangeWrapperPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect} from 'react'; import {View} from 'react-native'; import type {ValueOf} from 'type-fest'; @@ -6,7 +7,6 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import Navigation from '@navigation/Navigation'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -19,7 +19,7 @@ import type SCREENS from '@src/SCREENS'; import WorkspaceOwnerChangeCheck from './WorkspaceOwnerChangeCheck'; import WorkspaceOwnerPaymentCardForm from './WorkspaceOwnerPaymentCardForm'; -type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & PlatformStackScreenProps; +type WorkspaceOwnerChangeWrapperPageProps = WithPolicyOnyxProps & StackScreenProps; function WorkspaceOwnerChangeWrapperPage({route, policy}: WorkspaceOwnerChangeWrapperPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/reportFields/CreateReportFieldsPage.tsx b/src/pages/workspace/reportFields/CreateReportFieldsPage.tsx index f0b1319196c69..8dbd90c9e929e 100644 --- a/src/pages/workspace/reportFields/CreateReportFieldsPage.tsx +++ b/src/pages/workspace/reportFields/CreateReportFieldsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useRef} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import * as ReportField from '@libs/actions/Policy/ReportField'; import DateUtils from '@libs/DateUtils'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -30,7 +30,7 @@ import INPUT_IDS from '@src/types/form/WorkspaceReportFieldForm'; import InitialListValueSelector from './InitialListValueSelector'; import TypeSelector from './TypeSelector'; -type CreateReportFieldsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type CreateReportFieldsPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; const defaultDate = DateUtils.extractDate(new Date().toString()); diff --git a/src/pages/workspace/reportFields/ReportFieldsAddListValuePage.tsx b/src/pages/workspace/reportFields/ReportFieldsAddListValuePage.tsx index b87bc2b2a25ca..0d85fca800bb0 100644 --- a/src/pages/workspace/reportFields/ReportFieldsAddListValuePage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsAddListValuePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -12,7 +13,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ReportField from '@libs/actions/Policy/ReportField'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as WorkspaceReportFieldUtils from '@libs/WorkspaceReportFieldUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceReportFieldForm'; -type ReportFieldsAddListValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ReportFieldsAddListValuePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ReportFieldsAddListValuePage({ policy, diff --git a/src/pages/workspace/reportFields/ReportFieldsEditValuePage.tsx b/src/pages/workspace/reportFields/ReportFieldsEditValuePage.tsx index 5ce2461bab168..bfc885000c98f 100644 --- a/src/pages/workspace/reportFields/ReportFieldsEditValuePage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsEditValuePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -12,7 +13,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ReportField from '@libs/actions/Policy/ReportField'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as WorkspaceReportFieldUtils from '@libs/WorkspaceReportFieldUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -24,7 +24,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceReportFieldForm'; -type ReportFieldsEditValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ReportFieldsEditValuePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ReportFieldsEditValuePage({ policy, diff --git a/src/pages/workspace/reportFields/ReportFieldsInitialValuePage.tsx b/src/pages/workspace/reportFields/ReportFieldsInitialValuePage.tsx index 13b1afb7e3d72..74ed854a04953 100644 --- a/src/pages/workspace/reportFields/ReportFieldsInitialValuePage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsInitialValuePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -12,7 +13,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ReportField from '@libs/actions/Policy/ReportField'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -29,8 +29,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceReportFieldForm'; import ReportFieldsInitialListValuePicker from './InitialListValueSelector/ReportFieldsInitialListValuePicker'; -type ReportFieldsInitialValuePageProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; +type ReportFieldsInitialValuePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ReportFieldsInitialValuePage({ policy, route: { diff --git a/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx b/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx index f5c2b0b7af6f3..6cc1da84a063b 100644 --- a/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsListValuesPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -25,7 +26,6 @@ import * as ReportField from '@libs/actions/Policy/ReportField'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ReportUtils from '@libs/ReportUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -49,7 +49,7 @@ type ValueListItem = ListItem & { orderWeight?: number; }; -type ReportFieldsListValuesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ReportFieldsListValuesPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ReportFieldsListValuesPage({ policy, diff --git a/src/pages/workspace/reportFields/ReportFieldsSettingsPage.tsx b/src/pages/workspace/reportFields/ReportFieldsSettingsPage.tsx index 34e3da1e64534..cc6460d206412 100644 --- a/src/pages/workspace/reportFields/ReportFieldsSettingsPage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useState} from 'react'; import {View} from 'react-native'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ReportUtils from '@libs/ReportUtils'; import * as WorkspaceReportFieldUtils from '@libs/WorkspaceReportFieldUtils'; @@ -25,7 +25,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportFieldsSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ReportFieldsSettingsPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ReportFieldsSettingsPage({ policy, diff --git a/src/pages/workspace/reportFields/ReportFieldsValueSettingsPage.tsx b/src/pages/workspace/reportFields/ReportFieldsValueSettingsPage.tsx index 77e2d24002f30..1db5d2ff2c9f0 100644 --- a/src/pages/workspace/reportFields/ReportFieldsValueSettingsPage.tsx +++ b/src/pages/workspace/reportFields/ReportFieldsValueSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo, useState} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import usePrevious from '@hooks/usePrevious'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ReportField from '@libs/actions/Policy/ReportField'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ReportUtils from '@libs/ReportUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -27,7 +27,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ReportFieldsValueSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ReportFieldsValueSettingsPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ReportFieldsValueSettingsPage({ policy, diff --git a/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx b/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx index 31964dde3b339..01465a9b8a3c4 100644 --- a/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx +++ b/src/pages/workspace/reportFields/WorkspaceReportFieldsPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import {Str} from 'expensify-common'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -32,7 +33,6 @@ import {turnOffMobileSelectionMode} from '@libs/actions/MobileSelectionMode'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ReportUtils from '@libs/ReportUtils'; @@ -51,7 +51,7 @@ type ReportFieldForList = ListItem & { orderWeight?: number; }; -type WorkspaceReportFieldsPageProps = PlatformStackScreenProps; +type WorkspaceReportFieldsPageProps = StackScreenProps; function WorkspaceReportFieldsPage({ route: { diff --git a/src/pages/workspace/rules/PolicyRulesPage.tsx b/src/pages/workspace/rules/PolicyRulesPage.tsx index 747a986600373..1fce2fb7bfcfd 100644 --- a/src/pages/workspace/rules/PolicyRulesPage.tsx +++ b/src/pages/workspace/rules/PolicyRulesPage.tsx @@ -1,10 +1,10 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import useLocalize from '@hooks/useLocalize'; import usePermissions from '@hooks/usePermissions'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import WorkspacePageWithSections from '@pages/workspace/WorkspacePageWithSections'; @@ -14,7 +14,7 @@ import type SCREENS from '@src/SCREENS'; import ExpenseReportRulesSection from './ExpenseReportRulesSection'; import IndividualExpenseRulesSection from './IndividualExpenseRulesSection'; -type PolicyRulesPageProps = PlatformStackScreenProps; +type PolicyRulesPageProps = StackScreenProps; function PolicyRulesPage({route}: PolicyRulesPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/rules/RulesAutoApproveReportsUnderPage.tsx b/src/pages/workspace/rules/RulesAutoApproveReportsUnderPage.tsx index e5f91d0987c24..490db9a80d420 100644 --- a/src/pages/workspace/rules/RulesAutoApproveReportsUnderPage.tsx +++ b/src/pages/workspace/rules/RulesAutoApproveReportsUnderPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import AmountForm from '@components/AmountForm'; @@ -12,7 +13,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -22,7 +22,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesAutoApproveReportsUnderModalForm'; -type RulesAutoApproveReportsUnderPageProps = PlatformStackScreenProps; +type RulesAutoApproveReportsUnderPageProps = StackScreenProps; function RulesAutoApproveReportsUnderPage({route}: RulesAutoApproveReportsUnderPageProps) { const {policyID} = route.params; diff --git a/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx b/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx index 5f636668ff4bd..5218ab1f988bf 100644 --- a/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx +++ b/src/pages/workspace/rules/RulesAutoPayReportsUnderPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import AmountForm from '@components/AmountForm'; @@ -13,7 +14,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as PolicyActions from '@userActions/Policy/Policy'; @@ -22,7 +22,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesAutoPayReportsUnderModalForm'; -type RulesAutoPayReportsUnderPageProps = PlatformStackScreenProps; +type RulesAutoPayReportsUnderPageProps = StackScreenProps; function RulesAutoPayReportsUnderPage({route}: RulesAutoPayReportsUnderPageProps) { const policyID = route?.params?.policyID ?? '-1'; diff --git a/src/pages/workspace/rules/RulesBillableDefaultPage.tsx b/src/pages/workspace/rules/RulesBillableDefaultPage.tsx index 2b9d42ed748c4..900007f9a573f 100644 --- a/src/pages/workspace/rules/RulesBillableDefaultPage.tsx +++ b/src/pages/workspace/rules/RulesBillableDefaultPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -9,7 +10,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as Policy from '@userActions/Policy/Policy'; @@ -17,7 +17,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type RulesBillableDefaultPageProps = PlatformStackScreenProps; +type RulesBillableDefaultPageProps = StackScreenProps; function RulesBillableDefaultPage({ route: { diff --git a/src/pages/workspace/rules/RulesCustomNamePage.tsx b/src/pages/workspace/rules/RulesCustomNamePage.tsx index 1b6ac59977be1..4a142c01e1da5 100644 --- a/src/pages/workspace/rules/RulesCustomNamePage.tsx +++ b/src/pages/workspace/rules/RulesCustomNamePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import BulletList from '@components/BulletList'; @@ -14,7 +15,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as PolicyActions from '@userActions/Policy/Policy'; @@ -23,7 +23,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesCustomNameModalForm'; -type RulesCustomNamePageProps = PlatformStackScreenProps; +type RulesCustomNamePageProps = StackScreenProps; function RulesCustomNamePage({route}: RulesCustomNamePageProps) { const policyID = route?.params?.policyID ?? '-1'; diff --git a/src/pages/workspace/rules/RulesMaxExpenseAgePage.tsx b/src/pages/workspace/rules/RulesMaxExpenseAgePage.tsx index 6cc38e27ae391..991c1f252cade 100644 --- a/src/pages/workspace/rules/RulesMaxExpenseAgePage.tsx +++ b/src/pages/workspace/rules/RulesMaxExpenseAgePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as PolicyActions from '@userActions/Policy/Policy'; @@ -20,7 +20,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesMaxExpenseAgeForm'; -type RulesMaxExpenseAgePageProps = PlatformStackScreenProps; +type RulesMaxExpenseAgePageProps = StackScreenProps; function RulesMaxExpenseAgePage({ route: { diff --git a/src/pages/workspace/rules/RulesMaxExpenseAmountPage.tsx b/src/pages/workspace/rules/RulesMaxExpenseAmountPage.tsx index 5ae0a51e5bca2..dba43789bd34e 100644 --- a/src/pages/workspace/rules/RulesMaxExpenseAmountPage.tsx +++ b/src/pages/workspace/rules/RulesMaxExpenseAmountPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import AmountForm from '@components/AmountForm'; @@ -12,7 +13,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as PolicyActions from '@userActions/Policy/Policy'; @@ -21,7 +21,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesMaxExpenseAmountForm'; -type RulesMaxExpenseAmountPageProps = PlatformStackScreenProps; +type RulesMaxExpenseAmountPageProps = StackScreenProps; function RulesMaxExpenseAmountPage({ route: { diff --git a/src/pages/workspace/rules/RulesRandomReportAuditPage.tsx b/src/pages/workspace/rules/RulesRandomReportAuditPage.tsx index 0c1d6d599948f..ad5e24191ce9e 100644 --- a/src/pages/workspace/rules/RulesRandomReportAuditPage.tsx +++ b/src/pages/workspace/rules/RulesRandomReportAuditPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -21,7 +21,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesRandomReportAuditModalForm'; -type RulesRandomReportAuditPageProps = PlatformStackScreenProps; +type RulesRandomReportAuditPageProps = StackScreenProps; function RulesRandomReportAuditPage({route}: RulesRandomReportAuditPageProps) { const policyID = route?.params?.policyID ?? '-1'; diff --git a/src/pages/workspace/rules/RulesReceiptRequiredAmountPage.tsx b/src/pages/workspace/rules/RulesReceiptRequiredAmountPage.tsx index 96bd6f7cef8a1..9e7098d455029 100644 --- a/src/pages/workspace/rules/RulesReceiptRequiredAmountPage.tsx +++ b/src/pages/workspace/rules/RulesReceiptRequiredAmountPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import AmountForm from '@components/AmountForm'; @@ -12,7 +13,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import * as PolicyActions from '@userActions/Policy/Policy'; @@ -21,7 +21,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/RulesRequiredReceiptAmountForm'; -type RulesReceiptRequiredAmountPageProps = PlatformStackScreenProps; +type RulesReceiptRequiredAmountPageProps = StackScreenProps; function RulesReceiptRequiredAmountPage({ route: { diff --git a/src/pages/workspace/tags/EditTagPage.tsx b/src/pages/workspace/tags/EditTagPage.tsx index d79225ce665c4..c8cef174dbdb9 100644 --- a/src/pages/workspace/tags/EditTagPage.tsx +++ b/src/pages/workspace/tags/EditTagPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -12,7 +13,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -29,7 +29,7 @@ type EditTagPageOnyxProps = { policyTags: OnyxEntry; }; -type EditTagPageProps = EditTagPageOnyxProps & PlatformStackScreenProps; +type EditTagPageProps = EditTagPageOnyxProps & StackScreenProps; function EditTagPage({route, policyTags}: EditTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/ImportTagsPage.tsx b/src/pages/workspace/tags/ImportTagsPage.tsx index 9f7e1af0a9e57..0dd7c01f0af36 100644 --- a/src/pages/workspace/tags/ImportTagsPage.tsx +++ b/src/pages/workspace/tags/ImportTagsPage.tsx @@ -1,11 +1,11 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import ImportSpreedsheet from '@components/ImportSpreadsheet'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type ImportTagsPageProps = PlatformStackScreenProps; +type ImportTagsPageProps = StackScreenProps; function ImportTagsPage({route}: ImportTagsPageProps) { const policyID = route.params.policyID; diff --git a/src/pages/workspace/tags/ImportedTagsPage.tsx b/src/pages/workspace/tags/ImportedTagsPage.tsx index adba5d2d462a0..a4282145f73c4 100644 --- a/src/pages/workspace/tags/ImportedTagsPage.tsx +++ b/src/pages/workspace/tags/ImportedTagsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import {useOnyx} from 'react-native-onyx'; import ConfirmModal from '@components/ConfirmModal'; @@ -11,7 +12,6 @@ import {closeImportPage} from '@libs/actions/ImportSpreadsheet'; import {importPolicyTags} from '@libs/actions/Policy/Tag'; import {findDuplicate, generateColumnNames} from '@libs/importSpreadsheetUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import {isControlPolicy} from '@libs/PolicyUtils'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {Errors} from '@src/types/onyx/OnyxCommon'; -type ImportedTagsPageProps = PlatformStackScreenProps; +type ImportedTagsPageProps = StackScreenProps; function ImportedTagsPage({route}: ImportedTagsPageProps) { const {translate} = useLocalize(); diff --git a/src/pages/workspace/tags/TagApproverPage.tsx b/src/pages/workspace/tags/TagApproverPage.tsx index b6ea97c4d1bef..874754b2cf4b6 100644 --- a/src/pages/workspace/tags/TagApproverPage.tsx +++ b/src/pages/workspace/tags/TagApproverPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; import ScreenWrapper from '@components/ScreenWrapper'; @@ -5,7 +6,6 @@ import WorkspaceMembersSelectionList from '@components/WorkspaceMembersSelection import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -13,7 +13,7 @@ import * as Tag from '@userActions/Policy/Tag'; import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; -type TagApproverPageProps = PlatformStackScreenProps; +type TagApproverPageProps = StackScreenProps; function TagApproverPage({route}: TagApproverPageProps) { const {policyID, tagName} = route.params; diff --git a/src/pages/workspace/tags/TagGLCodePage.tsx b/src/pages/workspace/tags/TagGLCodePage.tsx index 3bd20f7dbc690..8360108be362f 100644 --- a/src/pages/workspace/tags/TagGLCodePage.tsx +++ b/src/pages/workspace/tags/TagGLCodePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {useOnyx} from 'react-native-onyx'; import FormProvider from '@components/Form/FormProvider'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTagForm'; -type EditTagGLCodePageProps = PlatformStackScreenProps; +type EditTagGLCodePageProps = StackScreenProps; function TagGLCodePage({route}: EditTagGLCodePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/TagSettingsPage.tsx b/src/pages/workspace/tags/TagSettingsPage.tsx index 40f3e50484040..f5599ed4c269e 100644 --- a/src/pages/workspace/tags/TagSettingsPage.tsx +++ b/src/pages/workspace/tags/TagSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useMemo} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -16,7 +17,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -28,7 +28,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type TagSettingsPageProps = PlatformStackScreenProps; +type TagSettingsPageProps = StackScreenProps; function TagSettingsPage({route, navigation}: TagSettingsPageProps) { const [policyTags] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_TAGS}${route.params.policyID}`); diff --git a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx index b3c9ac10cf2c6..cde6a55c5258e 100644 --- a/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx +++ b/src/pages/workspace/tags/WorkspaceCreateTagPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {Keyboard} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as ValidationUtils from '@libs/ValidationUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -30,7 +30,7 @@ type WorkspaceCreateTagPageOnyxProps = { policyTags: OnyxEntry; }; -type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & PlatformStackScreenProps; +type CreateTagPageProps = WorkspaceCreateTagPageOnyxProps & StackScreenProps; function CreateTagPage({route, policyTags}: CreateTagPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx index 019f840f9ab5c..d63799169ca82 100644 --- a/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceEditTagsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import {withOnyx} from 'react-native-onyx'; @@ -13,7 +14,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Tag from '@libs/actions/Policy/Tag'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -28,7 +28,7 @@ type WorkspaceEditTagsPageOnyxProps = { policyTags: OnyxEntry; }; -type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & PlatformStackScreenProps; +type WorkspaceEditTagsPageProps = WorkspaceEditTagsPageOnyxProps & StackScreenProps; function WorkspaceEditTagsPage({route, policyTags}: WorkspaceEditTagsPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/tags/WorkspaceTagsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsPage.tsx index 49c07eb285624..ffdfdead75917 100644 --- a/src/pages/workspace/tags/WorkspaceTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import lodashSortBy from 'lodash/sortBy'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; @@ -34,7 +35,6 @@ import {turnOffMobileSelectionMode} from '@libs/actions/MobileSelectionMode'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -48,7 +48,7 @@ import type {PendingAction} from '@src/types/onyx/OnyxCommon'; import type DeepValueOf from '@src/types/utils/DeepValueOf'; import type {PolicyTag, PolicyTagList, TagListItem} from './types'; -type WorkspaceTagsPageProps = PlatformStackScreenProps; +type WorkspaceTagsPageProps = StackScreenProps; function WorkspaceTagsPage({route}: WorkspaceTagsPageProps) { const {shouldUseNarrowLayout, isSmallScreenWidth} = useResponsiveLayout(); diff --git a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx index 92edcda8714a7..10902b70b25a6 100644 --- a/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceTagsSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo} from 'react'; import {View} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -15,7 +16,6 @@ import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; import * as Tag from '@libs/actions/Policy/Tag'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; @@ -31,7 +31,7 @@ type WorkspaceTagsSettingsPageOnyxProps = { /** Collection of tags attached to a policy */ policyTags: OnyxEntry; }; -type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & PlatformStackScreenProps; +type WorkspaceTagsSettingsPageProps = WorkspaceTagsSettingsPageOnyxProps & StackScreenProps; /** * The pending state might be set by either setPolicyBillableMode or disableWorkspaceBillableExpenses. diff --git a/src/pages/workspace/tags/WorkspaceViewTagsPage.tsx b/src/pages/workspace/tags/WorkspaceViewTagsPage.tsx index 41f60522e8d13..61013242c9e1a 100644 --- a/src/pages/workspace/tags/WorkspaceViewTagsPage.tsx +++ b/src/pages/workspace/tags/WorkspaceViewTagsPage.tsx @@ -1,4 +1,5 @@ import {useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -26,7 +27,6 @@ import {turnOffMobileSelectionMode} from '@libs/actions/MobileSelectionMode'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import localeCompare from '@libs/LocaleCompare'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {SettingsNavigatorParamList} from '@navigation/types'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -40,7 +40,7 @@ import type SCREENS from '@src/SCREENS'; import type DeepValueOf from '@src/types/utils/DeepValueOf'; import type {TagListItem} from './types'; -type WorkspaceViewTagsProps = PlatformStackScreenProps; +type WorkspaceViewTagsProps = StackScreenProps; function WorkspaceViewTagsPage({route}: WorkspaceViewTagsProps) { const {shouldUseNarrowLayout, isSmallScreenWidth} = useResponsiveLayout(); diff --git a/src/pages/workspace/taxes/NamePage.tsx b/src/pages/workspace/taxes/NamePage.tsx index cc3a22fa4ef90..0fb495a04574c 100644 --- a/src/pages/workspace/taxes/NamePage.tsx +++ b/src/pages/workspace/taxes/NamePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useState} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {renamePolicyTax, validateTaxName} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import Parser from '@libs/Parser'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -25,7 +25,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxNameForm'; -type NamePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type NamePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function NamePage({ route: { diff --git a/src/pages/workspace/taxes/ValuePage.tsx b/src/pages/workspace/taxes/ValuePage.tsx index 1da36229a7bed..5b724d625e5bd 100644 --- a/src/pages/workspace/taxes/ValuePage.tsx +++ b/src/pages/workspace/taxes/ValuePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import AmountForm from '@components/AmountForm'; import FormProvider from '@components/Form/FormProvider'; @@ -11,7 +12,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {updatePolicyTaxValue, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -24,7 +24,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxValueForm'; -type ValuePageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type ValuePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function ValuePage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx index 4dddcb42265d5..4a31f7d16b1e6 100644 --- a/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceCreateTaxPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import {createPolicyTax, getNextTaxCode, getTaxValueWithPercentage, validateTaxName, validateTaxValue} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -26,7 +26,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceNewTaxForm'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceCreateTaxPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceCreateTaxPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx index 7c4eb45bb9a00..0f50ed8fe0b85 100644 --- a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; import ConfirmModal from '@components/ConfirmModal'; @@ -14,7 +15,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import {clearTaxRateFieldError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs/actions/TaxRate'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -25,7 +25,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceEditTaxPageBaseProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceEditTaxPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx b/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx index 05536a4257e4a..e9005a8a58f29 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -12,7 +13,6 @@ import usePolicy from '@hooks/usePolicy'; import useThemeStyles from '@hooks/useThemeStyles'; import {setPolicyTaxCode, validateTaxCode} from '@libs/actions/TaxRate'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import CONST from '@src/CONST'; @@ -21,7 +21,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxCodeForm'; -type WorkspaceTaxCodePageProps = PlatformStackScreenProps; +type WorkspaceTaxCodePageProps = StackScreenProps; function WorkspaceTaxCodePage({route}: WorkspaceTaxCodePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx index df056ec85d1c9..31e4a5e093eba 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import Button from '@components/Button'; @@ -27,7 +28,6 @@ import {clearTaxRateError, deletePolicyTaxes, setPolicyTaxesEnabled} from '@libs import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import type {FullScreenNavigatorParamList} from '@navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -39,7 +39,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type {TaxRate} from '@src/types/onyx'; -type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceTaxesPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceTaxesPage({ policy, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx index 88edc1f25797c..f24a388011abe 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsCustomTaxName.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback} from 'react'; import {View} from 'react-native'; import FormProvider from '@components/Form/FormProvider'; @@ -10,7 +11,6 @@ import useAutoFocusInput from '@hooks/useAutoFocusInput'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as ValidationUtils from '@libs/ValidationUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -24,8 +24,7 @@ import type SCREENS from '@src/SCREENS'; import INPUT_IDS from '@src/types/form/WorkspaceTaxCustomName'; import type {WorkspaceTaxCustomName} from '@src/types/form/WorkspaceTaxCustomName'; -type WorkspaceTaxesSettingsCustomTaxNameProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; +type WorkspaceTaxesSettingsCustomTaxNameProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceTaxesSettingsCustomTaxName({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx index c481b5f5adeed..2e40667c1daf4 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,7 +7,6 @@ import TaxPicker from '@components/TaxPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -19,7 +19,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsForeignCurrencyProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + StackScreenProps; function WorkspaceTaxesSettingsForeignCurrency({ route: { params: {policyID}, diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx index 4de7c320cd2f4..bfd688facc5fc 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useMemo} from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -8,7 +9,6 @@ import ScrollView from '@components/ScrollView'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading'; @@ -17,7 +17,7 @@ import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; -type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & PlatformStackScreenProps; +type WorkspaceTaxesSettingsPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceTaxesSettingsPage({ route: { diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx index 81b81b7cba4c8..c46efe3fd243b 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -6,7 +7,6 @@ import TaxPicker from '@components/TaxPicker'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import type * as OptionsListUtils from '@libs/OptionsListUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; @@ -19,7 +19,7 @@ import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type WorkspaceTaxesSettingsWorkspaceCurrencyProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + StackScreenProps; function WorkspaceTaxesSettingsWorkspaceCurrency({ route: { diff --git a/src/pages/workspace/upgrade/WorkspaceUpgradePage.tsx b/src/pages/workspace/upgrade/WorkspaceUpgradePage.tsx index 0522aa59162f0..a8c9705663d4d 100644 --- a/src/pages/workspace/upgrade/WorkspaceUpgradePage.tsx +++ b/src/pages/workspace/upgrade/WorkspaceUpgradePage.tsx @@ -1,4 +1,5 @@ import {useNavigation} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -7,7 +8,6 @@ import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import NotFoundPage from '@pages/ErrorPage/NotFoundPage'; @@ -18,7 +18,7 @@ import type SCREENS from '@src/SCREENS'; import UpgradeConfirmation from './UpgradeConfirmation'; import UpgradeIntro from './UpgradeIntro'; -type WorkspaceUpgradePageProps = PlatformStackScreenProps; +type WorkspaceUpgradePageProps = StackScreenProps; function WorkspaceUpgradePage({route}: WorkspaceUpgradePageProps) { const navigation = useNavigation(); diff --git a/src/pages/workspace/withPolicy.tsx b/src/pages/workspace/withPolicy.tsx index ab2938a463ab4..e1fdd2b296876 100644 --- a/src/pages/workspace/withPolicy.tsx +++ b/src/pages/workspace/withPolicy.tsx @@ -1,8 +1,8 @@ +import type {RouteProp} from '@react-navigation/native'; import type {ComponentType, ForwardedRef, RefAttributes} from 'react'; import React, {forwardRef} from 'react'; import type {OnyxEntry} from 'react-native-onyx'; import {useOnyx} from 'react-native-onyx'; -import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList, BottomTabNavigatorParamList, FullScreenNavigatorParamList, ReimbursementAccountNavigatorParamList, SettingsNavigatorParamList} from '@navigation/types'; import * as Policy from '@userActions/Policy/Policy'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -12,7 +12,7 @@ import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue'; type NavigatorsParamList = BottomTabNavigatorParamList & AuthScreensParamList & SettingsNavigatorParamList & ReimbursementAccountNavigatorParamList & FullScreenNavigatorParamList; -type PolicyRoute = PlatformStackRouteProp< +type PolicyRoute = RouteProp< NavigatorsParamList, | typeof SCREENS.REIMBURSEMENT_ACCOUNT_ROOT | typeof SCREENS.WORKSPACE.INITIAL diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx index c3448c2f7c95d..d026c218910f2 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingFrequencyPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React from 'react'; import type {ValueOf} from 'type-fest'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; @@ -12,7 +13,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import * as Localize from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -27,7 +27,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; type AutoReportingFrequencyKey = Exclude, 'instant'>; type Locale = ValueOf; -type WorkspaceAutoReportingFrequencyPageProps = WithPolicyOnyxProps & PlatformStackScreenProps; +type WorkspaceAutoReportingFrequencyPageProps = WithPolicyOnyxProps & StackScreenProps; type WorkspaceAutoReportingFrequencyPageItem = { text: string; diff --git a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx index 8336700a7d796..a9f96061ec0a1 100644 --- a/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceAutoReportingMonthlyOffsetPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useState} from 'react'; import type {ValueOf} from 'type-fest'; import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView'; @@ -7,7 +8,6 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import useLocalize from '@hooks/useLocalize'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -21,8 +21,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; const DAYS_OF_MONTH = 28; -type WorkspaceAutoReportingMonthlyOffsetProps = WithPolicyOnyxProps & - PlatformStackScreenProps; +type WorkspaceAutoReportingMonthlyOffsetProps = WithPolicyOnyxProps & StackScreenProps; type AutoReportingOffsetKeys = ValueOf; diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index 0d910c8ccacc8..82c5bdb660bcc 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -1,4 +1,5 @@ import {useFocusEffect} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import {ActivityIndicator, View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -20,7 +21,6 @@ import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import * as ErrorUtils from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import {getPaymentMethodDescription} from '@libs/PaymentUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -42,7 +42,7 @@ import type {ToggleSettingOptionRowProps} from './ToggleSettingsOptionRow'; import {getAutoReportingFrequencyDisplayNames} from './WorkspaceAutoReportingFrequencyPage'; import type {AutoReportingFrequencyKey} from './WorkspaceAutoReportingFrequencyPage'; -type WorkspaceWorkflowsPageProps = WithPolicyProps & PlatformStackScreenProps; +type WorkspaceWorkflowsPageProps = WithPolicyProps & StackScreenProps; function WorkspaceWorkflowsPage({policy, route}: WorkspaceWorkflowsPageProps) { const {translate, preferredLocale} = useLocalize(); diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx index ce7016a05af1e..d127a13df240b 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; import type {OnyxEntry} from 'react-native-onyx'; @@ -14,7 +15,6 @@ import useNetwork from '@hooks/useNetwork'; import {formatPhoneNumber} from '@libs/LocalePhoneNumber'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -35,7 +35,7 @@ type WorkspaceWorkflowsPayerPageOnyxProps = { type WorkspaceWorkflowsPayerPageProps = WorkspaceWorkflowsPayerPageOnyxProps & WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + StackScreenProps; type MemberOption = Omit & {accountID: number}; type MembersSection = SectionListData>; diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsApproverPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsApproverPage.tsx index ec9b24e1362a6..6125ac842537d 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsApproverPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsApproverPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -18,7 +19,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -35,7 +35,7 @@ import type {Icon} from '@src/types/onyx/OnyxCommon'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; type WorkspaceWorkflowsApprovalsApproverPageProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + StackScreenProps; type SelectionListApprover = { text: string; diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsCreatePage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsCreatePage.tsx index f6d86eed7d10a..dc0f067f60df3 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsCreatePage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsCreatePage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useRef} from 'react'; // eslint-disable-next-line no-restricted-imports import type {ScrollView} from 'react-native'; @@ -10,7 +11,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper'; @@ -23,8 +23,7 @@ import type SCREENS from '@src/SCREENS'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; import ApprovalWorkflowEditor from './ApprovalWorkflowEditor'; -type WorkspaceWorkflowsApprovalsCreatePageProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; +type WorkspaceWorkflowsApprovalsCreatePageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceWorkflowsApprovalsCreatePage({policy, isLoadingReportData = true, route}: WorkspaceWorkflowsApprovalsCreatePageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx index cf8337f16b8ec..c2da4e39739aa 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsEditPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'; // eslint-disable-next-line no-restricted-imports import type {ScrollView} from 'react-native'; @@ -12,7 +13,6 @@ import ScreenWrapper from '@components/ScreenWrapper'; import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as PolicyUtils from '@libs/PolicyUtils'; import {convertPolicyEmployeesToApprovalWorkflows} from '@libs/WorkflowUtils'; @@ -27,8 +27,7 @@ import type ApprovalWorkflow from '@src/types/onyx/ApprovalWorkflow'; import {isEmptyObject} from '@src/types/utils/EmptyObject'; import ApprovalWorkflowEditor from './ApprovalWorkflowEditor'; -type WorkspaceWorkflowsApprovalsEditPageProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; +type WorkspaceWorkflowsApprovalsEditPageProps = WithPolicyAndFullscreenLoadingProps & StackScreenProps; function WorkspaceWorkflowsApprovalsEditPage({policy, isLoadingReportData = true, route}: WorkspaceWorkflowsApprovalsEditPageProps) { const styles = useThemeStyles(); diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx index 5622e5c107ce4..2c69f07ef83bf 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx @@ -1,3 +1,4 @@ +import type {StackScreenProps} from '@react-navigation/stack'; import React, {useCallback, useEffect, useMemo, useState} from 'react'; import type {SectionListData} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -18,7 +19,6 @@ import useLocalize from '@hooks/useLocalize'; import useThemeStyles from '@hooks/useThemeStyles'; import * as DeviceCapabilities from '@libs/DeviceCapabilities'; import Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {FullScreenNavigatorParamList} from '@libs/Navigation/types'; import * as OptionsListUtils from '@libs/OptionsListUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; @@ -48,7 +48,7 @@ type SelectionListMember = { type MembersSection = SectionListData>; type WorkspaceWorkflowsApprovalsExpensesFromPageProps = WithPolicyAndFullscreenLoadingProps & - PlatformStackScreenProps; + StackScreenProps; function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportData = true, route}: WorkspaceWorkflowsApprovalsExpensesFromPageProps) { const styles = useThemeStyles(); diff --git a/tests/perf-test/ChatFinderPage.perf-test.tsx b/tests/perf-test/ChatFinderPage.perf-test.tsx index fe656f8d8652b..4346977a1cd0e 100644 --- a/tests/perf-test/ChatFinderPage.perf-test.tsx +++ b/tests/perf-test/ChatFinderPage.perf-test.tsx @@ -1,4 +1,5 @@ import type * as NativeNavigation from '@react-navigation/native'; +import type {StackNavigationProp, StackScreenProps} from '@react-navigation/stack'; import {fireEvent, screen} from '@testing-library/react-native'; import React, {useMemo} from 'react'; import type {ComponentType} from 'react'; @@ -9,7 +10,6 @@ import {LocaleContextProvider} from '@components/LocaleContextProvider'; import OptionListContextProvider, {OptionsListContext} from '@components/OptionListContextProvider'; import {KeyboardStateProvider} from '@components/withKeyboardState'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; -import type {PlatformStackNavigationProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {RootStackParamList} from '@libs/Navigation/types'; import {createOptionList} from '@libs/OptionsListUtils'; import ChatFinderPage from '@pages/ChatFinderPage'; @@ -134,7 +134,7 @@ afterEach(() => { Onyx.clear(); }); -type ChatFinderPageProps = PlatformStackScreenProps & { +type ChatFinderPageProps = StackScreenProps & { betas?: OnyxEntry; reports?: OnyxCollection; isSearchingForReports?: OnyxEntry; @@ -175,7 +175,7 @@ test('[ChatFinderPage] should render list with cached options', async () => { await screen.findByTestId('ChatFinderPage'); }; - const navigation = {addListener} as unknown as PlatformStackNavigationProp; + const navigation = {addListener} as unknown as StackNavigationProp; return waitForBatchedUpdates() .then(() => @@ -209,7 +209,7 @@ test('[ChatFinderPage] should interact when text input changes', async () => { fireEvent.changeText(input, 'Email Five'); }; - const navigation = {addListener} as unknown as PlatformStackNavigationProp; + const navigation = {addListener} as unknown as StackNavigationProp; return waitForBatchedUpdates() .then(() => diff --git a/tests/perf-test/ReportScreen.perf-test.tsx b/tests/perf-test/ReportScreen.perf-test.tsx index 8733ad4cd0951..95ac9729e6060 100644 --- a/tests/perf-test/ReportScreen.perf-test.tsx +++ b/tests/perf-test/ReportScreen.perf-test.tsx @@ -1,3 +1,4 @@ +import type {StackNavigationProp, StackScreenProps} from '@react-navigation/stack'; import {screen} from '@testing-library/react-native'; import type {ComponentType} from 'react'; import React from 'react'; @@ -8,7 +9,6 @@ import type Animated from 'react-native-reanimated'; import {measurePerformance} from 'reassure'; import type {WithNavigationFocusProps} from '@components/withNavigationFocus'; import type Navigation from '@libs/Navigation/Navigation'; -import type {PlatformStackNavigationProp, PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {AuthScreensParamList} from '@libs/Navigation/types'; import ComposeProviders from '@src/components/ComposeProviders'; import DragAndDropProvider from '@src/components/DragAndDrop/Provider'; @@ -34,7 +34,7 @@ import * as TestHelper from '../utils/TestHelper'; import waitForBatchedUpdates from '../utils/waitForBatchedUpdates'; import wrapOnyxWithWaitForBatchedUpdates from '../utils/wrapOnyxWithWaitForBatchedUpdates'; -type ReportScreenWrapperProps = PlatformStackScreenProps; +type ReportScreenWrapperProps = StackScreenProps; jest.mock('@src/libs/API', () => ({ write: jest.fn(), @@ -209,7 +209,7 @@ test('[ReportScreen] should render ReportScreen', async () => { await screen.findByTestId(`report-screen-${report.reportID}`); }; - const navigation = {addListener} as unknown as PlatformStackNavigationProp; + const navigation = {addListener} as unknown as StackNavigationProp; await waitForBatchedUpdates(); const reportCollectionDataSet: ReportCollectionDataSet = { @@ -243,7 +243,7 @@ test('[ReportScreen] should render composer', async () => { await screen.findByTestId('composer'); }; - const navigation = {addListener} as unknown as PlatformStackNavigationProp; + const navigation = {addListener} as unknown as StackNavigationProp; await waitForBatchedUpdates(); @@ -278,7 +278,7 @@ test('[ReportScreen] should render report list', async () => { await screen.findByTestId('report-actions-list'); }; - const navigation = {addListener} as unknown as PlatformStackNavigationProp; + const navigation = {addListener} as unknown as StackNavigationProp; await waitForBatchedUpdates(); From 4f5047775c3f090f571e2af263e8f72e9962b397 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 18:01:19 +0200 Subject: [PATCH 158/178] further remove migration code --- .../Navigation/AppNavigator/AuthScreens.tsx | 12 +- .../ModalNavigatorScreenOptions.ts | 29 +-- .../ModalStackNavigators/index.tsx | 9 +- .../useModalScreenOptions.ts | 20 +-- .../Navigators/BottomTabNavigator.tsx | 5 +- .../Navigators/ExplanationModalNavigator.tsx | 6 +- .../FeatureTrainingModalNavigator.tsx | 6 +- .../Navigators/LeftModalNavigator.tsx | 8 +- .../Navigators/OnboardingModalNavigator.tsx | 4 +- .../Navigators/Overlay/index.native.tsx | 14 +- .../Navigators/RightModalNavigator.tsx | 15 +- .../Navigators/WelcomeVideoModalNavigator.tsx | 6 +- .../OnboardingModalNavigatorScreenOptions.ts | 9 +- .../Navigation/AppNavigator/PublicScreens.tsx | 13 +- .../CustomRouter.ts | 143 +++++++++++++++ .../createCustomStackNavigator/index.tsx | 119 +++++++++++++ .../createCustomStackNavigator/types.ts | 13 ++ .../AppNavigator/defaultScreenOptions.ts | 14 +- .../getRootNavigatorScreenOptions.ts | 166 +++++++++--------- .../index.android.ts | 4 +- src/libs/Navigation/types.ts | 26 +-- 21 files changed, 441 insertions(+), 200 deletions(-) create mode 100644 src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts create mode 100644 src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index 82e9ce6c713c6..dee84a4f201fa 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -53,7 +53,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; import type ReactComponentModule from '@src/types/utils/ReactComponentModule'; import beforeRemoveReportOpenedFromSearchRHP from './beforeRemoveReportOpenedFromSearchRHP'; import CENTRAL_PANE_SCREENS from './CENTRAL_PANE_SCREENS'; -import createResponsiveStackNavigator from './createResponsiveStackNavigator'; +import createCustomStackNavigator from './createCustomStackNavigator'; import defaultScreenOptions from './defaultScreenOptions'; import getRootNavigatorScreenOptions from './getRootNavigatorScreenOptions'; import BottomTabNavigator from './Navigators/BottomTabNavigator'; @@ -195,7 +195,7 @@ function handleNetworkReconnect() { } } -const RootStack = createResponsiveStackNavigator(); +const RootStack = createCustomStackNavigator(); // We want to delay the re-rendering for components(e.g. ReportActionCompose) // that depends on modal visibility until Modal is completely closed and its focused // When modal screen is focused, update modal visibility in Onyx @@ -226,7 +226,7 @@ const modalScreenListenersWithCancelSearch = { function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDAppliedToClient}: AuthScreensProps) { const styles = useThemeStyles(); const StyleUtils = useStyleUtils(); - const {shouldUseNarrowLayout, onboardingIsMediumOrLargerScreenWidth} = useResponsiveLayout(); + const {shouldUseNarrowLayout, onboardingIsMediumOrLargerScreenWidth, isSmallScreenWidth} = useResponsiveLayout(); const screenOptions = getRootNavigatorScreenOptions(shouldUseNarrowLayout, styles, StyleUtils); const {canUseDefaultRooms} = usePermissions(); const {activeWorkspaceID} = useActiveWorkspace(); @@ -409,7 +409,10 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie return ( - + { - let universalGestureDirection: PlatformStackNavigationOptions['gestureDirection'] | undefined; - let webGestureDirection: GestureDirection | undefined; - if (gestureDirection === 'horizontal' || gestureDirection === 'vertical') { - universalGestureDirection = gestureDirection; - } else { - webGestureDirection = gestureDirection; - } - - return { - headerShown: false, - animation: 'slide_from_right', - gestureDirection: universalGestureDirection, - web: { - cardStyle: themeStyles.navigationScreenCardStyle, - cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, - gestureDirection: webGestureDirection, - }, - }; -}; +const ModalNavigatorScreenOptions = (themeStyles: ThemeStyles, gestureDirection: GestureDirection = 'horizontal'): StackNavigationOptions => ({ + headerShown: false, + animationEnabled: true, + gestureDirection, + cardStyle: themeStyles.navigationScreenCardStyle, + cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, +}); export default ModalNavigatorScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx index 7f68b9421e83b..e1c645118003d 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx @@ -1,6 +1,7 @@ import type {ParamListBase} from '@react-navigation/routers'; +import type {StackNavigationOptions} from '@react-navigation/stack'; +import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type { AddPersonalBankAccountNavigatorParamList, DebugParamList, @@ -32,10 +33,10 @@ import type { TravelNavigatorParamList, WalletStatementNavigatorParamList, } from '@navigation/types'; +import type {ThemeStyles} from '@styles/index'; import type {Screen} from '@src/SCREENS'; import SCREENS from '@src/SCREENS'; import type ReactComponentModule from '@src/types/utils/ReactComponentModule'; -import type {GetModalStackScreenOptions} from './useModalScreenOptions'; import useModalScreenOptions from './useModalScreenOptions'; type Screens = Partial React.ComponentType>>; @@ -46,8 +47,8 @@ type Screens = Partial React.ComponentType>>; * @param screens key/value pairs where the key is the name of the screen and the value is a functon that returns the lazy-loaded component * @param getScreenOptions optional function that returns the screen options, override the default options */ -function createModalStackNavigator(screens: Screens, getScreenOptions?: GetModalStackScreenOptions): React.ComponentType { - const ModalStackNavigator = createPlatformStackNavigator(); +function createModalStackNavigator(screens: Screens, getScreenOptions?: (styles: ThemeStyles) => StackNavigationOptions): React.ComponentType { + const ModalStackNavigator = createStackNavigator(); function ModalStack() { const screenOptions = useModalScreenOptions(getScreenOptions); diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts index 892b50a49abb9..2193dcb2bf6b6 100644 --- a/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators/useModalScreenOptions.ts @@ -1,18 +1,14 @@ -import type {StackCardInterpolationProps} from '@react-navigation/stack'; +import type {StackCardInterpolationProps, StackNavigationOptions} from '@react-navigation/stack'; import {CardStyleInterpolators} from '@react-navigation/stack'; import {useMemo} from 'react'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import {isSafari} from '@libs/Browser'; -import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import createModalCardStyleInterpolator from '@navigation/AppNavigator/createModalCardStyleInterpolator'; import type {ThemeStyles} from '@src/styles'; -type GetModalStackScreenOptions = (styles: ThemeStyles) => PlatformStackNavigationOptions; - -function useModalScreenOptions(getScreenOptions?: GetModalStackScreenOptions) { +function useModalScreenOptions(getScreenOptions?: (styles: ThemeStyles) => StackNavigationOptions) { const styles = useThemeStyles(); const styleUtils = useStyleUtils(); const {shouldUseNarrowLayout} = useResponsiveLayout(); @@ -25,19 +21,15 @@ function useModalScreenOptions(getScreenOptions?: GetModalStackScreenOptions) { } const defaultSubRouteOptions = useMemo( - (): PlatformStackNavigationOptions => ({ - ...hideKeyboardOnSwipe, + (): StackNavigationOptions => ({ + cardStyle: styles.navigationScreenCardStyle, headerShown: false, - web: { - cardStyle: styles.navigationScreenCardStyle, - cardStyleInterpolator, - }, + cardStyleInterpolator, }), - [cardStyleInterpolator, styles.navigationScreenCardStyle], + [styles, cardStyleInterpolator], ); return getScreenOptions?.(styles) ?? defaultSubRouteOptions; } export default useModalScreenOptions; -export type {GetModalStackScreenOptions}; diff --git a/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx index 62cceee9f4002..30e8d4c668c69 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/BottomTabNavigator.tsx @@ -1,8 +1,8 @@ import {useNavigationState} from '@react-navigation/native'; +import type {StackNavigationOptions} from '@react-navigation/stack'; import React from 'react'; import createCustomBottomTabNavigator from '@libs/Navigation/AppNavigator/createCustomBottomTabNavigator'; import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; import type {BottomTabNavigatorParamList, CentralPaneName, NavigationPartialRoute, RootStackParamList} from '@libs/Navigation/types'; import SidebarScreen from '@pages/home/sidebar/SidebarScreen'; import SearchPageBottomTab from '@pages/Search/SearchPageBottomTab'; @@ -13,8 +13,9 @@ import ActiveCentralPaneRouteContext from './ActiveCentralPaneRouteContext'; const loadInitialSettingsPage = () => require('../../../../pages/settings/InitialSettingsPage').default; const Tab = createCustomBottomTabNavigator(); -const screenOptions: PlatformStackNavigationOptions = { +const screenOptions: StackNavigationOptions = { headerShown: false, + animationEnabled: false, }; function BottomTabNavigator() { diff --git a/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx index 0c964c3c4356e..f4136bb8783a5 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/ExplanationModalNavigator.tsx @@ -1,18 +1,18 @@ +import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; import ExplanationModal from '@components/ExplanationModal'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {ExplanationModalNavigatorParamList} from '@libs/Navigation/types'; import SCREENS from '@src/SCREENS'; -const Stack = createPlatformStackNavigator(); +const Stack = createStackNavigator(); function ExplanationModalNavigator() { return ( - + (); +const Stack = createStackNavigator(); function FeatureTrainingModalNavigator() { return ( - + ; +type LeftModalNavigatorProps = StackScreenProps; const loadChatFinder = () => require('../../../../pages/ChatFinderPage').default; const loadWorkspaceSwitcherPage = () => require('../../../../pages/WorkspaceSwitcherPage').default; -const Stack = createPlatformStackNavigator(); +const Stack = createStackNavigator(); function LeftModalNavigator({navigation}: LeftModalNavigatorProps) { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx index f34b6325762d5..4eb1409f192df 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx @@ -1,3 +1,4 @@ +import {createStackNavigator} from '@react-navigation/stack'; import React, {useCallback, useEffect} from 'react'; import {View} from 'react-native'; import {useOnyx} from 'react-native-onyx'; @@ -9,7 +10,6 @@ import useThemeStyles from '@hooks/useThemeStyles'; import hasCompletedGuidedSetupFlowSelector from '@libs/hasCompletedGuidedSetupFlowSelector'; import OnboardingModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions'; import Navigation from '@libs/Navigation/Navigation'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; import OnboardingRefManager from '@libs/OnboardingRefManager'; import OnboardingPersonalDetails from '@pages/OnboardingPersonalDetails'; @@ -22,7 +22,7 @@ import ROUTES from '@src/ROUTES'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -const Stack = createPlatformStackNavigator(); +const Stack = createStackNavigator(); function OnboardingModalNavigator() { const styles = useThemeStyles(); diff --git a/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx index cde195fca561b..0dd9e203c46b3 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/Overlay/index.native.tsx @@ -1,5 +1,15 @@ -function Overlay() { - return null; +import React from 'react'; +import type {BaseOverlayProps} from './BaseOverlay'; +import BaseOverlay from './BaseOverlay'; + +function Overlay({...rest}: Omit) { + return ( + + ); } Overlay.displayName = 'Overlay'; diff --git a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx index bf3867e3beac6..cd6a93165990c 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/RightModalNavigator.tsx @@ -1,4 +1,5 @@ -import type {StackCardInterpolationProps} from '@react-navigation/stack'; +import type {StackCardInterpolationProps, StackScreenProps} from '@react-navigation/stack'; +import {createStackNavigator} from '@react-navigation/stack'; import React, {useMemo, useRef} from 'react'; import {InteractionManager, View} from 'react-native'; import NoDropZone from '@components/DragAndDrop/NoDropZone'; @@ -7,20 +8,17 @@ import useStyleUtils from '@hooks/useStyleUtils'; import useThemeStyles from '@hooks/useThemeStyles'; import {abandonReviewDuplicateTransactions} from '@libs/actions/Transaction'; import {isSafari} from '@libs/Browser'; -import hideKeyboardOnSwipe from '@libs/Navigation/AppNavigator/hideKeyboardOnSwipe'; import ModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/ModalNavigatorScreenOptions'; import * as ModalStackNavigators from '@libs/Navigation/AppNavigator/ModalStackNavigators'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import createModalCardStyleInterpolator from '@navigation/AppNavigator/createModalCardStyleInterpolator'; import type {AuthScreensParamList, RightModalNavigatorParamList} from '@navigation/types'; import NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; -type RightModalNavigatorProps = PlatformStackScreenProps; +type RightModalNavigatorProps = StackScreenProps; -const Stack = createPlatformStackNavigator(); +const Stack = createStackNavigator(); function RightModalNavigator({navigation, route}: RightModalNavigatorProps) { const styles = useThemeStyles(); @@ -32,9 +30,7 @@ function RightModalNavigator({navigation, route}: RightModalNavigatorProps) { // The .forHorizontalIOS interpolator from `@react-navigation` is misbehaving on Safari, so we override it with Expensify custom interpolator if (isSafari()) { const customInterpolator = createModalCardStyleInterpolator(styleUtils); - if (options.web) { - options.web.cardStyleInterpolator = (props: StackCardInterpolationProps) => customInterpolator(shouldUseNarrowLayout, false, false, props); - } + options.cardStyleInterpolator = (props: StackCardInterpolationProps) => customInterpolator(shouldUseNarrowLayout, false, false, props); } return options; @@ -166,7 +162,6 @@ function RightModalNavigator({navigation, route}: RightModalNavigatorProps) { (); +const Stack = createStackNavigator(); function WelcomeVideoModalNavigator() { return ( - + ({ +const OnboardingModalNavigatorScreenOptions = (): StackNavigationOptions => ({ headerShown: false, + animationEnabled: true, gestureDirection: 'horizontal', + cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, presentation: 'transparentModal', - web: { - cardStyleInterpolator: CardStyleInterpolators.forHorizontalIOS, - }, }); export default OnboardingModalNavigatorScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/PublicScreens.tsx b/src/libs/Navigation/AppNavigator/PublicScreens.tsx index dbbb11c978d55..cfd41a4b1fa0f 100644 --- a/src/libs/Navigation/AppNavigator/PublicScreens.tsx +++ b/src/libs/Navigation/AppNavigator/PublicScreens.tsx @@ -1,6 +1,6 @@ +import {createStackNavigator} from '@react-navigation/stack'; import React from 'react'; import {NativeModules} from 'react-native'; -import createPlatformStackNavigator from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigator'; import type {PublicScreensParamList} from '@navigation/types'; import ConnectionCompletePage from '@pages/ConnectionCompletePage'; import SessionExpiredPage from '@pages/ErrorPage/SessionExpiredPage'; @@ -15,18 +15,20 @@ import NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; import defaultScreenOptions from './defaultScreenOptions'; -const RootStack = createPlatformStackNavigator(); +const RootStack = createStackNavigator(); function PublicScreens() { return ( - + {/* The structure for the HOME route has to be the same in public and auth screens. That's why the name for SignInPage is BOTTOM_TAB_NAVIGATOR. */} diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts new file mode 100644 index 0000000000000..411cbf1d26b0b --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts @@ -0,0 +1,143 @@ +import type {CommonActions, RouterConfigOptions, StackActionType, StackNavigationState} from '@react-navigation/native'; +import {findFocusedRoute, getPathFromState, StackRouter} from '@react-navigation/native'; +import type {ParamListBase} from '@react-navigation/routers'; +import getIsNarrowLayout from '@libs/getIsNarrowLayout'; +import * as Localize from '@libs/Localize'; +import getTopmostBottomTabRoute from '@libs/Navigation/getTopmostBottomTabRoute'; +import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; +import linkingConfig from '@libs/Navigation/linkingConfig'; +import getAdaptedStateFromPath from '@libs/Navigation/linkingConfig/getAdaptedStateFromPath'; +import type {NavigationPartialRoute, RootStackParamList, State} from '@libs/Navigation/types'; +import {isCentralPaneName, isOnboardingFlowName} from '@libs/NavigationUtils'; +import * as Welcome from '@userActions/Welcome'; +import CONST from '@src/CONST'; +import NAVIGATORS from '@src/NAVIGATORS'; +import SCREENS from '@src/SCREENS'; +import type {ResponsiveStackNavigatorRouterOptions} from './types'; + +function insertRootRoute(state: State, routeToInsert: NavigationPartialRoute) { + const nonModalRoutes = state.routes.filter( + (route) => route.name !== NAVIGATORS.RIGHT_MODAL_NAVIGATOR && route.name !== NAVIGATORS.LEFT_MODAL_NAVIGATOR && route.name !== NAVIGATORS.ONBOARDING_MODAL_NAVIGATOR, + ); + const modalRoutes = state.routes.filter( + (route) => route.name === NAVIGATORS.RIGHT_MODAL_NAVIGATOR || route.name === NAVIGATORS.LEFT_MODAL_NAVIGATOR || route.name === NAVIGATORS.ONBOARDING_MODAL_NAVIGATOR, + ); + + // It's safe to modify this state before returning in getRehydratedState. + + // @ts-expect-error Updating read only property + // noinspection JSConstantReassignment + state.routes = [...nonModalRoutes, routeToInsert, ...modalRoutes]; // eslint-disable-line + + // @ts-expect-error Updating read only property + // noinspection JSConstantReassignment + state.index = state.routes.length - 1; // eslint-disable-line + + // @ts-expect-error Updating read only property + // noinspection JSConstantReassignment + state.stale = true; // eslint-disable-line +} + +function compareAndAdaptState(state: StackNavigationState) { + // If the state of the last path is not defined the getPathFromState won't work correctly. + if (!state?.routes.at(-1)?.state) { + return; + } + + // We need to be sure that the bottom tab state is defined. + const topmostBottomTabRoute = getTopmostBottomTabRoute(state); + const isNarrowLayout = getIsNarrowLayout(); + + // This solutions is heuristics and will work for our cases. We may need to improve it in the future if we will have more cases to handle. + if (topmostBottomTabRoute && !isNarrowLayout) { + const fullScreenRoute = state.routes.find((route) => route.name === NAVIGATORS.FULL_SCREEN_NAVIGATOR); + + // If there is fullScreenRoute we don't need to add anything. + if (fullScreenRoute) { + return; + } + + // We will generate a template state and compare the current state with it. + // If there is a difference in the screens that should be visible under the overlay, we will add the screen from templateState to the current state. + const pathFromCurrentState = getPathFromState(state, linkingConfig.config); + const {adaptedState: templateState} = getAdaptedStateFromPath(pathFromCurrentState, linkingConfig.config); + + if (!templateState) { + return; + } + + const templateFullScreenRoute = templateState.routes.find((route) => route.name === NAVIGATORS.FULL_SCREEN_NAVIGATOR); + + // If templateFullScreenRoute is defined, and full screen route is not in the state, we need to add it. + if (templateFullScreenRoute) { + insertRootRoute(state, templateFullScreenRoute); + return; + } + + const topmostCentralPaneRoute = state.routes.filter((route) => isCentralPaneName(route.name)).at(-1); + const templateCentralPaneRoute = templateState.routes.find((route) => isCentralPaneName(route.name)); + + const topmostCentralPaneRouteExtracted = getTopmostCentralPaneRoute(state); + const templateCentralPaneRouteExtracted = getTopmostCentralPaneRoute(templateState as State); + + // If there is no templateCentralPaneRoute, we don't have anything to add. + if (!templateCentralPaneRoute) { + return; + } + + // If there is no topmostCentralPaneRoute in the state and template state has one, we need to add it. + if (!topmostCentralPaneRoute) { + insertRootRoute(state, templateCentralPaneRoute); + return; + } + + // If there is central pane route in state and template state has one, we need to check if they are the same. + if (topmostCentralPaneRouteExtracted && templateCentralPaneRouteExtracted && topmostCentralPaneRouteExtracted.name !== templateCentralPaneRouteExtracted.name) { + // Not every RHP screen has matching central pane defined. In that case we use the REPORT screen as default for initial screen. + // But we don't want to override the central pane for those screens as they may be opened with different central panes under the overlay. + // e.g. i-know-a-teacher may be opened with different central panes under the overlay + if (templateCentralPaneRouteExtracted.name === SCREENS.REPORT) { + return; + } + insertRootRoute(state, templateCentralPaneRoute); + } + } +} + +function shouldPreventReset(state: StackNavigationState, action: CommonActions.Action | StackActionType) { + if (action.type !== CONST.NAVIGATION_ACTIONS.RESET || !action?.payload) { + return false; + } + const currentFocusedRoute = findFocusedRoute(state); + const targetFocusedRoute = findFocusedRoute(action?.payload); + + // We want to prevent the user from navigating back to a non-onboarding screen if they are currently on an onboarding screen + if (isOnboardingFlowName(currentFocusedRoute?.name) && !isOnboardingFlowName(targetFocusedRoute?.name)) { + Welcome.setOnboardingErrorMessage(Localize.translateLocal('onboarding.purpose.errorBackButton')); + // We reset the URL as the browser sets it in a way that doesn't match the navigation state + // eslint-disable-next-line no-restricted-globals + history.replaceState({}, '', getPathFromState(state, linkingConfig.config)); + return true; + } +} + +function CustomRouter(options: ResponsiveStackNavigatorRouterOptions) { + const stackRouter = StackRouter(options); + + return { + ...stackRouter, + getRehydratedState(partialState: StackNavigationState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { + compareAndAdaptState(partialState); + const state = stackRouter.getRehydratedState(partialState, {routeNames, routeParamList, routeGetIdList}); + return state; + }, + getStateForAction(state: StackNavigationState, action: CommonActions.Action | StackActionType, configOptions: RouterConfigOptions) { + if (shouldPreventReset(state, action)) { + return state; + } + return stackRouter.getStateForAction(state, action, configOptions); + }, + }; +} + +export default CustomRouter; diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx new file mode 100644 index 0000000000000..a37a102ff8a3d --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/index.tsx @@ -0,0 +1,119 @@ +import type {ParamListBase, RouteProp, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; +import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import {StackView} from '@react-navigation/stack'; +import React, {useEffect, useMemo} from 'react'; +import {View} from 'react-native'; +import useResponsiveLayout from '@hooks/useResponsiveLayout'; +import useThemeStyles from '@hooks/useThemeStyles'; +import getTopmostCentralPaneRoute from '@libs/Navigation/getTopmostCentralPaneRoute'; +import navigationRef from '@libs/Navigation/navigationRef'; +import type {RootStackParamList, State} from '@libs/Navigation/types'; +import {isCentralPaneName} from '@libs/NavigationUtils'; +import SCREENS from '@src/SCREENS'; +import CustomRouter from './CustomRouter'; +import type {ResponsiveStackNavigatorProps, ResponsiveStackNavigatorRouterOptions} from './types'; + +type Routes = StackNavigationState['routes']; +function reduceCentralPaneRoutes(routes: Routes): Routes { + const result: Routes = []; + let count = 0; + const reverseRoutes = [...routes].reverse(); + + reverseRoutes.forEach((route) => { + if (isCentralPaneName(route.name)) { + // Remove all central pane routes except the last 3. This will improve performance. + if (count < 3) { + result.push(route); + count++; + } + } else { + result.push(route); + } + }); + + return result.reverse(); +} + +function ResponsiveStackNavigator(props: ResponsiveStackNavigatorProps) { + const {shouldUseNarrowLayout} = useResponsiveLayout(); + const styles = useThemeStyles(); + + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + StackNavigationState, + ResponsiveStackNavigatorRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(CustomRouter, { + children: props.children, + screenOptions: props.screenOptions, + initialRouteName: props.initialRouteName, + }); + + useEffect(() => { + if (!navigationRef.isReady()) { + return; + } + navigationRef.resetRoot(navigationRef.getRootState()); + }, [shouldUseNarrowLayout]); + + const {stateToRender, searchRoute} = useMemo(() => { + const routes = reduceCentralPaneRoutes(state.routes); + + if (shouldUseNarrowLayout) { + const isSearchCentralPane = (route: RouteProp) => getTopmostCentralPaneRoute({routes: [route]} as State)?.name === SCREENS.SEARCH.CENTRAL_PANE; + + const lastRoute = routes[routes.length - 1]; + const lastSearchCentralPane = isSearchCentralPane(lastRoute) ? lastRoute : undefined; + const filteredRoutes = routes.filter((route) => !isSearchCentralPane(route)); + + // On narrow layout, if we are on /search route we want to hide all central pane routes and show only the bottom tab navigator. + if (lastSearchCentralPane) { + return { + stateToRender: { + ...state, + index: 0, + routes: [filteredRoutes[0]], + }, + searchRoute: lastSearchCentralPane, + }; + } + + return { + stateToRender: { + ...state, + index: filteredRoutes.length - 1, + routes: filteredRoutes, + }, + searchRoute: undefined, + }; + } + + return { + stateToRender: { + ...state, + index: routes.length - 1, + routes: [...routes], + }, + searchRoute: undefined, + }; + }, [state, shouldUseNarrowLayout]); + + return ( + + + {searchRoute && {descriptors[searchRoute.key].render()}} + + ); +} + +ResponsiveStackNavigator.displayName = 'ResponsiveStackNavigator'; + +export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof ResponsiveStackNavigator>(ResponsiveStackNavigator); diff --git a/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts new file mode 100644 index 0000000000000..09d35e2a1680b --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomStackNavigator/types.ts @@ -0,0 +1,13 @@ +import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; + +type ResponsiveStackNavigatorConfig = { + isSmallScreenWidth: boolean; +}; + +type ResponsiveStackNavigatorRouterOptions = StackRouterOptions; + +type ResponsiveStackNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap> & + ResponsiveStackNavigatorConfig; + +export type {ResponsiveStackNavigatorRouterOptions, ResponsiveStackNavigatorProps, ResponsiveStackNavigatorConfig}; diff --git a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts index 8d941799a81a4..4015c43c679e1 100644 --- a/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/defaultScreenOptions.ts @@ -1,14 +1,12 @@ -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {StackNavigationOptions} from '@react-navigation/stack'; -const defaultScreenOptions: PlatformStackNavigationOptions = { +const defaultScreenOptions: StackNavigationOptions = { + cardStyle: { + overflow: 'visible', + flex: 1, + }, headerShown: false, animationTypeForReplace: 'push', - web: { - cardStyle: { - overflow: 'visible', - flex: 1, - }, - }, }; export default defaultScreenOptions; diff --git a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts index c9ff10e63401f..e09f85936385a 100644 --- a/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts +++ b/src/libs/Navigation/AppNavigator/getRootNavigatorScreenOptions.ts @@ -1,31 +1,29 @@ -import type {StackCardInterpolationProps} from '@react-navigation/stack'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import type {StackCardInterpolationProps, StackNavigationOptions} from '@react-navigation/stack'; import type {ThemeStyles} from '@styles/index'; import type {StyleUtilsType} from '@styles/utils'; import variables from '@styles/variables'; import CONFIG from '@src/CONFIG'; import createModalCardStyleInterpolator from './createModalCardStyleInterpolator'; -import getRightModalNavigatorOptions from './getRightModalNavigatorOptions'; -import hideKeyboardOnSwipe from './hideKeyboardOnSwipe'; -import leftModalNavigatorOptions from './leftModalNavigatorOptions'; +import getModalPresentationStyle from './getModalPresentationStyle'; -type GetOnboardingModalNavigatorOptions = (shouldUseNarrowLayout: boolean) => PlatformStackNavigationOptions; +type GetOnboardingModalNavigatorOptions = (shouldUseNarrowLayout: boolean) => StackNavigationOptions; type ScreenOptions = { - rightModalNavigator: PlatformStackNavigationOptions; + rightModalNavigator: StackNavigationOptions; onboardingModalNavigator: GetOnboardingModalNavigatorOptions; - leftModalNavigator: PlatformStackNavigationOptions; - homeScreen: PlatformStackNavigationOptions; - fullScreen: PlatformStackNavigationOptions; - centralPaneNavigator: PlatformStackNavigationOptions; - bottomTab: PlatformStackNavigationOptions; + leftModalNavigator: StackNavigationOptions; + homeScreen: StackNavigationOptions; + fullScreen: StackNavigationOptions; + centralPaneNavigator: StackNavigationOptions; + bottomTab: StackNavigationOptions; }; -const commonScreenOptions: PlatformStackNavigationOptions = { +const commonScreenOptions: StackNavigationOptions = { headerShown: false, - web: { - cardOverlayEnabled: true, - }, + gestureDirection: 'horizontal', + animationEnabled: true, + cardOverlayEnabled: true, + animationTypeForReplace: 'push', }; type GetRootNavigatorScreenOptions = (isSmallScreenWidth: boolean, styles: ThemeStyles, StyleUtils: StyleUtilsType) => ScreenOptions; @@ -36,10 +34,18 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr return { rightModalNavigator: { ...commonScreenOptions, - ...getRightModalNavigatorOptions(isSmallScreenWidth), - ...hideKeyboardOnSwipe, - web: { - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + presentation: getModalPresentationStyle(), + + // We want pop in RHP since there are some flows that would work weird otherwise + animationTypeForReplace: 'pop', + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + + // This is necessary to cover translated sidebar with overlay. + width: isSmallScreenWidth ? '100%' : '200%', + // Excess space should be on the left so we need to position from right. + right: 0, }, }, onboardingModalNavigator: (shouldUseNarrowLayout: boolean) => ({ @@ -48,96 +54,88 @@ const getRootNavigatorScreenOptions: GetRootNavigatorScreenOptions = (isSmallScr animationEnabled: true, cardOverlayEnabled: false, presentation: 'transparentModal', - web: { - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - backgroundColor: 'transparent', - width: '100%', - top: 0, - left: 0, - position: 'fixed', - }, + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + backgroundColor: 'transparent', + width: '100%', + top: 0, + left: 0, + position: 'fixed', }, }), leftModalNavigator: { ...commonScreenOptions, - ...leftModalNavigatorOptions, + cardStyleInterpolator: (props) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + presentation: getModalPresentationStyle(), + gestureDirection: 'horizontal-inverted', + + // We want pop in LHP since there are some flows that would work weird otherwise animationTypeForReplace: 'pop', - web: { - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - // We want pop in LHP since there are some flows that would work weird otherwise - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - - // This is necessary to cover translated sidebar with overlay. - width: isSmallScreenWidth ? '100%' : '200%', - - // LHP should be displayed in place of the sidebar - left: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - }, + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + + // This is necessary to cover translated sidebar with overlay. + width: isSmallScreenWidth ? '100%' : '200%', + + // LHP should be displayed in place of the sidebar + left: isSmallScreenWidth ? 0 : -variables.sideBarWidth, }, }, homeScreen: { - ...commonScreenOptions, title: CONFIG.SITE_TITLE, - web: { - // Note: The card* properties won't be applied on mobile platforms, as they use the native defaults. - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, - - // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. - marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - ...(isSmallScreenWidth ? {} : themeStyles.borderRight), - }, + ...commonScreenOptions, + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, + + // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. + marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + ...(isSmallScreenWidth ? {} : themeStyles.borderRight), }, }, fullScreen: { ...commonScreenOptions, - // We need to turn off animation for the full screen to avoid delay when closing screens. - animation: isSmallScreenWidth ? 'slide_from_right' : 'none', - web: { - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - - // This is necessary to cover whole screen. Including translated sidebar. - marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - }, + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + + // This is necessary to cover whole screen. Including translated sidebar. + marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, }, + + // We need to turn off animation for the full screen to avoid delay when closing screens. + animationEnabled: isSmallScreenWidth, }, centralPaneNavigator: { - ...commonScreenOptions, - ...hideKeyboardOnSwipe, title: CONFIG.SITE_TITLE, - animation: isSmallScreenWidth ? undefined : 'none', - web: { - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, - }, + ...commonScreenOptions, + animationEnabled: isSmallScreenWidth, + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, true, false, props), + + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + paddingRight: isSmallScreenWidth ? 0 : variables.sideBarWidth, }, }, bottomTab: { ...commonScreenOptions, - web: { - cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), - cardStyle: { - ...StyleUtils.getNavigationModalCardStyle(), - width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, - - // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. - marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, - ...(isSmallScreenWidth ? {} : themeStyles.borderRight), - }, + cardStyleInterpolator: (props: StackCardInterpolationProps) => modalCardStyleInterpolator(isSmallScreenWidth, false, false, props), + + cardStyle: { + ...StyleUtils.getNavigationModalCardStyle(), + width: isSmallScreenWidth ? '100%' : variables.sideBarWidth, + + // We need to shift the sidebar to not be covered by the StackNavigator so it can be clickable. + marginLeft: isSmallScreenWidth ? 0 : -variables.sideBarWidth, + ...(isSmallScreenWidth ? {} : themeStyles.borderRight), }, }, - } satisfies ScreenOptions; + }; }; export default getRootNavigatorScreenOptions; diff --git a/src/libs/Navigation/setupCustomAndroidBackHandler/index.android.ts b/src/libs/Navigation/setupCustomAndroidBackHandler/index.android.ts index d31c3693d495e..f7c2140b11170 100644 --- a/src/libs/Navigation/setupCustomAndroidBackHandler/index.android.ts +++ b/src/libs/Navigation/setupCustomAndroidBackHandler/index.android.ts @@ -1,13 +1,13 @@ import {findFocusedRoute, StackActions} from '@react-navigation/native'; +import type {StackScreenProps} from '@react-navigation/stack'; import {BackHandler, NativeModules} from 'react-native'; -import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import getTopmostCentralPaneRoute from '@navigation/getTopmostCentralPaneRoute'; import navigationRef from '@navigation/navigationRef'; import type {BottomTabNavigatorParamList, RootStackParamList, State} from '@navigation/types'; import NAVIGATORS from '@src/NAVIGATORS'; import SCREENS from '@src/SCREENS'; -type SearchPageProps = PlatformStackScreenProps; +type SearchPageProps = StackScreenProps; // We need to do some custom handling for the back button on Android for actions related to the search page. function setupCustomAndroidBackHandler() { diff --git a/src/libs/Navigation/types.ts b/src/libs/Navigation/types.ts index c859c97b545c1..39053de521db2 100644 --- a/src/libs/Navigation/types.ts +++ b/src/libs/Navigation/types.ts @@ -17,7 +17,7 @@ import type {SaveSearchParams} from '@libs/API/parameters'; import type CONST from '@src/CONST'; import type {Country, IOUAction, IOUType} from '@src/CONST'; import type NAVIGATORS from '@src/NAVIGATORS'; -import type {Route as ExpensifyRoute, HybridAppRoute, Route as Routes} from '@src/ROUTES'; +import type {HybridAppRoute, Route as Routes} from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; import type EXIT_SURVEY_REASON_FORM_INPUT_IDS from '@src/types/form/ExitSurveyReasonForm'; import type {ConnectionName, SageIntacctMappingName} from '@src/types/onyx/Policy'; @@ -1074,18 +1074,6 @@ type MoneyRequestNavigatorParamList = { backTo?: Routes; currency?: string; }; - [SCREENS.MONEY_REQUEST.HOLD]: { - /** ID of the transaction the page was opened for */ - transactionID: string; - - /** ID of the report that user is providing hold reason to */ - reportID: string; - - /** Link to previous page */ - backTo: ExpensifyRoute; - - searchHash?: number; - }; }; type NewTaskNavigatorParamList = { @@ -1488,18 +1476,6 @@ type SearchReportParamList = { reportID: string; reportActionID?: string; }; - [SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP]: { - /** ID of the transaction the page was opened for */ - transactionID: string; - - /** ID of the report that user is providing hold reason to */ - reportID: string; - - /** Link to previous page */ - backTo: ExpensifyRoute; - - searchHash?: number; - }; }; type SearchAdvancedFiltersParamList = { From e3f43722138e0abca2988cd7347e7e9f140a7848 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 18:04:13 +0200 Subject: [PATCH 159/178] keep old custom navigator factories --- .../BottomTabBar.tsx | 0 .../BottomTabNavigationContentWrapper.tsx | 0 .../TopBar.tsx | 0 .../index.tsx | 0 .../useCustomState/index.native.ts | 0 .../useCustomState/index.ts | 0 .../CustomFullScreenRouter.tsx | 0 .../index.tsx | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename src/libs/Navigation/AppNavigator/{createCustomBottomTabNavigator => createCustomPlatformStackBottomTabNavigator}/BottomTabBar.tsx (100%) rename src/libs/Navigation/AppNavigator/{createCustomBottomTabNavigator => createCustomPlatformStackBottomTabNavigator}/BottomTabNavigationContentWrapper.tsx (100%) rename src/libs/Navigation/AppNavigator/{createCustomBottomTabNavigator => createCustomPlatformStackBottomTabNavigator}/TopBar.tsx (100%) rename src/libs/Navigation/AppNavigator/{createCustomBottomTabNavigator => createCustomPlatformStackBottomTabNavigator}/index.tsx (100%) rename src/libs/Navigation/AppNavigator/{createCustomBottomTabNavigator => createCustomPlatformStackBottomTabNavigator}/useCustomState/index.native.ts (100%) rename src/libs/Navigation/AppNavigator/{createCustomBottomTabNavigator => createCustomPlatformStackBottomTabNavigator}/useCustomState/index.ts (100%) rename src/libs/Navigation/AppNavigator/{createCustomFullScreenNavigator => createCustomPlatformStackFullScreenNavigator}/CustomFullScreenRouter.tsx (100%) rename src/libs/Navigation/AppNavigator/{createCustomFullScreenNavigator => createCustomPlatformStackFullScreenNavigator}/index.tsx (100%) diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabBar.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabBar.tsx rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabNavigationContentWrapper.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabNavigationContentWrapper.tsx rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabNavigationContentWrapper.tsx diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/TopBar.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/TopBar.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/TopBar.tsx rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/TopBar.tsx diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/useCustomState/index.native.ts b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.native.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/useCustomState/index.native.ts rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.native.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/useCustomState/index.ts b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/useCustomState/index.ts rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/index.tsx similarity index 100% rename from src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx rename to src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/index.tsx From 78de04c3f77d0011450e04ae8d83116dd6d2e192 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 18:06:22 +0200 Subject: [PATCH 160/178] add back old navigator factories --- .../BottomTabBar.tsx | 191 ++++++++++++++++++ .../createCustomBottomTabNavigator/TopBar.tsx | 103 ++++++++++ .../createCustomBottomTabNavigator/index.tsx | 74 +++++++ .../CustomFullScreenRouter.tsx | 76 +++++++ .../index.native.tsx | 36 ++++ .../createCustomFullScreenNavigator/index.tsx | 50 +++++ .../createCustomFullScreenNavigator/types.ts | 8 + 7 files changed, 538 insertions(+) create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabBar.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/TopBar.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx create mode 100644 src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabBar.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabBar.tsx new file mode 100644 index 0000000000000..5befa446f6f98 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/BottomTabBar.tsx @@ -0,0 +1,191 @@ +import {useNavigation} from '@react-navigation/native'; +import React, {memo, useCallback, useEffect, useState} from 'react'; +import {NativeModules, View} from 'react-native'; +import {useOnyx} from 'react-native-onyx'; +import Icon from '@components/Icon'; +import * as Expensicons from '@components/Icon/Expensicons'; +import {PressableWithFeedback} from '@components/Pressable'; +import type {SearchQueryString} from '@components/Search/types'; +import Tooltip from '@components/Tooltip'; +import useActiveWorkspace from '@hooks/useActiveWorkspace'; +import useLocalize from '@hooks/useLocalize'; +import useTheme from '@hooks/useTheme'; +import useThemeStyles from '@hooks/useThemeStyles'; +import * as Session from '@libs/actions/Session'; +import interceptAnonymousUser from '@libs/interceptAnonymousUser'; +import Navigation from '@libs/Navigation/Navigation'; +import type {AuthScreensParamList, RootStackParamList, State} from '@libs/Navigation/types'; +import {isCentralPaneName} from '@libs/NavigationUtils'; +import * as PolicyUtils from '@libs/PolicyUtils'; +import * as SearchUtils from '@libs/SearchUtils'; +import type {BrickRoad} from '@libs/WorkspacesSettingsUtils'; +import {getChatTabBrickRoad} from '@libs/WorkspacesSettingsUtils'; +import navigationRef from '@navigation/navigationRef'; +import BottomTabAvatar from '@pages/home/sidebar/BottomTabAvatar'; +import BottomTabBarFloatingActionButton from '@pages/home/sidebar/BottomTabBarFloatingActionButton'; +import variables from '@styles/variables'; +import * as Welcome from '@userActions/Welcome'; +import * as OnboardingFlow from '@userActions/Welcome/OnboardingFlow'; +import CONST from '@src/CONST'; +import NAVIGATORS from '@src/NAVIGATORS'; +import ONYXKEYS from '@src/ONYXKEYS'; +import type {Route} from '@src/ROUTES'; +import ROUTES from '@src/ROUTES'; +import SCREENS from '@src/SCREENS'; + +type BottomTabBarProps = { + selectedTab: string | undefined; +}; + +/** + * Returns SearchQueryString that has policyID correctly set. + * + * When we're coming back to Search Screen we might have pre-existing policyID inside SearchQuery. + * There are 2 cases when we might want to remove this `policyID`: + * - if Policy was removed in another screen + * - if WorkspaceSwitcher was used to globally unset a policyID + * Otherwise policyID will be inserted into query + */ +function handleQueryWithPolicyID(query: SearchQueryString, activePolicyID?: string): SearchQueryString { + const queryJSON = SearchUtils.buildSearchQueryJSON(query); + if (!queryJSON) { + return query; + } + + const policyID = activePolicyID ?? queryJSON.policyID; + const policy = PolicyUtils.getPolicy(policyID); + + // In case policy is missing or there is no policy currently selected via WorkspaceSwitcher we remove it + if (!activePolicyID || !policy) { + delete queryJSON.policyID; + } else { + queryJSON.policyID = policyID; + } + + return SearchUtils.buildSearchQueryString(queryJSON); +} + +function BottomTabBar({selectedTab}: BottomTabBarProps) { + const theme = useTheme(); + const styles = useThemeStyles(); + const {translate} = useLocalize(); + const navigation = useNavigation(); + const {activeWorkspaceID} = useActiveWorkspace(); + const [isLoadingApp] = useOnyx(ONYXKEYS.IS_LOADING_APP); + const transactionViolations = useOnyx(ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS); + const [chatTabBrickRoad, setChatTabBrickRoad] = useState(getChatTabBrickRoad(activeWorkspaceID)); + + useEffect(() => { + setChatTabBrickRoad(getChatTabBrickRoad(activeWorkspaceID)); + }, [activeWorkspaceID, transactionViolations]); + + useEffect(() => { + const navigationState = navigation.getState() as State | undefined; + const routes = navigationState?.routes; + const currentRoute = routes?.[navigationState?.index ?? 0]; + // When we are redirected to the Settings tab from the OldDot, we don't want to call the Welcome.show() method. + // To prevent this, the value of the bottomTabRoute?.name is checked here + if (!!(currentRoute && currentRoute.name !== NAVIGATORS.BOTTOM_TAB_NAVIGATOR && !isCentralPaneName(currentRoute.name)) || Session.isAnonymousUser()) { + return; + } + + // HybridApp has own entry point when we decide whether to display onboarding and explanation modal. + if (NativeModules.HybridAppModule) { + return; + } + + Welcome.isOnboardingFlowCompleted({ + onNotCompleted: () => OnboardingFlow.startOnboardingFlow(), + }); + + // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps + }, [isLoadingApp]); + + const navigateToChats = useCallback(() => { + if (selectedTab === SCREENS.HOME) { + return; + } + const route = activeWorkspaceID ? (`/w/${activeWorkspaceID}/${ROUTES.HOME}` as Route) : ROUTES.HOME; + Navigation.navigate(route); + }, [activeWorkspaceID, selectedTab]); + + const navigateToSearch = useCallback(() => { + if (selectedTab === SCREENS.SEARCH.BOTTOM_TAB) { + return; + } + interceptAnonymousUser(() => { + const rootState = navigationRef.getRootState() as State; + const lastSearchRoute = rootState.routes.filter((route) => route.name === SCREENS.SEARCH.CENTRAL_PANE).at(-1); + + if (lastSearchRoute) { + const {q, ...rest} = lastSearchRoute.params as AuthScreensParamList[typeof SCREENS.SEARCH.CENTRAL_PANE]; + const cleanedQuery = handleQueryWithPolicyID(q, activeWorkspaceID); + + Navigation.navigate( + ROUTES.SEARCH_CENTRAL_PANE.getRoute({ + query: cleanedQuery, + ...rest, + }), + ); + return; + } + + const defaultCannedQuery = SearchUtils.buildCannedSearchQuery(); + // when navigating to search we might have an activePolicyID set from workspace switcher + const query = activeWorkspaceID ? `${defaultCannedQuery} ${CONST.SEARCH.SYNTAX_ROOT_KEYS.POLICY_ID}:${activeWorkspaceID}` : defaultCannedQuery; + Navigation.navigate(ROUTES.SEARCH_CENTRAL_PANE.getRoute({query})); + }); + }, [activeWorkspaceID, selectedTab]); + + return ( + + + + + + {chatTabBrickRoad && ( + + )} + + + + + + + + + + + + + + + + ); +} + +BottomTabBar.displayName = 'BottomTabBar'; + +export default memo(BottomTabBar); diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/TopBar.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/TopBar.tsx new file mode 100644 index 0000000000000..4684eb9637be2 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/TopBar.tsx @@ -0,0 +1,103 @@ +import React from 'react'; +import {View} from 'react-native'; +import {useOnyx} from 'react-native-onyx'; +import Breadcrumbs from '@components/Breadcrumbs'; +import Icon from '@components/Icon'; +import * as Expensicons from '@components/Icon/Expensicons'; +import {PressableWithoutFeedback} from '@components/Pressable'; +import SearchButton from '@components/Search/SearchRouter/SearchButton'; +import Text from '@components/Text'; +import Tooltip from '@components/Tooltip'; +import WorkspaceSwitcherButton from '@components/WorkspaceSwitcherButton'; +import useLocalize from '@hooks/useLocalize'; +import usePolicy from '@hooks/usePolicy'; +import useTheme from '@hooks/useTheme'; +import useThemeStyles from '@hooks/useThemeStyles'; +import Navigation from '@libs/Navigation/Navigation'; +import Performance from '@libs/Performance'; +import * as SearchUtils from '@libs/SearchUtils'; +import SignInButton from '@pages/home/sidebar/SignInButton'; +import * as Session from '@userActions/Session'; +import Timing from '@userActions/Timing'; +import CONST from '@src/CONST'; +import ONYXKEYS from '@src/ONYXKEYS'; +import ROUTES from '@src/ROUTES'; + +type TopBarProps = {breadcrumbLabel: string; activeWorkspaceID?: string; shouldDisplaySearch?: boolean; isCustomSearchQuery?: boolean; shouldDisplaySearchRouter?: boolean}; + +function TopBar({breadcrumbLabel, activeWorkspaceID, shouldDisplaySearch = true, isCustomSearchQuery = false, shouldDisplaySearchRouter = false}: TopBarProps) { + const styles = useThemeStyles(); + const theme = useTheme(); + const {translate} = useLocalize(); + const policy = usePolicy(activeWorkspaceID); + const [session] = useOnyx(ONYXKEYS.SESSION, {selector: (sessionValue) => sessionValue && {authTokenType: sessionValue.authTokenType}}); + const isAnonymousUser = Session.isAnonymousUser(session); + + const headerBreadcrumb = policy?.name + ? {type: CONST.BREADCRUMB_TYPE.STRONG, text: policy.name} + : { + type: CONST.BREADCRUMB_TYPE.ROOT, + }; + + const displaySignIn = isAnonymousUser; + const displaySearch = !isAnonymousUser && shouldDisplaySearch; + + return ( + + + + + + + + + + {displaySignIn && } + {isCustomSearchQuery && ( + { + Navigation.goBack(ROUTES.SEARCH_CENTRAL_PANE.getRoute({query: SearchUtils.buildCannedSearchQuery()})); + }} + > + {translate('common.cancel')} + + )} + {shouldDisplaySearchRouter && } + {displaySearch && ( + + { + Timing.start(CONST.TIMING.CHAT_FINDER_RENDER); + Performance.markStart(CONST.TIMING.CHAT_FINDER_RENDER); + Navigation.navigate(ROUTES.CHAT_FINDER); + })} + > + + + + )} + + + ); +} + +TopBar.displayName = 'TopBar'; + +export default TopBar; diff --git a/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx new file mode 100644 index 0000000000000..89b83dae816cf --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomBottomTabNavigator/index.tsx @@ -0,0 +1,74 @@ +import type {DefaultNavigatorOptions, ParamListBase, StackActionHelpers, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import {createNavigatorFactory, StackRouter, useNavigationBuilder} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import {StackView} from '@react-navigation/stack'; +import React from 'react'; +import {View} from 'react-native'; +import ScreenWrapper from '@components/ScreenWrapper'; +import useThemeStyles from '@hooks/useThemeStyles'; +import type {NavigationStateRoute} from '@libs/Navigation/types'; +import SCREENS from '@src/SCREENS'; +import BottomTabBar from './BottomTabBar'; + +type CustomNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap> & { + initialRouteName: string; +}; + +function getStateToRender(state: StackNavigationState): StackNavigationState { + const routesToRender = [state.routes.at(-1)] as NavigationStateRoute[]; + + // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. + // Currently this value will be switched only after the first HOME screen is rendered. + if (routesToRender[0].name !== SCREENS.HOME) { + const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); + if (routeToRender) { + routesToRender.unshift(routeToRender); + } + } + + return {...state, routes: routesToRender, index: routesToRender.length - 1}; +} + +function CustomBottomTabNavigator({initialRouteName, children, screenOptions, ...props}: CustomNavigatorProps) { + const {state, navigation, descriptors, NavigationContent} = useNavigationBuilder< + StackNavigationState, + StackRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(StackRouter, { + children, + screenOptions, + initialRouteName, + }); + + const styles = useThemeStyles(); + const stateToRender = getStateToRender(state); + const selectedTab = stateToRender.routes.at(-1)?.name; + + return ( + + + + + + + + + ); +} + +CustomBottomTabNavigator.displayName = 'CustomBottomTabNavigator'; + +export default createNavigatorFactory(CustomBottomTabNavigator); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx new file mode 100644 index 0000000000000..27e976d9be0c0 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx @@ -0,0 +1,76 @@ +import type {ParamListBase, PartialState, RouterConfigOptions, StackNavigationState} from '@react-navigation/native'; +import {StackRouter} from '@react-navigation/native'; +import getIsNarrowLayout from '@libs/getIsNarrowLayout'; +import SCREENS from '@src/SCREENS'; +import type {FullScreenNavigatorRouterOptions} from './types'; + +type StackState = StackNavigationState | PartialState>; + +const isAtLeastOneInState = (state: StackState, screenName: string): boolean => state.routes.some((route) => route.name === screenName); + +function adaptStateIfNecessary(state: StackState) { + const isNarrowLayout = getIsNarrowLayout(); + const workspaceCentralPane = state.routes.at(-1); + + // There should always be WORKSPACE.INITIAL screen in the state to make sure go back works properly if we deeplinkg to a subpage of settings. + if (!isAtLeastOneInState(state, SCREENS.WORKSPACE.INITIAL)) { + // @ts-expect-error Updating read only property + // noinspection JSConstantReassignment + state.stale = true; // eslint-disable-line + + // This is necessary for ts to narrow type down to PartialState. + if (state.stale === true) { + // Unshift the root screen to fill left pane. + state.routes.unshift({ + name: SCREENS.WORKSPACE.INITIAL, + params: workspaceCentralPane?.params, + }); + } + } + + // If the screen is wide, there should be at least two screens inside: + // - WORKSPACE.INITIAL to cover left pane. + // - WORKSPACE.PROFILE (first workspace settings screen) to cover central pane. + if (!isNarrowLayout) { + if (state.routes.length === 1 && state.routes[0].name === SCREENS.WORKSPACE.INITIAL) { + // @ts-expect-error Updating read only property + // noinspection JSConstantReassignment + state.stale = true; // eslint-disable-line + // Push the default settings central pane screen. + if (state.stale === true) { + state.routes.push({ + name: SCREENS.WORKSPACE.PROFILE, + params: state.routes[0]?.params, + }); + } + } + // eslint-disable-next-line no-param-reassign, @typescript-eslint/non-nullable-type-assertion-style + (state.index as number) = state.routes.length - 1; + } +} + +function CustomFullScreenRouter(options: FullScreenNavigatorRouterOptions) { + const stackRouter = StackRouter(options); + + return { + ...stackRouter, + getInitialState({routeNames, routeParamList, routeGetIdList}: RouterConfigOptions) { + const initialState = stackRouter.getInitialState({routeNames, routeParamList, routeGetIdList}); + adaptStateIfNecessary(initialState); + + // If we needed to modify the state we need to rehydrate it to get keys for new routes. + if (initialState.stale) { + return stackRouter.getRehydratedState(initialState, {routeNames, routeParamList, routeGetIdList}); + } + + return initialState; + }, + getRehydratedState(partialState: StackState, {routeNames, routeParamList, routeGetIdList}: RouterConfigOptions): StackNavigationState { + adaptStateIfNecessary(partialState); + const state = stackRouter.getRehydratedState(partialState, {routeNames, routeParamList, routeGetIdList}); + return state; + }, + }; +} + +export default CustomFullScreenRouter; diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx new file mode 100644 index 0000000000000..2f61f1519df06 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.native.tsx @@ -0,0 +1,36 @@ +import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; +import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import {StackView} from '@react-navigation/stack'; +import CustomFullScreenRouter from './CustomFullScreenRouter'; +import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; + +function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + StackNavigationState, + FullScreenNavigatorRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(CustomFullScreenRouter, { + children: props.children, + screenOptions: props.screenOptions, + initialRouteName: props.initialRouteName, + }); + + return ( + + + + ); +} + +CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + +export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof CustomFullScreenNavigator>(CustomFullScreenNavigator); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx new file mode 100644 index 0000000000000..ee8dd54c920d7 --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/index.tsx @@ -0,0 +1,50 @@ +import type {ParamListBase, StackActionHelpers, StackNavigationState} from '@react-navigation/native'; +import {createNavigatorFactory, useNavigationBuilder} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; +import {StackView} from '@react-navigation/stack'; +import React, {useEffect} from 'react'; +import useResponsiveLayout from '@hooks/useResponsiveLayout'; +import navigationRef from '@libs/Navigation/navigationRef'; +import CustomFullScreenRouter from './CustomFullScreenRouter'; +import type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions} from './types'; + +function CustomFullScreenNavigator(props: FullScreenNavigatorProps) { + const {navigation, state, descriptors, NavigationContent} = useNavigationBuilder< + StackNavigationState, + FullScreenNavigatorRouterOptions, + StackActionHelpers, + StackNavigationOptions, + StackNavigationEventMap + >(CustomFullScreenRouter, { + children: props.children, + screenOptions: props.screenOptions, + initialRouteName: props.initialRouteName, + }); + + const {shouldUseNarrowLayout} = useResponsiveLayout(); + + useEffect(() => { + if (!navigationRef.isReady()) { + return; + } + // We need to separately reset state of this navigator to trigger getRehydratedState. + navigation.reset(navigation.getState()); + // eslint-disable-next-line react-compiler/react-compiler, react-hooks/exhaustive-deps + }, [shouldUseNarrowLayout]); + + return ( + + + + ); +} + +CustomFullScreenNavigator.displayName = 'CustomFullScreenNavigator'; + +export default createNavigatorFactory, StackNavigationOptions, StackNavigationEventMap, typeof CustomFullScreenNavigator>(CustomFullScreenNavigator); diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts new file mode 100644 index 0000000000000..7e7808c003d7c --- /dev/null +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/types.ts @@ -0,0 +1,8 @@ +import type {DefaultNavigatorOptions, ParamListBase, StackNavigationState, StackRouterOptions} from '@react-navigation/native'; +import type {StackNavigationEventMap, StackNavigationOptions} from '@react-navigation/stack'; + +type FullScreenNavigatorRouterOptions = StackRouterOptions; + +type FullScreenNavigatorProps = DefaultNavigatorOptions, StackNavigationOptions, StackNavigationEventMap>; + +export type {FullScreenNavigatorProps, FullScreenNavigatorRouterOptions}; From cb2687a467d9c16d5647786645d29cc8cbefa0bf Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Mon, 30 Sep 2024 18:09:12 +0200 Subject: [PATCH 161/178] revert Podfile.lock changes --- ios/Podfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d36e6147ad04d..beac64acd0839 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1946,7 +1946,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - react-native-view-shot (4.0.0-alpha.3): + - react-native-view-shot (3.8.0): - React-Core - react-native-webview (13.8.6): - DoubleConversion @@ -2537,7 +2537,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNScreens (4.0.0-beta.0): + - RNScreens (3.34.0): - DoubleConversion - glog - hermes-engine @@ -2558,9 +2558,9 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNScreens/common (= 4.0.0-beta.0) + - RNScreens/common (= 3.34.0) - Yoga - - RNScreens/common (4.0.0-beta.0): + - RNScreens/common (3.34.0): - DoubleConversion - glog - hermes-engine @@ -3188,7 +3188,7 @@ SPEC CHECKSUMS: react-native-quick-sqlite: 7c793c9f5834e756b336257a8d8b8239b7ceb451 react-native-release-profiler: 131ec5e4145d900b2be2a8d6641e2ce0dd784259 react-native-safe-area-context: 38fdd9b3c5561de7cabae64bd0cd2ce05d2768a1 - react-native-view-shot: ee44129a7c470310d3c7e67085834fc8cc077655 + react-native-view-shot: 6b7ed61d77d88580fed10954d45fad0eb2d47688 react-native-webview: ad29375839c9aa0409ce8e8693291b42bdc067a4 React-nativeconfig: 57781b79e11d5af7573e6f77cbf1143b71802a6d React-NativeModulesApple: 7ff2e2cfb2e5fa5bdedcecf28ce37e696c6ef1e1 @@ -3235,7 +3235,7 @@ SPEC CHECKSUMS: RNPermissions: 0b1429b55af59d1d08b75a8be2459f65a8ac3f28 RNReactNativeHapticFeedback: 73756a3477a5a622fa16862a3ab0d0fc5e5edff5 RNReanimated: 76901886830e1032f16bbf820153f7dc3f02d51d - RNScreens: cecfc1861f155b68584a6aa7bd284ac5ca38eb3a + RNScreens: de6e57426ba0e6cbc3fb5b4f496e7f08cb2773c2 RNShare: bd4fe9b95d1ee89a200778cc0753ebe650154bb0 RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852 RNSVG: 1079f96b39a35753d481a20e30603fd6fc4f6fa9 From 225194a4628ca0df3e9e9778fd3eb5e8133a8bb6 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Tue, 1 Oct 2024 00:17:58 +0200 Subject: [PATCH 162/178] fix: missing react import --- .../AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx index 4ea085981a5a6..2455587660ab3 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/SearchRoute.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import {View} from 'react-native'; import useThemeStyles from '@hooks/useThemeStyles'; import type {ExtraContentProps} from '@libs/Navigation/PlatformStackNavigation/types'; From 525325b6226cf50541b3c426ef8412c3b08bfa16 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 4 Oct 2024 10:50:44 +0200 Subject: [PATCH 163/178] fix: vision camera patch --- ...4.0.0-beta.13+001+rn75-compatibility.patch | 47 +++++++++++++------ ...stack-unmount-recycle-camera-session.patch | 12 ++--- 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch b/patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch index b66b659dab577..4e0961ec536ac 100644 --- a/patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch +++ b/patches/react-native-vision-camera+4.0.0-beta.13+001+rn75-compatibility.patch @@ -1335,7 +1335,7 @@ index 0000000..46c2c2c +#endif /* RCT_NEW_ARCH_ENABLED */ diff --git a/node_modules/react-native-vision-camera/ios/RNCameraView.mm b/node_modules/react-native-vision-camera/ios/RNCameraView.mm new file mode 100644 -index 0000000..b90427e +index 0000000..019be20 --- /dev/null +++ b/node_modules/react-native-vision-camera/ios/RNCameraView.mm @@ -0,0 +1,377 @@ @@ -1384,7 +1384,7 @@ index 0000000..b90427e + + //The remaining part of the initializer is standard Objective-C code to create views and layout them with AutoLayout. Here we can change whatever we want to. + _view = [[CameraView alloc] init]; -+ _view.delegate = self; ++ _view.delegate = self; + + self.contentView = _view; +} @@ -1397,9 +1397,9 @@ index 0000000..b90427e +{ + const auto &newViewProps = *std::static_pointer_cast(props); + const auto &oldViewProps = *std::static_pointer_cast(_props); -+ ++ + NSMutableArray* changedProps = [[NSMutableArray alloc] init]; -+ ++ + if(oldViewProps.isActive != newViewProps.isActive){ + _view.isActive = newViewProps.isActive; + [changedProps addObject:@"isActive"]; @@ -1496,12 +1496,12 @@ index 0000000..b90427e + _view.enableFpsGraph = newViewProps.enableFpsGraph; + [changedProps addObject:@"enableFpsGraph"]; + } -+ -+ ++ ++ + if(_view.format == nil){ + _view.format =[ [NSMutableDictionary alloc] init]; + } -+ ++ + + //Checking format props, TODO: find cleaner way to do it + if(oldViewProps.format.supportsDepthCapture != newViewProps.format.supportsDepthCapture){ @@ -1521,7 +1521,7 @@ index 0000000..b90427e + [_view.format setValue:newPixelFormats forKey:@"pixelFormats"]; + [changedProps addObject:@"format"]; + } -+ ++ + if(oldViewProps.format.videoStabilizationModes.size() != newViewProps.format.videoStabilizationModes.size()){ + NSMutableArray* newVideoStabilizationModes = [[NSMutableArray alloc] init]; + for(int i = 0; i < newViewProps.format.videoStabilizationModes.size(); i++){ @@ -1530,7 +1530,7 @@ index 0000000..b90427e + [_view.format setValue:newVideoStabilizationModes forKey:@"videoStabilizationModes"]; + [changedProps addObject:@"format"]; + } -+ ++ + if(oldViewProps.format.photoHeight != newViewProps.format.photoHeight){ + [_view.format setValue:[NSNumber numberWithDouble:newViewProps.format.photoHeight] forKey:@"photoHeight"]; + [changedProps addObject:@"format"]; @@ -1578,11 +1578,11 @@ index 0000000..b90427e + [_view.format setValue:supportsPhotoHDR forKey:@"supportsPhotoHDR"]; + [changedProps addObject:@"format"]; + } -+ ++ + if (_view.format.count == 0) { + _view.format = nil; + } -+ ++ + if(_view.codeScannerOptions == nil){ + _view.codeScannerOptions =[[NSMutableDictionary alloc] init]; + } @@ -1595,12 +1595,12 @@ index 0000000..b90427e + [_view.codeScannerOptions setValue:newCodeTypes forKey:@"codeTypes"]; + [changedProps addObject:@"codeScannerOptions"]; + } -+ ++ + if(oldViewProps.codeScannerOptions.interval != newViewProps.codeScannerOptions.interval){ + [_view.codeScannerOptions setValue:[NSNumber numberWithDouble:newViewProps.codeScannerOptions.interval] forKey:@"interval"]; + [changedProps addObject:@"codeScannerOptions"]; + } -+ ++ + if( + oldViewProps.codeScannerOptions.regionOfInterest.x != newViewProps.codeScannerOptions.regionOfInterest.x || + oldViewProps.codeScannerOptions.regionOfInterest.y != newViewProps.codeScannerOptions.regionOfInterest.y || @@ -1616,7 +1616,7 @@ index 0000000..b90427e + [_view.codeScannerOptions setValue:newRegionOfInterest forKey:@"regionOfInterest"]; + [changedProps addObject:@"codeScannerOptions"]; + } -+ ++ + if (_view.codeScannerOptions.count == 0) { + _view.codeScannerOptions = nil; + } @@ -2005,6 +2005,25 @@ index 0000000..e47e42f @@ -0,0 +1 @@ +{"version":3,"file":"CameraViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/CameraViewNativeComponent.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAGnG,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;AAEnE,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;QAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;YAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;YACX,CAAC,CAAC,EAAE,MAAM,CAAC;YACX,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,kBAAkB,CAChC,QAAQ,CAAC;QACP,KAAK,CAAC,EAAE,QAAQ,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,KAAK,CAAC,EAAE,QAAQ,CAAC;gBAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAC,CAAC,CAAC;SAC1E,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,QAAQ,CAAC;YAAE,KAAK,EAAE,KAAK,CAAC;YAAC,MAAM,EAAE,KAAK,CAAA;SAAE,CAAC,CAAC;QAClD,OAAO,CAAC,EAAE,QAAQ,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9C,CAAC,CACH,CAAC;IACF,SAAS,CAAC,EAAE,kBAAkB,CAC5B,QAAQ,CAAC;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CACH,CAAC;IACF,SAAS,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,kBAAkB,CAC1B,QAAQ,CAAC;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,QAAQ,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrF,CAAC,CACH,CAAC;IACF,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C;;AAED,wBAAiE"} \ No newline at end of file +diff --git a/node_modules/react-native-vision-camera/package.json b/node_modules/react-native-vision-camera/package.json +index 86352fa..7af9577 100644 +--- a/node_modules/react-native-vision-camera/package.json ++++ b/node_modules/react-native-vision-camera/package.json +@@ -166,5 +166,13 @@ + ] + ] + }, +- "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447" ++ "codegenConfig": { ++ "name": "RNVisioncameraSpec", ++ "type": "all", ++ "jsSrcsDir": "./src/specs", ++ "android": { ++ "javaPackageName": "com.mrousavy.camera" ++ } ++ }, ++ "packageManager": "yarn@1.22.19" + } diff --git a/node_modules/react-native-vision-camera/src/Camera.tsx b/node_modules/react-native-vision-camera/src/Camera.tsx index 18733ba..1668322 100644 --- a/node_modules/react-native-vision-camera/src/Camera.tsx diff --git a/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch b/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch index d72f513e3d0d5..ac9bda68f9d9d 100644 --- a/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch +++ b/patches/react-native-vision-camera+4.0.0-beta.13+002+native-stack-unmount-recycle-camera-session.patch @@ -5,7 +5,7 @@ index b90427e..0be4171 100644 @@ -34,26 +34,43 @@ + (ComponentDescriptorProvider)componentDescriptorProvider return concreteComponentDescriptorProvider(); } - + -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; @@ -14,15 +14,15 @@ index b90427e..0be4171 100644 +- (void) initCamera { + static const auto defaultProps = std::make_shared(); _props = defaultProps; - + - //The remaining part of the initializer is standard Objective-C code to create views and layout them with AutoLayout. Here we can change whatever we want to. + // The remaining part of the initializer is standard bjective-C code to create views and layout them with utoLayout. Here we can change whatever we want to. _view = [[CameraView alloc] init]; _view.delegate = self; - + self.contentView = _view; } - + -return self; +- (instancetype)initWithFrame:(CGRect)frame +{ @@ -42,7 +42,7 @@ index b90427e..0be4171 100644 + _view = nil; + self.contentView = nil; } - + // why we need this func -> https://reactnative.dev/docs/next/the-new-architecture/pillars-fabric-components#write-the-native-ios-code - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &)oldProps { @@ -52,4 +52,4 @@ index b90427e..0be4171 100644 + const auto &newViewProps = *std::static_pointer_cast(props); const auto &oldViewProps = *std::static_pointer_cast(_props); - + From 107e5c5deb73645233687e5a01642b6b9f335cfa Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Fri, 4 Oct 2024 11:13:15 +0200 Subject: [PATCH 164/178] fix: lint and ts --- .../CustomFullScreenRouter.tsx | 2 +- .../useCustomState/index.ts | 2 +- .../useStateWithSearch.ts | 23 +++++++++++-------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx index 7dc66d06fd4a1..18cb758c57038 100644 --- a/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomFullScreenNavigator/CustomFullScreenRouter.tsx @@ -32,7 +32,7 @@ function adaptStateIfNecessary(state: StackState) { // - WORKSPACE.INITIAL to cover left pane. // - WORKSPACE.PROFILE (first workspace settings screen) to cover central pane. if (!isNarrowLayout) { - if (state.routes.length === 1 && state.routes[0].name === SCREENS.WORKSPACE.INITIAL) { + if (state.routes.length === 1 && state.routes.at(0)?.name === SCREENS.WORKSPACE.INITIAL) { // @ts-expect-error Updating read only property // noinspection JSConstantReassignment state.stale = true; // eslint-disable-line diff --git a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts index e959219a3e222..e95c6c292dbc1 100644 --- a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts +++ b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.ts @@ -7,7 +7,7 @@ function useCustomState({state}: CustomStateHookProps) { // We need to render at least one HOME screen to make sure everything load properly. This may be not necessary after changing how IS_SIDEBAR_LOADED is handled. // Currently this value will be switched only after the first HOME screen is rendered. - if (routesToRender[0].name !== SCREENS.HOME) { + if (routesToRender.at(0)?.name !== SCREENS.HOME) { const routeToRender = state.routes.find((route) => route.name === SCREENS.HOME); if (routeToRender) { routesToRender.unshift(routeToRender); diff --git a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.ts b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.ts index fb62ba23c80f1..c2017c69edf2a 100644 --- a/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.ts +++ b/src/libs/Navigation/AppNavigator/createResponsiveStackNavigator/useStateWithSearch.ts @@ -35,20 +35,23 @@ function useStateWithSearch({state}: CustomStateHookProps) { const isSearchCentralPane = (route: PlatformStackRouteProp) => getTopmostCentralPaneRoute({routes: [route]} as State)?.name === SCREENS.SEARCH.CENTRAL_PANE; - const lastRoute = routes[routes.length - 1]; - const lastSearchCentralPane = isSearchCentralPane(lastRoute) ? lastRoute : undefined; + const lastRoute = routes.at(-1); + const lastSearchCentralPane = lastRoute && isSearchCentralPane(lastRoute) ? lastRoute : undefined; const filteredRoutes = routes.filter((route) => !isSearchCentralPane(route)); // On narrow layout, if we are on /search route we want to hide all central pane routes and show only the bottom tab navigator. if (lastSearchCentralPane) { - return { - stateToRender: { - ...state, - index: 0, - routes: [filteredRoutes[0]], - }, - searchRoute: lastSearchCentralPane, - }; + const filteredRoute = filteredRoutes.at(0); + if (filteredRoute) { + return { + stateToRender: { + ...state, + index: 0, + routes: [filteredRoute], + }, + searchRoute: lastSearchCentralPane, + }; + } } return { From 1d51dbfc2f8a63da689591f2cb521d537a0675b8 Mon Sep 17 00:00:00 2001 From: Christoph Pader Date: Sun, 6 Oct 2024 20:14:47 +0200 Subject: [PATCH 165/178] fix: lint --- .../CustomFullScreenRouter.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx index d47bc261bfdbe..5c837fc93a5bc 100644 --- a/src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomPlatformStackFullScreenNavigator/CustomFullScreenRouter.tsx @@ -32,7 +32,7 @@ function adaptStateIfNecessary(state: StackState) { // - WORKSPACE.INITIAL to cover left pane. // - WORKSPACE.PROFILE (first workspace settings screen) to cover central pane. if (!isNarrowLayout) { - if (state.routes.length === 1 && state.routes[0].name === SCREENS.WORKSPACE.INITIAL) { + if (state.routes.length === 1 && state.routes.at(0)?.name === SCREENS.WORKSPACE.INITIAL) { // @ts-expect-error Updating read only property // noinspection JSConstantReassignment state.stale = true; // eslint-disable-line @@ -40,7 +40,7 @@ function adaptStateIfNecessary(state: StackState) { if (state.stale === true) { state.routes.push({ name: SCREENS.WORKSPACE.PROFILE, - params: state.routes[0]?.params, + params: state.routes.at(0)?.params, }); } } From e9892002b532ee3fb87daf2b2fde14cd863c766c Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 13:40:25 +0200 Subject: [PATCH 166/178] fix: apply bottom tab state transformation to mobile as well, because without it we render N*2 screens instead of 2, we can not switch workspace, navigation-context params broken too --- .../useCustomState/index.native.ts | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.native.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.native.ts b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.native.ts deleted file mode 100644 index 30127edcd6bdd..0000000000000 --- a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/useCustomState/index.native.ts +++ /dev/null @@ -1,3 +0,0 @@ -const useCustomState = undefined; - -export default useCustomState; From d880c399fbf99ebeb579f3b6f842c0bed170e3f0 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 13:51:51 +0200 Subject: [PATCH 167/178] fix: storybook --- ...6.4.11+002+platform-navigation-stack-types.patch | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch index 8e20103875ae1..ab0b9701c35f3 100644 --- a/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch +++ b/patches/@react-navigation+core+6.4.11+002+platform-navigation-stack-types.patch @@ -215,19 +215,6 @@ index 55b77ca..564a9dc 100644 \ No newline at end of file +{"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","convertCustomScreenOptions","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"} \ No newline at end of file -diff --git a/node_modules/@react-navigation/core/lib/module/index.js b/node_modules/@react-navigation/core/lib/module/index.js -index 1d42c3a..06f6bde 100644 ---- a/node_modules/@react-navigation/core/lib/module/index.js -+++ b/node_modules/@react-navigation/core/lib/module/index.js -@@ -17,7 +17,7 @@ export * from './types'; - export { default as useFocusEffect } from './useFocusEffect'; - export { default as useIsFocused } from './useIsFocused'; - export { default as useNavigation } from './useNavigation'; --export { default as useNavigationBuilder } from './useNavigationBuilder'; -+export { NavigationBuilderOptions, default as useNavigationBuilder } from './useNavigationBuilder'; - export { default as useNavigationContainerRef } from './useNavigationContainerRef'; - export { default as useNavigationState } from './useNavigationState'; - export { default as UNSTABLE_usePreventRemove } from './usePreventRemove'; diff --git a/node_modules/@react-navigation/core/lib/module/index.js.map b/node_modules/@react-navigation/core/lib/module/index.js.map index ed01400..32855ca 100644 --- a/node_modules/@react-navigation/core/lib/module/index.js.map From ec2cbe97cabd1923265b128bac5c4da25dba78bd Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 17:01:34 +0200 Subject: [PATCH 168/178] fix: create constants and re-use them instead of string duplication --- .../getRightModalNavigatorOptions/index.native.ts | 3 ++- .../leftModalNavigatorOptions/index.native.ts | 3 ++- .../AppNavigator/leftModalNavigatorOptions/index.ts | 3 ++- .../defaultPlatformStackScreenOptions.ts | 3 ++- .../navigationOptions/animation/index.ts | 8 ++++++++ .../animation/slideFromBottom/index.native.ts | 3 ++- .../animation/slideFromLeft/index.android.ts | 1 - .../navigationOptions/animation/withAnimation.ts | 7 ++++--- 8 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts index 9feb0a3f3a472..3e13976c46b83 100644 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts @@ -1,8 +1,9 @@ +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const rightModalNavigatorOptions = (): PlatformStackNavigationOptions => ({ presentation: 'card', - animation: 'slide_from_right', + animation: Animations.SLIDE_FROM_RIGHT, }); export default rightModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts index d4618348af6ff..f8c71f4a8801c 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts @@ -1,7 +1,8 @@ +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const leftModalNavigatorOptions: PlatformStackNavigationOptions = { - animation: 'slide_from_left', + animation: Animations.SLIDE_FROM_LEFT, native: { customAnimationOnGesture: true, }, diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts index 7a06b0a216e79..d1117131d938d 100644 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts +++ b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts @@ -1,8 +1,9 @@ +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const leftModalNavigatorOptions: PlatformStackNavigationOptions = { presentation: 'transparentModal', - animation: 'slide_from_left', + animation: Animations.SLIDE_FROM_LEFT, // customAnimationOnGesture: true, }; diff --git a/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts b/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts index da84ab3b2d0f5..5dccfc4d84909 100644 --- a/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts @@ -1,7 +1,8 @@ +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; import type {PlatformStackNavigationOptions} from './types'; const defaultPlatformStackScreenOptions: PlatformStackNavigationOptions = { - animation: 'slide_from_right', + animation: Animations.SLIDE_FROM_RIGHT, headerShown: false, }; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts new file mode 100644 index 0000000000000..306963a246946 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts @@ -0,0 +1,8 @@ +const TRANSITION_ANIMATIONS = { + SLIDE_FROM_LEFT: 'slide_from_left', + SLIDE_FROM_RIGHT: 'slide_from_right', + SLIDE_FROM_BOTTOM: 'slide_from_bottom', + NONE: 'none', +} as const; + +export default TRANSITION_ANIMATIONS; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts index 7e36c811fe428..e6477e64b7857 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts @@ -1,5 +1,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; -const slideFromBottom: NativeStackNavigationOptions = {animation: 'slide_from_bottom'}; +const slideFromBottom: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM}; export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index 1a4df4a6c0a1f..f1f675a76b89c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,7 +1,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -// const transition: NativeStackNavigationOptions['animation'] = 'slide_from_right'; const slideFromLeft: NativeStackNavigationOptions = {animation: 'ios_from_left'}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts index 1d1eee595c712..d485c62ea463e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/withAnimation.ts @@ -1,6 +1,7 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import type {StackNavigationOptions} from '@react-navigation/stack'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; +import Animations from './index'; import none from './none'; import slideFromBottom from './slideFromBottom'; import slideFromLeft from './slideFromLeft'; @@ -10,13 +11,13 @@ function withAnimation Date: Tue, 8 Oct 2024 17:22:12 +0200 Subject: [PATCH 169/178] fix: changes after review --- .../createCustomPlatformStackBottomTabNavigator/index.tsx | 3 ++- .../navigationOptions/animation/index.ts | 3 +++ .../navigationOptions/animation/none/index.native.ts | 3 ++- .../animation/slideFromLeft/index.android.ts | 3 ++- .../animation/slideFromLeft/index.ios.ts | 5 +++-- .../animation/slideFromRight/index.android.ts | 3 ++- .../animation/slideFromRight/index.ios.ts | 3 ++- .../PlatformStackNavigation/types/NavigationOptions.ts | 8 -------- 8 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx index a4e50aeb6516d..2461c542ec7d6 100644 --- a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/index.tsx @@ -2,13 +2,14 @@ import type {ParamListBase} from '@react-navigation/native'; import {createNavigatorFactory} from '@react-navigation/native'; import React from 'react'; import createPlatformStackNavigatorComponent from '@libs/Navigation/PlatformStackNavigation/createPlatformStackNavigatorComponent'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; import type {ExtraContentProps, PlatformStackNavigationEventMap, PlatformStackNavigationOptions, PlatformStackNavigationState} from '@libs/Navigation/PlatformStackNavigation/types'; import BottomTabBar from './BottomTabBar'; import BottomTabNavigationContentWrapper from './BottomTabNavigationContentWrapper'; import useCustomState from './useCustomState'; const defaultScreenOptions: PlatformStackNavigationOptions = { - animation: 'none', + animation: Animations.NONE, }; function ExtraContent({state}: ExtraContentProps) { diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts index 306963a246946..7368a4d1de79b 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index.ts @@ -2,6 +2,9 @@ const TRANSITION_ANIMATIONS = { SLIDE_FROM_LEFT: 'slide_from_left', SLIDE_FROM_RIGHT: 'slide_from_right', SLIDE_FROM_BOTTOM: 'slide_from_bottom', + IOS_FROM_LEFT: 'ios_from_left', + IOS_FROM_RIGHT: 'ios_from_right', + SIMPLE_PUSH: 'simple_push', NONE: 'none', } as const; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index 76050b1f049a0..0211ae9aee85a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,5 +1,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; -const none: NativeStackNavigationOptions = {animation: 'none', gestureEnabled: false}; +const none: NativeStackNavigationOptions = {animation: Animations.NONE, gestureEnabled: false}; export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index f1f675a76b89c..05f984619e7bd 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,6 +1,7 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -const slideFromLeft: NativeStackNavigationOptions = {animation: 'ios_from_left'}; +const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_LEFT}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts index 991dba98c50b9..f967288f417b2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts @@ -1,7 +1,8 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 -// so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const slideFromLeft: NativeStackNavigationOptions = {animation: 'slide_from_left'}; +// so we are using `slide_from_left` which is similar to default and not causing keyboard transition issues +const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_LEFT}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index c66c20e07781d..423d16453092a 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,5 +1,6 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; -const transition: NativeStackNavigationOptions = {animation: 'ios_from_right'}; +const transition: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_RIGHT}; export default transition; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts index 4f482b5024aab..6e7a74bfa242c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts @@ -1,7 +1,8 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const transition: NativeStackNavigationOptions = {animation: 'simple_push'}; +const transition: NativeStackNavigationOptions = {animation: Animations.SIMPLE_PUSH}; export default transition; diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts index 30aedf48dfbc6..8cc265c7be74c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts @@ -9,14 +9,6 @@ type NativeOnlyNavigationOptions = NativeStackNavigationOptions; // Common navigation options merged from both stack and native-stack navigations. type CommonStackNavigationOptions = CommonProperties; -// type CardOptions = { -// cardShadowEnabled?: StackNavigationOptions['cardShadowEnabled']; -// cardOverlayEnabled?: StackNavigationOptions['cardOverlayEnabled']; -// cardOverlay?: StackNavigationOptions['cardOverlay']; -// cardStyle?: StackNavigationOptions['cardStyle']; -// cardStyleInterpolator: StackNavigationOptions['cardStyleInterpolator']; -// }; - type GeneralPlatformStackNavigationOptions = { web?: WebOnlyNavigationOptions; native?: NativeOnlyNavigationOptions; From 922d14542f61fa5bd8eb6fea32dadd16d00804dd Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 17:27:31 +0200 Subject: [PATCH 170/178] fix: eslint --- .../defaultPlatformStackScreenOptions.ts | 2 +- .../navigationOptions/animation/none/index.native.ts | 2 +- .../navigationOptions/animation/slideFromBottom/index.native.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.android.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.ios.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.android.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.ios.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts b/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts index 5dccfc4d84909..7ae209ba1e3c5 100644 --- a/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/defaultPlatformStackScreenOptions.ts @@ -1,4 +1,4 @@ -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from './navigationOptions/animation'; import type {PlatformStackNavigationOptions} from './types'; const defaultPlatformStackScreenOptions: PlatformStackNavigationOptions = { diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index 0211ae9aee85a..909507e2e2fb3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from '../index'; const none: NativeStackNavigationOptions = {animation: Animations.NONE, gestureEnabled: false}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts index e6477e64b7857..faf0b3dcb14be 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from '../index'; const slideFromBottom: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index 05f984619e7bd..fc54d007868b7 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from '../index'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_LEFT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts index f967288f417b2..50cfd1cb5c7f3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from '../index'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `slide_from_left` which is similar to default and not causing keyboard transition issues diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index 423d16453092a..4d64109a13970 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from '../index'; const transition: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_RIGHT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts index 6e7a74bfa242c..b458fcc758529 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Animations from '../index'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues From fffd74d3f52164e4c0cfcd2a29242d3113faa493 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 17:54:26 +0200 Subject: [PATCH 171/178] fix: last changes after review --- .../getRightModalNavigatorOptions/index.native.ts | 3 ++- .../navigationOptions/animation/slideFromBottom/index.ts | 3 ++- .../navigationOptions/animation/slideFromLeft/index.ts | 3 ++- .../navigationOptions/gestureDirection/index.ts | 8 ++++++++ .../navigationOptions/presentation/index.ts | 5 +++++ 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection/index.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/presentation/index.ts diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts index 3e13976c46b83..a826d50e8d5f9 100644 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts +++ b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts @@ -1,8 +1,9 @@ import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; +import Presentation from '@libs/Navigation/PlatformStackNavigation/navigationOptions/presentation'; import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; const rightModalNavigatorOptions = (): PlatformStackNavigationOptions => ({ - presentation: 'card', + presentation: Presentation.CARD, animation: Animations.SLIDE_FROM_RIGHT, }); diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts index c43388c52a674..20e59451809f9 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts @@ -1,5 +1,6 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; +import GestureDirection from '../../gestureDirection'; -const slideFromBottom: StackNavigationOptions = {animationEnabled: true, gestureDirection: 'vertical'}; +const slideFromBottom: StackNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.VERTICAL}; export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts index d5598c93eb538..d78d9a02d1877 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts @@ -1,5 +1,6 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; +import GestureDirection from '../../gestureDirection'; -const slideFromLeft: StackNavigationOptions = {animationEnabled: true, gestureDirection: 'horizontal-inverted'}; +const slideFromLeft: StackNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.HORIZONTAL_INVERTED}; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection/index.ts new file mode 100644 index 0000000000000..7c009910af9ea --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection/index.ts @@ -0,0 +1,8 @@ +const GestureDirection = { + VERTICAL: 'vertical', + HORIZONTAL: 'horizontal', + VERTICAL_INVERTED: 'vertical-inverted', + HORIZONTAL_INVERTED: 'horizontal-inverted', +} as const; + +export default GestureDirection; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/presentation/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/presentation/index.ts new file mode 100644 index 0000000000000..0454b87427f18 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/presentation/index.ts @@ -0,0 +1,5 @@ +const Presentation = { + CARD: 'card', +} as const; + +export default Presentation; From 064ad5b2f045fb221ec84f28eebb84ae60caee3c Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 18:07:24 +0200 Subject: [PATCH 172/178] fix: eslint --- .../navigationOptions/animation/none/index.native.ts | 2 +- .../navigationOptions/animation/slideFromBottom/index.native.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.android.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.ios.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.android.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.ios.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index 909507e2e2fb3..81e65c77fedae 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '../index'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; const none: NativeStackNavigationOptions = {animation: Animations.NONE, gestureEnabled: false}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts index faf0b3dcb14be..3efea692de758 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '../index'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; const slideFromBottom: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index fc54d007868b7..195a8897cb7b8 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '../index'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_LEFT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts index 50cfd1cb5c7f3..f6b50da68a811 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '../index'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `slide_from_left` which is similar to default and not causing keyboard transition issues diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index 4d64109a13970..561499b128479 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '../index'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; const transition: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_RIGHT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts index b458fcc758529..0925c6464be2f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '../index'; +import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues From 0ade1e13c5f7db7673f53a3f1d1041f98d5cd0fe Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 18:12:12 +0200 Subject: [PATCH 173/178] fix: I hope it's last fix for eslint --- .../navigationOptions/animation/none/index.native.ts | 2 +- .../navigationOptions/animation/slideFromBottom/index.native.ts | 2 +- .../navigationOptions/animation/slideFromBottom/index.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.android.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.ios.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.android.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.ios.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index 81e65c77fedae..b4a9a63286333 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; +import Animations from './..'; const none: NativeStackNavigationOptions = {animation: Animations.NONE, gestureEnabled: false}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts index 3efea692de758..7b8371e3b5c6f 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; +import Animations from './..'; const slideFromBottom: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts index 20e59451809f9..d30d338fed6a3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -import GestureDirection from '../../gestureDirection'; +import GestureDirection from '@libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection'; const slideFromBottom: StackNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.VERTICAL}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index 195a8897cb7b8..f248af0c567b0 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; +import Animations from './..'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_LEFT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts index f6b50da68a811..39918ade56d55 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; +import Animations from './..'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `slide_from_left` which is similar to default and not causing keyboard transition issues diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index 561499b128479..1da075421aa83 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; +import Animations from './..'; const transition: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_RIGHT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts index 0925c6464be2f..6c3dad155122d 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation/index'; +import Animations from './..'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues From 3325a0769da43d83c6e0a7c99c426ad64d4bd5c3 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Tue, 8 Oct 2024 18:15:11 +0200 Subject: [PATCH 174/178] fix: eslint --- .../navigationOptions/animation/none/index.native.ts | 2 +- .../navigationOptions/animation/slideFromBottom/index.native.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.android.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.ios.ts | 2 +- .../navigationOptions/animation/slideFromLeft/index.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.android.ts | 2 +- .../navigationOptions/animation/slideFromRight/index.ios.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index b4a9a63286333..2f63a212a50b3 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from './..'; +import Animations from '..'; const none: NativeStackNavigationOptions = {animation: Animations.NONE, gestureEnabled: false}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts index 7b8371e3b5c6f..93bba8046f6d6 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from './..'; +import Animations from '..'; const slideFromBottom: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index f248af0c567b0..928a821f0de10 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from './..'; +import Animations from '..'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_LEFT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts index 39918ade56d55..251bb2cd9e525 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from './..'; +import Animations from '..'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `slide_from_left` which is similar to default and not causing keyboard transition issues diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts index d78d9a02d1877..dd71933e6203d 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts @@ -1,5 +1,5 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; -import GestureDirection from '../../gestureDirection'; +import GestureDirection from '@libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection'; const slideFromLeft: StackNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.HORIZONTAL_INVERTED}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index 1da075421aa83..b94b4764bcdc7 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from './..'; +import Animations from '..'; const transition: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_RIGHT}; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts index 6c3dad155122d..936396548abbf 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts @@ -1,5 +1,5 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; -import Animations from './..'; +import Animations from '..'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues From 6c22124c9d09e252372e1df638117168dbb67449 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 9 Oct 2024 11:37:00 +0200 Subject: [PATCH 175/178] fix: remove unused properties --- .../PlatformStackNavigation/types/NavigationOptions.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts index 8cc265c7be74c..eab3bc313b37c 100644 --- a/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/types/NavigationOptions.ts @@ -15,10 +15,7 @@ type GeneralPlatformStackNavigationOptions = { keyboardHandlingEnabled?: boolean; animation?: 'slide_from_left' | 'slide_from_right' | 'modal' | 'none'; - header?: unknown; - statusBar?: unknown; presentation?: 'card' | 'modal' | 'transparentModal'; - gesture?: unknown; }; // Combines common and general platform-specific options for PlatformStackNavigation. From bf06916b677eb2e9837e101a432f722adf336974 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 9 Oct 2024 13:41:31 +0200 Subject: [PATCH 176/178] fix: partially resolve new comments --- .../BottomTabBar.tsx | 8 ++++---- .../navigationOptions/convertToNativeNavigationOptions.ts | 6 +++--- .../navigationOptions/convertToWebNavigationOptions.ts | 6 +++--- src/types/utils/Substract.ts | 5 ----- 4 files changed, 10 insertions(+), 15 deletions(-) delete mode 100644 src/types/utils/Substract.ts diff --git a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx index 5befa446f6f98..cbcfa4b84677d 100644 --- a/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx +++ b/src/libs/Navigation/AppNavigator/createCustomPlatformStackBottomTabNavigator/BottomTabBar.tsx @@ -14,7 +14,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import * as Session from '@libs/actions/Session'; import interceptAnonymousUser from '@libs/interceptAnonymousUser'; import Navigation from '@libs/Navigation/Navigation'; -import type {AuthScreensParamList, RootStackParamList, State} from '@libs/Navigation/types'; +import type {AuthScreensParamList} from '@libs/Navigation/types'; import {isCentralPaneName} from '@libs/NavigationUtils'; import * as PolicyUtils from '@libs/PolicyUtils'; import * as SearchUtils from '@libs/SearchUtils'; @@ -80,9 +80,9 @@ function BottomTabBar({selectedTab}: BottomTabBarProps) { }, [activeWorkspaceID, transactionViolations]); useEffect(() => { - const navigationState = navigation.getState() as State | undefined; + const navigationState = navigation.getState(); const routes = navigationState?.routes; - const currentRoute = routes?.[navigationState?.index ?? 0]; + const currentRoute = routes?.at(navigationState?.index ?? 0); // When we are redirected to the Settings tab from the OldDot, we don't want to call the Welcome.show() method. // To prevent this, the value of the bottomTabRoute?.name is checked here if (!!(currentRoute && currentRoute.name !== NAVIGATORS.BOTTOM_TAB_NAVIGATOR && !isCentralPaneName(currentRoute.name)) || Session.isAnonymousUser()) { @@ -114,7 +114,7 @@ function BottomTabBar({selectedTab}: BottomTabBarProps) { return; } interceptAnonymousUser(() => { - const rootState = navigationRef.getRootState() as State; + const rootState = navigationRef.getRootState(); const lastSearchRoute = rootState.routes.filter((route) => route.name === SCREENS.SEARCH.CENTRAL_PANE).at(-1); if (lastSearchRoute) { diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts index 15d21981a1695..a1df022a03e24 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToNativeNavigationOptions.ts @@ -7,13 +7,13 @@ import buildPlatformSpecificNavigationOptions from './buildPlatformSpecificNavig function convertToNativeNavigationOptions( screenOptions: ScreenOptionsOrCallback | undefined, ): ScreenOptionsOrCallback | undefined { - if (screenOptions === undefined) { + if (!screenOptions) { return undefined; } if (isRouteBasedScreenOptions(screenOptions)) { - return (p: PlatformStackScreenProps) => { - const routeBasedScreenOptions = screenOptions(p); + return (props: PlatformStackScreenProps) => { + const routeBasedScreenOptions = screenOptions(props); return {...buildPlatformSpecificNavigationOptions(routeBasedScreenOptions), ...routeBasedScreenOptions.native}; }; } diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts index 941d5d51417d0..358077a2f3925 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/convertToWebNavigationOptions.ts @@ -5,14 +5,14 @@ import {isRouteBasedScreenOptions} from '@libs/Navigation/PlatformStackNavigatio import buildPlatformSpecificNavigationOptions from './buildPlatformSpecificNavigationOptions'; function convertToWebNavigationOptions(screenOptions: ScreenOptionsOrCallback | undefined): ScreenOptionsOrCallback | undefined { - if (screenOptions === undefined) { + if (!screenOptions) { return undefined; } if (isRouteBasedScreenOptions(screenOptions)) { // eslint-disable-next-line @typescript-eslint/no-explicit-any - return (p: PlatformStackScreenProps) => { - const routeBasedScreenOptions = screenOptions(p); + return (props: PlatformStackScreenProps) => { + const routeBasedScreenOptions = screenOptions(props); return {...buildPlatformSpecificNavigationOptions(routeBasedScreenOptions), ...routeBasedScreenOptions.web}; }; } diff --git a/src/types/utils/Substract.ts b/src/types/utils/Substract.ts deleted file mode 100644 index 33e281ce8e1a7..0000000000000 --- a/src/types/utils/Substract.ts +++ /dev/null @@ -1,5 +0,0 @@ -type Subtract = { - [Property in Exclude]: TypeA[Property]; -}; - -export default Subtract; From 3bc381cbb42f102cd97f7b6d3754144f13369568 Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 9 Oct 2024 13:46:59 +0200 Subject: [PATCH 177/178] fix: removed unused files --- .../index.native.ts | 10 ---------- .../getRightModalNavigatorOptions/index.ts | 20 ------------------- .../leftModalNavigatorOptions/index.native.ts | 11 ---------- .../leftModalNavigatorOptions/index.ts | 10 ---------- 4 files changed, 51 deletions(-) delete mode 100644 src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts delete mode 100644 src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts delete mode 100644 src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts delete mode 100644 src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts deleted file mode 100644 index a826d50e8d5f9..0000000000000 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.native.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; -import Presentation from '@libs/Navigation/PlatformStackNavigation/navigationOptions/presentation'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -const rightModalNavigatorOptions = (): PlatformStackNavigationOptions => ({ - presentation: Presentation.CARD, - animation: Animations.SLIDE_FROM_RIGHT, -}); - -export default rightModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts deleted file mode 100644 index ceefb2380f597..0000000000000 --- a/src/libs/Navigation/AppNavigator/getRightModalNavigatorOptions/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; -// eslint-disable-next-line no-restricted-imports -import getNavigationModalCardStyle from '@styles/utils/getNavigationModalCardStyles'; - -const rightModalNavigatorOptions = (isSmallScreenWidth: boolean): PlatformStackNavigationOptions => ({ - presentation: 'transparentModal', - // We want pop in RHP since there are some flows that would work weird otherwise - animationTypeForReplace: 'pop', - web: { - cardStyle: { - ...getNavigationModalCardStyle(), - // This is necessary to cover translated sidebar with overlay. - width: isSmallScreenWidth ? '100%' : '200%', - // Excess space should be on the left so we need to position from right. - right: 0, - }, - }, -}); - -export default rightModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts deleted file mode 100644 index f8c71f4a8801c..0000000000000 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.native.ts +++ /dev/null @@ -1,11 +0,0 @@ -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -const leftModalNavigatorOptions: PlatformStackNavigationOptions = { - animation: Animations.SLIDE_FROM_LEFT, - native: { - customAnimationOnGesture: true, - }, -}; - -export default leftModalNavigatorOptions; diff --git a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts b/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts deleted file mode 100644 index d1117131d938d..0000000000000 --- a/src/libs/Navigation/AppNavigator/leftModalNavigatorOptions/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Animations from '@libs/Navigation/PlatformStackNavigation/navigationOptions/animation'; -import type {PlatformStackNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; - -const leftModalNavigatorOptions: PlatformStackNavigationOptions = { - presentation: 'transparentModal', - animation: Animations.SLIDE_FROM_LEFT, - // customAnimationOnGesture: true, -}; - -export default leftModalNavigatorOptions; From 707e20771e82d55a18d627610b61af8f32bf055d Mon Sep 17 00:00:00 2001 From: kirillzyusko Date: Wed, 9 Oct 2024 17:56:08 +0200 Subject: [PATCH 178/178] fix: refactor types --- .../navigationOptions/animation/none/index.native.ts | 3 ++- .../navigationOptions/animation/none/index.ts | 3 ++- .../navigationOptions/animation/none/types.ts | 5 +++++ .../animation/slideFromBottom/index.native.ts | 3 ++- .../navigationOptions/animation/slideFromBottom/index.ts | 3 ++- .../navigationOptions/animation/slideFromBottom/types.ts | 5 +++++ .../animation/slideFromLeft/index.android.ts | 3 ++- .../navigationOptions/animation/slideFromLeft/index.ios.ts | 3 ++- .../navigationOptions/animation/slideFromLeft/index.ts | 3 ++- .../navigationOptions/animation/slideFromLeft/types.ts | 5 +++++ .../animation/slideFromRight/index.android.ts | 3 ++- .../navigationOptions/animation/slideFromRight/index.ios.ts | 3 ++- .../navigationOptions/animation/slideFromRight/index.ts | 3 ++- .../navigationOptions/animation/slideFromRight/types.ts | 5 +++++ 14 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/types.ts create mode 100644 src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/types.ts diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts index 2f63a212a50b3..dc704d5ed6e59 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.native.ts @@ -1,6 +1,7 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import Animations from '..'; +import type NoneTransitionNavigationOptions from './types'; -const none: NativeStackNavigationOptions = {animation: Animations.NONE, gestureEnabled: false}; +const none: NoneTransitionNavigationOptions = {animation: Animations.NONE, gestureEnabled: false} satisfies NativeStackNavigationOptions; export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts index c1724f9cfeef1..6c02ce74119a7 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/index.ts @@ -1,5 +1,6 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; +import type NoneTransitionNavigationOptions from './types'; -const none: StackNavigationOptions = {animationEnabled: false, gestureEnabled: false}; +const none: NoneTransitionNavigationOptions = {animationEnabled: false, gestureEnabled: false} satisfies StackNavigationOptions; export default none; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/types.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/types.ts new file mode 100644 index 0000000000000..0fbc091927ebf --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/none/types.ts @@ -0,0 +1,5 @@ +import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +type NoneTransitionNavigationOptions = PlatformSpecificNavigationOptions; + +export default NoneTransitionNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts index 93bba8046f6d6..c38bca7b520b6 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.native.ts @@ -1,6 +1,7 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import Animations from '..'; +import type SlideFromBottomTransitionNavigationOptions from './types'; -const slideFromBottom: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM}; +const slideFromBottom: SlideFromBottomTransitionNavigationOptions = {animation: Animations.SLIDE_FROM_BOTTOM} satisfies NativeStackNavigationOptions; export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts index d30d338fed6a3..ab0ea51081a17 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/index.ts @@ -1,6 +1,7 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import GestureDirection from '@libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection'; +import type SlideFromBottomTransitionNavigationOptions from './types'; -const slideFromBottom: StackNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.VERTICAL}; +const slideFromBottom: SlideFromBottomTransitionNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.VERTICAL} satisfies StackNavigationOptions; export default slideFromBottom; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/types.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/types.ts new file mode 100644 index 0000000000000..7e76f03db8811 --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromBottom/types.ts @@ -0,0 +1,5 @@ +import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +type SlideFromBottomTransitionNavigationOptions = PlatformSpecificNavigationOptions; + +export default SlideFromBottomTransitionNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts index 928a821f0de10..bc00eabd828a2 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.android.ts @@ -1,7 +1,8 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import Animations from '..'; +import type SlideFromLeftTransitionNavigationOptions from './types'; // `slide_from_right` is resolved to `default` transition on iOS, but this transition causes issues on iOS -const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_LEFT}; +const slideFromLeft: SlideFromLeftTransitionNavigationOptions = {animation: Animations.IOS_FROM_LEFT} satisfies NativeStackNavigationOptions; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts index 251bb2cd9e525..3969719ca6b16 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ios.ts @@ -1,8 +1,9 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import Animations from '..'; +import type SlideFromLeftTransitionNavigationOptions from './types'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `slide_from_left` which is similar to default and not causing keyboard transition issues -const slideFromLeft: NativeStackNavigationOptions = {animation: Animations.SLIDE_FROM_LEFT}; +const slideFromLeft: SlideFromLeftTransitionNavigationOptions = {animation: Animations.SLIDE_FROM_LEFT} satisfies NativeStackNavigationOptions; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts index dd71933e6203d..05faefd0be0a5 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/index.ts @@ -1,6 +1,7 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; import GestureDirection from '@libs/Navigation/PlatformStackNavigation/navigationOptions/gestureDirection'; +import type SlideFromLeftTransitionNavigationOptions from './types'; -const slideFromLeft: StackNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.HORIZONTAL_INVERTED}; +const slideFromLeft: SlideFromLeftTransitionNavigationOptions = {animationEnabled: true, gestureDirection: GestureDirection.HORIZONTAL_INVERTED} satisfies StackNavigationOptions; export default slideFromLeft; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/types.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/types.ts new file mode 100644 index 0000000000000..f170562c3b7ac --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromLeft/types.ts @@ -0,0 +1,5 @@ +import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +type SlideFromLeftTransitionNavigationOptions = PlatformSpecificNavigationOptions; + +export default SlideFromLeftTransitionNavigationOptions; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts index b94b4764bcdc7..da58d4d964a5e 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.android.ts @@ -1,6 +1,7 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import Animations from '..'; +import type SlideFromRightTransitionNavigationOptions from './types'; -const transition: NativeStackNavigationOptions = {animation: Animations.IOS_FROM_RIGHT}; +const transition: SlideFromRightTransitionNavigationOptions = {animation: Animations.IOS_FROM_RIGHT} satisfies NativeStackNavigationOptions; export default transition; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts index 936396548abbf..7b4677b2bf2f4 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ios.ts @@ -1,8 +1,9 @@ import type {NativeStackNavigationOptions} from '@react-navigation/native-stack'; import Animations from '..'; +import type SlideFromRightTransitionNavigationOptions from './types'; // default transition is causing weird keyboard appearance: - https://github.com/Expensify/App/issues/37257 // so we are using `simple_push` which is similar to default and not causing keyboard transition issues -const transition: NativeStackNavigationOptions = {animation: Animations.SIMPLE_PUSH}; +const transition: SlideFromRightTransitionNavigationOptions = {animation: Animations.SIMPLE_PUSH} satisfies NativeStackNavigationOptions; export default transition; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts index b6b6c8c74e485..2bc6b96b944f9 100644 --- a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/index.ts @@ -1,5 +1,6 @@ import type {StackNavigationOptions} from '@react-navigation/stack'; +import type SlideFromRightTransitionNavigationOptions from './types'; -const slideFromRight: StackNavigationOptions = {animationEnabled: true, gestureDirection: 'horizontal'}; +const slideFromRight: SlideFromRightTransitionNavigationOptions = {animationEnabled: true, gestureDirection: 'horizontal'} satisfies StackNavigationOptions; export default slideFromRight; diff --git a/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/types.ts b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/types.ts new file mode 100644 index 0000000000000..d1afa32d0dcfa --- /dev/null +++ b/src/libs/Navigation/PlatformStackNavigation/navigationOptions/animation/slideFromRight/types.ts @@ -0,0 +1,5 @@ +import type {PlatformSpecificNavigationOptions} from '@libs/Navigation/PlatformStackNavigation/types'; + +type SlideFromRightTransitionNavigationOptions = PlatformSpecificNavigationOptions; + +export default SlideFromRightTransitionNavigationOptions;