Add mobile swipe gallery, shared ProductCard, dynamic Datenschutz address, GSC verification
- ProductGallery: touch swipe (left/right) now navigates slides on mobile, previously click-only. - New shared ProductCard component used by ProductGrid/RelatedProducts/ MerklisteGrid — product title is now the card's link (replaces the separate "Mehr erfahren" line), consistent aspect ratio across all three grids, more compact cards. - Datenschutz: name/address/email now come from company-settings via a new VerantwortlicherBlock, same single-source pattern as Impressum's AnbieterAngaben — no more hand-typed address to keep in sync. - layout.tsx: render googleSearchConsoleVerification via Next's native verification.google metadata field. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -123,7 +123,11 @@ Every page can carry real per-page metadata — `/blog/[slug]`'s
|
||||
`generateMetadata()` reads a post's own `seoTitle`/`seoDescription`/`seoImage`
|
||||
(see the `posts` collection below); `app/layout.tsx`'s `generateMetadata()`
|
||||
reads `getSeoSettings()` (ISR-cached, backed by `company-settings`) for
|
||||
the site-wide fallback.
|
||||
the site-wide fallback. That same `generateMetadata()` also sets
|
||||
`verification: { google: seo.googleSearchConsoleVerification }` when an
|
||||
admin has filled in company-settings' SEO-tab verification field — Next.js
|
||||
renders that natively as `<meta name="google-site-verification">`, no
|
||||
separate literal tag in this file.
|
||||
|
||||
JSON-LD structured data (`app/lib/structuredData.ts`, no headless
|
||||
external validation step, just direct grepping of the rendered
|
||||
|
||||
Reference in New Issue
Block a user