{"version":3,"sources":["redux/woundDashSlice.js","asset/gif/login-page-1.gif","navigation/contants.js","components/loader/loader.jsx","pages/Splash/SplashView.jsx","components/Navbar/NavbarView.jsx","redux/dataSlice.js","services/core/union.js","services/firebase/firebaseAuth.js","services/firebase/index.js","services/facade/auth.js","redux/authSlice.js","components/elements/LinearProgressBar/index.jsx","pages/profieSetting/settingsContainer.js","pages/profieSetting/index.js","components/Sidebar/SidebarView.jsx","redux/mainDashSlice.js","components/Sidebar/SidebarContainer.js","components/ImageDashboard/ImageComponent/ImageComponentView.jsx","redux/imageSlice.js","components/ImageDashboard/ImageDashboardView.jsx","components/MainDash/components/IlluminateActivtyGraph.js","components/MainDash/components/DatePickerComponent.js","components/MainDash/components/MacroMetricsCarousel.js","components/MainDash/components/MissingDataAlert.js","components/MainDash/components/reminders.js","components/MainDash/MainDashView.jsx","components/MainDash/MainDashContainer.js","components/IFrame/frame.js","components/IFrame/visitBar.js","components/IFrame/IFrameView.jsx","components/IFrame/IFrameContainer.js","pages/Home/HomeView.jsx","pages/Home/HomeContainer.js","pages/Splash/SplashContainer.js","pages/Login/LoginView.jsx","pages/Login/LoginContainer.js","navigation/RouterConfig.jsx","App.js","reportWebVitals.js","redux/store.js","index.js","redux/visitDashSlice.js","services/facade/dataStore.js","components/WoundDash/ImageComponent/ImageComponentView.jsx","components/WoundDash/ImageComponent/ImageComponentContainer.js","components/WoundDash/ImageComponent/index.js","services/firebase/firebaseStorage.js","components/VisitDash/VisitDashView.jsx","components/VisitDash/ImageDashView.jsx","components/VisitDash/Report.jsx","components/VisitDash/VisitDashContainer.js","components/VisitDash/index.js","redux/dashboardSlice.js","components/WoundDash/WoundDashView.jsx","components/WoundDash/WoundDashContainer.js","components/WoundDash/index.js","asset/icons/firmware_icon.png","asset/icons/hardware_icon.png","asset/icons/ram_icon.png","asset/icons/stack_icon.png"],"names":["__webpack_require__","d","__webpack_exports__","fetchImageAndURL","fetchLImageAndURL","fetchWoundDataPoint","fetchWoundMetrics","selectWoundDashState","_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__","services_facade_dataStore__WEBPACK_IMPORTED_MODULE_1__","initialState","PID_","woundDataPoint","isFetching","isError","woundMetrics","imageWL","imageWLL","thumbnail","data","mDataStore","DataStore","createAsyncThunk","_ref","thunkAPI","PID","VID","searchStr","dateString","Promise","resolve","reject","fetchImagePath","then","path","console","log","fetchImagePathFromProcessed","fetchImageURL","url","catch","err","_ref2","createThumbnail","_ref3","_ref4","_ref5","woundDashSlice","createSlice","name","reducers","refreshData","state","setPID","_ref6","payload","extraReducers","[object Object]","pending","rejected","fulfilled","_ref7","_ref8","_ref9","_ref10","_ref11","actions","woundDashState","module","exports","p","ROUTES","Loader","width","height","style","options","loop","autoplay","animationData","React","createElement","Lottie","isClickToPauseDisabled","cursor","Wrapper","styled","div","_templateObject","_taggedTemplateLiteral","_templateObject2","SplashView","NavbarView","getUserName","userName","getGeneralUserAnaltycs","gua","getVisitData","listPatientData","listPatients","listVisitData","props","listVisits","dataSlice","patients","isInnerFetching","generalUserAnalytics","value","visitData","pushNewImage","res","selectDataState","dataState","union","types","reduce","prev","type","match","fns","firebaseSetPersistence","async","auth","getAuth","setPersistence","browserLocalPersistence","browserSessionPersistence","firebaseLogin","email","password","signInWithEmailAndPassword","userCredentials","user","error","code","firebaseAuthCheck","currentUser","firebaseSignout","signOut","firebaseInit","getApps","length","firebaseConfig","apiKey","process","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","initializeApp","AuthError","mAuth","constructor","this","init","authCheck","uid","displayName","login","invalidEmail","userNotFound","wrongPassword","genericError","logout","checkAuthStatus","initApp","params","dispatch","authError","rejectWithValue","authSlice","isSuccess","clearState","selectAuthState","authState","LinearProgressBar","SettingsContainer","userInfo","aboutDevice","setAboutDevice","useState","alertMsg","setAlertMsg","isLoading","setLoading","showAllDetails","setshowAllDetails","userConfig","setUserConfig","isUserConfigEditting","setUserConfigEdit","newUserconfig","setNewUserConfig","hospitalLogoUrl","setHospitalLogoUrl","progress","setProgress","missingData","setMissingData","useEffect","firebaseGetUserConfig","firebaseGetDeviceDetail","firebaseGetMissingData","firebaseGenerateDownloadURL","concat","getUID","Fragment","className","padding","position","Alert","title","severity","borderRadius","background","Badge","anchorOrigin","vertical","horizontal","overlap","badgeContent","IconButton","aria-label","component","variant","backgroundColor","color","hidden","accept","onChange","e","file","target","files","storage","getStorage","getOrInitApp","storageRef","ref","task","uploadBytesResumable","on","snapshot","bytesTransferred","totalBytes","getDownloadURL","PhotoCamera","Avatar","src","border","imgProps","aspectRatio","objectFit","TextField","margin","label","hospitalName","idPrefix","disabled","onClick","CancelOutlined","Button","updateUserData","reponse","startIcon","Edit","ArrowDropUpOutlined","ArrowDropDownCircleOutlined","Table","size","TableBody","Object","keys","map","key","TableRow","TableCell","appVersion","AndroidOutlined","fontSize","chassisVersion","PhoneAndroidRounded","firmwareId","alt","firmwareIcon","hardwareVersion","hardwareIcon","ram","ramIcon","ramAvailable","toFixed","storageAvailable","storageTotal","stackIcon","parseInt","split","join","NumberOfMissingImages","TableHead","MissingImages","pid","at","ProfileSetting","isOpen","setIsOpen","handleClose","CustomDialog","Dialog","theme",".MuiPaper-root","SettingsOutlined","open","onClose","fullWidth","maxWidth","SidebarView","searchQuery","setSearchQuery","selectedPatient","setSelectedPatient","useSelector","tabs","selectDashboardState","patientList","setPatientList","useHistory","href","data-widget","opacity","marginTop","onLogout","placeholder","Close","Search","role","data-accordion","onHomeClick","currentTab","Scrollbars","sort","a","b","includes","toUpperCase","onClickHandler","marginLeft","marginRight","getVisitDataPoints","fetchVisitDataPoints","getAllWoundMetrics","firebaseGetPatientListFromStorage","listFromStorage","prefixes","forEach","dd","_location","mainDashSlice","mainDashData","pData","vPoints","processedDashData","reducres","onDataChange","processedData","patient","visit","date","slice","visits","Array","isArray","values","selectMainDashState","mainDashState","insert","arr","index","newItem","SidebarContainer","useDispatch","selectedPID","setSelectedPID","allWoundDataPoints","setAllWoundDataPoints","firebaseGetAllWoundDataPoint","WoundDataPoints","tempDataPoints","point","populateDash","logoutEvent","changeCurrentTab","fetchImages","imageSlice","imageURLData","imageFilters","imageSlice_pushNewImage","_templateObject3","ChartJS","register","CategoryScale","LinearScale","PointElement","ArcElement","LineElement","Title","Tooltip","Legend","Filler","createPlotlyComponent","Plotly","IlluminateActivtyGraph","ordered","Date","useWindowSize","setSize","useLayoutEffect","updateSize","window","innerWidth","innerHeight","addEventListener","removeEventListener","lineXY","createDataset","xArr","yArr","i","push","x","y","lineData","labels","datasets","fill","borderColor","borderWidth","tension","pointHoverBorderColor","pointHoverBackgroundColor","pointBorderWidth","pointHoverBorderWidth","pointRadius","pointHoverRadius","lineOptions","maintainAspectRatio","responsive","plugins","legend","filler","propagate","tooltip","displayColors","intersect","yPadding","xPadding","caretSize","bodyFontColor","yAlign","callbacks","t","dataset","dataIndex","afterBody","enabled","external","context","tooltipEl","document","getElementById","id","innerHTML","body","appendChild","tooltipModel","classList","remove","add","titleLines","bodyLines","bodyItem","lines","innerHtml","colors","labelColors","querySelector","chart","canvas","getBoundingClientRect","left","pageXOffset","caretX","top","pageYOffset","caretY","pointerEvents","scales","beginAtZero","min","display","justifyContent","Line","displayColor","beforeDraw","_active","ctx","save","activePoint","beginPath","setLineDash","moveTo","element","lineTo","chartArea","bottom","lineWidth","strokeStyle","stroke","restore","Container","DatePickerComponent","DateRangePicker","startDate","endDate","onStartDateChange","setStartDate","onEndDateChange","setEndDate","minimumLength","format","locale","enGB","startDateInputProps","endDateInputProps","focus","assign","START_DATE","END_DATE","MacroMetricsCarousel","setMonth","getMonth","setHours","setMinutes","setSeconds","setMilliseconds","aggregateData","setAggregateData","totalVisits","newPatients","recurringPatients","selectedData","setSelectedData","gramMetrics","setGramMetrics","graphData","setGraphData","tmp","tmp2","tmp3","vals","vMetrics","moment","toDate","toLocaleDateString","replaceAll","textAlign","sx","handleRemainderOpen","isRemainderOpen","NotificationsNoneOutlined","todayReminderCount","Notifications","alignItems","v","IlluminateActivityGraph","MissingDataAlert","Reminders","isReminderOpen","setTodayReminderCount","handleReminderOpen","reminderList","setReminderList","getTodayReminderKey","currentDate","day","getDate","month","year","getFullYear","dateFormatted","toString","firebaseGetReminderList","maxHeight","overflow","getRemindersDate","dateArr","Error","dayCount","startTime","getTime","endTime","difference","Math","abs","ceil","isToday","DialogTitle","notify","fontFamily","textTransform","CSVLink","reminderData","tableData","filter","reminderDate","toDateString","lastVisitNo","lastVisitDate","nextVisitDate","getTableContent","filename","asyncOnClick","Download","DialogContent","Chip","NotificationsActiveRounded","number","nthNumber","flexDirection","noReminders","MainDashView","reminderOpen","setRemainderOpen","paddingBottom","Remainders","MainDashContainer","vData","default","VisitDash","require","WoundDash","Frame","marginBottom","visitBar_TextField","visitBar_styled","VisitBar","Input","input","zIndex","& label.Mui-focused","outline","& .MuiInput-underline:after","borderBottomColor","& .MuiOutlinedInput-root","&.Mui-focused fieldset","&:hover fieldset"," fieldset","autoFocus","handlevisit","IFrameView","setVisit","navTab","useRef","scroll","scrollOffset","current","scrollLeft","handleTab","onTabClick","data-loading-screen","preventDefault","max","overflowY","indexOf","MainDash","IFrameContainer","onTabClose","closeTab","onCloseAllTabs","closeAllTabs","onCloseAllTabsExcept","closeAllTabsExcept","onMoveTab","direction","moveTab","HomeView","Sidebar","IFrame","HomeContainer","SplashContainer","HomeScreen","Redirect","to","LoginView","backgroundImage","right","action","method","setEmail","setPassword","onSetPersistence","checked","htmlFor","onLogin","xmlns","xmlnsXlink","viewBox","preserveAspectRatio","shape-rendering","xlinkHref","fillOpacity","LoginContainer","alert","loginEvent","RouterConfig","Switch","Route","LoginScreen","SplashScreen","App","Router","reportWebVitals","onPerfEntry","Function","bind","getCLS","getFID","getFCP","getLCP","getTTFB","store","configureStore","reducer","authReducer","dataStoreReducer","dashboardState","dashboardReducer","imageState","imageReducer","mainDashReducer","woundDashReducer","visitDashState","visitDashReducer","middleware","getDefaultMiddleware","serializableCheck","ignoredActionPaths","ignoredPaths","ReactDOM","render","StrictMode","Provider","fetchVisitDataPoint","selectVisitDashState","getVisitDataPoint","dateStr","visitDashSlice","services_firebase_firebaseStorage__WEBPACK_IMPORTED_MODULE_0__","firebaseListPatients","firebaseListVisits","fullPath","firebaseGetName","firebaseGetGeneralUserAnaltycs","firebaseGetVisitDataPoint","searchString","firebaseGetImagePathFromProcessed","firebaseGetImagePath","images","firebaseListImages","365_NOFILTER","395_NOFILTER","415_NOFILTER","NOLED_NOFILTER","WHITE_NOFILTER","365_415","395_415","415_415","365_470","395_470","415_470","365_525","395_525","415_525","365_630","395_630","415_630","imageName","firebaseGetVisitDataPoints","firebaseGetWoundDataPoint","firebaseGetWoundMetrics","firebaseGetAllWoundMetrics","Contents","ImageComponentView","showImage","setShowImage","Lightbox","image","crossOrigin","ImageComponentContainer","firebaseGetPrintParameters","firebase_app__WEBPACK_IMPORTED_MODULE_0__","firebase_database__WEBPACK_IMPORTED_MODULE_1__","firebase_storage__WEBPACK_IMPORTED_MODULE_2__","firebase_auth__WEBPACK_IMPORTED_MODULE_3__","getApp","db","getDatabase","UID","onValue","rtdbRef","username","val","onlyOnce","patientsRef","firstPage","listAll","visitsRef","imagesRef","items","imageRef","update","response","Content","MetaDiv","ImageDiv","_templateObject4","_templateObject5","_templateObject6","_templateObject7","VisitDashView","areaList","visitList","gramList","woundLength","woundWidth","gramType","visitDataPoint","result","replace","finalResult","charAt","ImageComponent","wlURL","ImageDashView","downloadState","setDownloadState","woundType","woundLocation","DownloadDone","generateVisitZip","zip","JSZip","zipName","links","fwlURL","gcURL","wsURL","link","fileName","Image","img","getContext","drawImage","toDataURL","getBase64Image","base64","content","generateAsync","saveAs","Report","patientName","hospitalDetails","setHospitalDetails","hospitalLogo","setHospitalLogo","printParameters","setPrintParameters","showHLogo","setHLogo","showHName","setHName","pp","FormControlLabel","control","labelPlacement","contentEditable","SF_PHYSICIAN","SF_FACILITY","VisitDashContainer","showImageDash","setShowImageDash","tab","setTab","loading","setloading","report","string","generate","html2canvas","allowTaint","useCORS","scale","imgData","pdf","jsPDF","getImageProperties","pdfWidth","internal","pageSize","getWidth","pdfHeight","addImage","autoPrint","whiteSpace","boxSizing","dashboardSlice","createNewTab","splice","GraphDiv","WoundDashView","dates","woundArea","1","wllURL","urls","substring","round","woundData","showLImg","WoundDashContainer","setUrls","lVisit","thumbArr","minHeight"],"mappings":"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","file":"static/js/main.1920ca03.chunk.js","sourcesContent":["import { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\";\nimport DataStore from \"services/facade/dataStore\";\n\nconst initialState = {\n PID_: null,\n woundDataPoint: {\n isFetching: false,\n isError: false,\n },\n woundMetrics: {\n isFetching: false,\n isError: false,\n },\n imageWL: {\n isFetching: false,\n isError: false,\n },\n imageWLL: {\n isFetching: false,\n isError: false,\n },\n thumbnail:{\n isFetching : false,\n isError: true\n },\n data: {},\n};\n\nconst mDataStore = new DataStore();\n\nexport const fetchImageAndURL = createAsyncThunk(\n \"data/fetchImageAndURL\",\n ({ PID, VID, searchStr, dateString}, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mDataStore\n .fetchImagePath(PID, VID, searchStr, dateString)\n .then((path) => {\n console.log(path);\n if(!path){\n mDataStore.fetchImagePathFromProcessed(PID, VID, searchStr, dateString).then((path) => {\n mDataStore.fetchImageURL(path).then((url) => {\n resolve({ PID , url });\n });\n });\n }\n mDataStore.fetchImageURL(path).then((url) => {\n resolve({ PID, url });\n });\n })\n .catch((err) => {\n reject();\n });\n });\n }\n);\n\nexport const fetchLImageAndURL = createAsyncThunk(\n \"data/fetchLImageAndURL\",\n ({ PID, VID, searchStr,dateString }, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mDataStore\n .fetchImagePath(PID, VID, searchStr,dateString)\n .then((path) => {\n console.log(path);\n mDataStore.fetchImageURL(path).then((url) => {\n resolve({ PID, url });\n });\n })\n .catch((err) => {\n reject();\n });\n });\n }\n);\n\nexport const createThumbnail = createAsyncThunk(\n \"data/createThumbnail\",\n ({ PID, VID, searchStr, dateString }, thunkAPI) => {\n \n return new Promise((resolve, reject) => {\n mDataStore\n .fetchImagePath(PID, VID, searchStr, dateString)\n .then((path) => {\n console.log(path);\n mDataStore.fetchImageURL(path).then((url) => {\n resolve(url.url);\n });\n })\n .catch((err) => {\n reject();\n }); \n })\n \n }\n \n);\n\n\n\nexport const fetchWoundDataPoint = createAsyncThunk(\n \"data/fetchWoundDataPoint\",\n ({ PID }, thunkAPI) => {\n return new Promise((resolve, reject) => {\n console.log(PID);\n mDataStore\n .fetchWoundDataPoint(PID)\n .then((data) => {\n resolve({ PID, data });\n })\n .catch((err) => {\n reject();\n });\n });\n }\n);\n\nexport const fetchWoundMetrics = createAsyncThunk(\n \"data/fetchWoundMetrics\",\n ({ PID }, thunkAPI) => {\n return new Promise((resolve, reject) => {\n console.log(PID);\n mDataStore\n .fetchWoundMetrics(PID)\n .then((data) => {\n resolve({ PID, data });\n })\n .catch((err) => {\n reject();\n });\n });\n }\n);\n\nconst woundDashSlice = createSlice({\n name: \"woundDashState\",\n initialState,\n reducers: {\n refreshData: (state) => {\n state = initialState;\n },\n setPID: (state, { payload }) => {\n state.PID_ = payload;\n },\n },\n extraReducers: {\n [fetchWoundDataPoint.pending]: (state) => {\n state.woundDataPoint.isFetching = true;\n },\n [fetchWoundDataPoint.rejected]: (state) => {\n state.woundDataPoint.isError = true;\n },\n [fetchWoundDataPoint.fulfilled]: (state, { payload }) => {\n // state.woundDataPoint.value = payload;\n state.data[payload.PID] = state.data[payload.PID]\n ? state.data[payload.PID]\n : {};\n state.data[payload.PID][\"woundDataPoint\"] = payload.data;\n state.woundDataPoint.isFetching = false;\n state.woundDataPoint.isError = false;\n },\n [fetchWoundMetrics.pending]: (state) => {\n state.woundMetrics.isFetching = true;\n },\n [fetchWoundMetrics.rejected]: (state) => {\n state.woundMetrics.isError = true;\n },\n [fetchWoundMetrics.fulfilled]: (state, { payload }) => {\n // state.woundMetrics.value = payload;\n state.data[payload.PID] = state.data[payload.PID]\n ? state.data[payload.PID]\n : {};\n state.data[payload.PID][\"woundMetrics\"] = payload.data;\n // let processedData = [0, 0, 0];\n // Object.keys(payload.data).forEach((e) => {});\n\n state.woundMetrics.isFetching = false;\n state.woundMetrics.isError = false;\n },\n [fetchImageAndURL.pending]: (state) => {\n state.imageWL.isFetching = true;\n },\n [fetchImageAndURL.rejected]: (state) => {\n state.imageWL.isError = true;\n },\n [fetchImageAndURL.fulfilled]: (state, { payload }) => {\n // state.imageWL.path = payload.path;\n // state.imageWL.url = payload.url;\n state.data[payload.PID] = state.data[payload.PID]\n ? state.data[payload.PID]\n : {};\n console.log(\"I\");\n\n state.data[payload.PID][\"imageWL\"] = payload.url.url;\n state.url = payload.url.url\n\n state.imageWL.isFetching = false;\n state.imageWL.isError = false;\n },\n [fetchLImageAndURL.pending]: (state) => {\n state.imageWLL.isFetching = true;\n },\n [fetchLImageAndURL.rejected]: (state) => {\n state.imageWLL.isError = true;\n },\n [fetchLImageAndURL.fulfilled]: (state, { payload }) => {\n // state.imageWL.path = payload.path;\n // state.imageWL.url = payload.url;\n state.data[payload.PID] = state.data[payload.PID]\n ? state.data[payload.PID]\n : {};\n console.log(\"lI\");\n state.data[payload.PID][\"imageWLL\"] = payload.url.url;\n\n state.imageWLL.isFetching = false;\n state.imageWLL.isError = false;\n },\n [createThumbnail.fulfilled] : (state, {payload}) =>{\n state.thumbnail.data = payload\n state.thumbnail.isFetching = false;\n state.thumbnail.isError = false;\n },\n [createThumbnail.pending]: (state) =>{\n state.thumbnail.isFetching = true\n },\n [createThumbnail.rejected] : (state) =>{\n state.thumbnail.isError = true\n }\n },\n});\n\nexport const { refreshData, setPID } = woundDashSlice.actions;\n\nexport const selectWoundDashState = (state) => state.woundDashState;\n\nexport default woundDashSlice.reducer;\n","module.exports = __webpack_public_path__ + \"static/media/login-page-1.f7f3b16e.gif\";","export const ROUTES = {\n ROOT: \"/\",\n LOGIN: \"/login\",\n REGISTER: \"/register\",\n PROFILE : \"/settings\"\n};\n","import React from 'react'\nimport Lottie from 'react-lottie'\nimport data from './adiuvoLoader.json'\n\nfunction Loader({width = 400 , height = 400, style }) {\n const options = {\n loop: true,\n autoplay: true, \n animationData : data,\n \n \n };\n return (\n \n )\n}\n\nexport default Loader","import React from \"react\";\nimport Loader from \"components/loader/loader\";\nimport styled from \"styled-components\";\n\nconst SplashView = () => {\n return (\n \n {/* \n \n \n */}\n \n \n );\n};\n\nconst Wrapper = styled.div`\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n position: relative;\n`;\n\nconst Image = styled.div`\n position: absolute;\n top: 256px;\n img {\n margin: 8px 0 0 0;\n }\n animation-name: spin;\n animation-duration: 4000ms;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n\n @keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n`;\n\nexport default SplashView;\n","import React from \"react\";/* eslint-disable jsx-a11y/anchor-is-valid */\nconst NavbarView = (props) => {\n return (\n \n );\n};\n\nexport default NavbarView;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport DataStore from \"services/facade/dataStore\";\nconst initialState = {\n userName: \"\",\n patients: null,\n isFetching: false,\n isInnerFetching: null,\n isError: false,\n generalUserAnalytics: {\n value: null,\n isFetching: false,\n isError: false,\n },\n visitData: {\n value: null,\n isFetching: false,\n isError: false,\n },\n};\n\nconst mDataStore = new DataStore();\n\nexport const getUserName = createAsyncThunk(\"data/get-user-name\", () => {\n return new Promise((resolve, reject) => {\n mDataStore.getUserName().then((userName) => {\n resolve(userName);\n });\n });\n});\n\nexport const getGeneralUserAnaltycs = createAsyncThunk(\"data/get-gua\", () => {\n return new Promise((resolve, reject) => {\n mDataStore.getGeneralUserAnaltycs().then((gua) => {\n resolve(gua);\n });\n });\n});\n\nexport const getVisitData = createAsyncThunk(\n \"data/get-visit-data\",\n ({ PID, VID }, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mDataStore.getVisitData(PID, VID).then((data) => {\n resolve(data);\n });\n });\n }\n);\n\nexport const listPatientData = createAsyncThunk(\"data/list-patients\", () => {\n return new Promise((resolve, reject) => {\n mDataStore\n .listPatients()\n .then((data) => {\n console.log(data);\n resolve(data);\n })\n .catch(() => {\n reject();\n });\n });\n});\n\nexport const listVisitData = createAsyncThunk(\n \"data/list-visit\",\n (props, thunkAPI) => {\n // console.log(props);\n return new Promise((resolve, reject) => {\n mDataStore\n .listVisits(props.name)\n .then((data) => {\n resolve(data);\n // console.log(data);\n })\n .catch(() => reject());\n });\n }\n);\n\nexport const dataSlice = createSlice({\n name: \"dataState\",\n initialState,\n reducers: {\n pushNewImage: (state, payload) => {\n console.log(payload);\n },\n },\n extraReducers: {\n [listPatientData.pending]: (state) => {\n state.isFetching = true;\n state.isError = false;\n },\n [listPatientData.fulfilled]: (state, { payload }) => {\n state.isFetching = false;\n state.isError = false;\n state.patients = payload;\n },\n [listPatientData.rejected]: (state) => {\n state.isError = true;\n state.isFetching = false;\n },\n [listVisitData.pending]: (state) => {\n state.isInnerFetching = true;\n },\n [listVisitData.fulfilled]: (state, { payload }) => {\n state.isInnerFetching = false;\n state.patients[payload.name] = payload.res;\n },\n [listVisitData.rejected]: (state) => {\n // state.isInnerFetching = true;\n },\n [getUserName.pending]: (state) => {},\n [getUserName.fulfilled]: (state, { payload }) => {\n state.userName = payload;\n },\n\n [getGeneralUserAnaltycs.pending]: (state) => {\n // state.generalUserAnaltyce.value = payload;\n },\n [getGeneralUserAnaltycs.fulfilled]: (state, { payload }) => {\n console.log(payload);\n state.generalUserAnalytics.value = payload;\n },\n [getVisitData.pending]: (state) => {\n // state.generalUserAnaltyce.value = payload;\n },\n [getVisitData.fulfilled]: (state, { payload }) => {\n console.log(payload);\n state.visitData.value = payload;\n },\n },\n});\n\nexport const selectDataState = (state) => state.dataState;\n\nexport const { pushNewImage } = dataSlice.actions;\n\nexport default dataSlice.reducer;\n","const union = (types) =>\n types.reduce(\n (prev, type) => ({\n ...prev,\n [type]: (data) => ({\n match: (fns) => fns[type](data),\n }),\n }),\n {}\n );\n\nexport default union;\n","import {\n getAuth,\n signInWithEmailAndPassword,\n signOut,\n setPersistence,\n browserSessionPersistence,\n browserLocalPersistence,\n} from \"firebase/auth\";\n\nexport const firebaseSetPersistence = async (state) => {\n const auth = getAuth();\n if (state) {\n await setPersistence(auth, browserLocalPersistence);\n console.log(\"inMemSet\");\n } else {\n await setPersistence(auth, browserSessionPersistence);\n console.log(\"bSesSet\");\n }\n};\n\nexport const firebaseLogin = (email, password) => {\n console.log(email, password);\n const auth = getAuth();\n return new Promise((resolve, reject) => {\n signInWithEmailAndPassword(auth, email, password)\n .then((userCredentials) => {\n console.log(\"Firebase service\", userCredentials.user);\n resolve(userCredentials.user);\n })\n .catch((error) => {\n console.log(\"Firebase service error\", error.code);\n reject(error.code);\n });\n });\n};\n\nexport const firebaseAuthCheck = () => {\n return new Promise((resolve, reject) => {\n const auth = getAuth();\n const user = auth.currentUser;\n\n if (user) resolve(user);\n else reject();\n });\n};\n\nexport const firebaseSignout = () => {\n const auth = getAuth();\n return signOut(auth);\n};\n","import { initializeApp, getApps } from \"firebase/app\";\n\nimport {\n getAuth,\n setPersistence,\n browserSessionPersistence,\n} from \"firebase/auth\";\n\nexport const firebaseInit = async () => {\n console.log(\"Firebase initiated\");\n\n if (getApps().length === 0) {\n const firebaseConfig = {\n apiKey: process.env.REACT_APP_API_KEY,\n authDomain: process.env.REACT_APP_AUTH_DOMAIN,\n databaseURL: process.env.REACT_APP_DATABASE_URL,\n projectId: process.env.REACT_APP_PROJECT_ID,\n storageBucket: process.env.REACT_APP_STORAGE_BUCKET,\n messagingSenderId: process.env.REACT_APP_MESSAGING_SENDER_ID,\n appId: process.env.REACT_APP_ID,\n measurementId: process.env.REACT_APP_MEASUREMENT_ID\n };\n initializeApp(firebaseConfig);\n const auth = getAuth();\n await setPersistence(auth, browserSessionPersistence);\n }\n};\n","import union from \"services/core/union\";\nimport {\n firebaseAuthCheck,\n firebaseLogin,\n firebaseSignout,\n firebaseSetPersistence,\n} from \"services/firebase/firebaseAuth\";\nimport { firebaseInit } from \"services/firebase\";\n\nconst AuthError = union([\n \"invalidEmail\",\n \"wrongPassword\",\n \"userNotFound\",\n \"genericError\",\n]);\n\n//\"auth/invalid-email\"\n//\"auth/wrong-password\"\n//\"auth/user-not-found\"\n\nclass AuthFacade {\n constructor() {}\n\n init = () => {\n return new Promise(async (resolve, reject) => {\n await firebaseInit();\n console.log(\"Auth initiated\");\n resolve();\n });\n };\n\n setPersistence = async (state) => {\n await firebaseSetPersistence(state);\n };\n\n authCheck = () => {\n return new Promise((resolve, reject) => {\n firebaseAuthCheck()\n .then(({ uid, displayName, email }) => {\n const userData = { uid, displayName, email };\n resolve(userData);\n })\n .catch(() => reject());\n });\n };\n\n login = (email, password) => {\n return new Promise((resolve, reject) => {\n firebaseLogin(email, password)\n .then(({ uid, displayName, email }) => {\n const userData = { uid, displayName, email };\n resolve(userData);\n })\n .catch((error) => {\n console.log(\"Auth facade error\", error);\n if (error === \"auth/invalid-email\") {\n reject(AuthError.invalidEmail());\n } else if (error === \"auth/user-not-found\") {\n reject(AuthError.userNotFound());\n } else if (error === \"auth/wrong-password\")\n reject(AuthError.wrongPassword());\n else {\n reject(AuthError.genericError());\n }\n });\n });\n };\n\n logout = () => {\n return firebaseSignout();\n };\n}\n\nexport default AuthFacade;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\n\nimport AuthFacade from \"services/facade/auth\";\n\nconst initialState = {\n user: null,\n isFetching: true,\n isSuccess: false,\n authError: null,\n};\n\nconst mAuth = new AuthFacade();\n\nexport const checkAuthStatus = createAsyncThunk(\"auth/re-auth-session\", () => {\n return new Promise((resolve, reject) => {\n mAuth\n .authCheck()\n .then((user) => {\n resolve(user);\n })\n .catch(() => reject());\n });\n});\n\nexport const initApp = createAsyncThunk(\"auth/init\", (params, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mAuth.init().then(() => {\n resolve();\n\n thunkAPI.dispatch(checkAuthStatus());\n });\n });\n});\n\nexport const login = createAsyncThunk(\n \"auth/login\",\n ({ email, password }, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mAuth\n .login(email, password)\n .then((user) => {\n resolve(user);\n })\n .catch((authError) => {\n console.log(authError);\n reject(thunkAPI.rejectWithValue(authError));\n });\n });\n }\n);\n\nexport const logout = createAsyncThunk(\"auth/logout\", () => {\n mAuth.logout();\n});\n\nexport const setPersistence = createAsyncThunk(\n \"auth/logout\",\n ({ state }, thunkAPI) => {\n mAuth.setPersistence(state);\n }\n);\n\nexport const authSlice = createSlice({\n name: \"authState\",\n initialState,\n reducers: {\n clearState: (state) => {\n state.isFetching = false;\n state.isSuccess = false;\n state.authError = null;\n },\n },\n extraReducers: {\n [checkAuthStatus.pending]: (state) => {\n state.isFetching = true;\n },\n [checkAuthStatus.fulfilled]: (state, { payload }) => {\n state.user = payload;\n state.isFetching = false;\n state.isSuccess = false;\n state.authError = null;\n },\n [checkAuthStatus.rejected]: (state) => {\n state.isFetching = false;\n },\n [login.pending]: (state) => {\n state.user = null;\n state.isFetching = true;\n state.isSuccess = false;\n state.authError = null;\n },\n [login.fulfilled]: (state, { payload }) => {\n state.user = payload;\n state.isFetching = false;\n state.isSuccess = false;\n state.authError = null;\n },\n [login.rejected]: (state, { payload }) => {\n state.user = null;\n state.isFetching = false;\n state.isSuccess = false;\n state.authError = payload;\n },\n [logout.fulfilled]: (state) => {\n state.user = null;\n },\n },\n});\n\nexport const selectAuthState = (state) => state.authState;\n\nexport const { clearState } = authSlice.actions;\n\nexport default authSlice.reducer;\n","import { Box, LinearProgress, Typography } from '@mui/material'\nimport React from 'react'\n\nfunction LinearProgressBar({value}) {\n return (\n value < 0 && \n \n \n \n \n {`${Math.round(\n value,\n )}%`}\n \n \n )\n}\n\nexport default LinearProgressBar","import { AndroidOutlined, AndroidTwoTone, ArrowDropDown, ArrowDropDownCircleOutlined, ArrowDropUp, ArrowDropUpOutlined, ArrowUpward, Camera, CameraEnhanceOutlined, Cancel, CancelOutlined, DeviceHubOutlined, Edit, EngineeringOutlined, HardwareOutlined, HardwareTwoTone, IntegrationInstructionsRounded, PhoneAndroidRounded, PhotoCamera } from '@mui/icons-material'\nimport { Alert, Avatar, Badge, Button, IconButton, Table, TableBody, TableCell, TableHead, TableRow, TextField } from '@mui/material'\nimport LinearProgressBar from 'components/elements/LinearProgressBar'\nimport Loader from 'components/loader/loader'\nimport { getDownloadURL, getStorage, ref, uploadBytes, uploadBytesResumable } from 'firebase/storage'\nimport { update } from 'plotly.js'\nimport React, { useEffect, useState } from 'react'\nimport { firebaseGenerateDownloadURL, firebaseGetDeviceDetail, firebaseGetImagePath, firebaseGetMissingData, firebaseGetUserConfig, getOrInitApp, getUID, updateUserData } from 'services/firebase/firebaseStorage'\nimport firmwareIcon from '../../asset/icons/firmware_icon.png'\nimport hardwareIcon from '../../asset/icons/hardware_icon.png'\nimport ramIcon from '../../asset/icons/ram_icon.png'\nimport stackIcon from '../../asset/icons/stack_icon.png'\n\nfunction SettingsContainer({userInfo}) {\n const [aboutDevice, setAboutDevice] = useState(null)\n const [alertMsg, setAlertMsg] = useState(null)\n const [isLoading, setLoading] = useState(true)\n const[showAllDetails, setshowAllDetails] = useState(false)\n const[userConfig, setUserConfig] = useState(null)\n\n const [isUserConfigEditting, setUserConfigEdit] = useState(false)\n const [newUserconfig, setNewUserConfig] = useState({userName : \"\"})\n const[hospitalLogoUrl, setHospitalLogoUrl] = useState(null)\n const [progress, setProgress] = useState(0);\n\n const [missingData, setMissingData] = useState(null)\n\n\n useEffect(() => {\n firebaseGetUserConfig().then(data=>{\n console.log(data)\n setUserConfig(data)\n setNewUserConfig(data)\n }).catch(err=>{\n console.error(err)\n setAlertMsg(err)\n })\n firebaseGetDeviceDetail().then(data=>{\n console.log(data);\n setAboutDevice(data)\n }).catch(err=>{\n console.error(err);\n setAlertMsg(err)\n })\n\n firebaseGetMissingData().then(data=>{\n console.log(data)\n setMissingData(data)\n }).catch(err=>{\n console.error(err)\n })\n firebaseGenerateDownloadURL(`hospitals/${getUID()}/profiles/hospitalLogo`).then(url=> { \n setHospitalLogoUrl(url)})\n }, [])\n\n useEffect(()=>{\n if(aboutDevice){\n setLoading(false)\n }\n },[aboutDevice])\n\n const handleUpload = e => {\n const file = e.target.files[0];\n const storage = getStorage(getOrInitApp());\n const storageRef = ref(storage, `hospitals/${getUID()}/profiles/hospitalLogo`);\n const task = uploadBytesResumable(storageRef, file);\n \n task.on(\n 'state_changed',\n snapshot => {\n // Observe state change events such as progress, pause, and resume\n // Get task progress, including the number of bytes uploaded and the total number of bytes to be uploaded\n console.log((snapshot.bytesTransferred / snapshot.totalBytes) * 100)\n setProgress(\n (snapshot.bytesTransferred / snapshot.totalBytes) * 100\n );\n },\n error => {\n // Handle unsuccessful uploads\n setAlertMsg(error);\n },\n () => { \n getDownloadURL(task.snapshot.ref).then(url=>{\n console.log(url)\n setHospitalLogoUrl(url)});\n }\n );\n };\n \n return (\n <>\n { isLoading ?
\n \n
: \n
\n {alertMsg && {alertMsg} }\n\n {/* Profile Details */}\n\n { userConfig &&
\n\n

Profile Details

\n
\n
\n \n } > \n \n
\n
\n
\n { !isUserConfigEditting ? <> \n

Display Name : {userConfig.userName}

\n

Prefix Id : {userConfig.idPrefix}

\n }\n variant=\"outlined\"\n color='inherit'\n onClick={()=>{\n setUserConfigEdit(true)\n }}\n >\n Edit\n \n : \n
\n\n {\n setNewUserConfig({...userConfig, userName : e.target.value})\n }}\n />\n
\n {\n setNewUserConfig({...userConfig, hospitalName : e.target.value})\n }}\n />\n
\n \n\n
\n {/* {\n userConfig.userName === newUserconfig.userName ? {\n setUserConfigEdit(false)\n }}\n >\n cancel\n : */}\n <>\n {\n setUserConfigEdit(false)\n }}\n >\n \n \n {\n updateUserData(newUserconfig).then(reponse=>{\n setUserConfigEdit(false)\n // reload comes here\n }).catch(err=>{\n console.error(err)\n })\n }}\n >\n Save\n \n \n {/* } */}\n
}\n
\n {/*
\n

Prefix Id : {userConfig.idPrefix}

\n
*/}\n
\n
\n \n\n
}\n\n \n\n{/* Device Details */}\n
\n

Device Details

\n : }\n style={{width:\"fit-content\",margin:\"2px\"}}\n onClick={()=>{\n setshowAllDetails(!showAllDetails)\n }}\n >\n {!showAllDetails ? : }\n \n
\n\n {!!showAllDetails &&
\n \n \n {Object.keys(aboutDevice).map(key=>\n {key}\n {aboutDevice[key]}\n )}\n \n
\n
}\n
\n {aboutDevice.appVersion&&
\n

\n App Version\n

{aboutDevice.appVersion}

\n
}\n {aboutDevice.chassisVersion&&
\n

\n Chassis Version\n

{aboutDevice.chassisVersion}

\n
}\n{aboutDevice.firmwareId !== \"na\" &&
\n \"firmwareIcon\"\n

\n Firmware ID\n

{aboutDevice.firmwareId}

\n
}\n\n {aboutDevice.hardwareVersion !== 'na' &&
\n \"hardware\n

\n Haedware Version\n

{aboutDevice.hardwareVersion}

\n
}\n\n {aboutDevice.ram&&aboutDevice.ram !== \"na\" &&
\n \"Ram\n

\n RAM\n

{(aboutDevice.ramAvailable/1000000).toFixed(2)} GB / {(aboutDevice.ram/1000000).toFixed(2)} GB

\n
}\n\n {aboutDevice.storageAvailable&& aboutDevice.storageAvailable!==\"na\"&&aboutDevice.storageTotal !== \"na\" &&
\n \"Ram\n

\n Device Storage\n

{parseInt(aboutDevice.storageAvailable.split(\"M\")[0].split(\",\").join(''))/1000} GB / {(parseInt(aboutDevice.storageTotal.split(\"M\")[0].split(\",\").join(''))/1000).toFixed(2)} GB

\n
}\n\n \n
\n \n
}\n\n {/* Missing Datas */}\n\n {\n missingData &&\n missingData.NumberOfMissingImages > 0 && \n
\n

Missing Patient Datas

\n These are the missing data in cloud and you need to upload them individually from device.\n \n \n \n \n Patient Id\n Visit No.\n \n \n \n {\n Object.keys(missingData.MissingImages).map(pid=>\n {`${pid.split(\"_\")[0]}_${pid.split(\"_\")[1]}`}\n {pid.split(\"_\").at(-1)}\n )\n }\n \n
\n
\n }\n \n )\n}\n\nexport default SettingsContainer","import { SettingsOutlined } from '@mui/icons-material'\nimport { Dialog, IconButton } from '@mui/material'\nimport { styled } from '@mui/material/styles';\nimport Loader from 'components/loader/loader'\nimport React from 'react'\nimport { useState } from 'react'\nimport SettingsContainer from './settingsContainer'\n\nfunction ProfileSetting({userInfo}) {\n const [isOpen, setIsOpen] = useState(false)\n const handleClose = () =>{\n setIsOpen(!isOpen)\n }\n\n const CustomDialog = styled(Dialog)(({ theme }) => ({\n '.MuiPaper-root':{\n borderRadius:\"25px\"\n }\n }));\n\n return (\n <>\n \n \n \n \n

Profile Settings

\n \n \n \n \n )\n}\n\nexport default ProfileSetting","import React from \"react\";/* eslint-disable jsx-a11y/anchor-is-valid */\nimport { Close, Search, Settings, SettingsOutlined } from \"@mui/icons-material\";\nimport { IconButton } from \"@mui/material\";\nimport ProfileSetting from \"pages/profieSetting\";\nimport { useEffect, useState } from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport { useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router\";\nimport { selectDashboardState } from \"redux/dashboardSlice\";\nimport { selectWoundDashState } from \"redux/woundDashSlice\";\nimport { getUID } from \"services/firebase/firebaseStorage\";\n\nconst SidebarView = (props) => {\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [selectedPatient, setSelectedPatient] = useState(\"\");\n const { woundDataPoint, woundMetrics, imageWL, data } = useSelector(selectWoundDashState);\n const { PID, tabs } = useSelector(selectDashboardState);\n console.log(props.patientList);\n console.log(data);\n // console.log(tabs)\n const [patientList, setPatientList] = useState(null);\n const history = useHistory()\n\n\n useEffect(()=>{\n let arr = []\n },[])\n\n function getKeyByValue(object, value) {\n return Object.keys(object).find(key => object[key] === value);\n }\n\n return (\n \n );\n};\n\nexport default SidebarView;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport DataStore from \"services/facade/dataStore\";\nimport { firebaseGetAllWoundDataPoint, firebaseGetPatientListFromStorage } from \"services/firebase/firebaseStorage\";\nimport dashboardSlice from \"./dashboardSlice\";\n\nconst initialState = {\n mainDashData: {\n value: null,\n pData: null,\n vPoints: null,\n isError: false,\n isFetching: false,\n },\n woundMetrics: null,\n\n processedDashData: {},\n};\n\nconst mDataStore = new DataStore();\n\nexport const getVisitDataPoints = createAsyncThunk(\n \"data/get-visit-data-points\",\n () => {\n return new Promise((resolve, reject) => {\n mDataStore.fetchVisitDataPoints().then((data) => {\n resolve(data);\n });\n });\n }\n);\n\nexport const getAllWoundMetrics = createAsyncThunk(\n \"data/get-all-wound-metrics\",\n () => {\n return new Promise((resolve, reject) => {\n mDataStore.getAllWoundMetrics().then((data) => {\n firebaseGetPatientListFromStorage().then((listFromStorage)=>{\n let d = {};\n listFromStorage.prefixes.forEach(path =>{\n let dd = path._location.path.split(\"/\").at(-1)\n if(Object.keys(data).includes(dd)){\n d[dd] = data[dd]\n }\n }) \n resolve(d);\n console.log(d);\n // console.log(listFromStorage)\n })\n \n });\n });\n }\n);\n\nconst mainDashSlice = createSlice({\n name: \"mainDashSlice\",\n initialState,\n reducres: {\n onDataChange: (state, { payload }) => {\n state.mainDashData.isFetching = false;\n state.mainDashData.isError = false;\n state.mainDashData.value = payload;\n\n\n // totalImagingSessions: null,\n // totalUniquePatients: null,\n // totalRecurringPatients: null,\n\n },\n },\n extraReducers: {\n [getVisitDataPoints.pending]: (state) => {\n state.mainDashData.isFetching = true;\n state.mainDashData.isError = false;\n },\n [getAllWoundMetrics.fulfilled]: (state, { payload }) => {\n\n state.mainDashData.value = payload;\n \n console.log(payload)\n\n state.woundMetrics = payload;\n },\n [getVisitDataPoints.fulfilled]: (state, { payload }) => {\n state.mainDashData.isFetching = false;\n state.mainDashData.isError = false;\n state.mainDashData.vPoints = payload;\n\n console.log(payload)\n\n // totalImagingSessions: null,\n // totalUniquePatients: null,\n // totalRecurringPatients: null,\n\n const patients = Object.keys(payload);\n const processedData = {};\n\n console.log(patients)\n\n patients.forEach((patient) => {\n const visits = Object.keys(payload[patient]);\n visits.forEach((visit) => {\n if (visit !== 0) {\n const date = payload[patient][visit][\"date\"].slice(0, 8);\n if (date == 0) {\n console.log(patient, visit);\n }\n processedData[date] = [0, 0, 0];\n }\n });\n });\n\n patients.forEach((patient) => {\n console.log(payload)\n const visits = Object.keys(payload[patient]);\n if(Array.isArray(payload[patient])){\n visits.forEach((visit) => {\n if (visit !== 0) {\n const date = payload[patient][visit][\"date\"].slice(0, 8);\n processedData[date][0] += 1;\n }\n });\n // payload[patient] = payload[patient].filter(n=>n)\n console.log(payload[patient], patient);\n \n // const date = payload[patient][\"1\"]? payload[patient][\"1\"][\"date\"].slice(0, 8): payload[patient][\"2\"]? payload[patient][\"2\"][\"date\"].slice(0, 8) : payload[patient][\"3\"][\"date\"].slice(0, 8) ;\n console.log(patient, Object.values(payload[patient])[0] )\n const date = Object.values(payload[patient])[0][\"date\"].slice(0, 8)\n console.log(date, patient)\n if (visits.length === 2 && !!date) {\n processedData[date][2] += 1;\n } else {\n processedData[date][1] += 1;\n }\n }else{console.log(visits)}\n });\n console.log(processedData);\n state.processedDashData = processedData;\n // let pidByDate = {}\n\n // Object.keys(payload).forEach(pid=>{\n // for(let i = 1; i < Object.keys(payload[pid]).length; i++){\n // pidByDate[payload[pid][i][\"date\"]] = pid\n // }\n // })\n // state.vData = pidByDate\n },\n [getVisitDataPoints.rejected]: (state) => {\n state.mainDashData.isError = true;\n state.mainDashData.isFetching = false;\n },\n },\n});\n\nexport const selectMainDashState = (state) => state.mainDashState;\n\nexport const { onDataChange } = mainDashSlice.actions;\n\nexport default mainDashSlice.reducer;\n","import React from \"react\";\nimport SidebarView from \"./SidebarView\";\nimport { selectDataState, getUserName } from \"redux/dataSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getDatabase, onValue, ref as rtdbRef } from \"firebase/database\";\nimport { useState } from \"react\";\nimport {\n selectMainDashState,\n getVisitDataPoints,\n onDataChange,\n getAllWoundMetrics,\n} from \"redux/mainDashSlice\";\nimport { populateDash } from \"redux/dashboardSlice\";\nimport { logout } from \"redux/authSlice\";\nimport { selectDashboardState, changeCurrentTab } from \"redux/dashboardSlice\";\nimport { useEffect } from \"react\";\nimport { firebaseGetAllWoundDataPoint, getOrInitApp, getUID } from \"services/firebase/firebaseStorage\";\n\nconst insert = (arr, index, newItem) => [\n // part of the array before the specified index\n ...arr.slice(0, index),\n // inserted item\n newItem,\n // part of the array after the specified index\n ...arr.slice(index),\n];\n\nconst onVisitDataPoints = () => {};\n\nexport const SidebarContainer = () => {\n const dispatch = useDispatch();\n const { userName } = useSelector(selectDataState);\n const { mainDashData, woundMetrics } = useSelector(selectMainDashState);\n const { currentTab } = useSelector(selectDashboardState);\n const [selectedPID, setSelectedPID] = useState(\"\");\n const [allWoundDataPoints, setAllWoundDataPoints] = useState();\n console.log(\"selectedpid\", selectedPID);\n\n console.log(mainDashData)\n\n const dataChange = (data) => {\n console.log(\"chg\", data);\n dispatch(onDataChange(data));\n };\n useEffect(() => {\n if (!userName) {\n dispatch(getUserName());\n }\n if (!mainDashData.value) {\n // dispatch(getVisitDataPoints());\n // const db = getDatabase(getOrInitApp());\n // const UID = getUID();\n // onValue(rtdbRef(db, `${UID}/newMetrics/${UID}/woundDataPoints/VisitDataPoints`), (snapshot) => {\n // const val = snapshot.val();\n dispatch(getAllWoundMetrics());\n dispatch(getVisitDataPoints());\n \n // });\n }\n if (!woundMetrics) {\n dispatch(getAllWoundMetrics());\n }\n dispatch(getUserName());\n // eslint-disable-next-line react-hooks/exhaustive-deps\n },[]);\n\n useEffect(()=>{\n if(!mainDashData.value){ \n console.log(\"mainDashData.value is null\")\n }else{\n console.log(mainDashData)\n firebaseGetAllWoundDataPoint().then((WoundDataPoints)=>{\n console.log(WoundDataPoints)\n let tempDataPoints = {}\n Object.keys(WoundDataPoints).forEach(point=>{\n console.log(point, Object.keys(mainDashData.value).includes(point))\n if(point === \"WoundMetrics\" || point === \"VisitDataPoints\"){\n \n }else if(Object.keys(mainDashData.value).includes(point)){\n console.log(point)\n tempDataPoints[point] = !WoundDataPoints[point].name ? point : WoundDataPoints[point].name //`${WoundDataPoints[point].name}_${mainDashData.value[point][1].date}`\n }\n })\n setAllWoundDataPoints(tempDataPoints)\n console.log(tempDataPoints)\n })\n }\n }, [mainDashData.value])\n\n useEffect(() => {\n if (selectedPID && selectedPID !== \"\") {\n const data = insert(\n Object.keys(mainDashData.value[selectedPID]).map(\n (e) => `${selectedPID}/${e}`\n ),\n 0,\n selectedPID + \"/\" + 0\n );\n console.log(\"populating\", selectedPID, data);\n dispatch(populateDash({ PID: selectedPID, data }));\n }\n }, [mainDashData.value]);\n\n const logoutEvent = () => {\n dispatch(logout());\n };\n const onHomeClick = () => {\n setSelectedPID(\"\");\n dispatch(changeCurrentTab(-2));\n };\n\n\n const onClickHandler = (PID) => {\n const data = insert(\n Object.keys(mainDashData.value[PID]).map((e) => `${PID}/${e}`),\n 0,\n PID + \"/\" + 0\n );\n // data.splice(0, 0, 0);\n setSelectedPID(PID);\n console.log(\"populatingDash\", data);\n dispatch(populateDash({ PID, data }));\n };\n\n // console.log(woundMetrics)\n // console.log(mainDashData.value)\n console.log(allWoundDataPoints)\n return (\n \n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport Lightbox from \"react-awesome-lightbox\";\nimport { useState } from \"react\";\n\nconst ImageComponentView = (props) => {\n const [showImage, setShowImage] = useState(false);\n return showImage ? (\n {\n setShowImage(false);\n }}\n />\n ) : (\n \n \n {\n setShowImage(true);\n }}\n />\n \n\n

{props.name}

\n
\n
\n );\n};\n\nconst Container = styled.div`\n max-width: 200px;\n height: 410px;\n`;\n\nconst Contents = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n height: 100%;\n position: relative;\n align-items: center;\n\n img {\n max-width: 200px;\n z-index: 10;\n cursor: pointer;\n }\n\n i {\n position: absolute;\n top: 200px;\n /* z-index: -1; */\n }\n\n p {\n font-size: 12px;\n margin-top: 20px;\n }\n`;\n\nexport default ImageComponentView;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport DataStore from \"services/facade/dataStore\";\n\nconst initialState = {\n data: {},\n imageURLData: {},\n isFetching: false,\n isInnerFetching: false,\n isError: false,\n};\n\nconst mDataStore = new DataStore();\n\nexport const fetchImages = createAsyncThunk(\n \"data/fetch-images\",\n (path, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mDataStore.fetchImages(path).then((data) => {\n resolve(data);\n });\n });\n }\n);\n\nexport const fetchImageURL = createAsyncThunk(\n \"data/fetch-image-url\",\n (path, thunkAPI) => {\n return new Promise((resolve, reject) => {\n mDataStore.fetchImageURL(path).then((data) => {\n resolve(data);\n });\n });\n }\n);\n\nexport const imageSlice = createSlice({\n name: \"imageState\",\n initialState,\n reducers: {\n pushNewImage: (state, payload) => {\n console.log(payload);\n },\n },\n extraReducers: {\n [fetchImages.pending]: (state) => {\n state.isFetching = true;\n },\n [fetchImages.fulfilled]: (state, { payload }) => {\n state.isFetching = false;\n state.data[payload.path] = payload.imageFilters;\n },\n [fetchImages.rejected]: (state) => {\n state.isFetching = false;\n },\n [fetchImageURL.pending]: (state) => {\n // state.isInnerFetching = true;\n },\n [fetchImageURL.fulfilled]: (state, { payload }) => {\n // state.isInnerFetching = false;\n state.imageURLData[payload.path] = payload.url;\n },\n [fetchImageURL.rejected]: (state) => {\n // state.isInnerFetching = false;\n },\n },\n});\n\nexport const selectImageState = (state) => state.imageState;\n\nexport const { pushNewImage } = imageSlice.actions;\n\nexport default imageSlice.reducer;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport ImageContainer from \"components/ImageDashboard/ImageComponent\";\nimport VisitDash from \"components/VisitDash\";\nconst ImageDashboardView = (props) => {\n return (\n \n \n {props.filters.map((e) => {\n return (\n {\n e.preventDefault();\n props.setFilterState(e.target.innerHTML);\n }}\n >\n {e}\n \n );\n })}\n \n \n {props.filter === \"Dashboard\" ? (\n \n ) : (\n Object.keys(props.imageData).map((e) => {\n return ;\n })\n )}\n \n \n );\n};\n\nconst Container = styled.div`\n max-width: 100%;\n display: flex;\n justify-content: center;\n margin-top: 30px;\n flex-direction: column;\n align-items: center;\n`;\n\nconst FilterBox = styled.div`\n margin-bottom: 30px;\n display: flex;\n align-items: baseline;\n height: 40px;\n margin-left: auto;\n margin-right: 48px;\n position: relative;\n /* width: 100%; */\n button {\n padding: 4px 18px;\n margin: 0 3px;\n :nth-child(1) {\n /* position: absolute; */\n left: 0;\n }\n }\n line-height: 0px;\n`;\n\nconst Contents = styled.div`\n display: grid;\n grid-gap: 10px;\n width: 90%;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n justify-content: center;\n align-items: center;\n`;\n\nexport default ImageDashboardView;\n","// import Plot from \"react-plotly.js\";\n\nimport React, { useLayoutEffect, useState, useEffect } from \"react\";\nimport Plotly from \"plotly.js-basic-dist-min\";\nimport createPlotlyComponent from \"react-plotly.js/factory\";\nimport { Line } from \"react-chartjs-2\";\nimport {\n Chart as ChartJS,\n Filler,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Legend,\n ArcElement,\n defaults,\n} from \"chart.js\";\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n LinearScale,\n PointElement,\n ArcElement,\n LineElement,\n Title,\n Tooltip,\n Legend,\n Filler\n);\n\nconst Plot = createPlotlyComponent(Plotly);\n\nconst useWindowSize = () => {\n const [size, setSize] = useState([0, 0]);\n useLayoutEffect(() => {\n function updateSize() {\n setSize([window.innerWidth, window.innerHeight]);\n }\n window.addEventListener(\"resize\", updateSize);\n updateSize();\n return () => window.removeEventListener(\"resize\", updateSize);\n }, []);\n return size;\n};\n\nconst IlluminateActivtyGraph = (props) => {\n var ordered = Object.keys(props.data)\n .sort((a, b) => {\n return new Date(a) - new Date(b);\n })\n\n function dateConverter(date) {\n var dateObject = new Date([\n date.toString().split(\"/\")[0],\n date.toString().split(\"/\")[1],\n date.toString().split(\"/\")[2]\n ]);\n\n return dateObject;\n }\n\n const [width, height] = useWindowSize();\n useEffect(() => {\n // Plotly.Plots.resize(\"plotlyChart\");\n }, [width, height]);\n\n console.log(props.data);\n\n const createDataset = (xArr, yArr) => {\n let data = [];\n\n for (let i = 0; i < xArr.length; i++) {\n console.log(xArr[i])\n data.push({\n x: xArr[i],\n y: props.data[xArr[i]]\n });\n }\n\n return data;\n };\n\n let lineXY = createDataset(ordered);\n\n console.log(lineXY);\n\n const lineData = {\n labels: lineXY.map((a, i) => i + 1),\n datasets: [\n {\n label: `Illuminate Activity`,\n data: lineXY,\n fill: true,\n backgroundColor: \"rgba(95, 195, 246, 0.2)\",\n borderColor: \"rgba(95, 195, 246)\",\n borderWidth: 2,\n tension: 0.4,\n pointHoverBorderColor: \"white\",\n pointHoverBackgroundColor: \"#5fc3f6\",\n pointBorderWidth: 3,\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHoverRadius: 6,\n },\n ],\n };\n\n const lineOptions = {\n maintainAspectRatio: false,\n responsive: true,\n\n plugins: {\n legend: {\n position: \"top\",\n },\n filler: {\n propagate: true,\n },\n tooltip: {\n // enabled: false,\n displayColors: false,\n // backgroundColor: \"#000\",\n intersect: true,\n yPadding: 10,\n xPadding: 10,\n caretSize: 4,\n bodyFontColor: \"#5fc3f6\",\n yAlign: \"bottom\",\n callbacks: {\n title: function (t) {\n console.log(t);\n return t[0].label;\n },\n label: function (t) {\n return `${t.dataset.label} : ${t.dataset.data[t.dataIndex].y}`;\n },\n afterBody: (t, d) => {\n console.log(t, d);\n\n return \"Body\";\n },\n },\n enabled: false,\n\n external: function (context) {\n // Tooltip Element\n let tooltipEl = document.getElementById(\"chartjs-tooltip\");\n\n // Create element on first render\n if (!tooltipEl) {\n tooltipEl = document.createElement(\"div\");\n tooltipEl.id = \"chartjs-tooltip\";\n tooltipEl.innerHTML = \"
\";\n document.body.appendChild(tooltipEl);\n }\n\n // Hide if no tooltip\n const tooltipModel = context.tooltip;\n if (tooltipModel.opacity === 0) {\n tooltipEl.style.opacity = 0;\n return;\n }\n\n // Set caret Position\n tooltipEl.classList.remove(\"above\", \"below\", \"no-transform\");\n if (tooltipModel.yAlign) {\n tooltipEl.classList.add(tooltipModel.yAlign);\n } else {\n tooltipEl.classList.add(\"no-transform\");\n }\n\n function getBody(bodyItem) {\n return bodyItem.lines;\n }\n\n // Set Text\n if (tooltipModel.body) {\n const titleLines = tooltipModel.title || [];\n const bodyLines = tooltipModel.body.map(getBody);\n\n let innerHtml = \"\";\n\n titleLines.forEach(function (title) {\n innerHtml += \"\" + title + \"\";\n });\n innerHtml += \"\";\n\n bodyLines.forEach(function (body, i) {\n const colors = tooltipModel.labelColors[i];\n let style = \"background:\" + colors.backgroundColor;\n style += \"; border-color:\" + colors.borderColor;\n style += \"; border-width: 2px\";\n const span = '';\n innerHtml += \"\" + span + body + \"\";\n });\n innerHtml += \"\";\n\n let tableRoot = tooltipEl.querySelector(\"table\");\n tableRoot.innerHTML = innerHtml;\n }\n\n const position = context.chart.canvas.getBoundingClientRect();\n // const bodyFont = Chart.helpers.toFont(tooltipModel.options.bodyFont);\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1;\n tooltipEl.style.position = \"absolute\";\n tooltipEl.style.left =\n position.left + window.pageXOffset + tooltipModel.caretX-75 + \"px\";\n tooltipEl.style.top =\n position.top + window.pageYOffset + tooltipModel.caretY-95 + \"px\";\n // tooltipEl.style.font = bodyFont.string;\n tooltipEl.style.padding = \"10px\";\n tooltipEl.style.pointerEvents = \"none\";\n tooltipEl.style.backgroundColor = \"rgba(255,255,255,0.4)\"\n tooltipEl.style.borderRadius =\"15px\"\n tooltipEl.style.border = \"solid 2px #5fc3f6\"\n \n },\n },\n },\n scales: {\n y: {\n beginAtZero: true,\n },\n x: {\n // max : ordered.at(-1),\n min: ordered.at(0),\n },\n },\n };\n\n const TooltipLines = {\n id: \"tooltipLine\",\n displayColor: false,\n yAlign: \"bottom\",\n beforeDraw: (chart) => {\n if (chart.tooltip._active && chart.tooltip._active.length) {\n const ctx = chart.ctx;\n ctx.save();\n const activePoint = chart.tooltip._active[0];\n // console.log(chart.chartArea);\n\n ctx.beginPath();\n ctx.setLineDash([5, 7]);\n ctx.moveTo(activePoint.element.x, activePoint.element.y);\n ctx.lineTo(activePoint.element.x, chart.chartArea.bottom);\n ctx.lineWidth = 2;\n ctx.strokeStyle = \"#5fc3f6\";\n ctx.stroke();\n ctx.restore();\n }\n },\n };\n\n return (\n
\n \n
\n

\n \n Illuminate Activity\n

\n
\n {/* /.card-header */}\n
\n
\n {/* Morris chart - Sales */}\n \n {/* */}\n \n
\n
\n
\n {/* /.card-body */}\n \n \n );\n};\n\nexport default IlluminateActivtyGraph;\n","import React from \"react\";\nimport { enGB } from \"date-fns/locale\";\nimport { DateRangePicker, START_DATE, END_DATE } from \"react-nice-dates\";\nimport \"react-nice-dates/build/style.css\";\nimport { useState } from \"react\";\nimport styled from \"styled-components\";\n\nconst DatePickerComponent = (props) => {\n return (\n \n \n {({ startDateInputProps, endDateInputProps, focus }) => (\n
\n \n {/* */}\n   to  \n \n
\n )}\n \n
\n );\n};\n\nconst Container = styled.div`\n display: flex;\n justify-content: center;\n margin-bottom: 24px;\n .date-range_arrow {\n font-size: 32px;\n color: #0e3254;\n font-weight: 100;\n }\n input {\n -webkit-appearance: none;\n background-color: #fff;\n border-radius: 6px;\n border: 1px solid #d3dde6;\n color: #0e3254;\n /* display: block; */\n font-family: inherit;\n font-size: inherit;\n height: 42px;\n outline: none;\n padding: 0 12px;\n transition: border-color 0.2s;\n }\n input:focus {\n border-color: #438cd2;\n }\n .nice-dates-popover {\n border-radius: 6px;\n width: 340px;\n right: 340px;\n /* justify-self: center; */\n }\n`;\n\nexport default DatePickerComponent;\n","import React from \"react\";/* eslint-disable no-undef */\nimport IlluminateActivityGraph from \"./IlluminateActivtyGraph\";\nimport DatePickerComponent from \"./DatePickerComponent\";\nimport { useState, useEffect } from \"react\";\nimport { Notifications, NotificationsNoneOutlined } from \"@mui/icons-material\";\nimport { Badge, IconButton } from \"@mui/material\";\n// import moment;\nconst MacroMetricsCarousel = (props) => {\n const [startDate, setStartDate] = useState(\n new Date(new Date(new Date(new Date(new Date(new Date().setMonth(new Date().getMonth() - 1)).setHours(0)).setMinutes(0)).setSeconds(0)).setMilliseconds(0))\n );\n // console.log(props)\n const [endDate, setEndDate] = useState(new Date());\n // eslint-disable-next-line no-undef\n const [aggregateData, setAggregateData] = useState({\n totalVisits: 0,\n newPatients: 0,\n recurringPatients: 0,\n });\n const [selectedData, setSelectedData] = useState({\n totalVisits: 0,\n newPatients: 0,\n recurringPatients: 0,\n });\n\n const [gramMetrics, setGramMetrics] = useState([0, 0, 0, 0])\n\n const [graphData, setGraphData] = useState({});\n useEffect(() => {\n const tmp = {\n totalVisits: 0,\n newPatients: 0,\n recurringPatients: 0,\n };\n const tmp2 = {\n totalVisits: 0,\n newPatients: 0,\n recurringPatients: 0,\n };\n\n let tmp3 = {};\n\n let vals = [0, 0, 0, 0];\n console.log(\"woundMetrics\", props.woundMetrics);\n if (props.woundMetrics) {\n Object.keys(props.woundMetrics).forEach((patient) => {\n const vMetrics = props.woundMetrics[patient];\n console.log(vMetrics)\n Object.keys(vMetrics).forEach((e, index) => {\n if (vMetrics[e][\"date\"]) {\n if ((moment(vMetrics[e][\"date\"].slice(0, 8), \"DDMMYYYY\").toDate() >= startDate) && (moment(vMetrics[e][\"date\"].slice(0, 8), \"DDMMYYYY\").toDate() <= endDate)) {\n console.log(\"metricDate\", vMetrics[e][\"date\"].slice(0, 8), \" >> \", moment(vMetrics[e][\"date\"].slice(0, 8), \"DDMMYYYY\").toDate().toLocaleDateString());\n if (vMetrics[e][\"gramType\"] === \"NG\" || vMetrics[e][\"gramType\"] === \"\") {\n console.log(\"Adding NG\", vMetrics[e][\"gramType\"], patient, index);\n vals[0] += 1;\n } else if (vMetrics[e][\"gramType\"] === \"GN\") {\n console.log(\"Adding GN\", vMetrics[e][\"gramType\"], patient, index);\n vals[1] += 1;\n } else if (vMetrics[e][\"gramType\"] === \"GP\") {\n console.log(\"Adding GP\", vMetrics[e][\"gramType\"], patient, index);\n vals[2] += 1;\n } else if (vMetrics[e][\"gramType\"] === \"GN,GP\" || vMetrics[e][\"gramType\"] === \"GN&GP\" || vMetrics[e][\"gramType\"] === \"GNGP\") {\n console.log(\"Adding GNGP\", vMetrics[e][\"gramType\"], patient, index);\n vals[3] += 1;\n }\n }\n } else {\n if (vMetrics[e][\"gramType\"] === \"NG\" || vMetrics[e][\"gramType\"] === \"\") {\n console.log(\"Adding NG\", vMetrics[e][\"gramType\"], patient, index);\n vals[0] += 1;\n } else if (vMetrics[e][\"gramType\"] === \"GN\") {\n console.log(\"Adding GN\", vMetrics[e][\"gramType\"], patient, index);\n vals[1] += 1;\n } else if (vMetrics[e][\"gramType\"] === \"GP\") {\n console.log(\"Adding GP\", vMetrics[e][\"gramType\"], patient, index);\n vals[2] += 1;\n } else if (vMetrics[e][\"gramType\"] === \"GN,GP\" || vMetrics[e][\"gramType\"] === \"GN&GP\" || vMetrics[e][\"gramType\"] === \"GNGP\") {\n console.log(\"Adding GNGP\", vMetrics[e][\"gramType\"], patient, index);\n vals[3] += 1;\n }\n }\n\n });\n });\n }\n\n setGramMetrics(vals)\n\n Object.keys(props.data).forEach((date) => {\n // console.log( startDate.getTime(), date, new Date(moment(date, \"DDMMYYYY\").toDate().toLocaleDateString()).getTime(), new Date(moment(date, \"DDMMYYYY\").toDate().toLocaleDateString()) >= startDate );\n if (!date.includes(\"-\")) {\n if (moment(date, \"DDMMYYYY\").toDate() < startDate) {\n tmp[\"totalVisits\"] += props.data[date][0];\n tmp[\"newPatients\"] += props.data[date][2];\n tmp[\"recurringPatients\"] += props.data[date][1];\n } else if (\n moment(date, \"DDMMYYYY\").toDate() >= startDate &&\n moment(date, \"DDMMYYYY\").toDate() <= endDate\n ) {\n console.log(props.data)\n tmp2[\"totalVisits\"] += props.data[date][0];\n tmp2[\"newPatients\"] += props.data[date][2];\n tmp2[\"recurringPatients\"] += props.data[date][1];\n tmp3[moment(date, \"DDMMYYYY\").toDate().toLocaleDateString().replaceAll(\"/\", \"-\")] = props.data[date][0];\n console.log(date, moment(date, \"DDMMYYYY\").toDate().toLocaleDateString(), \"metric\")\n }\n }\n // console.log(date, tmp, tmp2, tmp3);\n });\n setAggregateData(tmp);\n setSelectedData(tmp2);\n setGraphData(tmp3);\n }, [startDate, endDate, props.data]);\n\n // console.log(startDate, endDate, graphData)\n\n\n\n\n // props.data.forEach((e) => {})\n return (\n <>\n {/* Content Header (Page header) */}\n
\n
\n
\n
\n
\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n \n \n \n

Dashboard

\n\n
\n
\n\n
\n\n

\n\n { props.handleRemainderOpen() }} >\n {!props.isRemainderOpen ?\n \n \n \n :\n \n }\n \n\n {props.userName}\n

\n
\n
\n {/* /.row */}\n
\n {/* /.container-fluid */}\n
\n {/* /.content-header */}\n {/* Main content */}\n
\n
\n {/* Small boxes (Stat box) */}\n
\n
\n {/* small box */}\n
\n
\n

{selectedData.totalVisits}

\n

Total Imaging Sessions

\n
\n
\n \n
\n
\n {((\n selectedData.totalVisits /\n (selectedData.totalVisits + aggregateData.totalVisits)\n ) * 100).toFixed(2)}\n {\"% \"}\n \n
\n
\n
\n\n
\n
\n
\n

\n {selectedData.recurringPatients + selectedData.newPatients}\n

\n

Total patients

\n
\n
\n \n
\n
\n {((\n (selectedData.recurringPatients +\n selectedData.newPatients) /\n (selectedData.recurringPatients +\n selectedData.newPatients +\n (aggregateData.recurringPatients +\n aggregateData.newPatients))\n ) * 100).toFixed(2)}\n {\"% \"}\n \n
\n
\n
\n\n
\n {/* small box */}\n
\n
\n

{selectedData.recurringPatients}

\n

Patients with multiple visit

\n
\n
\n \n
\n
\n {((\n selectedData.recurringPatients /\n (selectedData.recurringPatients +\n aggregateData.recurringPatients)\n ) * 100).toFixed(2)}\n {\"% \"}\n \n
\n
\n
\n {/* ./col */}\n
\n {/* small box */}\n
\n
\n

{selectedData.newPatients}

\n

Patients with one visit

\n
\n
\n \n
\n
\n {((\n selectedData.newPatients /\n (selectedData.newPatients + aggregateData.newPatients)\n ) * 100).toFixed(2)}\n {\"% \"}\n \n
\n
\n
\n
\n {/* small box */}\n \n
\n \n {gramMetrics[0]}\n \n

No Growth

\n
\n
\n
\n
\n\n
\n {/* small box */}\n \n
\n \n {gramMetrics[2]}\n \n

Gram Positive

\n
\n
\n
\n
\n
\n {/* small box */}\n \n
\n \n {gramMetrics[1]}\n \n

Gram Negative

\n
\n
\n
\n \n
\n {/* small box */}\n \n
\n \n {gramMetrics[3]}\n \n

Colonizing GN & GP

\n
\n
\n {/* */}\n
\n
\n \n\n {/* ./col */}\n \n {/*
\n Choose date range\n
*/}\n { setStartDate(v) }}\n setEndDate={v => {\n if (v > startDate) {\n setEndDate(v)\n }\n }}\n />\n \n \n
\n \n );\n};\n\nexport default MacroMetricsCarousel;\n","import AlertBox from 'components/elements/AlertBox'\nimport React from 'react'\nimport { useState } from 'react'\nimport { useEffect } from 'react'\nimport { firebaseGetMissingData } from 'services/firebase/firebaseStorage'\nimport { Button, Dialog, DialogActions, DialogTitle, Table, TableBody, TableCell, TableHead, TableRow } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport { TableBar } from '@mui/icons-material'\n\nfunction MissingDataAlert() {\n const [missingData, setMissingData] = useState(null)\n useEffect(()=>{\n firebaseGetMissingData().then(data=>{\n console.log(data)\n setMissingData(data)\n }).catch(err=>{\n console.error(err)\n })\n },[])\n\n const CustomDialog = styled(Dialog)(({ theme }) => ({\n '.MuiPaper-root':{\n borderRadius:\"25px\"\n }\n }));\n\n const [isOpen, setIsOpen] = useState(false)\n const handleClose = () =>{\n setIsOpen(!isOpen)\n }\n\n return missingData &&\n missingData.NumberOfMissingImages > 0 && \n <>\n {setIsOpen(!isOpen)}} title=\"There are some missing data.\" message=\"Some of your patient data are missing. Try to sync them individually from the device.\" severity=\"error\" />\n \n \n These are the patient ids and visits that have to be uploaded.\n \n \n \n \n Patient Id\n Visit No.\n \n \n \n {\n Object.keys(missingData.MissingImages).map(pid=>\n {`${pid.split(\"_\")[0]}_${pid.split(\"_\")[1]}`}\n {pid.split(\"_\").at(-1)}\n )\n }\n \n
\n \n \n \n}\n\nexport default MissingDataAlert","import styled from \"@emotion/styled\";\nimport { Download, NotificationsActiveRounded } from \"@mui/icons-material\";\nimport { Badge, Button, Chip, Dialog, DialogContent, DialogTitle, Table, TableBody, TableCell, TableHead, TableRow } from \"@mui/material\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { firebaseGetReminderList } from \"services/firebase/firebaseStorage\";\nimport notify from \"../../../asset/lottie/Notify.json\";\nimport noReminders from \"../../../asset/lottie/noReminders.json\";\nimport Lottie from \"react-lottie\";\nimport { CSVLink } from \"react-csv\";\n\nfunction Reminders({ isReminderOpen, setTodayReminderCount, handleReminderOpen }) {\n const [reminderList, setReminderList] = useState(null);\n const getTodayReminderKey = () => {\n let currentDate = new Date();\n let day = currentDate.getDate();\n let month = currentDate.getMonth() + 1;\n let year = currentDate.getFullYear();\n\n // Add a leading zero to the day and month if they're less than 10\n day = day < 10 ? '0' + day : day;\n month = month < 10 ? '0' + month : month;\n\n let dateFormatted = day.toString() + month.toString() + year.toString();\n return `date_${dateFormatted}`\n\n }\n useEffect(() => {\n firebaseGetReminderList()\n .then((data) => {\n if (!data) {\n setReminderList({});\n } else {\n setReminderList({[getTodayReminderKey()]:data});\n console.log(getTodayReminderKey())\n setTodayReminderCount(Object.keys(data).length)\n }\n })\n .catch((err) => {\n console.error(err);\n });\n\n }, []);\n\n const CustomDialog = styled(Dialog)(({ theme }) => ({\n \".MuiPaper-root\": {\n borderRadius: \"25px\",\n width: \"100%\",\n maxHeight:\"90vh\",\n overflow: \"auto\"\n },\n }));\n\n const getRemindersDate = (dateString) => {\n let dateArr = dateString.split(\"_\").at(-1).split(\"\");\n if (dateArr.length === 8) {\n return new Date(\n `${dateArr[2]}${dateArr[3]}/${dateArr[0]}${dateArr[1]}/${dateArr[4]}${dateArr[5]}${dateArr[6]}${dateArr[7]}`\n );\n } else {\n throw new Error(\n `Invalid Reminder Date ${dateString}, ${dateArr.join(\",\")} - ${\n dateArr.length\n }`\n );\n }\n };\n\n const ReminderTable = ({data}) =>{ \n console.log(data)\n return <> \n
\n \n

Reminders

\n
\n \n \n \n \n PID\n Name\n No. visits\n Last Visit\n Next Visit\n \n \n \n {\n data.map(row=>\n {row.pid}\n {row.name}\n {row.visits}\n {row.lastVisitDate}\n {row.nextVisitDate}\n )\n }\n \n
\n }\n\n const getDate = (dateString) => {\n let dateArr = dateString.split(\"_\").at(-1).split(\"\");\n if (dateArr.length >= 8) {\n return new Date(\n `${dateArr[2]}${dateArr[3]}/${dateArr[0]}${dateArr[1]}/${dateArr[4]}${dateArr[5]}${dateArr[6]}${dateArr[7]}`\n );\n } else {\n throw new Error(\n `Invalid Reminder Date ${dateString}, ${dateArr.join(\",\")} - ${\n dateArr.length\n }`\n );\n }\n };\n\n const dayCount = (startDate, endDate) => {\n // Convert both dates to milliseconds\n let startTime = new Date(startDate).getTime();\n let endTime = new Date(endDate).getTime();\n\n // Calculate the difference in milliseconds\n let difference = Math.abs(endTime - startTime);\n\n // Convert the difference to days and return\n return Math.ceil(difference / (1000 * 60 * 60 * 24));\n };\n\n const isToday = (dateString) => (\n new Date(dateString).toLocaleDateString(\"en-IN\") ===\n new Date().toLocaleDateString(\"en-IN\")\n )\n\n const nthNumber = (number) => {\n if (number > 3 && number < 21) return `${number}th`;\n switch (number % 10) {\n case 1:\n return `${number}st`;\n case 2:\n return `${number}nd`;\n case 3:\n return `${number}rd`;\n default:\n return `${number}th`;\n }\n };\n\n const getTableContent = (reminderData)=>{\n let tableData = []\n Object.keys(reminderData).filter(\n (reminderDate) =>\n getRemindersDate(reminderDate) >=\n new Date(new Date().toDateString())\n )\n .sort((a, b) => getRemindersDate(a) - getRemindersDate(b))\n .forEach((reminderDate)=>{\n Object.keys(reminderData[reminderDate])\n .forEach(pid=>{\n tableData.push({\n pid: pid,\n name: reminderData[reminderDate][pid].name || 'Unkown',\n visits :`${ reminderData[reminderDate][pid].lastVisitNo}`,\n lastVisitDate: getDate(reminderData[reminderDate][pid].lastVisitDate).toLocaleDateString('en-IN'),\n nextVisitDate : getDate(reminderData[reminderDate][pid].nextVisitDate).toLocaleDateString('en-IN')\n })\n })\n })\n console.log(tableData)\n return tableData\n }\n\n return (\n reminderList && (\n <>\n \n
\n
\n \n
\n
\n

Reminders

\n
\n
\n
\n \n }\n title=\"Download as CSV\"\n style={{\n borderRadius:\"50px\",\n marginRight:\"-15px\",\n marginTop: \"-80px\"\n }}\n >\n Download\n \n \n
\n
\n
\n
\n\n {Object.keys(reminderList).filter(\n (reminderDate) =>\n getRemindersDate(reminderDate) >=\n new Date(new Date().toDateString())\n ).length > 0 ? (\n // \n \n \n {Object.keys(reminderList)\n .filter(\n (reminderDate) =>\n getRemindersDate(reminderDate) >=\n new Date(new Date().toDateString())\n )\n .sort((a, b) => getRemindersDate(a) - getRemindersDate(b))\n .map((reminderDate) => (\n
\n {isToday(getRemindersDate(reminderDate)) ? (\n \n \n \n ) : (\n \n \n \n )}\n {Object.keys(reminderList[reminderDate]).map((pid) => (\n <>\n \n
\n
\n
\n \n
\n
\n\n
\n
\n
\n

\n {reminderList[reminderDate][pid].name}{\" \"}\n \n \n \n

\n
\n
\n
\n\n \n last visit on{\" \"}\n {getDate(\n reminderList[reminderDate][pid]\n .lastVisitDate\n ).toLocaleDateString(\"en-IN\")}\n \n

\n Reminder for the{\" \"}\n {nthNumber(\n reminderList[reminderDate][pid]\n .lastVisitNo + 1\n )}{\" \"}\n visit -{\" \"}\n {isToday(getRemindersDate(reminderDate)) ? (\n \n ) : (\n \n )}\n

\n
\n
\n
\n \n ))}
\n \n ))}\n \n \n ) : (\n \n \n \n No Reminders yet!\n \n \n )}\n \n \n )\n );\n}\n\nexport default Reminders;\n","import React from \"react\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { getUserName, selectDataState } from \"redux/dataSlice\";\nimport MacroMetricsCarousel from \"./components/MacroMetricsCarousel\";\nimport MissingDataAlert from \"./components/MissingDataAlert\";\nimport Remainders from \"./components/reminders\";\n\nconst MainDashView = (props) => {\n\n const dispatch = useDispatch();\n const { userName } = useSelector(selectDataState);\n useEffect(()=>{\n dispatch(getUserName())\n },[])\n\n const [reminderOpen, setRemainderOpen] = useState(false)\n\n const handleReminderOpen = () =>{\n setRemainderOpen(!reminderOpen)\n }\n\n const [todayReminderCount, setTodayReminderCount] = useState(0)\n\n return (\n
\n \n {/* */}\n \n
\n );\n};\n\nexport default MainDashView;\n","import React from \"react\";\nimport MainDashView from \"./MainDashView\";\nimport { getGeneralUserAnaltycs, selectDataState } from \"redux/dataSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { selectMainDashState, getVisitDataPoints } from \"redux/mainDashSlice\";\nimport { useEffect } from \"react\";\nimport { selectWoundDashState } from \"redux/woundDashSlice\";\nimport Loader from \"components/loader/loader\";\nimport MissingDataAlert from \"./components/MissingDataAlert\";\nexport const MainDashContainer = () => {\n const { generalUserAnalytics } = useSelector(selectDataState);\n const { processedDashData, woundMetrics, vData } = useSelector(selectMainDashState);\n const { imageWL, data } = useSelector(selectWoundDashState);\n const dispatch = useDispatch();\n useEffect(() => {\n if (!generalUserAnalytics) {\n dispatch(getGeneralUserAnaltycs());\n }\n }, []);\n\n console.log(\"asdf\", woundMetrics);\n console.log(processedDashData)\n console.log(vData)\n return Object.keys(processedDashData).length !== 0 && woundMetrics ? (\n <>\n \n \n \n ) : (\n \n );\n};\n","import React from \"react\";\nconst { default: VisitDash } = require(\"components/VisitDash\")\nconst { default: WoundDash } = require(\"components/WoundDash\")\n\nconst Frame = (props) =>{\n console.log(props.currentTab)\n return
\n {/* */}\n {props.currentTab.split(\"/\").at(1) === \"0\" ? (\n \n ) : (\n \n )}\n
\n}\n\nexport default Frame","import React from \"react\";\nimport { useState } from \"react\"\n\nconst { TextField, styled } = require(\"@mui/material\")\n\nconst VisitBar = (props) =>{\n \n const Input = styled(TextField)({\n 'input' :{\n backgroundColor: 'white',\n borderColor: 'white',\n color: '#252525',\n zIndex:\"1\",\n borderRadius:\"25px\",\n height: \"10px\"\n },\n \n '& label.Mui-focused': {\n color: \"#252525\",\n backgroundColor: 'white',\n outline: 'none',\n display:'none'\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'white',\n },\n '& .MuiOutlinedInput-root': {\n \n '&.Mui-focused fieldset': {\n borderColor: 'white',\n outline:\"none\",\n backgroundColor:\"white\"\n },\n '&:hover fieldset':{\n borderColor:\"white\"\n \n },\n ' fieldset':{\n borderRadius:\"25px\",\n borderColor:\"white\",\n backgroundColor:\"white\",\n color:\"#252525\",\n zIndex:\"0\"\n }\n },\n });\n return
\n \n
\n}\n\nexport default VisitBar","import React from \"react\";/* eslint-disable jsx-a11y/anchor-is-valid */\nimport ImageDashboard from \"components/ImageDashboard\";\nimport MainDash from \"components/MainDash\";\nimport WoundDash from \"components/WoundDash\";\nimport VisitDash from \"components/VisitDash\";\nimport Frame from \"./frame\";\nimport VisitBar from \"./visitBar\";\nimport { useEffect, useRef } from \"react\";\nimport { useState } from \"react\";\n\n// import Wound\n\nconst IFrameView = (props) => {\n const [visit, setVisit] = useState(props.currentTab)\n const navTab = useRef()\n const scroll = (scrollOffset) => {\n navTab.current.scrollLeft += scrollOffset;\n };\n console.log(props.currentTab)\n \n const handlevisit = (e)=>{\n e.preventDefault();\n if(!!e.target.value && e.target.value > 0 && e.target.value <= props.max){\n setVisit(e.target.value)\n handleTab(e.target.value)\n }else if(!!e.target.value && e.target.value > props.max){\n setVisit(props.max)\n handleTab(props.max)\n }else{\n setVisit(0)\n handleTab(0)\n }\n}\n useEffect(()=>{\n if(!!navTab && !!navTab.current && props.currentTab >= 6 && props.currentTab < 20 ){\n scroll(props.currentTab*20)\n }\n\n if(!!navTab && !!navTab.current && props.currentTab >= 21 ){\n scroll(props.currentTab*65)\n }\n }, [props.currentTab])\n\n const handleTab = (value) =>{\n props.onTabClick(props.tabs[value].split(\"/\").at(1))\n }\n return (\n \n {props.tabs.length > 0 && (\n
\n \n \n \n\n {/* {\n e.preventDefault();\n props.onMoveTab(-1);\n }}\n >\n \n */}\n\n {\n e.preventDefault();\n props.onTabClick(0);\n }}\n >\n Overview\n \n \n \n\n
    \n {props.tabs.map((e, index) => {\n console.log(props.tabs, e);\n return (\n e.split(\"/\").at(1) !== \"0\"\n && !!e && \n {\n a.preventDefault();\n props.onTabClick(e.split(\"/\").at(1));\n }}\n >\n { \"Visit \" + e.split(\"/\").at(1)}\n \n \n );\n })}\n
\n\n {\n e.preventDefault();\n props.onTabClick(props.tabs[props.tabs.length -1].split(\"/\").at(1));\n console.log(navTab)\n }}\n >\n \n \n
\n )}\n {props.currentTab >= 0 && (\n \n )}\n {props.currentTab === -1 && (\n
\n
\n

\n No tab selected\n

\n
\n
\n )}\n {props.currentTab === -2 && }\n \n );\n};\nexport default IFrameView;\n","import React from \"react\";\nimport IFrameView from \"./IFrameView\";\nimport { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n selectDashboardState,\n changeCurrentTab,\n closeTab,\n closeAllTabs,\n closeAllTabsExcept,\n moveTab,\n} from \"redux/dashboardSlice\";\n\nexport const IFrameContainer = () => {\n const dispatch = useDispatch();\n const { tabs, currentTab } = useSelector(selectDashboardState);\n const onTabClick = (index) => {\n dispatch(changeCurrentTab(index));\n };\n const onTabClose = (index) => {\n dispatch(closeTab(index));\n };\n const onCloseAllTabs = () => {\n dispatch(closeAllTabs());\n };\n const onCloseAllTabsExcept = (index) => {\n dispatch(closeAllTabsExcept(index));\n };\n const onMoveTab = (direction) => {\n dispatch(moveTab(direction));\n };\n console.log(tabs)\n return (\n \n );\n};\n","import React from 'react';\nimport Navbar from \"components/Navbar\";\nimport Sidebar from \"components/Sidebar\";\nimport IFrame from \"components/IFrame\";\n\nexport const HomeView = (props) => {\n return (\n
\n {/* */}\n \n