Compare commits

...

75 Commits

Author SHA1 Message Date
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 57 additions and 61 deletions

View File

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

View File

@@ -3,17 +3,24 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react"; import ReactLenis from "lenis/react";
import AboutMetric from '@/components/sections/about/AboutMetric'; import AboutMetric from '@/components/sections/about/AboutMetric';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; import ContactCenter from '@/components/sections/contact/ContactCenter';
import FeatureCardOne from '@/components/sections/feature/FeatureCardOne'; import FeatureCardOne from '@/components/sections/feature/FeatureCardOne';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal'; import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import HeroLogo from '@/components/sections/hero/HeroLogo'; import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo'; 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 ProductCardOne from '@/components/sections/product/ProductCardOne';
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve'; import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
import { Award, ShieldCheck, Users } from "lucide-react"; import { Award, ShieldCheck, Users, Search, ShoppingCart } from "lucide-react";
export default function LandingPage() { export default function LandingPage() {
const handleProductClick = () => {
const contactSection = document.getElementById('contact');
if (contactSection) {
contactSection.scrollIntoView({ behavior: 'smooth' });
}
};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-bubble" defaultButtonVariant="hover-bubble"
@@ -29,35 +36,38 @@ export default function LandingPage() {
> >
<ReactLenis root> <ReactLenis root>
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleCentered <NavbarStyleFullscreen
navItems={[ navItems={[
{ name: "Accueil", id: "#hero" }, { name: "Accueil", id: "#hero" },
{ name: "Produits", id: "#products" }, { name: "Produits", id: "#products" },
{ name: "À Propos", id: "#about" }, { name: "À Propos", id: "#about" },
{ name: "Contact", id: "#contact" }, { name: "Contact", id: "#contact" },
{ name: "Mon Panier", id: "#cart" },
]} ]}
brandName="SAE Réunion" brandName="SAE Réunion"
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroLogo <HeroBillboard
logoText="#BIENÉQUIPÉ" title="Expertise en EPI pour les Professionnels de la Réunion"
description="Un chantier sécurisé commence par un bon casque. Leader de léquipement de protection individuelle à La Réunion depuis 1996." 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" }]} 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" imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3Df1ETXUvuyYPxkhnyZJKVSXGQj/chantier-1778660616866-4fd2157e.png"
imageAlt="Chantier de construction avec un professionnel en équipement de sécurité"
background={{ variant: "plain" }}
/> />
</div> </div>
<div id="about" data-section="about"> <div id="about" data-section="about">
<AboutMetric <AboutMetric
useInvertedBackground={true} useInvertedBackground={true}
title="Le spécialiste de l'EPI depuis 1996" title="30 ans au service de votre sécurité à La Réunion"
metrics={[ 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: ShieldCheck, label: "Produits certifiés", value: "1000+" },
{ icon: Users, label: "Clients satisfaits", value: "5000+" }, { icon: Users, label: "Clients satisfaits", value: "10000+" },
]} ]}
metricsAnimation="slide-up" metricsAnimation="slide-up"
/> />
@@ -69,16 +79,18 @@ export default function LandingPage() {
textboxLayout="split" textboxLayout="split"
gridVariant="one-large-left-three-stacked-right" gridVariant="one-large-left-three-stacked-right"
useInvertedBackground={false} useInvertedBackground={false}
tag="Certifié & Conforme"
products={[ 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: "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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" 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> </div>
@@ -110,7 +122,7 @@ export default function LandingPage() {
{ id: "m3", value: "98%", description: "Taux de disponibilité" }, { id: "m3", value: "98%", description: "Taux de disponibilité" },
]} ]}
title="Impact & Sécurité" 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>
@@ -131,41 +143,26 @@ export default function LandingPage() {
</div> </div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactSplitForm <ContactCenter
useInvertedBackground={false} tag="Contact"
title="Contactez-nous" title="Obtenez votre devis personnalisé en 24h"
description="Besoin d'un conseil ou d'un devis ? Notre équipe est à votre écoute." description="Nous nous engageons à traiter vos demandes rapidement pour assurer votre sécurité."
inputs={[ background={{ variant: "gradient-bars" }}
{ name: "nom", type: "text", placeholder: "Nom complet", required: true }, useInvertedBackground={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"
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseReveal <FooterLogoEmphasis
logoText="SAE Réunion" logoText="SAE Réunion"
columns={[ columns={[
{ { items: [{ label: "Accueil", href: "#hero" }, { label: "Produits", href: "#products" }] },
title: "Navigation", items: [ { items: [{ label: "À Propos", href: "#about" }, { label: "Contact", href: "#contact" }] },
{ label: "Accueil", href: "#hero" }, { items: [{ label: "Mentions Légales" }, { label: "Confidentialité" }] },
{ 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"
/> />
</div> </div>
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

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

View File

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