Kundenansicht neu P2: E-Mail-Speicher im Wortlaut der Fassung 5

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-16 17:05:45 +00:00
1 parent 8a23652e07
commit f9c4fbe9bb
7 files changed
+266 -8

No files matched your search

+9 -2
View File
@@ -2,7 +2,7 @@
Kein DOM-Zugriff beim Import; document und window werden erst beim Aufruf gelesen. */
import { api } from './api.js'
import { geheZu } from './router.js'
import { geheZu, aktuelleRoute } from './router.js'
import { hashFuerAnsicht } from './routen.js'
import { safeUrl } from '../fn-util.js'
@@ -36,6 +36,12 @@ export const K = Object.freeze({
export const ABO_NICHT_GELADEN = 'Deine Verträge konnten gerade nicht geladen werden. Bitte versuche es später noch einmal.'
/** Inhalt von el ersetzen; null, undefined und false (leere Platzhalter) werden übersprungen, nie als Text "null" angehängt. */
export function ersetze(el, ...kinder) {
el.replaceChildren(...kinder.flat(Infinity).filter((k) => k !== null && k !== undefined && k !== false))
return el
}
/* ---------- Formate ---------- */
const ZAHL_2 = new Intl.NumberFormat('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 })
@@ -118,9 +124,10 @@ export function legacyRequest(apiFn) {
}
}
/** Programmatisch navigieren (nur über den Router); wirft der Router, setzt der Hash die Adresse. */
/** Programmatisch navigieren (nur über den Router). Läuft kein Router oder wirft er, trägt der Hash die Adresse. */
export function navigiere(hash, { ersetzen = false } = {}) {
try {
if (aktuelleRoute() === null) { window.location.hash = hash; return }
geheZu(hash, { ersetzen })
} catch {
window.location.hash = hash