Commit Graph

154 Commits

Author SHA1 Message Date
Hermes Agent d363dd45cb augen-icon: 👁 emoji durch graues SVG-auge ersetzt (frontpage + detail) 2026-06-17 23:33:14 +02:00
Hermes Agent 71a30ba73d filter-bar: emoji-icons durch BSN-blaue SVGs ersetzt 2026-06-17 23:30:10 +02:00
Hermes Agent 151872e49d blur nur desktop (≥901px) + textfeld 5000→20000 zeichen 2026-06-17 23:28:22 +02:00
Hermes Agent 8bfd28787e hover blur: 1.8px → 1px — weniger unscharf 2026-06-17 23:24:21 +02:00
Hermes Agent d0d6454f2f hover: rest der seite leicht unscharf (blur 1.8px) via :has()-selector 2026-06-17 23:23:26 +02:00
Hermes Agent 5487012605 offcanvas: icons entfernt, seiteninhalt blur(4px) bei geöffnetem menü 2026-06-17 23:21:51 +02:00
Hermes Agent 89d092e5cf offcanvas-nav: impressum, datenschutz, agb als rechtliche unterseiten 2026-06-17 23:16:01 +02:00
Hermes Agent 7316d36eb3 milchglas 0.55 deckkraft + text-only padding-top 2rem gegen überlappen 2026-06-17 23:09:51 +02:00
Hermes Agent 0deea0211f milchglas: 10% mehr transparenz (0.78→0.68) für alle blöcke 2026-06-17 23:07:48 +02:00
Hermes Agent 749b8bee13 alle karten: autor mit personen-icon ganz unten, views+likes darüber — einheitliches layout 2026-06-17 23:06:13 +02:00
Hermes Agent e97825ce2d text-only: autor mit personen-icon unten, gleicher aufbau wie medien-karten 2026-06-17 23:04:06 +02:00
Hermes Agent bb34386275 text-only karten: zeit-overlay oben wie bei medien-karten 2026-06-17 23:00:56 +02:00
Hermes Agent 346715faf9 background: warmes Hellgrau #E8E4DC statt knallgelb #FCE812 2026-06-17 22:59:01 +02:00
Hermes Agent 3234e5f6a4 hover: scale(1.03) statt translateY + dunklerer Schatten 2026-06-17 22:57:25 +02:00
Hermes Agent a84a2c9885 feat: SVG-Pin-Icon für Halle-Badges (statt 📍 Emoji)
- Weiße Pin-SVG auf allen Frontend-Halle-Badges
- Detailseite ebenfalls mit Pin-Icon
- Konsistent mit restlichen SVG-Icons (BSN-Blau-Thema)
2026-06-17 22:54:36 +02:00
Hermes Agent f894f84942 fix: Milchglas-Leiste spannt jetzt über die volle Kartenbreite
- story-time-overlay: right:0 hinzugefügt → durchgängige Bar von links nach rechts
- Halle-Badge sitzt mit z-index:5 auf dem Milchglas
- Kein abgesetzter Rand mehr — einheitliche Top-Leiste
2026-06-17 22:52:55 +02:00
Hermes Agent 4868143927 fix: Badges/Time-Overlay bündig zur Oberkante ausgerichtet
- story-time-overlay: top/left auf 0, border-radius zur Karte hin
- story-halle-badge: top/right auf 0
- story-ausverkauft-badge: top/left auf 0
- Alle drei Badges sitzen jetzt auf einer Linie am oberen Kartenrand
2026-06-17 22:46:13 +02:00
Hermes Agent 5c27f08f38 feat: SVG-Icons für Like-Button und Filter-Toggle (BSN-Blau)
- 👍 Emoji → Thumbs-up SVG (16x16, #20228a) auf allen Like-Buttons
- 🔽/🔼 Emoji → Chevron SVG im Filter-Toggle
- JS-Handler aktualisiert (innerHTML statt textContent)
- Look konsistent mit restlichen Frontend-Icons
2026-06-17 22:33:02 +02:00
Hermes Agent e90d38c28f fix: Filter-Leiste jetzt korrekt in collapsible Wrapper verpackt
- filterBar div mit filter-collapsed Klasse umschließt alle Filter
- Behebt: Wrapper war vorher nicht im HTML (nur CSS/JS)
2026-06-17 22:20:49 +02:00
Hermes Agent 4d7469e47e feat: Filter-Leiste einklappbar für schlankeren Header
- 🔽/🔼 Toggle-Button im Header (rechts neben brettspiel-news.de)
- Filter-Bar standardmäßig eingeklappt (display:none)
- Pfeil wechselt beim Ein-/Ausklappen
- Alle Filter-Optionen erhalten (Halle, Kategorie, Sortierung)
2026-06-17 22:16:10 +02:00
Hermes Agent 3dfea22046 feat: Sortierung nach Beliebtheit im Frontend-Filter
- Dropdown: Neueste zuerst / 👍 Beliebteste / 👁 Meist gesehen
- Beliebteste: likes DESC, views DESC, published_at DESC
- Meist gesehen: views DESC, published_at DESC
- Cross-Filter: Sort-Parameter bleibt bei Halle/Kategorie-Wechsel erhalten
- Reset-Link erscheint bei aktiver Sortierung
2026-06-17 22:12:05 +02:00
Hermes Agent 5f678144e5 feat: Backdrop-Blur jetzt auch beim + Einreiche-Overlay 2026-06-17 22:09:35 +02:00
Hermes Agent 3d18cc97a4 feat: Backdrop-Blur beim Chat-Assistenten
- chatBackdrop div mit backdrop-filter:blur(4px) hinter dem Chat-Overlay
- Rest der Seite wird unscharf wenn Chat geöffnet ist
- Klick auf Backdrop schließt den Chat
- Öffnen/Schließen synchron mit ChatOverlay via JS
2026-06-17 22:05:34 +02:00
Hermes Agent a8be332662 feat: Like-Button jetzt auch auf Detailseite klickbar
- Detailseite: 👍 als interaktiver Button (statt statischer Text)
- JS-Fetch-Handler auf /api/like/<id>, Cookie-Dedup
- CSS: .detail-like-btn mit Hover/Liked-Styles (BSN-Blau)
- Gleiche Logik wie Übersichtskarten (1 Like pro Browser)
2026-06-17 22:04:06 +02:00
Hermes Agent 600ef6ac8d feat: View-Counter + Like-Button für Beiträge
- DB: views + likes INTEGER Spalten (DEFAULT 0)
- Backend: View-Inkrement auf /beitrag/<id>, Like-API /api/like/<id>
- Frontend: 👁 Aufrufe + 👍 Like-Button auf Übersichtskarten
- Detailseite: Views/Likes Anzeige
- Like-Dedup: Cookie-basiert (1 Like pro Beitrag pro Browser, 365 Tage)
2026-06-17 21:56:38 +02:00
Hermes Agent e2b0bbef1e perf: Base64-Logo -> URL + preconnect gstatic + lazy loading
- Logo: Base64 (82KB) -> /static/logo.png mit Browser-Cache
- Google Fonts: preconnect fonts.gstatic.com hinzugefügt
- Media-Bilder: loading=lazy auf Detailseite
- Betrifft: public_detail, index, admin, test-Seite
- Detailseite: 86KB -> 4.2KB (-95%)
2026-06-17 21:21:10 +02:00
Hermes Agent a4a40fd2e7 Performance-Optimierung: 9.9 MB → 124 KB (-98.7%)
- /media/<filename> Endpunkt mit Cache-Control (max-age=86400, ETag)
- Thumbnail-Generator für Bilder (300px via PIL, on-the-fly)
- Frontend-Karten: URLs statt Base64 + Thumbnails + loading=lazy
- Admin-Detailseite + öffentliche Detailseite ebenfalls auf URLs
- Video-Thumbnails als separate Dateien via /media/ statt Base64
2026-06-17 20:02:35 +02:00
Hermes Agent eba3757572 Server-seitige TTS-Sprachausgabe (Thorsten via Piper)
- Neuer /api/speak Endpunkt: Text → Piper TTS → WAV-Audio
- Frontend speak() ruft jetzt Server-Endpunkt statt Web Speech API
- Browser-TTS nur als Fallback wenn Server nicht erreichbar
- 🔊 Button prominenter: BSN-blauer Hintergrund + sichtbarer Rand
- Fix: SVG-Icons auf Beitrags-Detailseite statt Emojis
- Fix: Datum bei Text-Only-Karten unten rechts (top:auto)
2026-06-17 19:52:07 +02:00
Hermes Agent fc07c991cc Fix .mov video upload + Logo mit korrekter Transparenz
- .mov-Dateien werden beim Upload automatisch per ffmpeg in .mp4 (H.264) konvertiert
- .mov in allen drei mime_maps ergänzt (api_submit, Frontend, Detail-Seite)
- Existierende .mov-Datei (Beitrag #49) konvertiert + DB aktualisiert
- Logo: Flood-Fill-basierte Hintergrund-Transparenz (nur außen, Schrift-Innenraum bleibt weiß)
2026-06-17 19:09:48 +02:00
Hermes Agent 0d5a3b787c Transparentes PNG-Logo auf allen Seiten (Frontend, Detail, Admin, Test)
- JPEG-Logo mit PIL in transparentes PNG konvertiert (Weiß→Alpha)
- LOGO_B64 als Modul-Level-Konstante (PNG, ~83KB base64)
- Logo in public_frontend(), public_detail(), admin_dashboard(), test_page()
- .replace()-Methode für Nicht-f-String-Kontexte (Frontend, Test)
2026-06-17 18:49:53 +02:00
Hermes Agent 0130c8a3b5 Fix: LOGO_B64 Modul-Level-Definition (war verloren gegangen) 2026-06-17 18:34:18 +02:00
Hermes Agent 18b633afa3 Brettspiel News Logo in Header + Projekt-Briefing für Wolfi
- Logo (993x217) als Base64 in public_frontend() und public_detail()
- Ersetzt 🎲 BSN Community Text-Logo durch Brettspiel News Bild-Logo
- PROJEKT-BRIEFING.md: Vollständige Projektdokumentation für AGB/Datenschutz
  - Architektur, Datenflüsse, DSGVO-Relevanz, Feature-Stand
2026-06-17 18:31:47 +02:00
Hermes Agent 93caa74640 Auto-LLM für Web-Submits, ID-Footer auf Detailseite, Unpublish-Button
- api_submit: auto_process_bg() im Hintergrund-Thread für Halle/Summary
- /beitrag/<id>: Beitrags-ID ganz unten mit DSGVO-Löschhinweis
- Neuer /submission/<id>/unpublish POST-Endpoint (published -> new)
- Admin-Detailview: 'Veröffentlichung zurücknehmen'-Button (nur bei published)
- Toast-Animation + Redirect nach Unpublish
2026-06-17 18:26:18 +02:00
Hermes Agent 650aed6d6f Web-Submit: Bestätigung mit Referenz-ID + Kopier-Button + Lösch-Hinweis
- /api/submit gibt jetzt submission_id + delete_hint zurück
- Frontend zeigt nach erfolgreichem Submit eine Erfolgsmeldung mit ID
- '📋 Kopieren'-Button speichert die ID in die Zwischenablage
- Hinweis, dass die ID für spätere Löschung notiert werden soll
- Overlay schließt nach 8s (statt 2.5s) — Zeit zum Kopieren
2026-06-17 17:44:49 +02:00
Hermes Agent 9eae445417 feat: Textkarten mit Overlay-Zeitstempel + klickbar
- Text-only cards now use .story-time-overlay like media cards
- Overlay positioned top-right within .card-content (position:relative)
- Cards wrapped in <a> link → klick öffnet /beitrag/ID
- .card-link styles mit hover-Effekt (gleicher Lift wie .story-card)
- left:auto für Text-Overlay (resetet left:8px der Basis-Regel)
2026-06-17 16:24:05 +02:00
Hermes Agent b9af25881f fix: Zeitstempel-Overlay deckender (0.78 statt 0.28), besserer Kontrast auf dunklen Bildern 2026-06-17 16:14:51 +02:00
Hermes Agent 747bbc1b3f fix: runde Capture-Buttons mit zentrierten SVGs, Zeitstempel nach oben, Text-Ellipsis
- Capture-Buttons: Label aus Kreis entfernt, .capture-item wrapper,
  SVG-Icons jetzt perfekt zentriert (flex+align+justify center)
- Spezifitäts-Fix: label.capture-btn überschreibt .submit-body label
- Zeitstempel-Overlay: bottom:8px → top:8px (rutscht nach oben)
- Textkarten: -webkit-line-clamp:4, overflow:hidden, mehr Padding
2026-06-17 15:56:36 +02:00
Hermes Agent ee2b7512e6 Capture-Buttons: rund, SVG-Icons, Datei-Vorschau
- Runde Buttons (68×68px, border-radius:50%) statt rechteckig
- Monochrome SVG-Icons in BSN-Blau (#20228a) statt bunter Emojis
- Alle drei gleich groß, zentriert in der Reihe
- Datei-Vorschau-Balken unter den Buttons:
  '🖼️ foto.jpg (2.3 MB) — wird mitgesendet'
  erscheint sofort nach Auswahl/Aufnahme, verschwindet beim Absenden
- onchange-Listener auf allen 4 Inputs
2026-06-17 15:48:33 +02:00
Hermes Agent 03496ab2ff Capture-Buttons: 📸 Foto 🎬 Video 🎤 Audio direkt aufnehmen
- Drei große Touch-Buttons (min 64px, flex-row) statt einem Dateifeld
- capture='environment' für Foto/Video → Kamera-App öffnet direkt
- capture (ohne Wert) für Audio → Sprachrekorder öffnet direkt
- 'Choose File' als Galerie-Fallback für bestehende Dateien
- Overlay max-height erhöht (85vh Desktop, 90vh Mobile)
  damit alle Buttons ohne Scrollen sichtbar sind
- JavaScript prüft alle 4 Inputs auf Dateien
2026-06-17 15:40:17 +02:00
Hermes Agent fa4204112b Frontend: Zeitangabe als Milchglas-Overlay über dem Bild
- Zeit („heute 12:27 Uhr") wandert aus card-content nach oben
  über das Bild/Thumbnail als absolutes Overlay
- Milchglas-Effekt: rgba(255,255,255,0.28) + backdrop-filter blur(10px)
- Rote Schrift (#dc3545) für gute Lesbarkeit auf hellem Grund
- Abgerundete Ecken (10px), dezenter Schatten
- Spart Platz in der Karte, sieht edler aus
- Text-only-Karten behalten die Zeit inline im card-content
2026-06-17 15:34:26 +02:00
Hermes Agent a55b290ce3 Design-Fix: Medien-Toggle, SVG-Icons, blauer +-Button, Delete-Redirect
- Medien-Publish: Statt absolut positioniertem Emoji-Label → CSS-Toggle-Switch
  in sauberer Toolbar unter dem Media-Element (BSN-Blau statt Teal)
- Emoji-Icons (🖼️🎬🎤💬) → moderne 16×16 SVG-Icons in #20228a
  (Admin-Detail + Frontend)
- Grüner +-Button → BSN-Blau (#20228a), gesamte Submit-UI umgefärbt
- Delete-Bug gefixt: innerHTML führte <script> nicht aus → Client
  macht jetzt Toast-Animation + window.location selbst
2026-06-17 15:31:24 +02:00
Hermes Agent 402e231d2f Fix: fehlender </script>-Tag — Chat-Button und +-Button waren tot
Der erste <script>-Block (Submit-IIFE) wurde nie mit </script>
geschlossen. Das zweite <script> wurde als Teil des ersten JS-Blocks
interpretiert → Syntax-Fehler → addEventListener nie registriert.
2026-06-17 15:19:43 +02:00
Hermes Agent a14f3582e9 Frontend: Masonry-Layout + kompaktere Kacheln, media/* in .gitignore
- CSS Grid → CSS Columns (column-count:4) für echtes Masonry-Layout
  - Karten behalten ihre natürliche Höhe, kein Strecken mehr
  - Responsive: 3 Spalten @1100px, 2 @750px, 1 @500px
- Kacheln kompakter: media-crop 200px→160px, weniger Padding
- Hover: translateY(-3px) statt scale (vermeidet Clipping im Masonry)
- .gitignore: media/* statt media/uploads/ (alle Medien ignorieren)
- import re auf Module-Ebene (war vorher nur lokal in extract_halle)
2026-06-17 15:15:02 +02:00
Hermes Agent 0465b71c3a 📝 Fix: Text-Only-Cards zeigen Text + Cards kompakter (200px, 2:3) 2026-06-17 15:06:25 +02:00
Hermes Agent c5c0671ddc Revert "📝 Text-Only-Cards zeigen Text + Video-Images kürzer (3:4, 180px) + kompaktere Cards"
This reverts commit 5ecc5a8bc7.
2026-06-17 15:03:29 +02:00
Hermes Agent 5ecc5a8bc7 📝 Text-Only-Cards zeigen Text + Video-Images kürzer (3:4, 180px) + kompaktere Cards 2026-06-17 15:01:36 +02:00
Hermes Agent 5aeb2e3e90 Einreich-Formular: "+" Floating-Button + /api/submit + Overlay mit Text/Medien-Upload 2026-06-17 14:58:50 +02:00
Hermes Agent 7189528c20 🔄 Cards: Hover-Zoom scale(1.04) + Text nur auf Detailseite + Grid kompakter (280px) 2026-06-17 14:55:23 +02:00
Hermes Agent e73c55954a 📢 Publish-Button im Header + ✏️ Spieltitel inline editierbar + partielles DB-Update 2026-06-17 13:59:21 +02:00
Hermes Agent 289d60b32e 🎛️ Admin: Pill-Buttons + Schnellfilter | 💬 Chat: TTS-Speaker-Button (Web Speech API) 2026-06-17 13:55:28 +02:00