Versandfreigrenze pro Land, USt-ID, Rechtstexte+FAQ jetzt admin-editierbar
1) Versandkostenfreigrenze ist jetzt länderabhängig statt einer einzigen Zahl für alle: Deutschland 75 €, Österreich/Luxemburg 85 €, Schweiz 100 € (im Adminbereich unter "Versandkosten-Staffel" änderbar). Betrifft Warenkorb (live je nach gewähltem Land), Checkout-Berechnung, sowie alle Text-Hinweise (Topbar, FAQ, AGB) in allen 4 Sprachen. 2) Neues Feld "USt-IdNr." im Impressum (optional, admin-editierbar) — erscheint nur, wenn ausgefüllt. 3) Impressum, AGB, Datenschutzerklärung, Widerrufsbelehrung und FAQ sind jetzt vollständig im Adminbereich editierbar (neue Collection "⚖️ Rechtstexte & FAQ") statt fest im Code zu stehen. Jede Rechtsseite besteht aus frei bearbeitbaren Abschnitten (Überschrift + Text) — VanVan kann selbst Abschnitte ergänzen, ändern oder löschen. Freitext wird beim Anzeigen sicher escaped (kein kaputtes HTML durch Tippfehler möglich) und nackte Links automatisch klickbar gemacht. FAQ bleibt dabei weiterhin in allen 4 Sprachen separat pflegbar. Ausführlich getestet: Freigrenze pro Land im echten Warenkorb verifiziert (Puppeteer, 84€ Warenwert -> DE kostenlos, AT/LU "noch 1€", CH "noch 16€"), Rechtstexte/FAQ/USt-ID gegen den fertigen Build geprüft, EU-Streitschlichtung-Link-Bug (Satzzeichen wurde mitverlinkt) gefunden und behoben. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
9a2c75ebe6
commit
0c1c8f075f
@@ -0,0 +1,19 @@
|
||||
// FAQ-Inhalte — seit 03.08.2026 admin-editierbar (siehe public/admin/config.yml, Collection
|
||||
// "faq") statt fest in src/i18n/ui.ts zu stehen, damit VanVan Fragen/Antworten selbst pflegen
|
||||
// kann. Weiterhin in allen 4 Sprachen (DE/EN/CH/FR), je eigene Liste.
|
||||
|
||||
import type { Locale } from "../i18n/config";
|
||||
|
||||
// @ts-ignore -- JSON-Import, zur Build-Zeit von Astro/Vite aufgelöst
|
||||
import faqRaw from "../content/faq.json";
|
||||
|
||||
export interface FaqEintrag {
|
||||
q: string;
|
||||
a: string;
|
||||
}
|
||||
|
||||
const faq = faqRaw as Record<Locale, FaqEintrag[]>;
|
||||
|
||||
export function faqEintraege(lang: Locale): FaqEintrag[] {
|
||||
return faq[lang] ?? faq.de ?? [];
|
||||
}
|
||||
Reference in New Issue
Block a user