import { createNativeBottomTabNavigator, type NativeBottomTabNavigationEventMap, type NativeBottomTabNavigationOptions, } from "@bottom-tabs/react-navigation"; import type { ParamListBase, TabNavigationState, } from "@react-navigation/native"; import { withLayoutContext } from "expo-router"; import { useTranslation } from "react-i18next"; import { Platform, View } from "react-native"; import { SystemBars } from "react-native-edge-to-edge"; import { Colors } from "@/constants/Colors"; import { useTVBackHandler } from "@/hooks/useTVBackHandler"; import { useSettings } from "@/utils/atoms/settings"; import { eventBus } from "@/utils/eventBus"; // Music components are not available on tvOS (TrackPlayer not supported) const MiniPlayerBar = Platform.isTV ? () => null : require("@/components/music/MiniPlayerBar").MiniPlayerBar; const MusicPlaybackEngine = Platform.isTV ? () => null : require("@/components/music/MusicPlaybackEngine").MusicPlaybackEngine; const { Navigator } = createNativeBottomTabNavigator(); export const NativeTabs = withLayoutContext< NativeBottomTabNavigationOptions, typeof Navigator, TabNavigationState, NativeBottomTabNavigationEventMap >(Navigator); export default function TabLayout() { const { settings } = useSettings(); const { t } = useTranslation(); // Handle TV back button - prevent app exit when at root useTVBackHandler(); return ( ); }