{"version":3,"sources":["reducers/AuthReducer.js","reducers/DataReducers.js","reducers/index.js","common/globals.js","common/functions.js","config/index.js","api/UserDetailsApi.js","actions/types.js","actions/DeviceActions.js","initStore.js","components/CopyrightWidget.jsx","components/Footer.jsx","components/Header.jsx","components/HtmlComponent.jsx","components/MenuDrawer.jsx","components/CoreMenuDrawer.jsx","components/LoadingCard.jsx","screens/TestSearchScreen.jsx","Router.jsx","App.js","serviceWorker.js","index.js","styles/buttonStyles.jsx","styles/cardStyles.jsx","styles/colorPallete.jsx","styles/textStyles.jsx","common/index.js"],"names":["INITIAL_STATE","auth","errorMessage","errorCode","holdDevice","auth_feedback","user_details","sync","ethos","aua","guidelines","core","podcasts","updateseries","device","app","footerOne","footerTwo","footerThree","headerText","iconOne","iconTwo","backgroundcolor","BACKGROUND_COLOR_MAIN","homeList","TEMP_HOME_LIST","homeFeatured","TEMP_EMPTY_ARRAY","coresection","coresectionmenu","coresectionreferences","coresectionpresentations","corevideos","courses","transcripts","bookmarks","pagecount","AUAUniversityApp","combineReducers","state","action","type","LOGIN_USER_FAIL","payload","LOGIN_USER_SUCCESS","SEND_SUCCESS_LOGIN_FEEDBACK","LOGOUT_SUCCESS","GET_USER_DETAILS","UPDATE_PROFILE","GET_USER_DETAILS_FAILED","LOGOUT_FAILURE","UPDATE_PROFILE_FAIL","error","data","HOME_UPDATES","GET_PODCASTS_LIST","GET_UPDATESERIES_LIST","GET_GUIDELINES_LIST","GET_BOOKMARK_LIST","GET_COURSES_LIST","GET_CORE_LIST","GET_CORE_SECTION","menu","references","presentations","GET_CORE_VIDEO_LIST","GET_DEVICE_DATA","GET_TRANSCRIPTS","UPDATE_HEADER_INFO","UPDATE_FOOTER_INFO","footOne","footTwo","footThree","iconThree","GET_GUIDELINES_LIST_FAILED","GET_UPDATESERIES_LIST_FAILED","GET_DEVICE_DATA_FAILED","GET_CORE_LIST_FAILED","GET_CORE_VIDEO_LIST_FAILED","GET_COURSES_LIST_FAILED","UPDATE_HEADER_INFO_FAILED","GET_BOOKMARK_LIST_FAILED","GET_PODCASTS_LIST_FAILED","HOME_UPDATES_FAILED","UPDATE_FOOTER_INFO_FAILED","GET_CORE_SECTION_FAILED","GET_TRANSCRIPTS_FAILED","APPVERSION","APPID","AISAPPID","AISKEY","AISINDEX","text","path","icon","active","DEVICECLASS","isIOS13","isIOS","isAndroid","isElectron","getAuth","obj","mcid","key","localStorage","JSON","parse","auau_auth_feedback","console","log","getIcon","fontSize","faGraduationCap","faUniversity","faBook","faBookmark","faHeadphones","faNewspaper","faTabletAlt","faVideo","style","faHome","faUserMd","faCog","logErr","colorPicker","color","colors","colorPallete","primary","secondaryBlue","secondaryGreen","neutralLight","neutralDark","neutralGreenCard","neutralGreen","neutralBlue","neutralBlueCard","neutralBlueText","accentGreen","accentAqua","accentBlue","accentRed","accentOrange","accentYellow","questionButtons","dynamicButton","trueQuestionButtons","correctGradedButtons","correctQuestionButtons","incorrectGradedButtons","incorrectQuestionButtons","neutralLightCard","neutralLightText","secondaryBlueCard","secondaryBlueText","accentYellowCard","accentYellowText","accentRedCard","accentRedText","accentBlueCard","accentBlueText","secondaryGreenText","secondaryGreenCard","submitButtons","hashString","string","i","hash","length","charCodeAt","deviceData","location","uri","pageVia","_type","isTablet","deviceDetect","pathname","pagevia","os","ua","isBrowser","osName","osVersion","userAgent","model","remoteURL","trackPage","window","cordova","InAppBrowser","open","goTo","id","offset","elem","document","getElementById","scrollIntoView","behavior","block","inline","scrollTop","pageGoTo","killCopy","reEnable","preventCopy","onselectstart","Function","sidebar","onmousedown","onclick","setContainer","bool","padding","margin","width","getRandomIdentifier","base","Date","now","toString","toUpperCase","getThisYear","getFullYear","MAIN_URL","BASE_AXIOS","axios","create","baseURL","timeout","apiTrackPage","a","form","FormData","append","detail","detailvar","request","method","params","response","dispatch","store","createStore","reducers","composeWithDevTools","applyMiddleware","thunk","CopyrightWidget","props","className","textAlign","bottom","left","marginBottom","marginTop","begin","year","connect","React","useState","value","setValue","footerIcon","BottomNavigationAction","label","to","component","NavLink","BottomNavigation","onChange","event","newValue","showLabels","deviceClass","withRouter","_h","useHistory","handleBack","prevLoc","prevData","_obj","prevProps","replace","history","goBack","iconSelector","MenuDrawer","edge","aria-label","CoreMenuDrawer","IconButton","onClick","AppBar","position","Toolbar","Typography","variant","options","decodeEntities","transform","node","index","name","attribs","href","children","convertNodeToElement","editRef","internal","_r","startsWith","_uri","includes","endsWith","Component","useStyles","makeStyles","fullList","classes","top","setState","toggleDrawer","anchor","map","Fragment","SwipeableDrawer","onClose","onOpen","clsx","list","role","onKeyDown","List","ListItem","button","ListItemIcon","ListItemText","Divider","item","target","decode","level","LoadingCard","spinner","display","flexDirection","justifyContent","alignItems","height","CircularProgress","searchClient","algoliasearch","_auth","initIndex","aa","appId","apiKey","TestSearchClass","loading","componentDidMount","setTimeout","componentDidUpdate","prevState","this","backgroundImage","backgroundPosition","backgroundRepeat","border","backgroundColor","class","src","alt","InstantSearch","indexName","CustomRefinementList","attribute","limit","Configure","hitsPerPage","enableReRanking","clickAnalytics","analytics","analyticsTags","distinct","SearchBox","searchAsYouType","showLoadingIndicator","autoFocus","Hits","hitComponent","HitWithInsights","connectHitInsights","hit","insights","sectionid","keywords","user","aisobj","userToken","eventName","queryID","__queryID","objectIDs","objectID","positions","__position","aisEventClick","webUri","Highlight","connectRefinementList","items","isFromSearch","refine","searchForItems","createURL","sorted","sort","b","comparison","listStyle","preventDefault","isRefined","count","TestSearchScreen","Routes","StylesProvider","injectFirst","App","fcm_messages","render","Boolean","hostname","match","startApp","navigator","serviceWorker","register","updateViaCache","then","registration","catch","e","notification","finally","ReactDOM","addEventListener","splashscreen","hide","ready","unregister","buttonStyles","borderRadius","textTransform","questionButtonsContainer","deckCardButtons","spacing","background","deckCardButtonText","fontWeight","answerButtons","homeDeckButton","marginLeft","transition","boxShadow","deckButtons","homeCustomDeckButtons","otherAnswerOptions","firstAnswerOption","borderBottomRightRadius","borderBottomLeftRadius","lastAnswerOption","borderTopRightRadius","borderTopLeftRadius","lastHomeDeckButon","paddingRight","answerOptions","cardStyles","root","questionContainer","overflowY","deckContainer","homeDeckButtonContainer","homeDeckContainer","marginRight","gridContainer","paddingBottom","paddingTop","paddingLeft","deckButtonContainer","testCardContainer","maxWidth","testCardTextContainer","testCardRowContainer","testCardTextGrid","testCardDivder","flexBasis","questionTextContainer","opacity","testTableButtons","neutralGreenText","darkBlueText","lightBlueText","primaryText","borderColor","lightBlueCard","textStyles","testCardText","alignContent","italics","fontStyle","bold","testCardYearText","homeDeckCardsText","overflow","textOverflow"],"mappings":"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","file":"static/js/main.dd1981a2.chunk.js","sourcesContent":["import {\n GET_USER_DETAILS, GET_USER_DETAILS_FAILED,\n LOGIN_USER_FAIL, LOGIN_USER_SUCCESS, \n LOGOUT_SUCCESS, LOGOUT_FAILURE, \n UPDATE_PROFILE, UPDATE_PROFILE_FAIL, \n SEND_SUCCESS_LOGIN_FEEDBACK\n} from \"../actions\";\n\nconst INITIAL_STATE = {\n auth: false,\n errorMessage: '',\n errorCode: '',\n holdDevice: 1,\n auth_feedback: [],\n user_details: null,\n sync: {\n ethos: 4,\n aua: 1,\n guidelines: 24,\n core: 24,\n podcasts: 1,\n updateseries: 1\n }\n};\n\nexport default (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case LOGIN_USER_FAIL:\n return {\n ...state,\n auth: false,\n errorMessage: action.payload.errorMessage,\n errorCode: action.payload.errorCode\n };\n case LOGIN_USER_SUCCESS:\n return { ...state, auth: true, errorMessage: \"\", errorCode: \"\", holdDevice: 1 };\n case SEND_SUCCESS_LOGIN_FEEDBACK:\n return { ...state, auth_feedback: action.payload };\n case LOGOUT_SUCCESS:\n return { \n ...state, \n auth: false, \n errorMessage: \"\", \n errorCode: \"\", \n holdDevice: 1, \n auth_feedback: [], \n user_details: null\n }\n case GET_USER_DETAILS:\n return { ...state, user_details: action.payload };\n case UPDATE_PROFILE:\n return { ...state }\n\n case GET_USER_DETAILS_FAILED:\n case LOGOUT_FAILURE: \n case UPDATE_PROFILE_FAIL:\n return { ...state, error: action.payload }\n \n default: \n return state;\n }\n}","import { \n GET_DEVICE_DATA, GET_DEVICE_DATA_FAILED, \n UPDATE_HEADER_INFO, UPDATE_HEADER_INFO_FAILED,\n UPDATE_FOOTER_INFO, UPDATE_FOOTER_INFO_FAILED,\n GET_CORE_LIST, GET_CORE_LIST_FAILED,\n GET_CORE_VIDEO_LIST, GET_CORE_VIDEO_LIST_FAILED,\n GET_COURSES_LIST, GET_COURSES_LIST_FAILED,\n GET_BOOKMARK_LIST, GET_BOOKMARK_LIST_FAILED,\n GET_UPDATESERIES_LIST, GET_UPDATESERIES_LIST_FAILED,\n GET_GUIDELINES_LIST, GET_GUIDELINES_LIST_FAILED,\n GET_PODCASTS_LIST, GET_PODCASTS_LIST_FAILED,\n HOME_UPDATES, HOME_UPDATES_FAILED,\n GET_CORE_SECTION, GET_CORE_SECTION_FAILED, \n GET_TRANSCRIPTS, GET_TRANSCRIPTS_FAILED\n} from \"../actions\";\n\nimport { \n TEMP_NULL, TEMP_FEATURED, TEMP_EMPTY_ARRAY,\n TEMP_HOME_LIST, BACKGROUND_COLOR_MAIN \n} from \"../common\";\n\nconst INITIAL_STATE = {\n device: null,\n app: null,\n footerOne: 'home',\n footerTwo: 'settings',\n footerThree: 'profile',\n headerText: null,\n iconOne: null,\n iconTwo: null,\n backgroundcolor: BACKGROUND_COLOR_MAIN,\n homeList: TEMP_HOME_LIST,\n homeFeatured: TEMP_EMPTY_ARRAY,\n core: null,\n coresection: {},\n coresectionmenu: [],\n coresectionreferences:[],\n coresectionpresentations:[],\n corevideos: [],\n courses: [],\n transcripts: [],\n bookmarks: [],\n podcasts: [],\n guidelines: [],\n updateseries: [],\n pagecount: 8\n};\n\nexport default (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case HOME_UPDATES: \n return { ...state, homeFeatured: action.payload }\n case GET_PODCASTS_LIST: \n return { ...state, podcasts: action.payload }\n case GET_UPDATESERIES_LIST: \n return { ...state, updateseries: action.payload }\n case GET_GUIDELINES_LIST: \n return { ...state, guidelines: action.payload }\n case GET_BOOKMARK_LIST: \n return { ...state, bookmarks: action.payload }\n case GET_COURSES_LIST: \n return { ...state, courses: action.payload }\n case GET_CORE_LIST: \n return { ...state, core: action.payload }\n case GET_CORE_SECTION: \n return { \n ...state, \n coresection: action.payload,\n coresectionmenu: action.payload.menu,\n coresectionreferences: action.payload.references,\n coresectionpresentations: action.payload.presentations\n }\n case GET_CORE_VIDEO_LIST: \n return { ...state, corevideos: action.payload }\n case GET_DEVICE_DATA: \n return { ...state, device: action.payload }\n case GET_TRANSCRIPTS: \n return { ...state, transcripts: action.payload }\n\n case UPDATE_HEADER_INFO: \n return {\n ...state,\n iconOne: action.payload.iconOne,\n iconTwo: action.payload.iconTwo,\n headerText: action.payload.headerText,\n backgroundcolor: action.payload.backgroundcolor\n }\n\n case UPDATE_FOOTER_INFO: \n return {\n ...state,\n footOne: action.payload.iconOne,\n footTwo: action.payload.iconTwo,\n footThree: action.payload.iconThree,\n }\n \n case GET_GUIDELINES_LIST_FAILED:\n case GET_UPDATESERIES_LIST_FAILED:\n case GET_DEVICE_DATA_FAILED:\n case GET_CORE_LIST_FAILED:\n case GET_CORE_VIDEO_LIST_FAILED:\n case GET_COURSES_LIST_FAILED:\n case UPDATE_HEADER_INFO_FAILED: \n case GET_BOOKMARK_LIST_FAILED:\n case GET_PODCASTS_LIST_FAILED:\n case HOME_UPDATES_FAILED:\n case UPDATE_FOOTER_INFO_FAILED:\n case GET_CORE_SECTION_FAILED:\n case GET_TRANSCRIPTS_FAILED:\n return { ...state, error: action.payload }\n \n default: \n return state\n }\n}","import { combineReducers } from \"redux\";\nimport AuthReducer from \"./AuthReducer\";\nimport DataReducers from \"./DataReducers\";\n\nconst AUAUniversityApp = combineReducers({\n auth: AuthReducer,\n data: DataReducers,\n});\n\nexport default AUAUniversityApp;","import React from \"react\";\nimport { deviceDetect, isAndroid, isElectron, isIOS, isIOS13 } from \"react-device-detect\";\n\nexport const APPVERSION = '4.2.0';\nexport const APPID = 'org.auanet.coremobile';\nexport const APPYEAR = () => {\n let _d = new Date();\n let r = _d.getFullYear();\n\n return r;\n}\n\nexport const TEMP_FEATURED = [\n {\n text:'Testis Meoplasms',\n secondary: 'oncology - Adult',\n updated_dt: '',\n path:'/corecontent',\n data: {\n id: 67\n },\n active: 1\n }, {\n text:'Testis Meoplasms',\n secondary: 'oncology - Adult',\n updated_dt: '',\n path:'/corecontent',\n data: {\n id: 67\n },\n active: 1\n }, {\n text:'Testis Meoplasms',\n secondary: 'oncology - Adult',\n updated_dt: '',\n path:'/corecontent',\n data: {\n id: 67\n },\n active: 1\n }\n]\n\nexport const TEMP_NULL = null;\nexport const TEMP_EMPTY_ARRAY = [];\nexport const BACKGROUND_COLOR_MAIN = '#092640';\nexport const AISAPPID = '6B45923YSJ';\nexport const AISKEY = 'e22848162b86e1fae9e653fa49f153bc';\nexport const AISINDEX = [\n 'aua_core_sections', \n 'aua_core_videos', \n 'aua_core_presentations'\n];\n\n\nexport const TEMP_HOME_LIST = [\n {\n text:'My Cources',\n path:'/courses',\n icon:'CoursesIcon',\n active: 1\n }, {\n text:'My Transcripts',\n path:'/transcripts',\n icon:'TranscriptsIcon',\n active: 1\n }, {\n text:'Core Curriculum',\n path:'/core',\n icon:'CoreCurriculumIcon',\n active: 1\n }, {\n text:'Core Curriculum Videos',\n path:'/corevideos',\n icon:'CoreCurriculumVideosIcon',\n active: 1\n // }, {\n // text:'Bookmarks',\n // path:'/bookmarks',\n // icon:'BookMarksIcon',\n // active: 1\n }, {\n text:'Podcasts',\n path:'/podcasts',\n icon:'PodCastsIcon',\n active: 1\n }, {\n text:'Guidelines',\n path:'/guidelines',\n icon:'GuideLinesIcon',\n active: 1\n }, {\n text:'Update Series',\n path:'/updateseries',\n icon:'UpdateSeriesIcon',\n active: 1\n }, {\n text:'Testing Search',\n path:'/testsearch',\n icon:'UpdateSeriesIcon',\n active: 1\n }\n];\n\nexport const DEVICECLASS = () => {\n // console.log(deviceDetect());\n if (isIOS13) {\n return \"device-ios13\";\n } else if (isIOS) {\n return \"device-ios\";\n } else if (isAndroid) {\n return \"device-android\";\n } else if (isElectron) {\n return \"device-electron\";\n } else {\n return \"\";\n }\n}","import React from \"react\";\nimport ReactDOM from 'react-dom'\nimport { Redirect } from \"react-router-dom\";\nimport { buttonStyles, cardStyles, colorPallete, textStyles } from \"../styles\";\nimport { isMobileOnly, isTablet, isElectron, isAndroid, isIOS, deviceDetect, deviceType, isIOS13, isBrowser } from 'react-device-detect';\n\nimport FormatQuoteIcon from '@material-ui/icons/FormatQuote';\nimport LocalHospitalIcon from '@material-ui/icons/LocalHospital';\nimport QuestionAnswerIcon from '@material-ui/icons/QuestionAnswer';\nimport DevicesIcon from '@material-ui/icons/Devices';\nimport LibraryBooksIcon from '@material-ui/icons/LibraryBooks';\nimport VideoLibrarySharpIcon from '@material-ui/icons/VideoLibrarySharp';\nimport VideoLibraryIcon from '@material-ui/icons/VideoLibrary';\nimport AssessmentIcon from '@material-ui/icons/Assessment';\nimport PictureAsPdfIcon from '@material-ui/icons/PictureAsPdf';\nimport OndemandVideoIcon from '@material-ui/icons/OndemandVideo';\nimport SpeakerIcon from '@material-ui/icons/Speaker';\nimport CodeIcon from '@material-ui/icons/Code';\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport HomeIcon from \"@material-ui/icons/Home\";\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { \n faGraduationCap, faUniversity, faBook, faBookmark, faHeadphones, faNewspaper, faTabletAlt, faVideo, faHome, faCog, faUserMd\n} from '@fortawesome/free-solid-svg-icons'\nimport { trackPage } from \"../actions\";\nimport { AISAPPID, AISKEY } from \"./globals\";\n\n// console.log(`typeof AUAID: ${typeof AUAID} | ${AUAID}`);\n\nexport const getAuth = () => {\n let obj = {\n mcid: 'core_search_page',\n key: ''\n }\n\n if (typeof localStorage.auth_feedback !== 'undefined' && localStorage.auth_feedback !== null) {\n obj = JSON.parse(localStorage.auth_feedback);\n } else if (typeof localStorage.auau_auth_feedback !== 'undefined' && localStorage.auau_auth_feedback !== null) {\n obj = JSON.parse(localStorage.auau_auth_feedback);\n }\n\n console.log(obj);\n\n return obj;\n}\n\nexport const getIcon = (icon, fontSize) => {\n if (typeof fontSize === 'undefined' || fontSize === null) { fontSize = \"2.5em\"; }\n // console.log('icon: ', icon);\n switch(icon) {\n case 'CoursesIcon': {\n return ;\n }\n case 'TranscriptsIcon': {\n return ;\n }\n case 'CoreCurriculumIcon': {\n return ;\n }\n case 'BookMarksIcon': {\n return ;\n }\n case 'PodCastsIcon': {\n return ;\n }\n case 'GuideLinesIcon': {\n return ;\n }\n case 'UpdateSeriesIcon': {\n return ;\n }\n case 'CoreCurriculumVideosIcon': {\n return ;\n }\n case 'SpeakerIcon': {\n return ;\n }\n case 'FormatQuoteIcon': {\n return ;\n }\n case 'LocalHospitalIcon': {\n return ;\n }\n case 'QuestionAnswerIcon': {\n return ;\n }\n case 'DevicesIcon': {\n return ;\n }\n case 'LibraryBooksIcon': {\n return ;\n }\n case 'VideoLibrarySharpIcon': {\n return ;\n }\n case 'VideoLibraryIcon': {\n return ;\n }\n case 'AssessmentIcon': {\n return ;\n }\n case 'PictureAsPdfIcon': {\n return ;\n }\n case 'OndemandVideoIcon': {\n return ;\n }\n case 'CodeIcon': {\n return ;\n }\n case 'HomeIcon': {\n return ;\n // return \n }\n case 'AccountCircleIcon': {\n return ;\n // return \n }\n case 'SettingsIcon': {\n return ;\n // return \n }\n default: {\n return null;\n }\n }\n}\n\nexport const stylePicker = (type, category) => {\n const classes = styleCategory(category);\n switch (type) {\n case \"primary\":\n return classes.primary;\n case \"secondaryBlue\":\n return classes.secondaryBlue;\n case \"secondaryGreen\":\n return classes.secondaryGreen;\n case \"neutralLight\":\n return classes.neutralLight;\n case \"neutralDark\":\n return classes.neutralDark;\n case \"neutralGreen\":\n return classes.neutralGreen;\n case \"accentGreen\":\n return classes.accentGreen;\n case \"accentAqua\":\n return classes.accentAqua;\n case \"accentBlue\":\n return classes.accentBlue;\n case \"accentRed\":\n return classes.accentRed;\n case \"accentOrange\":\n return classes.accentOrange;\n case \"accentYellow\":\n return classes.accentYellow;\n case \"questionButtons\":\n return classes.questionButtons;\n case \"dynamicButton\":\n return classes.dynamicButton;\n case \"trueQuestionButtons\":\n return classes.trueQuestionButtons;\n default:\n return classes.primary;\n }\n};\n\nexport const logErr = () => {\n // console.error();\n};\n\nexport const colorPicker = color => {\n const colors = colorPallete();\n switch (color) {\n case \"primary\":\n return colors.primary;\n case \"secondaryBlue\":\n return colors.secondaryBlue;\n case \"secondaryGreen\":\n return colors.secondaryGreen;\n case \"neutralLight\":\n return colors.neutralLight;\n case \"neutralDark\":\n return colors.neutralDark;\n case \"neutralGreenCard\":\n return colors.neutralGreenCard;\n case \"neutralGreen\":\n return colors.neutralGreen;\n case \"neutralBlue\":\n return colors.neutralBlue;\n case \"neutralBlueCard\":\n return colors.neutralBlueCard;\n case \"neutralBlueText\":\n return colors.neutralBlueText;\n case \"accentGreen\":\n return colors.accentGreen;\n case \"accentAqua\":\n return colors.accentAqua;\n case \"accentBlue\":\n return colors.accentBlue;\n case \"accentRed\":\n return colors.accentRed;\n case \"accentOrange\":\n return colors.accentOrange;\n case \"accentYellow\":\n return colors.accentYellow;\n case \"questionButtons\":\n return colors.questionButtons;\n case \"dynamicButton\":\n return colors.dynamicButton;\n case \"trueQuestionButtons\":\n return colors.trueQuestionButtons;\n case \"correctGradedButtons\":\n return colors.correctGradedButtons;\n case \"correctQuestionButtons\":\n return colors.correctQuestionButtons;\n case \"incorrectGradedButtons\":\n return colors.incorrectGradedButtons;\n case \"incorrectQuestionButtons\":\n return colors.incorrectQuestionButtons;\n case \"neutralLightCard\":\n return colors.neutralLightCard\n case \"neutralLightText\":\n return colors.neutralLightText\n case \"secondaryBlueCard\":\n return colors.secondaryBlueCard\n case \"secondaryBlueText\":\n return colors.secondaryBlueText\n case \"accentYellowCard\":\n return colors.accentYellowCard\n case \"accentYellowText\":\n return colors.accentYellowText\n case \"accentRedCard\":\n return colors.accentRedCard\n case \"accentRedText\":\n return colors.accentRedText\n case \"accentBlueCard\":\n return colors.accentBlueCard\n case \"accentBlueText\":\n return colors.accentBlueText\n case \"secondaryGreenText\":\n return colors.secondaryGreenText\n case \"secondaryGreenCard\":\n return colors.secondaryGreenCard\n case \"submitButtons\":\n return colors.submitButtons\n default:\n return;\n }\n};\n\nconst styleCategory = type => {\n switch (type) {\n case \"button\":\n return buttonStyles();\n case \"deck\":\n return cardStyles();\n case \"text\":\n return textStyles();\n default:\n return buttonStyles();\n }\n};\n\nexport const textValidate = (text, type) => {\n if (type === \"id\") {\n return /^[0-9]{8}$/.test(text);\n }\n if (type === \"email\") {\n return /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n text\n );\n }\n if (type === \"password\") {\n return /^\\S{6,}$/.test(text);\n }\n};\n\nexport const hashString = (string) => {\n let hash = 0, i, chr;\n if (string.length === 0) return hash;\n for (i = 0; i < string.length; i++) {\n chr = string.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n return hash;\n}\n\nexport const deviceData = (location, action, uri) => {\n if (typeof action !== 'undefined') { action = 'navigate'; }\n let pageVia = 'AUAUniversity App';\n\n let _type = 'mobile';\n\n if (isTablet) { _type = 'tablet' } else if (isElectron) { _type = 'testing' }\n\n if (isAndroid) {\n pageVia = `AUAUniversity Android ${_type} App`;\n } else if (isIOS) {\n pageVia = `AUAUniversity iOS ${_type} App`;\n } else if (isElectron) {\n pageVia = `AUAUniversity Electron ${_type} App`;\n } \n\n let device = deviceDetect();\n let obj = {\n pathname : '',\n pagevia : pageVia,\n action : action,\n os : 'unknown',\n ua : 'unknown',\n };\n\n if (typeof uri === 'string') {\n obj.pathname = `remoteURL - ${uri}`\n } else if (typeof location !== 'undefined') {\n obj.pathname = location.pathname;\n } else {\n return false;\n }\n\n if (isElectron || isBrowser) {\n obj.os = device.osName + ' ' + device.osVersion;\n obj.ua = device.userAgent;\n\n } else if (isIOS) {\n obj.os = device.os + ' ' + device.model + ' ' + device.osVersion;\n obj.ua = device.ua;\n } else if (isAndroid) {\n obj.os = 'android';\n obj.ua = 'android';\n\n if (typeof device.os !== 'undefined' && typeof device.model !== 'undefined' && typeof device.osVersion !== 'undefined') {\n obj.os = device.os + ' ' + device.model + ' ' + device.osVersion;\n } else if (typeof device.osName !== 'undefined') {\n obj.os = device.osName + ' ' + device.osVersion;\n }\n\n if (typeof device.ua !== 'undefined') {\n obj.ua = device.ua;\n } else if (typeof device.userAgent !== 'undefined') {\n obj.ua = device.userAgent;\n }\n }\n\n return obj;\n}\n\nexport const remoteURL = (uri) => {\n trackPage(null, deviceData(null,'navigate',uri));\n // console.log(_track);\n if (window.cordova) {\n if (window.cordova.InAppBrowser) {\n let type = '_blank';\n return window.cordova.InAppBrowser.open(uri, type, 'location=yes');\n } \n }\n\n return null;\n}\n\nexport const makeList = (arrs) => {\n let r = '';\n let c = 0;\n for (const index in arrs) {\n if (arrs[index]) {\n if (c > 0) {\n r += ',';\n }\n\n r += index;\n c++;\n }\n }\n return r;\n}\n\nexport const scrollTop = (id, offset) => {\n if (typeof id === 'undefined') { id = 'root'; }\n if (typeof offset === 'undefined') { offset = 54; }\n let elem = document.getElementById(id);\n // elem = ReactDOM.findDOMNode(id)\n if (elem) {\n // console.log('elem: ', elem);\n return elem.scrollIntoView({behavior: \"smooth\", block: \"center\", inline: \"nearest\"});\n return elem.scrollIntoView(offset);\n elem.scrollTo({top: offset, behavior: \"smooth\"});\n }\n\n return false;\n}\n\nexport const goTo = (id, offset) => {\n // console.log(`id: ${id}`);\n if (typeof id === 'undefined') { id = 'root'; }\n if (typeof offset === 'undefined') { offset = 54; }\n\n return scrollTop(id, offset);\n}\n\nexport const pageGoTo = (id, offset) => {\n if (typeof id === 'undefined') { id = 'root'; }\n if (typeof offset === 'undefined') { offset = 54; }\n\n // console.log(`id: ${id}`);\n return goTo(id, offset);\n}\n\nexport const killCopy = () => {\n return false;\n}\n\nexport const reEnable = () => {\n return true;\n}\n\nexport const preventCopy = () => {\n if (isElectron || isBrowser) {\n document.onselectstart = new Function (\"return false\")\n\n if (window.sidebar) {\n document.onmousedown = killCopy\n document.onclick = reEnable\n }\n } else {\n return false;\n }\n}\n\nexport const setContainer = (bool) => {\n let obj = { \n padding: \"0 64px 32px\", \n margin: \"24px 0 0\", \n width: \"calc(100% - 128px)\", \n // height: \"calc(100vh - 54px)\", \n // overflowY: \"auto\"\n } \n\n return obj;\n}\n\nexport const checkPersistantLogin = async (func) => {\n // console.log('persistantLogin');\n if (\n typeof localStorage.getItem('auau_login_dt') !== 'undefined' && \n localStorage.getItem('auau_login_dt') != null\n ) { \n const _date = new Date();\n let _expire = Number(localStorage.getItem('auau_login_dt'));\n const _now = Number(Date.parse(_date));\n\n if (_now < _expire && typeof func === 'function') {\n await func;\n\n return ()\n } else {\n return null;\n }\n } else {\n return null;\n }\n}\n\nexport const toggleClass = (id, cls) => {\n let element = document.getElementById(id);\n // console.log('element: ', element);\n\n if (element) {\n if (element.classList) {\n element.classList.toggle(cls);\n } else {\n const classes = element.className.split(\" \");\n let i = classes.indexOf(cls);\n \n if (i >= 0)\n classes.splice(i, 1);\n else {\n classes.push(cls);\n element.className = classes.join(\" \");\n }\n }\n }\n\n return null;\n}\n\nexport const getRandomIdentifier = (base) => {\n if (typeof base === 'undefined') { base = 16; }\n let _d = Date.now();\n\n // return parseInt(_d, base);\n\n return _d.toString(base).toUpperCase();\n}\n\nexport const createMarkup = props => {\n return { __html: props };\n};\n\nexport const showModal = (data) => {\n // console.log('showModal data: ', data);\n return false;\n}\n\nexport const parseHTMLEvent = (str) => {\n let temp = '';\n let target = '_blank';\n\n if (isElectron) { target = '_new'; }\n else if (isAndroid) { target = '_system'; }\n\n if (str.includes('showModal')) {\n temp = str.replace('showModal(', \"\");\n temp = temp.replace(/'/ig, '\"');\n temp = temp.replace(')',\"\");\n\n let obj = JSON.parse(temp);\n obj.uri = '#ref_' + obj.id;\n \n return {\n func: () => showModal(obj),\n _object: obj,\n type: 'coreref'\n }\n } else if (str.includes('remoteURL')) {\n // console.log('str: ', str);\n let temp = str.replace('remoteURL(', '');\n temp = temp.replace(')','');\n\n let obj = {\n uri: temp,\n target: target\n }\n\n // console.log('obj: ', obj);\n\n return {\n func: () => remoteURL(obj.uri),\n _object: obj,\n type: 'coreimg'\n }\n } else {\n return {\n func: null,\n _object: {\n str: str,\n uri: 'https://auaunet.org'\n },\n type: 'new_type'\n }\n }\n}\n\nexport const checkDate = (epoch, interval, _ls) => {\n if (typeof interval === 'undefined') { interval = 1 }\n let base = 1000 * 60 * 60 * Number(interval);\n let now = Date.now();\n let diff = now - Number(epoch);\n let _bool = diff > base;\n let mins = Math.trunc(diff / (1000 * 60));\n\n // console.log(` diff: ${diff} \\n base: ${base} \\n mins: ${mins} \\n _bool: ${_bool} `);\n\n /**\n * true - retrive new data\n * false - use old data\n */\n\n if (typeof _ls === 'string') { \n // console.log(_ls);\n localStorage.setItem(_ls, now);\n }\n\n return _bool;\n}\n\nexport const unlockScreen = () => {\n if (isIOS || isAndroid) {\n return window.screen.orientation.unlock();\n } else {\n return null;\n }\n}\n\nexport const lockScreen = (str) => {\n // console.log(`str: ${str}`);\n\n if (isIOS || isAndroid) {\n return window.screen.orientation.lock(str);\n } else {\n return null;\n }\n}\n\nexport const getThisYear = () => {\n let _d = new Date();\n\n return _d.getFullYear();\n}\n\nexport var USERDATA = {mcid: null, key: null};\n\nexport const setUserData = (data) => {\n // USERDATA = data;\n console.log(data)\n return null;\n}\n\nexport const aaInit = () => {\n return null;\n};\n\nexport const aisSearch = (data, user) => {\n let _obj = {\n userToken: user.mcid,\n eventName: 'Core Section Clicked',\n index: user.index,\n queryID: data.__queryID,\n objectIDs: [data.objectID],\n positions: [data.__position],\n }\n\n // console.log(aa);\n\n return null;\n}","import axios from \"axios\";\n\nexport const LOGIN_URL = \"https://university.auanet.org/mobileapps/admin/login/main.cfc?method=remoteLogin\"\nexport const MAIN_URL = \"https://university.auanet.org/mobileapps/admin/auauniversity/main.cfc\"\n\nexport const LOGIN_AXIOS = () => {\n return axios.create({\n baseURL: LOGIN_URL,\n timeout: 10000000000000\n });\n};\n\nexport const BASE_AXIOS = () => {\n return axios.create({\n baseURL: MAIN_URL,\n timeout: 10000000000\n });\n};\n\nexport const ETHOS_AXIOS = () => {\n return axios.create({\n baseURL: MAIN_URL,\n timeout: 10000000000000\n });\n};","import React from 'react';\nimport { Redirect } from \"react-router-dom\";\nimport { isTablet } from \"react-device-detect\";\nimport { BASE_AXIOS } from \"../config\";\n\nexport const apiGetUserDetails = async (mcid, key, data) => {\n let form = new FormData();\n form.append(\"mcid\", mcid);\n form.append(\"key\", key);\n form.append(\"internal\", true)\n\n if (typeof data !== 'undefined') {\n form.append(\"tracking\", 1);\n form.append(\"pathname\", data.pathname);\n form.append(\"pagevia\", data.pagevia);\n form.append(\"action\", data.action);\n form.append(\"os\", data.os);\n form.append(\"ua\", data.ua);\n } \n\n try {\n const response = await BASE_AXIOS().request({\n method: \"POST\",\n params: {\n method: \"getUserDetails\"\n },\n data: form\n });\n\n if (typeof response.data === 'object' || Array.isArray(response.data)) {\n return response.data;\n } else if (typeof response.data === 'string') {\n return ;\n }\n\n } catch (error) {\n throw error;\n }\n};\n\nexport const apiUpdateNotification = async (data) => {\n let form = new FormData();\n form.append(\"mcid\", data.mcid);\n form.append(\"key\", data.key);\n form.append(\"pkid\", data.pkid);\n form.append(\"state\", data.state);\n\n if (typeof data.tracking !== 'undefined') {\n form.append(\"tracking\", 1);\n form.append(\"pathname\", data.tracking.pathname);\n form.append(\"pagevia\", data.tracking.pagevia);\n form.append(\"action\", data.tracking.action);\n form.append(\"os\", data.tracking.os);\n form.append(\"ua\", data.tracking.ua);\n } \n\n let obj = {\n mcid:data.mcid,\n key:data.key,\n pkid:data.pkid,\n state:data.state,\n }\n\n try {\n const notifResults = await BASE_AXIOS().request({\n method: \"POST\",\n params: {\n method: \"updateNotification\"\n },\n data: form\n });\n\n return notifResults.data;\n } catch (e) {\n throw (e);\n } \n}\n\nexport const apiTrackPage = async (mcid, data) => {\n if (typeof mcid === 'undefined') {\n mcid = 'AUAUniversity App';\n }\n // console.log('\\nDATA: ', data, `\\nmcid: ${mcid}`); \n let form = new FormData();\n form.append(\"tracking\", 1);\n form.append(\"pathname\", data.pathname);\n form.append(\"pagevia\", data.pagevia);\n form.append(\"action\", data.action);\n form.append(\"os\", data.os);\n form.append(\"ua\", data.ua);\n form.append(\"key\", 1);\n form.append('internal', 1);\n form.append(\"mcid\", mcid);\n\n if (typeof data.detail !== 'undefined') {\n form.append(\"detail\", data.detail);\n }\n\n if (typeof data.detailvar !== 'undefined') {\n form.append(\"detailvar\", data.detailvar);\n }\n\n try {\n let response = await BASE_AXIOS().request({\n method: \"POST\",\n params: {\n method: \"trackUsage\"\n },\n data: form\n });\n\n // console.log(response);\n\n return response.data;\n } catch (error) {\n throw error;\n }\n}","export const LOGIN_USER_FAIL = \"login_user_fail\";\nexport const LOGIN_USER_SUCCESS = \"login_user_success\";\n\nexport const LOGOUT_SUCCESS = \"logout_success\";\nexport const LOGOUT_FAILURE = \"logout_failure\";\n\nexport const PERSISTANT_LOGIN = 'persistant_login';\nexport const PERSISTANT_LOGIN_FAIL = 'persistant_login_fail';\n\nexport const GET_USER_DETAILS = \"get_user_details\";\nexport const GET_USER_DETAILS_FAILED = \"get_user_details_failed\";\n\nexport const GET_DEVICE_DATA = 'device_data';\nexport const GET_DEVICE_DATA_FAILED = 'device_data_failed';\n\nexport const UPDATE_HEADER_INFO = \"update_header_info\";\nexport const UPDATE_HEADER_INFO_FAILED = \"update_header_info_failed\";\n\nexport const UPDATE_FOOTER_INFO = \"update_footer_info\";\nexport const UPDATE_FOOTER_INFO_FAILED = \"update_footer_info_failed\";\n\nexport const UPDATE_PROFILE = 'update_profile';\nexport const UPDATE_PROFILE_FAIL = 'update_profile_fail';\n\nexport const SEND_SUCCESS_LOGIN_FEEDBACK = \"send_success_login_feedback\";\n\nexport const GET_CORE_LIST = \"get_core_list\";\nexport const GET_CORE_LIST_FAILED = \"get_core_list_failed\";\n\nexport const GET_CORE_VIDEO_LIST = \"get_core_video_list\";\nexport const GET_CORE_VIDEO_LIST_FAILED = \"get_core_video_list_failed\";\n\nexport const GET_COURSES_LIST = \"get_courses_list\";\nexport const GET_COURSES_LIST_FAILED = \"get_courses_list_failed\";\n\nexport const GET_BOOKMARK_LIST = \"get_bookmark_list\";\nexport const GET_BOOKMARK_LIST_FAILED = \"get_bookmark_list_failed\";\n\nexport const GET_UPDATESERIES_LIST = \"get_updateseries_list\";\nexport const GET_UPDATESERIES_LIST_FAILED = \"get_updateseries_list_failed\";\n\nexport const GET_GUIDELINES_LIST = \"get_guidelines_list\";\nexport const GET_GUIDELINES_LIST_FAILED = \"get_guidelines_list_failed\";\n\nexport const GET_PODCASTS_LIST = \"get_podcasts_list\";\nexport const GET_PODCASTS_LIST_FAILED = \"get_podcasts_list_failed\";\n\nexport const APP_TRACK_DATA = \"app_track_data\";\nexport const APP_TRACK_DATA_FAILED = \"app_track_data_failed\";\n\nexport const HOME_UPDATES = 'home_updates';\nexport const HOME_UPDATES_FAILED = 'home_updates_failed'\n\nexport const GET_CORE_SECTION = 'get_core_section';\nexport const GET_CORE_SECTION_FAILED = 'get_core_section_failed';\n\nexport const GET_TRANSCRIPTS = 'get_transcripts';\nexport const GET_TRANSCRIPTS_FAILED = 'get_transcripts_failed';\n","import React from 'react';\nimport { apiGetDevice, apiTrackPage } from \"../api\"; \nimport { \n UPDATE_HEADER_INFO, UPDATE_HEADER_INFO_FAILED, \n GET_DEVICE_DATA, GET_DEVICE_DATA_FAILED, \n APP_TRACK_DATA, APP_TRACK_DATA_FAILED\n} from \"./types\";\n\nexport const getDeviceData = data => async dispatch => {\n try {\n let temp = await apiGetDevice(data);\n dispatch({\n type: GET_DEVICE_DATA,\n payload: temp\n });\n } catch (e) {\n dispatch({\n type: GET_DEVICE_DATA_FAILED,\n payload: e\n });\n }\n}\n\nexport const updateHeaderInfo = data => async dispatch => {\n if (typeof data.iconOne === 'undefined') { data.iconOne = 'home'; }\n if (typeof data.iconTwo === 'undefined') { data.iconTwo = 'menu'; }\n if (typeof data.name === 'undefined') { data.name = 'AUA University'; }\n if (typeof data.color === 'undefined') { data.color = '#00567a'; } \n\n let obj = {\n headerText: '',\n iconOne: '',\n iconTwo: 'menu',\n backgroundcolor: data.color\n }\n\n switch (data.route) {\n case \"home\": {\n obj = { headerText: \"AUA University\", iconOne: \"\", iconTwo: \"menu\", backgroundcolor: data.color };\n break;\n }\n\n default: {\n obj = { headerText: data.name, iconOne: data.iconOne, iconTwo: data.iconTwo, backgroundcolor: data.color };\n break;\n } \n }\n\n try {\n // console.log('\\nupdateHeaderInfo: ', obj);\n dispatch({\n type: UPDATE_HEADER_INFO,\n payload: obj\n });\n } catch (e) {\n // console.log('\\nFailed: ', e);\n dispatch({\n type: UPDATE_HEADER_INFO_FAILED,\n payload: e\n });\n } \n};\n\nexport const trackPage = (mcid, data) => async dispatch => {\n // console.log(mcid);\n // console.log(data);\n try {\n const response = await apiTrackPage(mcid, data);\n dispatch({\n type : APP_TRACK_DATA,\n payload : response\n });\n } catch (e) {\n console.log('error: ', e);\n dispatch({\n type : APP_TRACK_DATA_FAILED,\n payload : e\n });\n }\n}","import { applyMiddleware, createStore } from 'redux';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport thunk from 'redux-thunk';\nimport reducers from \"./reducers\";\n\nconst store = createStore(reducers, composeWithDevTools(applyMiddleware(thunk)));\n\nexport { store };\n\n","import React from \"react\";\n\nexport const CopyrightWidget = props => {\n let className = 'text-small text-grey '\n if (typeof props.className !== 'undefined') {\n className += props.className;\n }\n \n return (\n
\n {typeof props.begin !== 'undefined'\n ? (\n
\n
© {props.begin} - {props.year} American Urological Association.
\n
All Rights Reserved.
\n
\n )\n : (\n
\n
© {props.year} American Urological Association.
\n
All Rights Reserved.
\n
\n )\n }\n \n
\n );\n};\n","import { BottomNavigation, BottomNavigationAction } from \"@material-ui/core\";\nimport HomeIcon from \"@material-ui/icons/Home\";\nimport SettingsIcon from \"@material-ui/icons/Settings\";\nimport EmojiEventsIcon from '@material-ui/icons/EmojiEvents';\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { NavLink } from \"react-router-dom\";\nimport \"../styles/navStyles.css\";\nimport \"../styles/masterStyles.css\";\n\nconst Foot = props => {\n const [value, setValue] = React.useState(0);\n\n const footerIcon = icon => {\n switch (icon) {\n case \"settings\":\n return (\n }\n to=\"/settings\"\n component={NavLink}\n />\n );\n case \"profile\":\n return (\n }\n to=\"/profile\"\n component={NavLink}\n />\n );\n default:\n return (\n }\n to=\"/home\"\n component={NavLink}\n />\n );\n }\n };\n \n if (props.auth) {\n const { footerOne, footerTwo, footerThree } = props;\n return (\n {\n setValue(newValue);\n }}\n showLabels\n id=\"MainFooter\"\n >\n {footerIcon('home')}\n {footerIcon('settings')}\n {footerIcon('profile')}\n \n );\n } else {\n return null;\n }\n};\n\nconst mapStateToProps = state => {\n const { auth, user_details } = state.auth;\n const { footerOne, footerTwo, footerThree } = state.data;\n return { auth, user_details, footerOne, footerTwo, footerThree };\n};\n\nconst Footer = connect(mapStateToProps)(Foot);\n\nexport { Footer };\n","import { AppBar, Typography, Toolbar, IconButton } from \"@material-ui/core\";\nimport HomeIcon from \"@material-ui/icons/Home\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport SettingsIcon from \"@material-ui/icons/Settings\";\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport React from \"react\";\nimport { Link, withRouter, Redirect, useHistory } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { MenuDrawer, CoreMenuDrawer } from \"../components\";\nimport { DEVICECLASS } from \"../common\";\nimport \"../styles/navStyles.css\";\nimport { isAndroid, isIOS, isIOS13 } from \"react-device-detect\";\n\nlet deviceClass = \"appBar \" + DEVICECLASS();\n\n\nconst Head = props => {\n const _h = useHistory();\n const handleBack = () => {\n if (props.location.prevLoc && props.location.prevData) {\n let _obj = {\n pathname: props.location.prevLoc,\n state: {\n prevProps: props.location.prevData\n }\n };\n\n _h.replace(_obj);\n } else if (typeof props.history !== 'undefined') {\n props.history.goBack();\n } else {\n return false;\n }\n }\n\n if (props.auth) {\n const { iconOne, iconTwo, headerText, backgroundcolor } = props;\n // console.log('\\nheader: ', props);\n\n const iconSelector = icon => {\n switch (icon) {\n case \"menu\":\n return (\n \n );\n\n case \"coreMenu\":\n return (\n \n );\n\n case \"back\":\n return (\n \n \n \n )\n\n case \"search\":\n return (\n \n \n \n );\n case \"home\":\n return (\n \n \n \n \n \n );\n\n case \"profile\":\n return (\n \n \n \n \n \n );\n\n case \"settings\":\n return (\n \n \n \n \n \n );\n default:\n return (\n \n  \n \n );\n }\n };\n\n return (\n \n \n {iconSelector(iconOne)}\n\n \n {headerText || \"AUA University\"}\n \n\n {iconSelector(iconTwo)}\n \n \n );\n } else {\n return null;\n }\n};\n\nconst mapStateToProps = state => {\n const { auth } = state.auth;\n const { headerText, iconOne, iconTwo, backgroundcolor, coresectionmenu } = state.data;\n return { headerText, iconOne, iconTwo, auth, backgroundcolor, coresectionmenu };\n};\n\nconst Header = connect(mapStateToProps)(withRouter(Head));\n\nexport { Header }\n","import React from 'react';\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser';\nimport { parseHTMLEvent, showModal, remoteURL, goTo, pageGoTo } from \"../common\";\n\nconst options = {\n decodeEntities: true,\n transform\n}\n\nfunction transform (node, index) {\n if (node.type === 'tag' && node.name === 'div' ) {\n if (node.attribs && node.attribs.href) {\n node.name = 'a';\n }\n }\n else if (node.type === 'tag' && node.name === 'p' ) {\n if (node.children.length > 0) {\n\n }\n }\n\n else if (node.type === 'tag' && node.name === 'table' ) {\n // console.log('edit table info here.');\n }\n\n return convertNodeToElement(node, index, transform);\n}\n\nfunction editRef (obj, internal) {\n if ( typeof internal === 'undefined' ) { internal = false; } \n\n let _r = obj;\n const uri = obj.props.href;\n if (typeof uri !== 'undefined' && uri.startsWith('#')) { internal = true; }\n\n _r.props.onClick = (event) => {\n if (typeof uri !== 'undefined') { \n let _uri;\n if (uri.includes('#')) {\n if (internal) {\n _uri = uri.replace('#','')\n return pageGoTo(_uri, 56);\n } else {\n _uri = uri;\n if (_uri.startsWith(\"'\")) {\n _uri.replace(/'/g, \"\");\n }\n if (_uri.endsWith(\"'\")) {\n _uri.replace(/'/g, \"\");\n }\n return remoteURL(_uri);\n }\n } else {\n _uri = uri;\n if (_uri.startsWith(\"'\")) {\n _uri.replace(/'/g, \"\");\n }\n if (_uri.endsWith(\"'\")) {\n _uri.replace(/'/g, \"\");\n }\n return remoteURL(_uri);\n } \n } else {\n // console.log('no uri value...');\n return false;\n }\n }\n\n if (internal && typeof _r.props['href'] !== 'undefined') {\n delete _r.props['href'];\n }\n\n if (internal && typeof _r.props['target'] !== 'undefined') {\n delete _r.props['target'];\n }\n\n return _r;\n}\n\nfunction editRefLink (obj) {\n let _r = obj;\n\n for (const i of _r) {\n if (i.type === 'p') {\n if (i.props.children) {\n let children = i.props.children;\n\n for (const child of children) {\n if (child === null || child.type === 'string') {\n // console.log('child: ', child)\n } else if (typeof child !== 'string' && typeof child === 'object') {\n if (typeof child.type !== 'undefined' && child.type === 'sup') {\n for (const sup of child.props.children) {\n if (typeof sup.type !== 'undefined' && sup.type === 'a') {\n sup = editRef(sup, true);\n // console.log('sup tag', sup);\n }\n }\n } else if (typeof child !== 'string' && child.type === 'div') {\n\n } else if (typeof child !== 'string' && child.type === 'a') {\n // console.log('a tag: ', child);\n child = editRef(child, true);\n }\n } else if (Array.isArray(child)) {\n for (const a of child) {\n if (typeof a.type !== 'undefined' && a.type === 'a') {\n a = editRef(a, true);\n // console.log('a tag', a);\n }\n }\n } \n }\n } \n /*else if (typeof i.type !== 'undefined' && i.type === 'a') {\n i = editRef(i);\n }*/\n } \n /*else if (typeof i.type !== 'undefined' && i.type === 'a') {\n i = editRef(i);\n }*/\n }\n\n // console.log(_r);\n\n return _r;\n}\n\nfunction fixHTML (str) {\n let _html = str;\n _html = _html.replace(/<\\/sup>
/gi, '
');\n _html = _html.replace(/<\\/table><\\/div><\\/div>/gi, '');\n _html = _html.replace(/,,/gi, ',')\n\n return _html;\n} \n\nexport class HtmlComponent extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render () {\n let _html = fixHTML(this.props.html);\n let _comp = editRefLink( ReactHtmlParser(_html, options) );\n\n // console.log('HTMLComponent: ', _html);\n\n return (\n
{ _comp }
\n );\n }\n \n}","import React from 'react';\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/core/styles';\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\nimport List from '@material-ui/core/List';\nimport Divider from '@material-ui/core/Divider';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport MenuIcon from \"@material-ui/icons/Menu\";\n\nimport { getIcon } from \"../common\";\n\nimport \"../styles/navStyles.css\";\n\nconst useStyles = makeStyles({\n fullList: {\n width: 'auto',\n },\n});\n\nconst NavDrawer = props => {\n // console.log(props);\n const classes = useStyles();\n const [state, setState] = React.useState({\n top: false,\n left: false\n });\n\n const menu = props.homeList;\n\n const toggleDrawer = (anchor, open) => (event) => {\n if (event && event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) {\n return;\n }\n setState({ ...state, [anchor]: open });\n }\n\n const list = (anchor, data) => (\n \n \n \n \n \n {getIcon('HomeIcon')}\n \n \n \n \n\n \n \n \n {getIcon('AccountCircleIcon')}\n \n \n \n \n\n \n {data.map((item, index) => {\n return (\n \n \n \n {getIcon(item.icon)}\n \n \n \n \n )\n })}\n\n \n \n \n \n {getIcon('SettingsIcon')}\n \n \n \n \n\n \n \n \n \n {getIcon('SettingsIcon')}\n \n \n \n \n\n \n \n );\n\n return (\n
\n {['left'].map((anchor) => (\n \n \n \n {list(anchor, menu)}\n \n \n ))}\n
\n )\n}\n\nconst mapStateToProps = state => {\n const { auth } = state.auth;\n const { homeList } = state.data;\n return { auth, homeList };\n};\n\nconst MenuDrawer = connect(mapStateToProps)(NavDrawer);\n\nexport { MenuDrawer }","import React from 'react';\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport clsx from 'clsx';\nimport { makeStyles } from '@material-ui/core/styles';\nimport SwipeableDrawer from '@material-ui/core/SwipeableDrawer';\nimport List from '@material-ui/core/List';\nimport Divider from '@material-ui/core/Divider';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport HomeIcon from \"@material-ui/icons/Home\";\nimport MenuIcon from \"@material-ui/icons/Menu\";\nimport {decode} from 'html-entities';\n\nimport { getIcon, pageGoTo, createMarkup } from \"../common\";\n\nimport \"../styles/navStyles.css\";\n\nconst useStyles = makeStyles({\n fullList: {\n width: 'auto',\n },\n});\n\nconst CoreNavDrawer = props => {\n // console.log(props);\n const classes = useStyles();\n const [state, setState] = React.useState({\n top: false,\n left: false\n });\n\n const menu = props.coresectionmenu;\n\n const toggleDrawer = (anchor, open) => (event) => {\n if (event && event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) {\n return; \n }\n setState({ ...state, [anchor]: open });\n }\n\n const list = (anchor, data) => {\n return ( \n \n \n \n \n \n {}\n \n \n \n \n \n \n\n {typeof data !== 'undefined' && data.length > 0\n ? (\n <>\n \n {data.map((item, index) => {\n return (\n pageGoTo(item.target)}\n >\n \n \n )\n })}\n \n \n \n )\n : null\n }\n \n )\n };\n\n return (\n
\n {['left'].map((anchor) => (\n \n \n \n {list(anchor, menu)}\n \n \n ))}\n
\n )\n}\n\nconst mapStateToProps = state => {\n const { auth } = state.auth;\n const { homeList, coresectionmenu } = state.data;\n return { auth, homeList, coresectionmenu };\n};\n\nconst CoreMenuDrawer = connect(mapStateToProps)(CoreNavDrawer);\n\nexport { CoreMenuDrawer }","import React from \"react\";\nimport { CircularProgress } from \"@material-ui/core\";\nimport Modal from \"@material-ui/core/Modal\";\n\nconst LoadingCard = props => {\n let text = \"Loading...\";\n let color = \"#313131\";\n if (typeof props.text !== 'undefined') {\n text = props.text;\n }\n\n if (typeof props.color !== 'undefined') {\n color = props.color;\n }\n\n if (typeof props.spinner !== 'undefined') {\n props.spinner = true;\n }\n\n return (\n \n \n

{text}

\n \n )\n};\n\nexport { LoadingCard }\n","import algoliasearch from 'algoliasearch/lite';\nimport React, { Component } from 'react';\nimport { Link, Redirect } from 'react-router-dom';\nimport {\n InstantSearch,\n Hits,\n SearchBox,\n Pagination,\n Highlight,\n ClearRefinements,\n Configure,\n} from 'react-instantsearch-dom';\nimport { connect } from \"react-redux\";\nimport PropTypes from 'prop-types';\nimport { isBrowser } from 'react-device-detect';\nimport { goTo, setContainer, AISAPPID, AISKEY, AISINDEX, getThisYear, getAuth } from '../common';\n\nimport 'instantsearch.css/themes/satellite.css';\nimport { connectHitInsights, connectRefinementList } from 'react-instantsearch-dom';\nimport aa from 'search-insights';\nimport {\n createInsightsMiddleware,\n} from 'instantsearch.js/es/middlewares';\n\nimport \"../styles/masterStyles.css\";\nimport \"../styles/testSearchStyles.css\";\n\nimport { CopyrightWidget, LoadingCard } from '../components';\nimport { Divider, Typography } from '@material-ui/core';\n\nconst searchClient = algoliasearch(\n AISAPPID,\n AISKEY\n);\n\nconst _auth = getAuth();\n\nsearchClient.initIndex(AISINDEX[0]);\n\naa('init', {\n appId: AISAPPID,\n apiKey: AISKEY,\n});\n\naa('setUserToken', _auth.mcid);\nconst timeout = 1333;\n\nclass TestSearchClass extends Component {\n state = {\n core: [],\n loading: true,\n }\n\n componentDidMount = async () => {\n goTo('DIVContainer', 56);\n setTimeout(() => {\n return this.setState( {...this.state, loading: false} )\n }, timeout);\n }\n\n componentDidUpdate = async(prevProps, prevState) => { }\n\n render() {\n if (!this.state.loading) {\n return (\n <>\n
\n \n
\n \n \"aua\n \n
\n\n \n
\n\n
\n AUA Core Curriculum\n \n\n
\n \n Call for Core Video Abstracts 2021\n \n \n

\n The American Urological Association is now accepting teaching video abstracts for inclusion in the Urology Core Curriculum. Teaching video abstracts should provide step-by-step instructions for performing common urologic procedures. Each video submission will be reviewed by the Urologic Video Education Committee and the best videos in each category will be submitted to the Core Curriculum Committee for final selections. Authors of accepted videos will be notified by December 31, 2021. The accepted videos will be played in a continuous feed at the 2022 AUA Annual Meeting in New Orleans, LA. and will be published in the AUA Core Curriculum. Submissions will be accepted until August 31, 2021.\n

\n\n \n
\n\n \n
\n
\n AUA Core Topics\n\n \n
\n
\n AUA Core Sections\n\n \n\n \n\n \n
\n
\n
\n
\n \n \n \n );\n } else {\n return ( )\n }\n }\n}\n\nconst aisSearch = (data, user) => {\n let _obj = {\n userToken: user.mcid,\n eventName: 'Core Section Clicked',\n index: user.index,\n queryID: data.__queryID,\n objectIDs: [data.objectID],\n positions: [data.__position],\n }\n return _obj;\n}\n\nconst Hit = ({hit, insights}) => {\n let obj = {\n pathname:'/corecontent',\n data: {\n id: hit.sectionid,\n keywords: \"\",\n path: \"/corecontent\",\n text: hit.name\n },\n prevLoc:'/home',\n }\n\n let _obj = {};\n \n _obj.mcid = _auth.mcid;\n _obj.key = _auth.key;\n _obj.index = AISINDEX[0];\n\n const aisobj = aisSearch(hit, _obj);\n\n const aisEventClick = async (insights, obj) => {\n try {\n await insights('clickedObjectIDsAfterSearch', {\n eventName: 'Core Section Clicked',\n userToken: aisobj.userToken,\n queryID: aisobj.queryID,\n objectIDs: aisobj.objectIDs,\n positions: aisobj.positions,\n index: aisobj.index\n });\n } catch (e) {\n try {\n await aa('clickedObjectIDs', aisobj);\n } catch (err) {\n // console.log(err);\n }\n }\n }\n\n if (hit.webUri !== '') {\n return (\n
\n \n aisEventClick(insights, obj)\n }\n href={hit.webUri}\n className='width100'\n >\n
\n
\n \n
\n\n
\n \n
\n
\n
\n \n
\n \n
\n )\n } else {\n return null;\n }\n}\n\nconst RefinementList = ({\n items,\n isFromSearch,\n refine,\n searchForItems,\n createURL,\n}) => {\n function sorter (a,b) {\n let comparison = 0;\n if (a.label.toUpperCase() > b.label.toUpperCase()) {\n comparison = 1;\n } else if (b.label.toUpperCase() > a.label.toUpperCase()) {\n comparison = -1;\n }\n return comparison;\n }\n \n const sorted = items.sort(sorter);\n\n return (\n
    \n {sorted.map((item, index) => (\n
  • {\n event.preventDefault();\n refine(item.value);\n }}\n className=\"aua-li\"\n style={{ \n color: item.isRefined ? 'white' : '#00567a',\n backgroundColor: item.isRefined ? '#00567a' : 'transparent',\n padding: item.isRefined ? '8px' : '8px 0'\n }}\n >\n {isFromSearch ? (\n \n ) : (\n item.label\n )} {' '}\n ({item.count})\n
  • \n ))}\n
\n )\n};\n\nconst HitWithInsights = connectHitInsights(aa)(Hit);\nconst CustomRefinementList = connectRefinementList(RefinementList);\n\nHit.propTypes = {\n hit: PropTypes.object.isRequired,\n};\n\nconst mapStateToProps = state => {\n const { user_details, sync, auth_feedback } = state.auth;\n const { pagecount, core } = state.data;\n return {\n user_details, pagecount, core, sync, auth_feedback\n };\n};\n\nconst TestSearchScreen = connect(mapStateToProps, { \n \n})(\n TestSearchClass\n);\n\nexport { TestSearchScreen };\n","import { StylesProvider } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { HashRouter as Router, Route, Switch } from \"react-router-dom\";\nimport \"./styles/masterStyles.css\";\nimport { TestSearchScreen } from \"./screens/TestSearchScreen\";\n\n//TODO change question screen to protected route CoreVideoListScreen\n\nclass Routes extends React.Component {\n componentDidMount = async () => {\n \n }\n\n render() {\n // console.log('\\n\\nSTARTING Routes....');\n // console.log(\"router props: \", this.props);\n return (\n \n \n \n {/* */}\n \n \n \n \n );\n }\n}\n\nexport default Routes;","import React from 'react';\nimport { Provider } from 'react-redux';\nimport { store } from \"./initStore\";\nimport Routes from \"./Router\";\nimport { Component } from 'react';\nimport { fcm_messages } from \"./init-fcm\";\nimport { isBrowser, isElectron, isIOS, isIOS13, isAndroid } from 'react-device-detect';\nimport { androidNotifFunc, iosNotifFunc, webNotifFunc} from './common'\n\nclass App extends Component {\n componentDidMount = async () => {\n if (fcm_messages !== null) {\n if (isAndroid) {\n androidNotifFunc(fcm_messages);\n } else if (isIOS || isIOS13) {\n iosNotifFunc(fcm_messages);\n } else if (isElectron || isBrowser ) {\n webNotifFunc(fcm_messages)\n }\n }\n \n }\n\n render = () => {\n return (\n \n \n \n )\n }\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.1/8 is 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\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://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, 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, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\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.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport './index.css';\nimport * as serviceWorker from './serviceWorker';\nimport { closeAlert, preventCopy } from \"./common\"\nimport { isBrowser, isElectron, isIOS } from 'react-device-detect';\n\nconst startApp = async (props) => {\n if (\"serviceWorker\" in navigator) {\n if (isBrowser || isElectron) {\n const regURL = \"./fcm/firebase-messaging-sw.js\";\n navigator.serviceWorker.register(regURL, {\n updateViaCache: 'none'\n }).then(async (registration) => {\n // console.log(\"Registration successful: \", registration); \n }).catch((e) => {\n let _emsg = \"Service worker registration failed\";\n if (navigator.notification) {\n // navigator.notification.alert(\n // _emsg, \n // closeAlert, \n // 'Error', \n // 'Close'\n // );\n // console.log(_emsg + ': \\n', e);\n } else {\n // console.log(_emsg + ': \\n', e);\n }\n\n \n }).finally(() => {\n ReactDOM.render(, document.getElementById('root'));\n });\n } else {\n ReactDOM.render(, document.getElementById('root'));\n }\n } else {\n ReactDOM.render(, document.getElementById('root'));\n } \n}\n\nif (window.cordova) {\n document.addEventListener('deviceready', startApp(true), false);\n function onDeviceReady() {\n if (isIOS) {\n window.cordova.plugins.disableCopyPaste.start(function(){\n console.log('disableCopyPaste success');\n }, function(sError) {\n console.log('disableCopyPaste error'); \n });\n }\n\n // console.log('\\nonDeviceReady fired...');\n window.open = window.cordova.InAppBrowser.open;\n }\n navigator.splashscreen.hide();\n} else {\n preventCopy();\n startApp(false)\n};\n\nserviceWorker.unregister();","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const buttonStyles = makeStyles({\n primary: {\n borderRadius: \"3px !important\",\n border: 0,\n height: 48,\n padding: \"0 30px\",\n // boxShadow: \"0 3px 5px 2px rgba(181, 181, 181, .71)\",\n textTransform: \"capitalize\",\n fontSize: 14\n },\n label: {\n textTransform: \"capitalize\"\n },\n questionButtonsContainer: {\n padding: \"5px 20px !important\",\n textTransform: \"none !important\",\n },\n deckCardButtons: {\n padding: \"8px !important\",\n // marginTop: \"15px !important\",\n // marginLeft: \"15px !important\",\n spacing: 1,\n background: \"linear-gradient(45deg, #FCFDFC 30%, #FCFDFC 90%)\",\n color: \"rgba(152, 152, 152, 1)\"\n },\n deckCardButtonText: {\n marginTop: \"4px\",\n color: \"rgba(152, 152, 152, 1)\",\n fontSize: \"0.6em\",\n textAlign: \"center\",\n fontWeight: \"700\"\n },\n answerButtons: {\n padding: 10\n },\n homeDeckButton: {\n width: \"5em\",\n height: \"7em !important\",\n marginLeft: \"8px\",\n marginBottom: \"8px\",\n padding: \"4px !important\",\n borderRadius: \"8px !important\",\n transition: \"none !important\",\n boxShadow: \"2px 3px 5px rgba(170,175,167, .5) !important\"\n },\n deckButtons: {\n color: \"rgba(152, 152, 152, 1)\"\n },\n homeCustomDeckButtons: {\n height: \"5em\"\n },\n otherAnswerOptions: {\n borderRadius: \"0 !important\"\n },\n firstAnswerOption: {\n borderBottomRightRadius: \"0 !important\",\n borderBottomLeftRadius: \"0 !important\"\n },\n lastAnswerOption: {\n borderTopRightRadius: \"0 !important\",\n borderTopLeftRadius: \"0 !important\"\n },\n lastHomeDeckButon: {\n paddingRight: 20\n },\n answerOptions: {\n padding: \"10px 5px\"\n }\n});\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const cardStyles = makeStyles({\n root: {\n // background: \"#fff\",\n // borderRadius: 5,\n border: 0,\n // color: \"white\",\n height: \"100%\",\n padding: \"10px\"\n // boxShadow: \"0 3px 5px 2px rgba(255, 105, 135, .3)\"\n },\n questionContainer: {\n justifyContent: \"space-between\",\n padding: 10,\n border: 0,\n borderRadius: 3,\n background: \"#FFFFFF\",\n // boxShadow: \"0 3px 5px 2px rgba(181, 181, 181, .71)\",\n // height: \"100%\"\n overflowY: \"scroll\"\n },\n\n //DECK CONTAINER SECTION\n deckContainer: {\n justifyContent: \"space-between\",\n padding: 10,\n border: 0,\n borderRadius: 15,\n // boxShadow: \"0 3px 5px 2px rgba(181, 181, 181, .71)\",\n height: \"100%\"\n },\n //DECK CONTAINER SECTION ABOVE ^^\n homeDeckButtonContainer: {\n display: \"flex\",\n background: \"linear-gradient(45deg, transparent, transparent)\"\n },\n homeDeckContainer: {\n justifyContent: \"space-between\",\n padding: \"1.5em\",\n borderRadius: 15,\n background: \"#e8e8e8\",\n // boxShadow: \"0 3px 5px 2px rgba(181, 181, 181, .71)\",\n height: \"11em !important\",\n width: \"8em !important\",\n marginLeft: \"10px !important\",\n marginRight: \"0px !important\",\n marginTop: \"5px !important\",\n marginBottom: \"10px !important\"\n },\n\n gridContainer: {\n paddingBottom: 10,\n paddingTop: 10,\n paddingLeft: 5,\n paddingRight: 5\n },\n deckButtonContainer: {\n display: \"flex\",\n flexDirection: \"flex-end\",\n marginTop: 10\n },\n //Test Cards\n testCardContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n // padding: \"0px !important\",\n border: 0,\n borderRadius: \"0px !important\",\n maxWidth: \"100% !important\",\n // boxShadow: \"0 3px 5px 2px rgba(181, 181, 181, .71)\",\n height: \"100%\"\n // marginTop: \"1.5em\",\n // marginBottom: \".5em\"\n },\n testCardTextContainer: {\n display: \"flex\",\n justifyContent: \"center\"\n },\n testCardRowContainer: {\n padding: 5\n },\n testCardTextGrid: {\n width: \"100%\"\n },\n testCardDivder: {\n flexBasis: \"0% !important\",\n marginTop: \".3em\",\n height: \"85%\"\n },\n questionTextContainer: {\n border: 0,\n paddingTop: \"0px !important\",\n height: \"100%\",\n padding: \"10px\"\n }\n});\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const colorPallete = makeStyles({\n //button colors\n root: {\n color: \"black\"\n },\n deckButtons: {\n color: \"rgba(152, 152, 152, 1)\"\n },\n primary: {\n background: \"linear-gradient(45deg, #00567a 30%, #00567a 90%)\",\n color: \"#f1f5f9\"\n },\n secondaryBlue: {\n background:\n \"linear-gradient(45deg, rgba(98, 181, 229, .5), rgba(98, 181, 229, .5))\",\n color: \"rgba(91, 114, 127, .5)\"\n },\n secondaryGreen: {\n background:\n \"linear-gradient(45deg, rgba(111, 162, 135, .4), rgba(111, 162, 135, .4))\",\n color: \"rgba(93, 104, 98, 1)\"\n },\n neutralLight: {\n background: \"linear-gradient(45deg, rgba(0, 0, 0 .15), rgba(0, 0, 0 .15))\",\n color: \"rgba(105, 105, 105, 1)\"\n },\n neutralDark: {\n background: \"linear-gradient(45deg, #7c878e 30%, #7c878e 90%)\",\n color: \"#f1f5f9\"\n },\n neutralGreen: {\n background:\n \"linear-gradient(45deg, rgba(229, 240, 223, 1) 30%, rgba(229, 240, 223, 1) 90%)\",\n color: \"rgba(152, 152, 152, 1)\",\n \":hover\": {\n background:\n \"linear-gradient(45deg, rgba(229, 240, 223, 1) 30%, rgba(229, 240, 223, 1) 90%)\"\n }\n },\n neutralBlue: {\n background:\n \"linear-gradient(45deg, rgba(178, 199, 227, 1), rgba(178, 199, 227, 1))\",\n color: \"rgba(152, 152, 152, 1)\"\n },\n accentGreen: {\n background: \"linear-gradient(45deg, #a1d884 30%, #a1d884 90%)\",\n color: \"rgba(152, 152, 152, 1)\"\n },\n accentAqua: {\n background:\n \"linear-gradient(45deg, rgba(98, 181, 229, .5), rgba(98, 181, 229, .5))\",\n color: \"rgba(0, 0, 0, .5)\"\n },\n accentBlue: {\n background:\n \"linear-gradient(45deg, rgba(0, 86, 122, .45), rgba(0, 86, 122, .45))\",\n color: \"rgba(65, 84, 92, 1)\"\n },\n accentRed: {\n background:\n \"linear-gradient(45deg, rgba(214, 164, 97, .5), rgba(214, 164, 97, .5))\",\n color: \"rgba(111, 99, 82, 1)\"\n },\n accentOrange: {\n background: \"linear-gradient(45deg, #d6a461 30%, #d6a461 90%)\",\n color: \"#f1f5f9\"\n },\n accentYellow: {\n background:\n \"linear-gradient(45deg, rgba(210, 215, 85, .5), rgba(210, 215, 85, .5))\",\n color: \"rgba(110, 112, 79, 1)\"\n },\n questionButtons: {\n height: \"100%\",\n background:\n \"linear-gradient(45deg, rgba(0, 0, 0, .08) 30%, rgba(0, 0, 0, .08) 90%) !important\",\n color: \"rgba(0, 0, 0, .9) !important\",\n width: \"100%\",\n padding: \"10px !important\",\n \"&:disabled\": {\n opacity: 0.3\n }\n },\n trueQuestionButtons: {\n height: \"100%\",\n background:\n \"linear-gradient(45deg, rgba(98, 181, 229, .3) 30%, rgba(98, 181, 229, .3) 90%) !important\",\n color: \"rgba(0, 0, 0, .9)\",\n width: \"100%\",\n padding: \"10px !important\"\n },\n testTableButtons: {\n background:\n \"linear-gradient(45deg, rgba(241, 249, 255, 1), rgba(241, 249, 255, 1))\"\n },\n //Text Colors\n neutralLightText: {\n color: \"rgba(112, 112, 112, 1)\"\n },\n neutralGreenText: {\n color: \"rgba(114, 120, 111, 1)\"\n },\n neutralBlueText: {\n color: \"rgba(89, 99, 113, 1)\"\n },\n darkBlueText: {\n color: \"rgba(8, 86, 122, 1)\"\n },\n lightBlueText: {\n color: \"rgba(120, 124, 127, 1)\"\n },\n primaryText: {\n color: \"#00567a\"\n },\n accentRedText: {\n color: \"rgba(111, 99, 82, 1) !important\"\n },\n accentYellowText: {\n color: \"rgba(110, 112, 79, 1) !important\"\n },\n accentBlueText: {\n color: \"rgba(65, 84, 92, 1)\"\n },\n secondaryBlueText: {\n color: \"rgba(91, 114, 127, .5) !important\"\n },\n secondaryGreenText: {\n color: \"rgba(93, 104, 98, 1) !important\"\n },\n\n //Card Colors\n neutralBlueCard: {\n background: \"rgba(178, 199, 227, 1) !important\",\n color: \"rgba(152, 152, 152, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(144, 155, 169, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(178, 199, 227, 1) 30%, rgba(178, 199, 227, 1) 90%) !important\"\n }\n },\n neutralGreenCard: {\n background: \"rgba(229, 240, 223, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(170, 175, 167, 1) !important\",\n color: \"rgba(152, 152, 152, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(229, 240, 223, 1) 30%, rgba(229, 240, 223, 1) 90%) !important\"\n }\n },\n accentBlueCard: {\n background: \"rgba(0, 86, 122, .45) !important\",\n color: \"rgba(65, 84, 92, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(122, 141, 150, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(0, 86, 122, .45) 30%, rgba(0, 86, 122, .45) 90%) !important\"\n }\n },\n secondaryBlueCard: {\n background: \"rgba(98, 181, 229, .5) !important\",\n color: \"rgba(91, 114, 127, .5) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(140, 161, 173, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(98, 181, 229, .5) 30%, rgba(98, 181, 229, .5) 90%) !important\"\n }\n },\n secondaryGreenCard: {\n background: \"rgba(111, 162, 135, .4) !important\",\n color: \"rgba(93, 104, 98, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(151, 161, 156, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(111, 162, 135, .4) 30%, rgba(111, 162, 135, .4) 90%) !important\"\n }\n },\n neutralLightCard: {\n background: \"rgba(0, 0, 0 .15) !important\",\n color: \"rgba(105, 105, 105, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(165, 165, 165, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(0, 0, 0 .15) 30%, rgba(0, 0, 0 .15) 90%) !important\"\n }\n },\n accentYellowCard: {\n background: \"rgba(210, 215, 85, .5) !important\",\n color: \"rgba(110, 112, 79, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(168, 170, 137, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(210, 215, 85, .5) 30%, rgba(210, 215, 85, .5) 90%) !important\"\n }\n },\n accentRedCard: {\n background: \"rgba(214, 164, 97, .5) !important\",\n color: \"rgba(111, 99, 82, 1) !important\",\n border: \"1px solid !important\",\n borderColor: \"rgba(169, 157, 140, 1) !important\",\n \"&:hover\": {\n background:\n \"linear-gradient(45deg, rgba(214, 164, 97, .5) 30%, rgba(214, 164, 97, .5) 90%) !important\"\n }\n },\n //\n lightBlueCard: {\n background: \"rgba(241, 249, 255, 1)\",\n color: \"rgba(120, 124, 127, 1)\"\n },\n correctGradedButtons: {\n height: \"100%\",\n background:\n \"linear-gradient(45deg, rgba(161, 216, 132, .5) 30%, rgba(161, 216, 132, .5) 90%) !important\",\n color: \"rgba(0, 0, 0, .9)\",\n width: \"100%\",\n padding: \"10px !important\"\n },\n incorrectGradedButtons: {\n height: \"100%\",\n background:\n \"linear-gradient(45deg, rgba(192, 125, 89, .5) 30%, rgba(192, 125, 89, .5) 90%) !important\",\n color: \"rgba(0, 0, 0, .9)\",\n width: \"100%\",\n padding: \"10px !important\"\n },\n correctQuestionButtons: {\n height: \"100%\",\n background:\n \"linear-gradient(45deg, rgba(161, 216, 132, .5) 30%, rgba(161, 216, 132, .5) 90%) !important\",\n color: \"rgba(0, 0, 0, .9)\",\n width: \"100%\",\n padding: \"10px !important\"\n },\n incorrectQuestionButtons: {\n height: \"100%\",\n background:\n \"linear-gradient(45deg, rgba(192, 125, 89, .5) 30%, rgba(192, 125, 89, .5) 90%) !important\",\n color: \"rgba(0, 0, 0, .9)\",\n width: \"100%\",\n padding: \"10px !important\"\n },\n submitButtons: {\n height: \"4em\",\n background:\n \"linear-gradient(45deg, rgba(0, 0, 0, .08) 30%, rgba(0, 0, 0, .08) 90%) !important\",\n color: \"rgba(0, 0, 0, .9) !important\",\n width: \"100%\",\n marginBottom: \"15px\",\n padding: \"10px !important\",\n \"&:disabled\": {\n background:\n \"linear-gradient(45deg, rgba(0, 0, 0, .08) 30%, rgba(0, 0, 0, .08) 90%) !important\",\n color: \"rgba(0, 0, 0, .9) !important\"\n }\n }\n});\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const textStyles = makeStyles({\n root: {\n color: \"black\"\n },\n testCardText: {\n textAlign: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n alignContent: \"center\",\n fontSize: \"14px !important\"\n },\n italics: {\n fontStyle: \"italic\"\n },\n bold: {\n fontWeight: \"bold !important\"\n },\n testCardYearText: {\n textAlign: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n alignContent: \"center\",\n fontSize: \"20px !important\"\n },\n homeDeckCardsText: {\n textTransform: \"uppercase !important\",\n fontSize: \".9rem !important\",\n marginBottom: \"0px !important\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis !important\"\n }\n});\n","export * from \"./functions\";\nexport * from \"./notifications\";\nexport * from \"./globals\";\n"],"sourceRoot":""}