/** * The app navigator (formerly "AppNavigator" and "MainNavigator") is used for the primary * navigation flows of your app. */ import { DarkTheme as NavigationDarkTheme, DefaultTheme as NavigationDefaultTheme, NavigationContainer, } from "@react-navigation/native"; import { createNativeStackNavigator } from "@react-navigation/native-stack"; import React from "react"; import { Appearance, useColorScheme } from "react-native"; import * as Screens from "../screens"; import { HomeNavigator } from "./HomeNavigator"; import { StatusBar } from "expo-status-bar"; import { MD3DarkTheme, MD3LightTheme, adaptNavigationTheme, } from "react-native-paper"; /** * This type allows TypeScript to know what routes are defined in this navigator * as well as what properties (if any) they might take when navigating to them. * * If no params are allowed, pass through `undefined`. * * For more information, see this documentation: * https://reactnavigation.org/docs/params/ * https://reactnavigation.org/docs/typescript#type-checking-the-navigator * https://reactnavigation.org/docs/typescript/#organizing-types * */ type RootStackParamList = { Home: undefined; Settings: undefined; // 🔥 Your screens go here }; declare global { namespace ReactNavigation { interface RootParamList extends RootStackParamList {} } } // Documentation: https://reactnavigation.org/docs/stack-navigator/ const Stack = createNativeStackNavigator(); const AppStack = () => { return ( {/** 🔥 Your screens go here */} ); }; export interface NavigationProps extends Partial> {} export const AppNavigator = (props: NavigationProps) => { const colorScheme = useColorScheme(); const { LightTheme, DarkTheme } = adaptNavigationTheme({ reactNavigationLight: NavigationDefaultTheme, reactNavigationDark: NavigationDarkTheme, }); const CombinedDefaultTheme = { ...MD3LightTheme, ...LightTheme, colors: { ...MD3LightTheme.colors, ...LightTheme.colors, }, }; const CombinedDarkTheme = { ...MD3DarkTheme, ...DarkTheme, colors: { ...MD3DarkTheme.colors, ...DarkTheme.colors, }, }; return ( ); };