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:
1 parent
c5f1d9545c
commit
5cd49d6a4a
6 files changed
+84
-13
No files matched your search
@@ -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()
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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')
|
||||
}
|
||||
Reference in new issue
Block a user