diff --git a/apps/mobile/src/components/layouts/tabbar/ReactNativeTab.ios.tsx b/apps/mobile/src/components/layouts/tabbar/ReactNativeTab.ios.tsx index f400c0b79..e38088a76 100644 --- a/apps/mobile/src/components/layouts/tabbar/ReactNativeTab.ios.tsx +++ b/apps/mobile/src/components/layouts/tabbar/ReactNativeTab.ios.tsx @@ -1,16 +1,19 @@ +import { use, useLayoutEffect } from "react" import { Platform } from "react-native" import DeviceInfo from "react-native-device-info" +import { useSafeAreaInsets } from "react-native-safe-area-context" import { TabBarPortal } from "@/src/lib/navigation/bottom-tab/TabBarPortal" import { isIos26 } from "@/src/lib/platform" import { BottomTabs } from "./BottomTabs" +import { SetBottomTabBarHeightContext } from "./contexts/BottomTabBarHeightContext" const isIpad = Platform.OS === "ios" && DeviceInfo.isTablet() export const ReactNativeTab = () => { if (isIos26 && !isIpad) { - return null + return } return ( @@ -18,3 +21,14 @@ export const ReactNativeTab = () => { ) } + +const NativeTabBarHolder = () => { + const setHeight = use(SetBottomTabBarHeightContext) + const insets = useSafeAreaInsets() + useLayoutEffect(() => { + //https://developer.apple.com/design/human-interface-guidelines/tab-bars + setHeight(68 + insets.bottom) + }, [insets.bottom, setHeight]) + + return null +}