{"version":3,"sources":["../scripts/question.js"],"names":["document","addEventListener","questions","querySelectorAll","results","JSON","parse","localStorage","getItem","forEach","quest","answers","hint","querySelector","name","dataset","res","selectAnswer","index","isOk","classList","contains","add","el","disabled","toggle","remove","setItem","stringify","btn","body","height","clientHeight","scrollY","window","svgs","map","svg","bottom","getBoundingClientRect","animation","animated","scroll","isInside","beginElement"],"mappings":";AAAA,SAAA,EAAA,GAAA,OAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,IAAA,SAAA,IAAA,MAAA,IAAA,UAAA,wIAAA,SAAA,EAAA,EAAA,GAAA,GAAA,EAAA,CAAA,GAAA,iBAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA,EAAA,OAAA,UAAA,SAAA,KAAA,GAAA,MAAA,GAAA,GAAA,MAAA,WAAA,GAAA,EAAA,cAAA,EAAA,EAAA,YAAA,MAAA,QAAA,GAAA,QAAA,EAAA,MAAA,KAAA,GAAA,cAAA,GAAA,2CAAA,KAAA,GAAA,EAAA,EAAA,QAAA,GAAA,SAAA,EAAA,GAAA,GAAA,oBAAA,QAAA,OAAA,YAAA,OAAA,GAAA,OAAA,MAAA,KAAA,GAAA,SAAA,EAAA,GAAA,GAAA,MAAA,QAAA,GAAA,OAAA,EAAA,GAAA,SAAA,EAAA,EAAA,IAAA,MAAA,GAAA,EAAA,EAAA,UAAA,EAAA,EAAA,QAAA,IAAA,IAAA,EAAA,EAAA,EAAA,IAAA,MAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,EAAA,GAAA,OAAA,EAAAA,SAASC,iBAAiB,mBAAoB,WACtCC,IAAAA,EAAYF,SAASG,iBAAiB,oBACtCC,EAAUC,KAAKC,MAAMC,aAAaC,QAAQ,aAAe,GAE/DN,EAAUO,QAAQ,SAAAC,GACVC,IAAAA,EAAUD,EAAMP,iBAAiB,qBACjCS,EAAOF,EAAMG,cAAc,SAEzBC,EAASJ,EAAMK,QAAfD,KACFE,EAAMZ,EAAQU,GAEdG,EAAe,SAACC,GACdC,IAAAA,EAAOR,EAAQO,GAAOE,UAAUC,SAAS,MAE/CV,EAAQO,GAAOE,UAAUE,IAAI,YAC7BX,EAAQF,QAAQ,SAAAc,GAAQA,EAAGC,UAAW,IAEtCd,EAAMU,UAAUK,OAAO,YAAY,GACnCb,EAAKC,cAAcM,EAAO,SAAW,UAAUC,UAAUM,OAAO,UAEhEtB,EAAQU,GAAQI,EAChBX,aAAaoB,QAAQ,UAAWtB,KAAKuB,UAAUxB,KAG7CY,GACFC,EAAaD,GAGfL,EAAQF,QAAQ,SAACoB,EAAKX,GACpBW,EAAI5B,iBAAiB,QAAS,WAC5BgB,EAAaC,SAKbY,IACAC,EADO/B,SAASa,cAAc,QAChBmB,aACZC,EAAYC,OAAZD,QAGFE,EAAO,EADOnC,SAASG,iBAAiB,2BAChBiC,IAAI,SAAAb,GAAO,MAAA,CAAEA,GAAAA,KAE3CY,EAAK1B,QAAQ,SAAA4B,GACXA,EAAIN,OAASM,EAAId,GAAGS,aACpBK,EAAIC,OAASD,EAAId,GAAGgB,wBAAwBD,OAASL,EAAUF,EAASM,EAAIN,OAEtES,IAAAA,EAAYH,EAAId,GAAGV,cAAc,kBAAoBwB,EAAId,GAAGV,cAAc,WAC5E2B,IACFH,EAAIG,UAAYA,EAChBH,EAAII,UAAW,KAuBnBP,OAAOjC,iBAAiB,SAnBP,WACTyC,IAAAA,EAASR,OAAOD,QAEtBE,EAAK1B,QAAQ,SAAA4B,GACLM,IAAAA,EAAWD,GAAUL,EAAIC,OAE/BD,EAAId,GAAGH,UAAUK,OAAO,UAAWkB,GAE/BN,EAAIG,YACFG,IAAaN,EAAII,UACnBJ,EAAII,UAAW,EACfJ,EAAIG,UAAUI,iBACJD,GAAYN,EAAII,WAC1BJ,EAAII,UAAW","file":"question.a00aa8de.js","sourceRoot":"../src/pages","sourcesContent":["document.addEventListener('DOMContentLoaded', () => {\n const questions = document.querySelectorAll('section.question');\n const results = JSON.parse(localStorage.getItem('results')) || {};\n\n questions.forEach(quest => {\n const answers = quest.querySelectorAll('.answers > button');\n const hint = quest.querySelector('.hint');\n\n const { name } = quest.dataset;\n const res = results[name];\n\n const selectAnswer = (index) => {\n const isOk = answers[index].classList.contains('ok');\n\n answers[index].classList.add('selected');\n answers.forEach(el => { el.disabled = true; });\n\n quest.classList.toggle('answered', true);\n hint.querySelector(isOk ? '.right' : '.wrong').classList.remove('hidden');\n\n results[name] = index;\n localStorage.setItem('results', JSON.stringify(results));\n };\n\n if (res) {\n selectAnswer(res);\n }\n\n answers.forEach((btn, index) => {\n btn.addEventListener('click', () => {\n selectAnswer(index);\n });\n });\n });\n\n const body = document.querySelector('body');\n const height = body.clientHeight;\n const { scrollY } = window;\n\n const svgElements = document.querySelectorAll('.question .content svg');\n const svgs = [...svgElements].map(el => ({ el }));\n\n svgs.forEach(svg => {\n svg.height = svg.el.clientHeight;\n svg.bottom = svg.el.getBoundingClientRect().bottom + scrollY - height + svg.height;\n\n const animation = svg.el.querySelector('animateMotion') || svg.el.querySelector('animate');\n if (animation) {\n svg.animation = animation;\n svg.animated = false;\n }\n });\n\n const onScroll = () => {\n const scroll = window.scrollY;\n\n svgs.forEach(svg => {\n const isInside = scroll >= svg.bottom;\n\n svg.el.classList.toggle('shifted', isInside);\n\n if (svg.animation) {\n if (isInside && !svg.animated) {\n svg.animated = true;\n svg.animation.beginElement();\n } else if (!isInside && svg.animated) {\n svg.animated = false;\n }\n }\n });\n }\n\n window.addEventListener('scroll', onScroll);\n});\n"]}