{"version":3,"sources":["pages/p-spingboard.js","../node_modules/@ionic/core/dist/esm-es5 lazy /^/.//.*/.entry/.js$/ groupOptions: {} namespace object","../node_modules/ionicons/dist/esm lazy /^/.//.*/.entry/.js$/ include: //.entry/.js$/ exclude: //.system/.entry/.js$/ groupOptions: {} namespace object","components/c-loader.js","components/c-mask.js","components/c-lzimg.js","components/c-marca.js","components/c-bt-pill.js","components/c-list.js","pages/p-installation.js","pages/p-pick-language.js","pages/p-sign-up.js","pages/p-loading.js","App.js","global.js","serviceWorkerRegistration.ts","reportWebVitals.ts","index.tsx","state/index.js"],"names":["alerts","Springboard","history","deselectRef","useRef","tokenRef","useIonAlert","presentAlert","useGlobalState","setLoading","currPts","useState","extraList","setExtraList","locale","useParams","modal","setModal","levels","setLevels","structure","currLvl","useEffect","getSpringBoardModel","present","id","deselect","current","ia","_modal","getIaModel","trim","_extralist","getNovaMusicaList","pair","setTimeout","focus","dismiss","presentTypedAlert","type","definition","header","T","message","buttons","onDidDismiss","e","console","log","handlePinInputDone","a","otp","length","instance","slice","ia_uid","paired","error","ux","getIaUx","push","capitalize","str","charAt","toUpperCase","toLowerCase","className","map","level","index","Level","onSelect","style","top","div","onTap","state","retrieve","pts","name","cssClass","src","alt","isOpen","swipeToClose","presentingElement","undefined","onClick","title","content","InputPin","ref","onDone","isPlatform","token","getToken","items","LevelImpl","ias","label","color","lvlRef","imgRef","figRef","controls","useAnimation","isVisible","useViewportSpy","threshold","setCurrLvl","useImperativeHandle","select","b","getBoundingClientRect","start","x","y","width","window","innerWidth","height","innerHeight","opacity","display","transition","duration","ease","transitionEnd","delay","handleSelect","target","entry","find","media","setImmediate","Ia","node","document","querySelector","figure","animate","Math","min","forwardRef","instance_id","_empty","InputPinImpl","pin","setPin","currPin","setCurrPin","useGlobalEvent","key","next","nextpin","value","reset","i","useLayoutEffect","join","handlePinFocus","placeholder","_","data-index","onFocus","onChange","curr","blur","handlePinChange","inputMode","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","Error","code","ids","keys","Object","module","exports","loading","setIndex","indexRef","intervaleRef","setInterval","clearInterval","AnimatePresence","motion","initial","exit","instr","Instr_1","viewBox","d","Instr_2","version","transform","class","Instr_3","Instr_4","Instr_5","Instr_6","Instr_7","Instr_8","Instr_9","Instr_10","rest","img","onLoad","variants","visible","children","List","mode","item","detail","lines","ListItem","labelHilite","setLabelHilite","subLabel","setSubLabel","indexOf","tokens","split","Installation","contentRef","timeoutRef","mixerOptionRef","local","setLocal","info","setInfo","setVisible","presentPlayStop","setPresentPlayStop","presentKaraokeControl","setPresentKaraokeControl","presentZoomControl","setPresentZoomControl","bkg","sng","karaokeSelection","setKaraokeSelection","filtered","setFiltered","H","useHistory","useLocation","pathname","search","navigate","useContext","NavContext","useInterval","ia_check_reset","replace","clearTimeout","unpair","_local","getIaModelOptions","scrollToTop","location","qs","parse","playing","c","p","getQuizModel","handleOptionSelection","frg","subtitle","set_lungo_state","i_state","v_state","observe","handleFabTop","handleMidiatecaOptionSelection","fullscreen","onBack","onIonChange","term","result","groups","filter","g","f","options","group","vertical","horizontal","slot","whileTap","scale","icon","chevronUp","times","instruments","checked","ch","fill","Array","ia_observe_v_state","callback","onBgSelect","sel","onSngSelect","sngname","button","onNext","parseInt","hasNextQuiz","onDismiss","onPickOption","option","open","onStop","Header","ListG","render","setRender","sticky","handleSelection","playCircle","fundos","ListKaraoke","sngSelected","setSngSelected","bgSelected","setBgSelected","handleSngSelection","handleBgSelection","ionChange","UXQuiz","correct","setCorrect","choosen","setChoosen","setResult","setCurrPts","setMessage","question","answers","k","answer","visit","_message","youneed","nextPts","backdropDismiss","UXMixer","setState","_state","_rows","_cols","UXZum","ii","PlayStopControl","KaraokeControl","ZumControl","PickLanguage","to","Signup","viewRef","useKeyboardState","keyboardHeight","setLocale","email","birthday","device","setVisit","bithday","store","offset","setProperty","validate","test","String","Device","getId","uuid","sign_in","position","displayFormat","first","Loading","App","exact","path","component","setupConfig","rippleEffect","swipeBackEnabled","persistConfig","Boolean","hostname","match","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","createGlobalState","currIa","setGlobalState","getGlobalState","resolved","clear","retrieved","get","localized","payload","axios","post","process","rs","status","data","session","instance_uid","address","headers","authorization","response","delete","model","put","ia_observe","springboard","found","novamusica","quiz","totens","cabines","karaoke","raptrap","midiateca","_depoimentos","depoimentos","pt","en","educacao","mixer","zum","_data","merge","localStorage","setItem","JSON","stringify","stored","getItem","__ref","poll","ts","__v_state","__v_state_poll"],"mappings":"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,OAEZC,GAEHA,EAAQtH,YAEH,CAEN,IAAMe,EAAMmH,EAAKP,KAAL,IAEZT,GAAY,GAEZb,SAASC,cAAT,oBAA2C6B,OAE3C3E,EAAO,CAAEzC,MAAKvB,QAYM4I,CAAgBnG,EAAOvB,EAAEoF,OAAOyB,QACjDc,UAAU,UACVvG,UAAU,2FAPZ,cAAiBG,UAefqB,EAAWqD,qBAAWG,K,mgmHC7d5B,IAAI/E,EAAM,CACT,8BAA+B,CAC9B,IACA,GAED,uBAAwB,CACvB,IACA,GAED,uBAAwB,CACvB,IACA,GAED,0BAA2B,CAC1B,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,sBAAuB,CACtB,IACA,IAED,uBAAwB,CACvB,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,mCAAoC,CACnC,IACA,IAED,uBAAwB,CACvB,IACA,IAED,+BAAgC,CAC/B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,uBAAwB,CACvB,IACA,GAED,uBAAwB,CACvB,IACA,IAED,yBAA0B,CACzB,IACA,GAED,8BAA+B,CAC9B,IACA,IAED,yBAA0B,CACzB,IACA,IAED,uBAAwB,CACvB,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,+BAAgC,CAC/B,IACA,IAED,yBAA0B,CACzB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,yBAA0B,CACzB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,wBAAyB,CACxB,IAC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","file":"static/js/main.5ccd2db0.chunk.js","sourcesContent":["import { useState, useEffect, useRef, useImperativeHandle, forwardRef, useLayoutEffect } from 'react';\nimport { IonContent, IonPage, IonModal, useIonAlert } from '@ionic/react';\nimport { isPlatform } from '@ionic/core';\nimport { useParams } from 'react-router-dom';\nimport { motion, useAnimation } from 'framer-motion';\nimport { useViewportSpy, useGlobalEvent } from 'beautiful-react-hooks';\nimport { Portal } from 'react-portal';\nimport { useGlobalState, pair, getSpringBoardModel, getIaModel, getIaUx, getNovaMusicaList, retrieve, T } from '../state';\nimport { Lzimg, Marca, BtPill, List } from '../components';\nimport { useKeyboardState } from '@ionic/react-hooks/keyboard';\n\nconst alerts = { INCOMPLETE_PIN: 0 };\n\n// bg-nv-0 bg-nv-1 bg-nv-2 bg-nv-3\n\nexport default function Springboard({ history }) {\n\t// extract pin component?\n\tconst deselectRef = useRef(null);\n\tconst tokenRef = useRef(null);\n\n\tconst [presentAlert] = useIonAlert();\n\tconst [, setLoading] = useGlobalState('loading');\n\tconst [currPts] = useGlobalState('currPts');\n\tconst [extraList, setExtraList] = useState(null);\n\n\tconst { locale } = useParams();\n\tconst [modal, setModal] = useState(null);\n\tconst [levels, setLevels] = useState(null);\n\tconst [structure] = useGlobalState('structure');\n\tconst [currLvl] = useGlobalState('currLvl');\n\n\t// investigate life cycle methods\n\n\t// take from global structure\n\tuseEffect(() => {\n\t\tif (structure) {\n\t\t\t// implement this on state\n\t\t\tconst levels = getSpringBoardModel();\n\t\t\t// define museu levels\n\t\t\tsetLevels([...levels]);\n\t\t}\n\t}, [structure]);\n\n\tconst present = (id, deselect) => {\n\t\t// pass the ref for the current lvl which contains the auto selected thumb\n\t\tdeselectRef.current = deselect;\n\n\t\t// define ia data by id\n\t\tconst ia = id;\n\n\t\t// get modal model\n\t\tconst _modal = getIaModel({ ia, locale });\n\n\t\t// lida com o exception\n\t\tif (_modal.id.trim() === 'b16tqUB') {\n\t\t\tconst _extralist = getNovaMusicaList();\n\t\t\tsetExtraList(_extralist);\n\t\t} else {\n\t\t\tsetExtraList(null);\n\t\t}\n\n\t\t// define the modal an present it\n\t\tsetModal({ ..._modal });\n\n\t\t// auto focus\n\t\tif (_modal.pair) {\n\t\t\tsetTimeout(() => {\n\t\t\t\ttokenRef.current.focus();\n\t\t\t}, 1000);\n\t\t}\n\t};\n\n\tconst dismiss = () => {\n\t\tsetModal(null);\n\t\tsetTimeout(() => {\n\t\t\tdeselectRef.current();\n\t\t}, 300);\n\t};\n\n\tconst presentTypedAlert = (type) => {\n\t\tlet definition = {};\n\t\tswitch (type) {\n\t\t\tcase alerts.INCOMPLETE_PIN: {\n\t\t\t\tdefinition = {\n\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\tmessage: T('common.warning.verify_pin'),\n\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t\tonDidDismiss: (e) => console.log('did dismiss'),\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tpresentAlert({ ...definition });\n\t};\n\n\tconst handlePinInputDone = async ({ otp, ia = '0' }) => {\n\t\ttry {\n\t\t\tif (otp.length < 8) {\n\t\t\t\t// alert to type all digits\n\t\t\t\tpresentTypedAlert(alerts.INCOMPLETE_PIN);\n\t\t\t} else {\n\t\t\t\t// put app in \"loading\" state\n\t\t\t\tsetLoading(true);\n\n\t\t\t\t// try to pair\n\t\t\t\tconst instance = `${otp}`.slice(0, 2);\n\t\t\t\tconst paired = await pair({ instance, ia_uid: ia, otp });\n\n\t\t\t\t// need to handle pair \"errors\"\n\t\t\t\t// if paired\n\t\t\t\tif (paired.error) {\n\t\t\t\t\tif (paired.error === 'not-match') {\n\t\t\t\t\t\tpresentAlert({\n\t\t\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\t\t\tmessage: T('common.warning.pair_match_error'),\n\t\t\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t\t\t\tonDidDismiss: (e) => dismiss(),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (paired.error === 'bad-request') {\n\t\t\t\t\t\tpresentAlert({\n\t\t\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\t\t\tmessage: T('common.warning.pair_unknow_error'),\n\t\t\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t\t\t\tonDidDismiss: (e) => dismiss(),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (paired.error === 'locked') {\n\t\t\t\t\t\tpresentAlert({\n\t\t\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\t\t\tmessage: T('common.warning.pair_locked_error'),\n\t\t\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t\t\t\tonDidDismiss: (e) => dismiss(),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// dismiss the modal\n\t\t\t\t\tsetTimeout(dismiss, 500);\n\t\t\t\t\t// navigate\n\t\t\t\t\t// method to define the ux,\n\t\t\t\t\tconst ux = getIaUx({ ia, instance });\n\t\t\t\t\t// navigate to correct \"url\"\n\t\t\t\t\tsetTimeout(() => history.push(`/${locale}/i/${ia}/${instance}/${ux}`), 1400);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t// handle server errors\n\t\t\tconsole.log('error', error);\n\t\t} finally {\n\t\t\t// dismiss \"loading\" feedback\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst capitalize = (str) => {\n\t\treturn str.charAt(0).toUpperCase() + str.toLowerCase().slice(1);\n\t};\n\n\tconst presentPassport = () => {\n\t\tconst state = retrieve();\n\t\tconst pts = currPts ? currPts : 0;\n\t\tlet message = ``;\n\t\tlet buttons = [];\n\t\tlet header = ``;\n\n\t\tif (state.locale === `pt`) {\n\t\t\tif (currPts < 40) {\n\t\t\t\tmessage = `${capitalize(state.name)}, você tem ${pts} pontos.
Ainda faltam ${\n\t\t\t\t\t40 - currPts\n\t\t\t\t}, para você
garantir o seu Passporte Quiz.`;\n\t\t\t} else {\n\t\t\t\tmessage = `${capitalize(state.name)}, você tem ${pts} pontos, e está com o seu Passporte Quiz garantido.`;\n\t\t\t}\n\t\t\tbuttons = [`Entendi!`];\n\t\t\theader = 'Passaporte Quiz';\n\t\t}\n\n\t\tif (state.locale === `en`) {\n\t\t\tmessage = `${capitalize(state.name)}, you've got your Quiz Passport.`;\n\t\t\tbuttons = [`Got it!`];\n\t\t\theader = 'Quiz Passaport';\n\t\t}\n\n\t\tpresentAlert({\n\t\t\theader,\n\t\t\tcssClass: `passport`,\n\t\t\tmessage,\n\t\t\tbuttons,\n\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{/* marca */}\n\t\t\t\t\n\n\t\t\t\t{/* springboard */}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{levels?.map((level, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t{/* level name to be changed when view is in viewport */}\n\t\t\t\t

{`${currLvl}`}

\n\n\t\t\t\t{/* logo quiz + pontuação */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{locale === `pt` && (\n\t\t\t\t\t\t{`${currPts ? currPts : 0} ${T(\n\t\t\t\t\t\t\t'common.instructions.pts',\n\t\t\t\t\t\t)}`}\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t
\n\n\t\t\t\t{/* pair modal */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{modal?.title[locale ?? 'pt']}

\n\t\t\t\t\t\t\t

{modal?.content[locale ?? 'pt']}

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{modal?.pair && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t handlePinInputDone({ token: tokenRef.current.getToken(), ia: modal?.id })}\n\t\t\t\t\t\t\t\t\tclassName='absolute bottom-8 mx-auto grid place-items-center'>\n\t\t\t\t\t\t\t\t\t{T('common.instructions.connect')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!modal?.pair && extraList && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tok\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{!modal?.pair && !extraList && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tok\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nconst LevelImpl = ({ ias, label, color, locale, onSelect }, ref) => {\n\tconst lvlRef = useRef(null);\n\tconst imgRef = useRef(null);\n\tconst figRef = useRef(null);\n\n\tconst controls = useAnimation();\n\n\tconst isVisible = useViewportSpy(lvlRef, { threshold: 1 / ias?.length });\n\tconst [, setCurrLvl] = useGlobalState('currLvl');\n\n\tuseEffect(() => {\n\t\tif (isVisible) {\n\t\t\tsetCurrLvl(label);\n\t\t}\n\t}, [isVisible]);\n\n\tuseImperativeHandle(ref, () => ({ deselect }));\n\n\tconst select = async () => {\n\t\tconst b = figRef.current.getBoundingClientRect();\n\t\tawait controls.start({\n\t\t\tx: [b.x, 0],\n\t\t\ty: [b.y, 0],\n\t\t\twidth: [b.width, window.innerWidth],\n\t\t\theight: [b.height, window.innerHeight],\n\t\t\topacity: [0, 1],\n\t\t\tdisplay: `block`,\n\t\t\ttransition: { duration: 0.4, transition: { ease: [0.2, 0.92, 0.09, 1] }, opacity: { duration: 0.1 } },\n\t\t});\n\t};\n\n\tconst deselect = async () => {\n\t\tconst b = figRef.current.getBoundingClientRect();\n\t\tawait controls.start({\n\t\t\tx: [0, b.x],\n\t\t\ty: [0, b.y],\n\t\t\twidth: [window.innerWidth, b.width],\n\t\t\theight: [window.innerHeight, b.height],\n\t\t\topacity: [1, 0],\n\t\t\tdisplay: `block`,\n\t\t\ttransitionEnd: { display: `none` },\n\t\t\ttransition: { duration: 0.4, transition: { ease: [0.2, 0.92, 0.09, 1] }, opacity: { duration: 0.1, delay: 0.3 } },\n\t\t});\n\t};\n\n\tconst handleSelect = (id, target) => {\n\t\tfigRef.current = target.current;\n\n\t\tconst entry = ias.find((e) => e.id === id);\n\n\t\tif (entry) {\n\t\t\timgRef.current.src = `/assets/springboard/${entry.media}`;\n\t\t\tsetImmediate(async () => {\n\t\t\t\tawait select();\n\t\t\t\tonSelect(id, deselect);\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t{ias?.map((ia, index) => (\n\t\t\t\t\n\t\t\t))}\n\n\t\t\t\n\t\t\t\t{/* the transition image */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\nconst Level = forwardRef(LevelImpl);\n\nconst Ia = ({ id, instance_id, name, media = ``, locale, onSelect }) => {\n\tconst figRef = useRef(null);\n\n\tconst handle = () => {\n\t\tonSelect(id, figRef);\n\t};\n\n\t// should consider some abstraction to handle different cel heights\n\treturn (\n\t\t//
\n\t\t
\n\t\t\t\n\t\t\t\t
\n\t\t\t\t{media && }\n\t\t\t\n\t\t\t
{name[locale]}
\n\t\t
\n\t);\n};\n\nconst _empty = ['', '', '', '', '', '', '', ''];\n\nconst InputPinImpl = ({ onDone = () => {}, ia, className, style }, ref) => {\n\tconst [pin, setPin] = useState(_empty);\n\tconst [currPin, setCurrPin] = useState(-1);\n\n\tuseGlobalEvent('keyup', null, (e) => {\n\t\tif (e.key === `Backspace` || e.key === `Delete`) {\n\t\t\tconst next = currPin - 1;\n\n\t\t\tif (next >= 0) {\n\t\t\t\tsetCurrPin(next);\n\t\t\t\t// which is the next pin\n\t\t\t\tconst nextpin = document.querySelector(`[data-index=\"${next}\"]`);\n\t\t\t\t// if there's a next pin\n\t\t\t\tif (nextpin) {\n\t\t\t\t\t// focus\n\t\t\t\t\tnextpin.focus();\n\t\t\t\t\tnextpin.value = '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tuseImperativeHandle(ref, () => ({ reset, focus, getToken }));\n\n\tconst reset = () => {\n\t\t// reset all values when initing or when called\n\t\tsetPin(_empty);\n\t\tsetCurrPin(-1);\n\n\t\tfor (let i = 0; i < 8; i++) {\n\t\t\tconst pin = document.querySelector(`[data-index=\"${i}\"]`);\n\n\t\t\tif (pin) {\n\t\t\t\tpin.value = ``;\n\t\t\t}\n\t\t}\n\t};\n\n\tuseLayoutEffect(() => {\n\t\tsetTimeout(reset, 100);\n\t}, []);\n\n\tconst focus = () => {\n\t\tdocument.querySelector(`[data-index=\"0\"]`).focus();\n\t\tsetCurrPin(0);\n\t};\n\n\tconst getToken = () => pin.join(``);\n\n\tconst handlePinFocus = (e) => {\n\t\te.target.placeholder = '';\n\t};\n\n\tconst handlePinChange = (index, value) => {\n\t\t// save the value\n\t\tconst curr = [...pin];\n\t\tcurr[index] = value;\n\n\t\tsetPin([...curr]);\n\n\t\t// focus on next pin digit\n\t\tconst next = index + 1;\n\n\t\tif (next < 8) {\n\t\t\t// define the current pin state\n\t\t\tsetCurrPin(next);\n\t\t\t// which is the next pin\n\t\t\tconst nextpin = document.querySelector(`[data-index=\"${next}\"]`);\n\t\t\t// if there's a next pin\n\t\t\tif (nextpin) {\n\t\t\t\t// focus\n\t\t\t\tnextpin.focus();\n\t\t\t}\n\t\t} else {\n\t\t\t// redefine token\n\t\t\tconst otp = curr.join(``);\n\t\t\t// set curr pin\n\t\t\tsetCurrPin(-1);\n\t\t\t// remove focus from pin\n\t\t\tdocument.querySelector(`[data-index=\"7\"]`).blur();\n\t\t\t// notify done\n\t\t\tonDone({ otp, ia });\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t{pin?.map((_, index) => (\n\t\t\t\t
\n\t\t\t\t\t handlePinChange(index, e.target.value)}\n\t\t\t\t\t\tinputMode='decimal'\n\t\t\t\t\t\tclassName='w-8 h-12 bg-transparent grid place-items-center font-rbt text-4xl text-az text-center'\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t))}\n\t\t
\n\t);\n};\n\nconst InputPin = forwardRef(InputPinImpl);\n","var map = {\n\t\"./ion-action-sheet.entry.js\": [\n\t\t372,\n\t\t5\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t373,\n\t\t6\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t374,\n\t\t7\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t375,\n\t\t17\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t376,\n\t\t18\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t377,\n\t\t44\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t378,\n\t\t19\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t379,\n\t\t20\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t380,\n\t\t21\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t381,\n\t\t22\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t382,\n\t\t45\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t383,\n\t\t10\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t384,\n\t\t23\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t385,\n\t\t46\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t386,\n\t\t47\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t387,\n\t\t24\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t388,\n\t\t25\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t389,\n\t\t26\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t390,\n\t\t27\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t391,\n\t\t28\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t392,\n\t\t8\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t393,\n\t\t14\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t394,\n\t\t9\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t395,\n\t\t29\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t396,\n\t\t30\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t397,\n\t\t31\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t398,\n\t\t11\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t399,\n\t\t16\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t400,\n\t\t48\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t401,\n\t\t32\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t402,\n\t\t33\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t403,\n\t\t34\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t404,\n\t\t35\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t405,\n\t\t49\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t406,\n\t\t13\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t407,\n\t\t50\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t408,\n\t\t36\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t409,\n\t\t15\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t410,\n\t\t37\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t411,\n\t\t38\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t412,\n\t\t39\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t413,\n\t\t12\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t414,\n\t\t51\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 202;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./ion-icon.entry.js\": [\n\t\t415,\n\t\t58\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 204;\nmodule.exports = webpackAsyncContext;","import { useState, useEffect, useRef } from 'react';\nimport { useGlobalState } from '../state';\nimport { AnimatePresence, motion } from 'framer-motion';\n\nexport default function Springboard() {\n\t// will start as visible, loading and them will recover files from cache\n\tconst [loading] = useGlobalState('loading');\n\tconst [index, setIndex] = useState(0);\n\tconst indexRef = useRef(-1);\n\tconst intervaleRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tintervaleRef.current = setInterval(() => {\n\t\t\tlet next = indexRef.current + 1;\n\t\t\tif (next > 9) {\n\t\t\t\tnext = 0;\n\t\t\t}\n\t\t\tindexRef.current = next;\n\t\t\tsetIndex(next);\n\t\t}, 500);\n\t\treturn () => clearInterval(intervaleRef.current);\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{loading && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{instr[index]}
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n\nconst Instr_1 = () => (\n\t\n\t\t\n\t\n);\nconst Instr_2 = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\nconst Instr_3 = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\nconst Instr_4 = () => (\n\t\n\t\t\n\t\n);\nconst Instr_5 = () => (\n\t\n\t\t\n\t\n);\nconst Instr_6 = () => (\n\t\n\t\t\n\t\n);\nconst Instr_7 = () => (\n\t\n\t\t\n\t\n);\nconst Instr_8 = () => (\n\t\n\t\t\n\t\n);\nconst Instr_9 = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\nconst Instr_10 = () => (\n\t\n\t\t\n\t\n);\n\nconst instr = [, , , , , , , , , ];\n","import React, { useState, useEffect } from 'react';\n\nexport default () => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n","import { useState, useEffect, useRef } from 'react';\nimport { motion } from 'framer-motion';\nimport { useViewportSpy } from 'beautiful-react-hooks';\n\nexport default ({ className, src, ...rest }) => {\n\tconst ref = useRef();\n\tconst isVisible = useViewportSpy(ref);\n\tconst [loading, setLoading] = useState(true);\n\n\tuseEffect(() => {\n\t\tif (src && isVisible) {\n\t\t\tref.current.src = src;\n\t\t}\n\t}, [src, isVisible]);\n\n\treturn (\n\t\t setLoading(false)}\n\t\t\tvariants={{ visible: { opacity: 1 }, loading: { opacity: 0 } }}\n\t\t\tclassName={`opacity-0 ${className}`}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n","import React, { useState, useEffect } from 'react';\nimport { motion } from 'framer-motion';\n\nexport default ({ className }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, { useState, useEffect } from 'react';\nimport { motion } from 'framer-motion';\n\nexport default ({ onTap, className, children }) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t
\n\t);\n};\n","import { useEffect, useState, useContext } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { motion } from 'framer-motion';\nimport { IonList, IonItem, IonLabel, IonItemDivider } from '@ionic/react';\nimport { T } from '../state';\n\nexport default function List({ onSelect, items }) {\n\tconsole.log('---items', items);\n\tconst handleSelection = () => {\n\t\tif (onSelect) {\n\t\t\tonSelect();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{T('common.instructions.list')}\n\t\t\t\n\t\t\t{items?.map((item) => (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t);\n}\n\nconst ListItem = ({ label }) => {\n\tconst [labelHilite, setLabelHilite] = useState(null);\n\tconst [subLabel, setSubLabel] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (label.indexOf('/') > -1) {\n\t\t\tconst tokens = label.split('/');\n\t\t\tsetLabelHilite(tokens[0].trim());\n\t\t\tsetSubLabel(tokens[1].trim());\n\t\t}\n\t}, [label]);\n\n\treturn (\n\t\t<>\n\t\t\t{labelHilite && {labelHilite}}\n\t\t\t{subLabel && {subLabel}}\n\t\t\t{!subLabel && !labelHilite && {label}}\n\t\t\n\t);\n};\n","import { useEffect, useState, useContext, useRef } from 'react';\nimport { useParams, useLocation, useHistory } from 'react-router-dom';\nimport { motion } from 'framer-motion';\nimport { useViewportSpy } from 'beautiful-react-hooks';\nimport qs from 'qs';\n\nimport {\n\tIonContent,\n\tIonPage,\n\tIonList,\n\tIonListHeader,\n\tIonToolbar,\n\tIonButtons,\n\tIonItem,\n\tIonLabel,\n\tIonHeader,\n\tIonModal,\n\tIonSearchbar,\n\tIonItemDivider,\n\tIonImg,\n\tIonCheckbox,\n\tNavContext,\n\tIonGrid,\n\tIonRow,\n\tIonCol,\n\tIonFab,\n\tIonFabButton,\n\tIonIcon,\n\tIonToast,\n\tuseIonAlert,\n} from '@ionic/react';\n\nimport fill from 'lodash/fill';\nimport findIndex from 'lodash/findIndex';\n\nimport { arrowUp, chevronUp, playCircle, time } from 'ionicons/icons';\nimport { useInterval } from 'beautiful-react-hooks';\nimport {\n\tuseGlobalState,\n\tgetIaModelOptions,\n\tgetQuizModel,\n\tT,\n\tset_lungo_state,\n\tunpair,\n\tia_check_reset,\n\tretrieve,\n\tia_observe,\n\tia_observe_v_state,\n\thasNextQuiz,\n} from '../state';\n\nimport times from 'lodash/times';\n\nexport default function Installation({ history }) {\n\tconst contentRef = useRef(null);\n\tconst timeoutRef = useRef(null);\n\tconst mixerOptionRef = useRef(null);\n\n\tconst { ux, ia, locale, instance } = useParams();\n\n\tconst [local, setLocal] = useState(null);\n\tconst [info, setInfo] = useState(null);\n\tconst [modal, setModal] = useState(null);\n\tconst [visible, setVisible] = useState(false);\n\tconst [presentPlayStop, setPresentPlayStop] = useState(false);\n\tconst [presentKaraokeControl, setPresentKaraokeControl] = useState(false);\n\tconst [presentZoomControl, setPresentZoomControl] = useState(false);\n\tconst [karaokeSelection, setKaraokeSelection] = useState({ bkg: -1, sng: -1 });\n\tconst [searchTerm, setSearchTerm] = useState(null);\n\tconst [filtered, setFiltered] = useState(null);\n\tconst [presentAlert] = useIonAlert();\n\tconst [_, setLoading] = useGlobalState('loading');\n\tconst H = useHistory();\n\tconst L = useLocation();\n\n\tconst { search, pathname } = useLocation();\n\t// console.log(ux, ia, locale, instance, 'search', search, 'pathname', pathname);\n\n\tconst { navigate } = useContext(NavContext);\n\n\t// auto-release to springboar\n\tuseInterval(async () => {\n\t\tconst reset = await ia_check_reset({ ia, instance });\n\t\tif (reset) {\n\t\t\tH.replace(`/${locale}/s`);\n\t\t}\n\t}, 30000);\n\n\t// timeout to handle big lists\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tsetTimeout(() => {\n\t\t\tsetVisible(true);\n\t\t}, 800);\n\n\t\treturn () => {\n\t\t\tif (timeoutRef.current) {\n\t\t\t\tclearTimeout(timeoutRef.current);\n\t\t\t}\n\t\t\tunpair({ ia, instance });\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (ux && ia && instance && visible) {\n\t\t\t// isso tem que levar o state transiente do query da url\n\t\t\tconst _local = getIaModelOptions({ ia, instance });\n\n\t\t\tsetLocal(_local);\n\n\t\t\tif (contentRef.current) {\n\t\t\t\tcontentRef.current.scrollToTop();\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t}\n\t}, [ux, ia, instance, visible, pathname]);\n\n\tuseEffect(() => {\n\t\tif (window.location.search) {\n\t\t\tconst state = qs.parse(window.location.search.replace('?', ''));\n\n\t\t\tif (state.playing) {\n\t\t\t\tsetPresentPlayStop(true);\n\t\t\t} else if (state.c && state.p) {\n\t\t\t\tconst code = `${state.c}P${state.p}`;\n\t\t\t\tconst _modal = getQuizModel({ code });\n\n\t\t\t\tsetModal({ ..._modal });\n\t\t\t\tsetPresentPlayStop(false);\n\t\t\t} else if (state.i && state.i !== 0) {\n\t\t\t\tsetPresentZoomControl(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetPresentPlayStop(false);\n\t\t}\n\t}, [window.location.search, presentKaraokeControl]);\n\n\tconst handleOptionSelection = ({ id, label }) => {\n\t\tif (label.indexOf('/') !== -1) {\n\t\t\tconst frg = label.split('/');\n\n\t\t\tsetInfo({ title: frg[0], subtitle: frg[1] });\n\t\t} else {\n\t\t\tsetInfo({ title: label, subtitle: null });\n\t\t}\n\n\t\t// handle option, via global state\n\t\tset_lungo_state({ i_state: `/m/${id}`, v_state: `/${pathname}/?playing=1`, ia, instance, observe: true });\n\n\t\tH.push({\n\t\t\tpathname,\n\t\t\tsearch: '?playing=1',\n\t\t});\n\t};\n\n\tconst handleOptionStop = () => {\n\t\tset_lungo_state({ i_state: `/idle`, v_state: pathname, ia, instance });\n\t};\n\n\tconst handleBack = () => {\n\t\t// unpair({ ia, instance });\n\t\tnavigate(`/${locale}/s`, `back`);\n\t};\n\n\tconst handleFabTop = () => {\n\t\tcontentRef.current.scrollToTop();\n\t};\n\n\t// karaoke ------------\n\n\tconst handleKaraokeBgSelection = (bkg) => {\n\t\t// change karaoke values\n\t\tsetKaraokeSelection((sel) => ({ ...sel, bkg }));\n\t\t// muda o fundo no interativo\n\t\tconst i_state = `/ready/${bkg}`;\n\t\t// update do interativo\n\t\tset_lungo_state({ i_state, ia, instance });\n\t};\n\n\tconst handleKaraokeSngSelection = ({ sng, name }) => {\n\t\t// just save the song\n\t\tsetKaraokeSelection((sel) => ({ ...sel, sng, sngname: name }));\n\t};\n\n\tconst handleKaraokeStartTap = () => {\n\t\t// deconstruct the value\n\t\tconst { bkg, sng, sngname } = karaokeSelection;\n\t\t// if we've got both\n\t\tif (bkg !== -1 && sng !== -1) {\n\t\t\t// confere ele da o push como esperado\n\t\t\t// history.push(`/pt/i/123/01/m`);\n\t\t\tconst i_state = `/rec/${sng}/${bkg}`;\n\t\t\tconst v_state = `/${locale}/i/${ia}/${instance}/k/s?rec=1`;\n\n\t\t\tconst ref = `/${locale}/i/${ia}/${instance}/k`;\n\n\t\t\tset_lungo_state({ v_state, i_state, ia, instance, ref, observe: true });\n\t\t\tsetLoading(true);\n\n\t\t\tsetInfo({ title: T(`common.instructions.recording`), subtitle: sngname });\n\t\t\tsetPresentKaraokeControl(true);\n\n\t\t\ttimeoutRef.current = setTimeout(() => {\n\t\t\t\tconst v_state = `/${locale}/i/${ia}/${instance}/k`;\n\n\t\t\t\tia_observe_v_state({\n\t\t\t\t\tia,\n\t\t\t\t\tinstance,\n\t\t\t\t\tv_state,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tsetPresentKaraokeControl(false);\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}, 10000);\n\t\t} else {\n\t\t\t// init definition\n\t\t\tlet definition = null;\n\n\t\t\t// nofity the missing option\n\t\t\tif (bkg === -1) {\n\t\t\t\t// escolha um fundo\n\t\t\t\tdefinition = {\n\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\tmessage: T('common.warning.pick_karaoke_bkg'),\n\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t};\n\t\t\t}\n\t\t\t// notify mission option\n\t\t\tif (sng === -1) {\n\t\t\t\t// escolha uma musica\n\t\t\t\tdefinition = {\n\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\tmessage: T('common.warning.pick_karaoke_sng'),\n\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t};\n\t\t\t}\n\t\t\t// present alert as needed.\n\t\t\tif (definition) {\n\t\t\t\tpresentAlert({ ...definition });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleKaraokeStopTap = () => {\n\t\tif (karaokeSelection.bkg && karaokeSelection.sng) {\n\t\t\t// start the record\n\t\t\tsetPresentKaraokeControl(false);\n\t\t\tset_lungo_state({ i_state: `/idle`, v_state: pathname, ia, instance });\n\t\t}\n\t};\n\n\t// mixer ------------\n\n\tconst handleMixerOptionSelection = ({ id, label }) => {\n\t\tconst item = local.options.find((e, i) => {\n\t\t\tmixerOptionRef.current = i + 1;\n\t\t\treturn e.key === id;\n\t\t});\n\n\t\tlet _modal = null;\n\n\t\tif (item.instruments) {\n\t\t\t_modal = item.instruments.map((e) => ({ checked: true, label: e }));\n\t\t}\n\n\t\t// const state=retrieve()\n\t\tsetInfo({ title: `${item.label}` });\n\n\t\t// channels\n\t\tconst ch = fill(Array(item.instruments.length), 1);\n\t\tconst i_state = `/c/${mixerOptionRef.current}/s?ch=${ch.join(',')}`;\n\t\tconst v_state = `${pathname}/s?mixing=1`;\n\n\t\tset_lungo_state({ i_state, v_state, ia, instance, ref: pathname, observe: true });\n\n\t\tclearTimeout(timeoutRef.current);\n\n\t\ttimeoutRef.current = setTimeout(() => {\n\t\t\tconst v_state = `${pathname.replace(`/s?mixing=1`, ``)}`;\n\n\t\t\tia_observe_v_state({\n\t\t\t\tia,\n\t\t\t\tinstance,\n\t\t\t\tv_state,\n\t\t\t\tcallback: () => {\n\t\t\t\t\tsetModal(null);\n\t\t\t\t},\n\t\t\t});\n\t\t}, 10000);\n\n\t\tsetModal([..._modal]);\n\t};\n\n\tconst handleMixerDismiss = () => {\n\t\tconst i_state = `/idle`;\n\t\tset_lungo_state({ i_state, ia, instance });\n\t\tsetModal(null);\n\t};\n\n\tconst handleMixerStateChange = ({ state }) => {\n\t\tconst i_state = `/c/${mixerOptionRef.current}/s?ch=${state.join(',')}`;\n\t\tset_lungo_state({ i_state, ia, instance });\n\t};\n\n\t// midiateca ----------\n\n\tconst handleMidiatecaOptionSelection = ({ id, label }) => {\n\t\tif (label.indexOf('/') !== -1) {\n\t\t\tconst frg = label.split('/');\n\n\t\t\tsetInfo({ title: frg[0], subtitle: frg[1] });\n\t\t} else {\n\t\t\tsetInfo({ title: label, subtitle: null });\n\t\t}\n\n\t\t// handle option, via global state\n\t\tconsole.log({ i_state: `/m/${id}`, v_state: `/${pathname}/?playing=1`, ia, instance, observe: true });\n\t\tset_lungo_state({ i_state: `/m/${id}`, v_state: `/${pathname}/?playing=1`, ia, instance, observe: true });\n\n\t\tH.push({\n\t\t\tpathname,\n\t\t\tsearch: '?playing=1',\n\t\t});\n\t};\n\n\t// debounce and change\n\tconst handleSearchChange = (e) => {\n\t\t// handle search change\n\t\tconst term = e.detail.value;\n\n\t\tif (term) {\n\t\t\tlet result = [];\n\t\t\tlocal.groups.filter((g) => {\n\t\t\t\tconst f = g.options.filter((e) => e.label.toLowerCase().indexOf(term.toLowerCase()) > -1);\n\t\t\t\tresult = [...result, ...f];\n\t\t\t});\n\t\t\tsetFiltered(result);\n\t\t} else {\n\t\t\tsetFiltered(null);\n\t\t}\n\t};\n\n\t// --- quiz\n\n\tconst handleQuizNextTap = () => {\n\t\tconst state = qs.parse(window.location.search.replace('?', ''));\n\t\tconst { p, c } = state;\n\n\t\tif (p && c) {\n\t\t\tconst next = parseInt(p) + 1;\n\n\t\t\tif (hasNextQuiz({ code: c, next })) {\n\t\t\t\t// move pra nova pergunta\n\t\t\t\tconst i_state = `/q/${c}/${next}`;\n\t\t\t\tconst v_state = `/${locale}/i/${ia}/${instance}/q/s?c=${c}&p=${next}`;\n\t\t\t\tconst ref = `/${locale}/i/${ia}/${instance}/q/s?c=${c}&p=${p}`;\n\n\t\t\t\tset_lungo_state({ v_state, i_state, ia, instance, ref, observe: true });\n\t\t\t\tsetLoading(true);\n\t\t\t\tsetModal(null);\n\t\t\t} else {\n\t\t\t\t// reset\n\t\t\t\tconst i_state = `/idle`;\n\t\t\t\tconst ref = `/${locale}/i/${ia}/${instance}/q/s?c=${c}&p=${p}`;\n\t\t\t\tconst v_state = `/${locale}/i/${ia}/${instance}/o`;\n\n\t\t\t\tset_lungo_state({ v_state, i_state, ia, instance, ref, observe: true });\n\t\t\t\tsetLoading(true);\n\t\t\t\tsetModal(null);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleQuizDismissTap = () => {\n\t\t// reset\n\t\tconst state = qs.parse(window.location.search.replace('?', ''));\n\t\tconst { p, c } = state;\n\n\t\tif (p && c) {\n\t\t\tconst i_state = `/idle`;\n\t\t\tconst ref = `/${locale}/i/${ia}/${instance}/q/s?c=${c}&p=${p}`;\n\t\t\tconst v_state = `/${locale}/i/${ia}/${instance}/o`;\n\n\t\t\tset_lungo_state({ v_state, i_state, ia, instance, ref, observe: true });\n\t\t\tsetLoading(true);\n\t\t\tsetModal(null);\n\t\t}\n\t};\n\n\t// zum ----\n\tconst handleZoomPickOption = ({ option }) => {\n\t\tconst state = retrieve();\n\t\tsetInfo({ title: `${state.name}`, subtitle: `${T('common.instructions.info_zum_option')} ${option}` });\n\t\tset_lungo_state({ i_state: `/c/${option}`, v_state: `${pathname}/s?i=${option}`, ia, instance, ref: pathname, observe: true });\n\t};\n\n\tconst handleZoomStopTap = () => {\n\t\tsetPresentZoomControl(false);\n\t\tset_lungo_state({ i_state: `/idle`, v_state: pathname, ia, instance });\n\t};\n\n\treturn (\n\t\t\n\t\t\t{!visible && }\n\t\t\t{visible && (\n\t\t\t\t\n\t\t\t\t\t{ux !== `q` && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{ux === `f` && }\n\t\t\t\t\t{ux === `f` && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{/* spacer */}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t{/* groups of content */}\n\t\t\t\t\t\t\t{!filtered &&\n\t\t\t\t\t\t\t\tlocal?.groups?.map((group, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{/* filtered content */}\n\t\t\t\t\t\t\t{filtered && filtered.length > 0 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{/* filtered content --- empty search */}\n\t\t\t\t\t\t\t{filtered && filtered.length === 0 && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

{T('common.warning.empty_search')}

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{ux !== 'f' && local?.options?.length > 20 && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{ux === `o` && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ia === `hDjds9A` && (\n\t\t\t\t\t\t\t\t ({ key: `QLu6hnH-${e + 1 + 71}`, label: `Base ${e + 1} ${e < 4 ? `Vandal` : ``}`, filter: `` }))}\n\t\t\t\t\t\t\t\t\tonSelect={handleOptionSelection}\n\t\t\t\t\t\t\t\t\theader={T('common.instructions.pick_base')}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{ux === `m` && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{ux === `k` && }\n\t\t\t\t\t{ux === `k` && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{/* enbled */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{T('common.instructions.record')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t\t{ux === `q` && }\n\t\t\t\t\t{ux === `m` && }\n\t\t\t\t\t{ux === `z` && }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nconst Header = ({ onBack, level, title, subtitle, content }) => {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\t {`${T('common.level')} ${level}`}\n\t\t\t\t

\n\t\t\t\t

{title}

\n\t\t\t\t{subtitle &&
{subtitle}
}\n\t\t\t\t

{content}

\n\t\t\t
\n\t\t
\n\t);\n};\n\nconst ListG = ({ onSelect, items, title }) => {\n\tconst ref = useRef(null);\n\tconst isVisible = useViewportSpy(ref, { threshold: 1 });\n\tconst [render, setRender] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (isVisible) {\n\t\t\tsetRender(true);\n\t\t}\n\t}, [isVisible]);\n\n\tconst handleSelection = ({ id, label }) => {\n\t\tconsole.log('...........', id, label);\n\t\tif (onSelect) {\n\t\t\tonSelect({ id, label });\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{render && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t{title}\n\t\t\t\t\t\n\n\t\t\t\t\t{items?.map((item, index) => (\n\t\t\t\t\t\t handleSelection({ id: item.key, label: item.label })} lines='full'>\n\t\t\t\t\t\t\t{/* {console.log(item)} */}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nconst List = ({ onSelect, header = null, items }) => {\n\tconst handleSelection = ({ id, label }) => {\n\t\tif (onSelect) {\n\t\t\tonSelect({ id, label });\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{header || T('common.instructions.pick_option')}\n\t\t\t\n\t\t\t{items?.map((item) => (\n\t\t\t\t handleSelection({ id: item.key, label: item.label })} lines='full'>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t);\n};\n\nconst ListItem = ({ label, capitalize = false }) => {\n\tconst [labelHilite, setLabelHilite] = useState(null);\n\tconst [subLabel, setSubLabel] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (label.indexOf('/') > -1) {\n\t\t\tconst tokens = label.split('/');\n\t\t\tsetLabelHilite(tokens[0].trim());\n\t\t\tsetSubLabel(tokens[1].trim());\n\t\t}\n\t}, [label]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\n\t\t\t{labelHilite && {labelHilite}}\n\t\t\t{subLabel && {subLabel}}\n\t\t\t{!subLabel && !labelHilite && {label}}\n\n\t\t\t{/* {labelHilite && {labelHilite}}\n\t\t\t{subLabel && {subLabel}}\n\t\t\t{!subLabel && !labelHilite && {label}} */}\n\t\t\n\t);\n};\n\nconst fundos = new Array(20).fill(0);\n\nconst ListKaraoke = ({ onSngSelect, onBgSelect, items }) => {\n\tconst [sngSelected, setSngSelected] = useState(-1);\n\tconst [bgSelected, setBgSelected] = useState(-1);\n\n\tconst handleSngSelection = ({ item, index }) => {\n\t\tsetSngSelected(index);\n\n\t\tif (onSngSelect) {\n\t\t\tonSngSelect({ sng: index + 1, name: items[index].label });\n\t\t}\n\t};\n\n\tconst handleBgSelection = (index) => {\n\t\tsetBgSelected(index);\n\t\tif (onBgSelect) {\n\t\t\tonBgSelect(index + 1);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{T('common.instructions.pick_song')}\n\t\t\t\n\t\t\t{items?.map((item, index) => (\n\t\t\t\t handleSngSelection({ item, index })} lines='full'>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\t\n\t\t\t\t{T('common.instructions.pick_background')}\n\t\t\t\n\n\t\t\t{fundos.map((_, index) => (\n\t\t\t\t handleBgSelection(index)} lines='full'>\n\t\t\t\t\t setBgSelected(index)} />\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t);\n};\n\nconst UXQuiz = ({ modal = null, ia, instance, onNext, onDismiss }) => {\n\tconst [local, setLocal] = useState(null);\n\tconst [correct, setCorrect] = useState(null);\n\tconst [choosen, setChoosen] = useState(null);\n\tconst [result, setResult] = useState(null);\n\tconst [currPts, setCurrPts] = useGlobalState('currPts');\n\tconst [message, setMessage] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (modal) {\n\t\t\t// reset all\n\t\t\tsetChoosen(null);\n\t\t\tsetCorrect(null);\n\t\t\tsetResult(null);\n\n\t\t\tconst state = qs.parse(window.location.search.replace('?', ''));\n\t\t\tconst keys = ['A', 'B', 'C', 'D', 'E'];\n\t\t\tconst { question, correct, code } = modal;\n\t\t\tconst answers = [];\n\n\t\t\tkeys.map((k) => {\n\t\t\t\tanswers.push({ key: k, value: modal[k] });\n\t\t\t});\n\n\t\t\tsetLocal({ question, correct, c: state.c, answers });\n\t\t}\n\t}, [modal]);\n\n\tconst handleOptionSelection = (key) => {\n\t\tif (key) {\n\t\t\tconst option = key.toUpperCase();\n\t\t\tconst answer = local.correct.toUpperCase();\n\n\t\t\tsetChoosen(option);\n\t\t\tsetCorrect(answer);\n\n\t\t\tconst visit = retrieve();\n\n\t\t\tconst state = qs.parse(window.location.search.replace('?', ''));\n\n\t\t\tconst _message = {\n\t\t\t\tname: visit.name,\n\t\t\t\tresult: 'você errou sua pontuação é de',\n\t\t\t\tpts: currPts || 0,\n\t\t\t\tyouneed: currPts < 40 ? `faltam ${40 - currPts} pontos para você ter o seu passaporte` : `você já tem o seu passaporte garantido!`,\n\t\t\t\tbutton: 'próxima pergunta',\n\t\t\t};\n\n\t\t\tif (option === answer) {\n\t\t\t\t// define next pts values\n\t\t\t\tconst nextPts = currPts + 10;\n\t\t\t\t// update current state\n\t\t\t\tsetCurrPts(nextPts);\n\t\t\t\t// define message\n\t\t\t\t_message.result = `você acertou, sua pontuação agora é`;\n\t\t\t\t_message.pts = nextPts;\n\n\t\t\t\tif (nextPts < 40) {\n\t\t\t\t\t_message.youneed = `faltam ${40 - nextPts} pontos para você ter o seu passaporte`;\n\t\t\t\t} else {\n\t\t\t\t\t_message.youneed = `você já tem o seu passaporte garantido!`;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (state.p === '3') {\n\t\t\t\t_message.button = 'encerrar';\n\t\t\t}\n\n\t\t\t// redefine a mensagem\n\t\t\tconsole.log(_message);\n\t\t\tsetMessage(_message);\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetResult(true);\n\t\t\t}, 1000);\n\t\t}\n\t};\n\n\tconst handleNextTap = () => {\n\t\tif (message.button === 'encerrar') {\n\t\t\tif (onDismiss) {\n\t\t\t\tonDismiss();\n\t\t\t}\n\t\t} else {\n\t\t\tif (onNext) {\n\t\t\t\tsetChoosen(null);\n\t\t\t\tsetCorrect(null);\n\t\t\t\tsetResult(null);\n\t\t\t\tonNext();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleDismiss = () => {\n\t\tif (onDismiss) {\n\t\t\tonDismiss();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t

{local?.question}

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{local?.answers.map((a) => (\n\t\t\t\t\t\t handleOptionSelection(a.key)}\n\t\t\t\t\t\t\tlines='none'>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{a.key}\n\t\t\t\t\t\t\t\t{a.value}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\tencerrar\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{message?.name}, {message?.result}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{message?.pts}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{message?.youneed}

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{message?.button}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nconst instruments = fill(Array(8), 1);\n\nconst UXMixer = ({ modal = null, info, onDismiss, onChange }) => {\n\tconst [local, setLocal] = useState(null);\n\tconst [state, setState] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (modal) {\n\t\t\tsetLocal([...modal]);\n\t\t\tconst _state = fill(Array(modal.length), 1);\n\t\t\tsetState(_state);\n\t\t}\n\t}, [modal]);\n\n\tconst handleSelection = ({ checked, index }) => {\n\t\tconst _state = [...state];\n\t\t_state[index] = checked ? 1 : 0;\n\t\tsetState([..._state]);\n\n\t\tconst _local = [...local];\n\t\t_local[index].checked = checked;\n\t\tsetLocal([..._local]);\n\n\t\tif (onChange) {\n\t\t\tonChange({ state: _state });\n\t\t}\n\t};\n\n\tconst handleDismiss = () => {\n\t\tconsole.log('dismiss');\n\t\tif (onDismiss) {\n\t\t\tonDismiss();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{T('common.instructions.close')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{info?.title}
\n\t\t\t\t\t\n\t\t\t\t\t\t{T('common.instructions.pick_instrument')}\n\t\t\t\t\t\n\t\t\t\t\t{local?.map((item, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleSelection({ checked: e.detail.checked, index })}\n\t\t\t\t\t\t\t\tslot='start'\n\t\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nconst _rows = fill(Array(5), 1);\nconst _cols = fill(Array(3), 1);\n\nconst UXZum = ({ onPickOption }) => {\n\tconst handleZumOptionTap = (option) => {\n\t\tif (onPickOption) {\n\t\t\tonPickOption({ option });\n\t\t}\n\t};\n\n\t// montar os 15 bts.\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{T('common.instructions.pick_option')}\n\t\t\t\n\t\t\t\n\t\t\t\t{_rows.map((_, i) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{_cols.map((_, ii) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t handleZumOptionTap(i * 3 + (ii + 1))}\n\t\t\t\t\t\t\t\t\tclassName='w-full h-28 border-az border grid place-items-center font-g-bk text-az text-2xl pointer-events-auto'>\n\t\t\t\t\t\t\t\t\t{i * 3 + (ii + 1)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\n\t);\n};\n\nconst PlayStopControl = ({ open = false, onStop, title = 'title', subtitle = 'subtitle' }) => {\n\tconst handleTap = () => {\n\t\tif (onStop) {\n\t\t\tonStop();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{title &&
{title}
}\n\t\t\t\t{subtitle &&
{subtitle}
}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
{T('common.instructions.close')}
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nconst KaraokeControl = ({ open = false, onStop, title = 'title', subtitle }) => {\n\tconsole.log('subtitle', subtitle);\n\tconst handleTap = () => {\n\t\tif (onStop) {\n\t\t\tonStop();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{title &&
{title}
}\n\t\t\t\t{subtitle &&
{subtitle}
}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
{T('common.instructions.close')}
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nconst ZumControl = ({ open = false, onStop, title = 'title', subtitle }) => {\n\tconsole.log('subtitle', subtitle);\n\tconst handleTap = () => {\n\t\tif (onStop) {\n\t\t\tonStop();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{title &&
{title}
}\n\t\t\t\t{subtitle &&
{subtitle}
}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
{T('common.instructions.close')}
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n","import { IonContent, IonPage } from '@ionic/react';\nimport { useParams, useHistory } from 'react-router-dom';\nimport { Link } from 'react-router-dom';\nimport { Marca } from '../components';\n\nexport default function PickLanguage() {\n\t// carousel of greetings\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{/* */}\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\tEscolha
\n\t\t\t\t\t\tsua língua\n\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPortuguês\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEnglish\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import { IonContent, IonHeader, IonItem, IonPage, IonLabel, IonInput, IonDatetime, useIonAlert } from '@ionic/react';\nimport { isPlatform } from '@ionic/core';\nimport { useState, useEffect, useRef } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { motion } from 'framer-motion';\nimport { T, useGlobalState, store, sign_in } from '../state';\nimport { Device } from '@capacitor/device';\nimport { useKeyboardState } from '@ionic/react-hooks/keyboard';\n\nimport first from 'lodash/first';\n\nimport { Marca } from '../components';\n\nexport default function Signup({ history }) {\n\t// para ajustar o preenchimento dos dados\n\tconst viewRef = useRef(null);\n\t// deconstruct locale\n\tconst { locale } = useParams();\n\n\tconst { isOpen, keyboardHeight } = useKeyboardState();\n\n\tconst [, setLocale] = useGlobalState('locale');\n\tconst [visit, setVisit] = useState({ name: null, email: null, birthday: null, device: null });\n\t// const [visit, setVisit] = useState({ name: `daniel`, email: `danielmorena@gmail.com`, birthday: `1974-7-17`, device: null });\n\tconst [present] = useIonAlert();\n\n\t// willenter, reset visit\n\tuseEffect(() => {\n\t\tsetVisit({ name: null, email: null, bithday: null, device: null });\n\t}, []);\n\n\t// store the choosen locale\n\tuseEffect(() => {\n\t\tstore({ locale });\n\t\tsetLocale(locale);\n\t}, [locale]);\n\n\tuseEffect(() => {\n\t\tif (viewRef.current) {\n\t\t\tif (isOpen) {\n\t\t\t\t// move field up, based on focus\n\t\t\t\tconst offset = isPlatform('ios') ? -(keyboardHeight - 50) : keyboardHeight - 50;\n\t\t\t\tviewRef.current.style.setProperty('transform', `translate3d(0, ${offset}px, 0)`);\n\t\t\t} else {\n\t\t\t\tviewRef.current.style.setProperty('transform', `translate3d(0, 0px, 0)`);\n\t\t\t}\n\t\t}\n\t}, [isOpen, keyboardHeight]);\n\n\tconst validate = (email) => {\n\t\tconst re =\n\t\t\t/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\t\treturn re.test(String(email.trim()).toLowerCase());\n\t};\n\n\tconst resolve = async () => {\n\t\t// get uuid from info\n\t\tconst info = await Device.getId();\n\n\t\t// deconstruct name, email e birthday\n\t\tlet { name, email, birthday } = visit;\n\t\temail = email.replace(/\\s/g, '');\n\t\tconsole.log('===', name, email, birthday);\n\t\t// if all\n\t\tif (name && email && birthday) {\n\t\t\tif (!validate(email)) {\n\t\t\t\t// notify, return\n\t\t\t\tpresent({\n\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\tmessage: T('common.warning.verify_email'),\n\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (birthday.indexOf(`2021`) === 0) {\n\t\t\t\t// notify, early\n\t\t\t\tpresent({\n\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\tmessage: T('common.warning.verify_birthday'),\n\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t});\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst device = info.uuid;\n\n\t\t\t// store between browser pages\n\t\t\tstore({ name, email, birthday, device });\n\n\t\t\t// sign in na api\n\t\t\tconst signed_in = await sign_in({ name, email, birthday, device });\n\n\t\t\t// se tiver erro notifica\n\t\t\tif (signed_in.error) {\n\t\t\t\t// notify error\n\t\t\t\tpresent({\n\t\t\t\t\theader: T('common.warning.header'),\n\t\t\t\t\tmessage: T('common.warning.sign_in_error'),\n\t\t\t\t\tbuttons: ['ok'],\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// tudo certo, vamos para o springboard\n\t\t\t\tstore({ state: `/${locale}/s` });\n\t\t\t\thistory.push(`/${locale}/s`);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleNameChange = (e) => {\n\t\tsetVisit((curr) => ({ ...curr, name: e.target.value }));\n\t};\n\n\tconst handleEmailChange = (e) => {\n\t\tsetVisit((curr) => ({ ...curr, email: e.target.value }));\n\t};\n\n\tconst handleBirthdayChange = (e) => {\n\t\tsetVisit((curr) => ({ ...curr, birthday: first(e.target.value.split('T')) }));\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

{T('common.signup.welcome')}

\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{T('common.signup.name')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{T('common.signup.email')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t console.log('email focus')}\n\t\t\t\t\t\t\tclassName='text-az relative ml-5 uppercase text-xs'\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{T('common.signup.birthday')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tentrar\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import { useEffect } from 'react';\nimport { IonContent, IonPage } from '@ionic/react';\nimport { useGlobalState } from '../state';\n\nexport default function Loading({ history }) {\n\tconst [_, setLoading] = useGlobalState('loading');\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tsetLoading(false);\n\t\t};\n\t}, []);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t);\n}\n","import { IonApp, IonRouterOutlet } from '@ionic/react';\nimport { IonReactRouter } from '@ionic/react-router';\nimport { useEffect } from 'react';\nimport { Route, useHistory, useLocation } from 'react-router-dom';\nimport { Loader } from './components';\nimport { resolve } from './state';\nimport * as p from './pages';\nimport './global';\n\nexport default function App() {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\t(async () => {\n\t\t\t\t\t\t\t\tawait resolve({ history });\n\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { setupConfig } from '@ionic/react';\n\n/* Core CSS required for Ionic components to work properly */\nimport '@ionic/react/css/core.css';\n\n/* Basic CSS for apps built with Ionic */\nimport '@ionic/react/css/normalize.css';\nimport '@ionic/react/css/structure.css';\nimport '@ionic/react/css/typography.css';\n\n/* Optional CSS utils that can be commented out */\nimport '@ionic/react/css/padding.css';\nimport '@ionic/react/css/float-elements.css';\nimport '@ionic/react/css/text-alignment.css';\nimport '@ionic/react/css/text-transformation.css';\nimport '@ionic/react/css/flex-utils.css';\nimport '@ionic/react/css/display.css';\n\n/* TailwindCSS */\nimport './theme/tailwind.css';\n\n/* Theme variables */\nimport './theme/variables.css';\n\nsetupConfig({\n\trippleEffect: false,\n\tmode: 'ios',\n\tswipeBackEnabled: false,\n\tpersistConfig: true,\n});\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\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 App from './App';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nserviceWorkerRegistration.unregister();\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","import { useEffect } from 'react';\nimport { createGlobalState } from 'react-hooks-global-state';\nimport get from 'lodash/get';\nimport merge from 'lodash/merge';\nimport capitalize from 'lodash/capitalize';\nimport axios from 'axios';\n\nimport structure from '../assets/data/structure.json';\nimport springboard from '../assets/data/springboard.json';\nimport cabines from '../assets/data/cabines.json';\nimport totens from '../assets/data/totens.json';\nimport karaoke from '../assets/data/karaoke.json';\nimport educacao from '../assets/data/educacao.json';\nimport midiateca from '../assets/data/midiateca.json';\nimport depoimentos from '../assets/data/depoimentos.json';\nimport raptrap from '../assets/data/raptrap.json';\nimport mixer from '../assets/data/mixer.json';\nimport zum from '../assets/data/zum.json';\nimport novamusica from '../assets/data/nova-musica.json';\nimport quiz from '../assets/data/quiz.json';\n\nconst { setGlobalState, getGlobalState, useGlobalState } = createGlobalState({\n\tloading: false, // defaults to true\n\tlocale: `pt`,\n\tstructure: null,\n\thistory: null,\n\tcurrLvl: 1,\n\tcurrIa: null,\n\tcurrPts: null,\n\ttoken: null,\n\tpaired: null,\n\tT: null,\n});\n\nconst mock = (timeout) => new Promise((r) => setTimeout(r, timeout * 1000));\n\n// main structure model resolution, as well first view recovery, in case of closing it in the middle of session\n// and all sort to entrance and persistence resolution\nlet resolved = false;\n\n// resolve just a single time\nexport const resolve = async ({ history }) => {\n\tif (!resolved) {\n\t\t// executar esse bloco apenas uma vez\n\t\tresolved = true;\n\n\t\t// lembrar de remover\n\t\tclear();\n\n\t\t// setGlobalState('loading', true);\n\t\tsetGlobalState('structure', structure);\n\t\tsetGlobalState('history', history);\n\n\t\t// valores que foram recuperados\n\t\tconst retrieved = retrieve();\n\n\t\t// o que sobrou de sessões passadas\n\t\tconsole.log('retrieved', retrieved);\n\n\t\tif (retrieved) {\n\t\t\t// validate token duration\n\t\t\tconst { state } = retrieved;\n\n\t\t\t// validate state\n\t\t\tif (state) {\n\t\t\t\tsetGlobalState('locale', state?.indexOf('/pt/') > -1 ? 'pt' : 'en');\n\t\t\t\tsetTimeout(() => history.push(state), 100);\n\t\t\t} else {\n\t\t\t\tsetTimeout(() => history.push(`/ln`), 100);\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetGlobalState('loading', false);\n\t\t\t}, 1000);\n\t\t} else {\n\t\t\t// works\n\t\t\tsetTimeout(() => history.push(`/ln`), 100);\n\t\t\t// setTimeout(() => history.push(`/pt/i/c2Smpnm/13/q/s?c=TO1_T1_&p=1`), 100);\n\t\t}\n\n\t\t// return `/en/s`;\n\t\t// return `/en/i/lNgGuzO/o/`;\n\t\t// return `/en/i/lNgGuzO/f/`;\n\t\t// ux { o = options, f = searchable, k = karaoke, }\n\t\t// state playing|paused\n\t}\n};\n\n// translation hook\nexport const T = (key) => {\n\tlet result = key;\n\n\tconst locale = getGlobalState('locale');\n\tconst structure = getGlobalState('structure');\n\n\tif (structure) {\n\t\tconst value = get(structure.localized[locale], key);\n\n\t\tif (value) {\n\t\t\tresult = value;\n\t\t}\n\t}\n\n\treturn result;\n};\n\n// init visit\nexport const sign_in = async ({ name, email, birthday, device }) => {\n\t// raise the loading ui\n\tsetGlobalState('loading', true);\n\n\t// init error variable\n\tlet error = null;\n\n\ttry {\n\t\t// sign in\n\t\tconst pts = 0;\n\t\tconst payload = { name, email, birthday, device, pts };\n\t\tconst rs = await axios.post(`${process.env.REACT_APP_API}/visit`, { ...payload });\n\n\t\tif (rs.status === 201 && rs.data) {\n\t\t\tconst { token } = rs.data;\n\t\t\tstore({ token });\n\t\t\tsetGlobalState('token', token);\n\t\t}\n\t} catch (e) {\n\t\t// capture error\n\t\terror = e;\n\t} finally {\n\t\t// release the loading ui\n\t\tsetGlobalState('loading', false);\n\t}\n\n\treturn { error };\n};\n\n// pair with ia\nexport const pair = async ({ ia_uid, instance, otp }) => {\n\t// define o resultado\n\tlet result = { error: null };\n\t// loading\n\tsetGlobalState('loading', true);\n\t//\n\ttry {\n\t\t// retrieve saved data\n\t\tconst session = retrieve();\n\t\t// get ia instance uid\n\t\tconst ia = getIaModelOptions({ ia: ia_uid, instance });\n\t\tconst instance_uid = ia.instance_id;\n\n\t\t// session not null\n\t\tif (session) {\n\t\t\t// deconstruct session\n\t\t\tconst { name, email, locale, birthday, device, token } = session;\n\t\t\t// otp\n\t\t\tif (otp) {\n\t\t\t\tconst payload = { name, email, locale, device, birthday, otp };\n\n\t\t\t\tconst address = `${process.env.REACT_APP_API}/pair/${instance_uid}`;\n\t\t\t\tconst options = { headers: { authorization: `bearer ${token}` } };\n\t\t\t\tconsole.log(address, payload, options);\n\t\t\t\tconst rs = await axios.post(address, { ...payload }, options);\n\n\t\t\t\tif (rs.status === 204) {\n\t\t\t\t\tsetGlobalState('paired', true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\tconsole.log('.....error', error);\n\t\tif (error?.response.status === 400) {\n\t\t\tresult.error = 'bad-request';\n\t\t}\n\n\t\tif (error?.response.status === 401) {\n\t\t\tresult.error = 'not-match';\n\t\t}\n\n\t\tif (error?.response.status === 423) {\n\t\t\tresult.error = 'locked';\n\t\t}\n\n\t\t// try to recover or error message\n\t\tconsole.log('error', error);\n\t} finally {\n\t\tsetGlobalState('loading', false);\n\t}\n\n\treturn result;\n};\n\nexport const unpair = ({ ia, instance }) => {\n\tconst is_paired = getGlobalState('paired');\n\n\t// if not paired don't bother\n\tif (!is_paired) {\n\t\treturn;\n\t}\n\n\t// raise loading flag\n\tsetGlobalState('loading', true);\n\n\t// will unpair, liberating ui\n\ttry {\n\t\tconst _ia = getIaModelOptions({ ia, instance });\n\n\t\tconst instance_uid = _ia.instance_id;\n\t\tconst token = getGlobalState('token');\n\t\tconst address = `${process.env.REACT_APP_API}/pair/${instance_uid}`;\n\t\tconst options = { headers: { authorization: `bearer ${token}` } };\n\t\tconst rs = axios.delete(address, options);\n\n\t\tif (rs.status === 204) {\n\t\t\tsetGlobalState('paired', false);\n\t\t}\n\n\t\tconsole.log(rs.status, rs.data);\n\t} catch (error) {\n\t\tif (error?.response.state === 404) {\n\t\t\tsetGlobalState('paired', false);\n\t\t}\n\t\tconsole.log('error', error);\n\t\t// maybe the pair did not exist yet\n\t} finally {\n\t\t// release loading flag\n\t\tsetGlobalState('loading', false);\n\t}\n};\n\nexport const set_lungo_state = async ({ i_state, v_state, ia, instance, observe, ref = null }) => {\n\tsetGlobalState('loading', true);\n\n\ttry {\n\t\tconst payload = { p: {} };\n\n\t\tif (i_state) {\n\t\t\tpayload.p.i_state = i_state;\n\t\t}\n\n\t\tif (v_state) {\n\t\t\tpayload.p.v_state = v_state;\n\t\t}\n\n\t\tconst model = getIaModelOptions({ ia, instance });\n\t\tconsole.log(ia, instance, model);\n\t\tconst instance_uid = model.instance_id;\n\n\t\tconst token = getGlobalState('token');\n\n\t\tconst address = `${process.env.REACT_APP_API}/ia/${instance_uid}`;\n\t\tconst options = { headers: { authorization: `bearer ${token}` } };\n\t\tconst rs = await axios.put(address, { payload }, options);\n\n\t\tif (rs.status === 204) {\n\t\t\tif (observe) {\n\t\t\t\tlet _ref = null;\n\t\t\t\tif (ref) {\n\t\t\t\t\t_ref = ref;\n\t\t\t\t} else {\n\t\t\t\t\t_ref = v_state;\n\t\t\t\t}\n\t\t\t\tia_observe({ ia, instance, ref: _ref });\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\tconsole.log('error', error);\n\t} finally {\n\t\tsetGlobalState('loading', false);\n\t}\n};\n\n// get the springboard model data\n\nexport const getSpringBoardModel = () => {\n\treturn springboard;\n};\n\n// get per ia model, searching in structure\nexport const getIaModel = ({ ia }) => {\n\t// deveria ver de um json\n\tlet model = null;\n\n\t// find the correct model\n\tspringboard.find((item) => {\n\t\t// achar o model pelo springboard\n\t\tconst found = item.ias.find((e) => e.id === ia);\n\t\t// completar o model\n\t\t// console.log(found, ia);\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\treturn model;\n};\n\nexport const getNovaMusicaList = () => {\n\treturn novamusica;\n};\n\nexport const getQuizModel = ({ code }) => {\n\tconst found = quiz.find((e) => e.code === code);\n\treturn found;\n};\n\nexport const hasNextQuiz = ({ code, next }) => {\n\tconst target = `${code}P${next}`;\n\tconst found = quiz.find((e) => e.code === target);\n\n\treturn found !== null && found !== undefined;\n};\n\n// entrar na sala\nexport const getIaUx = ({ ia, instance }) => {\n\tlet ux = `o`;\n\tconst model = getIaModelOptions({ ia, instance });\n\tif (model) {\n\t\tux = model.ux;\n\t}\n\treturn ux;\n};\n\nexport const getIaModelOptions = ({ ia, instance }) => {\n\t// deveria ver de um json\n\tlet model = null;\n\n\t// find the correct model\n\t// totens\n\ttotens.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\t// cabines\n\tcabines.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\tkaraoke.find((item) => {\n\t\tlet found = null;\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\traptrap.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\t// const bases = times(10, (e) => ({ key: `QLu6hnH-${e + 1 + 71}.mp4`, label: `Base ${e + 1} ${e < 4 ? `Vandal` : ``}`, filter: `` }));\n\t\t\tmodel = found;\n\t\t\t// model.options = [...model.options, ...bases];\n\t\t}\n\t});\n\n\tmidiateca.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = { ...found };\n\t\t\t// adjust musica e educação\n\t\t\tmodel.groups[2].options = model.groups[2].options.map((e) => {\n\t\t\t\tlet result = null;\n\t\t\t\tif (e.key.indexOf(`x8DgDdd`) > -1) {\n\t\t\t\t\tresult = { ...e, key: e.key.replace(`x8DgDdd`, `drxwiWY`) };\n\t\t\t\t} else {\n\t\t\t\t\tresult = { ...e };\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t});\n\n\t\t\tlet _depoimentos = [...depoimentos];\n\t\t\t// adjust depoimentos\n\t\t\t_depoimentos = _depoimentos.map((e) => {\n\t\t\t\tlet item = null;\n\t\t\t\tif (model.instance_id === `KU1EfYU`) {\n\t\t\t\t\titem = { key: `3kY31ll-${e.id}`, label: capitalize(e.label) };\n\t\t\t\t} else {\n\t\t\t\t\titem = { key: `${model.instance_id}-${e.id}`, label: capitalize(e.label) };\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\n\t\t\tmodel.groups[3] = { filter: 'depoimentos', label: { pt: 'Depoimentos', en: 'Testimonials' }, options: [..._depoimentos] };\n\t\t}\n\t});\n\n\teducacao.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\tmixer.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\tzum.find((item) => {\n\t\tlet found = null;\n\n\t\tif (item.id === ia && item.instance === instance) {\n\t\t\tfound = item;\n\t\t}\n\n\t\tif (found) {\n\t\t\tmodel = found;\n\t\t}\n\t});\n\n\t// historia da percussao?\n\t// zumzum?\n\t// raptrap?\n\t// mixagem?\n\n\treturn model;\n};\n\nexport const store = (data) => {\n\ttry {\n\t\t// init data retreive\n\t\tlet _data = null;\n\t\t// recover current\n\t\tconst current = retrieve();\n\t\t// if we've got the current, merge with data\n\t\t_data = merge(current || {}, data);\n\t\t// _data it's not null\n\t\tif (_data) {\n\t\t\t// save it on store\n\t\t\twindow.localStorage.setItem('state', JSON.stringify(_data));\n\t\t}\n\t} catch (error) {\n\t\tconsole.log('storage error', error);\n\t}\n};\n\nexport const clear = () => {\n\twindow.localStorage.clear();\n};\n\nexport const retrieve = () => {\n\tlet retrieved = null;\n\t// stored\n\tconst stored = window.localStorage.getItem('state');\n\n\tif (stored) {\n\t\ttry {\n\t\t\tretrieved = JSON.parse(stored);\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\t}\n\n\treturn retrieved;\n};\n\n// reference to compare curr/last state\nlet __ref = '';\n\n// poll is a reference to keep looking or not\nlet poll = null;\n\nexport const ia_observe = async ({ ia, instance, ref }) => {\n\tpoll = true;\n\n\ttry {\n\t\t__ref = ref;\n\n\t\tconst model = getIaModelOptions({ ia, instance });\n\t\tconst instance_uid = model.instance_id;\n\n\t\tconst token = getGlobalState('token');\n\n\t\tconst address = `${process.env.REACT_APP_API}/ia/${instance_uid}`;\n\t\tconst options = { headers: { authorization: `bearer ${token}` } };\n\t\tconst rs = await axios.get(address, options);\n\t\tconsole.log(__ref, rs.data, rs.status);\n\t\tif (rs.status === 200) {\n\t\t\t// temos um pair?\n\t\t\tif (rs.data && rs.data.p && rs.data.p.ts) {\n\t\t\t\t// extract the v_state\n\t\t\t\tconst { v_state } = rs.data.p;\n\n\t\t\t\tif (__ref !== v_state) {\n\t\t\t\t\t__ref = '';\n\n\t\t\t\t\tconst H = getGlobalState('history');\n\n\t\t\t\t\tH.push({\n\t\t\t\t\t\tpathname: v_state,\n\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t});\n\n\t\t\t\t\tpoll = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// observe for changes, and navigate accordingly\n\t} catch (error) {\n\t\tconsole.log('error', error);\n\t} finally {\n\t\tif (poll) {\n\t\t\tsetTimeout(() => ia_observe({ ia, instance, ref }), 2000);\n\t\t}\n\t}\n};\n\nlet __v_state = null;\nlet __v_state_poll = null;\n\nexport const ia_observe_v_state = async ({ ia, instance, v_state, callback }) => {\n\t__v_state_poll = true;\n\n\ttry {\n\t\t__v_state = v_state;\n\n\t\tconst model = getIaModelOptions({ ia, instance });\n\t\tconst instance_uid = model.instance_id;\n\n\t\tconst token = getGlobalState('token');\n\n\t\tconst address = `${process.env.REACT_APP_API}/ia/${instance_uid}`;\n\t\tconst options = { headers: { authorization: `bearer ${token}` } };\n\t\tconst rs = await axios.get(address, options);\n\n\t\tif (rs.status === 200) {\n\t\t\t// temos um pair?\n\t\t\tif (rs.data && rs.data.p && rs.data.p.ts) {\n\t\t\t\t// extract the v_state\n\t\t\t\tconst { v_state } = rs.data.p;\n\n\t\t\t\tif (__v_state === v_state) {\n\t\t\t\t\t__v_state = '';\n\n\t\t\t\t\tconst H = getGlobalState('history');\n\n\t\t\t\t\tH.push({\n\t\t\t\t\t\tpathname: v_state,\n\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t});\n\n\t\t\t\t\tcallback();\n\n\t\t\t\t\t__v_state_poll = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// observe for changes, and navigate accordingly\n\t} catch (error) {\n\t\tconsole.log('error', error);\n\t} finally {\n\t\tif (__v_state_poll) {\n\t\t\tsetTimeout(() => ia_observe_v_state({ ia, instance, v_state, callback }), 2000);\n\t\t}\n\t}\n};\n\nexport const ia_check_reset = async ({ ia, instance, locale }) => {\n\tlet result = false;\n\ttry {\n\t\tconst model = getIaModelOptions({ ia, instance });\n\t\tconst instance_uid = model.instance_id;\n\n\t\tconst token = getGlobalState('token');\n\n\t\tconst address = `${process.env.REACT_APP_API}/ia/${instance_uid}`;\n\t\tconst options = { headers: { authorization: `bearer ${token}` } };\n\t\tconst rs = await axios.get(address, options);\n\n\t\tif (rs.status === 200) {\n\t\t\tif (rs.data && rs.data.p && rs.data.p.ts) {\n\t\t\t\tif (rs.data.p.v_state === `/${locale}/s`) {\n\t\t\t\t\tresult = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult = true;\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\tconsole.log('error', error);\n\t} finally {\n\t\treturn result;\n\t}\n};\n\n// ignore? talvez não seja necessario\nexport const ia_ignore = () => {\n\tpoll = false;\n};\n\n// the main global state component to hook the structure etc...\nexport const GlobalState = ({ history, location }) => {\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tsetGlobalState('history', history);\n\t\t\tconst resolved = await resolve();\n\t\t\tif (resolved !== location.pathname) {\n\t\t\t\thistory.push(resolved);\n\t\t\t}\n\t\t})();\n\t}, []);\n\n\treturn null;\n};\n\nexport { useGlobalState };\n"],"sourceRoot":""}