Files
afda3711-c5c4-48fc-8fd5-9a8…/src/app/page.tsx
2026-05-10 11:42:38 +00:00

205 lines
9.0 KiB
TypeScript

"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactSplit from '@/components/sections/contact/ContactSplit';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeatureCardTwentyEight from '@/components/sections/feature/FeatureCardTwentyEight';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGallery';
import MediaAbout from '@/components/sections/about/MediaAbout';
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
export default function LandingPage() {
return (
<ThemeProvider
defaultButtonVariant="shift-hover"
defaultTextAnimation="background-highlight"
borderRadius="pill"
contentWidth="small"
sizing="largeSmallSizeMediumTitles"
background="circleGradient"
cardStyle="soft-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="layered"
headingFontWeight="medium"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{
name: "Accueil", id: "hero"},
{
name: "À Propos", id: "about"},
{
name: "Services", id: "services"},
{
name: "Contact", id: "contact"},
]}
brandName="Benjamin Martin"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardGallery
background={{
variant: "gradient-bars"}}
title="Benjamin Martin Couverture : L'excellence sur votre toit"
description="Expertise artisanale en couverture, zinguerie et rénovation de toiture pour particuliers et professionnels dans la région."
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-practicing-tai-chi-outside_23-2149893705.jpg", imageAlt: "roofing professional working on roof"},
{
imageSrc: "http://img.b2bpic.net/free-photo/full-shot-man-working-roof-with-hammer_23-2149343667.jpg", imageAlt: "industrial roof installation service"},
{
imageSrc: "http://img.b2bpic.net/free-photo/set-torx-head-with-bolts-electric-drill-hammer_23-2147865387.jpg", imageAlt: "expert roofing tools and materials"},
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-working-roof_23-2149343653.jpg", imageAlt: "Medium shot man working on roof"},
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-working-with-protection-helmet_23-2149343636.jpg", imageAlt: "Medium shot man working with protection helmet"},
]}
mediaAnimation="slide-up"
/>
</div>
<div id="about" data-section="about">
<MediaAbout
useInvertedBackground={true}
title="Plus de 15 ans d'expertise"
description="Benjamin Martin est un artisan passionné. Nous garantissons une protection optimale de votre patrimoine grâce à des techniques traditionnelles et modernes."
imageSrc="http://img.b2bpic.net/free-photo/side-view-man-working-roof-with-drill_23-2148748775.jpg"
imageAlt="professional roofer profile portrait"
/>
</div>
<div id="services" data-section="services">
<FeatureCardTwentyEight
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
features={[
{
id: "f1", title: "Couverture", subtitle: "Tuile, ardoise, zinc", category: "Rénovation", value: "100%"},
{
id: "f2", title: "Zinguerie", subtitle: "Gouttières, étanchéité", category: "Maintenance", value: "Expert"},
{
id: "f3", title: "Isolation", subtitle: "Performance thermique", category: "Amélioration", value: "RGE"},
]}
title="Nos Services Couverture"
description="Des prestations complètes pour assurer la pérennité et l'étanchéité de votre toiture."
/>
</div>
<div id="expertise" data-section="expertise">
<MetricCardTwo
textboxLayout="default"
gridVariant="uniform-all-items-equal"
animationType="slide-up"
useInvertedBackground={true}
metrics={[
{
id: "m1", value: "15+", description: "Années d'expérience"},
{
id: "m2", value: "500+", description: "Toitures rénovées"},
{
id: "m3", value: "100%", description: "Satisfaction client"},
]}
title="Pourquoi nous choisir ?"
description="Nos engagements pour des chantiers réussis."
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
testimonials={[
{
id: "t1", name: "Jean Dupont", role: "Client", company: "Particulier", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-white-shirt-black-pants-sitting-chair-smiling-cherfully-pointing-with-index-finger-light-living-room_141793-101824.jpg", imageAlt: "satisfied customer house owner"},
{
id: "t2", name: "Marie Curie", role: "Client", company: "Particulier", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/couple-painting-walls-their-new-home-together_23-2149086831.jpg", imageAlt: "happy client residential roof"},
{
id: "t3", name: "Pierre Martin", role: "Client", company: "Particulier", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/indoor-shot-mixed-race-family-couple-analyze-data-develop-new-startup-project_273609-44860.jpg", imageAlt: "customer feedback home roof"},
{
id: "t4", name: "Sophie Leroy", role: "Client", company: "Particulier", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-happy-mother-home_23-2148321636.jpg", imageAlt: "client satisfaction roofing service"},
{
id: "t5", name: "Luc Dubois", role: "Client", company: "Particulier", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-man-doing-household-chores-participating-cleaning-home_23-2151468680.jpg", imageAlt: "satisfied homeowner roofing repair"},
]}
title="Ce que nos clients disent"
description="La confiance est au cœur de notre métier."
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitMedia
textboxLayout="split"
useInvertedBackground={true}
faqs={[
{
id: "q1", title: "Devis gratuit ?", content: "Oui, tous nos devis sont gratuits et sans engagement."},
{
id: "q2", title: "Garantie décennale ?", content: "Bien entendu, nous possédons une assurance décennale complète."},
{
id: "q3", title: "Intervention rapide ?", content: "Nous intervenons dans les meilleurs délais pour vos urgences."},
]}
imageSrc="http://img.b2bpic.net/free-photo/man-working-roof-front-view_23-2148748780.jpg"
title="Questions fréquentes"
description="Tout ce que vous devez savoir sur vos travaux."
faqsAnimation="blur-reveal"
imageAlt="expert advice roof maintenance"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplit
useInvertedBackground={false}
background={{
variant: "plain"}}
tag="Contact"
title="Demandez votre devis"
description="Contactez-nous pour toute question ou demande d'intervention."
imageSrc="http://img.b2bpic.net/free-photo/cutting-wood-with-electric-saw_1232-2042.jpg"
mediaAnimation="slide-up"
imageAlt="roofer tools on roof"
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/man-with-helmet-sitting-roof-full-shot_23-2149343712.jpg"
logoText="Benjamin Martin Couverture"
columns={[
{
title: "Services", items: [
{
label: "Couverture", href: "#"},
{
label: "Zinguerie", href: "#"},
],
},
{
title: "Entreprise", items: [
{
label: "À propos", href: "#about"},
{
label: "Contact", href: "#contact"},
],
},
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}