Compare commits

..

90 Commits

Author SHA1 Message Date
0a4689c506 Merge version_40 into main
Merge version_40 into main
2026-05-18 06:13:54 +00:00
5e9c431139 Update src/app/page.tsx 2026-05-18 06:13:51 +00:00
a16a52ced1 Merge version_39 into main
Merge version_39 into main
2026-05-15 06:56:18 +00:00
3ec6f13d29 Update src/app/page.tsx 2026-05-15 06:56:15 +00:00
09cf1e926f Merge version_39 into main
Merge version_39 into main
2026-05-15 06:55:49 +00:00
15dd916c48 Update src/app/page.tsx 2026-05-15 06:55:42 +00:00
2f32097b62 Merge version_38 into main
Merge version_38 into main
2026-05-15 06:53:32 +00:00
464433b637 Update src/app/page.tsx 2026-05-15 06:53:26 +00:00
10a6dcbb8e Merge version_38 into main
Merge version_38 into main
2026-05-15 06:52:54 +00:00
013f1dab47 Update src/app/page.tsx 2026-05-15 06:52:48 +00:00
26b1b36ec1 Merge version_38 into main
Merge version_38 into main
2026-05-15 06:52:17 +00:00
131d29bfed Update src/app/page.tsx 2026-05-15 06:52:13 +00:00
5f6cf85b1d Merge version_37 into main
Merge version_37 into main
2026-05-15 06:50:10 +00:00
bb9182c46f Update src/app/page.tsx 2026-05-15 06:50:04 +00:00
048b16d850 Merge version_37 into main
Merge version_37 into main
2026-05-15 06:47:21 +00:00
04e87f1167 Update src/app/page.tsx 2026-05-15 06:47:17 +00:00
64d06ab409 Merge version_36 into main
Merge version_36 into main
2026-05-15 06:45:56 +00:00
d16ffe53b0 Update src/app/page.tsx 2026-05-15 06:45:53 +00:00
ec740a8ae1 Merge version_35 into main
Merge version_35 into main
2026-05-15 06:45:04 +00:00
ebb6c526ec Update src/app/page.tsx 2026-05-15 06:44:58 +00:00
d3139848a5 Merge version_35 into main
Merge version_35 into main
2026-05-15 06:44:32 +00:00
e7299a15c2 Update src/app/page.tsx 2026-05-15 06:44:25 +00:00
60d071ff7f Merge version_34 into main
Merge version_34 into main
2026-05-15 06:39:46 +00:00
7d9137c82a Update src/app/page.tsx 2026-05-15 06:39:43 +00:00
441b0a65ac Merge version_34 into main
Merge version_34 into main
2026-05-15 06:39:10 +00:00
e9c0f8b6ea Update src/app/page.tsx 2026-05-15 06:39:06 +00:00
ec04c8ee82 Merge version_34 into main
Merge version_34 into main
2026-05-15 06:38:30 +00:00
80a2dafc27 Update src/app/page.tsx 2026-05-15 06:38:23 +00:00
3f9b40cc02 Merge version_33 into main
Merge version_33 into main
2026-05-15 06:34:43 +00:00
eac80812ee Update src/app/page.tsx 2026-05-15 06:34:40 +00:00
242003ca3c Merge version_32 into main
Merge version_32 into main
2026-05-15 06:27:54 +00:00
761338fe06 Update src/app/page.tsx 2026-05-15 06:27:48 +00:00
1baf54d7b5 Merge version_31 into main
Merge version_31 into main
2026-05-15 06:19:02 +00:00
1a65c0cea4 Update src/app/page.tsx 2026-05-15 06:18:56 +00:00
c4766acd40 Merge version_30 into main
Merge version_30 into main
2026-05-15 06:17:24 +00:00
47e9767a50 Update src/app/page.tsx 2026-05-15 06:17:21 +00:00
ae62d885a7 Merge version_29 into main
Merge version_29 into main
2026-05-15 06:16:15 +00:00
ab161d983b Update src/app/page.tsx 2026-05-15 06:16:08 +00:00
8264fd3277 Merge version_28 into main
Merge version_28 into main
2026-05-15 06:15:04 +00:00
2fcc670745 Update src/app/page.tsx 2026-05-15 06:15:01 +00:00
6a06e71bd3 Merge version_27 into main
Merge version_27 into main
2026-05-15 06:13:13 +00:00
4eb11b0f39 Update src/app/page.tsx 2026-05-15 06:13:07 +00:00
2e376006db Merge version_26 into main
Merge version_26 into main
2026-05-15 06:11:15 +00:00
949c284f12 Update src/app/page.tsx 2026-05-15 06:11:12 +00:00
86a9234b08 Merge version_25 into main
Merge version_25 into main
2026-05-15 06:10:04 +00:00
814c75c3ad Update src/app/page.tsx 2026-05-15 06:10:01 +00:00
b8180b2000 Merge version_24 into main
Merge version_24 into main
2026-05-15 06:09:01 +00:00
4ef8f319ee Update src/app/page.tsx 2026-05-15 06:08:58 +00:00
c91a75d372 Merge version_23 into main
Merge version_23 into main
2026-05-15 06:08:03 +00:00
ea978abc34 Update src/app/page.tsx 2026-05-15 06:07:57 +00:00
29187cd4e7 Merge version_22 into main
Merge version_22 into main
2026-05-15 06:06:50 +00:00
6cb9747113 Update src/app/page.tsx 2026-05-15 06:06:47 +00:00
25bf425dc5 Merge version_21 into main
Merge version_21 into main
2026-05-15 06:05:45 +00:00
a8ed7b13b6 Update src/app/page.tsx 2026-05-15 06:05:41 +00:00
f09e8ab248 Merge version_20 into main
Merge version_20 into main
2026-05-13 08:31:51 +00:00
4d8d474c2d Update src/app/page.tsx 2026-05-13 08:31:48 +00:00
487370a4da Merge version_20 into main
Merge version_20 into main
2026-05-13 08:31:33 +00:00
1cacdfbf80 Update src/app/page.tsx 2026-05-13 08:31:29 +00:00
0b8f1883d7 Merge version_20 into main
Merge version_20 into main
2026-05-13 08:31:04 +00:00
66a4f98d81 Update src/app/page.tsx 2026-05-13 08:31:01 +00:00
8223946bf7 Merge version_20 into main
Merge version_20 into main
2026-05-13 08:30:37 +00:00
090d609073 Update src/app/page.tsx 2026-05-13 08:30:33 +00:00
6508cde488 Merge version_20 into main
Merge version_20 into main
2026-05-13 08:28:14 +00:00
0db3463f3c Update src/app/page.tsx 2026-05-13 08:28:11 +00:00
55015b553a Merge version_19 into main
Merge version_19 into main
2026-05-13 08:26:48 +00:00
800c486293 Update theme colors 2026-05-13 08:26:44 +00:00
73bce05822 Merge version_18 into main
Merge version_18 into main
2026-05-13 08:26:41 +00:00
6fb8d6e11e Update theme colors 2026-05-13 08:26:38 +00:00
353cede42f Merge version_17 into main
Merge version_17 into main
2026-05-13 08:26:18 +00:00
b610f58441 Update theme colors 2026-05-13 08:26:14 +00:00
3733359385 Update theme colors 2026-05-13 08:26:11 +00:00
33bb40ab7e Merge version_15 into main
Merge version_15 into main
2026-05-13 08:25:57 +00:00
0a1a4e2746 Update src/app/page.tsx 2026-05-13 08:25:53 +00:00
306fcc6d7b Merge version_15 into main
Merge version_15 into main
2026-05-13 08:25:17 +00:00
0f5a0e3d10 Update theme colors 2026-05-13 08:25:14 +00:00
2d91e84cba Merge version_14 into main
Merge version_14 into main
2026-05-13 08:24:14 +00:00
c4aa80b467 Update src/app/page.tsx 2026-05-13 08:24:08 +00:00
51578da7f9 Merge version_13 into main
Merge version_13 into main
2026-05-13 08:22:19 +00:00
55efdd9da9 Update src/app/page.tsx 2026-05-13 08:22:16 +00:00
ade8a2f2f6 Merge version_12 into main
Merge version_12 into main
2026-05-13 08:21:26 +00:00
862e3d9eee Update src/app/page.tsx 2026-05-13 08:21:23 +00:00
ed85682fbc Merge version_11 into main
Merge version_11 into main
2026-05-13 08:20:31 +00:00
d9d385639b Update src/app/page.tsx 2026-05-13 08:20:28 +00:00
a8f98487fa Merge version_10 into main
Merge version_10 into main
2026-05-13 08:19:30 +00:00
18f6368264 Update src/app/page.tsx 2026-05-13 08:19:27 +00:00
5ba8ed0602 Merge version_9 into main
Merge version_9 into main
2026-05-13 08:16:55 +00:00
279d5bc3e5 Update src/app/page.tsx 2026-05-13 08:16:52 +00:00
b59ba1433d Merge version_8 into main
Merge version_8 into main
2026-05-13 08:15:35 +00:00
10a9db6a3d Update src/app/page.tsx 2026-05-13 08:15:32 +00:00
27f981a958 Merge version_7 into main
Merge version_7 into main
2026-05-13 08:13:01 +00:00
2 changed files with 81 additions and 56 deletions

View File

@@ -3,17 +3,25 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import AboutMetric from '@/components/sections/about/AboutMetric';
import ContactCenter from '@/components/sections/contact/ContactCenter';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroLogo from '@/components/sections/hero/HeroLogo';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import { Award, ShieldCheck, Users } from "lucide-react";
export default function LandingPage() {
const handleProductClick = () => {
const contactSection = document.getElementById('contact');
if (contactSection) {
contactSection.scrollIntoView({ behavior: 'smooth' });
}
};
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
@@ -29,35 +37,51 @@ export default function LandingPage() {
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarStyleCentered
<NavbarStyleFullscreen
navItems={[
{ name: "Accueil", id: "#hero" },
{ name: "Produits", id: "#products" },
{ name: "À Propos", id: "#about" },
{ name: "Contact", id: "#contact" },
{ name: "Mon Panier", id: "#cart" },
]}
brandName="SAE Réunion"
/>
</div>
<div id="hero" data-section="hero">
<HeroLogo
logoText="#BIENÉQUIPÉ"
description="Garantissez la sécurité immédiate de vos équipes sur le terrain. Nos solutions d'EPI certifiées protègent vos collaborateurs et assurent la conformité totale de vos chantiers, pour une tranquillité d'esprit absolue du chef de projet au foreman."
<HeroBillboardCarousel
title="Expertise en EPI pour les Professionnels de la Réunion"
description="Bénéficiez de notre expertise locale unique et de nos délais de livraison ultra-rapides. Contrairement aux fournisseurs généralistes, nous garantissons une disponibilité immédiate et un accompagnement technique de proximité pour sécuriser vos chantiers réunionnais sans attente."
buttons={[{ text: "Obtenir un devis rapide", href: "#contact" }]}
imageSrc="http://img.b2bpic.net/free-photo/front-view-hard-hat-headphones-hanging-closet_23-2148773503.jpg"
imageAlt="Casque de chantier SAE"
mediaItems={[
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Df1ETXUvuyYPxkhnyZJKVSXGQj/chantier-1778660616866-4fd2157e.png?_wi=1", imageAlt: "Chantier de construction" },
{ imageSrc: "http://img.b2bpic.net/free-photo/warehouse-worker-checking-inventory_23-2152001550.jpg?_wi=1", imageAlt: "Entrepôt logistique" },
{ imageSrc: "http://img.b2bpic.net/free-photo/industrial-safety-equipment_23-2148784084.jpg", imageAlt: "Équipements de protection" },
{ imageSrc: "http://img.b2bpic.net/free-photo/worker-wearing-protective-gear_23-2148921397.jpg", imageAlt: "Professionnel équipé" }
]}
background={{ variant: "plain" }}
/>
</div>
<div id="socialProof" data-section="socialProof">
<SocialProofOne
title="Ils nous font confiance"
names={["BTP 974", "SecurPro", "BatirRéunion", "Réunion Construction", "EPI Pro Réunion", "SécuriChantier"]}
description="Nos partenaires de confiance"
textboxLayout="default"
useInvertedBackground={false}
/>
</div>
<div id="about" data-section="about">
<AboutMetric
useInvertedBackground={true}
title="Le spécialiste de l'EPI depuis 1996"
title="30 ans au service de votre sécurité à La Réunion"
metrics={[
{ icon: Award, label: "Années d'expertise", value: "28+" },
{ icon: Award, label: "Années d'expertise", value: "30+" },
{ icon: ShieldCheck, label: "Produits certifiés", value: "1000+" },
{ icon: Users, label: "Clients satisfaits", value: "5000+" },
{ icon: Users, label: "Clients satisfaits", value: "10000+" },
]}
metricsAnimation="slide-up"
/>
@@ -71,16 +95,16 @@ export default function LandingPage() {
useInvertedBackground={false}
tag="Certifié & Conforme"
products={[
{ id: "p1", name: "Gants de Manutention", price: "12€", imageSrc: "http://img.b2bpic.net/free-photo/top-view-safety-gloves-vest_23-2148784084.jpg" },
{ id: "p2", name: "Chaussures de Sécurité", price: "89€", imageSrc: "http://img.b2bpic.net/free-photo/unrecognizable-manual-worker-typing-shoelace-construction-site_637285-8190.jpg" },
{ id: "p3", name: "Lunettes de Protection", price: "15€", imageSrc: "http://img.b2bpic.net/free-photo/man-wearing-protection-equipment-close-up_23-2148921397.jpg" },
{ id: "p4", name: "Vêtements Haute Visibilité", price: "45€", imageSrc: "http://img.b2bpic.net/free-photo/engineer-oversees-assembly-tools-tablet-industry-plant-surrounded-by-metal-steel-machinery_482257-135546.jpg" },
{ id: "p5", name: "Protection Respiratoire", price: "29€", imageSrc: "http://img.b2bpic.net/free-photo/man-with-gas-mask_1122-1288.jpg" },
{ id: "p6", name: "Casque Anti-bruit", price: "35€", imageSrc: "http://img.b2bpic.net/free-photo/man-builder-carpenter-polishes-wooden-board-with-random-orbit-sander_23-2147944854.jpg" },
{ id: "p1", name: "Gants de Manutention", price: "12€", imageSrc: "http://img.b2bpic.net/free-photo/top-view-safety-gloves-vest_23-2148784084.jpg", onProductClick: handleProductClick },
{ id: "p2", name: "Chaussures de Sécurité", price: "89€", imageSrc: "http://img.b2bpic.net/free-photo/unrecognizable-manual-worker-typing-shoelace-construction-site_637285-8190.jpg", onProductClick: handleProductClick },
{ id: "p3", name: "Lunettes de Protection", price: "15€", imageSrc: "http://img.b2bpic.net/free-photo/man-wearing-protection-equipment-close-up_23-2148921397.jpg", onProductClick: handleProductClick },
{ id: "p4", name: "Vêtements Haute Visibilité", price: "45€", imageSrc: "http://img.b2bpic.net/free-photo/engineer-oversees-assembly-tools-tablet-industry-plant-surrounded-by-metal-steel-machinery_482257-135546.jpg", onProductClick: handleProductClick },
{ id: "p5", name: "Protection Respiratoire", price: "29€", imageSrc: "http://img.b2bpic.net/free-photo/man-with-gas-mask_1122-1288.jpg", onProductClick: handleProductClick },
{ id: "p6", name: "Casque Anti-bruit", price: "35€", imageSrc: "http://img.b2bpic.net/free-photo/man-builder-carpenter-polishes-wooden-board-with-random-orbit-sander_23-2147944854.jpg", onProductClick: handleProductClick },
]}
title="Gamme complète d'EPI"
description="Une sélection rigoureuse auprès des plus grands fabricants mondiaux."
buttons={[{ text: "Découvrir tout le catalogue", href: "#catalog" }]}
description="Nos équipements sont rigoureusement sélectionnés pour offrir une protection maximale aux professionnels du bâtiment, résistant aux conditions les plus exigeantes sur le terrain pour garantir une sécurité sans compromis."
buttons={[{ text: "Demander un devis personnalisé", href: "#contact" }]}
/>
</div>
@@ -91,7 +115,7 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
useInvertedBackground={true}
features={[
{ title: "Expertise Locale", description: "Connaissance approfondie des contraintes du marché local réunionnais.", imageSrc: "http://img.b2bpic.net/free-photo/warehouse-worker-checking-inventory_23-2152001550.jpg" },
{ title: "Expertise Locale", description: "Connaissance approfondie des contraintes du marché local réunionnais.", imageSrc: "http://img.b2bpic.net/free-photo/warehouse-worker-checking-inventory_23-2152001550.jpg?_wi=2" },
{ title: "Normes Strictes", description: "Tous nos EPI répondent aux dernières normes européennes de sécurité.", imageSrc: "http://img.b2bpic.net/free-photo/manual-worker-with-face-mask-working-carpentry-warehouse-coronavirus-pandemic_637285-11777.jpg" },
{ title: "Stock Permanent", description: "Un large choix disponible immédiatement pour vos chantiers.", imageSrc: "http://img.b2bpic.net/free-photo/engineers-industry-40-industrial-plant-controlling-automated-machinery_482257-120564.jpg" },
]}
@@ -112,47 +136,48 @@ export default function LandingPage() {
{ id: "m3", value: "98%", description: "Taux de disponibilité" },
]}
title="Impact & Sécurité"
description="Des chiffres qui témoignent de notre engagement quotidien."
description="Fiabilité et réactivité : nos indicateurs clés de performance garantissent votre sérénité au quotidien"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardTwelve
useInvertedBackground={true}
<TestimonialCardOne
title="Ce que nos partenaires disent"
animationType="blur-reveal"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
description="Retours d'expérience"
textboxLayout="default"
testimonials={[
{ id: "t1", name: "Jean Dupont", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-plus-size-man-working-construction_23-2150772851.jpg" },
{ id: "t2", name: "Marc Martin", imageSrc: "http://img.b2bpic.net/free-photo/woman-wearing-special-industrial-protective-equipment_23-2148991969.jpg" },
{ id: "t3", name: "Sophie Leroy", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-engineer-talking-phone_23-2148233674.jpg" },
{ id: "t4", name: "Lucie Bernard", imageSrc: "http://img.b2bpic.net/free-photo/male-worker-with-arms-crossed-standing-factory_107420-96042.jpg" },
{ id: "t5", name: "Pierre Vidal", imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-young-man-with-helmet_23-2148269289.jpg" },
{ id: "t1", name: "Jean Dupont", role: "Chef de chantier", company: "BTP 974", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-plus-size-man-working-construction_23-2150772851.jpg" },
{ id: "t2", name: "Marc Martin", role: "Responsable Sécurité", company: "SecurPro", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/woman-wearing-special-industrial-protective-equipment_23-2148991969.jpg" },
{ id: "t3", name: "Sophie Leroy", role: "Ingénieure", company: "BatirRéunion", rating: 5, imageSrc: "http://close-up-portrait-engineer-talking-phone_23-2148233674.jpg" },
]}
cardTitle="Ce que nos partenaires disent"
cardTag="Témoignages"
cardAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactCenter
tag="Contact"
title="Besoin d'un devis ?"
description="Obtenez une réponse sous 24h pour vos besoins en sécurité."
background={{ variant: "gradient-bars" }}
useInvertedBackground={true}
<ContactSplitForm
title="Nous contacter"
description="Envoyez-nous vos besoins, nous y répondrons sous 24h."
inputs={[
{ name: "name", type: "text", placeholder: "Votre Nom" },
{ name: "email", type: "email", placeholder: "Votre Email" },
{ name: "title", type: "text", placeholder: "Votre Job / Taille Entreprise" }
]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Df1ETXUvuyYPxkhnyZJKVSXGQj/chantier-1778660616866-4fd2157e.png?_wi=2"
useInvertedBackground={false}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoEmphasis
<FooterLogoReveal
logoText="SAE Réunion"
columns={[
{ items: [{ label: "Accueil", href: "#hero" }, { label: "Produits", href: "#products" }] },
{ items: [{ label: "À Propos", href: "#about" }, { label: "Contact", href: "#contact" }] },
{ items: [{ label: "Mentions Légales" }, { label: "Confidentialité" }] },
]}
leftLink={{ text: "Mentions Légales" }}
rightLink={{ text: "Confidentialité" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #FFFFFF;
--card: #F5F5F5;
--foreground: #1A1A1A;
--primary-cta: #E30613;
--primary-cta-text: #f5faff;
--secondary-cta: #1A1A1A;
--secondary-cta-text: #001122;
--accent: #E30613;
--background-accent: #FFF0F0;
--background: #fffafa;
--card: #fff7f7;
--foreground: #1a0000;
--primary-cta: #e63946;
--primary-cta-text: #fffafa;
--secondary-cta: #ffffff;
--secondary-cta-text: #1a0000;
--accent: #f5c4c7;
--background-accent: #f09199;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);