184 lines
6.8 KiB
TypeScript
184 lines
6.8 KiB
TypeScript
import { HeroSection } from "@/components/sections/HeroSection";
|
|
import { AdvantagesBar } from "@/components/sections/AdvantagesBar";
|
|
import { ServicesGrid } from "@/components/sections/ServicesGrid";
|
|
import { WhyUs } from "@/components/sections/WhyUs";
|
|
import { FeaturedProducts } from "@/components/sections/FeaturedProducts";
|
|
import { Testimonials } from "@/components/sections/Testimonials";
|
|
import { BlogPreview } from "@/components/sections/BlogPreview";
|
|
import { CtaBanner } from "@/components/sections/CtaBanner";
|
|
import { companyDetails } from "@/content/company";
|
|
import { Wrench, Phone, ArrowRight } from "lucide-react";
|
|
import Link from "next/link";
|
|
|
|
export default function Home() {
|
|
const baseUrl = process.env.NEXT_PUBLIC_BASE_URL || 'https://thermcool.pl';
|
|
|
|
const jsonLd = {
|
|
"@context": "https://schema.org",
|
|
"@graph": [
|
|
{
|
|
"@type": "HVACBusiness",
|
|
"@id": `${baseUrl}/#business`,
|
|
"name": companyDetails.name,
|
|
"legalName": companyDetails.legalName,
|
|
"url": baseUrl,
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": `${baseUrl}/logo.png`,
|
|
"width": 200,
|
|
"height": 60,
|
|
},
|
|
"image": `${baseUrl}/og-image.jpg`,
|
|
"telephone": companyDetails.phone,
|
|
"email": companyDetails.email,
|
|
"address": {
|
|
"@type": "PostalAddress",
|
|
"streetAddress": companyDetails.address.street,
|
|
"addressLocality": companyDetails.address.city,
|
|
"postalCode": companyDetails.address.zipCode,
|
|
"addressRegion": companyDetails.address.region,
|
|
"addressCountry": "PL",
|
|
},
|
|
"geo": {
|
|
"@type": "GeoCoordinates",
|
|
"latitude": 51.1079,
|
|
"longitude": 17.0385,
|
|
},
|
|
"priceRange": "$$",
|
|
"currenciesAccepted": "PLN",
|
|
"paymentAccepted": "Gotówka, Przelew bankowy, Karta",
|
|
"openingHoursSpecification": [
|
|
{
|
|
"@type": "OpeningHoursSpecification",
|
|
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
|
|
"opens": "08:00",
|
|
"closes": "18:00",
|
|
},
|
|
{
|
|
"@type": "OpeningHoursSpecification",
|
|
"dayOfWeek": ["Saturday"],
|
|
"opens": "09:00",
|
|
"closes": "14:00",
|
|
},
|
|
],
|
|
"areaServed": [
|
|
{ "@type": "City", "name": "Wrocław" },
|
|
{ "@type": "City", "name": "Legnica" },
|
|
{ "@type": "City", "name": "Wałbrzych" },
|
|
{ "@type": "City", "name": "Jelenia Góra" },
|
|
{ "@type": "City", "name": "Lubin" },
|
|
{ "@type": "AdministrativeArea", "name": "Dolny Śląsk" },
|
|
],
|
|
"hasOfferCatalog": {
|
|
"@type": "OfferCatalog",
|
|
"name": "Usługi HVAC",
|
|
"itemListElement": [
|
|
{
|
|
"@type": "Offer",
|
|
"itemOffered": {
|
|
"@type": "Service",
|
|
"name": "Montaż klimatyzacji",
|
|
"description": "Profesjonalny montaż klimatyzatorów split i multisplit z uprawnieniami F-Gaz. Ceny od 1200 zł.",
|
|
},
|
|
},
|
|
{
|
|
"@type": "Offer",
|
|
"itemOffered": {
|
|
"@type": "Service",
|
|
"name": "Montaż pomp ciepła",
|
|
"description": "Dobór i montaż pomp ciepła powietrze-woda z pomocą w uzyskaniu dofinansowania z Czystego Powietrza.",
|
|
},
|
|
},
|
|
{
|
|
"@type": "Offer",
|
|
"itemOffered": {
|
|
"@type": "Service",
|
|
"name": "Serwis klimatyzacji",
|
|
"description": "Przeglądy, czyszczenie, odgrzybianie i naprawy klimatyzatorów. Ceny od 250 zł.",
|
|
},
|
|
},
|
|
],
|
|
},
|
|
"sameAs": [
|
|
companyDetails.socials.facebook,
|
|
companyDetails.socials.instagram,
|
|
companyDetails.socials.google,
|
|
],
|
|
},
|
|
{
|
|
"@type": "WebSite",
|
|
"@id": `${baseUrl}/#website`,
|
|
"url": baseUrl,
|
|
"name": "ThermCool",
|
|
"description": "Klimatyzacja i pompy ciepła na Dolnym Śląsku",
|
|
"inLanguage": "pl-PL",
|
|
"publisher": { "@id": `${baseUrl}/#business` },
|
|
"potentialAction": {
|
|
"@type": "SearchAction",
|
|
"target": {
|
|
"@type": "EntryPoint",
|
|
"urlTemplate": `${baseUrl}/sklep?search={search_term_string}`,
|
|
},
|
|
"query-input": "required name=search_term_string",
|
|
},
|
|
},
|
|
],
|
|
};
|
|
|
|
return (
|
|
<>
|
|
{/* LocalBusiness Schema for Google Search SEO */}
|
|
<script
|
|
type="application/ld+json"
|
|
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
|
|
/>
|
|
|
|
<HeroSection />
|
|
<AdvantagesBar />
|
|
<ServicesGrid />
|
|
{/* BrandsBar will go here in Group B */}
|
|
<FeaturedProducts />
|
|
<WhyUs />
|
|
{/* ProjectsSection will go here in Group B */}
|
|
<Testimonials />
|
|
|
|
{/* Serwis LG */}
|
|
<section className="py-16 bg-white">
|
|
<div className="max-w-5xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div className="bg-primary rounded-2xl p-8 md:p-10 flex flex-col md:flex-row items-start md:items-center gap-6">
|
|
<div className="flex-1">
|
|
<div className="inline-flex items-center gap-2 px-3 py-1 bg-white/10 rounded-full text-white text-xs font-semibold mb-4">
|
|
<Wrench className="size-3.5" />
|
|
Specjalizacja
|
|
</div>
|
|
<h2 className="text-2xl md:text-3xl font-extrabold text-white font-heading mb-3">
|
|
Serwisujemy LG —<br />tam gdzie inni mówią nie
|
|
</h2>
|
|
<p className="text-white/75 text-sm leading-relaxed max-w-lg">
|
|
Większość firm odmawia naprawy klimatyzatorów LG. My mamy doświadczenie
|
|
i narzędzia żeby skutecznie diagnozować i naprawiać te urządzenia
|
|
na terenie całego Dolnego Śląska.
|
|
</p>
|
|
</div>
|
|
<div className="flex flex-col gap-3 shrink-0">
|
|
<Link href="/serwis-lg">
|
|
<button className="flex items-center gap-2 px-6 py-3 bg-accent text-white rounded-xl font-bold hover:bg-accent/90 transition-colors whitespace-nowrap">
|
|
Dowiedz się więcej <ArrowRight className="size-4" />
|
|
</button>
|
|
</Link>
|
|
<a href={`tel:${companyDetails.phoneRaw}`}>
|
|
<button className="flex items-center gap-2 px-6 py-3 bg-white/10 text-white rounded-xl font-bold hover:bg-white/20 transition-colors border border-white/20 whitespace-nowrap">
|
|
<Phone className="size-4" /> Zadzwoń teraz
|
|
</button>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<BlogPreview />
|
|
<CtaBanner bgVariant="accent-light" />
|
|
</>
|
|
);
|
|
}
|