Shop Review B M-3: Versandhinweis bei jedem Preis, nicht bei reinen Abholshops
"zzgl. Versand" steht jetzt unter dem Preis jeder Artikelkarte und im Detail, nur wenn der Shop versendet. Unter dem Raster bleibt der Steuerhinweis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b2072e4e7c
commit
c36cb9b4a3
2 files changed
+32
-7
No files matched your search
+19
-7
@@ -70,6 +70,7 @@
|
||||
'.wks-preis{font-weight:700;margin:0}',
|
||||
'.wks-grundpreis,.wks-klein{font-size:.85rem;opacity:.85;margin:0}',
|
||||
'.wks-aus{font-size:.85rem;font-weight:600;color:var(--wks-i-fehler);margin:0}',
|
||||
'.wks-preis-versand{margin:.1rem 0 .35rem;font-size:.85rem}',
|
||||
'.wks-hinweiszeile{font-size:.85rem;margin:0 0 .75rem;opacity:.9}',
|
||||
'.wks-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;margin:0 0 1rem}',
|
||||
'.wks-galerie-gross{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border:1px solid var(--wks-i-rand);border-radius:var(--wks-i-radius);background:var(--wks-i-weich)}',
|
||||
@@ -721,6 +722,12 @@
|
||||
dialogOeffnen('Versand und Zahlung', bloecke, ausloeser)
|
||||
}
|
||||
|
||||
// Versandhinweis neben dem Preis (PAngV § 6): nur wenn der Shop versendet; reine Abholshops zeigen kein "zzgl. Versand"
|
||||
function versandAktiv () { return liste(shop().lieferlaender).length > 0 }
|
||||
function versandLink () {
|
||||
return versandAktiv() ? knopf('wks-link', 'zzgl. Versand', function (e) { zeigeVersand(e.currentTarget) }) : null
|
||||
}
|
||||
|
||||
// Hinweis auf das gesetzliche Gewaehrleistungsrecht (Art. 246a § 1 Abs. 1 S. 1 Nr. 11 EGBGB): amtliche Grafik in hervorgehobenem
|
||||
// Kasten vor der Zusammenfassung der Kasse, sofort geladen, mit dem woertlichen Text als Alternativtext und einer Vergroesserung
|
||||
function gewaehrKasten () {
|
||||
@@ -935,10 +942,8 @@
|
||||
add(ul)
|
||||
add(leer)
|
||||
fuelle()
|
||||
var hinweis = el('p', 'wks-hinweiszeile')
|
||||
if (nichtLeer(shop().steuerHinweisKurz)) hinweis.appendChild(document.createTextNode(shop().steuerHinweisKurz + ' '))
|
||||
hinweis.appendChild(knopf('wks-link', 'zzgl. Versand', function (e) { zeigeVersand(e.currentTarget) }))
|
||||
add(hinweis)
|
||||
// Steuerhinweis einmal unter dem Raster; der Versandhinweis steht bei jedem Preis (karte)
|
||||
if (nichtLeer(shop().steuerHinweisKurz)) add(el('p', 'wks-hinweiszeile', shop().steuerHinweisKurz))
|
||||
}
|
||||
|
||||
function karte (p) {
|
||||
@@ -953,6 +958,12 @@
|
||||
if (nichtLeer(p.kurz)) art.appendChild(el('p', 'wks-karte-text', p.kurz))
|
||||
art.appendChild(el('p', 'wks-preis', preisAnzeige(p)))
|
||||
if (nichtLeer(p.grundpreisText)) art.appendChild(el('p', 'wks-grundpreis', p.grundpreisText))
|
||||
var vl = versandLink()
|
||||
if (vl) {
|
||||
var vz = el('p', 'wks-preis-versand')
|
||||
vz.appendChild(vl)
|
||||
art.appendChild(vz)
|
||||
}
|
||||
if (p.ausverkauft === true || p.verfuegbar === false) art.appendChild(el('p', 'wks-aus', 'Ausverkauft'))
|
||||
li.appendChild(art)
|
||||
return li
|
||||
@@ -1029,9 +1040,10 @@
|
||||
rechts.appendChild(preisEl)
|
||||
rechts.appendChild(gpEl)
|
||||
var hinweis = el('p', 'wks-hinweiszeile')
|
||||
if (nichtLeer(shop().steuerHinweisKurz)) hinweis.appendChild(document.createTextNode(shop().steuerHinweisKurz + ' '))
|
||||
hinweis.appendChild(knopf('wks-link', 'zzgl. Versand', function (e) { zeigeVersand(e.currentTarget) }))
|
||||
rechts.appendChild(hinweis)
|
||||
var dvl = versandLink()
|
||||
if (nichtLeer(shop().steuerHinweisKurz)) hinweis.appendChild(document.createTextNode(shop().steuerHinweisKurz + (dvl ? ' ' : '')))
|
||||
if (dvl) hinweis.appendChild(dvl)
|
||||
if (hinweis.childNodes.length) rechts.appendChild(hinweis)
|
||||
verfEl.textContent = verkaeuflich ? 'Verfügbar' : 'Ausverkauft'
|
||||
rechts.appendChild(verfEl)
|
||||
|
||||
|
||||
@@ -132,6 +132,19 @@ test('I-3: ausdrücklicher AGB-Hinweis direkt über dem Bestellknopf, AGB und Wi
|
||||
assert.ok(stelle.includes("createTextNode('.')"))
|
||||
})
|
||||
|
||||
test('M-3: "zzgl. Versand" steht bei jedem Preis (Karte und Detail) und nur, wenn der Shop versendet - Abholshops zeigen es nicht', () => {
|
||||
assert.equal([...OHNE_KOMMENTARE.matchAll(/'zzgl\. Versand'/g)].length, 1, 'der Text steht an genau einer Stelle (versandLink)')
|
||||
const helfer = OHNE_KOMMENTARE.slice(OHNE_KOMMENTARE.indexOf('function versandAktiv'), OHNE_KOMMENTARE.indexOf('function gewaehrKasten'))
|
||||
assert.match(helfer, /function versandAktiv \(\) \{ return liste\(shop\(\)\.lieferlaender\)\.length > 0 \}/, 'Versand = es gibt Lieferländer')
|
||||
assert.match(helfer, /return versandAktiv\(\) \? knopf\('wks-link', 'zzgl\. Versand'/)
|
||||
const karte = OHNE_KOMMENTARE.slice(OHNE_KOMMENTARE.indexOf('function karte (p)'), OHNE_KOMMENTARE.indexOf('// ------------------------------------------------------------ Detail'))
|
||||
assert.ok(karte.indexOf("el('p', 'wks-preis'") < karte.indexOf('versandLink()'), 'Hinweis nach dem Preis in der Karte')
|
||||
const raster = OHNE_KOMMENTARE.slice(OHNE_KOMMENTARE.indexOf('function zeichneRaster'), OHNE_KOMMENTARE.indexOf('function karte (p)'))
|
||||
assert.ok(!raster.includes('Versand'), 'unter dem Raster steht nur der Steuerhinweis')
|
||||
const detail = OHNE_KOMMENTARE.slice(OHNE_KOMMENTARE.indexOf('function zeichneDetail'), OHNE_KOMMENTARE.indexOf('function aktualisierePreis'))
|
||||
assert.ok(detail.includes('versandLink()') && detail.includes('if (hinweis.childNodes.length) rechts.appendChild(hinweis)'))
|
||||
})
|
||||
|
||||
test('Weiterleitung zu Stripe nur zu einer https-Adresse (httpsUrl), Links der Rechtstexte nur als https', () => {
|
||||
assert.match(OHNE_KOMMENTARE, /var ziel = d \? httpsUrl\(d\.url\) : ''/)
|
||||
assert.match(OHNE_KOMMENTARE, /location\.href = ziel/)
|
||||
|
||||
Reference in new issue
Block a user