diff --git a/frontend/src/views/DiaryView.vue b/frontend/src/views/DiaryView.vue index 5248b00..fba8e7e 100644 --- a/frontend/src/views/DiaryView.vue +++ b/frontend/src/views/DiaryView.vue @@ -54,7 +54,7 @@ -
+
+
+ +
-
+
@@ -446,6 +448,96 @@
+
+ +
+

Aktivitäten {{ showActivitiesBox ? '-' : + '+' }}

+
+ + +
    +
  • + {{ activity.description }} +
  • +
+ +
+
+ +
+
+ +
+
+
+

Aktivitäten {{ showActivitiesBox ? '-' : + '+' }}

+
+ + +
    +
  • + {{ activity.description }} +
  • +
+ +
+

Teilnehmer ({{ participants.length }})

+
    +
  • + + + 🛑 + ⚠️ + {{ + member ? member.firstName : '' + }} {{ + member ? member.lastName : '' + }} + +
    + + + 📝 + 🖼 + + 📄 + + ℹ️ +
    +
  • +
+
+ +
+
@@ -3427,7 +3519,157 @@ img { flex: 1; } +/* Tab-Navigation für Mobile */ +.mobile-tabs { + display: none; + width: 100%; + border-bottom: 2px solid #ddd; + margin-bottom: 1rem; + background: #f5f5f5; + position: sticky; + top: 0; + z-index: 100; +} + +.tab-button { + flex: 1; + padding: 0.75rem 1rem; + border: none; + background: transparent; + cursor: pointer; + font-size: 1rem; + border-bottom: 3px solid transparent; + transition: all 0.3s ease; + color: #666; +} + +.tab-button:hover { + background: #e9e9e9; + color: #333; +} + +.tab-button.active { + border-bottom-color: #007bff; + color: #007bff; + font-weight: 600; + background: white; +} + +/* Mobile Tab Content */ +.mobile-tab-content { + display: block; +} + +.mobile-tab-section { + display: block; +} + +.desktop-sidebar { + display: block; +} + +/* Diary Content Container */ +.diary-content { + overflow: visible; +} + +/* Responsive Design */ @media (max-width: 768px) { + .mobile-tabs { + display: flex; + } + + .diary-content { + overflow: visible; + padding-bottom: 2rem; + } + + /* Sicherstellen, dass Tab-Content genug Platz am Ende hat */ + .column.mobile-tab-content.active { + padding-bottom: 3rem; + } + + .columns { + flex-direction: column; + width: 100%; + overflow: visible; + } + + .column { + width: 100%; + max-width: 100%; + overflow: visible; + } + + .column.mobile-tab-content { + display: none; + } + + .column.mobile-tab-content.active { + display: block; + } + + .mobile-sidebar .desktop-sidebar { + display: none !important; + } + + .mobile-sidebar .mobile-tab-section { + display: block; + } + + /* Besseres Scrollen - nur eine Haupt-Scrollbar */ + .diary { + overflow-x: hidden; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + height: 100vh; + } + + .columns { + overflow: visible; + } + + .column:first-child { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + overflow-y: visible; + } + + .column:last-child { + overflow: visible; + } + + /* Tabelle horizontal scrollbar nur wenn nötig */ + table { + display: block; + overflow-x: auto; + white-space: nowrap; + -webkit-overflow-scrolling: touch; + overflow-y: visible; + } + + table thead, + table tbody, + table tr { + display: table; + width: 100%; + table-layout: fixed; + } + + /* Teilnehmerliste ohne eigene Scrollbar - nutzt Haupt-Scroll */ + .mobile-tab-section ul { + overflow: visible; + } + + /* Tab-Content ohne eigene Scrollbar */ + .mobile-tab-content { + overflow: visible; + } + + .mobile-tab-section { + overflow: visible; + } + .notes-body { flex-direction: column; } @@ -3437,6 +3679,43 @@ img { height: auto; max-height: 300px; } + + /* Header Row anpassen */ + .diary-header-row { + flex-direction: column; + align-items: stretch; + } + + .diary-header-row label { + width: 100%; + } + + .diary-header-row button { + width: 100%; + margin-top: 0.5rem; + } +} + +@media (min-width: 769px) { + .mobile-tabs { + display: none !important; + } + + .mobile-tab-section { + display: none !important; + } + + .desktop-sidebar { + display: block !important; + } + + .column.mobile-tab-content { + display: block !important; + } + + .mobile-sidebar .desktop-sidebar { + display: block !important; + } } /* Render Container */