feat: filtr jednostek multisplit, ostatnio oglądane, sklep pompy ciepła, czyszczenie komentarzy, checkbox zgody

- Filtr 'Ilość jednostek wewn.' w sklepie (1–9 jednostek, checkboxy, liczniki)
- Komponent RecentlyViewedProducts + Zustand store (recently-viewed-store.ts)
- Pompy ciepła dodane do sklepu i nawigacji (Header + MobileMenu)
- Logotypy marek zaktualizowane (Daikin, Panasonic + odświeżone istniejące)
- Checkbox zgody RODO w /zamowienie powiększony (w-5 h-5)
- Usunięcie ~65 zbędnych komentarzy WHAT z 12 plików (build: 0 errors)
- Plik analyze_products.ts (pomocniczy skrypt diagnostyczny)
This commit is contained in:
MichalC
2026-08-02 20:31:55 +02:00
parent 092cff1899
commit c9e4283789
37 changed files with 331 additions and 123 deletions
@@ -0,0 +1,34 @@
'use client';
import { useEffect, useState } from 'react';
import { useRecentlyViewedStore } from '@/lib/recently-viewed-store';
import { ProductCard } from './ProductCard';
export function RecentlyViewedProducts({ currentSlug }: { currentSlug: string }) {
const [mounted, setMounted] = useState(false);
const items = useRecentlyViewedStore((state) => state.items);
useEffect(() => {
const t = setTimeout(() => setMounted(true), 0);
return () => clearTimeout(t);
}, []);
if (!mounted) return null;
const displayItems = items.filter(item => item.slug !== currentSlug).slice(0, 4);
if (displayItems.length === 0) return null;
return (
<div className="mt-16 border-t border-border pt-12">
<h2 className="text-2xl font-bold text-primary font-heading mb-6">
Ostatnio oglądane przez Ciebie
</h2>
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
{displayItems.map(product => (
<ProductCard key={product.slug} product={product} />
))}
</div>
</div>
);
}