Commit graph

401 commits

Author SHA1 Message Date
105262eff3 Fix: Settings refresh() lädt auch frischen /me-State, SW by-v557 2026-04-30 15:31:47 +02:00
f31f219ad6 Fix: Settings lädt frischen /me-State beim Init — Badges immer aktuell ohne Re-Login, SW by-v556 2026-04-30 15:18:02 +02:00
125fb3c7e7 Feature: Gründer/Partner-Badge im User-Profil-Modal + Freunde-Suche, SW by-v555 2026-04-30 15:08:59 +02:00
47c0590364 Fix: Partner-Tab — is_founder/is_partner in Admin-Users-Liste + Checkboxen vorausfüllen + founder_number in /me, SW by-v554 2026-04-30 14:59:04 +02:00
c2a5fbba7d Fix: /api/-Prefix in gruender.js+settings.js entfernt; Grant-Fehler sichtbar, SW by-v553 2026-04-30 14:45:16 +02:00
2f1dfd481c Fix: Partner-Tab — /api/-Prefix entfernt (API.get fügt es auto hinzu), SW by-v551 2026-04-30 14:37:25 +02:00
62b3138c41 Fix: Partner-Tab Usersuche nutzt /api/admin/users?q= (bestehende Route), SW by-v550 2026-04-30 13:58:56 +02:00
df104c2c57 Fix: Partner-Tab Usersuche — null-Guard + Mindestzeichen 2→1 für kurze Namen, SW by-v549 2026-04-30 13:53:51 +02:00
558fdaa49e UX: Admin Partner-Tab — Anleitungsbox mit Schritt-für-Schritt-Erklärung, SW by-v548 2026-04-30 13:46:55 +02:00
6f63a98a30 Fix: Admin Partner-Tab — null-Guard für codes, Tab-Label auf 'Partner' gekürzt, SW by-v547 2026-04-30 13:41:37 +02:00
b27e4b006f Fix: Bottom-Nav immer fixiert + Gründer-Seite null-Error
- body: height:100% + overflow:hidden — body scrollt nie mehr selbst
- #app: height:100dvh (war min-height) + overflow:hidden — exakte Viewport-Höhe
- Desktop (768px+): #app height:auto + min-height:100dvh zurück (kein Bottom-Nav)
- #page-content: -webkit-overflow-scrolling:touch für iOS-Momentum-Scroll
- gruender.js: null-Check vor _renderStats() gegen "null is not an object"-Crash
- SW by-v522, APP_VER 499
2026-04-29 22:01:33 +02:00
6ae6806baf Fix: Referral-Card Header zeigt Rabattstufen — SW by-v518, APP_VER 495 2026-04-29 21:36:29 +02:00
e7e4adaa70 Feature: Referral-Rabattstufen — 10→20%, 20→30%, 50→50% lebenslang
- auth.py: _referral_tier() + _referral_next() Tier-Logik, GET /api/auth/referral gibt discount_pct + next_tier zurück
- settings.js: Referral-UI komplett neu — Tier-Kacheln, Fortschrittsbalken, Zähler, Rabatt-Hinweis
- SW by-v517, APP_VER 494
2026-04-29 21:34:23 +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
e57c6db013 Feature: Partner-Codes + Gründer-Lizenz-System für Influencer-Kooperationen
- partner_codes Tabelle: Code, Label, max_uses, grants_founder, uses-Counter
- users: is_founder + is_partner Flags (DB-Migration + auth.py SELECT)
- Registrierung: Partner-Code löst Gründer-Lizenz aus (vor User-Referral geprüft)
- API: GET/POST/DELETE /api/admin/partner/codes, POST /api/admin/partner/users/{id}/grant
- API: GET /api/partner/codes/{code}/info (öffentlich, für Registrierungsvalidierung)
- API: GET /api/admin/users/search (Name-Suche für Admin-UI)
- Admin-Tab "Partner & Codes": Code anlegen, Stats, User-Status vergeben
- Registrierungsformular: Einladungscode-Feld mit Live-Validierung
- Settings: Gründer (lila) + Partner (blau) Badge neben Kostenlos/Plus
- SW by-v515, APP_VER 492
2026-04-29 21:20:16 +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
9d3f902014 Fix: Datumfelder im Wurfformular bündig ausgerichtet (align-items:end) — SW by-v512, APP_VER 489 2026-04-29 19:49:22 +02:00
acd46f124b UX: Wurfformular — Erwartet links, Tatsächlich rechts — SW by-v511, APP_VER 488 2026-04-29 19:45:10 +02:00
239681a6f0 UX: Wurfformular — Datumfelder mit erklärendem Hinweistext — SW by-v510, APP_VER 487 2026-04-29 19:42:26 +02:00
9e9b87af35 Fix: Jahresbericht-Modal Schließen-Button + expliziter close-Handler — SW by-v507, APP_VER 484 2026-04-29 17:09:45 +02:00
41d5d745cb UX: Jahresbericht — Wahlmöglichkeit wenn letzter Bericht <30 Tage alt — SW by-v506, APP_VER 483 2026-04-29 17:06:34 +02:00
9832cd24d8 Feature: KI-Jahresberichte speichern + Archiv + Download — SW by-v505, APP_VER 482 2026-04-29 17:03:49 +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
977fbeb0fd Feature: Analytics Jahres-Balkendiagramm — Seitenaufrufe + Neuanmeldungen 12 Monate — SW by-v502, APP_VER 479 2026-04-29 14:32:10 +02:00
b2e7f1409a Fix: Suchfeld+Button table-Layout für garantierte Nebeneinander-Darstellung — SW by-v501, APP_VER 478 2026-04-29 13:29:39 +02:00
9603f099b5 Fix: Suchfeld+Button Grid-Layout (1fr auto) statt Flex — SW by-v500, APP_VER 477 2026-04-29 13:26:12 +02:00
47f1b09d30 UX: Stand-erfassen-Button mit Hinweistext — SW by-v499, APP_VER 476 2026-04-29 13:22:17 +02:00
70bc25a0a6 Fix: Suchfeld+Button in einer Zeile (flex-wrap:nowrap, min-width:0) — SW by-v498, APP_VER 475 2026-04-29 13:16:56 +02:00
325ba333fd UX: Suchfeld über Tabs, zusammen mit Stand-erfassen-Button — SW by-v497, APP_VER 474 2026-04-29 13:14:21 +02:00
a3679354c8 Feature: Übungen Desktop 2-zeilige Tabs + globale Suche über alle Kategorien — SW by-v496, APP_VER 473 2026-04-29 13:07:41 +02:00
81ee1a063e Feature: Übungs-Suche, fehlende Legacy-Übungen nachmigriert (110 gesamt) — SW by-v495, APP_VER 472 2026-04-29 12:26:32 +02:00
4c3638c17c Fix: Tagesübung-Scroll via _scrollTarget nach exercises-Load statt fixem Timeout — SW by-v494, APP_VER 471 2026-04-29 11:54:38 +02:00
6d9f4a097e Feature: Alle 104 Übungen aus DB in Übungsseite — 9 Tabs, DB-basiert, abwärtskompatibel — SW by-v493, APP_VER 470 2026-04-29 11:44:47 +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
fe2e718827 Feature: ORS Admin-Card — Wochensumme + 30-Tage-Gesamt im Header — SW by-v491, APP_VER 468 2026-04-29 11:25:11 +02:00
69cbf3c599 Fix: Übungen-Tab kaputt nach Exercise-Chip-Navigation — DB-Kat-Mapping + refresh()-Fix — SW by-v490, APP_VER 467 2026-04-29 11:13:22 +02:00
e22dcc3c3d Feature: Analytics 30-Tage Dual-Chart, Referrers, Umami-Credentials — SW by-v489, APP_VER 466 2026-04-29 11:06:18 +02:00
a4da7144d6 Feature: App-Version in Einstellungen + manueller Update-Check — SW by-v488, APP_VER 465 2026-04-29 10:54:56 +02:00
e507f4c086 Feature: Welpenwachstum — SVG-Kurve, Stats-Zeile, Veränderung-Spalte im Gewichtsverlauf — SW by-v487, APP_VER 464 2026-04-29 10:49:40 +02:00
dc737d0c48 Feature: KI-Nutzung im Admin mit 30-Tage-Sparkline + Top-Nutzer-Tabelle — SW by-v486, APP_VER 463 2026-04-29 10:42:00 +02:00
392359df45 Feature: ORS-Stats im Admin-Panel — Tagesverbrauch/2000, 30-Tage-Sparkline, Top-Nutzer — SW by-v485, APP_VER 462 2026-04-29 10:10:59 +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
369eae5e5a Feature: Rundweg-Vorschläge via OpenRouteService — 2/4/6 km, 3 Varianten, Navigation+Speichern — SW by-v478, APP_VER 455 2026-04-29 08:04:25 +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