import React, { useCallback, useRef } from "react"; import { Platform } from "react-native"; import { useTranslation } from "react-i18next"; import { useFocusEffect, useRouter, withLayoutContext } from "expo-router"; import { createNativeBottomTabNavigator, NativeBottomTabNavigationEventMap, } from "@bottom-tabs/react-navigation"; const { Navigator } = createNativeBottomTabNavigator(); import { BottomTabNavigationOptions } from "@react-navigation/bottom-tabs"; import { Colors } from "@/constants/Colors"; import { useSettings } from "@/utils/atoms/settings"; import { storage } from "@/utils/mmkv"; import type { ParamListBase, TabNavigationState, } from "@react-navigation/native"; import { SystemBars } from "react-native-edge-to-edge"; export const NativeTabs = withLayoutContext< BottomTabNavigationOptions, 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 ( <>