diff --git a/src/index.css b/src/index.css index 7fdd436..9a04298 100644 --- a/src/index.css +++ b/src/index.css @@ -3,6 +3,13 @@ /* Configuration pour forcer le mode sombre via une classe .dark */ @custom-variant dark (&:where(.dark, .dark *)); +@layer base { + :root { + --color-gise-blue: #1a73e8; + --color-gise-emerald: #10b981; + } +} + @theme { --color-gise-accent: #2563eb; --color-gise-accentHover: #1d4ed8; diff --git a/src/pages/GiseLandingPage.tsx b/src/pages/GiseLandingPage.tsx index b4cc83f..6e1a475 100644 --- a/src/pages/GiseLandingPage.tsx +++ b/src/pages/GiseLandingPage.tsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import { useState, useEffect } from 'react'; import { Shield, Server, @@ -66,12 +66,6 @@ export default function GiseLandingPage() { setCookieConsent(null); }; - const handleContactSubmit = (e: React.FormEvent) => { - e.preventDefault(); - setFormStatus('submitting'); - setTimeout(() => setFormStatus('success'), 1500); - }; - return (
@@ -378,7 +372,7 @@ export default function GiseLandingPage() { {/* --- SECTEURS D'ACTIVITÉ (Google Material Category Cards) --- */} -
+
@@ -472,10 +466,8 @@ export default function GiseLandingPage() {
{/* GISE */} -
- - Recommandé - +
+

Offre GISE & AEGIS

  • @@ -495,16 +487,16 @@ export default function GiseLandingPage() {
- {/* FORMULAIRE DE CONTACT (Google Forms Outlined Material Style) */} -
+ {/* FORMULAIRE DE CONTACT (Web3Forms + Google Material Style) */} +

- Demandez votre diagnostic offert + Demandez votre diagnostic

- Un premier bilan rapide de votre infrastructure, sans aucun engagement. + Un premier bilan rapide de votre infrastructure, sans engagement.

@@ -517,13 +509,43 @@ export default function GiseLandingPage() {

) : ( -
+ { + event.preventDefault(); + setFormStatus('submitting'); + + // Logique officielle Web3Forms + const formData = new FormData(event.currentTarget); + formData.append("access_key", "6d360b7b-731f-4cbc-b6d1-9e9f21504bcc"); // <-- Votre clé + formData.append("subject", "Demande de diagnostic (Site GISE)"); + + try { + const response = await fetch("https://api.web3forms.com/submit", { + method: "POST", + body: formData + }); + + const data = await response.json(); + + if (data.success) { + setFormStatus('success'); + } else { + setFormStatus('idle'); + alert("Erreur lors de l'envoi : " + data.message); + } + } catch (error) { + setFormStatus('idle'); + alert("Erreur de connexion. Veuillez réessayer."); + } + }} + className="space-y-5 bg-[#f0f4f9] dark:bg-slate-950 p-8 sm:p-10 rounded-[28px] shadow-sm" + >
@@ -535,6 +557,7 @@ export default function GiseLandingPage() { required type="text" id="name" + name="name" // Indispensable pour Web3Forms className="w-full bg-white dark:bg-slate-900 border border-slate-300 dark:border-slate-800 rounded-2xl px-4 py-3 pl-10 text-slate-900 dark:text-white focus:outline-none focus:border-blue-600 focus:ring-2 focus:ring-blue-600/20 text-xs transition-all" placeholder="Jean Dupont" /> @@ -551,6 +574,7 @@ export default function GiseLandingPage() { required type="text" id="company" + name="company" // Indispensable className="w-full bg-white dark:bg-slate-900 border border-slate-300 dark:border-slate-800 rounded-2xl px-4 py-3 pl-10 text-slate-900 dark:text-white focus:outline-none focus:border-blue-600 focus:ring-2 focus:ring-blue-600/20 text-xs transition-all" placeholder="Cabinet Dupont & Associés" /> @@ -569,6 +593,7 @@ export default function GiseLandingPage() { required type="email" id="email" + name="email" // Indispensable className="w-full bg-white dark:bg-slate-900 border border-slate-300 dark:border-slate-800 rounded-2xl px-4 py-3 pl-10 text-slate-900 dark:text-white focus:outline-none focus:border-blue-600 focus:ring-2 focus:ring-blue-600/20 text-xs transition-all" placeholder="jean@dupont-avocats.be" /> @@ -582,11 +607,12 @@ export default function GiseLandingPage() {
@@ -599,6 +625,7 @@ export default function GiseLandingPage() {