Kundenansicht neu E-Fix F1 (Nachkorrektur): Widerrufsstreifen auf den Bestellseiten ausgeblendet

Auf Abo bestellen, Wechsel, Zusatzspeicher und Übernahmegutschrift fehlt der feste Widerrufsstreifen, damit Kerninfo und Knopf "Zahlungspflichtig bestellen"
auch bei Privatkunden in laufender Frist auf 375x667 auf einem Bildschirm stehen (Spec Abschnitt 4). Auf den Hauptseiten bleibt er (Spec 5.2),
"Vertrag widerrufen" bleibt im Konto und unter Verträge erreichbar.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-16 22:44:20 +00:00
1 parent c5f1d9545c
commit 5cd49d6a4a
6 files changed
+84 -13

No files matched your search

+22 -11
View File
@@ -41,22 +41,33 @@ export function fruehesteFrist(daten) {
return zeiten.sort((a, b) => Date.parse(a) - Date.parse(b))[0] ?? ''
}
/** Streifen in `wurzel` füllen: setze(daten) zeigt ihn, setze(null) versteckt ihn. Am Körper steht `kn-hat-streifen`, solange er sichtbar ist. */
/**
* Streifen in `wurzel` füllen: setze(daten) nimmt die Fristen (null: keine), erlaube(ok) sagt, ob die gezeigte Seite den Streifen tragen darf
* (nicht die Bestellseiten, siehe zeigtWiderrufsstreifen). Sichtbar ist er nur mit Fristen auf einer erlaubten Seite; am Körper steht dann `kn-hat-streifen`.
*/
export function baueStreifen(wurzel, { koerper = document.body } = {}) {
wurzel.classList.add('kn-streifen')
wurzel.setAttribute('role', 'region')
wurzel.setAttribute('aria-label', 'Widerrufsfrist')
let stand = null
let erlaubt = true
const zeichne = () => {
leeren(wurzel)
if (!stand || !erlaubt) {
wurzel.hidden = true
koerper.classList.remove('kn-hat-streifen')
return
}
wurzel.append(streifenText(fruehesteFrist(stand)), ' · ', h('a', { class: 'kn-streifen-link', href: '/widerrufen.html' }, 'Widerrufen'))
wurzel.hidden = false
koerper.classList.add('kn-hat-streifen')
}
return {
setze(daten) {
leeren(wurzel)
if (!daten) {
wurzel.hidden = true
koerper.classList.remove('kn-hat-streifen')
return
}
wurzel.append(streifenText(fruehesteFrist(daten)), ' · ', h('a', { class: 'kn-streifen-link', href: '/widerrufen.html' }, 'Widerrufen'))
wurzel.hidden = false
koerper.classList.add('kn-hat-streifen')
setze(daten) { stand = daten || null; zeichne() },
erlaube(ok) {
if ((ok !== false) === erlaubt) return
erlaubt = ok !== false
zeichne()
},
}
}
+2 -1
View File
@@ -6,7 +6,7 @@
import { h, leeren, text } from './dom.js'
import { api as apiStandard } from './api.js'
import * as routerStandard from './router.js'
import { BEREICHE, FUNKTIONS_ETAGEN, hashFuerAnsicht, hashFuerRoute, elternVon, titelFuer } from './routen.js'
import { BEREICHE, FUNKTIONS_ETAGEN, hashFuerAnsicht, hashFuerRoute, elternVon, titelFuer, zeigtWiderrufsstreifen } from './routen.js'
import { HANDY_ABFRAGE, baueNavigation, beobachteTastatur, leisteSichtbar } from './leiste.js'
import { baueEtage } from './etage.js'
import { erzeugeZaehler } from './zaehler.js'
@@ -192,6 +192,7 @@ export async function starteHuelle({ win = window, doc = document, api = apiStan
} else etage.schliesse()
navigation.setzeAktiv(route.bereich)
navigation.setzeEtage(Boolean(route.etage))
streifen.erlaube(zeigtWiderrufsstreifen(route)) // Bestellseiten: Kerninfo und Knopf auf einem Bildschirm, ohne den festen Streifen
text(el('kn-kopf-titel'), titel)
text(el('kn-ansage'), titel)
if (route.bereich === 'chat') zaehler.setzeChat(0)
+14
View File
@@ -106,3 +106,17 @@ export function elternVon(route, herkunft = '') {
export function titelFuer(route) {
return TITEL_ETAGE[route.etage] ?? TITEL_BEREICH[route.bereich] ?? ''
}
/** Etagen, auf denen etwas bestellt wird: Abo bestellen, Wechsel und die Übernahmegutschrift. Dazu der Reiter E-Mail der Verträge (Zusatzspeicher). */
const BESTELL_ETAGEN = ['bestellen', 'wechsel', 'gutschrift']
/**
* Steht auf dieser Seite der Widerrufsstreifen? Nicht auf den Bestellseiten: Dort müssen Kerninfo und Knopf „Zahlungspflichtig bestellen“ auf einem
* Bildschirm stehen (Spec Abschnitt 4), und der feste Streifen nähme am Handy 44 px davon weg. Er gehört auf die Hauptseiten (Spec 5.2);
* „Vertrag widerrufen“ bleibt im Konto und unter Verträge erreichbar. Ohne Route: ja.
*/
export function zeigtWiderrufsstreifen(route) {
if (!route) return true
if (BESTELL_ETAGEN.includes(route.etage)) return false
return !(route.bereich === 'vertraege' && route.reiter === 'email')
}