diff --git a/app/(formalne)/regulamin/page.tsx b/app/(formalne)/regulamin/page.tsx index cdd444e..363ba00 100644 --- a/app/(formalne)/regulamin/page.tsx +++ b/app/(formalne)/regulamin/page.tsx @@ -47,8 +47,6 @@ export default function RegulaminPage() {

§ 4. Płatności i ceny

1. Wszystkie ceny na stronie są cenami brutto (zawierają podatek VAT). -
- 2. Podatek VAT na urządzenia sprzedawane z usługą montażu dla osób fizycznych w budynkach mieszkalnych o powierzchni do 300 m² rozliczany jest zgodnie z odpowiednimi przepisami podatkowymi (np. stawką 8%).

§ 5. Odstąpienie od umowy

diff --git a/app/page.tsx b/app/page.tsx index b5cea88..a6922d5 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -144,7 +144,7 @@ export default function Home() { {/* Serwis LG */}
-
+
@@ -182,7 +182,7 @@ export default function Home() { {/* Cennik usług */}
-
+
{/* Header (Sekcja hero nad kartami) */}
diff --git a/components/sections/PricingTable.tsx b/components/sections/PricingTable.tsx index 116ab97..17c6cbf 100644 --- a/components/sections/PricingTable.tsx +++ b/components/sections/PricingTable.tsx @@ -12,8 +12,7 @@ export const PricingTable = () => { {item.name} {item.priceNet} zł - {item.priceGrossPrivate} zł - {item.priceGrossCompany} zł + {item.priceGrossCompany} zł )); }; @@ -34,14 +33,13 @@ export const PricingTable = () => { Usługa Cena netto - Brutto (8% VAT)* - Brutto (23% VAT) + Brutto {/* Split */} - + Montaż układów SPLIT @@ -49,7 +47,7 @@ export const PricingTable = () => { {/* Multisplit */} - + Montaż układów MULTISPLIT @@ -57,7 +55,7 @@ export const PricingTable = () => { {/* Usługi dodatkowe */} - + Usługi dodatkowe i serwis @@ -87,13 +85,6 @@ export const PricingTable = () => { Pobierz cennik PDF - -
- -

- *Stawka 8% VAT obowiązuje przy montażu w obiektach mieszkalnych (domy do 300m², mieszkania do 150m²). -

-
diff --git a/components/shop/ProductsGrid.tsx b/components/shop/ProductsGrid.tsx index 0fd7c57..b35d9b5 100644 --- a/components/shop/ProductsGrid.tsx +++ b/components/shop/ProductsGrid.tsx @@ -342,38 +342,56 @@ export function ProductsGrid({ products, brands }: ProductsGridProps) { {/* Głośność */} -
-
- od - { - const val = Number(e.target.value); - setHalasMin(Math.min(val, halasMax - 1)); - setPage(1); - }} - className="flex-1 accent-accent cursor-pointer" - /> - {halasMin} dB +
+ {/* od */} +
+
+ od + {halasMin} dB +
+
+
+
+ { setHalasMin(Math.min(Number(e.target.value), halasMax - 1)); setPage(1); }} + className="absolute w-full h-1.5 opacity-0 cursor-pointer z-10" + /> +
+
-
- do - { - const val = Number(e.target.value); - setHalasMax(Math.max(val, halasMin + 1)); - setPage(1); - }} - className="flex-1 accent-accent cursor-pointer" - /> - {halasMax} dB + {/* do */} +
+
+ do + {halasMax} dB +
+
+
+
+ { setHalasMax(Math.max(Number(e.target.value), halasMin + 1)); setPage(1); }} + className="absolute w-full h-1.5 opacity-0 cursor-pointer z-10" + /> +
+
diff --git a/content/company.ts b/content/company.ts index 16666d9..eddfa79 100644 --- a/content/company.ts +++ b/content/company.ts @@ -19,4 +19,16 @@ export const companyDetails = { instagram: "https://instagram.com", google: "https://google.com/maps", }, + stats: [ + { label: "Lat doświadczenia", value: "15+", number: 15 }, + { label: "Ukończonych realizacji", value: "3500+", number: 3500 }, + { label: "Zadowolonych klientów", value: "99%", number: 99 }, + { label: "Obsługiwanych miast", value: "12+", number: 12 }, + ], + certificates: [ + { name: "Certyfikat F-Gaz dla przedsiębiorcy", image: "/placeholder-fgaz.png" }, + { name: "Autoryzowany Instalator Daikin", image: "/placeholder-daikin.png" }, + { name: "Autoryzowany Instalator Mitsubishi Electric", image: "/placeholder-mitsubishi.png" }, + { name: "Certyfikat Rzetelna Firma", image: "/placeholder-rzetelna.png" }, + ], }; diff --git a/content/faq.ts b/content/faq.ts index 247c293..cea0a79 100644 --- a/content/faq.ts +++ b/content/faq.ts @@ -25,12 +25,6 @@ export const faqData: FaqItem[] = [ answer: 'Tak, montaż jednostki zewnętrznej na elewacji budynku (części wspólnej) wymaga uzyskania zgody administratora, spółdzielni lub wspólnoty. W przypadku montażu na posadzce balkonu, który jest przypisany do mieszkania, często zgoda nie jest wymagana, jednak warto to potwierdzić w regulaminie.', category: 'klimatyzacja', }, - { - id: 'klimatyzacja-vat', - question: 'Kiedy obowiązuje stawka VAT 8%, a kiedy 23%?', - answer: 'Stawka VAT 8% dotyczy usługi montażu wraz z urządzeniem w obiektach budowlanych zaliczanych do budownictwa objętego społecznym programem mieszkaniowym (np. domy jednorodzinne do 300 m², mieszkania do 150 m²). Dla firm oraz w obiektach o większym metrażu obowiązuje stawka VAT 23%.', - category: 'klimatyzacja', - }, { id: 'klimatyzacja-przeglad', question: 'Jak często należy wykonywać przegląd i odgrzybianie klimatyzacji?', diff --git a/content/posts.ts b/content/posts.ts index 4576085..3652c89 100644 --- a/content/posts.ts +++ b/content/posts.ts @@ -53,7 +53,7 @@ export const posts: Post[] = [
  • Sprawdzenie szczelności i uruchomienie systemu.
  • Ukryte koszty, o których warto pamiętać

    -

    Często zdarza się, że instalacja wymaga dłuższego prowadzenia rur, kucia bruzd w ścianach czy użycia podnośnika koszowego, jeśli mieszkasz na wyższym piętrze. Należy także pamiętać, że instalacja w budownictwie mieszkaniowym objęta jest stawką VAT 8%, a w lokalach usługowych 23%.

    +

    Często zdarza się, że instalacja wymaga dłuższego prowadzenia rur, kucia bruzd w ścianach czy użycia podnośnika koszowego, jeśli mieszkasz na wyższym piętrze.

    Chcesz poznać dokładną wycenę dla Twojego domu? Zadzwoń do nas, przygotujemy ofertę bez ukrytych kosztów.

    ` }, diff --git a/docs/pages/02-klimatyzacja.md b/docs/pages/02-klimatyzacja.md index cabde18..ee35301 100644 --- a/docs/pages/02-klimatyzacja.md +++ b/docs/pages/02-klimatyzacja.md @@ -32,7 +32,6 @@ Wzorzec: rozbudowana strona montażu z konkurencji (proces + cennik + FAQ). - Tabela z `content/pricing.ts`: kolumny — usługa / cena netto / brutto os. prywatna / brutto firma. - Sekcje tabeli: split, multisplit, usługi dodatkowe. - Pod tabelą: „Co obejmuje montaż podstawowy" (lista) + przycisk „Pobierz cennik PDF" (placeholder). -- Adnotacja o stawkach VAT 8%/23%. ### 7. Producenci (`BrandsGrid`) - Siatka logotypów marek (placeholdery), które firma montuje. diff --git a/docs/pages/12-15-ecommerce.md b/docs/pages/12-15-ecommerce.md index 8d4a3c0..bd5a7b6 100644 --- a/docs/pages/12-15-ecommerce.md +++ b/docs/pages/12-15-ecommerce.md @@ -29,7 +29,7 @@ Z `content/products.ts` przez `getProducts()`. Filtrowanie/sortowanie po stronie ### Układ 1. **Górna część — dwie kolumny:** - Lewa (`ProductGallery`, Client) — duże zdjęcie + miniatury. - - Prawa (`ProductInfo`) — marka, nazwa (H1), cena, cena z montażem (VAT 8%), + - Prawa (`ProductInfo`) — marka, nazwa (H1), cena, cena z montażem, wybór wariantu mocy (jeśli są warianty), przyciski „Dodaj do koszyka" i „Kup z montażem", ikony: lista życzeń, porównanie. Atuty: dostawa, gwarancja, raty. 2. **Zakładki** (`Tabs`, Client) — Opis / Dane techniczne (tabela ze `specs`) / Opinie. diff --git a/docs/specs/05-data-model.md b/docs/specs/05-data-model.md index f9f0548..fb2da4c 100644 --- a/docs/specs/05-data-model.md +++ b/docs/specs/05-data-model.md @@ -15,7 +15,7 @@ type Product = { category: "scienne" | "multisplit" | "przenosne" | "kasetonowe" | "konsolowe"; power: number; // kW price: number; // cena urządzenia (brutto) - priceWithInstall: number; // cena z montażem (8% VAT) + priceWithInstall: number; // cena z montażem variants?: { label: string; power: number; price: number }[]; image: string; // placeholder na razie features: string[]; // np. ["Wi-Fi", "jonizacja", "grzanie"] diff --git a/public/brands/aux.webp b/public/brands/aux.webp deleted file mode 100644 index 3f6e26e..0000000 Binary files a/public/brands/aux.webp and /dev/null differ