1import{r as s,j as e,M as P,f as y,P as v,L as F}from"./index-CpVByrE_.js";P.setAppElement("#root");const C=({isOpen:a,onRequestClose:n,slug:d})=>{const[b,g]=s.useState(!1),[u,p]=s.useState(""),[h,x]=s.useState("");s.useEffect(()=>{a&&(async()=>{try{const o=await y(` 2 query GetFormationBySlug($slug: String!) { 3 pageFormationTexte(filter: { slug: { eq: $slug } }) { 4 programmeUrl 5 } 6 } 7 `,{slug:d});o&&o.pageFormationTexte&&x(o.pageFormationTexte.programmeUrl)}catch(i){console.error("Erreur lors de la récupération de l'URL du PDF :",i)}})()},[a,d]);const N=l=>{if(l.preventDefault(),!u){alert("Veuillez sélectionner une formation.");return}const i=new FormData(l.target);i.append("formation",u),fetch("https://formspree.io/f/mvgoqayb",{method:"POST",body:i,headers:{Accept:"application/json"}}).then(o=>{o.ok?g(!0):alert("Une erreur est survenue. Veuillez réessayer.")}).catch(o=>{console.error("Erreur:",o),alert("Une erreur est survenue. Veuillez réessayer.")})};return e.jsx(P,{isOpen:a,onRequestClose:n,contentLabel:"Formulaire de téléchargement du programme",className:"ContactModal",overlayClassName:"ContactModalOverlay",children:b?e.jsxs("div",{className:"modal-content",children:[e.jsx("button",{className:"close-button",onClick:n,children:"Ã"}),e.jsx("h2",{children:"Merci !"}),e.jsx("p",{children:"Vous pouvez maintenant télécharger le programme de formation."}),e.jsx("br",{}),h?e.jsx("a",{href:h,target:"_blank",rel:"noopener noreferrer",className:"download-button",children:"Télécharger le programme"}):e.jsx("p",{children:"Le programme n'est pas disponible pour le moment."})]}):e.jsxs("div",{className:"modal-content",children:[e.jsx("button",{className:"close-button",onClick:n,children:"Ã"}),e.jsx("h3",{children:"Vous souhaitez télécharger notre programme de formation ?"}),e.jsx("p",{children:"Remplissez ce formulaire pour télécharger le programme. Il contient toutes les informations pour vous aider dans votre choix et votre parcours."}),e.jsx("br",{}),e.jsxs("form",{onSubmit:N,children:[e.jsxs("label",{children:["Nom :",e.jsx("input",{type:"text",name:"lastName",required:!0})]}),e.jsxs("label",{children:["Email :",e.jsx("input",{type:"email",name:"email",required:!0})]}),e.jsxs("label",{children:["Téléphone :",e.jsx("input",{type:"tel",name:"phone",required:!0})]}),e.jsxs("label",{children:["Quelle formation vous intéresse :",e.jsxs("select",{name:"formation",value:u,onChange:l=>p(l.target.value),required:!0,children:[e.jsx("option",{value:"",disabled:!0,children:"-- Sélectionnez une formation --"}),e.jsx("option",{value:"Massage",children:"Massage"}),e.jsx("option",{value:"Massage à distance",children:"Massage à distance"}),e.jsx("option",{value:"Réflexologie",children:"Réflexologie"}),e.jsx("option",{value:"Réflexologie à distance",children:"Réflexologie à distance"}),e.jsx("option",{value:"Prothésie ongulaire",children:"Prothésie ongulaire"}),e.jsx("option",{value:"Prothésie ongulaire à distance",children:"Prothésie ongulaire à distance"}),e.jsx("option",{value:"Cils",children:"Cils"})]})]}),e.jsxs("label",{className:"consent",children:[e.jsx("input",{type:"checkbox",name:"consent",required:!0}),"J'accepte de recevoir des communications de MDS Formations (tarifs, programmes...)"]}),e.jsxs("label",{className:"consent",children:[e.jsx("input",{type:"checkbox",name:"phoneConsent"}),e.jsxs("span",{children:["J'accepte d'être rappelé(e) par téléphone par MDS Formations au sujet de ma demande d'information sur ses formations.",e.jsxs("small",{className:"consent-note",children:["Appels passés par l'organisme de formation ou son prestataire, identifié dans notre ",e.jsx("a",{href:"/politique-de-protection",target:"_blank",rel:"noopener noreferrer",children:"politique de confidentialité"}),". Accord valable 1 an, sans reconduction tacite. Retrait et copie de votre consentement à tout moment à ",e.jsx("a",{href:"mailto:[email protected]",children:"[email protected]"}),"."]})]})]}),e.jsx("button",{type:"submit",children:"Envoyer"})]})]})})};C.propTypes={isOpen:v.bool.isRequired,onRequestClose:v.func.isRequired,slug:v.string.isRequired};const M=({src:a})=>e.jsx("div",{className:"agendaDiv",children:e.jsx("iframe",{src:a,style:{border:0,width:"100%",height:"600px"},frameBorder:"0",scrolling:"no"})}),q=60*60*1e3,k=({slug:a})=>{const[n,d]=s.useState(null),[b,g]=s.useState(!0),[u,p]=s.useState(!1),[h,x]=s.useState(!1);if(s.useEffect(()=>{const r=`headerData-${a}`,m=localStorage.getItem(r);if(m){const{data:t,timestamp:D}=JSON.parse(m);
7if(Date.now()-D<q){d(t),g(!1);return}}const f=` 8 query GetFormationHeader($slug: String!) { 9 pageFormationTexte(filter: { slug: { eq: $slug } }) { 10 headerUrl 11 titreDeLaPage 12 sousTitreDeLaPage 13 modalitesHeader 14 certifianteOuNon 15 heureBandeau 16 prixBandeau 17 tLChargerProgrammeButton 18 agendaButton 19 nousContacterButton 20 planningUrl 21 nomPlanning1 22 planningUrl2 23 nomPlanning2 24 planningUrl3 25 nomPlanning3 26 planningUrl4 27 nomPlanning4 28 planningUrl5 29 nomPlanning5 30 googleAgenda 31 couleurPage 32 } 33 } 34 `;(async()=>{try{const t=await y(f,{slug:a});console.log("Données reçues de DatoCMS :",t),t&&t.pageFormationTexte?(d(t.pageFormationTexte),localStorage.setItem(r,JSON.stringify({data:t.pageFormationTexte,timestamp:Date.now()}))):console.error("Aucune formation trouvée pour le slug :",a)}catch(t){console.error("Erreur lors de la récupération des données :",t)}finally{g(!1)}})()},[a]),b)return e.jsx("div",{children:"Chargement du header..."});if(!n)return e.jsx("div",{children:"Erreur : données du header introuvables"});const N=()=>p(!0),l=()=>p(!1),i=()=>x(!0),o=()=>x(!1),U=r=>r?r.startsWith("http://")||r.startsWith("https://")?r:`https://${r}`:"",S=()=>{const r=[n.planningUrl,n.planningUrl2,n.planningUrl3,n.planningUrl4,n.planningUrl5],m=[n.nomPlanning1,n.nomPlanning2,n.nomPlanning3,n.nomPlanning4,n.nomPlanning5];return r.map((f,j)=>{if(f&&m[j]){const t=U(f);return e.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",children:e.jsx("button",{className:"planning-button",children:m[j]})},j)}return null})},c=n.couleurPage||"#CF836C";return e.jsxs("div",{className:"headerFormationNew",children:[e.jsxs("div",{className:"headerFormationTest",style:{backgroundImage:`url(${n.headerUrl})`},children:[e.jsx("h1",{children:n.titreDeLaPage}),e.jsx("h2",{children:n.sousTitreDeLaPage}),e.jsxs("div",{className:"iconHeader",children:[e.jsxs("div",{className:"top",children:[e.jsx("img",{src:"/iconFormation.svg",alt:"Icone de différents livres et un chapeau de diplômé"}),e.jsx("p",{children:n.modalitesHeader})]}),e.jsxs("div",{className:"bottom",children:[e.jsx("img",{src:"/valideTest.svg",alt:"Icone d'une validation, dans un badge"}),e.jsx("p",{children:n.certifianteOuNon})]})]})]}),e.jsxs("div",{className:"bandeauHeader",children:[e.jsxs("div",{className:"left",children:[e.jsxs("div",{className:"time",children:[e.jsx("img",{src:"/temps5.svg",alt:"Icone d'une horloge"}),e.jsx("p",{children:n.heureBandeau})]}),e.jsxs("div",{className:"tarifs",children:[e.jsx("img",{src:"/euro2.svg",alt:"Icone du logo euros"}),e.jsx("p",{children:n.prixBandeau})]})]}),e.jsxs("div",{className:"right",children:[e.jsx("button",{onClick:N,className:"custom-button",style:{backgroundColor:c,"--hover-color":`${c}80`},children:n.tLChargerProgrammeButton}),n.agendaButton&&e.jsx("button",{onClick:i,className:"custom-button",style:{backgroundColor:c,"--hover-color":`${c}80`},children:n.agendaButton}),h&&e.jsx("div",{className:"modal-overlay",onClick:o,children:e.jsxs("div",{className:"modal-content",onClick:r=>r.stopPropagation(),children:[e.jsx("button",{className:"close-button",onClick:o,children:"Ã"}),n.googleAgenda?e.jsx(M,{src:n.googleAgenda}):e.jsx("div",{className:"planning-buttons-container",children:S()})]})}),e.jsx(F,{to:"/inscription",children:e.jsx("button",{className:"custom-button",style:{backgroundColor:c,"--hover-color":`${c}80`},children:n.nousContacterButton})})]})]}),e.jsx(C,{isOpen:u,onRequestClose:l,slug:a})]})};k.propTypes={slug:v.string.isRequired};export{k 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.