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 dc170b7a9572..0be13f3af786 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 26918ddc1ce3..fb174293063a 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 000000000000..933ca6ce792e --- /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 1946c969cdad..f7ac892e40bc 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 16f403342a58..570f223142d1 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 000000000000..30651e32cbd6 --- /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 c421bdc82028..550fb947a4e6 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 6b1557994627..792a538cfd39 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 000000000000..17100bc71bda --- /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 000000000000..4015c43c679e --- /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 000000000000..2b062fd2f2be --- /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 000000000000..935c0041b794 --- /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 1dd9322e0b47..a8d512314b5e 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 000000000000..ca9769fa9972 --- /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 000000000000..280a38b263b7 --- /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 000000000000..ef44cefc13c9 --- /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 000000000000..51228295572f --- /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 000000000000..d59c1d596cfd --- /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 8f76d8fbdd7b..c83b22fb95f2 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 2f61f1519df0..633469c94e16 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 ca9769fa9972..3c88d478b199 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 000000000000..acceb1467441 --- /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 000000000000..b118370760e2 --- /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 000000000000..7e323f40db25 --- /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 c83b22fb95f2..2741b0ee2140 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 633469c94e16..cf37164bb2f1 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 7e7808c003d7..c1e0634616b0 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 687ca8edd26d..81ffd6af815b 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 09d35e2a1680..f6b3efa843f6 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 463dcfcd9e99..6949b97f5310 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 4a0aa3cd4c10..7da2c776506b 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 7da2c776506b..065478b0a192 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 3c88d478b199..e145d881b450 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 550fb947a4e6..cd8425a871b6 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 000000000000..75a832555c1f --- /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 000000000000..edb89d594c49 --- /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 cd8425a871b6..61ae43f423e3 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 f7ac892e40bc..c3906d5611e0 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 edb89d594c49..fd528359030f 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 d59c1d596cfd..b8d210cd5aa1 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 fd528359030f..da61ec6a25ba 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 2d373f01b0a2..705d0d855add 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 705d0d855add..f78a15617a98 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 000000000000..a6710efdf4bb --- /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 000000000000..3482844aa35a --- /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 3482844aa35a..e27d9d144479 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 310003ee8adc..7e367c067d2f 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 0be13f3af786..3620ad5b50b7 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 fb174293063a..279fbef36302 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 b8d210cd5aa1..000000000000 --- 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 ac5f3fdd397e..0d4c88410995 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 2164ad510b55..c2ae99fb92d8 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 ef44cefc13c9..000000000000 --- 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 51228295572f..000000000000 --- 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 000000000000..cde146f049a7 --- /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 000000000000..45796c949cd8 --- /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 000000000000..390f75168d9d --- /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 000000000000..33ab180ea46e --- /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 cde146f049a7..000000000000 --- 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 45796c949cd8..000000000000 --- 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 000000000000..3279937f1823 --- /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 390f75168d9d..000000000000 --- 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 000000000000..8db88be9e299 --- /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 33ab180ea46e..df421c1280bd 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 e145d881b450..720f8d108824 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 280a38b263b7..bfc06d8cc556 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 2c8f18689b4b..492315cfcb3a 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 acceb1467441..000000000000 --- 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 7e323f40db25..000000000000 --- 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 000000000000..23e2eed8c8b7 --- /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 b118370760e2..f3fbd3ecf619 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 000000000000..7bfb31558d39 --- /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 000000000000..f3fbd3ecf619 --- /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 3279937f1823..7fcdba9e422e 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 8db88be9e299..cc8286c6801c 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 df421c1280bd..4aea7bed058c 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 720f8d108824..56f880bbdc64 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 bfc06d8cc556..c0093379046f 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 492315cfcb3a..839ba1fc73b8 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 7fcdba9e422e..cd4bc2039e57 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 cc8286c6801c..4d776ec70006 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 cd4bc2039e57..ac2d63e8da36 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 4d776ec70006..8bfe6425c5a8 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 4aea7bed058c..f9543f3f7391 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 ac2d63e8da36..613eb9d9315d 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 e49a94bf4ed7..8b0b2cc581ba 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 23fefdaea432..45d7905aafc5 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 4015c43c679e..3104264263a6 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 dd0927492d70..3df1e79e3678 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 72425e0e2ca6..265f7666decc 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 326d09df3143..eaa60824ab6a 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 d9d2873891cd..47208eee2ebb 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 000000000000..6ba3f2727f40 --- /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 2741b0ee2140..742cf28157e4 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 61ae43f423e3..47f0532e7e86 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 5d710afa69e9..9854ea136e8b 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 10040a6c3146..c22aa867f3da 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 49b3e856c65d..5310b051d342 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 26e08d8347f7..7474ff672c34 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 53aac0ce2a8b..93c2da15d8db 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 b543524fc68e..381a1716f59b 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 05d179fa552a..7cdf59d1f18d 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 c80b26bbb9e7..435efa8be6ce 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 7d0b8fff8e41..f4fb6f79aee1 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 6ad3860132d2..91efe6e01830 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 d8a27e171933..76dac1aca1a8 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 04254bbe1559..03725fa18025 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 121b238012bf..63c3d154e74c 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 6062ef748f36..0aabe5ad5d58 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 0646f37f9b26..ad9117599f1f 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 2b1411641faa..56ebec0789d4 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 6d8c5d951064..1db4e878bcb7 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 79198e81fc43..7db147c81564 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 009eaaf15a3c..9d074e678957 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 d79c60ff4f45..aafad8ce800c 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 80bda8c0df1b..97ce2dd44cf5 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 1854afb961ed..61b8111078d2 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 82b49d1e260c..7e33b7047cc5 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 e5e203fb5030..59e8a30dbd77 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 35778f37a9ef..f9b78d77b81e 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 91aa37dd01c2..ba8b8ce74b0a 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 8f0623f99d32..ad4006b06e03 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 672dbbb91069..81c95b243157 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 badbdeb86d14..8ade6b170395 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 8aaeb7151563..89574a39e68e 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 8970df59f856..5fec33ce4a15 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 20e12f71664e..8edcc669be86 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 fcb018348b72..f40405d2e1a6 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 c0d980083ddf..44e61bc7b318 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 4925a6948fef..ebec25da7a63 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 af55ff994fcf..108b6576ad96 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 7c765d3d5ca8..a17588b3c3dd 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 5ba85961e5ba..f3ae524cc154 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 d3b8b2656d50..b53d10b5a5e1 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 1f991ef87c9a..6b3dd77a94e8 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 bcf65ecfe837..dc67f04303d5 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 a031cf6363f4..791a3054f3d8 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 5f3dbb3fa6c3..5636358dfe6f 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 c6b4bc2272d1..9fcca69a611d 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 1667aa8d36d3..f9a62195f81f 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 f709de4b51c3..d2eeb0d59c61 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 d96574063ac7..4dac01544b23 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 0c5c0a5c9ff2..8b9aaf96278c 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 7a6460029a8e..1b8eb22ac649 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 e33241c52f4a..8bef635dec64 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 9e857b22c5c4..8c31015d1164 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 44cb485c0b06..f0f12d4776c8 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 582d2a5c6500..f71f20257fff 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 ac1b6d428d52..915df16305fd 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 9ab9d0af25d5..fff2b9c19ddb 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 c066319cd31e..94fd7363ebaa 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 dd2ab151b658..c8e49f26bbc7 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 0310104590e5..dd513b621e47 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 7cc8e63da2ee..9e62a8d66071 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 9c5631eff0aa..ffdd60fd6900 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 f37921f07c36..fa8f0ae001bd 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 e2dbe398b49f..702f85152680 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 079c715bffd6..99f195a9d54b 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 6e35c4e2d040..7a856f98332f 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 b31207e73208..9cb8f19cce13 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 dbf7c8913515..2eeeea507065 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 80394623dba8..94dc48be7498 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 0ebfcde6f97b..d59150500113 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 1d01856992f9..3e7004f21e02 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 a1716405da8b..6a10a6dc1039 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 f44175f09e3f..22dd4e01af25 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 ea35526bcdfa..54aa72d7814f 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 0cf5c133e37f..9183b0860851 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 a00c4959cedb..71abf7ea7132 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 32b43a230619..26fbdc5e59c7 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 81c43f6ab818..5ac44bdcff7c 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 856a852037b4..935b2492a61a 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 9f9540327c53..7c34b82c3a95 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 8fef5f4dc6f9..38f066876d8e 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 222ece12d29d..084141ab368a 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 fbde96eb2b91..26bf181dfb1c 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 a643797eac1e..b2da751e6a75 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 346d56891dd5..3c8d2e795397 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 0072d37ef631..ac39c781d587 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 a46e32d5371e..a1fb67db067c 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 b421698b8f2f..6cfe9d2ef049 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 5c77295a9664..a484e26b6ca4 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 c062b6a13f62..168cd23a53d7 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 e76e57768963..c84cd9adb8b2 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 ec04b77df3ca..ae5c6c838669 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 a61c8ae72734..3c763f3c154d 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 e9e359d9d059..ab15e94add6a 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 3081df55fe69..0670c5682cb6 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 8fbfa7b79292..ebc32b2f47f2 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 630560f864b4..5e9b27ca7a53 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 c03bcc7cfb9b..72bfb6cb924f 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 5d2297f47ddd..d80cf676953a 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 0b44d6c565d1..26dfa84520f4 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 d32218616662..4637ed01727b 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 35412d768bcc..0efa55022cfe 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 da51b2c3e8e3..e16f9d4ea841 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 c89b7fe54b5f..8dd728899e6f 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 33ee900f8b6c..e0655b7e1ddb 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 89574a39e68e..58780d63f5d4 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 8b9aaf96278c..585518fd59f2 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 6ba3f2727f40..000000000000 --- 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 613eb9d9315d..a9cc5fb11d41 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 8bfe6425c5a8..a3674340dfd0 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 172b62239131..5ab7d00adbc3 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 6f4fbb08403b..25faf6acfd8f 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 c788af3f8d2b..512597904076 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 d4607a809f17..d15bc5b5a552 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 4015c43c679e..3104264263a6 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 935c0041b794..0eb2bc534e80 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 3df1e79e3678..4e43d060ec6b 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 a6710efdf4bb..4d8219a32301 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 e27d9d144479..71645e81908a 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 a9cc5fb11d41..af53b00eaacd 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 000000000000..2de2371fa096 --- /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 000000000000..36d31cb165b9 --- /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 000000000000..e815b1c02c46 --- /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 af53b00eaacd..427e6df16370 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 5f06a4b16a62..8554d19c1cc2 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 beb1aaa01bb2..f79fb7a31c86 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 e045fc294751..9389406e0c09 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 000000000000..18bb516d2c15 --- /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 36d31cb165b9..000000000000 --- 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 000000000000..dcf971af7516 --- /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 e815b1c02c46..000000000000 --- 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 f9543f3f7391..22d72a9e5126 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 8b0b2cc581ba..9d3a6f267599 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 47f0532e7e86..163bf4071c1c 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 000000000000..9b2550228ff9 --- /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 8c53027cf713..171dee878fc9 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 eb19f891ecd5..9369e1169961 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 f35c609402b0..90603f62ef79 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 c1e0634616b0..fec04e582304 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 2a517c45eb0d..05c5b9ab4a57 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 9b2550228ff9..6cd6e1807990 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 171dee878fc9..7f928b292fad 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 000000000000..ebc3fb74a36b --- /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 000000000000..ea18eb58e496 --- /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 9369e1169961..4593c0b7688e 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 cf37164bb2f1..dab3d337b5df 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 90603f62ef79..e1bf373474de 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 81ffd6af815b..4d205afadc7c 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 05c5b9ab4a57..dbe33c0b26c2 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 f6b3efa843f6..6ddae12f6764 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 163bf4071c1c..47f0532e7e86 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 e53823860ce0..0f446d37c833 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 417d8828c1e4..b8bbdc6a0bb0 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 6680ea302441..91865db4e83a 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 2b062fd2f2be..9feb0a3f3a47 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 22d72a9e5126..e28f2a383f76 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 3f69371841ce..7f3667d09737 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 d8d9c84faf44..40ad3b9366b7 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 9389406e0c09..fc4b15c90ac3 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 2de2371fa096..5b45c296cd3c 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 18bb516d2c15..5a20d02ff958 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 dcf971af7516..762bef6ffd9e 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 5a20d02ff958..83c1579484bb 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 762bef6ffd9e..64b6da6b93b2 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 40ad3b9366b7..f564bfd931e4 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 17100bc71bda..000000000000 --- 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 3104264263a6..000000000000 --- 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 000000000000..ced2ecbaac2b --- /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 000000000000..7e36c811fe42 --- /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 1868261250fe..576cdc31a090 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 4f482b5024aa..1e1305ce54eb 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 000000000000..99103cac8eb9 --- /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 000000000000..61279046a5c6 --- /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 8b1558f8e356..467456481221 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 d958bf5209f2..31528d7fb7a4 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 fc4b15c90ac3..f55a94bbf361 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 83c1579484bb..f4f2b0cbe5b8 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 64b6da6b93b2..31bd59b3693d 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 91865db4e83a..ff1a3021a5dc 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 7f928b292fad..c9eaa30494e3 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 75a832555c1f..261d2fcb460e 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 5b45c296cd3c..9a647bcd26be 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 31bd59b3693d..a87456be29f3 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 6cd6e1807990..5a2c91ea1b82 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 c9eaa30494e3..28b3fd480bd9 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 ea18eb58e496..f7fad09f2526 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 f4f2b0cbe5b8..6098db217ca4 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 a87456be29f3..2d832684fffb 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 512597904076..e2f2a1fe4946 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 427e6df16370..d9eb5131e756 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 8554d19c1cc2..06854c5c34da 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 5a2c91ea1b82..e49cb1cd0819 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 28b3fd480bd9..6582873d0e64 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 fec04e582304..1fe8429a4f61 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 6ddae12f6764..3f188eaf8b1e 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 edb17ba20491..1d71e689d7c2 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 000000000000..c444da8bb66b --- /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 e49cb1cd0819..dd4f2b0b568b 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 6582873d0e64..8d4ddb37a44e 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 a6732d2552fa..7d04893b5ebe 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 e1bf373474de..c08ff9e88334 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 ce38fbf05631..088780da0314 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 4e8d8dc558a7..3ca17e15c3f8 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 d9eb5131e756..708c0d8f149a 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 06854c5c34da..132a380b1af5 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 6098db217ca4..3911b8a1c0cd 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 2d832684fffb..d6f094bdb706 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 e28f2a383f76..a2aa0e187f5d 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 5cf8754d0961..c42b67f75c08 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 47f0532e7e86..37f9db76f3a8 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 9854ea136e8b..f265a5566e2b 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 0c364f4538c2..55f2a2bf282d 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 c22aa867f3da..cc3b2334e9e4 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 5310b051d342..d464f003c4eb 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 7474ff672c34..d9969ecf9d8c 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 93c2da15d8db..d499ac534bc5 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 381a1716f59b..5b2047b2580b 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 7cdf59d1f18d..d91017448175 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 265f7666decc..b52e45e50bea 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 435efa8be6ce..f2204c691bd2 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 f4fb6f79aee1..bbf5500aaf03 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 91efe6e01830..8e53fac55553 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 76dac1aca1a8..b903caa3a7a4 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 aaff6241008a..154340dc16f7 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 63c3d154e74c..c8171639980f 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 0aabe5ad5d58..4fda961662a7 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 f3402bccffea..dbae6eef504e 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 56ebec0789d4..225cea09189b 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 1db4e878bcb7..5c62d130cc0c 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 7db147c81564..f81cff2aa468 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 9d074e678957..737a46ae042a 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 7f3667d09737..d783439160fa 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 97ce2dd44cf5..4c44acee226b 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 eaa60824ab6a..aa9b0b387225 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 47208eee2ebb..044de8146a46 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 b930e1b92fa4..069a31643706 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 7e33b7047cc5..23f1eff87926 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 59e8a30dbd77..7a845ecddcce 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 f9b78d77b81e..e742a9c5d4c1 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 1275452ebd05..9946068e11bc 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 ad4006b06e03..64fca1496422 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 81c95b243157..7172f6064950 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 8ade6b170395..9f28445e89c0 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 58780d63f5d4..4ce9f8b58351 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 5fec33ce4a15..79aee2186fd0 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 8edcc669be86..a57e42fb37ce 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 f40405d2e1a6..a48b13e6fc46 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 44e61bc7b318..fc8a250ca144 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 ebec25da7a63..0601c427a30e 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 108b6576ad96..2200c616dafb 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 824868792124..2b1c99200443 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 f3ae524cc154..922432e7366d 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 b53d10b5a5e1..c05d82398fe1 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 6b3dd77a94e8..38a2f0ab48f4 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 dc67f04303d5..4516f53cfee6 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 791a3054f3d8..4638add5c6b9 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 5636358dfe6f..102ad35f2474 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 9fcca69a611d..ed8801628fd3 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 f9a62195f81f..780709c578df 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 d2eeb0d59c61..e2b6e7b4b726 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 4dac01544b23..63d7cf6cbddc 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 585518fd59f2..9258506a1223 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 1b8eb22ac649..3170a20085da 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 8bef635dec64..c901021acd9e 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 50fb856103bc..f15b566642e7 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 f0f12d4776c8..5498efb5a77e 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 f71f20257fff..b5562a978be5 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 915df16305fd..0cbe411c565f 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 fff2b9c19ddb..adafbf1ca5b3 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 0dc95b072b36..c5e8f6a9520c 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 6a955419908f..3a9391528eba 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 dd513b621e47..72cf706d29fd 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 9e62a8d66071..b67192f907dd 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 e60bebbcca05..260c7b0a4170 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 5a4910f5c340..386908c75578 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 702f85152680..cfcc3ec576be 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 99f195a9d54b..50e93096ee7e 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 7a856f98332f..4743f5e70720 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 9cb8f19cce13..57078a4f98b3 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 2eeeea507065..3a5df14c07b7 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 94dc48be7498..eaf8fd1513b3 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 d59150500113..64c520cbf8b1 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 3e7004f21e02..3d17086736ad 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 6a10a6dc1039..7ec6f3fe4ce3 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 22dd4e01af25..8ffbafa02ce7 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 54aa72d7814f..10b851383ed7 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 9183b0860851..8ef68569873f 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 71abf7ea7132..bf2101ca0901 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 26fbdc5e59c7..7b78c4d920d2 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 41b718792e9d..70ab6d5ef9d3 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 3b201a8920e7..cf1cd9596a26 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 a264cd0e2592..9a5f1e6f4d64 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 38f066876d8e..69c31619f1cc 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 084141ab368a..8e7e6f5a9f46 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 03a1c81719a5..3b52e5c22cc5 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 c0f8ceefb49a..c9c01b9bf465 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 3c8d2e795397..5e35a699af53 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 efb13e710fbd..ebbb79875905 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 877da930fd9e..bfd71f4b59ea 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 6cfe9d2ef049..cc9a8bbf6e0b 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 a484e26b6ca4..48202d250872 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 168cd23a53d7..6a2e19264746 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 c84cd9adb8b2..1d5cfcb25b52 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 ae5c6c838669..fb61822759d7 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 3c763f3c154d..104694cfbc63 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 ab15e94add6a..89b3fc71dc56 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 0670c5682cb6..be899ce2eabf 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 ebc32b2f47f2..a1500e5c64f2 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 5e9b27ca7a53..e40d7fbcae9c 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 72bfb6cb924f..a5cbf9aae516 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 d80cf676953a..10ce8353eef3 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 26dfa84520f4..09787ce3ccb3 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 4637ed01727b..890801b3f80a 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 0efa55022cfe..ae477c424423 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 e16f9d4ea841..52d3a9c76eb4 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 8dd728899e6f..8833ff80f96e 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 9b67f234c030..ddf324eb8d1d 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 9d3a6f267599..423c1b482302 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 4e43d060ec6b..6a0d89f2fad5 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 4d8219a32301..71645e81908a 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 71645e81908a..7a06b0a216e7 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 c444da8bb66b..e5236306cbf4 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":"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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 +--- 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":"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,SAKEC,iBAAiB,QAGZ,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;AAqBjB,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,CAKlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,KACT;EACH,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,QAAQ,CAACC,OAAO,CAACL,QAAQ,CAAC,CAACM,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIrC,KAAK,CAACsC,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAK9B,MAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACgB,UAAU,CAACY,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;QAEAT,GAAG,CAACU,IAAI,CAAC;UACPC,IAAI,EAAE,CAACjB,QAAQ,EAAEO,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEjB,YAAY;UACrBS,KAAK,EAAEH,KAAK,CAACG;QAOf,CAAC,CAAC;QACF,OAAOJ,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKvC,KAAK,CAACiD,QAAQ,IAAIZ,KAAK,CAACE,IAAI,KAAKrC,KAAK,EAAE;QACzD,IAAI,CAACuB,UAAU,CAACY,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;QACA;QACAL,GAAG,CAACU,IAAI,CACN,GAAGlB,2BAA2B,CAC5BS,KAAK,CAACG,KAAK,CAACX,QAAQ,EACpBQ,KAAK,CAACG,KAAK,CAACC,aAAa,EACzBJ,KAAK,CAACE,IAAI,KAAKrC,KAAK,GAChB6B,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEM,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,GAC5C,CAACb,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,CAChC,CACF;QACD,OAAOd,GAAG;MACZ;IACF;IAEA,MAAM,IAAIM,KAAK,CACZ,oGACC,aAAA1C,KAAK,CAACsC,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;QAAEhB,QAAQ;QAAE4B,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,IACEhB,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIe,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIe,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIe,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIa,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI,CAAC1B,kBAAkB,CAACwD,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIf,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIa,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,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,CAO1CC,YAAsD,EACtDf,OAOe,EACf;EACA,MAAMgB,YAAY,GAAGzC,oBAAoB,EAAE;EAE3C,MAAM0C,KAAK,GAAGjE,KAAK,CAACkE,UAAU,CAAC5D,sBAAsB,CAExC;EAEb,MAAM;IAAEuB,QAAQ;IAAEsC,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGpB,OAAO;EACtD,MAAM;IAAEqB,OAAO,EAAEC;EAAO,CAAC,GAAGtE,KAAK,CAACuE,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,GAAGjD,2BAA2B,CAI9CC,QAAQ,CAAC;EAEX,MAAMiD,OAAO,GAAGD,YAAY,CAAC1C,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,MAAM2C,UAAU,GAAGF,YAAY,CAACG,GAAG,CAAExB,MAAM,IAAKA,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMoC,YAAY,GAAGF,UAAU,CAAC5C,MAAM,CACpC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb9C,GAAG,CAAC8C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACnC,IAAI,CAACiC,GAAG,CAAEtD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACyD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMgD,cAAc,GAAGL,UAAU,CAAC5C,MAAM,CACtC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;IAC7CJ,GAAG,CAAC8C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOjD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMkD,cAAc,GAAGP,UAAU,CAAC5C,MAAM,CAGtC,CAACC,GAAG,EAAE8C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACpD,GAAG,EAAE;IACjB,CAAC8C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIhD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMiD,YAAY,GAAG3F,KAAK,CAAC4F,WAAW,CACnCnB,KAAsD,IACrDA,KAAK,CAAClC,IAAI,KAAKZ,SAAS,IAAI8C,KAAK,CAAClC,IAAI,KAAK+B,MAAM,CAAC/B,IAAI,EACxD,CAAC+B,MAAM,CAAC/B,IAAI,CAAC,CACd;EAED,MAAMsD,kBAAkB,GAAG7F,KAAK,CAAC4F,WAAW,CACzCnB,KAAkE,IACjEA,KAAK,KAAK9C,SAAS,IAAI8C,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,GAAGtG,KAAK,CAACkE,UAAU,CAAC3D,sBAAsB,CAAC;EAE5C,MAAMgG,cAAc,GAAGvG,KAAK,CAACuE,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMiC,YAAY,GAAGxG,KAAK,CAAC4F,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAACxE,SAAS,CAAC;IAC1B4E,cAAc,CAAClC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC8B,eAAe,CAAC,CAAC;EAErB,MAAMD,QAAQ,GAAGlG,KAAK,CAAC4F,WAAW,CAC/BnB,KAAkE,IAAK;IACtE,IAAI8B,cAAc,CAAClC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA8B,eAAe,CAAC1B,KAAK,CAAC;EACxB,CAAC,EACD,CAAC0B,eAAe,CAAC,CAClB;EAED,MAAM,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG1G,KAAK,CAAC2G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG7B,UAAU,CAAC5C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA5C,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,MAAKO,IAAI,GAC1BjB,KAAK,CAACO,MAAM,CAACA,MAAM,GACnB7C,SAAS;MAEfS,GAAG,CAAC8C,IAAI,CAAC,GACPG,aAAa,KAAK1D,SAAS,IAAIkF,uBAAuB,KAAKlF,SAAS,GAChE;QACE,GAAG0D,aAAa;QAChB,GAAGwB;MACL,CAAC,GACDlF,SAAS;MAEf,OAAOS,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC2D,YAAY,KAAKpE,SAAS,IAAI,CAACgE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA9B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACwC,eAAe,CAAC;QACrB/B,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLhB,MAAM,CAACyC,kBAAkB,CACvB,CAAA9C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKsB,YAAoC,EAC7D;QACEhB,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;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,MAAMqB,uBAAuB,GAAGhH,KAAK,CAACuE,MAAM,CAACU,YAAY,CAAC;EAE1DjF,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC3C,OAAO,GAAGY,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC3C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAoB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAG1C,KAAK;EAE5B,IACE,CAACtE,YAAY,CAACsE,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC3E,aAAa,CAAC6E,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG7C,MAAM,CAAC8C,2BAA2B,CAAC3C,KAAK,EAAE;MACpDM,UAAU;MACVK,cAAc;MACdE,cAAc;MACd+B,eAAe,EAAE9B,MAAM,CAACxC,IAAI,CAACkC,YAAY,CAAC,CAACqC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAGxH,KAAK,CAACuE,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3DxE,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAACnD,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,MAAMiD,cAAc,GAAGD,uBAAuB,CAACnD,OAAO;IAEtD,IAAIqD,MAAwC;IAE5C,IACE,OAAOzD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAKiD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC4H,KAAK,CAAC1D,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,IAAIgC,0BAA0B,IAC5DzC,KAAK,CAACO,MAAM,KAAKiD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC6H,QAAQ,CAAC;QAC9B/E,IAAI,EAAEoB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BqD,IAAI,EAAE5D,KAAK,CAACO,MAAM,CAACqD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBpD,MAAM,CAACyD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1C3C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBxD,MAAM,CAACyC,kBAAkB,CAACe,YAAY,EAAE;MACtC/C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGvD,KAAK,KAAK0C,SAAS;EAExC3F,iBAAiB,CAAC,MAAM;IACtB,IAAIwG,YAAY,EAAE;MAChB;MACA9B,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA1C,KAAK,GAAG0C,SAAS;EAEjBnH,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBb,MAAM,CAACpC,YAAY,CAAC;IAEpB,IAAI,CAACsC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAc,UAAU,CAAC,MAAM;QACf,IAAIhC,eAAe,EAAE,KAAKtE,SAAS,IAAI0E,MAAM,EAAE,KAAKrC,YAAY,EAAE;UAChEwC,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0B,mBAAmB,GAAGlI,KAAK,CAACuE,MAAM,EAAS;EACjD2D,mBAAmB,CAAC7D,OAAO,GAAGoC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGhG,KAAK,CAAC4F,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZmC,mBAAmB,CAAC7D,OAAiB;EAC5C,CAAC,EAAE,CAAC4B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMsC,OAAO,GAAGpH,eAAe,CAAuBqH,CAAC,IAAK;IAC1D,IAAIrD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAImE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZpE,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAACC,IAAI,CAAEtE,KAAK,IAAKA,KAAK,CAACvC,GAAG,KAAK0G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIpE,KAAK,mCAAL,OAAOpB,IAAI,EAAE;QACfkC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACpB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLoB,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAAC7D,KAAK,CAAC+D,KAAK,CAAC;MACjCzD,UAAU,CAACjC,IAAI,CACb,GAAGyC,MAAM,CAACxC,IAAI,CAAC+B,OAAO,CAAC,CAACwC,MAAM,CAAEzE,IAAI;QAAA;QAAA,OAAK,YAAAoB,KAAK,4CAAL,QAAOpB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIoB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMwE,UAAU,GAAGC,WAAW,CAACzE,KAAK,CAACvC,GAAG,CAAC,CAAC+G,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDzE,eAAe,EACf,GAAGY,UAAU,CAACC,GAAG,CAAEnC,IAAI,IAAK;MAC1B,MAAM;QAAE8F;MAAU,CAAC,GAAG7D,OAAO,CAACjC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOmG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC3D,GAAG,CAAE2D,SAAS,IAAK;MACnB,MAAM3D,GAAG,GACP,OAAO2D,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE1E,KAAK,EAAEA,KAAY;QAAEwE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO3D,GAAG,GACNO,MAAM,CAACxC,IAAI,CAACiC,GAAG,CAAC,CACbsC,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK6F,CAAC,CAAC7F,IAAI,CAAC,CACjCyC,GAAG,CAAEzC,IAAI,IAAKyC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGzC,IAAI,CAAC,CAAC,GAC7BZ,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC2F,MAAM,CAAC,CAACuB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACpF,OAAO,CAAE0F,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFnH,cAAc,CAAC;IAAEwD,KAAK;IAAE0D;EAAQ,CAAC,CAAC;EAElCnI,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBkB,OAAO,CAACe,IAAI,CAAC;MAAE3G,IAAI,EAAE,OAAO;MAAE4G,IAAI,EAAE;QAAE1E;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC0D,OAAO,EAAE1D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEkE,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;IAC3BkD,MAAM;IACN0B,QAAQ;IACRE,QAAQ;IACRxE,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACf+H,eAAe,EAAEL,cAAc,CAAC1B,MAAM;IACtCgC,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB7E,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACD6C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGvI,eAAe,CAAC;IACnCgD,MAAM;IACN5C,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACfsE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAGtH,oBAAoB,CAKrC;IACA2I,EAAE,EAAE9G,OAAO,CAAC8G,EAAE;IACdN,QAAQ;IACRxD,QAAQ;IACRmC,OAAO;IACP7D;EACF,CAAC,CAAC;EAEFtD,kCAAkC,CAAC;IACjCyH,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF3I,aAAa,CAAC;IACZ2E,QAAQ;IACRiE,iBAAiB,EAAEX,cAAc,CAACtD;EACpC,CAAC,CAAC;EAEF,MAAM0C,WAAW,GAAG5H,cAAc,CAKhC;IACA2D,KAAK;IACLK,OAAO;IACP2D,UAAU;IACVvF,aAAa,EAAEF,OAAO,CAACE,aAAa;IACpCgH,oBAAoB,EAAElH,OAAO,CAACkH,oBAAoB;IAClDV,QAAQ;IACRxD,QAAQ;IACRE,QAAQ;IACR2D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBjF,MAAM;IACN;IACA6D;EACF,CAAC,CAAC;EAEFtH,gBAAgB,CAAC;IACf4D,KAAK;IACLgE,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;IACL4C,KAAK;IACLgE,UAAU;IACVC,WAAW;IACXyB;EACF,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"} ++{"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 e5236306cbf4..27e29484545a 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":";;;;;;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","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":"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,SAKEC,iBAAiB,QAGZ,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;AAqBjB,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,CAKlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,KACT;EACH,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,QAAQ,CAACC,OAAO,CAACL,QAAQ,CAAC,CAACM,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIrC,KAAK,CAACsC,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAK9B,MAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACgB,UAAU,CAACY,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;QAEAT,GAAG,CAACU,IAAI,CAAC;UACPC,IAAI,EAAE,CAACjB,QAAQ,EAAEO,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEjB,YAAY;UACrBS,KAAK,EAAEH,KAAK,CAACG;QAOf,CAAC,CAAC;QACF,OAAOJ,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKvC,KAAK,CAACiD,QAAQ,IAAIZ,KAAK,CAACE,IAAI,KAAKrC,KAAK,EAAE;QACzD,IAAI,CAACuB,UAAU,CAACY,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;QACA;QACAL,GAAG,CAACU,IAAI,CACN,GAAGlB,2BAA2B,CAC5BS,KAAK,CAACG,KAAK,CAACX,QAAQ,EACpBQ,KAAK,CAACG,KAAK,CAACC,aAAa,EACzBJ,KAAK,CAACE,IAAI,KAAKrC,KAAK,GAChB6B,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEM,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,GAC5C,CAACb,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,CAChC,CACF;QACD,OAAOd,GAAG;MACZ;IACF;IAEA,MAAM,IAAIM,KAAK,CACZ,oGACC,aAAA1C,KAAK,CAACsC,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;QAAEhB,QAAQ;QAAE4B,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,IACEhB,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIe,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIe,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIe,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIa,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI,CAAC1B,kBAAkB,CAACwD,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIf,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIa,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,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,CAO1CC,YAAsD,EACtDf,OAOe,EACf;EACA,MAAMgB,YAAY,GAAGzC,oBAAoB,EAAE;EAE3C,MAAM0C,KAAK,GAAGjE,KAAK,CAACkE,UAAU,CAAC5D,sBAAsB,CAExC;EAEb,MAAM;IAAEuB,QAAQ;IAAEsC,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGpB,OAAO;EACtD,MAAM;IAAEqB,OAAO,EAAEC;EAAO,CAAC,GAAGtE,KAAK,CAACuE,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,GAAGjD,2BAA2B,CAI9CC,QAAQ,CAAC;EAEX,MAAMiD,OAAO,GAAGD,YAAY,CAAC1C,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,MAAM2C,UAAU,GAAGF,YAAY,CAACG,GAAG,CAAExB,MAAM,IAAKA,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMoC,YAAY,GAAGF,UAAU,CAAC5C,MAAM,CACpC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb9C,GAAG,CAAC8C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACnC,IAAI,CAACiC,GAAG,CAAEtD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACyD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMgD,cAAc,GAAGL,UAAU,CAAC5C,MAAM,CACtC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;IAC7CJ,GAAG,CAAC8C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOjD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMkD,cAAc,GAAGP,UAAU,CAAC5C,MAAM,CAGtC,CAACC,GAAG,EAAE8C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACpD,GAAG,EAAE;IACjB,CAAC8C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIhD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMiD,YAAY,GAAG3F,KAAK,CAAC4F,WAAW,CACnCnB,KAAsD,IACrDA,KAAK,CAAClC,IAAI,KAAKZ,SAAS,IAAI8C,KAAK,CAAClC,IAAI,KAAK+B,MAAM,CAAC/B,IAAI,EACxD,CAAC+B,MAAM,CAAC/B,IAAI,CAAC,CACd;EAED,MAAMsD,kBAAkB,GAAG7F,KAAK,CAAC4F,WAAW,CACzCnB,KAAkE,IACjEA,KAAK,KAAK9C,SAAS,IAAI8C,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,GAAGtG,KAAK,CAACkE,UAAU,CAAC3D,sBAAsB,CAAC;EAE5C,MAAMgG,cAAc,GAAGvG,KAAK,CAACuE,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMiC,YAAY,GAAGxG,KAAK,CAAC4F,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAACxE,SAAS,CAAC;IAC1B4E,cAAc,CAAClC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC8B,eAAe,CAAC,CAAC;EAErB,MAAMD,QAAQ,GAAGlG,KAAK,CAAC4F,WAAW,CAC/BnB,KAAkE,IAAK;IACtE,IAAI8B,cAAc,CAAClC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA8B,eAAe,CAAC1B,KAAK,CAAC;EACxB,CAAC,EACD,CAAC0B,eAAe,CAAC,CAClB;EAED,MAAM,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG1G,KAAK,CAAC2G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG7B,UAAU,CAAC5C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA5C,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,MAAKO,IAAI,GAC1BjB,KAAK,CAACO,MAAM,CAACA,MAAM,GACnB7C,SAAS;MAEfS,GAAG,CAAC8C,IAAI,CAAC,GACPG,aAAa,KAAK1D,SAAS,IAAIkF,uBAAuB,KAAKlF,SAAS,GAChE;QACE,GAAG0D,aAAa;QAChB,GAAGwB;MACL,CAAC,GACDlF,SAAS;MAEf,OAAOS,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC2D,YAAY,KAAKpE,SAAS,IAAI,CAACgE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA9B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACwC,eAAe,CAAC;QACrB/B,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLhB,MAAM,CAACyC,kBAAkB,CACvB,CAAA9C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKsB,YAAoC,EAC7D;QACEhB,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;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,MAAMqB,uBAAuB,GAAGhH,KAAK,CAACuE,MAAM,CAACU,YAAY,CAAC;EAE1DjF,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC3C,OAAO,GAAGY,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC3C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAoB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAG1C,KAAK;EAE5B,IACE,CAACtE,YAAY,CAACsE,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC3E,aAAa,CAAC6E,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG7C,MAAM,CAAC8C,2BAA2B,CAAC3C,KAAK,EAAE;MACpDM,UAAU;MACVK,cAAc;MACdE,cAAc;MACd+B,eAAe,EAAE9B,MAAM,CAACxC,IAAI,CAACkC,YAAY,CAAC,CAACqC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAGxH,KAAK,CAACuE,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3DxE,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAACnD,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,MAAMiD,cAAc,GAAGD,uBAAuB,CAACnD,OAAO;IAEtD,IAAIqD,MAAwC;IAE5C,IACE,OAAOzD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAKiD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC4H,KAAK,CAAC1D,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,IAAIgC,0BAA0B,IAC5DzC,KAAK,CAACO,MAAM,KAAKiD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC6H,QAAQ,CAAC;QAC9B/E,IAAI,EAAEoB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BqD,IAAI,EAAE5D,KAAK,CAACO,MAAM,CAACqD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBpD,MAAM,CAACyD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1C3C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBxD,MAAM,CAACyC,kBAAkB,CAACe,YAAY,EAAE;MACtC/C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGvD,KAAK,KAAK0C,SAAS;EAExC3F,iBAAiB,CAAC,MAAM;IACtB,IAAIwG,YAAY,EAAE;MAChB;MACA9B,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA1C,KAAK,GAAG0C,SAAS;EAEjBnH,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBb,MAAM,CAACpC,YAAY,CAAC;IAEpB,IAAI,CAACsC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAc,UAAU,CAAC,MAAM;QACf,IAAIhC,eAAe,EAAE,KAAKtE,SAAS,IAAI0E,MAAM,EAAE,KAAKrC,YAAY,EAAE;UAChEwC,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0B,mBAAmB,GAAGlI,KAAK,CAACuE,MAAM,EAAS;EACjD2D,mBAAmB,CAAC7D,OAAO,GAAGoC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGhG,KAAK,CAAC4F,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZmC,mBAAmB,CAAC7D,OAAiB;EAC5C,CAAC,EAAE,CAAC4B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMsC,OAAO,GAAGpH,eAAe,CAAuBqH,CAAC,IAAK;IAC1D,IAAIrD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAImE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZpE,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAACC,IAAI,CAAEtE,KAAK,IAAKA,KAAK,CAACvC,GAAG,KAAK0G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIpE,KAAK,mCAAL,OAAOpB,IAAI,EAAE;QACfkC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACpB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLoB,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAAC7D,KAAK,CAAC+D,KAAK,CAAC;MACjCzD,UAAU,CAACjC,IAAI,CACb,GAAGyC,MAAM,CAACxC,IAAI,CAAC+B,OAAO,CAAC,CAACwC,MAAM,CAAEzE,IAAI;QAAA;QAAA,OAAK,YAAAoB,KAAK,4CAAL,QAAOpB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIoB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMwE,UAAU,GAAGC,WAAW,CAACzE,KAAK,CAACvC,GAAG,CAAC,CAAC+G,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDzE,eAAe,EACf,GAAGY,UAAU,CAACC,GAAG,CAAEnC,IAAI,IAAK;MAC1B,MAAM;QAAE8F;MAAU,CAAC,GAAG7D,OAAO,CAACjC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOmG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC3D,GAAG,CAAE2D,SAAS,IAAK;MACnB,MAAM3D,GAAG,GACP,OAAO2D,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE1E,KAAK,EAAEA,KAAY;QAAEwE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO3D,GAAG,GACNO,MAAM,CAACxC,IAAI,CAACiC,GAAG,CAAC,CACbsC,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK6F,CAAC,CAAC7F,IAAI,CAAC,CACjCyC,GAAG,CAAEzC,IAAI,IAAKyC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGzC,IAAI,CAAC,CAAC,GAC7BZ,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC2F,MAAM,CAAC,CAACuB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACpF,OAAO,CAAE0F,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFnH,cAAc,CAAC;IAAEwD,KAAK;IAAE0D;EAAQ,CAAC,CAAC;EAElCnI,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBkB,OAAO,CAACe,IAAI,CAAC;MAAE3G,IAAI,EAAE,OAAO;MAAE4G,IAAI,EAAE;QAAE1E;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC0D,OAAO,EAAE1D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEkE,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;IAC3BkD,MAAM;IACN0B,QAAQ;IACRE,QAAQ;IACRxE,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACf+H,eAAe,EAAEL,cAAc,CAAC1B,MAAM;IACtCgC,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB7E,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACD6C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGvI,eAAe,CAAC;IACnCgD,MAAM;IACN5C,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACfsE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAGtH,oBAAoB,CAKrC;IACA2I,EAAE,EAAE9G,OAAO,CAAC8G,EAAE;IACdN,QAAQ;IACRxD,QAAQ;IACRmC,OAAO;IACP7D;EACF,CAAC,CAAC;EAEFtD,kCAAkC,CAAC;IACjCyH,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF3I,aAAa,CAAC;IACZ2E,QAAQ;IACRiE,iBAAiB,EAAEX,cAAc,CAACtD;EACpC,CAAC,CAAC;EAEF,MAAM0C,WAAW,GAAG5H,cAAc,CAKhC;IACA2D,KAAK;IACLK,OAAO;IACP2D,UAAU;IACVvF,aAAa,EAAEF,OAAO,CAACE,aAAa;IACpCgH,oBAAoB,EAAElH,OAAO,CAACkH,oBAAoB;IAClDV,QAAQ;IACRxD,QAAQ;IACRE,QAAQ;IACR2D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBjF,MAAM;IACN;IACA6D;EACF,CAAC,CAAC;EAEFtH,gBAAgB,CAAC;IACf4D,KAAK;IACLgE,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;IACL4C,KAAK;IACLgE,UAAU;IACVC,WAAW;IACXyB;EACF,CAAC;AACH"} \ 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 c8f799490f89..c9dbc23e8d50 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 088780da0314..f82e3eaa58c0 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 3ca17e15c3f8..97b3caa49fa9 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 0d1af3c2f48a..47430f8225c0 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 dd4f2b0b568b..0c7d12b5d3aa 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 8d4ddb37a44e..352ed64981e7 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 7d04893b5ebe..90f4698b0daa 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 c08ff9e88334..67005b493109 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 708c0d8f149a..1bb8e0ca0ef0 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 132a380b1af5..e2cff593920e 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 43f50b4fe2e6..6343a03b5b11 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 0c7d12b5d3aa..bdec75ec6ff3 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 352ed64981e7..6a8fab338d87 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 90f4698b0daa..67794c469885 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 67005b493109..94fb15233e53 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 1fe8429a4f61..2c4107335eb3 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 f82e3eaa58c0..bb71e476b831 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 97b3caa49fa9..67509b90106a 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 1bb8e0ca0ef0..912bd665e761 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 e2cff593920e..a0a153239c26 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 3911b8a1c0cd..3d01784fca54 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 d6f094bdb706..4c4aedc31924 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 a2aa0e187f5d..f663f1819b59 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 27e29484545a..2a6d29e360f5 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 bdec75ec6ff3..1eafed5f8202 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 6a8fab338d87..a4f3fa4a4e42 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 67794c469885..89a73339af49 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 94fb15233e53..44c4e1e674aa 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 bb71e476b831..7b53e399873a 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 67509b90106a..0a19e7334934 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 912bd665e761..a60c598f86f1 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 a0a153239c26..b83c36810a40 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 1eafed5f8202..1bb1297779f4 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 a4f3fa4a4e42..8b8093a184fa 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 89a73339af49..d486013d915b 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 44c4e1e674aa..1afd96ec2636 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 7b53e399873a..fca7bb1acc7c 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 0a19e7334934..69131d54aa64 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 1bb1297779f4..21fa0e0b885c 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 8b8093a184fa..d1f3333e6548 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 71645e81908a..4d8219a32301 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 576cdc31a090..7963a851dce4 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 1e1305ce54eb..991dba98c50b 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 f79fb7a31c86..beb1aaa01bb2 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 4f482b5024aa..a2758682b87e 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 7d12bdd01386..a94cdb89feb9 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 6ef495a65bd3..71f9f765403b 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 6a0d89f2fad5..225c645f85e6 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 2a6d29e360f5..6690085b729a 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 000000000000..819f7ee2f3b5 --- /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 000000000000..ea025df8466d --- /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 a60c598f86f1..000000000000 --- 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 b83c36810a40..000000000000 --- 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 000000000000..3fce3428d291 --- /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 000000000000..7ec3bac944bb --- /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 000000000000..7127a4eb573e --- /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 9cce65ed0d97..ca66fcd87e2c 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 000000000000..14f97fba0e9c --- /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 000000000000..dc517327adce --- /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 fca7bb1acc7c..000000000000 --- 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 69131d54aa64..f542810bfcc2 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 6d7187dbe9af..d4df8f6ea45d 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 47430f8225c0..000000000000 --- 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 21fa0e0b885c..b1da7bfc4dea 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 d1f3333e6548..ac1592a5e233 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 2c4107335eb3..e46989c28118 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 7ec3bac944bb..866f003f2e87 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 3fce3428d291..554a596a39f9 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 866f003f2e87..31d8ecc5676e 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 7127a4eb573e..4e629a125e17 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 14f97fba0e9c..5ce76acb82df 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 dc517327adce..7ec2fc18cc26 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 000000000000..3c5187e97f9e --- /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 b1da7bfc4dea..000000000000 --- 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 ac1592a5e233..5bfda300be69 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 f7fad09f2526..000000000000 --- 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 554a596a39f9..f7780919a7b0 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 31d8ecc5676e..3dc86088f8db 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 4e629a125e17..168068d23913 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 ca66fcd87e2c..caf1a74e08f6 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 ebc3fb74a36b..000000000000 --- 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 4593c0b7688e..5e11aef37897 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 d486013d915b..000000000000 --- 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 1afd96ec2636..a455d5a82e30 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 e46989c28118..000000000000 --- 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 504803026994..defc68cd0ea7 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 5ce76acb82df..c836298a2a5f 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 f542810bfcc2..a062eb77d301 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 d4df8f6ea45d..000000000000 --- 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 f7780919a7b0..ccc94b537261 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 3dc86088f8db..9dc3fcac4196 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 3d01784fca54..2ab69133b1b8 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 4c4aedc31924..e639bcc42f61 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 000000000000..821584f58645 --- /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 168068d23913..f54aefe5974b 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 000000000000..4374417b93df --- /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 000000000000..eeca9ab8fadb --- /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 caf1a74e08f6..8d7b87f5c183 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 c42b67f75c08..5cf8754d0961 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 6b147b25f10b..ad68936b080f 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 f265a5566e2b..9854ea136e8b 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 ccc94b537261..14b4aa83e83c 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 9dc3fcac4196..bfb0811fbda8 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 55f2a2bf282d..0c364f4538c2 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 cc3b2334e9e4..c22aa867f3da 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 dceb5785ba12..56cc29d5bc4a 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 d9969ecf9d8c..7474ff672c34 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 d499ac534bc5..93c2da15d8db 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 5b2047b2580b..381a1716f59b 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 8fdc945c9a8f..85a99b50b2ac 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 b52e45e50bea..265f7666decc 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 f2204c691bd2..435efa8be6ce 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 0f3f235b2ff8..ccc4ecc0af3e 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 8ba8e3f9c6b6..80a49305c05b 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 b903caa3a7a4..76dac1aca1a8 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 72f0c91cec60..745a4ac2e29b 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 c8171639980f..63c3d154e74c 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 4fda961662a7..0aabe5ad5d58 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 3dbcf49b1db9..90909d7e4a72 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 c0cf678441d2..8aea77410d2f 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 5c62d130cc0c..1db4e878bcb7 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 3ec88780970e..15681ce8816a 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 75e6e80e2fae..9551e5b0f10f 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 ddb5c2638536..cf7f68a56abe 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 03a358d71b3d..037153ff6478 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 aa9b0b387225..eaa60824ab6a 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 044de8146a46..47208eee2ebb 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 eabc2888a6e9..361810ed1ff7 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 23f1eff87926..7e33b7047cc5 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 7a845ecddcce..59e8a30dbd77 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 e742a9c5d4c1..f9b78d77b81e 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 9946068e11bc..1275452ebd05 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 64fca1496422..ad4006b06e03 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 7172f6064950..81c95b243157 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 9f28445e89c0..8ade6b170395 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 4ce9f8b58351..58780d63f5d4 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 79aee2186fd0..5fec33ce4a15 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 a57e42fb37ce..8edcc669be86 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 a48b13e6fc46..f40405d2e1a6 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 fc8a250ca144..44e61bc7b318 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 0601c427a30e..ebec25da7a63 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 2200c616dafb..108b6576ad96 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 2b1c99200443..824868792124 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 922432e7366d..f3ae524cc154 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 c05d82398fe1..b53d10b5a5e1 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 38a2f0ab48f4..6b3dd77a94e8 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 4516f53cfee6..dc67f04303d5 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 4638add5c6b9..791a3054f3d8 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 102ad35f2474..5636358dfe6f 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 ed8801628fd3..9fcca69a611d 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 780709c578df..f9a62195f81f 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 e2b6e7b4b726..d2eeb0d59c61 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 63d7cf6cbddc..4dac01544b23 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 9258506a1223..585518fd59f2 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 3170a20085da..1b8eb22ac649 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 c901021acd9e..8bef635dec64 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 f15b566642e7..50fb856103bc 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 5498efb5a77e..f0f12d4776c8 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 b5562a978be5..f71f20257fff 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 0cbe411c565f..915df16305fd 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 adafbf1ca5b3..fff2b9c19ddb 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 d1e317879f19..7cf4dab2c6b8 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 3a9391528eba..6a955419908f 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 85a9836b9f3a..84f89f8cdbe7 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 b67192f907dd..9e62a8d66071 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 a21c06c2c895..161cd1e1bb81 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 386908c75578..5a4910f5c340 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 cfcc3ec576be..702f85152680 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 50e93096ee7e..99f195a9d54b 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 4743f5e70720..7a856f98332f 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 57078a4f98b3..9cb8f19cce13 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 3a5df14c07b7..2eeeea507065 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 64c520cbf8b1..d59150500113 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 3d17086736ad..3e7004f21e02 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 7ec6f3fe4ce3..6a10a6dc1039 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 8ffbafa02ce7..22dd4e01af25 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 10b851383ed7..54aa72d7814f 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 8ef68569873f..9183b0860851 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 bf2101ca0901..71abf7ea7132 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 1f0d8d0ce853..22982c1618ad 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 70ab6d5ef9d3..41b718792e9d 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 cf1cd9596a26..3b201a8920e7 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 9a5f1e6f4d64..a264cd0e2592 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 69c31619f1cc..38f066876d8e 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 8e7e6f5a9f46..084141ab368a 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 3b52e5c22cc5..03a1c81719a5 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 c9c01b9bf465..c0f8ceefb49a 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 5e35a699af53..3c8d2e795397 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 ebbb79875905..efb13e710fbd 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 bfd71f4b59ea..877da930fd9e 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 cc9a8bbf6e0b..6cfe9d2ef049 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 48202d250872..a484e26b6ca4 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 6a2e19264746..168cd23a53d7 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 1d5cfcb25b52..c84cd9adb8b2 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 fb61822759d7..ae5c6c838669 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 104694cfbc63..3c763f3c154d 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 89b3fc71dc56..ab15e94add6a 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 be899ce2eabf..0670c5682cb6 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 a1500e5c64f2..ebc32b2f47f2 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 e40d7fbcae9c..5e9b27ca7a53 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 a5cbf9aae516..72bfb6cb924f 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 10ce8353eef3..d80cf676953a 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 09787ce3ccb3..26dfa84520f4 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 5919223b25c1..2b6858bba684 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 ae477c424423..0efa55022cfe 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 eabf4c787fbb..32c53aece169 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 000000000000..e4e44f92fd8e --- /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 8205a6a9e798..ba416222bbe2 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 1c5c82c379eb..779c17dc9d42 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 423c1b482302..e3a67bc37583 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 c0093379046f..0d07e69070dc 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 839ba1fc73b8..fa7cfa060851 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 1d71e689d7c2..98010726923c 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 e75a59a20062..3d6179ed53b5 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 3c5187e97f9e..155f74d6a6ad 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 5bfda300be69..987fbfc607f6 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 c836298a2a5f..eee7319ec613 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 7ec2fc18cc26..8c485663faa2 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 a062eb77d301..cea062b625cd 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 0eb2bc534e80..1edcf3e27839 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 225c645f85e6..364cf1b934b3 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 819f7ee2f3b5..9d1af6e764e5 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 9a647bcd26be..301dd733a0e9 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 2ab69133b1b8..cd524a8f6956 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 e639bcc42f61..6ac7ed07d6dc 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 8d7b87f5c183..2c1c36eb6a34 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 000000000000..33e281ce8e1a --- /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 3104264263a6..a480049ce6ae 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 4d8219a32301..3dfdbbbc44af 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 14b4aa83e83c..32fcfe609fde 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 bfb0811fbda8..b142ff40e6b7 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 6ac7ed07d6dc..1a5da1615b57 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 eeca9ab8fadb..a3336b2c8672 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 2c1c36eb6a34..f97ad8b0aa59 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 22982c1618ad..a8982936dc15 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 cea062b625cd..f8b8cb84ecf4 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 32fcfe609fde..1a0f90896760 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 b142ff40e6b7..e97eefc76a48 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 f54aefe5974b..7570a64c3b52 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 8f0acc969352..cf5c4bab5c75 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 155f74d6a6ad..2f2f65a75ecf 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 1a0f90896760..dfd14e1fc01f 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 e97eefc76a48..e8c945914d5c 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 61279046a5c6..c43388c52a67 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 467456481221..d5598c93eb53 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 31528d7fb7a4..b6b6c8c74e48 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 2d10f5933d8a..c8c7f120de15 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 7e04143fd615..9395ff7f0ab6 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 933ca6ce792e..000000000000 --- 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 da61ec6a25ba..000000000000 --- 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 000000000000..40e93a0bfe79 --- /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 000000000000..73385f344fd2 --- /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":"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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","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":"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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 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 cd524a8f6956..2e9636945f43 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 dfd14e1fc01f..7881e54c5d4b 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 e8c945914d5c..5b1e524736cd 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 7570a64c3b52..b4bda2a8a815 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 987fbfc607f6..9a2a82c3322a 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 000000000000..eee19da60af2 --- /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 000000000000..d1517a6793de --- /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 a2758682b87e..4f482b5024aa 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 0dd9e203c46b..cde195fca561 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 0398bd3b1324..4b535b6e26a6 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 a6e6fbfa1543..fb06aabab198 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 335c2b9f46f6..0b53cbc9b9af 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 465e11d96768..108b94ae7590 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 392ec430b571..b6d8a2820959 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 9107a9a0cff8..3caaf3d838bd 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 9c4e476d0e66..9a0f3bdcdb9b 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 50ebc6f22514..b04b580abbb6 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 73385f344fd2..e8c6ad7ffa2e 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 b04b580abbb6..176b0c897bd1 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 ebec25da7a63..b9039f85e71e 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 6690085b729a..7cebc6ee28d2 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 e25ec84c8950..2556333b4497 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 90cced1e2cdd..5a9cff3d95fa 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 1d39a438360f..000000000000 --- 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 7873433b8b0c..37a100ebfc21 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 6dac8da073af..64f02525a4ef 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 bedf5c73a4f6..fb7c722cfaa7 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 7881e54c5d4b..ef5eab09395d 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 90421394837c..7a5e3bfae3f4 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 301dd733a0e9..0931ae9a3635 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 2e9636945f43..83326100b15b 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 1a5da1615b57..d85deaeee191 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 f97ad8b0aa59..b8ad61cdb1d9 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 37a100ebfc21..b17db67e6f0c 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 d1d143ba5e7c..0aa79b3ae706 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 820691180c1f..6cb59b530cfb 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 3d6179ed53b5..0ca3db57b67f 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 a480049ce6ae..8d941799a81a 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 1edcf3e27839..ceefb2380f59 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 6b68feb28c7b..c9ff10e63401 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 3dfdbbbc44af..d4618348af6f 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 f4136bb8783a..0c964c3c4356 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 f8b8cb84ecf4..4bd23922898a 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 158bfa115280..1b011b000b79 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 1b011b000b79..81625f04c5ed 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":"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;AAUnC,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,aAAa,MAAM,iBAAiB;AAgD3C;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 -+{"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 81625f04c5ed..217081a61fa6 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":"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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 +--- 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":"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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..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":"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,QAGZ,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,MAAML,KAML,GACCZ,sBAAsB,KAAKL,SAAS,GAChCc,KAAK,CAACG,KAAK,GACX;UACE,GAAGH,KAAK,CAACG,KAAK;UACdM,OAAO,EAAElB,sBAAsB,CAACS,KAAK,CAACG,KAAK,CAACM,OAAO;QACrD,CAAC;QAEPV,GAAG,CAACW,IAAI,CAAC;UACPC,IAAI,EAAE,CAACtB,QAAQ,EAAEW,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CK,OAAO,EAAEjB,oBAAoB;UAC7BW;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;QACA;QACAL,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,MAAMgC,YAAY,GAAG5G,KAAK,CAACgG,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAAC5E,SAAS,CAAC;IAC1BgF,cAAc,CAACjC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC6B,eAAe,CAAC,CAAC;EAErB,MAAMD,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,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG9G,KAAK,CAAC+G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG5B,UAAU,CAAC7C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA3C,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,IAAIsF,uBAAuB,KAAKtF,SAAS,GAChE;QACE,GAAG8D,aAAa;QAChB,GAAGwB;MACL,CAAC,GACDtF,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,CAACuC,eAAe,CAAC;QACrB9B,UAAU;QACVI,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLf,MAAM,CAACwC,kBAAkB,CACvB,CAAA7C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKqB,YAAoC,EAC7D;QACEf,UAAU;QACVI,cAAc,EAAEwB,qBAAqB;QACrCtB;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,MAAMqB,uBAAuB,GAAGpH,KAAK,CAAC4E,MAAM,CAACS,YAAY,CAAC;EAE1DrF,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC1C,OAAO,GAAGW,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC1C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAmB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAGzC,KAAK;EAE5B,IACE,CAAC3E,YAAY,CAAC2E,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAChF,aAAa,CAACiF,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG5C,MAAM,CAAC6C,2BAA2B,CAAC1C,KAAK,EAAE;MACpDM,UAAU;MACVI,cAAc;MACdE,cAAc;MACd+B,eAAe,EAAE9B,MAAM,CAACvC,IAAI,CAACiC,YAAY,CAAC,CAACqC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAG5H,KAAK,CAAC4E,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3D7E,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAAClD,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,MAAMgD,cAAc,GAAGD,uBAAuB,CAAClD,OAAO;IAEtD,IAAIoD,MAAwC;IAE5C,IACE,OAAOxD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAKgD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG/H,aAAa,CAACgI,KAAK,CAACzD,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,IAAI+B,0BAA0B,IAC5DxC,KAAK,CAACO,MAAM,KAAKgD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG/H,aAAa,CAACiI,QAAQ,CAAC;QAC9B/E,IAAI,EAAEqB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BoD,IAAI,EAAE3D,KAAK,CAACO,MAAM,CAACoD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBnD,MAAM,CAACwD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1C1C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBvD,MAAM,CAACwC,kBAAkB,CAACe,YAAY,EAAE;MACtC9C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGtD,KAAK,KAAKyC,SAAS;EAExC/F,iBAAiB,CAAC,MAAM;IACtB,IAAI4G,YAAY,EAAE;MAChB;MACA9B,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACAzC,KAAK,GAAGyC,SAAS;EAEjBvH,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBb,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAc,UAAU,CAAC,MAAM;QACf,IAAIhC,eAAe,EAAE,KAAK1E,SAAS,IAAI8E,MAAM,EAAE,KAAKpC,YAAY,EAAE;UAChEuC,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0B,mBAAmB,GAAGtI,KAAK,CAAC4E,MAAM,EAAS;EACjD0D,mBAAmB,CAAC5D,OAAO,GAAGmC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGpG,KAAK,CAACgG,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZmC,mBAAmB,CAAC5D,OAAiB;EAC5C,CAAC,EAAE,CAAC2B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMsC,OAAO,GAAGxH,eAAe,CAAuByH,CAAC,IAAK;IAC1D,IAAIpD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAIkE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZnE,KAAK,GAAGQ,KAAK,CAAC4D,MAAM,CAACC,IAAI,CAAErE,KAAK,IAAKA,KAAK,CAAC5C,GAAG,KAAK8G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAInE,KAAK,mCAAL,OAAOrB,IAAI,EAAE;QACfmC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACrB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLqB,KAAK,GAAGQ,KAAK,CAAC4D,MAAM,CAAC5D,KAAK,CAAC8D,KAAK,CAAC;MACjCxD,UAAU,CAACjC,IAAI,CACb,GAAGwC,MAAM,CAACvC,IAAI,CAAC+B,OAAO,CAAC,CAACuC,MAAM,CAAEzE,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,MAAMuE,UAAU,GAAGC,WAAW,CAACxE,KAAK,CAAC5C,GAAG,CAAC,CAACmH,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDxE,eAAe,EACf,GAAGY,UAAU,CAAClD,GAAG,CAAEe,IAAI,IAAK;MAC1B,MAAM;QAAE8F;MAAU,CAAC,GAAG5D,OAAO,CAAClC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOmG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC7G,GAAG,CAAE6G,SAAS,IAAK;MACnB,MAAM7G,GAAG,GACP,OAAO6G,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAEzE,KAAK,EAAEA,KAAY;QAAEuE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO7G,GAAG,GACNyD,MAAM,CAACvC,IAAI,CAAClB,GAAG,CAAC,CACbwF,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK6F,CAAC,CAAC7F,IAAI,CAAC,CACjCT,GAAG,CAAES,IAAI,IAAKT,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGS,IAAI,CAAC,CAAC,GAC7BhB,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC+F,MAAM,CAAC,CAACuB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACpF,OAAO,CAAE0F,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFvH,cAAc,CAAC;IAAE6D,KAAK;IAAEyD;EAAQ,CAAC,CAAC;EAElCvI,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBkB,OAAO,CAACe,IAAI,CAAC;MAAE3G,IAAI,EAAE,OAAO;MAAE4G,IAAI,EAAE;QAAEzE;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAACyD,OAAO,EAAEzD,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEiE,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAG9I,iBAAiB,EAAE;EAEtE,MAAM;IAAE+I,cAAc;IAAEC;EAAiB,CAAC,GAAGzI,sBAAsB,EAAE;EAErE,MAAM0I,QAAQ,GAAGxI,WAAW,CAAC;IAC3BuD,MAAM;IACNyB,QAAQ;IACRE,QAAQ;IACR5E,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACfmI,eAAe,EAAEL,cAAc,CAAC1B,MAAM;IACtCgC,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB5E,UAAU;MACVI,cAAc;MACdE;IACF,CAAC;IACD6C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAG3I,eAAe,CAAC;IACnCqD,MAAM;IACNjD,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACf0E,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAG1H,oBAAoB,CAKrC;IACA+I,EAAE,EAAEhH,OAAO,CAACgH,EAAE;IACdN,QAAQ;IACRxD,QAAQ;IACRmC,OAAO;IACP5D;EACF,CAAC,CAAC;EAEF3D,kCAAkC,CAAC;IACjC6H,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF/I,aAAa,CAAC;IACZ+E,QAAQ;IACRiE,iBAAiB,EAAEX,cAAc,CAACtD;EACpC,CAAC,CAAC;EAEF,MAAM0C,WAAW,GAAGhI,cAAc,CAKhC;IACAgE,KAAK;IACLK,OAAO;IACP0D,UAAU;IACVvF,aAAa,EACXJ,OAAO,CAACI,aAAa,KAAK3B,SAAS,GAC/BA,SAAS,GACTyC,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CAAGlB,OAAO,CAACI,aAAa,CAAC;IACzDgH,oBAAoB,EAClBpH,OAAO,CAACoH,oBAAoB,KAAK3I,SAAS,GACtCA,SAAS,GACTyC,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CACxBlB,OAAO,CAACoH,oBAAoB,CAC7B;IACPV,QAAQ;IACRxD,QAAQ;IACRE,QAAQ;IACR2D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBhF,MAAM;IACN;IACA4D;EACF,CAAC,CAAC;EAEF1H,gBAAgB,CAAC;IACfiE,KAAK;IACL+D,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAG3J,YAAY,CAAEiB,QAAyB,iBAC/D,oBAAC,wBAAwB,CAAC,QAAQ;IAAC,KAAK,EAAEgH;EAAW,gBACnD,oBAAC,qBAAqB,QAAEhH,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACLiD,KAAK;IACL+D,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 +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 217081a61fa6..28e99d38f329 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":";;;;;;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 +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":"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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..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":"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,QAGZ,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,MAAML,KAML,GACCZ,sBAAsB,KAAKL,SAAS,GAChCc,KAAK,CAACG,KAAK,GACX;UACE,GAAGH,KAAK,CAACG,KAAK;UACdM,OAAO,EAAElB,sBAAsB,CAACS,KAAK,CAACG,KAAK,CAACM,OAAO;QACrD,CAAC;QAEPV,GAAG,CAACW,IAAI,CAAC;UACPC,IAAI,EAAE,CAACtB,QAAQ,EAAEW,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CK,OAAO,EAAEjB,oBAAoB;UAC7BW;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;QACA;QACAL,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,MAAMgC,YAAY,GAAG5G,KAAK,CAACgG,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAAC5E,SAAS,CAAC;IAC1BgF,cAAc,CAACjC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC6B,eAAe,CAAC,CAAC;EAErB,MAAMD,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,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG9G,KAAK,CAAC+G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG5B,UAAU,CAAC7C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA3C,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,IAAIsF,uBAAuB,KAAKtF,SAAS,GAChE;QACE,GAAG8D,aAAa;QAChB,GAAGwB;MACL,CAAC,GACDtF,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,CAACuC,eAAe,CAAC;QACrB9B,UAAU;QACVI,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLf,MAAM,CAACwC,kBAAkB,CACvB,CAAA7C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKqB,YAAoC,EAC7D;QACEf,UAAU;QACVI,cAAc,EAAEwB,qBAAqB;QACrCtB;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,MAAMqB,uBAAuB,GAAGpH,KAAK,CAAC4E,MAAM,CAACS,YAAY,CAAC;EAE1DrF,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC1C,OAAO,GAAGW,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC1C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAmB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAGzC,KAAK;EAE5B,IACE,CAAC3E,YAAY,CAAC2E,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAChF,aAAa,CAACiF,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG5C,MAAM,CAAC6C,2BAA2B,CAAC1C,KAAK,EAAE;MACpDM,UAAU;MACVI,cAAc;MACdE,cAAc;MACd+B,eAAe,EAAE9B,MAAM,CAACvC,IAAI,CAACiC,YAAY,CAAC,CAACqC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAG5H,KAAK,CAAC4E,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3D7E,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAAClD,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,MAAMgD,cAAc,GAAGD,uBAAuB,CAAClD,OAAO;IAEtD,IAAIoD,MAAwC;IAE5C,IACE,OAAOxD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAKgD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG/H,aAAa,CAACgI,KAAK,CAACzD,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,IAAI+B,0BAA0B,IAC5DxC,KAAK,CAACO,MAAM,KAAKgD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG/H,aAAa,CAACiI,QAAQ,CAAC;QAC9B/E,IAAI,EAAEqB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BoD,IAAI,EAAE3D,KAAK,CAACO,MAAM,CAACoD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBnD,MAAM,CAACwD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1C1C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBvD,MAAM,CAACwC,kBAAkB,CAACe,YAAY,EAAE;MACtC9C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGtD,KAAK,KAAKyC,SAAS;EAExC/F,iBAAiB,CAAC,MAAM;IACtB,IAAI4G,YAAY,EAAE;MAChB;MACA9B,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACAzC,KAAK,GAAGyC,SAAS;EAEjBvH,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBb,MAAM,CAACnC,YAAY,CAAC;IAEpB,IAAI,CAACqC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAc,UAAU,CAAC,MAAM;QACf,IAAIhC,eAAe,EAAE,KAAK1E,SAAS,IAAI8E,MAAM,EAAE,KAAKpC,YAAY,EAAE;UAChEuC,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0B,mBAAmB,GAAGtI,KAAK,CAAC4E,MAAM,EAAS;EACjD0D,mBAAmB,CAAC5D,OAAO,GAAGmC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGpG,KAAK,CAACgG,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZmC,mBAAmB,CAAC5D,OAAiB;EAC5C,CAAC,EAAE,CAAC2B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMsC,OAAO,GAAGxH,eAAe,CAAuByH,CAAC,IAAK;IAC1D,IAAIpD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAIkE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZnE,KAAK,GAAGQ,KAAK,CAAC4D,MAAM,CAACC,IAAI,CAAErE,KAAK,IAAKA,KAAK,CAAC5C,GAAG,KAAK8G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAInE,KAAK,mCAAL,OAAOrB,IAAI,EAAE;QACfmC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACrB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLqB,KAAK,GAAGQ,KAAK,CAAC4D,MAAM,CAAC5D,KAAK,CAAC8D,KAAK,CAAC;MACjCxD,UAAU,CAACjC,IAAI,CACb,GAAGwC,MAAM,CAACvC,IAAI,CAAC+B,OAAO,CAAC,CAACuC,MAAM,CAAEzE,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,MAAMuE,UAAU,GAAGC,WAAW,CAACxE,KAAK,CAAC5C,GAAG,CAAC,CAACmH,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDxE,eAAe,EACf,GAAGY,UAAU,CAAClD,GAAG,CAAEe,IAAI,IAAK;MAC1B,MAAM;QAAE8F;MAAU,CAAC,GAAG5D,OAAO,CAAClC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOmG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC7G,GAAG,CAAE6G,SAAS,IAAK;MACnB,MAAM7G,GAAG,GACP,OAAO6G,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAEzE,KAAK,EAAEA,KAAY;QAAEuE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO7G,GAAG,GACNyD,MAAM,CAACvC,IAAI,CAAClB,GAAG,CAAC,CACbwF,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK6F,CAAC,CAAC7F,IAAI,CAAC,CACjCT,GAAG,CAAES,IAAI,IAAKT,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGS,IAAI,CAAC,CAAC,GAC7BhB,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC+F,MAAM,CAAC,CAACuB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACpF,OAAO,CAAE0F,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFvH,cAAc,CAAC;IAAE6D,KAAK;IAAEyD;EAAQ,CAAC,CAAC;EAElCvI,KAAK,CAACqH,SAAS,CAAC,MAAM;IACpBkB,OAAO,CAACe,IAAI,CAAC;MAAE3G,IAAI,EAAE,OAAO;MAAE4G,IAAI,EAAE;QAAEzE;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAACyD,OAAO,EAAEzD,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEiE,SAAS,EAAES,cAAc;IAAEC;EAAY,CAAC,GAAG9I,iBAAiB,EAAE;EAEtE,MAAM;IAAE+I,cAAc;IAAEC;EAAiB,CAAC,GAAGzI,sBAAsB,EAAE;EAErE,MAAM0I,QAAQ,GAAGxI,WAAW,CAAC;IAC3BuD,MAAM;IACNyB,QAAQ;IACRE,QAAQ;IACR5E,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACfmI,eAAe,EAAEL,cAAc,CAAC1B,MAAM;IACtCgC,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB5E,UAAU;MACVI,cAAc;MACdE;IACF,CAAC;IACD6C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAG3I,eAAe,CAAC;IACnCqD,MAAM;IACNjD,GAAG,EAAE4C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE5C,GAAG;IACf0E,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAG1H,oBAAoB,CAKrC;IACA+I,EAAE,EAAEhH,OAAO,CAACgH,EAAE;IACdN,QAAQ;IACRxD,QAAQ;IACRmC,OAAO;IACP5D;EACF,CAAC,CAAC;EAEF3D,kCAAkC,CAAC;IACjC6H,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF/I,aAAa,CAAC;IACZ+E,QAAQ;IACRiE,iBAAiB,EAAEX,cAAc,CAACtD;EACpC,CAAC,CAAC;EAEF,MAAM0C,WAAW,GAAGhI,cAAc,CAKhC;IACAgE,KAAK;IACLK,OAAO;IACP0D,UAAU;IACVvF,aAAa,EACXJ,OAAO,CAACI,aAAa,KAAK3B,SAAS,GAC/BA,SAAS,GACTyC,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CAAGlB,OAAO,CAACI,aAAa,CAAC;IACzDgH,oBAAoB,EAClBpH,OAAO,CAACoH,oBAAoB,KAAK3I,SAAS,GACtCA,SAAS,GACTyC,0BAA0B,aAA1BA,0BAA0B,uBAA1BA,0BAA0B,CACxBlB,OAAO,CAACoH,oBAAoB,CAC7B;IACPV,QAAQ;IACRxD,QAAQ;IACRE,QAAQ;IACR2D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBhF,MAAM;IACN;IACA4D;EACF,CAAC,CAAC;EAEF1H,gBAAgB,CAAC;IACfiE,KAAK;IACL+D,UAAU;IACVC;EACF,CAAC,CAAC;EAEF,MAAMyB,iBAAiB,GAAG3J,YAAY,CAAEiB,QAAyB,iBAC/D,oBAAC,wBAAwB,CAAC,QAAQ;IAAC,KAAK,EAAEgH;EAAW,gBACnD,oBAAC,qBAAqB,QAAEhH,QAAQ,CAAyB,CAE5D,CAAC;EAEF,OAAO;IACLiD,KAAK;IACL+D,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","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 ef5eab09395d..911dc90bee7e 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 7a5e3bfae3f4..7e41b525ad79 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 f55a94bbf361..94db15f95da1 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 83326100b15b..8c90293c03ba 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 d85deaeee191..5e810f00cbbe 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 a3336b2c8672..000000000000 --- 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 b8ad61cdb1d9..f1b491fceea6 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 911dc90bee7e..107874ccd333 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 7e41b525ad79..90335b143ac8 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 94db15f95da1..26cfabd0ed70 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 000000000000..f70db4448746 --- /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 000000000000..15d21981a169 --- /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 000000000000..58a4484d3538 --- /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 0931ae9a3635..000000000000 --- 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 8c90293c03ba..000000000000 --- 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 5e810f00cbbe..000000000000 --- 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 5255ebd2a44c..be4e47b8e332 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 d1517a6793de..28bc97dac778 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 eee7319ec613..3a8b93eaccfc 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 2e4f8ac9f9be..1dade718e2f0 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 4bd23922898a..1061e423d890 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 107874ccd333..44dc7e9f099b 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 90335b143ac8..0a6dec845569 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 000000000000..30aedf48dfbc --- /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 f1b491fceea6..61286d5a3a98 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 28e99d38f329..c09fe5c336a4 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":"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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 @@ -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 c09fe5c336a4..256477476fc8 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":"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,SAKEC,iBAAiB,QAGZ,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;AAqBjB,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,CAKlCC,QAAyB,EACzBC,QAAiB,EACjBC,YAIY,KACT;EACH,MAAMC,OAAO,GAAGhC,KAAK,CAACiC,QAAQ,CAACC,OAAO,CAACL,QAAQ,CAAC,CAACM,MAAM,CAErD,CAACC,GAAG,EAAEC,KAAK,KAAK;IAAA;IAChB,kBAAIrC,KAAK,CAACsC,cAAc,CAACD,KAAK,CAAC,EAAE;MAC/B,IAAIA,KAAK,CAACE,IAAI,KAAK9B,MAAM,EAAE;QACzB;QACA;;QAEA,IAAI,CAACgB,UAAU,CAACY,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;QAEAT,GAAG,CAACU,IAAI,CAAC;UACPC,IAAI,EAAE,CAACjB,QAAQ,EAAEO,KAAK,CAACG,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEjB,YAAY;UACrBS,KAAK,EAAEH,KAAK,CAACG;QAOf,CAAC,CAAC;QACF,OAAOJ,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKvC,KAAK,CAACiD,QAAQ,IAAIZ,KAAK,CAACE,IAAI,KAAKrC,KAAK,EAAE;QACzD,IAAI,CAACuB,UAAU,CAACY,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;QACA;QACAL,GAAG,CAACU,IAAI,CACN,GAAGlB,2BAA2B,CAC5BS,KAAK,CAACG,KAAK,CAACX,QAAQ,EACpBQ,KAAK,CAACG,KAAK,CAACC,aAAa,EACzBJ,KAAK,CAACE,IAAI,KAAKrC,KAAK,GAChB6B,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEM,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,GAC5C,CAACb,KAAK,CAACG,KAAK,CAACU,aAAa,CAAC,CAChC,CACF;QACD,OAAOd,GAAG;MACZ;IACF;IAEA,MAAM,IAAIM,KAAK,CACZ,oGACC,aAAA1C,KAAK,CAACsC,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;QAAEhB,QAAQ;QAAE4B,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,IACEhB,QAAQ,IAAI,IAAI,IAChB4B,SAAS,KAAK9B,SAAS,IACvB+B,YAAY,KAAK/B,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAI4B,SAAS,KAAK9B,SAAS,EAAE;UAC/C,MAAM,IAAIe,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI6B,YAAY,KAAK/B,SAAS,EAAE;UAClD,MAAM,IAAIe,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI+B,YAAY,KAAK/B,SAAS,EAAE;UACzD,MAAM,IAAIe,KAAK,CACZ,iEAAgEG,IAAK,oCAAmC,CAC1G;QACH;QAEA,IAAIhB,QAAQ,IAAI,IAAI,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;UACtD,MAAM,IAAIa,KAAK,CACZ,4DAA2DG,IAAK,qDAAoD,CACtH;QACH;QAEA,IAAIY,SAAS,KAAK9B,SAAS,IAAI,CAAC1B,kBAAkB,CAACwD,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIf,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIa,YAAY,KAAK/B,SAAS,IAAI,OAAO+B,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,CAO1CC,YAAsD,EACtDf,OAOe,EACf;EACA,MAAMgB,YAAY,GAAGzC,oBAAoB,EAAE;EAE3C,MAAM0C,KAAK,GAAGjE,KAAK,CAACkE,UAAU,CAAC5D,sBAAsB,CAExC;EAEb,MAAM;IAAEuB,QAAQ;IAAEsC,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAGpB,OAAO;EACtD,MAAM;IAAEqB,OAAO,EAAEC;EAAO,CAAC,GAAGtE,KAAK,CAACuE,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,GAAGjD,2BAA2B,CAI9CC,QAAQ,CAAC;EAEX,MAAMiD,OAAO,GAAGD,YAAY,CAAC1C,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,MAAM2C,UAAU,GAAGF,YAAY,CAACG,GAAG,CAAExB,MAAM,IAAKA,MAAM,CAAChB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMoC,YAAY,GAAGF,UAAU,CAAC5C,MAAM,CACpC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb9C,GAAG,CAAC8C,IAAI,CAAC,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAACnC,IAAI,CAACiC,GAAG,CAAEtD,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACyD,IAAI,CAAC,GAAG,CAAC;IAChE,OAAO/C,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMgD,cAAc,GAAGL,UAAU,CAAC5C,MAAM,CACtC,CAACC,GAAG,EAAE8C,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;IAC7CJ,GAAG,CAAC8C,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOjD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMkD,cAAc,GAAGP,UAAU,CAAC5C,MAAM,CAGtC,CAACC,GAAG,EAAE8C,IAAI,KACRK,MAAM,CAACC,MAAM,CAACpD,GAAG,EAAE;IACjB,CAAC8C,IAAI,GAAGJ,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK,CAACiD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACV,UAAU,CAACW,MAAM,EAAE;IACtB,MAAM,IAAIhD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMiD,YAAY,GAAG3F,KAAK,CAAC4F,WAAW,CACnCnB,KAAsD,IACrDA,KAAK,CAAClC,IAAI,KAAKZ,SAAS,IAAI8C,KAAK,CAAClC,IAAI,KAAK+B,MAAM,CAAC/B,IAAI,EACxD,CAAC+B,MAAM,CAAC/B,IAAI,CAAC,CACd;EAED,MAAMsD,kBAAkB,GAAG7F,KAAK,CAAC4F,WAAW,CACzCnB,KAAkE,IACjEA,KAAK,KAAK9C,SAAS,IAAI8C,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,GAAGtG,KAAK,CAACkE,UAAU,CAAC3D,sBAAsB,CAAC;EAE5C,MAAMgG,cAAc,GAAGvG,KAAK,CAACuE,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAMiC,YAAY,GAAGxG,KAAK,CAAC4F,WAAW,CAAC,MAAM;IAC3CO,eAAe,CAACxE,SAAS,CAAC;IAC1B4E,cAAc,CAAClC,OAAO,GAAG,IAAI;EAC/B,CAAC,EAAE,CAAC8B,eAAe,CAAC,CAAC;EAErB,MAAMD,QAAQ,GAAGlG,KAAK,CAAC4F,WAAW,CAC/BnB,KAAkE,IAAK;IACtE,IAAI8B,cAAc,CAAClC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA8B,eAAe,CAAC1B,KAAK,CAAC;EACxB,CAAC,EACD,CAAC0B,eAAe,CAAC,CAClB;EAED,MAAM,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAG1G,KAAK,CAAC2G,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG7B,UAAU,CAAC5C,MAAM,CAE7C,CAACC,GAAG,EAAE8C,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGP,OAAO,CAACI,IAAI,CAAC,CAAC1C,KAAK;MAC7C,MAAMqE,uBAAuB,GAC3B,CAAA5C,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,MAAKO,IAAI,GAC1BjB,KAAK,CAACO,MAAM,CAACA,MAAM,GACnB7C,SAAS;MAEfS,GAAG,CAAC8C,IAAI,CAAC,GACPG,aAAa,KAAK1D,SAAS,IAAIkF,uBAAuB,KAAKlF,SAAS,GAChE;QACE,GAAG0D,aAAa;QAChB,GAAGwB;MACL,CAAC,GACDlF,SAAS;MAEf,OAAOS,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAAC2D,YAAY,KAAKpE,SAAS,IAAI,CAACgE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA9B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACwC,eAAe,CAAC;QACrB/B,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLhB,MAAM,CAACyC,kBAAkB,CACvB,CAAA9C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEO,MAAM,mDAAb,eAAeC,KAAK,KAAKsB,YAAoC,EAC7D;QACEhB,UAAU;QACVK,cAAc,EAAEwB,qBAAqB;QACrCtB;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,MAAMqB,uBAAuB,GAAGhH,KAAK,CAACuE,MAAM,CAACU,YAAY,CAAC;EAE1DjF,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC3C,OAAO,GAAGY,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC3C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAoB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAG1C,KAAK;EAE5B,IACE,CAACtE,YAAY,CAACsE,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC3E,aAAa,CAAC6E,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG7C,MAAM,CAAC8C,2BAA2B,CAAC3C,KAAK,EAAE;MACpDM,UAAU;MACVK,cAAc;MACdE,cAAc;MACd+B,eAAe,EAAE9B,MAAM,CAACxC,IAAI,CAACkC,YAAY,CAAC,CAACqC,MAAM,CAC9CzE,IAAI,IACHqE,oBAAoB,CAACK,cAAc,CAAC1E,IAAI,CAAC,IACzCoC,YAAY,CAACpC,IAAI,CAAC,KAAKqE,oBAAoB,CAACrE,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAM2E,uBAAuB,GAAGxH,KAAK,CAACuE,MAAM,CAACN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,CAAC;EAE3DxE,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBO,uBAAuB,CAACnD,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,MAAMiD,cAAc,GAAGD,uBAAuB,CAACnD,OAAO;IAEtD,IAAIqD,MAAwC;IAE5C,IACE,OAAOzD,KAAK,CAACO,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCR,KAAK,CAACO,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BR,KAAK,CAACO,MAAM,KAAKiD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC4H,KAAK,CAAC1D,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,IAAIgC,0BAA0B,IAC5DzC,KAAK,CAACO,MAAM,KAAKiD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAG3H,aAAa,CAAC6H,QAAQ,CAAC;QAC9B/E,IAAI,EAAEoB,KAAK,CAACO,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAEP,KAAK,CAACO,MAAM,CAACA,MAAM;QAC3BqD,IAAI,EAAE5D,KAAK,CAACO,MAAM,CAACqD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGJ,MAAM,GACvBpD,MAAM,CAACyD,iBAAiB,CAACZ,SAAS,EAAEO,MAAM,EAAE;MAC1C3C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPW,YAAY,KAAK,IAAI,GACjBxD,MAAM,CAACyC,kBAAkB,CAACe,YAAY,EAAE;MACtC/C,UAAU;MACVK,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMa,YAAY,GAAGvD,KAAK,KAAK0C,SAAS;EAExC3F,iBAAiB,CAAC,MAAM;IACtB,IAAIwG,YAAY,EAAE;MAChB;MACA9B,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACA1C,KAAK,GAAG0C,SAAS;EAEjBnH,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBb,MAAM,CAACpC,YAAY,CAAC;IAEpB,IAAI,CAACsC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA;MACA;MACA;MACAc,UAAU,CAAC,MAAM;QACf,IAAIhC,eAAe,EAAE,KAAKtE,SAAS,IAAI0E,MAAM,EAAE,KAAKrC,YAAY,EAAE;UAChEwC,YAAY,EAAE;QAChB;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM0B,mBAAmB,GAAGlI,KAAK,CAACuE,MAAM,EAAS;EACjD2D,mBAAmB,CAAC7D,OAAO,GAAGoC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGhG,KAAK,CAAC4F,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZmC,mBAAmB,CAAC7D,OAAiB;EAC5C,CAAC,EAAE,CAAC4B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMsC,OAAO,GAAGpH,eAAe,CAAuBqH,CAAC,IAAK;IAC1D,IAAIrD,UAAU,GAAG,EAAE;IAEnB,IAAId,KAAgC;IAEpC,IAAImE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZpE,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAACC,IAAI,CAAEtE,KAAK,IAAKA,KAAK,CAACvC,GAAG,KAAK0G,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIpE,KAAK,mCAAL,OAAOpB,IAAI,EAAE;QACfkC,UAAU,CAACjC,IAAI,CAACmB,KAAK,CAACpB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLoB,KAAK,GAAGQ,KAAK,CAAC6D,MAAM,CAAC7D,KAAK,CAAC+D,KAAK,CAAC;MACjCzD,UAAU,CAACjC,IAAI,CACb,GAAGyC,MAAM,CAACxC,IAAI,CAAC+B,OAAO,CAAC,CAACwC,MAAM,CAAEzE,IAAI;QAAA;QAAA,OAAK,YAAAoB,KAAK,4CAAL,QAAOpB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIoB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAMwE,UAAU,GAAGC,WAAW,CAACzE,KAAK,CAACvC,GAAG,CAAC,CAAC+G,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACDzE,eAAe,EACf,GAAGY,UAAU,CAACC,GAAG,CAAEnC,IAAI,IAAK;MAC1B,MAAM;QAAE8F;MAAU,CAAC,GAAG7D,OAAO,CAACjC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAOmG,SAAS;IAClB,CAAC,CAAC,CACH,CAAC3D,GAAG,CAAE2D,SAAS,IAAK;MACnB,MAAM3D,GAAG,GACP,OAAO2D,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE1E,KAAK,EAAEA,KAAY;QAAEwE;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAO3D,GAAG,GACNO,MAAM,CAACxC,IAAI,CAACiC,GAAG,CAAC,CACbsC,MAAM,CAAE/E,IAAI,IAAKA,IAAI,KAAK6F,CAAC,CAAC7F,IAAI,CAAC,CACjCyC,GAAG,CAAEzC,IAAI,IAAKyC,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGzC,IAAI,CAAC,CAAC,GAC7BZ,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACC2F,MAAM,CAAC,CAACuB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAACpF,OAAO,CAAE0F,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFnH,cAAc,CAAC;IAAEwD,KAAK;IAAE0D;EAAQ,CAAC,CAAC;EAElCnI,KAAK,CAACiH,SAAS,CAAC,MAAM;IACpBkB,OAAO,CAACe,IAAI,CAAC;MAAE3G,IAAI,EAAE,OAAO;MAAE4G,IAAI,EAAE;QAAE1E;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC0D,OAAO,EAAE1D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEkE,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;IAC3BkD,MAAM;IACN0B,QAAQ;IACRE,QAAQ;IACRxE,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACf+H,eAAe,EAAEL,cAAc,CAAC1B,MAAM;IACtCgC,qBAAqB,EAAEJ,cAAc,CAACK,YAAY;IAClDC,mBAAmB,EAAE;MACnB7E,UAAU;MACVK,cAAc;MACdE;IACF,CAAC;IACD6C;EACF,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGvI,eAAe,CAAC;IACnCgD,MAAM;IACN5C,GAAG,EAAEuC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC,GAAG;IACfsE,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAMuC,UAAU,GAAGtH,oBAAoB,CAKrC;IACA2I,EAAE,EAAE9G,OAAO,CAAC8G,EAAE;IACdN,QAAQ;IACRxD,QAAQ;IACRmC,OAAO;IACP7D;EACF,CAAC,CAAC;EAEFtD,kCAAkC,CAAC;IACjCyH,UAAU;IACVsB,gBAAgB,EAAEX,cAAc,CAACY;EACnC,CAAC,CAAC;EAEF3I,aAAa,CAAC;IACZ2E,QAAQ;IACRiE,iBAAiB,EAAEX,cAAc,CAACtD;EACpC,CAAC,CAAC;EAEF,MAAM0C,WAAW,GAAG5H,cAAc,CAKhC;IACA2D,KAAK;IACLK,OAAO;IACP2D,UAAU;IACVvF,aAAa,EAAEF,OAAO,CAACE,aAAa;IACpCgH,oBAAoB,EAAElH,OAAO,CAACkH,oBAAoB;IAClDV,QAAQ;IACRxD,QAAQ;IACRE,QAAQ;IACR2D,YAAY;IACZR,WAAW;IACXE,gBAAgB;IAChBjF,MAAM;IACN;IACA6D;EACF,CAAC,CAAC;EAEFtH,gBAAgB,CAAC;IACf4D,KAAK;IACLgE,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;IACL4C,KAAK;IACLgE,UAAU;IACVC,WAAW;IACXyB;EACF,CAAC;AACH"} \ 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 44dc7e9f099b..21d096aa20c8 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 0a6dec845569..6dc463042b8e 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 4374417b93df..000000000000 --- 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 61286d5a3a98..a5a8684d9cff 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 256477476fc8..d73904ac06d1 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":";;;;;;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":";;;;;;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;AAsBjB,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,0BAGC,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,IAAIC,qBAAqB,GAAGlB,YAEf;QACb,IACEC,0BAA0B,KAAKL,SAAS,IACxCI,YAAY,KAAKJ,SAAS,EAC1B;UACAsB,qBAAqB,GACnBlB,YAAY,CAIZmB,GAAG,CAAClB,0BAA0B,CAAC;QACnC;QAEA,IAAImB,OAAO,GAAGZ,KAAK,CAACI,KAAK,CAACQ,OAEb;QACb,IAAInB,0BAA0B,KAAKL,SAAS,EAAE;UAC5CwB,OAAO,GAAGnB,0BAA0B,CAACO,KAAK,CAACI,KAAK,CAACQ,OAAO,CAAC;QAC3D;QAEAb,GAAG,CAACc,IAAI,CAAC;UACPC,IAAI,EAAE,CAACvB,QAAQ,EAAES,KAAK,CAACI,KAAK,CAACC,aAAa,CAAC;UAC3CO,OAAO,EAAEF,qBAAqB;UAC9BN,KAAK,EAAE;YAAE,GAAGJ,KAAK,CAACI,KAAK;YAAEQ;UAAQ;QACnC,CAAC,CAAC;QACF,OAAOb,GAAG;MACZ;MAEA,IAAIC,KAAK,CAACE,IAAI,KAAKP,KAAK,CAACoB,QAAQ,IAAIf,KAAK,CAACE,IAAI,KAAKc,cAAK,EAAE;QACzD,IAAI,CAAC9B,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,IAAIY,aAAa,GAAGjB,KAAK,CAACI,KAAK,CAACa,aAEnB;QACb,IAAIxB,0BAA0B,KAAKL,SAAS,EAAE;UAC5C6B,aAAa,GAAGxB,0BAA0B,CAACO,KAAK,CAACI,KAAK,CAACa,aAAa,CAAC;QACvE;;QAEA;QACA;QACAlB,GAAG,CAACc,IAAI,CACN,GAAGxB,2BAA2B,CAM5BW,KAAK,CAACI,KAAK,CAACd,QAAQ,EACpBU,KAAK,CAACI,KAAK,CAACC,aAAa,EACzBL,KAAK,CAACE,IAAI,KAAKc,cAAK,GAChBxB,YAAY,GACZA,YAAY,IAAI,IAAI,GACpB,CAAC,GAAGA,YAAY,EAAEyB,aAAa,CAAC,GAChC,CAACA,aAAa,CAAC,EACnBxB,0BAA0B,CAC3B,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,IAAGkB,MAAM,CAAClB,KAAK,CAAE,GACvB,4FAA2F,CAC7F;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAImB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC3B,OAAO,CAAC4B,OAAO,CAAEC,MAAM,IAAK;MAC1B,MAAM;QAAEd,IAAI;QAAEnB,QAAQ;QAAEkC,SAAS;QAAEC;MAAa,CAAC,GAAGF,MAAM,CAACnB,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,IAChBkC,SAAS,KAAKpC,SAAS,IACvBqC,YAAY,KAAKrC,SAAS,EAC1B;QACA,IAAIE,QAAQ,IAAI,IAAI,IAAIkC,SAAS,KAAKpC,SAAS,EAAE;UAC/C,MAAM,IAAIkB,KAAK,CACZ,6DAA4DG,IAAK,oCAAmC,CACtG;QACH;QAEA,IAAInB,QAAQ,IAAI,IAAI,IAAImC,YAAY,KAAKrC,SAAS,EAAE;UAClD,MAAM,IAAIkB,KAAK,CACZ,gEAA+DG,IAAK,oCAAmC,CACzG;QACH;QAEA,IAAIe,SAAS,KAAKpC,SAAS,IAAIqC,YAAY,KAAKrC,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,IAAIe,SAAS,KAAKpC,SAAS,IAAI,CAAC,IAAAsC,2BAAkB,EAACF,SAAS,CAAC,EAAE;UAC7D,MAAM,IAAIlB,KAAK,CACZ,6DAA4DG,IAAK,wCAAuC,CAC1G;QACH;QAEA,IAAIgB,YAAY,KAAKrC,SAAS,IAAI,OAAOqC,YAAY,KAAK,UAAU,EAAE;UACpE,MAAM,IAAInB,KAAK,CACZ,gEAA+DG,IAAK,uDAAsD,CAC5H;QACH;QAEA,IAAI,OAAOe,SAAS,KAAK,UAAU,EAAE;UACnC,IAAIA,SAAS,CAACf,IAAI,KAAK,WAAW,EAAE;YAClC;YACA;YACA;YACAkB,OAAO,CAACC,IAAI,CACT,qFAAoFnB,IAAK,uRAAsR,CACjX;UACH,CAAC,MAAM,IAAI,QAAQ,CAACoB,IAAI,CAACL,SAAS,CAACf,IAAI,CAAC,EAAE;YACxCkB,OAAO,CAACC,IAAI,CACT,kCAAiCJ,SAAS,CAACf,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;AACA;AACA;AACe,SAASoC,oBAAoB,CAQ1CC,YAAsD,EACtDnB,OAOe,EACfnB,0BAGC,EACD;EACA,MAAMuC,YAAY,GAAG,IAAAC,6BAAoB,GAAE;EAE3C,MAAMC,KAAK,GAAGvC,KAAK,CAACwC,UAAU,CAACC,+BAAsB,CAExC;EAEb,MAAM;IAAE9C,QAAQ;IAAE+C,eAAe;IAAE,GAAGC;EAAK,CAAC,GAAG1B,OAAO;EACtD,MAAM;IAAE2B,OAAO,EAAEC;EAAO,CAAC,GAAG7C,KAAK,CAAC8C,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,GAAG1D,2BAA2B,CAK9CC,QAAQ,EAAEF,SAAS,EAAEA,SAAS,EAAEK,0BAA0B,CAAC;EAE7D,MAAMuD,OAAO,GAAGD,YAAY,CAACjD,MAAM,CAEjC,CAACC,GAAG,EAAEwB,MAAM,KAAK;IACjB,IAAIA,MAAM,CAACnB,KAAK,CAACK,IAAI,IAAIV,GAAG,EAAE;MAC5B,MAAM,IAAIO,KAAK,CACZ,6GAA4GiB,MAAM,CAACnB,KAAK,CAACK,IAAK,IAAG,CACnI;IACH;IAEAV,GAAG,CAACwB,MAAM,CAACnB,KAAK,CAACK,IAAI,CAAC,GAAGc,MAAM;IAC/B,OAAOxB,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,MAAMkD,UAAU,GAAGF,YAAY,CAACpC,GAAG,CAAEY,MAAM,IAAKA,MAAM,CAACnB,KAAK,CAACK,IAAI,CAAC;EAClE,MAAMyC,YAAY,GAAGD,UAAU,CAACnD,MAAM,CACpC,CAACC,GAAG,EAAEoD,IAAI,KAAK;IACbpD,GAAG,CAACoD,IAAI,CAAC,GAAGH,OAAO,CAACG,IAAI,CAAC,CAACrC,IAAI,CAACH,GAAG,CAAExB,GAAG,IAAKA,GAAG,IAAI,EAAE,CAAC,CAACiE,IAAI,CAAC,GAAG,CAAC;IAChE,OAAOrD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMsD,cAAc,GAAGJ,UAAU,CAACnD,MAAM,CACtC,CAACC,GAAG,EAAEoD,IAAI,KAAK;IACb,MAAM;MAAEG;IAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC/C,KAAK;IAC7CL,GAAG,CAACoD,IAAI,CAAC,GAAGG,aAAa;IACzB,OAAOvD,GAAG;EACZ,CAAC,EACD,CAAC,CAAC,CACH;EACD,MAAMwD,cAAc,GAAGN,UAAU,CAACnD,MAAM,CAGtC,CAACC,GAAG,EAAEoD,IAAI,KACRK,MAAM,CAACC,MAAM,CAAC1D,GAAG,EAAE;IACjB,CAACoD,IAAI,GAAGH,OAAO,CAACG,IAAI,CAAC,CAAC/C,KAAK,CAACsD;EAC9B,CAAC,CAAC,EACJ,CAAC,CAAC,CACH;EAED,IAAI,CAACT,UAAU,CAACU,MAAM,EAAE;IACtB,MAAM,IAAIrD,KAAK,CACb,4FAA4F,CAC7F;EACH;EAEA,MAAMsD,YAAY,GAAGjE,KAAK,CAACkE,WAAW,CACnClB,KAAsD,IACrDA,KAAK,CAACzC,IAAI,KAAKd,SAAS,IAAIuD,KAAK,CAACzC,IAAI,KAAKsC,MAAM,CAACtC,IAAI,EACxD,CAACsC,MAAM,CAACtC,IAAI,CAAC,CACd;EAED,MAAM4D,kBAAkB,GAAGnE,KAAK,CAACkE,WAAW,CACzClB,KAAkE,IACjEA,KAAK,KAAKvD,SAAS,IAAIuD,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,GAAG5E,KAAK,CAACwC,UAAU,CAACqC,+BAAsB,CAAC;EAE5C,MAAMC,cAAc,GAAG9E,KAAK,CAAC8C,MAAM,CAAC,KAAK,CAAC;EAE1C,MAAM0B,QAAQ,GAAGxE,KAAK,CAACkE,WAAW,CAC/BlB,KAAkE,IAAK;IACtE,IAAI8B,cAAc,CAAClC,OAAO,EAAE;MAC1B;MACA;MACA;MACA;IACF;IACA6B,eAAe,CAACzB,KAAK,CAAC;EACxB,CAAC,EACD,CAACyB,eAAe,CAAC,CAClB;EAED,MAAM,CAACM,gBAAgB,EAAEC,0BAA0B,CAAC,GAAGhF,KAAK,CAACiF,OAAO,CAAC,MAAM;IAAA;IACzE,MAAMC,qBAAqB,GAAG5B,UAAU,CAACnD,MAAM,CAE7C,CAACC,GAAG,EAAEoD,IAAI,KAAK;MAAA;MACf,MAAM;QAAEG;MAAc,CAAC,GAAGN,OAAO,CAACG,IAAI,CAAC,CAAC/C,KAAK;MAC7C,MAAM0E,uBAAuB,GAC3B,CAAA5C,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,MAAKM,IAAI,GAC1BjB,KAAK,CAACQ,MAAM,CAACA,MAAM,GACnBtD,SAAS;MAEfW,GAAG,CAACoD,IAAI,CAAC,GACPG,aAAa,KAAKlE,SAAS,IAAI0F,uBAAuB,KAAK1F,SAAS,GAChE;QACE,GAAGkE,aAAa;QAChB,GAAGwB;MACL,CAAC,GACD1F,SAAS;MAEf,OAAOW,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;IAEN;IACA;IACA;IACA;IACA,IACE,CAACiE,YAAY,KAAK5E,SAAS,IAAI,CAACwE,YAAY,CAACI,YAAY,CAAC,KAC1D,CAAA9B,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeC,KAAK,KAAI,IAAI,EAC5B;MACA,OAAO,CACLH,MAAM,CAACuC,eAAe,CAAC;QACrB9B,UAAU;QACVI,cAAc,EAAEwB,qBAAqB;QACrCtB;MACF,CAAC,CAAC,EACF,IAAI,CACL;IACH,CAAC,MAAM;MAAA;MACL,OAAO,CACLf,MAAM,CAACwC,kBAAkB,CACvB,CAAA9C,KAAK,aAALA,KAAK,yCAALA,KAAK,CAAEQ,MAAM,mDAAb,eAAeC,KAAK,KAAKqB,YAAoC,EAC7D;QACEf,UAAU;QACVI,cAAc,EAAEwB,qBAAqB;QACrCtB;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,MAAMqB,uBAAuB,GAAGtF,KAAK,CAAC8C,MAAM,CAACS,YAAY,CAAC;EAE1DvD,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBD,uBAAuB,CAAC1C,OAAO,GAAGW,YAAY;EAChD,CAAC,CAAC;EAEF,MAAMiC,oBAAoB,GAAGF,uBAAuB,CAAC1C,OAAO;EAE5D,IAAII,KAAK;EACP;EACA;EACA;EACAmB,kBAAkB,CAACE,YAAY,CAAC,GAC3BA,YAAY,GACZU,gBAA0B;EAEjC,IAAIU,SAAgB,GAAGzC,KAAK;EAE5B,IACE,CAAC,IAAA0C,qBAAY,EAAC1C,KAAK,CAACM,UAAU,EAAEA,UAAU,CAAC,IAC3C,CAAC,IAAAqC,sBAAa,EAACpC,YAAY,EAAEiC,oBAAoB,CAAC,EAClD;IACA;IACAC,SAAS,GAAG5C,MAAM,CAAC+C,2BAA2B,CAAC5C,KAAK,EAAE;MACpDM,UAAU;MACVI,cAAc;MACdE,cAAc;MACdiC,eAAe,EAAEhC,MAAM,CAAC1C,IAAI,CAACoC,YAAY,CAAC,CAACuC,MAAM,CAC9ChF,IAAI,IACH0E,oBAAoB,CAACO,cAAc,CAACjF,IAAI,CAAC,IACzCyC,YAAY,CAACzC,IAAI,CAAC,KAAK0E,oBAAoB,CAAC1E,IAAI,CAAC;IAEvD,CAAC,CAAC;EACJ;EAEA,MAAMkF,uBAAuB,GAAGhG,KAAK,CAAC8C,MAAM,CAACP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,MAAM,CAAC;EAE3D/C,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBS,uBAAuB,CAACpD,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,MAAMkD,cAAc,GAAGD,uBAAuB,CAACpD,OAAO;IAEtD,IAAIsD,MAAwC;IAE5C,IACE,OAAO3D,KAAK,CAACQ,MAAM,CAACC,KAAK,KAAK,QAAQ,IACtCT,KAAK,CAACQ,MAAM,CAACC,KAAK,IAAI,IAAI,IAC1BT,KAAK,CAACQ,MAAM,KAAKkD,cAAc,EAC/B;MACA;MACAC,MAAM,GAAGC,sBAAa,CAACC,KAAK,CAAC7D,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,IAAI+B,0BAA0B,IAC5DzC,KAAK,CAACQ,MAAM,KAAKkD,cAAc,CAAC,EAClC;MACA;MACAC,MAAM,GAAGC,sBAAa,CAACE,QAAQ,CAAC;QAC9BvF,IAAI,EAAEyB,KAAK,CAACQ,MAAM,CAACG,MAAM;QACzBH,MAAM,EAAER,KAAK,CAACQ,MAAM,CAACA,MAAM;QAC3BuD,IAAI,EAAE/D,KAAK,CAACQ,MAAM,CAACuD;MACrB,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMC,YAAY,GAAGL,MAAM,GACvBrD,MAAM,CAAC2D,iBAAiB,CAACf,SAAS,EAAES,MAAM,EAAE;MAC1C5C,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF,IAAI;IAER6B,SAAS,GACPc,YAAY,KAAK,IAAI,GACjB1D,MAAM,CAACwC,kBAAkB,CAACkB,YAAY,EAAE;MACtCjD,UAAU;MACVI,cAAc;MACdE;IACF,CAAC,CAAC,GACF6B,SAAS;EACjB;EAEA,MAAMgB,YAAY,GAAGzD,KAAK,KAAKyC,SAAS;EAExC,IAAAiB,0BAAiB,EAAC,MAAM;IACtB,IAAID,YAAY,EAAE;MAChB;MACAjC,QAAQ,CAACiB,SAAS,CAAC;IACrB;EACF,CAAC,CAAC;;EAEF;EACA;EACA;EACAzC,KAAK,GAAGyC,SAAS;EAEjBzF,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpB;IACA;IACAT,cAAc,CAAClC,OAAO,GAAG,KAAK;IAC9B8B,MAAM,CAACrC,YAAY,CAAC;IAEpB,IAAI,CAACuC,YAAY,EAAE,EAAE;MACnB;MACA;MACA;MACAJ,QAAQ,CAACiB,SAAS,CAAC;IACrB;IAEA,OAAO,MAAM;MACX;MACA,IAAIlB,eAAe,EAAE,KAAK9E,SAAS,IAAIkF,MAAM,EAAE,KAAKtC,YAAY,EAAE;QAChEoC,eAAe,CAAChF,SAAS,CAAC;QAC1BqF,cAAc,CAAClC,OAAO,GAAG,IAAI;MAC/B;IACF,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAM+D,mBAAmB,GAAG3G,KAAK,CAAC8C,MAAM,EAAS;EACjD6D,mBAAmB,CAAC/D,OAAO,GAAGmC,gBAAgB;EAE9C,MAAMT,QAAQ,GAAGtE,KAAK,CAACkE,WAAW,CAAC,MAAa;IAC9C,MAAMG,YAAY,GAAGE,eAAe,EAAE;IAEtC,OAAOJ,kBAAkB,CAACE,YAAY,CAAC,GAClCA,YAAY,GACZsC,mBAAmB,CAAC/D,OAAiB;EAC5C,CAAC,EAAE,CAAC2B,eAAe,EAAEJ,kBAAkB,CAAC,CAAC;EAEzC,MAAMyC,OAAO,GAAG,IAAAC,wBAAe,EAAuBC,CAAC,IAAK;IAC1D,IAAIxD,UAAU,GAAG,EAAE;IAEnB,IAAIf,KAAgC;IAEpC,IAAIuE,CAAC,CAACC,MAAM,EAAE;MAAA;MACZxE,KAAK,GAAGS,KAAK,CAACgE,MAAM,CAACC,IAAI,CAAE1E,KAAK,IAAKA,KAAK,CAAC/C,GAAG,KAAKsH,CAAC,CAACC,MAAM,CAAC;MAE5D,cAAIxE,KAAK,mCAAL,OAAOzB,IAAI,EAAE;QACfwC,UAAU,CAACpC,IAAI,CAACqB,KAAK,CAACzB,IAAI,CAAC;MAC7B;IACF,CAAC,MAAM;MACLyB,KAAK,GAAGS,KAAK,CAACgE,MAAM,CAAChE,KAAK,CAACkE,KAAK,CAAC;MACjC5D,UAAU,CAACpC,IAAI,CACb,GAAG2C,MAAM,CAAC1C,IAAI,CAACkC,OAAO,CAAC,CAACyC,MAAM,CAAEhF,IAAI;QAAA;QAAA,OAAK,YAAAyB,KAAK,4CAAL,QAAOzB,IAAI,MAAKA,IAAI;MAAA,EAAC,CAC/D;IACH;IAEA,IAAIyB,KAAK,IAAI,IAAI,EAAE;MACjB;IACF;IAEA,MAAM4E,UAAU,GAAGC,WAAW,CAAC7E,KAAK,CAAC/C,GAAG,CAAC,CAAC2H,UAAU;IAEpD,MAAME,SAAS,GAAI,EAAE,CAClBC,MAAM;IACL;IACA,GAAG,CACD5E,eAAe,EACf,GAAGY,UAAU,CAACtC,GAAG,CAAEF,IAAI,IAAK;MAC1B,MAAM;QAAEuG;MAAU,CAAC,GAAGhE,OAAO,CAACvC,IAAI,CAAC,CAACL,KAAK;MACzC,OAAO4G,SAAS;IAClB,CAAC,CAAC,CACH,CAACrG,GAAG,CAAEqG,SAAS,IAAK;MACnB,MAAMrG,GAAG,GACP,OAAOqG,SAAS,KAAK,UAAU,GAC3BA,SAAS,CAAC;QAAE9E,KAAK,EAAEA,KAAY;QAAE4E;MAAW,CAAC,CAAC,GAC9CE,SAAS;MAEf,OAAOrG,GAAG,GACN6C,MAAM,CAAC1C,IAAI,CAACH,GAAG,CAAC,CACb8E,MAAM,CAAEvF,IAAI,IAAKA,IAAI,KAAKuG,CAAC,CAACvG,IAAI,CAAC,CACjCS,GAAG,CAAET,IAAI,IAAKS,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGT,IAAI,CAAC,CAAC,GAC7Bd,SAAS;IACf,CAAC,CAAC;IAEJ;IACA;IAAA,CACCqG,MAAM,CAAC,CAACyB,EAAE,EAAEC,CAAC,EAAEC,IAAI,KAAKF,EAAE,IAAIE,IAAI,CAACC,WAAW,CAACH,EAAE,CAAC,KAAKC,CAAC,CAAC;IAE5DH,SAAS,CAAC1F,OAAO,CAAEgG,QAAQ,IAAKA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGb,CAAC,CAAC,CAAC;EAChD,CAAC,CAAC;EAEF,IAAAc,uBAAc,EAAC;IAAE5E,KAAK;IAAE4D;EAAQ,CAAC,CAAC;EAElC5G,KAAK,CAACuF,SAAS,CAAC,MAAM;IACpBqB,OAAO,CAACiB,IAAI,CAAC;MAAEtH,IAAI,EAAE,OAAO;MAAEuH,IAAI,EAAE;QAAE9E;MAAM;IAAE,CAAC,CAAC;EAClD,CAAC,EAAE,CAAC4D,OAAO,EAAE5D,KAAK,CAAC,CAAC;EAEpB,MAAM;IAAEqE,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;IAC3BzF,MAAM;IACNyB,QAAQ;IACRE,QAAQ;IACRhF,GAAG,EAAE+C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE/C,GAAG;IACf+I,eAAe,EAAER,cAAc,CAAC7B,MAAM;IACtCsC,qBAAqB,EAAEN,cAAc,CAACO,YAAY;IAClDC,mBAAmB,EAAE;MACnBpF,UAAU;MACVI,cAAc;MACdE;IACF,CAAC;IACDgD;EACF,CAAC,CAAC;EAEF,MAAM+B,YAAY,GAAG,IAAAC,wBAAe,EAAC;IACnC/F,MAAM;IACNrD,GAAG,EAAE+C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE/C,GAAG;IACf8E,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,MAAM2C,UAAU,GAAG,IAAA0B,6BAAoB,EAKrC;IACAC,EAAE,EAAE7H,OAAO,CAAC6H,EAAE;IACdT,QAAQ;IACR/D,QAAQ;IACRsC,OAAO;IACP/D;EACF,CAAC,CAAC;EAEF,IAAAkG,2CAAkC,EAAC;IACjC5B,UAAU;IACV6B,gBAAgB,EAAEjB,cAAc,CAACkB;EACnC,CAAC,CAAC;EAEF,IAAAC,sBAAa,EAAC;IACZ5E,QAAQ;IACR6E,iBAAiB,EAAEjB,cAAc,CAAC5D;EACpC,CAAC,CAAC;EAEF,MAAMhD,aAAa,GACjBxB,0BAA0B,KAAKL,SAAS,GACnCwB,OAAO,CAACK,aAAa,GAGtBxB,0BAA0B,CACxBmB,OAAO,CAACK,aAAa,CAGtB;EAEP,MAAM8H,oBAAoB,GACxBtJ,0BAA0B,KAAKL,SAAS,GACnCwB,OAAO,CAACmI,oBAAoB,GAG7BtJ,0BAA0B,CACxBmB,OAAO,CAACmI,oBAAoB,CAG7B;EAEP,MAAMhC,WAAW,GAAG,IAAAiC,uBAAc,EAKhC;IACArG,KAAK;IACLK,OAAO;IACP8D,UAAU;IACV7F,aAAa;IACb8H,oBAAoB;IACpBf,QAAQ;IACR/D,QAAQ;IACRE,QAAQ;IACRmE,YAAY;IACZX,WAAW;IACXG,gBAAgB;IAChBtF,MAAM;IACN;IACA+D;EACF,CAAC,CAAC;EAEF,IAAA0C,yBAAgB,EAAC;IACftG,KAAK;IACLmE,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;IACLqD,KAAK;IACLmE,UAAU;IACVC,WAAW;IACXmC;EACF,CAAC;AACH"} ++{"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":"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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","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 26cfabd0ed70..1d1eee595c71 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 9d1af6e764e5..000000000000 --- 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 ea025df8466d..e94394433881 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 abb5ad35c631..3ebbaebee410 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 a455d5a82e30..519492f6ae22 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 1061e423d890..aa2e23bf596c 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 f70db4448746..18b0deb85f5d 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 d73904ac06d1..8e20103875ae 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 21d096aa20c8..362a59567d00 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 6dc463042b8e..4f73815d42bb 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 18b0deb85f5d..f70db4448746 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 e94394433881..e0c16991a3a9 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 45f8ba5e37f6..3a4e867e8e84 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 aa2e23bf596c..74edaaa11fad 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 e0c16991a3a9..374887648bb0 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 000000000000..da84ab3b2d0f --- /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 000000000000..281bc332c84c --- /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":"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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"} +\ 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 7963a851dce4..1a4df4a6c0a1 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 beb1aaa01bb2..c66c20e07781 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 be4e47b8e332..327b08993fcd 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 28bc97dac778..2eb0aaa9de44 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 3a8b93eaccfc..5eff3b3c38e5 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 1dade718e2f0..6603d650a498 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 281bc332c84c..0449f285a475 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 0449f285a475..ae7ea0a80e81 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 ae7ea0a80e81..f39420d4ac85 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":"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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 +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":"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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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"} ++{"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":"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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-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 f39420d4ac85..97547f8db725 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 97547f8db725..7cec1068ac57 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 7cec1068ac57..208e66d29d02 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 208e66d29d02..46f4add9ad7d 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 46f4add9ad7d..d12b896f549f 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 d12b896f549f..3fefba597e00 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 3fefba597e00..e53da4dca546 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":"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,KAAK,CAAC;AACV,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;;;;;;;;;;;;;OAaG;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"} +\ 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 c6719da113f4..b09d13373528 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 08504a586377..bebcd95c136b 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 44d25c8abe34..1f31abddad4a 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 bebcd95c136b..9c2cc3187504 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 606a020b94a9..876d0be2c610 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 58a4484d3538..941d5d51417d 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 9c69a5d49655..b639d984a132 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 a7aad8b4a7e4..799b67a3a2ea 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 d286567b4fd4..c5f8e8d01421 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 0164a2c7303d..23c8a4d73dfb 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 6b79b0d169df..48955e64d4a0 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 5ef8eb60325a..cb27ecfcbb3c 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 21332115c520..2473c18a5551 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 7026b1a35704..05e90733d6bd 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 ad9d6a1cc735..cc4648acd667 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 e95af429d30c..657bbae7ce86 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 db17ea848b60..922f35d4e861 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 4df1b1d56a47..5d8fe2192e89 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 5ee11390b060..109b0d96665c 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 2727116b5289..be0fcf2f3021 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 415d07bf6b13..ac23f455c635 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 d3aca6111d4c..5ae593971f8e 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 d4646a9d8df7..97c5cf7f7e16 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 54c5dcc2a87b..e6c429a44674 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 83d1d9299168..a1ca4ce22e10 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 23c8a4d73dfb..22ab407b0ce7 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 ced2ecbaac2b..76050b1f049a 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 99103cac8eb9..c1724f9cfeef 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 b17db67e6f0c..62e6b83dada9 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 a5a8684d9cff..04ed4e68d9a8 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 39cc50affaa7..1548c33d19e4 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 e963ea54087f..29b43130dd0a 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 63837a3e8b66..1607370c864b 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 8eae23a23674..37997b31a4bc 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 eac30b8839d2..12727ad85d31 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 35cb4abf812f..7f04d6fc8bd4 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 f7d8837773df..e65f5db2ace8 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 32ec0d8926f4..8d80887ab06a 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 164e483beecd..892b50a49abb 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 12727ad85d31..41de3b9dd26d 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 4e0961ec536a..b66b659dab57 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 000000000000..b98b6d30540f --- /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 beac64acd083..d36e6147ad04 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 9c46e7ba0a9f..0a740e65747f 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 5f05c453b47e..37e2842c0671 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 78d8c5ed61fb..d7815d7a65a0 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 5878f9fcf2ee..18a14c0ec719 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 69e04ff22e35..83f14a1d58ef 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 a35b17ae7ff0..aabf881a8bed 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 897d1c429799..46f17e76c083 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 98015cd2af1b..7dff4f2fe2ff 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 b2be1429ee5b..920b5b52076c 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 9d280acd36bc..5fc3eb21c200 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 429f42b58dda..0b260a8bc93e 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 621e77360358..89377310571e 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 64f287aad15d..c87dda8e13c9 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 aecb78b76a76..90b7ccbb28d8 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 100efb69cae1..425e8a421cb2 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 b639d984a132..6a5bf6832fd6 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 9dcd65537353..fcbeadaa4a47 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 bb381bb156ed..deb95a576c3d 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 29b43130dd0a..5371f289e743 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 8f2f99b97e56..7a61196fd328 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 aee9c1054496..d87843944cd6 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 5dd4275e5fa1..ac8eb7f862b6 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 799b67a3a2ea..cc7ee9f54daa 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 b4c61b3d5ca3..0d47e3fd8f35 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 76dac1aca1a8..d8a27e171933 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 b9d45d2fbba5..4b42aff1fc1d 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 ac139e58a9ff..b9a91705a401 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 0aabe5ad5d58..6062ef748f36 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 bcebf3a5eb1b..195c14698f7d 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 342449ae2bef..db978b70cad8 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 95b3f88e9e37..17b84e8903ea 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 bcb46c781262..a9cee3236ad0 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 c5f8e8d01421..a70f17d1468c 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 b943ceec9a36..c833fdb68ae6 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 ae0c8ffa1cdc..475cf37a8847 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 04f85e5c02c3..f8c07e5b0a67 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 229f7d7e6994..edd85e78cec2 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 27125324bfaf..47c29b99b02f 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 cc1ae7135df1..b9a4adb729e2 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 cb27ecfcbb3c..e61f9382b895 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 2473c18a5551..666741daf303 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 05e90733d6bd..09cbdcd28327 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 cc4648acd667..3d74d8cc36e1 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 657bbae7ce86..47dd43d1d334 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 922f35d4e861..0b932e8085db 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 5d8fe2192e89..03fb627abd8e 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 109b0d96665c..78b7c1934715 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 8359ff51a36d..495458c6b80f 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 8ef7c9a19979..9869e4a70e68 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 47208eee2ebb..d9d2873891cd 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 27cb98e9aec2..69c4402e959b 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 b9eeeb2b892f..8f5fc907a962 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 6d85c5bfc199..270a241778e1 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 ed14fc24d551..1e16cfdddf4f 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 b7b66a356a86..0da9a7c1bb8e 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 ee44e73cb0b1..57eb51df137d 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 9e0305429590..b8bb25d39c86 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 1607370c864b..7947ab0a04b4 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 61bf7399889a..7523a0932c42 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 b0bf4341fc63..b696fb38ff00 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 41de3b9dd26d..eac30b8839d2 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 7f04d6fc8bd4..491c37c9a402 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 f4fa34c406aa..2361d58dc2be 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 be0fcf2f3021..b156a6c7b2f1 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 ad4006b06e03..8f0623f99d32 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 135d50a4c89f..2e567fe82974 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 87d29aba0e88..1fb7cfbc94ab 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 d609355c10e5..9fcc28f51912 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 3ff3e3a6de2c..3f23b3a802be 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 990754444c58..4ea878e82987 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 0af04b1dfd2a..a8afffe32d33 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 668081242996..3e5287c82a42 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 cdaf1129d61b..977719f63879 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 f8ee44ccaa5f..de73e59bb7da 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 50d445015f45..416d710d4966 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 e943bc7b84a1..c407788dce65 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 ac23f455c635..a497d793f465 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 a1ddc3d5fe48..07c05d1b8de1 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 2f6fb9b485a7..888c15295dc2 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 047d80ee92fa..2c60aef482a8 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 941cc2992121..9497507f041a 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 7a52efb6cfd8..4270441775cd 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 214b38ee3620..1da4436ca810 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 5ae593971f8e..dd3d3b87a12f 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 9c70371e76a3..c49b88c2ac0e 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 94c6fd5dffd8..84cd86c60bca 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 bdc8928f362b..23b694fe0d40 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 ef85b09ac2a6..69ba24585e2e 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 1023064c0d39..15354c3cdfb8 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 0a804d1df470..deaa05350c7f 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 c7676db26067..56d5a29a3203 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 7d7d53fba0aa..df6b2b0c642c 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 5850be921b23..35b5bc9cd19a 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 b190a55ebd1c..22761c40da9c 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 fb7e7b9f4617..0132442b5978 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 245a3a9893b7..f0ff4d0fb409 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 1ac6c1b31356..faf45df8b51d 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 55e23f258762..5afd919cac57 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 00d8ace8b7c4..3f44882e2fd0 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 97c5cf7f7e16..acd1329b26ec 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 e6c429a44674..900809256c45 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 4319eb09e071..54b601a00350 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 79fc432a82a8..dfe79feb7755 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 0bc0bb7fd5c0..ffaeadfbbc0c 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 781b124c0492..3899656424ac 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 edd7374bf8c3..ad48d15aa9df 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 cf1225d89fbf..d73dab51c4fe 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 160e34160257..52b8a06ba931 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 2c7a81c9972e..a743140278f7 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 57f55e468b1f..321471db4c69 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 7289e86f9fcf..cbd43fd17529 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 d7eee7648a69..9814e5cef996 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 9829fc569f53..a034699454ed 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 56f11640ea7c..1c60065a08c8 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 4ca7d5d349ec..213f561fb4e9 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 8c92aee4722c..cd10e270d7d2 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 7e181cdb65c6..73f35cc7bfdb 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 af85a65a39c9..82757d8d9ae1 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 77b01ed43689..a83a5dab716e 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 86fc05054cc5..c907095c4301 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 e2d6aef05450..f79b7920f77b 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 adcf515719a8..bb49c5212fb2 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 78f5f579bf93..649681db6155 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 a87dae907aea..16ea5b9bd2a7 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 26bd66833929..d16d66ce3ea3 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 dbd491197d37..6b675f740785 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 8e95eeae51d4..131f17a14242 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 43014547b6f5..df5ba802a566 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 4c57a8b9ab2e..7d526ede42b5 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 94750e51e929..05111864f61a 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 0b431cef46b8..472cba1215af 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 4a7047ce82de..224233fff318 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 cdb0cae964b1..d0eecc54ab9c 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 05db9a7ce0f6..041e2b77c91e 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 dd46753fb8e1..fa0b57ba207c 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 4a7555f4a91f..3df8598fde2d 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 d460daa15a05..df4e9635e851 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 d5baa5c9f711..c55d575838a8 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 b79075cc46c5..b1876c17efd5 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 1939d3e5f78c..fe03b2a241dd 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 d8282816fe09..bacc82331331 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 e79e605f9770..42f89c44ee8b 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 58545d244ffc..7566f458fcff 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 5cb1da60901f..c4d033351b37 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 df301ae9b1e1..30ab4b40d958 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 4e9d03008f17..9fe090222691 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 91495572cbe0..f20272dd2f5c 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 c5fb23638dcd..6ce697e00fd6 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 26b4459e8272..53c1fe14237c 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 2458e5033ab2..b34397cc43e3 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 a1ca4ce22e10..f1075d85cfd8 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 d2e96abd2fe0..bb8515fe85d3 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 82e01ae3887c..e4f14f6c137a 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 74128fdd05ae..c5eb8a53930a 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 8d38219c6c79..b8b8776df048 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 cd0b9ff21ce6..03b489d93402 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 24538d0dbdb1..25de151bbb6d 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 4fd741be7684..bc29918fe450 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 95491a3196ca..7dc6293e23ea 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 4d49a86a410a..369973485499 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 52fa4c8890d0..62db3af81da6 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 d3dad7e94fdc..3b777765c7b8 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 047c81ef18a5..2946f918c043 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 105319ff8b6e..fff7c592baaa 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 249d84f830e1..5a58e8935db2 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 05c153356fee..6fff3085b472 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 e0204e40f4fa..468c64818dba 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 b7953d30b037..075cfc55a0c8 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 82ec34fd152f..b24a2a53d0ef 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 fc2f919370e2..f5c9dd398bf6 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 99081b71837a..f6ab69b1e9c5 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 f0b1319196c6..8dbd90c9e929 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 b87bc2b2a25c..0d85fca800bb 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 5ce2461bab16..bfc885000c98 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 13b1afb7e3d7..74ed854a0495 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 f5c2b0b7af6f..6cc1da84a063 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 34e3da1e6453..cc6460d20641 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 77e2d24002f3..1db5d2ff2c9f 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 31964dde3b33..01465a9b8a3c 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 747a98660037..1fce2fb7bfcf 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 e5f91d0987c2..490db9a80d42 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 5f636668ff4b..5218ab1f988b 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 2b9d42ed748c..900007f9a573 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 1b6ac59977be..4a142c01e1da 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 6cc38e27ae39..991c1f252cad 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 5ae0a51e5bca..dba43789bd34 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 0c1d6d599948..ad5e24191ce9 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 96bd6f7cef8a..9e7098d45502 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 d79225ce665c..c8cef174dbdb 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 9f7e1af0a9e5..0dd7c01f0af3 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 adba5d2d462a..a4282145f73c 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 b6ea97c4d1be..874754b2cf4b 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 3bd20f7dbc69..8360108be362 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 40f3e5048404..f5599ed4c269 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 b3c9ac10cf2c..cde6a55c5258 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 019f840f9ab5..d63799169ca8 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 49c07eb28562..ffdfdead7591 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 92edcda8714a..10902b70b25a 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 41f60522e8d1..61013242c9e1 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 cc3a22fa4ef9..0fb495a04574 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 1da36229a7be..5b724d625e5b 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 4dddcb42265d..4a31f7d16b1e 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 7c4eb45bb9a0..0f50ed8fe0b8 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 05536a4257e4..e9005a8a58f2 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 df056ec85d1c..31e4a5e093eb 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 88edc1f25797..f24a388011ab 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 c481b5f5adee..2e40667c1daf 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 4de7c320cd2f..bfd688facc5f 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 81b81b7cba4c..c46efe3fd243 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 0522aa59162f..a8c9705663d4 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 ab2938a463ab..e1fdd2b29687 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 c3448c2f7c95..d026c218910f 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 8336700a7d79..a9f96061ec0a 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 0d910c8ccacc..82c5bdb660bc 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 ce7016a05af1..d127a13df240 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 ec9b24e1362a..6125ac842537 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 f6d86eed7d10..dc0f067f60df 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 cf8337f16b8e..c2da4e39739a 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 5622e5c107ce..2c69f07ef83b 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 fe656f8d8652..4346977a1cd0 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 8733ad4cd095..95ac9729e606 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 82e9ce6c713c..dee84a4f201f 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 7f68b9421e83..e1c645118003 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 892b50a49abb..2193dcb2bf6b 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 62cceee9f400..30e8d4c668c6 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 0c964c3c4356..f4136bb8783a 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 f34b6325762d..4eb1409f192d 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 cde195fca561..0dd9e203c46b 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 bf3867e3beac..cd6a93165990 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 dbbb11c978d5..cfd41a4b1fa0 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 000000000000..411cbf1d26b0 --- /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 000000000000..a37a102ff8a3 --- /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 000000000000..09d35e2a1680 --- /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 8d941799a81a..4015c43c679e 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 c9ff10e63401..e09f85936385 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 d31c3693d495..f7c2140b1117 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 c859c97b545c..39053de521db 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 000000000000..5befa446f6f9 --- /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 000000000000..4684eb9637be --- /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 000000000000..89b83dae816c --- /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 000000000000..27e976d9be0c --- /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 000000000000..2f61f1519df0 --- /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 000000000000..ee8dd54c920d --- /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 000000000000..7e7808c003d7 --- /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 d36e6147ad04..beac64acd083 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 4ea085981a5a..2455587660ab 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 b66b659dab57..4e0961ec536a 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":"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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 index d72f513e3d0d..ac9bda68f9d9 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 7dc66d06fd4a..18cb758c5703 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 e959219a3e22..e95c6c292dbc 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 fb62ba23c80f..c2017c69edf2 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 d47bc261bfdb..5c837fc93a5b 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 30127edcd6bd..000000000000 --- 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 8e20103875ae..ab0b9701c35f 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 9feb0a3f3a47..3e13976c46b8 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 d4618348af6f..f8c71f4a8801 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 7a06b0a216e7..d1117131d938 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 da84ab3b2d0f..5dccfc4d8490 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 000000000000..306963a24694 --- /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 7e36c811fe42..e6477e64b785 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 1a4df4a6c0a1..f1f675a76b89 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 1d1eee595c71..d485c62ea463 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 a4e50aeb6516..2461c542ec7d 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 306963a24694..7368a4d1de79 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 76050b1f049a..0211ae9aee85 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 f1f675a76b89..05f984619e7b 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 991dba98c50b..f967288f417b 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 c66c20e07781..423d16453092 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 4f482b5024aa..6e7a74bfa242 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 30aedf48dfbc..8cc265c7be74 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 5dccfc4d8490..7ae209ba1e3c 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 0211ae9aee85..909507e2e2fb 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 e6477e64b785..faf0b3dcb14b 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 05f984619e7b..fc54d007868b 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 f967288f417b..50cfd1cb5c7f 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 423d16453092..4d64109a1397 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 6e7a74bfa242..b458fcc75852 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 3e13976c46b8..a826d50e8d5f 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 c43388c52a67..20e59451809f 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 d5598c93eb53..d78d9a02d187 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 000000000000..7c009910af9e --- /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 000000000000..0454b87427f1 --- /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 909507e2e2fb..81e65c77feda 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 faf0b3dcb14b..3efea692de75 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 fc54d007868b..195a8897cb7b 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 50cfd1cb5c7f..f6b50da68a81 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 4d64109a1397..561499b12847 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 b458fcc75852..0925c6464be2 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 81e65c77feda..b4a9a6328633 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 3efea692de75..7b8371e3b5c6 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 20e59451809f..d30d338fed6a 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 195a8897cb7b..f248af0c567b 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 f6b50da68a81..39918ade56d5 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 561499b12847..1da075421aa8 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 0925c6464be2..6c3dad155122 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 b4a9a6328633..2f63a212a50b 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 7b8371e3b5c6..93bba8046f6d 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 f248af0c567b..928a821f0de1 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 39918ade56d5..251bb2cd9e52 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 d78d9a02d187..dd71933e6203 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 1da075421aa8..b94b4764bcdc 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 6c3dad155122..936396548abb 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 8cc265c7be74..eab3bc313b37 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 5befa446f6f9..cbcfa4b84677 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 15d21981a169..a1df022a03e2 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 941d5d51417d..358077a2f392 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 33e281ce8e1a..000000000000 --- 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 a826d50e8d5f..000000000000 --- 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 ceefb2380f59..000000000000 --- 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 f8c71f4a8801..000000000000 --- 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 d1117131d938..000000000000 --- 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 2f63a212a50b..dc704d5ed6e5 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 c1724f9cfeef..6c02ce74119a 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 000000000000..0fbc091927eb --- /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 93bba8046f6d..c38bca7b520b 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 d30d338fed6a..ab0ea51081a1 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 000000000000..7e76f03db881 --- /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 928a821f0de1..bc00eabd828a 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 251bb2cd9e52..3969719ca6b1 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 dd71933e6203..05faefd0be0a 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 000000000000..f170562c3b7a --- /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 b94b4764bcdc..da58d4d964a5 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 936396548abb..7b4677b2bf2f 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 b6b6c8c74e48..2bc6b96b944f 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 000000000000..d1afa32d0dcf --- /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;