diff --git a/sites/stop-light/asset-manifest.json b/sites/stop-light/asset-manifest.json index 733f686b2e2f74ea77ca1ee2b4691515eb34d8e4..907035b5033fa5280cae0d80d3279bda4092ce2a 100644 --- a/sites/stop-light/asset-manifest.json +++ b/sites/stop-light/asset-manifest.json @@ -1,13 +1,13 @@ { "files": { - "main.js": "/static/js/main.f27eb08a.chunk.js", - "main.js.map": "/static/js/main.f27eb08a.chunk.js.map", + "main.js": "/static/js/main.658b8c13.chunk.js", + "main.js.map": "/static/js/main.658b8c13.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.c00bcbac.js", "runtime-main.js.map": "/static/js/runtime-main.c00bcbac.js.map", "static/js/2.0567ba41.chunk.js": "/static/js/2.0567ba41.chunk.js", "static/js/2.0567ba41.chunk.js.map": "/static/js/2.0567ba41.chunk.js.map", "index.html": "/index.html", - "precache-manifest.40eb654d68b4d562e39ed7db0a483e25.js": "/precache-manifest.40eb654d68b4d562e39ed7db0a483e25.js", + "precache-manifest.928ec9f850aeb5281fee9844093332dd.js": "/precache-manifest.928ec9f850aeb5281fee9844093332dd.js", "service-worker.js": "/service-worker.js", "static/js/2.0567ba41.chunk.js.LICENSE.txt": "/static/js/2.0567ba41.chunk.js.LICENSE.txt", "static/media/ambulance.svg": "/static/media/ambulance.84a7ff73.svg", @@ -23,6 +23,6 @@ "entrypoints": [ "static/js/runtime-main.c00bcbac.js", "static/js/2.0567ba41.chunk.js", - "static/js/main.f27eb08a.chunk.js" + "static/js/main.658b8c13.chunk.js" ] } \ No newline at end of file diff --git a/sites/stop-light/index.html b/sites/stop-light/index.html index b005beb9bf2a2e1e9ca3253b99dcd7e41dcca230..92cfb9a295452d995e79e5c6d4fbe1d1a2af5e0b 100644 --- a/sites/stop-light/index.html +++ b/sites/stop-light/index.html @@ -1 +1 @@ -Covid Screener
\ No newline at end of file +Covid Screener
\ No newline at end of file diff --git a/sites/stop-light/precache-manifest.928ec9f850aeb5281fee9844093332dd.js b/sites/stop-light/precache-manifest.928ec9f850aeb5281fee9844093332dd.js new file mode 100644 index 0000000000000000000000000000000000000000..cf029ae94232f67681e076f89ec24007cc0c285a --- /dev/null +++ b/sites/stop-light/precache-manifest.928ec9f850aeb5281fee9844093332dd.js @@ -0,0 +1,58 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "7f01dcaf146332b9ac3b09b7f898ef41", + "url": "/index.html" + }, + { + "revision": "d9201b3420ebd6d49ddc", + "url": "/static/js/2.0567ba41.chunk.js" + }, + { + "revision": "0749163b59fbee32225059cb60c18af6", + "url": "/static/js/2.0567ba41.chunk.js.LICENSE.txt" + }, + { + "revision": "78d45f8bb9c4604e9a1a", + "url": "/static/js/main.658b8c13.chunk.js" + }, + { + "revision": "5e3981870a8f9ce80bfe", + "url": "/static/js/runtime-main.c00bcbac.js" + }, + { + "revision": "84a7ff73c0e48ce74aa5baf50143456b", + "url": "/static/media/ambulance.84a7ff73.svg" + }, + { + "revision": "816f7c467af4ce851c58afec6d3b013f", + "url": "/static/media/background.816f7c46.svg" + }, + { + "revision": "ee282ed5822f5703246504923a2b62f8", + "url": "/static/media/caution.ee282ed5.svg" + }, + { + "revision": "8b94fa167d772ddb845ffdee5e430406", + "url": "/static/media/greenBanner.8b94fa16.svg" + }, + { + "revision": "86b16100bb3b7a55af90546fdceb3bc1", + "url": "/static/media/medWerxCombo.86b16100.svg" + }, + { + "revision": "d3a4abe9f14f4191d23b845620cafd88", + "url": "/static/media/medicalIcon.d3a4abe9.svg" + }, + { + "revision": "acfa885f05b3587c82948053350b887f", + "url": "/static/media/redBanner.acfa885f.svg" + }, + { + "revision": "1c48258814ab51fc2f59a76fbb963e7e", + "url": "/static/media/shield.1c482588.svg" + }, + { + "revision": "18051d2d13ad6eb4ff05404abafce6dd", + "url": "/static/media/yellowBanner.18051d2d.svg" + } +]); \ No newline at end of file diff --git a/sites/stop-light/service-worker.js b/sites/stop-light/service-worker.js index 48863002cc9553d22f8cc0663125fd5949623165..bb6caecc54f9d949d693551cbd70c66ab7088781 100644 --- a/sites/stop-light/service-worker.js +++ b/sites/stop-light/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.40eb654d68b4d562e39ed7db0a483e25.js" + "/precache-manifest.928ec9f850aeb5281fee9844093332dd.js" ); self.addEventListener('message', (event) => { diff --git a/sites/stop-light/static/js/main.658b8c13.chunk.js b/sites/stop-light/static/js/main.658b8c13.chunk.js new file mode 100644 index 0000000000000000000000000000000000000000..afeddfcd30a73d3e62c2365428d3100dd9725100 --- /dev/null +++ b/sites/stop-light/static/js/main.658b8c13.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonpcovid-screen"]=this["webpackJsonpcovid-screen"]||[]).push([[0],{22:function(e,t,n){e.exports=n.p+"static/media/caution.ee282ed5.svg"},23:function(e,t,n){e.exports=n.p+"static/media/ambulance.84a7ff73.svg"},24:function(e,t,n){e.exports=n.p+"static/media/shield.1c482588.svg"},25:function(e,t,n){e.exports=n.p+"static/media/redBanner.acfa885f.svg"},26:function(e,t,n){e.exports=n.p+"static/media/yellowBanner.18051d2d.svg"},27:function(e,t,n){e.exports=n.p+"static/media/greenBanner.8b94fa16.svg"},28:function(e,t,n){e.exports=n.p+"static/media/medWerxCombo.86b16100.svg"},29:function(e,t,n){e.exports=n.p+"static/media/background.816f7c46.svg"},30:function(e,t,n){e.exports=n.p+"static/media/medicalIcon.d3a4abe9.svg"},38:function(e,t,n){e.exports=n(47)},47:function(e,t,n){"use strict";n.r(t);var a,o=n(0),r=n.n(o),c=n(12),i=n.n(c),l=n(6),s=function(){return[document.body.clientWidth,document.body.clientHeight]},u=n(3),m=n(11),d=n.n(m),p=function(){var e=window.localStorage.getItem("timestamp"),t=Object(o.useState)((function(){return d()(null!==e&&void 0!==e?e:d()())})),n=Object(l.a)(t,1)[0];return Object(o.useEffect)((function(){null==e&&window.localStorage.setItem("timestamp",n.toISOString())}),[n,e]),r.a.createElement("div",{style:{display:"flex",flexDirection:"column"}},r.a.createElement("div",{style:Object(u.a)({},h.timeStamp)},n.format("MM/DD/YY")," at ",n.format("h:mm A")))},h={timeStamp:{fontWeight:500,fontSize:"24px",textAlign:"center",letterSpacing:"0.06em"}},f=function(e){var t=e.image,n=e.header,a=e.headerColor,o=e.banner,c=s(),i=Object(l.a)(c,2),u=i[0],m=i[1];return r.a.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-around",alignItems:"center"}},r.a.createElement("div",{style:{height:.5*m,width:1.05*u,backgroundImage:"url(".concat(o,")"),backgroundRepeat:"no-repeat",backgroundOrigin:"bottom",backgroundSize:"cover",backgroundPosition:"bottom center"}},r.a.createElement("div",{className:"tc ttu b ".concat(a),style:{fontSize:"8vmin",marginLeft:"30px",marginRight:"30px",marginTop:"".concat(.45*m*.1,"px"),marginBottom:"".concat(.45*m*.05,"px")}},n),r.a.createElement("div",{style:{backgroundImage:"url(".concat(t,")"),backgroundRepeat:"no-repeat",backgroundPosition:"center",backgroundSize:"contain",height:.13*m}})),r.a.createElement("div",{style:{marginTop:"-8%"}},r.a.createElement("div",{className:"tc mb2"},"Time of Screening"),r.a.createElement("br",null),r.a.createElement(p,null)),r.a.createElement("div",{className:"bg-white pa4 black tc",style:{flex:1,fontWeight:"normal",fontSize:"16px"}},"Please follow the instructions of your front desk agent or provider."))},g=function(e){var t=e.onStart,n=e.onContinue,a=e.onBack,o=e.onRestart,c=e.canContinue,i=void 0===c||c;return r.a.createElement("div",{className:"h3 flex w-100 m0 p0 f3 white fw2 ttu",style:{bottom:"5%",fontFamily:"roboto",fontWeight:"normal",letterSpacing:"0.06em",position:"fixed",paddingRight:20,paddingLeft:20}},t&&r.a.createElement("div",{style:Object(u.a)(Object(u.a)({},E.button),{},{color:"white",border:"2px solid white"}),onClick:t},"BEGIN SCREENING"),a&&r.a.createElement("div",{style:Object(u.a)(Object(u.a)({},E.button),{},{color:"#3FB599",border:"2px solid #3FB599",backgroundColor:"white",marginRight:n?5:0}),onClick:a},"Back"),n&&r.a.createElement("div",{style:Object(u.a)(Object(u.a)({},E.button),{},{color:"".concat(i?"white":"#CBCBCB"),border:"2px solid ".concat(i?"#3FB599":""),backgroundColor:"".concat(i?"#3FB599":"#E3E3E3"),marginLeft:a?5:0}),onClick:i?n:null},"Next"),o&&r.a.createElement("div",{style:Object(u.a)(Object(u.a)({},E.button),{},{color:"white",border:"2px solid ".concat("#3FB599"),backgroundColor:"#3FB599"}),onClick:o},"Start over"))},E={button:{flex:"1 1 auto",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:40}},b=n(22),v=n.n(b),y=n(23),w=n.n(y),C=n(24),x=n.n(C),O=n(25),S=n.n(O),k=n(26),j=n.n(k),R=n(27),A=n.n(R),I=function(e){var t=e.result,n=e.setResult,a=Object(o.useState)((function(){var e=window.localStorage.getItem("timestamp");return!!e&&d()().diff(d()(e))>3e5})),c=Object(l.a)(a,2),i=c[0],s=c[1];return Object(o.useEffect)((function(){window.localStorage.setItem("result",t);var e=window.localStorage.getItem("timestamp");e?setTimeout((function(){return s(!0)}),3e5-d()().diff(d()(e))):setTimeout((function(){return s(!0)}),3e5)}),[t]),r.a.createElement("div",null,T[t],i&&r.a.createElement(g,{onRestart:function(){window.localStorage.clear(),n(null)}}))},T={clear:r.a.createElement(f,{image:x.a,headerColor:"white",header:"YOU ARE CLEARED!",banner:A.a}),covid:r.a.createElement(f,{image:v.a,headerColor:"black",header:"FURTHER CLEARANCE REQUIRED",banner:j.a}),911:r.a.createElement(f,{image:w.a,headerColor:"white",header:"Do Not Enter!",banner:S.a})},D=["Extreme difficulty breathing","Severe, constant lightheadedness","Severe, disorientation or unresponsiveness"],N=["Fever or chills","Mild or moderate difficulty breathing","New or worsening cough","Sustained loss of smell, taste or appetite","Sore Throat","New loss of smell, taste, or appetite","Congestion or runny nose","Aching throughout the body with tiredness and/or fatigue"],B=["Lived with someone who has COVID-19, or is awaiting pending COVID test results","Had close contact with someone who has COVID-19 for greater than 15 minutes (with or without mask)","Suspect you have been exposed to COVID-19","Had close contact with a member in isolation with symptoms, but had a negative COVID test","Lived with someone in quarantine/isolation and are unable to isolate from them"],P=n(28),W=n.n(P),M=n(29),F=n.n(M),L=function(e){var t=e.nextPage;return r.a.createElement("div",{style:Object(u.a)(Object(u.a)({},Y.startContainer),{},{height:"100%",backgroundImage:"url(".concat(F.a,")"),backgroundRepeat:"no-repeat",backgroundSize:"cover"})},r.a.createElement("div",{style:{backgroundImage:"url(".concat(W.a,")"),backgroundRepeat:"no-repeat",backgroundPositionX:"center",height:.4*document.body.clientWidth,width:.8*document.body.clientWidth,backgroundSize:"contain"}}),r.a.createElement("div",{style:Y.title},"COVID-19 Medical Screener"),r.a.createElement(g,{onStart:t}))},Y={startContainer:{display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center",justifyContent:"center"},title:{fontSize:20,color:"white",textTransform:"uppercase",paddingBottom:200}},V=Object(o.createContext)(0),z=function(e){var t=e.children,n=e.context;return r.a.createElement(V.Provider,{value:n},t)},q=function(e){var t=e.children,n=e.index;return Object(o.useContext)(V)===n?r.a.createElement("div",{key:n,className:"h-100"},t):null},H={paddingTop:"5%",paddingBottom:"2.5%",display:"flex",flexDirection:"column",justifyContent:"space-between"},U={fontSize:24,color:"#4A4A4A",fontWeight:"bold",lineHeight:1.2},G=("calc(".concat(100*window.vh,"px - 64px)"),function(e){var t=e.children;return r.a.createElement("div",{id:"questionHeader",style:H},r.a.createElement("div",{style:U},t))}),Q=n(30),X=n.n(Q),_=function(){return window.vh},J=function(e){var t=e.question,n=e.subQuestion,a=e.options,o=e.actionPromptText,c=void 0===o?"Select an Option":o,i=e.actions,l=e.showMedicalIcon,s=void 0!==l&&l,u=_();return r.a.createElement("div",{className:"flex flex-column relative trans",style:{height:85*u,overflowY:"scroll"}},r.a.createElement("div",{style:{marginLeft:"12%",marginRight:"12%",marginTop:"3%"}},t),r.a.createElement("div",{className:"mh4"},n),r.a.createElement("br",null),r.a.createElement("br",null),r.a.createElement("div",{className:"f5 i mh4 "},c),r.a.createElement("div",{className:"mh4"},a),i,s&&r.a.createElement("div",{style:{position:"absolute",top:"4%",left:"3%",height:"6.7%",width:"6.7%",backgroundImage:"url(".concat(X.a,")"),backgroundRepeat:"no-repeat",backgroundSize:"contain"}}))},$=function(){return Object(o.useState)({goToPage:0,canContinue:!1,optionAnswer:""})},K=n(5),Z=n(65),ee=n(66),te=Object(K.a)({root:{color:"black","&$checked":{color:"black"}},checked:{}})(Z.a),ne=Object(K.a)({label:{fontFamily:"DM Sans, sans-serif"}})(ee.a),ae=function(e){var t=e.onClick,n=e.checked,a=void 0!==n&&n,o=e.children;return r.a.createElement("p",{className:"pv3 ph2 bg-white",onClick:t,style:{boxShadow:"0px 2px 6px rgba(103, 103, 103, 0.25)",borderRadius:"8px",border:"2px solid ".concat(a?"#3FB599":"transparent")}},r.a.createElement(ne,{label:o,control:r.a.createElement(te,{color:"primary",checked:a})}))},oe=function(e){var t=e.pageDispatch,n=e.pageState,a=e.yesOptionText,o=void 0===a?"Yes":a,c=e.noOptionText,i=void 0===c?"No":c;return r.a.createElement(r.a.Fragment,null,r.a.createElement(ae,{checked:"yes"===n.optionAnswer,onClick:function(){return t(Object(u.a)(Object(u.a)({},n),{},{canContinue:!0,optionAnswer:"yes"}))}},o),r.a.createElement(ae,{checked:"no"===n.optionAnswer,onClick:function(){return t(Object(u.a)(Object(u.a)({},n),{},{canContinue:!0,optionAnswer:"no"}))}},i))};!function(e){e[e.START=0]="START",e[e.EMERGENCY=1]="EMERGENCY",e[e.SYMPTOMS=2]="SYMPTOMS",e[e.TRAVEL=3]="TRAVEL",e[e.AIRCREW=4]="AIRCREW",e[e.AIRCREW_DETAILS=5]="AIRCREW_DETAILS",e[e.EXPOSURE=6]="EXPOSURE"}(a||(a={}));var re=function(e){var t=e.setResult,n=function(){return t("911")},c=function(){return t("covid")},i=function(){return t("clear")},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=Object(o.useState)(e),n=Object(l.a)(t,2),a=n[0],r=n[1],c=Object(o.useRef)([]),i=function(){u(a+1)},s=function(){var e=c.current.length>0?c.current.pop():0;r(e)},u=function(e){r(e),c.current.push(a)};return[a,s,i,u]}(),m=Object(l.a)(s,4),d=m[0],p=m[1],h=m[2],f=m[3],E=function(e,t,n){"yes"===e.optionAnswer?t():"no"===e.optionAnswer&&n()},b=$(),v=Object(l.a)(b,2),y=v[0],w=v[1],C=$(),x=Object(l.a)(C,2),O=x[0],S=x[1],k=$(),j=Object(l.a)(k,2),R=j[0],A=j[1],I=$(),T=Object(l.a)(I,2),P=T[0],W=T[1],M=$(),F=Object(l.a)(M,2),Y=F[0],V=F[1],H=$(),U=Object(l.a)(H,2),Q=U[0],X=U[1];return r.a.createElement(z,{context:d},r.a.createElement(q,{index:a.START},r.a.createElement(L,{nextPage:h})),r.a.createElement(q,{index:a.EMERGENCY},r.a.createElement(J,{showMedicalIcon:!0,question:r.a.createElement(G,null,"Are you (or the patient) currently experiencing any of the following emergency symptoms?"),subQuestion:r.a.createElement("div",null,D.map((function(e){return r.a.createElement("li",{key:e},e)}))),options:r.a.createElement(oe,{pageDispatch:w,pageState:y,yesOptionText:"Yes, I am experiencing at least one of these",noOptionText:"No, I do not have any of these symptoms"}),actions:r.a.createElement(g,{canContinue:y.canContinue,onContinue:function(){return E(y,n,(function(){return f(a.SYMPTOMS)}))}})})),r.a.createElement(q,{index:a.SYMPTOMS},r.a.createElement(J,{question:r.a.createElement(G,null,"Within the last 10 days have you (or the patient) started experiencing any of the following symptoms?"),subQuestion:r.a.createElement("div",null,N.map((function(e){return r.a.createElement("li",{key:e},e)}))),options:r.a.createElement(oe,{pageDispatch:S,pageState:O,yesOptionText:"Yes, I am experiencing at least one of these",noOptionText:"No, I do not have any of these symptoms"}),actions:r.a.createElement(g,{canContinue:O.canContinue,onContinue:function(){return E(O,c,h)},onBack:p})})),r.a.createElement(q,{index:a.TRAVEL},r.a.createElement(J,{question:r.a.createElement(G,null,"Within the last 10 days have you or anyone in your household traveled outside of Hawaii?"),options:r.a.createElement(oe,{pageDispatch:A,pageState:R}),actions:r.a.createElement(g,{canContinue:R.canContinue,onContinue:function(){return E(R,h,(function(){return f(6)}))},onBack:p})})),r.a.createElement(q,{index:a.AIRCREW},r.a.createElement(J,{question:r.a.createElement(G,null,"Are you Aircrew or an immediate household member to Aircrew personnel?"),options:r.a.createElement(oe,{pageDispatch:W,pageState:P}),actions:r.a.createElement(g,{canContinue:P.canContinue,onContinue:function(){return E(P,(function(){return f(a.AIRCREW_DETAILS)}),c)},onBack:p})})),r.a.createElement(q,{index:a.AIRCREW_DETAILS},r.a.createElement(J,{question:r.a.createElement(G,null,"Which of the following best describes your or your household members most recent type of travel?"),options:r.a.createElement(r.a.Fragment,null,r.a.createElement(ae,{checked:"yes"===Y.optionAnswer,onClick:function(){return V(Object(u.a)(Object(u.a)({},Y),{},{canContinue:!0,optionAnswer:"yes"}))}},"Traveled as Aircrew on official orders"),r.a.createElement(ae,{checked:"leaveInConjunction"===Y.optionAnswer,onClick:function(){return V(Object(u.a)(Object(u.a)({},Y),{},{canContinue:!0,optionAnswer:"leaveInConjunction"}))}},"Traveled as Aircrew on official orders and took leave in conjunction"),r.a.createElement(ae,{checked:"leave"===Y.optionAnswer,onClick:function(){return V(Object(u.a)(Object(u.a)({},Y),{},{canContinue:!0,optionAnswer:"leave"}))}},"Non Aircrew travel (leave)")),actions:r.a.createElement(g,{canContinue:Y.canContinue,onContinue:function(){var e=Object(u.a)(Object(u.a)({},Y),{},{optionAnswer:"yes"===Y.optionAnswer?"yes":"no"});E(e,(function(){return f(a.EXPOSURE)}),c)},onBack:function(){return f(a.TRAVEL)}})})),r.a.createElement(q,{index:a.EXPOSURE},r.a.createElement(J,{question:r.a.createElement(G,null,"In the last 10 days have any of these applied to you (or the patient) regarding COVID-19 exposure?"),subQuestion:r.a.createElement("ul",null,B.map((function(e){return r.a.createElement("li",{key:e},e)}))),options:r.a.createElement(oe,{pageDispatch:X,pageState:Q,yesOptionText:"Yes, one or more of these apply to me",noOptionText:"No, none of these apply to me"}),actionPromptText:"Please select which one applies to you.",actions:r.a.createElement(g,{canContinue:Q.canContinue,onContinue:function(){return E(Q,c,i)},onBack:p})})))};var ce=function(){var e=Object(o.useState)(window.localStorage.getItem("result")),t=Object(l.a)(e,2),n=t[0],a=t[1];return r.a.createElement("div",null,null!==n?r.a.createElement(I,{result:n,setResult:a}):r.a.createElement("div",{className:"h-100",style:{backgroundColor:"#F6FAFA"}},r.a.createElement(re,{setResult:a})))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));document.documentElement.style.setProperty("--vh","".concat(window.vh,"px")),i.a.render(r.a.createElement(r.a.StrictMode,null,r.a.createElement(ce,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))}},[[38,1,2]]]); +//# sourceMappingURL=main.658b8c13.chunk.js.map \ No newline at end of file diff --git a/sites/stop-light/static/js/main.f27eb08a.chunk.js.map b/sites/stop-light/static/js/main.658b8c13.chunk.js.map similarity index 62% rename from sites/stop-light/static/js/main.f27eb08a.chunk.js.map rename to sites/stop-light/static/js/main.658b8c13.chunk.js.map index b4f5deafe883013037f6430740d452787f153838..a6e8e1c1aba0b5e7e4e7dd37329f5f9700a990fe 100644 --- a/sites/stop-light/static/js/main.f27eb08a.chunk.js.map +++ b/sites/stop-light/static/js/main.658b8c13.chunk.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets/caution.svg","assets/ambulance.svg","assets/shield.svg","assets/redBanner.svg","assets/yellowBanner.svg","assets/greenBanner.svg","assets/medWerxCombo.svg","assets/background.svg","assets/medicalIcon.svg","components/Survey/Survey.tsx","components/Hooks/useClientScreenSizes.tsx","components/ResultScreen/TimeStamp.tsx","components/ResultScreen/ResultScreen.tsx","components/Survey/ButtonGroup/ButtonGroup.tsx","components/ResultScreen/ResultScreenController.tsx","const/healthQuestions.ts","components/StartPage/StartPage.tsx","components/Pager/Pager.tsx","components/Pager/Page.tsx","const/Styles.ts","components/Survey/Question/Question.tsx","components/Hooks/useVerticalHeight.tsx","components/Survey/SurveyQuestion/SurveyQuestion.tsx","components/Hooks/useSurveyPage.tsx","components/Survey/Option/Option.tsx","components/Survey/Option/DefaultOptionGroup.tsx","components/Hooks/usePage.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","PageOrder","useClientScreenSizes","document","body","clientWidth","clientHeight","TimeStamp","ts","window","localStorage","getItem","useState","dayjs","timeStamp","useEffect","setItem","toISOString","style","display","flexDirection","styles","format","fontWeight","fontSize","textAlign","letterSpacing","ResultScreen","image","header","headerColor","banner","width","height","justifyContent","alignItems","backgroundImage","backgroundRepeat","backgroundOrigin","backgroundSize","backgroundPosition","className","marginLeft","marginRight","marginTop","marginBottom","flex","ButtonGroup","onStart","onContinue","onBack","onRestart","canContinue","bottom","fontFamily","position","paddingRight","paddingLeft","button","color","border","onClick","backgroundColor","borderRadius","ResultScreenController","result","setResult","timestamp","diff","showRetryButton","setShowRetryButton","setTimeout","screens","clear","shield","greenBanner","covid","caution","yellowBanner","911","ambulance","redBanner","emergencyQuestions","symptoms","aircrewDetailQuestions","StartPage","nextPage","startContainer","background","medWerxLogo","backgroundPositionX","title","textTransform","paddingBottom","PagerContext","createContext","Pager","children","context","Provider","value","Page","index","useContext","key","questionContainer","paddingTop","questionHeader","lineHeight","Question","vh","id","useVerticalHeight","SurveyQuestion","question","subQuestion","options","actionPromptText","actions","showMedicalIcon","overflowY","top","left","medicalIcon","useSurveyPage","goToPage","optionAnswer","StyledRadio","withStyles","root","checked","Radio","StyledControlLabel","label","FormControlLabel","Option","boxShadow","control","DefaultOptionGroup","pageDispatch","pageState","yesOptionText","noOptionText","Survey","setEmergency","setCovid","setGoodTest","initState","indexState","currentIndex","setCurrentIndex","indexHistory","useRef","nextIndex","goToIndex","prevIndex","current","length","pop","push","useIndexTracker","pageNumber","prevPage","checkOptionForNavigation","onYes","onNo","emergencyPageState","setEmergencyPageState","symptomPageState","setSymptomPageState","travelPageState","setTravelPageState","aircrewPageState","setAircrewPageState","aircrewDetailsPageState","setAircrewDetailsPageState","exposurePageState","setExposurePageState","START","EMERGENCY","map","eq","SYMPTOMS","symptom","TRAVEL","AIRCREW","AIRCREW_DETAILS","convertedState","EXPOSURE","q","App","Boolean","location","hostname","match","documentElement","setProperty","ReactDOM","render","StrictMode","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","console","message"],"mappings":"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","file":"static/js/main.f27eb08a.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/caution.ee282ed5.svg\";","module.exports = __webpack_public_path__ + \"static/media/ambulance.84a7ff73.svg\";","module.exports = __webpack_public_path__ + \"static/media/shield.1c482588.svg\";","module.exports = __webpack_public_path__ + \"static/media/redBanner.acfa885f.svg\";","module.exports = __webpack_public_path__ + \"static/media/yellowBanner.18051d2d.svg\";","module.exports = __webpack_public_path__ + \"static/media/greenBanner.8b94fa16.svg\";","module.exports = __webpack_public_path__ + \"static/media/medWerxCombo.86b16100.svg\";","module.exports = __webpack_public_path__ + \"static/media/background.816f7c46.svg\";","module.exports = __webpack_public_path__ + \"static/media/medicalIcon.d3a4abe9.svg\";","import React from 'react';\nimport {\n aircrewDetailQuestions,\n emergencyQuestions,\n symptoms,\n} from '../../const/healthQuestions';\nimport StartPage from '../StartPage/StartPage';\nimport ButtonGroup from './ButtonGroup/ButtonGroup';\nimport Page from '../Pager/Page';\nimport Pager from '../Pager/Pager';\nimport { useIndexTracker } from '../Hooks/usePage';\nimport Question from './Question/Question';\nimport { SurveyQuestion } from './SurveyQuestion/SurveyQuestion';\nimport { IPageState, useSurveyPage } from '../Hooks/useSurveyPage';\nimport DefaultOptionGroup from './Option/DefaultOptionGroup';\nimport Option from './Option/Option';\n\nenum PageOrder {\n START = 0,\n EMERGENCY = 1,\n SYMPTOMS = 2,\n TRAVEL = 3,\n AIRCREW = 4,\n AIRCREW_DETAILS = 5,\n EXPOSURE = 6,\n}\n\nconst Survey: React.FC<{ setResult: any }> = ({ setResult }) => {\n // Helper Navigation Functions\n const setEmergency = () => setResult('911');\n const setCovid = () => setResult('covid');\n const setGoodTest = () => setResult('clear');\n\n const [pageNumber, prevPage, nextPage, goToPage] = useIndexTracker(); // for debugging pass the page number to this function\n\n const checkOptionForNavigation = (\n pageState: IPageState,\n onYes: () => void,\n onNo: () => void\n ) => {\n if (pageState.optionAnswer === 'yes') {\n onYes();\n } else if (pageState.optionAnswer === 'no') {\n onNo();\n }\n };\n\n const [emergencyPageState, setEmergencyPageState] = useSurveyPage();\n const [symptomPageState, setSymptomPageState] = useSurveyPage();\n const [travelPageState, setTravelPageState] = useSurveyPage();\n const [aircrewPageState, setAircrewPageState] = useSurveyPage();\n const [aircrewDetailsPageState, setAircrewDetailsPageState] = useSurveyPage();\n const [exposurePageState, setExposurePageState] = useSurveyPage();\n\n return (\n \n \n \n \n \n \n Are you (or the patient) currently experiencing any of the\n following emergency symptoms?\n \n }\n subQuestion={\n
\n {emergencyQuestions.map((eq) => (\n
  • {eq}
  • \n ))}\n
    \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(emergencyPageState, setEmergency, () =>\n goToPage(PageOrder.SYMPTOMS)\n )\n }\n />\n }\n />\n
    \n \n \n Within the last 14 days have you (or the patient) started\n experiencing any of the following symptoms?\n \n }\n subQuestion={\n
    \n {symptoms.map((symptom) => (\n
  • {symptom}
  • \n ))}\n
    \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(symptomPageState, setCovid, nextPage)\n }\n onBack={prevPage}\n />\n }\n />\n
    \n \n \n Within the last 14 days have you or anyone in your household\n traveled outside of Hawaii?\n \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(travelPageState, nextPage, () =>\n goToPage(6)\n )\n }\n onBack={prevPage}\n />\n }\n />\n \n \n \n Are you Aircrew or an immediate household member to Aircrew\n personnel?\n \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(\n aircrewPageState,\n () => goToPage(PageOrder.AIRCREW_DETAILS),\n setCovid\n )\n }\n onBack={prevPage}\n />\n }\n />\n \n \n \n Which of the following best describes your or your household\n members most recent type of travel?\n \n }\n options={\n <>\n \n setAircrewDetailsPageState({\n ...aircrewDetailsPageState,\n canContinue: true,\n optionAnswer: 'yes',\n })\n }\n >\n Traveled as Aircrew on official orders\n \n\n \n setAircrewDetailsPageState({\n ...aircrewDetailsPageState,\n canContinue: true,\n optionAnswer: 'leaveInConjunction',\n })\n }\n >\n Traveled as Aircrew on official orders and took leave in\n conjunction\n \n\n \n setAircrewDetailsPageState({\n ...aircrewDetailsPageState,\n canContinue: true,\n optionAnswer: 'leave',\n })\n }\n >\n Non Aircrew travel (leave)\n \n \n }\n actions={\n {\n const convertedState: IPageState = {\n ...aircrewDetailsPageState,\n optionAnswer:\n aircrewDetailsPageState.optionAnswer === 'yes'\n ? 'yes'\n : 'no',\n };\n checkOptionForNavigation(\n convertedState,\n () => goToPage(PageOrder.EXPOSURE),\n setCovid\n );\n }}\n onBack={() => goToPage(PageOrder.TRAVEL)}\n />\n }\n />\n \n \n \n In the last 14 days have any of these applied to you (or the\n patient) regarding COVID-19 exposure?\n \n }\n subQuestion={\n
      \n {aircrewDetailQuestions.map((q) => (\n
    • {q}
    • \n ))}\n
    \n }\n options={\n \n }\n actionPromptText=\"Please select which one applies to you.\"\n actions={\n \n checkOptionForNavigation(\n exposurePageState,\n setCovid,\n setGoodTest\n )\n }\n onBack={prevPage}\n />\n }\n />\n
    \n
    \n );\n};\n\n//##################################\n\n// KEEP FOR CSS TRANSITION REFERENCE\n\n//##################################\n\n// return (\n// \n// \n// \n//
    {surveyComponent[transKey].component}
    \n//
    \n// \n//
    \n// \n// );\n// };\n\nexport default Survey;\n","\nconst useClientScreenSizes = () => {\n return [document.body.clientWidth, document.body.clientHeight];\n};\n\nexport default useClientScreenSizes;\n","import React, { useEffect, useState } from 'react';\nimport dayjs from 'dayjs';\n\nconst TimeStamp = () => {\n const ts = window.localStorage.getItem('timestamp');\n const [timeStamp] = useState(() => dayjs(ts ?? dayjs()));\n\n useEffect(() => {\n if (ts == null) {\n window.localStorage.setItem('timestamp', timeStamp.toISOString());\n }\n }, [timeStamp, ts]);\n\n return (\n \n \n {timeStamp.format('MM/DD/YY')} at {timeStamp.format('h:mm A')}\n \n \n );\n};\n\nexport default TimeStamp;\n\nconst styles: { [key: string]: React.CSSProperties } = {\n timeStamp: {\n fontWeight: 500,\n fontSize: '24px',\n textAlign: 'center',\n letterSpacing: '0.06em',\n },\n};\n","import React from 'react';\nimport useClientScreenSizes from '../Hooks/useClientScreenSizes';\nimport TimeStamp from './TimeStamp';\n\ninterface IResultScreenProps {\n image: string;\n header: string;\n headerColor: 'white' | 'black';\n banner: string;\n}\n\nconst ResultScreen: React.FC = ({\n image,\n header,\n headerColor,\n banner,\n}) => {\n const [width, height] = useClientScreenSizes();\n\n return (\n \n {/* Banner */}\n \n \n {header}\n \n \n \n
    \n
    Time of Screening
    \n
    \n \n
    \n \n Please follow the instructions of your front desk agent or provider.\n \n \n );\n};\n\nexport default ResultScreen;\n","import React from 'react';\n\ninterface IButtonGroupProps {\n onBack?: any;\n onContinue?: any;\n onStart?: any;\n onRestart?: any;\n canContinue?: boolean;\n}\n\nconst ButtonGroup: React.FC = ({\n onStart,\n onContinue,\n onBack,\n onRestart,\n canContinue = true,\n}) => {\n return (\n \n {onStart && (\n \n BEGIN SCREENING\n \n )}\n {onBack && (\n \n Back\n \n )}\n {onContinue && (\n \n Next\n \n )}\n\n {onRestart && (\n \n Start over\n \n )}\n \n );\n};\n\nexport default ButtonGroup;\n\nconst styles: { [key: string]: React.CSSProperties } = {\n button: {\n flex: '1 1 auto',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 40,\n },\n};\n","import React, { ReactElement, useEffect, useState } from 'react';\nimport ResultScreen from './ResultScreen';\nimport dayjs from 'dayjs';\nimport ButtonGroup from '../Survey/ButtonGroup/ButtonGroup';\nimport caution from '../../assets/caution.svg';\nimport ambulance from '../../assets/ambulance.svg';\nimport shield from '../../assets/shield.svg';\nimport redBanner from '../../assets/redBanner.svg';\nimport yellowBanner from '../../assets/yellowBanner.svg';\nimport greenBanner from '../../assets/greenBanner.svg';\n\nconst timeout = 5000;\n\nconst ResultScreenController: React.FC<{\n result: string;\n setResult: (result: null | string) => void;\n}> = ({ result, setResult }) => {\n const [showRetryButton, setShowRetryButton] = useState(() => {\n const timestamp = window.localStorage.getItem('timestamp');\n\n if (timestamp) {\n return dayjs().diff(dayjs(timestamp)) > timeout;\n } else {\n return false;\n }\n });\n\n useEffect(() => {\n window.localStorage.setItem('result', result);\n const timestamp = window.localStorage.getItem('timestamp');\n if (timestamp) {\n setTimeout(\n () => setShowRetryButton(true),\n timeout - dayjs().diff(dayjs(timestamp))\n );\n } else {\n setTimeout(() => setShowRetryButton(true), timeout);\n }\n }, [result]);\n\n return (\n
    \n {screens[result]}\n {showRetryButton && (\n {\n window.localStorage.clear();\n setResult(null);\n }}\n />\n )}\n
    \n );\n};\n\nexport default ResultScreenController;\n\nconst screens: { [key: string]: ReactElement } = {\n clear: (\n \n ),\n covid: (\n \n ),\n 911: (\n \n ),\n};\n","export const emergencyQuestions: string[] = [\n 'Extreme difficulty breathing',\n 'Severe, constant lightheadedness',\n 'Severe, disorientation or unresponsiveness'];\n\nexport const symptoms: string[] = [\n 'Fever or chills',\n 'Mild or moderate difficulty breathing',\n 'New or worsening cough',\n 'Sustained loss of smell, taste or appetite',\n 'Sore Throat',\n 'New loss of smell, taste, or appetite',\n 'Congestion or runny nose',\n 'Aching throughout the body with tiredness and/or fatigue'\n];\n\nexport const aircrewDetailQuestions: string[] = [\n 'Lived with someone who has COVID-19, or is awaiting pending COVID test results',\n 'Had close contact with someone who has COVID-19 for greater than 15 minutes (with or without mask)',\n 'Suspect you have been exposed to COVID-19',\n 'Had close contact with a member in isolation with symptoms, but had a negative COVID test',\n 'Lived with someone in quarantine/isolation and are unable to isolate from them'\n]","import React from 'react';\nimport medWerxLogo from '../../assets/medWerxCombo.svg';\nimport background from '../../assets/background.svg';\nimport ButtonGroup from '../Survey/ButtonGroup/ButtonGroup';\n\nconst StartPage: React.FC<{ nextPage: () => void }> = ({ nextPage }) => {\n return (\n \n \n
    COVID-19 Medical Screener
    \n \n \n );\n};\n\nexport default StartPage;\n\nconst styles: { [key: string]: React.CSSProperties } = {\n startContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n justifyContent: 'center',\n },\n title: {\n // marginTop: 30,\n fontSize: 20,\n color: 'white',\n textTransform: 'uppercase',\n paddingBottom: 200,\n },\n};\n","import React, { createContext } from 'react';\n\nexport const PagerContext = createContext(0);\n\nconst Pager: React.FC<{\n context: number;\n}> = ({ children, context }) => {\n return (\n {children}\n );\n};\n\nexport default Pager;\n","import React, { useContext } from 'react';\nimport { PagerContext } from './Pager';\n\ninterface IPageProps {\n index: number;\n}\n\nconst Page: React.FC = ({ children, index }) => {\n const activeNumber = useContext(PagerContext);\n const isActivePage = activeNumber === index;\n\n return isActivePage ? (\n
    \n {children}\n
    \n ) : null;\n};\n\nexport default Page;\n","\nexport const button: React.CSSProperties = {\n display: 'flex',\n marginBottom: 15,\n alignItems: 'center',\n padding: 5,\n paddingLeft: 20,\n border: '1px solid #b8b8b8',\n borderRadius: 10,\n boxShadow: '0px 2px 5px #b8b8b8',\n width: '90%',\n height: '100px',\n marginLeft: 'auto',\n marginRight: 'auto',\n textAlign: 'center',\n justifyContent: 'center'\n};\n\nexport const surveyContainer: React.CSSProperties = {\n textAlign: 'center',\n height: '100%'\n};\n\nexport const questionContainer: React.CSSProperties = {\n paddingTop: '5%',\n // paddingLeft: 50,\n // paddingRight: 50,\n paddingBottom: \"2.5%\",\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between'\n};\n\nexport const questionHeader: React.CSSProperties = {\n fontSize: 24,\n color: '#4A4A4A',\n fontWeight: 'bold',\n lineHeight: 1.2\n};\n\nexport const listContainer: React.CSSProperties = {\n width: '100%',\n height: `calc(${window.vh * 100}px - 64px)`,\n textAlign: 'left',\n overflowY: 'scroll',\n paddingBottom: 200\n};\n\nexport const checkboxListItem: React.CSSProperties = {\n display: 'flex',\n};\n","import React from 'react';\nimport { questionContainer, questionHeader } from '../../../const/Styles';\n\nconst Question: React.FC = ({ children }) => {\n return (\n
    \n
    {children}
    \n
    \n );\n};\n\nexport default Question;\n","const useVerticalHeight = () => {\n return window.vh;\n};\n\nexport default useVerticalHeight;\n","import React, { ReactElement } from 'react';\nimport medicalIcon from '../../../assets/medicalIcon.svg';\nimport useVerticalHeight from '../../Hooks/useVerticalHeight';\n\ninterface ISurveyQuestionProps {\n question: ReactElement;\n subQuestion?: ReactElement;\n options: ReactElement;\n actionPromptText?: string;\n actions: ReactElement;\n showMedicalIcon?: boolean;\n}\n\nexport const SurveyQuestion: React.FC = ({\n question,\n subQuestion,\n options,\n actionPromptText = 'Select an Option',\n actions,\n showMedicalIcon = false,\n}) => {\n const vh = useVerticalHeight();\n\n return (\n \n
    \n {question}\n
    \n
    {subQuestion}
    \n
    \n
    \n
    {actionPromptText}
    \n
    {options}
    \n {actions}\n {showMedicalIcon && (\n \n )}\n \n );\n};\n","import { useState } from 'react';\n\nexport interface IPageState {\n goToPage: number;\n canContinue: boolean;\n optionAnswer: string;\n}\n\nexport const useSurveyPage = () => {\n return useState({\n goToPage: 0,\n canContinue: false,\n optionAnswer: '',\n });\n};\n","import React from 'react';\nimport { FormControlLabel, Radio, withStyles } from '@material-ui/core';\n\ninterface IOptionProps {\n onClick?: () => void;\n checked?: boolean;\n children: string;\n}\n\nconst StyledRadio = withStyles({\n root: {\n color: 'black',\n '&$checked': {\n color: 'black',\n },\n },\n checked: {},\n})(Radio);\n\nconst StyledControlLabel = withStyles({\n label: {\n fontFamily: 'DM Sans, sans-serif',\n },\n})(FormControlLabel);\n\nconst Option: React.FC = ({\n onClick,\n checked = false,\n children,\n}) => {\n return (\n \n }\n />\n

    \n );\n};\n\nexport default Option;\n","import React from 'react';\nimport { IPageState } from '../../Hooks/useSurveyPage';\nimport Option from './Option';\n\ninterface IDefaultOptionGroupProps {\n pageState: IPageState;\n pageDispatch: (value: React.SetStateAction) => void;\n yesOptionText?: string;\n noOptionText?: string;\n}\n\nconst DefaultOptionGroup: React.FC = ({\n pageDispatch,\n pageState,\n yesOptionText = 'Yes',\n noOptionText = 'No',\n}) => {\n return (\n <>\n \n pageDispatch({\n ...pageState,\n canContinue: true,\n optionAnswer: 'yes',\n })\n }\n >\n {yesOptionText}\n \n \n pageDispatch({\n ...pageState,\n canContinue: true,\n optionAnswer: 'no',\n })\n }\n >\n {noOptionText}\n \n \n );\n};\n\nexport default DefaultOptionGroup;\n","import { useRef, useState } from 'react';\n\nconst DEFAULT_INIT_STATE = 0;\n\nexport const useIndexTracker = (initState: number = DEFAULT_INIT_STATE) => {\n const indexState = useState(initState);\n const [currentIndex, setCurrentIndex] = indexState;\n\n const indexHistory = useRef([]);\n\n const nextIndex = () => {\n goToIndex(currentIndex + 1);\n };\n\n const prevIndex = () => {\n const prevIndex =\n indexHistory.current.length > 0 ? indexHistory.current.pop() : 0;\n setCurrentIndex(prevIndex!);\n };\n\n const goToIndex = (index: number) => {\n setCurrentIndex(index);\n indexHistory.current.push(currentIndex);\n };\n\n return [currentIndex, prevIndex, nextIndex, goToIndex] as const;\n};\n","import React, { useState } from 'react';\nimport ResultScreenController from './components/ResultScreen/ResultScreenController';\nimport Survey from './components/Survey/Survey';\n\nfunction App() {\n const [result, setResult] = useState(window.localStorage.getItem('result'));\n\n const renderScreen = () => {\n return result !== null ? (\n \n ) : (\n
    \n \n
    \n );\n };\n\n // component return\n return
    {renderScreen()}
    ;\n}\n\nexport default App;\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://bit.ly/CRA-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(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\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(\n process.env.PUBLIC_URL,\n window.location.href\n );\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://bit.ly/CRA-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://bit.ly/CRA-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(\n 'No internet connection found. App is running in offline mode.'\n );\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 React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\ndeclare global {\n interface Window {\n vh: number;\n }\n}\n\ndocument.documentElement.style.setProperty('--vh', `${window.vh}px`);\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://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["assets/caution.svg","assets/ambulance.svg","assets/shield.svg","assets/redBanner.svg","assets/yellowBanner.svg","assets/greenBanner.svg","assets/medWerxCombo.svg","assets/background.svg","assets/medicalIcon.svg","components/Survey/Survey.tsx","components/Hooks/useClientScreenSizes.tsx","components/ResultScreen/TimeStamp.tsx","components/ResultScreen/ResultScreen.tsx","components/Survey/ButtonGroup/ButtonGroup.tsx","components/ResultScreen/ResultScreenController.tsx","const/healthQuestions.ts","components/StartPage/StartPage.tsx","components/Pager/Pager.tsx","components/Pager/Page.tsx","const/Styles.ts","components/Survey/Question/Question.tsx","components/Hooks/useVerticalHeight.tsx","components/Survey/SurveyQuestion/SurveyQuestion.tsx","components/Hooks/useSurveyPage.tsx","components/Survey/Option/Option.tsx","components/Survey/Option/DefaultOptionGroup.tsx","components/Hooks/usePage.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","PageOrder","useClientScreenSizes","document","body","clientWidth","clientHeight","TimeStamp","ts","window","localStorage","getItem","useState","dayjs","timeStamp","useEffect","setItem","toISOString","style","display","flexDirection","styles","format","fontWeight","fontSize","textAlign","letterSpacing","ResultScreen","image","header","headerColor","banner","width","height","justifyContent","alignItems","backgroundImage","backgroundRepeat","backgroundOrigin","backgroundSize","backgroundPosition","className","marginLeft","marginRight","marginTop","marginBottom","flex","ButtonGroup","onStart","onContinue","onBack","onRestart","canContinue","bottom","fontFamily","position","paddingRight","paddingLeft","button","color","border","onClick","backgroundColor","borderRadius","ResultScreenController","result","setResult","timestamp","diff","showRetryButton","setShowRetryButton","setTimeout","screens","clear","shield","greenBanner","covid","caution","yellowBanner","911","ambulance","redBanner","emergencyQuestions","symptoms","aircrewDetailQuestions","StartPage","nextPage","startContainer","background","medWerxLogo","backgroundPositionX","title","textTransform","paddingBottom","PagerContext","createContext","Pager","children","context","Provider","value","Page","index","useContext","key","questionContainer","paddingTop","questionHeader","lineHeight","Question","vh","id","useVerticalHeight","SurveyQuestion","question","subQuestion","options","actionPromptText","actions","showMedicalIcon","overflowY","top","left","medicalIcon","useSurveyPage","goToPage","optionAnswer","StyledRadio","withStyles","root","checked","Radio","StyledControlLabel","label","FormControlLabel","Option","boxShadow","control","DefaultOptionGroup","pageDispatch","pageState","yesOptionText","noOptionText","Survey","setEmergency","setCovid","setGoodTest","initState","indexState","currentIndex","setCurrentIndex","indexHistory","useRef","nextIndex","goToIndex","prevIndex","current","length","pop","push","useIndexTracker","pageNumber","prevPage","checkOptionForNavigation","onYes","onNo","emergencyPageState","setEmergencyPageState","symptomPageState","setSymptomPageState","travelPageState","setTravelPageState","aircrewPageState","setAircrewPageState","aircrewDetailsPageState","setAircrewDetailsPageState","exposurePageState","setExposurePageState","START","EMERGENCY","map","eq","SYMPTOMS","symptom","TRAVEL","AIRCREW","AIRCREW_DETAILS","convertedState","EXPOSURE","q","App","Boolean","location","hostname","match","documentElement","setProperty","ReactDOM","render","StrictMode","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","console","message"],"mappings":"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","file":"static/js/main.658b8c13.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/caution.ee282ed5.svg\";","module.exports = __webpack_public_path__ + \"static/media/ambulance.84a7ff73.svg\";","module.exports = __webpack_public_path__ + \"static/media/shield.1c482588.svg\";","module.exports = __webpack_public_path__ + \"static/media/redBanner.acfa885f.svg\";","module.exports = __webpack_public_path__ + \"static/media/yellowBanner.18051d2d.svg\";","module.exports = __webpack_public_path__ + \"static/media/greenBanner.8b94fa16.svg\";","module.exports = __webpack_public_path__ + \"static/media/medWerxCombo.86b16100.svg\";","module.exports = __webpack_public_path__ + \"static/media/background.816f7c46.svg\";","module.exports = __webpack_public_path__ + \"static/media/medicalIcon.d3a4abe9.svg\";","import React from 'react';\nimport {\n aircrewDetailQuestions,\n emergencyQuestions,\n symptoms,\n} from '../../const/healthQuestions';\nimport StartPage from '../StartPage/StartPage';\nimport ButtonGroup from './ButtonGroup/ButtonGroup';\nimport Page from '../Pager/Page';\nimport Pager from '../Pager/Pager';\nimport { useIndexTracker } from '../Hooks/usePage';\nimport Question from './Question/Question';\nimport { SurveyQuestion } from './SurveyQuestion/SurveyQuestion';\nimport { IPageState, useSurveyPage } from '../Hooks/useSurveyPage';\nimport DefaultOptionGroup from './Option/DefaultOptionGroup';\nimport Option from './Option/Option';\n\nenum PageOrder {\n START = 0,\n EMERGENCY = 1,\n SYMPTOMS = 2,\n TRAVEL = 3,\n AIRCREW = 4,\n AIRCREW_DETAILS = 5,\n EXPOSURE = 6,\n}\n\nconst Survey: React.FC<{ setResult: any }> = ({ setResult }) => {\n // Helper Navigation Functions\n const setEmergency = () => setResult('911');\n const setCovid = () => setResult('covid');\n const setGoodTest = () => setResult('clear');\n\n const [pageNumber, prevPage, nextPage, goToPage] = useIndexTracker(); // for debugging pass the page number to this function\n\n const checkOptionForNavigation = (\n pageState: IPageState,\n onYes: () => void,\n onNo: () => void\n ) => {\n if (pageState.optionAnswer === 'yes') {\n onYes();\n } else if (pageState.optionAnswer === 'no') {\n onNo();\n }\n };\n\n const [emergencyPageState, setEmergencyPageState] = useSurveyPage();\n const [symptomPageState, setSymptomPageState] = useSurveyPage();\n const [travelPageState, setTravelPageState] = useSurveyPage();\n const [aircrewPageState, setAircrewPageState] = useSurveyPage();\n const [aircrewDetailsPageState, setAircrewDetailsPageState] = useSurveyPage();\n const [exposurePageState, setExposurePageState] = useSurveyPage();\n\n return (\n \n \n \n \n \n \n Are you (or the patient) currently experiencing any of the\n following emergency symptoms?\n \n }\n subQuestion={\n
    \n {emergencyQuestions.map((eq) => (\n
  • {eq}
  • \n ))}\n
    \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(emergencyPageState, setEmergency, () =>\n goToPage(PageOrder.SYMPTOMS)\n )\n }\n />\n }\n />\n
    \n \n \n Within the last 10 days have you (or the patient) started\n experiencing any of the following symptoms?\n \n }\n subQuestion={\n
    \n {symptoms.map((symptom) => (\n
  • {symptom}
  • \n ))}\n
    \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(symptomPageState, setCovid, nextPage)\n }\n onBack={prevPage}\n />\n }\n />\n
    \n \n \n Within the last 10 days have you or anyone in your household\n traveled outside of Hawaii?\n \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(travelPageState, nextPage, () =>\n goToPage(6)\n )\n }\n onBack={prevPage}\n />\n }\n />\n \n \n \n Are you Aircrew or an immediate household member to Aircrew\n personnel?\n \n }\n options={\n \n }\n actions={\n \n checkOptionForNavigation(\n aircrewPageState,\n () => goToPage(PageOrder.AIRCREW_DETAILS),\n setCovid\n )\n }\n onBack={prevPage}\n />\n }\n />\n \n \n \n Which of the following best describes your or your household\n members most recent type of travel?\n \n }\n options={\n <>\n \n setAircrewDetailsPageState({\n ...aircrewDetailsPageState,\n canContinue: true,\n optionAnswer: 'yes',\n })\n }\n >\n Traveled as Aircrew on official orders\n \n\n \n setAircrewDetailsPageState({\n ...aircrewDetailsPageState,\n canContinue: true,\n optionAnswer: 'leaveInConjunction',\n })\n }\n >\n Traveled as Aircrew on official orders and took leave in\n conjunction\n \n\n \n setAircrewDetailsPageState({\n ...aircrewDetailsPageState,\n canContinue: true,\n optionAnswer: 'leave',\n })\n }\n >\n Non Aircrew travel (leave)\n \n \n }\n actions={\n {\n const convertedState: IPageState = {\n ...aircrewDetailsPageState,\n optionAnswer:\n aircrewDetailsPageState.optionAnswer === 'yes'\n ? 'yes'\n : 'no',\n };\n checkOptionForNavigation(\n convertedState,\n () => goToPage(PageOrder.EXPOSURE),\n setCovid\n );\n }}\n onBack={() => goToPage(PageOrder.TRAVEL)}\n />\n }\n />\n \n \n \n In the last 10 days have any of these applied to you (or the\n patient) regarding COVID-19 exposure?\n \n }\n subQuestion={\n
      \n {aircrewDetailQuestions.map((q) => (\n
    • {q}
    • \n ))}\n
    \n }\n options={\n \n }\n actionPromptText=\"Please select which one applies to you.\"\n actions={\n \n checkOptionForNavigation(\n exposurePageState,\n setCovid,\n setGoodTest\n )\n }\n onBack={prevPage}\n />\n }\n />\n
    \n
    \n );\n};\n\n//##################################\n\n// KEEP FOR CSS TRANSITION REFERENCE\n\n//##################################\n\n// return (\n// \n// \n// \n//
    {surveyComponent[transKey].component}
    \n//
    \n// \n//
    \n// \n// );\n// };\n\nexport default Survey;\n","\nconst useClientScreenSizes = () => {\n return [document.body.clientWidth, document.body.clientHeight];\n};\n\nexport default useClientScreenSizes;\n","import React, { useEffect, useState } from 'react';\nimport dayjs from 'dayjs';\n\nconst TimeStamp = () => {\n const ts = window.localStorage.getItem('timestamp');\n const [timeStamp] = useState(() => dayjs(ts ?? dayjs()));\n\n useEffect(() => {\n if (ts == null) {\n window.localStorage.setItem('timestamp', timeStamp.toISOString());\n }\n }, [timeStamp, ts]);\n\n return (\n \n \n {timeStamp.format('MM/DD/YY')} at {timeStamp.format('h:mm A')}\n \n \n );\n};\n\nexport default TimeStamp;\n\nconst styles: { [key: string]: React.CSSProperties } = {\n timeStamp: {\n fontWeight: 500,\n fontSize: '24px',\n textAlign: 'center',\n letterSpacing: '0.06em',\n },\n};\n","import React from 'react';\nimport useClientScreenSizes from '../Hooks/useClientScreenSizes';\nimport TimeStamp from './TimeStamp';\n\ninterface IResultScreenProps {\n image: string;\n header: string;\n headerColor: 'white' | 'black';\n banner: string;\n}\n\nconst ResultScreen: React.FC = ({\n image,\n header,\n headerColor,\n banner,\n}) => {\n const [width, height] = useClientScreenSizes();\n\n return (\n \n {/* Banner */}\n \n \n {header}\n \n \n \n
    \n
    Time of Screening
    \n
    \n \n
    \n \n Please follow the instructions of your front desk agent or provider.\n \n \n );\n};\n\nexport default ResultScreen;\n","import React from 'react';\n\ninterface IButtonGroupProps {\n onBack?: any;\n onContinue?: any;\n onStart?: any;\n onRestart?: any;\n canContinue?: boolean;\n}\n\nconst ButtonGroup: React.FC = ({\n onStart,\n onContinue,\n onBack,\n onRestart,\n canContinue = true,\n}) => {\n return (\n \n {onStart && (\n \n BEGIN SCREENING\n \n )}\n {onBack && (\n \n Back\n \n )}\n {onContinue && (\n \n Next\n \n )}\n\n {onRestart && (\n \n Start over\n \n )}\n \n );\n};\n\nexport default ButtonGroup;\n\nconst styles: { [key: string]: React.CSSProperties } = {\n button: {\n flex: '1 1 auto',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 40,\n },\n};\n","import React, { ReactElement, useEffect, useState } from 'react';\nimport ResultScreen from './ResultScreen';\nimport dayjs from 'dayjs';\nimport ButtonGroup from '../Survey/ButtonGroup/ButtonGroup';\nimport caution from '../../assets/caution.svg';\nimport ambulance from '../../assets/ambulance.svg';\nimport shield from '../../assets/shield.svg';\nimport redBanner from '../../assets/redBanner.svg';\nimport yellowBanner from '../../assets/yellowBanner.svg';\nimport greenBanner from '../../assets/greenBanner.svg';\n\nconst timeout = 300000;\n\nconst ResultScreenController: React.FC<{\n result: string;\n setResult: (result: null | string) => void;\n}> = ({ result, setResult }) => {\n const [showRetryButton, setShowRetryButton] = useState(() => {\n const timestamp = window.localStorage.getItem('timestamp');\n\n if (timestamp) {\n return dayjs().diff(dayjs(timestamp)) > timeout;\n } else {\n return false;\n }\n });\n\n useEffect(() => {\n window.localStorage.setItem('result', result);\n const timestamp = window.localStorage.getItem('timestamp');\n if (timestamp) {\n setTimeout(\n () => setShowRetryButton(true),\n timeout - dayjs().diff(dayjs(timestamp))\n );\n } else {\n setTimeout(() => setShowRetryButton(true), timeout);\n }\n }, [result]);\n\n return (\n
    \n {screens[result]}\n {showRetryButton && (\n {\n window.localStorage.clear();\n setResult(null);\n }}\n />\n )}\n
    \n );\n};\n\nexport default ResultScreenController;\n\nconst screens: { [key: string]: ReactElement } = {\n clear: (\n \n ),\n covid: (\n \n ),\n 911: (\n \n ),\n};\n","export const emergencyQuestions: string[] = [\n 'Extreme difficulty breathing',\n 'Severe, constant lightheadedness',\n 'Severe, disorientation or unresponsiveness'];\n\nexport const symptoms: string[] = [\n 'Fever or chills',\n 'Mild or moderate difficulty breathing',\n 'New or worsening cough',\n 'Sustained loss of smell, taste or appetite',\n 'Sore Throat',\n 'New loss of smell, taste, or appetite',\n 'Congestion or runny nose',\n 'Aching throughout the body with tiredness and/or fatigue'\n];\n\nexport const aircrewDetailQuestions: string[] = [\n 'Lived with someone who has COVID-19, or is awaiting pending COVID test results',\n 'Had close contact with someone who has COVID-19 for greater than 15 minutes (with or without mask)',\n 'Suspect you have been exposed to COVID-19',\n 'Had close contact with a member in isolation with symptoms, but had a negative COVID test',\n 'Lived with someone in quarantine/isolation and are unable to isolate from them'\n]","import React from 'react';\nimport medWerxLogo from '../../assets/medWerxCombo.svg';\nimport background from '../../assets/background.svg';\nimport ButtonGroup from '../Survey/ButtonGroup/ButtonGroup';\n\nconst StartPage: React.FC<{ nextPage: () => void }> = ({ nextPage }) => {\n return (\n \n \n
    COVID-19 Medical Screener
    \n \n \n );\n};\n\nexport default StartPage;\n\nconst styles: { [key: string]: React.CSSProperties } = {\n startContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n justifyContent: 'center',\n },\n title: {\n // marginTop: 30,\n fontSize: 20,\n color: 'white',\n textTransform: 'uppercase',\n paddingBottom: 200,\n },\n};\n","import React, { createContext } from 'react';\n\nexport const PagerContext = createContext(0);\n\nconst Pager: React.FC<{\n context: number;\n}> = ({ children, context }) => {\n return (\n {children}\n );\n};\n\nexport default Pager;\n","import React, { useContext } from 'react';\nimport { PagerContext } from './Pager';\n\ninterface IPageProps {\n index: number;\n}\n\nconst Page: React.FC = ({ children, index }) => {\n const activeNumber = useContext(PagerContext);\n const isActivePage = activeNumber === index;\n\n return isActivePage ? (\n
    \n {children}\n
    \n ) : null;\n};\n\nexport default Page;\n","\nexport const button: React.CSSProperties = {\n display: 'flex',\n marginBottom: 15,\n alignItems: 'center',\n padding: 5,\n paddingLeft: 20,\n border: '1px solid #b8b8b8',\n borderRadius: 10,\n boxShadow: '0px 2px 5px #b8b8b8',\n width: '90%',\n height: '100px',\n marginLeft: 'auto',\n marginRight: 'auto',\n textAlign: 'center',\n justifyContent: 'center'\n};\n\nexport const surveyContainer: React.CSSProperties = {\n textAlign: 'center',\n height: '100%'\n};\n\nexport const questionContainer: React.CSSProperties = {\n paddingTop: '5%',\n // paddingLeft: 50,\n // paddingRight: 50,\n paddingBottom: \"2.5%\",\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between'\n};\n\nexport const questionHeader: React.CSSProperties = {\n fontSize: 24,\n color: '#4A4A4A',\n fontWeight: 'bold',\n lineHeight: 1.2\n};\n\nexport const listContainer: React.CSSProperties = {\n width: '100%',\n height: `calc(${window.vh * 100}px - 64px)`,\n textAlign: 'left',\n overflowY: 'scroll',\n paddingBottom: 200\n};\n\nexport const checkboxListItem: React.CSSProperties = {\n display: 'flex',\n};\n","import React from 'react';\nimport { questionContainer, questionHeader } from '../../../const/Styles';\n\nconst Question: React.FC = ({ children }) => {\n return (\n
    \n
    {children}
    \n
    \n );\n};\n\nexport default Question;\n","const useVerticalHeight = () => {\n return window.vh;\n};\n\nexport default useVerticalHeight;\n","import React, { ReactElement } from 'react';\nimport medicalIcon from '../../../assets/medicalIcon.svg';\nimport useVerticalHeight from '../../Hooks/useVerticalHeight';\n\ninterface ISurveyQuestionProps {\n question: ReactElement;\n subQuestion?: ReactElement;\n options: ReactElement;\n actionPromptText?: string;\n actions: ReactElement;\n showMedicalIcon?: boolean;\n}\n\nexport const SurveyQuestion: React.FC = ({\n question,\n subQuestion,\n options,\n actionPromptText = 'Select an Option',\n actions,\n showMedicalIcon = false,\n}) => {\n const vh = useVerticalHeight();\n\n return (\n \n
    \n {question}\n
    \n
    {subQuestion}
    \n
    \n
    \n
    {actionPromptText}
    \n
    {options}
    \n {actions}\n {showMedicalIcon && (\n \n )}\n \n );\n};\n","import { useState } from 'react';\n\nexport interface IPageState {\n goToPage: number;\n canContinue: boolean;\n optionAnswer: string;\n}\n\nexport const useSurveyPage = () => {\n return useState({\n goToPage: 0,\n canContinue: false,\n optionAnswer: '',\n });\n};\n","import React from 'react';\nimport { FormControlLabel, Radio, withStyles } from '@material-ui/core';\n\ninterface IOptionProps {\n onClick?: () => void;\n checked?: boolean;\n children: string;\n}\n\nconst StyledRadio = withStyles({\n root: {\n color: 'black',\n '&$checked': {\n color: 'black',\n },\n },\n checked: {},\n})(Radio);\n\nconst StyledControlLabel = withStyles({\n label: {\n fontFamily: 'DM Sans, sans-serif',\n },\n})(FormControlLabel);\n\nconst Option: React.FC = ({\n onClick,\n checked = false,\n children,\n}) => {\n return (\n \n }\n />\n

    \n );\n};\n\nexport default Option;\n","import React from 'react';\nimport { IPageState } from '../../Hooks/useSurveyPage';\nimport Option from './Option';\n\ninterface IDefaultOptionGroupProps {\n pageState: IPageState;\n pageDispatch: (value: React.SetStateAction) => void;\n yesOptionText?: string;\n noOptionText?: string;\n}\n\nconst DefaultOptionGroup: React.FC = ({\n pageDispatch,\n pageState,\n yesOptionText = 'Yes',\n noOptionText = 'No',\n}) => {\n return (\n <>\n \n pageDispatch({\n ...pageState,\n canContinue: true,\n optionAnswer: 'yes',\n })\n }\n >\n {yesOptionText}\n \n \n pageDispatch({\n ...pageState,\n canContinue: true,\n optionAnswer: 'no',\n })\n }\n >\n {noOptionText}\n \n \n );\n};\n\nexport default DefaultOptionGroup;\n","import { useRef, useState } from 'react';\n\nconst DEFAULT_INIT_STATE = 0;\n\nexport const useIndexTracker = (initState: number = DEFAULT_INIT_STATE) => {\n const indexState = useState(initState);\n const [currentIndex, setCurrentIndex] = indexState;\n\n const indexHistory = useRef([]);\n\n const nextIndex = () => {\n goToIndex(currentIndex + 1);\n };\n\n const prevIndex = () => {\n const prevIndex =\n indexHistory.current.length > 0 ? indexHistory.current.pop() : 0;\n setCurrentIndex(prevIndex!);\n };\n\n const goToIndex = (index: number) => {\n setCurrentIndex(index);\n indexHistory.current.push(currentIndex);\n };\n\n return [currentIndex, prevIndex, nextIndex, goToIndex] as const;\n};\n","import React, { useState } from 'react';\nimport ResultScreenController from './components/ResultScreen/ResultScreenController';\nimport Survey from './components/Survey/Survey';\n\nfunction App() {\n const [result, setResult] = useState(window.localStorage.getItem('result'));\n\n const renderScreen = () => {\n return result !== null ? (\n \n ) : (\n
    \n \n
    \n );\n };\n\n // component return\n return
    {renderScreen()}
    ;\n}\n\nexport default App;\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://bit.ly/CRA-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(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\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(\n process.env.PUBLIC_URL,\n window.location.href\n );\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://bit.ly/CRA-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://bit.ly/CRA-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(\n 'No internet connection found. App is running in offline mode.'\n );\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 React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\ndeclare global {\n interface Window {\n vh: number;\n }\n}\n\ndocument.documentElement.style.setProperty('--vh', `${window.vh}px`);\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://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""} \ No newline at end of file