Commit graph

36 commits

Author SHA1 Message Date
e5e95efaed UX: Welcome-Seite — Anmelde-Einstieg vereinfacht, Install-Block prominent mit PWA-Erklärung (SW by-v755) 2026-05-07 17:15:19 +02:00
6426d9c577 Feature: Browser-Besucher ohne Login → /info Redirect, PWA-Nutzer bleiben in App (SW by-v731) 2026-05-06 17:49:52 +02:00
e4da75f246 UX/SEO: Landing 3-Zielgruppen-Redesign, PWA-Wording ohne 'installieren' (SW by-v729) 2026-05-06 17:11:26 +02:00
55069d246b Feature: Welten-Onboarding, Wetter-Motivation, UX-Fixes (SW by-v715)
Welten (worlds.js):
- Swipe-Hints beim ersten Öffnen (JETZT ← → WELT animiert, einmalig)
- Kein-Hund-Onboarding: Feature-Preview-Grid statt leerer Karte
- Hintergrund-Foto-Hint: Kamera-Karte wenn noch kein Tagebuchfoto
- worlds-back: navigiert zu Welcome wenn kein User eingeloggt
- Nach Logout: worlds-back Button sofort ausgeblendet

Wetter (wetter.js):
- Standort-Fehlerseite zu Motivations-Seite umgebaut
- Feature-Preview: Gassi-Score, 7-Tage, Regenradar, Rekorde
- CTA: Standort freigeben + Registrieren (nur für Gäste)

Settings (settings.js):
- Logo in Auth-Form: display:block + margin:0 auto zentriert
- Header bleibt sichtbar (FAB/Zurück-Navigation funktioniert)

Jobs (jobs.js):
- 2-Spalten-Grid auf Mobile: auto-fit statt festes 1fr 1fr
- Kein doppeltes Padding im Wrapper

Backend:
- weather.py, achievements.py: diary JOIN fix (d.user_id → dogs JOIN)
- Neue Wetter-Badges: wetter_tapfer, jahreszeiten, schnee
- Ernährungs-, Reise-, Ausgaben-Seite: diverse UX-Verbesserungen
- Presse-Seite erweitert
- Ban Yaro Foto-Assets (WebP + HIRES JPG)
2026-05-05 17:32:03 +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
b4de0aa27c UX: Login → Welcome statt Diary; Landing-Features flacher (kein Box-Icon, einheitlicher Hintergrund) — SW by-v504, APP_VER 481 2026-04-29 16:53:17 +02:00
175984e80f Fix: Tagesübung nur JS-kompatible exercise_ids, Scroll per exercise_id; Landing+llms.txt Sprint-20 — SW by-v492, APP_VER 469 2026-04-29 11:34:28 +02:00
69140a261e Fix: Exercise-Chip Click-Handler nach async Chip-Update binden — SW by-v484, APP_VER 461 2026-04-29 10:04:43 +02:00
59feecb30b Fix: Tagesbild stabil (date-seeded statt random), preview_url für schnelleres Laden — SW by-v483, APP_VER 460 2026-04-29 10:02:39 +02:00
117d32fcc3 Fix: Übung-des-Tages-Chip scrollt direkt zur Übung (kategorie + name als init-params) — SW by-v482, APP_VER 459 2026-04-29 09:39:54 +02:00
d9a0be489b Feature: Übung des Tages — personalisiert aus exercise_progress, 4. Chip auf Welcome — SW by-v481, APP_VER 458 2026-04-29 09:26:41 +02:00
7048499624 Feature: ORS-Wochenlimit (20/Woche), Tages-Cache, Privilegien-Bypass, Datenschutz-Update — SW by-v480, APP_VER 457 2026-04-29 08:23:55 +02:00
ca8bb495b0 Feature: Gassirunden-Chip auf Welcome öffnet direkt ORS-Vorschlag im Routen-Tab — SW by-v479, APP_VER 456 2026-04-29 08:18:16 +02:00
b09a569689 Fix: Welcome-Chip ohne Standort leer, Foto vertikal zentriert (object-fit) — SW by-v477, APP_VER 454 2026-04-29 07:38:39 +02:00
4e1e7ca37e Feature: Welcome-Chips — Termin nur <60 Tage, Übung des Tages als Fallback, async Gassirunde-Bank — SW by-v476, APP_VER 453 2026-04-29 07:34:22 +02:00
db386da2c0 Feature: Welcome-Dashboard für eingeloggte User — Hundefoto-Hero, Stats-Chips, Feature-Karten — SW by-v475, APP_VER 452 2026-04-29 06:35:42 +02:00
b3d2d298dc Fix: Hero-Slide Gesundheit Infinitiv — SW by-v450, APP_VER 429 2026-04-27 19:45:18 +02:00
ddfc20b10d Feature: Phone-Frame mit 9 App-Screenshots im Hero — SW by-v449, APP_VER 428
- 9 Screenshots synchron mit Hero-Text (Fade gemeinsam)
- CSS-Phone-Frame, Statusleiste per margin-top abgeschnitten
- /img Static-Mount in main.py
- Screenshots als JPEG optimiert (8MB → 2.5MB gesamt)
- Vorladen aller Folgebilder beim Start
2026-04-27 19:38:43 +02:00
3b9f69fa0b UX: Dots→Zähler, Anmelden-Button Kontrast, Trust-Strip einzeilig — SW by-v448, APP_VER 427 2026-04-27 19:14:30 +02:00
3b222cab3d Fix: Hero-Slide Training kürzer, KI → virtueller Trainer — SW by-v447, APP_VER 426 2026-04-27 18:54:29 +02:00
5aa97d06eb Fix: Kacheln einklappbar (CSS-Spezifität), Hero-Interval 6s — SW by-v446, APP_VER 425 2026-04-27 18:51:24 +02:00
86d1642fba UX: Hero-Rotation mit 9 Themen, Kacheln einklappbar — SW by-v445, APP_VER 424
- 9 rotierende Hero-Slides (alle 4s, Fade + Dot-Indikatoren)
- Themen: Tagebuch, Karte, Gesundheit+KI, Giftköder, PWA-Erklärung,
  Routen, Gassi-Treffen, Training, Forum
- "Und noch mehr"-Kacheln standardmäßig eingeklappt (Toggle)
2026-04-27 18:47:18 +02:00
f3742ed7a9 Landing Page: neue Welcome-Seite für nicht-eingeloggte Besucher — SW by-v444, APP_VER 423
Hero mit Farbverlauf, großer Headline, primärer CTA-Button. 4 Feature-Abschnitte
(Tagebuch, Gesundheit, Community, Training). Privacy-Block in Primärfarbe.
Feature-Grid als "und noch mehr". Zweiter CTA am Ende. Eingeloggte sehen
weiterhin die kompakte Ansicht.
2026-04-27 18:28:36 +02:00
9cb4a16cc2 UX: Installationsanleitung mobile-first, alle Plattformen — SW by-v443, APP_VER 422
Alle 5 Fälle abgedeckt: Android+Prompt (Button), Android ohne Prompt (Chrome-Schritte),
iOS Safari (Teilen-Menü), iOS non-Safari (Hinweis + Link kopieren), Desktop (Tabs
Android/iOS). Steps mit Icon statt Zahl. Link-kopieren-Button für manuelle Fälle.
2026-04-27 18:22:10 +02:00
b4c3698a3a Fix: Installationsanleitung scrollt direkt zur Install-Karte — SW by-v440, APP_VER 419
Klick auf "Installationsanleitung" in Settings navigiert jetzt mit params
{ install: true }, welcome.js zeigt die Karte auch bei bereits installierter
PWA und scrollt direkt dorthin.
2026-04-27 06:16:39 +02:00
1400033862 Welcome: Redesign — Hero-Gradient, Icon-Grid, luftiger — SW by-v411
- Hero: warmer Gradient-Hintergrund, großes Icon, CTA direkt darin
- Features: 4×4 Icon-Grid (Desktop 8-spaltig) statt dense Kachel-Karten
- Eingeloggte User: persönliche Begrüßung im Hero
- Install: kompakte Karte am Ende
- Burger-Hinweis entfernt (unnötig)
2026-04-26 08:35:31 +02:00
553e9e7854 Sprint 12+13: Tagebuch Day-One-Redesign, Notiz-Feature, Icon-Fixes, SW by-v405
Tagebuch:
- Day-One-Listenansicht: Wochentag + Tageszahl + Meta-Zeile (Zeit/Ort/Wetter)
- 4 Ansichten: Liste, Medien-Mosaik, Kalender (mit Sprungbuttons), Karte (GPS-Marker)
- Detail-Ansicht inline im Content-Bereich (kein Fullscreen-Overlay mehr)
- Hero-Bild vollständig sichtbar (object-fit:contain), Lightbox mit Safe-Area
- 2-Spalten-Layout Desktop: Text + Leaflet-Karte + POI-Liste
- EXIF-GPS-Extraktion bei Foto-Upload, historisches Wetter via Archive-API
- NoteStation-Import: Fotos in diary_media (80 Einträge migriert, 94 Medien)
- Stats-Endpoints: /diary/stats, /diary/calendar, /diary/locations

Notiz-Feature:
- Generische notes-Tabelle (parent_type + parent_id + meta_json)
- 📝-Button in 8 Bereichen, Notizblock-Seite mit KI-Analyse
- KI-Toggle in Einstellungen, notes_ki_enabled in User-Profil

Icons & Design:
- fill:currentColor Fix für welcome/onboarding/friends.js
- --c-icon Variable, --c-text-muted Dark Mode aufgehellt
- 15+ neue Phosphor-Icons aus lokaler Kopie
- CSS Network-First im SW, Cache-Control-Middleware

Infrastruktur:
- Wiki-Anreicherungs-Scheduler-Jobs entfernt (abgeschlossen)
- auth.py: notes_ki_enabled + is_social_media im User-Response
2026-04-25 20:44:46 +02:00
71a1371b44 Session 2026-04-23: Desktop Multi-Column, Forum, Fixes, Analytics
- Desktop ≥1024px: page-container 680→860px
- Walks: Liste+Karte nebeneinander, View-Toggle ausgeblendet
- Forum: Rubriken 2-zeilig via CSS Grid (ceil(n/2) Spalten, zentriert)
- Welcome: max-width 920px, Feature-Sections 2-spaltig
- Wissen: Toggle-Mechanismus entfernt, Items immer sichtbar
- Übungen Plan-Karten: vertikal statt horizontal gestapelt
- Admin Analytics: Umami v2 gibt plain numbers statt {value:X}
- CSS-Spezifität: #page-forum nötig wegen layout.css < components.css
- SW by-v312, APP_VER 300
2026-04-23 17:52:28 +02:00
180de32e57 Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober
SEO & Crawler:
- robots.txt, llms.txt, sitemap.xml (508 Seiten bei Google)
- SSR-Seiten: /info, /wiki/rassen, /wiki/rasse/{slug}, /knigge
- Open Graph, JSON-LD, Breadcrumbs in index.html

Navigation:
- Training unter "Mein Hund", Wissen collapsible
- Welcome-Seite und Landing-Page auf 5-Gruppen-Struktur

Wiki:
- KI-Anreicherung (Claude API): beschreibung, vorkommen_de, Steckbrief
- "So einen hab ich" / Züchter-Verzeichnis
- Scheduler: 50 Rassen beim Start, 20/Nacht

Training:
- Session-Logging (Erfolgsquote, Stimmung, Zufriedenheit)
- Virtueller KI-Trainer (6h-Cache)
- Trainingskalender (Habit-Tracker)
- Top-Training → automatischer Tagebucheintrag
- Gamification ohne Druck: Badges, Streak, Stats

Fortschritts-Lober:
- Jeden Montag 09:00: Claude schreibt Lob-Text pro Hund
- Push + Karte im Tagebuch

Monitoring:
- 4× täglich Status-Mail mit Scheduler-Status + Wiki-Fortschritt
2026-04-21 19:38:20 +02:00
9a78121a3e Session 2026-04-19: Navigation, Kompass, Übungsfortschritt
Routen-Navigation:
- POI-Marker: farbige Kreise mit Phosphor-Icons (wie Hauptkarte)
- Screensaver: Navi-Pfeil dreht sich via DeviceOrientationEvent (iOS+Android)
- Pfeil-Dämpfung: EMA α=0.12 mit Wrap-Around
- GPS-Distanz-Bug: Fortschritt nur wenn <500m zur Route
- fitBounds: User-Position nur wenn <20km von Route
- Screensaver: "zur Route" vs "verbleibend" kontextabhängig
- Richtungspfeile entlang Route (blau, max 7 Stück)
- Umkehren ins Route-Detail verschoben, Detail-Map rebuildet sich
- rk-header z-index:10 (Leaflet-Tiles liefen drüber)
- 2-Sek. Screensaver-Entsperrung

km-Tracking:
- route_walks Tabelle
- POST /api/routes/{id}/walked (≥50%)
- total_km = erstellte Routes + gelaufene route_walks
- Toast bei neuem Badge

Übungsfortschritt:
- exercise_progress + training_plan_progress Tabellen
- GET/POST /api/training/progress, /plan-progress, /suggestions
- uebungen.js: API-first + localStorage-Fallback + Auto-Migration
- Empfehlungs-Banner (regelbasiert)
- Toast bei "sitzt"
2026-04-19 20:33:01 +02:00
0113ee2fbb Fix: Forum-Icon von 'chats' (fehlt im Sprite) auf 'push-pin' geändert 2026-04-19 09:59:51 +02:00
16150ced89 Feature: Startseite in 3 Sektionen (Mein Hund, Community, Entdecken) 2026-04-19 09:57:32 +02:00
8386e20ca1 Feature: Welcome-Kacheln anklickbar + Hamburger-Puls-Effekt 2026-04-19 09:50:24 +02:00
08ec40228a Fix: App-Frame bei großer Systemschrift (min-height statt height, Grid responsiv) 2026-04-19 09:48:44 +02:00
80e3f0dc0d Fix: Burger-Hinweis auf Willkommensseite nur auf Mobile anzeigen
Klasse mobile-only ergänzt, damit der Hinweis ab 768px (Desktop-Sidebar sichtbar) ausgeblendet wird. SW by-v202, APP_VER 169.
2026-04-18 13:51:24 +02:00
b58789373c Sprint 12: UI-Vereinheitlichung + Läufigkeits-Tracker
- by-tabs/by-tab: einheitliche Tab/Pill-Navigation in allen Seiten
- by-section-label, by-toolbar: einheitliche Section-Labels und Toolbars
- Design-Tokens: fehlende --c-amber, --c-primary-soft ergänzt, Fallback-Werte entfernt
- sitting.js: sitting-layout für konsistentes flush-Layout (wie walks)
- Läufigkeits-Tracker: neuer Health-Tab für Hündinnen mit Zyklusvorhersage,
  Timeline vergangener Läufigkeiten, Erinnerungen und auto-berechnetem Nächst-Datum
- emptyState-Bug: icon-Parameter muss SVG sein, nicht Icon-Name (dog/bell/warning gefixt)
- SW-Cache: by-v103, APP_VER: 79
2026-04-16 22:31:33 +02:00