diff --git a/native/chat/chat.react.js b/native/chat/chat.react.js --- a/native/chat/chat.react.js +++ b/native/chat/chat.react.js @@ -11,6 +11,7 @@ StackNavigationProp, StackNavigationHelpers, ParamListBase, + StackRouterOptions, } from '@react-navigation/core'; import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs'; import { @@ -29,7 +30,10 @@ import BackgroundChatThreadList from './background-chat-thread-list.react.js'; import ChatHeader from './chat-header.react.js'; -import ChatRouter, { type ChatRouterNavigationHelpers } from './chat-router.js'; +import ChatRouter, { + type ChatRouterNavigationHelpers, + type ChatRouterNavigationAction, +} from './chat-router.js'; import ComposeSubchannel from './compose-subchannel.react.js'; import ComposeThreadButton from './compose-thread-button.react.js'; import FullScreenThreadMediaGallery from './fullscreen-thread-media-gallery.react.js'; @@ -162,7 +166,15 @@ id, ...rest }: ChatNavigatorProps) { - const { state, descriptors, navigation } = useNavigationBuilder(ChatRouter, { + const { state, descriptors, navigation } = useNavigationBuilder< + StackNavigationState, + ChatRouterNavigationAction, + StackOptions, + StackRouterOptions, + ChatNavigationHelpers<>, + StackNavigationEventMap, + ExtraStackNavigatorProps, + >(ChatRouter, { id, initialRouteName, children, diff --git a/native/navigation/overlay-navigator.react.js b/native/navigation/overlay-navigator.react.js --- a/native/navigation/overlay-navigator.react.js +++ b/native/navigation/overlay-navigator.react.js @@ -9,6 +9,7 @@ ParamListBase, StackNavigationHelpers, ScreenListeners, + StackRouterOptions, } from '@react-navigation/core'; import { useNavigationBuilder, @@ -25,7 +26,10 @@ import { OverlayContext } from './overlay-context.js'; import OverlayRouter from './overlay-router.js'; -import type { OverlayRouterExtraNavigationHelpers } from './overlay-router.js'; +import type { + OverlayRouterExtraNavigationHelpers, + OverlayRouterNavigationAction, +} from './overlay-router.js'; import { scrollBlockingModals, TabNavigatorRouteName } from './route-names.js'; import { isMessageTooltipKey } from '../chat/utils.js'; @@ -57,15 +61,20 @@ >; const OverlayNavigator = React.memo( ({ initialRouteName, children, screenOptions, screenListeners }: Props) => { - const { state, descriptors, navigation } = useNavigationBuilder( - OverlayRouter, - { - children, - screenOptions, - screenListeners, - initialRouteName, - }, - ); + const { state, descriptors, navigation } = useNavigationBuilder< + StackNavigationState, + OverlayRouterNavigationAction, + {}, + StackRouterOptions, + OverlayNavigationHelpers<>, + {}, + ExtraNavigatorPropsBase, + >(OverlayRouter, { + children, + screenOptions, + screenListeners, + initialRouteName, + }); const curIndex = state.index; const positionRefs = React.useRef({}); diff --git a/native/navigation/root-navigator.react.js b/native/navigation/root-navigator.react.js --- a/native/navigation/root-navigator.react.js +++ b/native/navigation/root-navigator.react.js @@ -9,6 +9,7 @@ ParamListBase, StackNavigationHelpers, StackNavigationProp, + StackRouterOptions, } from '@react-navigation/core'; import { createNavigatorFactory, @@ -25,6 +26,7 @@ import { RootNavigatorContext } from './root-navigator-context.js'; import RootRouter, { type RootRouterExtraNavigationHelpers, + type RootRouterNavigationAction, } from './root-router.js'; import { LoggedOutModalRouteName, @@ -102,7 +104,15 @@ }; }, [screenOptions, keyboardHandlingEnabled]); - const { state, descriptors, navigation } = useNavigationBuilder(RootRouter, { + const { state, descriptors, navigation } = useNavigationBuilder< + StackNavigationState, + RootRouterNavigationAction, + StackOptions, + StackRouterOptions, + RootNavigationHelpers<>, + StackNavigationEventMap, + ExtraStackNavigatorProps, + >(RootRouter, { id, initialRouteName, children, diff --git a/native/navigation/tab-navigator.react.js b/native/navigation/tab-navigator.react.js --- a/native/navigation/tab-navigator.react.js +++ b/native/navigation/tab-navigator.react.js @@ -11,6 +11,8 @@ BottomTabNavigationProp, ExtraBottomTabNavigatorProps, BottomTabNavigatorProps, + TabAction, + TabRouterOptions, } from '@react-navigation/core'; import { createNavigatorFactory, @@ -96,7 +98,15 @@ defaultScreenOptions, ...rest }: TabNavigatorProps) { - const { state, descriptors, navigation } = useNavigationBuilder(TabRouter, { + const { state, descriptors, navigation } = useNavigationBuilder< + TabNavigationState, + TabAction, + BottomTabOptions, + TabRouterOptions, + CustomBottomTabNavigationHelpers<>, + BottomTabNavigationEventMap, + ExtraBottomTabNavigatorProps, + >(TabRouter, { id, initialRouteName, backBehavior,