import { NavigationContainer } from "@react-navigation/native"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import Constants from "expo-constants"; import { useFonts } from "expo-font"; import { StatusBar } from "expo-status-bar"; import { useSetAtom } from "jotai"; import { SafeAreaProvider } from "react-native-safe-area-context"; import { didAtom } from "./atoms/did"; import { handleAtom } from "./atoms/handle"; import { RootStack } from "./Navigation"; import { NowPlayingProvider } from "./providers/NowPlayingProvider"; const queryClient = new QueryClient(); const App = () => { const setDid = useSetAtom(didAtom); const setHandle = useSetAtom(handleAtom); useFonts({ RockfordSansRegular: require("../assets/fonts/RockfordSans-Regular.otf"), RockfordSansMedium: require("../assets/fonts/RockfordSans-Medium.otf"), RockfordSansBold: require("../assets/fonts/RockfordSans-Bold.otf"), }); const getActiveRouteName = (state: any) => { if (!state || !state.routes) return null; const route = state.routes[state.index]; // Dive into nested navigators if (route.state) { return getActiveRouteName(route.state); } return route.name; }; return ( { const currentTab = getActiveRouteName(state); if (currentTab === "Profile" || currentTab === "Library") { setDid("did:plc:7vdlgi2bflelz7mmuxoqjfcr"); setHandle(undefined); } }} > ); }; let AppEntryPoint = App; if (Constants.expoConfig?.extra?.storybookEnabled === "true") { const Storybook = require("../.storybook").default; const StorybookApp = () => { useFonts({ RockfordSansRegular: require("../assets/fonts/RockfordSans-Regular.otf"), RockfordSansMedium: require("../assets/fonts/RockfordSans-Medium.otf"), RockfordSansBold: require("../assets/fonts/RockfordSans-Bold.otf"), }); return ; }; AppEntryPoint = StorybookApp; } export default AppEntryPoint;