feat: refactor calculator room logic, update pricing, add dynamic prepositions

This commit is contained in:
MichalC
2026-07-05 21:22:09 +02:00
parent 59fd9a9b97
commit dbbf35a401
6 changed files with 349 additions and 128 deletions
+6 -6
View File
@@ -71,7 +71,7 @@ export default async function MiastoPage({ params }: Props) {
{/* HERO */}
<HeroSection
eyebrow={`Klimatyzacja ${city.name} · Dolny Śląsk · F-Gaz`}
title={`Montaż klimatyzacji w ${city.nameDopelniacz}`}
title={`Montaż klimatyzacji ${city.przyimek} ${city.nameDopelniacz}`}
subtitle={city.heroSubtitle}
ctaText="Zamów bezpłatną wycenę"
ctaLink="/kontakt"
@@ -95,7 +95,7 @@ export default async function MiastoPage({ params }: Props) {
Klimatyzacja {city.name}
</span>
<h2 className="text-2xl md:text-3xl font-bold text-primary font-heading mt-2 mb-4">
Profesjonalny montaż klimatyzacji w {city.nameDopelniacz}
Profesjonalny montaż klimatyzacji {city.przyimek} {city.nameDopelniacz}
</h2>
<p className="text-text-muted leading-relaxed mb-4">{city.introText}</p>
<p className="text-text-muted leading-relaxed">{city.localFacts}</p>
@@ -106,7 +106,7 @@ export default async function MiastoPage({ params }: Props) {
<Clock className="size-5 text-accent shrink-0 mt-0.5" />
<div>
<p className="font-semibold text-primary text-sm">Czas montażu</p>
<p className="text-text-muted text-sm mt-1">Standardowy montaż split w {city.nameDopelniacz} trwa 4–8 godzin. Multisplit — 1–2 dni robocze.</p>
<p className="text-text-muted text-sm mt-1">Standardowy montaż split {city.przyimek} {city.nameDopelniacz} trwa 4–8 godzin. Multisplit — 1–2 dni robocze.</p>
</div>
</div>
<div className="p-5 rounded-xl bg-slate-50 border border-border flex gap-4 items-start">
@@ -144,7 +144,7 @@ export default async function MiastoPage({ params }: Props) {
<ProcessSteps
steps={acProcessSteps}
eyebrow="Jak Działamy"
title={`Montaż klimatyzacji w ${city.nameDopelniacz} — krok po kroku`}
title={`Montaż klimatyzacji ${city.przyimek} ${city.nameDopelniacz} — krok po kroku`}
subtitle="Od pierwszego kontaktu do przekazania gotowej instalacji. Każdy etap pod kontrolą."
/>
@@ -161,7 +161,7 @@ export default async function MiastoPage({ params }: Props) {
Pompy ciepła {city.name}
</div>
<h2 className="text-2xl md:text-3xl font-bold text-white font-heading leading-tight mb-4">
Pompa ciepła w {city.nameDopelniacz}
Pompa ciepła {city.przyimek} {city.nameDopelniacz}
</h2>
<p className="text-white/80 leading-relaxed mb-6">{city.heatPumpTeaser}</p>
<Link href="/pompy-ciepla">
@@ -243,7 +243,7 @@ export default async function MiastoPage({ params }: Props) {
{/* KOŃCOWE CTA */}
<CtaBanner
title={`Potrzebujesz klimatyzacji w ${city.nameDopelniacz}?`}
title={`Potrzebujesz klimatyzacji ${city.przyimek} ${city.nameDopelniacz}?`}
subtitle="Odpowiemy w ciągu godziny i umówimy bezpłatny audyt w dogodnym terminie."
ctaText="Zadzwoń lub napisz"
ctaLink="/kontakt"