From 5dbd751722f54688912d874815920c7b5a8dab4a Mon Sep 17 00:00:00 2001 From: Maciej Pienczyn Date: Fri, 10 Apr 2026 06:43:23 +0200 Subject: [PATCH] feat: add cards view to calendar with 2-column grid layout New "Karty" view shows up to 8 upcoming events as dark gradient cards in a 2-column grid, matching the homepage event banner style. Co-Authored-By: Claude Opus 4.6 (1M context) --- templates/calendar/index.html | 161 ++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/templates/calendar/index.html b/templates/calendar/index.html index 09b9e39..323f649 100755 --- a/templates/calendar/index.html +++ b/templates/calendar/index.html @@ -549,6 +549,110 @@ font-size: var(--font-size-xl); } } + + /* ===== WIDOK KART ===== */ + .cards-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: var(--spacing-md); + } + + .card-banner { + background: linear-gradient(135deg, #1e3050 0%, #2E4872 100%); + border-radius: var(--radius-lg); + padding: var(--spacing-md); + color: white; + display: flex; + flex-direction: column; + gap: var(--spacing-sm); + box-shadow: var(--shadow-md); + position: relative; + overflow: hidden; + text-decoration: none; + transition: var(--transition); + } + + .card-banner:hover { + transform: translateY(-2px); + box-shadow: 0 10px 30px rgba(46, 72, 114, 0.25); + filter: brightness(1.05); + } + + .card-banner::before { + content: ''; + position: absolute; + top: -50%; + right: -10%; + width: 200px; + height: 200px; + background: rgba(255,255,255,0.06); + border-radius: 50%; + } + + .card-banner.external { + background: linear-gradient(135deg, #334155 0%, #475569 100%); + } + + .card-banner-title { + font-size: var(--font-size-base); + font-weight: 700; + line-height: 1.3; + } + + .card-banner-meta { + font-size: var(--font-size-xs); + opacity: 0.9; + display: flex; + flex-wrap: wrap; + gap: var(--spacing-sm); + } + + .card-banner-bottom { + display: flex; + align-items: center; + justify-content: space-between; + gap: var(--spacing-sm); + margin-top: auto; + } + + .card-banner-attendees { + display: flex; + align-items: center; + gap: var(--spacing-xs); + background: rgba(255,255,255,0.15); + padding: var(--spacing-xs) var(--spacing-sm); + border-radius: var(--radius); + font-weight: 600; + font-size: var(--font-size-xs); + } + + .card-banner .btn-card { + background: white; + color: #2E4872; + border: none; + padding: var(--spacing-xs) var(--spacing-md); + font-weight: 600; + font-size: var(--font-size-sm); + border-radius: var(--radius-btn); + text-decoration: none; + cursor: pointer; + transition: var(--transition); + } + + .card-banner .btn-card:hover { + background: #EDF0F5; + } + + .card-banner .btn-card-registered { + background: #166534; + color: white; + } + + @media (max-width: 768px) { + .cards-grid { + grid-template-columns: 1fr; + } + } {% endblock %} @@ -625,6 +729,9 @@ Lista + + Karty + Kalendarz @@ -713,6 +820,60 @@ Zewnętrzne +{% elif view_mode == 'cards' %} + + + + {% else %}