import { createNativeBottomTabNavigator, type NativeBottomTabNavigationEventMap, type NativeBottomTabNavigationOptions, } from "@bottom-tabs/react-navigation"; import { withLayoutContext } from "expo-router"; import type { ParamListBase, TabNavigationState, } from "expo-router/react-navigation"; 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 { useTVHomeBackHandler } 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 useTVHomeBackHandler(); return ( ); }