af1508c0de
Feature: Fell-Typ Einstellung am Hundeprofil — personalisierte Wetter-Hinweise (SW by-v693)
...
- DB-Migration: dogs.fell_typ (kurz|mittel|lang|drahtaar|doppel|nackt)
- Hund-Profil Formular: Dropdown "Felltyp" mit 6 Optionen, wird via PATCH /api/dogs/{id} gespeichert
- Wetter: _dogWeatherLabel(d, felltyp) mit fell-spezifischen Hitze-/Kälteschwellen
- Wetter: Fell-spezifische Hinweise (doppel + Hitze, nackt + Kälte, kurz + Frost)
2026-05-04 20:21:02 +02:00
759979ffce
Feature: Stündliche Niederschlagswahrscheinlichkeit auf Wetter-Seite (SW by-v690)
...
- Backend: Open-Meteo Forecast-Request um hourly precipitation_probability,
precipitation und weathercode erweitert; stündliche Daten werden pro Tag
gruppiert und im API-Response unter "hourly" je Tag ausgeliefert
- Frontend: Neue _renderRainTimeline()-Funktion rendert horizontale
Balken-Zeitskala für alle 24 Stunden des gewählten Tages; bei "Heute"
wird automatisch zur aktuellen Stunde gescrollt und "jetzt" hervorgehoben;
Farb-Gradient von hellgrau (<10%) bis dunkelblau (≥75%)
- SW/APP_VER/CSS auf 690 gebumpt
2026-05-04 20:06:30 +02:00
84e6bfdd82
Feature: Wiki Photo-Gallery mit Thumbnails + Lightbox, alle Fotos einer Rasse anklickbar (SW by-v664)
2026-05-03 21:23:41 +02:00
1d1171e5f2
Fix: Hilfe-? inline neben 'Dein Plan für heute' statt absolut oben rechts (SW by-v663)
2026-05-03 21:13:10 +02:00
0413483692
Feature: Moderation-Kacheln klickbar — direkter Sprung in Tab (SW by-v662)
2026-05-03 21:07:30 +02:00
4cd2a33ca2
Fix: Wiki-Foto-Moderation — 404 = bereits bearbeitet, Liste statt Fehlermeldung (SW by-v661)
2026-05-03 21:02:13 +02:00
7b8ee7e2b1
Fix: Welten-Config — DB-Load bei jedem Login-Wechsel, einmalige localStorage→DB-Migration (SW by-v660)
2026-05-03 20:54:11 +02:00
71a13d695e
Fix: Welten-Config Endpoint-Pfad doppeltes /profile/ entfernt — /api/profile/world-config korrekt (SW by-v659)
2026-05-03 20:47:31 +02:00
eca8d1455d
Fix: Nach Login direkt in HUND-Welt landen statt Welcome-Seite (SW by-v658)
2026-05-03 20:41:20 +02:00
3344de27bb
Feature: Welten-Wechsel per Mausrad auf Desktop (SW by-v657)
2026-05-03 20:36:19 +02:00
5b73443d0a
Fix: iOS-Warnung bei Routenstart — Display wach lassen, GPS stoppt sonst (SW by-v656)
2026-05-03 20:34:00 +02:00
ccb92254b6
Fix: Routenaufzeichnung — Stopp-Button braucht Long-Press (1.8s), DIM-Timer 10s → 5s (SW by-v655)
...
Verhindert versehentliches Stoppen durch Hosentaschen-Druck: Stopp-Button reagiert
nur auf 1.8s Gedrückt-Halten mit Fill-Animation, Einzeltap tut nichts. DIM-Schutz-
Overlay greift jetzt nach 5s statt 10s.
2026-05-03 20:24:14 +02:00
9103c7950f
Feature: Generische Seiten-Hilfe (UI.pageInfo), POI Multi-Select, Tagessprüche-DB (SW by-v654)
...
- UI.pageInfo(): generische Hilfe-Funktion — erstes Öffnen zeigt Info-Banner, danach ? Button oben rechts; CSS-Klassen pinfo-*
- Übungen-Seite nutzt UI.pageInfo() als erstes Beispiel
- Karte POI: Mehrfachauswahl (außer Giftköder), Kombi-Typen entfernt, type als comma-separated im Backend
- daily_quotes Tabelle in DB (346 Einträge via import_quotes.py importiert)
- GET /widget/quote — deterministischer Tagesspruch (wechselt täglich)
2026-05-03 20:10:01 +02:00
1fdba57365
Feature: UX-Fixes — Zahnrad weg, POI-Kombi-Typen, exp-fab-Position, Welten-Config in DB (SW by-v653)
...
- worlds-settings Zahnrad komplett entfernt (war auf Mobile sichtbar, auf Desktop schon hidden)
- exp-fab: bottom jetzt calc(--nav-bottom-height + --safe-bottom + --space-2) — kein Overlap mit worlds-back auf iPhone
- Karte POI: neue Typen bank, bank_kotbeutel, bank_kotbeutel_abfall, kotbeutel_abfall (Backend + Frontend)
- Welten-Chip-Config: GET/PUT /profile/world-config, Spalte users.world_config TEXT (Migration), Sync bei Init + Speichern
2026-05-03 19:50:04 +02:00
f0b5e6e89b
Fix: Desktop-Welten-Labels — größer (13px), heller, Text-Schatten, Pill-Hintergrund aktiv, SW by-v652
2026-05-03 11:12:54 +02:00
f4052fbb7d
Feature: Welten-Labels klickbar (JETZT|HUND|WELT), aktives Label hervorgehoben, Desktop-Tab-Optik, SW by-v651
2026-05-03 11:09:14 +02:00
a84df71383
Feature: JETZT-Welt — Streak+Gassirunde+Übung als kompakte 3er-Chip-Zeile, SW by-v650
2026-05-03 11:07:27 +02:00
87d3006aa7
Fix: Swipe-Begrenzung — kein Überziehen über erste/letzte Welt, SW by-v649
2026-05-03 11:04:24 +02:00
bb8ceaf114
Feature: JETZT-Welt — Gassirunde+Übungs-Vorschlag-Balken, Desktop-Zahnrad entfernt, SW by-v648
2026-05-03 11:02:57 +02:00
1d50bf1430
Fix: Desktop-Sidebar entfernt — kein padding-left, Map/Route volle Breite, SW by-v647
2026-05-03 10:57:39 +02:00
cd5aa73df3
Fix: Welten-Overlay Gradient statt flachem Schwarz — Mitte leuchtet, SW by-v646
2026-05-03 10:55:45 +02:00
0488cde13f
Fix: Zurück-Button primär-orange, Map/Route vollbild (kein weißer Balken), Map-FABs 54px und über Back-Button, SW by-v645
2026-05-03 10:52:48 +02:00
150776eab4
Feature: Welten-Navigation — Bottom-Nav+Header entfernt, Zurück-FAB (rund, dunkel), SW by-v644
2026-05-03 10:46:12 +02:00
860de6d2a7
Fix: Welten Footer-Links dezent hervorgehoben — heller, Underline, Text-Shadow, SW by-v643
2026-05-03 10:33:49 +02:00
4da2088074
Feature: Welten — Profil-Chip entfernt, Footer-Links (Impressum/Die100/Datenschutz), SW by-v642
2026-05-03 10:31:21 +02:00
9410a8bcd4
Fix: Welten Info-Cards — avatar_url statt foto_url, Hund-Name CSS-Grid 1fr-auto-1fr zentriert, SW by-v641
2026-05-03 10:26:14 +02:00
c266814aa9
Fix: worlds.js doppeltes const dog → SyntaxError behoben, SW by-v640
2026-05-03 10:22:13 +02:00
fc2002847c
Feature: Welten Info-Cards — User-Avatar in JETZT, Hunde-Avatar+Cycle+Overlap in HUND, SW by-v639
2026-05-03 10:18:11 +02:00
742ad189e8
Feature: Sprint31 — 9 Features merged (Streak, Ausgaben, KI-Tierarzt, Rückrufe, Adoption, Vet+Befunde, Hundepass, Playdate, Rassenerkennung)
...
- Trainings-Streak: streak.py, DB training_streaks, Scheduler 19:00, Widget in welcome.js, Ping in uebungen.js
- Ausgaben-Tracker: expenses.py, expenses.js, DB expenses-Tabelle
- KI-Tierarztfragen: ki.py /tierarzt, health.js Button+Modal, DB ki_tierarzt_log
- Rückruf-Alarm: recalls.py, recalls.js, DB feed_recalls, Scheduler 08:00 RASFF
- Adoption: adoption.py, adoption.js, DB adoption_cache
- Tierarzt-Favorit + Befunde: tieraerzte.py /my-favorite+/favorite, health_docs.py, health.js, api.js, DB favorite_vets+health_documents
- Digitaler Hundepass: passport.py, dog-profile.js, main.py /pass/{token}, DB vaccinations+medications+dog_passport_meta+passport_shares, requirements.txt fpdf2
- Playdate-Matching: playdate.py, playdate.js, DB playdate_listings+playdate_requests
- Rassen-Erkennung: ki.py /rasse-erkennung (Claude Vision), dog-profile.js+wiki.js, CSS .rasse-result-card, DB ki_rasse_log
2026-05-02 09:29:48 +02:00
8bdd67573e
Fix: form-label Kontrast — c-text statt c-text-secondary, SW by-v584
2026-05-01 18:58:57 +02:00
b3bd34c76a
UI: Phosphor-Icons für Jobs, Filme, Admin-Bewerbungen + Jobs-Link in Entdecken, SW by-v582
2026-05-01 09:44:51 +02:00
8561cffc80
Fix: page-jobs Section in index.html + SW by-v580
2026-05-01 09:34:12 +02:00
b9ee67b8dd
Feature: E-Mail-Verifikation + Forum öffentlich lesbar + Launch-Vorbereitung
...
- Forum ohne requiresAuth: öffentlich lesbar, Schreiben weiter via API-Guard
- E-Mail-Verifikation: Token bei Registrierung, support@-Mail, /verify-email/{token}
- Verifikations-Banner (orange, dismissible) wenn email_verified=0
- Grüner Haken / "Nicht bestätigt"-Chip in Settings
- POST /auth/resend-verification für Chip und Banner
- DB-Migration: users.verification_token TEXT
- SW by-v575, APP_VER 552
2026-04-30 19:51:07 +02:00
128aee52de
UI: Sidebar-Footer — Impressum/Datenschutz zentriert (wie 'die 100'), SW by-v563
2026-04-30 17:23:18 +02:00
7c66e0b9d4
Fix: CSS ?v=545 (nie gecacht) — SW by-v545, overflow-y:visible auf Desktop endgültig
2026-04-30 11:22:29 +02:00
ca44a53fb2
Fix: CSS ?v=540→543 — Browser-Cache invalidieren, overflow-y:visible auf Desktop, SW by-v544
2026-04-30 11:06:13 +02:00
a37a944998
Fix: CSS-Version ?v=500→540 — immutable-Cache erzwingt Browser-Reload, SW by-v541, APP_VER 518
2026-04-30 10:38:11 +02:00
5a6ca5496b
Revert nav: Original-Layout restauriert + overscroll-behavior:none — SW by-v535, APP_VER 512
2026-04-30 09:00:30 +02:00
9506eea0d9
Fix: Nav als Flex-Kind in #app{height:100dvh} — kein position:fixed, Desktop-Scroll repariert, SW by-v534
2026-04-30 08:52:39 +02:00
6e938b9fa1
Fix: #bottom-nav aus #app heraus — position:fixed relativ zum echten Viewport, SW by-v532
2026-04-30 08:34:25 +02:00
bdcb6bfd51
Fix: CSS-Version ?v=382→500 — immutable-Cache zwingt Browser zu neuem Download, SW by-v524
2026-04-30 06:30:45 +02:00
d1e4867fb4
Fix: Trophy-Icon fill:#f59e0b auf SVG + use — goldene Farbe auch im Sprite sichtbar, SW by-v521
2026-04-29 21:51:35 +02:00
ed8398fdd4
UI: Sidebar-Footer Gründer — zentriert, goldenes Trophy-Icon 18px, muted Text, 'die 100', SW by-v520
2026-04-29 21:48:36 +02:00
0c91120427
UI: Gründer-Link im Sidebar-Footer — Trophy-Icon + 100, zentriert unter Impressum/Datenschutz, SW by-v519
2026-04-29 21:45:32 +02:00
ab41af470d
Feature: 100 Gründer-Challenge — Leaderboard, Ranking, founder_number
...
- users.founder_number: sequentielle Nummer #1-#100 (bei Registrierung mit Code oder Admin-Grant)
- Globaler Cap: max. 100 Gründer über alle Partner-Codes zusammen
- GET /api/partner/founders/stats: öffentlich — Slots, Partner-Ranking nach uses, Gründer-Galerie
- Öffentliche Seite /gruender: Fortschrittsbalken, Partner-Challenge-Leaderboard (🥇 🥈 🥉 ), Gründer-Grid
- Forum: "Gründer #42 "-Badge (lila) neben Autorenname bei Threads + Antworten
- Settings: Badge zeigt "Gründer #N" statt nur "Gründer", klickbar zur /gruender-Seite
- Sidebar: "🏆 100 Gründer"-Link im Footer
- Admin-Grant: Vergabe von founder_number beim manuellen is_founder=1-Setzen
- SW by-v516, APP_VER 493
2026-04-29 21:30:52 +02:00
f7dfbb5bde
UX: Staging — Bottom-Nav lila statt Top-Banner, kein Content-Verdecken
2026-04-29 20:45:53 +02:00
041af92306
Feature: Staging-Workflow — develop-Branch, make staging/release, APP_VERSION 1.0.0, Staging-Banner — SW by-v513
2026-04-29 19:57:33 +02:00
2411151b17
Feature: Offline-Stufen 1+2+3 — Timeout, API-Cache, Write-Queue (IndexedDB + BackgroundSync) — SW by-v509, APP_VER 486
2026-04-29 19:13:04 +02:00
91340be5a3
Feature: Vollständige Züchter-Rolle — Antrag, Würfe, Stammbaum, Genetik
...
Basis-Features (Schritte 1–11):
- Züchter-Antrag mit Dokument-Upload, Admin-Prüfung, E-Mail-Benachrichtigungen
- Öffentliches Züchter-Profil + Karten-Marker (lila, certificate-Icon)
- Wurfverwaltung: Würfe, Welpen, Gewichtsverlauf, Foto-System
- Wurfbörse (öffentlich) mit Filtersuche nach Rasse/Status
- Läufigkeits-Tracker: Deckdatum + Wurftermin (+63 Tage, nur für Züchter)
- Interessenten-Chat: Kontakt-Button in Wurfbörse und Züchter-Profil
- Sidebar-Einträge: Zuchtkartei + Wurfverwaltung für Züchter/Admin
Stammbaum & Genetik (Schritte 1–8):
- Zuchtkartei: Hunde-Stammdaten mit Vater/Mutter-Verknüpfung
- Stammbaum-Visualisierung: 4 Generationen, horizontales CSS-Grid
- Gesundheitstests (HD, ED, OCD, Augen…) mit farbigen Ergebnis-Badges
- Genetische Tests (MDR1, PRA, DM…): clear/carrier/affected
- Titel & Auszeichnungen (CAC, CACIB, IPO…)
- Probeverpaarung: IK-Berechnung nach Wright + Ampel-Bewertung
- Teilen-Link für öffentliche Hunde-Profile
- Kaufvertrag: druckbares HTML-Dokument pro Welpe
Technisch: 4 neue Route-Dateien, 5 neue Page-Module, 11 neue DB-Tabellen,
icons shield-check + certificate + tree-structure im Sprite — SW by-v465, APP_VER 444
2026-04-28 18:25:21 +02:00
4353994c68
iOS PWA: reg.update() beim Start + visibilitychange — SW by-v412
...
iOS prüft im Standalone-Modus nicht automatisch ob ein neuer SW vorliegt.
reg.update() erzwingt die Prüfung beim App-Öffnen und beim Zurückkehren
aus dem Hintergrund — der bestehende controllerchange→reload greift dann.
2026-04-26 08:38:50 +02:00