diff --git a/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.android.tsx b/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.android.tsx deleted file mode 100644 index c8f8ad7ea..000000000 --- a/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.android.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { requireNativeView } from "expo" -import { useSetAtom } from "jotai" -import { useContext } from "react" -import type { ViewProps } from "react-native" -import { StyleSheet, View } from "react-native" - -import { BottomTabContext } from "./BottomTabContext" - -const TabBarPortalNative = requireNativeView("TabBarPortal") - -export const TabBarPortal = ({ children }: { children: React.ReactNode }) => { - const { tabHeightAtom } = useContext(BottomTabContext) - const setTabHeight = useSetAtom(tabHeightAtom) - return ( - // Use native view - - { - setTabHeight(e.nativeEvent.layout.height) - }} - > - {children} - - - ) -} - -const styles = StyleSheet.create({ - container: { - position: "absolute", - bottom: 0, - left: 0, - right: 0, - }, -}) diff --git a/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.ios.tsx b/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.ios.tsx deleted file mode 100644 index 4fd6b2b3a..000000000 --- a/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.ios.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { requireNativeView } from "expo" -import { useSetAtom } from "jotai" -import { useContext } from "react" -import type { ViewProps } from "react-native" -import { StyleSheet, View } from "react-native" - -import { BottomTabContext } from "./BottomTabContext" - -const TabBarPortalNative = requireNativeView("TabBarPortal") - -export const TabBarPortal = ({ children }: { children: React.ReactNode }) => { - const { tabHeightAtom } = useContext(BottomTabContext) - const setTabHeight = useSetAtom(tabHeightAtom) - return ( - - { - setTabHeight(e.nativeEvent.layout.height) - }} - > - {children} - - - ) -} - -const styles = StyleSheet.create({ - container: { - position: "absolute", - bottom: 0, - left: 0, - right: 0, - }, -}) diff --git a/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.tsx b/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.tsx index 8e48f4911..d4bbfcdae 100644 --- a/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.tsx +++ b/apps/mobile/src/lib/navigation/bottom-tab/TabBarPortal.tsx @@ -3,12 +3,13 @@ import { useContext } from "react" import { StyleSheet, View } from "react-native" import { BottomTabContext } from "./BottomTabContext" +import { TabBarPortalWrapper } from "./native" export const TabBarPortal = ({ children }: { children: React.ReactNode }) => { const { tabHeightAtom } = useContext(BottomTabContext) const setTabHeight = useSetAtom(tabHeightAtom) return ( - + { setTabHeight(e.nativeEvent.layout.height) @@ -16,7 +17,7 @@ export const TabBarPortal = ({ children }: { children: React.ReactNode }) => { > {children} - + ) } diff --git a/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx b/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx new file mode 100644 index 000000000..f46e3953d --- /dev/null +++ b/apps/mobile/src/lib/navigation/bottom-tab/native.android.tsx @@ -0,0 +1,4 @@ +import { requireNativeView } from "expo" +import type { ViewProps } from "react-native" + +export const TabBarPortalWrapper = requireNativeView("TabBarPortal") diff --git a/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx b/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx new file mode 100644 index 000000000..f46e3953d --- /dev/null +++ b/apps/mobile/src/lib/navigation/bottom-tab/native.ios.tsx @@ -0,0 +1,4 @@ +import { requireNativeView } from "expo" +import type { ViewProps } from "react-native" + +export const TabBarPortalWrapper = requireNativeView("TabBarPortal") diff --git a/apps/mobile/src/lib/navigation/bottom-tab/native.tsx b/apps/mobile/src/lib/navigation/bottom-tab/native.tsx new file mode 100644 index 000000000..1f4133fbd --- /dev/null +++ b/apps/mobile/src/lib/navigation/bottom-tab/native.tsx @@ -0,0 +1 @@ +export { View as TabBarPortalWrapper } from "react-native"