Add GoogleMapsEmbed.tsx — consent-gated Maps embed, prepared but unused
Uses Klaro's own built-in contextual-consent mechanism (not loadTrackingCode.ts's script-injection path) — the iframe renders with data-name="google-maps" and its real src; Klaro's DOM scan finds it after mount and blanks/restores src based on that service's consent state, showing its own placeholder (styled via KlaroConsentManager.tsx's KlaroTheme) in the meantime. No map embedded anywhere in the app yet — this is prep work only, per explicit request ahead of an actual page needing one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1854,6 +1854,31 @@ has its own dedicated Live Preview renderer, not the shared generic
|
||||
order-status one — there's no order for this email type, so no fake
|
||||
"Bestellnummer" line; CTA is "Zum Produkt", not "Bestellung ansehen".
|
||||
|
||||
## Google Maps (consent-gated embed, prepared but unused)
|
||||
|
||||
No map is embedded anywhere in this app yet — `GoogleMapsEmbed.tsx`
|
||||
exists as ready-to-use prep work. Unlike GA/Facebook Pixel/GTM (scripts
|
||||
this app injects itself, see the tracking-codes section above), an
|
||||
embedded iframe is gated by **Klaro's own built-in contextual-consent
|
||||
mechanism**, not `loadTrackingCode.ts`: the iframe renders with its real
|
||||
`src` and a `data-name="google-maps"` attribute; Klaro's DOM scan
|
||||
(`renderContextualConsentNotices`, runs as part of `Klaro.render()`)
|
||||
finds it after mount, blanks `src` and swaps in its own "Karte laden?"
|
||||
placeholder (styled to match this site via `KlaroConsentManager.tsx`'s
|
||||
`KlaroTheme`) until that service's consent is granted, then restores the
|
||||
real `src`. `loadTrackingCode.ts`'s `google-maps` case is a deliberate
|
||||
no-op — there's nothing to inject, Klaro handles the swap entirely on its
|
||||
own.
|
||||
|
||||
Backend prerequisite: exactly one `tracking-codes` row with
|
||||
`provider: google-maps` must exist and be `active` (see the Payload
|
||||
README) — `klaroConfig.ts`'s `serviceName()` special-cases this provider
|
||||
to the fixed name `"google-maps"` (not id-based like every other
|
||||
provider) since there's no distinguishing ID the way GA/FB/GTM each have
|
||||
one; a second `google-maps` row would collide on that name. To actually
|
||||
use it: `<GoogleMapsEmbed src="<Google Maps embed URL>" title="..." />`
|
||||
anywhere.
|
||||
|
||||
## Product image gallery
|
||||
|
||||
`ProductGallery.tsx` — main image + thumbnail strip, swappable on click,
|
||||
|
||||
Reference in New Issue
Block a user