diff --git a/frontend/src/App.vue b/frontend/src/App.vue index eef53820..a200fba2 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -134,9 +134,9 @@ -
+
-
+
@@ -277,6 +277,9 @@ export default { // Owner oder Admin können Berechtigungen verwalten return this.isClubOwner || this.userRole === 'admin' || this.hasPermission('permissions', 'read'); }, + isFullHeightRoute() { + return this.$route?.name === 'schedule'; + }, viewReloadKey() { return `${this.$route.fullPath}|${this.currentClub || 'no-club'}`; } @@ -879,6 +882,10 @@ export default { padding-bottom: 32px; /* Platz für Statusleiste (24px + 8px padding) */ } +.main-content.main-content-locked { + overflow: hidden; +} + /* Footer */ .app-footer { background: rgba(255, 255, 255, 0.86); @@ -909,6 +916,19 @@ export default { min-height: 100%; } +.content.content-full-height { + height: 100%; + min-height: 0; + overflow: hidden; + display: flex; + flex-direction: column; +} + +.content.content-full-height > * { + flex: 1; + min-height: 0; +} + /* Responsive Design */ @media (max-width: 1024px) { .sidebar { diff --git a/frontend/src/components/schedule/ScheduleLayoutShell.vue b/frontend/src/components/schedule/ScheduleLayoutShell.vue index 7263a327..5c488a19 100644 --- a/frontend/src/components/schedule/ScheduleLayoutShell.vue +++ b/frontend/src/components/schedule/ScheduleLayoutShell.vue @@ -211,8 +211,8 @@ export default { display: flex; flex-direction: column; gap: 1rem; - min-height: calc(100dvh - 9rem); - height: calc(100dvh - 9rem); + min-height: 0; + height: 100%; overflow: hidden; } diff --git a/frontend/src/views/ScheduleView.vue b/frontend/src/views/ScheduleView.vue index 1a062626..39e26031 100644 --- a/frontend/src/views/ScheduleView.vue +++ b/frontend/src/views/ScheduleView.vue @@ -1933,6 +1933,8 @@ li { display: flex; flex-direction: column; gap: 16px; + height: 100%; + min-height: 0; } .schedule-page-header {