PageSourceSearch

https://ludwig-jehan.fr/assets/Contact-DM9lh0Tn.js

js ludwig-jehan.fr collected 2026-09-30 06:37:13 UTC 11,877 bytes, 6 lines download raw bytes

1import{j as e,m as t}from"./vendor-motion-CmPT1a1S.js";import{r as n}from"./vendor-react-CzCQ-mrO.js";import{F as g}from"./Footer-hEphGxNy.js";import{S as f}from"./SEO-C2gUOrta.js";import{l as j,b as y}from"./seo-schemas-BihGdfpK.js";import{c as v,u as N,a as w,O as k,S as x,I as C,F as S,o as E,C as i,P as I}from"./index-C_4Olkxo.js";import{s as A}from"./client-CY-RceOZ.js";import{M as h,C as O}from"./map-pin-DlazdQGK.js";import{M as R}from"./mail-BjFiiku0.js";import"./vendor-ui-eVj3NFkg.js";import"./vendor-query-xEOM9FX6.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const z=v("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),u="maps_cookie_consent",T=({src:d,title:s,className:a})=>{const[c,l]=n.useState(!1);n.useEffect(()=>{localStorage.getItem(u)==="true"&&l(!0)},[]);const m=()=>{localStorage.setItem(u,"true"),l(!0)};return c?e.jsx("iframe",{src:d,width:"100%",height:"100%",style:{border:0},allowFullScreen:!0,loading:"lazy",referrerPolicy:"no-referrer-when-downgrade",title:s,className:a}):e.jsx("div",{className:"w-full h-full bg-secondary flex items-center justify-center",children:e.jsxs("div",{className:"text-center max-w-md px-6",children:[e.jsx("div",{className:"w-16 h-16 bg-primary/10 mx-auto mb-6 flex items-center justify-center",children:e.jsx(h,{className:"w-8 h-8 text-primary"})}),e.jsx("h3",{className:"font-display text-xl text-secondary-foreground mb-3",children:"CARTE GOOGLE MAPS"}),e.jsxs("p",{className:"text-secondary-foreground/70 text-sm mb-6",children:["En chargeant la carte, vous acceptez la"," ",e.jsx("a",{href:"https://policies.google.com/privacy",target:"_blank",rel:"noopener noreferrer",className:"text-primary underline",children:"politique de confidentialité de Google"}),". Des cookies tiers peuvent être déposés."]}),e.jsx(t.button,{onClick:m,className:"btn-signature-gold text-xs px-8 py-3",whileHover:{scale:1.02},whileTap:{scale:.98},children:e.jsx("span",{children:"Afficher la carte"})})]})})},V=[{icon:h,title:"Adresse",content:i.address.full,link:i.address.mapsLink},{icon:I,title:"Téléphone",content:i.phone,link:i.phoneLink},{icon:R,title:"Email",content:i.email,link:i.emailLink}],G=()=>{const{toast:d}=N(),[s,a]=n.useState({name:"",email:"",phone:"",subject:"",message:"",honeypot:""}),[c,l]=n.useState(!1),[m,p]=n.useState(!1);n.useEffect(()=>{window.scrollTo(0,0)},[]);const b=async r=>{if(r.preventDefault(),s.honeypot){p(!0);return}l(!0);try{const{error:o}=await A.functions.invoke("submit-contact",{body:{name:s.name,email:s.email,phone:s.phone||void 0,subject:s.subject,message:s.message}});if(o)throw o;p(!0),a({name:"",email:"",phone:"",subject:"",message:"",honeypot:""})}catch(o){console.error("Error submitting form:",o),d({title:"Erreur",description:"Une erreur est survenue. Veuillez réessayer.",variant:"destructive"})}finally{l(!1)}};return e.jsxs("main",{className:"min-h-screen bg-background",children:[e.jsx(f,{title:"Contact & Rendez-vous | Barbier Coiffeur Homme Vire | Ludwig Jehan",description:"Prenez rendez-vous chez Ludwig Jehan, coiffeur barbier homme à Vire (14500). Adresse, horaires et contact du salon de bien-être masculin en Calvados.",canonical:"/contact",jsonLd:[j,y([{name:"Accueil",url:"https://hair-art-studio.lovable.app/"},{name:"Contact",url:"https://hair-art-studio.lovable.app/contact"}])]}),e.jsxs("section",{className:"pt-32 pb-20 bg-secondary relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 opacity-5",children:e.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle at 2px 2px, hsl(var(--gold)) 1px, transparent 0)",backgroundSize:"40px 40px"}})}),e.jsx(w,{text:"bienvenue",position:"bottom-right",rotation:8}),e.jsx("div",{className:"container mx-auto px-6 lg:px-12 relative",children:e.jsxs(t.div,{initial:{opacity:0,y:30}
6,animate:{opacity:1,y:0},transition:{duration:.8},children:[e.jsx("span",{className:"section-number text-primary",children:"Nous Trouver"}),e.jsxs("h1",{className:"font-display text-5xl md:text-6xl lg:text-7xl text-secondary-foreground mt-6 mb-4",children:["BARBIER COIFFEUR",e.jsx("span",{className:"text-gradient-gold block",children:"HOMME À VIRE"})]}),e.jsx("p",{className:"font-script text-2xl md:text-3xl text-secondary-foreground/70 max-w-2xl",children:"On est au 12 rue d'Aignaux, a Vire. Passez ou reservez."})]})})]}),e.jsx("section",{className:"section-padding",children:e.jsx("div",{className:"container mx-auto px-6 lg:px-12",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16",children:[e.jsxs(t.div,{initial:{opacity:0,x:-50},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8},children:[e.jsx("span",{className:"section-number",children:"Écrivez-nous"}),e.jsxs("h2",{className:"font-display text-3xl md:text-4xl mt-4 mb-8",children:["FORMULAIRE DE",e.jsx("span",{className:"text-primary block",children:"CONTACT"})]}),m?e.jsxs(t.div,{className:"bg-primary/10 border border-primary/30 p-8 text-center",initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},children:[e.jsx("div",{className:"w-16 h-16 bg-primary mx-auto mb-4 flex items-center justify-center",children:e.jsx(z,{className:"w-8 h-8 text-primary-foreground"})}),e.jsx("h3",{className:"font-display text-xl mb-2",children:"Message envoyé !"}),e.jsx("p",{className:"text-muted-foreground",children:"Nous vous répondrons dans les plus brefs délais."})]}):e.jsxs("form",{onSubmit:b,className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider block mb-2",children:"Nom *"}),e.jsx("input",{type:"text",required:!0,value:s.name,onChange:r=>a({...s,name:r.target.value}),className:"w-full bg-transparent border-2 border-border px-4 py-3 focus:border-primary outline-none transition-colors",placeholder:"Votre nom"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider block mb-2",children:"Email *"}),e.jsx("input",{type:"email",required:!0,value:s.email,onChange:r=>a({...s,email:r.target.value}),className:"w-full bg-transparent border-2 border-border px-4 py-3 focus:border-primary outline-none transition-colors",placeholder:"[email protected]"})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider block mb-2",children:"Téléphone"}),e.jsx("input",{type:"tel",value:s.phone,onChange:r=>a({...s,phone:r.target.value}),className:"w-full bg-transparent border-2 border-border px-4 py-3 focus:border-primary outline-none transition-colors",placeholder:"06 XX XX XX XX"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider block mb-2",children:"Sujet *"}),e.jsxs("select",{required:!0,value:s.subject,onChange:r=>a({...s,subject:r.target.value}),className:"w-full bg-transparent border-2 border-border px-4 py-3 focus:border-primary outline-none transition-colors",children:[e.jsx("option",{value:"",children:"Choisir un sujet"}),e.jsx("option",{value:"reservation",children:"Réservation"}),e.jsx("option",{value:"formation",children:"Formation"}),e.jsx("option",{value:"partenariat",children:"Partenariat"}),e.jsx("option",{value:"autre",children:"Autre"})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-semibold uppercase tracking-wider block mb-2",children:"Message *"}),e.jsx("textarea",{required:!0,rows:5,value:s.message,onChange:r=>a({...s,message:r.target.value}),className:"w-full bg-transparent border-2 border-border px-4 py-3 focus:border-primary outline-none transition-colors resize-none",placeholder:"Votre message..."})]}),e.jsxs("div",{className:"absolute -left-[9999px] opacity-0 h-0 overflow-hidden","aria-hidden":"true",children:[e.jsx("label",{htmlFor:"website",children:"Website"}),e.jsx("input",{type:"text",id:"website",name:"website",value:s.honeypot,onChange:r=>a({...s,honeypot:r.target.value}),tabIndex:-1,autoComplete:"off"})]}
6),e.jsx(t.button,{type:"submit",disabled:c,className:"btn-signature-dark",whileHover:{scale:1.02},whileTap:{scale:.98},children:e.jsx("span",{children:c?"Envoi en cours...":"Envoyer le message"})})]})]}),e.jsxs(t.div,{initial:{opacity:0,x:50},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.8},children:[e.jsx("div",{className:"space-y-6 mb-12",children:V.map((r,o)=>e.jsxs(t.a,{href:r.link,target:r.link.startsWith("http")?"_blank":void 0,rel:r.link.startsWith("http")?"noopener noreferrer":void 0,className:"flex items-start gap-6 p-6 bg-muted/30 hover:bg-primary/10 transition-colors group",initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5,delay:o*.1},children:[e.jsx("div",{className:"w-12 h-12 bg-primary/10 flex items-center justify-center group-hover:bg-primary transition-colors",children:e.jsx(r.icon,{className:"w-5 h-5 text-primary group-hover:text-primary-foreground transition-colors"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-sm uppercase tracking-wider mb-1",children:r.title}),e.jsx("p",{className:"text-muted-foreground group-hover:text-foreground transition-colors",children:r.content})]})]},r.title))}),e.jsxs("div",{className:"bg-secondary p-8 mb-8",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-6",children:[e.jsx(O,{className:"w-5 h-5 text-primary"}),e.jsx("h3",{className:"font-display text-xl text-secondary-foreground",children:"HORAIRES D'OUVERTURE"})]}),e.jsx("div",{className:"space-y-3",children:k.map(r=>e.jsxs("div",{className:"flex justify-between text-secondary-foreground/80",children:[e.jsx("span",{children:r.day}),e.jsx("span",{className:r.hours==="Fermé"?"text-secondary-foreground/40":"text-primary",children:r.hours})]},r.day))})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("span",{className:"text-sm font-semibold uppercase tracking-wider",children:"Suivez-nous"}),e.jsx("a",{href:x.instagram,target:"_blank",rel:"noopener noreferrer",className:"w-12 h-12 border border-border flex items-center justify-center hover:border-primary hover:text-primary transition-colors",children:e.jsx(C,{className:"w-5 h-5"})}),e.jsx("a",{href:x.facebook,target:"_blank",rel:"noopener noreferrer",className:"w-12 h-12 border border-border flex items-center justify-center hover:border-primary hover:text-primary transition-colors",children:e.jsx(S,{className:"w-5 h-5"})})]})]})]})})}),e.jsxs("section",{className:"h-[400px] relative",children:[e.jsx(T,{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2621.5!2d-0.8876!3d48.8378!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x480bc7e5e5e5e5e5%3A0x0!2s12%20Rue%20d'Aignaux%2C%2014500%20Vire!5e0!3m2!1sfr!2sfr!4v1700000000000!5m2!1sfr!2sfr",title:"Ludwig Jehan - Vire",className:"grayscale hover:grayscale-0 transition-all duration-500"}),e.jsxs("div",{className:"absolute bottom-8 left-8 bg-background p-6 shadow-lg max-w-xs",children:[e.jsx("h3",{className:"font-display text-lg mb-2",children:"LUDWIG JEHAN"}),e.jsx("p",{className:"text-muted-foreground text-sm mb-2",children:"12 rue d'Aignaux, 14500 Vire-Normandie, Calvados"}),e.jsx("p",{className:"text-muted-foreground text-xs mb-4",children:"Barbier et coiffeur homme, Calvados"}),e.jsx(t.button,{onClick:E,className:"btn-signature-gold text-xs px-6 py-3",whileHover:{scale:1.02},whileTap:{scale:.98},children:e.jsx("span",{children:"Réservez chez votre barbier à Vire"})})]})]}),e.jsx(g,{})]})};export{G as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.