PageSourceSearch

https://www.melodiedessens.fr/assets/HeaderFormationNew-CsV9QPac.js

js melodiedessens.fr collected 2026-10-05 06:04:03 UTC 8,602 bytes, 34 lines download raw bytes

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.