import BottomSheet, { BottomSheetScrollView } from "@gorhom/bottom-sheet"; import { router } from "expo-router"; import { useRef, type PropsWithChildren } from "react"; import { Image, Text, TouchableOpacity, View } from "react-native"; import { GestureHandlerRootView } from "react-native-gesture-handler"; import { useSafeAreaInsets } from "react-native-safe-area-context"; import { icons } from "@/constants"; import { tr } from "@/lib/i18n"; import { useTheme } from "@/lib/theme"; import { Map } from "./map"; type RideLayoutProps = { title?: string; snapPoints?: string[]; }; export const RideLayout = ({ title, snapPoints, children, }: PropsWithChildren) => { const bottomSheetRef = useRef(null); const { isDark } = useTheme(); const insets = useSafeAreaInsets(); return ( router.back()}> {tr("components.rideLayout.backArrowAlt")} {title ?? tr("components.rideLayout.goBack")} {/* Scrollable rather than a plain view: the keyboard takes half the screen while the rider is typing an address, and everything below the field it covers — the fare, "Find now" — was simply out of reach until they dismissed it. The bottom inset keeps the button clear of the Android gesture bar. */} {children} ); };