import { createNativeBottomTabNavigator, type NativeBottomTabNavigationEventMap, type NativeBottomTabNavigationOptions, } from "@bottom-tabs/react-navigation"; import type { ParamListBase, TabNavigationState, } from "@react-navigation/native"; import { useFocusEffect, useRouter, withLayoutContext } from "expo-router"; import { useCallback } from "react"; import { useTranslation } from "react-i18next"; import { Platform } from "react-native"; import { SystemBars } from "react-native-edge-to-edge"; import { Colors } from "@/constants/Colors"; import { useSettings } from "@/utils/atoms/settings"; import { eventBus } from "@/utils/eventBus"; import { storage } from "@/utils/mmkv"; const { Navigator } = createNativeBottomTabNavigator(); export const NativeTabs = withLayoutContext< NativeBottomTabNavigationOptions, typeof Navigator, TabNavigationState, NativeBottomTabNavigationEventMap >(Navigator); export default function TabLayout() { const { settings } = useSettings(); const { t } = useTranslation(); const router = useRouter(); useFocusEffect( useCallback(() => { const hasShownIntro = storage.getBoolean("hasShownIntro"); if (!hasShownIntro) { const timer = setTimeout(() => { router.push("/intro/page"); }, 1000); return () => { clearTimeout(timer); }; } }, []), ); return ( <>