fix: improve modal behavior on web and Android scrolling
- Restructure ModalBase to use absolute-positioned backdrop behind card content, fixing modal stacking issues on web (React Native Web portals) - Hide EventOverlay when DeleteEventModal is open to prevent z-index conflicts on web - Add nestedScrollEnabled to CardBase ScrollView for Android - Use TouchableOpacity with delayPressIn in EventCard for scroll-friendly touch handling - Keep eventToDelete state stable during modal fade-out to prevent content flash between recurring/single variants - Fix German umlauts in DeleteEventModal
This commit is contained in:
@@ -188,14 +188,14 @@ const Calendar = () => {
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Failed to delete event:", error);
|
||||
} finally {
|
||||
setEventToDelete(null);
|
||||
}
|
||||
// Note: Don't clear eventToDelete here - it will be overwritten when opening a new modal.
|
||||
// Clearing it during fade-out animation causes the modal content to flash from recurring to single.
|
||||
};
|
||||
|
||||
const handleDeleteCancel = () => {
|
||||
setDeleteModalVisible(false);
|
||||
setEventToDelete(null);
|
||||
// Note: Don't clear eventToDelete - keeps modal content stable during fade-out animation
|
||||
};
|
||||
|
||||
// Get events for selected date
|
||||
@@ -222,7 +222,7 @@ const Calendar = () => {
|
||||
onDayPress={handleDayPress}
|
||||
/>
|
||||
<EventOverlay
|
||||
visible={selectedDate !== null}
|
||||
visible={selectedDate !== null && !deleteModalVisible}
|
||||
date={selectedDate}
|
||||
events={selectedDateEvents}
|
||||
onClose={handleCloseOverlay}
|
||||
|
||||
Reference in New Issue
Block a user