{"version":3,"sources":["store/initialState.js","store/constants.js","store/reducer.js","store.js","routes/history.js","assets/images/kardia_operations_logo.svg","assets/images/alivecor_logo.svg","common/components/copyrights.js","pages/container/login/styles.js","common/constants/constants.js","common/constants/authUtil.js","common/constants/messages.js","store/actions/auth.js","common/constants/envConfig.js","common/components/validations.js","pages/container/login/index.js","common/components/appHeader/styles.js","common/components/appHeader/index.js","common/components/appFooter/index.js","pages/container/addPatient/styles.js","store/actions/addPatient.js","routes/routePaths.js","pages/container/addPatient/index.js","routes/privateRoute.js","routes/index.js","index.js"],"names":["initialState","loading","info","LOADING_TRUE","LOADING_FALSE","LOGIN_USER","AppReducer","state","type","payload","middleware","thunk","store","createStore","composeWithDevTools","applyMiddleware","createHistory","require","createBrowserHistory","Copyright","src","kardiaLogo","alt","className","style","width","height","display","marginLeft","marginRight","marginBottom","Typography","variant","color","align","Date","getFullYear","useStyles","makeStyles","theme","loginContainer","flexDirection","paper","marginTop","spacing","alignItems","avatar","margin","backgroundColor","palette","secondary","main","form","submit","padding","minHeight","loginFooter","LOCAL_STORAGE_AUTH_TOKEN","PASSWORD","APP_ROUTS","DATE_FORMAT","DATE","TIME","URLS","GENDER","value","label","HEADER_CONTENT_TYPE","HEADER_BASIC_ENCODED","HEADER_METHOD","setToken","token","localStorage","setItem","CONSTANTS","setPassword","password","getToken","getItem","MESSAGES","error","success","TOASTR_TIMER","authLogin","loginObj","enqueueSnackbar","dispatch","details","email","username","formBody","property","encodedKey","encodeURIComponent","encodedValue","push","join","fetch","method","AUTH_UTIL","headers","body","then","response","json","result","apiKey","Base64","encode","history","MSG_CONSTANT","autoHideDuration","catch","err","logout","clear","test","undefined","LoginPage","classes","useDispatch","useState","setUsername","emailError","setEmailError","setLoading","useSnackbar","closeSnackbar","e","a","preventDefault","Container","component","maxWidth","CssBaseline","kardiaOperationsLogo","Box","mt","onSubmit","handleLogin","noValidate","TextField","required","fullWidth","id","name","autoComplete","autoFocus","onChange","target","Button","disabled","CircularProgress","size","appBar","borderBottom","divider","toolbar","flexWrap","toolbarTitle","flexGrow","toolbarTitleImage","filter","link","textDecoration","textTransform","fontWeight","letterSpacing","AppHeader","UseStyles","AppBar","position","elevation","Toolbar","noWrap","onClick","disableElevation","footer","primary","appFooter","ul","listStyle","pageGlobal","notificationCheck","icon","chip","maxHeight","containerFuid","mainContent","heroContent","heroButtons","cardGrid","paddingLeft","paddingTop","paddingBottom","card","cardMedia","cardContent","dobDatePicker","formControl","minWidth","selectEmpty","sroot","input","flex","iconButton","createButton","BASE_URL","createNewPatient","patientData","initializePatient","basicToken","decode","mrn","dob","moment","format","firstname","firstName","lastname","lastName","sex","header","Object","assign","Authorization","res","countryCode","patientId","requestId","errors","detail","unProtectedRoute","path","exact","protectedRoute","showPassword","setPatientData","dateError","setDateError","Math","random","setRandom","handleDataChange","newData","Fragment","maxwidth","Chip","Grid","container","item","xs","sm","md","gutterBottom","InputLabel","Select","labelId","map","MenuItem","utils","DateFnsUtils","autoOk","disableFuture","console","log","newDate","handleDateChange","htmlFor","Input","endAdornment","InputAdornment","IconButton","aria-label","onMouseDown","event","href","PrivateRoute","Component","rest","render","props","to","Routes","routePath","createMuiTheme","ReactDOM","maxSnack","anchorOrigin","vertical","horizontal","root","ThemeProvider","document","getElementById"],"mappings":"uOAKeA,EALM,CACjBC,SAAQ,EACRC,KAAM,ICFGC,EAAe,eACfC,EAAgB,gBAChBC,EAAa,aCkBXC,EAbI,WAA8C,IAA7CC,EAA4C,uDAApCP,EAAoC,yCAApBQ,EAAoB,EAApBA,KAAMC,EAAc,EAAdA,QAC9C,OAAQD,GACR,KAAKL,EACH,OAAO,2BAAKI,GAAZ,IAAmBN,SAAS,IAC9B,KAAKG,EACH,OAAO,2BAAKG,GAAZ,IAAmBN,SAAS,IAC9B,KAAKI,EACH,OAAO,2BAAKE,GAAZ,IAAmBL,KAAMO,IAC3B,QACI,OAAOF,ICZTG,EAAa,CAACC,KAKLC,EAJDC,sBACZP,EACAQ,8BAAoBC,kBAAe,WAAf,EAAmBL,KCL1BM,G,QAAAA,EAFOC,EAAQ,IAAWC,yB,uFCA1B,MAA0B,mDCA1B,MAA0B,0C,OC6B1BC,EAzBG,WAChB,OACE,gCACE,qBACEC,IAAKC,EACLC,IAAI,gBACJC,UAAU,aACVC,MAAO,CACLC,MAAO,QACPC,OAAQ,OACRC,QAAS,QACTC,WAAY,OACZC,YAAa,OACbC,aAAc,YAGlB,eAACC,EAAA,EAAD,CAAYC,QAAQ,QAAQC,MAAM,UAAUC,MAAM,SAAlD,UACG,QACA,IAAIC,MAAOC,cAAe,IAF7B,mM,SCaSC,EA/BGC,aAAW,SAACC,GAAD,MAAY,CACvCC,eAAgB,CACdd,OAAQ,QACRC,QAAS,OACTc,cAAe,UAEjBC,MAAO,CACLC,UAAWJ,EAAMK,QAAQ,GACzBjB,QAAS,OACTc,cAAe,SACfI,WAAY,UAEdC,OAAQ,CACNC,OAAQR,EAAMK,QAAQ,GACtBI,gBAAiBT,EAAMU,QAAQC,UAAUC,MAE3CC,KAAM,CACJ3B,MAAO,OACPkB,UAAWJ,EAAMK,QAAQ,IAE3BS,OAAQ,CACNN,OAAQR,EAAMK,QAAQ,EAAG,EAAG,GAC5BU,QAASf,EAAMK,QAAQ,GACvBW,UAAWhB,EAAMK,QAAQ,IAE3BY,YAAa,CACXb,UAAW,OACXb,aAAcS,EAAMK,QAAQ,Q,SC5BnBa,EAAwB,UADG,sBACH,UACxBC,EAAW,WAIXC,EACL,IADKA,EAEJ,SAFIA,EAGE,eAEFC,EACQ,CACjBC,KAAM,aACNC,KAAM,SAHGF,EASS,CAClBC,KAAM,cAIGE,EACJ,aADIA,EAEK,eAFLA,EAGE,YAGFC,EAAS,CACpB,CACEC,MAAO,EACPC,MAAO,QAET,CACED,MAAO,EACPC,MAAO,WCpCEC,EAAsB,CACjC,eAAgB,qCAGLC,EAAuB,CAClC,eAAgB,oCAChB,cAAgB,SAQLC,EAEL,OAIKC,EAAW,WAAiB,IAAhBC,EAAe,uDAAP,GAC/BC,aAAaC,QAAQC,EAAoCH,IAG9CI,EAAc,WAAoB,IAAnBC,EAAkB,uDAAP,GACrCJ,aAAaC,QAAQC,EAAoBE,IAQ9BC,GAAW,kBACtBL,aAAaM,QAAQJ,IAAuC,ICpCjDK,GACH,CACFC,MAAO,QACPC,QAAS,WAHJF,GAKK,sBALLA,GAMa,uBANbA,GAOO,iBAPPA,GAQO,uBARPA,GASQ,+BAGRG,GACD,I,SCHCC,GAAY,SAACC,EAAUC,GAAX,OAA+B,SAACC,GACvD,IAAIC,EAAU,CACZC,MAAOJ,EAASK,SAChBb,SAAUQ,EAASR,UAEjBc,EAAW,GACf,IAAK,IAAIC,KAAYJ,EAAS,CAC5B,IAAIK,EAAaC,mBAAmBF,GAChCG,EAAeD,mBAAmBN,EAAQI,IAC9CD,EAASK,KAAKH,EAAa,IAAME,GAKnC,OAHAJ,EAAWA,EAASM,KAAK,KAGlBC,MCtBiD,yBDsBnC,UAAMvB,GAAwB,CACjDwB,OAAQC,EACRC,QAASD,EACTE,KAAMX,IAELY,MAAK,SAACC,GAAD,OAAcA,EAASC,UAC5BF,MAAK,WAAkB,IAAjBG,EAAgB,uDAAP,GACd,GAAIA,EAAOC,OAIT,OAHAP,EAAmBM,EAAOC,QAC1BP,EAAsBQ,KAAOC,OAAOxB,EAASR,WAC7CiC,EAAQd,KAAKrB,GACN+B,EAEPpB,EAAgByB,GAAoC,CAClD9E,QAAS8E,GAA2B9B,MACpC+B,iBAAkBD,QAIvBE,OAAM,SAACC,GACN5B,EAAgB,GAAD,OACVyB,GADU,2BAEVA,IACH,CACE9E,QAAS8E,GAA2B9B,MACpC+B,iBAAkBD,UAOfI,GAAS,WFxBpB1C,aAAa2C,QE2BbN,EAAQd,KAAKrB,I,SExDFc,GAAQ,SAAAvB,GAAK,SAAIA,GAAU,4CAA4CmD,KAAKnD,UAChFoD,GC8FMC,GAjFG,WAChB,IAAMC,EAAUlF,IACViD,EAAWkC,cAFK,EAGUC,mBAAS,IAHnB,mBAGfhC,EAHe,KAGLiC,EAHK,OAIcD,oBAAS,GAJvB,mBAIfE,EAJe,KAIHC,EAJG,OAKUH,mBAAS,IALnB,mBAKf7C,EALe,KAKLD,EALK,OAMQ8C,oBAAS,GANjB,mBAMfxH,EANe,KAMN4H,EANM,OAOqBC,eAAnCzC,EAPc,EAOdA,gBAAiB0C,EAPH,EAOGA,cAPH,4CAUtB,WAA2BC,GAA3B,SAAAC,EAAA,yDACED,EAAEE,kBACEzC,IAAYb,EAFlB,uBAGImD,IACAF,GAAW,GAJf,SAKUvC,EAASH,GAAU,CAAEM,WAAUb,YAAWS,IALpD,OAMIwC,GAAW,GANf,uBASIE,IACA1C,EAAgByB,GAAsC,CAAE9E,QAAS8E,GAA2B9B,QAVhG,6CAVsB,sBAuBtB,OACE,eAACmD,EAAA,EAAD,CAAWC,UAAU,OAAOC,SAAS,KAAK9G,UAAWgG,EAAQ/E,eAA7D,UACE,cAAC8F,EAAA,EAAD,IACA,sBAAK/G,UAAWgG,EAAQ7E,MAAxB,UACE,qBAAKtB,IAAKmH,EAAsBjH,IAAI,gBACpC,cAACkH,EAAA,EAAD,CAAKC,GAAI,EAAT,SACE,cAAC1G,EAAA,EAAD,CAAYqG,UAAU,KAAKpG,QAAQ,KAAKE,MAAM,SAA9C,qBAIF,uBAAMX,UAAWgG,EAAQnE,KAAMsF,SAAU,SAACV,IAjC1B,oCAiCkCW,CAAYX,IAAMY,YAAU,EAA9E,UACE,cAACC,EAAA,EAAD,CACE7G,QAAQ,WACRe,OAAO,SACP+F,UAAQ,EACRC,WAAS,EACTC,GAAG,WACH9E,MAAM,gBACN+E,KAAK,WACLC,aAAa,WACbC,WAAS,EACTlF,MAAOwB,EACPT,MAAO2C,EACPyB,SAAU,SAACpB,GAAON,EAAYM,EAAEqB,OAAOpF,OAAO2D,EAAcpC,GAAMwC,EAAEqB,OAAOpF,WAE7E,cAAC4E,EAAA,EAAD,CACE7G,QAAQ,WACRe,OAAO,SACP+F,UAAQ,EACRC,WAAS,EACTE,KAAK,WACL/E,MAAM,WACN1D,KAAK,WACLwI,GAAG,WACHE,aAAa,mBACbjF,MAAOW,EACPwE,SAAU,SAACpB,GAAD,OAAOrD,EAAYqD,EAAEqB,OAAOpF,UAGxC,cAACqF,EAAA,EAAD,CACE9I,KAAK,SACLuI,WAAS,EACT/G,QAAQ,YACRC,MAAM,UACNV,UAAWgG,EAAQlE,OACnBkG,SAAUtJ,EANZ,SAQGA,EAAU,cAACuJ,EAAA,EAAD,CAAmBC,KAAK,SAAW,gBAIpD,cAACjB,EAAA,EAAD,CAAKjH,UAAWgG,EAAQ/D,YAAaiF,GAAI,EAAzC,SACE,cAAC,EAAD,U,uJC7DOpG,GA5BGC,aAAW,SAACC,GAAD,MAAY,CACrCmH,OAAQ,CACNC,aAAa,aAAD,OAAepH,EAAMU,QAAQ2G,UAE3CC,QAAS,CACPC,SAAU,QAEZC,aAAc,CACZC,SAAU,EACVpI,WAAY,QAEdqI,kBAAmB,CACjBxI,MAAO,OACPC,OAAQ,OACRqB,OAAQ,OACRmH,OAAQ,aAGVC,KAAM,CACJpH,OAAQR,EAAMK,QAAQ,EAAG,KACzBX,MAAO,QACPmI,eAAgB,OAChBC,cAAe,YACfC,WAAY,OACZC,cAAe,c,oBC0BNC,GAzCG,WAChB,IAAMjD,EAAUkD,KAUhB,OACE,cAACC,GAAA,EAAD,CAAQC,SAAS,SAASC,UAAW,EAAGrJ,UAAWgG,EAAQmC,OAA3D,SACE,eAACmB,GAAA,EAAD,CAAStJ,UAAWgG,EAAQsC,QAA5B,UACE,qBACEzI,IAAKmH,EACLhH,UAAWgG,EAAQ0C,kBACnB3I,IAAI,gBAEN,cAACS,EAAA,EAAD,CACEC,QAAQ,KACRC,MAAM,UACN6I,QAAM,EACNvJ,UAAWgG,EAAQwC,eAGrB,cAACT,EAAA,EAAD,CACEyB,QArBc,SAAC/C,GACrBA,EAAEE,iBACFhB,MAoBMjF,MAAM,YACND,QAAQ,YACRT,UAAWgG,EAAQ4C,KACnBa,kBAAgB,EALlB,2BClCFP,GAAYnI,aAAW,SAACC,GAAD,MAAY,CACvC0I,OAAQ,CACNtI,UAAW,OACXK,gBAAiBT,EAAMU,QAAQiI,QAAQ/H,KACvClB,MAAO,QACPqB,QAASf,EAAMK,QAAQ,GACvB,gBAAiB,CAAEsH,OAAQ,kBAYhBiB,GATG,WACd,IAAM5D,EAAUkD,KAChB,OACA,wBAAQlJ,UAAWgG,EAAQ0D,OAA3B,SACI,cAAC,EAAD,OC6FO5I,GA3GGC,aAAW,SAACC,GAAD,MAAY,CACvC,UAAW,CACT6I,GAAI,CACFrI,OAAQ,EACRO,QAAS,EACT+H,UAAW,SAIfC,WAAY,CAAE3J,QAAS,OAAQc,cAAe,SAAUc,UAAW,SACnEmG,OAAQ,CACNC,aAAa,aAAD,OAAepH,EAAMU,QAAQ2G,UAE3CC,QAAS,CACPC,SAAU,QAEZC,aAAc,CACZC,SAAU,EACVpI,WAAY,QAEdqI,kBAAmB,CACjBxI,MAAO,OACPC,OAAQ,OACRqB,OAAQ,OACRmH,OAAQ,aAEVqB,kBAAkB,CAChB5I,UAAWJ,EAAMK,QAAQ,IAE3BuH,KAAM,CACJpH,OAAQR,EAAMK,QAAQ,EAAG,KACzBX,MAAO,SAETuJ,KAAM,CACJ3J,YAAaU,EAAMK,QAAQ,IAE7B6I,KAAM,CACJxJ,MAAOM,EAAMU,QAAQiI,QAAQ/H,KAC7BuI,UAAUnJ,EAAMK,QAAQ,GACxBnB,MAAMc,EAAMK,QAAQ,IAEtB+I,cAAc,GAKdC,YAAa,CAEX9J,aAAcS,EAAMK,QAAQ,IAE9BiJ,YAAa,CACXvI,QAASf,EAAMK,QAAQ,EAAG,EAAG,IAE/BkJ,YAAa,CACXnJ,UAAWJ,EAAMK,QAAQ,IAE3BmJ,SAAU,CACRC,YAAazJ,EAAMK,QAAQ,IAC3BqJ,WAAY1J,EAAMK,QAAQ,GAC1BsJ,cAAe3J,EAAMK,QAAQ,IAE/BuJ,KAAM,CACJzK,OAAQ,OACRC,QAAS,OACTc,cAAe,UAEjB2J,UAAW,CACTH,WAAY,UAEdI,YAAa,CACXrC,SAAU,GAEZsC,cAAe,CACbvJ,OAAQ,GAEVkI,OAAQ,CACNtI,UAAW,OACXK,gBAAiBT,EAAMU,QAAQiI,QAAQ/H,KACvClB,MAAO,QACPqB,QAASf,EAAMK,QAAQ,GACvB,gBAAiB,CAAEsH,OAAQ,cAE7BqC,YAAa,CACXxJ,OAAQR,EAAMK,QAAQ,GACtB4J,SAAU,WAEZC,YAAa,CACX9J,UAAWJ,EAAMK,QAAQ,IAE3B8J,MAAO,CACLpJ,QAAS,UACT3B,QAAS,OACTkB,WAAY,SACZpB,MAAO,WAETkL,MAAO,CACL/K,WAAYW,EAAMK,QAAQ,IAC1BgK,KAAM,GAERC,WAAY,CACVvJ,QAAS,IAEXwJ,aAAc,CACZnK,UAAWJ,EAAMK,QAAQ,GACzBU,QAASf,EAAMK,QAAQ,U,qBChGrBmK,GPToD,yBOY7CC,GAAmB,SAACC,EAAaC,EAAmB7H,EAAiB0C,GAAlD,OAAoE,SAACzC,GACnG,IAAM6H,EAAaxG,KAAOC,OAAP,UAAiB/B,KAAjB,YAA+B8B,KAAOyG,OVwBzD5I,aAAaM,QAAQ,aAAe,MUvBhCS,EAAU,CACZ8H,IAAKJ,EAAYI,IACjBC,IAAKC,KAAON,EAAYK,KAAKE,OAAO9I,EAAuCb,MAC3E2B,MAAOyH,EAAYzH,MACnBiI,UAAWR,EAAYS,UACvBC,SAAUV,EAAYW,SACtBC,IAAKZ,EAAYY,KAEfnI,EAAW,GACf,IAAK,IAAIC,KAAYJ,EAAS,CAC5B,IAAIK,EAAaC,mBAAmBF,GAChCG,EAAeD,mBAAmBN,EAAQI,IAC9CD,EAASK,KAAKH,EAAa,IAAME,GAEnCJ,EAAWA,EAASM,KAAK,KACzB,IAAI8H,EAASC,OAAOC,OAAO,GAAI5J,GAC/B0J,EAAOG,cAAP,UAA0BH,EAAOG,cAAjC,YAAkDd,GAGlDlH,MAAM8G,GAAQ,UAAMrI,GAAiC,CACnDwB,OAAQ7B,EACRgC,KAAMX,EACNU,QAAS0H,IAERxH,MAAK,SAACC,GACL,OAAOA,EAASC,UAEjBF,MAAK,SAAC4H,GACL,GAAIA,EAAIlF,GAAI,CACV,IAAIzD,EAAU,CACZC,MAAOyH,EAAYzH,MACnBZ,SAAUqI,EAAYrI,SACtBuJ,YAAalB,EAAYkB,YACzBC,UAAWF,EAAIlF,IAEbtD,EAAW,GACf,IAAK,IAAIC,KAAYJ,EAAS,CAC5B,IAAIK,EAAaC,mBAAmBF,GAChCG,EAAeD,mBAAmBN,EAAQI,IAC9CD,EAASK,KAAKH,EAAa,IAAME,GAEnCJ,EAAWA,EAASM,KAAK,KACzB,IAAI8H,EAASC,OAAOC,OAAO,GAAI5J,GAC/B0J,EAAOG,cAAP,UAA0BH,EAAOG,cAAjC,YAAkDd,GAGlDlH,MAAM8G,GAAQ,UAAMrI,GAA8B,CAChDwB,OAAQ7B,EACRgC,KAAMX,EACNU,QAAS0H,IAERxH,MAAK,SAACC,GACL,OAAOA,EAASC,UAEjBF,MAAK,SAAC4H,GACDA,EAAIG,WACNtG,IACAmF,IACA7H,EAAgByB,GAAuC,CAAE9E,QAAS8E,GAA2B7B,YAE7F8C,IACA1C,EAAgB6I,EAAII,OAAO,GAAGC,OAAQ,CAAEvM,QAAS8E,GAA2B9B,iBAIlF+C,IACA1C,EAAgB6I,EAAII,OAAO,GAAGC,OAAQ,CAAEvM,QAAS8E,GAA2B9B,aC7EvEwJ,GAAmB,CAC9B,CAAEC,KAAM9K,EAAgByE,UAAWd,GAAWoH,OAAO,GACrD,CAAED,KAAM9K,EAAiByE,UAAWd,GAAWoH,OAAO,IAI3CC,GAAiB,CAC5B,CAAEF,KAAM9K,EAAuByE,UC2BV,WACrB,IAAMb,EAAUlF,KADW,EAEWoF,mBAAS,CAC7C4F,IAAK,GACLC,IAAK,KACL9H,MAAO,GACPkI,UAAW,GACXE,SAAU,GACVC,IAAK,GACLjJ,SAAU,GACVuJ,YAAa,KACbC,UAAW,GACXQ,cAAc,IAZW,mBAEpB3B,EAFoB,KAEP4B,EAFO,KAerB3B,EAAoB,WACxB2B,EAAe,CACbxB,IAAK,GACLC,IAAK,KACL9H,MAAO,GACPkI,UAAW,GACXE,SAAU,GACVC,IAAK,GACLjJ,SAAU,GACVuJ,YAAa,KACbC,UAAW,MAKT9I,EAAWkC,cA9BU,EA+BgBM,eAAnCzC,EA/BmB,EA+BnBA,gBAAiB0C,EA/BE,EA+BFA,cA/BE,EAgCSN,oBAAS,GAhClB,mBAgCpBE,EAhCoB,KAgCRC,EAhCQ,OAiCOH,oBAAS,GAjChB,mBAiCpBqH,EAjCoB,KAiCTC,EAjCS,OAkCCtH,mBAASuH,KAAKC,UAlCf,mBAkCZC,GAlCY,WA8CrBC,EAAmB,SAACnH,GACxB,IAAIoH,EAAUnC,EACdmC,EAAQpH,EAAEqB,OAAOJ,MAAQjB,EAAEqB,OAAOpF,MAClC4K,EAAeO,GAdMF,EAAUF,KAAKC,WA0CtC,OACE,eAAC,IAAMI,SAAP,WACE,cAAC/G,EAAA,EAAD,IACA,sBAAK/G,UAAWgG,EAAQ+D,WAAxB,UACE,cAAC,GAAD,IACA,uBAAM/J,UAAWgG,EAAQqE,YAAzB,UACE,qBAAKrK,UAAWgG,EAAQsE,YAAxB,SACE,eAAC1D,EAAA,EAAD,CAAWmH,SAAS,KAApB,UACE,cAACvN,EAAA,EAAD,CAAYqG,UAAU,KAAKpG,QAAQ,KAAKE,MAAM,OAA9C,6BAGA,cAACqN,GAAA,EAAD,CACEtN,MAAM,UACNiC,MAAM,GACN3C,UAAWgG,EAAQkE,KACnBhC,KAAK,eAIX,cAACtB,EAAA,EAAD,CAAW5G,UAAWgG,EAAQwE,SAAUuD,SAAS,KAAjD,SACE,eAACE,GAAA,EAAD,CAAMC,WAAS,EAAC7M,QAAS,EAAzB,UACE,eAAC4M,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAA/B,UACE,cAAC9N,EAAA,EAAD,CAAYC,QAAQ,KAAK8N,cAAY,EAArC,iCAGA,eAACN,GAAA,EAAD,CAAMC,WAAS,EAAC7M,QAAS,EAAzB,UACE,cAAC4M,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,SACE,cAAC9G,EAAA,EAAD,CACEC,UAAQ,EACRE,GAAG,YACHC,KAAK,YACL/E,MAAM,aACN6E,WAAS,EACT9E,MAAOgJ,EAAYS,UACnBtE,SAAU+F,MAGd,cAACK,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,IACf,cAACH,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,SACE,cAAC9G,EAAA,EAAD,CACEC,UAAQ,EACRE,GAAG,WACHC,KAAK,WACL/E,MAAM,YACN6E,WAAS,EACT9E,MAAOgJ,EAAYW,SACnBxE,SAAU+F,MAGd,cAACK,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,SACE,cAAC9G,EAAA,EAAD,CACEC,UAAQ,EACRE,GAAG,MACHC,KAAK,MACL/E,MAAM,aACN6E,WAAS,EACT9E,MAAOgJ,EAAYI,IACnBjE,SAAU+F,MAGd,cAACK,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,IACf,cAACH,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,SACE,cAAC9G,EAAA,EAAD,CACEC,UAAQ,EACRE,GAAG,QACHC,KAAK,QACL/E,MAAM,QACN6E,WAAS,EACTG,aAAa,cACbjF,MAAOgJ,EAAYzH,MACnBR,MAAO2C,EACPyB,SAAU,SAACpB,GAAQmH,EAAiBnH,GAAIJ,EAAcpC,GAAMwC,EAAEqB,OAAOpF,aAGzE,eAACuL,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,UACE,cAACI,GAAA,EAAD,CAAY/G,GAAG,MAAf,iBACA,cAACgH,GAAA,EAAD,CACElH,UAAQ,EACRmH,QAAQ,SACRjH,GAAG,MACHC,KAAK,MACLxH,MAAM,MACNwC,MAAOgJ,EAAYY,IACnBzE,SAAU+F,EACVpG,WAAS,EARX,SAWIrE,EAAiBwL,KAAI,SAACR,GACpB,OAAQ,cAACS,GAAA,EAAD,CAAUlM,MAAOyL,EAAKzL,MAAtB,SAA8ByL,EAAKxL,gBAKnD,cAACsL,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,SACE,cAAC,KAAD,CAAyBS,MAAOC,KAAhC,SACE,cAAC,KAAD,CACEC,QAAM,EACNtH,GAAG,MACHhH,QAAQ,SACRwL,OAAS9I,EAAwCb,KACjDK,MAAM,gBACN4E,UAAQ,EACR9D,MAAO8J,EACPyB,eAAa,EACbtM,MAAOgJ,EAAYK,IACnBlE,SAAU,SAACpB,GAAD,OAhIP,SAACA,GAExB,GADAwI,QAAQC,IAAI,IAAItO,KAAK6F,EAAEqB,OAAOpF,QACT,gBAAlB+D,EAAEqB,OAAOpF,MACV8K,GAAa,OACV,CACH,IAAM2B,EAAU1I,EAAEqB,OAAOpF,MACzB4K,GAAe,SAAA5B,GAAW,kCAEnBA,GAFmB,IAGtBK,IAAKoD,OAGT3B,GAAa,IAqHO4B,CAAiB,CACftH,OAAQ,CAAEpF,MAAO+D,EAAGiB,KAAM,UAG9BF,WAAS,QAIf,cAACyG,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,IACf,eAACH,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAf,UAEA,cAACI,GAAA,EAAD,CAAYa,QAAQ,8BAApB,sBACE,cAACC,GAAA,EAAD,CACE/H,UAAQ,EACRE,GAAG,8BACHxI,KAAMyM,EAAY2B,aAAe,OAAS,WAC1C3F,KAAK,WACL/E,MAAM,WACN6E,WAAS,EACT9E,MAAOgJ,EAAYrI,SACnBwE,SAAU+F,EACV2B,aACE,cAACC,GAAA,EAAD,CAAgBpG,SAAS,MAAzB,SACE,cAACqG,GAAA,EAAD,CACEC,aAAW,6BACXlG,QA3KM,WAC9B8D,EAAe,2BAAK5B,GAAN,IAAmB2B,cAAe3B,EAAY2B,iBA2KpCsC,YAxKM,SAACC,GAC/BA,EAAMjJ,kBAoKgB,SAKG+E,EAAY2B,aAAe,cAAC,KAAD,IAAiB,cAAC,KAAD,mBAQ3D,cAACY,GAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIzN,MAAM,QAAQV,MAAO,CAAEmB,UAAW,QAArD,SACE,cAAC2G,EAAA,EAAD,CACE8H,KAAK,IACLpP,QAAQ,YACRC,MAAM,UACNzB,KAAK,SACLe,UAAWgG,EAAQuF,aACnB9B,kBAAgB,EAChBvB,KAAK,QACLF,UACG0D,EAAYzH,QACZyH,EAAYI,MACZJ,EAAYrI,WACZqI,EAAYY,MACZZ,EAAYS,YACZT,EAAYW,WACZX,EAAYK,KACb3F,GACAmH,EAEF/D,QAxKM,SAAC/C,GACrBA,EAAEE,iBACFH,IACAzC,EAAS0H,GAAiBC,EAAaC,EAAmB7H,EAAiB0C,KAkJ/D,0CA2BR,cAAC,GAAD,WDlRoD2G,OAAO,I,UEYpD2C,GApBM,SAAC,GAAuC,IAA1BC,EAAyB,EAApClJ,UAAyBmJ,EAAW,8BAU1D,OACE,cAAC,IAAD,2BACMA,GADN,IAEEC,OAAQ,SAACC,GAAD,OAVE5M,KAWuD,cAACyM,EAAD,eAAeG,IAAzD,cAAC,IAAD,CAAUC,GAAG,+BCO3BC,GAnBA,WACb,OACE,eAAC,IAAD,CAAQ9K,QAASA,EAAjB,UACG2H,GAAiB0B,KAAI,SAAC0B,GAAD,OACpB,cAAC,IAAD,CAEElD,OAAK,EAACD,KAAMmD,EAAUnD,KACtBrG,UAAWwJ,EAAUxJ,WAFhBwJ,EAAUnD,SAIlBE,GAAeuB,KAAI,SAAC0B,GAAD,OAClB,cAAC,GAAD,CAEElD,OAAK,EAACD,KAAMmD,EAAUnD,KACtBrG,UAAWwJ,EAAUxJ,WAFhBwJ,EAAUnD,a,oBCLnBlM,GAAQsP,aAAe,CAC3B5O,QAAS,CACPiI,QAAS,CACP/H,KAAM,WAERD,UAAW,CACTC,KAAM,cAWZ2O,IAASN,OACP,cAAC,IAAD,CAAU5Q,MAAOA,EAAjB,SACE,cAAC,KAAD,CAAkBmR,SAAU,EAAGC,aAAc,CAAEC,SAAU,MAAOC,WAAW,QAAU3K,QARnE,CACpB4K,KAAK,CACHxP,UAAU,SAMmGoE,iBAAkB,IAA/H,SACE,cAACqL,GAAA,EAAD,CAAe7P,MAAOA,GAAtB,SACE,cAAC,IAAD,CAAQsE,QAAWA,EAAnB,SACE,cAAC,IAAD,UACE,cAAC,GAAD,cAMVwL,SAASC,eAAe,W","file":"static/js/main.525cf9a9.chunk.js","sourcesContent":["const initialState = {\n loading:false,\n info: {},\n}\n\nexport default initialState","export const LOADING_TRUE = 'LOADING_TRUE';\nexport const LOADING_FALSE = 'LOADING_FALSE';\nexport const LOGIN_USER = 'LOGIN_USER';","import initialState from './initialState'\nimport {\n LOADING_TRUE,\n LOADING_FALSE,\n LOGIN_USER,\n} from './constants'\n\nconst AppReducer = (state = initialState, { type, payload }) => {\n switch (type) {\n case LOADING_TRUE:\n return { ...state, loading: true };\n case LOADING_FALSE:\n return { ...state, loading: false };\n case LOGIN_USER:\n return { ...state, info: payload };\n default:\n return state;\n }\n}\n\nexport default AppReducer;\n","import { createStore, applyMiddleware } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\nimport AppReducer from './store/reducer'\r\nconst middleware = [thunk];\r\nconst store = createStore(\r\n AppReducer,\r\n composeWithDevTools(applyMiddleware(...middleware))\r\n);\r\nexport default store;\r\n","const createHistory = require('history').createBrowserHistory;\n\nexport default createHistory();\n","export default __webpack_public_path__ + \"static/media/kardia_operations_logo.2b140193.svg\";","export default __webpack_public_path__ + \"static/media/alivecor_logo.51390634.svg\";","import React from 'react'\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport kardiaLogo from \"../../assets/images/alivecor_logo.svg\";\r\n\r\nconst Copyright = () => {\r\n return (\r\n
\r\n \r\n \r\n {\"©\"}\r\n {new Date().getFullYear()}{\" \"}\r\n {`AliveCor Inc. All Rights Reserved. US Patent Nos 8,301,232, 8,509,882 and Patents Pending. AliveCor and Kardia are trademarks of AliveCor, Inc. in the United States and other countries.`}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Copyright\r\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n loginContainer: {\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n paper: {\n marginTop: theme.spacing(8),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n avatar: {\n margin: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n padding: theme.spacing(1),\n minHeight: theme.spacing(5),\n },\n loginFooter: {\n marginTop: \"auto\",\n marginBottom: theme.spacing(3),\n },\n}));\n\nexport default useStyles;\n","export const LOCAL_STORAGE_KARDIA_OPS = 'external_operations'\nexport const LOCAL_STORAGE_AUTH_TOKEN = `${LOCAL_STORAGE_KARDIA_OPS}_token`\nexport const PASSWORD = 'password'\nexport const INTERVAL_AUTH_CHECKER = 30000; // 30 seconds\nexport const CONVERT_TO_SECONDS = 1000 // milli second to second conversion\n\nexport const APP_ROUTS = {\n ROOT: '/',\n LOGIN: '/login',\n ADD_PATIENT: '/add-patient',\n}\nexport const DATE_FORMAT = {\n ISO_8601_FORMATS : {\n DATE: 'YYYY-MM-DD',\n TIME: 'HH:mm',\n },\n US_FORMATS : {\n DATE: 'MM-DD-YYYY',\n TIME: 'hh:mm A',\n },\n DATEPICKER_FORMAT : {\n DATE: 'dd/MM/yyyy',\n }\n}\n\nexport const URLS = {\n LOGIN: '/v1/apikey',\n CREATE_PATIENT: '/v1/patients',\n CREATE_USER: '/v1/users'\n};\n\nexport const GENDER = [\n {\n value: 1,\n label: 'Male', \n },\n {\n value: 2,\n label: 'Female', \n }\n]\n","import * as CONSTANTS from './constants'\n\nexport const HEADER_CONTENT_TYPE = {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n};\n\nexport const HEADER_BASIC_ENCODED = {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"Authorization\": `Basic`,\n}\nexport const HEADER_ALLOW_ORIGIN = {\n 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n \"Access-Control-Allow-Origin\": \"*\",\n \"Authorization\": \"Basic Z2xlZS1vLW1ldGVyOnNlY3JldA==\",\n};\n\nexport const HEADER_METHOD = {\n GET: 'GET',\n POST: 'POST',\n PUT: 'PUT',\n}\n\nexport const setToken = (token = '') => {\n localStorage.setItem(CONSTANTS.LOCAL_STORAGE_AUTH_TOKEN, token)\n}\n\nexport const setPassword = (password = '') => {\n localStorage.setItem(CONSTANTS.PASSWORD, password)\n}\n\nexport const clearToken = () => {\n // localStorage.removeItem(CONSTANTS.LOCAL_STORAGE_AUTH_TOKEN)\n localStorage.clear()\n}\n\nexport const getToken = () =>\n localStorage.getItem(CONSTANTS.LOCAL_STORAGE_AUTH_TOKEN) || ''\n\nexport const getPassword = () =>\n localStorage.getItem(\"password\") || ''\n\n","export const MESSAGES = {\n TYPE: {\n error: \"error\",\n success: \"success\",\n },\n INVALID_CRED: \"Invalid credentials\",\n SOMETHING_WENT_WRONG: 'Something went wrong',\n AUTHENTICATION: 'Authentication',\n EMAIL_PASSWORD: 'Enter Email/Password',\n PATIENT_CREATED: 'Patient created successfully',\n}\n\nexport const TOASTR_TIMER = {\n T5_SEC: 5000,\n T6_SEC: 6000,\n}","import history from \"../../routes/history\";\nimport * as AUTH_UTIL from \"../../common/constants/authUtil\";\nimport * as MSG_CONSTANT from \"../../common/constants/messages\";\nimport { Base64 } from 'js-base64';\nimport * as CONSTANTS from \"../../common/constants/constants\";\nimport { BaseUrl } from \"../../common/constants/envConfig\";\nconst BASE_URL = BaseUrl();\n\n// authLogin - on successful login, return response\n// on login fail show proper error-text\nexport const authLogin = (loginObj, enqueueSnackbar) => (dispatch) => {\n let details = {\n email: loginObj.username,\n password: loginObj.password,\n };\n var formBody = [];\n for (var property in details) {\n var encodedKey = encodeURIComponent(property);\n var encodedValue = encodeURIComponent(details[property]);\n formBody.push(encodedKey + \"=\" + encodedValue);\n }\n formBody = formBody.join(\"&\");\n\n // API call to fetch the api key\n return fetch(BASE_URL + `${CONSTANTS.URLS.LOGIN}`, {\n method: AUTH_UTIL.HEADER_METHOD.POST,\n headers: AUTH_UTIL.HEADER_CONTENT_TYPE,\n body: formBody,\n })\n .then((response) => response.json())\n .then((result = {}) => {\n if (result.apiKey) {\n AUTH_UTIL.setToken(result.apiKey);\n AUTH_UTIL.setPassword(Base64.encode(loginObj.password));\n history.push(CONSTANTS.APP_ROUTS.ADD_PATIENT);\n return result;\n } else {\n enqueueSnackbar(MSG_CONSTANT.MESSAGES.INVALID_CRED, {\n variant: MSG_CONSTANT.MESSAGES.TYPE.error,\n autoHideDuration: MSG_CONSTANT.TOASTR_TIMER.T5_SEC,\n });\n }\n })\n .catch((err) => {\n enqueueSnackbar(\n `${MSG_CONSTANT.MESSAGES.SOMETHING_WENT_WRONG} with\n ${MSG_CONSTANT.MESSAGES.AUTHENTICATION}`,\n {\n variant: MSG_CONSTANT.MESSAGES.TYPE.error,\n autoHideDuration: MSG_CONSTANT.TOASTR_TIMER.T5_SEC\n }\n );\n });\n};\n\n// Logout from app, clear all state\nexport const logout = () => {\n // clear all global state (Redux)\n AUTH_UTIL.clearToken();\n history.push(CONSTANTS.APP_ROUTS.LOGIN);\n};\n","\nexport const BaseUrl = () => {\n const base = process.env.REACT_APP_STAGE === 'prod' ? 'https://api.kardia.com' : 'https://api-staging.kardia.com';\n return base;\n}\n\nexport const AuthToken = () => {\n const token = localStorage.getItem(\"jwtToken\").replaceAll('\"','');\n return token;\n}","export const REQUIRED_MSG = 'Required'\n\nexport const required = value => value ? undefined : REQUIRED_MSG\nexport const email = value => value && !/^[A-Z0-9'._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(value)\n? true : undefined","import React, { useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\nimport kardiaOperationsLogo from '../../../assets/images/kardia_operations_logo.svg'\r\nimport Copyright from '../../../common/components/copyrights'\r\nimport useStyles from \"./styles\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { authLogin } from '../../../store/actions/auth';\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useSnackbar } from 'notistack';\r\nimport { email } from '../../../common/components/validations'\r\nimport * as MSG_CONSTANT from '../../../common/constants/messages'\r\n\r\nconst LoginPage = () => {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const [username, setUsername] = useState('');\r\n const [emailError, setEmailError] = useState(false);\r\n const [password, setPassword] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\r\n\r\n // This function handled the form submit event\r\n async function handleLogin(e) {\r\n e.preventDefault()\r\n if (username && password) {\r\n closeSnackbar()\r\n setLoading(true);\r\n await dispatch(authLogin({ username, password },enqueueSnackbar));\r\n setLoading(false);\r\n }\r\n else { \r\n closeSnackbar();\r\n enqueueSnackbar(MSG_CONSTANT.MESSAGES.EMAIL_PASSWORD, { variant: MSG_CONSTANT.MESSAGES.TYPE.error }); }\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n \"Kardia\r\n \r\n \r\n Login\r\n \r\n \r\n
{ handleLogin(e) }} noValidate>\r\n {setUsername(e.target.value);setEmailError(email(e.target.value))}}\r\n />\r\n setPassword(e.target.value)}\r\n />\r\n\r\n \r\n {loading ? : 'Login'}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default LoginPage;\r\n","\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n borderBottom: `1px solid ${theme.palette.divider}`,\n },\n toolbar: {\n flexWrap: \"wrap\",\n },\n toolbarTitle: {\n flexGrow: 1,\n marginLeft: \"2rem\",\n },\n toolbarTitleImage: {\n width: \"auto\",\n height: \"3rem\",\n margin: \"1rem\",\n filter: \"invert(1)\",\n },\n \n link: {\n margin: theme.spacing(1, 1.5),\n color: \"white\",\n textDecoration: 'none',\n textTransform: 'uppercase',\n fontWeight: 'bold',\n letterSpacing: '0.05em',\n },\n }));\n\nexport default useStyles","import React from 'react'\nimport UseStyles from './styles'\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Button from \"@material-ui/core/Button\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport Typography from \"@material-ui/core/Typography\";\nimport kardiaOperationsLogo from \"../../../assets/images/kardia_operations_logo.svg\";\n// import LinearProgress from '@material-ui/core/LinearProgress';\n// import { useSelector, useDispatch} from \"react-redux\";\n// import {startLoading} from '../../../store/actions'\nimport { logout } from '../../../store/actions/auth';\n\nconst AppHeader = () => {\n const classes = UseStyles();\n // const store = useSelector(state => state)\n // const dispatch = useDispatch()\n // //console.log(store.loading)\n\n const handleSignOut = (e) => {\n e.preventDefault()\n logout()\n }\n\n return (\n \n \n \n \n \n \n Signout\n \n \n {/* {loading && } */}\n \n );\n}\n\nexport default AppHeader\n","import React from 'react'\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Copyright from '../copyrights'\n\nconst UseStyles = makeStyles((theme) => ({\n footer: {\n marginTop: \"auto\",\n backgroundColor: theme.palette.primary.main,\n color: \"white\",\n padding: theme.spacing(2),\n \"& .footerLogo\": { filter: \"invert(1)\" },\n },\n}));\nconst appFooter = () => {\n const classes = UseStyles();\n return (\n \n )\n}\n\nexport default appFooter\n","import { makeStyles } from \"@material-ui/core/styles\";\n\n\nconst useStyles = makeStyles((theme) => ({\n \"@global\": {\n ul: {\n margin: 0,\n padding: 0,\n listStyle: \"none\",\n },\n },\n\n pageGlobal: { display: \"flex\", flexDirection: \"column\", minHeight: \"100vh\" },\n appBar: {\n borderBottom: `1px solid ${theme.palette.divider}`,\n },\n toolbar: {\n flexWrap: \"wrap\",\n },\n toolbarTitle: {\n flexGrow: 1,\n marginLeft: \"2rem\",\n },\n toolbarTitleImage: {\n width: \"auto\",\n height: \"3rem\",\n margin: \"1rem\",\n filter: \"invert(1)\",\n },\n notificationCheck:{\n marginTop: theme.spacing(2),\n },\n link: {\n margin: theme.spacing(1, 1.5),\n color: \"white\",\n },\n icon: {\n marginRight: theme.spacing(2),\n },\n chip: {\n color: theme.palette.primary.main,\n maxHeight:theme.spacing(1),\n width:theme.spacing(7),\n },\n containerFuid:{\n // marginRight:theme.spacing(20),\n // marginLeft:theme.spacing(20),\n // width:\"\",\n },\n mainContent: {\n // marginTop: theme.spacing(5),\n marginBottom: theme.spacing(3),\n },\n heroContent: {\n padding: theme.spacing(3, 0, 3),\n },\n heroButtons: {\n marginTop: theme.spacing(3),\n },\n cardGrid: {\n paddingLeft: theme.spacing(10),\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(8),\n },\n card: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n cardMedia: {\n paddingTop: \"56.25%\", // 16:9\n },\n cardContent: {\n flexGrow: 1,\n },\n dobDatePicker: {\n margin: 0,\n },\n footer: {\n marginTop: \"auto\",\n backgroundColor: theme.palette.primary.main,\n color: \"white\",\n padding: theme.spacing(2),\n \"& .footerLogo\": { filter: \"invert(1)\" },\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: \"inherit\",\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n sroot: {\n padding: \"2px 4px\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"inherit\",\n },\n input: {\n marginLeft: theme.spacing(11),\n flex: 1,\n },\n iconButton: {\n padding: 10,\n },\n createButton: {\n marginTop: theme.spacing(2),\n padding: theme.spacing(1.5),\n },\n}));\nexport default useStyles","import {\n getToken,\n getPassword,\n HEADER_METHOD,\n HEADER_BASIC_ENCODED\n} from \"../../common/constants/authUtil\";\nimport moment from 'moment';\nimport { Base64 } from 'js-base64';\nimport * as CONSTANTS from \"../../common/constants/constants\";\nimport * as MSG_CONSTANT from \"../../common/constants/messages\";\nimport { BaseUrl } from \"../../common/constants/envConfig\";\nconst BASE_URL = BaseUrl();\n\n// Funtion to create the patient on submit click\nexport const createNewPatient = (patientData, initializePatient, enqueueSnackbar, closeSnackbar) => (dispatch) => {\n const basicToken = Base64.encode(`${getToken()}:${Base64.decode(getPassword())}`)\n let details = {\n mrn: patientData.mrn,\n dob: moment(patientData.dob).format(CONSTANTS.DATE_FORMAT.ISO_8601_FORMATS.DATE),\n email: patientData.email,\n firstname: patientData.firstName,\n lastname: patientData.lastName,\n sex: patientData.sex,\n };\n var formBody = [];\n for (var property in details) {\n var encodedKey = encodeURIComponent(property);\n var encodedValue = encodeURIComponent(details[property]);\n formBody.push(encodedKey + \"=\" + encodedValue);\n }\n formBody = formBody.join(\"&\");\n let header = Object.assign({}, HEADER_BASIC_ENCODED);\n header.Authorization = `${header.Authorization} ${basicToken}`;\n\n //API Call to create the patient\n fetch(BASE_URL + `${CONSTANTS.URLS.CREATE_PATIENT}`, {\n method: HEADER_METHOD.POST,\n body: formBody,\n headers: header,\n })\n .then((response) => {\n return response.json();\n })\n .then((res) => {\n if (res.id) {\n let details = {\n email: patientData.email,\n password: patientData.password,\n countryCode: patientData.countryCode,\n patientId: res.id,\n };\n var formBody = [];\n for (var property in details) {\n var encodedKey = encodeURIComponent(property);\n var encodedValue = encodeURIComponent(details[property]);\n formBody.push(encodedKey + \"=\" + encodedValue);\n }\n formBody = formBody.join(\"&\");\n let header = Object.assign({}, HEADER_BASIC_ENCODED);\n header.Authorization = `${header.Authorization} ${basicToken}`;\n\n //API Call to create the mobile user\n fetch(BASE_URL + `${CONSTANTS.URLS.CREATE_USER}`, {\n method: HEADER_METHOD.POST,\n body: formBody,\n headers: header,\n })\n .then((response) => {\n return response.json();\n })\n .then((res) => {\n if (res.requestId) {\n closeSnackbar();\n initializePatient();\n enqueueSnackbar(MSG_CONSTANT.MESSAGES.PATIENT_CREATED, { variant: MSG_CONSTANT.MESSAGES.TYPE.success });\n } else {\n closeSnackbar();\n enqueueSnackbar(res.errors[0].detail, { variant: MSG_CONSTANT.MESSAGES.TYPE.error });\n }\n })\n } else {\n closeSnackbar();\n enqueueSnackbar(res.errors[0].detail, { variant: MSG_CONSTANT.MESSAGES.TYPE.error });\n }\n })\n};","import LoginPage from '../pages/container/login'\r\nimport AddPatientPage from \"../pages/container/addPatient\";\r\nimport { APP_ROUTS } from '../common/constants/constants'\r\n\r\n// Contains all unprotected routes\r\nexport const unProtectedRoute = [\r\n { path: APP_ROUTS.ROOT, component: LoginPage, exact: true },\r\n { path: APP_ROUTS.LOGIN, component: LoginPage, exact: true },\r\n];\r\n\r\n// Contains all the routes that needs login\r\nexport const protectedRoute = [\r\n { path: APP_ROUTS.ADD_PATIENT, component: AddPatientPage, exact: true },\r\n];\r\n","import React, { useState } from \"react\";\nimport {\n Button,\n CssBaseline,\n Grid,\n Typography,\n Container,\n TextField,\n Select,\n InputLabel,\n MenuItem,\n Chip,\n Input,\n IconButton,\n InputAdornment,\n} from \"@material-ui/core/\"\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from \"@material-ui/pickers\";\nimport AppHeader from '../../../common/components/appHeader';\nimport AppFooter from '../../../common/components/appFooter';\nimport { email } from '../../../common/components/validations'\nimport * as CONSTANTS from '../../../common/constants/constants'\nimport useStyles from './styles';\nimport { useSnackbar } from 'notistack';\nimport { createNewPatient } from '../../../store/actions/addPatient';\nimport { useDispatch } from \"react-redux\";\n\n/*\n* Route: /add-patient\n* Input (Props): -\n* Purpose: Base container for Adding new patients\n* Functionality: To add a new patient\n*/\n\nconst AddPatientPage = () => {\n const classes = useStyles();\n const [patientData, setPatientData] = useState({\n mrn: \"\",\n dob: null,\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n sex: \"\",\n password: \"\",\n countryCode: \"us\", // Hardcoded as of now. Might need to change it later.\n patientId: \"\",\n showPassword: false,\n });\n \n const initializePatient = () => {\n setPatientData({\n mrn: \"\",\n dob: null,\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n sex: \"\",\n password: \"\",\n countryCode: \"us\", // Hardcoded as of now. Might need to change it later.\n patientId: \"\",\n })\n }\n\n\n const dispatch = useDispatch();\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n const [emailError, setEmailError] = useState(false);\n const [dateError, setDateError] = useState(false);\n const [random, setRandom] = useState(Math.random());\n const reRender = () => setRandom(Math.random());\n\n const handleClickShowPassword = () => {\n setPatientData({ ...patientData, showPassword: !patientData.showPassword });\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n // Common Function to handle any Input feild change\n const handleDataChange = (e) => {\n let newData = patientData;\n newData[e.target.name] = e.target.value;\n setPatientData(newData);\n reRender(random);\n };\n\n // Common Function to handle date change\n const handleDateChange = (e) => {\n console.log(new Date(e.target.value))\n if(e.target.value == \"Invalid Date\")\n setDateError(true);\n else {\n const newDate = e.target.value;\n setPatientData(patientData => (\n {\n ...patientData,\n dob: newDate,\n }\n ))\n setDateError(false);\n }\n }\n\n // Function to create Patient on form submit\n const createPatient = (e) => {\n e.preventDefault()\n closeSnackbar();\n dispatch(createNewPatient(patientData, initializePatient, enqueueSnackbar, closeSnackbar));\n }\n\n return (\n \n \n
\n \n
\n
\n \n \n Add New Patient\n \n \n \n
\n \n \n \n \n Patient Information\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n { handleDataChange(e); setEmailError(email(e.target.value)) }}\n />\n \n \n Sex\n \n {\n CONSTANTS.GENDER.map((item)=>{\n return {item.label}\n })\n }\n \n \n \n \n \n handleDateChange({\n target: { value: e, name: \"dob\" },\n })\n }\n fullWidth\n />\n \n \n \n \n \n Password\n \n \n {patientData.showPassword ? : }\n \n \n }\n />\n \n \n \n \n \n Create new patient\n \n \n \n \n
\n \n
\n
\n );\n};\n\nexport default AddPatientPage;","import React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\nimport { getToken } from \"../common/constants/authUtil\";\n\nconst PrivateRoute = ({ component: Component, ...rest }) => {\n // Function - Checkes if token exist\n const isAuthenticated = () => {\n let token = getToken();\n if (token) {\n return true;\n } else {\n return false;\n }\n };\n return (\n \n !isAuthenticated() ? : \n }\n />\n );\n};\n\nexport default PrivateRoute;\n","import React from 'react'\r\nimport { Router, Route } from \"react-router-dom\";\r\nimport history from './history'\r\nimport { unProtectedRoute, protectedRoute } from \"./routePaths\";\r\nimport PrivateRoute from \"./privateRoute\";\r\n\r\nconst Routes = () => {\r\n return (\r\n \r\n {unProtectedRoute.map((routePath) => (\r\n ))\r\n }\r\n {protectedRoute.map((routePath) => (\r\n ))\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Routes;","import React from \"react\";\nimport { Provider } from \"react-redux\";\nimport { Router, Switch } from \"react-router-dom\";\nimport ReactDOM from \"react-dom\";\nimport store from \"./store\";\nimport \"./index.css\";\nimport Routes from \"./routes\";\nimport history from \"./routes/history\";\nimport { createMuiTheme } from \"@material-ui/core/styles\";\nimport { ThemeProvider } from \"@material-ui/styles\";\nimport { SnackbarProvider } from 'notistack';\n\nconst theme = createMuiTheme({\n palette: {\n primary: {\n main: \"#2d9f86\",\n },\n secondary: {\n main: \"#895da7\",\n },\n },\n});\n\nconst snackbarStyle = {\n root:{\n marginTop:'5rem'\n }\n}\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n\n"],"sourceRoot":""}