import { Ionicons } from "@expo/vector-icons"; import { Redirect, Tabs, usePathname, router } from "expo-router"; import { Pressable, View } from "react-native"; import { useState } from "react"; import { useAuthContext } from "@/auth/AuthContext"; import { ContentTabs } from "@/components/features/navigation/ContentTabs"; import { Sidebar } from "@/components/features/navigation/Sidebar"; import { SidebarToggle } from "@/components/features/navigation/SidebarToggle"; import { useAppSelector } from "@/store/hooks"; import { selectIsMobile } from "@/store/screen/screenSizeSlice"; import { HeaderControls } from "@/components/features/navigation/HeaderControls"; import { LoadingSpinner } from "@/components/ui/LoadingSpinner"; import { UserButton } from "@/components/auth/UserButton"; const TabsLayout = () => { const isMobile = useAppSelector(selectIsMobile); const { isAuthenticated, bootstrapping } = useAuthContext(); const pathname = usePathname(); const [mobileHidden, setMobileHidden] = useState(true); if (bootstrapping) { return ( ); } if (!isAuthenticated) { if (pathname !== "/sign-in") { return ; } return null; } return ( setMobileHidden((v) => !v)} /> {isMobile && mobileHidden && ( setMobileHidden(false)} showLabel={!mobileHidden} /> )} {isMobile ? ( router.push("/search")}> ) : ( )} ); }; export default TabsLayout;