style(App, ScheduleLayoutShell, ScheduleView): enhance layout for full-height routes

- Updated App.vue to conditionally apply full-height styles based on the current route.
- Modified ScheduleLayoutShell.vue to ensure proper height and overflow handling for better layout consistency.
- Adjusted ScheduleView.vue to support full-height content display, improving user experience on specific routes.
This commit is contained in:
Torsten Schulz (local)
2026-03-20 10:40:42 +01:00
parent 5a9e5913a6
commit 65d464eab9
3 changed files with 26 additions and 4 deletions

View File

@@ -134,9 +134,9 @@
</div>
</div>
<main class="main-content">
<main class="main-content" :class="{ 'main-content-locked': isFullHeightRoute }">
<router-view v-slot="{ Component }">
<div class="content fade-in">
<div class="content fade-in" :class="{ 'content-full-height': isFullHeightRoute }">
<component :is="Component" :key="viewReloadKey" />
</div>
</router-view>
@@ -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 {

View File

@@ -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;
}

View File

@@ -1933,6 +1933,8 @@ li {
display: flex;
flex-direction: column;
gap: 16px;
height: 100%;
min-height: 0;
}
.schedule-page-header {