Compare commits

..

88 Commits

Author SHA1 Message Date
464433b637 Update src/app/page.tsx 2026-05-15 06:53:26 +00:00
013f1dab47 Update src/app/page.tsx 2026-05-15 06:52:48 +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
340a91708e Update src/app/page.tsx 2026-05-13 08:12:57 +00:00
82e148eb29 Merge version_6 into main
Merge version_6 into main
2026-05-13 08:11:59 +00:00
53f7949c48 Update src/app/page.tsx 2026-05-13 08:11:52 +00:00
aea8c8e218 Merge version_5 into main
Merge version_5 into main
2026-05-13 08:09:32 +00:00
93fa39fa31 Update src/app/page.tsx 2026-05-13 08:09:29 +00:00
2822c50fe5 Merge version_4 into main
Merge version_4 into main
2026-05-13 08:08:48 +00:00
f9b156a7d0 Merge version_4 into main
Merge version_4 into main
2026-05-13 07:54:08 +00:00
2 changed files with 70 additions and 56 deletions

View File

@@ -3,17 +3,24 @@
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 { 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 +36,41 @@ 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="Un chantier sécurisé commence par un bon casque. Leader de léquipement de protection individuelle à La Réunion depuis 1996."
<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="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"
/>
@@ -69,17 +82,18 @@ export default function LandingPage() {
textboxLayout="split"
gridVariant="one-large-left-three-stacked-right"
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>
@@ -90,7 +104,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" },
]}
@@ -111,47 +125,47 @@ 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="Rejoignez notre réseau de professionnels équipés pour la 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" }
]}
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);