From 38cf792d0901c8b47d78e6ae5e24eaa42dccd70d Mon Sep 17 00:00:00 2001 From: Davide Scaini Date: Thu, 4 Jun 2026 00:18:04 +0200 Subject: [PATCH] fix: edit modal respects Android safe area insets Removed iOS-only presentationStyle='pageSheet'. Modal now applies useSafeAreaInsets() padding so it doesn't overlap the status bar or gesture navigation bar on Android. --- src/screens/ActivityDetailScreen.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/screens/ActivityDetailScreen.tsx b/src/screens/ActivityDetailScreen.tsx index 4ccd0ce..a929093 100644 --- a/src/screens/ActivityDetailScreen.tsx +++ b/src/screens/ActivityDetailScreen.tsx @@ -1,8 +1,9 @@ import React, { useEffect, useLayoutEffect, useMemo, useState } from 'react'; import { View, Text, StyleSheet, ActivityIndicator, ScrollView, - Modal, TextInput, TouchableOpacity, Pressable, Alert, + Modal, TextInput, TouchableOpacity, Alert, } from 'react-native'; +import { useSafeAreaInsets } from 'react-native-safe-area-context'; import { useRoute, RouteProp, useNavigation } from '@react-navigation/native'; import { Map, Camera, GeoJSONSource, Layer } from '@maplibre/maplibre-react-native'; import type { LineLayerStyle } from '@maplibre/maplibre-react-native'; @@ -57,6 +58,7 @@ function formatDuration(secs: number) { export function ActivityDetailScreen() { const nav = useNavigation(); const { accent, accentDim } = useTheme(); + const insets = useSafeAreaInsets(); const route = useRoute(); const [rec, setRec] = useState(route.params.recording); @@ -197,8 +199,8 @@ export function ActivityDetailScreen() { {/* ── Edit modal ── */} - - + + Cancel