diff --git a/app/favicon.ico b/app/favicon.ico
index 718d6fe..a8bd557 100644
Binary files a/app/favicon.ico and b/app/favicon.ico differ
diff --git a/app/icon.png b/app/icon.png
new file mode 100644
index 0000000..a8bd557
Binary files /dev/null and b/app/icon.png differ
diff --git a/app/klimatyzacja/[miasto]/page.tsx b/app/klimatyzacja/[miasto]/page.tsx
index 607b013..f0b1661 100644
--- a/app/klimatyzacja/[miasto]/page.tsx
+++ b/app/klimatyzacja/[miasto]/page.tsx
@@ -146,7 +146,7 @@ export default async function MiastoPage({ params }: Props) {
{/* POMPY CIEPŁA CTA */}
-
+ {/*
@@ -180,7 +180,7 @@ export default async function MiastoPage({ params }: Props) {
-
+ */}
{/* DLACZEGO MY */}
diff --git a/app/klimatyzacja/page.tsx b/app/klimatyzacja/page.tsx
index 843cce4..6279ec5 100644
--- a/app/klimatyzacja/page.tsx
+++ b/app/klimatyzacja/page.tsx
@@ -81,7 +81,7 @@ export default function KlimatyzacjaPage() {
ctaLink="/sklep"
secondaryCtaText="Sprawdź cennik"
secondaryCtaLink="#cennik"
- backgroundImage="https://images.unsplash.com/photo-1527689638836-411945a2b57c?w=1600&q=80"
+ backgroundImage="/images/services/montaz.webp"
features={[
'Bezpłatny audyt',
'Estetyczny montaż',
diff --git a/app/layout.tsx b/app/layout.tsx
index 79e5887..f89bd69 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -22,10 +22,10 @@ const fontHeading = Poppins({
export const metadata: Metadata = {
title: {
- default: "ThermCool | Klimatyzacja i Pompy Ciepła Wrocław — Dolny Śląsk",
+ default: "ThermCool | Klimatyzacja Wrocław — Dolny Śląsk",
template: "%s | ThermCool",
},
- description: "Profesjonalny montaż i serwis klimatyzacji oraz pomp ciepła na Dolnym Śląsku. Uprawnienia F-Gaz, bezpłatny audyt, estetyczny montaż. Zadzwoń po wycenę!",
+ description: "Profesjonalny montaż i serwis klimatyzacji na Dolnym Śląsku. Uprawnienia F-Gaz, bezpłatny audyt, estetyczny montaż. Zadzwoń po wycenę!",
metadataBase: new URL(process.env.NEXT_PUBLIC_BASE_URL || 'https://thermcool.pl'),
openGraph: {
type: 'website',
diff --git a/app/pompy-ciepla/page.tsx b/app/pompy-ciepla/page.tsx
index 0c48230..a568bc3 100644
--- a/app/pompy-ciepla/page.tsx
+++ b/app/pompy-ciepla/page.tsx
@@ -18,7 +18,11 @@ export const metadata: Metadata = {
}
};
+import { notFound } from 'next/navigation';
+
export default function PompyCieplaPage() {
+ notFound();
+
const faqPompyJsonLd = {
"@context": "https://schema.org",
"@type": "FAQPage",
diff --git a/components/kalkulator/KalkulatorClient.tsx b/components/kalkulator/KalkulatorClient.tsx
index 89afa87..3b70c87 100644
--- a/components/kalkulator/KalkulatorClient.tsx
+++ b/components/kalkulator/KalkulatorClient.tsx
@@ -288,12 +288,12 @@ export function KalkulatorClient({ products }: Props) {
Klimatyzacja
Chłodzenie latem, opcjonalne grzanie zimą
- setDeviceType('pompa')}
+ {/* setDeviceType('pompa')}
className={`p-5 rounded-xl border-2 text-left transition-all ${deviceType === 'pompa' ? 'border-accent bg-accent/5' : 'border-border hover:border-accent'}`}>
🔥
Pompa ciepła
Głównie ogrzewanie domu z niskim kosztem eksploatacji
-
+ */}
{deviceType === 'pompa' && !pumpFormSent && (
diff --git a/components/layout/Footer.tsx b/components/layout/Footer.tsx
index 1cb3498..51ebabc 100644
--- a/components/layout/Footer.tsx
+++ b/components/layout/Footer.tsx
@@ -65,11 +65,11 @@ export function Footer() {
Klimatyzacja i Montaż
-
+ {/*
Pompy Ciepła
-
+ */}
diff --git a/components/layout/Header.tsx b/components/layout/Header.tsx
index de0c375..4098cf2 100644
--- a/components/layout/Header.tsx
+++ b/components/layout/Header.tsx
@@ -146,7 +146,7 @@ export function Header() {
.
- Klimatyzacja i pompy ciepła
+ Klimatyzacja na Dolnym Śląsku
@@ -200,12 +200,12 @@ export function Header() {
sections={acSections}
align="left"
/>
-
Pompy ciepła
-
+ */}
{/* 2. Pompy Ciepła */}
- */}
{/* Nowa sekcja: Miasta */}
diff --git a/components/sections/BlogPreview.tsx b/components/sections/BlogPreview.tsx
index 3fcc4e1..488056f 100644
--- a/components/sections/BlogPreview.tsx
+++ b/components/sections/BlogPreview.tsx
@@ -19,7 +19,7 @@ export function BlogPreview() {
const getCategoryLabel = (cat: string) => {
const labels: Record
= {
klimatyzacja: "Klimatyzacja",
- "pompy-ciepla": "Pompy ciepła",
+ // "pompy-ciepla": "Pompy ciepła",
porady: "Porady ogólne",
};
return labels[cat] || cat;
diff --git a/components/sections/BrandsGrid.tsx b/components/sections/BrandsGrid.tsx
index 39bed83..d1a9fc0 100644
--- a/components/sections/BrandsGrid.tsx
+++ b/components/sections/BrandsGrid.tsx
@@ -1,5 +1,6 @@
import React from 'react';
import Image from 'next/image';
+import Link from 'next/link';
const brands = [
{ name: 'Daikin', logo: '/brands/daikin.webp' },
@@ -16,18 +17,22 @@ const brands = [
export const BrandsGrid = () => {
return (
-
-
-
+
+
+
Autoryzowany partner czołowych producentów
-
+
{brands.map((brand, idx) => (
-
- {/* Fallback to text for placeholder since we don't have images */}
- {brand.name}
-
+
+ {/* Tutaj docelowo można dać tag Image */}
+
{brand.name}
+
))}
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
index 2881f15..da2561a 100644
--- a/components/sections/HeroSection.tsx
+++ b/components/sections/HeroSection.tsx
@@ -18,7 +18,7 @@ export function HeroSection({
eyebrow = "Wrocław i Dolny Śląsk",
title = (
<>
-
Klimatyzacja i pompy ciepła
+
Klimatyzacja
na Dolnym Śląsku
>
),
diff --git a/components/sections/PillarsSection.tsx b/components/sections/PillarsSection.tsx
index 792093d..1ec418c 100644
--- a/components/sections/PillarsSection.tsx
+++ b/components/sections/PillarsSection.tsx
@@ -19,7 +19,7 @@ export function PillarsSection() {
Chłód i Ogrzewanie
- Klimatyzacja i pompy ciepła dla Twojego domu lub biura. Oferujemy profesjonalny audyt, dobór optymalnej mocy, autoryzowany montaż i stałą opiekę serwisową.
+ Klimatyzacja dla Twojego domu lub biura. Oferujemy profesjonalny audyt, dobór optymalnej mocy, autoryzowany montaż i stałą opiekę serwisową.
diff --git a/components/sections/PostsGrid.tsx b/components/sections/PostsGrid.tsx
index 3de7e82..4771aa8 100644
--- a/components/sections/PostsGrid.tsx
+++ b/components/sections/PostsGrid.tsx
@@ -16,7 +16,7 @@ const POSTS_PER_PAGE = 6;
const categories = [
{ id: 'wszystkie', label: 'Wszystkie' },
{ id: 'klimatyzacja', label: 'Klimatyzacja' },
- { id: 'pompy-ciepla', label: 'Pompy ciepła' },
+ // { id: 'pompy-ciepla', label: 'Pompy ciepła' },
{ id: 'porady', label: 'Porady' },
];
@@ -39,7 +39,7 @@ export function PostsGrid({ posts }: PostsGridProps) {
const categoryLabels: Record = {
'klimatyzacja': 'Klimatyzacja',
- 'pompy-ciepla': 'Pompy Ciepła',
+ // 'pompy-ciepla': 'Pompy Ciepła',
'porady': 'Porady'
};
diff --git a/components/sections/PricingTable.tsx b/components/sections/PricingTable.tsx
index 17c6cbf..38393f0 100644
--- a/components/sections/PricingTable.tsx
+++ b/components/sections/PricingTable.tsx
@@ -81,10 +81,10 @@ export const PricingTable = () => {
diff --git a/content/posts.ts b/content/posts.ts
index 51905da..de89ed0 100644
--- a/content/posts.ts
+++ b/content/posts.ts
@@ -401,27 +401,7 @@ export const posts: Post[] = [
Nasza wycena zawsze jest darmowa i ostateczna. Po audycie w Wałbrzychu lub Świdnicy otrzymujesz gwarancję ceny — nie zaskoczymy Cię dodatkowymi kosztami ukrytymi na fakturze końcowej. Sprawdź nas!
`
},
- {
- slug: 'klimatyzacja-jelenia-gora-pensjonat',
- title: 'Klimatyzacja dla pensjonatów i hoteli w Jeleniej Górze i Karkonoszach',
- category: 'klimatyzacja',
- excerpt: 'Dobre opinie na Booking zależą od komfortu w upały. Specyfika montażu klimatyzacji dla branży HoReCa w Karkonoszach i Jeleniej Górze.',
- date: '2026-05-12T10:00:00Z',
- author: 'Tomasz Kowalski',
- image: '',
- content: `
- Inwestycja w oceny na Booking.com
- Hotele i pensjonaty w Jeleniej Górze, Karpaczu czy Szklarskiej Porębie żyją z turystyki przez cały rok. O ile zimą kluczowe jest ogrzewanie, o tyle letnie upały w dusznych, poddaszowych pokojach prowadzą do lawiny słabych ocen od gości. Klimatyzacja to dziś konieczność.
- Systemy Multi Split dla obiektów turystycznych
- W hotelarstwie najlepiej sprawdzają się rozbudowane instalacje multisplit lub systemy VRF/VRV.
-
- Estetyka elewacji: Kilkanaście pokoi obsługiwanych przez 1-2 agregaty schowane na płaskim dachu lub za budynkiem.
- Centralne sterowanie: Recepcja może zablokować widełki temperatur (np. min. 22°C), odciąć chłodzenie w pustych pokojach lub wyłączyć je po otwarciu okna (kontaktrony).
- Cisza absolutna: W pokojach hotelowych wymogiem jest tryb super silent poniżej 20 dB, aby nie zakłócać snu.
-
- Przygotowujemy zaawansowane projekty dla branży HoReCa w Karkonoszach z bezinwazyjnym montażem (ukrycie instalacji na strychach). Skontaktuj się z działem B2B ThermCool.
- `
- },
+
{
slug: 'pompa-ciepla-stary-dom',
title: 'Pompa ciepła w starym domu — czy to możliwe bez termomodernizacji?',
@@ -1781,15 +1761,17 @@ export const posts: Post[] = [
}
];
-export const getPosts = () => posts;
-export const getPostBySlug = (slug: string) => posts.find((p) => p.slug === slug);
-export const getFeaturedPosts = (limit = 3) => posts.filter((p) => p.featured).slice(0, limit);
-export const getPostsByCategory = (category: string) => posts.filter((p) => p.category === category);
-export const getRecentPosts = (limit = 6) => [...posts].sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()).slice(0, limit);
+const activePosts = posts.filter(p => p.category !== 'pompy-ciepla');
+
+export const getPosts = () => activePosts;
+export const getPostBySlug = (slug: string) => activePosts.find((p) => p.slug === slug);
+export const getFeaturedPosts = (limit = 3) => activePosts.filter((p) => p.featured).slice(0, limit);
+export const getPostsByCategory = (category: string) => activePosts.filter((p) => p.category === category);
+export const getRecentPosts = (limit = 6) => [...activePosts].sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()).slice(0, limit);
// Dodane z powrotem funkcje wywoływane w komponentach, które nie zostały uwzględnione w prompcie:
-export const getFeaturedPost = () => posts.find((p) => p.featured) || posts[0];
+export const getFeaturedPost = () => activePosts.find((p) => p.featured) || activePosts[0];
export const getLatestPosts = (limit = 3) => getRecentPosts(limit);
export const getRelatedPosts = (slug: string, category: string, limit = 2) => {
- return posts.filter(p => p.slug !== slug && p.category === category).slice(0, limit);
+ return activePosts.filter(p => p.slug !== slug && p.category === category).slice(0, limit);
};
diff --git a/public/images/favicon/favicon.webp b/public/images/favicon/favicon.webp
new file mode 100644
index 0000000..cc9576e
Binary files /dev/null and b/public/images/favicon/favicon.webp differ
diff --git a/public/images/services/montaz.webp b/public/images/services/montaz.webp
new file mode 100644
index 0000000..8d2a1e6
Binary files /dev/null and b/public/images/services/montaz.webp differ