PageSourceSearch

https://plongee-web-abacus-4zf566.abacusai.app/_next/static/chunks/app/(public)/contact/page-a974ad83.js

js plongee-web-abacus-4zf566.abacusai.app collected 2026-10-03 03:58:32 UTC 14,387 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8278],{88347:function(e,r,t){Promise.resolve().then(t.bind(t,66158))},66158:function(e,r,t){"use strict";t.d(r,{ContactForm:function(){return g}});var s=t(57437),a=t(2265),n=t(27648),l=t(99376),o=t(80605),i=t(40875),u=t(49322),d=t(92934),c=t(44743);let m=[{slug:"open-water",title:"SDI Open Water Diver"},{slug:"advanced-adventure",title:"SDI Advanced Adventure Diver"},{slug:"rescue",title:"SDI Rescue Diver"},{slug:"specialites",title:"SDI Computer Nitrox Diver"},{slug:"divemaster",title:"SDI Deep Diver"},{slug:"wreck-diver",title:"SDI Plong\xe9e sur \xe9pave / Wreck Diver"},{slug:"ice-diver",title:"SDI Plong\xe9e sous la glace / Ice Diver"},{slug:"specialiste-materiel",title:"Sp\xe9cialiste du mat\xe9riel"},{slug:"refresher",title:"SDI Refresh"}],p=new Set(["course","entretien","general","support","promotion"]);function g(){let{data:e,status:r}=(0,o.useSession)()||{},t=(0,l.useSearchParams)(),g=(()=>{let e=(t?.get("type")??"").toLowerCase();return p.has(e)?e:""})(),x=(t?.get("courseSlug")??"").trim(),[b,h]=(0,a.useState)("idle"),[f,y]=(0,a.useState)({firstName:"",lastName:"",email:"",phone:"",requestType:g,courseSlug:"course"===g?x:"",subject:"",message:""}),[v,j]=(0,a.useState)(""),[k,N]=(0,a.useState)(!1);async function w(e){if(e.preventDefault(),!f.firstName.trim()||!f.lastName.trim()||!f.email.trim()||!f.message.trim()){j("Veuillez remplir tous les champs obligatoires."),h("error");return}if(!f.requestType){j("Veuillez s\xe9lectionner le type de demande."),h("error");return}if("course"===f.requestType&&!f.courseSlug){j("Veuillez s\xe9lectionner un cours."),h("error");return}if(("general"===f.requestType||"support"===f.requestType||"entretien"===f.requestType||"promotion"===f.requestType)&&!f.subject.trim()){j("Veuillez indiquer l’objet de votre demande."),h("error");return}h("sending"),j("");try{let e={firstName:f.firstName.trim(),lastName:f.lastName.trim(),name:`${f.firstName.trim()} ${f.lastName.trim()}`,email:f.email,phone:f.phone?.trim()||void 0,subject:function(){if("course"===f.requestType){let e=m.find(e=>e.slug===f.courseSlug);return e?`Inscription – Cours : ${e.title}`:""}if("support"===f.requestType){let e=f.subject.trim();return e?`Support site web : ${e}`:"Support site web"}if("entretien"===f.requestType){let e=f.subject.trim();return e?`Demande d\u2019entretien d\u2019\xe9quipement : ${e}`:"Demande d’entretien d’\xe9quipement"}if("promotion"===f.requestType){let e=f.subject.trim();return e?`Promotions : ${e}`:"Question sur les promotions"}return f.subject.trim()}(),message:f.message,requestType:f.requestType},r=await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(r.ok)h("sent"),y(e=>({...e,requestType:"",courseSlug:"",subject:"",message:""}));else{let e=await r.json().catch(()=>({}));j(e?.error||"Une erreur est survenue. Veuillez r\xe9essayer."),h("error")}}catch(e){j("Erreur r\xe9seau. Veuillez v\xe9rifier votre connexion."),h("error")}}(0,a.useEffect)(()=>{if("authenticated"!==r||k)return;let e=!1;return(async()=>{try{let r=await fetch("/api/me/profile");if(!r.ok)return;let t=await r.json(),s=t?.user;if(e||!s)return;y(e=>({...e,firstName:e.firstName||s.firstName||"",lastName:e.lastName||s.lastName||"",email:e.email||s.email||"",phone:e.phone||s.phone||""})),N(!0)}catch{}})(),()=>{e=!0}},[r,k]);let q="w-full appearance-none rounded-lg border border-gray-300 dark:border-plongee-blue/30 bg-white dark:bg-plongee-dark-blue/40 px-3 py-2 pr-9 text-gray-900 dark:text-white focus:border-plongee-blue focus:outline-none focus:ring-2 focus:ring-plongee-blue/30";return(0,s.jsxs)("form",{onSubmit:w,className:"space-y-4",children:["authenticated"===r&&k&&(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-lg bg-plongee-blue/10 dark:bg-plongee-blue/20 border border-plongee-blue/20 px-3 py-2 text-xs text-plongee-dark-blue dark:text-white",children:[(0,s.jsxs)("span",{children:["Formulaire pr\xe9-rempli depuis votre profil (",e?.user?.email,")."]}),(0,s.jsx)(n.default,{href:"/mon-compte/profil",className:"underline hover:no-underline font-medium whitespace-nowrap",children:"Modifier"})]}),"unauthenticated"===r&&(0,s.jsx)("div",{className:"rounded-lg bg-plongee-cyan/10 dark:bg-plongee-blue/20 border border-plongee-cyan/30 px-3 py-2 text-xs text-plongee-dark-blue dark:text-white",children:(0,s.jsxs)("span",{children:["Astuce\xa0: avec un compte, ce formulaire se remplit automatiquement."," ",(0,s.jsx)(n.default,{href:"/connexion",className:"underline hover:no-underline font-medium",children:"Se connecter"})," \xb7 ",(0,s.jsx)(n.default,{href:"/inscription",className:"underline hover:no-underline font-medium",children:"Cr\xe9er un compte"})]})}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["Pr\xe9nom ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("input",{type:"text",required:!0,autoComplete:"given-name",value:f.firstName,onChange:e=>y({...f,firstName:e.target.value}),className:"w-full rounded-lg border border-gray-300 dark:border-plongee-blue/30 bg-white dark:bg-plongee-dark-blue/40 px-3 py-2 text-gray-900 dark:text-white placeholder:text-gray-400 focus:border-plongee-blue focus:outline-none focus:ring-2 focus:ring-plongee-blue/30",placeholder:"Jean"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["Nom de famille ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("input",{type:"text",required:!0,autoComplete:"family-name",value:f.lastName,onChange:e=>y({...f,lastName:e.target.value}),className:"w-full rounded-lg border border-gray-300 dark:border-plongee-blue/30 bg-white dark:bg-plongee-dark-blue/40 px-3 py-2 text-gray-900 dark:text-white placeholder:text-gray-400 focus:border-plongee-blue focus:outline-none focus:ring-2 focus:ring-plongee-blue/30",placeholder:"Tremblay"})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["Courriel ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("input",{type:"email",required:!0,autoComplete:"email",value:f.email,onChange:e=>y({...f,email:e.target.value}),className:"w-full rounded-lg border border-gray-300 dark:border-plongee-blue/30 bg-white dark:bg-plongee-dark-blue/40 px-3 py-2 text-gray-900 dark:text-white placeholder:text-gray-400 focus:border-plongee-blue focus:outline-none focus:ring-2 focus:ring-plongee-blue/30",placeholder:"[email protected]"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["Type de demande ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("select",{required:!0,value:f.requestType,onCh
1ange:e=>y({...f,requestType:e.target.value,courseSlug:"",subject:""}),className:q,children:[(0,s.jsx)("option",{value:"",children:"— S\xe9lectionnez une option —"}),(0,s.jsx)("option",{value:"course",children:"M'inscrire \xe0 un cours"}),(0,s.jsx)("option",{value:"entretien",children:"Demander un entretien d'\xe9quipement"}),(0,s.jsx)("option",{value:"promotion",children:"Promotions"}),(0,s.jsx)("option",{value:"general",children:"Question g\xe9n\xe9rale"}),(0,s.jsx)("option",{value:"support",children:"Support site web"})]}),(0,s.jsx)(i.Z,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-500 dark:text-gray-400"})]})]}),"course"===f.requestType&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["Cours ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)("select",{required:!0,value:f.courseSlug,onChange:e=>y({...f,courseSlug:e.target.value}),className:q,children:[(0,s.jsx)("option",{value:"",children:"— S\xe9lectionnez un cours —"}),m.map(e=>(0,s.jsx)("option",{value:e.slug,children:e.title},e.slug))]}),(0,s.jsx)(i.Z,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-500 dark:text-gray-400"})]})]}),("general"===f.requestType||"support"===f.requestType||"entretien"===f.requestType||"promotion"===f.requestType)&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["entretien"===f.requestType?"\xc9quipement \xe0 entretenir":"promotion"===f.requestType?"Promotion qui vous int\xe9resse":"Sujet"," ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("input",{type:"text",required:!0,value:f.subject,onChange:e=>y({...f,subject:e.target.value}),className:"w-full rounded-lg border border-gray-300 dark:border-plongee-blue/30 bg-white dark:bg-plongee-dark-blue/40 px-3 py-2 text-gray-900 dark:text-white placeholder:text-gray-400 focus:border-plongee-blue focus:outline-none focus:ring-2 focus:ring-plongee-blue/30",placeholder:"support"===f.requestType?"Ex. page qui ne charge pas, bouton cass\xe9, etc.":"promotion"===f.requestType?"Ex. rabais \xe9quipement, forfait cours, etc.":"entretien"===f.requestType?"Ex. d\xe9tendeur, ordinateur, BCD, combinaison, etc.":"Question sur les tarifs, horaires, etc."})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-200 mb-1",children:["Message ",(0,s.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,s.jsx)("textarea",{required:!0,rows:5,value:f.message,onChange:e=>y({...f,message:e.target.value}),className:"w-full rounded-lg border border-gray-300 dark:border-plongee-blue/30 bg-white dark:bg-plongee-dark-blue/40 px-3 py-2 text-gray-900 dark:text-white placeholder:text-gray-400 focus:border-plongee-blue focus:outline-none focus:ring-2 focus:ring-plongee-blue/30 resize-y",placeholder:"\xc9crivez votre message ici..."})]}),"error"===b&&v&&(0,s.jsxs)("div",{className:"flex items-start gap-2 rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 p-3 text-sm text-red-700 dark:text-red-300",children:[(0,s.jsx)(u.Z,{className:"h-5 w-5 shrink-0 mt-0.5"}),(0,s.jsx)("span",{children:v})]}),"sent"===b?(0,s.jsxs)("div",{className:"rounded-xl bg-emerald-50 dark:bg-emerald-900/20 border border-emerald-200 dark:border-emerald-800 p-5 text-center space-y-3",children:[(0,s.jsx)(d.Z,{className:"mx-auto h-10 w-10 text-emerald-500"}),(0,s.jsx)("h3",{className:"text-lg font-semibold text-emerald-700 dark:text-emerald-300",children:"Message envoy\xe9 avec succ\xe8s !"}),(0,s.jsxs)("p",{className:"text-sm text-emerald-600 dark:text-emerald-400 leading-relaxed",children:["Merci de nous avoir contact\xe9s. Nous avons bien re\xe7u votre message et nous vous r\xe9pondrons dans un d\xe9lai de ",(0,s.jsx)("strong",{children:"24 \xe0 48 heures"}),"."]}),(0,s.jsxs)("button",{type:"button",onClick:()=>h("idle"),className:"mt-2 inline-flex items-center gap-2 rounded-md bg-plongee-blue hover:bg-plongee-dark-blue px-5 py-2 text-sm font-medium text-white transition-colors",children:[(0,s.jsx)(c.Z,{className:"h-4 w-4"}),"Envoyer un autre message"]})]}):(0,s.jsx)("button",{type:"submit",disabled:"sending"===b,className:"inline-flex items-center justify-center gap-2 rounded-md bg-plongee-blue hover:bg-plongee-dark-blue px-6 py-3 text-base font-medium text-white transition-colors disabled:opacity-60 disabled:cursor-not-allowed",children:"sending"===b?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"}),"Envoi en cours..."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Z,{className:"h-4 w-4"}),"Envoyer le message"]})})]})}},79205:function(e,r,t){"use strict";t.d(r,{Z:function(){return i}});var s=t(2265);let a=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=(...e)=>e.filter((e,r,t)=>!!e&&t.indexOf(e)===r).join(" ");var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,s.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:o="",children:i,iconNode:u,...d},c)=>(0,s.createElement)("svg",{ref:c,...l,width:r,height:r,stroke:e,strokeWidth:a?24*Number(t)/Number(r):t,className:n("lucide",o),...d},[...u.map(([e,r])=>(0,s.createElement)(e,r)),...Array.isArray(i)?i:[i]])),i=(e,r)=>{let t=(0,s.forwardRef)(({className:t,...l},i)=>(0,s.createElement)(o,{ref:i,iconNode:r,className:n(`lucide-${a(e)}`,t),...l}));return t.displayName=`${e}`,t}},40875:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});let s=(0,t(79205).Z)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},49322:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});let s=(0,t(79205).Z)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},92934:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});let s=(0,t(79205).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},44743:function(e,r,t){"use strict";t.d(r,{Z:function(){return s}});let s=(0,t(79205).Z)("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"}]])},27648:function(e,r,t){"use strict";t.d(r,{default:function(){return a.a}});var s=t(72972),a=t.n(s)},99376:function(e,r,t){"use strict";var s=t(35475);t.o(s,"useParams")&&t.d(r,{useParams:function(){return s.useParams}}),t.o(s,"usePathname")&&t.d(r,{usePathname:function(){return s.usePathname}}),t.o(s,"useRouter")&&t.d(r,{useRouter:function(){return s.useRouter}}),t.o(s,"useSearchParams")&&t.d(r,{useSearchParams:function(){return s.useSearchParams}})}},function(e){e.O(0,[2972,605,2971,2117,1744],function(){return e(e.s=88347)}),_N_E=e.O()}]);

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.