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ą

- + */} {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 */} -
    + {/*
    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.

    - -

    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