"use client"; import React, { useState } from 'react'; import { Product } from '@/types/types'; import { formatCurrency } from '@/lib/utils'; import { useCartStore } from '@/lib/cart-store'; import { ShoppingCart, Heart, Scale, ShieldCheck, Truck, Clock, AlertCircle, Wrench, ChevronDown, Check, Zap, Volume2, ThermometerSun, Settings, ArrowRightLeft, Sun, Mail, Info, Snowflake, CreditCard } from 'lucide-react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; interface ProductInfoProps { product: Product; } export function ProductInfo({ product }: ProductInfoProps) { const router = useRouter(); const addItem = useCartStore((state) => state.addItem); // Wariant const hasVariants = product.variants && product.variants.length > 0; const defaultVariant = hasVariants ? product.variants![0] : null; const [selectedVariant, setSelectedVariant] = useState(defaultVariant); const [hoursPerDay, setHoursPerDay] = useState(1); // Aktualnie wybrana cena const currentPrice = selectedVariant ? selectedVariant.price : product.price; const currentPriceWithInstall = selectedVariant ? selectedVariant.priceWithInstall : product.priceWithInstall; const currentPower = selectedVariant ? selectedVariant.power : product.power; const currentLabel = selectedVariant ? selectedVariant.label : undefined; const [addedMessage, setAddedMessage] = useState(''); // Kalkulator energii const costPerKwh = 1.15; // Przykładowy koszt 1 kWh w PLN const consumptionCooling = currentPower / 4; const consumptionHeating = currentPower / 3.8; const costHourCooling = consumptionCooling * costPerKwh; const costHourHeating = consumptionHeating * costPerKwh; const monthlyCostCooling = costHourCooling * hoursPerDay * 30; const monthlyCostHeating = costHourHeating * hoursPerDay * 30; const handleAddToCart = (withInstall: boolean) => { addItem({ slug: product.slug, name: product.name, brand: product.brand, image: product.image || '/hero.jpg', power: currentPower, label: currentLabel, price: currentPrice, priceWithInstall: currentPriceWithInstall || currentPrice, withInstall }); setAddedMessage(withInstall ? 'Dodano z montażem' : 'Dodano do koszyka'); setTimeout(() => setAddedMessage(''), 3000); }; return (
{product.brand}

{product.name}

{/* Cechy skrócone */} {product.features && (
{product.features.map((feat, idx) => ( {feat} ))}
)} {/* Wybór Wariantu */} {hasVariants && (
Wybierz wariant mocy:
{product.variants!.map((variant, idx) => ( ))}
)} {/* Szybka specyfikacja z ikonami */}
{product.specs?.["Klasa energetyczna chłodzenie/grzanie"]?.split("/")[0]?.trim() || "A++"}
{product.heating !== false && (
{product.specs?.["Klasa energetyczna chłodzenie/grzanie"]?.split("/")[1]?.trim() || "A+"}
)}
{(currentPower / 4).toFixed(2)} kW/h
{currentPower} kW
{/* Szczegółowa specyfikacja skrócona (lista) */} {/* Dostępność i Kontakt */}
Dostępny od ręki
Zapytaj o produkt
{/* Ceny i CTA */}
{/* Cena z montażem (Promowana) */} {currentPriceWithInstall && (
Cena z montażem dla konsumenta (8% VAT)
{formatCurrency(currentPriceWithInstall)}
Darmowa wycena
)} {/* Cena bez montażu */}
Cena urządzenia bez montażu (23% VAT)
{formatCurrency(currentPrice)}
{/* Feedback o dodaniu */} {addedMessage && (
{addedMessage}.
)}
{/* Atuty */}
Darmowa dostawa na terenie Polski
5 lat gwarancji na urządzenie i montaż
Pełne wsparcie na każdym etapie
); }