Compare commits

..

87 Commits

Author SHA1 Message Date
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
06c7331507 Remove watermark 2026-05-13 08:08:45 +00:00
f9b156a7d0 Merge version_4 into main
Merge version_4 into main
2026-05-13 07:54:08 +00:00
5bcf42dad8 Update src/app/page.tsx 2026-05-13 07:54:04 +00:00
a80c1179b1 Merge version_3 into main
Merge version_3 into main
2026-05-13 07:53:04 +00:00
ab9d267b13 Update src/app/styles/variables.css 2026-05-13 07:52:58 +00:00
5dfdadfa94 Update src/app/styles/base.css 2026-05-13 07:52:58 +00:00
3729a32ad9 Update src/app/page.tsx 2026-05-13 07:52:57 +00:00
a0624ec02f Merge version_2 into main
Merge version_2 into main
2026-05-13 07:45:27 +00:00
4 changed files with 68 additions and 72 deletions

View File

@@ -4,7 +4,6 @@ import { Inter } from "next/font/google";
import "./globals.css";
import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { DM_Sans } from "next/font/google";
@@ -34,7 +33,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${dmSans.variable} antialiased`}>
<Tag />
{children}
<script
dangerouslySetInnerHTML={{

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 ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import ContactText from '@/components/sections/contact/ContactText';
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
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", 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,16 +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."
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>
@@ -89,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" },
]}
@@ -110,59 +125,41 @@ 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://img.b2bpic.net/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">
<ContactSplitForm
useInvertedBackground={false}
title="Contactez-nous"
description="Besoin d'un conseil ou d'un devis ? Notre équipe est à votre écoute."
inputs={[
{ name: "nom", type: "text", placeholder: "Nom complet", required: true },
{ name: "email", type: "email", placeholder: "Email professionnel", required: true },
]}
textarea={{ name: "message", placeholder: "Votre demande", rows: 4 }}
imageSrc="http://img.b2bpic.net/free-photo/high-rise-construction-with-cantilever-decks-floor-rhythm-yellow-platforms_169016-69965.jpg"
<ContactText
text="Obtenez votre devis personnalisé en 24h"
animationType="reveal-blur"
background={{ variant: "gradient-bars" }}
useInvertedBackground={true}
buttons={[{ text: "Nous contacter" }]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
<FooterLogoReveal
logoText="SAE Réunion"
columns={[
{
title: "Navigation", items: [
{ label: "Accueil", href: "#hero" },
{ label: "Produits", href: "#products" },
{ label: "Contact", href: "#contact" },
],
},
{
title: "Informations", items: [
{ label: "Mentions Légales", href: "#" },
{ label: "Politique Confidentialité", href: "#" },
],
},
]}
copyrightText="© 2024 SAE Réunion - Leader EPI"
leftLink={{ text: "Mentions Légales" }}
rightLink={{ text: "Confidentialité" }}
/>
</div>
</ReactLenis>

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-dm-sans), sans-serif;
font-family: var(--font-inter), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-dm-sans), sans-serif;
font-family: var(--font-inter), sans-serif;
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #f5faff;
--card: #f1f8ff;
--foreground: #001122;
--primary-cta: #15479c;
--primary-cta-text: #f5faff;
--background: #fffafa;
--card: #fff7f7;
--foreground: #1a0000;
--primary-cta: #e63946;
--primary-cta-text: #fffafa;
--secondary-cta: #ffffff;
--secondary-cta-text: #001122;
--accent: #a8cce8;
--background-accent: #7ba3cf;
--secondary-cta-text: #1a0000;
--accent: #f5c4c7;
--background-accent: #f09199;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);