{"version":3,"sources":["context/socket.tsx","components/guesswho.tsx","components/marathon2023.tsx","components/challengelaunch.tsx","components/guessthetheme.tsx","components/welcome.tsx","components/questions.tsx","components/writingworkshop.tsx","components/cluecompetition.tsx","App.tsx","reportWebVitals.js","index.tsx"],"names":["socket","io","SocketContext","createContext","GuessWho","useEffect","document","title","name1","setName1","useState","name2","setName2","name3","setName3","participantName","setParticipantName","participantEmail","setParticipantEmail","emailErrorMessage","setEmailErrorMessage","agree","setAgreement","hasBeenSubmitted","setSubmit","errorMessage","setErrorMessage","setupData","setSetupData","React","useContext","axios","get","concat","window","location","hostname","then","response","data","map","item","anagram","imageUrl","image","url","catch","err","console","error","validateEmail","email","test","_jsx","className","children","_jsxs","MDBContainer","MDBBox","MDBRow","center","MDBCol","md","onSubmit","async","e","preventDefault","post","res","emit","style","marginTop","marginBottom","textTransform","fontWeight","textAlign","entry","index","Fragment","src","alt","htmlFor","fontFamily","fontSize","required","type","id","value","onChange","updatedNames","target","autoComplete","onBlur","color","href","MDBBtn","outline","disabled","MDBIcon","far","icon","Marathon2023","name","setName","paddingBottom","ChallengeLaunch","theme","setParticipantTheme","AnnouncementDate","Date","Welcome","paddingTop","count","Questions","_setupData$0$question","_setupData$","answers","setAnswers","Array","fill","question","answer1","answer2","answer3","answer4","answer5","answer6","answer7","answer8","answer9","answer10","answer11","answer12","answer13","answer14","answer15","answer16","answer17","answer18","answer19","answer20","slice","height","width","updatedAnswers","WritingWorkshop","useLocation","codeParam","URLSearchParams","search","code","setCode","validateCode","validCode","submittedCode","setValidCode","codeErrorMessage","setCodeErrorMessage","date","year","getFullYear","toString","month","getMonth","padStart","day","getDate","btoa","replace","toLowerCase","_Fragment","ClueCompetition","_ref","clueId","parseInt","clue","setParticipantClue","CSSLoader","path","pathname","cssUrl","link","createElement","rel","head","appendChild","removeChild","AppContent","Switch","Route","exact","component","GuessTheTheme","match","params","Redirect","to","App","Provider","Router","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.06d6c04c.chunk.js","sourcesContent":["import { createContext } from \"react\";\nimport io from \"socket.io-client\";\n\nexport const socket = io();\n// eslint-disable-next-line no-undef\nexport const SocketContext: any = createContext(socket);\n","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport React, { useEffect, useState } from \"react\";\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\n\ntype GuessWhoEntry = {\n name1: string;\n name2: string;\n name3: string;\n participantName: string;\n participantEmail: string;\n};\n\ntype GuessWhoSetup = {\n anagram: string;\n imageUrl?: string;\n};\n\nexport default function GuessWho() {\n useEffect(() => {\n document.title = 'Guess The Challenge Speakers';\n }, []);\n\n const [name1, setName1] = useState<string>(\"\");\n const [name2, setName2] = useState<string>(\"\");\n const [name3, setName3] = useState<string>(\"\");\n const [participantName, setParticipantName] = useState<string>(\"\");\n const [participantEmail, setParticipantEmail] = useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = useState<string>(\"\");\n const [agree, setAgreement] = useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = useState<boolean>(false);\n const [errorMessage, setErrorMessage] = useState<string>(\"\");\n\n const [setupData, setSetupData] = useState<GuessWhoSetup[]>([]);\n\n const socket: Socket = React.useContext(SocketContext);\n\n useEffect(() => {\n axios.get(`https://${window.location.hostname}/strapi/setupguesswhos`)\n .then(response => {\n const data = response.data.map((item: any) => ({\n anagram: item.anagram,\n imageUrl: item.image? item.image.url : null!\n }));\n setSetupData(data);\n })\n .catch(err => {\n console.error(\"API fetch error: \", err);\n });\n }, []);\n\n const validateEmail = (email: string) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n validateEmail(participantEmail);\n if (emailErrorMessage) {\n return;\n }\n\n const data: GuessWhoEntry = {\n name1: name1,\n name2: name2,\n name3: name3,\n participantName: participantName,\n participantEmail: participantEmail,\n };\n\n axios\n .post(`https://${window.location.hostname}/strapi/guesswho`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h2 text-center mb-4 white-text futuraFuture questionsTitle\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\", textTransform: \"uppercase\", fontWeight: 600 }}\n >\n Aarhus Symposium\n </p>\n <div className=\"image-container\" style={{ textAlign: \"center\" }}>\n {setupData.map((entry, index) => (\n <React.Fragment key={index}>\n {entry.imageUrl ? \n <img\n src={\"/strapi\" + entry.imageUrl}\n alt={`Face${index + 1}`}\n style={{ marginTop: \"2em\" }}\n className=\"responsive-image\"\n />\n : \"\"}\n <br />\n <label\n htmlFor={`nameInput${index + 1}`}\n className=\"white-text questionText\"\n style={{ fontWeight: \"bold\", textAlign: \"center\", fontFamily: \"futura-pt\", fontSize: \"1.5rem\" }}\n >\n {entry.anagram}\n </label>\n <br />\n <label\n htmlFor={`nameInput${index + 1}`}\n className=\"white-text\"\n >\n Answer {index + 1}:\n </label>\n <input\n required={true}\n type=\"text\"\n id={`nameInput${index + 1}`}\n className=\"form-control\"\n value={[name1, name2, name3][index]}\n onChange={(e) => {\n const updatedNames = [name1, name2, name3];\n updatedNames[index] = e.target.value;\n setName1(updatedNames[0]);\n setName2(updatedNames[1]);\n setName3(updatedNames[2]);\n }}\n style={{ marginBottom: \"2em\" }}\n />\n </React.Fragment>\n ))}\n <p className=\"h5 text-center mb-4 white-text futuraFuture\">\n Personal information\n </p>\n <label htmlFor=\"participantName\" className=\"white-text futuraFuture\">\n Your full name:\n </label>\n <input\n required={true}\n type=\"text\"\n id=\"participantName\"\n className=\"form-control\"\n value={participantName}\n onChange={(e) => setParticipantName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n />\n <label htmlFor=\"participantEmail\" className=\"white-text futuraFont\">\n Your email:\n </label>\n <input\n required={true}\n type=\"text\"\n id=\"participantEmail\"\n className={`form-control ${emailErrorMessage ? \"is-invalid\" : \"\"}`}\n value={participantEmail}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => setAgreement(!agree)}\n />\n <label className=\"custom-control-label futuraFont\" htmlFor=\"defaultUnchecked\" style={{ color: \"white\" }}>\n By registering, I accept that Aarhus Symposium may send information regarding events and\n important deadlines and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n {errorMessage && (\n <p className=\"text-center mt-4 futuraFont\" style={{ color: \"red\" }}>\n {errorMessage}\n </p>\n )}\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </div>\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport React from \"react\";\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\ntype MarathonEntry = {\n name: string;\n email: string;\n};\n\nexport default function Marathon2023() {\n const [name, setName] = React.useState<string>(\"\");\n const [email, setParticipantEmail] = React.useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = React.useState<string>(\"\");\n const [agree, setAgreement] = React.useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = React.useState<boolean>(false);\n const [errorMessage, setErrorMessage] = React.useState<string>(\"\");\n\n const socket: Socket = React.useContext(SocketContext);\n\n const validateEmail = (email) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const handleSubmit = async (e: any) => {\n e.preventDefault();\n validateEmail(email);\n if (emailErrorMessage) {\n return;\n }\n\n const data: MarathonEntry = {\n name: name,\n email: email,\n };\n\n axios\n .post(`https://${window.location.hostname}/strapi/marathon-2023`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h1 text-center mb-4 white-text futuraFuture\"\n style={{ paddingBottom: \"2rem\" }}\n >\n Win tickets for the half marathon!\n </p>\n <p\n className=\"h4 text-center mb-4 white-text futuraFuture\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\" }}\n >\n Please fill in your personal information below to participate\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your name:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className=\"form-control\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n ></input>\n\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your email:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className={`form-control ${\n emailErrorMessage ? \"is-invalid\" : \"\"\n }`}\n value={email}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => {\n setAgreement(agree ? false : true);\n }}\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"defaultUnchecked\"\n style={{ color: \"white\" }}\n >\n By entering this competition, I accept that Aarhus Symposium\n may send information regarding events and important\n deadlines and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n\n {errorMessage && (\n <p\n className=\"text-center mt-4 futuraFont\"\n style={{ color: \"red\" }}\n >\n {errorMessage}\n </p>\n )}\n\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}\n","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport React, { useEffect } from 'react';\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\ntype ChallengeLaunchEntry = {\n name: string;\n email: string;\n};\n\nexport default function ChallengeLaunch() {\n useEffect(() => {\n document.title = 'Competition';\n }, []);\n const [name, setName] = React.useState<string>(\"\");\n const [email, setParticipantEmail] = React.useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = React.useState<string>(\"\");\n const [agree, setAgreement] = React.useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = React.useState<boolean>(false);\n const [errorMessage, setErrorMessage] = React.useState<string>(\"\");\n\n const socket: Socket = React.useContext(SocketContext);\n\n const validateEmail = (email) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const handleSubmit = async (e: any) => {\n e.preventDefault();\n validateEmail(email);\n if (emailErrorMessage) {\n return;\n }\n\n const data: ChallengeLaunchEntry = {\n name: name,\n email: email,\n };\n\n axios\n .post(`https://${window.location.hostname}/strapi/challengelaunch`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h1 text-center mb-4 white-text futuraFuture\"\n style={{ paddingBottom: \"2rem\" }}\n >\n Aarhus Symposium\n </p>\n <p\n className=\"h4 text-center mb-4 white-text futuraFuture\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\" }}\n >\n Please fill in your personal information below to sign up for our newsletter\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your name:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className=\"form-control\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n ></input>\n\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your email:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className={`form-control ${\n emailErrorMessage ? \"is-invalid\" : \"\"\n }`}\n value={email}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => {\n setAgreement(agree ? false : true);\n }}\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"defaultUnchecked\"\n style={{ color: \"white\" }}\n >\n By entering this competition, I accept that Aarhus Symposium\n may send information regarding events and important\n deadlines, and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n\n {errorMessage && (\n <p\n className=\"text-center mt-4 futuraFont\"\n style={{ color: \"red\" }}\n >\n {errorMessage}\n </p>\n )}\n\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}\n","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport React, { useEffect } from 'react';\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\ntype GuessTheThemeEntry = {\n name: string;\n email: string;\n theme: string;\n};\n\nexport default function ChallengeLaunch() {\n useEffect(() => {\n document.title = 'Guess The Theme';\n }, []);\n const [name, setName] = React.useState<string>(\"\");\n const [email, setParticipantEmail] = React.useState<string>(\"\");\n const [theme, setParticipantTheme] = React.useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = React.useState<string>(\"\");\n const [agree, setAgreement] = React.useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = React.useState<boolean>(false);\n const [errorMessage, setErrorMessage] = React.useState<string>(\"\");\n\n const socket: Socket = React.useContext(SocketContext);\n\n const validateEmail = (email) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const handleSubmit = async (e: any) => {\n e.preventDefault();\n validateEmail(email);\n if (emailErrorMessage) {\n return;\n }\n\n const data: GuessTheThemeEntry = {\n name: name,\n email: email,\n theme: theme,\n };\n\n axios\n .post(`https://${window.location.hostname}/strapi/guessthetheme`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n \n // This automatically redirects the user to theme-announcement after it has been announced - given the correct date.\n useEffect(() => {\n const AnnouncementDate = new Date('2024-05-06T11:02:00Z'); // Ensure this date format is correct\n if (new Date() > AnnouncementDate) {\n window.location.href = 'https://www.aarhus-symposium.org/theme-announcement';\n }\n }, []); // Empty dependency array ensures this runs only on mount\n\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h1 text-center mb-4 white-text futuraFuture\"\n style={{ paddingBottom: \"2rem\" }}\n >\n GUESS THE THEME\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactThemeEx\"\n className=\"white-text\"\n >\n Theme:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactThemeEx\"\n className=\"form-control\"\n value={theme}\n onChange={(e) => setParticipantTheme(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"theme\"\n ></input>\n <br></br>\n <br></br>\n <p\n className=\"h4 text-center mb-4 white-text futuraFuture\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\" }}\n >\n Please fill in your personal information below to participate\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your name:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className=\"form-control\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n ></input>\n\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your email:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className={`form-control ${\n emailErrorMessage ? \"is-invalid\" : \"\"\n }`}\n value={email}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => {\n setAgreement(agree ? false : true);\n }}\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"defaultUnchecked\"\n style={{ color: \"white\" }}\n >\n By entering this competition, I accept that Aarhus Symposium\n may send information regarding events and important\n deadlines, and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n\n {errorMessage && (\n <p\n className=\"text-center mt-4 futuraFont\"\n style={{ color: \"red\" }}\n >\n {errorMessage}\n </p>\n )}\n\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}\n","import React, { useEffect } from \"react\";\nimport \"../index.css\";\n\nexport default function Welcome() {\n useEffect(() => {\n document.title = 'Aarhus Symposium';\n }, []);\n return (\n <div>\n <p\n className=\"h3 text-center mb-4 white-text futuraFuture\"\n style={{ paddingTop: \"4rem\" }}\n >\n Welcome to\n </p>\n <p\n className=\"h1 text-center mb-4 white-text futuraFuture\"\n style={{ paddingBottom: \"3rem\" }}\n >\n Aarhus Symposium\n </p>\n <p className=\"h5 text-center mb-4 white-text futuraFuture\">\n The page you were trying to access is no longer active.\n </p>\n <p className=\"h5 text-center mb-4 white-text futuraFuture\">\n Please try again later!\n </p>\n </div>\n );\n}\n","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport React, { useEffect, useState } from \"react\";\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\ntype QuestionsEntry = {\n participantName: string;\n participantEmail: string;\n answer1: string;\n answer2: string;\n answer3: string;\n answer4: string;\n answer5: string;\n answer6: string;\n answer7: string;\n answer8: string;\n answer9: string;\n answer10: string;\n answer11: string;\n answer12: string;\n answer13: string;\n answer14: string;\n answer15: string;\n answer16: string;\n answer17: string;\n answer18: string;\n answer19: string;\n answer20: string;\n};\n\n\ntype QuestionsSetup = {\n question: string;\n imageUrl?: string;\n};\n\nconst LimitEntries : Boolean = true;\nconst LimitNumber : number = 200;\nlet count : number = 0;\n\nexport default function Questions() {\n useEffect(() => {\n document.title = 'Questioneere Competition';\n }, []);\n const [answers, setAnswers] = useState<string[]>(Array(20).fill(\"\"));\n const [participantName, setParticipantName] = useState<string>(\"\");\n const [participantEmail, setParticipantEmail] = useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = useState<string>(\"\");\n const [agree, setAgreement] = useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = useState<boolean>(false);\n const [errorMessage, setErrorMessage] = useState<string>(\"\");\n\n const [setupData, setSetupData] = useState<QuestionsSetup[]>([]);\n\n const socket: Socket = React.useContext(SocketContext);\n\n useEffect(() => {\n axios.get(`https://${window.location.hostname}/strapi/setupquestions`)\n .then(response => {\n const data = response.data.map((item: any) => ({\n question: item.question,\n imageUrl: item.image ? item.image.url : null\n }));\n setSetupData(data);\n })\n .catch(err => {\n console.error(\"API fetch error: \", err);\n });\n axios.get(`https://${window.location.hostname}/strapi/questions/count`).then((res) => {\n count = res.data.count;\n });\n\n if(count >= LimitNumber && LimitEntries){\n setErrorMessage(\"Registration Closed: The event is now full and no additional attendees can be accommodated.\");\n }\n }, []);\n\n const validateEmail = (email: string) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n validateEmail(participantEmail);\n if (emailErrorMessage) {\n return;\n }\n\n const data: QuestionsEntry = {\n participantName,\n participantEmail,\n answer1: answers[0] || \"\",\n answer2: answers[1] || \"\",\n answer3: answers[2] || \"\",\n answer4: answers[3] || \"\",\n answer5: answers[4] || \"\",\n answer6: answers[5] || \"\",\n answer7: answers[6] || \"\",\n answer8: answers[7] || \"\",\n answer9: answers[8] || \"\",\n answer10: answers[9] || \"\",\n answer11: answers[10] || \"\",\n answer12: answers[11] || \"\",\n answer13: answers[12] || \"\",\n answer14: answers[13] || \"\",\n answer15: answers[14] || \"\",\n answer16: answers[15] || \"\",\n answer17: answers[16] || \"\",\n answer18: answers[17] || \"\",\n answer19: answers[18] || \"\",\n answer20: answers[19] || \"\" \n };\n\n axios.get(`https://${window.location.hostname}/strapi/questions/count`).then((res) => {\n count = res.data.count;\n });\n\n if(count >= LimitNumber && LimitEntries){\n setErrorMessage(\"Registration Closed: The event is now full and no additional attendees can be accommodated.\");\n return;\n }\n\n axios\n .post(`https://${window.location.hostname}/strapi/questions`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h2 text-center mb-4 white-text futuraFuture questionsTitle\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\" }}\n >\n {setupData[0]?.question ?? \"Contest not available\"}\n </p>\n <div className=\"image-container\" style={{ textAlign: \"center\" }}>\n {setupData.slice(1).map((entry, index) => (\n <React.Fragment key={index}>\n {entry.imageUrl && (\n <img\n src={\"/strapi\" + entry.imageUrl}\n alt={`Face${index + 1}`}\n height={500}\n width={500}\n style={{ marginTop: \"2em\" }}\n className=\"responsive-image\"\n />\n )}\n <br />\n <label\n htmlFor={`nameInput${index + 1}`}\n className=\"white-text questionText\"\n style={{ fontWeight: \"bold\", textAlign: \"center\" }}\n >\n {entry.question}\n </label>\n <br />\n <label\n htmlFor={`nameInput${index + 1}`}\n className=\"white-text\"\n >\n Answer {index + 1}:\n </label>\n <input\n required={true}\n type=\"text\"\n id={`nameInput${index + 1}`}\n className=\"form-control\"\n value={answers[index]}\n onChange={(e) => {\n const updatedAnswers = [...answers];\n updatedAnswers[index] = e.target.value;\n setAnswers(updatedAnswers);\n }}\n style={{ marginBottom: \"2em\" }}\n />\n </React.Fragment>\n ))}\n <p className=\"h5 text-center mb-4 white-text futuraFuture\">\n Personal information\n </p>\n <label htmlFor=\"participantName\" className=\"white-text\">\n Your name:\n </label>\n <input\n required={true}\n type=\"text\"\n id=\"participantName\"\n className=\"form-control\"\n value={participantName}\n onChange={(e) => setParticipantName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n />\n <label htmlFor=\"participantEmail\" className=\"white-text\">\n Your email:\n </label>\n <input\n required={true}\n type=\"text\"\n id=\"participantEmail\"\n className={`form-control ${emailErrorMessage ? \"is-invalid\" : \"\"}`}\n value={participantEmail}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => setAgreement(!agree)}\n />\n <label className=\"custom-control-label\" htmlFor=\"defaultUnchecked\" style={{ color: \"white\" }}>\n By registering, I accept that Aarhus Symposium may send information regarding events and\n important deadlines and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n {errorMessage && (\n <p className=\"text-center mt-4 futuraFont\" style={{ color: \"red\" }}>\n {errorMessage}\n </p>\n )}\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree || setupData[0] == null}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </div>\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport { useLocation } from 'react-router-dom';\nimport React, { useEffect } from \"react\";\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\ntype WritingWorkshopEntry = {\n name: string;\n email: string;\n};\n\nexport default function WritingWorkshop() {\n const location = useLocation();\n\n useEffect(() => {\n const params = new URLSearchParams(location.search);\n const codeParam = params.get('code');\n if (codeParam && code !== codeParam) { // Only update if it’s different\n setCode(codeParam);\n // Optionally validate the code if necessary here\n validateCode(codeParam);\n if(!validCode){\n setCode(\"\");\n }\n }\n\n document.title = 'Writing Workshop';\n\n }, []);\n let submittedCode = \"\";\n const [code, setCode] = React.useState<string>(\"\");\n const [name, setName] = React.useState<string>(\"\");\n const [validCode, setValidCode] = React.useState<boolean>(false);\n const [email, setParticipantEmail] = React.useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = React.useState<string>(\"\");\n const [codeErrorMessage, setCodeErrorMessage] = React.useState<string>(\"\");\n const [agree, setAgreement] = React.useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = React.useState<boolean>(false);\n const [errorMessage, setErrorMessage] = React.useState<string>(\"\");\n\n const socket: Socket = React.useContext(SocketContext);\n\n const validateEmail = (email) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const validateCode = (value) => {\n const date = new Date();\n const year = date.getFullYear().toString();\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n const yearMonthDay = year + month + day;\n \n // Encode the yearMonthDay to Base64\n const base64EncodedDate = btoa(yearMonthDay).replace(/=+$/, '').toLowerCase();\n \n // Validate the input value\n if (value === base64EncodedDate) {\n submittedCode = value;\n setCodeErrorMessage(\"\");\n setValidCode(true);\n } else {\n setCodeErrorMessage(\"Invalid code\");\n setValidCode(false);\n }\n };\n \n const handleSubmit = async (e: any) => {\n e.preventDefault();\n validateEmail(email);\n validateCode(code);\n\n if (emailErrorMessage || codeErrorMessage) {\n return;\n }\n\n\n const data: WritingWorkshopEntry = {\n name: name,\n email: email,\n };\n\n axios\n .post(`https://${window.location.hostname}/strapi/writingworkshops`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h1 text-center mb-4 white-text futuraFuture\"\n style={{ paddingBottom: \"2rem\" }}\n >\n Aarhus Symposium\n </p>\n {!validCode && (\n <>\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Workshop Code:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactCodeEx\"\n className={`form-control ${codeErrorMessage ? \"is-invalid\" : \"\"}`}\n value={code}\n onChange={(e) => setCode(e.target.value)}\n onBlur={(e) => validateCode(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n ></input>\n {codeErrorMessage && (\n <div className=\"invalid-feedback\">{codeErrorMessage}</div>\n )}\n </>\n )}\n <br></br>\n <p\n className=\"h4 text-center mb-4 white-text futuraFuture\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\" }}\n >\n Please fill in your personal information below to participate\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your name:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className=\"form-control\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n ></input>\n\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your email:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className={`form-control ${\n emailErrorMessage ? \"is-invalid\" : \"\"\n }`}\n value={email}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => {\n setAgreement(agree ? false : true);\n }}\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"defaultUnchecked\"\n style={{ color: \"white\" }}\n >\n By registering for this workshop, I accept that Aarhus Symposium\n may send information regarding events and important\n deadlines, and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n\n {errorMessage && (\n <p\n className=\"text-center mt-4 futuraFont\"\n style={{ color: \"red\" }}\n >\n {errorMessage}\n </p>\n )}\n\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}\n","import {\n MDBBox,\n MDBContainer,\n MDBRow,\n MDBCol,\n MDBBtn,\n MDBIcon,\n} from \"mdbreact\";\nimport \"../index.css\";\nimport React, { useEffect } from 'react';\nimport axios from \"axios\";\nimport { SocketContext } from \"../context/socket\";\nimport { Socket } from \"socket.io-client\";\n\ntype GuessTheThemeEntry = {\n name: string;\n email: string;\n clue: string;\n};\n\nexport default function ClueCompetition({clueId}) {\n useEffect(() => {\n if (parseInt(clueId) > 3 || !parseInt(clueId)) {\n window.location.href = \"https://aarhus-symposium.org\"; // Use window.location for external redirects\n } else {\n document.title = `Clue ${clueId}`;\n }\n }, [clueId]);\n const [name, setName] = React.useState<string>(\"\");\n const [email, setParticipantEmail] = React.useState<string>(\"\");\n const [clue, setParticipantClue] = React.useState<string>(\"\");\n const [emailErrorMessage, setEmailErrorMessage] = React.useState<string>(\"\");\n const [agree, setAgreement] = React.useState<boolean>(false);\n const [hasBeenSubmitted, setSubmit] = React.useState<boolean>(false);\n const [errorMessage, setErrorMessage] = React.useState<string>(\"\");\n\n const socket: Socket = React.useContext(SocketContext);\n\n const validateEmail = (email) => {\n const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\n if (!emailPattern.test(email)) {\n setEmailErrorMessage(\"Invalid email format\");\n } else {\n setEmailErrorMessage(\"\");\n }\n };\n\n const handleSubmit = async (e: any) => {\n e.preventDefault();\n validateEmail(email);\n if (emailErrorMessage) {\n return;\n }\n\n const data: GuessTheThemeEntry = {\n name: name,\n email: email,\n clue: clue,\n };\n\n axios\n .post(`https://${window.location.hostname}/strapi/clue${clueId}`, data)\n .then((res) => {\n socket.emit(\"newEntry\", \"\");\n setSubmit(true);\n })\n .catch((err) => {\n setErrorMessage(\"Sorry, something went wrong. Please try again later.\");\n });\n };\n\n return (\n <div className=\"bg\">\n <MDBContainer>\n <MDBBox>\n <br />\n <br />\n <br />\n </MDBBox>\n <MDBRow center>\n <MDBCol md=\"6\">\n {!hasBeenSubmitted ? (\n <form onSubmit={handleSubmit}>\n <p\n className=\"h1 text-center mb-4 white-text futuraFuture\"\n style={{ paddingBottom: \"2rem\" }}\n >\n CLUE {clueId}\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactThemeEx\"\n className=\"white-text\"\n >\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactThemeEx\"\n className=\"form-control\"\n value={clue}\n onChange={(e) => setParticipantClue(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"theme\"\n ></input>\n <br></br>\n <br></br>\n <p\n className=\"h4 text-center mb-4 white-text futuraFuture\"\n style={{ marginTop: \"-1em\", marginBottom: \"-1em\" }}\n >\n Please fill in your personal information below to participate\n </p>\n <br></br>\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your name:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className=\"form-control\"\n value={name}\n onChange={(e) => setName(e.target.value)}\n style={{ marginBottom: \"2em\" }}\n autoComplete=\"name\"\n ></input>\n\n <label\n htmlFor=\"defaultFormContactEmailEx\"\n className=\"white-text\"\n >\n Your email:\n </label>\n\n <input\n required={true}\n type=\"text\"\n id=\"defaultFormContactNameEx\"\n className={`form-control ${\n emailErrorMessage ? \"is-invalid\" : \"\"\n }`}\n value={email}\n onChange={(e) => {\n setParticipantEmail(e.target.value);\n }}\n onBlur={(e) => validateEmail(e.target.value)}\n autoComplete=\"email\"\n />\n {emailErrorMessage && (\n <div className=\"invalid-feedback\">{emailErrorMessage}</div>\n )}\n <br />\n\n <div className=\"custom-control custom-checkbox\">\n <input\n type=\"checkbox\"\n className=\"custom-control-input\"\n id=\"defaultUnchecked\"\n value=\"accept\"\n onChange={(e) => {\n setAgreement(agree ? false : true);\n }}\n />\n <label\n className=\"custom-control-label\"\n htmlFor=\"defaultUnchecked\"\n style={{ color: \"white\" }}\n >\n By entering this competition, I accept that Aarhus Symposium\n may send information regarding events and important\n deadlines, and I accept the{\" \"}\n <a href=\"https://aarhus-symposium.org/terms\">\n Privacy Policy & Terms of Service\n </a>\n </label>\n </div>\n\n {errorMessage && (\n <p\n className=\"text-center mt-4 futuraFont\"\n style={{ color: \"red\" }}\n >\n {errorMessage}\n </p>\n )}\n\n <div className=\"text-center mt-4 futuraFont\">\n <MDBBtn color=\"light\" outline type=\"submit\" disabled={!agree}>\n Send\n <MDBIcon far icon=\"paper-plane\" className=\"ml-2\" />\n </MDBBtn>\n </div>\n <br />\n </form>\n ) : (\n <p className=\"h1 text-center mb-4 white-text futuraFont\">\n SUCCESS\n </p>\n )}\n </MDBCol>\n </MDBRow>\n </MDBContainer>\n </div>\n );\n}\n","import React, { useEffect } from \"react\";\nimport {\n BrowserRouter as Router,\n Route,\n Switch,\n Redirect,\n useLocation,\n} from \"react-router-dom\";\nimport { SocketContext, socket } from \"./context/socket\";\nimport GuessWho from \"./components/guesswho\";\nimport Marathon2023 from \"./components/marathon2023\";\nimport ChallengeLaunch from \"./components/challengelaunch\";\nimport GuessTheTheme from \"./components/guessthetheme\";\nimport Welcome from \"./components/welcome\";\nimport Questions from \"./components/questions\";\nimport WritingWorkshop from \"./components/writingworkshop\";\nimport ClueCompetition from \"./components/cluecompetition\";\n\nconst CSSLoader = () => {\n const location = useLocation();\n\n useEffect(() => {\n // Extract the path from the current location\n const path = location.pathname.slice(1) || \"index\";\n // Construct the CSS URL\n const cssUrl = `https://files.asymp.org/css/${path}.css`;\n\n // Create a link element to load the CSS\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = cssUrl;\n\n // Append to head\n document.head.appendChild(link);\n\n // Cleanup on unmount\n return () => {\n document.head.removeChild(link);\n };\n }, [location.pathname]);\n\n return null;\n};\n\n\nconst AppContent = () => {\n return (\n <>\n <CSSLoader /> {/* Dynamically load the CSS based on the path */}\n <div className=\"bg\">\n <Switch>\n <Route path=\"/\" exact component={Welcome} />\n <Route path=\"/guesswho\" exact component={GuessWho} />\n <Route path=\"/marathon-2023\" exact component={Marathon2023} />\n <Route path=\"/competition\" exact component={ChallengeLaunch} />\n <Route path=\"/guessthetheme\" exact component={GuessTheTheme} />\n <Route path=\"/questions\" exact component={Questions} />\n <Route path=\"/writingworkshop\" exact component={WritingWorkshop} />\n <Route\n path=\"/clue:clueId\"\n exact\n component={({ match }) => <ClueCompetition clueId={match.params.clueId} />}\n />\n <Redirect to=\"/\" />\n </Switch>\n </div>\n </>\n );\n};\n\nfunction App() {\n return (\n <SocketContext.Provider value={socket}>\n <div className=\"App\">\n <Router>\n <AppContent />\n </Router>\n </div>\n </SocketContext.Provider>\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport '@fortawesome/fontawesome-free/css/all.min.css'; \nimport 'bootstrap-css-only/css/bootstrap.min.css'; \nimport 'mdbreact/dist/css/mdb.css';\n\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}