Legal: Widerrufs-Checkbox im Upgrade-Modal + AGB-Abschnitt in Datenschutz
- Upgrade-Modal: Checkbox §356 Abs.4 BGB muss aktiv bestätigt werden, "Anfrage senden" bleibt bis dahin deaktiviert - Akzeptanz-Zeitstempel wird mit der upgradeRequest-Message mitgeschickt - datenschutz.js: neuer Abschnitt "Abonnement & Kündigung" mit Laufzeit, Verlängerung, Zahlung, Kündigung, Erstattung und Widerrufsrecht
This commit is contained in:
parent
699926cd76
commit
9a7f100855
2 changed files with 51 additions and 1 deletions
|
|
@ -238,6 +238,36 @@ window.Page_datenschutz = (() => {
|
|||
style="${S.a}">www.lda.bayern.de</a>
|
||||
</p>`)}
|
||||
|
||||
${sec('Abonnement & Kündigung', `
|
||||
<p style="${S.p}">
|
||||
Ban Yaro Pro und das Züchter-Paket sind Jahresabonnements mit einer Laufzeit von
|
||||
12 Monaten ab Freischaltung.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
<strong>Laufzeit & Verlängerung:</strong> Das Abonnement läuft 12 Monate ab dem
|
||||
Tag der Freischaltung. Nach Ablauf verlängert es sich auf unbestimmte Zeit mit einer
|
||||
Kündigungsfrist von einem Monat zum Monatsende, sofern nicht vorher gekündigt wird
|
||||
(§ 309 Nr. 9 BGB).
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
<strong>Zahlung:</strong> Der Jahresbeitrag (29 EUR für Pro, 49 EUR für
|
||||
Züchter) wird einmalig für die gesamte Laufzeit im Voraus fällig.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
<strong>Kündigung:</strong> Die Kündigung kann jederzeit in den Einstellungen der App
|
||||
erfolgen. Der Zugang bleibt bis zum Ende der bezahlten Laufzeit erhalten.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
<strong>Erstattung:</strong> Bei vorzeitiger Kündigung durch den Nutzer erfolgt keine
|
||||
anteilige Rückerstattung des Jahresbeitrags. Der Zugang bleibt bis zum Ende der
|
||||
bezahlten Laufzeit vollständig bestehen.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
<strong>Widerrufsrecht:</strong> Da die Nutzung sofort nach Freischaltung beginnt und
|
||||
der Nutzer dem ausdrücklich zustimmt, erlischt das 14-tägige Widerrufsrecht gemäß
|
||||
§ 356 Abs. 4 BGB mit Beginn der Nutzung.
|
||||
</p>`)}
|
||||
|
||||
${sec('Speicherdauer', `
|
||||
<p style="${S.p}">
|
||||
Deine Daten werden vollständig gelöscht, sobald du deinen Account löschst —
|
||||
|
|
|
|||
|
|
@ -313,6 +313,18 @@ window.Page_settings = (() => {
|
|||
font-size:var(--text-xs);color:#c05000;line-height:1.6;margin-top:var(--space-2)">
|
||||
💡 Tipp: Trag deine <strong>Rechnungsadresse</strong> im Profil ein — dann können wir die Rechnung vollständig ausstellen.
|
||||
</div>` : ''}
|
||||
<div style="margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);
|
||||
background:var(--c-surface-raised,rgba(0,0,0,.04));">
|
||||
<label style="display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;
|
||||
font-size:var(--text-xs);color:var(--c-text-secondary);line-height:1.5">
|
||||
<input type="checkbox" id="widerruf-checkbox"
|
||||
style="margin-top:2px;flex-shrink:0;accent-color:${color}">
|
||||
<span>
|
||||
Ich stimme zu, dass mein Zugang sofort nach Freischaltung beginnt, und bestätige,
|
||||
dass ich damit mein 14-tägiges Widerrufsrecht verliere (§ 356 Abs. 4 BGB).
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
${breederForm}
|
||||
</div>`,
|
||||
footer: `
|
||||
|
|
@ -330,6 +342,13 @@ window.Page_settings = (() => {
|
|||
</button>`
|
||||
});
|
||||
|
||||
const widerrufBox = document.getElementById('widerruf-checkbox');
|
||||
const sendBtn = document.getElementById('upgrade-request-send-btn');
|
||||
if (sendBtn) sendBtn.disabled = true;
|
||||
widerrufBox?.addEventListener('change', () => {
|
||||
if (sendBtn) sendBtn.disabled = !widerrufBox.checked;
|
||||
});
|
||||
|
||||
document.getElementById('upgrade-request-send-btn')?.addEventListener('click', async () => {
|
||||
const btn = document.getElementById('upgrade-request-send-btn');
|
||||
if (!btn) return;
|
||||
|
|
@ -363,7 +382,8 @@ window.Page_settings = (() => {
|
|||
}
|
||||
|
||||
try {
|
||||
const res = await API.auth.upgradeRequest(tier);
|
||||
const widerrufAt = new Date().toLocaleString('de-DE');
|
||||
const res = await API.auth.upgradeRequest(tier, `[Widerrufsrecht akzeptiert am ${widerrufAt}]`);
|
||||
UI.modal.close();
|
||||
if (res.already) {
|
||||
UI.toast.info('Deine Anfrage liegt bereits vor — wir melden uns bald.');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue