Strony artykułów, sitemap, GA4, polityka prywatności

- Klikalne kafelki i slideshow → /blog/[slug]
- Strona artykułu: cover fullwidth z parallax, tytuł nad obrazkiem
- Schema.org BlogPosting na stronach postów
- Dynamiczny sitemap.xml (artykuły + produkty z Directus, revalidate=0)
- Google Analytics GA4 (G-7067BL7TDN)
- Polityka prywatności /polityka-prywatnosci
- CookieBanner z linkiem do polityki
- Footer: działający link do polityki prywatności

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Paweł Domański
2026-07-05 19:49:19 +02:00
parent eb09da9e4d
commit 8d4dc8a6f1
12 changed files with 382 additions and 18 deletions
+12 -4
View File
@@ -1,11 +1,12 @@
import React from 'react';
import Link from 'next/link';
const BentoCard = ({ type, badge, title, category, readTime, bgImage, hero = false, style = {} }) => {
return (
const BentoCard = ({ type, badge, title, category, readTime, bgImage, hero = false, style = {}, href }) => {
const inner = (
<article
className={`bento-card${hero ? ' hero-article' : ''}`}
style={style}
tabIndex={0}
style={href ? {} : style}
tabIndex={href ? -1 : 0}
aria-label={`${category}: ${title}`}
>
<div
@@ -32,6 +33,13 @@ const BentoCard = ({ type, badge, title, category, readTime, bgImage, hero = fal
</div>
</article>
);
if (href) return (
<Link href={href} style={style} className="bento-card-link">
{inner}
</Link>
);
return inner;
};
export default BentoCard;