From 8b043c48099bbdca45f261cb25763f5bf50c1ca5 Mon Sep 17 00:00:00 2001 From: Sandro Date: Sun, 25 Oct 2026 21:20:57 +0100 Subject: [PATCH] fix(ui): prevent modal overlays from inheriting margin-top from parent space-y containers --- frontend/src/App.tsx | 6 +++--- frontend/src/components/MobileHeaderMenu.tsx | 4 ++-- frontend/src/components/UnifiedShareModal.tsx | 2 +- frontend/src/features/teams/GroupsView.tsx | 2 +- frontend/src/features/triage/ManageColumnsModal.tsx | 2 +- frontend/src/features/triage/TaskDetailModal.tsx | 2 +- frontend/src/features/triage/TasksView.tsx | 2 +- frontend/src/features/triage/TriageDeck.tsx | 2 +- frontend/src/features/workspace/WorkspaceView.tsx | 4 ++-- frontend/src/index.css | 11 +++++++++++ 10 files changed, 24 insertions(+), 13 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index b250bac..8192b32 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1018,7 +1018,7 @@ export const App: React.FC = () => { {/* MOBILE QUICK-ADD BOTTOM SHEET / MODAL */} {showMobileCapture && (
setShowMobileCapture(false)} >
{ {/* MOBILE USER PROFILE SHEET */} {showMobileProfile && (
setShowMobileProfile(false)} >
{ {/* IMMEDIATE MOBILE WEB-APP INSTALLATION OFFER SHEET */} {showPwaInstallModal && !isStandaloneApp && (
= ({ activeTabLab if (!isMenuOpen) return null; return ( -
+
{/* Backdrop */}
{ triggerHaptic(8); closeMenu(); diff --git a/frontend/src/components/UnifiedShareModal.tsx b/frontend/src/components/UnifiedShareModal.tsx index 3671ae3..d4e290e 100644 --- a/frontend/src/components/UnifiedShareModal.tsx +++ b/frontend/src/components/UnifiedShareModal.tsx @@ -96,7 +96,7 @@ export const UnifiedShareModal: React.FC = ({ return (
{ if (e.target === e.currentTarget) onClose(); }} diff --git a/frontend/src/features/teams/GroupsView.tsx b/frontend/src/features/teams/GroupsView.tsx index 7273072..7238ad2 100644 --- a/frontend/src/features/teams/GroupsView.tsx +++ b/frontend/src/features/teams/GroupsView.tsx @@ -252,7 +252,7 @@ export const GroupsView: React.FC = ({ currentUser, onBack }) = {/* Modal: Neue Gruppe erstellen */} {showCreateModal && (
setShowCreateModal(false)} >
= ({ }; return ( -
+
e.stopPropagation()} diff --git a/frontend/src/features/triage/TaskDetailModal.tsx b/frontend/src/features/triage/TaskDetailModal.tsx index 58709b8..93f9fd3 100644 --- a/frontend/src/features/triage/TaskDetailModal.tsx +++ b/frontend/src/features/triage/TaskDetailModal.tsx @@ -163,7 +163,7 @@ export const TaskDetailModal: React.FC = ({ const subtasksPercent = subtasks.length > 0 ? Math.round((completedSubtasks / subtasks.length) * 100) : 0; return ( -
+
e.stopPropagation()} diff --git a/frontend/src/features/triage/TasksView.tsx b/frontend/src/features/triage/TasksView.tsx index df53be1..4d319be 100644 --- a/frontend/src/features/triage/TasksView.tsx +++ b/frontend/src/features/triage/TasksView.tsx @@ -1488,7 +1488,7 @@ export const TasksView: React.FC = ({ {/* NEW LIST MODAL */} {showNewListModal && ( -
+

diff --git a/frontend/src/features/triage/TriageDeck.tsx b/frontend/src/features/triage/TriageDeck.tsx index d9b462f..22aa1f4 100644 --- a/frontend/src/features/triage/TriageDeck.tsx +++ b/frontend/src/features/triage/TriageDeck.tsx @@ -811,7 +811,7 @@ export const TriageDeck: React.FC = ({ {/* LONG-PRESS / MORE OPTIONS ACTION SHEET (For Triage Card & Queue Items) */} {actionSheetCard && (
setActionSheetCard(null)} >
= ({ {/* Mobile Backdrop for File Tree Slide-Over Drawer */} {showMobileFileDrawer && (
setShowMobileFileDrawer(false)} /> )} @@ -4820,7 +4820,7 @@ export const WorkspaceView: React.FC = ({ {/* LINK INSERTION MODAL (/link, /notiz, /web) */} {linkModalBlockId && (
{ const blockId = linkModalBlockId; const wasEditingLink = Boolean(editingLinkOriginalRaw); diff --git a/frontend/src/index.css b/frontend/src/index.css index 429f2fc..9b5c1c4 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -348,10 +348,21 @@ body { /* Modal-Hintergrund-Overlay */ .modal-overlay { + margin: 0 !important; + top: 0 !important; + left: 0 !important; + right: 0 !important; + bottom: 0 !important; background-color: var(--bg-overlay); backdrop-filter: blur(4px); } + /* Verhindert, dass Elterncontainer mit space-y-* oder space-x-* feste Overlays nach unten verschieben */ + .fixed.inset-0, + [class*="fixed inset-0"] { + margin: 0 !important; + } + /* File Tree Item */ .tree-node-active { background-color: var(--bg-panel-elevated);