chore: remove leftover patch files
This commit is contained in:
@@ -1,386 +0,0 @@
|
|||||||
commit 88cb4c516d41bf8d248f92df9bf79717ffa83ee4
|
|
||||||
Author: MichalC <[email protected]>
|
|
||||||
Date: Sat Aug 1 12:27:14 2026 +0200
|
|
||||||
|
|
||||||
fix: linting cleanup, TS errors, mobile cookie banner and hero max-width
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index f508126..86aeb6e 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -31,7 +31,7 @@ export function HeroSection({
|
|
||||||
features
|
|
||||||
}: HeroSectionProps = {}) {
|
|
||||||
return (
|
|
||||||
- <section className="relative bg-primary min-h-[480px] md:min-h-[600px] flex items-center overflow-hidden">
|
|
||||||
+ <section className="relative bg-primary min-h-[480px] md:min-h-[600px] flex items-center overflow-hidden max-w-[2560px] mx-auto">
|
|
||||||
{/* TODO ZDJĘCIE HERO: realne zdjęcie firmy/montażu, format poziomy min. 1920×1080, plik public/hero.jpg */}
|
|
||||||
<Image
|
|
||||||
src={backgroundImage}
|
|
||||||
@@ -85,6 +85,11 @@ export function HeroSection({
|
|
||||||
<ArrowRight className="size-5 group-hover:translate-x-1 transition-transform" />
|
|
||||||
</Link>
|
|
||||||
)}
|
|
||||||
+ {secondaryCtaText && secondaryCtaLink && (
|
|
||||||
+ <Link href={secondaryCtaLink} className="w-fit sm:w-auto btn btn-outline bg-white/10 text-white border-white/20 hover:bg-white hover:text-primary font-bold px-8">
|
|
||||||
+ <span>{secondaryCtaText}</span>
|
|
||||||
+ </Link>
|
|
||||||
+ )}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
commit 17a43fc6d63c11f904ab98c24cecdde24734722f
|
|
||||||
Author: AI Assistant <[email protected]>
|
|
||||||
Date: Wed Jul 22 21:36:54 2026 +0200
|
|
||||||
|
|
||||||
feat: update design elements, add AUX brand logo support and rename blog image
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index da2561a..f508126 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -78,16 +78,13 @@ export function HeroSection({
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* CTA Buttons */}
|
|
||||||
- <div className="mt-10 flex flex-col sm:flex-row items-center gap-4 w-full sm:w-auto">
|
|
||||||
+ <div className="mt-10 flex flex-col sm:flex-row items-start sm:items-center gap-4 w-full sm:w-auto">
|
|
||||||
{ctaText && ctaLink && (
|
|
||||||
- <Link href={ctaLink} className="w-full sm:w-auto group btn btn-primary text-white font-bold">
|
|
||||||
-
|
|
||||||
- <span>{ctaText}</span>
|
|
||||||
- <ArrowRight className="size-5 group-hover:translate-x-1 transition-transform" />
|
|
||||||
-
|
|
||||||
-</Link>
|
|
||||||
+ <Link href={ctaLink} className="w-fit sm:w-auto group btn btn-primary text-white font-bold px-8">
|
|
||||||
+ <span>{ctaText}</span>
|
|
||||||
+ <ArrowRight className="size-5 group-hover:translate-x-1 transition-transform" />
|
|
||||||
+ </Link>
|
|
||||||
)}
|
|
||||||
-
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
commit d545e7fdccd67e904e32c8da24dc3e1965a0a8e6
|
|
||||||
Author: MichalC <[email protected]>
|
|
||||||
Date: Sun Jul 19 14:01:52 2026 +0200
|
|
||||||
|
|
||||||
chore: rozwiązanie konfliktów, aktualizacja zależności i usunięcie wpisu na blogu
|
|
||||||
|
|
||||||
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 = (
|
|
||||||
<>
|
|
||||||
- <span className="text-white">Klimatyzacja i pompy ciepła</span><br />
|
|
||||||
+ <span className="text-white">Klimatyzacja</span><br />
|
|
||||||
<span className="text-accent">na Dolnym Śląsku</span>
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
|
|
||||||
commit d64266243ea788a9ec03a3b95d12056a7d1a5d87
|
|
||||||
Author: AI Assistant <[email protected]>
|
|
||||||
Date: Sun Jul 19 12:32:31 2026 +0200
|
|
||||||
|
|
||||||
fix: apply recent accessibility and layout changes
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index c5b1d00..2881f15 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -80,12 +80,12 @@ export function HeroSection({
|
|
||||||
{/* CTA Buttons */}
|
|
||||||
<div className="mt-10 flex flex-col sm:flex-row items-center gap-4 w-full sm:w-auto">
|
|
||||||
{ctaText && ctaLink && (
|
|
||||||
- <Link href={ctaLink} className="w-full sm:w-auto group">
|
|
||||||
- <button className="btn btn-primary text-white font-bold w-full sm:w-auto">
|
|
||||||
+ <Link href={ctaLink} className="w-full sm:w-auto group btn btn-primary text-white font-bold">
|
|
||||||
+
|
|
||||||
<span>{ctaText}</span>
|
|
||||||
<ArrowRight className="size-5 group-hover:translate-x-1 transition-transform" />
|
|
||||||
- </button>
|
|
||||||
- </Link>
|
|
||||||
+
|
|
||||||
+</Link>
|
|
||||||
)}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
commit 03d425d4b1ad3360c495b1abc97352c190d69ccc
|
|
||||||
Author: MichalC <[email protected]>
|
|
||||||
Date: Sat Jul 4 19:38:22 2026 +0200
|
|
||||||
|
|
||||||
feat: nowe strony SEO, zdjęcia miast, loga marek, dane firmy, nawigacja, cennik
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index 11f2089..c5b1d00 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -27,7 +27,7 @@ export function HeroSection({
|
|
||||||
ctaLink = "/kontakt",
|
|
||||||
secondaryCtaText = "Zobacz ofertę",
|
|
||||||
secondaryCtaLink = "/sklep",
|
|
||||||
- backgroundImage = "/hero.jpg",
|
|
||||||
+ backgroundImage = "/images/hero/hero-section-image.webp",
|
|
||||||
features
|
|
||||||
}: HeroSectionProps = {}) {
|
|
||||||
return (
|
|
||||||
|
|
||||||
commit 59808f12432f76d087e901c1d14009cf47b6ced0
|
|
||||||
Author: MichalC <[email protected]>
|
|
||||||
Date: Sun Jun 28 15:03:36 2026 +0200
|
|
||||||
|
|
||||||
feat: Zaktualizuj sekcję hero, nawigację, kalkulator i formularz zgłoszenia awarii
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index b24c640..11f2089 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -15,14 +15,14 @@ export interface HeroSectionProps {
|
|
||||||
}
|
|
||||||
|
|
||||||
export function HeroSection({
|
|
||||||
- eyebrow = "Klimatyzacja i Pompy Ciepła",
|
|
||||||
+ eyebrow = "Wrocław i Dolny Śląsk",
|
|
||||||
title = (
|
|
||||||
<>
|
|
||||||
- Klimatyzacja, pompy ciepła<br className="hidden sm:inline" />
|
|
||||||
- <span className="text-accent"> i usługi domowe</span>
|
|
||||||
+ <span className="text-white">Klimatyzacja i pompy ciepła</span><br />
|
|
||||||
+ <span className="text-accent">na Dolnym Śląsku</span>
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
- subtitle = "Oferujemy profesjonalny dobór, czysty montaż i sprawny serwis klimatyzacji oraz pomp ciepła. Solidnie, estetycznie i z pełną gwarancją.",
|
|
||||||
+ subtitle = "Montaż, serwis i naprawa — przyjeżdżamy do Ciebie. Obsługujemy tam gdzie inni odmawiają, w tym klimatyzatory LG.",
|
|
||||||
ctaText = "Darmowa wycena",
|
|
||||||
ctaLink = "/kontakt",
|
|
||||||
secondaryCtaText = "Zobacz ofertę",
|
|
||||||
@@ -87,29 +87,10 @@ export function HeroSection({
|
|
||||||
</button>
|
|
||||||
</Link>
|
|
||||||
)}
|
|
||||||
- {secondaryCtaText && secondaryCtaLink && (
|
|
||||||
- <Link href={secondaryCtaLink} className="w-full sm:w-auto">
|
|
||||||
- <button className="btn btn-outline btn-primary bg-white font-bold w-full sm:w-auto">
|
|
||||||
- {secondaryCtaText}
|
|
||||||
- </button>
|
|
||||||
- </Link>
|
|
||||||
- )}
|
|
||||||
- </div>
|
|
||||||
|
|
||||||
- {/* Trust Bar (Hero specific) */}
|
|
||||||
- <div className="mt-8 flex items-center gap-3 text-sm font-medium text-white/80">
|
|
||||||
- <div className="flex items-center text-yellow-400">
|
|
||||||
- <Star className="size-4 fill-current" />
|
|
||||||
- <Star className="size-4 fill-current" />
|
|
||||||
- <Star className="size-4 fill-current" />
|
|
||||||
- <Star className="size-4 fill-current" />
|
|
||||||
- <Star className="size-4 fill-current" />
|
|
||||||
- </div>
|
|
||||||
- <span>
|
|
||||||
- {/* MOCK: do podmiany */}
|
|
||||||
- 4,9/5 w Google · 500+ realizacji · 12 lat na rynku
|
|
||||||
- </span>
|
|
||||||
</div>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
commit 0c59086a6b96ff3ca28a56fb4c06a3afb43504ff
|
|
||||||
Author: MichalC <[email protected]>
|
|
||||||
Date: Sat Jun 27 18:09:22 2026 +0200
|
|
||||||
|
|
||||||
feat: implement compare functionality, checkout flow, and add 30 blog posts
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index f08cb13..b24c640 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -15,18 +15,18 @@ export interface HeroSectionProps {
|
|
||||||
}
|
|
||||||
|
|
||||||
export function HeroSection({
|
|
||||||
- eyebrow = "HVAC & Usługi Wykończeniowe",
|
|
||||||
+ eyebrow = "Klimatyzacja i Pompy Ciepła",
|
|
||||||
title = (
|
|
||||||
<>
|
|
||||||
Klimatyzacja, pompy ciepła<br className="hidden sm:inline" />
|
|
||||||
<span className="text-accent"> i usługi domowe</span>
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
- subtitle = "Oferujemy profesjonalny dobór, czysty montaż i sprawny serwis. Wykończymy Twoje wnętrza i naprawimy instalacje. Solidnie i z polecenia.",
|
|
||||||
+ subtitle = "Oferujemy profesjonalny dobór, czysty montaż i sprawny serwis klimatyzacji oraz pomp ciepła. Solidnie, estetycznie i z pełną gwarancją.",
|
|
||||||
ctaText = "Darmowa wycena",
|
|
||||||
ctaLink = "/kontakt",
|
|
||||||
secondaryCtaText = "Zobacz ofertę",
|
|
||||||
- secondaryCtaLink = "/uslugi-domowe",
|
|
||||||
+ secondaryCtaLink = "/sklep",
|
|
||||||
backgroundImage = "/hero.jpg",
|
|
||||||
features
|
|
||||||
}: HeroSectionProps = {}) {
|
|
||||||
|
|
||||||
commit 6bdfe18e18a61241abd3a464cf1ed5f80fd37c2b
|
|
||||||
Author: Radosław Smoliński <[email protected]>
|
|
||||||
Date: Mon Jun 22 00:45:57 2026 +0200
|
|
||||||
|
|
||||||
fix: ui tweaks including button styles, texts, and missing account link
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
index e8de06d..f08cb13 100644
|
|
||||||
--- a/components/sections/HeroSection.tsx
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -70,7 +70,7 @@ export function HeroSection({
|
|
||||||
<ul className="mt-6 grid grid-cols-2 gap-3 text-white/90 font-medium">
|
|
||||||
{features.map((feature, idx) => (
|
|
||||||
<li key={idx} className="flex items-center gap-2">
|
|
||||||
- <Star className="size-4 text-accent fill-accent" />
|
|
||||||
+ <Star className="size-4 text-yellow-400 fill-yellow-400" />
|
|
||||||
{feature}
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
@@ -98,7 +98,7 @@ export function HeroSection({
|
|
||||||
|
|
||||||
{/* Trust Bar (Hero specific) */}
|
|
||||||
<div className="mt-8 flex items-center gap-3 text-sm font-medium text-white/80">
|
|
||||||
- <div className="flex items-center text-cta">
|
|
||||||
+ <div className="flex items-center text-yellow-400">
|
|
||||||
<Star className="size-4 fill-current" />
|
|
||||||
<Star className="size-4 fill-current" />
|
|
||||||
<Star className="size-4 fill-current" />
|
|
||||||
|
|
||||||
commit dfd38885170fe6556115d15fc33c4ed633aa82c9
|
|
||||||
Author: Radosław Smoliński <[email protected]>
|
|
||||||
Date: Sun Jun 21 21:53:15 2026 +0200
|
|
||||||
|
|
||||||
feat: complete website implementation
|
|
||||||
|
|
||||||
diff --git a/components/sections/HeroSection.tsx b/components/sections/HeroSection.tsx
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..e8de06d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/components/sections/HeroSection.tsx
|
|
||||||
@@ -0,0 +1,117 @@
|
|
||||||
+import Link from "next/link";
|
|
||||||
+import Image from "next/image";
|
|
||||||
+import { ArrowRight, Star } from "lucide-react";
|
|
||||||
+
|
|
||||||
+export interface HeroSectionProps {
|
|
||||||
+ eyebrow?: string;
|
|
||||||
+ title?: React.ReactNode;
|
|
||||||
+ subtitle?: string;
|
|
||||||
+ ctaText?: string;
|
|
||||||
+ ctaLink?: string;
|
|
||||||
+ secondaryCtaText?: string;
|
|
||||||
+ secondaryCtaLink?: string;
|
|
||||||
+ backgroundImage?: string;
|
|
||||||
+ features?: string[];
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+export function HeroSection({
|
|
||||||
+ eyebrow = "HVAC & Usługi Wykończeniowe",
|
|
||||||
+ title = (
|
|
||||||
+ <>
|
|
||||||
+ Klimatyzacja, pompy ciepła<br className="hidden sm:inline" />
|
|
||||||
+ <span className="text-accent"> i usługi domowe</span>
|
|
||||||
+ </>
|
|
||||||
+ ),
|
|
||||||
+ subtitle = "Oferujemy profesjonalny dobór, czysty montaż i sprawny serwis. Wykończymy Twoje wnętrza i naprawimy instalacje. Solidnie i z polecenia.",
|
|
||||||
+ ctaText = "Darmowa wycena",
|
|
||||||
+ ctaLink = "/kontakt",
|
|
||||||
+ secondaryCtaText = "Zobacz ofertę",
|
|
||||||
+ secondaryCtaLink = "/uslugi-domowe",
|
|
||||||
+ backgroundImage = "/hero.jpg",
|
|
||||||
+ features
|
|
||||||
+}: HeroSectionProps = {}) {
|
|
||||||
+ return (
|
|
||||||
+ <section className="relative bg-primary min-h-[480px] md:min-h-[600px] flex items-center overflow-hidden">
|
|
||||||
+ {/* TODO ZDJĘCIE HERO: realne zdjęcie firmy/montażu, format poziomy min. 1920×1080, plik public/hero.jpg */}
|
|
||||||
+ <Image
|
|
||||||
+ src={backgroundImage}
|
|
||||||
+ alt="Montaż klimatyzacji i pomp ciepła"
|
|
||||||
+ fill
|
|
||||||
+ priority
|
|
||||||
+ sizes="100vw"
|
|
||||||
+ className="object-cover"
|
|
||||||
+ />
|
|
||||||
+
|
|
||||||
+ {/* NAKŁADKA POD TEKST - jednolita, przyciemniająca */}
|
|
||||||
+ <div className="absolute inset-0 bg-black/50" />
|
|
||||||
+
|
|
||||||
+ <div className="relative z-10 w-full max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 md:py-24">
|
|
||||||
+ <div className="flex flex-col items-start text-left max-w-3xl">
|
|
||||||
+ {/* Badge */}
|
|
||||||
+ {eyebrow && (
|
|
||||||
+ <div className="inline-flex items-center gap-1.5 px-3.5 py-1.5 rounded-full bg-accent/20 border border-accent/30 text-white text-xs font-semibold uppercase tracking-wider mb-6 font-heading">
|
|
||||||
+ <span className="size-2 rounded-full bg-accent" />
|
|
||||||
+ {eyebrow}
|
|
||||||
+ </div>
|
|
||||||
+ )}
|
|
||||||
+
|
|
||||||
+ {/* Heading */}
|
|
||||||
+ <h1 className="text-3xl md:text-5xl lg:text-6xl font-extrabold tracking-tight font-heading leading-[1.1] text-white">
|
|
||||||
+ {title}
|
|
||||||
+ </h1>
|
|
||||||
+
|
|
||||||
+ {/* Subtitle */}
|
|
||||||
+ <p className="mt-6 text-base md:text-lg lg:text-xl text-white/90 max-w-2xl leading-relaxed">
|
|
||||||
+ {subtitle}
|
|
||||||
+ </p>
|
|
||||||
+
|
|
||||||
+ {/* Optional Features List */}
|
|
||||||
+ {features && features.length > 0 && (
|
|
||||||
+ <ul className="mt-6 grid grid-cols-2 gap-3 text-white/90 font-medium">
|
|
||||||
+ {features.map((feature, idx) => (
|
|
||||||
+ <li key={idx} className="flex items-center gap-2">
|
|
||||||
+ <Star className="size-4 text-accent fill-accent" />
|
|
||||||
+ {feature}
|
|
||||||
+ </li>
|
|
||||||
+ ))}
|
|
||||||
+ </ul>
|
|
||||||
+ )}
|
|
||||||
+
|
|
||||||
+ {/* CTA Buttons */}
|
|
||||||
+ <div className="mt-10 flex flex-col sm:flex-row items-center gap-4 w-full sm:w-auto">
|
|
||||||
+ {ctaText && ctaLink && (
|
|
||||||
+ <Link href={ctaLink} className="w-full sm:w-auto group">
|
|
||||||
+ <button className="btn btn-primary text-white font-bold w-full sm:w-auto">
|
|
||||||
+ <span>{ctaText}</span>
|
|
||||||
+ <ArrowRight className="size-5 group-hover:translate-x-1 transition-transform" />
|
|
||||||
+ </button>
|
|
||||||
+ </Link>
|
|
||||||
+ )}
|
|
||||||
+ {secondaryCtaText && secondaryCtaLink && (
|
|
||||||
+ <Link href={secondaryCtaLink} className="w-full sm:w-auto">
|
|
||||||
+ <button className="btn btn-outline btn-primary bg-white font-bold w-full sm:w-auto">
|
|
||||||
+ {secondaryCtaText}
|
|
||||||
+ </button>
|
|
||||||
+ </Link>
|
|
||||||
+ )}
|
|
||||||
+ </div>
|
|
||||||
+
|
|
||||||
+ {/* Trust Bar (Hero specific) */}
|
|
||||||
+ <div className="mt-8 flex items-center gap-3 text-sm font-medium text-white/80">
|
|
||||||
+ <div className="flex items-center text-cta">
|
|
||||||
+ <Star className="size-4 fill-current" />
|
|
||||||
+ <Star className="size-4 fill-current" />
|
|
||||||
+ <Star className="size-4 fill-current" />
|
|
||||||
+ <Star className="size-4 fill-current" />
|
|
||||||
+ <Star className="size-4 fill-current" />
|
|
||||||
+ </div>
|
|
||||||
+ <span>
|
|
||||||
+ {/* MOCK: do podmiany */}
|
|
||||||
+ 4,9/5 w Google · 500+ realizacji · 12 lat na rynku
|
|
||||||
+ </span>
|
|
||||||
+ </div>
|
|
||||||
+ </div>
|
|
||||||
+ </div>
|
|
||||||
+ </section>
|
|
||||||
+ );
|
|
||||||
+}
|
|
||||||
-100
@@ -1,100 +0,0 @@
|
|||||||
import Link from "next/link";
|
|
||||||
import Image from "next/image";
|
|
||||||
import { ArrowRight, Star } from "lucide-react";
|
|
||||||
|
|
||||||
export interface HeroSectionProps {
|
|
||||||
eyebrow?: string;
|
|
||||||
title?: React.ReactNode;
|
|
||||||
subtitle?: string;
|
|
||||||
ctaText?: string;
|
|
||||||
ctaLink?: string;
|
|
||||||
secondaryCtaText?: string;
|
|
||||||
secondaryCtaLink?: string;
|
|
||||||
backgroundImage?: string;
|
|
||||||
features?: string[];
|
|
||||||
}
|
|
||||||
|
|
||||||
export function HeroSection({
|
|
||||||
eyebrow = "Wrocław i Dolny Śląsk",
|
|
||||||
title = (
|
|
||||||
<>
|
|
||||||
<span className="text-white">Klimatyzacja</span><br />
|
|
||||||
<span className="text-accent">na Dolnym Śląsku</span>
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
subtitle = "Montaż, serwis i naprawa — przyjeżdżamy do Ciebie. Obsługujemy tam gdzie inni odmawiają, w tym klimatyzatory LG.",
|
|
||||||
ctaText = "Darmowa wycena",
|
|
||||||
ctaLink = "/kontakt",
|
|
||||||
secondaryCtaText = "Zobacz ofertę",
|
|
||||||
secondaryCtaLink = "/sklep",
|
|
||||||
backgroundImage = "/images/hero/hero-section-image.webp",
|
|
||||||
features
|
|
||||||
}: HeroSectionProps = {}) {
|
|
||||||
return (
|
|
||||||
<section className="relative bg-primary min-h-[480px] md:min-h-[600px] flex items-center overflow-hidden max-w-[2560px] mx-auto">
|
|
||||||
{/* TODO ZDJĘCIE HERO: realne zdjęcie firmy/montażu, format poziomy min. 1920×1080, plik public/hero.jpg */}
|
|
||||||
<Image
|
|
||||||
src={backgroundImage}
|
|
||||||
alt="Montaż klimatyzacji i pomp ciepła"
|
|
||||||
fill
|
|
||||||
priority
|
|
||||||
sizes="100vw"
|
|
||||||
className="object-cover"
|
|
||||||
/>
|
|
||||||
|
|
||||||
{/* NAKŁADKA POD TEKST - jednolita, przyciemniająca */}
|
|
||||||
<div className="absolute inset-0 bg-black/50" />
|
|
||||||
|
|
||||||
<div className="relative z-10 w-full max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 md:py-24">
|
|
||||||
<div className="flex flex-col items-start text-left max-w-3xl">
|
|
||||||
{/* Badge */}
|
|
||||||
{eyebrow && (
|
|
||||||
<div className="inline-flex items-center gap-1.5 px-3.5 py-1.5 rounded-full bg-accent/20 border border-accent/30 text-white text-xs font-semibold uppercase tracking-wider mb-6 font-heading">
|
|
||||||
<span className="size-2 rounded-full bg-accent" />
|
|
||||||
{eyebrow}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Heading */}
|
|
||||||
<h1 className="text-3xl md:text-5xl lg:text-6xl font-extrabold tracking-tight font-heading leading-[1.1] text-white">
|
|
||||||
{title}
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
{/* Subtitle */}
|
|
||||||
<p className="mt-6 text-base md:text-lg lg:text-xl text-white/90 max-w-2xl leading-relaxed">
|
|
||||||
{subtitle}
|
|
||||||
</p>
|
|
||||||
|
|
||||||
{/* Optional Features List */}
|
|
||||||
{features && features.length > 0 && (
|
|
||||||
<ul className="mt-6 grid grid-cols-2 gap-3 text-white/90 font-medium">
|
|
||||||
{features.map((feature, idx) => (
|
|
||||||
<li key={idx} className="flex items-center gap-2">
|
|
||||||
<Star className="size-4 text-yellow-400 fill-yellow-400" />
|
|
||||||
{feature}
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* CTA Buttons */}
|
|
||||||
<div className="mt-10 flex flex-col sm:flex-row items-start sm:items-center gap-4 w-full sm:w-auto">
|
|
||||||
{ctaText && ctaLink && (
|
|
||||||
<Link href={ctaLink} className="w-fit sm:w-auto group btn btn-primary text-white font-bold px-8">
|
|
||||||
<span>{ctaText}</span>
|
|
||||||
<ArrowRight className="size-5 group-hover:translate-x-1 transition-transform" />
|
|
||||||
</Link>
|
|
||||||
)}
|
|
||||||
{secondaryCtaText && secondaryCtaLink && (
|
|
||||||
<Link href={secondaryCtaLink} className="w-fit sm:w-auto btn btn-outline bg-white/10 text-white border-white/20 hover:bg-white hover:text-primary font-bold px-8">
|
|
||||||
<span>{secondaryCtaText}</span>
|
|
||||||
</Link>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user