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:
rene 2026-05-14 11:23:39 +02:00
parent 4332b1195e
commit 3b37c14600
4 changed files with 59 additions and 11 deletions

View file

@ -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">