{"version":3,"sources":["api/index.js","assets/images/hapi-partner-logo.png","polyfills.js","components/reusables/Loader.js","PrivateRoute.js","components/pages/landing_page/ClockIn.js","components/pages/landing_page/ClockOut.js","components/layouts/Navbar.js","components/layouts/Footer.js","components/user-info/user-info.js","assets/svg/Sidebar/Dashboard.svg","assets/svg/Sidebar/Schedule.svg","assets/svg/Sidebar/Patients.svg","assets/svg/Sidebar/Handovers.svg","assets/svg/Sidebar/Support.svg","assets/svg/Sidebar/Kompliwise.svg","assets/svg/Sidebar/Podiatry.svg","assets/svg/Sidebar/Dietetics.svg","assets/svg/Sidebar/ProgressNotes.svg","assets/svg/Sidebar/Assessments.svg","assets/svg/Sidebar/Careplans.svg","assets/svg/Sidebar/Account.svg","assets/svg/Sidebar/Subscription.svg","components/layouts/SideBar.js","components/pages/Signup.js","components/pages/RegisterCareHome.js","assets/images/hapiyouicon.png","components/pages/Welcome.js","components/pages/HomeDashboard.js","components/pages/About.js","components/pages/Contact.js","components/pages/NotFound.js","components/pages/users/Users.js","components/pages/users/UpdateUser.js","assets/svg/Support/Overview/Plus.svg","components/pages/support/SupportRequests.js","components/pages/support/CreateTicket.js","components/pages/support/TicketSuccess.js","components/pages/support/ContactSupport.js","assets/svg/Landing Page/ClientProfile.svg","assets/svg/Landing Page/Alert.svg","assets/svg/Landing Page/Check.svg","assets/svg/Landing Page/Pending.svg","components/pages/landing_page/DashboardSummary.js","components/pages/landing_page/AdminDashboardSummary.js","components/pages/landing_page/LovedOneRequest.js","components/pages/landing_page/Appointments.js","assets/svg/Assessments/Calendar White.svg","assets/svg/Assessments/Bell.svg","components/pages/release_notes/versions/index.js","components/pages/landing_page/Events.js","components/pages/landing_page/Tasks.js","components/pages/landing_page/Notifications.js","components/pages/landing_page/LandingPage.js","AppWithRouterAccess.js","App.js","reportWebVitals.js","reducers/loved1s.js","reducers/roles.js","reducers/facilities.js","reducers/user.js","reducers/index.js","serviceWorkerRegistration.js","index.js","constants/actionsTypes.js","role.js","practice.js","components/reusables/AlertsTop.js","components/pages/notifications/ResidentDetails.js","components/reusables/Paginator/usePagination.js","firebase/firebase.js","assets/svg/Handovers/ClientProfile.svg","components/reusables/Paginator/Pagination.js"],"names":["url","baseURL","loginAuth0","username","password","axios","post","signUpUser","data","signUpCarehome","forgotPassword","authMe","accessToken","get","headers","Authorization","fetchRoles","CancelToken","source","fetchFacilities","fetchAllFacilities","fetchPatients","filter","facility","isIncludeInactive","cancellationToken","arguments","length","undefined","_url","cancelToken","fetchPatientsByDate","getPatient","id","getProgressNotesHistory","createPatient","patientInfo","postPatientStatus","patientId","patientStatus","updatePatient","put","deletePatient","delete","getProgressNotes","getProgressNotesByDate","residentId","date","getGeneralCareHomeNotes","getPendingNotes","addProgressNotes","saveProgressNotes","editProgressNotes","note","removeProgressNotes","updateProgressNotes","deleteProgressNotes","item","getTreatmentTypeDetails","getTreatmentTypes","getAssessmentTypes","getConsentTypes","getNoTreatmentTypes","getObservations","getAssessments","postAssessment","postData","updateAssessment","itemId","getAssessmentHistory","getPhysioAssessments","practice","postPhysioAssessment","updatePhysioAssessment","assessmentId","getAssessmentHistoryByPractice","getDieteticsAssessments","postDieteticsAssessment","updateDieteticsAssessment","getCarePlans","postCarePlan","updateCarePlan","getCarePlanHistory","getAllUsers","getUser","getUserPhoto","userId","updateUserPhoto","createUser","userInfo","updateUser","getAllUsersLovedOnes","updateUsersLoved1s","loved1s","getAppointmentsToday","dateFrom","dateTo","getSchedulesForFacilityTreatmentVisit","treatmentId","isCarehomemanager","getScheduledVisits","dateToday","getPerformedVisits","getAllPerformedVisits","pageNumber","pageSize","postFinalizeVisits","getHandoverFromVisits","visitId","postHandoverSignature","getActivityType","type","getAnnouncements","postClockInAndOut","getClockInStatus","getAllergies","addAllergy","updateAllergy","deleteAllergy","getMedication","addMedication","updateMedication","deleteMedication","getPDRContacts","facilityId","postContact","sendEmailPdr","getPushNotification","generatePDR","postConsentForPodiatry","getConsentForPodiatry","getConsent","consentId","sendConsentToContact","updateConsent","getWards","getFacilityWards","facilityIds","postWard","postTasks","getTasks","getTasksByFilter","subject","startDate","endDate","updateTask","taskId","doneTheTask","deferredTheTask","getLovedOneContact","postLovedOneContact","updateLovedOneContact","contactId","deleteLovedOneContact","postEmailLovedOneContact","getPractices","postBooking","getBookings","getBookingsAvailableByDate","postPractitionerSchedule","updatePractitionerSchedule","scheduledId","getPractitionerAvailability","email","bookingTypeId","getResidentSubscription","getThreadAndParticipants","getThreadsById","threadId","getThreadMessagesByUser","getThreadMessagesByContact","sendMessageToThread","postNewChannel","fetchChannelByLoggedInUser","getAllMessagesFromChannel","channelID","sendMessagesToChannel","getTreatmentNotesByPractice","getAssessmentsByPractice","getCarePlansByPractice","getFinalizeAndUnfinalizedHandovers","params","getLookupOptionByType","getPendingLovedOneRequest","approveLovedOneRequest","deleteUserAccount","confirmBooking","rejectBooking","startCheckout","startCheckoutLovedOnesProgressNote","checkBookingPayment","bookingId","getResidentFundingSource","changeFundingType","addActiveResidentDate","Promise","resolve","reject","then","response","catch","error","setInActiveResidentDate","getAllGPOrLA","role","getGPOrLAForResident","addGPOrLA","updateGPOrLA","deactivateGPOrLA","sendEmailForHistory","checkProgressNotePayment","changePaymentType","getSubscriptionStatus","getCustomer","getProduct","productId","createSubscription","getFacilityRetainedService","getResidentBookingCredit","self","URLSearchParams","searchString","Object","defineProperty","this","writable","value","attribute","attributes","replace","split","i","append","decodeURIComponent","prototype","name","_entries","push","String","toString","encodeURIComponent","global","window","Loader","_ref","variant","_jsx","className","children","Spinner","size","PrivateRoute","rest","Route","render","isAuthenticated","authState","JSON","parse","localStorage","getItem","access_token","console","log","Redirect","to","ClockIn","setClockIn","getClockInStatusLoader","setPostData","useState","latitude","longitude","loader","setLoader","history","useHistory","handleExpiration","removeItem","_Fragment","onClick","async","e","preventDefault","clockIn","api","prev","_error$response","_error$response2","_error$response2$data","_error$response2$data2","_error$response3","_error$response3$data","_error$response3$data2","status","errors","message","submitClockIn","ClockOut","clockInData","popupVisible","setPopupVisible","today","Date","clockInTime","moment","TimeStampUtc","d","diffMs","getTime","Math","floor","toLocaleDateString","weekday","year","month","day","time","setTime","interval","useEffect","setInterval","currentTime","toLocaleTimeString","clearInterval","_postData","navigator","geolocation","getCurrentPosition","pos","coords","clockOut","submitClockOut","Navbar","_location$search$spli","_location$search","_location$search$spli2","_param$","_param$2","_param$3","_param$4","_param$4$split$","_param$4$split$$split","_param$5","_param$6","searchTerm","setSearchTerm","setSort","changeURLPatient","confirmShowed","setConfirmShowed","saved","setSaved","currentPage","setCurrentPage","setNavBarLoader","selectedOption","notificationData","setNotificationData","notificationLoader","unreadCount","setUnreadCount","userClaims","_id","facilityManagerRole","careHomeManagerRole","userRoles","location","useLocation","setClockInData","showClock","setShowClock","clockInToggle","setClockInToggle","setGetClockInStatusLoader","param","search","paramState","map","parseInt","showPopup","setShowPopup","notifRef","useRef","handler","current","contains","target","document","addEventListener","removeEventListener","clockInStatus","_data$data","_data$data2","_data$data2$data","_data$data3","_data$data3$data","Description","handlePushNotifications","isMounted","ref","db","onDataChange","snapshot","val","innerObjectKey","keys","find","key","array","prevArray","toast","notes","event","onValue","_jsxs","Toaster","position","reverseOrder","NavLink","pathname","indexOf","src","logo","alt","style","height","placeholder","width","onChange","includes","handleBellClick","cursor","FontAwesomeIcon","icon","display","right","backgroundColor","borderRadius","verticalAlign","top","boxShadow","zIndex","border","overflowY","borderTopLeftRadius","borderTopRightRadius","slice","index","handleNotifClick","resident","fontSize","ResidentDetails","color","createdAt","fromNow","letterSpacing","fontWeight","opacity","minHeight","library","add","fab","far","fas","Footer","Component","bottom","href","rel","UserInfo","firstName","lastName","greeting","setGreeting","avatarPic","setAvatarPic","preview","setPreview","picture","setPicture","show","setShow","currentHour","format","img","err","invalidToken","cancelUpdatePhoto","capitalize","charAt","toUpperCase","accountName","AvatarImg","Modal","onHide","Header","closeButton","Title","Body","Avatar","imageWidth","imageHeight","onCrop","view","onClose","onBeforeFileLoad","elem","files","Swal","fire","title","html","confirmButtonColor","Button","imageUpload","exportImage","Image","onload","canvas","createElement","ctx","getContext","drawImage","highQualityImage","toDataURL","SideBar","setIsNavClosed","clientApp","isHapiPartnerUser","some","appName","hasPhysioPractice","hasDiatecianPractice","usePracticeHook","adminRole","clinicalManagerRole","useSelector","state","roles","handleChangeURL","confirm","reload","marginBottom","exact","Dashboard","Calendar","marginRight","marginTop","Podiatry","ProgressNotes","Assessment","CarePlans","Dietetics","weight","Patients","Handovers","Support","Kompliwise","Subscribe","Account","Signup","_userInfo$firstName$t","_userInfo$middleName$","_userInfo$lastName$to","_userInfo$nickName$to","_userInfo$dateOfBirth","_userInfo$gender","_userInfo$address","_userInfo$zipCode","_userInfo$countryCode","_userInfo$practice","_userInfo$email$toLow","_userInfo$password","loading","setLoading","useDispatch","user","registerSuccessful","setRegisterSuccessful","successMessage","setSuccessMessage","errorMessage","setErrorMessage","errorIndicator","setErrorIndicator","countries","setCountries","practices","setPractices","signupError","setsignupError","numOfLovedOnes","setNumOfLovedOnes","confirmPassword","setConfirmPassword","setUserInfo","middleName","nickName","dateOfBirth","gender","address","zipCode","countryCode","birthday","setBirthday","birthDate","iso","all","_practices$","getPractice","handleChange","margin","AlertsTop","text","bsClass","htmlFor","toLowerCase","disabled","alpha3","country","label","validateForm","isValid","ifLovedOne","randomWords","lovedOnes","hasOwnProperty","RegisterCareHome","_userInfo$firstName","_userInfo$lastName","_userInfo$nickName","_birthday$day","_birthday$month","_birthday$year","_userInfo$facility","_userInfo$email","facilities","setFacilities","facilitiesMap","setFacilitiesMap","facilityName","_facilities$","_facilities$2","longName","_countries$","facilityInfo","forEach","FacilityName","match","splitIndex","FacilityID","getAllFacilities","handleChangeBirthday","combinedDate","required","renderDays","numDays","daysInMonth","days","dayValue","renderMonths","months","monthValue","renderYears","years","getFullYear","justifyContent","alignItems","flexDirection","Welcome","HomeDashboard","About","Contact","NotFound","Users","users","setUsers","allRoles","setAllRoles","allFacilites","setAllFacilites","currentTableData","setCurrentTableData","getUserRoles","roleIds","userRole","getUserFacilities","userFacilities","userFacility","Number","facilityShortName","getAllRoles","_error$response4","_error$response5","_error$response5$data","_error$response5$data2","_error$response6","_error$response6$data","_error$response6$data2","_error$response7","_error$response8","_error$response8$data","_error$response8$data2","_error$response9","_error$response9$data","_error$response9$data2","getCurrentTableData","firstPageIndex","lastPageIndex","newData","scope","Link","Pagination","totalCount","onPageChange","page","UpdateUser","useParams","loaderText","setLoaderText","facilityOptions","setFacilityOptions","selectedFacilites","setSelectedFacilites","roleOptions","setRoleOptions","selectedRoles","setSelectedRoles","setUser","onInputChange","options","currentRoles","currentFacilities","_error$response10","_error$response11","_error$response11$dat","_error$response11$dat2","_error$response12","_error$response12$dat","_error$response12$dat2","getCurrentUser","onSubmit","userFacilites","Select","isMulti","selected","SupportRequests","Plus","lineHeight","background","CreateTicket","for","listStyleType","rows","TicketSuccess","ContactSupport","goBack","frameBorder","DashboardSummary","scheduleData","countDoneTodayPatients","patients","_patients$filter$leng","patient","TreatmentDue","NeedsUrgentTreatment","CreatedOn","progress_notes","updatedAt","_data$ResidentsConfir","Address","Phone","Period","FacilityId","ResidentsToBeTreated","ResidentsDueForAssessment","ResidentsDueForTreatment","UrgentTreatmentResidentCount","StartDateTime","ResidentsConfirmed","doc","jsPDF","_allPatients$0$Reside","_allPatients$","_allPatients","tableData","autoTable","headStyles","fillColor","minCellHeight","valign","halign","columnStyles","cellWidth","styles","cellPadding","overflow","head","body","_patient$KnownAs","_ref2","_patient$WardName","_patient$PaymentType","content","colSpan","rowSpan","FirstName","LastName","KnownAs","WardName","RoomNumber","DateOfBirth","HasConsentOnFile","PaymentType","DaysSinceLastTreatment","AssessmentDue","left","bodyStyles","didDrawPage","setFontSize","internal","align","save","downloadTable","AdminDashboardSummary","LovedOneRequest","_forApprovalData$requ","_forApprovalData$requ2","_forApprovalData$requ3","_forApprovalData$requ4","pendingLovedOnes","setPendingLovedOnes","forApprovalData","setForApprovalData","lovedOneLoader","setLovedOneLoader","showApproveModal","setShowApproveModal","handleClose","res","pendingLovedOnesRequest","borderBottomLeftRadius","borderBottomRightRadius","requestorFirstName","requestorLastName","requestorEmail","Form","Group","controlId","Appointments","searchInDashboard","appointments","setAppointments","otherServicesRole","setUserFacilites","facilityLoader","setFacilityLoader","setFilter","week","mergedFacilityInfo","shortName","FacilityShortName","releaseNotesVersion","version","releaseDate","Events","announcements","setAnnouncements","currentDate","setCurrentDate","Array","announcementData","FacilityBirthdays","birthdayArray","sort","a","b","BirthDate","getDate","fetchAnnouncements","announcement","getMonth","toDateString","FullName","reverse","Tasks","_updateTask$subject","_updateTask$descripti","_updateTask$startDate","_updateTask$endDate","allMyTasks","setAllMyTasks","showTask","setShowTask","myTasks","setMyTasks","setUpdateTask","assignedTo","description","tasksDate","setTasksDate","handleOnChangeTask","newObject","prevState","newObj","getMyTasks","task","handleOpenTask","updatedTask","Notifications","_data$resident","LandingPage","UserRoles","setScheduleData","dateContext","searchItem","searchParam","schedule","getSchedule","items","newItem","Login","React","lazy","ForgotPassword","PatientPage","CreatePatient","UpdatePatient","AddMedication","ReadMedications","UpdateMedication","Schedules","Loved1s","ResidentLoved1s","PracticeThread","ThreadLists","LovedOneThread","UpdateLovedOnes","AddProgressNotes","DeletePatient","TermsAndConditions","Handover","NoHandovers","AddVisit","ViewVisits","FacilityVisitDetails","Treatments","VisitDetails","ActivityDetails","Allergies","Medications","AddConsent","ConsentLists","RequestConsent","ReleaseNotes","Referrals","Referrallists","GeneralCareHome","PodiatryProgressNotes","PodiatryAssessments","PodiatryCarePlans","PhysioProgressNotes","PhysioAssessments","DieteticsProgressNotes","DieteticsAssessments","ChatPage","AllSettings","RegisterAccount","AccountLists","Subscriptions","Validate","ProcessBookingConfirmation","MultiProcessBookingConfirmation","SuccessBookingConfirmation","CancelBookingConfirmation","SetResidentActive","SetResidentInActive","MultiStatusManager","LovedOnePayment","AppWithRouterAccess","_param$0$split$","setSelectedOption","isNavClosed","navbarLoader","setNotificationLoader","tabOpen","ward","funding","inactiveResident","join","notif","getNotifications","path","component","Switch","App","Suspense","fallback","Router","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","action","GET_ALL_USERS_LOVED1S","FETCH_ROLES","FETCH_FACILITIES","CREATE_FACILITY","UPDATE_FACILITY","DELETE_FACILITY","CREATE_USER","CREATE_USER_ERROR","combineReducers","isLocalhost","Boolean","hostname","registerValidSW","swUrl","config","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","store","createStore","reducers","compose","applyMiddleware","thunk","ReactDOM","StrictMode","CacheBuster","currentVersion","isEnabled","isVerboseMode","loadingComponent","Provider","getElementById","URL","process","origin","fetch","contentType","ready","unregister","checkValidServiceWorker","serviceWorkerRegistration","isAdmin","setIsAdmin","isClinicalManager","setIsClinicalManager","isFacilityManager","setIsFacilityManager","isCareHomeManager","setIsCareHomeManager","isOtherServices","setIsOtherServices","userPractice","isPhysiotherapist","setIsPhysiotherapist","isDietetics","setIsDietetics","isSpeechPathologist","setIsSpeechPathologist","isGeneralPractitioner","setIsGeneralPractitioner","hasSpeechPathologistPractice","hasGeneralPractice","props","residentInfo","setResidentInfo","Fullname","getResidentDetails","DOTS","range","start","end","from","_","idx","usePagination","siblingCount","useMemo","totalPageCount","ceil","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","rightRange","middleRange","app","initializeApp","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","getDatabase","getMessaging","changeURL","getAllPatientsLoader","getNowPatientsLoader","inactive","paginationRange","lastPage","tab"],"mappings":"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","file":"static/js/main.ba2bde72.chunk.js","sourcesContent":["import axios from \"axios\";\r\nimport { baseURL } from \"../constants/actionsTypes\";\r\n\r\nconst url = baseURL;\r\n\r\nexport const loginAuth0 = (username, password) => {\r\n\treturn axios.post(`${url}/auth/login`, { username, password });\r\n};\r\n\r\nexport const signUpUser = (data) => {\r\n\treturn axios.post(`${url}/auth/signup`, data);\r\n};\r\n\r\nexport const signUpCarehome = (data) => {\r\n return axios.post(`${url}/auth/signup-carehome`, data);\r\n};\r\n\r\nexport const forgotPassword = (data) => {\r\n\treturn axios.post(`${url}/auth/forgot-password`, data);\r\n};\r\n\r\nexport const authMe = (accessToken) => {\r\n\treturn axios.get(`${url}/auth/me`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const patientsFilterCancel = axios.CancelToken.source();\r\n//roles request\r\nexport const fetchRoles = () => {\r\n\treturn axios.get(`${url}/roles`);\r\n};\r\n\r\n//facilities request\r\nexport const fetchFacilities = (accessToken) => {\r\n\treturn axios.get(`${url}/facilities?PageSize=10000000`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const fetchAllFacilities = () => {\r\n // console.log(`${url}/get-all-facilities?PageSize=10000000`);\r\n return axios.get(`${url}/facilities/get-all-facilities`);\r\n};\r\n\r\n// export const getFacilities = (accessToken) => {\r\n// return axios.get(`${url}/facilities`, {\r\n// headers: {\r\n// Authorization: `Bearer ${accessToken}`,\r\n// //Groups: userInfo.groups,\r\n// },\r\n// },\r\n// );\r\n// };\r\n\r\nexport const createFacility = (facilityInfo, accessToken) => {\r\n\treturn axios.post(`${url}/facilities`, facilityInfo, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateFacility = (facilityInfo, id, accessToken) => {\r\n\treturn axios.put(`${url}/facilities/${id}`, facilityInfo, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deleteFacility = (id, accessToken) => {\r\n\treturn axios.delete(`${url}/facilities/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\n//patients requests\r\nexport const fetchPatients = (\r\n accessToken,\r\n filter,\r\n facility,\r\n isIncludeInactive,\r\n cancellationToken = null\r\n) => {\r\n\tlet _url = `${url}/patients`;\r\n\r\n if (facility) {\r\n _url = `${_url}?filter=${filter}&facility=${facility}&isIncludeInactive=${isIncludeInactive}`;\r\n // _url = `${_url}?filter=${filter}&facility=${facility}`;\r\n }\r\n\r\n\treturn axios.get(_url, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const fetchPatientsByDate = (\r\n accessToken,\r\n facility,\r\n date = null,\r\n isIncludeInactive,\r\n cancellationToken = null\r\n) => {\r\n let _url = `${url}/patients?filterDate=${date}`;\r\n\r\n if (facility) {\r\n _url = `${_url}&facility=${facility}`;\r\n }\r\n\r\n if (isIncludeInactive) {\r\n _url = `${_url}&isIncludeInactive=${isIncludeInactive}`;\r\n }\r\n\r\n return axios.get(_url, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n //Groups: userInfo.groups,\r\n },\r\n cancelToken: cancellationToken,\r\n });\r\n};\r\n\r\nexport const getPatient = (id, accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/patients/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getInactivePatient = (inactive, accessToken) => {\r\n\treturn axios.get(`${url}/patients?includeInactive=${inactive}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: patientsFilterCancel.token,\r\n\t});\r\n};\r\n\r\nexport const getTreatmentSummaryCancel = axios.CancelToken.source();\r\nexport const getTreatmentSummary = (id, accessToken) => {\r\n\treturn axios.get(`${url}/patients/${id}/details`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: getTreatmentSummaryCancel.token,\r\n\t});\r\n};\r\n\r\nexport const getProgressNotesHistory = (id, accessToken, cancellationToken) => {\r\n\treturn axios.get(`${url}/progress-notes/${id}/logs`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const deleteTreatment = (residentId, treatmentId, accessToken) => {\r\n\treturn axios.delete(\r\n\t\t`${url}/patients/${residentId}/progress-notes/${treatmentId}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const createPatient = (patientInfo, accessToken) => {\r\n\treturn axios.post(`${url}/patients`, patientInfo, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postPatientStatus = (patientId, patientStatus, accessToken) => {\r\n\treturn axios.post(\r\n\t\t`${url}/patients/${patientId}/update-status`,\r\n\t\tpatientStatus,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const updatePatient = (patientInfo, id, accessToken) => {\r\n\treturn axios.put(`${url}/patients/${id}`, patientInfo, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deletePatient = (id, accessToken) => {\r\n\treturn axios.delete(`${url}/patients/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getProgressNotes = (id, accessToken) => {\r\n\treturn axios.get(`${url}/patients/${id}/details`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getProgressNotesByDate = (\r\n\tresidentId,\r\n\tdate,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/progress-notes/get-by-date?resident=${residentId}&date=${date}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t\tcancelToken: cancellationToken,\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getGeneralCareHomeNotes = (\r\n\tresidentId,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/progress-notes?residentId=${residentId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getPendingNotes = (date, accessToken) => {\r\n\treturn axios.get(`${url}/progress-notes/pending-notes?date=${date}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const addProgressNotes = (id, data, accessToken) => {\r\n\treturn axios.post(`${url}/patients/${id}/progress-notes`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const saveProgressNotes = (data, accessToken) => {\r\n return axios.post(`${url}/progress-notes/save`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n \"Content-Type\": \"multipart/form-data\",\r\n //Groups: userInfo.groups,\r\n },\r\n });\r\n};\r\n\r\nexport const editProgressNotes = (id, note, accessToken) => {\r\n return axios.put(`${url}/progress-notes/${id}`, note, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n \"Content-Type\": \"multipart/form-data\",\r\n //Groups: userInfo.groups,\r\n },\r\n });\r\n};\r\n\r\nexport const removeProgressNotes = (id, accessToken) => {\r\n\treturn axios.delete(`${url}/progress-notes/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateProgressNotes = (id, note, accessToken) => {\r\n\treturn axios.put(`${url}/patients/${id}/progress-notes`, note, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deleteProgressNotes = (id, item, accessToken) => {\r\n\treturn axios.delete(`${url}/patients/${id}/progress-notes`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tdata: item,\r\n\t});\r\n};\r\n\r\nexport const getTreatmentTypeDetails = (\r\n accessToken,\r\n cancellationToken = null\r\n) => {\r\n return axios.get(`${url}/utils/get-treatment-type-details`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n //Groups: userInfo.groups,\r\n },\r\n cancelToken: cancellationToken,\r\n });\r\n};\r\n\r\nexport const getTreatmentTypes = (accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/utils/treatment-types`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getAssessmentTypes = (accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/utils/assessment-types`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getConsentTypes = (accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/utils/consent-types`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getNoTreatmentTypes = (accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/utils/no-treatment-types`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\n// observations api\r\nexport const getObservations = (id, accessToken) => {\r\n\treturn axios.get(`${url}/patients/${id}/observations`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const addObseervation = (id, data, accessToken) => {\r\n\treturn axios.post(`${url}/patients/${id}/observations`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateObservation = (id, note, itemId, accessToken) => {\r\n\treturn axios.put(`${url}/patients/${id}/observations/${itemId}`, note, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deleteObservations = (id, itemId, accessToken) => {\r\n\treturn axios.delete(`${url}/patients/${id}/observations/${itemId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getAssessments = (id, accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/patients/${id}/assessments`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const postAssessment = (id, postData, accessToken) => {\r\n\treturn axios.post(`${url}/patients/${id}/assessments`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateAssessment = (id, itemId, postData, accessToken) => {\r\n\treturn axios.put(`${url}/patients/${id}/assessments/${itemId}`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getAssessmentHistory = (\r\n\tid,\r\n\titemId,\r\n\taccessToken,\r\n\tcancellationToken\r\n) => {\r\n\treturn axios.get(`${url}/patients/${id}/assessments/${itemId}/history`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getPhysioAssessments = (\r\n\tpractice,\r\n\tid,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/assessments/${practice}?resident=${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const postPhysioAssessment = (practice, postData, accessToken) => {\r\n\treturn axios.post(`${url}/assessments/${practice}`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updatePhysioAssessment = (\r\n\tpractice,\r\n\tassessmentId,\r\n\tpostData,\r\n\taccessToken\r\n) => {\r\n\treturn axios.put(\r\n\t\t`${url}/assessments/${practice}/${assessmentId}`,\r\n\t\tpostData,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getAssessmentHistoryByPractice = (\r\n\tpractice,\r\n\tassessmentId,\r\n\taccessToken,\r\n\tcancellationToken\r\n) => {\r\n\treturn axios.get(`${url}/assessments/${practice}/${assessmentId}/logs`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getDieteticsAssessments = (\r\n\tpractice,\r\n\tid,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/assessments/${practice}?resident=${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const postDieteticsAssessment = (practice, postData, accessToken) => {\r\n\treturn axios.post(`${url}/assessments/${practice}`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateDieteticsAssessment = (\r\n\tpractice,\r\n\tassessmentId,\r\n\tpostData,\r\n\taccessToken\r\n) => {\r\n\treturn axios.put(\r\n\t\t`${url}/assessments/${practice}/${assessmentId}`,\r\n\t\tpostData,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getCarePlans = (id, accessToken, cancellationToken) => {\r\n\treturn axios.get(`${url}/patients/${id}/care-plans`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const postCarePlan = (id, postData, accessToken) => {\r\n\treturn axios.post(`${url}/patients/${id}/care-plans`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateCarePlan = (id, itemId, postData, accessToken) => {\r\n\treturn axios.put(`${url}/patients/${id}/care-plans/${itemId}`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getCarePlanHistory = (\r\n\tid,\r\n\titemId,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/patients/${id}/care-plans/${itemId}/history`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\n//users api post\r\nexport const getAllUsers = (accessToken) => {\r\n\treturn axios.get(`${url}/users`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getUser = (id, accessToken) => {\r\n\treturn axios.get(`${url}/users/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getUserPhoto = (userId, accessToken) => {\r\n\treturn axios.get(`${url}/users/get-profile/${userId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateUserPhoto = (data, userId, accessToken) => {\r\n\treturn axios.put(`${url}/users/update-photo/${userId}`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const createUser = (userInfo) => {\r\n\treturn axios.post(`${url}/users`, userInfo);\r\n};\r\n\r\nexport const updateUser = (userInfo, id, accessToken) => {\r\n\treturn axios.put(`${url}/users/${id}`, userInfo, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\n//loved 1s api\r\nexport const getAllUsersLovedOnes = (id, accessToken) => {\r\n\treturn axios.get(`${url}/users/${id}/loved1s`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateUsersLoved1s = (data, id, accessToken) => {\r\n\treturn axios.put(\r\n\t\t`${url}/users/${id}/loved1s`,\r\n\t\t{\r\n\t\t\tloved1s: data,\r\n\t\t},\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getAppointmentsToday = (dateFrom, dateTo, accessToken) => {\r\n\treturn axios.get(`${url}/schedules/appointments-today`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getSchedules = (\r\n dateFrom,\r\n dateTo,\r\n accessToken,\r\n // cancellationToken = null\r\n) => {\r\n return axios.get(`${url}/schedules?dateFrom=${dateFrom}&dateTo=${dateTo}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n //Groups: userInfo.groups,\r\n },\r\n // cancelToken: cancellationToken,\r\n });\r\n};\r\n\r\nexport const getSchedulesForFacilityTreatmentVisit = (\r\n accessToken,\r\n dateFrom,\r\n dateTo,\r\n treatmentId,\r\n isCarehomemanager = false,\r\n cancellationToken = null,\r\n // email,\r\n) => {\r\n return axios.get(\r\n `${url}/schedules/treatment-visits?fromDate=${dateFrom}&toDate=${dateTo}&treatmentId=${treatmentId}&isCarehomemanager=${isCarehomemanager}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n cancelToken: cancellationToken,\r\n }\r\n );\r\n};\r\n\r\nexport const getScheduledVisits = (dateToday, accessToken) => {\r\n\treturn axios.get(`${url}/schedules/visits?date=${dateToday}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getPerformedVisits = (\r\n\tdateFrom,\r\n\tdateTo,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/schedules/performed-visits?fromDate=${dateFrom}&toDate=${dateTo}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t\tcancelToken: cancellationToken,\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getAllPerformedVisits = (\r\n\tdateFrom,\r\n\tdateTo,\r\n\tpageNumber,\r\n\tpageSize,\r\n\taccessToken\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/schedules/performed-visits?fromDate=${dateFrom}&toDate=${dateTo}&pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const postFinalizeVisits = (postData, accessToken) => {\r\n\treturn axios.post(`${url}/schedules/finalize-visit`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getHandoverFromVisits = (visitId, accessToken) => {\r\n\treturn axios.get(`${url}/schedules/visits/${visitId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postHandoverSignature = (visitId, postData, accessToken) => {\r\n\treturn axios.post(`${url}/schedules/visits/${visitId}`, postData, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getActivityType = (type, accessToken) => {\r\n\treturn axios.get(`${url}/utils/${type}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getAnnouncements = (accessToken) => {\r\n\treturn axios.get(`${url}/schedules/announcements`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postClockInAndOut = (data, accessToken) => {\r\n\treturn axios.post(`${url}/schedules/clock-in-out`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getClockInStatus = (accessToken) => {\r\n\treturn axios.get(`${url}/schedules/clockin-status`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getAllergies = (accessToken, cancellationToken) => {\r\n\treturn axios.get(`${url}/allergies`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const addAllergy = (data, accessToken) => {\r\n\treturn axios.post(`${url}/allergies`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateAllergy = (id, data, accessToken) => {\r\n\treturn axios.put(`${url}/allergies/${id}`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deleteAllergy = (id, accessToken) => {\r\n\treturn axios.delete(`${url}/allergies/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getMedication = (accessToken, cancellationToken = null) => {\r\n\treturn axios.get(`${url}/medications`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const addMedication = (data, accessToken) => {\r\n\treturn axios.post(`${url}/medications`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateMedication = (id, data, accessToken) => {\r\n\treturn axios.put(`${url}/medications/${id}`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deleteMedication = (id, accessToken) => {\r\n\treturn axios.delete(`${url}/medications/${id}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getPDRContacts = (facilityId, accessToken) => {\r\n\treturn axios.get(`${url}/notification/contacts?facilityId=${facilityId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postContact = (data, accessToken) => {\r\n\treturn axios.post(`${url}/notification/contacts/save`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const sendEmailPdr = (data, accessToken) => {\r\n\treturn axios.post(`${url}/notification/email/send`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getPushNotification = (accessToken) => {\r\n\treturn axios.get(`${url}/notification/`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const generatePDR = (visitId, accessToken) => {\r\n\treturn axios.get(`${url}/visits/generate-pdr?visitId=${visitId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postConsentForPodiatry = (data, accessToken) => {\r\n\treturn axios.post(`${url}/consents`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getConsentForPodiatry = (\r\n\tresidentId,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/patients/${residentId}/consents`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const getConsent = (\r\n\tconsentId,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/consents/${consentId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const sendConsentToContact = (data, accessToken) => {\r\n\treturn axios.post(`${url}/consents/send`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateConsent = (consentId, data) => {\r\n\treturn axios.put(`${url}/consents/${consentId}`, data);\r\n};\r\n\r\nexport const getWards = (accessToken, facilityId) => {\r\n\treturn axios.get(`${url}/wards/${facilityId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getFacilityWards = (accessToken, facilityIds) => {\r\n return axios.get(`${url}/wards/per-facility/${facilityIds}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const postWard = (facilityId, accessToken) => {\r\n\treturn axios.post(`${url}/wards`, facilityId, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postTasks = (data, accessToken) => {\r\n\treturn axios.post(`${url}/tasks`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getTasks = (accessToken) => {\r\n\treturn axios.get(`${url}/tasks`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getTasksByFilter = (subject, startDate, endDate, accessToken) => {\r\n\treturn axios.get(\r\n\t\t`${url}/tasks?subject=${subject}&startDate=${startDate}&endDate=${endDate}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const updateTask = (data, taskId, accessToken) => {\r\n\treturn axios.put(`${url}/tasks/${taskId}`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const doneTheTask = (taskId, data, accessToken) => {\r\n\treturn axios.put(`${url}/tasks/${taskId}/done`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deferredTheTask = (taskId, data, accessToken) => {\r\n\treturn axios.put(`${url}/tasks/${taskId}/deferred`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getLovedOneContact = (\r\n\tresidentId,\r\n\taccessToken,\r\n\tcancellationToken = null\r\n) => {\r\n\treturn axios.get(`${url}/contacts?resident=${residentId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t\tcancelToken: cancellationToken,\r\n\t});\r\n};\r\n\r\nexport const postLovedOneContact = (data, accessToken) => {\r\n\treturn axios.post(`${url}/contacts`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updateLovedOneContact = (contactId, data, accessToken) => {\r\n\treturn axios.put(`${url}/contacts/${contactId}`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const deleteLovedOneContact = (contactId, accessToken) => {\r\n\treturn axios.delete(`${url}/contacts/${contactId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postEmailLovedOneContact = (data, accessToken) => {\r\n\treturn axios.post(`${url}/contacts/send`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getPractices = (accessToken) => {\r\n\treturn axios.get(`${url}/practices`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postBooking = (data, accessToken) => {\r\n\treturn axios.post(`${url}/bookings`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t//Groups: userInfo.groups,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getBookings = (residentId, dateFrom, dateTo, accessToken) => {\r\n\treturn axios.get(\r\n\t\t`${url}/bookings?residentId=${residentId}&dateFrom=${dateFrom}&dateTo=${dateTo}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t\t//Groups: userInfo.groups,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getBookingsAvailableByDate = (dateFrom, dateTo, accessToken) => {\r\n\treturn axios.get(\r\n\t\t`${url}/bookings/available-dates?dateFrom=${dateFrom}&dateTo=${dateTo}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const postBookScheduledItem = (data, accessToken) => {\r\n\treturn axios.post(`${url}/schedules/book-schedule`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postPractitionerSchedule = (data, accessToken) => {\r\n\treturn axios.post(`${url}/schedules/create-practitioner-schedule`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const updatePractitionerSchedule = (accessToken, scheduledId, data) => {\r\n\treturn axios.put(`${url}/schedules/${scheduledId}`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getPractitionerAvailability = (\r\n dateFrom,\r\n dateTo,\r\n email,\r\n bookingTypeId,\r\n accessToken\r\n // cancellationToken = null\r\n) => {\r\n return axios.get(\r\n `${url}/schedules/practitioner-availability?fromDate=${dateFrom}&toDate=${dateTo}&email=${email}&bookingTypeId=${bookingTypeId}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n // cancelToken: cancellationToken,\r\n }\r\n );\r\n};\r\n\r\nexport const getResidentSubscription = (residentId, accessToken) => {\r\n\treturn axios.get(`${url}/subscriptions/status?residentId=${residentId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getThreadAndParticipants = (accessToken) => {\r\n\treturn axios.get(`${url}/threads`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getThreadsById = (threadId, accessToken) => {\r\n\treturn axios.get(`${url}/threads/${threadId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getThreadMessagesByUser = (threadId, userId, accessToken) => {\r\n\treturn axios.get(`${url}/threads/${threadId}/messages?user=${userId}`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getThreadMessagesByContact = (\r\n\tthreadId,\r\n\tcontactId,\r\n\taccessToken\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/threads/${threadId}/messages?contact=${contactId}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const sendMessageToThread = (threadId, data, accessToken) => {\r\n\treturn axios.post(`${url}/threads/${threadId}/messages`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const postNewChannel = (data, accessToken) => {\r\n\treturn axios.post(`${url}/chat`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const fetchChannelByLoggedInUser = (accessToken) => {\r\n\treturn axios.get(`${url}/chat`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const getAllMessagesFromChannel = (channelID, accessToken) => {\r\n\treturn axios.get(`${url}/chat/${channelID}/messages`, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\nexport const sendMessagesToChannel = (channelID, data, accessToken) => {\r\n\treturn axios.post(`${url}/chat/${channelID}/messages`, data, {\r\n\t\theaders: {\r\n\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t},\r\n\t});\r\n};\r\n\r\n// export const getTreatmentNotesByPractice = (\r\n// accessToken,\r\n// practiceID,\r\n// facilityId\r\n// ) => {\r\n// return axios.get(\r\n// `${url}/progress-notes/get-by-treatment-type/${practiceID}?facilityId=${facilityId}`,\r\n// {\r\n// headers: {\r\n// Authorization: `Bearer ${accessToken}`,\r\n// },\r\n// }\r\n// );\r\n// };\r\n\r\nexport const getTreatmentNotesByPractice = (\r\n\taccessToken,\r\n\tpractice,\r\n\tfacilityId,\r\n\tcancellationToken\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/progress-notes/${practice}/all?facilityId=${facilityId}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t\tcancelToken: cancellationToken,\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getAssessmentsByPractice = (\r\n\taccessToken,\r\n\tpractice,\r\n\tfacilityId,\r\n\tcancellationToken\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/assessments/${practice}/all?facilityId=${facilityId}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t\tcancelToken: cancellationToken,\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getCarePlansByPractice = (\r\n\taccessToken,\r\n\tpractice,\r\n\tfacilityId,\r\n\tcancellationToken\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/careplans/${practice}/all?facilityId=${facilityId}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t\tcancelToken: cancellationToken,\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getFinalizeAndUnfinalizedHandovers = (\r\n\taccessToken,\r\n\tparams,\r\n\tfacilityIds\r\n) => {\r\n\treturn axios.get(\r\n\t\t`${url}/progress-notes/podiatrist/${params}?facilityId=${facilityIds}`,\r\n\t\t{\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\r\n\t\t\t},\r\n\t\t}\r\n\t);\r\n};\r\n\r\nexport const getLookupOptionByType = (accessToken, type) => {\r\n return axios.get(`${url}/lookup?type=${type}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const getPendingLovedOneRequest = (accessToken) => {\r\n return axios.get(`${url}/loveones/getPendingLovedoneRequest`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const approveLovedOneRequest = (data, accessToken) => {\r\n return axios.post(`${url}/loveones/approvedRequest`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const deleteUserAccount = (accessToken) => {\r\n return axios.delete(`${url}/users`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const confirmBooking = (data) => {\r\n return axios.post(`${url}/schedules/confirm-booking?${data}`);\r\n};\r\n\r\nexport const rejectBooking = (data) => {\r\n return axios.post(`${url}/schedules/reject-booking?${data}`);\r\n};\r\n\r\nexport const startCheckout = (data) => {\r\n return axios.post(`${url}/payments/create-checkout-session`, data);\r\n};\r\n\r\nexport const startCheckoutLovedOnesProgressNote = (data) => {\r\n return axios.post(\r\n `${url}/payments/create-lovedones-progress-note-checkout-session`,\r\n data\r\n );\r\n};\r\n\r\nexport const checkBookingPayment = (data) => {\r\n return axios.get(\r\n `${url}/schedules/is-confirmation-paid?scheduleId=${data.bookingId}&residentId=${data.residentId}`\r\n );\r\n};\r\n\r\nexport const getResidentFundingSource = (data) => {\r\n return axios.get(\r\n `${url}/schedules/get-resident-funding-source?email=${data.email}&residentId=${data.residentId}`\r\n );\r\n};\r\n\r\nexport const requestToChangeFundingType = (data, accessToken) => {\r\n return axios.get(\r\n `${url}/utils/sent-email-request?practionerEmail=${data.practionerEmail}&practionerName=${data.practionerName}&residentName=${data.residentName}&facilityName=${data.facilityName}&fundingType=${data.fundingType}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n};\r\n\r\nexport const changeFundingType = (data, accessToken) => {\r\n return axios.post(`${url}/patients/change-resident-funding-source`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const addActiveResidentDate = (data) => {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${url}/patients/add-active-resident-date`, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n};\r\n\r\nexport const setInActiveResidentDate = (data) => {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .post(`${url}/patients/set-resident-inactive`, data)\r\n .then((response) => {\r\n resolve(response.data);\r\n })\r\n .catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n};\r\n\r\nexport const getAllGPOrLA = (role, accessToken, cancellationToken = null) => {\r\n return axios.get(`${url}/${role}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n cancelToken: cancellationToken,\r\n });\r\n};\r\n\r\nexport const getGPOrLAForResident = (\r\n role,\r\n residentId,\r\n accessToken,\r\n cancellationToken = null\r\n) => {\r\n return axios.get(`${url}/${role}/sharedWith/${residentId}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n cancelToken: cancellationToken,\r\n });\r\n};\r\n\r\nexport const addGPOrLA = (role, data, accessToken) => {\r\n return axios.post(`${url}/${role}/create`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const updateGPOrLA = (role, id, data, accessToken) => {\r\n return axios.put(`${url}/${role}/${id}`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const deactivateGPOrLA = (role, id, accessToken) => {\r\n return axios.put(\r\n `${url}/${role}/${id}/deactivate`,\r\n {},\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n};\r\n\r\nexport const sendEmailForHistory = (data, accessToken) => {\r\n return axios.post(`${url}/notification/email/send-history`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n};\r\n\r\nexport const checkProgressNotePayment = (data) => {\r\n return axios.get(\r\n `${url}/webhooks/is-lovedone-progress-notes-already-paid?userId=${data.userId}&residentId=${data.residentId}`\r\n );\r\n};\r\n\r\nexport const getResidentLovedOnes = (\r\n residentId,\r\n accessToken,\r\n cancellationToken = null\r\n) => {\r\n return axios.get(\r\n `${url}/loveones/get-lovedone-by-resident?residentId=${residentId}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n //Groups: userInfo.groups,\r\n },\r\n cancelToken: cancellationToken,\r\n }\r\n );\r\n};\r\n\r\nexport const changePaymentType = (data, accessToken) => {\r\n return axios.post(`${url}/patients/change-payment-type`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const getSubscriptionStatus = (userId, residentId, accessToken) => {\r\n return axios.get(\r\n `${url}/payments/get-subscription-status?userId=${userId}&residentId=${residentId}`,\r\n {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n }\r\n );\r\n};\r\n\r\n// Get a customer (if not existing create a new one)\r\nexport const getCustomer = (data, accessToken) => {\r\n return axios.post(`${url}/payments/get-customer`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const getProduct = (productId, accessToken) => {\r\n return axios.get(`${url}/payments/get-product?productId=${productId}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const createSubscription = (data, accessToken) => {\r\n return axios.post(`${url}/payments/create-subscription`, data, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n });\r\n};\r\n\r\nexport const getFacilityRetainedService = (accessToken) => {\r\n return axios.get(`${url}/subscriptions/get-residents-per-carehome-manager`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n\r\nexport const getResidentBookingCredit = (residentId, accessToken) => {\r\n return axios.get(`${url}/utils/booking-credit?residentId=${residentId}`, {\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n });\r\n};\r\n","export default __webpack_public_path__ + \"static/media/hapi-partner-logo.314ecf6f.png\";","(function (self) {\n if (self.URLSearchParams) {\n return;\n }\n\n var URLSearchParams = function (searchString) {\n Object.defineProperty(this, '_entries', { writable: true, value: {} });\n if (typeof searchString === 'string') {\n if (searchString !== '') {\n searchString = searchString.replace(/^\\?/, '');\n var attributes = searchString.split('&');\n var attribute;\n for (var i = 0; i < attributes.length; i++) {\n attribute = attributes[i].split('=');\n this.append(\n decodeURIComponent(attribute[0]),\n (attribute.length > 1) ? decodeURIComponent(attribute[1]) : ''\n );\n }\n }\n }\n };\n\n URLSearchParams.prototype.append = function (name, value) {\n if (name in this._entries) {\n this._entries[name].push(String(value));\n } else {\n this._entries[name] = [String(value)];\n }\n };\n\n URLSearchParams.prototype.toString = function () {\n var searchString = '';\n for (var name in this._entries) {\n var value = this._entries[name];\n for (var i = 0; i < value.length; i++) {\n searchString += (searchString ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value[i]);\n }\n }\n return searchString;\n };\n\n self.URLSearchParams = URLSearchParams;\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","import React from \"react\";\r\nimport {\r\n Spinner\r\n} from \"react-bootstrap\";\r\nconst Loader = ({ variant }) => {\r\n return (\r\n
\r\n \r\n Loading...\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Loader;\r\n","import React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\n\nconst PrivateRoute = ({ children, ...rest }) => {\n\tconst isAuthenticated = () => {\n\t\tconst authState = JSON.parse(\n\t\t\tlocalStorage.getItem(\"auth0-token-storage\")\n\t\t);\n\t\ttry {\n\t\t\tif (authState?.access_token) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\tisAuthenticated() ? children : \n\t\t\t}\n\t\t/>\n\t);\n};\n\nexport default PrivateRoute;\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nimport * as api from \"../../../api\";\nimport Loader from \"../../reusables/Loader\";\n\nfunction ClockIn({ setClockIn, getClockInStatusLoader }) {\n // const { authState } = useOktaAuth();\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const mapsApiKey = \"AIzaSyBM-Dvkr-oOQlu4WNgZpCevlzzj7-ZobdU&q\";\n const [postData, setPostData] = useState({\n facilityId: 380,\n latitude: 51.16570369999999, // latitude of agintil\n longitude: -0.7552394, // longitude of agintil\n });\n const [loader, setLoader] = useState(false);\n const history = useHistory();\n\n // const getLocation = (e) => {\n // e.preventDefault();\n // let _postData = {};\n\n // function getPosition(pos) {\n // _postData.latitude = pos.coords.latitude ?? null;\n // _postData.longitude = pos.coords.longitude ?? null;\n // setPostData(_postData);\n // };\n\n // if (navigator.geolocation) {\n // _postData = {\n // facilityId: 380,\n // latitude: null,\n // longitude: null,\n // // description: \"\",\n // // facilityShortName: \"\",\n // // localTimeStamp: \"\",\n // }\n\n // navigator.geolocation.getCurrentPosition(getPosition);\n // }\n // }\n\n const submitClockIn = async (e) => {\n e.preventDefault();\n if (!authState || !accessToken) return;\n setLoader(true);\n try {\n const clockIn = await api.postClockInAndOut(postData, accessToken);\n console.log(\"Clocked In Successfully!\", clockIn);\n setClockIn((prev) => !prev);\n history.push(\"/landing-page\");\n } catch (error) {\n console.log(\"Error Clocking In\");\n console.log(error);\n if (\n\t\t\t\terror?.response?.status === 401 &&\n\t\t\t\terror?.response?.data?.errors?.length > 0 &&\n\t\t\t\terror?.response?.data?.errors[0]?.message === \"Invalid Token\"\n\t\t\t) {\n\t\t\t\thandleExpiration();\n\t\t\t}\n } finally {\n setLoader(false);\n }\n };\n\n const handleExpiration = () => {\n\t\tlocalStorage.removeItem(\"auth0-token-storage\");\n\t\tlocalStorage.removeItem(\"user-claims\");\n\t\thistory.push(\"/login\");\n\t};\n\n return (\n <>\n
\n
\n
\n await submitClockIn(e)}\n >\n {loader || getClockInStatusLoader ? (\n
\n \n
\n ) : (\n \"Clock In\"\n )}\n \n
\n
\n\n {/* */}\n {/*
\n {location &&\n location.latitude &&\n location.longitude &&\n userFacilities && (\n <>\n
\n \n {currentDateTime} {time}\n \n
\n
\n {selectFacility && (\n <>\n

\n You wish to clock-in in{\" \"}\n \n {selectFacility}\n \n . Is this correct?\n

\n

\n If not, please select for the right facility you want\n to clock in.\n

\n \n )}\n
\n
\n {!facilityLoader ? (\n \n \n {userFacilities &&\n userFacilities.length > 0 &&\n userFacilities.map((facility) => (\n \n {facility.shortName}\n \n ))}\n \n ) : (\n \n )}\n
\n
\n \n
\n
\n setPopupVisible(\"\")}\n onClick={handleCancel}\n >\n Cancel\n \n \n Okay\n \n
\n \n )}\n
*/}\n {/*
*/}\n \n \n );\n}\n\nexport default ClockIn;\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nimport moment from \"moment\";\nimport * as api from \"../../../api\";\nimport Loader from \"../../reusables/Loader\";\n\nfunction ClockOut({\n clockInData,\n setClockIn,\n getClockInStatusLoader,\n // authState,\n}) {\n // const { authState } = useOktaAuth();\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const [popupVisible, setPopupVisible] = useState(false);\n\n const [postData, setPostData] = useState({\n facilityId: 380,\n latitude: 51.16570369999999, // latitude of agintil\n longitude: -0.7552394, // longitude of agintil\n });\n const [loader, setLoader] = useState(false);\n\n const today = new Date();\n const history = useHistory();\n\n const clockInTime = moment(clockInData.TimeStampUtc);\n\n const d = new Date(clockInTime);\n\n let diffMs = today.getTime() - d.getTime(); // difference in milliseconds\n let hoursRendered = Math.floor(diffMs / (1000 * 60 * 60)); // difference in hours\n let minutesRendered = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60)); //\n\n const formatOptions = {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n };\n\n const currentDateTime = today.toLocaleDateString(\"en-US\", formatOptions);\n const [time, setTime] = useState(\"\");\n let interval;\n\n const updateTime = () => {\n interval = setInterval(() => {\n const currentTime = new Date().toLocaleTimeString();\n setTime(currentTime);\n }, 1000);\n };\n\n useEffect(() => {\n // clockInStatus();\n updateTime();\n return () => {\n clearInterval(interval);\n };\n }, []);\n\n const submitClockOut = async (e) => {\n e.preventDefault();\n let _postData = {};\n setLoader(true);\n\n function getPosition(pos) {\n _postData.latitude = pos.coords.latitude;\n _postData.longitude = pos.coords.longitude;\n }\n\n if (navigator.geolocation) {\n _postData = {\n facilityId: 380,\n latitude: null,\n longitude: null,\n };\n\n navigator.geolocation.getCurrentPosition(getPosition);\n }\n\n if (!authState || !authState.access_token) return;\n try {\n const clockOut = await api.postClockInAndOut(_postData, accessToken);\n setClockIn((prev) => !prev);\n console.log(\"Clocked Out Successfully!\", clockOut);\n localStorage.removeItem(\"facility\");\n history.push(\"/landing-page\");\n } catch (error) {\n console.log(\"Error Clocking Out\", error);\n if (\n\t\t\t\terror?.response?.status === 401 &&\n\t\t\t\terror?.response?.data?.errors?.length > 0 &&\n\t\t\t\terror?.response?.data?.errors[0]?.message === \"Invalid Token\"\n\t\t\t) {\n\t\t\t\thandleExpiration();\n\t\t\t}\n } finally {\n setLoader(false);\n }\n };\n\n // useEffect(async () => {\n // if (postData.facilityId !== 0) {\n // await submitClockOut();\n // }\n // }, [postData]);\n\n const handleCancel = (e) => {\n e.preventDefault();\n setPopupVisible(false);\n };\n\n const handleExpiration = () => {\n\t\tlocalStorage.removeItem(\"auth0-token-storage\");\n\t\tlocalStorage.removeItem(\"user-claims\");\n\t\thistory.push(\"/login\");\n\t};\n\n return (\n <>\n
\n {/*
*/}\n
\n
\n {\n // if (popupVisible) {\n // setPopupVisible(false);\n // } else {\n // setPopupVisible(true);\n // }\n // }}\n onClick={async (e) => submitClockOut(e)}\n >\n {loader || getClockInStatusLoader ? (\n
\n \n
\n ) : (\n \"Clock Out\"\n )}\n \n
\n
\n\n {/* \n \n
\n \n {currentDateTime} {time}\n \n
\n
\n

\n Clocking out will render you {hoursRendered === 0 ? hoursRendered : hoursRendered - 1} hour(s) and{\" \"}\n {minutesRendered} mins.\n

\n

\n Do you wish to continue?\n

\n
\n
\n \n Cancel\n \n await submitClockOut(e)}\n >\n Okay\n \n
\n \n
*/}\n \n \n );\n}\n\nexport default ClockOut;\n","/* eslint-disable react-hooks/exhaustive-deps */\n//import packages\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { NavLink, useLocation, useHistory } from \"react-router-dom\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { toast, Toaster } from \"react-hot-toast\";\n// Push Notification\nimport { db } from \"../../firebase/firebase\";\nimport { ref, onValue, off } from \"firebase/database\";\n\nimport * as api from \"../../api\";\nimport moment from \"moment\";\nimport userRoles from \"../../role\";\n\n//import assets\nimport logo from \"../../assets/images/hapi-partner-logo.png\";\n\n//import other components\n// import SearchBar from \"../searchbar/searchbar\";\n// import NavInfo from \"../nav-info/info\";\nimport ClockIn from \"../pages/landing_page/ClockIn\";\nimport ClockOut from \"../pages/landing_page/ClockOut\";\nimport Loader from \"../reusables/Loader\";\nimport ResidentDetails from \"../pages/notifications/ResidentDetails\";\n\nfunction Navbar({\n searchTerm,\n setSearchTerm,\n setSort,\n changeURLPatient,\n confirmShowed,\n setConfirmShowed,\n saved,\n setSaved,\n currentPage,\n setCurrentPage,\n setNavBarLoader,\n selectedOption,\n notificationData,\n setNotificationData,\n notificationLoader,\n unreadCount,\n setUnreadCount,\n}) {\n // const { authState, oktaAuth } = useOktaAuth();\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const userClaims = JSON.parse(localStorage.getItem(\"user-claims\"));\n const accessToken = authState?.access_token;\n const userId = userClaims?._id ? userClaims?._id : null;\n const { facilityManagerRole, careHomeManagerRole } = userRoles();\n const history = useHistory();\n const location = useLocation();\n // For Clock in and Out Button\n const [clockInData, setClockInData] = useState(null);\n const [showClock, setShowClock] = useState(false);\n const [clockInToggle, setClockInToggle] = useState(false);\n const [getClockInStatusLoader, setGetClockInStatusLoader] = useState(false);\n let param =\n location?.search?.split(\"&\")?.filter((item) => item !== \"\") ?? null;\n const [paramState] = useState({\n facility:\n param[3]?.split(\"=\")[1] === \"null\" || !param[3]?.split(\"=\")[1]\n ? null\n : param[3]?.split(\"=\")[1].split(\",\").length > 1\n ? param[3]\n ?.split(\"=\")[1]\n ?.split(\",\")\n ?.map((i) => parseInt(i))\n : [parseInt(param[3].split(\"=\")[1])],\n filter:\n param[4]?.split(\"=\")[1] === \"all\" || !param[4]?.split(\"=\")[1]\n ? \"all\"\n : param[4].split(\"=\")[1],\n });\n const [showPopup, setShowPopup] = useState(false);\n let notifRef = useRef();\n\n const handleBellClick = () => {\n setUnreadCount(false);\n setShowPopup(!showPopup);\n };\n\n useEffect(() => {\n let handler = (e) => {\n if (notifRef.current && !notifRef.current.contains(e.target)) {\n setShowPopup(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => {\n document.removeEventListener(\"mousedown\", handler);\n };\n }, []);\n\n useEffect(() => {\n async function data() {\n if (!authState) {\n // When user isn't authenticated, forget any user info\n // setUserInfo(null);\n setShowClock(false);\n } else {\n // oktaAuth.getUser().then((info) => {\n // setUserInfo(info);\n setShowClock(true);\n // });\n }\n }\n data();\n }, [authState]); // Update if authState changes\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n const clockInStatus = async () => {\n if (!authState || !authState.access_token) return;\n\n setGetClockInStatusLoader(true);\n try {\n const data = await api.getClockInStatus(accessToken);\n\n if (\n data?.data?.data &&\n data?.data?.data[data?.data?.data?.length - 1]?.Description ===\n \"Clock In\"\n ) {\n setClockInData(data.data.data[0]);\n } else {\n setClockInData(null);\n }\n } catch (error) {\n // history.push(\"/dashboard\");\n console.log(\"error getting clock in status\", error);\n if (\n error?.response?.status === 401 &&\n error?.response?.data?.errors?.length > 0 &&\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\n ) {\n handleExpiration();\n }\n } finally {\n setGetClockInStatusLoader(false);\n }\n };\n\n useEffect(() => {\n clockInStatus();\n }, [accessToken, clockInToggle]);\n\n const handleNotifClick = (residentId) => {\n history.push(`/allConsents/${residentId}`);\n setShowPopup(false);\n };\n\n const handlePushNotifications = () => {\n let isMounted = false;\n const notifRef = ref(db, `${userId}/notif`);\n const onDataChange = (snapshot) => {\n const data = snapshot.val();\n if (data) {\n const innerObjectKey = Object.keys(data).find((key) => data[key]._id);\n const array = innerObjectKey ? data[innerObjectKey] : null;\n // console.log(array);\n if (array && array !== null) {\n if (isMounted) {\n setNotificationData((prevArray) => [array, ...prevArray]);\n setUnreadCount(true);\n toast(array.notes + \" a \" + array.event);\n } else {\n isMounted = true;\n }\n }\n }\n };\n onValue(notifRef, onDataChange);\n return () => {\n isMounted = false;\n off(notifRef, onDataChange);\n };\n };\n\n useEffect(() => {\n handlePushNotifications();\n }, []);\n\n return (\n <>\n \n
\n
\n
\n = 0\n ? \"/login\"\n : \"/landing-page\"\n }`}\n >\n \n \n
\n
\n {location.pathname.indexOf(\"/patients\") >= 0 ? (\n <>\n {location.pathname.indexOf(\"/patients/add\") >= 0 ||\n location.pathname.indexOf(\"/patients/edit\") >= 0 ? null : (\n
\n {selectedOption.length <= 0 ? null : (\n {\n setNavBarLoader(true);\n setSearchTerm(e.target.value);\n setCurrentPage(1);\n changeURLPatient(\n null,\n 1,\n null,\n paramState.facility,\n paramState.filter\n );\n setNavBarLoader(false);\n }}\n />\n )}\n
\n )}\n {location.pathname.indexOf(\"/patients/add\") >= 0 ||\n location.pathname.indexOf(\"/patients/edit\") >= 0 ? null : (\n
\n
\n
SORT BY:
\n {\n setSort(e.target.value);\n changeURLPatient(\n null,\n 1,\n null,\n paramState.facility,\n paramState.filter\n );\n }}\n >\n \n \n \n \n \n \n \n \n \n \n
\n
\n )}\n \n ) : null}\n
\n {facilityManagerRole || careHomeManagerRole ? null : (\n \n {!clockInData ? (\n
\n \n
\n ) : (\n
\n \n
\n )}\n
\n )}\n
\n {location.pathname.includes(\"/login\") ||\n location.pathname.includes(\"/forgotPassword\") ||\n location.pathname.includes(\"/sign-up\") ||\n location.pathname.includes(\n \"/consent\"\n ) ? null : !authState ? null : (\n
\n \n \n \n {/* {unreadCount > 0 && (\n \n {unreadCount > 5 ? \"5+\" : unreadCount}\n \n )} */}\n {unreadCount && (\n \n )}\n\n {showPopup && (\n \n {!notificationLoader ? (\n <>\n \n
Notifications
\n
\n {notificationData && notificationData.length > 0 ? (\n <>\n {notificationData.slice(0, 5).map((data, index) => (\n handleNotifClick(data.resident)}\n >\n
\n \n \n \n \n

\n \n {data.notes}\n

\n \n {\" \"}\n {moment(new Date(data.createdAt)).fromNow()}\n

\n
\n {/*
\n

\n \n \n \n

\n

\n \n

\n
*/}\n
\n ))}\n \n ) : (\n \n No Notifications Available\n
\n )}\n {notificationData.length > 4 && (\n
\n setShowPopup(false)}\n >\n \n See all\n

\n \n
\n )}\n \n ) : (\n
\n \n
\n )}\n \n )}\n \n )}\n \n \n \n \n );\n}\n\nexport default Navbar;\n","import React, { Component } from \"react\";\r\n\r\n// Font Awesome Icons\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\r\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\r\nlibrary.add(fab, far, fas);\r\n\r\nclass Footer extends Component {\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\tCopyright 2021 Hapi Healthcare - All rights\r\n\t\t\t\t\t\t\t\t\treserved.\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAbout Us\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tServices\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* \r\n Terms and Conditions\r\n */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tHapi Starts Here!\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tContact Us\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default Footer;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport AvatarImg from \"../../assets/svg/Handovers/ClientProfile.svg\";\r\nimport Avatar from \"react-avatar-edit\";\r\nimport * as api from \"../../api\";\r\nimport \"./user-info.css\";\r\nimport Swal from \"sweetalert2\";\r\n\r\nconst UserInfo = ({ firstName, lastName, id }) => {\r\n const history = useHistory();\r\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n const accessToken = authState?.access_token;\r\n const userId = id;\r\n const [greeting, setGreeting] = useState(\"\");\r\n const [avatarPic, setAvatarPic] = useState(null);\r\n const [preview, setPreview] = useState(\"\");\r\n const [picture, setPicture] = useState({\r\n picture: \"\",\r\n });\r\n const [show, setShow] = useState(false);\r\n const [loader, setLoader] = useState(false);\r\n\r\n const generateGreetings = (currentHour) => {\r\n if (currentHour >= 0 && currentHour < 12) {\r\n setGreeting(\"Good Morning\");\r\n } else if (currentHour >= 12 && currentHour < 17) {\r\n setGreeting(\"Good Afternoon\");\r\n } else if (currentHour >= 17) {\r\n setGreeting(\"Good Evening\");\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!authState) {\r\n localStorage.removeItem(\"auth0-token-storage\");\r\n localStorage.removeItem(\"user-claims\");\r\n }\r\n }, [authState]);\r\n\r\n useEffect(() => {\r\n generateGreetings(moment().format(\"HH\"));\r\n }, []);\r\n\r\n const getUserPhoto = async () => {\r\n setLoader(true);\r\n try {\r\n const data = await api.getUserPhoto(userId, accessToken);\r\n // console.log(data.data.data);\r\n const img = data.data.data;\r\n setPreview(img);\r\n setLoader(false);\r\n } catch (err) {\r\n setLoader(false);\r\n console.log(\"error getting user photo\", err);\r\n invalidToken(err);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getUserPhoto();\r\n }, []);\r\n\r\n const onClose = () => {\r\n setPreview(\"\");\r\n getUserPhoto();\r\n };\r\n\r\n const onCrop = (view) => {\r\n setPreview(view);\r\n };\r\n\r\n const onBeforeFileLoad = (elem) => {\r\n if (elem.target.files[0].size > 3000000) {\r\n Swal.fire({\r\n title: \"Error!\",\r\n html: \"File is too big\",\r\n icon: \"error\",\r\n confirmButtonColor: \"#833f84\",\r\n });\r\n elem.target.value = \"\";\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n // console.log(preview);\r\n setPicture({ ...picture, picture: preview });\r\n }, [preview]);\r\n\r\n const cancelUpdatePhoto = () => {\r\n if (preview === \"\" || preview === null) {\r\n setPreview(\"\");\r\n setShow(false);\r\n } else {\r\n setShow(false);\r\n getUserPhoto();\r\n }\r\n };\r\n\r\n const exportImage = () => {\r\n const img = new Image();\r\n img.src = preview;\r\n\r\n return new Promise((resolve) => {\r\n img.onload = () => {\r\n const canvas = document.createElement(\"canvas\");\r\n const ctx = canvas.getContext(\"2d\");\r\n\r\n // Set the desired export resolution\r\n const exportQuality = 0.5; // Adjust quality\r\n const width = img.width * exportQuality;\r\n const height = img.height * exportQuality;\r\n\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n // Draw the image onto the canvas\r\n ctx.drawImage(img, 0, 0, width, height);\r\n\r\n // Export the image as a high-quality PNG\r\n const highQualityImage = canvas.toDataURL(\"image/png\", 1.0);\r\n\r\n // Resolve the promise with the exported image\r\n resolve(highQualityImage);\r\n };\r\n });\r\n };\r\n\r\n const updatePhoto = async () => {\r\n setLoader(true);\r\n try {\r\n const exportedPicture = await exportImage();\r\n const imageUpload = {\r\n picture: exportedPicture,\r\n };\r\n await api.updateUserPhoto(imageUpload, userId, accessToken);\r\n Swal.fire({\r\n title: \"Success!\",\r\n icon: \"success\",\r\n html: \"Photo updated successfully!\",\r\n confirmButtonColor: \"#833f84\",\r\n });\r\n setLoader(false);\r\n setShow(false);\r\n } catch (error) {\r\n console.log(\"error updating user photo\", error);\r\n Swal.fire({\r\n title: \"Error!\",\r\n html: \"Error Updating Photo\",\r\n icon: \"error\",\r\n confirmButtonColor: \"#833f84\",\r\n });\r\n setAvatarPic(null);\r\n setPreview(\"\");\r\n getUserPhoto();\r\n setLoader(false);\r\n setShow(false);\r\n invalidToken(error);\r\n }\r\n };\r\n\r\n const invalidToken = (error) => {\r\n if (\r\n error?.response?.status === 401 &&\r\n error?.response?.data?.errors?.length > 0 &&\r\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n ) {\r\n handleExpiration();\r\n }\r\n };\r\n\r\n const handleExpiration = () => {\r\n localStorage.removeItem(\"auth0-token-storage\");\r\n localStorage.removeItem(\"user-claims\");\r\n history.push(\"/login\");\r\n };\r\n\r\n const capitalize = (name) => name.charAt(0).toUpperCase() + name.slice(1);\r\n\r\n const accountName =\r\n firstName === \"Demo\" || firstName === \"demo\"\r\n ? `${capitalize(firstName)} ${capitalize(lastName)}`\r\n : capitalize(firstName);\r\n\r\n return (\r\n
\r\n
\r\n {/*

\r\n {firstName[0].toUpperCase()}\r\n {lastName[0].toUpperCase()}\r\n

*/}\r\n {!loader ? (\r\n preview ? (\r\n \"\"\r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
\r\n
\r\n setShow(true)}\r\n >\r\n \r\n

Edit

\r\n
\r\n\r\n

\r\n {greeting}, {accountName}!\r\n

\r\n {/*
\r\n
Hapi Loved Ones
\r\n \r\n
\r\n \r\n setActiveRole(\"super user\")}\r\n className={`btn rounded-pill text-light w-50 ${\r\n activeRole === \"super user\" ? \"orange-bg-1\" : \"\"\r\n }`}\r\n htmlFor=\"\"\r\n >\r\n {\" \"}\r\n Super user\r\n \r\n \r\n setActiveRole(\"partner\")}\r\n className={`btn rounded-pill text-light w-50 ${\r\n activeRole === \"partner\" ? \"orange-bg-1\" : \"\"\r\n }`}\r\n htmlFor=\"\"\r\n >\r\n {\" \"}\r\n Partner\r\n \r\n \r\n */}\r\n \r\n \r\n Choose a Picture\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserInfo;\r\n","export default __webpack_public_path__ + \"static/media/Dashboard.02025c1b.svg\";","export default __webpack_public_path__ + \"static/media/Schedule.f679208a.svg\";","export default __webpack_public_path__ + \"static/media/Patients.8a92fb98.svg\";","export default __webpack_public_path__ + \"static/media/Handovers.9fe8afb7.svg\";","export default __webpack_public_path__ + \"static/media/Support.3708b498.svg\";","export default __webpack_public_path__ + \"static/media/Kompliwise.4cb8440a.svg\";","export default __webpack_public_path__ + \"static/media/Podiatry.d4eb3223.svg\";","export default __webpack_public_path__ + \"static/media/Dietetics.b70d7cfd.svg\";","export default __webpack_public_path__ + \"static/media/ProgressNotes.ff69aa40.svg\";","export default __webpack_public_path__ + \"static/media/Assessments.2acecc66.svg\";","export default __webpack_public_path__ + \"static/media/Careplans.4adf63ce.svg\";","export default __webpack_public_path__ + \"static/media/Account.93472470.svg\";","export default __webpack_public_path__ + \"static/media/Subscription.33f750b0.svg\";","import React, { useState } from \"react\";\nimport { NavLink, useLocation, useHistory, Link } from \"react-router-dom\";\n\n//Okta related packages\n\nimport UserInfo from \"../../components/user-info/user-info\";\nimport { useSelector } from \"react-redux\";\nimport usePracticeHook from \"../../practice\";\nimport userRoles from \"../../role\";\n\n// SVG Icons\nimport Dashboard from \"../../assets/svg/Sidebar/Dashboard.svg\";\nimport Calendar from \"../../assets/svg/Sidebar/Schedule.svg\";\nimport Patients from \"../../assets/svg/Sidebar/Patients.svg\";\nimport Handovers from \"../../assets/svg/Sidebar/Handovers.svg\";\nimport Support from \"../../assets/svg/Sidebar/Support.svg\";\nimport Kompliwise from \"../../assets/svg/Sidebar/Kompliwise.svg\";\nimport Podiatry from \"../../assets/svg/Sidebar/Podiatry.svg\";\nimport Dietetics from \"../../assets/svg/Sidebar/Dietetics.svg\";\nimport ProgressNotes from \"../../assets/svg/Sidebar/ProgressNotes.svg\";\nimport Assessment from \"../../assets/svg/Sidebar/Assessments.svg\";\nimport CarePlans from \"../../assets/svg/Sidebar/Careplans.svg\";\nimport Account from \"../../assets/svg/Sidebar/Account.svg\";\nimport Subscribe from \"../../assets/svg/Sidebar/Subscription.svg\";\n\n// Font Awesome Icons\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\nlibrary.add(fab, far, fas);\n\nconst SideBar = ({ setIsNavClosed, saved, setSaved }) => {\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const userClaims = JSON.parse(localStorage.getItem(\"user-claims\"));\n const clientApp = userClaims && userClaims?.clientApp;\n const isHapiPartnerUser =\n clientApp && clientApp.some((data) => data.appName === \"HAPIPARTNERS\");\n const kompliwiseURL = process.env.REACT_APP_KOMPLIWISE_URL;\n const { hasPhysioPractice, hasDiatecianPractice } = usePracticeHook();\n const {\n adminRole,\n clinicalManagerRole,\n facilityManagerRole,\n careHomeManagerRole,\n } = userRoles();\n let history = useHistory();\n // const dispatch = useDispatch();\n const roles = useSelector((state) => state.roles);\n const location = useLocation();\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n const handleChangeURL = (e, url) => {\n e.preventDefault();\n if (!saved) {\n if (\n !window.confirm(\n \"Are you sure you want to leave this page? Unsaved changes will be discarded\"\n )\n )\n return;\n }\n setSaved(true);\n history.push(url);\n\n // reload page if your last route is /support or /login\n if (\n // location.pathname.includes(\"/support/contact\") ||\n location.pathname.includes(\"/login\")\n ) {\n window.location.reload();\n }\n\n // if (\n // !window.location.pathname.includes(\"/support/contact\") ||\n // !window.location.pathname.includes(\"/login\")\n // ) {\n // window.location.reload();\n // }\n };\n\n return (\n
\n setIsNavClosed(true)}\n >\n \n Close\n \n {userClaims ? (\n <>\n \n \n ) : null}\n {userClaims && (\n
\n {/* {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? ( */}\n {/* \n handleChangeURL(e, '/landing-page')}\n >\n \n HAPIYOU\n \n */}\n {!isHapiPartnerUser ? null : (\n = 0\n ? \" active\"\n : \"\")\n }\n >\n handleChangeURL(e, \"/landing-page\")}\n >\n \"Dashboard\"\n DASHBOARD\n \n \n )}\n {/* ) : null} */}\n {/* {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? ( */}\n {!isHapiPartnerUser ? null : (\n = 0 ? \" active\" : \"\")\n }\n >\n handleChangeURL(e, \"/schedules\")}\n >\n \"Schedule\"\n SCHEDULE\n \n \n )}\n {!isHapiPartnerUser ? null : (\n <>\n {adminRole ||\n facilityManagerRole ||\n clinicalManagerRole ||\n careHomeManagerRole ? (\n <>\n = 0\n ? \"active\"\n : \"\"\n }`}\n >\n \n \n FACILITIES\n \n \n = 0\n ? \"show\"\n : \"\"\n }`}\n id=\"facilityDropdown\"\n >\n {/* Podiatrist */}\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n \n PODIATRY\n \n \n = 0\n ? \"show\"\n : \"\"\n }`}\n id=\"podiatryDropdown\"\n >\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/podiatry/progressNotes?page=1&podiatrist=null&facility=null\"\n )\n }\n >\n \n PROGRESS NOTES\n \n \n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/podiatry/assessments?page=1&podiatrist=null&facility=null\"\n )\n }\n >\n \n ASSESSMENTS\n \n \n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/podiatry/carePlans?page=1&podiatrist=null&facility=null\"\n )\n }\n >\n \n CARE PLANS\n \n \n
\n {/* Physiotherapy */}\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n \n PHYSIOTHERAPY\n \n \n = 0\n ? \"show\"\n : \"\"\n }`}\n id=\"physiotherapyDropdown\"\n >\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/physiotherapy/progressNotes?page=1&physiotherapist=null&facility=null\"\n )\n }\n >\n \n PROGRESS NOTES\n \n \n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/physiotherapy/assessments?page=1&physiotherapist=null&facility=null\"\n )\n }\n >\n \n ASSESSMENTS\n \n \n
\n {/* Dietetics */}\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n \n DIETETICS\n \n \n = 0\n ? \"show\"\n : \"\"\n }`}\n id=\"dieteticsDropdown\"\n >\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/dietetics/progressNotes?page=1&dietitian=null&facility=null\"\n )\n }\n >\n \n PROGRESS NOTES\n \n \n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/facilities/dietetics/assessments?page=1&dietitian=null&facility=null\"\n )\n }\n >\n \n ASSESSMENTS\n \n \n \n \n \n ) : null}\n \n )}\n {!isHapiPartnerUser ? null : (\n = 0 ? \" active\" : \"\")\n }\n >\n {hasPhysioPractice ? (\n \n handleChangeURL(\n e,\n \"/patients?page=1&patientId=null&tab=2&facility=null&filter=all&ward=null&funding=null&inactiveResident=false\"\n )\n }\n >\n \"Dashboard\"\n PATIENTS\n \n ) : (\n \n handleChangeURL(\n e,\n \"/patients?page=1&patientId=null&tab=1&facility=null&filter=all&ward=null&funding=null&inactiveResident=false\"\n )\n }\n >\n \"Dashboard\"\n PATIENTS\n \n )}\n \n )}\n {!isHapiPartnerUser || careHomeManagerRole || adminRole ? null : (\n = 0 ? \" active\" : \"\")\n }\n >\n handleChangeURL(e, \"/tasks\")}\n >\n {/* \"Dashboard\" */}\n \n TASKS\n \n \n )}\n {!isHapiPartnerUser ? null : (\n = 0 ? \" active\" : \"\")\n }\n >\n handleChangeURL(e, \"/chat?channelId=null\")}\n >\n {/* \"Dashboard\" */}\n \n CHAT\n \n \n )}\n {/* ) : null} */}\n {/* {roles.includes(\"superadmin\") && (\n = 0 ? \" active\" : \"\")\n }\n >\n handleChangeURL(e, \"/users\")}\n >\n \n USERS\n \n \n )} */}\n {/* {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? ( */}\n {/* // {getHand} */}\n {!isHapiPartnerUser ? null : hasPhysioPractice ||\n hasDiatecianPractice ? null : (\n = 0 ? \" active\" : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/handovers?page=1&facility=null&fromDate=null&toDate=null\"\n )\n }\n >\n \"Schedule\"\n HANDOVER\n \n \n )}\n {/* {hasDiatecianPractice ? (\n = 0 ? \" active\" : \"\")\n }\n >\n \n handleChangeURL(\n e,\n \"/treatments\"\n )\n }\n >\n \"Schedule\"\n HANDOVER\n \n \n ) : null } */}\n {/* ) : null} */}\n {/* {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? (\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n INVOICES\n \n \n ) : null} */}\n {/* {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? ( */}\n {!isHapiPartnerUser ? null : (\n = 0 ? \" active\" : \"\")\n }\n >\n handleChangeURL(e, \"/support/contact\")}\n >\n \"Support\"\n SUPPORT\n \n \n )}\n {/* ) : null} */}\n {!isHapiPartnerUser || careHomeManagerRole || adminRole ? null : (\n
  • \n \n \n KOMPLIWISE\n \n
  • \n )}\n {!isHapiPartnerUser ? null : (\n = 0\n ? \" active\"\n : \"\")\n }\n >\n handleChangeURL(e, \"/notifications?page=1\")}\n >\n \n NOTIFICATIONS\n \n \n )}\n {/* {!adminRole ? null : (\n <>\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n ACCOUNT\n \n \n = 0 ? \"show\" : \"\"\n }`}\n id=\"accountDropdown\"\n >\n = 0\n ? \" active\"\n : \"\")\n }\n >\n handleChangeURL(e, \"/account/register\")}\n >\n \"account\"\n REGISTER\n \n \n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(e, \"/account/lists?page=1\")\n }\n >\n \n ACCOUNT LISTS\n \n \n \n \n )} */}\n = 0 ? \" active\" : \"\")\n }\n >\n handleChangeURL(e, \"/settings\")}\n >\n \n SETTINGS\n \n \n {!isHapiPartnerUser ? null : !careHomeManagerRole ? null : (\n = 0\n ? \" active\"\n : \"\")\n }\n >\n handleChangeURL(e, \"/subscriptions\")}\n >\n \n SUBSCRIPTIONS\n \n \n )}\n {!isHapiPartnerUser ? null : !adminRole ? null : (\n <>\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n ADMIN\n \n \n = 0 ? \"show\" : \"\"\n }`}\n id=\"adminDropdown\"\n >\n = 0\n ? \" active\"\n : \"\")\n }\n >\n \n handleChangeURL(e, \"/admin/register-carehome\")\n }\n >\n \"admin\"\n REGISTER\n \n \n \n \n )}\n {/* {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? (\n = 0 ? \" active\" : \"\")\n }\n >\n \n
    \n \n

    TERMS AND CONDITIONS

    \n
    \n
    \n \n ) : null} */}\n {/* {roles.includes(\"user\") && (\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n LOVED ONES\n \n \n )}\n {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? (\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n PROGRESS NOTES\n \n \n ) : null}\n {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? (\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n ASSESSMENTS\n \n \n ) : null}\n {roles.includes(\"superadmin\") ||\n roles.includes(\"admin\") ||\n roles.includes(\"partner\") ||\n roles.includes(\"supermanager\") ? (\n = 0 ? \" active\" : \"\")\n }\n >\n \n \n CARE PLANS\n \n \n ) : null} */}\n {/*
  • \n \n \n FACILITIES\n \n
  • */}\n {/*
  • \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tHAPI HR\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t
    • HR
    • \n\t\t\t\t\t\t\t\t
    • KompliWise
    • \n\t\t\t\t\t\t\t\t
    • Journal Club
    • \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
  • \n\t\t\t\t\t
  • \n\t\t\t\t\t\t handleChangeURL(e, \"/landing-page\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tHAPI CHAT\n\t\t\t\t\t\t\n\t\t\t\t\t
  • */}\n
    \n {userClaims && authState ? (\n
  • \n

    \n \n LOG OUT\n

    \n
  • \n ) : (\n
  • \n \n \n LOG IN\n \n
  • \n )}\n \n )}\n \n );\n};\n\nexport default SideBar;\n","import React, { useState, useEffect } from \"react\";\r\nimport iso from \"iso-3166-1\";\r\n// import API from \"../../api\";\r\nimport { Redirect, NavLink, useHistory } from \"react-router-dom\";\r\n// import ModernDatepicker from \"react-modern-datepicker\";\r\nimport moment from \"moment\";\r\n\r\nimport AlertsTop from \"../reusables/AlertsTop\";\r\nimport Loader from \"../reusables/Loader\";\r\nimport Swal from \"sweetalert2\";\r\nimport * as api from \"../../api\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport { createUser } from \"../../actions/users\";\r\n\r\nconst Signup = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const userCreateResponse = useSelector((state) => state.user.response);\r\n // const { authState } = useOktaAuth()\r\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [registerSuccessful, setRegisterSuccessful] = useState(false);\r\n const [successMessage, setSuccessMessage] = useState(null);\r\n const [errorMessage, setErrorMessage] = useState();\r\n const [errorIndicator, setErrorIndicator] = useState();\r\n const [countries, setCountries] = useState([]);\r\n const [practices, setPractices] = useState([]);\r\n const [signupError, setsignupError] = useState(null);\r\n\r\n //user information state variables\r\n let lovedOnesFormData = [];\r\n const [numOfLovedOnes, setNumOfLovedOnes] = useState(0);\r\n //const [password, setPassword] = useState(\"\");\r\n const [confirmPassword, setConfirmPassword] = useState(\"\");\r\n const [userInfo, setUserInfo] = useState({\r\n // login: null,\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n nickName: \"\",\r\n dateOfBirth: \"\",\r\n gender: \"male\",\r\n address: \"\",\r\n zipCode: \"\",\r\n countryCode: \"AFG\",\r\n practice: \"\",\r\n email: \"\",\r\n password: \"\",\r\n clientApp: [\"HAPIPARTNERS\"],\r\n // title: \"Mr.\",\r\n // ifLovedOne: false,\r\n // lovedOnes: [],\r\n });\r\n const [birthday, setBirthday] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (birthday && birthday !== \"\") {\r\n const birthDate = moment(birthday, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\");\r\n setUserInfo({\r\n ...userInfo,\r\n dateOfBirth: birthDate,\r\n });\r\n }\r\n }, [birthday]);\r\n\r\n useEffect(() => {\r\n if (iso.all().length > 0) {\r\n setCountries(iso.all());\r\n }\r\n }, [iso]);\r\n\r\n useEffect(() => {\r\n if (practices) {\r\n setUserInfo({\r\n ...userInfo,\r\n practice: practices[0]?._id,\r\n });\r\n }\r\n }, [practices]);\r\n\r\n //this runs when their is an error creating a user;\r\n // useEffect(() => {\r\n // console.log(\"useeffect create error\", userCreateResponse);\r\n\r\n // if (userCreateResponse) {\r\n // if (userCreateResponse.status === 200) {\r\n // console.log(\"user creation was successful\");\r\n // setRegisterSuccessful(true);\r\n // } else {\r\n // console.log(\"ther is an error creating a user\");\r\n // setErrorMessage(`There was an error creating the user`);\r\n // }\r\n // }\r\n // }, [userCreateResponse]);\r\n\r\n const validateForm = () => {\r\n let isValid = false;\r\n\r\n if (\r\n userInfo.firstName === \"\" ||\r\n userInfo.middleName === \"\" ||\r\n userInfo.lastName === \"\" ||\r\n userInfo.nickName === \"\" ||\r\n userInfo.dateOfBirth === \"\" ||\r\n userInfo.address === \"\" ||\r\n userInfo.zipCode === \"\" ||\r\n userInfo.countryCode === \"\" ||\r\n userInfo.email === \"\" ||\r\n userInfo.password === \"\"\r\n // userInfo.nickname === null ||\r\n // userInfo.lovedOnes === null ||\r\n ) {\r\n if (userInfo.firstName === \"\") {\r\n setErrorIndicator(\"firstName\");\r\n } else if (userInfo.middleName === \"\") {\r\n setErrorIndicator(\"middleName\");\r\n } else if (userInfo.lastName === \"\") {\r\n setErrorIndicator(\"lastName\");\r\n } else if (userInfo.nickName === \"\") {\r\n setErrorIndicator(\"nickName\");\r\n } else if (userInfo.dateOfBirth === \"\") {\r\n setErrorIndicator(\"dateOfBirth\");\r\n } else if (userInfo.address === \"\") {\r\n setErrorIndicator(\"address\");\r\n } else if (userInfo.zipCode === \"\") {\r\n setErrorIndicator(\"zipCode\");\r\n } else if (userInfo.countryCode === \"\") {\r\n setErrorIndicator(\"countryCode\");\r\n } else if (userInfo.email === \"\") {\r\n setErrorIndicator(\"email\");\r\n } else if (userInfo.password === \"\") {\r\n setErrorIndicator(\"password\");\r\n }\r\n // } else if (userInfo.middlename === null) {\r\n // setErrorIndicator(\"middle name\");\r\n setErrorMessage(\"Please fill in all the fields.\");\r\n isValid = false;\r\n } else if (userInfo.password !== confirmPassword) {\r\n setErrorMessage(\"Passwords do not match.\");\r\n setErrorIndicator(\"password\");\r\n isValid = false;\r\n } else if (userInfo.password.length < 8) {\r\n setErrorMessage(\"Password needs to be 8 characters long.\");\r\n setErrorIndicator(\"password\");\r\n isValid = false;\r\n } else {\r\n isValid = true;\r\n }\r\n\r\n //this is the love ones field validation\r\n if (userInfo.ifLovedOne === true) {\r\n for (let i = 0; i < numOfLovedOnes; i++) {\r\n let randomWords = userInfo.lovedOnes[i].randomWords.split(\",\");\r\n if (\r\n userInfo.lovedOnes[i].hasOwnProperty(\"lastName\") === false ||\r\n userInfo.lovedOnes[i].lastName === \"\"\r\n ) {\r\n console.log(\"u need to enter a firstname\" + i);\r\n setErrorMessage(`You need to enter a last name for loved one.`);\r\n setErrorIndicator(`lastname${i}`);\r\n isValid = false;\r\n } else if (randomWords.length !== 3) {\r\n console.log(randomWords);\r\n setErrorMessage(`Loved ones random words should be 3 words.`);\r\n setErrorIndicator(`randomwords${i}`);\r\n isValid = false;\r\n }\r\n }\r\n }\r\n\r\n if (isValid) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const handleSubmit = async (e) => {\r\n e.preventDefault();\r\n setLoading(true);\r\n try {\r\n if (validateForm()) {\r\n console.log(\"the form is valid\");\r\n const data = await api.signUpUser(userInfo);\r\n // let postData = { ...userInfo, login: userInfo.email };\r\n // dispatch(createUser(postData)).then(() => {\r\n // setErrorMessage(\"\");\r\n // setLoading(false);\r\n // });\r\n Swal.fire({\r\n html: \"Successfully signed up! An email will be sent to you once the admin approved your request!\",\r\n icon: \"success\",\r\n title: \"Success\",\r\n confirmButtonColor: \"#833f84\",\r\n });\r\n setLoading(false);\r\n history.push(\"/login\");\r\n } else {\r\n console.log(\"the form is invalid\");\r\n // setsignupError(\"The form is invalid\");\r\n setLoading(false);\r\n }\r\n } catch (error) {\r\n setLoading(false);\r\n setsignupError(error.response.data.errors);\r\n }\r\n };\r\n\r\n // error for adding consent\r\n useEffect(() => {\r\n if (signupError) {\r\n // console.log(signupError);\r\n const errors = signupError.map((err) => {\r\n return err.message + \"\\r\\n\";\r\n });\r\n Swal.fire({\r\n title: \"Error!\",\r\n html: errors,\r\n icon: \"error\",\r\n confirmButtonColor: \"#833f84\",\r\n });\r\n }\r\n }, [signupError]);\r\n\r\n const getPractice = async () => {\r\n setLoading(true);\r\n try {\r\n const data = await api.getPractices();\r\n const practice = data.data.data;\r\n setPractices(practice);\r\n setLoading(false);\r\n } catch (error) {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getPractice();\r\n }, []);\r\n\r\n const handleChange = (event) => {\r\n const { value, name } = event.target;\r\n\r\n setUserInfo({ ...userInfo, [name]: value });\r\n };\r\n\r\n // const handleLovedOnesChange = (event, i) => {\r\n // const { value, name } = event.target;\r\n\r\n // setUserInfo({ ...userInfo, ifLovedOne: true });\r\n\r\n // let userLoveOnes = userInfo.lovedOnes;\r\n // userLoveOnes[i] = { ...userLoveOnes[i], [name]: value };\r\n\r\n // setUserInfo({ ...userInfo, lovedOnes: userLoveOnes });\r\n // };\r\n\r\n // const lovedOnesForm = () => {\r\n // if (numOfLovedOnes > 5) {\r\n // setNumOfLovedOnes(5);\r\n // }\r\n\r\n // for (let i = 0; i < numOfLovedOnes; i++) {\r\n // lovedOnesFormData.push(\r\n //
    \r\n //
    \r\n // \r\n // {\r\n // handleLovedOnesChange(e, i);\r\n // }}\r\n // className={`form-control ${\r\n // errorIndicator === `lastname${i}` ? \"border border-danger\" : \"\"\r\n // }`}\r\n // type=\"text\"\r\n // name=\"lastName\"\r\n // required\r\n // />\r\n //
    \r\n //
    \r\n // \r\n // {\r\n // handleLovedOnesChange(e, i);\r\n // }}\r\n // className={`form-control ${\r\n // errorIndicator === `randomwords${i}`\r\n // ? \"border border-danger\"\r\n // : \"\"\r\n // }`}\r\n // type=\"text\"\r\n // name=\"randomWords\"\r\n // required\r\n // placeholder=\"Separated by comma\"\r\n // />\r\n //
    \r\n //
    \r\n // \r\n // {\r\n // handleLovedOnesChange(e, i);\r\n // }}\r\n // className=\"form-control\"\r\n // type=\"date\"\r\n // name=\"dateOfBirth\"\r\n // required\r\n // />\r\n //
    \r\n //
    \r\n // );\r\n // }\r\n\r\n // return lovedOnesFormData;\r\n // };\r\n\r\n // if (!authState) return null;\r\n\r\n if (loading) return ;\r\n\r\n // return authState.isAuthenticated ? (\r\n // \r\n // ) : (\r\n return (\r\n
    \r\n {errorMessage && (\r\n \r\n )}\r\n {registerSuccessful && (\r\n \r\n )}\r\n
    \r\n {successMessage ? (\r\n

    {successMessage}

    \r\n ) : null}\r\n
    \r\n
    \r\n

    Sign up

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {/*
    \r\n setBirthday(date)}\r\n primaryColor=\"#f36917\"\r\n placeholder=\"dd/mm/yyyy\"\r\n // showBorder\r\n />\r\n
    */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    */}\r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {countries &&\r\n countries.map((data, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n {practices &&\r\n practices.map((data) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n setConfirmPassword(e.target.value)}\r\n className={`form-control ${\r\n errorIndicator === \"password\"\r\n ? \"border border-danger\"\r\n : \"\"\r\n }`}\r\n type=\"password\"\r\n name=\"confirmPassword\"\r\n />\r\n
    \r\n
    \r\n\r\n {/*
    */}\r\n\r\n {/*

    Add a loved one

    */}\r\n\r\n {/* loved ones */}\r\n\r\n {/* {lovedOnesForm()} */}\r\n\r\n {/* {\r\n e.preventDefault();\r\n setNumOfLovedOnes(numOfLovedOnes + 1);\r\n setUserInfo({ ...userInfo, ifLovedOne: true });\r\n }}\r\n >\r\n \r\n Add loved one\r\n */}\r\n\r\n \r\n Sign Up\r\n \r\n {\r\n setErrorMessage(\"\");\r\n setErrorIndicator(\"\");\r\n setSuccessMessage(\"\");\r\n }}\r\n >\r\n Go back to login\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Signup;\r\n","import React, { useState, useEffect } from \"react\";\nimport iso from \"iso-3166-1\";\nimport { NavLink } from \"react-router-dom\";\nimport moment from \"moment\";\n\nimport AlertsTop from \"../reusables/AlertsTop\";\nimport Loader from \"../reusables/Loader\";\nimport Swal from \"sweetalert2\";\nimport * as api from \"../../api\";\nimport { Spinner } from \"react-bootstrap\";\n\nconst RegisterCareHome = () => {\n const [loading, setLoading] = useState(false);\n const [registerSuccessful, setRegisterSuccessful] = useState(false);\n const [successMessage, setSuccessMessage] = useState(null);\n const [facilities, setFacilities] = useState([]);\n const [errorMessage, setErrorMessage] = useState();\n const [facilitiesMap, setFacilitiesMap] = useState();\n const [errorIndicator, setErrorIndicator] = useState();\n const [countries, setCountries] = useState([]);\n const [practices, setPractices] = useState([]);\n const [signupError, setsignupError] = useState(null);\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [userInfo, setUserInfo] = useState({\n firstName: \"\",\n middleName: \"\",\n lastName: \"\",\n nickName: \"\",\n dateOfBirth: moment(new Date()).format(\"YYYY-MM-DD\"),\n gender: \"male\",\n address: \"\",\n zipCode: \"\",\n countryCode: \"\",\n practice: \"64775dcefa713c353e6b522b\",\n email: \"\",\n password: \"\",\n facility: \"\",\n clientApp: [\"HAPIPARTNERS\", \"HAPICLIENT\", \"HAPIA\"],\n facilityName: \"\",\n });\n const [birthday, setBirthday] = useState({\n day: moment().date().toString(),\n month: moment().format(\"MM\"),\n year: moment().year().toString(),\n });\n\n useEffect(() => {\n if (facilities && facilities.length > 0) {\n setUserInfo({\n ...userInfo,\n facility: facilities[0]?.id,\n facilityName: facilities[0]?.longName,\n });\n }\n }, [facilities]);\n\n useEffect(() => {\n if (countries && countries.length > 0) {\n setUserInfo({\n ...userInfo,\n countryCode: countries[0]?.alpha3,\n });\n }\n }, [countries]);\n\n // useEffect(() => {\n // if (birthday && birthday !== \"\") {\n // const birthDate = moment(birthday, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\");\n // setUserInfo({\n // ...userInfo,\n // dateOfBirth: birthDate,\n // });\n // }\n // }, [birthday]);\n\n useEffect(() => {\n if (iso.all().length > 0) {\n setCountries(iso.all());\n }\n }, [iso]);\n\n useEffect(() => {\n if (practices) {\n setUserInfo({\n ...userInfo,\n practice: practices[0]?._id,\n });\n }\n }, [practices]);\n const validateForm = () => {\n let isValid = false;\n\n if (\n userInfo.firstName === \"\" ||\n // userInfo.middleName === \"\" ||\n userInfo.lastName === \"\" ||\n userInfo.nickName === \"\" ||\n userInfo.dateOfBirth === \"\" ||\n // userInfo.address === \"\" ||\n // userInfo.zipCode === \"\" ||\n userInfo.countryCode === \"\" ||\n userInfo.email === \"\" ||\n userInfo.password === \"\"\n ) {\n if (userInfo.firstName === \"\") {\n setErrorIndicator(\"firstName\");\n // } else if (userInfo.middleName === \"\") {\n // setErrorIndicator(\"middleName\");\n } else if (userInfo.lastName === \"\") {\n setErrorIndicator(\"lastName\");\n } else if (userInfo.nickName === \"\") {\n setErrorIndicator(\"nickName\");\n } else if (userInfo.dateOfBirth === \"\") {\n setErrorIndicator(\"dateOfBirth\");\n // } else if (userInfo.address === \"\") {\n // setErrorIndicator(\"address\");\n // } else if (userInfo.zipCode === \"\") {\n // setErrorIndicator(\"zipCode\");\n } else if (userInfo.countryCode === \"\") {\n setErrorIndicator(\"countryCode\");\n } else if (userInfo.email === \"\") {\n setErrorIndicator(\"email\");\n } else if (userInfo.password === \"\") {\n setErrorIndicator(\"password\");\n }\n setErrorMessage(\"Please fill in all the fields.\");\n isValid = false;\n } else if (userInfo.password !== confirmPassword) {\n setErrorMessage(\"Passwords do not match.\");\n setErrorIndicator(\"password\");\n isValid = false;\n } else if (userInfo.password.length <= 8) {\n setErrorMessage(\"Password needs to be longer than 8 characters.\");\n setErrorIndicator(\"password\");\n isValid = false;\n } else {\n isValid = true;\n }\n\n return isValid;\n };\n\n useEffect(() => {\n const getAllFacilities = async () => {\n try {\n const res = await api.fetchAllFacilities();\n const facilities = res.data.data.data;\n\n const facilityInfo = [];\n let map = [];\n \n facilities.forEach((facility) => {\n const facilityName = facility.FacilityName;\n\n // Regex to find the first dash outside parentheses\n const match = facilityName.match(/ - (?![^(]*\\))/);\n let longName;\n\n if (match) {\n const splitIndex = match.index;\n longName = facilityName.slice(splitIndex + 3); // Extract text after the dash\n } else {\n longName = facilityName;\n }\n\n facilityInfo.push({\n id: facility.FacilityID,\n longName,\n });\n map[facility.FacilityID] = facility.FacilityName;\n });\n\n setFacilitiesMap(map);\n setFacilities(facilityInfo);\n } catch (err) {\n console.error(err);\n }\n };\n\n getAllFacilities();\n }, []);\n\n const handleSubmit = async (e) => {\n e.preventDefault();\n setLoading(true);\n try {\n if (validateForm()) {\n console.log(userInfo);\n userInfo.facilityName = facilitiesMap[userInfo.facility];\n const data = await api.signUpCarehome(userInfo);\n if (data) {\n Swal.fire({\n html: \"Successfully signed up! An email will be sent to you once the admin approved your request!\",\n icon: \"success\",\n title: \"Success\",\n confirmButtonColor: \"#833f84\",\n });\n }\n setLoading(false);\n } else {\n setLoading(false);\n }\n } catch (error) {\n setLoading(false);\n setsignupError(error.response.data.errors);\n }\n };\n\n useEffect(() => {\n if (signupError) {\n const errors = signupError.map((err) => {\n return err.message + \"\\r\\n\";\n });\n Swal.fire({\n title: \"Error!\",\n html: errors,\n icon: \"error\",\n confirmButtonColor: \"#833f84\",\n });\n }\n }, [signupError]);\n\n const getPractice = async () => {\n setLoading(true);\n try {\n const data = await api.getPractices();\n const practice = data.data.data;\n setPractices(practice);\n setLoading(false);\n } catch (error) {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n getPractice();\n }, []);\n\n const handleChange = (event) => {\n const { value, name } = event.target;\n\n if (name === \"facility\") {\n setUserInfo({ ...userInfo, facilityName: facilitiesMap[value] });\n setUserInfo({ ...userInfo, facility: value });\n return;\n }\n\n setUserInfo({ ...userInfo, [name]: value });\n };\n\n const handleChangeBirthday = (e) => {\n setBirthday({ ...birthday, [e.target.name]: e.target.value });\n };\n\n useEffect(() => {\n if (birthday.day && birthday.month && birthday.year) {\n const combinedDate = moment(\n `${birthday.year}-${birthday.month}-${birthday.day}`,\n \"YYYY-MM-DD\"\n ).format(\"YYYY-MM-DD\");\n setUserInfo({\n ...userInfo,\n dateOfBirth: combinedDate,\n });\n }\n }, [birthday.day, birthday.month, birthday.year]);\n\n const renderDays = () => {\n const { month, year } = birthday;\n const numDays = moment(`${year}-${month}`, \"YYYY-MM\").daysInMonth();\n const days = [];\n\n for (let i = 1; i <= numDays; i++) {\n const dayValue = i < 10 ? `0${i}` : i;\n days.push(\n \n );\n }\n return days;\n };\n\n const renderMonths = () => {\n const months = [];\n for (let i = 1; i <= 12; i++) {\n const monthValue = i < 10 ? `0${i}` : i;\n months.push(\n \n );\n }\n return months;\n };\n\n const renderYears = () => {\n const years = [];\n const currentYear = new Date().getFullYear();\n for (let i = currentYear; i >= 1900; i--) {\n years.push(\n \n );\n }\n return years;\n };\n\n if (loading) return ;\n return (\n
    \n {errorMessage && (\n \n )}\n {registerSuccessful && (\n \n )}\n
    \n {successMessage ? (\n

    {successMessage}

    \n ) : null}\n
    \n
    \n

    Register Care Home

    \n
    \n
    \n \n \n
    \n {/*
    \n \n \n
    */}\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n\n
    \n
    \n \n {/* */}\n
    \n \n\n /\n\n \n\n /\n\n \n
    \n
    \n
    \n \n \n \n \n \n
    \n\n
    \n \n \n \n {countries &&\n countries.map((data, index) => (\n \n ))}\n \n
    \n
    \n {/*
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n {countries &&\n countries.map((data, index) => (\n \n ))}\n \n
    \n
    */}\n\n
    \n
    \n \n\n {facilities.length > 0 ? (\n \n \n {facilities.map((facility, index) => (\n \n ))}\n \n ) : (\n \n \n
    \n )}\n
    \n \n \n
    \n
    \n\n
    \n {/*
    \n \n \n \n {practices &&\n practices.map((data, index) => (\n \n ))}\n \n
    */}\n
    \n \n \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n setConfirmPassword(e.target.value)}\n className={`form-control ${\n errorIndicator === \"confirmPassword\"\n ? \"border border-danger\"\n : \"\"\n }`}\n type=\"password\"\n name=\"confirmPassword\"\n />\n
    \n
    \n\n \n Register Carehome Manager\n \n {/* {\n setErrorMessage(\"\");\n setErrorIndicator(\"\");\n setSuccessMessage(\"\");\n }}\n >\n Go back to login\n */}\n
    \n \n \n \n );\n};\n\nexport default RegisterCareHome;\n","export default __webpack_public_path__ + \"static/media/hapiyouicon.8e05f154.png\";","//import React from \"react\";\r\nimport React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\n//images\r\nimport logo from \"../../assets/images/hapiyouicon.png\";\r\n\r\nconst Welcome = () => {\r\n const history = useHistory();\r\n\r\n // const { authState, oktaAuth } = useOktaAuth();\r\n // const accessToken = authState.accessToken;\r\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n const accessToken = authState?.access_token;\r\n console.log(authState);\r\n\r\n const handleExpiration = () => {\r\n // oktaAuth.signOut();\r\n localStorage.removeItem(\"auth0-token-storage\");\r\n localStorage.removeItem(\"user-claims\");\r\n history.push(\"/login\");\r\n };\r\n\r\n return !accessToken ? (\r\n handleExpiration()\r\n ) : (\r\n
    \r\n
    \r\n \"happy\r\n

    \r\n HapiYou is a digital platform that connects you, the patient, with\r\n medical professionals for same day healthcare appointments and tracks\r\n your health care progression, educating you along the way. Putting you\r\n in control of your health and wellbeing.\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Welcome;\r\n","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst HomeDashboard = () => {\r\n // const { authState, oktaAuth } = useOktaAuth();\r\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n const history = useHistory();\r\n\r\n const handleExpiration = () => {\r\n // oktaAuth.signOut();\r\n localStorage.removeItem(\"auth0-token-storage\");\r\n localStorage.removeItem(\"user-claims\");\r\n history.push(\"/login\");\r\n };\r\n\r\n return !authState.access_token ? (\r\n handleExpiration()\r\n ) : (\r\n
    \r\n

    Please clock in to view appointments

    \r\n
    \r\n );\r\n};\r\n\r\nexport default HomeDashboard;\r\n","import React from \"react\";\r\n\r\nconst About = () => {\r\n return (\r\n
    \r\n
    \r\n

    About Page

    \r\n

    \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad\r\n minim veniam, quis nostrud exercitation ullamco laboris nisi ut\r\n aliquip ex ea commodo consequat. Duis aute irure dolor in\r\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\r\n pariatur. Excepteur sint occaecat cupidatat non proident, sunt in\r\n culpa qui officia deserunt mollit anim id est laborum.\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default About;\r\n","import React from \"react\";\r\n\r\nconst Contact = () => {\r\n return (\r\n
    \r\n
    \r\n

    Contact Page

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Contact;\r\n","import React from \"react\";\r\n\r\nconst NotFound = () => {\r\n return (\r\n
    \r\n
    \r\n

    PAGE NOT FOUND

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NotFound;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"./Users.css\";\r\n\r\nimport { Link, Redirect } from \"react-router-dom\";\r\n\r\nimport Pagination from \"../../reusables/Paginator/Pagination\";\r\n\r\nimport * as api from \"../../../api\";\r\n\r\nimport Loader from \"../../reusables/Loader\";\r\n\r\nlet PageSize = 20;\r\n\r\nconst Users = () => {\r\n // const { authState } = useOktaAuth();\r\n // const accessToken = authState.accessToken;\r\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n const accessToken = authState?.access_token;\r\n const history = useHistory();\r\n const [loader, setLoader] = useState(false);\r\n\r\n const [users, setUsers] = useState([]);\r\n const [allRoles, setAllRoles] = useState([]);\r\n const [allFacilites, setAllFacilites] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [currentTableData, setCurrentTableData] = useState([]);\r\n\r\n const getUserRoles = (roleIds) => {\r\n let userRoles = [];\r\n allRoles.forEach((role) => {\r\n roleIds.forEach((userRole) => {\r\n if (role._id === userRole) {\r\n userRoles.push(role.name);\r\n }\r\n });\r\n });\r\n\r\n // console.log(\"asdfwegasvwsed roles\", userRoles);\r\n return

    {userRoles.toString()}

    ;\r\n };\r\n\r\n const getUserFacilities = (facilityIds) => {\r\n let userFacilities = [];\r\n allFacilites.forEach((facility) => {\r\n facilityIds.forEach((userFacility) => {\r\n if (facility.facilityId === Number(userFacility)) {\r\n userFacilities.push(facility.facilityShortName);\r\n }\r\n });\r\n });\r\n\r\n return

    {userFacilities.toString()}

    ;\r\n };\r\n\r\n // const deleteUser = async (id) => {\r\n // \tconsole.log(`user with id ${id} deleted`);\r\n // };\r\n\r\n useEffect(() => {\r\n const getAllRoles = async () => {\r\n try {\r\n setLoader(true);\r\n const { data } = await api.fetchRoles();\r\n console.log(\"all roles\", data);\r\n setAllRoles(data);\r\n } catch (error) {\r\n console.log(\"error getting roles\", error);\r\n setLoader(false);\r\n if (\r\n error?.response?.status === 401 &&\r\n error?.response?.data?.errors?.length > 0 &&\r\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n ) {\r\n handleExpiration();\r\n }\r\n }\r\n };\r\n\r\n const getAllFacilities = async () => {\r\n try {\r\n setLoader(true);\r\n const data = await api.fetchFacilities(accessToken);\r\n\r\n const facilities = data.data.data.data;\r\n setAllFacilites(facilities);\r\n } catch (error) {\r\n console.log(\"error getting facilites\", error);\r\n if (\r\n error?.response?.status === 401 &&\r\n error?.response?.data?.errors?.length > 0 &&\r\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n ) {\r\n handleExpiration();\r\n }\r\n }\r\n };\r\n\r\n const getAllUsers = async () => {\r\n try {\r\n setLoader(true);\r\n const { data } = await api.getAllUsers(accessToken);\r\n setUsers(data);\r\n setLoader(false);\r\n } catch (error) {\r\n setLoader(false);\r\n console.log(\"error getting users\", error);\r\n if (\r\n error?.response?.status === 401 &&\r\n error?.response?.data?.errors?.length > 0 &&\r\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n ) {\r\n handleExpiration();\r\n }\r\n }\r\n };\r\n getAllRoles();\r\n getAllFacilities();\r\n getAllUsers();\r\n }, [authState, accessToken]);\r\n\r\n useEffect(() => {\r\n const getCurrentTableData = () => {\r\n const firstPageIndex = (currentPage - 1) * PageSize;\r\n const lastPageIndex = firstPageIndex + PageSize;\r\n const newData = users.slice(firstPageIndex, lastPageIndex);\r\n setCurrentTableData(newData);\r\n };\r\n getCurrentTableData();\r\n }, [currentPage, loader, users]);\r\n\r\n const handleExpiration = () => {\r\n\t\tlocalStorage.removeItem(\"auth0-token-storage\");\r\n\t\tlocalStorage.removeItem(\"user-claims\");\r\n\t\thistory.push(\"/login\");\r\n\t};\r\n\r\n return authState === null ||\r\n authState === undefined ||\r\n authState?.accessToken === undefined ||\r\n authState?.accessToken === null ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n SORT BY:\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {loader ? (\r\n
    \r\n \r\n

    Loading...

    \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {currentTableData.map((user, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    First NameMiddle NameLast NameNick NameEmailRolesFacilitiesActions
    {user.firstName}{user.middleName}{user.lastName}{user.nickName}{user.email}{getUserRoles(user.roleIds)}{getUserFacilities(user.facilityIds)}\r\n \r\n Edit\r\n \r\n {/* {\r\n deleteUser(user._id);\r\n }} className=\"text-danger\">Delete */}\r\n
    \r\n )}\r\n\r\n setCurrentPage(page)}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default Users;\r\n","//packages\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\n\r\n//Okta related packages\r\n\r\nimport * as api from \"../../../api\";\r\n\r\n//assets needed\r\nimport Loader from \"../../reusables/Loader\";\r\n// import AlertsTop from \"../../reusables/AlertsTop\";\r\nimport Select from \"react-select\";\r\n\r\n//start of function for the component\r\nconst UpdateUser = () => {\r\n // get the _id from the URL\r\n const { _id } = useParams();\r\n\r\n //okta stuff\r\n // const { authState } = useOktaAuth();\r\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n const accessToken = authState?.access_token;\r\n\r\n const [loaderText, setLoaderText] = useState(\"\");\r\n\r\n const [facilityOptions, setFacilityOptions] = useState([]);\r\n const [selectedFacilites, setSelectedFacilites] = useState([]);\r\n\r\n const [roleOptions, setRoleOptions] = useState([]);\r\n const [selectedRoles, setSelectedRoles] = useState([]);\r\n\r\n // const trueFalseAuth = authState.isAuthenticated;\r\n // console.log(trueFalseAuth);\r\n // const accessToken = authState.accessToken;\r\n // console.log(accessToken);\r\n\r\n //useState Returns a stateful value, and a function to update it.\r\n //the stateful value is what you'll use later when you render via map method (inside return)\r\n //React components has a built-in state object. The state object is where you store property values that belongs to the component. When the state object changes, the component re-renders.\r\n const [user, setUser] = useState({\r\n title: \"\",\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n nickName: \"\",\r\n email: \"\",\r\n zipCode: \"\",\r\n roleIds: [],\r\n facilityIds: [],\r\n });\r\n\r\n const [loader, setLoader] = useState(false);\r\n\r\n // const [error, setAlert] = useState({\r\n // \terrorPresent: false,\r\n // \terrorText: \"\",\r\n // \tbsClass: \"\",\r\n // });\r\n\r\n //destructure above so you can access patient.username by using only \"username\", and so on. These are empty initially as can be seen above.\r\n const { title, firstName, middleName, lastName, nickName, email, zipCode } =\r\n user;\r\n\r\n //to trigger when typing on a form input\r\n const onInputChange = (e) => {\r\n setUser({ ...user, [e.target.name]: e.target.value }); //basically you're setting the patient object to whatever is being typed in the form as they key in the key-value pair matches the \"name\" in the form. And this will be the new value of object \"patient\" to be used below in axios\r\n };\r\n\r\n let history = useHistory();\r\n\r\n const onSubmit = async (e) => {\r\n e.preventDefault(); //to prevent 'Submit' button to submit and refresh page\r\n setLoaderText(\"Updating user info...\");\r\n setLoader(true);\r\n console.log(\"selected facilites\", selectedFacilites);\r\n\r\n let userFacilites = [];\r\n let userRoles = [];\r\n let postData;\r\n selectedFacilites.forEach((facility) => {\r\n userFacilites.push(facility.value);\r\n });\r\n\r\n selectedRoles.forEach((role) => {\r\n userRoles.push(role.value);\r\n });\r\n\r\n console.log(\"facilities to push\", userFacilites);\r\n postData = {\r\n firstName: user.firstName,\r\n lastName: user.lastName,\r\n middleName: user.middleName,\r\n title: user.title,\r\n nickName: user.nickName,\r\n zipCode: user.zipCode,\r\n roleIds: userRoles,\r\n facilityIds: userFacilites,\r\n };\r\n\r\n console.log(\"postdata\", postData);\r\n\r\n try {\r\n await api.updateUser(postData, _id, accessToken);\r\n setLoader(false);\r\n history.push(\"/users\");\r\n } catch (error) {\r\n console.log(\"error updating a user\", error);\r\n setLoader(false);\r\n if (\r\n\t\t\t\terror?.response?.status === 401 &&\r\n\t\t\t\terror?.response?.data?.errors?.length > 0 &&\r\n\t\t\t\terror?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n\t\t\t) {\r\n\t\t\t\thandleExpiration();\r\n\t\t\t}\r\n }\r\n };\r\n\r\n const getAllRoles = async (user) => {\r\n try {\r\n const data = await api.fetchRoles();\r\n\r\n const allRoles = data.data;\r\n\r\n let options = [];\r\n let currentRoles = [];\r\n\r\n allRoles.forEach((role) => {\r\n options.push({\r\n value: role._id,\r\n label: role.name,\r\n });\r\n\r\n user.roleIds.forEach((userRoles) => {\r\n console.log(\"current role iteration\", userRoles);\r\n console.log(\"current role all roles\", role.name);\r\n if (userRoles === role._id) {\r\n currentRoles.push({\r\n value: role._id,\r\n label: role.name,\r\n });\r\n }\r\n });\r\n });\r\n\r\n setRoleOptions(options);\r\n setSelectedRoles(currentRoles);\r\n } catch (error) {\r\n console.log(\"there was an error getting all roles\", error);\r\n if (\r\n\t\t\t\terror?.response?.status === 401 &&\r\n\t\t\t\terror?.response?.data?.errors?.length > 0 &&\r\n\t\t\t\terror?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n\t\t\t) {\r\n\t\t\t\thandleExpiration();\r\n\t\t\t}\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const getAllFacilities = async (user) => {\r\n try {\r\n setLoader(true);\r\n const data = await api.fetchFacilities(accessToken);\r\n console.log(\"current facilities llength\", data.data.data.data.length);\r\n const facilities = data.data.data.data;\r\n\r\n let options = [];\r\n let currentFacilities = [];\r\n\r\n facilities.forEach((facility) => {\r\n options.push({\r\n value: facility.facilityId,\r\n label: facility.facilityShortName,\r\n });\r\n\r\n user.facilityIds.forEach((userFacility) => {\r\n if (Number(userFacility) === facility.facilityId) {\r\n currentFacilities.push({\r\n value: facility.facilityId,\r\n label: facility.facilityShortName,\r\n });\r\n }\r\n });\r\n });\r\n\r\n console.log(\"users current facilities\", user.facilityIds);\r\n\r\n console.log(\"facilities options\", facilityOptions);\r\n setFacilityOptions(options);\r\n setSelectedFacilites(currentFacilities);\r\n } catch (error) {\r\n console.log(\"error getting facilites\", error);\r\n setLoader(false);\r\n if (\r\n error?.response?.status === 401 &&\r\n error?.response?.data?.errors?.length > 0 &&\r\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n ) {\r\n handleExpiration();\r\n }\r\n }\r\n };\r\n\r\n const getCurrentUser = async () => {\r\n try {\r\n setLoaderText(\"Getting user info...\");\r\n setLoader(true);\r\n const response = await api.getUser(_id, accessToken);\r\n let data = response.data.data;\r\n\r\n await getAllRoles(data);\r\n await getAllFacilities(data);\r\n\r\n // setPatient({ ...data, random_words: data.random_words.toString() });\r\n setUser(data);\r\n setLoader(false);\r\n } catch (error) {\r\n console.log(\"something went wrong\", error);\r\n setLoader(false);\r\n if (\r\n error?.response?.status === 401 &&\r\n error?.response?.data?.errors?.length > 0 &&\r\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\r\n ) {\r\n handleExpiration();\r\n }\r\n }\r\n };\r\n getCurrentUser();\r\n // eslint-disable-next-line\r\n }, [_id, accessToken]);\r\n\r\n const handleExpiration = () => {\r\n\t\tlocalStorage.removeItem(\"auth0-token-storage\");\r\n\t\tlocalStorage.removeItem(\"user-claims\");\r\n\t\thistory.push(\"/login\");\r\n\t};\r\n\r\n //Below is the html component to render the component plus latest values from the variables in the state above\r\n return (\r\n
    \r\n
    \r\n

    Edit User

    \r\n {/* {error.errorPresent ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t)} */}\r\n
    \r\n\r\n
    \r\n {loader ? (\r\n
    \r\n \r\n

    {loaderText}

    \r\n
    \r\n ) : (\r\n
    onSubmit(e)}>\r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={title}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={firstName}\r\n />\r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={lastName}\r\n />\r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={middleName}\r\n />\r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={nickName}\r\n />\r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={email}\r\n disabled\r\n />\r\n
    \r\n
    \r\n \r\n onInputChange(e)}\r\n value={zipCode}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setSelectedRoles(selected)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setSelectedFacilites(selected)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default UpdateUser;\r\n","export default __webpack_public_path__ + \"static/media/Plus.bfbb39be.svg\";","import React from \"react\";\nimport { NavLink } from \"react-router-dom\";\nimport \"./support.style.css\";\nimport { useHistory } from \"react-router-dom\";\n\n//SVG icons\nimport Plus from \"../../../assets/svg/Support/Overview/Plus.svg\";\n\n// Font Awesome Icons\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nconst SupportRequests = () => {\n // const { authState, oktaAuth } = useOktaAuth();\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const history = useHistory();\n\n const handleExpiration = () => {\n // oktaAuth.signOut();\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n return !accessToken ? (\n handleExpiration()\n ) : (\n
    \n
    \n
    \n

    \n Your support requests\n

    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n\n
    \n \n
    \n \n
    MAKE SUPPORT TICKET
    \n
    \n
    \n
    \n\n
    \n
    \n
    TICKET #
    \n
    \n
    \n
    CATEGORY
    \n
    \n
    \n
    REQUEST STATUS
    \n
    \n
    \n
    LAST UPDATED
    \n
    \n
    \n
    \n 1-20 of 300\n \n \n \n \n \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    #12345
    \n
    \n Lorem ipsum dolot sit\n
    \n
    \n \n Resolved\n \n
    \n
    05-18-22
    \n
    \n \n VIEW\n \n
    \n
    \n
    \n\n \n
    \n Anim pariatur cliche reprehenderit, enim eiusmod high life\n accusamus terry richardson ad squid. 3 wolf moon officia\n aute, non cupidatat skateboard dolor brunch. Food truck\n quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor,\n sunt aliqua put a bird on it squid single-origin coffee\n nulla assumenda shoreditch et. Nihil anim keffiyeh\n helvetica, craft beer labore wes anderson cred nesciunt\n sapiente ea proident. Ad vegan excepteur butcher vice lomo.\n Leggings occaecat craft beer farm-to-table, raw denim\n aesthetic synth nesciunt you probably haven't heard of them\n accusamus labore sustainable VHS.\n
    \n
    \n
    \n
    \n \n
    \n
    #54321
    \n
    \n Lorem ipsum dolot sit\n
    \n
    \n \n Resolved\n \n
    \n
    05-18-22
    \n
    \n \n 1\n \n \n VIEW\n \n
    \n
    \n
    \n\n \n
    \n Anim pariatur cliche reprehenderit, enim eiusmod high life\n accusamus terry richardson ad squid. 3 wolf moon officia\n aute, non cupidatat skateboard dolor brunch. Food truck\n quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor,\n sunt aliqua put a bird on it squid single-origin coffee\n nulla assumenda shoreditch et. Nihil anim keffiyeh\n helvetica, craft beer labore wes anderson cred nesciunt\n sapiente ea proident. Ad vegan excepteur butcher vice lomo.\n Leggings occaecat craft beer farm-to-table, raw denim\n aesthetic synth nesciunt you probably haven't heard of them\n accusamus labore sustainable VHS.\n
    \n
    \n
    \n \n \n \n
    \n
    \n \n \n );\n};\n\nexport default SupportRequests;\n","import React from \"react\";\nimport { NavLink } from \"react-router-dom\";\nimport \"./support.style.css\";\n\nconst CreateTicket = () => {\n return (\n
    \n
    \n
    \n

    \n Create ticket\n

    \n
    \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n \n
    \n
    \n \n \n Create and add another\n \n {/* */}\n {\n window.confirm(\"Do you want to cancel?\");\n }}\n >\n Cancel\n \n {/* */}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default CreateTicket;\n","import React from \"react\";\nimport { NavLink } from \"react-router-dom\";\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\n\nconst TicketSuccess = () => {\n return (\n
    \n
    \n \n
    \n \n

    TICKET CREATED

    \n

    \n Ticket has been created successfully.{\" \"}\n

    \n

    Your Ticket Number is HAPI012345

    \n
    \n \n \n Go Back\n

    \n
    \n
    \n
    \n
    \n
    \n \n );\n};\n\nexport default TicketSuccess;\n","import React, { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nconst ContactSupport = () => {\n\tconst history = useHistory();\n\n // useEffect(() => {\n // window.__lc = window.__lc || {};\n // window.__lc.license = 16086690;\n\n // function initLiveChat() {\n // var n = document.createElement(\"script\");\n // n.async = true;\n // n.type = \"text/javascript\";\n // n.src = \"https://cdn.livechatinc.com/tracking.js\";\n // document.head.appendChild(n);\n // }\n\n // if (!window.__lc.asyncInit) {\n // initLiveChat();\n // window.__lc.asyncInit = true;\n // }\n // }, []);\n\n return (\n <>\n history.goBack()}\n >\n

    < Back

    \n \n
    \n

    \n To contact support please send an email to{\" \"}\n \n support@hapihealthcare.com\n \n

    \n
    \n \n
    \n
    \n \n );\n};\n\nexport default ContactSupport;\n","export default __webpack_public_path__ + \"static/media/ClientProfile.c57f62b0.svg\";","export default __webpack_public_path__ + \"static/media/Alert.7d21240f.svg\";","export default __webpack_public_path__ + \"static/media/Check.9a4be96e.svg\";","export default __webpack_public_path__ + \"static/media/Pending.54452d58.svg\";","import React from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { NavLink } from \"react-router-dom\";\nimport jsPDF from \"jspdf\";\nimport autoTable from \"jspdf-autotable\";\nimport * as api from \"../../../api\";\nimport moment from \"moment\";\nimport usePracticeHook from \"../../../practice\";\nimport userRoles from \"../../../role\";\n\nconst superAdminFacilitySchedulesData = [\n {\n facilityId: 351,\n facilityName: \"Agincare Homes Fulford\",\n podiatryServices: {\n podiatristName: \"Aries Resurreccion\",\n podiatrySchedule: [\n {\n FirstName: \"Jeffrey\",\n LastName: \"Gomez\",\n KnownAs: \"Jeff\",\n WardFloorRoom: \"2\",\n DateOfBirth: \"1976-06-14\",\n DaysSinceLastTreatment: 52,\n HasConsentOnFile: false,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 1\",\n },\n {\n FirstName: \"John\",\n LastName: \"Doe\",\n KnownAs: \"John\",\n WardFloorRoom: \"21\",\n DateOfBirth: \"1956-07-12\",\n DaysSinceLastTreatment: 152,\n HasConsentOnFile: true,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 2\",\n },\n ],\n },\n physioServices: {\n physioName: \"Kirstin Wilkinson\",\n physioSchedule: [\n {\n FirstName: \"Jeffrey\",\n LastName: \"Gomez\",\n KnownAs: \"Jeff\",\n WardFloorRoom: \"2\",\n DateOfBirth: \"1976-06-14\",\n DaysSinceLastTreatment: 52,\n HasConsentOnFile: false,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 1\",\n },\n ],\n },\n dieteticsServices: {\n dietitianName: \"Louise Bula\",\n dieteticsSchedule: [\n {\n FirstName: \"Jeffrey\",\n LastName: \"Gomez\",\n KnownAs: \"Jeff\",\n WardFloorRoom: \"2\",\n DateOfBirth: \"1976-06-14\",\n DaysSinceLastTreatment: 52,\n HasConsentOnFile: false,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 2\",\n },\n ],\n },\n },\n {\n facilityId: 358,\n facilityName: \"Agincare Homes Tilford\",\n podiatryServices: {\n podiatristName: \"Aries Resurreccion\",\n podiatrySchedule: [{}],\n },\n physioServies: {\n physioName: \"Kirstin Wilkinson\",\n physioSchedule: [{}],\n },\n dieteticsServices: {\n dietitianName: \"Louise Bula\",\n dietitianSchedule: [{}],\n },\n },\n];\n\nconst DashboardSummary = ({ scheduleData }) => {\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const { hasPhysioPractice } = usePracticeHook();\n const { adminRole } = userRoles();\n const dateToday = moment(new Date()).format(\"DD_MM_YYYY\");\n\n // const newPatient = scheduleData.map((patient) =>\n // patient.ResidentsToBeTreated.filter((a) => {\n // return a.CreatedOn.split(\"T\")[0];\n // })\n // );\n\n // const filteredDateCreated = newPatient[0].filter(\n // (d) => d.CreatedOn.split(\"T\")[0] === moment(new Date()).format(\"YYYY-MM-DD\")\n // );\n\n const downloadTable = async (facilityId) => {\n const doc = new jsPDF(\"l\", \"pt\");\n try {\n let _allPatients = await api.fetchPatients(accessToken, null);\n\n _allPatients = _allPatients.data.data.data.filter(\n (facility) => facility.FacilityId === facilityId\n );\n const tableData = _allPatients[0]?.ResidentsToBeTreated ?? [];\n\n autoTable(doc, {\n headStyles: {\n fillColor: [243, 105, 23],\n minCellHeight: 30,\n valign: \"middle\",\n halign: \"center\",\n fontSize: 8,\n },\n columnStyles: {\n 10: { cellWidth: 80 },\n },\n styles: { fontSize: 9, cellPadding: 0.5, overflow: \"linebreak\" },\n head: [\n [\n \"#\",\n \"First Name\",\n \"Last Name\",\n \"Known As\",\n \"Ward/Floor/Room\",\n \"Date of Birth\",\n \"Consent on file\",\n \"Payment Type\",\n \"Weeks Since Treatment\",\n \"AssessDue\",\n \"Treat (Circle one)\",\n \"Notes\",\n ],\n ],\n body: tableData.map((patient, index) => [\n { content: index + 1, colSpan: 1, rowSpan: 1 },\n { content: patient.FirstName, colSpan: 1, rowSpan: 1 },\n { content: patient.LastName, colSpan: 1, rowSpan: 1 },\n { content: patient.KnownAs ?? \"\", colSpan: 1, rowSpan: 1 },\n {\n content: patient.WardName ?? \"\" + \" / \" + patient.RoomNumber ?? \"\",\n colSpan: 1,\n rowSpan: 1,\n },\n {\n content: patient?.DateOfBirth\n ? moment(patient.DateOfBirth).format(\"MMM-D-YYYY\")\n : \"\"\n ? Math.floor(parseInt(patient.DaysSinceLastTreatment) / 7)\n : \"\",\n colSpan: 1,\n rowSpan: 1,\n },\n {\n content: patient.HasConsentOnFile === true ? \"yes\" : \"no\",\n colSpan: 1,\n rowSpan: 1,\n },\n { content: patient.PaymentType ?? \"\", colSpan: 1, rowSpan: 1 },\n {\n content: patient?.DaysSinceLastTreatment\n ? Math.floor(parseInt(patient.DaysSinceLastTreatment) / 7)\n : \"\",\n colSpan: 1,\n rowSpan: 1,\n },\n {\n content: patient.AssessmentDue === true ? \"yes\" : \"no\",\n colSpan: 1,\n rowSpan: 1,\n },\n { content: \"Yes / No\", colSpan: 1, rowSpan: 1 },\n { content: \"\", colSpan: 1, rowSpan: 1 },\n ]),\n margin: { top: 20, left: 20, right: 20, bottom: 30 },\n bodyStyles: {\n minCellHeight: 23,\n valign: \"middle\",\n halign: \"center\",\n fontSize: 8,\n },\n didDrawPage: (data) => {\n doc.setFontSize(7);\n doc.text(\n `Page ${data.pageNumber}`,\n doc.internal.pageSize.width - 20,\n doc.internal.pageSize.height - 20,\n { align: \"right\", style: \"italic\" }\n );\n },\n });\n\n doc.save(`Schedule_${dateToday}.pdf`);\n } catch (err) {\n console.error(err);\n }\n };\n\n const countDoneTodayPatients = (patients) => {\n return (\n patients.filter(\n (patient) =>\n patient.TreatmentDue === true ||\n patient.NeedsUrgentTreatment === true ||\n (patient?.CreatedOn &&\n moment(new Date()).format(\"YYYY-MM-DD\") ===\n moment(patient.CreatedOn.split(\"T\")[0]).format(\"YYYY-MM-DD\")) ||\n (patient?.progress_notes &&\n patient.progress_notes.length > 0 &&\n patient.progress_notes[patient.progress_notes.length - 1] &&\n moment(new Date()).format(\"YYYY-MM-DD\") ===\n moment(\n patient.progress_notes[\n patient.progress_notes.length - 1\n ].updatedAt.split(\"T\")[0]\n ).format(\"YYYY-MM-DD\")) ||\n (patient?.progress_notes &&\n patient.progress_notes.length > 0 &&\n patient.progress_notes[patient.progress_notes.length - 1] &&\n moment(new Date()).format(\"YYYY-MM-DD\") ===\n moment(\n patient.progress_notes[\n patient.progress_notes.length - 1\n ].createdAt.split(\"T\")[0]\n ).format(\"YYYY-MM-DD\"))\n ).length ?? 0\n );\n };\n\n return (\n \n {!hasPhysioPractice ? (\n <>\n {/* <>\n {adminRole &&\n superAdminFacilitySchedulesData &&\n superAdminFacilitySchedulesData.length > 0 ? (\n superAdminFacilitySchedulesData.map((schedFacility, index) => (\n 1 &&\n superAdminFacilitySchedulesData.length - 1 !== index\n ? \"border-bottom\"\n : \"\"\n } px-3 pt-2 pb-3`}\n key={index}\n >\n
    \n

    \n Facility:\n

    \n

    {schedFacility.facilityName}

    \n
    \n
    \n

    \n Services\n

    \n
    \n
    \n
    \n

    \n Podiatry:\n

    \n

    \n {schedFacility?.podiatryServices?.podiatristName}\n

    \n
    \n
    \n \n await downloadScheduleTable(\n schedFacility.facilityId,\n \"podiatry\"\n )\n }\n >\n Download Schedules\n

    \n
    \n
    \n
    \n
    \n

    \n Dietetics:\n

    \n

    \n {schedFacility?.dieteticsServices?.dietitianName}\n

    \n
    \n
    \n \n await downloadScheduleTable(\n schedFacility.facilityId,\n \"dietetics\"\n )\n }\n >\n Download Schedules\n

    \n
    \n
    \n
    \n
    \n

    \n Physiotherapy:\n

    \n

    \n {schedFacility?.physioServies?.physioName}\n

    \n
    \n
    \n \n await downloadScheduleTable(\n schedFacility.facilityId,\n \"physio\"\n )\n }\n >\n Download Schedules\n

    \n
    \n
    \n \n ))\n ) : (\n <>\n \n No Appointments Today\n \n \n )}\n */}\n {scheduleData && scheduleData.length > 0 ? (\n scheduleData.map((data, index) => (\n 1 ? \"border-bottom\" : \"\"\n } px-3 pt-4`}\n key={index}\n >\n {hasPhysioPractice ? null : (\n
    \n
    \n

    \n Facility:\n

    \n

    {data.FacilityName}

    \n
    \n
    \n

    \n Address:\n

    \n \n {data.Address}\n \n
    \n
    \n

    \n Contact Number:\n

    \n

    {data.Phone}

    \n
    \n
    \n

    \n Period:\n

    \n

    {data.Period}

    \n
    \n
    \n

    \n Residents to be Seen:\n

    \n \n {countDoneTodayPatients(data.ResidentsToBeTreated)}\n \n
    \n
    \n

    \n Residents Due for Assessment:\n

    \n \n {data.ResidentsDueForAssessment}\n \n
    \n
    \n

    \n Residents Due for Treatment:\n

    \n \n {data.ResidentsDueForTreatment}\n \n
    \n
    \n

    \n Urgent Residents:\n

    \n \n {data.UrgentTreatmentResidentCount}\n \n
    \n
    \n

    \n Confirmed Bookings:\n

    \n \n {data.ResidentsConfirmed ?? 0}\n \n
    \n
    \n )}\n
    \n

    \n await downloadTable(data.FacilityId)}\n className=\"landing-link orange-1 mx-2 text-white\"\n >\n Download Schedules\n \n \n View Residents\n \n

    \n
    \n \n ))\n ) : (\n <>\n \n No Appointments Today\n \n \n )}\n \n ) : (\n <>\n
    \n
    \n

    \n \n \n \n \n View Patients List\n \n

    \n
    \n
    \n \n )}\n \n );\n};\n\nexport default DashboardSummary;\n","import React from \"react\";\nimport { Button } from \"react-bootstrap\";\nimport { NavLink } from \"react-router-dom\";\nimport jsPDF from \"jspdf\";\nimport autoTable from \"jspdf-autotable\";\nimport * as api from \"../../../api\";\nimport moment from \"moment\";\nimport usePracticeHook from \"../../../practice\";\nimport userRoles from \"../../../role\";\n\nconst superAdminFacilitySchedulesData = [\n {\n facilityId: 101,\n facilityName: \"Demo Care Home \",\n podiatryServices: {\n podiatristName: \"Demo Podiatrist \",\n podiatrySchedule: [\n {\n FirstName: \"Jeffrey\",\n LastName: \"Gomez\",\n KnownAs: \"Jeff\",\n WardFloorRoom: \"2\",\n DateOfBirth: \"1976-06-14\",\n DaysSinceLastTreatment: 52,\n HasConsentOnFile: false,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 1\",\n },\n {\n FirstName: \"John\",\n LastName: \"Doe\",\n KnownAs: \"John\",\n WardFloorRoom: \"21\",\n DateOfBirth: \"1956-07-12\",\n DaysSinceLastTreatment: 152,\n HasConsentOnFile: true,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 2\",\n },\n ],\n },\n physioServices: {\n physioName: \"Demo Physiotherapist\",\n physioSchedule: [\n {\n FirstName: \"Jeffrey\",\n LastName: \"Gomez\",\n KnownAs: \"Jeff\",\n WardFloorRoom: \"2\",\n DateOfBirth: \"1976-06-14\",\n DaysSinceLastTreatment: 52,\n HasConsentOnFile: false,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 1\",\n },\n ],\n },\n dieteticsServices: {\n dietitianName: \"Demo Dietetics\",\n dieteticsSchedule: [\n {\n FirstName: \"Jeffrey\",\n LastName: \"Gomez\",\n KnownAs: \"Jeff\",\n WardFloorRoom: \"2\",\n DateOfBirth: \"1976-06-14\",\n DaysSinceLastTreatment: 52,\n HasConsentOnFile: false,\n PaymentType: \"Facility Funding\",\n AssessmentDue: true,\n Notes: \"My Notes 2\",\n },\n ],\n },\n },\n // {\n // facilityId: 358,\n // facilityName: \"Agincare Homes Tilford\",\n // podiatryServices: {\n // podiatristName: \"Aries Resurreccion\",\n // podiatrySchedule: [{}],\n // },\n // physioServices: {\n // physioName: \"Monisha Thandu\",\n // physioSchedule: [{}],\n // },\n // dieteticsServices: {\n // dietitianName: \"Louise Bula\",\n // dietitianSchedule: [{}],\n // },\n // },\n];\n\nconst AdminDashboardSummary = ({ scheduleData }) => {\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const { hasPhysioPractice } = usePracticeHook();\n const { adminRole } = userRoles();\n const dateToday = moment(new Date()).format(\"DD_MM_YYYY\");\n\n // const newPatient = scheduleData.map((patient) =>\n // patient.ResidentsToBeTreated.filter((a) => {\n // return a.CreatedOn.split(\"T\")[0];\n // })\n // );\n\n // const filteredDateCreated = newPatient[0].filter(\n // (d) => d.CreatedOn.split(\"T\")[0] === moment(new Date()).format(\"YYYY-MM-DD\")\n // );\n\n const downloadScheduleTable = async (facilityId, serviceName) => {\n const doc = new jsPDF(\"l\", \"pt\");\n try {\n let _allPatients = superAdminFacilitySchedulesData.filter(\n (facility) => facility.facilityId === facilityId\n );\n\n const tableData =\n _allPatients[0][serviceName + \"Services\"][serviceName + \"Schedule\"] ??\n [];\n\n autoTable(doc, {\n headStyles: {\n fillColor: [243, 105, 23],\n minCellHeight: 30,\n valign: \"middle\",\n halign: \"center\",\n fontSize: 8,\n },\n columnStyles: {\n 10: { cellWidth: 80 },\n },\n styles: { fontSize: 9, cellPadding: 0.5, overflow: \"linebreak\" },\n head: [\n [\n \"#\",\n \"First Name\",\n \"Last Name\",\n \"Known As\",\n \"Ward/Floor/Room\",\n \"Date of Birth\",\n \"Consent on file\",\n \"Payment Type\",\n \"Weeks Since Treatment\",\n \"AssessDue\",\n \"Treat (Circle one)\",\n \"Notes\",\n ],\n ],\n body: tableData.map((patient, index) => [\n { content: index + 1, colSpan: 1, rowSpan: 1 },\n { content: patient.FirstName, colSpan: 1, rowSpan: 1 },\n { content: patient.LastName, colSpan: 1, rowSpan: 1 },\n { content: patient.KnownAs ?? \"\", colSpan: 1, rowSpan: 1 },\n { content: patient.WardFloorRoom ?? \"\", colSpan: 1, rowSpan: 1 },\n {\n content: patient?.DateOfBirth\n ? moment(patient.DateOfBirth).format(\"MMM-D-YYYY\")\n : \"\"\n ? Math.floor(parseInt(patient.DaysSinceLastTreatment) / 7)\n : \"\",\n colSpan: 1,\n rowSpan: 1,\n },\n {\n content: patient.HasConsentOnFile === true ? \"yes\" : \"no\",\n colSpan: 1,\n rowSpan: 1,\n },\n { content: patient.PaymentType ?? \"\", colSpan: 1, rowSpan: 1 },\n {\n content: patient?.DaysSinceLastTreatment\n ? Math.floor(parseInt(patient.DaysSinceLastTreatment) / 7)\n : \"\",\n colSpan: 1,\n rowSpan: 1,\n },\n {\n content: patient.AssessmentDue === true ? \"yes\" : \"no\",\n colSpan: 1,\n rowSpan: 1,\n },\n { content: \"Yes / No\", colSpan: 1, rowSpan: 1 },\n { content: \"\", colSpan: 1, rowSpan: 1 },\n ]),\n margin: { top: 20, left: 20, right: 20, bottom: 30 },\n bodyStyles: {\n minCellHeight: 23,\n valign: \"middle\",\n halign: \"center\",\n fontSize: 8,\n },\n didDrawPage: (data) => {\n doc.setFontSize(7);\n doc.text(\n `Page ${data.pageNumber}`,\n doc.internal.pageSize.width - 20,\n doc.internal.pageSize.height - 20,\n { align: \"right\", style: \"italic\" }\n );\n },\n });\n\n doc.save(\n `${\n serviceName.charAt(0).toUpperCase() + serviceName.slice(1)\n }_Schedule_${dateToday}.pdf`\n );\n } catch (err) {\n console.error(err);\n }\n };\n\n const countDoneTodayPatients = (patients) => {\n return (\n patients.filter(\n (patient) =>\n patient.TreatmentDue === true ||\n patient.NeedsUrgentTreatment === true ||\n (patient?.CreatedOn &&\n moment(new Date()).format(\"YYYY-MM-DD\") ===\n moment(patient.CreatedOn.split(\"T\")[0]).format(\"YYYY-MM-DD\")) ||\n (patient?.progress_notes &&\n patient.progress_notes.length > 0 &&\n patient.progress_notes[patient.progress_notes.length - 1] &&\n moment(new Date()).format(\"YYYY-MM-DD\") ===\n moment(\n patient.progress_notes[\n patient.progress_notes.length - 1\n ].updatedAt.split(\"T\")[0]\n ).format(\"YYYY-MM-DD\")) ||\n (patient?.progress_notes &&\n patient.progress_notes.length > 0 &&\n patient.progress_notes[patient.progress_notes.length - 1] &&\n moment(new Date()).format(\"YYYY-MM-DD\") ===\n moment(\n patient.progress_notes[\n patient.progress_notes.length - 1\n ].createdAt.split(\"T\")[0]\n ).format(\"YYYY-MM-DD\"))\n ).length ?? 0\n );\n };\n\n return (\n
    \n <>\n {superAdminFacilitySchedulesData &&\n superAdminFacilitySchedulesData.length > 0 ? (\n superAdminFacilitySchedulesData.map((schedFacility, index) => (\n 1 &&\n superAdminFacilitySchedulesData.length - 1 !== index\n ? \"border-bottom\"\n : \"\"\n } px-3 pt-2 pb-3`}\n key={index}\n >\n
    \n

    \n Facility:\n

    \n

    {schedFacility.facilityName}

    \n
    \n
    \n

    \n Services\n

    \n
    \n
    \n
    \n

    \n Podiatry:\n

    \n

    \n {schedFacility?.podiatryServices?.podiatristName}\n

    \n
    \n
    \n \n await downloadScheduleTable(\n schedFacility.facilityId,\n \"podiatry\"\n )\n }\n >\n Download Schedules\n

    \n
    \n
    \n
    \n
    \n

    \n Physiotherapy:\n

    \n

    \n {schedFacility?.physioServices?.physioName}\n

    \n
    \n
    \n \n await downloadScheduleTable(\n schedFacility.facilityId,\n \"physio\"\n )\n }\n >\n Download Schedules\n

    \n
    \n
    \n
    \n
    \n

    \n Dietetics:\n

    \n

    \n {schedFacility?.dieteticsServices?.dietitianName}\n

    \n
    \n
    \n \n await downloadScheduleTable(\n schedFacility.facilityId,\n \"dietetics\"\n )\n }\n >\n Download Schedules\n

    \n
    \n
    \n
    \n ))\n ) : (\n <>\n \n No Facility Schedules Today\n \n \n )}\n \n \n );\n};\n\nexport default AdminDashboardSummary;\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport * as api from \"../../../api\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport Modal from \"react-bootstrap/Modal\";\nimport Button from \"react-bootstrap/Button\";\nimport Form from \"react-bootstrap/Form\";\nimport Swal from \"sweetalert2\";\n\nconst LovedOneRequest = () => {\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const history = useHistory();\n\n const [pendingLovedOnes, setPendingLovedOnes] = useState([]);\n const [forApprovalData, setForApprovalData] = useState([]);\n const [lovedOneLoader, setLovedOneLoader] = useState(false);\n const [showApproveModal, setShowApproveModal] = useState(false);\n\n const handleClose = () => {\n setShowApproveModal(false);\n setLovedOneLoader(false);\n };\n\n useEffect(() => {\n const pendingLovedOnesRequest = async () => {\n try {\n setLovedOneLoader(true);\n const res = await api.getPendingLovedOneRequest(accessToken);\n setPendingLovedOnes(res.data.data);\n setLovedOneLoader(false);\n } catch (error) {\n console.log(error);\n setLovedOneLoader(false);\n if (\n error?.response?.status === 401 &&\n error?.response?.data?.errors?.length > 0 &&\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\n ) {\n handleExpiration();\n }\n }\n };\n pendingLovedOnesRequest();\n }, []);\n\n const approveLovedOneRequest = (data) => {\n setForApprovalData(data);\n setShowApproveModal(true);\n };\n\n const saveLovedOne = async () => {\n const data = {\n id: forApprovalData._id,\n };\n try {\n setLovedOneLoader(true);\n const res = await api.approveLovedOneRequest(data, accessToken);\n console.log(res.data.data);\n Swal.fire({\n title: \"Success\",\n html: \"Three random words sent to email.\",\n icon: \"success\",\n confirmButtonColor: \"#833f84\",\n });\n setShowApproveModal(false);\n setLovedOneLoader(false);\n } catch (error) {\n console.log(error);\n Swal.fire({\n title: \"Error!\",\n html: error.response.data.errors[0].message,\n icon: \"error\",\n confirmButtonColor: \"#833f84\",\n });\n setLovedOneLoader(false);\n if (\n\t\t\t\terror?.response?.status === 401 &&\n\t\t\t\terror?.response?.data?.errors?.length > 0 &&\n\t\t\t\terror?.response?.data?.errors[0]?.message === \"Invalid Token\"\n\t\t\t) {\n\t\t\t\thandleExpiration();\n\t\t\t}\n }\n };\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n return !accessToken ? (\n handleExpiration()\n ) : (\n <>\n
    \n \n {/* */}\n
    \n
    \n Pending Adding Lovedones Request\n
    \n
    \n
    \n \n \n
    \n {pendingLovedOnes && pendingLovedOnes.length > 0 ? (\n pendingLovedOnes.map((data, index) => (\n 1 &&\n pendingLovedOnes.length - 1 !== index\n ? \"border-bottom\"\n : \"\"\n } px-2 mb-2 pb-3`}\n key={index}\n >\n
    \n

    \n {data.FirstName + \" \" + data.LastName}\n

    \n

    \n {data.facilityName.split(\"-\")[0]}\n

    \n
    \n
    \n
    \n

    \n {data.requestorFirstName.charAt(0).toUpperCase() +\n data.requestorFirstName.slice(1) +\n \" \" +\n data.requestorLastName.charAt(0).toUpperCase() +\n data.requestorLastName.slice(1)}\n

    \n

    {data.requestorEmail}

    \n
    \n approveLovedOneRequest(data)}\n >\n \n
    \n
    \n \n ))\n ) : (\n <>\n \n No Pending LovedOnes\n \n \n )}\n \n\n {/*
    \n
    \n SAVE\n
    \n
    */}\n \n \n \n handleClose()}>\n \n \n {forApprovalData?.FirstName + \" \" + forApprovalData?.LastName}\n \n \n \n
    \n \n

    \n Are you sure do you want to accept{\" \"}\n {forApprovalData?.requestorFirstName?.charAt(0).toUpperCase() +\n forApprovalData?.requestorFirstName?.slice(1) +\n \" \" +\n forApprovalData?.requestorLastName?.charAt(0).toUpperCase() +\n forApprovalData?.requestorLastName?.slice(1)}{\" \"}\n as LovedOne?\n

    \n \n \n
    \n \n \n \n \n
    \n \n );\n};\n\nexport default LovedOneRequest;\n","import React, { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport \"./landing.style.css\";\nimport moment from \"moment\";\nimport usePracticeHook from \"../../../practice\";\n\nimport { appointmentData, selectFacility } from \"./data\";\n\nimport * as api from \"../../../api\";\n\n// SVG icons\nimport ClientProfile from \"../../../assets/svg/Landing Page/ClientProfile.svg\";\nimport Alert from \"../../../assets/svg/Landing Page/Alert.svg\";\nimport Check from \"../../../assets/svg/Landing Page/Check.svg\";\nimport Pending from \"../../../assets/svg/Landing Page/Pending.svg\";\nimport Loader from \"../../reusables/Loader\";\nimport DashboardSummary from \"./DashboardSummary\";\nimport AdminDashboardSummary from \"./AdminDashboardSummary\";\n\nimport userRoles from \"../../../role\";\nimport LovedOneRequest from \"./LovedOneRequest\";\n\nconst Appointments = ({ scheduleData, loader, searchInDashboard }) => {\n // const [appointments, setAppointments] = useState(appointmentData);\n const [appointments, setAppointments] = useState([]);\n // const [visible, setVisible] = useState(4);\n // const { authState } = useOktaAuth();\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const { hasPhysioPractice, hasDiatecianPractice } = usePracticeHook();\n const {\n adminRole,\n otherServicesRole,\n facilityManagerRole,\n clinicalManagerRole,\n careHomeManagerRole,\n } = userRoles();\n const history = useHistory();\n const [userFacilities, setUserFacilites] = useState([]);\n const [facilityLoader, setFacilityLoader] = useState(false);\n // const [selectedFacility, setSelectedFacility] = useState(\"\");\n const [filter, setFilter] = useState({\n week: \"\",\n facility: \"\",\n });\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n useEffect(() => {\n const getUserFacilities = async () => {\n setFacilityLoader(true);\n try {\n const data = await api.fetchFacilities(accessToken);\n // console.log(\"user facilites\", data.data.data.data);\n const facilities = data.data.data.data;\n // console.log(facilities);\n const mergedFacilityInfo = [];\n // console.log(\"user authstate\", userFacilityNames);\n\n facilities.forEach((facility) => {\n mergedFacilityInfo.push({\n id: facility.FacilityID,\n shortName: facility.FacilityShortName,\n });\n });\n // console.log(\"user facilities\", mergedFacilityInfo);\n setUserFacilites(mergedFacilityInfo);\n setFacilityLoader(false);\n } catch (error) {\n setFacilityLoader(false);\n console.log(\"error getting user facilites\", error);\n if (\n error?.response?.status === 401 &&\n error?.response?.data?.errors?.length > 0 &&\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\n ) {\n handleExpiration();\n }\n }\n };\n\n getUserFacilities();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [accessToken]);\n\n // const filterFacility = (filteredData) => {\n // if (\n // filter.facility === \"\" ||\n // filter.facility === null ||\n // filter.facility === undefined\n // ) {\n // const filteredAppointments = filteredData.filter(\n // (resident) => parseInt(resident.facilityId) === 380\n // );\n // return filteredAppointments;\n // }\n\n // const filteredAppointments = filteredData.filter(\n // (resident) => parseInt(resident.facilityId) === parseInt(filter.facility)\n // );\n\n // return filteredAppointments;\n // };\n\n // const handleFacilityChange = (e) => {\n // setFilter({ ...filter, facility: e.target.value });\n // };\n\n // useEffect(() => {\n // // const filteredAppointment = filterFacility(appointmentData);\n // scheduleData = scheduleData.sort((a, b) => {\n // if (a.lastName < b.lastName) {\n // return -1;\n // }\n // if (a.lastName > b.lastName) {\n // return 1;\n // }\n // return 0;\n // });\n // const filteredAppointment = filterFacility(scheduleData);\n // setAppointments(filteredAppointment);\n // }, [filter, scheduleData]);\n\n // Filtering Schedules Data and sorted ascending order\n // const filterBy = (data, filterKey) =>\n // filterKey\n // ? scheduleData.filter((item) => item.name.includes(filterKey))\n // : data;\n // const sortBy = (data, sortKey) =>\n // sortKey ? [...data].sort((a, b) => a[sortKey] > b[sortKey]) : data;\n\n // const sortAscending = (a, b) => {\n // var c = new Date(a.start);\n // var d = new Date(b.start);\n // return c - d;\n // };\n\n // const filterByDate = scheduleData?.filter((d) => {\n // const date = moment(new Date(d.start)).format(\"MM-DD-YYYY\");\n // return date === moment(new Date()).format(\"MM-DD-YYYY\");\n // });\n\n // const filterByDateAndSortAscending = sortBy(\n // filterBy(filterByDate),\n // sortAscending\n // );\n\n return (\n <>\n {/* {adminRole || facilityManagerRole || clinicalManagerRole || careHomeManagerRole ? (\n
    \n
    \n
    \n \n
    \n
    \n Today's Facility Schedules\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n {loader ? (\n \n \n \n ) : (\n <>\n
    \n \n
    \n \n )}\n \n \n ) : null} */}\n\n
    \n
    \n
    \n \n
    \n
    \n {/* Appointments */}\n Today's Appointment\n {/* {hasPhysioPractice\n ? \"Today's Physiotherapy Appointment\"\n : hasDiatecianPractice\n ? \"Today's Dietitian Appointments\"\n : otherServicesRole\n ? \"Today's Other Services Schedules\"\n : \"Today's Podiatry Appointment\"} */}\n
    \n
    \n {/*
    \n \n
    */}\n
    \n
    \n
    \n \n {loader ? (\n \n \n \n ) : (\n <>\n
    \n \n
    \n {/* Replace scheduleData.map by appointments.map */}\n {/* {searchInDashboard(scheduleData).map((appointment, index) => {\n return (\n
    \n
    \n
    \n \n
    \n
    \n

    \n {appointment.lastName}, {appointment.firstName}\n

    \n

    \n {moment(appointment.start).format(\"hh:mm A\") +\n \" - \" +\n moment(appointment.end).format(\"hh:mm A\")}\n

    \n

    \n \n Treatment Summary\n \n

    \n
    \n
    \n {appointment.isUrgent ? (\n \n ) : null}\n {appointment.status === \"completed\" ? (\n \n ) : (\n \n )}\n
    \n
    \n
    \n );\n })} */}\n\n {/*
    \n

    \n \n View Schedule\n \n

    \n
    */}\n \n )}\n \n \n\n {adminRole || facilityManagerRole || careHomeManagerRole ? (\n \n ) : null}\n \n );\n};\n\nexport default Appointments;\n","export default __webpack_public_path__ + \"static/media/Calendar White.cee6055a.svg\";","export default __webpack_public_path__ + \"static/media/Bell.4b44825b.svg\";","export const releaseNotesVersion = [\n {\n id: 2,\n version: \"v1.8.4\",\n releaseDate: \"12/16/2024\",\n },\n];\n","import React, { useEffect, useState } from \"react\";\nimport Bell from \"../../../assets/svg/Assessments/Bell.svg\";\nimport Calendar from \"../../../assets/svg/Assessments/Calendar White.svg\";\nimport { useHistory } from \"react-router-dom\";\n\nimport Loader from \"../../reusables/Loader\";\nimport * as api from \"../../../api\";\nimport usePracticeHook from \"../../../practice\";\nimport { releaseNotesVersion } from \"../release_notes/versions\";\n\nconst Events = () => {\n // const { authState } = useOktaAuth();\n // const accessToken = authState.accessToken;\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const history = useHistory();\n const { hasPhysioPractice } = usePracticeHook();\n const [loader, setLoader] = useState(true);\n const [announcements, setAnnouncements] = useState([]);\n const [currentDate, setCurrentDate] = useState(new Date());\n var months = new Array(\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sept\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n );\n\n\tuseEffect(() => {\n\t\tconst fetchAnnouncements = async () => {\n\t\t\ttry {\n\t\t\t\tlet announcementData = await api.getAnnouncements(\n\t\t\t\t\taccessToken,\n\t\t\t\t\t1,\n\t\t\t\t\t200\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\t!announcementData ||\n\t\t\t\t\t!announcementData.data ||\n\t\t\t\t\t!announcementData.data.data ||\n\t\t\t\t\t!announcementData.data.data.length === 0 ||\n\t\t\t\t\t!announcementData.data.data[0] ||\n\t\t\t\t\t!announcementData.data.data[0].FacilityBirthdays\n\t\t\t\t)\n\t\t\t\t\treturn;\n\t\t\t\tif (announcementData.length === 0) return;\n\t\t\t\tlet birthdayArray =\n\t\t\t\t\tannouncementData.data.data[0].FacilityBirthdays.sort(\n\t\t\t\t\t\t(a, b) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tnew Date(a.BirthDate).getDate -\n\t\t\t\t\t\t\t\tnew Date(b.BirthDate).getDate\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\tsetAnnouncements(birthdayArray.slice(0, 7));\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(\"asdfweasdfef\", error);\n\t\t\t\tif (\n\t\t\t\t\terror?.response?.status === 401 &&\n\t\t\t\t\terror?.response?.data?.errors?.length > 0 &&\n\t\t\t\t\terror?.response?.data?.errors[0]?.message ===\n\t\t\t\t\t\t\"Invalid Token\"\n\t\t\t\t) {\n\t\t\t\t\thandleExpiration();\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tsetLoader(false);\n\t\t\t}\n\t\t};\n\n\t\tfetchAnnouncements();\n\t}, []);\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n return (\n
    \n \n
    \n \n
    \n Events\n
    \n
    \n
    \n \n \n {\n loader ? (\n \n \n \n ) : (\n // announcements && announcements.length > 0 ?\n <>\n {announcements && announcements.length > 0 && (\n
    Birthdays
    \n )}\n {announcements &&\n announcements.length > 0 &&\n announcements.map((announcement, index) => {\n let date = new Date(announcement.BirthDate);\n let month = date.getMonth();\n let day = date.getDate();\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{months[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmonth\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t].toUpperCase()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

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

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tannouncement.FullName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{/*
    \n

    \n {announcement.FullName}\n

    \n
    */}\n
    \n
    \n
    \n );\n })}\n {hasPhysioPractice ? null : (\n <>\n {
    Release Notes
    }\n {releaseNotesVersion &&\n releaseNotesVersion\n .slice(0)\n .reverse()\n .map((data, index) => (\n \n
    \n \n HapiPartner {data.version} - {data.releaseDate}\n \n
    \n \n ))}\n \n )}\n \n )\n // : (\n // <>\n // \n // No Events\n // \n // \n // )\n }\n \n \n \n );\n};\n\nexport default Events;\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport Modal from \"react-bootstrap/Modal\";\nimport * as api from \"../../../api\";\nimport moment from \"moment\";\nimport Swal from \"sweetalert2\";\n// import ModernDatepicker from \"react-modern-datepicker\";\n\nconst Tasks = () => {\n\t// const { authState, oktaAuth } = useOktaAuth();\n\t// const userId = authState.accessToken.claims.user?._id;\n\tconst history = useHistory();\n\tconst authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n\tconst userClaims = JSON.parse(localStorage.getItem(\"user-claims\"));\n\tconst accessToken = authState?.access_token;\n\tconst userId = userClaims?._id;\n\tconst [allMyTasks, setAllMyTasks] = useState([]);\n\n\tconst [showTask, setShowTask] = useState(false);\n\tconst [loader, setLoader] = useState(false);\n\tconst [myTasks, setMyTasks] = useState(null);\n\tconst [updateTask, setUpdateTask] = useState({\n\t\tassignedTo: [`${userId}`],\n\t\tsubject: \"\",\n\t\tdescription: \"\",\n\t\tstartDate: \"\",\n\t\tendDate: \"\",\n\t});\n\n const [tasksDate, setTasksDate] = useState({\n startDate: \"\",\n endDate: \"\",\n });\n\n const handleClose = () => {\n setShowTask(false);\n setMyTasks(null);\n };\n\n\tconst handleOpenTask = (task) => {\n\t\tsetMyTasks(task);\n\t\tsetShowTask(true);\n\t};\n\n\tconst handleOnChangeTask = (e) => {\n\t\tconst newObject = { ...updateTask, [e.target.name]: e.target.value };\n\t\tsetUpdateTask(newObject);\n\t};\n\n const onChangeDate = (date, name) => {\n setTasksDate({\n ...tasksDate,\n [name]: date,\n });\n };\n\n useEffect(() => {\n if (tasksDate) {\n const { startDate, endDate } = tasksDate;\n\n setUpdateTask((prevState) => ({\n ...prevState,\n startDate: startDate\n ? moment(startDate, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\")\n : prevState.startDate,\n endDate: endDate\n ? moment(endDate, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\")\n : prevState.endDate,\n }));\n }\n }, [tasksDate]);\n\n useEffect(() => {\n if (tasksDate) {\n const { startDate, endDate } = tasksDate;\n\n setUpdateTask((prevState) => ({\n ...prevState,\n startDate: startDate\n ? moment(startDate, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\")\n : prevState.startDate,\n endDate: endDate\n ? moment(endDate, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\")\n : prevState.endDate,\n }));\n }\n }, [tasksDate]);\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n useEffect(() => {\n const newObj = {\n ...updateTask,\n subject: myTasks?.subject,\n description: myTasks?.description,\n // startDate: myTasks && moment(myTasks.startDate).format(\"YYYY-MM-DD\"),\n // endDate: myTasks && moment(myTasks.endDate).format(\"YYYY-MM-DD\"),\n };\n setUpdateTask(newObj);\n setTasksDate({\n ...tasksDate,\n startDate: myTasks && moment(myTasks.startDate).format(\"DD/MM/YYYY\"),\n endDate: myTasks && moment(myTasks.endDate).format(\"DD/MM/YYYY\"),\n });\n }, [myTasks]);\n\n useEffect(() => {\n const getMyTasks = async () => {\n setLoader(true);\n try {\n const data = await api.getTasks(accessToken);\n setAllMyTasks(data.data.data);\n setLoader(false);\n } catch (error) {\n setLoader(false);\n if (\n error?.response?.status === 401 &&\n error?.response?.data?.errors?.length > 0 &&\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\n ) {\n handleExpiration();\n }\n }\n };\n\n\t\tgetMyTasks();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [accessToken]);\n\n const updateMyTask = async () => {\n setLoader(true);\n try {\n const data = await api.updateTask(updateTask, myTasks._id, accessToken);\n let updatedTask = allMyTasks.map((task) => {\n if (task._id === myTasks._id) {\n return data.data.data;\n }\n return task;\n });\n setAllMyTasks(updatedTask);\n Swal.fire({\n html: \"Successfully updated the task!\",\n icon: \"success\",\n title: \"Success\",\n confirmButtonColor: \"#833f84\",\n });\n setShowTask(false);\n setLoader(false);\n } catch (err) {\n console.error(err);\n Swal.fire({\n title: \"Error!\",\n html: err.response.data.errors[0].message,\n icon: \"info\",\n confirmButtonColor: \"#833f84\",\n });\n setLoader(false);\n }\n };\n\n const doneTask = async () => {\n setLoader(true);\n try {\n const data = await api.doneTheTask(myTasks._id, updateTask, accessToken);\n let updatedTask = allMyTasks.map((task) => {\n if (task._id === myTasks._id) {\n return data.data.data;\n }\n return task;\n });\n setAllMyTasks(updatedTask);\n Swal.fire({\n html: \"Successfully completed task!\",\n icon: \"success\",\n title: \"Success\",\n confirmButtonColor: \"#833f84\",\n });\n setShowTask(false);\n setLoader(false);\n } catch (err) {\n console.log(err);\n setLoader(false);\n }\n };\n\n const deferrTask = async () => {\n setLoader(true);\n try {\n const data = await api.deferredTheTask(\n myTasks._id,\n updateTask,\n accessToken\n );\n let updatedTask = allMyTasks.map((task) => {\n if (task._id === myTasks._id) {\n return data.data.data;\n }\n return task;\n });\n setAllMyTasks(updatedTask);\n Swal.fire({\n html: \"Successfully deferred task!\",\n icon: \"success\",\n title: \"Success\",\n confirmButtonColor: \"#833f84\",\n });\n setShowTask(false);\n setLoader(false);\n } catch (error) {\n setLoader(false);\n if (\n error?.response?.status === 401 &&\n error?.response?.data?.errors?.length > 0 &&\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\n ) {\n handleExpiration();\n }\n }\n };\n\n return !accessToken ? (\n handleExpiration()\n ) : (\n <>\n
    \n \n
    \n \n
    \n Tasks\n
    \n
    \n
    \n \n \n
    \n
    \n {!loader && allMyTasks.length > 0 ? (\n <>\n
    \n
    Subject
    \n
    Status
    \n
    \n {allMyTasks &&\n allMyTasks.map((task, index) => {\n return (\n \n handleOpenTask(task)}\n style={{ cursor: \"pointer\" }}\n data-target={`#task${task._id}`}\n >\n

    \n {task.subject.charAt(0).toUpperCase() +\n task.subject.slice(1).toLowerCase()}\n

    \n

    \n {task.status === \"done\"\n ? \"Completed\"\n : task.status === \"deferred\"\n ? \"Deferred\"\n : \"Active\"}\n {/* {task.status.charAt(0).toUpperCase() +\n task.status.slice(1).toLowerCase()} */}\n

    \n
    \n
    \n );\n })}\n \n ) : (\n <>\n \n No Tasks Available\n \n \n )}\n \n \n \n \n \n handleClose()}\n aria-labelledby=\"example-modal-sizes-title-lg\"\n // centered\n >\n \n Task\n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n {/*
    \n onChangeDate(date, \"startDate\")}\n primaryColor=\"#f36917\"\n placeholder=\"dd/mm/yyyy\"\n />\n
    */}\n
    \n
    \n \n \n {/*
    \n onChangeDate(date, \"endDate\")}\n primaryColor=\"#f36917\"\n placeholder=\"dd/mm/yyyy\"\n />\n
    */}\n
    \n
    \n
    \n \n \n \n \n \n \n \n );\n};\n\nexport default Tasks;\n","import React, { useState, useEffect } from \"react\";\nimport { useHistory, NavLink } from \"react-router-dom\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport moment from \"moment\";\nimport Loader from \"../../reusables/Loader\";\nimport ResidentDetails from \"../notifications/ResidentDetails\";\n\nconst Notifications = ({ notificationData, notificationLoader }) => {\n const history = useHistory();\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const [loader, setLoader] = useState(false);\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n return !accessToken ? (\n handleExpiration()\n ) : (\n <>\n
    \n \n
    \n \n
    \n Notifications\n
    \n
    \n
    \n \n {!notificationLoader ? (\n \n
    \n {notificationData && notificationData.length > 0 ? (\n <>\n {notificationData.slice(0, 4).map((data, index) => (\n \n
    \n \n {/* {data.residentFullName} */}\n \n \n \n

    \n

    \n {data.notes}\n

    \n

    \n {\" \"}\n {moment(new Date(data.createdAt)).fromNow()}\n

    \n
    \n {/*
    \n

    \n \n \n \n

    \n

    \n \n

    \n
    */}\n \n ))}\n \n ) : (\n <>\n \n No Notifications Available\n
    \n \n )}\n {notificationData.length > 3 && (\n
    \n \n \n See all\n

    \n
    \n
    \n )}\n \n \n ) : (\n
    \n \n
    \n )}\n \n \n \n );\n};\n\nexport default Notifications;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useEffect } from \"react\";\nimport \"./landing.style.css\";\nimport moment from \"moment\";\n\nimport * as api from \"../../../api\";\nimport { useHistory } from \"react-router-dom\";\nimport Appointments from \"./Appointments\";\n// import LandingPageProfile from \"./LandingPageProfile\";\nimport Events from \"./Events\";\nimport Tasks from \"./Tasks\";\nimport LovedOneRequest from \"./LovedOneRequest\";\nimport Notifications from \"./Notifications\";\nimport UserRoles from \"../../../role\";\n\nconst LandingPage = ({ notificationData, notificationLoader }) => {\n // const { authState, oktaAuth } = useOktaAuth();\n // const accessToken = authState.accessToken;\n const authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\n const accessToken = authState?.access_token;\n const { careHomeManagerRole } = UserRoles();\n\n // For Schedules\n const [scheduleData, setScheduleData] = useState([]);\n const [dateContext] = useState(moment());\n const [loader, setLoader] = useState(true);\n const history = useHistory();\n const [searchItem] = useState(\"\");\n const [searchParam] = useState([\"lastName\", \"firstName\", \"residentId\"]);\n\n const searchInDashboard = (items) => {\n return items.filter((item) => {\n return searchParam.some((newItem) => {\n return (\n item[newItem]\n .toString()\n .toLowerCase()\n .indexOf(searchItem.toLowerCase()) > -1\n );\n });\n });\n };\n\n const handleExpiration = () => {\n localStorage.removeItem(\"auth0-token-storage\");\n localStorage.removeItem(\"user-claims\");\n history.push(\"/login\");\n };\n\n // const urgentPatients = scheduleData.filter((a) => {\n // return a.isUrgent === true;\n // });\n\n // const differentFacilities = [\n // ...new Set(scheduleData.map((f) => f.facilityId)),\n // ];\n\n useEffect(() => {\n const getSchedule = async () => {\n setLoader(true);\n const dateFrom = `${dateContext.format(\"YYYY\")}-${dateContext.format(\n \"MM\"\n )}-1`;\n const dateTo = `${dateContext.format(\"YYYY\")}-${dateContext.format(\n \"MM\"\n )}-${dateContext.daysInMonth()}`;\n try {\n const data = await api.getAppointmentsToday(\n dateFrom,\n dateTo,\n accessToken\n );\n const schedule = data.data.data.data;\n // const mergedScheduleInfo = [];\n // schedule.forEach((schedule) => {\n // schedule.ResidentsToBeTreated.forEach((resident) => {\n // mergedScheduleInfo.push({\n // firstName: resident.FirstName,\n // lastName: resident.LastName,\n // facilityId: schedule.FacilityId,\n // isUrgent: resident.NeedsUrgentTreatment,\n // start: resident.StartDateTime,\n // end: resident.EndDateTime,\n // residentId: resident.ResidentId,\n // });\n // });\n // });\n // console.log(\"schedule\", mergedScheduleInfo);\n // setScheduleData(mergedScheduleInfo);\n setScheduleData(schedule);\n setLoader(false);\n } catch (error) {\n console.log(\"get schedules error\");\n if (\n error?.response?.status === 401 &&\n error?.response?.data?.errors?.length > 0 &&\n error?.response?.data?.errors[0]?.message === \"Invalid Token\"\n ) {\n handleExpiration();\n }\n setLoader(false);\n }\n };\n\n getSchedule();\n }, [dateContext, accessToken]);\n\n // const handleExpiration = () => {\n // // oktaAuth.signOut();\n // localStorage.removeItem(\"auth0-token-storage\");\n // history.push(\"/login\");\n // };\n\n return !accessToken ? (\n handleExpiration()\n ) : (\n <>\n
    \n
    \n
    \n {/*
    \n
    \n
    \n You have {scheduleData.length} appointments in{\" \"}\n {differentFacilities.length} different facilities,{\" \"}\n {urgentPatients.length} of the patients are urgent.\n
    \n \n See schedule?\n \n
    \n
    */}\n {/*
    \n
    \n setSearchItem(e.target.value)}\n />\n
    \n
    */}\n
    \n {/* Appointments */}\n
    \n \n
    \n\n
    \n \n {careHomeManagerRole ? null : }\n \n {/* */}\n
    \n
    \n
    \n
    \n
    \n \n );\n};\n\nexport default LandingPage;\n","//general packages\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Route, Switch, useHistory, useLocation } from \"react-router-dom\";\r\nimport PrivateRoute from \"./PrivateRoute\";\r\nimport * as api from \"./api\";\r\n\r\n//okta packages & config\r\n// import { SecureRoute, Security, LoginCallback } from \"@okta/okta-react\";\r\n// import { OktaAuth, toRelativeUrl } from \"@okta/okta-auth-js\";\r\n// import { oktaAuthConfig, oktaSignInConfig } from \"./config\";\r\n\r\n//layouts\r\nimport Navbar from \"./components/layouts/Navbar\";\r\nimport Footer from \"./components/layouts/Footer\";\r\nimport SideBar from \"./components/layouts/SideBar\";\r\n\r\n//pages\r\n// import Login from \"./components/pages/Login\";\r\nimport Signup from \"./components/pages/Signup\";\r\nimport RegisterCareHome from \"./components/pages/RegisterCareHome\";\r\nimport Welcome from \"./components/pages/Welcome\";\r\nimport HomeDashboard from \"./components/pages/HomeDashboard\";\r\nimport About from \"./components/pages/About\";\r\nimport Contact from \"./components/pages/Contact\";\r\nimport NotFound from \"./components/pages/NotFound\";\r\n\r\nimport Users from \"./components/pages/users/Users\";\r\nimport UpdateUser from \"./components/pages/users/UpdateUser\";\r\n\r\n//pages for patients\r\n// import Patients from \"./components/pages/patients/Patients\";\r\n// import PatientPage from \"./components/pages/patients/PatientPage\";\r\n// import CreatePatient from \"./components/pages/patients/CreatePatient\";\r\n// import UpdatePatient from \"./components/pages/patients/UpdatePatient\";\r\n// import AddMedication from \"./components/pages/patients/datacategories/AddMedication\";\r\n// import ReadMedications from \"./components/pages/patients/datacategories/ReadMedications\";\r\n// import UpdateMedication from \"./components/pages/patients/datacategories/UpdateMedication\";\r\n\r\n//pages for schedule\r\n// import Schedules from \"./components/pages/schedules/Schedules\";\r\n// import ProgressNotes from \"./components/pages/progress_notes/ProgressNotes\";\r\n// import Assessments from \"./components/pages/assessments/Assessments\";\r\n// import CarePlans from \"./components/pages/careplans/CarePlans\";\r\n// import Loved1s from \"./components/pages/loved1s/Loved1s\";\r\n// import UpdateLovedOnes from \"./components/pages/loved1s/UpdateLoved1s\";\r\n\r\n// pages for support\r\nimport SupportRequests from \"./components/pages/support/SupportRequests\";\r\nimport CreateTicket from \"./components/pages/support/CreateTicket\";\r\nimport TicketSuccess from \"./components/pages/support/TicketSuccess\";\r\nimport ContactSupport from \"./components/pages/support/ContactSupport\";\r\n\r\n// Landing page\r\nimport LandingPage from \"./components/pages/landing_page/LandingPage\";\r\n\r\n// Push Notification\r\nimport { db } from \"./firebase/firebase\";\r\nimport { ref, onValue, off } from \"firebase/database\";\r\n// import { generateToken, messaging } from \"./firebase/firebase\";\r\n// import { onMessage } from \"firebase/messaging\";\r\nimport toast from \"react-hot-toast\";\r\n\r\n// // Font Awesome Icons\r\n// import { library } from \"@fortawesome/fontawesome-svg-core\";\r\n// import { fab } from \"@fortawesome/free-brands-svg-icons\";\r\n// import { far } from \"@fortawesome/free-regular-svg-icons\";\r\n// import { fas } from \"@fortawesome/free-solid-svg-icons\";\r\n// library.add(fab, far, fas);\r\n\r\n// import AddProgressNotes from \"./components/pages/progress_notes/AddProgressNotes\";\r\n// import DeletePatient from \"./components/pages/patients/DeletePatient\";\r\n// import TermsAndConditions from \"./components/layouts/TermsAndConditions\";\r\n// import Handover from \"./components/pages/handovers/Handover\";\r\n// import NoHandovers from \"./components/pages/NoHandovers\";\r\n// import AddVisit from \"./components/pages/visits/AddVisit\";\r\n// import VisitDetails from \"./components/pages/visits/VisitDetails\";\r\n// import ActivityDetails from \"./components/pages/visits/ActivityDetails\";\r\n// import Handovers from \"./components/pages/handovers/Handovers\";\r\n//this one uses your Okta details like domain and clientId so it can be used in the login widget\r\n// const oktaAuth = new OktaAuth(oktaAuthConfig);\r\n\r\nconst Login = React.lazy(() => import(\"./components/pages/Login\"));\r\nconst ForgotPassword = React.lazy(() =>\r\n\timport(\"./components/pages/ForgotPassword\")\r\n);\r\n\r\n// Patients\r\nconst Patients = React.lazy(() =>\r\n\timport(\"./components/pages/patients/Patients\")\r\n);\r\nconst PatientPage = React.lazy(() =>\r\n\timport(\"./components/pages/patients/PatientPage\")\r\n);\r\nconst CreatePatient = React.lazy(() =>\r\n\timport(\"./components/pages/patients/CreatePatient\")\r\n);\r\nconst UpdatePatient = React.lazy(() =>\r\n\timport(\"./components/pages/patients/UpdatePatient\")\r\n);\r\nconst AddMedication = React.lazy(() =>\r\n\timport(\"./components/pages/patients/datacategories/AddMedication\")\r\n);\r\nconst ReadMedications = React.lazy(() =>\r\n\timport(\"./components/pages/patients/datacategories/ReadMedications\")\r\n);\r\nconst UpdateMedication = React.lazy(() =>\r\n\timport(\"./components/pages/patients/datacategories/UpdateMedication\")\r\n);\r\n\r\n// Schedules\r\nconst Schedules = React.lazy(() =>\r\n\timport(\"./components/pages/schedules/Schedules\")\r\n);\r\n\r\nconst Tasks = React.lazy(() => import(\"./components/pages/tasks/Tasks\"));\r\n\r\nconst ProgressNotes = React.lazy(() =>\r\n\timport(\"./components/pages/progress_notes/ProgressNotes\")\r\n);\r\nconst Assessments = React.lazy(() =>\r\n\timport(\"./components/pages/assessments/Assessments\")\r\n);\r\nconst CarePlans = React.lazy(() =>\r\n\timport(\"./components/pages/careplans/CarePlans\")\r\n);\r\nconst Loved1s = React.lazy(() => import(\"./components/pages/loved1s/Loved1s\"));\r\n\r\nconst ResidentLoved1s = React.lazy(() =>\r\n\timport(\"./components/pages/loved1s/ResidentLoved1s\")\r\n);\r\n\r\nconst PracticeThread = React.lazy(() =>\r\n\timport(\"./components/pages/loved1s/PracticeThread\")\r\n);\r\n\r\nconst ThreadLists = React.lazy(() =>\r\n\timport(\"./components/pages/loved1s/ThreadLists\")\r\n);\r\n\r\nconst LovedOneThread = React.lazy(() =>\r\n\timport(\"./components/pages/loved1s/LovedOneThread\")\r\n);\r\n\r\nconst UpdateLovedOnes = React.lazy(() =>\r\n\timport(\"./components/pages/loved1s/UpdateLoved1s\")\r\n);\r\n\r\nconst AddProgressNotes = React.lazy(() =>\r\n\timport(\"./components/pages/progress_notes/AddProgressNotes\")\r\n);\r\nconst DeletePatient = React.lazy(() =>\r\n\timport(\"./components/pages/patients/DeletePatient\")\r\n);\r\nconst TermsAndConditions = React.lazy(() =>\r\n\timport(\"./components/layouts/TermsAndConditions\")\r\n);\r\nconst Handover = React.lazy(() =>\r\n\timport(\"./components/pages/handovers/Handover\")\r\n);\r\nconst NoHandovers = React.lazy(() => import(\"./components/pages/NoHandovers\"));\r\nconst AddVisit = React.lazy(() => import(\"./components/pages/visits/AddVisit\"));\r\nconst ViewVisits = React.lazy(() =>\r\n\timport(\"./components/pages/visits/ViewVisits\")\r\n);\r\nconst FacilityVisitDetails = React.lazy(() =>\r\n\timport(\"./components/pages/visits/FacilityVisitDetails\")\r\n);\r\nconst Treatments = React.lazy(() =>\r\n\timport(\"./components/pages/treatments/Treatments\")\r\n);\r\n\r\nconst VisitDetails = React.lazy(() =>\r\n\timport(\"./components/pages/visits/VisitDetails\")\r\n);\r\nconst ActivityDetails = React.lazy(() =>\r\n\timport(\"./components/pages/visits/ActivityDetails\")\r\n);\r\nconst Handovers = React.lazy(() =>\r\n\timport(\"./components/pages/handovers/Handovers\")\r\n);\r\n\r\n// imports for allergies page\r\nconst Allergies = React.lazy(() =>\r\n\timport(\"./components/pages/allergies/Allergies\")\r\n);\r\nconst Medications = React.lazy(() =>\r\n\timport(\"./components/pages/medications/Medications\")\r\n);\r\nconst AddConsent = React.lazy(() =>\r\n\timport(\"./components/pages/consents/AddConsent\")\r\n);\r\nconst ConsentLists = React.lazy(() =>\r\n import(\"./components/pages/consents/ConsentLists\")\r\n);\r\n\r\nconst RequestConsent = React.lazy(() =>\r\n\timport(\"./components/pages/consents/RequestConsent\")\r\n);\r\n\r\nconst ReleaseNotes = React.lazy(() =>\r\n\timport(\"./components/pages/release_notes/ReleaseNotes\")\r\n);\r\n\r\nconst Referrals = React.lazy(() =>\r\n\timport(\"./components/pages/referrals/Referral\")\r\n);\r\n\r\nconst Referrallists = React.lazy(() =>\r\n\timport(\"./components/pages/referrals/ReferralLists\")\r\n);\r\n\r\nconst GeneralCareHome = React.lazy(() =>\r\n\timport(\"./components/pages/carehome/GeneralCareHome\")\r\n);\r\n\r\nconst PodiatryProgressNotes = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/podiatry/PodiatryProgressNotes\")\r\n);\r\n\r\nconst PodiatryAssessments = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/podiatry/PodiatryAssessments\")\r\n);\r\n\r\nconst PodiatryCarePlans = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/podiatry/PodiatryCarePlans\")\r\n);\r\n\r\nconst PhysioProgressNotes = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/physiotherapy/PhysioProgressNotes\")\r\n);\r\n\r\nconst PhysioAssessments = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/physiotherapy/PhysioAssessments\")\r\n);\r\n\r\nconst DieteticsProgressNotes = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/dietetics/DieteticsProgressNotes\")\r\n);\r\n\r\nconst DieteticsAssessments = React.lazy(() =>\r\n\timport(\"./components/pages/facilities/dietetics/DieteticsAssessments\")\r\n);\r\n\r\nconst ChatPage = React.lazy(() => import(\"./components/pages/chats/Chat\"));\r\n\r\nconst AllSettings = React.lazy(() =>\r\n\timport(\"./components/pages/settings/AllSettings\")\r\n);\r\n\r\nconst Notifications = React.lazy(() =>\r\n\timport(\"./components/pages/notifications/Notifications\")\r\n);\r\n\r\nconst RegisterAccount = React.lazy(() =>\r\n import(\"./components/pages/accountManagement/RegisterAccount\")\r\n);\r\n\r\nconst AccountLists = React.lazy(() =>\r\n import(\"./components/pages/accountManagement/AccountLists\")\r\n);\r\n\r\nconst Subscriptions = React.lazy(() =>\r\n import(\"./components/pages/subscriptions/Subscriptions\")\r\n);\r\n\r\nconst Validate = React.lazy(() => import(\"./Validate\"));\r\nconst ProcessBookingConfirmation = React.lazy(() =>\r\n import(\"./components/booking/ProcessBooking\")\r\n);\r\nconst MultiProcessBookingConfirmation = React.lazy(() =>\r\n import(\"./components/booking/MultiProcessBooking\")\r\n);\r\nconst SuccessBookingConfirmation = React.lazy(() =>\r\n import(\"./components/booking/SuccessBooking\")\r\n);\r\nconst CancelBookingConfirmation = React.lazy(() =>\r\n import(\"./components/booking/CancelBooking\")\r\n);\r\nconst SetResidentActive = React.lazy(() =>\r\n import(\"./components/resident-status/SetActive\")\r\n);\r\nconst SetResidentInActive = React.lazy(() =>\r\n import(\"./components/resident-status/SetInActive\")\r\n);\r\nconst MultiStatusManager = React.lazy(() =>\r\n import(\"./components/resident-status/MultiStatusManager\")\r\n);\r\nconst LovedOnePayment = React.lazy(() =>\r\n import(\"./components/booking/LovedOnePayment\")\r\n);\r\n\r\nfunction AppWithRouterAccess() {\r\n\tconst authState = JSON.parse(localStorage.getItem(\"auth0-token-storage\"));\r\n\tconst accessToken = authState?.access_token;\r\n\tlet history = useHistory();\r\n\r\n\tconst [searchTerm, setSearchTerm] = useState(\"\");\r\n\tconst [selectedOption, setSelectedOption] = useState([]);\r\n\tconst [isNavClosed, setIsNavClosed] = useState(false);\r\n\tconst [saved, setSaved] = useState(true);\r\n\tconst [confirmShowed, setConfirmShowed] = useState(false);\r\n\tconst [sort, setSort] = useState(\"\");\r\n\tconst location = useLocation();\r\n\tlet param =\r\n\t\tlocation?.search?.split(\"&\")?.filter((item) => item !== \"\") ?? null;\r\n\tconst [currentPage, setCurrentPage] = useState(\r\n\t\tparseInt(param[0]?.split(\"=\")[1] ?? \"0\") === 0\r\n\t\t\t? null\r\n\t\t\t: parseInt(param[0]?.split(\"=\")[1])\r\n\t);\r\n\tconst [navbarLoader, setNavBarLoader] = useState(false);\r\n\tconst [notificationData, setNotificationData] = useState([]);\r\n\tconst [notificationLoader, setNotificationLoader] = useState(false);\r\n\tconst [unreadCount, setUnreadCount] = useState(false);\r\n\r\n\t//this one forwards to login page when a secure route is accessed\r\n\t// const customAuthHandler = () => {\r\n\t// history.push(\"/login\");\r\n\t// };\r\n\r\n\t// const restoreOriginalUri = async (_oktaAuth, originalUri) => {\r\n\t// if (originalUri) {\r\n\t// history.replace(toRelativeUrl(originalUri, window.location.origin));\r\n\t// }\r\n\t// };\r\n\r\n const changeURLPatient = (\r\n patientId,\r\n page,\r\n tabOpen,\r\n facility,\r\n filter,\r\n ward,\r\n funding,\r\n inactiveResident,\r\n date = null\r\n ) => {\r\n if (confirmShowed) return;\r\n if (!saved) {\r\n setConfirmShowed(true);\r\n if (\r\n !window.confirm(\r\n \"Are you sure you want to leave this page? Unsaved changes will be discarded\"\r\n )\r\n ) {\r\n setConfirmShowed(false);\r\n return false;\r\n }\r\n setConfirmShowed(false);\r\n }\r\n setSaved(true);\r\n history.replace({\r\n search:\r\n `?page=${page ?? 1}&patientId=${patientId ?? \"null\"}&tab=${\r\n tabOpen ?? \"1\"\r\n }&facility=${\r\n facility && facility.length > 0 ? facility.join(\",\") : \"null\"\r\n }&filter=${filter ?? \"today\"}&ward=${\r\n ward && ward.length > 0 ? ward.join(\",\") : \"null\"\r\n }&funding=${funding ?? \"null\"}&inactiveResident=${\r\n inactiveResident ?? \"false\"\r\n }` + (date != null ? `&date=${date}` : \"\"),\r\n });\r\n\r\n\t\treturn true;\r\n\t};\r\n\r\n\t// for push notification\r\n\tconst getNotifications = async () => {\r\n\t\ttry {\r\n\t\t\tsetNotificationLoader(true);\r\n\t\t\tconst res = await api.getPushNotification(accessToken);\r\n\t\t\tconst notif = res.data.data.sort(\r\n\t\t\t\t(a, b) => new Date(b.createdAt) - new Date(a.createdAt)\r\n\t\t\t);\r\n\t\t\tsetNotificationData(notif);\r\n\t\t\tsetNotificationLoader(false);\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t\tsetNotificationLoader(false);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tgetNotifications();\r\n\t}, [accessToken]);\r\n\r\n // useEffect(() => {\r\n // generateToken();\r\n // onMessage(messaging, (payload) => {\r\n // console.log(payload);\r\n // setNotificationData((prevArray) => [payload, ...prevArray]);\r\n // toast(payload.data.event + \" - \" + payload.data.notes);\r\n // });\r\n // }, []);\r\n if (window.location.pathname.includes(\"/releaseNotes/\")) {\r\n return (\r\n \r\n );\r\n }\r\n return (\r\n
    \r\n {/* */}\r\n\t\t\t{!window.location.pathname.includes(\"/consent\") &&\r\n\t\t\t\t!window.location.pathname.includes(\"/validate\") && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{window.location.pathname.includes(\"/consent\") ||\r\n\t\t\t\t\twindow.location.pathname.includes(\r\n\t\t\t\t\t\t\"/validate\"\r\n\t\t\t\t\t) ? null : !isNavClosed ? (\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{/* Note that there are Links inside the sidebar below and is covered by Browser/Router and Security above */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setIsNavClosed(false)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t)}\r\n\r\n \r\n {/* For switching between pages */}\r\n \r\n {/* Private Routes */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Public Routes */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n\t\t\t