{"version":3,"sources":["constants/Links.tsx","constants/Hamburger.tsx","components/Header.tsx","components/Footer.tsx","constants/Numbers.tsx","pages/Home.tsx","helpers/Axios.tsx","components/RegistrationForm.tsx","context/actions/auth/register.tsx","components/CourseList.tsx","pages/Courses.tsx","components/StageDetail.tsx","pages/Stages.tsx","pages/Photos.tsx","pages/Birthday.tsx","pages/Infos.tsx","pages/Location.tsx","pages/Animations.tsx","pages/Blog.tsx","components/DisplayContactForm.tsx","context/actions/auth/contact.tsx","pages/Admin/Contact.tsx","components/DisplayNewsletterForm.tsx","pages/Admin/Newsletter.tsx","components/DisplayRegistrations.tsx","pages/Admin/Courses.tsx","pages/Admin/Stages.tsx","components/DisplayRegistrationRequests.tsx","pages/Admin/Subscriptions.tsx","components/Profile.tsx","pages/YourAccount.tsx","constants/Routes.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["Links","name","type","url","img","more","undefined","Hamburger","onMenuClick","id","className","onClick","Header","useState","window","location","pathname","substring","highlighted","highlight","show","setShow","ShowHideMenu","test","to","map","link","key","Footer","target","href","Home","rel","download","alt","src","headers","localStorage","token","Authorization","axiosInstance","axios","create","baseURL","process","defaultRegistrationForm","course","stage","firstName","lastName","birthDate","phoneNumber","street","postalCode","city","emailAddress","emailAddress1","emailAddress2","isachild","niceTime","time","tokens","split","RegistrationForm","stages","courses","title","form","setForm","setCourse","setStage","isAChild","setIsAChild","console","log","onSubmit","e","preventDefault","newOrder","FirstName","LastName","Email","EmailParent1","EmailParent2","PhoneNumber","Address","Street","PostalCode","City","BirthDate","IsAchild","post","then","response","catch","err","registerUser","alert","pattern","RegExp","hasEmailError","emailError","onChange","currentTarget","value","Form","method","filter","li","isVisible","subscribes","length","nbMaxRegistrations","schedule","day","startTime","endTime","shortName","startDate","endDate","start","Date","end","getMonth","getDate","nicePeriod","description","Label","htmlFor","Input","checked","autoComplete","placeholder","Button","CourseList","defaultList","Courses","list","setList","visible","setVisible","loading","useEffect","get","data","error","StageDetail","Stages","stageObj","Photos","Birthday","data-role","height","width","Infos","Location","Animations","Blog","defaultContactForm","subject","body","Subject","Body","contactStudents","emptyCourseList","DisplayContactForm","currentCourse","setCurrentCourse","filtered","c","Contact","DisplayNewsletterForm","Newsletter","niceDate","date","getFullYear","DisplayRegistrations","print","cc","style","colSpan","toUpperCase","replaceAll","contact","pink","student","imageRight","green","insurance","darkpink","payment","yellow","hasRemainingSold","phoneNumber2","email","dateModification","contactId","address","phoneNumber3","email1","email2","birthdate","DisplayRegistrationRequests","requests","classes","registrationRequestId","month","getHours","getMinutes","dateCreation","toString","emailParent1","emailParent2","eventId","Profile","profil","isChild","children","parents","mainClass","parent","child","dateOnly","defaultProfil","imageURI","Routes","exact","comp","setProfil","setUrl","params","paramList","toLowerCase","AdminContact","AdminNewsletter","AdminCourses","AdminStages","AdminSubscriptions","App","route","path","component","RenderRoute","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","state","controller","onUpdate","onSuccess","ReactDOM","render","StrictMode","document","getElementById","URL","origin","addEventListener","fetch","contentType","status","indexOf","ready","unregister","reload","checkValidServiceWorker"],"mappings":"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QvI,UAAUqI,eACvB,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,kCAIR,+BACI,4BAAI,4BAAI,8BACJ,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,+BAER,+BACI,4BACI,mCACA,sCACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,+BAGR,+BACKH,EAAGpE,WAAWrF,KAAI,SAAC8J,GAAD,OACnB,4BACI,4BAAKA,EAAQtI,SAASoI,eACtB,4BAAKE,EAAQvI,UAAUqI,eACvB,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,kCAMR,+BACI,4BAAI,4BAAI,8BACJ,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,+BAER,+BACI,wBAAI3K,UAAU,SACV,wBAAI0K,QAAS,GAAIF,EAAGpI,OAAOuE,UAAUgE,cAAcC,WAAW,IAAI,MAClE,wBAAIF,QAAS,GAAb,UAAiBF,EAAGpI,OAAOoE,WAA3B,aAAiB,EAAejH,KAAhC,IAAuC0D,EAASuH,EAAGpI,OAAOqE,WAA1D,MAAyExD,EAASuH,EAAGpI,OAAOsE,UAQ5F,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,wBAAIgE,QAAS,EAAG1K,UAAU,eAA1B,qBAGR,+BACI,4BAAI,4BAAI,8BACJ,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,6BACA,+BAER,+BACA,4BACQ,mCACA,s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","file":"static/js/main.6ae0e3d6.chunk.js","sourcesContent":["const Home = {\r\n name: 'Accueil',\r\n type: 'home',\r\n url: '',\r\n img: [],\r\n};\r\nconst Courses = {\r\n name: 'Les cours',\r\n type: 'courses',\r\n url: 'les-cours',\r\n more: undefined\r\n};\r\nconst Stages = {\r\n name: 'Stages & Weekends',\r\n type: 'stages',\r\n url: 'stages-week-ends',\r\n more: undefined,\r\n};\r\nconst Photos = {\r\n name: 'Photos',\r\n type: 'photos',\r\n url: 'photos',\r\n more: undefined\r\n};\r\nconst Birthday = {\r\n name: 'Anniversaire',\r\n type: 'event',\r\n url: 'anniversaire',\r\n more: undefined\r\n};\r\nconst Location = {\r\n name: 'Location',\r\n type: 'Location',\r\n url: 'location',\r\n more: undefined\r\n};\r\nconst Infos = {\r\n name: 'Infos',\r\n type: 'infos',\r\n url: 'infos',\r\n more: undefined\r\n};\r\nconst Animations = {\r\n name: 'Animations',\r\n type: 'Animations',\r\n url: 'animations',\r\n more: undefined\r\n};\r\nconst Blog = {\r\n name: 'Blog',\r\n type: 'blog',\r\n url: 'blog',\r\n more: undefined\r\n};\r\nconst Links = [\r\n Home,\r\n Courses,\r\n Stages,\r\n Photos,\r\n Animations,\r\n Location,\r\n Birthday,\r\n// Infos,\r\n// Blog,\r\n];\r\n\r\nexport default Links;\r\n","import React from 'react';\r\n\r\ninterface Props {\r\n onMenuClick: () => void;\r\n}\r\n\r\nconst Hamburger = ({ onMenuClick }: Props) => (\r\n \r\n);\r\n\r\nexport default Hamburger;\r\n","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport Links from '../constants/Links';\r\nimport Hamburger from '../constants/Hamburger';\r\nimport '../css/header.scss';\r\n\r\nconst Header = () => {\r\n const [highlighted, highlight] = useState(window.location.pathname.substring(1));\r\n const [show, setShow] = useState(false);\r\n\r\n const ShowHideMenu = (test: string, show: boolean) => {\r\n highlight(test);\r\n setShow(show);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport '../css/footer.scss';\r\nimport {LastUpdated} from '../constants/Numbers';\r\n\r\nconst Footer = () => (\r\n \r\n);\r\n\r\nexport default Footer;\r\n","export const LastUpdated = '15 janvier 2025';\r\n","import React from 'react';\r\n/*import { Button} from 'reactstrap';*/\r\nimport { Link } from 'react-router-dom';\r\nimport '../css/home.scss';\r\n\r\nconst Home = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Accueil

\r\n
\r\n {/* */}\r\n\r\n
\r\n
\r\n

Bonjour à toutes et à tous,

\r\n \r\n

Les documents pour l'année 2024-2025 :

\r\n \r\n\r\n{/*

Les spectacles de fin d'année se dérouleront en juin 2025.

*/}\r\n{/*

Pour nos stages d'été 2024, Créacirque s'associe avec de nombreuses associations et lieux culturels afin de mélanger le cirque avec d'autres disciplines artistiques et créer des ponts entre les arts!

*/}\r\n{/*
Venez les découvrir dans notre onglet \"stages\"!
*/}\r\n
Bienvenue sur le site de CREACIRQUE, l’Ecole de Cirque de Namur !
\r\n

Toutes nos activités se donnent dans la salle 2 de l'Institut Ste-Marie (227, rue de l'Aurore à 5100 Jambes).

\r\n

L'envie qui nous anime est le développement des arts du cirque à travers la créativité,le partage, la perfomance et l'esthétisme.

\r\n

N'hésitez à aller voir nos photos qui mettent en valeur le travail de nos talentueux élèves.

\r\n\r\n\r\n\r\n
\r\n

Stage de cirque et acrobatie

\r\n

Du 3 au 7 mars 2025 de 9h00 à 16h00

\r\n

Salle 2 de l'Institut Sainte-Marie

\r\n

227, rue de l'Aurore à 5100 Jambes

\r\n
\r\n\r\n\r\n{/*

Nouveau cours de PP (préparation physique) de cirque/gym pour adultes et ados tous les mercredis de 17h15 à 18h15

*/}\r\n

Les cours débutent la semaine du 16 septembre 2024.

\r\n\r\n
\r\n

\r\n Bienvenue pour cette nouvelle saison 2024-25 remplie de talent, de partage, d'énergie , de créativité, de solidarité et de bonne humeur.\r\n

\r\n

\r\n Au plaisir de vous revoir pour de nouvelles aventures circassiennes!

\r\n
\r\n{/*
Vous qui avez toujours révé de:\r\n
    \r\n
  • \r\n Marcher sur les mains.\r\n
  • \r\n
  • \r\n Rester une minute sans bouger sur les mains, la tête ou sur un bras.\r\n
  • \r\n
  • \r\n Vous relerver sans soucis d'un rétablissement grâce au \"muscle up\" (barres ou anneaux).\r\n
  • \r\n
  • \r\n Vous releverdu trépiedvers le porrieret de vous renforcer avec votre poids de corps(gainages spécifiques, abdos en dynamisme, positions en équilibre...).\r\n
  • \r\n
\r\n
*/}\r\n{/*

Une vraie préparation physique dans un local attentif aux mesures Covid.

\r\n

Le tout dans une ambiance cool, appliquée, bienveillante et encadré par un professionnel.

\r\n

Intérressé.e.? Le 1 er cours est gratuit, nous vous attendons impatiemment!

*/}\r\n\r\n
\r\n \"logo\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n Adresse du siège social de Créacirque
\r\n 9, rue de Nèvremont
\r\n 5070 Fosses-La-Ville
\r\n Belgique\r\n

\r\n

Téléphone : +32 (0)474/05.21.96

\r\n

Numéro de compte: BE 95 0682 1788 4558

\r\n

Email: creacirque@gmail.com

\r\n
\r\n
\r\n

\r\n Adresse de la salle de Créacirque
\r\n Salle 2 de l'Institut Sainte-Marie
\r\n 227, rue de l'Aurore
\r\n 5100 Jambes
\r\n Belgique\r\n

\r\n
\r\n
\r\n \r\n Inscription aux cours\r\n \r\n
\r\n \r\n
\r\n

Stage de cirque et acrobatie

\r\n

Du 3 au 7 mars 2025 de 9h00 à 16h00

\r\n

Salle 2 de l'Institut Sainte-Marie

\r\n

227, rue de l'Aurore à 5100 Jambes

\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n )\r\n};\r\n\r\nexport default Home;\r\n\r\n\r\n//
\r\n//

Stage de cirque à Burdinne

\r\n//

Du 21/10/2024 au 24/10/2024 de 09:00 à 16:00

\r\n//
Ecole de Burdinne - Burdinne
\r\n//

Stage d'initiation de cirque
\r\n// Du 21 au 25 octobre 2024
\r\n// En collaboration avec le service ATL de Burdinne
\r\n// Nous découvrirons l’art du cirque selon ...

\r\n//
\r\n","import axios from 'axios';\r\n\r\nconst baseURL = process.env.REACT_APP_BACKEND_URL;\r\n\r\nlet headers: any = {};\r\n\r\nif(localStorage.token) {\r\n headers.Authorization=`Bearer ${localStorage.token}`;\r\n}\r\n\r\nconst axiosInstance = axios.create({\r\n baseURL: baseURL,\r\n headers,\r\n});\r\n\r\nexport default axiosInstance;\r\n","import React, { useState} from 'react'; //, useContext, useEffect \r\nimport { Label, Form, Input, Button} from 'reactstrap'; //, InputGroup, InputGroupText \r\n//import { isAccessor } from 'typescript';\r\n//import { SEND_MAIL_ERROR, SEND_MAIL_LOADING, SEND_MAIL_SUCCESS } from \"../constants/actionTypes\";\r\n//import axiosInstance from \"../helpers/Axios\";\r\nimport { register as registerUser } from '../context/actions/auth/register';\r\n//import { GlobalContext } from '../context/Provider';\r\nimport IContact from '../interfaces/IContact';\r\nimport '../css/registrationform.scss';\r\n\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n nbMaxRegistrations: number;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n\r\n interface IStage {\r\n shortName: string;\r\n name: string;\r\n description: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n \r\n interface IDay {\r\n name: string;\r\n }\r\n\r\n interface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n }\r\n\r\ninterface IProps {\r\n courses: undefined | ICourseObj[];\r\n stages: undefined | IStage[];\r\n title: string;\r\n}\r\n\r\n\r\ninterface IRegistrationForm {\r\n course: string;\r\n stage: string;\r\n firstName: string;\r\n lastName: string;\r\n birthDate: string;\r\n phoneNumber: string;\r\n // address: string;\r\n street: string;\r\n postalCode: string;\r\n city: string;\r\n emailAddress: string;\r\n emailAddress1: string;\r\n emailAddress2: string;\r\n isachild: boolean;\r\n }\r\n\r\nconst defaultRegistrationForm = {\r\n course: \"\",\r\n stage: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n birthDate: \"\",\r\n phoneNumber: \"\",\r\n // address: \"\",\r\n street: \"\",\r\n postalCode: \"\",\r\n city: \"\",\r\n emailAddress: \"\",\r\n emailAddress1: \"\",\r\n emailAddress2: \"\",\r\n isachild: true\r\n}\r\n\r\nconst niceTime = (time: string) => {\r\n if (time === null)\r\n return '';\r\n const tokens = time.split(':');\r\n return `${tokens[0]}h${tokens[1]}`;\r\n };\r\n\r\n const monthToString = (month: number) => {\r\n const monthList = ['Janvier', 'Février', 'Mars',\r\n 'Avril','Mai','Juin',\r\n 'Juillet','Août','Septembre',\r\n 'Octobre','Novembre','Décembre'];\r\n return monthList[month];\r\n };\r\n const nicePeriod = (startDate: string, endDate: string) => {\r\n if (startDate === null)\r\n return '';\r\n const start = new Date(startDate);\r\n const end = new Date(endDate);\r\n if(start.getMonth() === end.getMonth() && start.getDate() < end.getDate())\r\n {\r\n return `${start.getDate()} au ${end.getDate()} ${monthToString(start.getMonth())}`;\r\n }\r\n return '';\r\n };\r\n\r\n//const context = useContext(GlobalContext);\r\n//const registerDispatch = context?.registerDispatch;\r\n\r\n\r\nconst RegistrationForm = ({stages, courses, title}:IProps) => {\r\n const [form, setForm] = useState(defaultRegistrationForm);\r\n // const [error, setError] = useState(undefined);\r\n const [course, setCourse] = useState(\"Choisir votre cours\");\r\n const [stage, setStage] = useState(\"Choisir votre stage\");\r\n const [isAChild, setIsAChild] = useState(true);\r\n\r\n //const maxSubscriptions = 14;\r\n // useEffect(() => {\r\n // });\r\n console.log(\"form: \",form);\r\n console.log(\"course: \",course);\r\n console.log(\"stage: \",stage);\r\n\r\n const onSubmit = (e: React.FormEvent, form: any) => {\r\n e.preventDefault();\r\n // if (form.emailAddress && !hasEmailError && !hasPasswordError) {\r\n // registerUser(form)(registerDispatch);\r\n // }\r\n console.log(\"form\", form);\r\n registerUser(form);\r\n //alert(\"Le site est actuellement en maintenance. Veuillez appeler le 0473/19 94 70\");\r\n // alert(\"Votre demande d'inscription a été envoyée avec succès. Vous recevrez bientôt un e-mail avec le devis.\");\r\n alert(\"Merci pour votre inscription! Nous vous confirmons celle-ci dans les plus brefs délais en fonction des places disponibles pour le.s cours sélectionné.s.\");\r\n };\r\n\r\n const pattern = new RegExp(/^((\"[\\w-\\s]+\")|([\\w-]+(?:\\.[\\w-]+)*)|(\"[\\w-\\s]+\")([\\w-]+(?:\\.[\\w-]+)*))(@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$)|(@\\[?((25[0-5]\\.|2[0-4][0-9]\\.|1[0-9]{2}\\.|[0-9]{1,2}\\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\]?$)/i);\r\n const hasEmailError = !(pattern.test(form.emailAddress1) && pattern.test(form.emailAddress2));\r\n const emailError = (): string => {\r\n if (!(form.emailAddress1 || form.emailAddress2))\r\n return \"\";\r\n if (form.emailAddress1 && !pattern.test(form.emailAddress1))\r\n return \"La première adresses e-mail n'est pas valide\";\r\n if (form.emailAddress2 && !pattern.test(form.emailAddress2))\r\n return \"La deuxième adresses e-mail n'est pas valide\";\r\n return \"a\";\r\n };\r\n // const hasPasswordError = form.password !== form.ConfirmPswd;\r\n\r\n const onChange = (e: React.FormEvent): void => {\r\n // setError(undefined);\r\n setForm({ ...form, [e.currentTarget.id]: e.currentTarget.value });\r\n };\r\n\r\n const updateCourse: React.ChangeEventHandler = (e) => {\r\n setCourse(e.target.value);\r\n setForm({ ...form, [e.target.id]: e.target.value });\r\n };\r\n\r\n const updateStage: React.ChangeEventHandler = (e) => {\r\n setStage(e.target.value);\r\n setForm({ ...form, [e.target.id]: e.target.value });\r\n };\r\n\r\n // const onChangeIsAchild = (e: React.FormEvent): void => {\r\n // setIsAChild(!isAChild)\r\n // };\r\n\r\n \r\n\r\n return (\r\n
onSubmit(e, form)} >\r\n

Merci de remplir votre fiche de pré-inscription :

\r\n
\r\n {courses !== undefined ?\r\n \r\n :
\r\n }\r\n {stages !== undefined ?\r\n \r\n :
\r\n }\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n {/*

Prénom

*/}\r\n
\r\n
\r\n \r\n {/*

Nom

*/}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

Rue :

\r\n \r\n
\r\n
\r\n

Code postal :

\r\n \r\n
\r\n
\r\n

Ville :

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {isAChild ?\r\n
\r\n \r\n
\r\n

Parent 1 :

\r\n \r\n
\r\n
\r\n

Parent 2 :

\r\n \r\n
\r\n {/* placeholder=\"Email-address\" */}\r\n {hasEmailError ?\r\n \r\n : \r\n }\r\n
\r\n :\r\n
\r\n \r\n \r\n {/* placeholder=\"Email-address\" */}\r\n {hasEmailError ?\r\n \r\n : \r\n }\r\n
\r\n\r\n }\r\n
\r\n \r\n {/* */}\r\n S'inscrire\r\n \r\n {/* */}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default RegistrationForm;\r\n\r\n","// import React from \"react\";\r\n//import { SEND_MAIL_ERROR, SEND_MAIL_LOADING, SEND_MAIL_SUCCESS } from \"../../../constants/actionTypes\";\r\nimport axiosInstance from \"../../../helpers/Axios\";\r\n\r\n// const getDate = (dob: string) => {\r\n// if (dob === undefined)\r\n// return undefined;\r\n// const tokens: string[] = dob.split('/');\r\n// const year: string = tokens[2];\r\n// const month: string = tokens[1].length < 2 ? `0${tokens[1]}` : tokens[1];\r\n// const day: string = tokens[0].length < 2 ? `0${tokens[0]}` : tokens[0];\r\n// const newDob: string = `${year}-${month}-${day}`;\r\n// return newDob;\r\n// };\r\n\r\n\r\ninterface IRegistrationForm {\r\n course: string;\r\n stage: string;\r\n firstName: string;\r\n lastName: string;\r\n birthDate: string;\r\n phoneNumber: string;\r\n // address: string;\r\n street: string;\r\n postalCode: string;\r\n city: string;\r\n emailAddress: string;\r\n emailAddress1: string;\r\n emailAddress2: string;\r\n isachild: boolean;\r\n }\r\n\r\nexport const register = (form: IRegistrationForm) =>\r\n//(dispatch: any) => \r\n{\r\n// dispatch({ type: SEND_MAIL_LOADING, });\r\n\r\n const newOrder = {\r\n// ProfilePicture:\"/images/avatar-icon-images-4.jpg\",\r\n FirstName:form?.firstName,\r\n LastName:form?.lastName,\r\n Email:form?.emailAddress,\r\n EmailParent1:form?.emailAddress1,\r\n EmailParent2:form?.emailAddress2,\r\n PhoneNumber:form?.phoneNumber,\r\n Address:`${form?.street} ${form?.postalCode} ${form?.city}`,\r\n Street:form?.street,\r\n PostalCode:form?.postalCode,\r\n City:form?.city,\r\n BirthDate:form?.birthDate,\r\n IsAchild:form?.emailAddress === \"\"\r\n // IdModification:3,\r\n // DateModification:getDate(form?.dob),\r\n // IdCreation:4,\r\n // DateCreation:getDate(form?.dob)\r\n };\r\n\r\n if(form?.course !== undefined)\r\n {\r\n axiosInstance.post(`/course/${form?.course}/register`, newOrder) \r\n .then(response => {\r\n // const idStr = response.data?.split('-')[0];\r\n // console.log('idstr',idStr);\r\n // const id = idStr ? parseInt(idStr) : undefined;\r\n // console.log('id',id);\r\n // console.log('/auth/register -> response statuts', response.status)\r\n /*\r\n if (response.status === 201) {\r\n dispatch({\r\n type: SEND_MAIL_SUCCESS,\r\n payload: response.data,\r\n id: id,\r\n });\r\n }\r\n else {\r\n dispatch({\r\n type: SEND_MAIL_ERROR,\r\n payload: 'unable to register this user',\r\n });\r\n }\r\n */\r\n }\r\n )\r\n .catch((err) => {\r\n // const error = err.response === undefined ? \r\n // 'Server in not reachable'\r\n // : err.response.data;\r\n // const detailedError = error?.detail;\r\n /*\r\n dispatch({\r\n type: SEND_MAIL_ERROR,\r\n payload: detailedError !== undefined ? detailedError : error,\r\n })\r\n */\r\n }\r\n ); \r\n }\r\n \r\n};\r\n","import React from 'react'; //, useContext, useEffect \r\nimport IContact from '../interfaces/IContact';\r\nimport '../css/courselist.scss';\r\n\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n nbMaxRegistrations: number;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n\r\n interface IStage {\r\n shortName: string;\r\n name: string;\r\n description: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n \r\n interface IDay {\r\n name: string;\r\n }\r\n\r\n interface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n }\r\n\r\ninterface IProps {\r\n courses: undefined | ICourseObj[];\r\n stages: undefined | IStage[];\r\n title: string;\r\n}\r\n\r\nconst niceTime = (time: string) => {\r\n if (time === null)\r\n return '';\r\n const tokens = time.split(':');\r\n return `${tokens[0]}h${tokens[1]}`;\r\n };\r\n\r\nconst CourseList = ({stages, courses, title}:IProps) => {\r\n\r\n\r\n return (\r\n
\r\n

{title}

\r\n {courses !== undefined ?\r\n courses.filter((li) => li.course.isVisible).map((li) =>{\r\n const schedule = li.course.day?.name !== '' ? ` (${li.course.day?.name} de ${niceTime(li.course.startTime)} à ${niceTime(li.course.endTime)})` : '';\r\n return (\r\n

{li.course.name}{schedule}

\r\n );\r\n })\r\n :
\r\n }\r\n\r\n
\r\n //
onSubmit(e, form)} >\r\n //

Merci de remplir votre fiche de pré-inscription :

\r\n //
\r\n // {courses !== undefined ?\r\n // \r\n // :
\r\n // }\r\n // {stages !== undefined ?\r\n // \r\n // :
\r\n // }\r\n //
\r\n \r\n //
\r\n // \r\n //
\r\n\r\n //
\r\n // \r\n //
\r\n //
\r\n // \r\n // {/*

Prénom

*/}\r\n //
\r\n //
\r\n // \r\n // {/*

Nom

*/}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n //

Rue :

\r\n // \r\n //
\r\n //
\r\n //

Code postal :

\r\n // \r\n //
\r\n //
\r\n //

Ville :

\r\n // \r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n //
\r\n // {isAChild ?\r\n //
\r\n // \r\n //
\r\n //

Parent 1 :

\r\n // \r\n //
\r\n //
\r\n //

Parent 2 :

\r\n // \r\n //
\r\n // {/* placeholder=\"Email-address\" */}\r\n // {hasEmailError ?\r\n // \r\n // : \r\n // }\r\n //
\r\n // :\r\n //
\r\n // \r\n // \r\n // {/* placeholder=\"Email-address\" */}\r\n // {hasEmailError ?\r\n // \r\n // : \r\n // }\r\n //
\r\n\r\n // }\r\n //
\r\n // \r\n // {/* */}\r\n // S'inscrire\r\n // \r\n // {/* */}\r\n //
\r\n // \r\n )\r\n}\r\n\r\nexport default CourseList;\r\n\r\n","import React, { useEffect, useState } from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport RegistrationForm from '../components/RegistrationForm';\r\nimport CourseList from '../components/CourseList';\r\nimport axiosInstance from \"../helpers/Axios\";\r\nimport IContact from '../interfaces/IContact';\r\n\r\nconst defaultList: ICourseObj[] = [];\r\n// const defaultList = [\r\n// {shortName:\"raté\", name:\"Tout va péter\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"\", name:\"Choisir votre cours\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"trampo\", name:\"Trampoline\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},{shortName:\"circuit\", name:\"Circuit\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"pluri1\", name:\"Pluri 1\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},{shortName:\"pluri2\", name:\"Pluri 2\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},{shortName:\"pluri3\", name:\"Pluri 3\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"prepaphysique\", name:\"Prépa physique\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"acro1\", name:\"Acro 1\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"acro2\", name:\"Acro 2\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'},\r\n// {shortName:\"other\", name:\"Autre cours\", day:{name:'lundi'}, startTime:'16:00:00', endTime:'18:00:00'}];\r\n\r\ninterface IDay {\r\n name: string;\r\n}\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n nbMaxRegistrations: number;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\ninterface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n}\r\n\r\nconst Courses = () => {\r\n\r\n const [list, setList] = useState(defaultList);\r\n const [visible, setVisible] = useState(true);\r\n const loading = list === defaultList && visible;\r\n \r\nuseEffect(() => {\r\n if(loading)\r\n axiosInstance.get(\"/course\")\r\n .then(response => {\r\n //console.log('response', response);\r\n\r\n setList(response.data);//.map((courseObj : ICourseObj) => courseObj.course))\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n );\r\n\r\n return (\r\n
\r\n
\r\n

Les cours

\r\n
\r\n
\r\n {\r\n loading ?\r\n

Chargement en cours...

\r\n :\r\n visible ? \r\n
\r\n \r\n \r\n
\r\n :\r\n
\r\n

Le système d'inscription est actuellement en panne.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Courses;\r\n","import React from 'react'; //, useContext, useEffect \r\nimport '../css/stagedetail.scss';\r\n\r\nconst StageDetail = () => {\r\n return (\r\n
\r\n

Stage de cirque et acrobatie

\r\n

Du 3 au 7 mars 2025 de 9h00 à 16h00

\r\n

Entrez dans l'univers magique du cirque et de l'acrobatie ! ✨

\r\n \"acrobatie\"\r\n\r\n

Offrez à vos enfants une semaine de découverte unique où ils apprendront les différentes techniques \r\n de cirque et s'initieront aux sensations de l'acrobatie. \r\n Jonglerie, équilibre, trapèze, découverte du mini et grand trampoline et \r\n de nombreuses figures acrobatiques seront au rendez-vous, encadrés par un professionnel passionné. \r\n Une aventure ludique pour développer confiance en soi, \r\n créativité et esprit d'équipe. \r\n Rejoignez-nous pour une expérience qui les fera rêver ! 🌟

\r\n
\r\n \"acrobatie\"\r\n \"acrobatie\"\r\n \"acrobatie\"\r\n
\r\n\r\n

Pour les enfants de 6 ans à 15 ans.

\r\n\r\n

Lieu : Salle 2 de l'Institut Sainte-Marie
\r\n 227, rue de l'Aurore à 5100 Jambes

\r\n

Horaires : De 9h à 16h

\r\n

Prix : 115€
\r\n (- 10% si famille nombreuse ou 2ème enfant inscrit de la même famille).

\r\n

Infos et réservations : Envoyer un mail à : creacirque@gmail.com

\r\n
\r\n )\r\n}\r\n\r\nexport default StageDetail;\r\n\r\n\r\n\r\n //
\r\n //

Stage de cirque à Burdinne

\r\n //

Du 21/10/2024 au 24/10/2024 de 09:00 à 16:00

\r\n //

Ecole de Burdinne - Burdinne 60€

\r\n\r\n //

Stage d'initiation de cirque

\r\n //

Du 21 au 25 octobre 2024

\r\n //

En collaboration avec le service ATL de Burdinne

\r\n //

Nous découvrirons l’art du cirque selon notre âge et notre développement. Nous aurons l'opportunité de développer notre agilité,\r\n // notre créativité et notre confiance en nous, tout en s'amusant !

\r\n\r\n //

Pour les enfants de 2,5 ans à 12 ans.

\r\n\r\n //

Lieu : Ecole de Burdinne
\r\n // Rue de la Fontaine - Burdinne

\r\n //

Horaires : Animations de 9h à 16h
\r\n // Garderie gratuite de 8h à 18h

\r\n //

Prix : 60€
\r\n // (Tarif dégressif 5€ pour les enfants suivants).

\r\n //

Infos et réservations : Les réservations se font via le Portail parents du site de la Commune.
\r\n // https://burdinne.guichet-citoyen.be/portail_parent/

\r\n //

Contact : Coordinatrice ATL
\r\n // 085/51.97.19 ou atl@burdinne.be

\r\n //

atl@burdinne.be

\r\n //

Ecole de Burdinne Rue de la Fontaine, Burdinne

\r\n //
\r\n","import React, { useEffect, useState } from 'react';\r\nimport StageDetail from '../components/StageDetail';\r\nimport axiosInstance from \"../helpers/Axios\";\r\n\r\n\r\nconst defaultList: IStage[] = []\r\n// ({shortName:\"\", name:\"Choisir votre stage\", description: \"choix\", startDate:'2024-08-13', endDate:'2024-08-15', startTime:'08:00:00', endTime:'16:00:00'}),\r\n// ({shortName:\"2\", name:\"F\", description: \"ff\", startDate:'2024-08-16', endDate:'2024-08-18', startTime:'08:00:00', endTime:'16:00:00'}),\r\n// ({shortName:\"3\", name:\"G\", description: \"gg\", startDate:'2024-08-19', endDate:'2024-08-22', startTime:'08:00:00', endTime:'16:00:00'})];\r\n\r\ninterface IStage {\r\n shortName: string;\r\n name: string;\r\n description: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\ninterface IStageObj {\r\n stage: IStage;\r\n}\r\n\r\nconst Stages = () => {\r\n\r\n const [list, setList] = useState(defaultList);\r\n const [visible, setVisible] = useState(true);\r\n const loading = list === defaultList && visible;\r\n\r\n useEffect(() => {\r\n if(loading)\r\n axiosInstance.get(\"/stage\")\r\n .then(response => {\r\n //console.log('response', response);\r\n \r\n setList(response.data.map((stageObj : IStageObj) => stageObj.stage))\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n );\r\n \r\n return (\r\n
\r\n
\r\n

Stages
Weekends

\r\n
\r\n
\r\n {loading ? \r\n

Chargement en cours...

\r\n :\r\n visible ? \r\n
\r\n \r\n {/* */}\r\n
\r\n :\r\n
\r\n

Le système d'inscription est actuellement en panne.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Stages;\r\n","import React from 'react';\r\nimport '../css/photos.scss';\r\n// import { Link } from 'react-router-dom';\r\n\r\nconst Photos = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Photos

\r\n
\r\n
\r\n
\r\n jonglerie 1\r\n jonglerie 2\r\n jonglerie 3\r\n jonglerie 4\r\n jonglerie 5\r\n jonglerie 6\r\n jonglerie 7\r\n
\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Photos;\r\n","import React from 'react';\r\n// import { Link } from 'react-router-dom';\r\n\r\nconst Birthday = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Anniversaire

\r\n
\r\n
\r\n
\r\n

\r\n Venez fêter votre anniversaire à Créacirque!\r\n

\r\n
\r\n\r\n {/* style=\"width:100%\" */}\r\n
\r\n
\r\n

Le saviez-vous? Créacirque organise aussi des anniversaires sur le thème du cirque!

\r\n\r\n

2 formules sont possibles:

\r\n\r\n

- Anniversaire \"découverte du cirque\": Avec ses copain.iness, l'enfant pourra partager les joies du cirque: jonglerie, trapèze, acrobatie...

\r\n\r\n

Une succession de jeux ludiques et d'exercices d'initiation aux différentes techniques de cirque se succèdent. Ensuite, une pause gâteau est prévue si vous le souhaitez. L'animation se clôture par une sculpture de ballons pour chaque enfant!

\r\n\r\n

\"Image1

\r\n\r\n

- Anniversaire \"découverte du grand trampoline\": Entouré.e de tous ses ami.e.s, l'enfant sera plongé dans un monde de sensations acrobatiques inoubliables!

\r\n\r\n

\"Image2\"

\r\n\r\n

Durée: 3 heures

\r\n\r\n

Pour maximum 12 enfants pour les anniversaires \" trampoline\" et 15 enfants pour les anniversaires \"découverte du cirque\".

\r\n\r\n

A partir de 6 ans (1 ère primaire) pour les anniversaires cirque et 12 ans pour les anniversaires grand trampoline.

\r\n\r\n

Possibilité aussi de se faire grimer en animal fantastique, super héros.ïne ou tout tout autre personnage issu de l'imagination des enfants.

\r\n\r\n

Les anniversaires se font dans la salle de Créacirque ( Institut Ste-Marie de Jambes : 227, rue de l'aurore) le samedi de 13h30 à 16h30 et le dimanche de 14h à 17h.

\r\n\r\n

 

\r\n\r\n

Si vous désirez plus d'informations, envoyez un mai à creacirque@gmail.com

\r\n\r\n

 A bientôt...

\r\n\r\n

 

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Birthday;\r\n","import React from 'react';\r\n// import { Link } from 'react-router-dom';\r\n\r\nconst Infos = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Infos

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Infos;\r\n","import React from 'react';\r\nimport '../css/location.scss'\r\n// import { Link } from 'react-router-dom';\r\n\r\nconst Location = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Location de gradins

\r\n
\r\n
\r\n

Créacirque offre la possibilité de louer des gradins en bois.
\r\n Les planches sont en bois clair recouvert d'un tissu rouge. \r\n La structure est métallique et modulable.
\r\n Vous avez la possibilité de louer des gradins pour 100, 200 ou 300 places.

\r\n
\r\n gradin 11\r\n gradin 3\r\n gradin 4\r\n gradin 5\r\n gradin 2\r\n gradin 1\r\n gradin 6\r\n gradin 7\r\n gradin 8\r\n gradin 9\r\n gradin 10\r\n gradin 11\r\n
\r\n

\r\n Pour plus d'informations, merci de nous contacter par e-mail à creacirque@gmail.com ou par téléphone au +32(0) 474/05.21.96.\r\n

\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Location;\r\n","import React from 'react';\r\nimport '../css/animations.scss';\r\n// import { Link } from 'react-router-dom';\r\n\r\nconst Animations = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Animations

\r\n
\r\n
\r\n

Voici un aperçu des animations que nous pouvons vous proposer.\r\n

\r\nUn artiste en jonglerie déambulation : Avec ses massues, son diabolo ou son monocycle, ce jongleur apporte de l'animation et déclenche de l'émerveillement et des sourires sur son passage.\r\n

\r\n
\r\n jonglerie 1\r\n jonglerie 2\r\n jonglerie 3\r\n jonglerie 4\r\n jonglerie 5\r\n jonglerie 6\r\n jonglerie 7\r\n
\r\n

\r\nUn artiste en échassier d'accueil : Du haut de ses grandes jambes, cet échassier se promène dans la foule et apporte la bonne humeur en accueillant la foule.\r\n

\r\nUn artiste en échassier + sculpture de ballons : Du haut de ses grandes jambes, ce personnage déambule en offrant des sculptures de ballons colorées et originales.\r\n

Un artiste sculpteur de ballons : Cet artiste apportera couleur et gaieté en offrant fleurs, petits chiens, oursons, épées ou autre fantaisie sculptée en ballons multicolores. Cet artiste peut déambuler en personnage de clown ou de pirate.\r\n

Un espace cirque : Petits et grands pourront découvrir et s'initier aux diverses disciplines de cirque: la jonglerie avec les balles, les massues, le diabolo, le bâton du diable... ou l'équilibre avec les échasses, le pédalgo, le monocycle, la boule d'équilibre.... C'est l'occasion de se découvrir des capacités insoupçonnées et de renforcer sa confiance en soi!\r\nUne artiste grimeuse: Grâce à ses pinceaux magiques, les enfants pourront se transformer en animal fantastique, super héros.oïnes ou tout autre personnage issu de leur imagination!\r\n

\r\n \r\n

\r\nDuo Tamba\r\n

\r\nEmoi\r\n

\r\nFiche technique :\r\n

\r\n
    \r\n
  • Un espace de jeux de +- 60m carrés.
  • \r\n
  • Un sol stable plat (votre pelouse convient)
  • \r\n
  • Une alimentation électrique 220 V
  • \r\n
\r\n\r\n

Description du spectacle :
\r\n Deux êtres tantôt complices, tantôt adversaires, vont se parasiter l’un l’autre, se provoquer se retrouver, poussant les états émotionnels à la caricature.
\r\n La jonglerie, l’acrobatie et la musique animent ces deux personnages dans l’instant présent. Pour la plus grande joie de toutes et tous!\r\n

\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Animations;\r\n","import React from 'react';\r\n// import { Link } from 'react-router-dom';\r\n\r\nconst Blog = () => {\r\n\r\n return (\r\n
\r\n
\r\n

Blog

\r\n
\r\n
\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Blog;\r\n","import React, { useState } from 'react'; //, useContext, useEffect \r\nimport { Form, Input, Button, Label } from 'reactstrap';\r\n//import { SEND_MAIL_ERROR, SEND_MAIL_LOADING, SEND_MAIL_SUCCESS } from \"../constants/actionTypes\";\r\n//import axiosInstance from \"../helpers/Axios\";\r\nimport { contact as contactStudents } from '../context/actions/auth/contact';\r\n//import { GlobalContext } from '../context/Provider';\r\nimport '../css/displaycontactform.scss';\r\n\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\ninterface IStage {\r\n shortName: string;\r\n name: string;\r\n description: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\ninterface IDay {\r\n name: string;\r\n}\r\n\r\n\r\ninterface IContact {\r\n contactId: number,\r\n firstName: string,\r\n lastName: string\r\n}\r\n\r\ninterface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n}\r\n\r\ninterface IProps {\r\n courses: undefined | ICourseObj[];\r\n stages: undefined | IStage[];\r\n title: string;\r\n}\r\n\r\ninterface IContactForm {\r\n course: undefined | string;\r\n subject: string;\r\n body: string;\r\n}\r\n\r\nconst defaultContactForm = {\r\n course: undefined,\r\n subject: \"\",\r\n body: \"\"\r\n}\r\n\r\nconst niceTime = (time: string) => {\r\n if (time === null)\r\n return '';\r\n const tokens = time.split(':');\r\n return `${tokens[0]}h${tokens[1]}`;\r\n};\r\n\r\nconst monthToString = (month: number) => {\r\n const monthList = ['Janvier', 'Février', 'Mars',\r\n 'Avril', 'Mai', 'Juin',\r\n 'Juillet', 'Août', 'Septembre',\r\n 'Octobre', 'Novembre', 'Décembre'];\r\n return monthList[month];\r\n};\r\nconst nicePeriod = (startDate: string, endDate: string) => {\r\n if (startDate === null)\r\n return '';\r\n const start = new Date(startDate);\r\n const end = new Date(endDate);\r\n if (start.getMonth() === end.getMonth() && start.getDate() < end.getDate()) {\r\n return `${start.getDate()} au ${end.getDate()} ${monthToString(start.getMonth())}`;\r\n }\r\n return '';\r\n};\r\n\r\n\r\nconst onSubmit = (e: React.FormEvent, form: IContactForm) => {\r\n e.preventDefault();\r\n if (form?.subject.length < 1 || form?.body.length < 1) {\r\n alert(\"Attention, il faut mettre un sujet et un corps à l'email\");\r\n }\r\n else {\r\n console.log(\"form\", form);\r\n contactStudents(form);\r\n alert(`Le mail a été envoyé à tous les enfants du cours ${form?.course}`);\r\n }\r\n};\r\n\r\n//const context = useContext(GlobalContext);\r\n//const registerDispatch = context?.registerDispatch;\r\nconst emptyCourseList: ICourseObj[] = [];\r\n\r\nconst DisplayContactForm = ({ stages, courses, title }: IProps) => {\r\n const [form, setForm] = useState(defaultContactForm);\r\n const [course, setCourse] = useState(\"\");\r\n // const [error, setError] = useState(undefined);\r\n const [stage, setStage] = useState(\"Choisir votre stage\");\r\n const [currentCourse, setCurrentCourse] = useState(emptyCourseList);\r\n\r\n // useEffect(() => {\r\n // });\r\n console.log(\"course: \", course);\r\n console.log(\"stage: \", stage);\r\n\r\n const updateCourse: React.ChangeEventHandler = (e) => {\r\n setCourse(e.target.value);\r\n const filtered = courses?.filter((c) => c.course.shortName === e.target.value);\r\n console.log('current course', currentCourse);\r\n setCurrentCourse(filtered !== undefined ? filtered : emptyCourseList);\r\n setForm({ ...form, [e.target.id]: e.target.value });\r\n console.log(\"form\", form);\r\n };\r\n\r\n const updateStage: React.ChangeEventHandler = (e) => {\r\n setStage(e.target.value);\r\n setForm({ ...form, [e.target.id]: e.target.value });\r\n };\r\n\r\n const onChange = (e: React.FormEvent): void => {\r\n // setError(undefined);\r\n setForm({ ...form, [e.currentTarget.id]: e.currentTarget.value });\r\n console.log(\"form\", form);\r\n };\r\n return (\r\n
onSubmit(e, form)}>\r\n

Envoyer un e-mail à tous les éleves et parents du cours ci-dessous :

\r\n
\r\n {courses !== undefined ?\r\n
\r\n \r\n
\r\n {course !== undefined && course !== '' ?\r\n
\r\n {/*

Cours choisi: {course}

*/}\r\n {currentCourse !== undefined && currentCourse.length > 0 ?\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n {/* */}\r\n Envoyer\r\n\r\n \r\n
\r\n // currentCourse.map((cc) => (\r\n //
\r\n // {\r\n // cc.subscribes.length > 0 ?\r\n //
\r\n\r\n //

Nombre d'inscrits : {cc.subscribes.length}

\r\n //
    {cc.subscribes.map((contact) => (\r\n //
  • {contact.firstName} {contact.lastName}
  • \r\n // ))}
\r\n //
\r\n // :\r\n //

Il n'y a pour l'instant aucun élève inscrits à ce cours

\r\n // }\r\n //
\r\n // ))\r\n :\r\n

Aucun cours correspondant au choix n'a été trouvé

\r\n }\r\n
\r\n :

Veuillez choisir un cours

}\r\n
\r\n
\r\n :
\r\n }\r\n {stages !== undefined ?\r\n \r\n :
\r\n }\r\n\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DisplayContactForm;\r\n\r\n","// import React from \"react\";\r\n//import { SEND_MAIL_ERROR, SEND_MAIL_LOADING, SEND_MAIL_SUCCESS } from \"../../../constants/actionTypes\";\r\nimport axiosInstance from \"../../../helpers/Axios\";\r\n\r\n// const getDate = (dob: string) => {\r\n// if (dob === undefined)\r\n// return undefined;\r\n// const tokens: string[] = dob.split('/');\r\n// const year: string = tokens[2];\r\n// const month: string = tokens[1].length < 2 ? `0${tokens[1]}` : tokens[1];\r\n// const day: string = tokens[0].length < 2 ? `0${tokens[0]}` : tokens[0];\r\n// const newDob: string = `${year}-${month}-${day}`;\r\n// return newDob;\r\n// };\r\n\r\n\r\ninterface IContactForm {\r\n course: undefined | string;\r\n\r\n subject: string;\r\n body: string;\r\n }\r\n\r\n export const contact = (form: IContactForm) =>\r\n {\r\n \r\n const newOrder = {\r\n Subject:form?.subject,\r\n Body:form?.body,\r\n };\r\n \r\n console.log('go appel course/.../contact');\r\n \r\n if(form?.course !== undefined)\r\n {\r\n axiosInstance.post(`/course/${form?.course}/contact`, newOrder) \r\n .then(response => {\r\n }\r\n )\r\n .catch((err) => {\r\n }\r\n ); \r\n }\r\n \r\n };\r\n\r\n \r\nexport const newsletter = (form: IContactForm) =>\r\n{\r\n\r\n const newOrder = {\r\n Subject:form?.subject,\r\n Body:form?.body,\r\n };\r\n\r\n console.log('go appel course/newsletter');\r\n\r\n axiosInstance.post(`/course/newsletter`, newOrder) \r\n .then(response => {\r\n }\r\n )\r\n .catch((err) => {\r\n }\r\n ); \r\n};\r\n","import React, { useEffect, useState } from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport DisplayContactForm from '../../components/DisplayContactForm';\r\nimport axiosInstance from \"../../helpers/Axios\";\r\n\r\nconst defaultList: ICourseObj[] = [];\r\n\r\ninterface IDay {\r\n name: string;\r\n}\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\n\r\ninterface IContact {\r\n contactId: number,\r\n firstName: string,\r\n lastName: string\r\n}\r\n\r\ninterface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n}\r\n\r\n\r\nconst Contact = () => {\r\n\r\n const [list, setList] = useState(defaultList);\r\n const [visible, setVisible] = useState(true);\r\n const loading = list === defaultList && visible;\r\n \r\nuseEffect(() => {\r\n if(loading)\r\n axiosInstance.get(\"/course\")\r\n .then(response => {\r\n //console.log('response', response);\r\n\r\n setList(response.data);//.map((courseObj : ICourseObj) => courseObj.course))\r\n // console.log(\"réponse\",response.data);\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n );\r\n\r\n console.log(\"list\",list);\r\n\r\n return (\r\n
\r\n
\r\n

Mail groupé aux étudiants d'un cours

\r\n
\r\n
\r\n {\r\n loading ?\r\n

Chargement en cours...

\r\n :\r\n visible ?\r\n \r\n :\r\n
\r\n

Le système d'inscription est actuellement en panne.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Contact;\r\n","import React, { useState } from 'react'; //, useContext, useEffect \r\nimport { Form, Input, Button, Label } from 'reactstrap';\r\nimport { newsletter as contactStudents } from '../context/actions/auth/contact';\r\nimport '../css/displaycontactform.scss';\r\n\r\ninterface IContactForm {\r\n course: undefined | string;\r\n subject: string;\r\n body: string;\r\n}\r\n\r\nconst defaultContactForm = {\r\n course: undefined,\r\n subject: \"\",\r\n body: \"\"\r\n}\r\n\r\n\r\nconst onSubmit = (e: React.FormEvent, form: IContactForm) => {\r\n e.preventDefault();\r\n if (form?.subject.length < 1 || form?.body.length < 1) {\r\n alert(\"Attention, il faut mettre un sujet et un corps à l'email\");\r\n }\r\n else {\r\n console.log(\"form\", form);\r\n contactStudents(form);\r\n alert(`La newsletter a été envoyée à tout le monde`);\r\n }\r\n};\r\n\r\n\r\n\r\nconst DisplayNewsletterForm = () => {\r\n const [form, setForm] = useState(defaultContactForm);\r\n\r\n \r\n const onChange = (e: React.FormEvent): void => {\r\n // setError(undefined);\r\n setForm({ ...form, [e.currentTarget.id]: e.currentTarget.value });\r\n console.log(\"form\", form);\r\n };\r\n\r\n return (\r\n
onSubmit(e, form)}>\r\n

Envoyer une newsletter à tout le monde :

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n Envoyer\r\n\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DisplayNewsletterForm;\r\n\r\n","import React from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport DisplayNewsletterForm from '../../components/DisplayNewsletterForm';\r\n\r\nconst Newsletter = () => {\r\n\r\n \r\n return (\r\n
\r\n
\r\n

Newsletter

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Newsletter;\r\n","import React, { useState} from 'react'; //, useContext, useEffect \r\nimport { Form } from 'reactstrap'; // ,Label, Input, Button\r\n//import { SEND_MAIL_ERROR, SEND_MAIL_LOADING, SEND_MAIL_SUCCESS } from \"../constants/actionTypes\";\r\n//import axiosInstance from \"../helpers/Axios\";\r\n// import { register as registerUser } from '../context/actions/auth/register';\r\n//import { GlobalContext } from '../context/Provider';\r\nimport IContact from '../interfaces/IContact';\r\nimport '../css/displayregistrations.scss';\r\nimport '../css/fiche.scss';\r\n\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n\r\n interface IStage {\r\n shortName: string;\r\n name: string;\r\n description: string;\r\n startDate: string;\r\n endDate: string;\r\n startTime: string;\r\n endTime: string;\r\n }\r\n \r\n interface IDay {\r\n name: string;\r\n }\r\n\r\n interface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n }\r\n \r\ninterface IProps {\r\n courses: undefined | ICourseObj[];\r\n stages: undefined | IStage[];\r\n title: string;\r\n}\r\n\r\nconst niceDate = (date: string) => {\r\n if (date === null)\r\n return '';\r\n const start = new Date(date);\r\n return `${start.getDate()}/${start.getMonth()+1}/${start.getFullYear()}`;\r\n // à ${start.getHours()}h${start.getMinutes()}\r\n };\r\n\r\n\r\nconst niceTime = (time: string) => {\r\n if (time === null)\r\n return '';\r\n const tokens = time.split(':');\r\n return `${tokens[0]}h${tokens[1]}`;\r\n };\r\n\r\n const monthToString = (month: number) => {\r\n const monthList = ['Janvier', 'Février', 'Mars',\r\n 'Avril','Mai','Juin',\r\n 'Juillet','Août','Septembre',\r\n 'Octobre','Novembre','Décembre'];\r\n return monthList[month];\r\n };\r\n const nicePeriod = (startDate: string, endDate: string) => {\r\n if (startDate === null)\r\n return '';\r\n const start = new Date(startDate);\r\n const end = new Date(endDate);\r\n if(start.getMonth() === end.getMonth() && start.getDate() < end.getDate())\r\n {\r\n return `${start.getDate()} au ${end.getDate()} ${monthToString(start.getMonth())}`;\r\n }\r\n return '';\r\n };\r\n\r\n//const context = useContext(GlobalContext);\r\n//const registerDispatch = context?.registerDispatch;\r\nconst emptyCourseList : ICourseObj[] = [];\r\n\r\nconst DisplayRegistrations = ({stages, courses, title}:IProps) => {\r\n // const [error, setError] = useState(undefined);\r\n const [course, setCourse] = useState(\"\");\r\n const [stage, setStage] = useState(\"Choisir votre stage\");\r\n const [currentCourse, setCurrentCourse] = useState(emptyCourseList);\r\n\r\n // useEffect(() => {\r\n // });\r\n console.log(\"course: \",course);\r\n console.log(\"stage: \",stage);\r\n\r\n const print = () => window.print();\r\n\r\n const updateCourse: React.ChangeEventHandler = (e) => {\r\n setCourse(e.target.value);\r\n const filtered = courses?.filter((c) => c.course.shortName === e.target.value);\r\n console.log('current course', currentCourse);\r\n setCurrentCourse(filtered !== undefined ? filtered : emptyCourseList);\r\n // setForm({ ...form, [e.target.id]: e.target.value });\r\n };\r\n\r\n const updateStage: React.ChangeEventHandler = (e) => {\r\n setStage(e.target.value);\r\n // setForm({ ...form, [e.target.id]: e.target.value });\r\n };\r\n\r\n return (\r\n
\r\n

Consulter les inscriptions pour le cours ci-dessous :

\r\n
\r\n {courses !== undefined ?\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {course !== undefined && course !== '' ?\r\n
\r\n {/*

Cours choisi: {course}

*/}\r\n {currentCourse !== undefined && currentCourse.length > 0 ? \r\n currentCourse.map((cc) => (\r\n
\r\n {\r\n cc.subscribes.length > 0 ?\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cc.subscribes.map((contact) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cc.subscribes.map((contact) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cc.subscribes.map((contact) => {\r\n const pink = contact?.student?.imageRight ? \"pink\" : \"\";\r\n const green = contact?.student?.insurance ? \"green\" : \"\";\r\n const darkpink = contact?.student?.payment ? \"dark-pink\" : \"\";\r\n const yellow = contact?.student?.hasRemainingSold ? \"yellow\" : \"\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n/*\r\n \r\n \r\n \r\n \r\n \r\n */\r\n\r\n )}\r\n )}\r\n \r\n \r\n
{cc.course.shortName.toUpperCase().replaceAll('-',' ')}{cc.course.day?.name} {niceTime(cc.course.startTime)} - {niceTime(cc.course.endTime)}\r\n {/* const schedule = li.startDate !== undefined ? ` (Du ${nicePeriod(li.startDate,li.endDate)})` : ''; */}\r\n {/* return ( */}\r\n {/* */}\r\n {/* ); */}\r\n\r\n \r\n ANNEE 2024/2025

NOMPRENOM
{contact.lastName.toUpperCase()}{contact.firstName.toUpperCase()}

NOMPRENOM
{contact.lastName.toUpperCase()}{contact.firstName.toUpperCase()}

{cc.course.shortName.toUpperCase().replaceAll('-',' ')}{cc.course.day?.name} {niceTime(cc.course.startTime)} - {niceTime(cc.course.endTime)}\r\n {/* const schedule = li.startDate !== undefined ? ` (Du ${nicePeriod(li.startDate,li.endDate)})` : ''; */}\r\n {/* return ( */}\r\n {/* */}\r\n {/* ); */}\r\n\r\n \r\n ANNEE 2024/2025

NOMPRENOMIMAG.ASS.PAY.SOLD.TEL 1TEL 2EMAIL
{contact.lastName.toUpperCase()}{contact.firstName.toUpperCase()}{contact.phoneNumber}{contact.phoneNumber !== contact.phoneNumber2 ? contact.phoneNumber2 : ''}{contact.email}
{contact.phoneNumber}{contact.phoneNumber !== contact.phoneNumber2 ? contact.phoneNumber2 : ''}{(contact.phoneNumber !== contact.phoneNumber3 && contact.phoneNumber2 !== contact.phoneNumber3) ? contact.phoneNumber3 : ''}{contact.email ? contact.email : contact.email1}{contact.email2}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cc.subscribes.map((contact) => {\r\n const pink = contact?.student?.imageRight ? \"pink\" : \"\";\r\n const green = contact?.student?.insurance ? \"green\" : \"\";\r\n const darkpink = contact?.student?.payment ? \"dark-pink\" : \"\";\r\n const yellow = contact?.student?.hasRemainingSold ? \"yellow\" : \"\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n )}\r\n \r\n \r\n
{cc.subscribes.length}ELEVESmàj 05/06/2024
Mise à jourNOMPRENOMINSCR.CONNIMAG.ASS.PAY.SOLD.ADRESSETEL 1TEL 2TEL 3EMAIL 1EMAIL 2D.N
{niceDate(contact.dateModification)}{contact.contactId}{contact.lastName}{contact.firstName}{contact.address}{contact.phoneNumber}{contact.phoneNumber !== contact.phoneNumber2 ? contact.phoneNumber2 : ''}{(contact.phoneNumber !== contact.phoneNumber3 && contact.phoneNumber2 !== contact.phoneNumber3) ? contact.phoneNumber3 : ''}{contact.email ? contact.email : contact.email1}{(contact.email && contact.email1 !== contact.email) ? contact.email1 : (contact.email2 !== contact.email1 && contact.email2 !== contact.email ? contact.email2 : '')}{niceDate(contact.birthdate)}
\r\n\r\n {/*

Nombre d'inscrits : {cc.subscribes.length}

\r\n
    {cc.subscribes.map((contact) => (\r\n
  • {contact.firstName} {contact.lastName}
  • \r\n ))}
*/}\r\n
\r\n :\r\n

Il n'y a pour l'instant aucun élève inscrits à ce cours

\r\n }\r\n
\r\n ))\r\n :\r\n

Aucun cours correspondant au choix n'a été trouvé

\r\n }\r\n
\r\n :

Veuillez choisir un cours

}\r\n
\r\n
\r\n :
\r\n }\r\n {stages !== undefined ?\r\n \r\n :
\r\n }\r\n\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DisplayRegistrations;\r\n\r\n","import React, { useEffect, useState } from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport DisplayRegistrations from '../../components/DisplayRegistrations';\r\nimport axiosInstance from \"../../helpers/Axios\";\r\nimport IContact from '../../interfaces/IContact';\r\n\r\nconst defaultList: ICourseObj[] = [];\r\n\r\ninterface IDay {\r\n name: string;\r\n}\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\ninterface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n}\r\n\r\n\r\nconst Courses = () => {\r\n\r\n const [list, setList] = useState(defaultList);\r\n const [visible, setVisible] = useState(true);\r\n const loading = list === defaultList && visible;\r\n \r\nuseEffect(() => {\r\n if(loading)\r\n axiosInstance.get(\"/course\")\r\n .then(response => {\r\n //console.log('response', response);\r\n\r\n setList(response.data);//.map((courseObj : ICourseObj) => courseObj.course))\r\n // console.log(\"réponse\",response.data);\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n );\r\n\r\n console.log(\"list\",list);\r\n\r\n return (\r\n
\r\n
\r\n

Inscriptions par cours

\r\n
\r\n
\r\n {\r\n loading ?\r\n

Chargement en cours...

\r\n :\r\n visible ?\r\n \r\n :\r\n
\r\n

Le système d'inscription est actuellement en panne.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Courses;\r\n","import React, { useEffect, useState } from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport DisplayRegistrations from '../../components/DisplayRegistrations';\r\nimport axiosInstance from \"../../helpers/Axios\";\r\nimport IContact from '../../interfaces/IContact';\r\n\r\nconst defaultList: ICourseObj[] = [];\r\n\r\ninterface IDay {\r\n name: string;\r\n}\r\n\r\ninterface ICourse {\r\n shortName: string;\r\n name: string;\r\n day: IDay;\r\n isVisible: boolean;\r\n startTime: string;\r\n endTime: string;\r\n}\r\n\r\ninterface ICourseObj {\r\n course: ICourse;\r\n subscribes: IContact[];\r\n}\r\n\r\n\r\nconst Courses = () => {\r\n\r\n const [list, setList] = useState(defaultList);\r\n const [visible, setVisible] = useState(true);\r\n const loading = list === defaultList && visible;\r\n \r\nuseEffect(() => {\r\n if(loading)\r\n axiosInstance.get(\"/course\")\r\n .then(response => {\r\n //console.log('response', response);\r\n\r\n setList(response.data);//.map((courseObj : ICourseObj) => courseObj.course))\r\n // console.log(\"réponse\",response.data);\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n );\r\n\r\n console.log(\"list\",list);\r\n\r\n return (\r\n
\r\n
\r\n

Inscriptions par cours

\r\n
\r\n
\r\n {\r\n loading ?\r\n

Chargement en cours...

\r\n :\r\n visible ?\r\n \r\n :\r\n
\r\n

Le système d'inscription est actuellement en panne.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Courses;\r\n","import React from 'react'; //, useContext, useEffect, useState\r\nimport { Form } from 'reactstrap';\r\nimport '../css/displayregistrationrequests.scss';\r\n\r\ninterface IRequest {\r\n registrationRequestId: number;\r\n eventId: string;\r\n firstName: string;\r\n lastName: string;\r\n birthdate: string;\r\n address: string;\r\n street: string;\r\n postalCode: string;\r\n city: string;\r\n phoneNumber: string;\r\n emailParent1: string;\r\n emailParent2: string;\r\n isVisible: boolean;\r\n dateCreation: Date; \r\n}\r\n\r\ninterface IProps {\r\n requests: undefined | IRequest[];\r\n title: string;\r\n}\r\n\r\n\r\n// const niceTime = (time: string) => {\r\n// if (time === null)\r\n// return '';\r\n// const tokens = time.split(':');\r\n// return `${tokens[0]}h${tokens[1]}`;\r\n// };\r\n\r\n const monthToString = (month: number) => {\r\n const monthList = ['Janvier', 'Février', 'Mars',\r\n 'Avril','Mai','Juin',\r\n 'Juillet','Août','Septembre',\r\n 'Octobre','Novembre','Décembre'];\r\n return monthList[month];\r\n };\r\n const niceDate = (date: string) => {\r\n if (date === null)\r\n return '';\r\n const start = new Date(date);\r\n return `${start.getDate()} ${monthToString(start.getMonth())} ${start.getFullYear()} à ${start.getHours()}h${start.getMinutes()}`;\r\n };\r\n\r\n\r\nconst DisplayRegistrationRequests = ({requests, title}:IProps) => {\r\n // const [error, setError] = useState(undefined);\r\n\r\n // useEffect(() => {\r\n // });\r\n return (\r\n
\r\n

Consulter les inscriptions pour le cours ci-dessous :

\r\n
\r\n {requests !== undefined ?\r\n
\r\n
\r\n {/*

Cours choisi: {course}

*/}\r\n {requests.length > 0 ? \r\n requests.map((cc) => {\r\n const classes = `registration-subscription-attempt ${cc.isVisible ? '' : 'hidden'}`;\r\n return (\r\n
\r\n

{cc.registrationRequestId} {niceDate(cc.dateCreation.toString())}

\r\n

{cc.firstName} {cc.lastName} né(e) le {cc.birthdate}

\r\n

{cc.address}

\r\n {/* ({cc.street} {cc.postalCode} {cc.city}) */}\r\n

{cc.emailParent1} {cc.emailParent2} {cc.phoneNumber}

\r\n

{cc.eventId}

\r\n
\r\n );\r\n })\r\n :\r\n

Aucun cours correspondant au choix n'a été trouvé

\r\n }\r\n
\r\n
\r\n :
\r\n }\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DisplayRegistrationRequests;\r\n\r\n","import React, { useEffect, useState } from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport DisplayRegistrationRequests from '../../components/DisplayRegistrationRequests';\r\nimport axiosInstance from \"../../helpers/Axios\";\r\n\r\nconst defaultList: IRequest[] = [];\r\n\r\n\r\ninterface IRequest {\r\n registrationRequestId: number;\r\n eventId: string;\r\n firstName: string;\r\n lastName: string;\r\n birthdate: string;\r\n address: string;\r\n street: string;\r\n postalCode: string;\r\n city: string;\r\n phoneNumber: string;\r\n emailParent1: string;\r\n emailParent2: string;\r\n isVisible: boolean;\r\n dateCreation: Date; \r\n}\r\n\r\nconst Courses = () => {\r\n\r\n const [list, setList] = useState(defaultList);\r\n const [visible, setVisible] = useState(true);\r\n const loading = list === defaultList && visible;\r\n \r\nuseEffect(() => {\r\n if(loading)\r\n axiosInstance.get(\"/registrationrequest\")\r\n .then(response => {\r\n //console.log('response', response);\r\n\r\n setList(response.data);//.map((courseObj : ICourseObj) => courseObj.course))\r\n // console.log(\"réponse\",response.data);\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n );\r\n\r\n console.log(\"list\",list);\r\n\r\n return (\r\n
\r\n
\r\n

Inscriptions reçues

\r\n
\r\n
\r\n {\r\n loading ?\r\n

Chargement en cours...

\r\n :\r\n visible ?\r\n \r\n :\r\n
\r\n

Le système d'inscription est actuellement en panne.

\r\n
\r\n }\r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default Courses;\r\n","import React from 'react'; //, { useState, useContext, useEffect } \r\n// import { Label, Form, Input, Button } from 'reactstrap';\r\n//import { SEND_MAIL_ERROR, SEND_MAIL_LOADING, SEND_MAIL_SUCCESS } from \"../constants/actionTypes\";\r\n//import axiosInstance from \"../helpers/Axios\";\r\n// import { register as registerUser } from '../context/actions/auth/register';\r\n//import { GlobalContext } from '../context/Provider';\r\nimport '../css/profile.scss';\r\n\r\n \r\ninterface IProfil {\r\n contactId: number;\r\n firstName: string;\r\n lastName: string;\r\n birthdate: string;\r\n address: string;\r\n street: string;\r\n postalCode: string;\r\n city: string;\r\n phoneNumber: string;\r\n phoneNumber2: string;\r\n phoneNumber3: string;\r\n email: string;\r\n imageURI: string;\r\n parents: IProfil[];\r\n isVisible: boolean;\r\n dateCreation: Date;\r\n dateModification: Date;\r\n children: IProfil[]; \r\n}\r\n\r\ninterface IProps {\r\n profil: undefined | IProfil;\r\n isChild: boolean;\r\n}\r\n\r\n const monthToString = (month: number) => {\r\n const monthList = ['Janvier', 'Février', 'Mars',\r\n 'Avril','Mai','Juin',\r\n 'Juillet','Août','Septembre',\r\n 'Octobre','Novembre','Décembre'];\r\n return monthList[month];\r\n };\r\n const niceDate = (date: string) => {\r\n if (date === null)\r\n return '';\r\n const start = new Date(date);\r\n const dateOnly = `${start.getDate()} ${monthToString(start.getMonth())} ${start.getFullYear()}`;\r\n const timeOnly = `${start.getHours()}h${start.getMinutes()}`;\r\n return false ? `${dateOnly} à ${timeOnly}` : dateOnly;\r\n };\r\n\r\n\r\nconst Profile = ({profil, isChild}:IProps) => {\r\n const children = profil?.children ?? [];\r\n const parents = children.length > 0 ? children[0].parents : [];\r\n const mainClass = isChild ? 'profil-child' : 'profil-parent'\r\n return (\r\n
\r\n

{profil?.firstName} {profil?.lastName}

\r\n {parents !== undefined ? parents.map((parent) => {\r\n const isSameParent = parent.firstName === profil?.firstName && parent.lastName === profil?.lastName\r\n if (isSameParent)\r\n return
\r\n else\r\n return
{parent.firstName} {parent.lastName}
;\r\n }) :
}\r\n
\r\n {children?.map((child) => ())}\r\n
\r\n

{profil?.birthdate != null ? niceDate(profil?.birthdate??''):''}

\r\n
\r\n )\r\n}\r\n\r\nexport default Profile;\r\n\r\n","import React, { useEffect, useState } from 'react'; // , useContext\r\n// import { Link } from 'react-router-dom';\r\nimport Profile from '../components/Profile';\r\nimport axiosInstance from \"../helpers/Axios\";\r\nimport '../css/youraccount.scss';\r\n\r\ninterface IProfil {\r\n contactId: number;\r\n firstName: string;\r\n lastName: string;\r\n birthdate: string;\r\n address: string;\r\n street: string;\r\n postalCode: string;\r\n city: string;\r\n phoneNumber: string;\r\n phoneNumber2: string;\r\n phoneNumber3: string;\r\n email: string;\r\n imageURI: string;\r\n parents: IProfil[];\r\n isVisible: boolean;\r\n dateCreation: Date;\r\n dateModification: Date;\r\n children: IProfil[];\r\n}\r\n\r\nconst defaultProfil: IProfil = {\r\n contactId: -1,\r\n firstName: '',\r\n lastName: '',\r\n birthdate: '',\r\n address: '',\r\n street: '',\r\n postalCode: '',\r\n city: '',\r\n phoneNumber: '',\r\n phoneNumber2: '',\r\n phoneNumber3: '',\r\n email: '',\r\n imageURI: '',\r\n parents: [],\r\n isVisible: true,\r\n dateCreation: new Date('2024-02-02'),\r\n dateModification: new Date('2024-02-02'),\r\n children: []\r\n}\r\n\r\n\r\nconst YourAccount = () => {\r\n\r\n const [profil, setProfil] = useState(defaultProfil);\r\n const [visible, setVisible] = useState(true);\r\n const loading = profil === defaultProfil && visible;\r\n const [url, setUrl] = useState('');\r\n\r\n\r\n useEffect(() => {\r\n\r\n console.log('path', window.location.href);\r\n const params = window.location.href.split('?');\r\n console.log('params', params[1]);\r\n const paramList = params[1].replaceAll('%C3%A9', 'é').split('&');\r\n console.log('paramList', paramList);\r\n\r\n if (paramList.length === 3) {\r\n const id = paramList[0].split('=')[1];\r\n const firstName = paramList[1].split('=')[1].replaceAll('%20', '-').toLowerCase();\r\n const lastName = paramList[2].split('=')[1].toLowerCase();\r\n console.log('id', id);\r\n console.log('firstName', firstName);\r\n console.log('lastName', lastName);\r\n setUrl(`${id}-${firstName}-${lastName}`);\r\n }\r\n\r\n\r\n console.log('loading', loading);\r\n if (loading) {\r\n if(!url)\r\n return;\r\n console.log('url', `/contact/${url}`);\r\n \r\n axiosInstance.get(`/contact/${url}`)\r\n .then(response => {\r\n //console.log('response', response);\r\n\r\n setProfil(response.data);//.map((courseObj : ICourseObj) => courseObj.course))\r\n console.log(\"profil\", response.data);\r\n // setUserProfile(response.data);\r\n // setLocation(response.data.location);\r\n })\r\n .catch((err) => {\r\n const error = err.response === undefined ?\r\n 'Server in not reachable'\r\n : err.response.data;\r\n console.log('error', error);\r\n setVisible(false);\r\n });\r\n }\r\n }, [loading, url]\r\n );\r\n\r\n // console.log(\"list\",list);\r\n\r\n return (\r\n
\r\n
\r\n

Votre profil

\r\n
\r\n
\r\n {\r\n loading ?\r\n

Chargement en cours...

\r\n :\r\n visible ?\r\n \r\n :\r\n
\r\n

Les profils ne sont actuellement pas disponibles

\r\n
\r\n }\r\n
\r\n
\r\n Voici les documents :\r\n \r\n
\r\n
\r\n )\r\n};\r\n\r\nexport default YourAccount;\r\n","import Home from '../pages/Home';\r\nimport Courses from '../pages/Courses';\r\nimport Stages from '../pages/Stages';\r\nimport Photos from '../pages/Photos';\r\nimport Birthday from '../pages/Birthday';\r\nimport Infos from '../pages/Infos';\r\nimport Location from '../pages/Location';\r\nimport Animations from '../pages/Animations';\r\nimport Blog from '../pages/Blog';\r\nimport AdminContact from '../pages/Admin/Contact';\r\nimport AdminNewsletter from '../pages/Admin/Newsletter';\r\nimport AdminCourses from '../pages/Admin/Courses';\r\nimport AdminStages from '../pages/Admin/Stages';\r\nimport AdminSubscriptions from '../pages/Admin/Subscriptions';\r\nimport YourAccount from '../pages/YourAccount';\r\n\r\nconst Routes = [\r\n { url: '/', exact: true, comp: Home },\r\n { url: '/les-cours', exact: false, comp: Courses },\r\n { url: '/stages-week-ends', exact: false, comp: Stages },\r\n { url: '/photos', exact: false, comp: Photos },\r\n { url: '/animations', exact: false, comp: Animations },\r\n { url: '/anniversaire', exact: false, comp: Birthday },\r\n { url: '/location', exact: false, comp: Location },\r\n { url: '/infos', exact: false, comp: Infos },\r\n { url: '/blog', exact: false, comp: Blog },\r\n { url: '/your-account', exact: false, comp: YourAccount },\r\n { url: '/admin-contact', exact: false, comp: AdminContact },\r\n { url: '/admin-newsletter', exact: false, comp: AdminNewsletter },\r\n { url: '/admin-cours', exact: false, comp: AdminCourses },\r\n { url: '/admin-stages', exact: false, comp: AdminStages },\r\n { url: '/admin-inscriptions', exact: false, comp: AdminSubscriptions },\r\n];\r\n\r\nexport default Routes;\r\n","import React from 'react';\r\n// import logo from './logo.svg';\r\nimport Header from './components/Header';\r\nimport Footer from './components/Footer';\r\nimport Routes from './constants/Routes';\r\nimport IRoute from './interfaces/IRoute';\r\n// import Footnote from './components/Footnote';\r\nimport { BrowserRouter as Router, Switch, Route } from 'react-router-dom';\r\nimport './css/creacirque.scss';\r\n\r\nconst App = () => {\r\n const RenderRoute = (route: IRoute) => (\r\n route.exact\r\n ? \r\n : \r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {Routes.map((route) => RenderRoute(route))}\r\n \r\n
\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.register();\r\n"],"sourceRoot":""}