diff --git a/MARKETING.md b/MARKETING.md index 6414688..735a061 100644 --- a/MARKETING.md +++ b/MARKETING.md @@ -37,10 +37,8 @@ Legende: 🟱 lĂ€uft/erledigt · 🟡 angefangen · ⬜ offen · 💡 Idee · - [ ] **Verzeichnisse** — Product Hunt, progressivewebappstore.com, pwafire.org/directory, Google Business (Ebersberg). - [ ] **Landing-Page-Redesign** nach Briefing (3 Zielgruppen-Einstiege Hundebesitzer/ZĂŒchter/WelpenkĂ€ufer, Outcomes statt Features, ZĂŒchter-SaaS prominent, Datenschutz als Argument, GrĂŒnder-Story + Foto). - [ ] **Messung einbauen** — „Wie hast du von uns gehört?" im Onboarding + QR-refs pro Kanal. -- [ ] **Ban-Yaro-Album** — hin und wieder einen Suno-Song ergĂ€nzen, Player unten → Album-Modal (alle Lieder). Voraussetzung: **Suno Pro** (kommerzielle Rechte). Bonus-Asset: Song + App-Screenshots → **Reel/YouTube-Video** fĂŒr Social. ## ✅ Erledigt -- [x] **Eigener Marken-Song „Ban Yaro Blues"** als Hymne in der WELT-Welt (Suno-KI-Demo, Player unten links, Banner einmalig) — 14.06., Prod v1295. ⚠ Suno-Lizenz: Free = nicht-kommerziell → fĂŒr saubere App-Nutzung **Suno Pro** nötig (Songs unter Abo neu rendern) - [x] 1000 Flyer A5 (zweiseitig) gedruckt — 03.06.2026 - [x] iOS-App nativ gebaut + **im App Store freigegeben** (Ban Yaro Go, 09.06.) — Details im Repo `banyaro-ios` - [x] Landing-Promotion fĂŒr „Ban Yaro Go" LIVE (iOS-Abschnitt + Profil, eigenes braunes App-Store-Badge; Hero bewusst ohne Badge) — 09.06., Prod v1278 diff --git a/VERSION b/VERSION index 1f5e025..364aacb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1295 \ No newline at end of file +1292 \ No newline at end of file diff --git a/backend/database.py b/backend/database.py index a26bd07..4f3ce10 100644 --- a/backend/database.py +++ b/backend/database.py @@ -605,7 +605,6 @@ def _migrate(conn_factory): ("notes", "location_name", "TEXT"), ("notes", "parent_label", "TEXT"), ("users", "notes_ki_enabled", "INTEGER NOT NULL DEFAULT 1"), - ("users", "anthem_heard", "INTEGER NOT NULL DEFAULT 0"), # ZĂŒchter-Rolle ("users", "breeder_status", "TEXT"), # WĂŒrfe: VerknĂŒpfung mit Zuchtkartei-Hunden + Welfare diff --git a/backend/routes/auth.py b/backend/routes/auth.py index 771f735..403eae8 100644 --- a/backend/routes/auth.py +++ b/backend/routes/auth.py @@ -398,7 +398,7 @@ async def me(user=Depends(get_current_user)): bio, wohnort, erfahrung, social_link, profil_sichtbarkeit, avatar_url, created_at, is_founder, is_partner, founder_number, is_founder_pending, - notes_ki_enabled, gassi_stunde_push, anthem_heard, + notes_ki_enabled, gassi_stunde_push, preferred_theme, subscription_tier, subscription_expires_at, subscription_cancelled_at, needs_dog_selection, billing_address, geburtstag diff --git a/backend/routes/profile.py b/backend/routes/profile.py index 17cc159..bf16ce0 100644 --- a/backend/routes/profile.py +++ b/backend/routes/profile.py @@ -50,16 +50,6 @@ def _load_user(user_id: int) -> dict: return data -@router.post("/anthem-heard", status_code=204) -async def mark_anthem_heard(user=Depends(get_current_user)): - """Merkt server-seitig, dass die Hymne gehört wurde — gerĂ€teĂŒbergreifend und - ĂŒbersteht Cache-Clear bzw. die iOS-Trennung von PWA- und Safari-localStorage, - damit der Banner nach einem Deploy nicht erneut auftaucht.""" - with db() as conn: - conn.execute("UPDATE users SET anthem_heard=1 WHERE id=?", (user["id"],)) - return None - - @router.patch("") async def update_profile(data: ProfileUpdate, user=Depends(get_current_user)): fields = data.model_dump(exclude_none=True) diff --git a/backend/static/css/components.css b/backend/static/css/components.css index cad9fcd..a96b2ab 100644 --- a/backend/static/css/components.css +++ b/backend/static/css/components.css @@ -8267,29 +8267,6 @@ svg.empty-state-icon { } #worlds-fab:active { transform: scale(0.92); box-shadow: 0 2px 10px rgba(196,132,58,0.3); } -/* Hymne-Button — Gegenspieler zum FAB, unten links, nur WELT + nach erstem Hören */ -#worlds-anthem { - position: fixed; - bottom: calc(env(safe-area-inset-bottom, 16px) + 16px); - left: 20px; - width: 54px; height: 54px; - border-radius: 50%; - background: rgba(22,26,30,0.66); - -webkit-backdrop-filter: blur(8px); - backdrop-filter: blur(8px); - color: #fff; - border: 1px solid rgba(255,255,255,0.20); - cursor: pointer; - z-index: 60; - display: flex; - align-items: center; - justify-content: center; - box-shadow: 0 4px 18px rgba(0,0,0,0.40); - transition: transform 0.12s, background 0.2s; -} -#worlds-anthem:active { transform: scale(0.92); } -#worlds-anthem.playing { background: var(--c-primary); border-color: transparent; } - /* Header + Bottom-Nav: vollstĂ€ndig entfernt — Welten ĂŒbernehmen Navigation */ #app-header { display: none !important; } #bottom-nav { display: none !important; } diff --git a/backend/static/index.html b/backend/static/index.html index 58232ad..830ff54 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -86,14 +86,14 @@ Ban Yaro - + - - - - - + + + + + @@ -596,10 +596,6 @@
- -