{"version":3,"sources":["Components/Questions.js","Components/Quiz.js","App.js","index.js"],"names":["Questions","correctAnswer","className","showAnswers","selectedAnswer","currentScore","totalQuestions","currentIndex","handleAnswer","handleNextQuestion","handleSeeCorrectAnswer","showAdditionalInfo","showAnswerClassName","data","question","correct_answer","answers","additional_info","showAnswerClass","id","dangerouslySetInnerHTML","__html","map","answer","idx","btnClass","onClick","Quiz","props","useState","questions","setQuestions","setCurrentIndex","score","setScore","setShowAnswers","setSelectedAnswer","setClassName","setShowAnswerClassName","showCorrectAnswer","additionalInfo","setShowAdditionalInfo","questions_data","JSON","parse","buttonText","params","buttontext","useEffect","dataQuestions","randomizer","type","incorrect_answers","sort","Math","random","msg","length","scoretop","scoremedium","scorelow","end","endBtn","href","url","endBtn2","setTimeout","handlePlayAgain","window","open","App","state","quizVisible","startQuiz","this","console","log","startQuizBtn","setState","introBtn","bannerTitle","bannerText","PureComponent","mount","element","document","getElementById","dataset","windowAppId","process","REACT_APP_WINDOW_APP_ID","initParams","wtRegion","token","clientEmail","isoCode","ReactDOM","render"],"mappings":"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","file":"static/js/main.d75ca3ea.chunk.js","sourcesContent":["import React from 'react';\nimport './Questions.css';\n\nconst Questions = ({\n correctAnswer,\n className,\n showAnswers,\n selectedAnswer,\n currentScore,\n totalQuestions,\n currentIndex,\n handleAnswer,\n handleNextQuestion,\n handleSeeCorrectAnswer,\n showAdditionalInfo,\n showAnswerClassName,\n data: { question, correct_answer, answers, additional_info },\n}) => {\n\n let showAnswerClass = showAnswerClassName ? 'btn-showanswer' : 'btn-hide-showanswer';\n\n return (\n
\n
\n
\n

Question:

\n

{currentIndex} / {totalQuestions}

\n
\n

Score:

\n

{currentScore}

\n
\n
\n

\n\n
\n {answers.map((answer, idx) => {\n\n const bgColor = correctAnswer ? correct_answer === answer ? 'btn-choice-correct' : 'btn-choice'\n : 'btn-choice'\n const btnClass = (selectedAnswer === answer && correctAnswer === false) ? className : bgColor\n return (\n
\n
\n
\n handleAnswer(answer)} >\n {answer}\n \n
\n
\n
\n )\n })\n }\n
\n {showAdditionalInfo && (\n

\n )\n }\n
\n
\n\n {/* only shows when you click on Questionaire */}\n {showAnswers && (\n
\n {(correct_answer !== selectedAnswer) &&\n
\n
\n Show Answer\n
\n
\n }\n\n
\n NEXT \n
\n
\n\n )}\n\n\n
\n\n\n )\n\n};\n\n\nexport default Questions;","import React, { useState, useEffect } from 'react';\nimport './Quiz.css';\nimport Questions from './Questions'\n\nfunction Quiz(props) {\n\n const [questions, setQuestions] = useState([]);\n const [currentIndex, setCurrentIndex] = (useState(0));\n const [score, setScore] = useState(0);\n const [showAnswers, setShowAnswers] = useState(false);\n const [selectedAnswer, setSelectedAnswer] = useState(null);\n const [className, setClassName] = useState('btn-choice');\n const [showAnswerClassName, setShowAnswerClassName] = useState(true);\n const [correctAnswer, showCorrectAnswer] = useState(false);\n const [additionalInfo, setShowAdditionalInfo] = useState(false);\n const questions_data = JSON.parse(props.questions);\n const buttonText = props.params.buttontext[0];\n\n\n useEffect(() => {\n const dataQuestions = questions_data.map((question, idx) => {\n let additional_info = questions_data[idx].additional_info;\n let randomizer = 0.5;\n\n if (questions_data[idx].type === 'multiple-4')\n randomizer = 0.6;\n else if (questions_data[idx].type === 'multiple-3')\n randomizer = 0.7;\n else if (questions_data[idx].type === 'multiple-2')\n randomizer = 0.8;\n return ({\n ...question,\n additional_info,\n answers: [\n question.correct_answer,\n ...question.incorrect_answers,\n ].sort(() => Math.random() - randomizer)\n })\n })\n setQuestions(dataQuestions);\n }, []);\n\n const handleAnswer = (answer) => {\n\n if (!showAnswers) { //prevent answers\n setSelectedAnswer(answer);\n setClassName('btn-choice-active');\n setShowAnswers(false)\n setShowAdditionalInfo(false);\n setTimeout(() => {\n setClassName((answer === questions[currentIndex].correct_answer) ? 'btn-choice-correct' : 'btn-choice-incorrect')\n }, 200);\n if (answer === questions[currentIndex].correct_answer) {\n setScore(score + 1);\n setShowAnswers(false);\n setShowAdditionalInfo(true);\n }\n }\n setShowAnswers(true);\n showCorrectAnswer(false);\n };\n\n const handleSeeCorrectAnswer = () => {\n showCorrectAnswer(true);\n setShowAdditionalInfo(true);\n setShowAnswerClassName(false);\n };\n\n\n const handleNextQuestion = () => {\n setShowAnswers(false);\n showCorrectAnswer(false);\n setClassName('btn-choice');\n setCurrentIndex(currentIndex + 1);\n setShowAdditionalInfo(false);\n setShowAnswerClassName(true);\n }\n\n const handlePlayAgain = () => {\n window.open(props.params.buttontext[0].url)\n }\n\n let msg = '';\n if (score === questions.length) {\n msg = buttonText.scoretop\n\n }\n else if ((score > 5) && (score < questions.length)) {\n msg = buttonText.scoremedium\n\n }\n else if (score <= 5) {\n msg = buttonText.scorelow\n }\n\n if (questions.length > 0) {\n return (\n
\n {currentIndex >= questions.length ? (\n
\n
\n

{buttonText.end} {score} out of {questions.length}.

\n

{msg}

\n

{buttonText.endBtn} {buttonText.endBtn2}

\n\n {/*
*/}\n
\n
\n ) : (\n \n )\n }\n \n )\n }\n else {\n return (\n

loading! ...

\n );\n }\n\n} //function\n\nexport default Quiz;\n","import React, { PureComponent } from 'react';\nimport './App.css';\nimport Quiz from './Components/Quiz'\n\nclass App extends PureComponent {\n\n constructor(props) {\n super(props);\n this.state = {\n quizVisible: false,\n startQuiz: false,\n data: null,\n };\n }\n\n render() {\n const {\n params,\n questions\n } = this.props;\n\n console.log('PARAMS', params)\n\n // < h1 className = 'end-text' > { buttonText.end } { score } out of { questions.length }.\n //

{msg}

\n //

{buttonText.endBtn} {buttonText.endBtn2}

\n\n\n let startQuizBtn =
\n\n return (\n //
\n //
\n // {/* {!this.state.quizVisible ? startQuizBtn : \n\n // } */}\n //
\n
\n
\n
{params.buttontext[0].bannerTitle}
\n
\n {params.buttontext[0].bannerText}\n
\n
\n {!this.state.quizVisible ? startQuizBtn : }\n
\n {/* */}\n
\n
\n\n\n //
\n )\n }\n\n\n}\n\nexport default (App);","\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App'\nimport { BrowserRouter } from 'react-router-dom';\n\n// the id of the div for render\n//let appId = 'quizapp';\n\nwindow.mount = function (id) {\n\n let element = document.getElementById(id)\n let questions = element.dataset.questions\n\n const windowAppId = `${process.env.REACT_APP_WINDOW_APP_ID}` ? `${process.env.REACT_APP_WINDOW_APP_ID}` : 'portfolioMapper';\n const initParams = {};\n\n initParams.wtRegion = window[windowAppId] && `${window[windowAppId].wtRegion}` && `${window[windowAppId].wtRegion}` !== 'undefined' ? `${window[windowAppId].wtRegion}` : \"US\";\n initParams.token = window[windowAppId] && `${window[windowAppId].token}` && `${window[windowAppId].token}` !== 'undefined' ? `${window[windowAppId].token}` : \"\";\n initParams.clientEmail = window[windowAppId] && `${window[windowAppId].clientEmail}` && `${window[windowAppId].clientEmail}` !== 'undefined' ? `${window[windowAppId].clientEmail}` : \"unknown@unknown.com\";\n initParams.isoCode = window[windowAppId] && `${window[windowAppId].isoCode}` && `${window[windowAppId].isoCode}` !== 'undefined' ? `${window[windowAppId].isoCode}` : \"en-US\";\n\n\n // Get the model details\n initParams.buttontext = element.dataset.buttontext ? JSON.parse(element.dataset.buttontext) : null;\n\n ReactDOM.render(\n \n \n ,\n element\n );\n\n}"],"sourceRoot":""}