From 9e70dea85aad9feb29f570cd7d8885c6c5706f62 Mon Sep 17 00:00:00 2001 From: Jonas Gerg Date: Tue, 14 Jul 2026 21:59:59 +0200 Subject: [PATCH] feat: add tabs to ListView for Gottesdienste and Ministranten - Tab bar with two tabs at top of list view - Gottesdienste tab shows the existing card list - Ministranten tab shows a simple list of all ministrants with name and username --- public/src/components/ListView.vue | 132 ++++++++++++++++++++++++++--- 1 file changed, 119 insertions(+), 13 deletions(-) diff --git a/public/src/components/ListView.vue b/public/src/components/ListView.vue index 7f67b11..cd8351e 100644 --- a/public/src/components/ListView.vue +++ b/public/src/components/ListView.vue @@ -1,4 +1,5 @@ @@ -40,6 +70,82 @@ const emit = defineEmits<{ padding: 12px; } +.tab-bar { + display: flex; + gap: 4px; + margin-bottom: 12px; + background: #f0f0f0; + border-radius: 8px; + padding: 3px; + + .tab { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 8px; + font-size: 14px; + font-weight: 600; + border: none; + border-radius: 6px; + background: transparent; + color: #777; + cursor: pointer; + transition: 100ms; + + i { + font-size: 20px; + } + + &.active { + background: #ffffff; + color: #222; + box-shadow: 0 1px 3px rgba(0,0,0,0.1); + } + + &:not(.active):hover { + color: #555; + } + } +} + +.mini-list { + background: #ffffff; + border: 1px solid #e0e0e0; + border-radius: 8px; + overflow: hidden; + + .mini-row { + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 14px; + border-bottom: 1px solid #f0f0f0; + + &:last-child { + border-bottom: none; + } + + .mini-name { + font-size: 15px; + font-weight: 500; + } + + .mini-username { + font-size: 13px; + color: #999; + } + } + + .empty-state { + padding: 24px; + text-align: center; + color: #999; + font-size: 14px; + } +} + .add-godi { display: flex; width: 100%;