UX: Upgrade-Modal mit vollständigen Feature-Listen (SW by-v926)
Pro (29€/Jahr): 3 Gruppen — Hunde (bis 10, getrennte Daten), Community (Gassi-Treffen, Chat, Playdate), Tools (Ernährung, Reise, Notizblock, Karten) Züchter (49€/Jahr): Pro-Inklusive-Badge + 3 Züchter-Gruppen — Zucht-Management (Kartei, Wurf, Warteliste, Läufigkeit, Wurf-Rang), KI & Analyse (KI-Assistent, Stammbaum, IK-Rechner, Tierschutz-Check, Jahresbericht), Sichtbarkeit & Export (Profil, Wurfbörse, Datenexport, Privater Bereich)
This commit is contained in:
parent
4332b1195e
commit
3b37c14600
4 changed files with 59 additions and 11 deletions
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '925'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '926'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VERSION = '1.5.1'; // ← semantische Version, wird bei make release gesetzt
|
||||
const IS_STAGING = location.hostname === 'staging.banyaro.app';
|
||||
// Cache-Bust-Parameter nach Update-Reload sofort entfernen
|
||||
|
|
|
|||
|
|
@ -144,13 +144,61 @@ window.Page_settings = (() => {
|
|||
const label = isPro ? 'Ban Yaro Pro' : 'Züchter';
|
||||
const price = isPro ? '29 €/Jahr' : '49 €/Jahr';
|
||||
const color = isPro ? '#16a34a' : '#C4843A';
|
||||
const features = isPro
|
||||
? ['Mehrere Hunde verwalten', 'Ernährungsbereich mit KI-Berater', 'Erweiterte Karten-Layer', 'Alle künftigen Pro-Features']
|
||||
: ['Vollständige Züchter-Plattform', 'Warteliste, Läufigkeit & Trächtigkeit', 'Wurfverwaltung, Stammbaum, IK-Rechner', 'KI-Züchter-Assistent & Datenexport'];
|
||||
const _group = (title, items) => `
|
||||
<div style="margin-bottom:var(--space-3)">
|
||||
<div style="font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
|
||||
color:var(--c-text-muted);margin-bottom:var(--space-2)">${title}</div>
|
||||
${items.map(f => `
|
||||
<div style="display:flex;align-items:flex-start;gap:var(--space-2);
|
||||
padding:3px 0;font-size:var(--text-sm)">
|
||||
<span style="color:${color};font-weight:700;flex-shrink:0;margin-top:1px">✓</span>
|
||||
<span>${f}</span>
|
||||
</div>`).join('')}
|
||||
</div>`;
|
||||
|
||||
const featureList = features.map(f =>
|
||||
`<li style="padding:var(--space-1) 0;font-size:var(--text-sm)">✓ ${f}</li>`
|
||||
).join('');
|
||||
const featureList = isPro
|
||||
? _group('Deine Hunde', [
|
||||
'Bis zu 10 Hunde gleichzeitig verwalten',
|
||||
'Getrennte Trainingsfortschritte, Gesundheits- und Ernährungsdaten je Hund',
|
||||
])
|
||||
+ _group('Community & Alltag', [
|
||||
'Gassi-Treffen: Fotos und Rasse der Teilnehmer sichtbar, Fotos nach dem Treffen hochladen',
|
||||
'Direktnachrichten & Chat mit anderen Hundebesitzern',
|
||||
'Playdate: Spielkameraden in der Nähe finden und verabreden',
|
||||
])
|
||||
+ _group('Tools & Wissen', [
|
||||
'Ernährung: Kalorienbedarf-Rechner, BARF-Guide, Giftliste, KI-Ernährungsberater',
|
||||
'Reise-Checkliste & EU-Länder-Einreiseregeln',
|
||||
'Notizblock mit KI-Muster-Analyse',
|
||||
'Erweiterte Karten-Layer (Wandern, Radfahren, Satellit)',
|
||||
'Alle künftigen Pro-Features inklusive',
|
||||
])
|
||||
: `<div style="padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);
|
||||
background:rgba(22,163,74,0.08);border:1px solid rgba(22,163,74,0.2);
|
||||
font-size:var(--text-xs);color:var(--c-text-secondary);margin-bottom:var(--space-3)">
|
||||
<strong style="color:#16a34a">✓ Alle Pro-Features inklusive</strong> —
|
||||
mehrere Hunde, Ernährung, Gassi-Community, Chat, Playdate, Reise, Karten-Layer
|
||||
</div>`
|
||||
+ _group('Zucht-Management', [
|
||||
'Zuchtkartei: Stammdaten, Gesundheitstests (HD, ED, OCD, Augen, Herz, Patella, ZTP), Gentests (MDR1, PRA, DM, vWD)',
|
||||
'Wurfverwaltung: Welpen, Gewichtsverlauf, Fotos, automatisch ausgefüllter Kaufvertrag',
|
||||
'Warteliste: Interessenten mit Präferenzen (Geschlecht, Farbe, Verwendungszweck) pro Zuchthündin',
|
||||
'Läufigkeit & Trächtigkeit: Zykluskalender, Progesterontests, Deckdaten, Meilensteinberechnung',
|
||||
'Wurf-Buchstabe und Wurf-Name (z. B. A-Wurf, „Vatertags-Wurf")',
|
||||
])
|
||||
+ _group('KI & Analyse', [
|
||||
'KI-Züchter-Assistent: Wurfankündigungen schreiben, Genetik-Erklärung für Käufer, Paarungsanalyse',
|
||||
'Stammbaum bis 4 Generationen mit klickbaren Knoten',
|
||||
'Inzucht-Koeffizient (Wright\'s Formel, Ampel-Bewertung, Probeverpaarung)',
|
||||
'Tierschutz-Check automatisch bei jeder Verpaarung',
|
||||
'KI-Jahresbericht mit Trends und Empfehlungen',
|
||||
])
|
||||
+ _group('Sichtbarkeit & Export', [
|
||||
'Öffentliches Züchter-Profil unter banyaro.app/breeder/{zwingername}',
|
||||
'Wurfbörse: Würfe öffentlich ankündigen, Käufer schreiben direkt an',
|
||||
'Datenexport als HTML-Dossier und ODS-Tabelle (LibreOffice / Excel)',
|
||||
'Privater Züchter-Bereich mit Zwingername und Logo',
|
||||
]);
|
||||
|
||||
const inputStyle = `width:100%;box-sizing:border-box;padding:var(--space-2) var(--space-3);
|
||||
border:1.5px solid var(--c-border);border-radius:var(--radius-md);
|
||||
|
|
@ -217,9 +265,9 @@ window.Page_settings = (() => {
|
|||
Einmaliger Jahresbeitrag<br>Kündigung jederzeit möglich
|
||||
</div>
|
||||
</div>
|
||||
<ul style="list-style:none;padding:0;margin:0 0 var(--space-3)">
|
||||
<div style="margin:0 0 var(--space-3)">
|
||||
${featureList}
|
||||
</ul>
|
||||
</div>
|
||||
<div style="padding:var(--space-3);border-radius:var(--radius-md);
|
||||
background:var(--c-surface-raised,rgba(0,0,0,.04));
|
||||
font-size:var(--text-xs);color:var(--c-text-secondary);line-height:1.6">
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Offline-Cache + Push Notifications + Tile-Cache
|
||||
============================================================ */
|
||||
|
||||
const CACHE_VERSION = 'by-v925';
|
||||
const CACHE_VERSION = 'by-v926';
|
||||
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
||||
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
||||
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue