feat: implement compare functionality, checkout flow, and add 30 blog posts

This commit is contained in:
MichalC
2026-06-27 18:09:22 +02:00
parent 6bdfe18e18
commit 0c59086a6b
63 changed files with 9766 additions and 1874 deletions
+20 -53
View File
@@ -71,45 +71,24 @@ export function Header() {
},
{
label: "Serwis i czyszczenie",
href: "/klimatyzacja",
href: "/klimatyzacja#serwis",
description: "Odgrzybianie, naprawy i przeglądy",
},
],
},
{
title: "Montaż w Twoim mieście",
items: [
{ label: "Klimatyzacja Wrocław", href: "/klimatyzacja/wroclaw", description: "Montaż i serwis we Wrocławiu" },
{ label: "Klimatyzacja Legnica", href: "/klimatyzacja/legnica", description: "Obsługujemy Legnicę i okolice" },
{ label: "Klimatyzacja Wałbrzych", href: "/klimatyzacja/walbrzych", description: "Montaż w Wałbrzychu" },
{ label: "Klimatyzacja Jelenia Góra", href: "/klimatyzacja/jelenia-gora", description: "Dolny Śląsk — południe" },
{ label: "→ Wszystkie miasta", href: "/klimatyzacja#miasta", description: "Cały Dolny Śląsk" },
],
},
];
const homeSections = [
{
title: "Prace wykończeniowe",
items: [
{
label: "Remonty i wykończenia",
href: "/uslugi-domowe/remonty",
description: "Kompleksowe remonty mieszkań i łazienek",
},
{
label: "Drobne naprawy",
href: "/uslugi-domowe",
description: "Pomoc „złotej rączki” w drobnych usterkach",
},
],
},
{
title: "Instalacje i AGD",
items: [
{
label: "Hydraulika",
href: "/uslugi-domowe/hydraulika",
description: "Montaż armatury, naprawy i instalacje wod-kan",
},
{
label: "Serwis AGD / Lodówki",
href: "/uslugi-domowe/serwis-agd",
description: "Szybka naprawa lodówek i urządzeń chłodniczych",
},
],
},
];
return (
<>
@@ -123,7 +102,7 @@ export function Header() {
<span className="text-accent">.</span>
</span>
<span className="text-xs text-muted-foreground font-medium border-l border-border pl-3">
Klimatyzacja i usługi domowe
Klimatyzacja i pompy ciepła
</span>
</Link>
@@ -139,15 +118,10 @@ export function Header() {
<div className="flex items-center gap-1">
<GlobalSearch />
<Link
href="/koszyk"
className="p-2 text-primary hover:text-accent hover:bg-background rounded-lg transition-colors relative outline-none"
aria-label={`Koszyk z ${cartCount} przedmiotami`}
>
<Link href="/koszyk" className="p-2 text-primary hover:text-accent hover:bg-background rounded-lg transition-colors relative outline-none" aria-label="Koszyk">
<ShoppingBag className="size-5" />
{cartCount > 0 && (
<span className="absolute top-0 right-0 bg-cta text-white text-[10px] font-bold size-4 rounded-full flex items-center justify-center translate-x-0.5 -translate-y-0.5">
<span className="absolute top-0 right-0 bg-accent text-white text-[10px] font-bold size-4 rounded-full flex items-center justify-center translate-x-0.5 -translate-y-0.5">
{cartCount}
</span>
)}
@@ -188,11 +162,7 @@ export function Header() {
>
Pompy ciepła
</Link>
<NavDropdown
label="Usługi domowe"
triggerHref="/uslugi-domowe"
sections={homeSections}
/>
<Link
href="/realizacje"
className="text-sm font-medium text-primary hover:text-accent transition-colors"
@@ -246,18 +216,15 @@ export function Header() {
{/* Mobile Icons (Cart + Hamburger) */}
<div className="flex items-center gap-3">
<Link
href="/koszyk"
className="p-2 text-primary hover:text-accent transition-colors relative outline-none"
aria-label={`Koszyk z ${cartCount} przedmiotami`}
>
<ShoppingBag className="size-6" />
<Link href="/koszyk" className="p-2 text-primary hover:text-accent hover:bg-muted transition-colors rounded-lg relative outline-none" aria-label="Koszyk">
<ShoppingBag className="size-5" />
{cartCount > 0 && (
<span className="absolute top-0 right-0 bg-cta text-white text-[10px] font-bold size-4 rounded-full flex items-center justify-center translate-x-0.5 -translate-y-0.5">
<span className="absolute top-0 right-0 bg-accent text-white text-[10px] font-bold size-4 rounded-full flex items-center justify-center translate-x-0.5 -translate-y-0.5">
{cartCount}
</span>
)}
</Link>
<button
onClick={() => setIsMobileMenuOpen(true)}
className="p-2 text-primary hover:text-accent hover:bg-muted transition-colors rounded-lg outline-none"