{"version":3,"sources":["utils/reportWebVitals.ts","redux/slices/counter.ts","redux/slices/legal.ts","cookies/cookies.ts","api/Config.ts","api/DateUtils.ts","api/ICompliance.ts","api/ISiteDetails.ts","api/LicenceVersion.ts","api/LicenceProfile.ts","redux/slices/licenceProfile.ts","redux/slices/compliance.ts","api/ISiteVisit.ts","redux/slices/siteVisit.ts","api/IComplianceInvestigation.ts","api/LicenceDetails.ts","api/ILicenseeReturns.ts","redux/slices/licenseeReturn.ts","api/RequestForInformation.ts","redux/slices/requestForInformation.ts","api/IFindingAndRecommendation.ts","redux/slices/findingAndRecommendation.ts","api/Instruction.ts","redux/slices/instruction.ts","api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions.ts","api/IEpaCorrespondence.ts","api/ITask.ts","api/IEdenMessage.ts","redux/slices/edenMessage.ts","redux/slices/complianceInvestigation.ts","api/IIncident.ts","redux/slices/incident.ts","api/IComplaint.ts","redux/slices/complaint.ts","api/Incident/IIncidentUpdateRequestDetails.ts","redux/slices/incidentUpdateRequest.ts","api/IMeeting.ts","redux/slices/meeting.ts","api/INonCompliance.ts","redux/slices/nonCompliance.ts","redux/slices/actionOrInstruction.ts","redux/slices/epaCorrespondence.ts","api/IThirdPartyCorrespondence.ts","redux/slices/thirdPartyCorrespondence.ts","api/CircularEconomy/Config.ts","api/CircularEconomy/INotifiers.ts","apps/circulareconomy/redux/slices/notifier.ts","redux/store.ts","i18n.ts","components/Main.tsx","constants.ts","hooks/useOuterClick.ts","hooks/useLocalStorage.ts","hooks/useSettingsState.ts","hooks/useAppSelector.ts","apps/leap/ThemeContext.tsx","hooks/useTheme.ts","contexts/SidebarContext.tsx","hooks/useSidebar.ts","contexts/LayoutContext.tsx","hooks/useLayout.ts","components/Settings.tsx","layouts/Auth.tsx","components/Wrapper.tsx","components/Content.tsx","ScrollToTop.tsx","layouts/LeapDashboard.tsx","leap-dashboards/LicenceProfile/index.tsx","pages/auth/Page404.tsx","leap-components/EpaCard.tsx","leap-components/EpaField.tsx","leap-pages/LicenceProfile/ActiveLicenceDetails.tsx","leap-pages/LicenceProfile/BreadCrumbs.tsx","leap-components/Grid/FetchGrid/ColumnFilter.tsx","leap-components/icons/Spinner.tsx","leap-components/Grid/FetchGrid/index.tsx","leap-components/Grid/NoFetchGrid/DefaultColumnFilter.tsx","leap-components/Grid/NoFetchGrid/index.tsx","leap-components/Grid/index.tsx","leap-components/Grid/NoFetchGrid/SelectColumnFilter.tsx","leap-components/icons/LeapIcons.tsx","assets/img/leap/leap-logo.svg","leap-pages/routeFactory.ts","leap-components/Compliance/ComplianceGrid.tsx","leap-pages/LicenceProfile/Compliance.tsx","assets/img/leap/leap-logo-tagline.svg","leap-components/LeapHeaderComponent/index.tsx","leap-pages/LicenceProfile/LicenceProfileHeader.tsx","leap-pages/LicenceProfile/LicenceDetails.tsx","leap-pages/LicenceProfile/LicenceProfileSiteDetails.tsx","leap-pages/LicenceProfile/LicenceProfileSubTabs.tsx","hooks/useAppDispatch.ts","leap-pages/LicenceProfile/UrbanWasteWaterSiteDetails.tsx","pages/auth/Page500.tsx","leap-components/Loading.tsx","leap-components/LicenceProfile/LicenceProfileResponseComponentFactory.tsx","leap-pages/LicenceProfile/index.tsx","leap-pages/LicenceProfile/SiteVisits/BreadCrumbs.tsx","leap-components/EpaFieldHtml.tsx","leap-pages/LicenceProfile/SiteVisits/SiteVisitDetails.tsx","leap-components/EpaField2Rows.tsx","leap-pages/LicenceProfile/SiteVisits/SiteVisitHeader.tsx","leap-components/ComplianceInvestigations/ComplianceInvestigationsGrid.tsx","leap-components/Documents/DocumentsGrid.tsx","api/Documents.ts","leap-components/FindingsAndRecommendations/FindingsAndRecommendationsGrid.tsx","leap-components/LicenseeReturns/LicenseeReturnsGrid.tsx","leap-components/NonCompliances/NonCompliancesGrid.tsx","leap-pages/LicenceProfile/SiteVisits/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/ComplianceTab/BackToCompliance.tsx","leap-pages/LicenceProfile/SiteVisits/index.tsx","leap-pages/Confirm/BreadCrumbs.tsx","leap-pages/Confirm/Header.tsx","leap-pages/Confirm/ConfirmTextCard.tsx","leap-pages/Confirm/CookiesDisabledCard.tsx","leap-pages/Confirm/index.tsx","leap-pages/LicenceProfile/ComplianceTab/BreadCrumbs.tsx","leap-components/Grid/FetchGrid/StaticSelectColumnFilter.tsx","leap-components/Grid/FetchGrid/DateRangeColumnFilter.tsx","leap-pages/LicenceProfile/ComplianceTab/index.tsx","leap-components/SiteVisits/SiteVisitsGridProps.ts","leap-pages/LicenceProfile/LicenceVersionsTab/BreadCrumbs.tsx","leap-pages/LicenceProfile/LicenceVersionsTab/index.tsx","leap-pages/LicenceProfile/LicenseeReturn/BreadCrumbs.tsx","leap-components/Instructions/InstructionsGrid.tsx","leap-components/RequestsForInformation/RequestsForInformationGrid.tsx","leap-components/SiteVisits/SiteVisitsGrid.tsx","leap-pages/LicenceProfile/LicenseeReturn/RelatedComplianceRecords.tsx","leap-components/EdenMessages/EdenMessagesGridProps.ts","leap-pages/LicenceProfile/LicenseeReturn/LicenseeReturnHeader.tsx","leap-pages/LicenceProfile/LicenseeReturn/LicenseeReturnDetails.tsx","leap-components/ComplianceInvestigations/ComplianceInvestigationBox.tsx","leap-pages/LicenceProfile/LicenseeReturn/index.tsx","leap-pages/LicenceProfile/RequestForInformation/BreadCrumbs.tsx","leap-pages/LicenceProfile/RequestForInformation/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/RequestForInformation/RequestForInformationHeader.tsx","leap-pages/LicenceProfile/RequestForInformation/RequestForInformationDetails.tsx","leap-pages/LicenceProfile/RequestForInformation/index.tsx","leap-pages/LicenceProfile/FindingAndRecommendation/BreadCrumbs.tsx","leap-components/EdenMessages/EdenMessagesGrid.tsx","leap-pages/LicenceProfile/FindingAndRecommendation/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/FindingAndRecommendation/FindingAndRecommendationHeader.tsx","leap-pages/LicenceProfile/FindingAndRecommendation/FindingAndRecommendationDetails.tsx","leap-pages/LicenceProfile/FindingAndRecommendation/index.tsx","leap-pages/LicenceProfile/Instruction/BreadCrumbs.tsx","leap-pages/LicenceProfile/Instruction/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/Instruction/InstructionHeader.tsx","leap-pages/LicenceProfile/Instruction/InstructionDetails.tsx","leap-pages/LicenceProfile/Instruction/index.tsx","leap-pages/LicenceProfile/EdenMessage/BreadCrumbs.tsx","leap-pages/LicenceProfile/EdenMessage/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/EdenMessage/EdenMessageHeader.tsx","leap-pages/LicenceProfile/EdenMessage/EdenMessageDetails.tsx","leap-pages/LicenceProfile/EdenMessage/index.tsx","leap-pages/LeapHome/BreadCrumbs.tsx","leap-pages/LeapHome/Header.tsx","leap-pages/LeapHome/HomeText.tsx","leap-pages/LeapHome/LeapHomeContent.tsx","leap-pages/LeapHome/Search.tsx","leap-pages/LeapHome/index.tsx","api/ILicenceProfileSearch.ts","leap-pages/LicenceProfile/ComplianceInvestigation/BreadCrumbs.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ComplianceInvestigationHeader.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ComplianceInvestigationDetails.tsx","leap-components/Complaint/ComplaintsGrid.tsx","leap-components/ComplianceInvestigations/ComplianceInvestigationActionsInstructionsGrid.tsx","leap-components/ComplianceInvestigations/ComplianceInvestigationEffectsGrid.tsx","api/ComplianceInvestigation/IComplianceInvestigationEffect.ts","leap-components/ComplianceInvestigations/ComplianceInvestigationLikelyCausesGrid.tsx","api/ComplianceInvestigation/IComplianceInvestigationLikelyCause.ts","leap-components/ComplianceInvestigations/ComplianceInvestigationOutcomesGrid.tsx","api/ComplianceInvestigation/IComplianceInvestigationOutcome.ts","leap-components/Incidents/IncidentsGrid.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/index.tsx","leap-pages/LicenceProfile/Incident/BreadCrumbs.tsx","leap-pages/LicenceProfile/Incident/IncidentDetails.tsx","leap-pages/LicenceProfile/Incident/IncidentHeader.tsx","leap-components/Incidents/IncidentCorrectiveAndPreventativeActionsGrid.tsx","api/Incident/IIncidentCorrectiveAndPreventativeAction.ts","leap-components/Incidents/IncidentEmissionParameterResultsGrid.tsx","api/Incident/IIncidentEmissionParameterResult.ts","leap-components/Incidents/IncidentUpdateRequestsGrid.tsx","api/Incident/IIncidentUpdateRequest.ts","leap-pages/LicenceProfile/Incident/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/Incident/index.tsx","leap-pages/LicenceProfile/Complaint/BreadCrumbs.tsx","leap-pages/LicenceProfile/Complaint/ComplaintDetails.tsx","leap-pages/LicenceProfile/Complaint/ComplaintHeader.tsx","leap-pages/LicenceProfile/Complaint/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/Complaint/index.tsx","leap-pages/LicenceProfile/IncidentUpdateRequest/BreadCrumbs.tsx","leap-pages/LicenceProfile/IncidentUpdateRequest/IncidentUpdateRequestDetails.tsx","leap-pages/LicenceProfile/IncidentUpdateRequest/IncidentUpdateRequestHeader.tsx","leap-pages/LicenceProfile/IncidentUpdateRequest/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/IncidentUpdateRequest/index.tsx","leap-pages/LicenceProfile/Meeting/BreadCrumbs.tsx","leap-pages/LicenceProfile/Meeting/MeetingHeader.tsx","leap-pages/LicenceProfile/Meeting/MeetingDetails.tsx","leap-components/Licences/LicencesGrid.tsx","leap-pages/LicenceProfile/Meeting/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/Meeting/index.tsx","leap-pages/LicenceProfile/NonCompliance/BreadCrumbs.tsx","leap-pages/LicenceProfile/NonCompliance/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/NonCompliance/NonComplianceHeader.tsx","leap-components/EpaFieldEmpty.tsx","leap-pages/LicenceProfile/NonCompliance/NonComplianceDetails.tsx","leap-pages/LicenceProfile/NonCompliance/index.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ActionsOrInstructions/BreadCrumbs.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ActionsOrInstructions/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ActionsOrInstructions/ActionOrInstructionHeader.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ActionsOrInstructions/ActionOrInstructionDetails.tsx","leap-pages/LicenceProfile/ComplianceInvestigation/ActionsOrInstructions/index.tsx","leap-pages/LicenceProfile/EpaCorrespondence/BreadCrumbs.tsx","leap-pages/LicenceProfile/EpaCorrespondence/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/EpaCorrespondence/EpaCorrespondenceHeader.tsx","leap-pages/LicenceProfile/EpaCorrespondence/EpaCorrespondenceDetails.tsx","leap-pages/LicenceProfile/EpaCorrespondence/index.tsx","leap-pages/LicenceProfile/ThirdPartyCorrespondence/BreadCrumbs.tsx","leap-pages/LicenceProfile/ThirdPartyCorrespondence/RelatedComplianceRecords.tsx","leap-pages/LicenceProfile/ThirdPartyCorrespondence/ThirdPartyCorrespondenceHeader.tsx","leap-pages/LicenceProfile/ThirdPartyCorrespondence/ThirdPartyCorrespondenceDetails.tsx","leap-pages/LicenceProfile/ThirdPartyCorrespondence/index.tsx","apps/leap/routes.tsx","hooks/usePalette.ts","utils/ChartJsDefaults.ts","utils/axios.ts","utils/jwt.ts","contexts/JWTContext.tsx","apps/leap/App.tsx","assets/img/logo.svg","assets/img/avatars/avatar.jpg","assets/img/avatars/avatar-3.jpg","assets/img/avatars/avatar-4.jpg","assets/img/avatars/avatar-5.jpg","components/sidebar/dashboardItems.ts","components/sidebar/docItems.ts","components/guards/AuthGuard.tsx","assets/img/illustrations/customer-support.png","assets/img/illustrations/searching.png","pages/dashboards/Analytics/WorldMap.tsx","assets/img/illustrations/social.png","assets/img/avatars/avatar-2.jpg","assets/img/photos/unsplash-1.jpg","assets/img/photos/unsplash-2.jpg","assets/img/photos/unsplash-3.jpg","pages/dashboards/SaaS/USAMap.tsx","pages/dashboards/Crypto/Chart.tsx","components/auth/ResetPassword.tsx","pages/tables/data.ts","pages/icons/Feather.tsx","pages/icons/FontAwesome/iconsSolid.ts","pages/forms/Formik.tsx","pages/tables/RowExpanding.tsx","pages/tables/ColumnFiltering.tsx","contexts/NotyfContext.tsx","apps/theme/App.tsx","mocks/adapter.ts","mocks/auth.ts","layouts/SlimEpaHeader.tsx","layouts/SlimEpaFooter.tsx","index.tsx"],"names":["reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","fetchCount","amount","Promise","resolve","setTimeout","data","incrementAsync","createAsyncThunk","response","counterSlice","createSlice","name","initialState","value","status","reducers","increment","state","decrement","incrementByAmount","action","payload","extraReducers","builder","addCase","pending","fulfilled","actions","LegalCookieName","acceptedTermsOfService","cookieName","ca","decodeURIComponent","document","cookie","split","i","length","c","charAt","substring","indexOf","getCookie","confirm","legalSlice","acceptTermsOfService","toggleAcceptance","selectAcceptedTermsOfService","legal","selectConfirm","ENV","API_URL","padTo2Digits","num","toString","padStart","formatDate","dateString","date","Date","getDate","getMonth","getFullYear","join","formatDateTime","datePart","timePart","getHours","getMinutes","formatDateForFiltering","GetComplianceListFetchUrl","profileId","pageNo","recordsPerPage","searchText","filters","params","filterParams","f","filterId","id","date_from","date_to","encodeURIComponent","GetComplianceRecordTypesAsync","url","fetch","json","body","list","map","item","type","GetComplianceRecordStatusesAsync","GetComplianceListByProfileIdAsync","pageRequest","page","per_page","compliancerecord_id","licence_id","licenceregno","profile_id","profilenumber","reference","related_compliance_recordid","subject","GetSiteDetailsByProfileIdAsync","GetAllLicenceVersionsAsync","reg_no","licenceprofile_id","licence_type","licence_name","date_of_licence","ceased_date","licence_status","licence_substatus","licence_application_status","licenceprofile_number","urban_areape","GetLicenceVersionAsync","licenceId","GetLicenceProfileAsync","profileNo","ok","httpStatusCode","httpErr","statusText","licence_profile_id","siteDetails","complianceList","versions","active_licence_id","activeVersion","profile","county","dateIssued","active_licence_startdate","firstIssued","first_issue_date","iedActivity","ied_activity","majorActivity","major_class_of_activity","organisation","organisation_name","profileName","profile_number","sector","active_licence_sector","active_licence_status","subStatus","active_licence_substatus","active_licence_type","version","active_licence_regno","prioritySite","uww_priority_site","licenceVersionsList","activeLicenceVersion","licenceProfile","isRadiologicalProtection","error","undefined","fetchStatus","licenceProfileResponse","loadLicenceProfileAsync","licenceProfileSlice","rejected","selectLicenceProfileResponse","complianceRecordTypes","complianceStatuses","loadComplianceOptionsAsync","recordTypes","recordStatuses","complianceOptionsSlice","selectComplianceOptions","complianceOptions","GetSiteVisitDetailsAsync","siteVisitId","sitevisitid","licenseesubmission_id","visit_date","report_issued_date","compliance","summary","announced","visittype","instigated_by","sampletaken","odourassessment","adourassessmentcompliant","licence_regno","siteVisit","loadSiteVisitAsync","siteVisitSlice","selectSiteVisit","GetComplianceInvestigationDetailsAsync","complianceInvestigationId","complianceinvestigationid","licenceid","licenceprofileid","responselevel","title","origin","receptors","description","closedate","dateraised","GetLicenseDetailsAsync","GetLicenseeReturnDetailsAsync","licenceDetails","complianceInvestigationDetails","licenseereturnid","datereceived","closeddate","doctype","docsubtype","decision","documentcategory","licenseeReturn","loadLicenseeReturnAsync","licenseeReturnId","licenseeReturnSlice","selectLicenseeReturn","GetRequestForInformationDetailsAsync","requestForInformationId","licenseesubmisionid","rfiid","datesubmitted","duedate","responsereceiveddate","question","licensee_return_reference","requestForInformation","loadRequestForInformationAsync","reuestForInformationId","requestForInformationSlice","selectRequestForInformation","GetFindingAndRecommendationDetailsAsync","taskId","regardingobjectid","taskid","sender","recipient","details","category","subcategory","observation","findingAndRecommendation","loadFindingAndRecommendationAsync","findingAndRecommendationSlice","selectFindingAndRecommendation","findingAndRecommendationReducer","GetInstructionDetailsAsync","instructionId","licenseesubmissionid","licenseeReturnDetails","epainitiatedcorrespondenceid","licensingnotification","correspondencetype","regno","instruction","loadInstructionAsync","instructionSlice","selectInstruction","GetComplianceInvestigationActionOrInstructionDetailsAsync","complianceInvestigation","complianceInvestidationDetails","GetEpaCorrespondenceDetailsAsync","epaCorrespondenceId","isFindingOrRecommentation","GetTaskDetailsAsync","GetEdenMessageDetailsAsync","edenMessageId","isSiteVisit","isComplianceInvestigation","taskDetails","actionOrInstructionDetails","epaCorrespondenceDetails","lr","edenmessageid","message","edenMessage","loadEdenMessageAsync","edenMessageSlice","selectEdenMessage","loadComplianceInvestigationAsync","complianceInvestigationSlice","selectComplianceInvestigation","GetIncidentDetailsAsync","incidentId","incidentid","incidentcategory","nature","vulnerablereceptors","likelihoodofreoccurence","likelycause","newrecurring","datenotified","firstnoticed","approximatestart","finishtime","notifiedparties","dischargepoint","emissionpointname","uncontrolledrelease","otherrelevantinformation","impactonenvironment","activityinprogress","dischargedetails","incident","loadIncidentAsync","incidentSlice","selectIncident","GetComplaintDetailsAsync","complaintId","complaintid","dateoccurred","durationofoccurance","complaint","loadComplaintAsync","complaintSlice","selectComplaint","GetIncidentUpdateRequestDetailsAsync","incidentUpdateRequestId","incidentDetails","incidentupdaterequestid","request","incidentUpdatRequest","loadIncidentUpdateRequestAsync","incidentUpdateRequestSlice","selectIncidentUpdateRequest","incidentUpdateRequest","GetMeetingDetailsAsync","meetingId","meetingid","meetingdate","meetingtime","organisationid","location","regarding","attendeesepa","attendeesnoepa","actionitems","originalmeetingid","organisationname","meeting","loadMeetingAsync","meetingSlice","selectMeeting","GetNonComplianceDetailsAsync","nonComplianceId","complaintDetails","noncomplianceid","condition","dateofnoncompliance","dateofnotification","nonCompliance","loadNonComplianceAsync","nonComplianceSlice","selectNonCompliance","actionOrInstruction","loadActionOrInstructionAsync","actionOrInstructionSlice","selectActionOrInstruction","epaCorrespondence","loadEpaCorrespondenceAsync","epaCorrespondenceSlice","selectEpaCorrespondence","GetThirdPartyCorrespondenceDetailsAsync","thirdPartyCorrespondenceId","thirdpartycorrespondenceid","receivedfrom","dateoriginalcorrespondencereceived","dateoforiginalcorrespondence","inspectorsupdate","thirdPartyCorrespondence","loadThirdPartyCorrespondenceAsync","thirdPartyCorrespondenceSlice","selectThirdPartyCorrespondence","GetNotifierByIdFetchUrl","notifier_id","notifier","notifier_name","date_received","source_local_authority","use_local_authority","open_for_submissions","NotifierResponse","loadNotifierAsync","notifierId","notifierSlice","store","configureStore","reducer","counter","counterReducer","legalReducer","licenceProfileReducer","complianceOptionsReducer","siteVisitReducer","licenseeReturnReducer","requestForInformationReducer","instructionReducer","edenMessageReducer","complianceInvestigationReducer","incidentReducer","complaintReducer","incidentUpdateRequestReducer","meetingReducer","nonComplianceReducer","actionOrInstructionReducer","epaCorrespondenceReducer","thirdPartyCorrespondenceReducer","notifierResponse","notifierReducer","i18n","use","initReactI18next","init","resources","en","translation","Search","fr","de","nl","lng","fallbackLng","interpolation","escapeValue","Main","className","children","classNames","SIDEBAR_POSITION","SIDEBAR_BEHAVIOR","LAYOUT","THEME","THEME_PALETTE_LIGHT","primary","secondary","success","info","warning","danger","white","black","THEME_PALETTE_DARK","useOuterClick","callback","callbackRef","useRef","innerRef","useEffect","current","addEventListener","handleClick","removeEventListener","e","contains","target","useLocalStorage","key","initialValue","useState","window","localStorage","getItem","JSON","parse","console","log","storedValue","setStoredValue","valueToStore","setItem","stringify","useSettingsState","setValue","dataset","theme","querySelector","setAttribute","useAppSelector","useSelector","setTheme","layout","ThemeContext","React","createContext","ThemeProvider","currentUrl","href","toLowerCase","newUrl","to","Provider","useTheme","useContext","isOpen","setIsOpen","open","setPosition","position","setBehavior","behavior","SidebarContext","SidebarProvider","useSidebar","setLayout","LayoutContext","LayoutProvider","useLayout","themeOptions","sidebarPositionOptions","sidebarBehaviorOptions","layoutOptions","Settings","query","URLSearchParams","useLocation","search","setSettingByQueryParam","set","get","ref","onClick","Alert","variant","checked","onChange","Button","as","rel","size","Auth","Fragment","Container","Row","Col","sm","md","lg","Wrapper","Content","ScrollToTop","useLayoutEffect","getElementsByTagName","scrollTop","pathname","LeapDashboard","LicenceProfileDashboard","fluid","Page404","EpaCard","content","Card","Header","Title","Body","EpaField","label","labelClassName","valueClassName","Form","Label","ActiveLicenceDetails","bodyElements","BreadCrumbs","text","xs","Breadcrumb","Item","active","ColumnFilter","column","filterValue","setFilter","useAsyncDebounce","placeholder","Spinner","style","color","icon","faSpinner","FetchGrid","props","quickFindSearch","setQuickFindSearch","setRecordsPerPage","totalCount","setTotalCount","tableData","setTableData","totalPage","setTotalPages","loading","setLoading","columns","exportToCsvFn","exportToCsvFunction","fetchUrlFn","fetchUrlFunction","formatFn","formatFunction","formatAnyResponseFn","formatResponseFunction","enablePagination","enableQuickFind","propsSearchText","orderByColumnName","setOrderByColumnName","orderByAscending","setOrderByAscending","orderBy","fetchRowData","useCallback","orderByName","orderByAsc","fetchUrl","res","reponseData","responseTableData","count","Math","floor","defaultColumn","useMemo","Filter","useTable","manualPagination","manualGlobalFilter","manualFilters","manualSortBy","pageIndex","pageSize","pageCount","useFilters","useGlobalFilter","usePagination","getTableProps","getTableBodyProps","headerGroups","rows","prepareRow","canPreviousPage","canNextPage","pageOptions","gotoPage","nextPage","previousPage","setPageSize","setGlobalFilter","globalFilter","Control","Table","striped","headerGroup","getHeaderGroupProps","headers","getHeaderProps","render","enabledOrderByColumns","filter","colName","columnName","faSortUp","faSortDown","faSort","canFilter","colSpan","textAlign","row","getRowProps","cells","cell","getCellProps","Select","Number","defaultValue","width","Pagination","First","disabled","Prev","Next","Last","DefaultColumnFilter","preFilteredRows","NoFetchGrid","filterTypes","rowValue","values","String","startsWith","Grid","SelectColumnFilter","options","Set","forEach","add","option","_image","foreGroundColor","backGroundColor","IncidentIcon","faCircle","faExclamationTriangle","IncidentUpdateRequestIcon","faQuestionCircle","ComplianceInvestigationIcon","faSearch","ComplaintIcon","faCommentDots","MeetingIcon","faHandshake","NonComplianceIcon","faWindowClose","SiteVisitIcon","faIndustry","EPAInitiatedCorrespondenceIcon","faEnvelope","ThirdPartyCorrespondenceIcon","faEnvelopeOpenText","LicenseeReturnIcon","faFileExport","ActionOrInstructionIcon","faClipboardCheck","ExternalLinkIcon","faExternalLinkAlt","getIconForType","GetLicenceProfilePageUrl","GetLicenseeReturnPageUrl","returnId","GetIncidentPageUrl","GetComplaintDetailsPageUrl","GetSiteVisitDetailsPageUrl","GetComplianceInvestigationDetailsPageUrl","GetActionOrInstructionDetailsPageUrl","actionOrInstructionId","GetEpaCorrespondenceDetailsPageUrl","GetComplianceRecordDetailsUrl","complianceRecordId","complianceRecordType","GetThirdPartyCorrespondenceDetailsPageUrl","ComplianceGrid","tableColumns","accessor","Cell","rowInfo","paddingTop","rowData","index","ViewAllCompliance","display","flexDirection","marginBottom","Compliance","_excluded","_extends","Object","assign","bind","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgLeapLogo","_ref","svgRef","titleId","xmlns","xmlnsXlink","height","viewBox","xlinkHref","ForwardRef","SvgLeapLogoTagline","transform","LeapHeaderComponent","headerContent","paddingLeft","paddingRight","HeaderSubComponent","LicenceProfileHeader","LicenceDetails","LicenceProfileSiteDetails","address1","address2","address3","city","eircode","nacecode","nutscode","LicenceProfileSubTabs","activeKey","Tab","defaultActiveKey","Nav","Link","eventKey","Pane","useAppDispatch","useDispatch","UrbanWasteWaterSiteDetails","plantcapacitype","treatmenttype","uvtreatment","Page500","Loading","IsLicenceProfileReady","GetLicenceProfileNotReadyComponent","LicenceDashboard","licenceProfileSelector","dispatch","useParams","isUWW","contentElement","EpaFieldHtml","dangerouslySetInnerHTML","__html","SiteVisitDetails","EpaField2Rows","SiteVisitHeader","marginTop","ComplianceInvestigationsGrid","relatedRecordType","relatedId","relatedrecordId","GetComplianceInvestigationsBySiteVisitFetchUrl","tableColumnsBig","original","tableColumnsSmall","parseInt","filesize","trunc","DocumentsGrid","regardingObjectId","GetRelatedDocumentsFetchUrl","GetUrlForFindingAndRecommendation","profileNumber","FindingsAndRecommendationsGrid","GetFindingsAndRecommendationsFetchUrl","formatObservation","LicenseeReturnsGrid","GetLicenseeReturnFromComplianceInvestigationFetchUrl","GetLicenseeReturnFromSiteVisitFetchUrl","NonCompliancesGrid","relatedRecordId","GetUrlForNonCompliance","GetNonCompliancesByLicenseeReturnFetchUrl","GetNonCompliancesByComplaintFetchUrl","GetNonCompliancesByIncidentFetchUrl","GetNonCompliancesBySiteVisitFetchUrl","GetNonCompliancesByComplianceInvestigationFetchUrl","LicenseeReturns","SubTabs","RelatedComplianceRecords","BackToCompliance","navigate","useNavigate","SiteVisit","loadingSiteVisitId","setLoadingSiteVisitId","siteVisitSelector","ConfirmCard","queryString","returnUrl","Continue","cvalue","exdays","d","setTime","getTime","expires","toUTCString","setCookie","listStyleType","fontWeight","CookiesDisabledCard","faExclamation","Footer","Confirm","hasCookiesEnabled","navigator","cookieEnabled","profileText","CreateStaticSelectColumnFilter","start","stop","step","years","Array","from","_","months","getNextYearValue","currentYear","currentMonth","CurrentMonthHeader","monthDate","changeYear","customHeaderCount","changeMonth","decreaseYear","increaseYear","prevYearButtonDisabled","nextYearButtonDisabled","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","NextMonthHeader","CustomDateRangeHeader","margin","justifyContent","DateRangeColumnFilter","startDate","setStartDate","endDate","setEndDate","renderCustomHeader","selected","dates","end","selectsRange","monthsShown","isClearable","locale","dateFormat","shouldCloseOnSelect","SiteVisitRegardingObjectTypes","ComplianceServerSide","ComplianceTab","complianceOptionsSelector","LicensingDocumentsCellFactory","licence","IsIndustrialEmissionsLicense","IsWasteLicense","IsWasteWaterDischargeAuthorisation","IsCoALicense","IsDumpingAtSeaLicense","cursor","marginRight","LicenceVersionsGrid","LicenceVersionsTab","GetUrlForInstruction","RefNoCellFunctionFactory","InstructionsGrid","GetInstructionsFromLicenseeReturnFetchUrl","GetUrlForRequestForInformation","RequestsForInformationGrid","GetRequestsForInformationFromLicenseeReturnFetchUrl","SiteVisitsGrid","regardingObjectType","GetSiteVisitsFromComplianceInvestigationFetchUrl","GetSiteVisitsFromNonComplianceFetchUrl","GetSiteVisitsFromLicenseeReturnFetchUrl","EdenMessagesGridType","RequestsForInformation","Instructions","SiteVisits","LR","LicenseeReturnHeader","LicenseeReturnDetails","ComplianceInvestigationBox","LicenseeReturn","loadingLicenseeReturnId","setLoadingLicenseeReturnId","licenseeReturnSelector","RequestForInformationHeader","RequestForInformationDetails","linkToLicenseeReturnDetails","RequestForInformation","loadingRfiId","setLoadingRfiId","requestForInformationSelector","GetUrlForEdenMessage","EdenMessagesGrid","edenMessagesType","TaskBasedEdenMessages","GetEdenMessagesByTaskFetchUrl","RegardingBasedEdenMessages","GetEdenMessagesByRegardingFetchUrl","getFetchUrlFactory","FindingAndRecommendationHeader","FindingAndRecommendationDetails","Instruction","loadingFindingAndRecommendationId","setLoadingFindingAndRecommendationId","findingAndRecommendationSelector","findingAndRecommendationId","InstructionHeader","InstructionDetails","linkToLicenseeReturn","FindingAndRecommendation","loadingInstructionById","setLoadingInstructionById","instructionSelector","EdenMessageHeader","EdenMessageDetails","EdenMessage","loadingMessageById","setLoadingMessageById","edenMessageSelector","HomeText","LeapHomeContainer","LeapSearch","searchChangedFn","searchValue","setSearchValue","searchChanged","newSearch","InputGroup","LeapHome","regNo","GetLicenceProfileSearchFetchUrl","searchResponse","result","licence_number","town","results","searchContent","ComplianceInvestigationHeader","ComplianceInvestigationDetails","ComplaintsGrid","GetComplaintsFromComplianceInvestigationFetchUrl","ComplianceInvestigationActionsInstructionsGrid","GetUrlForActionOrInstruction","GetComplianceInvestigationActionsAndInstructionsFetchUrl","ComplianceInvestigationEffectsGrid","GetComplianceInvestigationEffectsFetchUrl","ComplianceInvestigationLikelyCausesGrid","GetComplianceInvestigationLikelyCausesFetchUrl","ComplianceInvestigationOutcomesGrid","GetComplianceInvestigationOutcomesFetchUrl","IncidentsGrid","GetIncidentsFromComplianceInvestigationFetchUrl","CI","ComplianceInvestigation","loadingComplianceInvestigationId","setloadingComplianceInvestigationId","complianceInvestigationSelector","IncidentDetails","IncidentHeader","IncidentCorrectiveAndPreventativeActions","GetIncidentCorrectiveAndPreventativeActionsFetchUrl","IncidentEmissionParameterResultsGrid","GetIncidentEmissionParameterResultsFetchUrl","renderRequest","whiteSpace","overflow","textOverflow","IncidentUpdateRequestsGrid","GetIncidentUpdateRequestsFetchUrl","Incident","loadingIncidentId","setLoadingIncidentId","incidentSelector","DataProtectionAlert","dismissible","faBell","fixedWidth","ComplaintDetails","ComplaintHeader","Complaint","loadingComplaintId","setLoadingComplaintId","complaintSelector","incidentUpdateRequestDetails","IncidentUpdateRequestDetails","linkToIncident","IncidentUpdateRequestHeader","IncidentUpdateRequest","loadingIncidentUpdateRequestId","setLoadingIncidentUpdateRequestId","incidentUpdateRequestSelector","meetingDetails","MeetingHeader","MeetingDetails","LicencesGrid","GetLicencesByMeetingFetchUrl","Meeting","loadingMeetingId","setLoadingMeetingId","meetingSelector","nonComplianceDetails","NC","NonComplianceHeader","EpaFieldEmpty","NonComplianceDetails","NonCompliance","loadingNonComplianceId","setLoadingNonComplianceId","nonComplianceSelector","ActionOrInstructionHeader","ActionOrInstructionDetails","ActionOrInstruction","loadingActionOrInstructionId","setLoadingActionOrInstructionId","actionOrInstructionSelector","EpaCorrespondenceHeader","EpaCorrespondenceDetails","EpaCorrespondence","loadingEpaCorrespondenceId","setLoadingEpaCorrespondenceId","epaCorrespondenceSelector","ThirdPartyCorrespondenceHeader","ThirdPartyCorrespondenceDetails","ThirdPartyCorrespondence","loadingThirdPartyCorrespondenceId","setLoadingThirdPartyCorrespondenceId","thirdPartyCorrespondenceSelector","routes","path","element","LicenceProfile","usePalette","palette","setPalette","ChartJsDefaults","defaults","global","defaultFontColor","defaultFontFamily","Chart","elements","Rectangle","draw","left","right","top","bottom","signX","signY","borderSkipped","ctx","_chart","vm","_view","borderWidth","horizontal","base","x","y","barSize","min","abs","halfStroke","borderLeft","borderRight","borderTop","borderBottom","beginPath","fillStyle","backgroundColor","strokeStyle","borderColor","lineWidth","corners","startCorner","cornerAt","corner","moveTo","radius","lastVisible","findLast","findLastTo","datasets","getDatasetMeta","hidden","_datasetIndex","lineTo","quadraticCurveTo","fill","stroke","axiosInstance","axios","create","interceptors","reject","isValidToken","accessToken","decoded","jwtDecode","currentTime","now","exp","setSession","common","Authorization","removeItem","INITIALIZE","SIGN_IN","SIGN_OUT","SIGN_UP","isAuthenticated","isInitialized","user","JWTReducer","AuthContext","AuthProvider","useReducer","initialize","signIn","email","password","post","signOut","signUp","firstName","lastName","method","resetPassword","App","useRoutes","titleTemplate","defaultTitle","Sliders","Layout","Users","BookOpen","Heart","CheckSquare","List","PieChart","Bell","MapPin","Calendar","Share","Info","Code","ArrowRightCircle","Shield","Globe","Mail","AuthGuard","WorldMap","USAMap","ResetPassword","faAd","faAddressBook","faAddressCard","faAdjust","faAirFreshener","faAlignCenter","faAlignJustify","faAlignLeft","faAlignRight","faAllergies","faAmbulance","faAmericanSignLanguageInterpreting","faAnchor","faAngleDoubleDown","faAngleDoubleLeft","faAngleDoubleRight","faAngleDoubleUp","faAngleDown","faAngleLeft","faAngleRight","faAngleUp","faAngry","faAnkh","faAppleAlt","faArchive","faArchway","faArrowAltCircleDown","faArrowAltCircleLeft","faArrowAltCircleRight","faArrowAltCircleUp","faArrowCircleDown","faArrowCircleLeft","faArrowCircleRight","faArrowCircleUp","faArrowDown","faArrowLeft","faArrowRight","faArrowUp","faArrowsAlt","faArrowsAltH","faArrowsAltV","faAssistiveListeningSystems","faAsterisk","faAt","faAtlas","faAtom","faAudioDescription","faAward","faBaby","faBabyCarriage","faBackspace","faBackward","faBacon","faBalanceScale","faBan","faBandAid","faBarcode","faBars","faBaseballBall","faBasketballBall","faBath","faBatteryEmpty","faBatteryFull","faBatteryHalf","faBatteryQuarter","faBatteryThreeQuarters","faBed","faBeer","faBellSlash","faBezierCurve","faBible","faBicycle","faBinoculars","faBiohazard","faBirthdayCake","faBlender","faBlenderPhone","faBlind","faBlog","faBold","faBolt","faBomb","faBone","faBong","faBook","faBookDead","faBookMedical","faBookOpen","faBookReader","faBookmark","faBowlingBall","faBox","faBoxOpen","faBoxes","faBraille","faBrain","faBreadSlice","faBriefcase","faBriefcaseMedical","faBroadcastTower","faBroom","faBrush","faBug","faBuilding","faBullhorn","faBullseye","faBurn","faBus","faBusAlt","faBusinessTime","faCalculator","faCalendar","faCalendarAlt","faCalendarCheck","faCalendarDay","faCalendarMinus","faCalendarPlus","faCalendarTimes","faCalendarWeek","faCamera","faCameraRetro","faCampground","faCandyCane","faCannabis","faCapsules","faCar","faCarAlt","faCarBattery","faCarCrash","faCarSide","faCaretDown","faCaretLeft","faCaretRight","faCaretSquareDown","faCaretSquareLeft","faCaretSquareRight","faCaretSquareUp","faCaretUp","faCarrot","faCartArrowDown","faCartPlus","faCashRegister","faCat","faCertificate","faChair","faChalkboard","faChalkboardTeacher","faChargingStation","faChartArea","faChartBar","faChartLine","faChartPie","faCheck","faCheckCircle","faCheckDouble","faCheckSquare","faCheese","faChess","faChessBishop","faChessBoard","faChessKing","faChessKnight","faChessPawn","faChessQueen","faChessRook","faChevronCircleDown","faChevronCircleLeft","faChevronCircleRight","faChevronCircleUp","faChevronDown","faChevronLeft","faChevronRight","faChevronUp","faChild","faChurch","faCircleNotch","faCity","faClinicMedical","faClipboard","faClipboardList","faClock","faClone","faClosedCaptioning","faCloud","faCloudDownloadAlt","faCloudMeatball","faCloudMoon","faCloudMoonRain","faCloudRain","faCloudShowersHeavy","faCloudSun","faCloudSunRain","faCloudUploadAlt","faCocktail","faCode","faCodeBranch","faCoffee","faCog","faCogs","faCoins","faColumns","faComment","faCommentAlt","faCommentDollar","faCommentMedical","faCommentSlash","faComments","faCommentsDollar","faCompactDisc","faCompass","faCompress","faCompressArrowsAlt","faConciergeBell","faCookie","faCookieBite","faCopy","faCopyright","faCouch","faCreditCard","faCrop","faCropAlt","faCross","faCrosshairs","faCrow","faCrown","faCrutch","faCube","faCubes","faCut","faDatabase","faDeaf","faDemocrat","faDesktop","faDharmachakra","faDiagnoses","faDice","faDiceD20","faDiceD6","faDiceFive","faDiceFour","faDiceOne","faDiceSix","faDiceThree","faDiceTwo","faDigitalTachograph","faDirections","faDivide","faDizzy","faDna","faDog","faDollarSign","faDolly","faDollyFlatbed","faDonate","faDoorClosed","faDoorOpen","faDotCircle","faDove","faDownload","faDraftingCompass","faDragon","faDrawPolygon","faDrum","faDrumSteelpan","faDrumstickBite","faDumbbell","faDumpster","faDumpsterFire","faDungeon","faEdit","faEgg","faEject","faEllipsisH","faEllipsisV","faEnvelopeOpen","faEnvelopeSquare","faEquals","faEraser","faEthernet","faEuroSign","faExchangeAlt","faExclamationCircle","faExpand","faExpandArrowsAlt","faExternalLinkSquareAlt","faEye","faEyeDropper","faEyeSlash","faFastBackward","faFastForward","faFax","faFeather","faFeatherAlt","faFemale","faFighterJet","faFile","faFileAlt","faFileArchive","faFileAudio","faFileCode","faFileContract","faFileCsv","faFileDownload","faFileExcel","faFileImage","faFileImport","faFileInvoice","faFileInvoiceDollar","faFileMedical","faFileMedicalAlt","faFilePdf","faFilePowerpoint","faFilePrescription","faFileSignature","faFileUpload","faFileVideo","faFileWord","faFill","faFillDrip","faFilm","faFilter","faFingerprint","faFire","faFireAlt","faFireExtinguisher","faFirstAid","faFish","faFistRaised","faFlag","faFlagCheckered","faFlagUsa","faFlask","faFlushed","faFolder","faFolderMinus","faFolderOpen","faFolderPlus","faFont","faFontAwesomeLogoFull","faFootballBall","faForward","faFrog","faFrown","faFrownOpen","faFunnelDollar","faFutbol","faGamepad","faGasPump","faGavel","faGem","faGenderless","faGhost","faGift","faGifts","faGlassCheers","faGlassMartini","faGlassMartiniAlt","faGlassWhiskey","faGlasses","faGlobe","faGlobeAfrica","faGlobeAmericas","faGlobeAsia","faGlobeEurope","faGolfBall","faGopuram","faGraduationCap","faGreaterThan","faGreaterThanEqual","faGrimace","faGrin","faGrinAlt","faGrinBeam","faGrinBeamSweat","faGrinHearts","faGrinSquint","faGrinSquintTears","faGrinStars","faGrinTears","faGrinTongue","faGrinTongueSquint","faGrinTongueWink","faGrinWink","faGripHorizontal","faGripLines","faGripLinesVertical","faGripVertical","faGuitar","faHSquare","faHamburger","faHammer","faHamsa","faHandHolding","faHandHoldingHeart","faHandHoldingUsd","faHandLizard","faHandMiddleFinger","faHandPaper","faHandPeace","faHandPointDown","faHandPointLeft","faHandPointRight","faHandPointUp","faHandPointer","faHandRock","faHandScissors","faHandSpock","faHands","faHandsHelping","faHanukiah","faHardHat","faHashtag","faHatWizard","faHdd","faHeading","faHeadphones","faHeadphonesAlt","faHeadset","faHeart","faHeartBroken","faHeartbeat","faHelicopter","faHighlighter","faHiking","faHippo","faHistory","faHockeyPuck","faHollyBerry","faHome","faHorse","faHorseHead","faHospital","faHospitalAlt","faHospitalSymbol","faHotTub","faHotdog","faHotel","faHourglass","faHourglassEnd","faHourglassHalf","faHourglassStart","faHouseDamage","faHryvnia","faICursor","faIceCream","faIcicles","faIdBadge","faIdCard","faIdCardAlt","faIgloo","faImage","faImages","faInbox","faIndent","faInfinity","faInfo","faInfoCircle","faItalic","faJedi","faJoint","faJournalWhills","faKaaba","faKey","faKeyboard","faKhanda","faKiss","faKissBeam","faKissWinkHeart","faKiwiBird","faLandmark","faLanguage","faLaptop","faLaptopCode","faLaptopMedical","faLaugh","faLaughBeam","faLaughSquint","faLaughWink","faLayerGroup","faLeaf","faLemon","faLessThan","faLessThanEqual","faLevelDownAlt","faLevelUpAlt","faLifeRing","faLightbulb","faLink","faLiraSign","faList","faListAlt","faListOl","faListUl","faLocationArrow","faLock","faLockOpen","faLongArrowAltDown","faLongArrowAltLeft","faLongArrowAltRight","faLongArrowAltUp","faLowVision","faLuggageCart","faMagic","faMagnet","faMailBulk","faMale","faMap","faMapMarked","faMapMarkedAlt","faMapMarker","faMapMarkerAlt","faMapPin","faMapSigns","faMarker","faMars","faMarsDouble","faMarsStroke","faMarsStrokeH","faMarsStrokeV","faMask","faMedal","faMedkit","faMeh","faMehBlank","faMehRollingEyes","faMemory","faMenorah","faMercury","faMeteor","faMicrochip","faMicrophone","faMicrophoneAlt","faMicrophoneAltSlash","faMicrophoneSlash","faMicroscope","faMinus","faMinusCircle","faMinusSquare","faMitten","faMobile","faMobileAlt","faMoneyBill","faMoneyBillAlt","faMoneyBillWave","faMoneyBillWaveAlt","faMoneyCheck","faMoneyCheckAlt","faMonument","faMoon","faMortarPestle","faMosque","faMotorcycle","faMountain","faMousePointer","faMugHot","faMusic","faNetworkWired","faNeuter","faNewspaper","faNotEqual","faNotesMedical","faObjectGroup","faObjectUngroup","faOilCan","faOm","faOtter","faOutdent","faPager","faPaintBrush","faPaintRoller","faPalette","faPallet","faPaperPlane","faPaperclip","faParachuteBox","faParagraph","faParking","faPassport","faPastafarianism","faPaste","faPause","faPauseCircle","faPaw","faPeace","faPen","faPenAlt","faPenFancy","faPenNib","faPenSquare","faPencilAlt","faPencilRuler","faPeopleCarry","faPepperHot","faPercent","faPercentage","faPersonBooth","faPhone","faPhoneSlash","faPhoneSquare","faPhoneVolume","faPiggyBank","faPills","faPizzaSlice","faPlaceOfWorship","faPlane","faPlaneArrival","faPlaneDeparture","faPlay","faPlayCircle","faPlug","faPlus","faPlusCircle","faPlusSquare","faPodcast","faPoll","faPollH","faPoo","faPooStorm","faPoop","faPortrait","faPoundSign","faPowerOff","faPray","faPrayingHands","faPrescription","faPrescriptionBottle","faPrescriptionBottleAlt","faPrint","faProcedures","faProjectDiagram","faPuzzlePiece","faQrcode","faQuestion","faQuidditch","faQuoteLeft","faQuoteRight","faQuran","faRadiation","faRadiationAlt","faRainbow","faRandom","faReceipt","faRecycle","faRedo","faRedoAlt","faRegistered","faReply","faReplyAll","faRepublican","faRestroom","faRetweet","faRibbon","faRing","faRoad","faRobot","faRocket","faRoute","faRss","faRssSquare","faRubleSign","faRuler","faRulerCombined","faRulerHorizontal","faRulerVertical","faRunning","faRupeeSign","faSadCry","faSadTear","faSatellite","faSatelliteDish","faSave","faSchool","faScrewdriver","faScroll","faSdCard","faSearchDollar","faSearchLocation","faSearchMinus","faSearchPlus","faSeedling","faServer","faShapes","faShare","faShareAlt","faShareAltSquare","faShareSquare","faShekelSign","faShieldAlt","faShip","faShippingFast","faShoePrints","faShoppingBag","faShoppingBasket","faShoppingCart","faShower","faShuttleVan","faSign","faSignInAlt","faSignLanguage","faSignOutAlt","faSignal","faSignature","faSimCard","faSitemap","faSkating","faSkiing","faSkiingNordic","faSkull","faSkullCrossbones","faSlash","faSleigh","faSlidersH","faSmile","faSmileBeam","faSmileWink","faSmog","faSmoking","faSmokingBan","faSms","faSnowboarding","faSnowflake","faSnowman","faSnowplow","faSocks","faSolarPanel","faSortAlphaDown","faSortAlphaUp","faSortAmountDown","faSortAmountUp","faSortNumericDown","faSortNumericUp","faSpa","faSpaceShuttle","faSpider","faSplotch","faSprayCan","faSquare","faSquareFull","faSquareRootAlt","faStamp","faStar","faStarAndCrescent","faStarHalf","faStarHalfAlt","faStarOfDavid","faStarOfLife","faStepBackward","faStepForward","faStethoscope","faStickyNote","faStop","faStopCircle","faStopwatch","faStore","faStoreAlt","faStream","faStreetView","faStrikethrough","faStroopwafel","faSubscript","faSubway","faSuitcase","faSuitcaseRolling","faSun","faSuperscript","faSurprise","faSwatchbook","faSwimmer","faSwimmingPool","faSynagogue","faSync","faSyncAlt","faSyringe","faTable","faTableTennis","faTablet","faTabletAlt","faTablets","faTachometerAlt","faTag","faTags","faTape","faTasks","faTaxi","faTeeth","faTeethOpen","faTemperatureHigh","faTemperatureLow","faTenge","faTerminal","faTextHeight","faTextWidth","faTh","faThLarge","faThList","faTheaterMasks","faThermometer","faThermometerEmpty","faThermometerFull","faThermometerHalf","faThermometerQuarter","faThermometerThreeQuarters","faThumbsDown","faThumbsUp","faThumbtack","faTicketAlt","faTimes","faTimesCircle","faTint","faTintSlash","faTired","faToggleOff","faToggleOn","faToilet","faToiletPaper","faToolbox","faTools","faTooth","faTorah","faToriiGate","faTractor","faTrademark","faTrafficLight","faTrain","faTram","faTransgender","faTransgenderAlt","faTrash","faTrashAlt","faTrashRestore","faTrashRestoreAlt","faTree","faTrophy","faTruck","faTruckLoading","faTruckMonster","faTruckMoving","faTruckPickup","faTshirt","faTty","faTv","faUmbrella","faUmbrellaBeach","faUnderline","faUndo","faUndoAlt","faUniversalAccess","faUniversity","faUnlink","faUnlock","faUnlockAlt","faUpload","faUser","faUserAlt","faUserAltSlash","faUserAstronaut","faUserCheck","faUserCircle","faUserClock","faUserCog","faUserEdit","faUserFriends","faUserGraduate","faUserInjured","faUserLock","faUserMd","faUserMinus","faUserNinja","faUserNurse","faUserPlus","faUserSecret","faUserShield","faUserSlash","faUserTag","faUserTie","faUserTimes","faUsers","faUsersCog","faUtensilSpoon","faUtensils","faVectorSquare","faVenus","faVenusDouble","faVenusMars","faVial","faVials","faVideo","faVideoSlash","faVihara","faVolleyballBall","faVolumeDown","faVolumeMute","faVolumeOff","faVolumeUp","faVoteYea","faVrCardboard","faWalking","faWallet","faWarehouse","faWater","faWeight","faWeightHanging","faWheelchair","faWifi","faWind","faWindowMaximize","faWindowMinimize","faWindowRestore","faWineBottle","faWineGlass","faWineGlassAlt","faWonSign","faWrench","faXRay","faYenSign","faYinYang","Yup","shape","required","username","zip","getToggleAllRowsExpandedProps","isAllRowsExpanded","canExpand","getToggleRowExpandedProps","depth","isExpanded","Notyf","duration","types","tagName","axiosMockAdapter","AxiosMockAdapter","delayResponse","JWT_SECRET","JWT_EXPIRES_IN","users","displayName","avatar","fakeRequest","time","mock","onPost","reply","config","find","_user","sign","userId","expiresIn","faker","datatype","uuid","onGet","verify","SlimEpaHeader","src","alt","SlimEpaFooter","ReactDOM","getElementById"],"mappings":"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,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,GAAI,GAInB,IAAIA,KAAK,KAAM,GAAI,GAInB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,EAAG,GAIlB,IAAIA,KAAK,KAAM,GAAI,GAInB,IAAIA,KAAK,KAAM,GAAI,G,yJC/DfwqC,I,u/EC0cTxf,ICxhBK,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KAIA,KCxJDyf,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,KAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAtP,MAIAuP,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIA/sB,MAIAgtB,MAIAC,MAIAC,MAIAC,MAIA9rB,MAIA+rB,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAruB,MAIAsuB,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAnyB,MAIAoyB,MAIAlyB,MAIAmyB,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAhoB,MAIAioB,MAIAzzB,MAIA0zB,MAIAC,MAIAryB,MAIAsyB,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIA7zB,MAIA8zB,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAh7B,MAIAi7B,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAz9B,MAIA09B,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAtpC,MAIAupC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIA9rC,MAIA+rC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIA3xC,MAIA4xC,MAIAC,MAIAC,MAIAC,MAIAhyC,MAIAiyC,MAIAC,MAIAnyC,MAIAoyC,MAIAC,MAIAC,MAIAx3C,MAIAy3C,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIA95C,MAIA+5C,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,MAIAC,M,mCCtjJKC,OAAaC,MAAM,CAChCn7B,UAAWk7B,OAAaE,WACxBn7B,SAAUi7B,OAAaE,WACvBC,SAAUH,OAAaE,WACvBx1C,KAAMs1C,OAAaE,WACnBzmE,MAAOumE,OAAaE,WACpBE,IAAKJ,OAAaE,a,OH4gBC,CACnB,CACE5kD,OAAQ,OACR8L,SAAU,QAEZ,CACE9L,OAAQ,WACR8L,SAAU,YAEZ,CACE9L,OAAQ,SACR8L,SAAU,UAEZ,CACE9L,OAAQ,MACR8L,SAAU,OAEZ,CACE9L,OAAQ,aACR8L,SAAU,aAEZ,CACE9L,OAAQ,SACR8L,SAAU,YIzfc,CAC1B,CAEE5pB,GAAI,WACJ8d,OAAQ,gBACN+kD,EADM,EACNA,8BACAC,EAFM,EAENA,kBAFM,OAON,mDAAUD,KAAV,aACGC,EACC,eAAC,KAAD,CAAa9sD,UAAU,YAEvB,eAAC,KAAD,CAAYA,UAAU,cAXpB,EAeR6T,KAAM,gBAAG5E,EAAH,EAAGA,IAAH,OAGJA,EAAI89C,UACF,mDACM99C,EAAI+9C,0BAA0B,CAChC1jD,MAAO,CAILmN,YAAY,GAAD,OAAiB,EAAZxH,EAAIg+C,MAAT,WANjB,aAUGh+C,EAAIi+C,WACH,eAAC,KAAD,CAAaltD,UAAU,YAEvB,eAAC,KAAD,CAAYA,UAAU,eAGxB,IApBA,IAnBkB,oBAyCvB2T,KCmBL,I,UCtHE,IAAIw5C,KAAM,CACRC,SAAU,IACV5oD,SAAU,CACR2oB,EAAG,QACHC,EAAG,OAELigC,MAAO,CACL,CACEziE,KAAM,UACNmjC,gBAAiB,UACjBvkB,KAAM,CACJxJ,UAAW,uBACXstD,QAAS,MAGb,CACE1iE,KAAM,UACNmjC,gBAAiB,UACjBvkB,KAAM,CACJxJ,UAAW,uBACXstD,QAAS,MAGb,CACE1iE,KAAM,UACNmjC,gBAAiB,UACjBvkB,KAAM,CACJxJ,UAAW,qBACXstD,QAAS,MAGb,CACE1iE,KAAM,SACNmjC,gBAAiB,UACjBvkB,KAAM,CACJxJ,UAAW,qBACXstD,QAAS,S,mDCrBnB,I,+BCXeC,GAJU,I,QAAIC,GAAiBn+B,GAAO,CACnDo+B,cAAe,ICEXC,GAAa,mBACbC,GAAiB,SAEjBC,GAAgB,CACpB,CACE5jE,GAAI,uCACJ6jE,YAAa,gBACb58B,MAAO,kBACPC,SAAU,iBACV48B,OAAQ,qCAIZ,SAASC,GAAYC,GACnB,OAAO,IAAI9oE,SAAQ,SAAC2mB,GAAD,OAASzmB,WAAWymB,EAAKmiD,EAAzB,GACpB,CAEDC,GAAKC,OAAO,qBAAqBC,MAAjC,iDAAuC,WAAOC,GAAP,kHAE7BL,GAAY,KAFiB,YAIP1rD,KAAKC,MAAM8rD,EAAO/oE,MAAtC4rC,EAJ2B,EAI3BA,MAAOC,EAJoB,EAIpBA,SACTR,EAAOk9B,GAAMS,MAAK,SAACC,GAAD,OAAWA,EAAMr9B,QAAUA,CAA3B,IALW,yCAQ1B,CACL,IACA,CAAEx6B,QAAS,0DAVoB,UAc/Bi6B,EAAKQ,WAAaA,EAda,yCAe1B,CAAC,IAAK,CAAEz6B,QAAS,wBAfS,cAkB7Bi5B,EAAc6+B,gBAAK,CAAEC,OAAQ99B,EAAK1mC,IAAM0jE,GAAY,CACxDe,UAAWd,KAnBsB,kBAsB5B,CAAC,IAAK,CAAEj+B,cAAagB,UAtBO,yCAwBnCnuB,QAAQtT,MAAR,MAxBmC,kBAyB5B,CAAC,IAAK,CAAEwH,QAAS,2BAzBW,0DAAvC,uDA6BAw3D,GAAKC,OAAO,qBAAqBC,MAAjC,iDAAuC,WAAOC,GAAP,sHAE7BL,GAAY,KAFiB,YAIc1rD,KAAKC,MAAM8rD,EAAO/oE,MAA3D4rC,EAJ2B,EAI3BA,MAAOC,EAJoB,EAIpBA,SAAUI,EAJU,EAIVA,UAAWC,EAJD,EAICA,WAChCb,EAAOk9B,GAAMS,MAAK,SAACC,GAAD,OAAWA,EAAMr9B,QAAUA,CAA3B,KALa,yCAQ1B,CACL,IACA,CACEx6B,QACE,mEAZ2B,cAiBnCi6B,EAAO,CACL1mC,GAAI0kE,KAAMC,SAASC,OACnBf,YAAY,GAAD,OAAKv8B,EAAL,YAAkBC,GAC7BN,QACAC,WACA48B,OAAQ,MAGJp+B,EAAc6+B,gBAAK,CAAEC,OAAQ99B,EAAK1mC,IAAM0jE,GAAY,CACxDe,UAAWd,KA1BsB,kBA6B5B,CAAC,IAAK,CAAEj+B,cAAagB,UA7BO,yCA+BnCnuB,QAAQtT,MAAR,MA/BmC,kBAgC5B,CAAC,IAAK,CAAEwH,QAAS,2BAhCW,0DAAvC,uDAoCAw3D,GAAKY,MAAM,wBAAwBV,OAAM,SAACC,GACxC,IACE,IAAQl+B,EAAkBk+B,EAAOhgD,QAAzB8hB,cAER,IAAKA,EACH,MAAO,CAAC,IAAK,CAAEz5B,QAAS,gCAG1B,IAAMi5B,EAAeQ,EAAyB/oC,MAAM,KAAK,GACnD9B,EAAOypE,kBAAOp/B,EAAag+B,IAC3Bc,EAAyB,kBAATnpE,EAAP,OAA2BA,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMmpE,OAAS,GACnD99B,EAAOk9B,GAAMS,MAAK,SAACC,GAAD,OAAWA,EAAMtkE,KAAOwkE,CAAxB,IAExB,OAAK99B,EAIE,CAAC,IAAK,CAAEA,SAHN,CAAC,IAAK,CAAEj6B,QAAS,+BAO3B,CAHC,MAAOxH,GAEP,OADAsT,QAAQtT,MAAMA,GACP,CAAC,IAAK,CAAEwH,QAAS,yBACzB,CACF,IC/GD,IAAMs4D,GAAgB,WACpB,OACE,yBAAQ/uD,UAAU,SAAS,aAAW,cAAtC,SACE,sBACEA,UAAU,mDACV,aAAW,oBAFb,SAIE,sBAAKA,UAAU,oBAAf,SACE,oBAAG6D,KAAK,sBAAsB7D,UAAU,cAAxC,SACE,sBACEgvD,IAAI,0EACJC,IAAI,gDAOjB,EClBKC,GAAgB,WACpB,OACE,0BAAQlvD,UAAU,uBAAuB,aAAW,cAApD,UACE,sBAAKA,UAAU,gBACf,sBAAKA,UAAU,iBAAf,SACE,sBAAKA,UAAU,kCAAf,SACE,2CACY,IACV,oBACEA,UAAU,cACV6D,KAAK,gGAFP,kBAKK,IAPP,MASE,uBAAM7D,UAAU,iBAAhB,mBACA,yBAAQpV,KAAK,kBAAb,sHAUX,ECTkC,UAA7BsX,OAAO/H,SAASmN,UAClB6nD,IAAS7gD,OACP,gBAAC,IAAD,WACE,eAAC,GAAD,IACA,eAAC,GAAD,IACA,eAAC,GAAD,OAEFrnB,SAASmoE,eAAe,SA8B9B7qE,G","file":"static/js/main.7a5f52a4.chunk.js","sourcesContent":["import { ReportHandler } from \"web-vitals\";\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\r\nimport { RootState, AppThunk } from \"../store\";\r\n\r\nexport interface CounterState {\r\n value: number;\r\n status: \"idle\" | \"loading\" | \"failed\";\r\n}\r\n\r\nconst initialState: CounterState = {\r\n value: 0,\r\n status: \"idle\",\r\n};\r\n\r\n// A mock function to mimic making an async request for data\r\nexport function fetchCount(amount = 1) {\r\n return new Promise<{ data: number }>((resolve) =>\r\n setTimeout(() => resolve({ data: amount }), 500)\r\n );\r\n}\r\n\r\n// The function below is called a thunk and allows us to perform async logic. It\r\n// can be dispatched like a regular action: `dispatch(incrementAsync(10))`. This\r\n// will call the thunk with the `dispatch` function as the first argument. Async\r\n// code can then be executed and other actions can be dispatched. Thunks are\r\n// typically used to make async requests.\r\nexport const incrementAsync = createAsyncThunk(\r\n \"counter/fetchCount\",\r\n async (amount: number) => {\r\n const response = await fetchCount(amount);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response.data;\r\n }\r\n);\r\n\r\nexport const counterSlice = createSlice({\r\n name: \"counter\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {\r\n increment: (state) => {\r\n // Redux Toolkit allows us to write \"mutating\" logic in reducers. It\r\n // doesn't actually mutate the state because it uses the Immer library,\r\n // which detects changes to a \"draft state\" and produces a brand new\r\n // immutable state based off those changes\r\n state.value += 1;\r\n },\r\n decrement: (state) => {\r\n state.value -= 1;\r\n },\r\n // Use the PayloadAction type to declare the contents of `action.payload`\r\n incrementByAmount: (state, action: PayloadAction) => {\r\n state.value += action.payload;\r\n },\r\n },\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(incrementAsync.pending, (state) => {\r\n state.status = \"loading\";\r\n })\r\n .addCase(incrementAsync.fulfilled, (state, action) => {\r\n state.status = \"idle\";\r\n state.value += action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const { increment, decrement, incrementByAmount } = counterSlice.actions;\r\n\r\n// The function below is called a selector and allows us to select a value from\r\n// the state. Selectors can also be defined inline where they're used instead of\r\n// in the slice file. For example: `useSelector((state: RootState) => state.counter.value)`\r\nexport const selectCount = (state: RootState) => state.counter.value;\r\n\r\n// We can also write thunks by hand, which may contain both sync and async logic.\r\n// Here's an example of conditionally dispatching actions based on current state.\r\nexport const incrementIfOdd =\r\n (amount: number): AppThunk =>\r\n (dispatch, getState) => {\r\n const currentValue = selectCount(getState());\r\n if (currentValue % 2 === 1) {\r\n dispatch(incrementByAmount(amount));\r\n }\r\n };\r\n\r\nexport default counterSlice.reducer;\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\nimport { getCookie } from \"../../cookies/cookies\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface LegalState {\r\n acceptedTermsOfService: boolean;\r\n confirm: boolean;\r\n}\r\n\r\nexport const LegalCookieName = \"acceptedTermsOfService\";\r\n\r\n// Retrieve if acceptance of terms of service was stored as a cookie\r\nexport function getAcceptedTermsOfServiceCookie() {\r\n return getCookie(LegalCookieName) === \"true\";\r\n}\r\n\r\nconst initialState: LegalState = {\r\n acceptedTermsOfService: getAcceptedTermsOfServiceCookie(),\r\n confirm: false,\r\n};\r\n\r\nexport const legalSlice = createSlice({\r\n name: \"legal\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {\r\n acceptTermsOfService: (state) => {\r\n // Redux Toolkit allows us to write \"mutating\" logic in reducers. It\r\n // doesn't actually mutate the state because it uses the Immer library,\r\n // which detects changes to a \"draft state\" and produces a brand new\r\n // immutable state based off those changes\r\n state.acceptedTermsOfService = true;\r\n },\r\n toggleAcceptance: (state) => {\r\n state.confirm = !state.confirm;\r\n },\r\n },\r\n});\r\n\r\nexport const { acceptTermsOfService, toggleAcceptance } = legalSlice.actions;\r\n\r\n// The function below is called a selector and allows us to select a value from\r\n// the state. Selectors can also be defined inline where they're used instead of\r\n// in the slice file. For example: `useSelector((state: RootState) => state.counter.value)`\r\nexport const selectAcceptedTermsOfService = (state: RootState) =>\r\n state.legal.acceptedTermsOfService;\r\n\r\nexport const selectConfirm = (state: RootState) => state.legal.confirm;\r\n\r\nexport default legalSlice.reducer;\r\n","export function setCookie(cookieName: string, cvalue: string, exdays: number) {\r\n const d = new Date();\r\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\r\n let expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cookieName + \"=\" + cvalue + \";\" + expires + \";path=/\";\r\n}\r\n\r\nexport function getCookie(cookieName: string) {\r\n let name = cookieName + \"=\";\r\n let decodedCookie = decodeURIComponent(document.cookie);\r\n let ca = decodedCookie.split(\";\");\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == \" \") {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nexport function areCookiesEnabled() {\r\n return navigator.cookieEnabled;\r\n}\r\n","let API_DOMAIN = \"http://localhost:3001\";\r\nlet IdPropertyName = \"id\";\r\n\r\nswitch (process.env.REACT_APP_EPA_ENV) {\r\n case \"localhost\":\r\n API_DOMAIN = \"http://localhost:3001\"; //using https://github.com/typicode/json-server#alternative-port\r\n break;\r\n\r\n case \"inttest\":\r\n API_DOMAIN = \"https://data-int.epa.ie/leap/api/v1\";\r\n break;\r\n\r\n case \"bustest\":\r\n API_DOMAIN = \"https://data-tst.epa.ie/leap/api/v1\";\r\n //API_DOMAIN = \"http://leapapi-tst.edenireland.ie:8188/api/v1\";\r\n break;\r\n\r\n case \"staging\":\r\n API_DOMAIN = \"https://data-stg.epa.ie/leap/api/v1\";\r\n break;\r\n\r\n case \"production\":\r\n API_DOMAIN = \"https://data.epa.ie/leap/api/v1\";\r\n break;\r\n}\r\nexport const ENV = API_DOMAIN;\r\nexport const API_URL_ODATA = `${ENV}/odata`;\r\nexport const API_URL = `${ENV}`;\r\n","function padTo2Digits(num: number) {\r\n return num.toString().padStart(2, \"0\");\r\n}\r\n\r\nexport function formatDate(dateString: string): string {\r\n if (!dateString) return \"-\";\r\n\r\n var date = new Date(dateString);\r\n\r\n return [\r\n padTo2Digits(date.getDate()),\r\n padTo2Digits(date.getMonth() + 1),\r\n date.getFullYear(),\r\n ].join(\"/\");\r\n}\r\n\r\nexport function formatDateTime(dateString: string): string {\r\n if (!dateString) return \"-\";\r\n\r\n var date = new Date(dateString);\r\n\r\n const datePart = [\r\n padTo2Digits(date.getDate()),\r\n padTo2Digits(date.getMonth() + 1),\r\n date.getFullYear(),\r\n ].join(\"/\");\r\n\r\n const timePart = [\r\n padTo2Digits(date.getHours()),\r\n padTo2Digits(date.getMinutes()),\r\n ].join(\":\");\r\n\r\n return `${datePart} ${timePart}`;\r\n}\r\n\r\nexport function formatDateForFiltering(dateString: string): string {\r\n if (!dateString) return \"\";\r\n\r\n var date = new Date(dateString);\r\n\r\n return [\r\n padTo2Digits(date.getDate()),\r\n padTo2Digits(date.getMonth() + 1),\r\n date.getFullYear(),\r\n ].join(\"-\");\r\n}\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateForFiltering } from \"./DateUtils\";\r\nimport { PageResult, PageRequest } from \"./Pagination\";\r\n\r\nexport interface ICompliance {\r\n compliancerecord_id: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n date: string;\r\n licence_id: string;\r\n profile_id: string;\r\n related_compliance_recordid: string;\r\n licenceregno: string;\r\n profilenumber: string;\r\n}\r\n\r\nexport interface IComplianceList extends PageResult {\r\n list: ICompliance[];\r\n}\r\n\r\nexport interface IComplianceRecordType {\r\n type: string;\r\n}\r\n\r\nexport interface IComplianceRecordTypesList extends PageResult {\r\n list: IComplianceRecordType[];\r\n}\r\n\r\nexport interface IComplianceStatus {\r\n status: string;\r\n}\r\n\r\nexport interface IComplianceStatusesList extends PageResult {\r\n list: IComplianceStatus[];\r\n}\r\n\r\nexport const GetComplianceListFetchUrl = (\r\n profileId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}&order_by=date[desc]`;\r\n\r\n var filterParams = \"\";\r\n if (filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var f = filters[i];\r\n let filterId = f.id;\r\n if (filterId === \"licenceregno\") {\r\n filterId = \"activelicence\";\r\n filterParams += `&${filterId}=${f.value}`;\r\n } else if (filterId === \"date\") {\r\n const date_from = formatDateForFiltering(f.value[0]);\r\n if (f.value[1]) {\r\n const date_to = formatDateForFiltering(f.value[1]);\r\n filterParams += `&date_from=${date_from}&date_to=${date_to}`;\r\n } else {\r\n const date_to = formatDateForFiltering(f.value[1]);\r\n filterParams += `&date_from=${date_from}&date_to=${date_to}`;\r\n }\r\n } else {\r\n filterParams += `&${filterId}=${f.value}`;\r\n }\r\n }\r\n }\r\n\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/ComplianceList/compliancelist?licence_profile_id=${profileId}${filterParams}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/compliancelist`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport function FormatComplianceList(rows: Array) {\r\n return rows.map((item) => {\r\n return {\r\n compliancerecord_id: item.compliancerecord_id,\r\n date: formatDate(item.date),\r\n licence_id: item.licence_id,\r\n licenceregno: item.licenceregno,\r\n profile_id: item.profile_id,\r\n profilenumber: item.profilenumber,\r\n reference: item.reference,\r\n related_compliance_recordid: item.related_compliance_recordid,\r\n status: item.status,\r\n subject: item.subject,\r\n type: item.type,\r\n };\r\n });\r\n}\r\n\r\nexport async function GetComplianceRecordTypesAsync(\r\n profileId: string\r\n): Promise {\r\n let url = `${API_URL}/ComplianceList/compliancerecordtypesbyprofile?licence_profile_id=${profileId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/compliance-record-types`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n body.list = body.list.map((item) => {\r\n return {\r\n type: item.type,\r\n };\r\n });\r\n return body;\r\n}\r\n\r\nexport async function GetComplianceRecordStatusesAsync(): Promise {\r\n let url = `${API_URL}/ComplianceList/compliancerecordstatus`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/compliance-record-status`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n body.list = body.list.map((item) => {\r\n return {\r\n status: item.status,\r\n };\r\n });\r\n return body;\r\n}\r\n\r\nexport async function GetComplianceListByProfileIdAsync(\r\n profileId: string,\r\n pageRequest: PageRequest\r\n): Promise {\r\n const url = GetComplianceListFetchUrl(\r\n profileId,\r\n pageRequest.page,\r\n pageRequest.per_page,\r\n \"\",\r\n null\r\n );\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n body.list = body.list.map((item) => {\r\n return {\r\n compliancerecord_id: item.compliancerecord_id,\r\n date: formatDate(item.date),\r\n licence_id: item.licence_id,\r\n licenceregno: item.licenceregno,\r\n profile_id: item.profile_id,\r\n profilenumber: item.profilenumber,\r\n reference: item.reference,\r\n related_compliance_recordid: item.related_compliance_recordid,\r\n status: item.status,\r\n subject: item.subject,\r\n type: item.type,\r\n };\r\n });\r\n return body;\r\n}\r\n\r\nexport const GetComplianceListDummy = (profileId: string): IComplianceList => {\r\n return {\r\n count: 1,\r\n length: 50,\r\n page: 1,\r\n list: [],\r\n };\r\n};\r\n","import { API_URL } from \"./Config\";\r\nimport { GetDummyResponse, IDetailsResponse } from \"./IDetailsResponse\";\r\n\r\nexport interface ISiteDetails extends IDetailsResponse {\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n county: string;\r\n eircode: string;\r\n nacecode: string;\r\n nutscode: string;\r\n urbanareape: string;\r\n plantcapacitype: string;\r\n treatmenttype: string;\r\n uvtreatment: string;\r\n licenceprofileid: string;\r\n}\r\n\r\nexport async function GetSiteDetailsByProfileIdAsync(\r\n profileId: string\r\n): Promise {\r\n var url = `${API_URL}/Site/byprofileid?licence_profile_id=${profileId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/site`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n return body;\r\n}\r\n\r\nexport const GetSiteByProfileId = (profileId: string): ISiteDetails => {\r\n return GetSiteDetailsDummy(profileId);\r\n};\r\n\r\nexport const GetSiteDetailsDummy = (profileId: string): ISiteDetails => {\r\n return {\r\n response: GetDummyResponse(),\r\n address1: \"A building\",\r\n address2: \"A street\",\r\n address3: \"-\",\r\n city: \"Sligo (city)\",\r\n county: \"Sligo\",\r\n eircode: \"F99Z999\",\r\n nacecode: \"3821\",\r\n nutscode: \"IE051\",\r\n urbanareape: \"Urban Area PE\",\r\n plantcapacitype: \"capacity\",\r\n treatmenttype: \"treatment type\",\r\n uvtreatment: \"uv treatment\",\r\n licenceprofileid: profileId,\r\n };\r\n};\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateForFiltering } from \"./DateUtils\";\r\n\r\nexport interface ILicenceVersion {\r\n licence_id: string;\r\n reg_no: string;\r\n licenceprofile_id: string;\r\n licence_type: string;\r\n licence_name: string;\r\n date_of_licence: string;\r\n ceased_date: string;\r\n licence_status: string;\r\n licence_substatus: string;\r\n licence_application_status: string;\r\n licenceprofile_number: string;\r\n urban_areape: string;\r\n}\r\n\r\nexport interface ILicenceVersionsList {\r\n list: ILicenceVersion[];\r\n count: number;\r\n length: number;\r\n page: number;\r\n}\r\n\r\nexport async function GetAllLicenceVersionsAsync(\r\n profileId: string\r\n): Promise {\r\n var url = `${API_URL}/Licence/listbyprofileid?licence_profile_id=${profileId}&order_by=regno%5Bdesc%5D`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licence-versions`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n body.list = body.list.map((item) => {\r\n return {\r\n licence_id: item.licence_id,\r\n reg_no: item.reg_no,\r\n licenceprofile_id: item.licenceprofile_id,\r\n licence_type: item.licence_type,\r\n licence_name: item.licence_name,\r\n date_of_licence: formatDate(item.date_of_licence),\r\n ceased_date: formatDate(item.ceased_date),\r\n licence_status: item.licence_status,\r\n licence_substatus: item.licence_substatus,\r\n licence_application_status: item.licence_application_status,\r\n licenceprofile_number: item.licenceprofile_number,\r\n urban_areape: item.urban_areape,\r\n };\r\n });\r\n return body;\r\n}\r\n\r\nexport async function GetLicenceVersionAsync(\r\n licenceId: string\r\n): Promise {\r\n var url = `${API_URL}/Licence/byid?licence_id=${licenceId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licence-version-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n return {\r\n licence_id: licenceId,\r\n reg_no: body.reg_no,\r\n licenceprofile_id: body.licenceprofile_id,\r\n licence_type: body.licence_type,\r\n licence_name: body.licence_name,\r\n date_of_licence: formatDate(body.date_of_licence),\r\n ceased_date: formatDate(body.ceased_date),\r\n licence_status: body.licence_status,\r\n licence_substatus: body.licence_substatus,\r\n licence_application_status: body.licence_application_status,\r\n licenceprofile_number: body.licenceprofile_number,\r\n urban_areape: body.urban_areape,\r\n };\r\n}\r\n\r\nexport const GetLicencesByMeetingFetchUrl = (\r\n meetingId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n let url = `${API_URL}/Licence/listbymeetingid?meeting_id=${meetingId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licences-by-meeting`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetLicenceVersionsDummy = (\r\n profileId: string\r\n): ILicenceVersionsList => {\r\n return {\r\n count: 1,\r\n length: 50,\r\n page: 1,\r\n list: [\r\n {\r\n licence_id: \"15019058-e564-e811-a2d5-0050568a66b2\",\r\n reg_no: \"W0297-01\",\r\n licenceprofile_id: \"e4915db9-de64-e811-a2d5-0050568a66b2\",\r\n licence_type: \"Waste\",\r\n licence_name: \"Harp Refrigerants Limited\",\r\n date_of_licence: \"2018-07-24T00:00:00\",\r\n ceased_date: \"2021-07-24T00:00:00\",\r\n licence_status: \"Ceased (Never Commenced)\",\r\n licence_substatus: \"\",\r\n licence_application_status: \"Licensed\",\r\n licenceprofile_number: \"W0297\",\r\n urban_areape: \"\",\r\n },\r\n {\r\n licence_id: \"15019058-e568-e811-a2d5-0050568a66b2\",\r\n reg_no: \"W0297-02\",\r\n licenceprofile_id: \"e4915db9-de64-e811-a2d5-0050568a66b2\",\r\n licence_type: \"Waste\",\r\n licence_name: \"Harp Refrigerants Limited\",\r\n date_of_licence: \"2018-07-24T00:00:00\",\r\n ceased_date: \"2021-07-24T00:00:00\",\r\n licence_status: \"Licensed\",\r\n licence_substatus: \"\",\r\n licence_application_status: \"Licensed\",\r\n licenceprofile_number: \"W0297\",\r\n urban_areape: \"\",\r\n },\r\n ],\r\n };\r\n};\r\n\r\nexport const GetActiveLicenceVersionDummy = (\r\n profileId: string\r\n): ILicenceVersion => {\r\n return {\r\n licence_id: \"15019058-e564-e811-a2d5-0050568a66b2\",\r\n reg_no: \"W0297-01\",\r\n licenceprofile_id: \"e4915db9-de64-e811-a2d5-0050568a66b2\",\r\n licence_type: \"Waste\",\r\n licence_name: \"Harp Refrigerants Limited\",\r\n date_of_licence: \"2018-07-24T00:00:00\",\r\n ceased_date: \"2021-07-24T00:00:00\",\r\n licence_status: \"Ceased (Never Commenced)\",\r\n licence_substatus: \"\",\r\n licence_application_status: \"Licensed\",\r\n licenceprofile_number: \"W0297\",\r\n urban_areape: \"Urban Area PE\",\r\n };\r\n};\r\n\r\nexport const IsIndustrialEmissionsLicense = (licence: ILicenceVersion) => {\r\n return licence.licence_type === \"Industrial Emissions\";\r\n};\r\n\r\nexport const IsWasteLicense = (licence: ILicenceVersion) => {\r\n return licence.licence_type === \"Waste\";\r\n};\r\n\r\nexport const IsWasteWaterDischargeAuthorisation = (\r\n licence: ILicenceVersion\r\n) => {\r\n return licence.licence_type === \"Waste Water Discharge Licence\";\r\n};\r\n\r\nexport const IsCoALicense = (licence: ILicenceVersion) => {\r\n return licence.licence_type === \"Waste Water Certificate of Authorisation\";\r\n};\r\n\r\nexport const IsDumpingAtSeaLicense = (licence: ILicenceVersion) => {\r\n return licence.licence_type === \"Dumping at Sea\";\r\n};\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { FetchResponse } from \"./FetchResponse\";\r\n\r\nimport {\r\n GetComplianceListByProfileIdAsync,\r\n GetComplianceListDummy,\r\n IComplianceList,\r\n} from \"./ICompliance\";\r\n\r\nimport {\r\n GetSiteDetailsByProfileIdAsync,\r\n GetSiteDetailsDummy,\r\n ISiteDetails,\r\n} from \"./ISiteDetails\";\r\nimport {\r\n GetActiveLicenceVersionDummy,\r\n GetAllLicenceVersionsAsync,\r\n GetLicenceVersionAsync,\r\n GetLicenceVersionsDummy,\r\n ILicenceVersion,\r\n ILicenceVersionsList,\r\n} from \"./LicenceVersion\";\r\n\r\nexport interface ILicenceProfile {\r\n id: string;\r\n profileNo: string;\r\n profileName: string;\r\n version: string;\r\n dateIssued: string;\r\n type: string;\r\n status: string;\r\n subStatus: string;\r\n sector: string;\r\n majorActivity: string;\r\n iedActivity: string;\r\n organisation: string;\r\n firstIssued: string;\r\n county: string;\r\n prioritySite: string;\r\n\r\n siteDetails: ISiteDetails;\r\n complianceList: IComplianceList;\r\n licenceVersionsList: ILicenceVersionsList;\r\n activeLicenceVersion: ILicenceVersion;\r\n}\r\n\r\ninterface ILicenceProfileApiResponse {\r\n licence_profile_id: string;\r\n name: string;\r\n profile_number: string;\r\n active_licence_id: string;\r\n active_licence_type: string;\r\n active_licence_regno: string;\r\n active_licence_startdate: string;\r\n active_licence_status: string;\r\n active_licence_substatus: string;\r\n active_licence_sector: string;\r\n first_issue_date: string;\r\n county: string;\r\n town: string;\r\n organisation_id: string;\r\n organisation_name: string;\r\n uww_priority_site: string;\r\n major_class_of_activity: string;\r\n ied_activity: string;\r\n site_id: string;\r\n}\r\n\r\nexport interface ILicenceProfileResponse {\r\n response: FetchResponse;\r\n licenceProfile?: ILicenceProfile;\r\n}\r\n\r\nexport async function GetLicenceProfileAsync(\r\n profileNo: string\r\n): Promise {\r\n var url = `${API_URL}/LicenceProfile/byprofileno?licence_profile_no=${profileNo}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n if (profileNo === \"XXXX\") {\r\n url = `${API_URL}/notfound`;\r\n } else {\r\n url = `${API_URL}/licenceprofile`;\r\n }\r\n }\r\n\r\n var response = await fetch(url);\r\n if (!response.ok) {\r\n return {\r\n response: {\r\n ok: false,\r\n httpStatusCode: response.status,\r\n httpErr: response.statusText,\r\n },\r\n };\r\n }\r\n\r\n var body = await response.json();\r\n\r\n var profileId = body.licence_profile_id;\r\n\r\n var siteDetails = await GetSiteDetailsByProfileIdAsync(profileId);\r\n var complianceList = await GetComplianceListByProfileIdAsync(profileId, {\r\n page: 1,\r\n per_page: 5,\r\n });\r\n\r\n var versions = await GetAllLicenceVersionsAsync(profileId);\r\n var activeVersion = await GetLicenceVersionAsync(body.active_licence_id);\r\n\r\n const profile = {\r\n county: body.county,\r\n dateIssued: formatDate(body.active_licence_startdate),\r\n firstIssued: formatDate(body.first_issue_date),\r\n id: body.licence_profile_id,\r\n iedActivity: body.ied_activity,\r\n majorActivity: body.major_class_of_activity,\r\n organisation: body.organisation_name,\r\n profileName: body.name,\r\n profileNo: body.profile_number,\r\n sector: body.active_licence_sector,\r\n status: body.active_licence_status,\r\n subStatus: body.active_licence_substatus,\r\n type: body.active_licence_type,\r\n version: body.active_licence_regno,\r\n prioritySite: body.uww_priority_site,\r\n siteDetails: siteDetails,\r\n complianceList: complianceList,\r\n licenceVersionsList: versions,\r\n activeLicenceVersion: activeVersion,\r\n };\r\n\r\n return {\r\n response: {},\r\n licenceProfile: profile,\r\n };\r\n}\r\n\r\nexport const ParseGetLicenceProfileResponse = (response: any) => {\r\n return response as ILicenceProfile;\r\n};\r\n\r\nexport function GetLicenceProfile(profileNo: string): ILicenceProfile {\r\n return GetLicenceProfileDummy(profileNo);\r\n}\r\n\r\nexport const GetLicenceProfileDummy = (profileNo: string): ILicenceProfile => {\r\n return {\r\n id: \"{guid}\",\r\n profileNo: profileNo,\r\n profileName: \"XYZ Company\",\r\n version: \"P9999-04\",\r\n dateIssued: \"12 Mar 2019\",\r\n type: \"IEL\",\r\n status: \"Licensed\",\r\n subStatus: \"Licensed Activity Commenced\",\r\n sector: \"Surface Coating Sector\",\r\n majorActivity: \"12.2.1 - Surface Coatings\",\r\n iedActivity: \"6.7 - Other Activities\",\r\n organisation: \"XYZ Company\",\r\n firstIssued: \"01 Jan 2015\",\r\n county: \"Sligo\",\r\n prioritySite: \"Priority Site\",\r\n siteDetails: GetSiteDetailsDummy(\"\"),\r\n complianceList: GetComplianceListDummy(\"\"),\r\n licenceVersionsList: GetLicenceVersionsDummy(\"\"),\r\n activeLicenceVersion: GetActiveLicenceVersionDummy(\"\"),\r\n };\r\n};\r\n\r\nexport const isRadiologicalProtection = (licenceProfile: ILicenceProfile) => {\r\n return licenceProfile.type === \"Radiological Protection\";\r\n};\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetLicenceProfileAsync,\r\n ILicenceProfileResponse,\r\n} from \"../../api/LicenceProfile\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface LicenceProfileState {\r\n fetchStatus: string;\r\n error: any;\r\n licenceProfileResponse?: ILicenceProfileResponse;\r\n}\r\n\r\nconst initialState: LicenceProfileState = {\r\n error: undefined,\r\n fetchStatus: \"Loading...\",\r\n licenceProfileResponse: undefined,\r\n};\r\n\r\nexport const loadLicenceProfileAsync = createAsyncThunk(\r\n \"licenceProfile/load\",\r\n async (profileNo: string) => {\r\n const response = await GetLicenceProfileAsync(profileNo);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const licenceProfileSlice = createSlice({\r\n name: \"licenceProfile\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadLicenceProfileAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadLicenceProfileAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.licenceProfileResponse = action.payload;\r\n })\r\n .addCase(loadLicenceProfileAsync.rejected, (state, action) => {\r\n state.fetchStatus = \"rejected\";\r\n state.error = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectLicenceProfileResponse = (state: RootState) =>\r\n state.licenceProfileResponse;\r\n\r\nexport default licenceProfileSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetComplianceRecordStatusesAsync,\r\n GetComplianceRecordTypesAsync,\r\n IComplianceRecordTypesList,\r\n IComplianceStatusesList,\r\n} from \"../../api/ICompliance\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface ComplianceState {\r\n fetchStatus: string;\r\n complianceRecordTypes?: IComplianceRecordTypesList;\r\n complianceStatuses?: IComplianceStatusesList;\r\n}\r\n\r\nconst initialState: ComplianceState = {\r\n fetchStatus: \"Loading...\",\r\n complianceRecordTypes: undefined,\r\n complianceStatuses: undefined,\r\n};\r\n\r\nexport const loadComplianceOptionsAsync = createAsyncThunk(\r\n \"compliance/loadOptions\",\r\n async (profileId: string) => {\r\n const recordTypes = await GetComplianceRecordTypesAsync(profileId);\r\n const recordStatuses = await GetComplianceRecordStatusesAsync();\r\n // The value we return becomes the `fulfilled` action payload\r\n return {\r\n recordTypes: recordTypes,\r\n recordStatuses: recordStatuses,\r\n };\r\n }\r\n);\r\n\r\nexport const complianceOptionsSlice = createSlice({\r\n name: \"complianceOptions\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadComplianceOptionsAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadComplianceOptionsAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.complianceRecordTypes = action.payload.recordTypes;\r\n state.complianceStatuses = action.payload.recordStatuses;\r\n });\r\n },\r\n});\r\n\r\nexport const selectComplianceOptions = (state: RootState) =>\r\n state.complianceOptions;\r\n\r\nexport default complianceOptionsSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateForFiltering } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { PageResult, PageRequest } from \"./Pagination\";\r\n\r\n//https://data-int.epa.ie/leap/api/v1/SiteVisit/byid?sv_id=804D4B88-ED4E-E811-A2DD-0050568A2D1A\r\n\r\n/*\r\n\"sitevisitid\": \"804d4b88-ed4e-e811-a2dd-0050568a2d1a\",\r\n \"type\": \"Site Visit\",\r\n \"subject\": \"Air Visit - Sampling Infrastructure\",\r\n \"reference\": \"SV15542\",\r\n \"status\": \"Closed\",\r\n \"licence_id\": \"24c8e87d-7c61-e211-9eb5-0050568a69e2\",\r\n \"licenceprofile_id\": null,\r\n \"licenseesubmission_id\": \"4e8aadee-e69b-e811-a308-0050568a2d1a\",\r\n \"visit_date\": \"2018-04-11T00:00:00\",\r\n \"report_issued_date\": \"2018-07-25T00:00:00\",\r\n \"compliance\": \"Yes\",\r\n \"summary\": null,\r\n \"instigated_by\": \"Enforcement Plan Visit\",\r\n \"sampletaken\": \"No\",\r\n \"odourassessment\": null,\r\n \"adourassessmentcompliant\": \"n/a\",\r\n \"licence_regno\": \"P0815-02\",\r\n \"profile_number\": \"P0815\"\r\n*/\r\n\r\n//Site Visit Details\r\nexport interface ISiteVisitDetails extends IDetailsResponse {\r\n sitevisitid: string;\r\n type: string;\r\n subject: string;\r\n reference: string;\r\n status: string;\r\n licence_id: string;\r\n licenceprofile_id: string;\r\n licenseesubmission_id: string;\r\n visit_date: string;\r\n report_issued_date: string;\r\n compliance: string;\r\n summary: string;\r\n instigated_by: string;\r\n announced: string;\r\n visittype: string;\r\n sampletaken: string;\r\n odourassessment: string;\r\n adourassessmentcompliant: string;\r\n licence_regno: string;\r\n profile_number: string;\r\n}\r\n\r\n//Site Visit Row\r\nexport interface ISiteVisit {\r\n sitevisitid: string;\r\n type: string;\r\n subject: string;\r\n reference: string;\r\n status: string;\r\n licence_id: string;\r\n licenceprofile_id: string;\r\n licenseesubmission_id: string;\r\n visit_date: string;\r\n visit_type: string;\r\n licence_regno: string;\r\n profile_number: string;\r\n}\r\n\r\nexport async function GetSiteVisitDetailsAsync(\r\n siteVisitId: string\r\n): Promise {\r\n var url = `${API_URL}/SiteVisit/byid?sv_id=${siteVisitId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/sitevisit-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n return {\r\n response: response,\r\n sitevisitid: body.sitevisitid,\r\n type: body.type,\r\n subject: body.subject,\r\n reference: body.reference,\r\n status: body.status,\r\n licence_id: body.licence_id,\r\n licenceprofile_id: body.licenceprofile_id,\r\n licenseesubmission_id: body.licenseesubmission_id,\r\n visit_date: formatDate(body.visit_date),\r\n report_issued_date: formatDate(body.report_issued_date),\r\n compliance: body.compliance,\r\n summary: body.summary,\r\n announced: body.announced,\r\n visittype: body.visittype,\r\n instigated_by: body.instigated_by,\r\n sampletaken: body.sampletaken,\r\n odourassessment: body.odourassessment,\r\n adourassessmentcompliant: body.adourassessmentcompliant,\r\n licence_regno: body.licence_regno,\r\n profile_number: body.profile_number,\r\n };\r\n}\r\n\r\nexport const GetSiteVisitsFromLicenseeReturnFetchUrl = (\r\n licenseeReturnId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/SiteVisit/listbylrid?lr_id=${licenseeReturnId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/sitevisit-licenseereturns`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetSiteVisitsFromComplianceInvestigationFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/SiteVisit/listbyciid?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/sitevisits-ci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetSiteVisitsFromNonComplianceFetchUrl = (\r\n nonComplianceId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/SiteVisit/listbyncid?nc_id=${nonComplianceId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/sitevisit-noncompliance`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetSiteVisitDetailsAsync,\r\n ISiteVisitDetails,\r\n} from \"../../api/ISiteVisit\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface SiteVisitState {\r\n fetchStatus: string;\r\n siteVisit?: ISiteVisitDetails;\r\n}\r\n\r\nconst initialState: SiteVisitState = {\r\n fetchStatus: \"Loading...\",\r\n siteVisit: undefined,\r\n};\r\n\r\nexport const loadSiteVisitAsync = createAsyncThunk(\r\n \"siteVisit/load\",\r\n async (siteVisitId: string) => {\r\n const response = await GetSiteVisitDetailsAsync(siteVisitId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const siteVisitSlice = createSlice({\r\n name: \"siteVisit\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadSiteVisitAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadSiteVisitAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.siteVisit = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectSiteVisit = (state: RootState) => state.siteVisit;\r\n\r\nexport default siteVisitSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateForFiltering } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { PageResult, PageRequest } from \"./Pagination\";\r\n\r\nexport interface IComplianceInvestigation {\r\n complianceinvestigationid: string;\r\n issue: string;\r\n reference: string;\r\n status: string;\r\n title: string;\r\n dateraised: string;\r\n svid: string;\r\n}\r\n\r\nexport interface IComplianceInvestigationList extends PageResult {\r\n list: IComplianceInvestigation[];\r\n}\r\n\r\nexport interface IComplianceInvestigationDetails extends IDetailsResponse {\r\n complianceinvestigationid: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n responselevel: string;\r\n title: string;\r\n origin: string;\r\n receptors: string;\r\n description: string;\r\n closedate: string;\r\n dateraised: string;\r\n licence_regno: string;\r\n}\r\n\r\n/*\r\n \"complianceinvestigationid\": \"8e457ace-b626-e811-a2c7-0050568a2d1a\",\r\n \"reference\": \"CI001626\",\r\n \"subject\": \"Water Quality\",\r\n \"status\": \"Closed\",\r\n \"licenceid\": \"7e8aad0c-f8fd-434e-9cac-24a99738e069\",\r\n \"licenceprofileid\": \"2c551f0e-eb4b-457c-9d4e-54d689f192f4\",\r\n \"responselevel\": \"Low\",\r\n \"title\": \"P0690-03, Unauthorised emissions to sewer\",\r\n \"origin\": \"Instances of Non compliance\",\r\n \"receptors\": \"Water\",\r\n \"description\": \"A meeting was held with C&F Automotive on Thursday 8th March 2018 regarding recurring exceedances of ELV limits for sewer water and trigger levels for storm water. Actions agreed at the meeting are required to be carried out by the licensee.\",\r\n \"closedate\": \"2021-10-12T00:00:00\",\r\n \"dateraised\": \"2018-03-21T00:00:00\"\r\n*/\r\n\r\nexport const GetComplianceInvestigationsBySiteVisitFetchUrl = (\r\n siteVisitId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/Ci/listbysvid?sv_id=${siteVisitId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/cis-by-sitevisitid`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport function FormatComplianceList(rows: Array) {\r\n return rows.map((item) => {\r\n return {\r\n complianceinvestigationid: item.complianceinvestigationid,\r\n dateraised: formatDate(item.dateraised),\r\n issue: item.issue,\r\n reference: item.reference,\r\n status: item.status,\r\n title: item.title,\r\n svid: item.svid,\r\n };\r\n });\r\n}\r\n\r\nexport async function GetComplianceInvestigationDetailsAsync(\r\n complianceInvestigationId: string\r\n): Promise {\r\n var url = `${API_URL}/Ci/byid?ci_id=${complianceInvestigationId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/ci-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n return {\r\n response: response,\r\n complianceinvestigationid: body.complianceinvestigationid,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n licenceid: body.licenceid,\r\n licenceprofileid: body.licenceprofileid,\r\n responselevel: body.responselevel,\r\n title: body.title,\r\n origin: body.origin,\r\n receptors: body.receptors,\r\n description: body.description,\r\n closedate: formatDate(body.closedate),\r\n dateraised: formatDate(body.dateraised),\r\n licence_regno: body.licence_regno,\r\n };\r\n}\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateForFiltering } from \"./DateUtils\";\r\n\r\n/*\r\n \"licence_id\": \"24c8e87d-7c61-e211-9eb5-0050568a69e2\",\r\n \"reg_no\": \"P0815-02\",\r\n \"licenceprofile_id\": \"373122fb-8a6d-4f9c-bef1-142252f47d33\",\r\n \"licence_type\": \"Industrial Emissions\",\r\n \"licence_name\": \"Lacpatrick Dairies Limited\",\r\n \"date_of_licence\": \"2013-03-25T00:00:00\",\r\n \"ceased_date\": null,\r\n \"licence_status\": \"Licensed\",\r\n \"licence_substatus\": \"Licensable Activity Commenced\",\r\n \"licence_application_status\": \"Replaced\",\r\n \"licenceprofile_number\": \"P0815\",\r\n \"urban_areape\": null\r\n*/\r\n\r\nexport interface ILicenceDetails {\r\n licence_id: string;\r\n reg_no: string;\r\n licenceprofile_id: string;\r\n licence_type: string;\r\n date_of_licence: string;\r\n ceased_date: string;\r\n licence_status: string;\r\n licence_substatus: string;\r\n licence_application_status: string;\r\n licenceprofile_number: string;\r\n urban_areape: string;\r\n}\r\n\r\nexport async function GetLicenseDetailsAsync(\r\n licenceId: string\r\n): Promise {\r\n var url = `${API_URL}/Licence/byid?licence_id=${licenceId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licence-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n return {\r\n licence_id: body.licence_id,\r\n reg_no: body.reg_no,\r\n licenceprofile_id: body.licenceprofile_id,\r\n licence_type: body.licence_type,\r\n date_of_licence: formatDate(body.date_of_licence),\r\n ceased_date: formatDate(body.ceased_date),\r\n licence_status: body.licence_status,\r\n licence_substatus: body.licence_substatus,\r\n licence_application_status: body.licence_application_status,\r\n licenceprofile_number: body.licenceprofile_number,\r\n urban_areape: body.urban_areape,\r\n };\r\n}\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"./IComplianceInvestigation\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\nimport { PageResult } from \"./Pagination\";\r\n\r\n/*\r\n \"licenseereturnid\": \"4e8aadee-e69b-e811-a308-0050568a2d1a\",\r\n \"reference\": \"LR036244\",\r\n \"subject\": \"Site Updates/Notifications Licensee Public Response\",\r\n \"datereceived\": \"2018-08-09T00:00:00\",\r\n \"doctype\": \"Site Updates/Notifications\",\r\n \"docsubtype\": \"Licensee Public Response\",\r\n \"decision\": \"Assessed\"\r\n*/\r\nexport interface ILicenseeReturn {\r\n licenseereturnid: string;\r\n reference: string;\r\n subject: string;\r\n datereceived: string;\r\n doctype: string;\r\n docsubtype: string;\r\n decision: string;\r\n}\r\n\r\nexport interface ILicenseeReturnDetails extends IDetailsResponse {\r\n licenseereturnid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licence_regno: string;\r\n licenceprofileid: string;\r\n datereceived: string;\r\n closeddate: string;\r\n title: string;\r\n doctype: string;\r\n docsubtype: string;\r\n decision: string;\r\n description: string;\r\n documentcategory: string;\r\n complianceinvestigationid: string;\r\n complianceInvestigationDetails?: IComplianceInvestigationDetails;\r\n}\r\n\r\nexport interface ILicenseeReturnList extends PageResult {\r\n list: ILicenseeReturn[];\r\n}\r\n\r\nexport const GetLicenseeReturnFromSiteVisitFetchUrl = (\r\n siteVisitId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/LicenseeReturns/listbysvid?sv_id=${siteVisitId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licenseereturns-sitevisit`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetLicenseeReturnFromComplianceInvestigationFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/LicenseeReturns/listbyciid?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licenseereturns-ci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetLicenseeReturnDetailsAsync(\r\n siteVisitId: string\r\n): Promise {\r\n var url = `${API_URL}/LicenseeReturns/byid?lr_id=${siteVisitId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licenseereturn-details-notfound`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n if (body.complianceinvestigationid) {\r\n body.complianceInvestigationDetails =\r\n await GetComplianceInvestigationDetailsAsync(\r\n body.complianceinvestigationid\r\n );\r\n }\r\n\r\n return {\r\n response: response,\r\n licenseereturnid: body.licenseereturnid,\r\n type: body.type,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n licenceid: body.licenceid,\r\n licence_regno: licenceDetails.reg_no,\r\n licenceprofileid: body.licenceprofileid,\r\n datereceived: formatDate(body.datereceived),\r\n closeddate: formatDate(body.closeddate),\r\n title: body.title,\r\n doctype: body.doctype,\r\n docsubtype: body.docsubtype,\r\n decision: body.decision,\r\n description: body.description,\r\n documentcategory: body.documentcategory,\r\n complianceinvestigationid: body.complianceinvestigationid,\r\n complianceInvestigationDetails: body.complianceInvestigationDetails,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetLicenseeReturnDetailsAsync,\r\n ILicenseeReturnDetails,\r\n} from \"../../api/ILicenseeReturns\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface LicenseeReturnState {\r\n fetchStatus: string;\r\n licenseeReturn?: ILicenseeReturnDetails;\r\n}\r\n\r\nconst initialState: LicenseeReturnState = {\r\n fetchStatus: \"Loading...\",\r\n licenseeReturn: undefined,\r\n};\r\n\r\nexport const loadLicenseeReturnAsync = createAsyncThunk(\r\n \"licenseeReturn/load\",\r\n async (licenseeReturnId: string) => {\r\n const response = await GetLicenseeReturnDetailsAsync(licenseeReturnId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const licenseeReturnSlice = createSlice({\r\n name: \"licenseeReturn\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadLicenseeReturnAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadLicenseeReturnAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.licenseeReturn = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectLicenseeReturn = (state: RootState) => state.licenseeReturn;\r\n\r\nexport default licenseeReturnSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseeReturnDetailsAsync } from \"./ILicenseeReturns\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\n\r\nexport interface IRequestForInformation {\r\n rfiid: string;\r\n type: string;\r\n licenceid: string;\r\n reference: string;\r\n status: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n subject: string;\r\n responsereceiveddate: string;\r\n question: string;\r\n response: string;\r\n licenseesubmisionid: string; // LR Id\r\n profileNo: string;\r\n licence_regno: string;\r\n licensee_return_reference: string; //LR's ref no.\r\n}\r\n\r\nexport const GetRequestsForInformationFromLicenseeReturnFetchUrl = (\r\n licenseeReturnId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/LicenseeReturns/rfilistbylrid?lr_id=${licenseeReturnId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/rfis-by-licensee-return`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetRequestForInformationDetailsAsync(\r\n requestForInformationId: string\r\n): Promise {\r\n var url = `${API_URL}/LicenseeReturns/rfibyid?rfi_id=${requestForInformationId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/rfi-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n const licenseeReturn = await GetLicenseeReturnDetailsAsync(\r\n body.licenseesubmisionid\r\n );\r\n\r\n return {\r\n rfiid: body.rfiid,\r\n type: body.type,\r\n licenceid: body.licenceid,\r\n reference: body.reference,\r\n status: body.status,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n subject: body.subject,\r\n responsereceiveddate: formatDate(body.responsereceiveddate),\r\n question: body.question,\r\n response: body.response,\r\n licenseesubmisionid: body.licenseesubmisionid,\r\n profileNo: licenceDetails.licenceprofile_number,\r\n licence_regno: licenceDetails.reg_no, // LR,\r\n licensee_return_reference: licenseeReturn.reference,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetRequestForInformationDetailsAsync,\r\n IRequestForInformation,\r\n} from \"../../api/RequestForInformation\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface RequestForInformationState {\r\n fetchStatus: string;\r\n requestForInformation?: IRequestForInformation;\r\n}\r\n\r\nconst initialState: RequestForInformationState = {\r\n fetchStatus: \"Loading...\",\r\n requestForInformation: undefined,\r\n};\r\n\r\nexport const loadRequestForInformationAsync = createAsyncThunk(\r\n \"requestForInformation/load\",\r\n async (reuestForInformationId: string) => {\r\n const response = await GetRequestForInformationDetailsAsync(\r\n reuestForInformationId\r\n );\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const requestForInformationSlice = createSlice({\r\n name: \"requestForInformation\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadRequestForInformationAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadRequestForInformationAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.requestForInformation = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectRequestForInformation = (state: RootState) =>\r\n state.requestForInformation;\r\n\r\nexport default requestForInformationSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { GetSiteVisitDetailsAsync, ISiteVisitDetails } from \"./ISiteVisit\";\r\nimport { ITaskDetails } from \"./ITask\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\n\r\nexport interface IFindingAndRecommendation {\r\n taskid: string;\r\n datesubmitted: string;\r\n type: string;\r\n category: string;\r\n status: string;\r\n observation: string;\r\n reference: string;\r\n}\r\n\r\nexport interface IFindingAndRecommendationDetails extends ITaskDetails {\r\n siteVisit?: ISiteVisitDetails;\r\n}\r\n\r\n//https://data-int.epa.ie/leap/api/v1/Task/listbyregardingobjectid?regardingobject_id=71DC08F0-BABA-E511-987F-0050568A69E2&page=1&per_page=50\r\n\r\nexport const GetFindingsAndRecommendationsFetchUrl = (\r\n regardingObjectId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/Task/listbyregardingobjectid?regardingobject_id=${regardingObjectId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/sitevisit-findings`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetFindingAndRecommendationDetailsAsync(\r\n taskId: string\r\n): Promise {\r\n var url = `${API_URL}/Task/byid?task_id=${taskId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/finding-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n const siteVisit = await GetSiteVisitDetailsAsync(body.regardingobjectid);\r\n\r\n return {\r\n response: response,\r\n taskid: body.taskid,\r\n type: body.type,\r\n licenceid: body.licenceid,\r\n reference: body.reference,\r\n status: body.status,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n subject: body.subject,\r\n sender: body.sender,\r\n recipient: body.recipient,\r\n details: body.details,\r\n category: body.category,\r\n subcategory: body.subcategory,\r\n observation: body.observation,\r\n description: body.description,\r\n profileNo: licenceDetails.licenceprofile_number,\r\n licence_regno: licenceDetails.reg_no,\r\n siteVisit: siteVisit,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetFindingAndRecommendationDetailsAsync,\r\n IFindingAndRecommendationDetails,\r\n} from \"../../api/IFindingAndRecommendation\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface FindingAndRecommendationState {\r\n fetchStatus: string;\r\n findingAndRecommendation?: IFindingAndRecommendationDetails;\r\n}\r\n\r\nconst initialState: FindingAndRecommendationState = {\r\n fetchStatus: \"Loading...\",\r\n findingAndRecommendation: undefined,\r\n};\r\n\r\nexport const loadFindingAndRecommendationAsync = createAsyncThunk(\r\n \"findingAndRecommendation/load\",\r\n async (taskId: string) => {\r\n const response = await GetFindingAndRecommendationDetailsAsync(taskId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const findingAndRecommendationSlice = createSlice({\r\n name: \"findingAndRecommendation\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadFindingAndRecommendationAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadFindingAndRecommendationAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.findingAndRecommendation = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectFindingAndRecommendation = (state: RootState) =>\r\n state.findingAndRecommendationReducer;\r\n\r\nexport default findingAndRecommendationSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport {\r\n GetLicenseeReturnDetailsAsync,\r\n ILicenseeReturnDetails,\r\n} from \"./ILicenseeReturns\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\n\r\nexport interface IInstruction {\r\n epainitiatedcorrespondenceid: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n licensingnotification: string;\r\n correspondencetype: string;\r\n regno: string;\r\n licenseesubmissionid: string;\r\n}\r\n\r\nexport interface IInstructionDetails extends IDetailsResponse {\r\n epainitiatedcorrespondenceid: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n licensingnotification: string;\r\n correspondencetype: string;\r\n regno: string;\r\n licenseesubmissionid: string;\r\n licenseeReturn?: ILicenseeReturnDetails;\r\n profileNo: string;\r\n}\r\n\r\nexport const GetInstructionsFromLicenseeReturnFetchUrl = (\r\n licenseeReturnId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/LicenseeReturns/lrintructionlistbylrid?lr_id=${licenseeReturnId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/instructions-by-licensee-return`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetInstructionDetailsAsync(\r\n instructionId: string\r\n): Promise {\r\n var url = `${API_URL}/LicenseeReturns/lrintructionbyid?lrintruction_id=${instructionId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/instruction-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenseeReturnDetails = await GetLicenseeReturnDetailsAsync(\r\n body.licenseesubmissionid\r\n );\r\n const licenceDetails = await GetLicenseDetailsAsync(\r\n licenseeReturnDetails.licenceid\r\n );\r\n\r\n return {\r\n response: response,\r\n epainitiatedcorrespondenceid: body.epainitiatedcorrespondenceid,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n licensingnotification: body.licensingnotification,\r\n correspondencetype: body.correspondencetype,\r\n regno: body.regno,\r\n licenseesubmissionid: body.licenseesubmissionid,\r\n licenseeReturn: licenseeReturnDetails,\r\n profileNo: licenceDetails.licenceprofile_number,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetInstructionDetailsAsync,\r\n IInstructionDetails,\r\n} from \"../../api/Instruction\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface InstructionState {\r\n fetchStatus: string;\r\n instruction?: IInstructionDetails;\r\n}\r\n\r\nconst initialState: InstructionState = {\r\n fetchStatus: \"Loading...\",\r\n instruction: undefined,\r\n};\r\n\r\nexport const loadInstructionAsync = createAsyncThunk(\r\n \"instruction/load\",\r\n async (instructionId: string) => {\r\n const response = await GetInstructionDetailsAsync(instructionId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const instructionSlice = createSlice({\r\n name: \"instruction\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadInstructionAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadInstructionAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.instruction = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectInstruction = (state: RootState) => state.instruction;\r\n\r\nexport default instructionSlice.reducer;\r\n","import { API_URL } from \"../Config\";\r\nimport { formatDate } from \"../DateUtils\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"../IComplianceInvestigation\";\r\nimport { ITaskDetails } from \"../ITask\";\r\nimport { GetLicenseDetailsAsync } from \"../LicenceDetails\";\r\n\r\nexport interface IComplianceInvestigationActionOrInstruction {\r\n taskid: string;\r\n datesubmitted: string;\r\n type: string;\r\n category: string;\r\n subcategory: string;\r\n status: string;\r\n observation: string;\r\n reference: string;\r\n subject: string;\r\n description: string;\r\n regardingobjectid: string;\r\n}\r\n\r\nexport interface IComplianceInvestigationActionOrInstructionDetails\r\n extends ITaskDetails {\r\n complianceInvestidationDetails?: IComplianceInvestigationDetails;\r\n}\r\n\r\nexport const GetComplianceInvestigationActionsAndInstructionsFetchUrl = (\r\n regardingObjectId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/Task/listbyregardingobjectid?regardingobject_id=${regardingObjectId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/ci-actions-instructions`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetComplianceInvestigationActionOrInstructionDetailsAsync(\r\n taskId: string\r\n): Promise {\r\n var url = `${API_URL}/Task/byid?task_id=${taskId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/ci-action-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = (\r\n await response.json()\r\n );\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n const complianceInvestigation = await GetComplianceInvestigationDetailsAsync(\r\n body.regardingobjectid\r\n );\r\n\r\n return {\r\n taskid: body.taskid,\r\n type: body.type,\r\n licenceid: body.licenceid,\r\n reference: body.reference,\r\n status: body.status,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n subject: body.subject,\r\n sender: body.sender,\r\n recipient: body.recipient,\r\n details: body.details,\r\n category: body.category,\r\n subcategory: body.subcategory,\r\n observation: body.observation,\r\n description: body.description,\r\n profileNo: licenceDetails.licenceprofile_number,\r\n licence_regno: licenceDetails.reg_no,\r\n regardingobjectid: body.regardingobjectid,\r\n complianceInvestidationDetails: complianceInvestigation,\r\n };\r\n}\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync, ILicenceDetails } from \"./LicenceDetails\";\r\n\r\nexport interface IEpaCorrespondenceDetails extends IDetailsResponse {\r\n epainitiatedcorrespondenceid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n licensingnotification: string;\r\n correspondencetype: string;\r\n licenseesubmissionid?: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n licenceDetails?: ILicenceDetails;\r\n}\r\n\r\nexport async function GetEpaCorrespondenceDetailsAsync(\r\n epaCorrespondenceId: string\r\n): Promise {\r\n var url = `${API_URL}/MeetingCorrespondence/epainiciatedcorrespondencebyid?epainitiatedcorrespondence_id=${epaCorrespondenceId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/epa-correspondence-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n body.licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n return {\r\n response: response,\r\n epainitiatedcorrespondenceid: body.epainitiatedcorrespondenceid,\r\n type: body.type,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n licensingnotification: body.licensingnotification,\r\n correspondencetype: body.correspondencetype,\r\n licenceid: body.licenceid,\r\n licenceprofileid: body.licenceprofileid,\r\n licenceDetails: body.licenceDetails,\r\n };\r\n}\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\n\r\nexport interface ITaskDetails extends IDetailsResponse {\r\n taskid: string;\r\n type: string;\r\n licenceid: string;\r\n reference: string;\r\n status: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n subject: string;\r\n sender: string;\r\n recipient: string;\r\n details: string;\r\n category: string;\r\n subcategory: string;\r\n observation: string;\r\n description: string;\r\n regardingobjectid: string;\r\n licence_regno?: string;\r\n profileNo?: string;\r\n}\r\n\r\nexport const isFindingOrRecommentation = (type: string) => {\r\n return type === \"SV Finding\" || type === \"SV Recommendation\";\r\n};\r\n\r\nexport const isActionOrInstruction = (type: string) => {\r\n return type === \"Action\" || type === \"Instruction\";\r\n};\r\n\r\nexport async function GetTaskDetailsAsync(\r\n taskId: string\r\n): Promise {\r\n var url = `${API_URL}/Task/byid?task_id=${taskId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/finding-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n return {\r\n response: response,\r\n taskid: body.taskid,\r\n type: body.type,\r\n licenceid: body.licenceid,\r\n reference: body.reference,\r\n status: body.status,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n subject: body.subject,\r\n sender: body.sender,\r\n recipient: body.recipient,\r\n details: body.details,\r\n category: body.category,\r\n subcategory: body.subcategory,\r\n observation: body.observation,\r\n description: body.description,\r\n profileNo: licenceDetails.licenceprofile_number,\r\n licence_regno: licenceDetails.reg_no,\r\n };\r\n}\r\n","import {\r\n GetComplianceInvestigationActionOrInstructionDetailsAsync,\r\n IComplianceInvestigationActionOrInstructionDetails,\r\n} from \"./ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"./IComplianceInvestigation\";\r\nimport {\r\n GetEpaCorrespondenceDetailsAsync,\r\n IEpaCorrespondenceDetails,\r\n} from \"./IEpaCorrespondence\";\r\nimport {\r\n GetFindingAndRecommendationDetailsAsync,\r\n IFindingAndRecommendationDetails,\r\n} from \"./IFindingAndRecommendation\";\r\nimport {\r\n GetLicenseeReturnDetailsAsync,\r\n ILicenseeReturn,\r\n ILicenseeReturnDetails,\r\n} from \"./ILicenseeReturns\";\r\nimport { GetSiteVisitDetailsAsync, ISiteVisitDetails } from \"./ISiteVisit\";\r\nimport { GetTaskDetailsAsync, isFindingOrRecommentation } from \"./ITask\";\r\nimport {\r\n GetThirdPartyCorrespondenceDetailsAsync,\r\n IThirdPartyCorrespondenceDetails,\r\n} from \"./IThirdPartyCorrespondence\";\r\n\r\n//https://data-int.epa.ie/leap/api/v1/EdenMessage/listbytaskid?task_id=D984E9E7-8AC0-EC11-A341-0050568A2D1A&page=1&per_page=50\r\n\r\nexport interface IEdenMessage {\r\n edenmessageid: string;\r\n type: string;\r\n licenceid: string;\r\n reference: string;\r\n status: string;\r\n dateraised: string;\r\n closeddate: string;\r\n subject: string;\r\n message: string;\r\n response: string;\r\n regardingobjectid: string;\r\n taskid: string;\r\n}\r\n\r\nexport interface IEdenMessageDetails {\r\n edenmessageid: string;\r\n type: string;\r\n licenceid: string;\r\n reference: string;\r\n status: string;\r\n dateraised: string;\r\n closeddate: string;\r\n subject: string;\r\n message: string;\r\n response: string;\r\n regardingobjectid: string;\r\n taskid: string;\r\n siteVisit?: ISiteVisitDetails;\r\n findingAndRecommendation?: IFindingAndRecommendationDetails;\r\n licenseeReturn?: ILicenseeReturnDetails;\r\n actionOrInstructionDetails?: IComplianceInvestigationActionOrInstructionDetails;\r\n complianceInvestigationDetails?: IComplianceInvestigationDetails;\r\n epaCorrespondenceDetails?: IEpaCorrespondenceDetails;\r\n}\r\n\r\nexport const GetEdenMessagesByTaskFetchUrl = (\r\n taskId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/EdenMessage/listbytaskid?task_id=${taskId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/edenmessages-bytaskid`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetEdenMessagesByRegardingFetchUrl = (\r\n regardingObjectId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/EdenMessage/listbyregardingid?regarding_id=${regardingObjectId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/edenmessages-byregardingid`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetEdenMessageDetailsAsync(\r\n edenMessageId: string\r\n): Promise {\r\n var url = `${API_URL}/EdenMessage/byid?eden_message_id=${edenMessageId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/edenmessage-details`;\r\n }\r\n\r\n const response = await fetch(url);\r\n const body = await response.json();\r\n\r\n let isSiteVisit = false;\r\n let isComplianceInvestigation = false;\r\n\r\n if (body.taskid) {\r\n const taskDetails = await GetTaskDetailsAsync(body.taskid);\r\n if (isFindingOrRecommentation(taskDetails.type)) {\r\n isSiteVisit = true;\r\n body.findingAndRecommendation =\r\n await GetFindingAndRecommendationDetailsAsync(body.taskid);\r\n } else {\r\n isComplianceInvestigation = true;\r\n body.actionOrInstructionDetails =\r\n await GetComplianceInvestigationActionOrInstructionDetailsAsync(\r\n body.taskid\r\n );\r\n }\r\n }\r\n\r\n if (body.regardingobjectid) {\r\n if (isSiteVisit) {\r\n body.siteVisit = await GetSiteVisitDetailsAsync(body.regardingobjectid);\r\n } else if (isComplianceInvestigation) {\r\n body.complianceInvestigationDetails =\r\n await GetComplianceInvestigationDetailsAsync(body.regardingobjectid);\r\n } else {\r\n body.epaCorrespondenceDetails = await GetEpaCorrespondenceDetailsAsync(\r\n body.regardingobjectid\r\n );\r\n\r\n const lr = await GetLicenseeReturnDetailsAsync(body.regardingobjectid);\r\n\r\n if (lr.response.ok) {\r\n body.licenseeReturn = lr;\r\n }\r\n }\r\n }\r\n\r\n return {\r\n edenmessageid: body.edenmessageid,\r\n type: body.type,\r\n licenceid: body.licenceid,\r\n reference: body.reference,\r\n status: body.status,\r\n dateraised: formatDate(body.dateraised),\r\n closeddate: formatDate(body.closeddate),\r\n message: body.message,\r\n subject: body.subject,\r\n response: body.response,\r\n regardingobjectid: body.regardingobjectid,\r\n taskid: body.taskid,\r\n siteVisit: body.siteVisit,\r\n findingAndRecommendation: body.findingAndRecommendation,\r\n complianceInvestigationDetails: body.complianceInvestigationDetails,\r\n licenseeReturn: body.licenseeReturn,\r\n actionOrInstructionDetails: body.actionOrInstructionDetails,\r\n epaCorrespondenceDetails: body.epaCorrespondenceDetails,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetEdenMessageDetailsAsync,\r\n IEdenMessageDetails,\r\n} from \"../../api/IEdenMessage\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface EdenMessageState {\r\n fetchStatus: string;\r\n edenMessage?: IEdenMessageDetails;\r\n}\r\n\r\nconst initialState: EdenMessageState = {\r\n fetchStatus: \"Loading...\",\r\n edenMessage: undefined,\r\n};\r\n\r\nexport const loadEdenMessageAsync = createAsyncThunk(\r\n \"edenMessage/load\",\r\n async (edenMessageId: string) => {\r\n const response = await GetEdenMessageDetailsAsync(edenMessageId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const edenMessageSlice = createSlice({\r\n name: \"edenMessage\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadEdenMessageAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadEdenMessageAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.edenMessage = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectEdenMessage = (state: RootState) => state.edenMessage;\r\n\r\nexport default edenMessageSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"../../api/IComplianceInvestigation\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface ComplianceInvestigationState {\r\n fetchStatus: string;\r\n complianceInvestigation?: IComplianceInvestigationDetails;\r\n}\r\n\r\nconst initialState: ComplianceInvestigationState = {\r\n fetchStatus: \"Loading...\",\r\n complianceInvestigation: undefined,\r\n};\r\n\r\nexport const loadComplianceInvestigationAsync = createAsyncThunk(\r\n \"complianceInvestigation/load\",\r\n async (complianceInvestigationId: string) => {\r\n const response = await GetComplianceInvestigationDetailsAsync(\r\n complianceInvestigationId\r\n );\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const complianceInvestigationSlice = createSlice({\r\n name: \"complianceInvestigation\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadComplianceInvestigationAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadComplianceInvestigationAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.complianceInvestigation = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectComplianceInvestigation = (state: RootState) =>\r\n state.complianceInvestigation;\r\n\r\nexport default complianceInvestigationSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateTime } from \"./DateUtils\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"./IComplianceInvestigation\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\n\r\n/*\r\n {\r\n \"incidentid\": \"79723798-92dc-e611-a4f6-0050568a69e2\",\r\n \"reference\": \"INCI011462\",\r\n \"subject\": \"Trigger Level Reached\",\r\n \"status\": \"Closed\",\r\n \"incidentcategory\": \"1. Minor\",\r\n \"approximatestart\": \"2017-01-14T08:00:00\"\r\n },\r\n*/\r\n\r\nexport interface IIncident {\r\n incidentid: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n incidentcategory: string;\r\n approximatestart: string;\r\n}\r\n\r\nexport interface IIncidentDetails extends IDetailsResponse {\r\n incidentid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n complianceinvestigationid: string;\r\n incidentcategory: string;\r\n nature: string;\r\n vulnerablereceptors: string;\r\n receptors: string;\r\n likelihoodofreoccurence: string;\r\n likelycause: string;\r\n newrecurring: string;\r\n datenotified: string;\r\n closeddate: string;\r\n approximatestart: string;\r\n firstnoticed: string;\r\n finishtime: string;\r\n notifiedparties: string;\r\n dischargepoint: string;\r\n emissionpointname: string;\r\n uncontrolledrelease: string;\r\n description: string;\r\n otherrelevantinformation: string;\r\n impactonenvironment: string;\r\n activityinprogress: string;\r\n dischargedetails: string;\r\n licence_regno: string;\r\n complianceInvestigationDetails?: IComplianceInvestigationDetails;\r\n}\r\n\r\nexport const GetIncidentsFromComplianceInvestigationFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/Incident/incidentlistbyci?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/incidents-ci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetIncidentDetailsAsync(\r\n incidentId: string\r\n): Promise {\r\n var url = `${API_URL}/Incident/byid?incident_id=${incidentId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/incident-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n if (body.complianceinvestigationid) {\r\n body.complianceInvestigationDetails =\r\n await GetComplianceInvestigationDetailsAsync(\r\n body.complianceinvestigationid\r\n );\r\n }\r\n\r\n return {\r\n response: response,\r\n incidentid: body.incidentid,\r\n type: body.type,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n licenceid: body.licenceid,\r\n licenceprofileid: body.licenceprofileid,\r\n complianceinvestigationid: body.complianceinvestigationid,\r\n incidentcategory: body.incidentcategory,\r\n nature: body.nature,\r\n vulnerablereceptors: body.vulnerablereceptors,\r\n receptors: body.receptors,\r\n likelihoodofreoccurence: body.likelihoodofreoccurence,\r\n likelycause: body.likelycause,\r\n newrecurring: body.newrecurring,\r\n datenotified: formatDate(body.datenotified),\r\n firstnoticed: formatDate(body.firstnoticed),\r\n closeddate: formatDate(body.closeddate),\r\n approximatestart: formatDateTime(body.approximatestart),\r\n finishtime: formatDateTime(body.finishtime),\r\n notifiedparties: body.notifiedparties,\r\n dischargepoint: body.dischargepoint,\r\n emissionpointname: body.emissionpointname,\r\n uncontrolledrelease: body.uncontrolledrelease,\r\n description: body.description,\r\n otherrelevantinformation: body.otherrelevantinformation,\r\n impactonenvironment: body.impactonenvironment,\r\n activityinprogress: body.activityinprogress,\r\n dischargedetails: body.dischargedetails,\r\n complianceInvestigationDetails: body.complianceInvestigationDetails,\r\n licence_regno: licenceDetails.reg_no,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport { GetIncidentDetailsAsync, IIncidentDetails } from \"../../api/IIncident\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface IncidentState {\r\n fetchStatus: string;\r\n incident?: IIncidentDetails;\r\n}\r\n\r\nconst initialState: IncidentState = {\r\n fetchStatus: \"Loading...\",\r\n incident: undefined,\r\n};\r\n\r\nexport const loadIncidentAsync = createAsyncThunk(\r\n \"incident/load\",\r\n async (incidentId: string) => {\r\n const response = await GetIncidentDetailsAsync(incidentId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const incidentSlice = createSlice({\r\n name: \"incident\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadIncidentAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadIncidentAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.incident = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectIncident = (state: RootState) => state.incident;\r\n\r\nexport default incidentSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"./IComplianceInvestigation\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync } from \"./LicenceDetails\";\r\n\r\nexport interface IComplaint {\r\n complaintid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n datereceived: string;\r\n closeddate: string;\r\n complianceinvestigationid: string;\r\n dateoccurred: string;\r\n durationofoccurance: string;\r\n}\r\n\r\nexport interface IComplaintDetails extends IDetailsResponse {\r\n complaintid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n datereceived: string;\r\n closeddate: string;\r\n complianceinvestigationid: string;\r\n dateoccurred: string;\r\n durationofoccurance: string;\r\n licence_regno: string;\r\n complianceInvestigationDetails?: IComplianceInvestigationDetails;\r\n}\r\n\r\n/*\r\n \"complaintid\": \"4dc8ca34-a149-ea11-a324-0050568a2d1a\",\r\n \"type\": \"Complaint\",\r\n \"reference\": \"COM009932\",\r\n \"subject\": \"P0510-01, 06/02/20, Noise\",\r\n \"status\": \"Closed\",\r\n \"licenceid\": \"2ec7e87d-7c61-e211-9eb5-0050568a69e2\",\r\n \"licenceprofileid\": \"17481eff-ef09-4b71-b89d-f99ff3094e0f\",\r\n \"datereceived\": \"2020-02-06T00:00:00\",\r\n \"closeddate\": \"2020-03-27T00:00:00\",\r\n \"complianceinvestigationid\": null,\r\n \"dateoccurred\": \"2020-02-06T00:00:00\",\r\n \"durationofoccurance\": \"Ongoing\"\r\n*/\r\n\r\nexport const GetComplaintsFromComplianceInvestigationFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/Complaint/listbyciid?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/complaints-ci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetComplaintDetailsAsync(\r\n complaintId: string\r\n): Promise {\r\n var url = `${API_URL}/Complaint/byid?complaint_id=${complaintId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/complaint-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n if (body.complianceinvestigationid) {\r\n body.complianceInvestigationDetails =\r\n await GetComplianceInvestigationDetailsAsync(\r\n body.complianceinvestigationid\r\n );\r\n }\r\n\r\n return {\r\n response: response,\r\n complaintid: body.complaintid,\r\n type: body.type,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n licenceid: body.licenceid,\r\n licenceprofileid: body.licenceprofileid,\r\n datereceived: formatDate(body.datereceived),\r\n closeddate: formatDate(body.closeddate),\r\n dateoccurred: formatDate(body.dateoccurred),\r\n durationofoccurance: body.durationofoccurance,\r\n complianceinvestigationid: body.complianceinvestigationid,\r\n complianceInvestigationDetails: body.complianceInvestigationDetails,\r\n licence_regno: licenceDetails.reg_no,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetComplaintDetailsAsync,\r\n IComplaintDetails,\r\n} from \"../../api/IComplaint\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface ComplaintState {\r\n fetchStatus: string;\r\n complaint?: IComplaintDetails;\r\n}\r\n\r\nconst initialState: ComplaintState = {\r\n fetchStatus: \"Loading...\",\r\n complaint: undefined,\r\n};\r\n\r\nexport const loadComplaintAsync = createAsyncThunk(\r\n \"complaint/load\",\r\n async (complaintId: string) => {\r\n const response = await GetComplaintDetailsAsync(complaintId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const complaintSlice = createSlice({\r\n name: \"complaint\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadComplaintAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadComplaintAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.complaint = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectComplaint = (state: RootState) => state.complaint;\r\n\r\nexport default complaintSlice.reducer;\r\n","import { API_URL } from \"../Config\";\r\nimport { formatDate } from \"../DateUtils\";\r\nimport { IDetailsResponse } from \"../IDetailsResponse\";\r\nimport { GetIncidentDetailsAsync, IIncidentDetails } from \"../IIncident\";\r\nimport { GetLicenseDetailsAsync, ILicenceDetails } from \"../LicenceDetails\";\r\n\r\nexport interface IIncidentUpdateRequestDetails extends IDetailsResponse {\r\n incidentupdaterequestid: string;\r\n reference: string;\r\n status: string;\r\n request: string;\r\n licenceid: string;\r\n incidentid: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n incidentDetails?: IIncidentDetails;\r\n licenceDetails?: ILicenceDetails;\r\n}\r\n\r\nexport async function GetIncidentUpdateRequestDetailsAsync(\r\n incidentUpdateRequestId: string\r\n): Promise {\r\n var url = `${API_URL}/Incident/incidentupdaterequestbyid?incident_update_request_id=${incidentUpdateRequestId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/incident-update-request-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n if (body.incidentid) {\r\n body.incidentDetails = await GetIncidentDetailsAsync(body.incidentid);\r\n }\r\n\r\n return {\r\n response: response,\r\n incidentupdaterequestid: body.incidentupdaterequestid,\r\n reference: body.reference,\r\n status: body.status,\r\n request: body.request,\r\n licenceid: body.licenceid,\r\n incidentid: body.incidentid,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n duedate: formatDate(body.duedate),\r\n incidentDetails: body.incidentDetails,\r\n licenceDetails: licenceDetails,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetIncidentUpdateRequestDetailsAsync,\r\n IIncidentUpdateRequestDetails,\r\n} from \"../../api/Incident/IIncidentUpdateRequestDetails\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface IncidentUpdateRequestState {\r\n fetchStatus: string;\r\n incidentUpdatRequest?: IIncidentUpdateRequestDetails;\r\n}\r\n\r\nconst initialState: IncidentUpdateRequestState = {\r\n fetchStatus: \"Loading...\",\r\n incidentUpdatRequest: undefined,\r\n};\r\n\r\nexport const loadIncidentUpdateRequestAsync = createAsyncThunk(\r\n \"incidentUpdateRequest/load\",\r\n async (incidentUpdateRequestId: string) => {\r\n const response = await GetIncidentUpdateRequestDetailsAsync(\r\n incidentUpdateRequestId\r\n );\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const incidentUpdateRequestSlice = createSlice({\r\n name: \"incidentUpdateRequest\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadIncidentUpdateRequestAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadIncidentUpdateRequestAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.incidentUpdatRequest = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectIncidentUpdateRequest = (state: RootState) =>\r\n state.incidentUpdateRequest;\r\n\r\nexport default incidentUpdateRequestSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync, ILicenceDetails } from \"./LicenceDetails\";\r\n\r\nexport interface IMeetingDetails extends IDetailsResponse {\r\n meetingid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n meetingdate: string;\r\n meetingtime: string;\r\n organisationid: string;\r\n location: string;\r\n regarding: string;\r\n attendeesepa: string;\r\n attendeesnoepa: string;\r\n actionitems: string;\r\n licenceid: string;\r\n originalmeetingid: string;\r\n organisationname: string;\r\n licence_regno: string;\r\n licenceDetails: ILicenceDetails;\r\n}\r\n\r\nexport async function GetMeetingDetailsAsync(\r\n meetingId: string\r\n): Promise {\r\n var url = `${API_URL}/MeetingCorrespondence/meetingbyid?meeting_id=${meetingId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/meeting-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n return {\r\n response: response,\r\n meetingid: body.meetingid,\r\n type: body.type,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n meetingdate: formatDate(body.meetingdate),\r\n meetingtime: body.meetingtime,\r\n organisationid: body.organisationid,\r\n location: body.location,\r\n regarding: body.regarding,\r\n attendeesepa: body.attendeesepa,\r\n attendeesnoepa: body.attendeesnoepa,\r\n actionitems: body.actionitems,\r\n originalmeetingid: body.originalmeetingid,\r\n organisationname: body.organisationname,\r\n licence_regno: licenceDetails.reg_no,\r\n licenceDetails: licenceDetails,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport { GetMeetingDetailsAsync, IMeetingDetails } from \"../../api/IMeeting\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface MeetingState {\r\n fetchStatus: string;\r\n meeting?: IMeetingDetails;\r\n}\r\n\r\nconst initialState: MeetingState = {\r\n fetchStatus: \"Loading...\",\r\n meeting: undefined,\r\n};\r\n\r\nexport const loadMeetingAsync = createAsyncThunk(\r\n \"meeting/load\",\r\n async (meetingId: string) => {\r\n const response = await GetMeetingDetailsAsync(meetingId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const meetingSlice = createSlice({\r\n name: \"meeting\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadMeetingAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadMeetingAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.meeting = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectMeeting = (state: RootState) => state.meeting;\r\n\r\nexport default meetingSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { GetComplaintDetailsAsync, IComplaintDetails } from \"./IComplaint\";\r\nimport {\r\n GetComplianceInvestigationDetailsAsync,\r\n IComplianceInvestigationDetails,\r\n} from \"./IComplianceInvestigation\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetIncidentDetailsAsync, IIncidentDetails } from \"./IIncident\";\r\nimport {\r\n GetLicenseeReturnDetailsAsync,\r\n ILicenseeReturnDetails,\r\n} from \"./ILicenseeReturns\";\r\nimport { GetLicenseDetailsAsync, ILicenceDetails } from \"./LicenceDetails\";\r\nimport { PageResult } from \"./Pagination\";\r\n\r\nexport interface INonCompliance {\r\n noncomplianceid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n datesubmitted: string;\r\n condition: string;\r\n complianceinvestigationid: string;\r\n licenseesubmissionid: string;\r\n incidentid: string;\r\n complaintid: string;\r\n description: string;\r\n dateofnoncompliance: string;\r\n dateofnotification: string;\r\n}\r\n\r\nexport interface InonCompliancesList extends PageResult {\r\n list: INonCompliance[];\r\n}\r\n\r\nexport interface INonComplianceDetails extends IDetailsResponse {\r\n noncomplianceid: string;\r\n type: string;\r\n reference: string;\r\n subject: string;\r\n status: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n datesubmitted: string;\r\n condition: string;\r\n complianceinvestigationid: string;\r\n licenseesubmissionid: string;\r\n incidentid: string;\r\n complaintid: string;\r\n description: string;\r\n dateofnoncompliance: string;\r\n dateofnotification: string;\r\n complianceInvestigationDetails?: IComplianceInvestigationDetails;\r\n licenseeReturnDetails?: ILicenseeReturnDetails;\r\n licenceDetails: ILicenceDetails;\r\n incidentDetails?: IIncidentDetails;\r\n complaintDetails?: IComplaintDetails;\r\n}\r\n\r\nexport const GetNonCompliancesByComplianceInvestigationFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/NonCompliance/listbyciid?ci_id=${complianceInvestigationId}${params}${filterParams}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/noncompliances-list-byci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetNonCompliancesByLicenseeReturnFetchUrl = (\r\n licenseeReturnId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/NonCompliance/listbylrid?lr_id=${licenseeReturnId}${params}${filterParams}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/noncompliances-list-byci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetNonCompliancesByIncidentFetchUrl = (\r\n incidentId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/NonCompliance/listbyincidentid?incident_id=${incidentId}${params}${filterParams}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/noncompliances-list-byci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetNonCompliancesByComplaintFetchUrl = (\r\n complaintId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/NonCompliance/listbycomplaintid?complaint_id=${complaintId}${params}${filterParams}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/noncompliances-list-byci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetNonCompliancesBySiteVisitFetchUrl = (\r\n siteVisitId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/NonCompliance/listbysvid?sv_id=${siteVisitId}${params}${filterParams}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/noncompliances-list-svci`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport async function GetNonComplianceDetailsAsync(\r\n nonComplianceId: string\r\n): Promise {\r\n var url = `${API_URL}/NonCompliance/byid?nc_id=${nonComplianceId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/noncompliance-details`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n const licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n if (body.complianceinvestigationid) {\r\n body.complianceInvestigationDetails =\r\n await GetComplianceInvestigationDetailsAsync(\r\n body.complianceinvestigationid\r\n );\r\n }\r\n\r\n if (body.licenseesubmissionid) {\r\n body.licenseeReturnDetails = await GetLicenseeReturnDetailsAsync(\r\n body.licenseesubmissionid\r\n );\r\n }\r\n\r\n if (body.incidentid) {\r\n body.incidentDetails = await GetIncidentDetailsAsync(body.incidentid);\r\n }\r\n\r\n if (body.complaintid) {\r\n body.complaintDetails = await GetComplaintDetailsAsync(body.complaintid);\r\n }\r\n\r\n return {\r\n response: response,\r\n noncomplianceid: body.noncomplianceid,\r\n type: body.type,\r\n reference: body.reference,\r\n subject: body.subject,\r\n status: body.status,\r\n licenceid: body.licenceid,\r\n licenceprofileid: body.licenceprofileid,\r\n datesubmitted: formatDate(body.datesubmitted),\r\n condition: body.condition,\r\n complianceinvestigationid: body.complianceinvestigationid,\r\n licenseesubmissionid: body.licenseesubmissionid,\r\n incidentid: body.incidentid,\r\n complaintid: body.complaintid,\r\n description: body.description,\r\n dateofnoncompliance: formatDate(body.dateofnoncompliance),\r\n dateofnotification: formatDate(body.dateofnotification),\r\n complianceInvestigationDetails: body.complianceInvestigationDetails,\r\n licenseeReturnDetails: body.licenseeReturnDetails,\r\n licenceDetails: licenceDetails,\r\n incidentDetails: body.incidentDetails,\r\n complaintDetails: body.complaintDetails,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetNonComplianceDetailsAsync,\r\n INonComplianceDetails,\r\n} from \"../../api/INonCompliance\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface NonComplianceState {\r\n fetchStatus: string;\r\n nonCompliance?: INonComplianceDetails;\r\n}\r\n\r\nconst initialState: NonComplianceState = {\r\n fetchStatus: \"Loading...\",\r\n nonCompliance: undefined,\r\n};\r\n\r\nexport const loadNonComplianceAsync = createAsyncThunk(\r\n \"nonCompliance/load\",\r\n async (nonComplianceId: string) => {\r\n const response = await GetNonComplianceDetailsAsync(nonComplianceId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const nonComplianceSlice = createSlice({\r\n name: \"nonCompliance\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadNonComplianceAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadNonComplianceAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.nonCompliance = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectNonCompliance = (state: RootState) => state.nonCompliance;\r\n\r\nexport default nonComplianceSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetComplianceInvestigationActionOrInstructionDetailsAsync,\r\n IComplianceInvestigationActionOrInstructionDetails,\r\n} from \"../../api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface ActionOrInstructionState {\r\n fetchStatus: string;\r\n actionOrInstruction?: IComplianceInvestigationActionOrInstructionDetails;\r\n}\r\n\r\nconst initialState: ActionOrInstructionState = {\r\n fetchStatus: \"Loading...\",\r\n actionOrInstruction: undefined,\r\n};\r\n\r\nexport const loadActionOrInstructionAsync = createAsyncThunk(\r\n \"actionOrInstruction/load\",\r\n async (taskId: string) => {\r\n const response =\r\n await GetComplianceInvestigationActionOrInstructionDetailsAsync(taskId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const actionOrInstructionSlice = createSlice({\r\n name: \"actionOrInstruction\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadActionOrInstructionAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadActionOrInstructionAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.actionOrInstruction = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectActionOrInstruction = (state: RootState) =>\r\n state.actionOrInstruction;\r\n\r\nexport default actionOrInstructionSlice.reducer;\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetEpaCorrespondenceDetailsAsync,\r\n IEpaCorrespondenceDetails,\r\n} from \"../../api/IEpaCorrespondence\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface EpaCorrespondenceState {\r\n fetchStatus: string;\r\n epaCorrespondence?: IEpaCorrespondenceDetails;\r\n}\r\n\r\nconst initialState: EpaCorrespondenceState = {\r\n fetchStatus: \"Loading...\",\r\n epaCorrespondence: undefined,\r\n};\r\n\r\nexport const loadEpaCorrespondenceAsync = createAsyncThunk(\r\n \"epaCorrespondence/load\",\r\n async (epaCorrespondenceId: string) => {\r\n const response = await GetEpaCorrespondenceDetailsAsync(\r\n epaCorrespondenceId\r\n );\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const epaCorrespondenceSlice = createSlice({\r\n name: \"epaCorrespondence\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadEpaCorrespondenceAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadEpaCorrespondenceAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.epaCorrespondence = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectEpaCorrespondence = (state: RootState) =>\r\n state.epaCorrespondence;\r\n\r\nexport default epaCorrespondenceSlice.reducer;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate } from \"./DateUtils\";\r\nimport { IDetailsResponse } from \"./IDetailsResponse\";\r\nimport { GetLicenseDetailsAsync, ILicenceDetails } from \"./LicenceDetails\";\r\n\r\nexport interface IThirdPartyCorrespondenceDetails extends IDetailsResponse {\r\n thirdpartycorrespondenceid: string;\r\n type: string;\r\n reference: string;\r\n receivedfrom: string;\r\n subject: string;\r\n status: string;\r\n dateoriginalcorrespondencereceived: string;\r\n dateoforiginalcorrespondence: string;\r\n inspectorsupdate: string;\r\n correspondencetype: string;\r\n licenceid: string;\r\n licenceprofileid: string;\r\n licenceDetails?: ILicenceDetails;\r\n}\r\n\r\nexport async function GetThirdPartyCorrespondenceDetailsAsync(\r\n thirdPartyCorrespondenceId: string\r\n): Promise {\r\n var url = `${API_URL}/MeetingCorrespondence/thirdpartycorrespondencebyid?thirdpartycorrespondence_id=${thirdPartyCorrespondenceId}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/3rdparty-correspondence`;\r\n }\r\n\r\n var response = await fetch(url);\r\n var body = await response.json();\r\n\r\n body.licenceDetails = await GetLicenseDetailsAsync(body.licenceid);\r\n\r\n return {\r\n response: response,\r\n thirdpartycorrespondenceid: body.thirdpartycorrespondenceid,\r\n type: body.type,\r\n reference: body.reference,\r\n receivedfrom: body.receivedfrom,\r\n subject: body.subject,\r\n status: body.status,\r\n dateoriginalcorrespondencereceived: formatDate(\r\n body.dateoriginalcorrespondencereceived\r\n ),\r\n dateoforiginalcorrespondence: formatDate(body.dateoforiginalcorrespondence),\r\n inspectorsupdate: body.inspectorsupdate,\r\n correspondencetype: body.correspondencetype,\r\n licenceid: body.licenceid,\r\n licenceprofileid: body.licenceprofileid,\r\n licenceDetails: body.licenceDetails,\r\n };\r\n}\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetThirdPartyCorrespondenceDetailsAsync,\r\n IThirdPartyCorrespondenceDetails,\r\n} from \"../../api/IThirdPartyCorrespondence\";\r\nimport { RootState } from \"../store\";\r\n\r\nexport interface ThirdPartyCorrespondenceState {\r\n fetchStatus: string;\r\n thirdPartyCorrespondence?: IThirdPartyCorrespondenceDetails;\r\n}\r\n\r\nconst initialState: ThirdPartyCorrespondenceState = {\r\n fetchStatus: \"Loading...\",\r\n thirdPartyCorrespondence: undefined,\r\n};\r\n\r\nexport const loadThirdPartyCorrespondenceAsync = createAsyncThunk(\r\n \"thirdPartyCorrespondence/load\",\r\n async (thirdPartyCorrespondenceId: string) => {\r\n const response = await GetThirdPartyCorrespondenceDetailsAsync(\r\n thirdPartyCorrespondenceId\r\n );\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const thirdPartyCorrespondenceSlice = createSlice({\r\n name: \"thirdPartyCorrespondence\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadThirdPartyCorrespondenceAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadThirdPartyCorrespondenceAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.thirdPartyCorrespondence = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectThirdPartyCorrespondence = (state: RootState) =>\r\n state.thirdPartyCorrespondence;\r\n\r\nexport default thirdPartyCorrespondenceSlice.reducer;\r\n","let API_DOMAIN = \"http://localhost:3001\";\r\n\r\nswitch (process.env.REACT_APP_EPA_ENV) {\r\n case \"localhost\":\r\n API_DOMAIN = \"http://localhost:3001\"; //using https://github.com/typicode/json-server#alternative-port\r\n break;\r\n\r\n case \"inttest\":\r\n API_DOMAIN = \"https://data-int.epa.ie/byproduct/api/v1\";\r\n break;\r\n\r\n case \"bustest\":\r\n API_DOMAIN = \"https://data-tst.epa.ie/byproduct/api/v1\";\r\n //API_DOMAIN = \"http://leapapi-tst.edenireland.ie:8188/api/v1\";\r\n break;\r\n\r\n case \"staging\":\r\n API_DOMAIN = \"https://data-stg.epa.ie/byproduct/api/v1\";\r\n break;\r\n\r\n case \"production\":\r\n API_DOMAIN = \"https://data.epa.ie/byproduct/api/v1\";\r\n break;\r\n}\r\nexport const ENV = API_DOMAIN;\r\nexport const API_URL_ODATA = `${ENV}/odata`;\r\nexport const API_URL = `${ENV}`;\r\n","import { EpaGridOrderByFetchParams } from \"../../leap-components/Grid/EpaGridProps\";\r\nimport { API_URL } from \"./Config\";\r\nimport { FetchResponse } from \".././FetchResponse\";\r\n\r\nexport interface INotifier {\r\n notifier_id: string;\r\n notifier_name: string;\r\n date_received: string;\r\n date_closed: string;\r\n notified_material: string;\r\n reg_no: string;\r\n status: string;\r\n open_for_submissions: boolean;\r\n notified_material_description: string;\r\n quantity: number;\r\n greenfield_or_brownfield: string;\r\n material_production_process: string;\r\n activities_taken: string;\r\n specific_use: string;\r\n source_county: string;\r\n source_name_and_address: string;\r\n source_eircode: string;\r\n source_eastings: string;\r\n source_northings: string;\r\n source_local_authority: string;\r\n use_county: string;\r\n use_name_and_address: string;\r\n use_eir_code: string;\r\n use_eastings: string;\r\n use_northings: string;\r\n use_local_authority: string;\r\n planning_status: string;\r\n planning_refno: string;\r\n planning_grant_ref_date: string;\r\n planning_expiry_date: string;\r\n planning_quantity_authorised: number;\r\n environmental_authorisation: string;\r\n environmental_authorisation_details: string;\r\n type: string;\r\n decision_ref_no: string;\r\n hyperlink: string;\r\n waste_authorisation_type: string;\r\n epa_waste_authorisation: string;\r\n local_authority_id: string;\r\n waste_authorisation_regno: string;\r\n waste_authorisation_expiry_date: string;\r\n licence_type: string;\r\n}\r\n\r\nexport interface INotifierDetails {\r\n notifier_id: string;\r\n notifier_name: string;\r\n date_received: string;\r\n reg_no: string;\r\n status: string;\r\n open_for_submissions: boolean;\r\n source_local_authority: string;\r\n use_local_authority: string;\r\n}\r\n\r\nexport interface INotifierResponse {\r\n response: FetchResponse;\r\n notifier?: INotifierDetails;\r\n}\r\n\r\nexport async function GetNotifierByIdFetchUrl(\r\n notifier_id: string\r\n): Promise {\r\n var url = `${API_URL}/Notifiers/byid?notifier_id=${notifier_id}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/notifier`;\r\n }\r\n\r\n var response = await fetch(url);\r\n\r\n if (!response.ok) {\r\n return {\r\n response: {\r\n ok: false,\r\n httpStatusCode: response.status,\r\n httpErr: response.statusText,\r\n },\r\n };\r\n }\r\n\r\n var body = await response.json();\r\n\r\n const notifier = {\r\n notifier_id: body.notifier_id,\r\n notifier_name: body.notifier_name,\r\n date_received: body.date_received,\r\n reg_no: body.reg_no,\r\n status: body.status,\r\n source_local_authority: body.source_local_authority,\r\n use_local_authority: body.use_local_authority,\r\n open_for_submissions: body.open_for_submissions,\r\n };\r\n\r\n return {\r\n response: {},\r\n notifier: notifier,\r\n };\r\n}\r\n\r\nexport const GetNotifiersFetchUrl = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n filters: any\r\n) => {\r\n let params = `?page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/Notifiers${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/notifiers`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetFilteredNotifiersFetchUrl = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any,\r\n orderBy?: EpaGridOrderByFetchParams\r\n) => {\r\n let params = `?page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var f = filters[i];\r\n let filterId = f.id;\r\n\r\n if (f.value != \"All\") params += `&${filterId}=${f.value}`;\r\n }\r\n }\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n if (orderBy) {\r\n let orderByParam = \"\";\r\n switch (orderBy?.orderByName) {\r\n case \"Date Closed\":\r\n orderByParam = \"date_closed\";\r\n break;\r\n\r\n case \"Date Received\":\r\n orderByParam = \"date_received\";\r\n break;\r\n\r\n case \"Reg Number\":\r\n default:\r\n orderByParam = \"notification_number\";\r\n }\r\n\r\n params += `&order_by=${encodeURIComponent(orderByParam)}&ascending=${\r\n orderBy.orderByAscending ? \"true\" : \"false\"\r\n }`;\r\n }\r\n\r\n let url = `${API_URL}/Notifiers/filteredregistrationslist${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/notifiers`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetFilteredNotifiersCsv = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any,\r\n orderBy?: EpaGridOrderByFetchParams\r\n) => {\r\n let params = `?page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var f = filters[i];\r\n let filterId = f.id;\r\n params += `&${filterId}=${f.value}`;\r\n }\r\n }\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n if (orderBy) {\r\n let orderByParam = \"\";\r\n switch (orderBy?.orderByName) {\r\n case \"Date Closed\":\r\n orderByParam = \"date_closed\";\r\n break;\r\n\r\n case \"Date Received\":\r\n orderByParam = \"date_received\";\r\n break;\r\n\r\n case \"Reg Number\":\r\n default:\r\n orderByParam = \"notification_number\";\r\n }\r\n\r\n params += `&order_by=${encodeURIComponent(orderByParam)}&ascending=${\r\n orderBy.orderByAscending ? \"true\" : \"false\"\r\n }`;\r\n }\r\n\r\n let url = `${API_URL}/Notifiers/filteredresitrationscsv${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/notifiers`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetFilteredEowsFetchUrl = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any,\r\n orderBy?: EpaGridOrderByFetchParams\r\n) => {\r\n let params = `?page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var f = filters[i];\r\n let filterId = f.id;\r\n\r\n if (f.value != \"All\") params += `&${filterId}=${f.value}`;\r\n }\r\n }\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n if (orderBy) {\r\n let orderByParam = \"\";\r\n switch (orderBy?.orderByName) {\r\n case \"Registration Date\":\r\n orderByParam = \"date_received\";\r\n break;\r\n\r\n case \"Operator\":\r\n orderByParam = \"notifier_name\";\r\n break;\r\n\r\n case \"Reg Number\":\r\n default:\r\n orderByParam = \"notification_number\";\r\n }\r\n\r\n params += `&order_by=${encodeURIComponent(orderByParam)}&ascending=${\r\n orderBy.orderByAscending ? \"true\" : \"false\"\r\n }`;\r\n }\r\n\r\n let url = `${API_URL}/Notifiers/filteredeowlist${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/eows`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetFilteredEowsCsv = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any,\r\n orderBy?: EpaGridOrderByFetchParams\r\n) => {\r\n let params = `?page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var f = filters[i];\r\n let filterId = f.id;\r\n params += `&${filterId}=${f.value}`;\r\n }\r\n }\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n if (orderBy) {\r\n let orderByParam = \"\";\r\n switch (orderBy?.orderByName) {\r\n case \"Registration Date\":\r\n orderByParam = \"date_received\";\r\n break;\r\n\r\n case \"Operator\":\r\n orderByParam = \"notifier_name\";\r\n break;\r\n\r\n case \"Reg Number\":\r\n default:\r\n orderByParam = \"notification_number\";\r\n }\r\n\r\n params += `&order_by=${encodeURIComponent(orderByParam)}&ascending=${\r\n orderBy.orderByAscending ? \"true\" : \"false\"\r\n }`;\r\n }\r\n\r\n let url = `${API_URL}/Notifiers/filteredeowcsv${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/eows`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport const GetFilteredDocumentsFetchUrl = (\r\n notifierId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `?notifier_id=${notifierId}&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (filters) {\r\n for (var i = 0; i < filters.length; i++) {\r\n var f = filters[i];\r\n let filterId = f.id;\r\n params += `&${filterId}=${f.value}`;\r\n }\r\n }\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/Documents/bynotifier${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/documents`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\r\nimport {\r\n GetNotifierByIdFetchUrl,\r\n INotifierResponse,\r\n} from \"../../../../api/CircularEconomy/INotifiers\";\r\nimport { RootState } from \"../../../../redux/store\";\r\n\r\nexport interface NotifierState {\r\n fetchStatus: string;\r\n error: any;\r\n NotifierResponse?: INotifierResponse;\r\n}\r\n\r\nconst initialState: NotifierState = {\r\n error: undefined,\r\n fetchStatus: \"Loading...\",\r\n NotifierResponse: undefined,\r\n};\r\n\r\nexport const loadNotifierAsync = createAsyncThunk(\r\n \"notifier/load\",\r\n async (notifierId: string) => {\r\n const response = await GetNotifierByIdFetchUrl(notifierId);\r\n // The value we return becomes the `fulfilled` action payload\r\n return response;\r\n }\r\n);\r\n\r\nexport const notifierSlice = createSlice({\r\n name: \"notifier\",\r\n initialState,\r\n // The `reducers` field lets us define reducers and generate associated actions\r\n reducers: {},\r\n // The `extraReducers` field lets the slice handle actions defined elsewhere,\r\n // including actions generated by createAsyncThunk or in other slices.\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(loadNotifierAsync.pending, (state) => {\r\n state.fetchStatus = \"loading\";\r\n })\r\n .addCase(loadNotifierAsync.fulfilled, (state, action) => {\r\n state.fetchStatus = \"idle\";\r\n state.NotifierResponse = action.payload;\r\n })\r\n .addCase(loadNotifierAsync.rejected, (state, action) => {\r\n state.fetchStatus = \"rejected\";\r\n state.error = action.payload;\r\n });\r\n },\r\n});\r\n\r\nexport const selectNotifierResponse = (state: RootState) =>\r\n state.notifierResponse;\r\n\r\nexport default notifierSlice.reducer;\r\n","import { configureStore, ThunkAction, Action } from \"@reduxjs/toolkit\";\r\nimport counterReducer from \"./slices/counter\";\r\nimport legalReducer from \"./slices/legal\";\r\nimport licenceProfileReducer from \"./slices/licenceProfile\";\r\nimport complianceOptionsReducer from \"./slices/compliance\";\r\nimport siteVisitReducer from \"./slices/siteVisit\";\r\nimport licenseeReturnReducer from \"./slices/licenseeReturn\";\r\nimport requestForInformationReducer from \"./slices/requestForInformation\";\r\nimport findingAndRecommendationReducer from \"./slices/findingAndRecommendation\";\r\nimport instructionReducer from \"./slices/instruction\";\r\nimport edenMessageReducer from \"./slices/edenMessage\";\r\nimport complianceInvestigationReducer from \"./slices/complianceInvestigation\";\r\nimport incidentReducer from \"./slices/incident\";\r\nimport complaintReducer from \"./slices/complaint\";\r\nimport incidentUpdateRequestReducer from \"./slices/incidentUpdateRequest\";\r\nimport meetingReducer from \"./slices/meeting\";\r\nimport nonComplianceReducer from \"./slices/nonCompliance\";\r\nimport actionOrInstructionReducer from \"./slices/actionOrInstruction\";\r\nimport epaCorrespondenceReducer from \"./slices/epaCorrespondence\";\r\nimport thirdPartyCorrespondenceReducer from \"./slices/thirdPartyCorrespondence\";\r\nimport notifierReducer from \"../apps/circulareconomy/redux/slices/notifier\";\r\n\r\nexport const store = configureStore({\r\n reducer: {\r\n counter: counterReducer,\r\n legal: legalReducer,\r\n licenceProfileResponse: licenceProfileReducer,\r\n complianceOptions: complianceOptionsReducer,\r\n siteVisit: siteVisitReducer,\r\n licenseeReturn: licenseeReturnReducer,\r\n requestForInformation: requestForInformationReducer,\r\n findingAndRecommendationReducer: findingAndRecommendationReducer,\r\n instruction: instructionReducer,\r\n edenMessage: edenMessageReducer,\r\n complianceInvestigation: complianceInvestigationReducer,\r\n incident: incidentReducer,\r\n complaint: complaintReducer,\r\n incidentUpdateRequest: incidentUpdateRequestReducer,\r\n meeting: meetingReducer,\r\n nonCompliance: nonComplianceReducer,\r\n actionOrInstruction: actionOrInstructionReducer,\r\n epaCorrespondence: epaCorrespondenceReducer,\r\n thirdPartyCorrespondence: thirdPartyCorrespondenceReducer,\r\n notifierResponse: notifierReducer,\r\n },\r\n});\r\n\r\nexport type AppDispatch = typeof store.dispatch;\r\nexport type RootState = ReturnType;\r\nexport type AppThunk = ThunkAction<\r\n ReturnType,\r\n RootState,\r\n unknown,\r\n Action\r\n>;\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\n\r\nconst resources = {\r\n en: {\r\n translation: {\r\n Search: \"Search projects…\",\r\n \"Welcome back\": \"Welcome back\",\r\n },\r\n },\r\n fr: {\r\n translation: {\r\n Search: \"Rechercher…\",\r\n \"Welcome back\": \"Bon retour\",\r\n },\r\n },\r\n de: {\r\n translation: {\r\n Search: \"Suchen…\",\r\n \"Welcome back\": \"Willkommen zurück\",\r\n },\r\n },\r\n nl: {\r\n translation: {\r\n Search: \"Zoeken…\",\r\n \"Welcome back\": \"Welkom terug\",\r\n },\r\n },\r\n};\r\n\r\ni18n.use(initReactI18next).init({\r\n resources,\r\n lng: \"en\",\r\n fallbackLng: \"en\",\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n});\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\ninterface AuthGuardType {\r\n className?: string;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst Main = ({ className, children }: AuthGuardType) => (\r\n
{children}
\r\n);\r\n\r\nexport default Main;\r\n","export const SIDEBAR_POSITION = {\r\n LEFT: \"left\",\r\n RIGHT: \"right\",\r\n};\r\n\r\nexport const SIDEBAR_BEHAVIOR = {\r\n STICKY: \"sticky\",\r\n FIXED: \"fixed\",\r\n COMPACT: \"compact\",\r\n};\r\n\r\nexport const LAYOUT = {\r\n FLUID: \"fluid\",\r\n BOXED: \"boxed\",\r\n};\r\n\r\nexport const THEME = {\r\n DEFAULT: \"default\",\r\n COLORED: \"colored\",\r\n DARK: \"dark\",\r\n LIGHT: \"light\",\r\n};\r\n\r\nexport const THEME_PALETTE_LIGHT = {\r\n primary: \"#3B82EC\",\r\n \"primary-dark\": \"#1659c7\",\r\n \"primary-light\": \"#84aef2\",\r\n secondary: \"#495057\",\r\n success: \"#4BBF73\",\r\n info: \"#1F9BCF\",\r\n warning: \"#f0ad4e\",\r\n danger: \"#d9534f\",\r\n white: \"#fff\",\r\n \"gray-100\": \"#f4f7f9\",\r\n \"gray-200\": \"#e2e8ee\",\r\n \"gray-300\": \"#dee6ed\",\r\n \"gray-400\": \"#ced4da\",\r\n \"gray-500\": \"#adb5bd\",\r\n \"gray-600\": \"#6c757d\",\r\n \"gray-700\": \"#495057\",\r\n \"gray-800\": \"#020202\",\r\n \"gray-900\": \"#212529\",\r\n black: \"#000\",\r\n};\r\n\r\nexport const THEME_PALETTE_DARK = {\r\n ...THEME_PALETTE_LIGHT,\r\n \"primary-dark\": \"#84aef2\",\r\n \"primary-light\": \"#1659c7\",\r\n white: \"#293042\",\r\n \"gray-100\": \"#3e4555\",\r\n \"gray-200\": \"#545968\",\r\n \"gray-300\": \"#696e7b\",\r\n \"gray-400\": \"#7f838e\",\r\n \"gray-500\": \"#9498a1\",\r\n \"gray-600\": \"#a9acb3\",\r\n \"gray-700\": \"#bfc1c6\",\r\n \"gray-800\": \"#d4d6d9\",\r\n \"gray-900\": \"#eaeaec\",\r\n black: \"#fff\",\r\n};\r\n","import { useEffect, useRef } from \"react\";\r\n\r\nfunction useOuterClick(callback: (e: React.MouseEvent) => void) {\r\n // Initialize mutable ref, which stores callback\r\n const callbackRef = useRef();\r\n // returned to client, who marks \"border\" element\r\n const innerRef = useRef();\r\n\r\n // Update callback on each render, so second useEffect has access to current value\r\n useEffect(() => {\r\n callbackRef.current = callback;\r\n });\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleClick);\r\n return () => document.removeEventListener(\"click\", handleClick);\r\n function handleClick(e: any) {\r\n if (\r\n innerRef.current &&\r\n callbackRef.current &&\r\n !innerRef.current.contains(e.target)\r\n )\r\n callbackRef.current(e);\r\n }\r\n }, []);\r\n\r\n return innerRef;\r\n}\r\n\r\nexport default useOuterClick;\r\n","import { useState } from \"react\";\r\n\r\nfunction useLocalStorage(key: any, initialValue: any) {\r\n // State to store our value\r\n // Pass initial state function to useState so logic is only executed once\r\n const [storedValue, setStoredValue] = useState(() => {\r\n try {\r\n // Get from local storage by key\r\n const item = window.localStorage.getItem(key);\r\n // Parse stored json or if none return initialValue\r\n return item ? JSON.parse(item) : initialValue;\r\n } catch (error) {\r\n // If error also return initialValue\r\n console.log(error);\r\n return initialValue;\r\n }\r\n });\r\n\r\n // Return a wrapped version of useState's setter function that\r\n // persists the new value to localStorage.\r\n const setValue = (value: any) => {\r\n try {\r\n // Allow value to be a function so we have same API as useState\r\n const valueToStore =\r\n value instanceof Function ? value(storedValue) : value;\r\n // Save state\r\n setStoredValue(valueToStore);\r\n // Save to local storage\r\n window.localStorage.setItem(key, JSON.stringify(valueToStore));\r\n } catch (error) {\r\n // A more advanced implementation would handle the error case\r\n console.log(error);\r\n }\r\n };\r\n\r\n return [storedValue, setValue];\r\n}\r\n\r\nexport default useLocalStorage;\r\n","import { useEffect } from \"react\";\r\nimport useLocalStorage from \"./useLocalStorage\";\r\n\r\nfunction useSettingsState(key: any, initialValue: string) {\r\n const [value, setValue] = useLocalStorage(key, initialValue);\r\n\r\n useEffect(() => {\r\n // Set data attribute on body element\r\n document.body.dataset[key] = value;\r\n\r\n // Replace style sheet if dark theme gets toggled\r\n if (key === \"theme\") {\r\n const theme = value === \"dark\" ? \"dark\" : \"light\";\r\n const stylesheet = document.querySelector(\".js-stylesheet\");\r\n stylesheet!.setAttribute(\"href\", `/css/${theme}.css`);\r\n }\r\n }, [value, key]);\r\n\r\n return [value, setValue];\r\n}\r\n\r\nexport default useSettingsState;\r\n","import { TypedUseSelectorHook, useSelector } from \"react-redux\";\r\nimport type { RootState } from \"../redux/store\";\r\n\r\n// Use throughout your app instead of plain `useSelector`\r\nconst useAppSelector: TypedUseSelectorHook = useSelector;\r\n\r\nexport default useAppSelector;\r\n","import React from \"react\";\r\nimport { Navigate, useNavigate } from \"react-router-dom\";\r\nimport { THEME } from \"../../constants\";\r\nimport useSettingsState from \"../../hooks/useSettingsState\";\r\n\r\nimport useAppSelector from \"../../hooks/useAppSelector\";\r\n\r\nimport { selectAcceptedTermsOfService } from \"../../redux/slices/legal\";\r\n\r\nconst initialState = {\r\n theme: THEME.DEFAULT,\r\n setTheme: (layout: string) => {},\r\n};\r\n\r\nconst ThemeContext = React.createContext(initialState);\r\n\r\ninterface ThemeProviderType {\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction ThemeProvider({ children }: ThemeProviderType) {\r\n const [theme, setTheme] = useSettingsState(\"theme\", THEME.DEFAULT);\r\n\r\n const acceptedTermsOfService = useAppSelector(selectAcceptedTermsOfService);\r\n\r\n const currentUrl = window.location.href;\r\n if (currentUrl.toLowerCase().indexOf(\"/confirm\") <= 0) {\r\n if (!acceptedTermsOfService) {\r\n var newUrl = \"/confirm?returnUrl=\" + encodeURIComponent(currentUrl);\r\n return ;\r\n }\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport { ThemeProvider, ThemeContext };\r\n","import { useContext } from \"react\";\r\nimport { ThemeContext } from \"../apps/leap/ThemeContext\";\r\n\r\nconst useTheme = () => useContext(ThemeContext);\r\n\r\nexport default useTheme;\r\n","import React, { useState } from \"react\";\r\n\r\nimport { SIDEBAR_POSITION, SIDEBAR_BEHAVIOR } from \"../constants\";\r\nimport useSettingsState from \"../hooks/useSettingsState\";\r\n\r\nconst initialState = {\r\n isOpen: true,\r\n setIsOpen: (open: boolean) => {},\r\n setPosition: (position: string) => {},\r\n setBehavior: (behavior: string) => {},\r\n position: SIDEBAR_POSITION.LEFT,\r\n behavior: SIDEBAR_BEHAVIOR.STICKY,\r\n};\r\n\r\nconst SidebarContext = React.createContext(initialState);\r\n\r\ninterface SidebarProviderType {\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction SidebarProvider({ children }: SidebarProviderType) {\r\n const [isOpen, setIsOpen] = useState(true);\r\n const [position, setPosition] = useSettingsState(\r\n \"sidebarPosition\",\r\n SIDEBAR_POSITION.LEFT\r\n );\r\n const [behavior, setBehavior] = useSettingsState(\r\n \"sidebarBehavior\",\r\n SIDEBAR_BEHAVIOR.STICKY\r\n );\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport { SidebarProvider, SidebarContext };\r\n","import { useContext } from \"react\";\r\nimport { SidebarContext } from \"../contexts/SidebarContext\";\r\n\r\nconst useSidebar = () => useContext(SidebarContext);\r\n\r\nexport default useSidebar;\r\n","import React from \"react\";\r\n\r\nimport { LAYOUT } from \"../constants\";\r\nimport useSettingsState from \"../hooks/useSettingsState\";\r\n\r\nconst initialState = {\r\n layout: LAYOUT.FLUID,\r\n setLayout: (layout: string) => {},\r\n};\r\n\r\nconst LayoutContext = React.createContext(initialState);\r\n\r\ninterface LayoutProviderType {\r\n children: React.ReactNode;\r\n}\r\n\r\nfunction LayoutProvider({ children }: LayoutProviderType) {\r\n const [layout, setLayout] = useSettingsState(\"layout\", LAYOUT.FLUID);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport { LayoutProvider, LayoutContext };\r\n","import { useContext } from \"react\";\r\nimport { LayoutContext } from \"../contexts/LayoutContext\";\r\n\r\nconst useLayout = () => useContext(LayoutContext);\r\n\r\nexport default useLayout;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport { Alert, Button } from \"react-bootstrap\";\r\n\r\nimport { Sliders, BookOpen } from \"react-feather\";\r\n\r\nimport {\r\n SIDEBAR_POSITION,\r\n SIDEBAR_BEHAVIOR,\r\n LAYOUT,\r\n THEME,\r\n} from \"../constants\";\r\nimport useOuterClick from \"../hooks/useOuterClick\";\r\nimport useTheme from \"../hooks/useTheme\";\r\nimport useSidebar from \"../hooks/useSidebar\";\r\nimport useLayout from \"../hooks/useLayout\";\r\n\r\nconst themeOptions = [\r\n {\r\n name: \"Default\",\r\n value: THEME.DEFAULT,\r\n },\r\n {\r\n name: \"Colored\",\r\n value: THEME.COLORED,\r\n },\r\n {\r\n name: \"Dark\",\r\n value: THEME.DARK,\r\n },\r\n {\r\n name: \"Light\",\r\n value: THEME.LIGHT,\r\n },\r\n];\r\n\r\nconst sidebarPositionOptions = [\r\n {\r\n name: \"Left\",\r\n value: SIDEBAR_POSITION.LEFT,\r\n },\r\n {\r\n name: \"Right\",\r\n value: SIDEBAR_POSITION.RIGHT,\r\n },\r\n];\r\n\r\nconst sidebarBehaviorOptions = [\r\n {\r\n name: \"Sticky\",\r\n value: SIDEBAR_BEHAVIOR.STICKY,\r\n },\r\n {\r\n name: \"Fixed\",\r\n value: SIDEBAR_BEHAVIOR.FIXED,\r\n },\r\n {\r\n name: \"Compact\",\r\n value: SIDEBAR_BEHAVIOR.COMPACT,\r\n },\r\n];\r\n\r\nconst layoutOptions = [\r\n {\r\n name: \"Fluid\",\r\n value: LAYOUT.FLUID,\r\n },\r\n {\r\n name: \"Boxed\",\r\n value: LAYOUT.BOXED,\r\n },\r\n];\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nconst Settings = () => {\r\n const query = useQuery();\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const { theme, setTheme } = useTheme();\r\n const { position, setPosition, behavior, setBehavior } = useSidebar();\r\n const { layout, setLayout } = useLayout();\r\n\r\n const innerRef = useOuterClick(() => {\r\n setIsOpen(false);\r\n });\r\n\r\n const setSettingByQueryParam = (name: string, set: any) => {\r\n const value = query.get(name);\r\n if (value) {\r\n set(value);\r\n }\r\n };\r\n\r\n // Read from query parameter (e.g. ?theme=dark)\r\n // only for demo purposes\r\n useEffect(() => {\r\n setSettingByQueryParam(\"theme\", setTheme);\r\n setSettingByQueryParam(\"sidebarPosition\", setPosition);\r\n setSettingByQueryParam(\"sidebarBehavior\", setBehavior);\r\n setSettingByQueryParam(\"layout\", setLayout);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n \r\n
\r\n setIsOpen(true)}\r\n >\r\n Builder\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n setIsOpen(false)}\r\n >\r\n

Theme Builder

\r\n
\r\n
\r\n \r\n
\r\n Hey there! Set your own customized style below.\r\n Choose the ones that best fits your needs.\r\n
\r\n
\r\n\r\n
\r\n Color scheme\r\n \r\n The perfect color mode for your app.\r\n \r\n
\r\n {themeOptions.map(({ name, value }) => (\r\n
\r\n
\r\n \r\n {name}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Sidebar position\r\n \r\n \r\n Toggle the position of the sidebar.\r\n \r\n
\r\n {sidebarPositionOptions.map(({ name, value }) => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Sidebar behavior\r\n \r\n \r\n Change the behavior of the sidebar.\r\n \r\n
\r\n {sidebarBehaviorOptions.map(({ name, value }) => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n Layout\r\n \r\n Toggle container layout system.\r\n \r\n
\r\n {layoutOptions.map(({ name, value }) => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Purchase\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Settings;\r\n","import React from \"react\";\r\nimport { Outlet } from \"react-router-dom\";\r\n\r\nimport { Col, Container, Row } from \"react-bootstrap\";\r\n\r\nimport Main from \"../components/Main\";\r\nimport Settings from \"../components/Settings\";\r\n\r\nconst Auth: React.FC = ({ children }) => (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {children}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n);\r\n\r\nexport default Auth;\r\n","import React from \"react\";\r\n\r\nconst Wrapper: React.FC = ({ children }) => (\r\n
{children}
\r\n);\r\n\r\nexport default Wrapper;\r\n","import React from \"react\";\r\n\r\nconst Content: React.FC = ({ children }) => (\r\n
{children}
\r\n);\r\n\r\nexport default Content;\r\n","import React, { Fragment, ReactNode, useLayoutEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nfunction ScrollToTop({ children }: { children: ReactNode }) {\r\n const location = useLocation();\r\n useLayoutEffect(() => {\r\n document.getElementsByTagName(\"body\")[0].scrollTop = 0;\r\n }, [location.pathname]);\r\n return {children};\r\n}\r\n\r\nexport { ScrollToTop };\r\n","import React from \"react\";\r\nimport { Outlet } from \"react-router-dom\";\r\nimport Wrapper from \"../components/Wrapper\";\r\nimport Main from \"../components/Main\";\r\nimport Content from \"../components/Content\";\r\nimport { ScrollToTop } from \"../ScrollToTop\";\r\n\r\nconst LeapDashboard: React.FC = ({ children }) => (\r\n \r\n \r\n \r\n
\r\n \r\n {children}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n);\r\n\r\nexport default LeapDashboard;\r\n","import React from \"react\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport { Container } from \"react-bootstrap\";\r\n\r\nimport { Outlet } from \"react-router-dom\";\r\n\r\nconst LicenceProfileDashboard: React.FC = ({ children }) => (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n);\r\n\r\nexport default LicenceProfileDashboard;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Helmet } from \"react-helmet-async\";\r\n\r\nimport { Button } from \"react-bootstrap\";\r\n\r\nconst Page404 = () => (\r\n \r\n \r\n
\r\n

404

\r\n

Page not found.

\r\n

\r\n The page you are looking for might have been removed.\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n);\r\n\r\nexport default Page404;\r\n","import React from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\n\r\ninterface IEpaCard {\r\n title?: string;\r\n content?: JSX.Element;\r\n}\r\n\r\nconst EpaCard = ({ title, content }: IEpaCard) => (\r\n \r\n \r\n \r\n

{title}

\r\n
\r\n
\r\n {content}\r\n
\r\n);\r\n\r\nexport default EpaCard;\r\n","import { Col, Form, Row } from \"react-bootstrap\";\r\n\r\ninterface IEpaField {\r\n label: string;\r\n value: string | JSX.Element;\r\n labelClassName?: string;\r\n valueClassName?: string;\r\n}\r\n\r\nconst EpaField = ({\r\n label,\r\n value,\r\n labelClassName,\r\n valueClassName,\r\n}: IEpaField) => {\r\n if (!labelClassName) labelClassName = \"col-4 col-md-4\";\r\n\r\n if (!valueClassName) valueClassName = \"col-8 col-md-8\";\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {value}\r\n \r\n );\r\n};\r\n\r\nexport default EpaField;\r\n","import { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\nimport EpaField from \"../../leap-components/EpaField\";\r\n\r\ninterface IActiveLicenceDetailsProps {\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst ActiveLicenceDetails = ({\r\n licenceProfile,\r\n}: IActiveLicenceDetailsProps) => {\r\n var bodyElements = (\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 return ;\r\n};\r\n\r\nexport default ActiveLicenceDetails;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\n\r\ninterface IBreadCrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile }: IBreadCrumbProps) => {\r\n const text = `${licenceProfile.organisation} - ${licenceProfile.profileNo}`;\r\n return (\r\n \r\n \r\n \r\n LEAP Online Home\r\n {text}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BreadCrumbs;\r\n","import { useState } from \"react\";\r\nimport { useAsyncDebounce } from \"react-table\";\r\n\r\n//https://gist.github.com/srsandy/033aeb3d3f5b0cba3553fe65b6c0de09#file-globalfilter-js-L10\r\n\r\nconst ColumnFilter = ({ column }: any) => {\r\n const { filterValue, setFilter } = column;\r\n const [value, setValue] = useState(filterValue);\r\n const onChange = useAsyncDebounce((value) => {\r\n setFilter(value || undefined);\r\n }, 300);\r\n return (\r\n \r\n {\r\n setValue(e.target.value);\r\n onChange(e.target.value);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ColumnFilter;\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faSpinner } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nvar foreGroundColor = \"#014891\";\r\n\r\nconst Spinner = () => (\r\n \r\n \r\n \r\n);\r\n\r\nexport { Spinner };\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport {\r\n usePagination,\r\n useTable,\r\n useFilters,\r\n useGlobalFilter,\r\n TableOptions,\r\n} from \"react-table\";\r\nimport { Button, Col, Form, Pagination, Row, Table } from \"react-bootstrap\";\r\nimport ColumnFilter from \"./ColumnFilter\";\r\nimport { Spinner } from \"../../icons/Spinner\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faSort,\r\n faSortDown,\r\n faSortUp,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { EpaGridOrderBy, EpaGridOrderByFetchParams } from \"../EpaGridProps\";\r\n\r\n//https://react-table-v7.tanstack.com/docs/examples/data-driven-classes-and-styles\r\n\r\n// Server side pagination: https://react-table-v7.tanstack.com/docs/faq#how-can-i-debounce-rapid-table-state-changes\r\nexport interface FetchGridProps extends TableOptions> {\r\n enableQuickFind?: boolean;\r\n enablePagination?: boolean;\r\n exportToCsvFunction?: (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => string;\r\n fetchUrlFunction: (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any,\r\n orderBy?: EpaGridOrderByFetchParams\r\n ) => string;\r\n //format an array response into other formatting\r\n formatFunction?: (rows: Array) => Array;\r\n //format any response format to convert into an already formatted response with an OpenApi equivalent format\r\n formatResponseFunction?: (response: any) => any;\r\n searchText?: string;\r\n orderBy?: EpaGridOrderBy;\r\n}\r\n\r\nconst FetchGrid = (props: FetchGridProps) => {\r\n const PAGE_NO = 0;\r\n\r\n const [quickFindSearch, setQuickFindSearch] = useState(\"\");\r\n const [recordsPerPage, setRecordsPerPage] = useState(10);\r\n const [totalCount, setTotalCount] = useState(0);\r\n const [tableData, setTableData] = useState([]);\r\n const [totalPage, setTotalPages] = useState(1);\r\n const [loading, setLoading] = useState(true);\r\n const { columns, data } = props;\r\n const exportToCsvFn = props.exportToCsvFunction;\r\n const fetchUrlFn = props.fetchUrlFunction;\r\n const formatFn = props.formatFunction;\r\n const formatAnyResponseFn = props.formatResponseFunction;\r\n const enablePagination = props.enablePagination === true;\r\n const enableQuickFind = props.enableQuickFind === true;\r\n const propsSearchText = props.searchText;\r\n const [orderByColumnName, setOrderByColumnName] = useState(\"\");\r\n const [orderByAscending, setOrderByAscending] = useState(false);\r\n const orderBy = props.orderBy;\r\n\r\n const fetchRowData = useCallback(\r\n async (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any,\r\n fetchUrlFn: any,\r\n orderByName: string,\r\n orderByAsc: boolean\r\n ) => {\r\n try {\r\n const fetchUrl = fetchUrlFn(\r\n pageNo,\r\n recordsPerPage,\r\n propsSearchText ? propsSearchText : searchText,\r\n filters,\r\n orderBy\r\n ? { orderByName: orderByName, orderByAscending: orderByAsc }\r\n : null\r\n );\r\n const res = await fetch(fetchUrl);\r\n const json = await res.json();\r\n\r\n const reponseData = formatAnyResponseFn\r\n ? formatAnyResponseFn(json)\r\n : json;\r\n\r\n const responseTableData = formatFn\r\n ? formatFn(reponseData)\r\n : reponseData?.list || [];\r\n\r\n setTableData(responseTableData);\r\n setTotalCount(reponseData?.count || 0);\r\n setTotalPages(\r\n (recordsPerPage > 0 &&\r\n Math.floor(reponseData?.count / recordsPerPage) + 1) ||\r\n 1\r\n );\r\n setLoading(false);\r\n } catch (err) {}\r\n },\r\n []\r\n );\r\n\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n // Let's set up our default Filter UI\r\n Filter: ColumnFilter,\r\n }),\r\n []\r\n );\r\n\r\n const toggleSortBy = (columnName: string) => {\r\n if (columnName === orderByColumnName) {\r\n setOrderByAscending(!orderByAscending);\r\n } else {\r\n setOrderByColumnName(columnName);\r\n setOrderByAscending(true);\r\n }\r\n };\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n rows,\r\n prepareRow,\r\n page,\r\n canPreviousPage,\r\n canNextPage,\r\n pageOptions,\r\n pageCount,\r\n gotoPage,\r\n nextPage,\r\n previousPage,\r\n setPageSize,\r\n setGlobalFilter,\r\n // Get the state from the instance\r\n state: { pageIndex, pageSize, globalFilter, filters },\r\n } = useTable(\r\n {\r\n columns,\r\n data: tableData,\r\n defaultColumn,\r\n manualPagination: true,\r\n manualGlobalFilter: true,\r\n manualFilters: true,\r\n manualSortBy: true,\r\n initialState: {\r\n pageIndex: PAGE_NO,\r\n pageSize: recordsPerPage,\r\n },\r\n pageCount: totalPage,\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n usePagination\r\n );\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n fetchRowData(\r\n pageIndex + 1,\r\n recordsPerPage,\r\n propsSearchText ? propsSearchText : quickFindSearch,\r\n filters,\r\n fetchUrlFn,\r\n orderByColumnName,\r\n orderByAscending\r\n );\r\n }, [\r\n pageIndex,\r\n recordsPerPage,\r\n quickFindSearch,\r\n filters,\r\n fetchUrlFn,\r\n propsSearchText,\r\n orderByColumnName,\r\n orderByAscending,\r\n ]);\r\n\r\n useEffect(() => {\r\n setRecordsPerPage(pageSize);\r\n gotoPage(0);\r\n }, [pageSize, gotoPage]);\r\n\r\n return (\r\n
\r\n {enableQuickFind && (\r\n \r\n \r\n {\r\n setQuickFindSearch(e.target.value);\r\n }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {loading && (\r\n \r\n \r\n \r\n )}\r\n {!loading &&\r\n rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n {column.render(\"Header\")}\r\n {/* Add a sort direction indicator */}\r\n {orderBy &&\r\n orderBy.enabledOrderByColumns &&\r\n orderBy.enabledOrderByColumns?.filter(\r\n (colName) => colName === column.Header\r\n ).length > 0 && (\r\n toggleSortBy(column.Header as string)}\r\n >\r\n {column.Header === orderByColumnName ? ( //isSorted\r\n orderByAscending ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
{column.canFilter ? column.render(\"Filter\") : null}
\r\n
\r\n \r\n
{cell.render(\"Cell\")}
\r\n {enablePagination && (\r\n \r\n \r\n \r\n {\"Page \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n \r\n \r\n Show:\r\n {\r\n setPageSize(Number(e.target.value));\r\n }}\r\n >\r\n {[5, 10, 20, 30, 40, 50].map((pageSize) => (\r\n \r\n ))}\r\n \r\n\r\n Go to page:\r\n {\r\n const page = e.target.value ? Number(e.target.value) - 1 : 0;\r\n gotoPage(page);\r\n }}\r\n style={{ width: \"75px\" }}\r\n />\r\n \r\n {\"Total number of records: \"}\r\n {totalCount}\r\n \r\n \r\n \r\n \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n />\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n />\r\n nextPage()}\r\n disabled={!canNextPage}\r\n />\r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n />\r\n \r\n \r\n \r\n )}\r\n {exportToCsvFn && (\r\n \r\n \r\n {\r\n window.open(\r\n exportToCsvFn(\r\n pageIndex + 1,\r\n recordsPerPage,\r\n propsSearchText ? propsSearchText : quickFindSearch,\r\n filters\r\n ),\r\n \"_blank\"\r\n );\r\n }}\r\n >\r\n Export to CSV\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport { FetchGrid };\r\n","import { Form } from \"react-bootstrap\";\r\n\r\nfunction DefaultColumnFilter({\r\n column: { filterValue, preFilteredRows, setFilter },\r\n}: {\r\n column: any;\r\n}) {\r\n const count = preFilteredRows.length;\r\n\r\n return (\r\n {\r\n setFilter(e.target.value || undefined); // Set undefined to remove the filter entirely\r\n }}\r\n placeholder={`Search ${count} records...`}\r\n className=\"mt-2\"\r\n />\r\n );\r\n}\r\n\r\nexport { DefaultColumnFilter };\r\n","import React from \"react\";\r\nimport {\r\n useTable,\r\n useFilters,\r\n useGlobalFilter,\r\n TableOptions,\r\n} from \"react-table\";\r\n\r\n//https://react-table-v7.tanstack.com/docs/examples/data-driven-classes-and-styles\r\n\r\n// Server side pagination: https://react-table-v7.tanstack.com/docs/faq#how-can-i-debounce-rapid-table-state-changes\r\n\r\nimport { Table, Form } from \"react-bootstrap\";\r\nimport { DefaultColumnFilter } from \"./DefaultColumnFilter\";\r\n\r\nconst NoFetchGrid = (props: TableOptions>) => {\r\n const { columns, data } = props;\r\n\r\n const filterTypes = React.useMemo(\r\n () => ({\r\n // Or, override the default text filter to use\r\n // \"startWith\"\r\n text: (rows: any, id: any, filterValue: any) => {\r\n return rows.filter((row: any) => {\r\n const rowValue = row.values[id];\r\n return rowValue !== undefined\r\n ? String(rowValue)\r\n .toLowerCase()\r\n .startsWith(String(filterValue).toLowerCase())\r\n : true;\r\n });\r\n },\r\n }),\r\n []\r\n );\r\n\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n // Let's set up our default Filter UI\r\n Filter: DefaultColumnFilter,\r\n }),\r\n []\r\n );\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data,\r\n defaultColumn, // Be sure to pass the defaultColumn option\r\n filterTypes,\r\n },\r\n useFilters, // useFilters!\r\n useGlobalFilter // useGlobalFilter!\r\n );\r\n\r\n return (\r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n {column.render(\"Header\")}\r\n
{column.canFilter ? column.render(\"Filter\") : null}
\r\n
{cell.render(\"Cell\")}
\r\n );\r\n};\r\n\r\nexport { NoFetchGrid };\r\n","import { EpaGridProps } from \"./EpaGridProps\";\r\nimport { FetchGrid } from \"./FetchGrid\";\r\nimport { NoFetchGrid } from \"./NoFetchGrid\";\r\n\r\nconst Grid = (props: EpaGridProps) => {\r\n const {\r\n fetchUrlFunction,\r\n formatFunction,\r\n formatResponseFunction,\r\n enablePagination,\r\n enableQuickFind,\r\n columns,\r\n data,\r\n searchText,\r\n orderBy,\r\n exportToCsvFunction,\r\n } = props;\r\n\r\n if (!fetchUrlFunction) {\r\n return ;\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n};\r\n\r\nexport { Grid };\r\n","// This is a custom filter UI for selecting values where values are populated based on the distinct values on the grid\r\n\r\nimport React from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\n\r\n// a unique option from a list\r\nfunction SelectColumnFilter({\r\n column: { filterValue, setFilter, preFilteredRows, id },\r\n}: {\r\n column: any;\r\n}) {\r\n // Calculate the options for filtering\r\n // using the preFilteredRows\r\n const options = React.useMemo(() => {\r\n const options = new Set();\r\n preFilteredRows.forEach((row: any) => {\r\n options.add(row.values[id]);\r\n });\r\n return [...options.values()];\r\n }, [id, preFilteredRows]);\r\n\r\n // Render a multi-select box\r\n return (\r\n {\r\n setFilter(e.target.value || undefined);\r\n }}\r\n >\r\n \r\n {options.map((option: any, i: any) => (\r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nexport { SelectColumnFilter };\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faCircle,\r\n faQuestionCircle,\r\n faExclamationTriangle,\r\n faCommentDots,\r\n faSearch,\r\n faWindowClose,\r\n faIndustry,\r\n faHandshake,\r\n faEnvelope,\r\n faEnvelopeOpenText,\r\n faFileExport,\r\n faExternalLinkAlt,\r\n faClipboardCheck,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nvar foreGroundColor = \"#014891\";\r\nvar backGroundColor = \"#dae3ec\";\r\n\r\nconst IncidentIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst IncidentUpdateRequestIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst ComplianceInvestigationIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst ComplaintIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst MeetingIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst NonComplianceIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst SiteVisitIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst EPAInitiatedCorrespondenceIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst ThirdPartyCorrespondenceIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst LicenseeReturnIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst ActionOrInstructionIcon = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst ExternalLinkIcon = () => (\r\n \r\n);\r\n\r\nconst getIconForType = (type: string) => {\r\n switch (type) {\r\n case \"Incident\":\r\n return ;\r\n case \"Complaint\":\r\n return ;\r\n case \"Compliance Investigation\":\r\n return ;\r\n case \"Non Compliance\":\r\n return ;\r\n case \"Site Visit\":\r\n return ;\r\n case \"Meeting\":\r\n return ;\r\n case \"3rd Party Correspondence\":\r\n return ;\r\n case \"EPA Initiated Correspondence\":\r\n return ;\r\n default:\r\n return ;\r\n }\r\n};\r\n\r\nexport {\r\n IncidentIcon,\r\n ComplianceInvestigationIcon,\r\n ComplaintIcon,\r\n NonComplianceIcon,\r\n SiteVisitIcon,\r\n LicenseeReturnIcon,\r\n getIconForType,\r\n ExternalLinkIcon,\r\n IncidentUpdateRequestIcon,\r\n ActionOrInstructionIcon,\r\n EPAInitiatedCorrespondenceIcon,\r\n ThirdPartyCorrespondenceIcon,\r\n};\r\n","var _image;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLeapLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"For_SVG_-_no_tagline\",\n \"data-name\": \"For SVG - no tagline\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 1281,\n height: 394,\n viewBox: \"0 0 1281 394\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n id: \"Rectangle_7\",\n \"data-name\": \"Rectangle 7\",\n width: 1281,\n height: 394,\n xlinkHref: \"data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAABQEAAAGKCAYAAAC8QodkAAAgAElEQVR4nOzdd5xU1f3G8c8ZsGAXCypYsUfRiF1RowFvBCsiCbbETiwXG8ESSzRRMajXHiPGXmPBem1g771Lk0WQtvS+u8z5/XEHxfxAYGdmv3PvPO/Xa15LWWYeYGd25plzztd57xEREalGud9dn8pvgj4OnXUGERERERFJl5x1ABERERERERERESkvlYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxza0DiFSz3PXn+WKvI3/GFa4UWUREREREREQku7QSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMk4loIiIiIiIiIiISMapBBQREREREREREck4lYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxKgFFREREREREREQyTiWgiIiIiIiIiIhIxqkEFBERERERERERyTiVgCIiIiIiIiIiIhmnElBERERERERERCTjVAKKiIiIiIiIiIhknEpAERERERERERGRjFMJKCIiIiIiIiIiknEqAUVERERERERERDJOJaCIiIiIiIiIiEjGqQQUERERERERERHJOJWAIiIiIiIiIiIiGacSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMk4loIiIiIiIiIiISMapBBQREREREREREck4lYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxKgFFREREREREREQyTiWgiIiIiIiIiIhIxqkEFBERERERERERyTiVgCIiIiIiIiIiIhmnElBERERERERERCTjVAKKiIiIiIiIiIhknEpAERERERERERGRjFMJKCIiIiIiIiIiknEqAUVERERERERERDJOJaCIiIiIiIiIiEjGqQQUERERERERERHJOJWAIiIiIiIiIiIiGacSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMk4loIiIiIiIiIiISMapBBQREREREREREck4lYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxKgFFREREREREREQyTiWgiIiIiIiIiIhIxqkEFBERERERERERyTiVgCIiIiIiIiIiIhmnElBERERERERERCTjVAKKiIiIiIiIiIhknEpAERERERERERGRjFMJKCIiIiIiIiIiknEqAUVERERERERERDJOJaCIiIiIiIiIiEjGqQQUERERERERERHJOJWAIiIiIiIiIiIiGacSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMq65dQARERERSR8XROsArYH1Fvi4RuHSsvBxBaAFsFrhx8ss5mqnAbMLl6nATGASUAtMLFxGA2OAUcAoH4fTS/n3EskSF0TLAmuT3EdbkdxP1yn82qqFyyoL/HhVwBUuq/zCVU8H8iT31enADJL77zRgMjAOmACMLXz8ARjh43BaSf+CIlI2LohWAtoCG5M8bqxL8jjSqvDztUg6pZUKH1fk/3dMUwsf55A8Tkxc4DK+8HEE8B3wnY/DsWX7CwmgErAqOedOZ+2Wo/y4iY9bZxEREZHKVXgBsBXwK2BbYBOSFwRtSUq9UluFXy4e/h8XRLXAcGAoMAz4AvgSGOzjsL7kCUUqjAui5YGtgU0Ll7Yk99VNSco/V4abXbnwcVWSMmCJuCCa/4J/BMl99iuS++w3Pg5nlTaiiCwJF0TNSR5DdgTaAduQfN9f4vv2L1h1gY+tSB6ffinLbJJC8Gvgk8LlUx+H35cgiwDOe2+dQYzkOu/Vl7br78vQkYP8kJED/ZCa56wzVZvc9ecVfQfMn3FFOZ7YiVSF3O+uT+U3QR+Hut9LyRUKv52B9iQvBHYiefc/rRpIXkR8AHwIvAd85uNwrmkqkSK4IFof2IHkhfq2hY+bkf5jnjxJMfgh8D7J/fVDrfQVKT0XRCsCHYA9gb1JHlPK8cZeKU0ieWx4BXgDeM/HYZ1popRSCVjlXOtW3V33oCcbrbc3dfUNfDf6XT+kZhCDawb6EaMHWefLOpWA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\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLeapLogo);\nexport default __webpack_public_path__ + \"static/media/leap-logo.ca1b6aff.svg\";\nexport { ForwardRef as ReactComponent };","const GetLicenceProfilePageUrl = (profileNo: string): string => {\r\n return `/licence-profile/${profileNo}`;\r\n};\r\n\r\nconst GetLicenseeReturnPageUrl = (\r\n profileNo: string,\r\n returnId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/return/${returnId}`;\r\n};\r\n\r\nconst GetIncidentPageUrl = (profileNo: string, incidentId: string): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/incident/${incidentId}`;\r\n};\r\n\r\nconst GetIncidentUpdateRequestPageUrl = (\r\n profileNo: string,\r\n incidentUpdateRequestId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/incident-update-request/${incidentUpdateRequestId}`;\r\n};\r\n\r\nconst GetComplaintDetailsPageUrl = (\r\n profileNo: string,\r\n complaintId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/complaint/${complaintId}`;\r\n};\r\n\r\nconst GetSiteVisitDetailsPageUrl = (\r\n profileNo: string,\r\n siteVisitId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/sitevisit/${siteVisitId}`;\r\n};\r\n\r\nconst GetSiteVisitFindingAndRecommendationsDetailsPageUrl = (\r\n profileNo: string,\r\n findingAndRecommendationId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/finding-and-recommendation/${findingAndRecommendationId}`;\r\n};\r\n\r\nconst GetComplianceInvestigationDetailsPageUrl = (\r\n profileNo: string,\r\n complianceInvestigationId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/investigation/${complianceInvestigationId}`;\r\n};\r\n\r\nconst GetActionOrInstructionDetailsPageUrl = (\r\n profileNo: string,\r\n actionOrInstructionId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/action-or-instruction/${actionOrInstructionId}`;\r\n}; \r\n\r\nconst GetEpaCorrespondenceDetailsPageUrl = (\r\n profileNo: string,\r\n epaCorrespondenceId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/epa-correspondence/${epaCorrespondenceId}`;\r\n}; \r\n\r\nconst GetThirdPartyCorrespondenceDetailsPageUrl = (\r\n profileNo: string,\r\n epaCorrespondenceId: string\r\n): string => {\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/3rd-party-correspondence/${epaCorrespondenceId}`;\r\n}; \r\n\r\nconst GetComplianceRecordDetailsUrl = (\r\n complianceRecordId: string,\r\n complianceRecordType: string,\r\n profileNo: string\r\n): string => {\r\n switch (complianceRecordType) {\r\n case \"Site Visit\":\r\n return GetSiteVisitDetailsPageUrl(profileNo, complianceRecordId);\r\n case \"Compliance Investigation\":\r\n return GetComplianceInvestigationDetailsPageUrl(profileNo, complianceRecordId);\r\n case \"Incident\":\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/incident/${complianceRecordId}`;\r\n case \"Incident Update Request\":\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/incident-update-request/${complianceRecordId}`;\r\n case \"Complaint\":\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/complaint/${complianceRecordId}`;\r\n case \"Meeting\":\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/meeting/${complianceRecordId}`;\r\n case \"Non Compliance\":\r\n return `${GetLicenceProfilePageUrl(profileNo)}/compliance/non-compliance/${complianceRecordId}`;\r\n case \"EPA Initiated Correspondence\":\r\n return GetEpaCorrespondenceDetailsPageUrl(profileNo, complianceRecordId);\r\n case \"Third Party Correspondence\":\r\n return GetThirdPartyCorrespondenceDetailsPageUrl(profileNo, complianceRecordId);\r\n default:\r\n return GetLicenseeReturnPageUrl(profileNo, complianceRecordId);\r\n }\r\n};\r\n\r\nexport {\r\n GetLicenseeReturnPageUrl,\r\n GetComplianceRecordDetailsUrl,\r\n GetIncidentPageUrl,\r\n GetIncidentUpdateRequestPageUrl,\r\n GetLicenceProfilePageUrl,\r\n GetComplaintDetailsPageUrl,\r\n GetSiteVisitDetailsPageUrl,\r\n GetSiteVisitFindingAndRecommendationsDetailsPageUrl,\r\n GetComplianceInvestigationDetailsPageUrl,\r\n GetActionOrInstructionDetailsPageUrl,\r\n GetEpaCorrespondenceDetailsPageUrl,\r\n GetThirdPartyCorrespondenceDetailsPageUrl,\r\n};\r\n\r\n","import { Column } from \"react-table\";\r\nimport { Grid } from \"../Grid\";\r\nimport { SelectColumnFilter } from \"../Grid/NoFetchGrid/SelectColumnFilter\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { ICompliance, IComplianceList } from \"../../api/ICompliance\";\r\nimport { IComplianceGridProps } from \"./IComplianceGridProps\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { GetComplianceRecordDetailsUrl } from \"../../leap-pages/routeFactory\";\r\n\r\nconst ComplianceGrid = ({\r\n licenceProfile,\r\n complianceList,\r\n columns,\r\n}: IComplianceGridProps) => {\r\n const tableColumns: Column>[] = [\r\n {\r\n Header: \"Category\",\r\n accessor: \"type\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(rowInfo.value)}\r\n {rowInfo.value}
\r\n ),\r\n },\r\n {\r\n Header: \"Reference No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => {\r\n const rowData = rowInfo.data[rowInfo.row.index];\r\n return (\r\n \r\n {rowInfo.value}\r\n \r\n );\r\n },\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: SelectColumnFilter,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"date\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n if (!columns) columns = tableColumns;\r\n return ;\r\n};\r\n\r\nexport default ComplianceGrid;\r\n","import EpaCard from \"../../leap-components/EpaCard\";\r\nimport ComplianceGrid from \"../../leap-components/Compliance/ComplianceGrid\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { ICompliance } from \"../../api/ICompliance\";\r\nimport { getIconForType } from \"../../leap-components/icons/LeapIcons\";\r\nimport { IComplianceProps } from \"../../leap-components/Compliance/IComplianceProps\";\r\n\r\ninterface IViewAllComplianceProps {\r\n profileNo: string;\r\n}\r\n\r\nconst ViewAllCompliance = ({ profileNo }: IViewAllComplianceProps) => (\r\n \r\n \r\n View all Compliance Records\r\n \r\n \r\n);\r\n\r\nconst Compliance = ({ licenceProfile }: IComplianceProps) => {\r\n var bodyElements = (\r\n
\r\n \r\n \r\n
\r\n );\r\n\r\n return ;\r\n};\r\n\r\nexport default Compliance;\r\n","var _image;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLeapLogoTagline(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"For_SVG\",\n \"data-name\": \"For SVG\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 384,\n height: 118,\n viewBox: \"0 0 384 118\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n transform: \"scale(0.3)\"\n }\n }, _image || (_image = /*#__PURE__*/React.createElement(\"image\", {\n id: \"Rectangle_7\",\n \"data-name\": \"Rectangle 7\",\n width: 1281,\n height: 394,\n xlinkHref: \"data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAABQEAAAGKCAYAAAC8QodkAAAgAElEQVR4nOzdd5xU1f3G8c8ZsGAXCypYsUfRiF1RowFvBCsiCbbETiwXG8ESSzRRMajXHiPGXmPBem1g771Lk0WQtvS+u8z5/XEHxfxAYGdmv3PvPO/Xa15LWWYeYGd25plzztd57xEREalGud9dn8pvgj4OnXUGERERERFJl5x1ABERERERERERESkvlYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxza0DiFSz3PXn+WKvI3/GFa4UWUREREREREQku7QSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMk4loIiIiIiIiIiISMapBBQREREREREREck4lYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxKgFFREREREREREQyTiWgiIiIiIiIiIhIxqkEFBERERERERERyTiVgCIiIiIiIiIiIhmnElBERERERERERCTjVAKKiIiIiIiIiIhknEpAERERERERERGRjFMJKCIiIiIiIiIiknEqAUVERERERERERDJOJaCIiIiIiIiIiEjGqQQUERERERERERHJOJWAIiIiIiIiIiIiGacSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMk4loIiIiIiIiIiISMapBBQREREREREREck4lYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxKgFFREREREREREQyTiWgiIiIiIiIiIhIxqkEFBERERERERERyTiVgCIiIiIiIiIiIhmnElBERERERERERCTjVAKKiIiIiIiIiIhknEpAERERERERERGRjFMJKCIiIiIiIiIiknEqAUVERERERERERDJOJaCIiIiIiIiIiEjGqQQUERERERERERHJOJWAIiIiIiIiIiIiGacSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMk4loIiIiIiIiIiISMapBBQREREREREREck4lYAiIiIiIiIiIiIZpxJQREREREREREQk41QCioiIiIiIiIiIZJxKQBERERERERERkYxTCSgiIiIiIiIiIpJxKgFFREREREREREQyTiWgiIiIiIiIiIhIxqkEFBERERERERERyTiVgCIiIiIiIiIiIhmnElBERERERERERCTjVAKKiIiIiIiIiIhknEpAERERERERERGRjFMJKCIiIiIiIiIiknEqAUVERERERERERDJOJaCIiIiIiIiIiEjGqQQUERERERERERHJOJWAIiIiIiIiIiIiGacSUEREREREREREJONUAoqIiIiIiIiIiGScSkAREREREREREZGMUwkoIiIiIiIiIiKScSoBRUREREREREREMq65dQARERERSR8XROsArYH1Fvi4RuHSsvBxBaAFsFrhx8ss5mqnAbMLl6nATGASUAtMLFxGA2OAUcAoH4fTS/n3EskSF0TLAmuT3EdbkdxP1yn82qqFyyoL/HhVwBUuq/zCVU8H8iT31enADJL77zRgMjAOmACMLXz8ARjh43BaSf+CIlI2LohWAtoCG5M8bqxL8jjSqvDztUg6pZUKH1fk/3dMUwsf55A8Tkxc4DK+8HEE8B3wnY/DsWX7CwmgErAqOedOZ+2Wo/y4iY9bZxEREZHKVXgBsBXwK2BbYBOSFwRtSUq9UluFXy4e/h8XRLXAcGAoMAz4AvgSGOzjsL7kCUUqjAui5YGtgU0Ll7Yk99VNSco/V4abXbnwcVWSMmCJuCCa/4J/BMl99iuS++w3Pg5nlTaiiCwJF0TNSR5DdgTaAduQfN9f4vv2L1h1gY+tSB6ffinLbJJC8Gvgk8LlUx+H35cgiwDOe2+dQYzkOu/Vl7br78vQkYP8kJED/ZCa56wzVZvc9ecVfQfMn3FFOZ7YiVSF3O+uT+U3QR+Hut9LyRUKv52B9iQvBHYiefc/rRpIXkR8AHwIvAd85uNwrmkqkSK4IFof2IHkhfq2hY+bkf5jnjxJMfgh8D7J/fVDrfQVKT0XRCsCHYA9gb1JHlPK8cZeKU0ieWx4BXgDeM/HYZ1popRSCVjlXOtW3V33oCcbrbc3dfUNfDf6XT+kZhCDawb6EaMHWefLOpWA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nHUK9iFG0UcM3IB9OH0Z9uHebzzHU3hKAoqISG35SAKOiSGMj8LWEzoFe7PwCGDWgFZ/G/A74PfudR1wVR2LJEs2E8YzgQcDDwce6l7HYYc7Dmo/Hc9eYCPwG+y+/Gv37y807EeKyITxIdgb67/FzjL8SGzt2NkDDuUu7Hn/BmxPsquAn5epF1nZuEkaHuBeRwBzgLnYz34LtgfTrcAtwJ/r0NteScBiM2E8Hftw8ERs+7TZFvAx4/Dd2Gt9s/frVcAGPdzrnJKAIiJSW0VIAo7mego+AJt4Ocb9/yjsDcPhwCHce+Mw2nZsofat2Jp9m7GJvluxs/U2//0D8Ns0ibb3751I1bkZMo/GJgTvjx3mPjzqNQ+Ywb376xSyk4f7sfsv2CFud7rX1hH/3wz8GXuDfIv7/22agEaqwE0yciz2vH809pw/f8RrHvY4MsAQMH3UIu7Cnvd3Yo+h27HHTPM6cDv2GnAD8Ls0if7S33ckMjElAcvJ9XRttlHv515HYs9Vh2HPVzOxCe45tO79vBN77roL2IY9XzXPXbdge7/eCNyYJtGf+/Nu6kdJQBERqa0iJgG7YcLYpEmkC7qUivZbkd6YMJ6kJLiUmZKA9aLrfjFM8h2AiIiI9EYNKikj7bcivVECUETKRNf9YlASUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRilMSUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRilMSUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRilMSUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRilMSUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRilMSUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRilMSUEREREREREREpOKUBBQREREREREREak4JQFFREREREREREQqTklAERERERERERGRipsyiJUYYwaxGhGRWguCYBGwGFgKLBr1443A6kajsWrggYmIiIiIiIh3A0kCiohI/wRBsBA4H5sAbGUhsBxQElBERESkAoIgWI5tAx6k0WioF46IZFISUESkxIIgWAysAYbb+PUtfQ5HRERERERECqrvScDTTz89DYJg9LdXNxqNs/u97qYgCFYC57ovNwIrGo3G2kGtX6RIXNJoEdlDRjcAa4H1jUZjw6BjayUIgnRAq1rfaDSWDGhdPXM9ANtNAIKSgCIyYEEQDAN/zfjRkkajsX7Q8YgUSc7tm1XY63yh2nAiIlIsle8JGATBudybAAQ7JG5NEATHNBqNjZ7CEhk4Vy/ufMYm/kZa1Px5EATrsQlzNSSL63zaTwCCkoAiMnjLW3x/KaAkoEh+DtzvBEGgOsAiIpKpDrMDL+3w+yKV4+qFXMn4CcDRFgNXBkGgY6WAXI/OVjUANwBnNxoNM/IFDKwHtoiI07Id5noJikj+FgIrgyC4wbUXREREgBr0BBSpO5fEG1MwuANrgiBYpiH0hdOqd03LcguNRkM9AUVKrsXwwRVF7PHjeqC3evg0jE0Qrh5cRCK1sxBYFwRBIc8RPpXpXCoikqc69ARslbjQEBSpvBGzxvbqfPXYKJysJ/sbB1lvVURkAq0eVjSpp7nIYKx0JZJERKTmKt8TsNForHLJi+aFbwt2mJzqnEkdnEvrmnGrsb3GNsCB4u3LgZUZv9v8WZGejg50gqEicZ9V1ueqHjUiUgjuPDVRkm9xEAQLVaNZ5CAdt2/cqI+FZLfhmlYGQaBJQ0REaq7ySUCARqOxAljhOw4RD1rdgJ3daDQOShi5oaKrgiBYC6zDNiZHOpdiJQHrbPRn06SGvYgUxVLam7hoKbq2iPRkRMmWVUEQrOTgSRFHWgMcM5ioRESkiOowHFikllwh6MzeYqMTgCO5HhlZT6CH3fBi8U9Ds0Wk6LIeQmVdeyYaMiwiHXCdH1r1JFzoJosTEZGaUhJQpLpaFWOfcMhoo9FYT3avMiUBRURkXO6B0ei6pVuwozJGD/1dqNlLRfLlHva2GgWlJKCISI0pCShSL1s6qAWjmWRFRKQbWb0A17uyE1kTtmmCEJGcuVlus+ptLtJkbyIi9aUkoEi9dJLYy2ogqni7iIhMJKun0dpR/460VEkJkb5oNfpDvW9FRGqq8hODuLoX54/+fqPRMD0sszlT6shZh0fagG3kbnDDKnPn3tcw2bOArW3G0O2Me0EQ3MDYoZ9LRr8fN4RnEXZ7jP795nbIfSYy359Bv7d/H7V1k+WGco0eTrylgO9nYHwdE25569oMc10QBJk/6PacN2Jfz3o/4IYbuR4HXWuxfQ+awMbF0ty2I435HCZYV6XP4R3sq833nhXDevdqK4YRM1NmzUi+BTvxw8YRxetzVcVrYhAE62j/Rn2lmwxgtDGTQPWb2waj3/uW5mffaDQ2BEGwgYOvMc2ZhPsaq89j3/d5x1e7xbUnlmI/76wen833nfv5wee6C6TVvtR1eZeytQt8nUtHXA8Wt1h/8zrbt7aGiEiWyicB8+QaEyuZeNjKIvciCIKNwKq8GuHupi3rJmukpe61MgiC9cCKPiThFmO3Rau6c3DwdliPvYD21Lj0/RkUZfu3KWtbDwdBsLiNxsZ4vTgkg69jol/cvp7VEB5tpfv9ldgb+BVuyF+esSzCPsxptW3bupnxff5wy/N+Dplg5sim5k3LyiAIWn6u7gZsJeO/nwOJB7c9V+R1w12E7eniqNTx36N2JgRZy9ht1bckoM9j3/d5x9cx4o6Jc5k4+TLyfW/Bvu9ek0fe1l1Arc4xHScBq9gu6Ic2jzkYkRzMu60hIjIeDQdukzuh30DndWsWAucHQbAu6GGoSxAEi4IguJKJb7ZGWwxcOaLHRy8WulhWYnsmjXez0yqOTv7mID4/g4Js/061SvSNG4u7qc/6nao1jPPg9ZjohyAIFrun7+009EdbDvw1sL3CcosHuJLOtm3Wcmp/Dncx3MDECcDRlrsYDtxUBUEw7HpXnE9n72chsKbX91OE7UkFj/9euWMk6xgbnfTNutFdHPRhBnrPbYdatltGHBOdDjkdxiYir+x2X/C57iLKI/lW1XZB3kZcYzs95mDEMZ9/ZCIiB1MSsA1BEJxPdxe+kZqNqm6evOVxsVuZ003k+XR+A9k0jB2u2HGD1udnUKTt3wnX8Gt1o5XZOHaN5zHD57FPcavYY6Vnvo6JfnCN9HX0/gR9TZA9nKZTi4A1vS5E53DAxt/LZ7sQ91m4/bWbm+yRun4/BdmezVgqc/znZCljb343jO5VNqgJQjy3HWrZbnFJjF6PrUV0kST3ue6qqmq7IG9uO11J79tpsUvei4j0jZKAE3CNuKyhkd1YSIcNftcIyeup0Moen8SdS+/bolU9mpZ8fgYF2/7daNV77/yR22BEj4GsxvPaCg6PyYuXY6If3L6ZZ8P63BySLM26Q13TOfyAdoYmTWSR+0w77fXWyrldJDeKsj2hQsd/jtrpBdiU1Vs9t4dlntsOtWy3uCRPXhNODGMTR+2+b2/rLrJxkpnt1nqtXLsgby7pnud2WpRTwlREJJNqAo4jsMMix2vErWBUMdfg3sLPzULEozVrw5zdxvoXMn5DbjU2QTNy/c0iyK0uHucHQbC+y+EBo2/WNroYVo9cnrsYNuuxZFkeBEFb9UF8fgYF3P4dazQaG4MgWMXYz2IhtsffsmD8Gi/rG43Gsn7GWHJ9Pybc/nXQpB5B68lCOpogY8TymvtDK+ux+8JByWB3fC6mde+dlUEQ5FlwfczxPh6dw8eVuS3d+aBVEXNaxNWc+OOgSQVGbMtWxeObP1/RTsAF3J59Pf4bjcaSrF8OgiDN+PYK3w9r3LbO2m9aHf9rGTtsbjgIgqW9njM8tx1q2W5xyaZW+3hzAo7Rx0Zz3a3OEe2+b2/rLoGuHthUqV3Qz3OpO3bHSwCudvEdNDInuHfSkFbH3blBEKzWKBwR6QeTplnnv/ycfvrpWStY3Wg0BnJRDbqcHdid1G8g+2nTemBZGw2i8ZIrE96sB0GwhuyL6Ea3/pZFm0dclLIa5BNu/yB7Rq6RJrxIukbZmhbLaefvvX4GPrd/3gLbyy+rIbiF1k9UVzUajbZuzvutRUNtoNuxCMfEiOXknQRsNbRzC3Zfn+hcNd772gIc08axOt72bet4H7W82p7DJ9iWa7ETUkz03jOvnVnLa+dBQdC6Z9SWRqMxr4311P6aOGI5RU0CZh0v61vdgLu/ydov2tqnxlmmt2Pf93nH8zHS6hhva98Mxp+waN54283nunvV7/bNONf3kyfYHyrXLshYfh5JwFbH6wYX37hJPJdsXUN2G72tdni397pFYcL4HOBDvuPowgVpEr3YdxAi3dBw4NZadTdf22g0lrRz0XEXkVYX8XGHV7ib/FYNuSUTzdrWaDS2uIZ31u8tD3ob4rCknQuki7HV+2/nyaS3z6Dg278bZ2MbXaO1imNZURKA41geBEGa06vXGi6DOiZyF9z71H60LdibhAmTiu59nUz2/t7rcMf17R7vo+gcPtbaRqPR1k2T67Uw0TlgVbvJGndDm7l/BG3U3iro9mwq7fGfs25mlc+sC9jj5+Hz2K9zuyVzKHi7CRXX5mj1uxMNrfa57sIK7u2FPNqWCRKAVW0X9ENW8rh5zE3Yi8/9zjKy2+il3fdEpNiUBMzgGjqtTuodPZlzN1JZkzNMVGOl1RPJCZ8qjf79Ft/v9sKyopOeRu53sxoA4yZdCvAZFHX7d2WCm8+RNmCfzuY1TKMOBnJM9FGrfbGjfd01xls2ZLu8qW8usyMFOH/QYv3g7xyyhc6Hta0m+/ME2NjFg4Ks7Qjt7ftF255NZT/+c+GSDVnvYdxridseWZ9fV5+Hz2O/AOcdb8eIe++Zyc8O1gs2EdfJA0uv6y6yET3MsrQ6FzdVrl3QD24bZ72Hg4aeT8Rt06zPZNhDpwERqQElAbMtJvukvqrLp06tTuyZT/6D1nV1Vk/0JHe0cS4s3RRPHlP7o92/y/jeRDc83j6DAm//Xm2h9Q092Pd3coc3C3U3yGMid27/zzoPre4ksdHk9p08e1N01JAeQefw7HV39N7d77faDya6iczS6qZ8oodCRdyeUPLjP2etemK1s8/lOUuwz2O/zu2WXBIVbjtltUHGW77PdRdScO9Mta1ib3n+rnC7oB+2YHvMj3518yC91XFahV7iIlIwSgJmy2p8bmmMKoSGDDoAAA2FSURBVOraLtcAy2pYtDqxt2r8drV+sm84urrh6XL93TxZ9fkZFHX7d83Vu1nH+Nt9kZ44dmyQx0Q/5L2vN4eyZb2/bm7qu23o6xw+VrfbstWNSTc3gxM9iGiliNuz1XLaUZTjPxfuutHJrMDt/N6idoaJZyha26Eu7ZZWx3XHx5V7GGlGvhi/NIHPdRdGEASLgyA419XRW0Prc8qKCR72VrVdkLuGHUK/KuPVzcP0jpL1IiK90OzA2bIaWN029ptWMfaC3MlTnw2dPs0doVUB60U9LLMT3VywfX4Gldn+ExT6Hm0RbsbgfsYkQHEasVn7RS/7etNqxg5NWxQEwfCAnuDrHN5nPax3vMmIWqna9izK8Z+XrDp4W9otK9FoNDYEQbCBsZ/zUjq/MS5a26EW7ZZGo7GlxWe4PAgCGj1OcjHedcPnuvtouavLl7d26iRWtV0gIiKOkoCjuKRJ1rCcni5+HT4JzroAd92QdA2kjYx9X4so4JOnAnwGldj+bjuuo7OhBEuDIFjZmKDWlxt6NPoJ7sZ2b/pyMvBZliuoHzet0Hq/XjjOz3JRgPMHVOQcUiDansWW1Zun015Da8lI4tBBLyyfx34BzjtFOEayPkO4N6G1CptM6kc7wee6y2J9o72JnCrXLhARkYMpCThWq7o8A7lAjVNkttc6bWUafuTtM6jK9p8gATiyUHPWEOFzgyDYOMHNx0LGzuy2mu7qoIgH4wy1y6MmZKsbhkEkWXQOrxBtz2Ibp35Yp9eC1Yy9pgwHQbC0g8SNz2O/9u2WRqOxyiXcWm2LcwGCIAC7f2zAJuZ6TjD5XHdJrGinfmmF2wVeuH2y+YBAM/2KSGEoCThWqwbOoCZLaLX+84MgOH9A6/LN52dQle3fKgG4gRGzuwVBcDbZs8edHwTBeMM/shraGs5RLn07zlwvkk7WmSedw6tF27PYsnoBbuxiMootQRCszVjeUtpPKBax7VC3dssSbPtjoolulrpXMzG3GpuU67runOd1F9UqOpuYpqrtgoFxidTlKOknIgWmiUGKZ5AXw0pdeHNS+u0fBMG5tE4ALhlZsNj1sGg13Gqd62GQJSt2JQHLpd83rXWdZbr055CC0fYstqwb3Twno1iqCasmVJhjxLUvTqbznqDLsUnL1LVhOuZz3QWyGtumW+YmNlnRYb09tQt64JLuV6IEoIgUnHoCilSIu1nKasRuxCYAxzQG3TCarL8bBtYEQZD1d+oJWH66sRaRrgVBsJTs88hKNyN9Xpo13aQEXHthWRAEi7Htik5n6W3uP2d32jvP57pz5qvmsdoFXXAPzNfQWQ1uERFv1BNQpFqyZmkE26Adb3a9FWQ/PW/OGJz1/dEqWdOlwvqdtNXNhEi1ZQ0F7gf1qimhRqOxvtFoLAGOwfZO67SN0PVwZp/rLjm1CzrkHqIrASgipaKegCLVknVT1m7x67OxPfxGN2QOmjG4RSH4LZ3WgBLvWjX282qkV66xLyKWu/EdVBJwYRAEi2s0iUOluGG6q9yr2YN0Ie1NlrDcTVTWVU9Qn+suKbULOteqBE/TevfaMl7vUteb8IacYxMRyaQk4Fit6lUsHOdneWp1AT5mZC23ivP5GZR9+2cN022rPo4r2ryM7MLaI2cMzhpeo5uz8mm1ry+kx16d49SSHMSQcZ3Dq0Xbs5gG3TtvKRNfZ3we+2q3tGnUbM9nu6G7S2m9T60MgmBtHu/F57pLoqrtgr4YpwQP2Lb3ihrtOyJSIhoOPFari9Ggunm3uljUqZu5z8+g7Nu/pwk7XGNlWYsfn+96AWY1eNQLsGQ6nPm5U62OF59JOJ3Dy0nbs5gG1QvwwPramCDE57GvdkuX3NDds7FDd1tdl/qSdPa57iKqcLugX1rtG6sajcYyJQBFpKiUBBzF1U3LuggOpAu7W39WYzKPC3Ap+PwMKrr9O9purhHYKhF4ZcbyttD9bJDiV9Zx1mkh9SytGvt9TxbrHF4t2p7F06IkBNheL6bXF9nXnwmHHxeg7aB2Sw9cwmQJ2e8lj+tSIdddQJVrF/RR5iR5zfI5IiJFpeHA2TYy9mK1HFtcuCtBEGRN2LC+xVO39Yxt7C6lXrPj+fwMyrz9tzD2PXZ8E9JoNNYGQbACaGeGx7XjTToihbaescfZ4iAIFvb4BDvr6fiGAe4nOodXi7ZnsbRKxuXyMMhdf7KuZUvbWIfPY7+W7RY3zDNrn+h4GK0rS7KasSMOMhOaPtddYVVtF/RD1r6h8jgiUnjqCZgtq4basGuMdWtlxqtVwyLrArLIFTSuC5+fQZm3f1YDrau4XTHsiW64ttDDDY5416qx2qrGzYRa3LRCm7Upc6JzeLVoexZL1nG0Pueb+axrz+Jx6oo1+Tz269puGSY7zm6HI2ftR60eZvpcd1VVtV3QDz2V4BER8UVJwGzryT6Jd3UBHOfi1+pCu7bF+le2URNnvDgWuyLIZeDzMyjz9s96Pwu7vQlxtXLGe6q5quRPcWvNzbaZlThe7ob8dcTdoLfqPTrIIeM6h1eLtmdBuKTSIG7mWy1voqSWz2O/ru2WVr3Duj22Okms+Fx3JVW4XdAPWftGtwnodkbeiIjkQknADC6pkTWEYmEQBOd3six3wcw6sbccQjne+oF13TToXGNynfv7rp/mDYrPz6Dk279VUmJll423RYw/FKZWjeOKajVcbF0bvW4OcMfFGrJvolYPMlmsc3i1aHuO4bO3UlYSbgs5JwHdcNesofbjPtAqatuhyu0Wt+6stsfyTpPsLs6sfSyzbpzPdVdc5doFLfR6Ls1Kli7qtL0dBMFKBj/ZkojUmJKAra0m++KwPAiCNe00qNwT83W0uPh1uf5FwJXtNm6CIBgOgmANMLIBurLd9+CZz8+glNvfPcHNahAPYxtvbTcyXKPkSsZPAp6vIXnl1mg0VtO6oH1b+7pr8K4j+wl4q5vTftM5vFq0Pe+VtR36fh4eJ0nSr7qwWYnFhW181kVsO1S93dIqCdx2u8Mll9bReZ01n+uupAq3C0br9VzaKkG8pp1EYBAEi4IgWMf4vYXLcl0SkRLxNTHI8qC3GimjbWw0GsfkuLxmgeAVHNwIaloKLHU/3+ASLwe4J6aLaT0cYdXov2mx/rOxT9BGaz7ZbSZ8xjxNczEspPVT88IXOvb5GZR8+6/AJu9GG8Y2TDZgG81jCme7uIfpbPjSmiAITm4xQUI/5X0eAcDNTlk3Z9N6nzmwr7s6kQe4G6zFjN87Z0WPxcS7onN4tWh7HmQDY+Nd6BI3Bx1vQRAsnmhf7UCrbdevul6rye4Nt5RxEjMFaDvUrt3SaDRWu+txVuJjonbHUvd3rdodWxgn+elz3RVXuXZBhl7PpWux56jRibqF2GTpKuw2yjrWF9FewlFJQBHJnWYHHodrWCyi9YVsJUAQBJ0sdkO7U8e3MUNrs7G4ssMYNgLLCtANf0I+P4Oybv9Go7FhgrgXuVencY9nnUsEFqFRJx1y+8wysm8ewe3rge0d2olVrkeBFzqHV4u25wFZM8HCvUmmkd9bQX49mbKOo405JhkP4pJaa8mY9TYIghXjfV6e2w51bbcswyaNspIWvbQ72qk97HPdlVTVdsEoPZ1LJ0j6g00un9tjW7tMD6hEpCQ0HHgCDTsxQl4Xqw3Akg7Xv4p8Z1/dCCwpU7LG52dQ1u3fh7jBPhFfwvjDjfXEsqQajcZa7JP/vKxqN1nWTzqHV4u2J9B6Eoi+ccP/2p0RN0+trjcT9qDx3HaoXbvF/XwZ+e6bK0b3NCvauqusqu2CEXo+l7qEZh7Heqt9TUlAEcmdkoBtcI25Xi9aqxuNxsndPFF0jZAl9N64WQ+UsreWz8+grNs/x7jBNpRObjQa6xuNxhKy66A0a+pISbnG7BJaz7jYrmVFaujrHF4tdd+ebh/M88a8Ha2Sbv1OAra6SW+rbpfntkPt2i2uV2irNkKnzu4kCedz3VVW1XYB5Hcudcd6L/tLc9tk7buawV5EcqckYJtcY+BkOm/wrsc+Qe3pIuOSL/PorkG5AXuBWVLmYQ0+P4Oybv8e4wa7rZc0Go1lo24CWjW0F7laKlJSbp85hu72mVXAPNd7oFB0Dq+Wum9Pd4wN5IY6GGfW1Eafa8G6zyfrmF3cTuF9twyfbYfatVsajcaGRqNxMja50k3iaDVwTKOLIaM+111lVW0XQH7nUpfEW0Zn+91a7P7W3DaZPZ/bneBGRKRdJk3T/q/EVKvOvmsQL6f1BAprsQ2oMUWIc4yhuf7lZHcVX429EK3vdyPdB9+fQVm3v2tILKR18fGNuGEN3T4Fbw4JLuvNtRysjX19BXS/v/jg+/zhYijlOaSo6ro9Azur6VLsfjyyHENz9s0xE1DUmc9j3/d5x9cx4pK1i2k9EcKBmWLzvo74XHeVVbRdkNu5dERbe/Sy4N7jfMzkPHVlwvgc4EO+4+jCBWkSvdh3ECLdGEgSUEREpIiq9pBKREREpCyUBBQZPA0HFhERERERERERqTglAUVERERERERERCpOSUAREREREREREZGKUxJQRERERERERESk4pQEFBERERERERERqTglAUVERERERERERCpOSUAREREREREREZGK+/+IKialF1o+cgAAAABJRU5ErkJggg==\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLeapLogoTagline);\nexport default __webpack_public_path__ + \"static/media/leap-logo-tagline.f465f561.svg\";\nexport { ForwardRef as ReactComponent };","import { Col, Row } from \"react-bootstrap\";\r\nimport { ReactComponent as LeapLogoVector } from \"../../assets/img/leap/leap-logo.svg\";\r\nimport { ReactComponent as LeapLogoVectorTagLine } from \"../../assets/img/leap/leap-logo-tagline.svg\";\r\n\r\ninterface ILeapHeaderComponentProps {\r\n headerContent: JSX.Element;\r\n}\r\n\r\nconst LeapHeaderComponent = ({ headerContent }: ILeapHeaderComponentProps) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {headerContent}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LeapHeaderComponent;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport LeapHeaderComponent from \"../../leap-components/LeapHeaderComponent\";\r\n\r\ninterface IHeaderProps {\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst HeaderSubComponent = ({ licenceProfile }: IHeaderProps) => {\r\n return (\r\n
\r\n \r\n \r\n

\r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n

\r\n \r\n
\r\n \r\n \r\n
{licenceProfile.type}
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst LicenceProfileHeader = ({ licenceProfile }: IHeaderProps) => {\r\n const headerContent = ;\r\n return ;\r\n};\r\n\r\nexport default LicenceProfileHeader;\r\n","import { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\nimport EpaField from \"../../leap-components/EpaField\";\r\n\r\ninterface ILicenceDetailsProps {\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst LicenceDetails = ({ licenceProfile }: ILicenceDetailsProps) => {\r\n var bodyElements = (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default LicenceDetails;\r\n","import { ISiteDetails } from \"../../api/ISiteDetails\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\nimport EpaField from \"../../leap-components/EpaField\";\r\n\r\ninterface ILicenceProfileSiteDetailsProps {\r\n siteDetails: ISiteDetails;\r\n}\r\n\r\nconst LicenceProfileSiteDetails = ({\r\n siteDetails,\r\n}: ILicenceProfileSiteDetailsProps) => {\r\n var bodyElements = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default LicenceProfileSiteDetails;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\n\r\ninterface TabsWithTextLabelType {\r\n className?: string;\r\n activeKey: string;\r\n content: JSX.Element;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst LicenceProfileSubTabs = ({\r\n className,\r\n activeKey,\r\n content,\r\n licenceProfile,\r\n}: TabsWithTextLabelType) => (\r\n
\r\n \r\n \r\n \r\n {content}\r\n {content}\r\n {content}\r\n \r\n \r\n
\r\n);\r\n\r\nexport default LicenceProfileSubTabs;\r\n","import { useDispatch } from \"react-redux\";\r\nimport type { AppDispatch } from \"../redux/store\";\r\n\r\n// Use throughout your app instead of plain `useDispatch`\r\nconst useAppDispatch = () => useDispatch();\r\n\r\nexport default useAppDispatch;\r\n","import { ISiteDetails } from \"../../api/ISiteDetails\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\nimport EpaField from \"../../leap-components/EpaField\";\r\n\r\ninterface ILicenceProfileSiteDetailsProps {\r\n siteDetails: ISiteDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst UrbanWasteWaterSiteDetails = ({\r\n siteDetails,\r\n licenceProfile,\r\n}: ILicenceProfileSiteDetailsProps) => {\r\n var bodyElements = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default UrbanWasteWaterSiteDetails;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Helmet } from \"react-helmet-async\";\r\n\r\nimport { Button } from \"react-bootstrap\";\r\n\r\nconst Page500 = () => (\r\n \r\n \r\n
\r\n

500

\r\n

Internal server error.

\r\n

\r\n The server encountered something unexpected that didn't allow it to\r\n complete the request.\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n);\r\n\r\nexport default Page500;\r\n","import React from \"react\";\r\nimport { Helmet } from \"react-helmet-async\";\r\n\r\nconst Loading = () => (\r\n \r\n \r\n
\r\n

Loading...

\r\n

Please wait...

\r\n
\r\n
\r\n);\r\n\r\nexport default Loading;\r\n","import { ILicenceProfileResponse } from \"../../api/LicenceProfile\";\r\nimport Page404 from \"../../pages/auth/Page404\";\r\nimport Page500 from \"../../pages/auth/Page500\";\r\nimport Loading from \"../Loading\";\r\n\r\nconst IsLicenceProfileReady = (\r\n licenceProfileResponse?: ILicenceProfileResponse\r\n) => {\r\n if (!licenceProfileResponse) {\r\n return false;\r\n }\r\n\r\n if (licenceProfileResponse.response.httpStatusCode === 404) {\r\n return false;\r\n }\r\n\r\n if (!licenceProfileResponse.licenceProfile) {\r\n return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst GetLicenceProfileNotReadyComponent = (\r\n licenceProfileResponse?: ILicenceProfileResponse\r\n) => {\r\n if (!licenceProfileResponse) {\r\n return ;\r\n }\r\n\r\n if (licenceProfileResponse.response.httpStatusCode === 404) {\r\n return ;\r\n }\r\n\r\n if (!licenceProfileResponse.licenceProfile) {\r\n return ;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport { IsLicenceProfileReady, GetLicenceProfileNotReadyComponent };\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport ActiveLicenceDetails from \"./ActiveLicenceDetails\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport Compliance from \"./Compliance\";\r\nimport LicenceProfileHeader from \"./LicenceProfileHeader\";\r\nimport LicenceDetails from \"./LicenceDetails\";\r\nimport LicenceProfileSiteDetails from \"./LicenceProfileSiteDetails\";\r\nimport LicenceProfileSubTabs from \"./LicenceProfileSubTabs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../pages/auth/Page404\";\r\n\r\nimport useAppSelector from \"../../hooks/useAppSelector\";\r\nimport useAppDispatch from \"../../hooks/useAppDispatch\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../redux/slices/licenceProfile\";\r\nimport UrbanWasteWaterSiteDetails from \"./UrbanWasteWaterSiteDetails\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\n\r\nconst LicenceDashboard = () => {\r\n const [loading, setLoading] = useState(false);\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo } = useParams();\r\n if (!profileNo) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n const isUWW =\r\n licenceProfile.type === \"WWDA\" ||\r\n licenceProfile.type === \"CoA\" ||\r\n licenceProfile.type === \"Waste Water Discharge Licence\" ||\r\n licenceProfile.type === \"Waste Water Certificate of Authorisation\";\r\n\r\n const contentElement = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isUWW && (\r\n \r\n )}\r\n {!isUWW && (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LicenceDashboard;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { ISiteVisitDetails } from \"../../../api/ISiteVisit\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n siteVisit: ISiteVisitDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, siteVisit }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {siteVisit.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Col, Form, Row } from \"react-bootstrap\";\r\n\r\ninterface IEpaField {\r\n label: string;\r\n value: string;\r\n labelClassName?: string;\r\n valueClassName?: string;\r\n}\r\n\r\nconst EpaFieldHtml = ({\r\n label,\r\n value,\r\n labelClassName,\r\n valueClassName,\r\n}: IEpaField) => {\r\n if (!labelClassName) labelClassName = \"col-4 col-md-4\";\r\n\r\n if (!valueClassName) valueClassName = \"col-8 col-md-8\";\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default EpaFieldHtml;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { ISiteVisitDetails } from \"../../../api/ISiteVisit\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface SiteVisitDetailsProps {\r\n siteVisit: ISiteVisitDetails;\r\n}\r\n\r\nconst SiteVisitDetails = ({ siteVisit }: SiteVisitDetailsProps) => {\r\n var summaryText = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque aliquet, diam sit amet blandit cursus, ex lectus ultrices sapien, dapibus viverra mauris odio id risus. Aliquam erat volutpat. Nam mattis blandit mi euismod tristique. In eget diam risus. Quisque lacinia accumsan est non sagittis. Fusce lacinia sed justo eu dapibus. Cras ac libero augue. Integer lectus tellus, ultricies eget placerat non, semper sed nisi. In hac habitasse platea dictumst.\r\n\r\nPellentesque pellentesque, mauris ac laoreet laoreet, nisi mauris scelerisque eros, vitae ullamcorper diam diam ut odio. Nulla convallis id elit sed ullamcorper. Proin eget libero tellus. Ut finibus placerat mollis. Duis eros augue, pulvinar luctus semper sed, rhoncus eu nisi. Curabitur rhoncus ornare dolor, pharetra pharetra metus fermentum non. Integer eleifend, diam eget mollis varius, augue ipsum lobortis est, eu mollis purus mauris vel libero. Mauris pellentesque enim sed nunc suscipit, eu mollis purus dignissim. Proin eget erat vestibulum, finibus tellus eu, lobortis purus. Pellentesque scelerisque odio eu laoreet suscipit.\r\n `;\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default SiteVisitDetails;\r\n","import { Col, Form, Row } from \"react-bootstrap\";\r\n\r\ninterface IEpaField {\r\n label?: string;\r\n value?: string;\r\n content?: JSX.Element;\r\n}\r\n\r\nconst EpaField2Rows = ({ label, value, content }: IEpaField) => (\r\n
\r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n {content ? content : value}\r\n \r\n
\r\n);\r\n\r\nexport default EpaField2Rows;\r\n","import { Card, Col, Row, Form } from \"react-bootstrap\";\r\nimport { ISiteVisitDetails } from \"../../../api/ISiteVisit\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { SiteVisitIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface SiteVisitHeaderProps {\r\n siteVisit: ISiteVisitDetails;\r\n}\r\n\r\nconst SiteVisitHeader = ({ siteVisit }: SiteVisitHeaderProps) => {\r\n return (\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

Site Visit: {siteVisit.reference}

\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\nexport default SiteVisitHeader;\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetComplianceInvestigationsBySiteVisitFetchUrl,\r\n IComplianceInvestigation,\r\n} from \"../../api/IComplianceInvestigation\";\r\nimport { GetComplianceRecordDetailsUrl } from \"../../leap-pages/routeFactory\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { ComplianceInvestigationsGridProps } from \"./ComplianceInvestigationsGridProps\";\r\n\r\nconst complianceInvestigation = \"Compliance Investigation\";\r\n\r\nconst ComplianceInvestigationsGrid = ({\r\n relatedRecordType,\r\n relatedrecordId,\r\n licenceProfile,\r\n}: ComplianceInvestigationsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (relatedRecordType) {\r\n case \"Site Visit\":\r\n default:\r\n return GetComplianceInvestigationsBySiteVisitFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(relatedrecordId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(complianceInvestigation)}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"dateraised\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Investigation Title\",\r\n accessor: \"title\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Issue / Theme\",\r\n accessor: \"issue\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] =\r\n [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(complianceInvestigation)}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Investigation Title\",\r\n accessor: \"title\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { ComplianceInvestigationsGrid };\r\n","import { Column } from \"react-table\";\r\nimport { Grid } from \"../Grid\";\r\nimport { DocumentsGridProps } from \"./DocumentsGridProps\";\r\nimport { GetRelatedDocumentsFetchUrl } from \"../../api/Documents\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\n\r\ninterface IDocumentRecord {\r\n name: string;\r\n date: string;\r\n}\r\n\r\nconst tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Document Name\",\r\n accessor: \"filename\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n {rowInfo.value}\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Document Size\",\r\n accessor: \"filesize\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n {parseInt(rowInfo.row.original.filesize, 10) > 0\r\n ? Math.trunc(parseInt(rowInfo.row.original.filesize, 10) / 1024)\r\n : 0}\r\n {\" kb\"}\r\n \r\n ),\r\n },\r\n];\r\n\r\nconst tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Document Name\",\r\n accessor: \"filename\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n {rowInfo.value}\r\n \r\n ),\r\n },\r\n];\r\n\r\nconst DocumentsGrid = ({ regardingObjectId }: DocumentsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetRelatedDocumentsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(regardingObjectId);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport { DocumentsGrid };\r\n","import { API_URL } from \"./Config\";\r\nimport { PageResult } from \"./Pagination\";\r\n\r\nexport const GetRelatedDocumentsFetchUrl = (\r\n regardingObjectId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n if (searchText.length > 0) {\r\n params += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n let url = `${API_URL}/Document/listbyregardingobjectid?regardingobject_id=${regardingObjectId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/documents`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetFindingsAndRecommendationsFetchUrl,\r\n IFindingAndRecommendation,\r\n} from \"../../api/IFindingAndRecommendation\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { FindingsAndRecommendationsProps } from \"./FIndingsAndRecommendationsProps\";\r\n\r\nconst GetUrlForFindingAndRecommendation = (\r\n profileNumber: string,\r\n findingAndRecommendation: IFindingAndRecommendation\r\n) => {\r\n return `/licence-profile/${profileNumber}/compliance/finding-and-recommendation/${findingAndRecommendation.taskid}`;\r\n};\r\n\r\nconst formatObservation = (rowInfo: any) => {\r\n return

;\r\n};\r\n\r\nconst FindingsAndRecommendationsGrid = ({\r\n profileNumber,\r\n regardingObjectId,\r\n}: FindingsAndRecommendationsProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetFindingsAndRecommendationsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(regardingObjectId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Finding and Recommendation\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Type\",\r\n accessor: \"type\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Category\",\r\n accessor: \"category\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Observation\",\r\n accessor: \"observation\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => formatObservation(rowInfo),\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] =\r\n [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Finding and Recommendation\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Type\",\r\n accessor: \"type\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Category\",\r\n accessor: \"category\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { FindingsAndRecommendationsGrid };\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetLicenseeReturnFromComplianceInvestigationFetchUrl,\r\n GetLicenseeReturnFromSiteVisitFetchUrl,\r\n ILicenseeReturn,\r\n} from \"../../api/ILicenseeReturns\";\r\nimport { GetLicenseeReturnPageUrl } from \"../../leap-pages/routeFactory\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { LicenseeReturnGridProps } from \"./LicenseeReturnGridProps\";\r\n\r\nconst LicenseeReturnsGrid = ({\r\n relatedRecordType,\r\n relatedrecordId,\r\n licenceProfile,\r\n}: LicenseeReturnGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (relatedRecordType) {\r\n case \"CI\":\r\n return GetLicenseeReturnFromComplianceInvestigationFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Site Visit\":\r\n default:\r\n return GetLicenseeReturnFromSiteVisitFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(relatedrecordId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Licensee Return\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"datereceived\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Title\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Document Type\",\r\n accessor: \"doctype\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Document SubType\",\r\n accessor: \"docsubtype\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Decision\",\r\n accessor: \"decision\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Licensee Return\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Title\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { LicenseeReturnsGrid };\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetNonCompliancesByComplaintFetchUrl,\r\n GetNonCompliancesByComplianceInvestigationFetchUrl,\r\n GetNonCompliancesByIncidentFetchUrl,\r\n GetNonCompliancesByLicenseeReturnFetchUrl,\r\n GetNonCompliancesBySiteVisitFetchUrl,\r\n INonCompliance,\r\n} from \"../../api/INonCompliance\";\r\nimport { Grid } from \"../Grid\";\r\nimport { NonCompliancesGridProps } from \"./NonCompliancesGridProps\";\r\n\r\nconst NonCompliancesGrid = ({\r\n relatedRecordType,\r\n relatedRecordId,\r\n licenceProfile,\r\n}: NonCompliancesGridProps) => {\r\n const GetUrlForNonCompliance = (\r\n profileNumber: string,\r\n nonCompliance: INonCompliance\r\n ) => {\r\n return `/licence-profile/${profileNumber}/compliance/non-compliance/${nonCompliance.noncomplianceid}`;\r\n };\r\n\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (relatedRecordType) {\r\n case \"Licensee Return\":\r\n return GetNonCompliancesByLicenseeReturnFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Complaint\":\r\n return GetNonCompliancesByComplaintFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Incident\":\r\n return GetNonCompliancesByIncidentFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Site Visit\":\r\n return GetNonCompliancesBySiteVisitFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Compliance Investigation\":\r\n default:\r\n return GetNonCompliancesByComplianceInvestigationFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(relatedRecordId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date Non Compliance Occurred\",\r\n accessor: \"dateofnoncompliance\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Date Issued by EPA\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Non Compliance Type\",\r\n accessor: \"type\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Non Compliance Type\",\r\n accessor: \"type\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { NonCompliancesGrid };\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { ISiteVisitDetails } from \"../../../api/ISiteVisit\";\r\nimport {\r\n ILicenceProfile,\r\n isRadiologicalProtection,\r\n} from \"../../../api/LicenceProfile\";\r\nimport { ComplianceInvestigationsGrid } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationsGrid\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { FindingsAndRecommendationsGrid } from \"../../../leap-components/FindingsAndRecommendations/FindingsAndRecommendationsGrid\";\r\nimport { LicenseeReturnsGrid } from \"../../../leap-components/LicenseeReturns/LicenseeReturnsGrid\";\r\nimport { NonCompliancesGrid } from \"../../../leap-components/NonCompliances/NonCompliancesGrid\";\r\nimport { SiteVisitProps } from \"./SiteVisitProps\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n siteVisit: ISiteVisitDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface LicenseeReturnsProps {\r\n siteVisit: ISiteVisitDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst LicenseeReturns = ({\r\n siteVisit,\r\n licenceProfile,\r\n}: LicenseeReturnsProps) => (\r\n \r\n);\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n siteVisit,\r\n licenceProfile,\r\n}: SubTabsProps) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isRadiologicalProtection(licenceProfile) && (\r\n \r\n \r\n \r\n )}\r\n {isRadiologicalProtection(licenceProfile) && (\r\n \r\n \r\n \r\n )}\r\n {!isRadiologicalProtection(licenceProfile) && (\r\n \r\n \r\n \r\n )}\r\n {!isRadiologicalProtection(licenceProfile) && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n);\r\n\r\nconst RelatedComplianceRecords = ({\r\n siteVisit,\r\n licenceProfile,\r\n}: SiteVisitProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Link, useNavigate } from \"react-router-dom\";\r\n\r\ninterface BackToComplianceProps {\r\n profileNo: string;\r\n}\r\nconst BackToCompliance = ({ profileNo }: BackToComplianceProps) => {\r\n const navigate = useNavigate();\r\n\r\n return (\r\n \r\n navigate(-1)}>\r\n < Back to Previous Record\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BackToCompliance;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport SiteVisitDetails from \"./SiteVisitDetails\";\r\nimport SiteVisitHeader from \"./SiteVisitHeader\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport {\r\n loadSiteVisitAsync,\r\n selectSiteVisit,\r\n} from \"../../../redux/slices/siteVisit\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst SiteVisit = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingSiteVisitId, setLoadingSiteVisitId] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const siteVisitSelector = useAppSelector(selectSiteVisit);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, siteVisitId } = useParams();\r\n if (!profileNo || !siteVisitId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingSiteVisitId !== siteVisitId) {\r\n setLoadingSiteVisitId(siteVisitId);\r\n dispatch(loadSiteVisitAsync(siteVisitId));\r\n return ;\r\n }\r\n\r\n const siteVisit = siteVisitSelector.siteVisit;\r\n\r\n if (!siteVisit) {\r\n return ;\r\n }\r\n\r\n if (!siteVisit.response.ok) {\r\n if (siteVisit.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SiteVisit;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\n\r\nconst BreadCrumbs = () => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LeapHeaderComponent from \"../../leap-components/LeapHeaderComponent\";\r\n\r\nconst HeaderSubComponent = () => {\r\n return (\r\n
\r\n \r\n \r\n

Licence and Enforcement Access Portal

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst Header = () => {\r\n return } />;\r\n};\r\n\r\nexport default Header;\r\n","import { Button, Col, Row } from \"react-bootstrap\";\r\nimport { Link, useNavigate } from \"react-router-dom\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\n\r\nimport useAppSelector from \"../../hooks/useAppSelector\";\r\nimport useAppDispatch from \"../../hooks/useAppDispatch\";\r\n\r\nimport {\r\n acceptTermsOfService,\r\n LegalCookieName,\r\n selectConfirm,\r\n toggleAcceptance,\r\n} from \"../../redux/slices/legal\";\r\nimport { setCookie } from \"../../cookies/cookies\";\r\n\r\nconst ConfirmCard = () => {\r\n const confirm = useAppSelector(selectConfirm);\r\n const dispatch = useAppDispatch();\r\n const navigate = useNavigate();\r\n\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n const returnUrl = urlParams.get(\"returnUrl\");\r\n\r\n const Continue = () => {\r\n setCookie(LegalCookieName, \"true\", 1);\r\n dispatch(acceptTermsOfService());\r\n window.location.href = returnUrl ? returnUrl : \"\"; //try navigate with absolute path\r\n };\r\n\r\n var bodyElements = (\r\n
\r\n \r\n \r\n

\r\n LEAP provides you with access to the formal compliance &\r\n enforcement correspondence that is exchanged between the EPA and our\r\n regulated operators in these activity areas:\r\n

\r\n \r\n
\r\n \r\n \r\n
    \r\n
  • Dumping at Sea
  • \r\n
  • \r\n Major Industry: Industrial Emissions (IE), Integrated Pollution\r\n Prevention & Control (IPPC), Integrated Pollution Control\r\n (IPC)\r\n
  • \r\n
  • Radiological Protection
  • \r\n
\r\n \r\n \r\n
    \r\n
  • \r\n Urban Waste Water Discharge: Waste Water Discharge Authorisations\r\n (WWDA) and Certificates of Authorisation (CoA)\r\n
  • \r\n
  • Waste Management
  • \r\n
\r\n \r\n
\r\n \r\n \r\n

\r\n LEAP allows you to view details of licences and permits issued by\r\n the EPA, and holds records describing the regulation of licensed and\r\n permitted sites. These include EPA Site Inspection and Monitoring\r\n Reports, Licensee Returns, Incidents, Non-Compliances and\r\n Complaints, plus information about Compliance Investigations at\r\n non-compliant sites.\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n Find more about LEAP\r\n \r\n \r\n \r\n \r\n \r\n

\r\n In order to proceed, please confirm that you have read and agree to\r\n the{\" \"}\r\n \r\n Terms and Conditions\r\n {\" \"}\r\n for using the LEAP Portal.\r\n

\r\n \r\n
\r\n \r\n \r\n dispatch(toggleAcceptance())}\r\n />\r\n I Confirm\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ConfirmCard;\r\n","import { faExclamation } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Card, Col, Row } from \"react-bootstrap\";\r\n\r\nconst CookiesDisabledCard = () => {\r\n var bodyElements = (\r\n
\r\n \r\n \r\n

\r\n {\" \"}\r\n \r\n The browser has all cookies disabled. In order to operate, LEAP\r\n requires that Strictly Necessary Cookies are enabled. Please\r\n enable cookies in the browser to use LEAP.\r\n \r\n

\r\n \r\n
\r\n
\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {bodyElements}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CookiesDisabledCard;\r\n","import { Col, Row, Tab } from \"react-bootstrap\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport Header from \"./Header\";\r\nimport ConfirmCard from \"./ConfirmTextCard\";\r\nimport { areCookiesEnabled } from \"../../cookies/cookies\";\r\nimport CookiesDisabledCard from \"./CookiesDisabledCard\";\r\n\r\nconst Confirm = () => {\r\n const hasCookiesEnabled = areCookiesEnabled();\r\n\r\n return (\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 {hasCookiesEnabled && }\r\n {!hasCookiesEnabled && }\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 Confirm;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface IBreadCrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile }: IBreadCrumbProps) => {\r\n const profileText = `${licenceProfile.organisation} - ${licenceProfile.profileNo}`;\r\n return (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {profileText}\r\n \r\n Compliance\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BreadCrumbs;\r\n","// This is a custom filter UI for selecting values where values come from a static (fixed) list that is set upfront\r\n\r\nimport React, { useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { useAsyncDebounce } from \"react-table\";\r\n\r\nfunction CreateStaticSelectColumnFilter(values: Array) {\r\n let StaticSelectColumnFilter = function StaticSelectColumnFilter({\r\n column: { filterValue, setFilter },\r\n }: {\r\n column: any;\r\n }) {\r\n const [value, setValue] = useState(filterValue);\r\n const onChange = useAsyncDebounce((value) => {\r\n setFilter(value || undefined);\r\n }, 300);\r\n\r\n // Render a multi-select box\r\n return (\r\n {\r\n setValue(e.target.value);\r\n onChange(e.target.value);\r\n }}\r\n >\r\n \r\n {values.map((option: any, i: any) => (\r\n \r\n ))}\r\n \r\n );\r\n };\r\n\r\n return StaticSelectColumnFilter;\r\n}\r\n\r\nexport { CreateStaticSelectColumnFilter };\r\n","// This is a custom UI for our 'between' or number range\r\n// filter. It uses two number boxes and filters rows to\r\n\r\nimport React, { useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { useAsyncDebounce } from \"react-table\";\r\nimport DatePicker, { ReactDatePickerCustomHeaderProps } from \"react-datepicker\";\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\n// using https://github.com/Hacker0x01/react-datepicker\r\n// https://reactdatepicker.com/\r\n\r\n//https://reactdatepicker.com/#example-custom-day\r\n\r\nconst range = (start: number, stop: number, step: number) =>\r\n Array.from({ length: (stop - start) / step + 1 }, (_, i) => start + i * step);\r\n\r\nconst years = range(1990, new Date().getFullYear(), 1);\r\nconst months = [\r\n \"January\",\r\n \"February\",\r\n \"March\",\r\n \"April\",\r\n \"May\",\r\n \"June\",\r\n \"July\",\r\n \"August\",\r\n \"September\",\r\n \"October\",\r\n \"November\",\r\n \"December\",\r\n];\r\n\r\nconst getNextYearValue = (currentYear: number, currentMonth: number) =>\r\n currentMonth === 11 ? currentYear + 1 : currentYear;\r\n\r\nconst getNextMonthValue = (currentMonth: number) =>\r\n currentMonth === 11 ? 0 : currentMonth + 1;\r\n\r\nconst CurrentMonthHeader = ({\r\n monthDate,\r\n date,\r\n customHeaderCount,\r\n changeYear,\r\n decreaseYear,\r\n increaseYear,\r\n prevYearButtonDisabled,\r\n nextYearButtonDisabled,\r\n changeMonth,\r\n decreaseMonth,\r\n increaseMonth,\r\n prevMonthButtonDisabled,\r\n nextMonthButtonDisabled,\r\n}: ReactDatePickerCustomHeaderProps) => (\r\n
\r\n \r\n changeMonth(months.indexOf(value))}\r\n >\r\n {months.map((option) => (\r\n \r\n ))}\r\n \r\n changeYear(parseInt(value, 10))}\r\n >\r\n {years.map((option) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n);\r\n\r\nconst NextMonthHeader = ({\r\n monthDate,\r\n date,\r\n customHeaderCount,\r\n changeYear,\r\n decreaseYear,\r\n increaseYear,\r\n prevYearButtonDisabled,\r\n nextYearButtonDisabled,\r\n changeMonth,\r\n decreaseMonth,\r\n increaseMonth,\r\n prevMonthButtonDisabled,\r\n nextMonthButtonDisabled,\r\n}: ReactDatePickerCustomHeaderProps) => (\r\n
\r\n \r\n
\r\n);\r\n\r\nconst CustomDateRangeHeader = ({\r\n monthDate,\r\n date,\r\n customHeaderCount,\r\n changeYear,\r\n decreaseYear,\r\n increaseYear,\r\n prevYearButtonDisabled,\r\n nextYearButtonDisabled,\r\n changeMonth,\r\n decreaseMonth,\r\n increaseMonth,\r\n prevMonthButtonDisabled,\r\n nextMonthButtonDisabled,\r\n}: ReactDatePickerCustomHeaderProps) => (\r\n \r\n {customHeaderCount === 0 && (\r\n \r\n )}\r\n {customHeaderCount === 1 && (\r\n \r\n )}\r\n \r\n);\r\n\r\nfunction DateRangeColumnFilter({\r\n column: { filterValue = [], preFilteredRows, setFilter, id },\r\n}: {\r\n column: any;\r\n}) {\r\n const [startDate, setStartDate] = useState(null);\r\n const [endDate, setEndDate] = useState(null);\r\n const onDateChange = (dates: any) => {\r\n const [start, end] = dates;\r\n setStartDate(start);\r\n setEndDate(end);\r\n setFilter([start, end]);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport { DateRangeColumnFilter };\r\n","import LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { Link, useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport { ICompliancePropsWithFilters } from \"../../../leap-components/Compliance/IComplianceProps\";\r\nimport { Column } from \"react-table\";\r\nimport {\r\n GetComplianceListFetchUrl,\r\n ICompliance,\r\n} from \"../../../api/ICompliance\";\r\nimport { getIconForType } from \"../../../leap-components/icons/LeapIcons\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { Grid } from \"../../../leap-components/Grid\";\r\nimport { formatDate } from \"../../../api/DateUtils\";\r\nimport { CreateStaticSelectColumnFilter } from \"../../../leap-components/Grid/FetchGrid/StaticSelectColumnFilter\";\r\nimport {\r\n loadComplianceOptionsAsync,\r\n selectComplianceOptions,\r\n} from \"../../../redux/slices/compliance\";\r\nimport { DateRangeColumnFilter } from \"../../../leap-components/Grid/FetchGrid/DateRangeColumnFilter\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { GetComplianceRecordDetailsUrl } from \"../../routeFactory\";\r\n\r\nconst ComplianceServerSide = ({\r\n licenceProfile,\r\n complianceRecordTypes,\r\n complianceStatuses,\r\n}: ICompliancePropsWithFilters) => {\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Category\",\r\n accessor: \"type\",\r\n Filter: CreateStaticSelectColumnFilter(\r\n complianceRecordTypes.list.map((option) => option.type)\r\n ),\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(rowInfo.value)}\r\n {rowInfo.value}
\r\n ),\r\n },\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => {\r\n const rowData = rowInfo.data[rowInfo.row.index];\r\n return (\r\n \r\n {rowInfo.value}\r\n \r\n );\r\n },\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"date\",\r\n Filter: DateRangeColumnFilter,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: CreateStaticSelectColumnFilter(\r\n complianceStatuses.list.map((option) => option.status)\r\n ),\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Licence Version\",\r\n accessor: \"licenceregno\",\r\n Filter: CreateStaticSelectColumnFilter(\r\n licenceProfile.licenceVersionsList.list.map((version) => version.reg_no)\r\n ),\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Category\",\r\n accessor: \"type\",\r\n Filter: CreateStaticSelectColumnFilter(\r\n complianceRecordTypes.list.map((option) => option.type)\r\n ),\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(rowInfo.value)}\r\n {rowInfo.value}
\r\n ),\r\n },\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => {\r\n const rowData = rowInfo.data[rowInfo.row.index];\r\n return (\r\n \r\n {rowInfo.value}\r\n \r\n );\r\n },\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const fetchUrl = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetComplianceListFetchUrl(\r\n licenceProfile.id,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return ;\r\n};\r\n\r\nconst ComplianceTab = () => {\r\n const [loading, setLoading] = useState(false);\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const complianceOptionsSelector = useAppSelector(selectComplianceOptions);\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo } = useParams();\r\n if (!profileNo) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (\r\n !complianceOptionsSelector.complianceRecordTypes ||\r\n !complianceOptionsSelector.complianceStatuses\r\n ) {\r\n dispatch(loadComplianceOptionsAsync(licenceProfile.id));\r\n return ;\r\n }\r\n\r\n const contentElement = (\r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ComplianceTab;\r\n","export enum SiteVisitRegardingObjectTypes {\r\n LR = \"Licensee Return\",\r\n CI = \"CI\",\r\n NC = \"Non Compliance\",\r\n}\r\n\r\nexport interface SiteVisitsGridProps {\r\n regardingObjectId: string;\r\n regardingObjectType: SiteVisitRegardingObjectTypes;\r\n}\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface IBreadCrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile }: IBreadCrumbProps) => {\r\n const profileText = `${licenceProfile.organisation} - ${licenceProfile.profileNo}`;\r\n return (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {profileText}\r\n \r\n Licence Versions\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BreadCrumbs;\r\n","import LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport { IComplianceProps } from \"../../../leap-components/Compliance/IComplianceProps\";\r\nimport { Column } from \"react-table\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { Grid } from \"../../../leap-components/Grid\";\r\nimport {\r\n ILicenceVersion,\r\n IsCoALicense,\r\n IsDumpingAtSeaLicense,\r\n IsWasteWaterDischargeAuthorisation,\r\n} from \"../../../api/LicenceVersion\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n IsIndustrialEmissionsLicense,\r\n IsWasteLicense,\r\n} from \"../../../api/LicenceVersion\";\r\nimport { ExternalLinkIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\nconst LicensingDocumentsCellFactory = (licenceProfile: ILicenceProfile) => {\r\n return (rowInfo: any) => {\r\n const licence = rowInfo.row.original as ILicenceVersion;\r\n let url = \"\";\r\n if (IsIndustrialEmissionsLicense(licence)) {\r\n url = `https://epawebapp.epa.ie/terminalfour/ippc/ippc-view.jsp?regno=${licence.reg_no}`;\r\n } else if (IsWasteLicense(licence)) {\r\n url = `https://epawebapp.epa.ie/terminalfour/waste/waste-view.jsp?regno=${licence.reg_no}`;\r\n } else if (\r\n IsWasteWaterDischargeAuthorisation(licence) ||\r\n IsCoALicense(licence)\r\n ) {\r\n url = `https://epawebapp.epa.ie/terminalfour/wwda/wwda-view.jsp?regno=${licence.reg_no}`;\r\n } else if (IsDumpingAtSeaLicense(licence)) {\r\n url = `https://epawebapp.epa.ie/terminalfour/DaS/DaS-view.jsp?regno=${licence.reg_no}`;\r\n }\r\n\r\n if (url === \"\") {\r\n return -;\r\n }\r\n\r\n return (\r\n \r\n Licensing Documents\r\n \r\n \r\n );\r\n };\r\n};\r\n\r\nconst LicenceVersionsGrid = ({ licenceProfile }: IComplianceProps) => {\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Licence Version\",\r\n accessor: \"reg_no\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Type\",\r\n accessor: \"licence_type\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Status\",\r\n accessor: \"licence_status\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Sub-Status\",\r\n accessor: \"licence_substatus\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licensed Date\",\r\n accessor: \"date_of_licence\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Replaced Date\",\r\n accessor: \"ceased_date\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"\",\r\n accessor: \"licenceprofile_id\",\r\n Filter: false,\r\n Cell: LicensingDocumentsCellFactory(licenceProfile),\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Licence Version\",\r\n accessor: \"reg_no\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Status\",\r\n accessor: \"licence_status\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licensed Date\",\r\n accessor: \"date_of_licence\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"\",\r\n accessor: \"licenceprofile_id\",\r\n Filter: false,\r\n Cell: LicensingDocumentsCellFactory(licenceProfile),\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return ;\r\n};\r\n\r\nconst LicenceVersionsTab = () => {\r\n const [loading, setLoading] = useState(false);\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo } = useParams();\r\n if (!profileNo) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n const contentElement = (\r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LicenceVersionsTab;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { ILicenseeReturnDetails } from \"../../../api/ILicenseeReturns\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n licenseeReturn: ILicenseeReturnDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, licenseeReturn }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {licenseeReturn.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport { IInstruction } from \"../../api/Instruction\";\r\nimport { GetInstructionsFromLicenseeReturnFetchUrl } from \"../../api/Instruction\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { InstructionsGridProps } from \"./InstructionsGridProps\";\r\n\r\nconst GetUrlForInstruction = (\r\n instruction: IInstruction,\r\n licenceProfile: ILicenceProfile\r\n) => {\r\n return `/licence-profile/${licenceProfile.profileNo}/compliance/lr-instruction/${instruction.epainitiatedcorrespondenceid}`;\r\n};\r\n\r\nconst RefNoCellFunctionFactory = (licenceProfile: ILicenceProfile) => {\r\n const RefNoCellFunction = (rowInfo: any): JSX.Element => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"EPA Initiated Correspondence\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n );\r\n return RefNoCellFunction;\r\n};\r\n\r\nconst InstructionsGrid = ({\r\n licenseeReturnId,\r\n licenceProfile,\r\n}: InstructionsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetInstructionsFromLicenseeReturnFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(licenseeReturnId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n Cell: RefNoCellFunctionFactory(licenceProfile),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Correspondence Type\",\r\n accessor: \"correspondencetype\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Notification\",\r\n accessor: \"licensingnotification\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n Cell: RefNoCellFunctionFactory(licenceProfile),\r\n },\r\n {\r\n Header: \"Date\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Correspondence Type\",\r\n accessor: \"correspondencetype\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { InstructionsGrid };\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport {\r\n GetRequestsForInformationFromLicenseeReturnFetchUrl,\r\n IRequestForInformation,\r\n} from \"../../api/RequestForInformation\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { RequestsForInformationGridProps } from \"./RequestsForInformationGridProps\";\r\n\r\nconst GetUrlForRequestForInformation = (\r\n licenceProfile: ILicenceProfile,\r\n requestForInformation: IRequestForInformation\r\n) => {\r\n return `/licence-profile/${licenceProfile.profileNo}/compliance/request-for-information/${requestForInformation.rfiid}`;\r\n};\r\n\r\nconst RequestsForInformationGrid = ({\r\n licenceProfile,\r\n licenseeReturnId,\r\n}: RequestsForInformationGridProps) => {\r\n const getFetchUrlFn = (returnId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetRequestsForInformationFromLicenseeReturnFetchUrl(\r\n returnId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrlFn = getFetchUrlFn(licenseeReturnId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Licensee Return\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date Issued by EPA\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licensee Response Date\",\r\n accessor: \"responsereceiveddate\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Licensee Return\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { RequestsForInformationGrid };\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetSiteVisitsFromComplianceInvestigationFetchUrl,\r\n GetSiteVisitsFromLicenseeReturnFetchUrl,\r\n GetSiteVisitsFromNonComplianceFetchUrl,\r\n ISiteVisit,\r\n} from \"../../api/ISiteVisit\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { SiteVisitsGridProps } from \"./SiteVisitsGridProps\";\r\n\r\nconst GetUrlForSiteVisit = (siteVisit: ISiteVisit) => {\r\n return `/licence-profile/${siteVisit.profile_number}/compliance/sitevisit/${siteVisit.sitevisitid}`;\r\n};\r\n\r\nconst SiteVisitsGrid = ({\r\n regardingObjectId,\r\n regardingObjectType,\r\n}: SiteVisitsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (regardingObjectType) {\r\n case \"CI\":\r\n return GetSiteVisitsFromComplianceInvestigationFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Non Compliance\":\r\n return GetSiteVisitsFromNonComplianceFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case \"Licensee Return\":\r\n default:\r\n return GetSiteVisitsFromLicenseeReturnFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(regardingObjectId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Site Visit\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Visit Date\",\r\n accessor: \"visit_date\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Visit Type\",\r\n accessor: \"visit_type\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Visit Title\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"Site Visit\")}\r\n \r\n {rowInfo.value}\r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Visit Title\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { SiteVisitsGrid };\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { ILicenseeReturnDetails } from \"../../../api/ILicenseeReturns\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { InstructionsGrid } from \"../../../leap-components/Instructions/InstructionsGrid\";\r\nimport { NonCompliancesGrid } from \"../../../leap-components/NonCompliances/NonCompliancesGrid\";\r\nimport { RequestsForInformationGrid } from \"../../../leap-components/RequestsForInformation/RequestsForInformationGrid\";\r\nimport { SiteVisitsGrid } from \"../../../leap-components/SiteVisits/SiteVisitsGrid\";\r\nimport { SiteVisitRegardingObjectTypes } from \"../../../leap-components/SiteVisits/SiteVisitsGridProps\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n licenceProfile: ILicenceProfile;\r\n licenseeReturn: ILicenseeReturnDetails;\r\n}\r\n\r\ninterface LicenseeReturnsProps {\r\n licenceProfile: ILicenceProfile;\r\n licenseeReturn: ILicenseeReturnDetails;\r\n}\r\n\r\nconst RequestsForInformation = ({\r\n licenceProfile,\r\n licenseeReturn,\r\n}: LicenseeReturnsProps) => (\r\n \r\n);\r\n\r\nconst Instructions = ({\r\n licenceProfile,\r\n licenseeReturn,\r\n}: LicenseeReturnsProps) => (\r\n \r\n);\r\n\r\nconst SiteVisits = ({\r\n licenceProfile,\r\n licenseeReturn,\r\n}: LicenseeReturnsProps) => (\r\n \r\n);\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n licenseeReturn,\r\n licenceProfile,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n licenceProfile,\r\n licenseeReturn,\r\n}: LicenseeReturnsProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","export enum EdenMessagesGridType {\r\n TaskBasedEdenMessages = 0,\r\n RegardingBasedEdenMessages = 1,\r\n}\r\n\r\nexport interface EdenMessagesGridProps {\r\n edenMessagesType: EdenMessagesGridType;\r\n profileNumber: string;\r\n taskId?: string;\r\n regardingObjectId?: string;\r\n}\r\n","import { Card, Col, Row, Form } from \"react-bootstrap\";\r\nimport { ILicenseeReturnDetails } from \"../../../api/ILicenseeReturns\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { LicenseeReturnIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface LicenseeReturnHeaderProps {\r\n licenseeReturn: ILicenseeReturnDetails;\r\n}\r\n\r\nconst LicenseeReturnHeader = ({\r\n licenseeReturn,\r\n}: LicenseeReturnHeaderProps) => {\r\n return (\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

Licensee Return: {licenseeReturn.reference}

\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\nexport default LicenseeReturnHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { ILicenseeReturnDetails } from \"../../../api/ILicenseeReturns\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface LicenseeReturnDetailsProps {\r\n licenseeReturn: ILicenseeReturnDetails;\r\n}\r\n\r\nconst LicenseeReturnDetails = ({\r\n licenseeReturn,\r\n}: LicenseeReturnDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default LicenseeReturnDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { IComplianceInvestigationDetails } from \"../../api/IComplianceInvestigation\";\r\nimport { ILicenceProfile } from \"../../api/LicenceProfile\";\r\nimport { GetComplianceRecordDetailsUrl } from \"../../leap-pages/routeFactory\";\r\nimport EpaCard from \"../EpaCard\";\r\nimport EpaField2Rows from \"../EpaField2Rows\";\r\n\r\nconst complianceInvestigation = \"Compliance Investigation\";\r\n\r\ninterface IComplianceInvestigationBoxProps {\r\n complianceInvestigationDetails: IComplianceInvestigationDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst ComplianceInvestigationBox = ({\r\n complianceInvestigationDetails,\r\n licenceProfile,\r\n}: IComplianceInvestigationBoxProps) => {\r\n var bodyElements = (\r\n \r\n \r\n \r\n \r\n \r\n {complianceInvestigationDetails.reference}\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 return (\r\n \r\n );\r\n};\r\n\r\nexport { ComplianceInvestigationBox };\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport LicenseeReturnHeader from \"./LicenseeReturnHeader\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport {\r\n loadLicenseeReturnAsync,\r\n selectLicenseeReturn,\r\n} from \"../../../redux/slices/licenseeReturn\";\r\nimport LicenseeReturnDetails from \"./LicenseeReturnDetails\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { ComplianceInvestigationBox } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationBox\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst LicenseeReturn = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingLicenseeReturnId, setLoadingLicenseeReturnId] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const licenseeReturnSelector = useAppSelector(selectLicenseeReturn);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, licenseeReturnId } = useParams();\r\n if (!profileNo || !licenseeReturnId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingLicenseeReturnId !== licenseeReturnId) {\r\n setLoadingLicenseeReturnId(licenseeReturnId);\r\n dispatch(loadLicenseeReturnAsync(licenseeReturnId));\r\n return ;\r\n }\r\n\r\n const licenseeReturn = licenseeReturnSelector.licenseeReturn;\r\n\r\n if (licenseeReturnSelector.fetchStatus !== \"idle\") {\r\n return ;\r\n }\r\n\r\n if (!licenseeReturn) {\r\n return ;\r\n }\r\n\r\n if (!licenseeReturn.response.ok) {\r\n if (licenseeReturn.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 {licenseeReturn.complianceInvestigationDetails && (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LicenseeReturn;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { IRequestForInformation } from \"../../../api/RequestForInformation\";\r\nimport { GetLicenseeReturnPageUrl } from \"../../routeFactory\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n requestForInformation: IRequestForInformation;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n requestForInformation,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {requestForInformation.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {requestForInformation.licensee_return_reference}\r\n \r\n \r\n {requestForInformation.reference}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IRequestForInformation } from \"../../../api/RequestForInformation\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n requestForInformation: IRequestForInformation;\r\n}\r\n\r\ninterface RequestForInformationProps {\r\n requestForInformation: IRequestForInformation;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n requestForInformation,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n requestForInformation,\r\n}: RequestForInformationProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row, Form } from \"react-bootstrap\";\r\nimport { IRequestForInformation } from \"../../../api/RequestForInformation\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { LicenseeReturnIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface RequestForInformationHeaderProps {\r\n requestForInformation: IRequestForInformation;\r\n}\r\n\r\nconst RequestForInformationHeader = ({\r\n requestForInformation,\r\n}: RequestForInformationHeaderProps) => {\r\n return (\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 Request for Information: {requestForInformation.reference}\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\nexport default RequestForInformationHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { IRequestForInformation } from \"../../../api/RequestForInformation\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\nimport { GetLicenseeReturnPageUrl } from \"../../routeFactory\";\r\n\r\ninterface RequestForInformationDetailsProps {\r\n requestForInformation: IRequestForInformation;\r\n}\r\n\r\nconst RequestForInformationDetails = ({\r\n requestForInformation,\r\n}: RequestForInformationDetailsProps) => {\r\n const linkToLicenseeReturnDetails = GetLicenseeReturnPageUrl(\r\n requestForInformation.profileNo,\r\n requestForInformation.licenseesubmisionid\r\n );\r\n var bodyElements = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {requestForInformation.licensee_return_reference}\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 ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RequestForInformationDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n loadRequestForInformationAsync,\r\n selectRequestForInformation,\r\n} from \"../../../redux/slices/requestForInformation\";\r\nimport RequestForInformationHeader from \"./RequestForInformationHeader\";\r\nimport RequestForInformationDetails from \"./RequestForInformationDetails\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst RequestForInformation = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingRfiId, setLoadingRfiId] = useState(\"\");\r\n\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const requestForInformationSelector = useAppSelector(\r\n selectRequestForInformation\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, requestForInformationId } = useParams();\r\n if (!profileNo || !requestForInformationId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n const requestForInformation =\r\n requestForInformationSelector.requestForInformation;\r\n\r\n if (requestForInformationId !== loadingRfiId) {\r\n setLoadingRfiId(requestForInformationId);\r\n dispatch(loadRequestForInformationAsync(requestForInformationId));\r\n return ;\r\n }\r\n\r\n if (!requestForInformation) {\r\n return ;\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RequestForInformation;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IFindingAndRecommendationDetails } from \"../../../api/IFindingAndRecommendation\";\r\nimport { ISiteVisit } from \"../../../api/ISiteVisit\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { IRequestForInformation } from \"../../../api/RequestForInformation\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n findingAndRecommendation: IFindingAndRecommendationDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n findingAndRecommendation,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {findingAndRecommendation.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {findingAndRecommendation.siteVisit?.reference}\r\n \r\n \r\n {findingAndRecommendation.reference}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetEdenMessagesByRegardingFetchUrl,\r\n GetEdenMessagesByTaskFetchUrl,\r\n IEdenMessage,\r\n} from \"../../api/IEdenMessage\";\r\nimport { Grid } from \"../Grid\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport {\r\n EdenMessagesGridProps,\r\n EdenMessagesGridType,\r\n} from \"./EdenMessagesGridProps\";\r\n\r\nconst GetUrlForEdenMessage = (\r\n profileNumber: string,\r\n edenMessage: IEdenMessage\r\n) => {\r\n return `/licence-profile/${profileNumber}/compliance/eden-message/${edenMessage.edenmessageid}`;\r\n};\r\n\r\nconst EdenMessagesGrid = ({\r\n edenMessagesType,\r\n profileNumber,\r\n taskId,\r\n regardingObjectId,\r\n}: EdenMessagesGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (edenMessagesType) {\r\n case EdenMessagesGridType.TaskBasedEdenMessages:\r\n return GetEdenMessagesByTaskFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n case EdenMessagesGridType.RegardingBasedEdenMessages:\r\n return GetEdenMessagesByRegardingFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n var relatedId = \"\";\r\n if (taskId) {\r\n relatedId = taskId;\r\n }\r\n\r\n if (regardingObjectId) {\r\n relatedId = regardingObjectId;\r\n }\r\n\r\n const fetchUrl = getFetchUrlFactory(relatedId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"EDEN Message\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Date Received\",\r\n accessor: \"dateraised\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Response from EPA\",\r\n accessor: \"response\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {getIconForType(\"EDEN Message\")}\r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { EdenMessagesGrid };\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IFindingAndRecommendationDetails } from \"../../../api/IFindingAndRecommendation\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { EdenMessagesGrid } from \"../../../leap-components/EdenMessages/EdenMessagesGrid\";\r\nimport { EdenMessagesGridType } from \"../../../leap-components/EdenMessages/EdenMessagesGridProps\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n licenceProfile: ILicenceProfile;\r\n findingAndRecommendation: IFindingAndRecommendationDetails;\r\n}\r\n\r\ninterface FindingAndRecommendationProps {\r\n licenceProfile: ILicenceProfile;\r\n findingAndRecommendation: IFindingAndRecommendationDetails;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n licenceProfile,\r\n findingAndRecommendation,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n licenceProfile,\r\n findingAndRecommendation,\r\n}: FindingAndRecommendationProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row, Form } from \"react-bootstrap\";\r\nimport { IFindingAndRecommendationDetails } from \"../../../api/IFindingAndRecommendation\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { LicenseeReturnIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface FindingAndRecommendationHeaderProps {\r\n findingAndRecommendation: IFindingAndRecommendationDetails;\r\n}\r\n\r\nconst FindingAndRecommendationHeader = ({\r\n findingAndRecommendation,\r\n}: FindingAndRecommendationHeaderProps) => {\r\n return (\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 {`Finding / Recommendation: ${findingAndRecommendation.reference}`}\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\nexport default FindingAndRecommendationHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IFindingAndRecommendationDetails } from \"../../../api/IFindingAndRecommendation\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface RequestForInformationDetailsProps {\r\n findingAndRecommendation: IFindingAndRecommendationDetails;\r\n}\r\n\r\nconst FindingAndRecommendationDetails = ({\r\n findingAndRecommendation,\r\n}: RequestForInformationDetailsProps) => {\r\n const linkToSiteVisitDetails = `/licence-profile/${findingAndRecommendation.profileNo}/compliance/sitevisit/${findingAndRecommendation.regardingobjectid}`;\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default FindingAndRecommendationDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport FindingAndRecommendationHeader from \"./FindingAndRecommendationHeader\";\r\nimport FindingAndRecommendationDetails from \"./FindingAndRecommendationDetails\";\r\nimport {\r\n loadFindingAndRecommendationAsync,\r\n selectFindingAndRecommendation,\r\n} from \"../../../redux/slices/findingAndRecommendation\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst Instruction = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [\r\n loadingFindingAndRecommendationId,\r\n setLoadingFindingAndRecommendationId,\r\n ] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const findingAndRecommendationSelector = useAppSelector(\r\n selectFindingAndRecommendation\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, findingAndRecommendationId } = useParams();\r\n if (!profileNo || !findingAndRecommendationId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingFindingAndRecommendationId !== findingAndRecommendationId) {\r\n setLoadingFindingAndRecommendationId(findingAndRecommendationId);\r\n dispatch(loadFindingAndRecommendationAsync(findingAndRecommendationId));\r\n return ;\r\n }\r\n\r\n const findingAndRecommendation =\r\n findingAndRecommendationSelector.findingAndRecommendation;\r\n\r\n if (!findingAndRecommendation) {\r\n return ;\r\n }\r\n\r\n if (!findingAndRecommendation.response.ok) {\r\n if (findingAndRecommendation.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Instruction;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IInstructionDetails } from \"../../../api/Instruction\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { GetLicenseeReturnPageUrl } from \"../../routeFactory\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n instruction: IInstructionDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, instruction }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {instruction.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {instruction.licenseeReturn?.reference}\r\n \r\n {instruction.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IInstructionDetails } from \"../../../api/Instruction\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n instruction: IInstructionDetails;\r\n}\r\n\r\ninterface InstructionProps {\r\n instruction: IInstructionDetails;\r\n}\r\n\r\nconst SubTabs = ({ className, activeKey, instruction }: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({ instruction }: InstructionProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IInstructionDetails } from \"../../../api/Instruction\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { getIconForType } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface InstructionHeaderProps {\r\n instruction: IInstructionDetails;\r\n}\r\n\r\nconst InstructionHeader = ({ instruction }: InstructionHeaderProps) => {\r\n return (\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
{getIconForType(\"EPA Initiated Correspondence\")}\r\n

\r\n {`Licensee Return Instructions: ${instruction.reference}`}\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\nexport default InstructionHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { IInstructionDetails } from \"../../../api/Instruction\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\nimport { GetLicenseeReturnPageUrl } from \"../../routeFactory\";\r\n\r\ninterface InstructionDetailsProps {\r\n instruction: IInstructionDetails;\r\n}\r\n\r\nconst InstructionDetails = ({ instruction }: InstructionDetailsProps) => {\r\n const linkToLicenseeReturn = GetLicenseeReturnPageUrl(\r\n instruction.profileNo,\r\n instruction.licenseesubmissionid\r\n );\r\n var bodyElements = (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {instruction.licenseeReturn?.reference}\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default InstructionDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n loadInstructionAsync,\r\n selectInstruction,\r\n} from \"../../../redux/slices/instruction\";\r\nimport InstructionHeader from \"./InstructionHeader\";\r\nimport InstructionDetails from \"./InstructionDetails\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst FindingAndRecommendation = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingInstructionById, setLoadingInstructionById] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const instructionSelector = useAppSelector(selectInstruction);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, instructionId } = useParams();\r\n if (!profileNo || !instructionId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingInstructionById !== instructionId) {\r\n setLoadingInstructionById(instructionId);\r\n dispatch(loadInstructionAsync(instructionId));\r\n return ;\r\n }\r\n\r\n const instruction = instructionSelector.instruction;\r\n\r\n if (!instruction) {\r\n return ;\r\n }\r\n\r\n if (!instruction.response.ok) {\r\n if (instruction.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FindingAndRecommendation;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IEdenMessageDetails } from \"../../../api/IEdenMessage\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n GetActionOrInstructionDetailsPageUrl,\r\n GetComplianceInvestigationDetailsPageUrl,\r\n GetEpaCorrespondenceDetailsPageUrl,\r\n GetLicenseeReturnPageUrl,\r\n GetSiteVisitDetailsPageUrl,\r\n GetSiteVisitFindingAndRecommendationsDetailsPageUrl,\r\n} from \"../../routeFactory\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n edenMessage: IEdenMessageDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, edenMessage }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {edenMessage.siteVisit && (\r\n \r\n {edenMessage.siteVisit.reference}\r\n \r\n )}\r\n {edenMessage.complianceInvestigationDetails && (\r\n \r\n {edenMessage.complianceInvestigationDetails.reference}\r\n \r\n )}\r\n {edenMessage.licenseeReturn && (\r\n \r\n {edenMessage.licenseeReturn.reference}\r\n \r\n )}\r\n {edenMessage.epaCorrespondenceDetails && (\r\n \r\n {\"EPA Initiated Correspondence\"}\r\n \r\n )}\r\n {edenMessage.findingAndRecommendation && (\r\n \r\n {edenMessage.findingAndRecommendation.reference}\r\n \r\n )}\r\n {edenMessage.actionOrInstructionDetails && (\r\n \r\n {edenMessage.actionOrInstructionDetails.reference}\r\n \r\n )}\r\n {edenMessage.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IEdenMessageDetails } from \"../../../api/IEdenMessage\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n edenMessage: IEdenMessageDetails;\r\n}\r\n\r\ninterface EdenMessageProps {\r\n edenMessage: IEdenMessageDetails;\r\n}\r\n\r\nconst SubTabs = ({ className, activeKey, edenMessage }: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({ edenMessage }: EdenMessageProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IEdenMessageDetails } from \"../../../api/IEdenMessage\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { getIconForType } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface EdenMessageHeaderProps {\r\n licenceProfile: ILicenceProfile;\r\n edenMessage: IEdenMessageDetails;\r\n}\r\n\r\nconst EdenMessageHeader = ({\r\n edenMessage,\r\n licenceProfile,\r\n}: EdenMessageHeaderProps) => {\r\n return (\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
{getIconForType(\"EDEN Message\")}\r\n

{`Message: ${edenMessage.reference}`}

\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\nexport default EdenMessageHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IEdenMessageDetails } from \"../../../api/IEdenMessage\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface EdenMessageDetailsProps {\r\n edenMessage: IEdenMessageDetails;\r\n}\r\n\r\nconst EdenMessageDetails = ({ edenMessage }: EdenMessageDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default EdenMessageDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EdenMessageHeader from \"./EdenMessageHeader\";\r\nimport EdenMessageDetails from \"./EdenMessageDetails\";\r\nimport {\r\n loadEdenMessageAsync,\r\n selectEdenMessage,\r\n} from \"../../../redux/slices/edenMessage\";\r\n\r\nconst EdenMessage = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingMessageById, setLoadingMessageById] = useState(\"\");\r\n\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const edenMessageSelector = useAppSelector(selectEdenMessage);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, edenMessageId } = useParams();\r\n if (!profileNo || !edenMessageId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (edenMessageId !== loadingMessageById) {\r\n setLoadingMessageById(edenMessageId);\r\n dispatch(loadEdenMessageAsync(edenMessageId));\r\n return ;\r\n }\r\n\r\n const edenMessage = edenMessageSelector.edenMessage;\r\n\r\n if (!edenMessage) {\r\n return ;\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EdenMessage;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\n\r\nconst BreadCrumbs = () => {\r\n return (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BreadCrumbs;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LeapHeaderComponent from \"../../leap-components/LeapHeaderComponent\";\r\n\r\nconst HeaderSubComponent = () => {\r\n return (\r\n
\r\n \r\n \r\n

Licence and Enforcement Access Portal

\r\n \r\n
\r\n \r\n \r\n
{\" \"}
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst Header = () => {\r\n const headerContent = ;\r\n return ;\r\n};\r\n\r\nexport default Header;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\n\r\nconst HomeText = () => {\r\n const text = (\r\n
\r\n

Welcome to LEAP, the EPA's Licence and Enforcement Access Portal

\r\n

\r\n LEAP provides you with access to the formal compliance & enforcement\r\n correspondence that is exchanged between the EPA and our regulated\r\n operators in these activity areas:\r\n

\r\n
    \r\n
  • Dumping at Sea
  • \r\n
  • \r\n Major Industry: Industrial Emissions (IE), Integrated Pollution\r\n Prevention & Control (IPPC), Integrated Pollution Control (IPC)\r\n
  • \r\n
  • Radiological Protection
  • \r\n
  • \r\n Urban Waste Water Discharge: Waste Water Discharge Authorisations\r\n (WWDA) and Certificates of Authorisation (CoA)\r\n
  • \r\n
  • Waste Management
  • \r\n
\r\n

\r\n LEAP allows you to view details of licences and permits issued by the\r\n EPA, and holds records describing the regulation of licensed and\r\n permitted sites. These include EPA Site Inspection and Monitoring\r\n Reports, Licensee Returns, Incidents, Non-Compliances and Complaints,\r\n plus information about Compliance Investigations at non-compliant sites.\r\n

\r\n

\r\n \r\n Find more about LEAP\r\n \r\n

\r\n
\r\n );\r\n\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n};\r\n\r\nexport default HomeText;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\n\r\ninterface ILeapHomeContainerProps {\r\n content: JSX.Element;\r\n}\r\n\r\nconst LeapHomeContainer = ({ content }: ILeapHomeContainerProps) => (\r\n
\r\n \r\n \r\n \r\n {content}\r\n \r\n \r\n
\r\n);\r\n\r\nexport default LeapHomeContainer;\r\n","import { useState } from \"react\";\r\nimport { Button, Col, Form, InputGroup, Row } from \"react-bootstrap\";\r\nimport { Search } from \"react-feather\";\r\n\r\ninterface ILeapSearchProps {\r\n searchChangedFn: (newSearch: string) => void;\r\n}\r\n\r\nconst LeapSearch = ({ searchChangedFn }: ILeapSearchProps) => {\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const searchChanged = (newSearch: string) => {\r\n setSearchValue(newSearch);\r\n searchChangedFn(newSearch);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n searchChanged(e.target.value)}\r\n value={searchValue}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LeapSearch;\r\n","import { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport {\r\n GetLicenceProfileSearchFetchUrl,\r\n ILicenceSearchList,\r\n} from \"../../api/ILicenceProfileSearch\";\r\nimport EpaCard from \"../../leap-components/EpaCard\";\r\nimport { Grid } from \"../../leap-components/Grid\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport Header from \"./Header\";\r\nimport HomeText from \"./HomeText\";\r\nimport LeapHomeContainer from \"./LeapHomeContent\";\r\nimport LeapSearch from \"./Search\";\r\n\r\ninterface ISearchResultRow {\r\n licence_name: string;\r\n licence_number: string;\r\n organisation: string;\r\n town: string;\r\n county: string;\r\n}\r\n\r\nconst GetUrlForLicenceProfile = (regNo: string) => {\r\n return `/licence-profile/${regNo}`;\r\n};\r\n\r\nconst LeapHome = () => {\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n\r\n const searchChangedFn = (newSearch: string) => {\r\n setSearchValue(newSearch);\r\n };\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Licence Name\",\r\n accessor: \"licence_name\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Number\",\r\n accessor: \"licence_number\",\r\n Filter: false,\r\n filter: \"licence_number\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Organisation\",\r\n accessor: \"organisation\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Town\",\r\n accessor: \"town\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"County\",\r\n accessor: \"county\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetLicenceProfileSearchFetchUrl(\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n let formatResponseFunction = (searchResponse: ILicenceSearchList) => {\r\n const array = searchResponse.list.map((result) => {\r\n return {\r\n licence_name: result.name,\r\n licence_number: result.profilenumber,\r\n organisation: result.organisationname,\r\n town: result.town,\r\n county: result.county,\r\n } as ISearchResultRow;\r\n });\r\n\r\n return {\r\n list: array,\r\n length: searchResponse.length,\r\n page: searchResponse.page,\r\n count: searchResponse.count,\r\n };\r\n };\r\n\r\n const results = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n const searchContent = (\r\n
\r\n \r\n {results}\r\n
\r\n );\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LeapHome;\r\n","import { API_URL } from \"./Config\";\r\nimport { formatDate, formatDateForFiltering } from \"./DateUtils\";\r\nimport { PageResult, PageRequest } from \"./Pagination\";\r\n\r\nexport interface ILicenceSearchRow {\r\n licenceprofileid: string;\r\n name: string;\r\n profilenumber: string;\r\n activelicencetype: string;\r\n activelicenceregno: string;\r\n county: string;\r\n town: string;\r\n organisationname: string;\r\n url: string;\r\n}\r\n\r\nexport interface ILicenceSearchList extends PageResult {\r\n list: ILicenceSearchRow[];\r\n}\r\n\r\nexport const GetLicenceProfileSearchFetchUrl = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n let params = ``;\r\n\r\n params += `?search_term=${encodeURIComponent(\r\n searchText\r\n )}&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/LicenceProfile/search${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/licence-profile-search`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\n/*\r\nexport function FormatComplianceList(rows: Array) {\r\n return rows.map((item) => {\r\n return {\r\n compliancerecord_id: item.compliancerecord_id,\r\n date: formatDate(item.date),\r\n licence_id: item.licence_id,\r\n licenceregno: item.licenceregno,\r\n profile_id: item.profile_id,\r\n profilenumber: item.profilenumber,\r\n reference: item.reference,\r\n related_compliance_recordid: item.related_compliance_recordid,\r\n status: item.status,\r\n subject: item.subject,\r\n type: item.type,\r\n };\r\n });\r\n}\r\n\r\n*/\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationDetails } from \"../../../api/IComplianceInvestigation\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n complianceInvestigation: IComplianceInvestigationDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n complianceInvestigation,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {complianceInvestigation.reference}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationDetails } from \"../../../api/IComplianceInvestigation\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { ComplianceInvestigationIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface ComplianceInvestigationHeaderProps {\r\n complianceInvestigation: IComplianceInvestigationDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst ComplianceInvestigationHeader = ({\r\n complianceInvestigation,\r\n licenceProfile,\r\n}: ComplianceInvestigationHeaderProps) => {\r\n return (\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 Compliance Investigation:{\" \"}\r\n {complianceInvestigation.reference}\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\nexport default ComplianceInvestigationHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationDetails } from \"../../../api/IComplianceInvestigation\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface IComplianceInvestigationDetailsProps {\r\n complianceInvestigation: IComplianceInvestigationDetails;\r\n}\r\n\r\nconst ComplianceInvestigationDetails = ({\r\n complianceInvestigation,\r\n}: IComplianceInvestigationDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ComplianceInvestigationDetails;\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetComplaintsFromComplianceInvestigationFetchUrl,\r\n IComplaint,\r\n} from \"../../api/IComplaint\";\r\nimport { GetComplaintDetailsPageUrl } from \"../../leap-pages/routeFactory\";\r\nimport { Grid } from \"../Grid\";\r\nimport { ComplaintIcon } from \"../icons/LeapIcons\";\r\nimport { ComplaintsGridProps } from \"./ComplaintsGridProps\";\r\n\r\nconst ComplaintsGrid = ({\r\n relatedRecordType,\r\n relatedrecordId,\r\n licenceProfile,\r\n}: ComplaintsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (relatedRecordType) {\r\n case \"CI\":\r\n default:\r\n return GetComplaintsFromComplianceInvestigationFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(relatedrecordId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Occurred Date\",\r\n accessor: \"dateoccurred\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Type\",\r\n accessor: \"type\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Occurred Date\",\r\n accessor: \"dateoccurred\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { ComplaintsGrid };\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport {\r\n GetComplianceInvestigationActionsAndInstructionsFetchUrl,\r\n IComplianceInvestigationActionOrInstruction,\r\n} from \"../../api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport { Grid } from \"../Grid\";\r\nimport { ComplianceInvestigationActionsInstructionsGridProps } from \"./ComplianceInvestigationActionsInstructionsGridProps\";\r\n\r\nconst ComplianceInvestigationActionsInstructionsGrid = ({\r\n complianceInvestigationId,\r\n licenceProfile,\r\n}: ComplianceInvestigationActionsInstructionsGridProps) => {\r\n const GetUrlForActionOrInstruction = (\r\n profileNumber: string,\r\n actionOrInstruction: IComplianceInvestigationActionOrInstruction\r\n ) => {\r\n return `/licence-profile/${profileNumber}/compliance/action-or-instruction/${actionOrInstruction.taskid}`;\r\n };\r\n\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetComplianceInvestigationActionsAndInstructionsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(complianceInvestigationId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Type\",\r\n accessor: \"type\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Date Issued by EPA\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"reference\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { ComplianceInvestigationActionsInstructionsGrid };\r\n","import { Column } from \"react-table\";\r\nimport {\r\n GetComplianceInvestigationEffectsFetchUrl,\r\n IComplianceInvestigationEffect,\r\n} from \"../../api/ComplianceInvestigation/IComplianceInvestigationEffect\";\r\nimport { Grid } from \"../Grid\";\r\nimport { ComplianceInvestigationEffectsGridProps } from \"./ComplianceInvestigationEffectsGridProps\";\r\n\r\nconst ComplianceInvestigationEffectsGrid = ({\r\n complianceInvestigationId,\r\n licenceProfile,\r\n}: ComplianceInvestigationEffectsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetComplianceInvestigationEffectsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(complianceInvestigationId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Effect\",\r\n accessor: \"effect\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Likelihood\",\r\n accessor: \"likelihood\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Severity\",\r\n accessor: \"severity\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Risk Score\",\r\n accessor: \"riskscore\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Description\",\r\n accessor: \"description\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Effect\",\r\n accessor: \"effect\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Likelihood\",\r\n accessor: \"likelihood\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Severity\",\r\n accessor: \"severity\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Risk Score\",\r\n accessor: \"riskscore\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { ComplianceInvestigationEffectsGrid };\r\n","import { API_URL } from \"../Config\";\r\nimport { PageResult } from \"../Pagination\";\r\n\r\nexport interface IComplianceInvestigationEffect {\r\n cieffectid: string;\r\n effect: string;\r\n likelihood: string;\r\n severity: string;\r\n riskscore: string;\r\n description: string;\r\n complianceinvestigationid: string;\r\n}\r\n\r\nexport interface IComplianceInvestigatioEffectList extends PageResult {\r\n list: IComplianceInvestigationEffect[];\r\n}\r\n\r\nexport const GetComplianceInvestigationEffectsFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/Ci/listcieffects?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/ci-effects`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { Column } from \"react-table\";\r\nimport {\r\n GetComplianceInvestigationLikelyCausesFetchUrl,\r\n IComplianceInvestigationLikelyCause,\r\n} from \"../../api/ComplianceInvestigation/IComplianceInvestigationLikelyCause\";\r\nimport { Grid } from \"../Grid\";\r\nimport { ComplianceInvestigationLikelyCausesGridProps } from \"./ComplianceInvestigationLikelyCausesGridProps\";\r\n\r\nconst ComplianceInvestigationLikelyCausesGrid = ({\r\n complianceInvestigationId,\r\n licenceProfile,\r\n}: ComplianceInvestigationLikelyCausesGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetComplianceInvestigationLikelyCausesFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(complianceInvestigationId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Likely Cause\",\r\n accessor: \"cause\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Description\",\r\n accessor: \"description\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Likely Cause\",\r\n accessor: \"cause\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { ComplianceInvestigationLikelyCausesGrid };\r\n","import { API_URL } from \"../Config\";\r\nimport { PageResult } from \"../Pagination\";\r\n\r\nexport interface IComplianceInvestigationLikelyCause {\r\n cilikelycauseid: string;\r\n cause: string;\r\n description: string;\r\n complianceinvestigationid: string;\r\n}\r\n\r\nexport interface IComplianceInvestigatioLikelyCauseList extends PageResult {\r\n list: IComplianceInvestigationLikelyCause[];\r\n}\r\n\r\nexport const GetComplianceInvestigationLikelyCausesFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/Ci/listcilikelycauses?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/ci-likely-causes`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { Column } from \"react-table\";\r\nimport {\r\n GetComplianceInvestigationOutcomesFetchUrl,\r\n IComplianceInvestigationOutcome,\r\n} from \"../../api/ComplianceInvestigation/IComplianceInvestigationOutcome\";\r\nimport { Grid } from \"../Grid\";\r\nimport { ComplianceInvestigationOutcomesGridProps } from \"./ComplianceInvestigationOutcomesGridProps\";\r\n\r\nconst ComplianceInvestigationOutcomesGrid = ({\r\n complianceInvestigationId,\r\n licenceProfile,\r\n}: ComplianceInvestigationOutcomesGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetComplianceInvestigationOutcomesFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(complianceInvestigationId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Type\",\r\n accessor: \"outcometype\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Category\",\r\n accessor: \"outcomecategory\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Sub Category\",\r\n accessor: \"outcomesubcategory\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Description\",\r\n accessor: \"description\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Type\",\r\n accessor: \"outcometype\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Description\",\r\n accessor: \"description\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { ComplianceInvestigationOutcomesGrid };\r\n","import { API_URL } from \"../Config\";\r\nimport { PageResult } from \"../Pagination\";\r\n\r\nexport interface IComplianceInvestigationOutcome {\r\n cioutcomeid: string;\r\n outcometype: string;\r\n outcomecategory: string;\r\n outcomesubcategory: string;\r\n description: string;\r\n complianceinvestigationid: string;\r\n}\r\n\r\nexport interface IComplianceInvestigationOutcomeList extends PageResult {\r\n list: IComplianceInvestigationOutcome[];\r\n}\r\n\r\nexport const GetComplianceInvestigationOutcomesFetchUrl = (\r\n complianceInvestigationId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n\r\n let url = `${API_URL}/Ci/listcioutcomes?ci_id=${complianceInvestigationId}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/ci-outcomes`;\r\n }\r\n\r\n return url;\r\n};\r\n\r\nexport function FormatComplianceList(rows: Array) {\r\n return rows.map((item) => {\r\n return {\r\n cioutcomeid: item.cioutcomeid,\r\n outcometype: item.outcometype,\r\n outcomecategory: item.outcomecategory,\r\n outcomesubcategory: item.outcomesubcategory,\r\n description: item.description,\r\n complianceinvestigationid: item.complianceinvestigationid,\r\n };\r\n });\r\n}\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetIncidentsFromComplianceInvestigationFetchUrl,\r\n IIncident,\r\n} from \"../../api/IIncident\";\r\nimport { GetIncidentPageUrl } from \"../../leap-pages/routeFactory\";\r\nimport { Grid } from \"../Grid\";\r\nimport { IncidentIcon } from \"../icons/LeapIcons\";\r\nimport { IncidentsGridProps } from \"./IncidentsGridProps\";\r\n\r\nconst IncidentsGrid = ({\r\n relatedRecordType,\r\n relatedrecordId,\r\n licenceProfile,\r\n}: IncidentsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n switch (relatedRecordType) {\r\n case \"CI\":\r\n default:\r\n return GetIncidentsFromComplianceInvestigationFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n }\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(relatedrecordId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Start Date\",\r\n accessor: \"approximatestart\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Category\",\r\n accessor: \"incidentcategory\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Ref. No.\",\r\n accessor: \"reference\",\r\n Filter: false,\r\n filter: \"includes\",\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Subject\",\r\n accessor: \"subject\",\r\n Filter: false,\r\n filter: \"includes\",\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { IncidentsGrid };\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationDetails } from \"../../../api/IComplianceInvestigation\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { ComplaintsGrid } from \"../../../leap-components/Complaint/ComplaintsGrid\";\r\nimport { ComplianceInvestigationActionsInstructionsGrid } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationActionsInstructionsGrid\";\r\nimport { ComplianceInvestigationEffectsGrid } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationEffectsGrid\";\r\nimport { ComplianceInvestigationLikelyCausesGrid } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationLikelyCausesGrid\";\r\nimport { ComplianceInvestigationOutcomesGrid } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationOutcomesGrid\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { IncidentsGrid } from \"../../../leap-components/Incidents/IncidentsGrid\";\r\nimport { LicenseeReturnsGrid } from \"../../../leap-components/LicenseeReturns/LicenseeReturnsGrid\";\r\nimport { NonCompliancesGrid } from \"../../../leap-components/NonCompliances/NonCompliancesGrid\";\r\nimport { SiteVisitsGrid } from \"../../../leap-components/SiteVisits/SiteVisitsGrid\";\r\nimport { SiteVisitRegardingObjectTypes } from \"../../../leap-components/SiteVisits/SiteVisitsGridProps\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n complianceInvestigation: IComplianceInvestigationDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface ComplianceInvestigationProps {\r\n complianceInvestigation: IComplianceInvestigationDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n complianceInvestigation,\r\n licenceProfile,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n complianceInvestigation,\r\n licenceProfile,\r\n}: ComplianceInvestigationProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport ComplianceInvestigationHeader from \"./ComplianceInvestigationHeader\";\r\nimport ComplianceInvestigationDetails from \"./ComplianceInvestigationDetails\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n loadComplianceInvestigationAsync,\r\n selectComplianceInvestigation,\r\n} from \"../../../redux/slices/complianceInvestigation\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst ComplianceInvestigation = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [\r\n loadingComplianceInvestigationId,\r\n setloadingComplianceInvestigationId,\r\n ] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const complianceInvestigationSelector = useAppSelector(\r\n selectComplianceInvestigation\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, complianceInvestigationId } = useParams();\r\n if (!profileNo || !complianceInvestigationId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingComplianceInvestigationId !== complianceInvestigationId) {\r\n setloadingComplianceInvestigationId(complianceInvestigationId);\r\n dispatch(loadComplianceInvestigationAsync(complianceInvestigationId));\r\n return ;\r\n }\r\n\r\n const complianceInvestigation =\r\n complianceInvestigationSelector.complianceInvestigation;\r\n\r\n if (!complianceInvestigation) {\r\n return ;\r\n }\r\n\r\n if (!complianceInvestigation.response.ok) {\r\n if (complianceInvestigation.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ComplianceInvestigation;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IIncidentDetails } from \"../../../api/IIncident\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n incidentDetails: IIncidentDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, incidentDetails }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {incidentDetails.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IIncidentDetails } from \"../../../api/IIncident\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface IncidentDetailsProps {\r\n incidentDetails: IIncidentDetails;\r\n}\r\n\r\nconst IncidentDetails = ({ incidentDetails }: IncidentDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default IncidentDetails;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IIncidentDetails } from \"../../../api/IIncident\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { IncidentIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface IncidentHeaderProps {\r\n incidentDetails: IIncidentDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst IncidentHeader = ({\r\n incidentDetails,\r\n licenceProfile,\r\n}: IncidentHeaderProps) => {\r\n return (\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

Incident: {incidentDetails.reference}

\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\nexport default IncidentHeader;\r\n","import { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetIncidentCorrectiveAndPreventativeActionsFetchUrl,\r\n IIncidentCorrectiveAndPreventativeAction,\r\n} from \"../../api/Incident/IIncidentCorrectiveAndPreventativeAction\";\r\nimport { Grid } from \"../Grid\";\r\nimport { IncidentCorrectiveAndPreventativeActionsGridProps } from \"./IncidentCorrectiveAndPreventativeActionsGridProps\";\r\n\r\nconst IncidentCorrectiveAndPreventativeActions = ({\r\n incidentId,\r\n licenceProfile,\r\n}: IncidentCorrectiveAndPreventativeActionsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetIncidentCorrectiveAndPreventativeActionsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(incidentId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Action Date\",\r\n accessor: \"actiondate\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Action Type\",\r\n accessor: \"actiontype\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Action\",\r\n accessor: \"action\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Action Date\",\r\n accessor: \"actiondate\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Action Type\",\r\n accessor: \"actiontype\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Action\",\r\n accessor: \"action\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { IncidentCorrectiveAndPreventativeActions };\r\n","import { API_URL } from \"../Config\";\r\nimport { PageResult } from \"../Pagination\";\r\n\r\nexport interface IIncidentCorrectiveAndPreventativeAction {\r\n incidentcorrectivepreventativemeasureid: string;\r\n actiontype: string;\r\n action: string;\r\n incidentid: string;\r\n actiondate: string;\r\n}\r\n\r\nexport interface IIncidentCorrectiveAndPreventativeActionsList\r\n extends PageResult {\r\n list: IIncidentCorrectiveAndPreventativeAction[];\r\n}\r\n\r\nexport const GetIncidentCorrectiveAndPreventativeActionsFetchUrl = (\r\n incidentId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/Incident/incidentcorrectivemeasureslist?incident_id=${incidentId}${filterParams}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/incident-corrective-and-preventative-actions`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport {\r\n GetIncidentEmissionParameterResultsFetchUrl,\r\n IIncidentEmissionParameterResult,\r\n} from \"../../api/Incident/IIncidentEmissionParameterResult\";\r\nimport { Grid } from \"../Grid\";\r\nimport { IncidentCorrectiveAndPreventativeActionsGridProps } from \"./IncidentCorrectiveAndPreventativeActionsGridProps\";\r\n\r\nconst IncidentEmissionParameterResultsGrid = ({\r\n incidentId,\r\n licenceProfile,\r\n}: IncidentCorrectiveAndPreventativeActionsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetIncidentEmissionParameterResultsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(incidentId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Date\",\r\n accessor: \"date\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Parameter\",\r\n accessor: \"parameter\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Sample Type\",\r\n accessor: \"sampletype\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Result\",\r\n accessor: \"value\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Emission Limit Value\",\r\n accessor: \"elv\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Date\",\r\n accessor: \"date\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Parameter\",\r\n accessor: \"parameter\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Result\",\r\n accessor: \"value\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Emission Limit Value\",\r\n accessor: \"elv\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { IncidentEmissionParameterResultsGrid };\r\n","import { API_URL } from \"../Config\";\r\nimport { PageResult } from \"../Pagination\";\r\n\r\nexport interface IIncidentEmissionParameterResult {\r\n incidentemissionsparameterresultid: string;\r\n parameter: string;\r\n value: number;\r\n sampletype: string;\r\n elv: string;\r\n incidentid: string;\r\n date: string;\r\n}\r\n\r\nexport interface IIncidentEmissionParameterResultsList extends PageResult {\r\n list: IIncidentEmissionParameterResult[];\r\n}\r\n\r\nexport const GetIncidentEmissionParameterResultsFetchUrl = (\r\n incidentId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/Incident/incidentemissionparameterslist?incident_id=${incidentId}${filterParams}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/incident-emission-parameter-results`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { Link } from \"react-router-dom\";\r\nimport { Column } from \"react-table\";\r\nimport { formatDate } from \"../../api/DateUtils\";\r\nimport { IIncidentCorrectiveAndPreventativeAction } from \"../../api/Incident/IIncidentCorrectiveAndPreventativeAction\";\r\nimport { GetIncidentUpdateRequestsFetchUrl } from \"../../api/Incident/IIncidentUpdateRequest\";\r\nimport { GetIncidentUpdateRequestPageUrl } from \"../../leap-pages/routeFactory\";\r\nimport { Grid } from \"../Grid\";\r\nimport { IncidentUpdateRequestsGridProps } from \"./IncidentUpdateRequestsGridProps\";\r\n\r\nconst renderRequest = (rowInfo: any) => (\r\n \r\n);\r\n\r\nconst IncidentUpdateRequestsGrid = ({\r\n incidentId,\r\n licenceProfile,\r\n}: IncidentUpdateRequestsGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetIncidentUpdateRequestsFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(incidentId);\r\n\r\n const tableColumnsBig: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Date Issued by EPA\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n {formatDate(rowInfo.value)}\r\n \r\n ),\r\n },\r\n {\r\n Header: \"Instruction / Request\",\r\n accessor: \"request\",\r\n Filter: false,\r\n Cell: renderRequest,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column<\r\n Record\r\n >[] = [\r\n {\r\n Header: \"Date Issued by EPA\",\r\n accessor: \"datesubmitted\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => formatDate(rowInfo.value),\r\n },\r\n {\r\n Header: \"Instruction / Request\",\r\n accessor: \"request\",\r\n Filter: false,\r\n Cell: renderRequest,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport { IncidentUpdateRequestsGrid };\r\n","import { API_URL } from \"../Config\";\r\nimport { PageResult } from \"../Pagination\";\r\n\r\nexport interface IIncidentUpdateRequest {\r\n incidentupdaterequestid: string;\r\n reference: string;\r\n status: string;\r\n request: string;\r\n licenceid: string;\r\n incidentid: string;\r\n datesubmitted: string;\r\n duedate: string;\r\n}\r\n\r\nexport interface IIncidentUpdateRequestsList extends PageResult {\r\n list: IIncidentUpdateRequest[];\r\n}\r\n\r\nexport const GetIncidentUpdateRequestsFetchUrl = (\r\n incidentId: string,\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n) => {\r\n var params = `&page=${pageNo}&per_page=${recordsPerPage}`;\r\n var filterParams = \"\";\r\n if (searchText && searchText.length > 0) {\r\n filterParams += `&search_term=${encodeURIComponent(searchText)}`;\r\n }\r\n\r\n let url = `${API_URL}/Incident/incidentupdaterequestlist?incident_id=${incidentId}${filterParams}${params}`;\r\n\r\n if (process.env.REACT_APP_EPA_ENV === \"localhost\") {\r\n url = `${API_URL}/incident-update-requests`;\r\n }\r\n\r\n return url;\r\n};\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IIncidentDetails } from \"../../../api/IIncident\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { IncidentCorrectiveAndPreventativeActions } from \"../../../leap-components/Incidents/IncidentCorrectiveAndPreventativeActionsGrid\";\r\nimport { IncidentEmissionParameterResultsGrid } from \"../../../leap-components/Incidents/IncidentEmissionParameterResultsGrid\";\r\nimport { IncidentUpdateRequestsGrid } from \"../../../leap-components/Incidents/IncidentUpdateRequestsGrid\";\r\nimport { NonCompliancesGrid } from \"../../../leap-components/NonCompliances/NonCompliancesGrid\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n incidentDetails: IIncidentDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface RelatecComplianceProps {\r\n incidentDetails: IIncidentDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n incidentDetails,\r\n licenceProfile,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n incidentDetails,\r\n licenceProfile,\r\n}: RelatecComplianceProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport IncidentDetails from \"./IncidentDetails\";\r\nimport IncidentHeader from \"./IncidentHeader\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n loadIncidentAsync,\r\n selectIncident,\r\n} from \"../../../redux/slices/incident\";\r\nimport { ComplianceInvestigationBox } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationBox\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst Incident = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingIncidentId, setLoadingIncidentId] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const incidentSelector = useAppSelector(selectIncident);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, incidentId } = useParams();\r\n if (!profileNo || !incidentId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingIncidentId !== incidentId) {\r\n setLoadingIncidentId(incidentId);\r\n dispatch(loadIncidentAsync(incidentId));\r\n return ;\r\n }\r\n\r\n const incidentDetails = incidentSelector.incident;\r\n\r\n if (!incidentDetails) {\r\n return ;\r\n }\r\n\r\n if (!incidentDetails.response.ok) {\r\n if (incidentDetails.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 {incidentDetails.complianceInvestigationDetails && (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Incident;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IComplaintDetails } from \"../../../api/IComplaint\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n complaintDetails: IComplaintDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, complaintDetails }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {complaintDetails.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { faBell } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Alert, Col, Row } from \"react-bootstrap\";\r\nimport { IComplaintDetails } from \"../../../api/IComplaint\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\n\r\ninterface ComplaintDetailsProps {\r\n complaintDetails: IComplaintDetails;\r\n}\r\n\r\nconst DataProtectionAlert = () => (\r\n \r\n
\r\n \r\n
\r\n
\r\n Certain information has been withheld from this complaint record due to\r\n GDPR\r\n
\r\n
\r\n);\r\n\r\nconst ComplaintDetails = ({ complaintDetails }: ComplaintDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default ComplaintDetails;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IComplaintDetails } from \"../../../api/IComplaint\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { ComplaintIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface ComplaintHeaderProps {\r\n complaintDetails: IComplaintDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst ComplaintHeader = ({\r\n complaintDetails,\r\n licenceProfile,\r\n}: ComplaintHeaderProps) => {\r\n return (\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

Complaint: {complaintDetails.reference}

\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\nexport default ComplaintHeader;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IComplaintDetails } from \"../../../api/IComplaint\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { NonCompliancesGrid } from \"../../../leap-components/NonCompliances/NonCompliancesGrid\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n complaintDetails: IComplaintDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface RelatecComplianceProps {\r\n complaintDetails: IComplaintDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n complaintDetails,\r\n licenceProfile,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n complaintDetails,\r\n licenceProfile,\r\n}: RelatecComplianceProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport ComplaintDetails from \"./ComplaintDetails\";\r\nimport ComplaintHeader from \"./ComplaintHeader\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { ComplianceInvestigationBox } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationBox\";\r\nimport {\r\n loadComplaintAsync,\r\n selectComplaint,\r\n} from \"../../../redux/slices/complaint\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst Complaint = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingComplaintId, setLoadingComplaintId] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const complaintSelector = useAppSelector(selectComplaint);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, complaintId } = useParams();\r\n if (!profileNo || !complaintId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingComplaintId !== complaintId) {\r\n setLoadingComplaintId(complaintId);\r\n dispatch(loadComplaintAsync(complaintId));\r\n return ;\r\n }\r\n\r\n const complaintDetails = complaintSelector.complaint;\r\n\r\n if (!complaintDetails) {\r\n return ;\r\n }\r\n\r\n if (!complaintDetails.response.ok) {\r\n if (complaintDetails.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 {complaintDetails.complianceInvestigationDetails && (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Complaint;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IIncidentUpdateRequestDetails } from \"../../../api/Incident/IIncidentUpdateRequestDetails\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n incidentUpdateRequestDetails: IIncidentUpdateRequestDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n incidentUpdateRequestDetails,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {incidentUpdateRequestDetails.incidentDetails && (\r\n \r\n {incidentUpdateRequestDetails.incidentDetails?.reference}\r\n \r\n )}\r\n Incident Update Request\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { IIncidentUpdateRequestDetails } from \"../../../api/Incident/IIncidentUpdateRequestDetails\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\nimport { GetIncidentPageUrl } from \"../../routeFactory\";\r\n\r\ninterface IncidentUpdateRequestDetailsProps {\r\n incidentUpdateRequestDetails: IIncidentUpdateRequestDetails;\r\n}\r\n\r\nconst IncidentUpdateRequestDetails = ({\r\n incidentUpdateRequestDetails,\r\n}: IncidentUpdateRequestDetailsProps) => {\r\n const linkToIncident = incidentUpdateRequestDetails.licenceDetails\r\n ? GetIncidentPageUrl(\r\n incidentUpdateRequestDetails.licenceDetails?.licenceprofile_number,\r\n incidentUpdateRequestDetails.incidentid\r\n )\r\n : \"about:blank\";\r\n var bodyElements = (\r\n
\r\n \r\n \r\n \r\n {incidentUpdateRequestDetails.incidentDetails && (\r\n \r\n {incidentUpdateRequestDetails.incidentDetails?.reference}\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default IncidentUpdateRequestDetails;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IIncidentUpdateRequestDetails } from \"../../../api/Incident/IIncidentUpdateRequestDetails\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { IncidentUpdateRequestIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface IncidentUpdateRequestHeaderProps {\r\n incidentUpdateRequestDetails: IIncidentUpdateRequestDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst IncidentUpdateRequestHeader = ({\r\n incidentUpdateRequestDetails,\r\n licenceProfile,\r\n}: IncidentUpdateRequestHeaderProps) => {\r\n return (\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

Incident Update Request

\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\nexport default IncidentUpdateRequestHeader;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IIncidentUpdateRequestDetails } from \"../../../api/Incident/IIncidentUpdateRequestDetails\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n incidentUpdateRequestDetails: IIncidentUpdateRequestDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface RelatedComplianceProps {\r\n incidentUpdateRequestDetails: IIncidentUpdateRequestDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n incidentUpdateRequestDetails,\r\n licenceProfile,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n incidentUpdateRequestDetails,\r\n licenceProfile,\r\n}: RelatedComplianceProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport IncidentUpdateRequestDetails from \"./IncidentUpdateRequestDetails\";\r\nimport IncidentUpdateRequestHeader from \"./IncidentUpdateRequestHeader\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport {\r\n loadIncidentUpdateRequestAsync,\r\n selectIncidentUpdateRequest,\r\n} from \"../../../redux/slices/incidentUpdateRequest\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst IncidentUpdateRequest = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingIncidentUpdateRequestId, setLoadingIncidentUpdateRequestId] =\r\n useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const incidentUpdateRequestSelector = useAppSelector(\r\n selectIncidentUpdateRequest\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, incidentUpdateRequestId } = useParams();\r\n if (!profileNo || !incidentUpdateRequestId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingIncidentUpdateRequestId !== incidentUpdateRequestId) {\r\n setLoadingIncidentUpdateRequestId(incidentUpdateRequestId);\r\n dispatch(loadIncidentUpdateRequestAsync(incidentUpdateRequestId));\r\n return ;\r\n }\r\n\r\n const incidentUpdateRequestDetails =\r\n incidentUpdateRequestSelector.incidentUpdatRequest;\r\n\r\n if (!incidentUpdateRequestDetails) {\r\n return ;\r\n }\r\n\r\n if (!incidentUpdateRequestDetails.response.ok) {\r\n if (incidentUpdateRequestDetails.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default IncidentUpdateRequest;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IMeetingDetails } from \"../../../api/IMeeting\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n meetingDetails: IMeetingDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({ licenceProfile, meetingDetails }: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {meetingDetails.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IMeetingDetails } from \"../../../api/IMeeting\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { ComplaintIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface MeetingHeaderProps {\r\n meetingDetails: IMeetingDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst MeetingHeader = ({\r\n meetingDetails,\r\n licenceProfile,\r\n}: MeetingHeaderProps) => {\r\n return (\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

Meeting: {meetingDetails.reference}

\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\nexport default MeetingHeader;\r\n","import { faBell } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Alert, Col, Row } from \"react-bootstrap\";\r\nimport { IMeetingDetails } from \"../../../api/IMeeting\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface MeetingDetailsProps {\r\n meetingDetails: IMeetingDetails;\r\n}\r\n\r\nconst DataProtectionAlert = () => (\r\n \r\n
\r\n \r\n
\r\n
\r\n Certain information has been withheld from this complaint record due to\r\n GDPR\r\n
\r\n
\r\n);\r\n\r\nconst MeetingDetails = ({ meetingDetails }: MeetingDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default MeetingDetails;\r\n","import { Column } from \"react-table\";\r\nimport { Grid } from \"../Grid\";\r\nimport { ICompliance } from \"../../api/ICompliance\";\r\nimport { ILicencesGridProps } from \"./LicencesGridProps\";\r\nimport { GetLicencesByMeetingFetchUrl } from \"../../api/LicenceVersion\";\r\nimport { getIconForType } from \"../icons/LeapIcons\";\r\nimport { GetLicenceProfilePageUrl } from \"../../leap-pages/routeFactory\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst LicencesGrid = ({\r\n regardingObjectId,\r\n regardingObjectType,\r\n}: ILicencesGridProps) => {\r\n const getFetchUrlFactory = (relatedId: string) => {\r\n let fetchUrlFn = (\r\n pageNo: number,\r\n recordsPerPage: number,\r\n searchText: string,\r\n filters: any\r\n ) => {\r\n return GetLicencesByMeetingFetchUrl(\r\n relatedId,\r\n pageNo,\r\n recordsPerPage,\r\n searchText,\r\n filters\r\n );\r\n };\r\n\r\n return fetchUrlFn;\r\n };\r\n\r\n const fetchUrl = getFetchUrlFactory(regardingObjectId);\r\n\r\n const tableColumnsBig: Column>[] = [\r\n {\r\n Header: \"Licence No.\",\r\n accessor: \"reg_no\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Licence Name\",\r\n accessor: \"licence_name\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Type\",\r\n accessor: \"licence_type\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Status\",\r\n accessor: \"licence_status\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Sub Status\",\r\n accessor: \"licence_substatus\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n const tableColumnsSmall: Column>[] = [\r\n {\r\n Header: \"Licence No.\",\r\n accessor: \"reg_no\",\r\n Filter: false,\r\n Cell: (rowInfo: any) => (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {rowInfo.value}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n Header: \"Licence Name\",\r\n accessor: \"licence_name\",\r\n Filter: false,\r\n },\r\n {\r\n Header: \"Licence Type\",\r\n accessor: \"licence_type\",\r\n Filter: false,\r\n },\r\n ];\r\n\r\n var bodyElements = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n return bodyElements;\r\n};\r\n\r\nexport default LicencesGrid;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IMeetingDetails } from \"../../../api/IMeeting\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport LicencesGrid from \"../../../leap-components/Licences/LicencesGrid\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n meeting: IMeetingDetails;\r\n}\r\n\r\ninterface MeetingRelatedComplianceProps {\r\n meeting: IMeetingDetails;\r\n}\r\n\r\nconst SubTabs = ({ className, activeKey, meeting }: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n meeting,\r\n}: MeetingRelatedComplianceProps) => {\r\n var bodyElements = ;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport MeetingHeader from \"./MeetingHeader\";\r\nimport MeetingDetails from \"./MeetingDetails\";\r\nimport { loadMeetingAsync, selectMeeting } from \"../../../redux/slices/meeting\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst Meeting = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingMeetingId, setLoadingMeetingId] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const meetingSelector = useAppSelector(selectMeeting);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, meetingId } = useParams();\r\n if (!profileNo || !meetingId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingMeetingId !== meetingId) {\r\n setLoadingMeetingId(meetingId);\r\n dispatch(loadMeetingAsync(meetingId));\r\n return ;\r\n }\r\n\r\n const meetingDetails = meetingSelector.meeting;\r\n\r\n if (!meetingDetails) {\r\n return ;\r\n }\r\n\r\n if (!meetingDetails.response.ok) {\r\n if (meetingDetails.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Meeting;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { INonComplianceDetails } from \"../../../api/INonCompliance\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n nonComplianceDetails: INonComplianceDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n nonComplianceDetails,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {nonComplianceDetails.reference}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { INonComplianceDetails } from \"../../../api/INonCompliance\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport { SiteVisitsGrid } from \"../../../leap-components/SiteVisits/SiteVisitsGrid\";\r\nimport { SiteVisitRegardingObjectTypes } from \"../../../leap-components/SiteVisits/SiteVisitsGridProps\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n nonComplianceDetails: INonComplianceDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface RelatecComplianceProps {\r\n nonComplianceDetails: INonComplianceDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n nonComplianceDetails,\r\n licenceProfile,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n nonComplianceDetails,\r\n licenceProfile,\r\n}: RelatecComplianceProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { INonComplianceDetails } from \"../../../api/INonCompliance\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { NonComplianceIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface IncidentHeaderProps {\r\n nonComplianceDetails: INonComplianceDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst NonComplianceHeader = ({\r\n nonComplianceDetails,\r\n licenceProfile,\r\n}: IncidentHeaderProps) => {\r\n return (\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

Non Compliance: {nonComplianceDetails.reference}

\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\nexport default NonComplianceHeader;\r\n","import { Col, Form, Row } from \"react-bootstrap\";\r\n\r\ninterface IEpaField {\r\n label: string;\r\n}\r\n\r\nconst EpaFieldEmpty = ({ label }: IEpaField) => {\r\n const labelClassName = \"col-4 col-md-4\";\r\n const valueClassName = \"col-8 col-md-8\";\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {\" - \"}\r\n \r\n );\r\n};\r\n\r\nexport default EpaFieldEmpty;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { INonComplianceDetails } from \"../../../api/INonCompliance\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldEmpty from \"../../../leap-components/EpaFieldEmpty\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\nimport {\r\n GetComplaintDetailsPageUrl,\r\n GetIncidentPageUrl,\r\n GetLicenseeReturnPageUrl,\r\n} from \"../../routeFactory\";\r\n\r\ninterface NonComplianceDetailsProps {\r\n nonComplianceDetails: INonComplianceDetails;\r\n}\r\n\r\nconst NonComplianceDetails = ({\r\n nonComplianceDetails,\r\n}: NonComplianceDetailsProps) => {\r\n var bodyElements = (\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 {nonComplianceDetails.incidentDetails && (\r\n \r\n {nonComplianceDetails.incidentDetails.reference}\r\n \r\n }\r\n />\r\n )}\r\n {!nonComplianceDetails.incidentDetails && (\r\n \r\n )}\r\n {nonComplianceDetails.licenseeReturnDetails && (\r\n \r\n {nonComplianceDetails.licenseeReturnDetails.reference}\r\n \r\n }\r\n />\r\n )}\r\n {!nonComplianceDetails.licenseeReturnDetails && (\r\n \r\n )}\r\n \r\n \r\n {nonComplianceDetails.complaintDetails && (\r\n \r\n {nonComplianceDetails.complaintDetails.reference}\r\n \r\n }\r\n />\r\n )}\r\n {!nonComplianceDetails.complaintDetails && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) as JSX.Element;\r\n\r\n return ;\r\n};\r\n\r\nexport default NonComplianceDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { ComplianceInvestigationBox } from \"../../../leap-components/ComplianceInvestigations/ComplianceInvestigationBox\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport {\r\n loadNonComplianceAsync,\r\n selectNonCompliance,\r\n} from \"../../../redux/slices/nonCompliance\";\r\nimport NonComplianceHeader from \"./NonComplianceHeader\";\r\nimport NonComplianceDetails from \"./NonComplianceDetails\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst NonCompliance = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingNonComplianceId, setLoadingNonComplianceId] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const nonComplianceSelector = useAppSelector(selectNonCompliance);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, nonComplianceId } = useParams();\r\n if (!profileNo || !nonComplianceId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n return ;\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingNonComplianceId !== nonComplianceId) {\r\n setLoadingNonComplianceId(nonComplianceId);\r\n dispatch(loadNonComplianceAsync(nonComplianceId));\r\n return ;\r\n }\r\n\r\n const nonComplianceDetails = nonComplianceSelector.nonCompliance;\r\n\r\n if (!nonComplianceDetails) {\r\n return ;\r\n }\r\n\r\n if (!nonComplianceDetails.response.ok) {\r\n if (nonComplianceDetails.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 {nonComplianceDetails.complianceInvestigationDetails && (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NonCompliance;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationActionOrInstructionDetails } from \"../../../../api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport { ILicenceProfile } from \"../../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n actionOrInstruction: IComplianceInvestigationActionOrInstructionDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n actionOrInstruction,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {actionOrInstruction.complianceInvestidationDetails?.reference}\r\n \r\n \r\n {actionOrInstruction.reference}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationActionOrInstructionDetails } from \"../../../../api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport { ILicenceProfile } from \"../../../../api/LicenceProfile\";\r\nimport { EdenMessagesGrid } from \"../../../../leap-components/EdenMessages/EdenMessagesGrid\";\r\nimport { EdenMessagesGridType } from \"../../../../leap-components/EdenMessages/EdenMessagesGridProps\";\r\nimport EpaCard from \"../../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n licenceProfile: ILicenceProfile;\r\n actionOrInstruction: IComplianceInvestigationActionOrInstructionDetails;\r\n}\r\n\r\ninterface ActionOrInstructionProps {\r\n licenceProfile: ILicenceProfile;\r\n actionOrInstruction: IComplianceInvestigationActionOrInstructionDetails;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n licenceProfile,\r\n actionOrInstruction,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n licenceProfile,\r\n actionOrInstruction,\r\n}: ActionOrInstructionProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationActionOrInstructionDetails } from \"../../../../api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport EpaField2Rows from \"../../../../leap-components/EpaField2Rows\";\r\nimport {\r\n ActionOrInstructionIcon,\r\n LicenseeReturnIcon,\r\n} from \"../../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface HeaderProps {\r\n actionOrInstruction: IComplianceInvestigationActionOrInstructionDetails;\r\n}\r\n\r\nconst ActionOrInstructionHeader = ({ actionOrInstruction }: HeaderProps) => {\r\n return (\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 {`Action / Instruction: ${actionOrInstruction.reference}`}\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\nexport default ActionOrInstructionHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IComplianceInvestigationActionOrInstructionDetails } from \"../../../../api/ComplianceInvestigation/IComplianceInvestigationActionsAndInstructions\";\r\nimport EpaCard from \"../../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface RequestForInformationDetailsProps {\r\n actionOrInstruction: IComplianceInvestigationActionOrInstructionDetails;\r\n}\r\n\r\nconst ActionOrInstructionDetails = ({\r\n actionOrInstruction,\r\n}: RequestForInformationDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ActionOrInstructionDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../../api/LicenceProfile\";\r\nimport ActionOrInstructionHeader from \"./ActionOrInstructionHeader\";\r\nimport ActionOrInstructionDetails from \"./ActionOrInstructionDetails\";\r\nimport {\r\n loadActionOrInstructionAsync,\r\n selectActionOrInstruction,\r\n} from \"../../../../redux/slices/actionOrInstruction\";\r\n\r\nconst ActionOrInstruction = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingActionOrInstructionId, setLoadingActionOrInstructionId] =\r\n useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const actionOrInstructionSelector = useAppSelector(selectActionOrInstruction);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, actionOrInstructionId } = useParams();\r\n if (!profileNo || !actionOrInstructionId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingActionOrInstructionId !== actionOrInstructionId) {\r\n setLoadingActionOrInstructionId(actionOrInstructionId);\r\n dispatch(loadActionOrInstructionAsync(actionOrInstructionId));\r\n return ;\r\n }\r\n\r\n const actionOrInstruction = actionOrInstructionSelector.actionOrInstruction;\r\n\r\n if (!actionOrInstruction) {\r\n return ;\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ActionOrInstruction;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IEpaCorrespondenceDetails } from \"../../../api/IEpaCorrespondence\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n epaCorrespondence: IEpaCorrespondenceDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n epaCorrespondence,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n {epaCorrespondence.reference}\r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IEpaCorrespondenceDetails } from \"../../../api/IEpaCorrespondence\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport { EdenMessagesGrid } from \"../../../leap-components/EdenMessages/EdenMessagesGrid\";\r\nimport { EdenMessagesGridType } from \"../../../leap-components/EdenMessages/EdenMessagesGridProps\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n epaCorrespondence: IEpaCorrespondenceDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\ninterface EpaCorrespondenceProps {\r\n epaCorrespondence: IEpaCorrespondenceDetails;\r\n licenceProfile: ILicenceProfile;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n licenceProfile,\r\n epaCorrespondence,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n epaCorrespondence,\r\n licenceProfile,\r\n}: EpaCorrespondenceProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IEpaCorrespondenceDetails } from \"../../../api/IEpaCorrespondence\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { EPAInitiatedCorrespondenceIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface EpaCorrespondenceHeaderProps {\r\n epaCorrespondence: IEpaCorrespondenceDetails;\r\n}\r\n\r\nconst EpaCorrespondenceHeader = ({\r\n epaCorrespondence,\r\n}: EpaCorrespondenceHeaderProps) => {\r\n return (\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

EPA Initiated Correspondence

\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\nexport default EpaCorrespondenceHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IEpaCorrespondenceDetails } from \"../../../api/IEpaCorrespondence\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface EpaCorrespondenceDetailsProps {\r\n epaCorrespondence: IEpaCorrespondenceDetails;\r\n}\r\n\r\nconst EpaCorrespondenceDetails = ({\r\n epaCorrespondence,\r\n}: EpaCorrespondenceDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default EpaCorrespondenceDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport EpaCorrespondenceHeader from \"./EpaCorrespondenceHeader\";\r\nimport EpaCorrespondenceDetails from \"./EpaCorrespondenceDetails\";\r\nimport {\r\n loadEpaCorrespondenceAsync,\r\n selectEpaCorrespondence,\r\n} from \"../../../redux/slices/epaCorrespondence\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst EpaCorrespondence = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [loadingEpaCorrespondenceId, setLoadingEpaCorrespondenceId] =\r\n useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const epaCorrespondenceSelector = useAppSelector(selectEpaCorrespondence);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, epaCorrespondenceId } = useParams();\r\n if (!profileNo || !epaCorrespondenceId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingEpaCorrespondenceId !== epaCorrespondenceId) {\r\n setLoadingEpaCorrespondenceId(epaCorrespondenceId);\r\n dispatch(loadEpaCorrespondenceAsync(epaCorrespondenceId));\r\n return ;\r\n }\r\n\r\n const epaCorrespondence = epaCorrespondenceSelector.epaCorrespondence;\r\n\r\n if (!epaCorrespondence) {\r\n return ;\r\n }\r\n\r\n if (!epaCorrespondence.response.ok) {\r\n if (epaCorrespondence.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EpaCorrespondence;\r\n","import { Row, Col, Breadcrumb } from \"react-bootstrap\";\r\nimport { IThirdPartyCorrespondenceDetails } from \"../../../api/IThirdPartyCorrespondence\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\n\r\ninterface BreadcrumbProps {\r\n licenceProfile: ILicenceProfile;\r\n thirdPartyCorrespondence: IThirdPartyCorrespondenceDetails;\r\n}\r\n\r\nconst BreadCrumbs = ({\r\n licenceProfile,\r\n thirdPartyCorrespondence,\r\n}: BreadcrumbProps) => (\r\n \r\n \r\n \r\n LEAP Online Home\r\n \r\n {licenceProfile.organisation} - {licenceProfile.profileNo}\r\n \r\n \r\n Compliance\r\n \r\n \r\n {thirdPartyCorrespondence.reference}\r\n \r\n \r\n \r\n \r\n);\r\n\r\nexport default BreadCrumbs;\r\n","import { Nav, Tab } from \"react-bootstrap\";\r\nimport { IThirdPartyCorrespondenceDetails } from \"../../../api/IThirdPartyCorrespondence\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport { DocumentsGrid } from \"../../../leap-components/Documents/DocumentsGrid\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\n\r\ninterface SubTabsProps {\r\n className?: string;\r\n activeKey: string;\r\n licenceProfile: ILicenceProfile;\r\n thirdPartyCorrespondence: IThirdPartyCorrespondenceDetails;\r\n}\r\n\r\ninterface ThirdPartyCorrespondenceProps {\r\n licenceProfile: ILicenceProfile;\r\n thirdPartyCorrespondence: IThirdPartyCorrespondenceDetails;\r\n}\r\n\r\nconst SubTabs = ({\r\n className,\r\n activeKey,\r\n licenceProfile,\r\n thirdPartyCorrespondence,\r\n}: SubTabsProps) => (\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\nconst RelatedComplianceRecords = ({\r\n thirdPartyCorrespondence,\r\n licenceProfile,\r\n}: ThirdPartyCorrespondenceProps) => {\r\n var bodyElements = (\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default RelatedComplianceRecords;\r\n","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { IThirdPartyCorrespondenceDetails } from \"../../../api/IThirdPartyCorrespondence\";\r\nimport EpaField2Rows from \"../../../leap-components/EpaField2Rows\";\r\nimport { ThirdPartyCorrespondenceIcon } from \"../../../leap-components/icons/LeapIcons\";\r\n\r\ninterface ThirdPartyCorrespondenceHeaderProps {\r\n thirdPartyCorrespondence: IThirdPartyCorrespondenceDetails;\r\n}\r\n\r\nconst ThirdPartyCorrespondenceHeader = ({\r\n thirdPartyCorrespondence,\r\n}: ThirdPartyCorrespondenceHeaderProps) => {\r\n return (\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 Third Party Correspondence:{\" \"}\r\n {thirdPartyCorrespondence.reference}\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\nexport default ThirdPartyCorrespondenceHeader;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { IThirdPartyCorrespondenceDetails } from \"../../../api/IThirdPartyCorrespondence\";\r\nimport EpaCard from \"../../../leap-components/EpaCard\";\r\nimport EpaField from \"../../../leap-components/EpaField\";\r\nimport EpaFieldHtml from \"../../../leap-components/EpaFieldHtml\";\r\n\r\ninterface ThirdPartyCorrespondenceDetailsProps {\r\n thirdPartyCorrespondence: IThirdPartyCorrespondenceDetails;\r\n}\r\n\r\nconst ThirdPartyCorrespondenceDetails = ({\r\n thirdPartyCorrespondence,\r\n}: ThirdPartyCorrespondenceDetailsProps) => {\r\n var bodyElements = (\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 ) as JSX.Element;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ThirdPartyCorrespondenceDetails;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport LicenceProfileHeader from \"../LicenceProfileHeader\";\r\nimport LicenceProfileSubTabs from \"../LicenceProfileSubTabs\";\r\nimport BreadCrumbs from \"./BreadCrumbs\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport RelatedComplianceRecords from \"./RelatedComplianceRecords\";\r\nimport Page404 from \"../../../pages/auth/Page404\";\r\nimport useAppSelector from \"../../../hooks/useAppSelector\";\r\nimport {\r\n loadLicenceProfileAsync,\r\n selectLicenceProfileResponse,\r\n} from \"../../../redux/slices/licenceProfile\";\r\nimport useAppDispatch from \"../../../hooks/useAppDispatch\";\r\nimport Loading from \"../../../leap-components/Loading\";\r\nimport BackToCompliance from \"../ComplianceTab/BackToCompliance\";\r\nimport { useState } from \"react\";\r\nimport {\r\n GetLicenceProfileNotReadyComponent,\r\n IsLicenceProfileReady,\r\n} from \"../../../leap-components/LicenceProfile/LicenceProfileResponseComponentFactory\";\r\nimport { ILicenceProfile } from \"../../../api/LicenceProfile\";\r\nimport {\r\n loadThirdPartyCorrespondenceAsync,\r\n selectThirdPartyCorrespondence,\r\n} from \"../../../redux/slices/thirdPartyCorrespondence\";\r\nimport ThirdPartyCorrespondenceHeader from \"./ThirdPartyCorrespondenceHeader\";\r\nimport ThirdPartyCorrespondenceDetails from \"./ThirdPartyCorrespondenceDetails\";\r\nimport Page500 from \"../../../pages/auth/Page500\";\r\n\r\nconst ThirdPartyCorrespondence = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [\r\n loadingThirdPartyCorrespondenceId,\r\n setLoadingThirdPartyCorrespondenceId,\r\n ] = useState(\"\");\r\n const licenceProfileSelector = useAppSelector(selectLicenceProfileResponse);\r\n const thirdPartyCorrespondenceSelector = useAppSelector(\r\n selectThirdPartyCorrespondence\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n let { profileNo, thirdPartyCorrespondenceId } = useParams();\r\n if (!profileNo || !thirdPartyCorrespondenceId) {\r\n return ;\r\n }\r\n\r\n if (!loading) {\r\n setLoading(true);\r\n dispatch(loadLicenceProfileAsync(profileNo));\r\n }\r\n\r\n if (!IsLicenceProfileReady(licenceProfileSelector.licenceProfileResponse)) {\r\n return GetLicenceProfileNotReadyComponent(\r\n licenceProfileSelector.licenceProfileResponse\r\n );\r\n }\r\n\r\n const licenceProfile = licenceProfileSelector.licenceProfileResponse\r\n ?.licenceProfile as ILicenceProfile;\r\n\r\n if (loadingThirdPartyCorrespondenceId !== thirdPartyCorrespondenceId) {\r\n setLoadingThirdPartyCorrespondenceId(thirdPartyCorrespondenceId);\r\n dispatch(loadThirdPartyCorrespondenceAsync(thirdPartyCorrespondenceId));\r\n return ;\r\n }\r\n\r\n const thirdPartyCorrespondence =\r\n thirdPartyCorrespondenceSelector.thirdPartyCorrespondence;\r\n\r\n if (!thirdPartyCorrespondence) {\r\n return ;\r\n }\r\n\r\n if (!thirdPartyCorrespondence.response.ok) {\r\n if (thirdPartyCorrespondence.response.status === 404) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n const contentElement = (\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 return (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ThirdPartyCorrespondence;\r\n","// Layouts\r\nimport AuthLayout from \"../../layouts/Auth\";\r\nimport LeapDashboardLayout from \"../../layouts/LeapDashboard\";\r\n\r\nimport LicenceProfile from \"../../leap-dashboards/LicenceProfile\";\r\n\r\n// Auth\r\nimport Page404 from \"../../pages/auth/Page404\";\r\n\r\n// Protected routes\r\nimport LicenceDashboard from \"../../leap-pages/LicenceProfile\";\r\nimport SiteVisit from \"../../leap-pages/LicenceProfile/SiteVisits\";\r\nimport Confirm from \"../../leap-pages/Confirm\";\r\nimport ComplianceTab from \"../../leap-pages/LicenceProfile/ComplianceTab\";\r\nimport LicenceVersionsTab from \"../../leap-pages/LicenceProfile/LicenceVersionsTab\";\r\nimport LicenseeReturn from \"../../leap-pages/LicenceProfile/LicenseeReturn\";\r\nimport RequestForInformation from \"../../leap-pages/LicenceProfile/RequestForInformation\";\r\nimport FindingAndRecommendation from \"../../leap-pages/LicenceProfile/FindingAndRecommendation\";\r\nimport Instruction from \"../../leap-pages/LicenceProfile/Instruction\";\r\nimport EdenMessage from \"../../leap-pages/LicenceProfile/EdenMessage\";\r\nimport LeapHome from \"../../leap-pages/LeapHome\";\r\nimport ComplianceInvestigation from \"../../leap-pages/LicenceProfile/ComplianceInvestigation\";\r\nimport Incident from \"../../leap-pages/LicenceProfile/Incident\";\r\nimport Complaint from \"../../leap-pages/LicenceProfile/Complaint\";\r\nimport IncidentUpdateRequest from \"../../leap-pages/LicenceProfile/IncidentUpdateRequest\";\r\nimport Meeting from \"../../leap-pages/LicenceProfile/Meeting\";\r\nimport NonCompliance from \"../../leap-pages/LicenceProfile/NonCompliance\";\r\nimport ActionOrInstruction from \"../../leap-pages/LicenceProfile/ComplianceInvestigation/ActionsOrInstructions\";\r\nimport EpaCorrespondence from \"../../leap-pages/LicenceProfile/EpaCorrespondence\";\r\nimport ThirdPartyCorrespondence from \"../../leap-pages/LicenceProfile/ThirdPartyCorrespondence\";\r\nimport Page500 from \"../../pages/auth/Page500\";\r\n\r\nconst routes = [\r\n {\r\n path: \"/\",\r\n element: ,\r\n children: [\r\n {\r\n path: \"\",\r\n element: ,\r\n },\r\n {\r\n path: \"confirm\",\r\n element: ,\r\n },\r\n {\r\n path: \"404\",\r\n element: ,\r\n },\r\n {\r\n path: \"500\",\r\n element: ,\r\n },\r\n {\r\n path: \"licence-profile/:profileNo\",\r\n element: ,\r\n children: [\r\n {\r\n path: \"\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance\",\r\n element: ,\r\n },\r\n {\r\n path: \"versions\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/sitevisit/:siteVisitId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/return/:licenseeReturnId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/request-for-information/:requestForInformationId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/finding-and-recommendation/:findingAndRecommendationId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/action-or-instruction/:actionOrInstructionId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/lr-instruction/:instructionId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/epa-correspondence/:epaCorrespondenceId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/3rd-party-correspondence/:thirdPartyCorrespondenceId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/eden-message/:edenMessageId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/investigation/:complianceInvestigationId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/incident/:incidentId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/incident-update-request/:incidentUpdateRequestId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/complaint/:complaintId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/meeting/:meetingId\",\r\n element: ,\r\n },\r\n {\r\n path: \"compliance/non-compliance/:nonComplianceId\",\r\n element: ,\r\n },\r\n ],\r\n },\r\n {\r\n path: \"site-visit/:siteVisitId\",\r\n element: ,\r\n },\r\n ],\r\n },\r\n {\r\n path: \"*\",\r\n element: ,\r\n children: [\r\n {\r\n path: \"*\",\r\n element: ,\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport default routes;\r\n","import { useState, useEffect } from \"react\";\r\n\r\nimport { THEME, THEME_PALETTE_LIGHT, THEME_PALETTE_DARK } from \"../constants\";\r\n\r\nimport useTheme from \"./useTheme\";\r\n\r\nconst usePalette = () => {\r\n const { theme } = useTheme();\r\n\r\n const [palette, setPalette] = useState(THEME_PALETTE_LIGHT);\r\n\r\n useEffect(() => {\r\n if (theme === THEME.DARK) {\r\n setPalette(THEME_PALETTE_DARK);\r\n } else {\r\n setPalette(THEME_PALETTE_LIGHT);\r\n }\r\n }, [theme]);\r\n\r\n return palette;\r\n};\r\n\r\nexport default usePalette;\r\n","import { useEffect } from \"react\";\r\n\r\nimport usePalette from \"../hooks/usePalette\";\r\nimport { defaults } from \"react-chartjs-2\";\r\n\r\nconst ChartJsDefaults = () => {\r\n const palette = usePalette();\r\n\r\n useEffect(() => {\r\n defaults.global.defaultFontColor = palette[\"gray-600\"];\r\n defaults.global.defaultFontFamily =\r\n \"'Poppins', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\";\r\n }, [palette]);\r\n\r\n return null;\r\n};\r\n\r\nexport default ChartJsDefaults;\r\n\r\ndeclare global {\r\n interface Window {\r\n Chart: any;\r\n }\r\n}\r\n\r\n// Rounded corners for barcharts\r\nwindow.Chart.elements.Rectangle.prototype.draw = function () {\r\n const ctx = this._chart.ctx;\r\n const vm = this._view;\r\n let left, right, top, bottom, signX, signY, borderSkipped;\r\n let borderWidth = vm.borderWidth;\r\n let cornerRadius = 10;\r\n\r\n if (!vm.horizontal) {\r\n // bar\r\n left = vm.x - vm.width / 2;\r\n right = vm.x + vm.width / 2;\r\n top = vm.y;\r\n bottom = vm.base;\r\n signX = 1;\r\n signY = bottom > top ? 1 : -1;\r\n borderSkipped = vm.borderSkipped || \"bottom\";\r\n } else {\r\n // horizontal bar\r\n left = vm.base;\r\n right = vm.x;\r\n top = vm.y - vm.height / 2;\r\n bottom = vm.y + vm.height / 2;\r\n signX = right > left ? 1 : -1;\r\n signY = 1;\r\n borderSkipped = vm.borderSkipped || \"left\";\r\n }\r\n\r\n // Canvas doesn't allow us to stroke inside the width so we can\r\n // adjust the sizes to fit if we're setting a stroke on the line\r\n if (borderWidth) {\r\n // borderWidth shold be less than bar width and bar height.\r\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\r\n borderWidth = borderWidth > barSize ? barSize : borderWidth;\r\n const halfStroke = borderWidth / 2;\r\n // Adjust borderWidth when bar top position is near vm.base(zero).\r\n const borderLeft =\r\n left + (borderSkipped !== \"left\" ? halfStroke * signX : 0);\r\n const borderRight =\r\n right + (borderSkipped !== \"right\" ? -halfStroke * signX : 0);\r\n const borderTop = top + (borderSkipped !== \"top\" ? halfStroke * signY : 0);\r\n const borderBottom =\r\n bottom + (borderSkipped !== \"bottom\" ? -halfStroke * signY : 0);\r\n // not become a vertical line?\r\n if (borderLeft !== borderRight) {\r\n top = borderTop;\r\n bottom = borderBottom;\r\n }\r\n // not become a horizontal line?\r\n if (borderTop !== borderBottom) {\r\n left = borderLeft;\r\n right = borderRight;\r\n }\r\n }\r\n\r\n ctx.beginPath();\r\n ctx.fillStyle = vm.backgroundColor;\r\n ctx.strokeStyle = vm.borderColor;\r\n ctx.lineWidth = borderWidth;\r\n\r\n // Corner points, from bottom-left to bottom-right clockwise\r\n // | 1 2 |\r\n // | 0 3 |\r\n const corners = [\r\n [left, bottom],\r\n [left, top],\r\n [right, top],\r\n [right, bottom],\r\n ];\r\n\r\n // Find first (starting) corner with fallback to 'bottom'\r\n const borders = [\"bottom\", \"left\", \"top\", \"right\"];\r\n let startCorner = borders.indexOf(borderSkipped, 0);\r\n if (startCorner === -1) {\r\n startCorner = 0;\r\n }\r\n\r\n function cornerAt(index: any) {\r\n return corners[(startCorner + index) % 4];\r\n }\r\n\r\n // Draw rectangle from 'startCorner'\r\n let corner = cornerAt(0);\r\n ctx.moveTo(corner[0], corner[1]);\r\n\r\n for (var i = 1; i < 4; i++) {\r\n corner = cornerAt(i);\r\n\r\n const width = corners[2][0] - corners[1][0];\r\n const height = corners[0][1] - corners[1][1];\r\n const x = corners[1][0];\r\n const y = corners[1][1];\r\n\r\n let radius = cornerRadius;\r\n\r\n // Fix radius being too large\r\n if (radius > height / 2) {\r\n radius = height / 2;\r\n }\r\n if (radius > width / 2) {\r\n radius = width / 2;\r\n }\r\n\r\n let lastVisible = 0;\r\n for (\r\n let findLast = 0, findLastTo = this._chart.data.datasets.length;\r\n findLast < findLastTo;\r\n findLast++\r\n ) {\r\n if (!this._chart.getDatasetMeta(findLast).hidden) {\r\n lastVisible = findLast;\r\n }\r\n }\r\n\r\n let rounded = this._datasetIndex === lastVisible;\r\n\r\n if (rounded) {\r\n ctx.moveTo(x + radius, y);\r\n ctx.lineTo(x + width - radius, y);\r\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n ctx.lineTo(x + width, y + height);\r\n ctx.lineTo(x, y + height);\r\n ctx.lineTo(x, y + radius);\r\n ctx.quadraticCurveTo(x, y, x + radius, y);\r\n } else {\r\n ctx.moveTo(x, y);\r\n ctx.lineTo(x + width, y);\r\n ctx.lineTo(x + width, y + height);\r\n ctx.lineTo(x, y + height);\r\n ctx.lineTo(x, y);\r\n }\r\n }\r\n\r\n ctx.fill();\r\n if (borderWidth) {\r\n ctx.stroke();\r\n }\r\n};\r\n","import axios from \"axios\";\r\n\r\nconst axiosInstance = axios.create();\r\n\r\naxiosInstance.interceptors.response.use(\r\n (response) => response,\r\n (error) =>\r\n Promise.reject(\r\n (error.response && error.response.data) || \"Something went wrong\"\r\n )\r\n);\r\n\r\nexport default axiosInstance;\r\n","import jwtDecode from \"jwt-decode\";\r\nimport { verify, sign } from \"jsonwebtoken\";\r\nimport axios from \"./axios\";\r\n\r\nconst isValidToken = (accessToken: string) => {\r\n if (!accessToken) {\r\n return false;\r\n }\r\n const decoded = jwtDecode<{ exp: number }>(accessToken);\r\n const currentTime = Date.now() / 1000;\r\n\r\n return decoded.exp > currentTime;\r\n};\r\n\r\n// const handleTokenExpired = (exp) => {\r\n// let expiredTimer;\r\n\r\n// window.clearTimeout(expiredTimer);\r\n// const currentTime = Date.now();\r\n// const timeLeft = exp * 1000 - currentTime;\r\n// console.log(timeLeft);\r\n// expiredTimer = window.setTimeout(() => {\r\n// console.log('expired');\r\n// }, timeLeft);\r\n// };\r\n\r\nconst setSession = (accessToken: string | null) => {\r\n if (accessToken) {\r\n localStorage.setItem(\"accessToken\", accessToken);\r\n axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`;\r\n // This function below will handle when token is expired\r\n // const { exp } = jwtDecode(accessToken);\r\n // handleTokenExpired(exp);\r\n } else {\r\n localStorage.removeItem(\"accessToken\");\r\n delete axios.defaults.headers.common.Authorization;\r\n }\r\n};\r\n\r\nexport { verify, sign, isValidToken, setSession };\r\n","import { createContext, ReactNode, useEffect, useReducer } from \"react\";\r\n\r\nimport { JWTContextType, ActionMap, AuthState, AuthUser } from \"../types/auth\";\r\n\r\nimport axios from \"../utils/axios\";\r\nimport { isValidToken, setSession } from \"../utils/jwt\";\r\n\r\nconst INITIALIZE = \"INITIALIZE\";\r\nconst SIGN_IN = \"SIGN_IN\";\r\nconst SIGN_OUT = \"SIGN_OUT\";\r\nconst SIGN_UP = \"SIGN_UP\";\r\n\r\ntype AuthActionTypes = {\r\n [INITIALIZE]: {\r\n isAuthenticated: boolean;\r\n user: AuthUser;\r\n };\r\n [SIGN_IN]: {\r\n user: AuthUser;\r\n };\r\n [SIGN_OUT]: undefined;\r\n [SIGN_UP]: {\r\n user: AuthUser;\r\n };\r\n};\r\n\r\nconst initialState: AuthState = {\r\n isAuthenticated: false,\r\n isInitialized: false,\r\n user: null,\r\n};\r\n\r\nconst JWTReducer = (\r\n state: AuthState,\r\n action: ActionMap[keyof ActionMap]\r\n) => {\r\n switch (action.type) {\r\n case INITIALIZE:\r\n return {\r\n isAuthenticated: action.payload.isAuthenticated,\r\n isInitialized: true,\r\n user: action.payload.user,\r\n };\r\n case SIGN_IN:\r\n return {\r\n ...state,\r\n isAuthenticated: true,\r\n user: action.payload.user,\r\n };\r\n case SIGN_OUT:\r\n return {\r\n ...state,\r\n isAuthenticated: false,\r\n user: null,\r\n };\r\n\r\n case SIGN_UP:\r\n return {\r\n ...state,\r\n isAuthenticated: true,\r\n user: action.payload.user,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nconst AuthContext = createContext(null);\r\n\r\nfunction AuthProvider({ children }: { children: ReactNode }) {\r\n const [state, dispatch] = useReducer(JWTReducer, initialState);\r\n\r\n useEffect(() => {\r\n const initialize = async () => {\r\n try {\r\n const accessToken = window.localStorage.getItem(\"accessToken\");\r\n\r\n if (accessToken && isValidToken(accessToken)) {\r\n setSession(accessToken);\r\n\r\n const response = await axios.get(\"/api/auth/my-account\");\r\n const { user } = response.data;\r\n\r\n dispatch({\r\n type: INITIALIZE,\r\n payload: {\r\n isAuthenticated: true,\r\n user,\r\n },\r\n });\r\n } else {\r\n dispatch({\r\n type: INITIALIZE,\r\n payload: {\r\n isAuthenticated: false,\r\n user: null,\r\n },\r\n });\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n dispatch({\r\n type: INITIALIZE,\r\n payload: {\r\n isAuthenticated: false,\r\n user: null,\r\n },\r\n });\r\n }\r\n };\r\n\r\n initialize();\r\n }, []);\r\n\r\n const signIn = async (email: string, password: string) => {\r\n const response = await axios.post(\"/api/auth/sign-in\", {\r\n email,\r\n password,\r\n });\r\n const { accessToken, user } = response.data;\r\n\r\n setSession(accessToken);\r\n dispatch({\r\n type: SIGN_IN,\r\n payload: {\r\n user,\r\n },\r\n });\r\n };\r\n\r\n const signOut = async () => {\r\n setSession(null);\r\n dispatch({ type: SIGN_OUT });\r\n };\r\n\r\n const signUp = async (\r\n email: string,\r\n password: string,\r\n firstName: string,\r\n lastName: string\r\n ) => {\r\n const response = await axios.post(\"/api/auth/sign-up\", {\r\n email,\r\n password,\r\n firstName,\r\n lastName,\r\n });\r\n const { accessToken, user } = response.data;\r\n\r\n window.localStorage.setItem(\"accessToken\", accessToken);\r\n dispatch({\r\n type: SIGN_UP,\r\n payload: {\r\n user,\r\n },\r\n });\r\n };\r\n\r\n const resetPassword = (email: string) => console.log(email);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport { AuthContext, AuthProvider };\r\n","import React from \"react\";\r\nimport { useRoutes, useNavigate, Navigate } from \"react-router-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport { HelmetProvider, Helmet } from \"react-helmet-async\";\r\nimport { store } from \"../../redux/store\";\r\n\r\nimport \"../../i18n\";\r\nimport routes from \"./routes\";\r\n\r\nimport { ThemeProvider } from \"./ThemeContext\";\r\nimport { SidebarProvider } from \"../../contexts/SidebarContext\";\r\nimport { LayoutProvider } from \"../../contexts/LayoutContext\";\r\nimport ChartJsDefaults from \"../../utils/ChartJsDefaults\";\r\n\r\nimport { AuthProvider } from \"../../contexts/JWTContext\";\r\n\r\nconst App = () => {\r\n const content = useRoutes(routes);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {content}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n enableBackground: \"new 0 0 20 20\",\n xmlSpace: \"preserve\",\n fill: \"#2871e7\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#84aef2\",\n d: \"M19.4,4.1l-9-4C10.1,0,9.9,0,9.6,0.1l-9,4C0.2,4.2,0,4.6,0,5s0.2,0.8,0.6,0.9l9,4C9.7,10,9.9,10,10,10s0.3,0,0.4-0.1l9-4 C19.8,5.8,20,5.4,20,5S19.8,4.2,19.4,4.1z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,15c-0.1,0-0.3,0-0.4-0.1l-9-4c-0.5-0.2-0.7-0.8-0.5-1.3c0.2-0.5,0.8-0.7,1.3-0.5l8.6,3.8l8.6-3.8c0.5-0.2,1.1,0,1.3,0.5 c0.2,0.5,0,1.1-0.5,1.3l-9,4C10.3,15,10.1,15,10,15z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,20c-0.1,0-0.3,0-0.4-0.1l-9-4c-0.5-0.2-0.7-0.8-0.5-1.3c0.2-0.5,0.8-0.7,1.3-0.5l8.6,3.8l8.6-3.8c0.5-0.2,1.1,0,1.3,0.5 c0.2,0.5,0,1.1-0.5,1.3l-9,4C10.3,20,10.1,20,10,20z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.001be075.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/avatar.42a86687.jpg\";","export default __webpack_public_path__ + \"static/media/avatar-3.7ddfac87.jpg\";","export default __webpack_public_path__ + \"static/media/avatar-4.93166a0c.jpg\";","export default __webpack_public_path__ + \"static/media/avatar-5.b309bbe2.jpg\";","import { SidebarItemsType } from \"../../types/sidebar\";\r\n\r\nimport {\r\n Bell,\r\n BookOpen,\r\n Calendar,\r\n CheckSquare,\r\n Grid,\r\n Heart,\r\n Layout,\r\n List,\r\n PieChart,\r\n Sliders,\r\n MapPin,\r\n Users,\r\n Share,\r\n} from \"react-feather\";\r\n\r\nconst pagesSection = [\r\n {\r\n href: \"/licence-profile\",\r\n icon: Sliders,\r\n title: \"Licence Profile\",\r\n badge: \"NEW\",\r\n },\r\n {\r\n href: \"/dashboard\",\r\n icon: Sliders,\r\n title: \"Dashboards\",\r\n badge: \"5\",\r\n children: [\r\n {\r\n href: \"/dashboard/default\",\r\n title: \"Default\",\r\n },\r\n {\r\n href: \"/dashboard/analytics\",\r\n title: \"Analytics\",\r\n },\r\n {\r\n href: \"/dashboard/saas\",\r\n title: \"SaaS\",\r\n },\r\n {\r\n href: \"/dashboard/social\",\r\n title: \"Social\",\r\n },\r\n {\r\n href: \"/dashboard/crypto\",\r\n title: \"Crypto\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/pages\",\r\n icon: Layout,\r\n title: \"Pages\",\r\n children: [\r\n {\r\n href: \"/pages/profile\",\r\n title: \"Profile\",\r\n },\r\n {\r\n href: \"/pages/settings\",\r\n title: \"Settings\",\r\n },\r\n {\r\n href: \"/pages/clients\",\r\n title: \"Clients\",\r\n },\r\n {\r\n href: \"/pages/projects\",\r\n title: \"Projects\",\r\n },\r\n {\r\n href: \"/pages/invoice\",\r\n title: \"Invoice\",\r\n },\r\n {\r\n href: \"/pages/pricing\",\r\n title: \"Pricing\",\r\n },\r\n {\r\n href: \"/pages/tasks\",\r\n title: \"Tasks\",\r\n },\r\n {\r\n href: \"/pages/chat\",\r\n title: \"Chat\",\r\n badge: \"New\",\r\n },\r\n {\r\n href: \"/pages/blank\",\r\n title: \"Blank Page\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/auth\",\r\n icon: Users,\r\n title: \"Auth\",\r\n children: [\r\n {\r\n href: \"/auth/sign-in\",\r\n title: \"Sign In\",\r\n },\r\n {\r\n href: \"/auth/sign-up\",\r\n title: \"Sign Up\",\r\n },\r\n {\r\n href: \"/auth/reset-password\",\r\n title: \"Reset Password\",\r\n },\r\n {\r\n href: \"/auth/404\",\r\n title: \"404 Page\",\r\n },\r\n {\r\n href: \"/auth/500\",\r\n title: \"500 Page\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/docs/introduction\",\r\n icon: BookOpen,\r\n title: \"Documentation\",\r\n },\r\n] as SidebarItemsType[];\r\n\r\nconst componentsSection = [\r\n {\r\n href: \"/ui\",\r\n icon: Grid,\r\n title: \"UI Elements\",\r\n children: [\r\n {\r\n href: \"/ui/alerts\",\r\n title: \"Alerts\",\r\n },\r\n {\r\n href: \"/ui/buttons\",\r\n title: \"Buttons\",\r\n },\r\n {\r\n href: \"/ui/cards\",\r\n title: \"Cards\",\r\n },\r\n {\r\n href: \"/ui/carousel\",\r\n title: \"Carousel\",\r\n },\r\n {\r\n href: \"/ui/embed-video\",\r\n title: \"Embed Video\",\r\n },\r\n {\r\n href: \"/ui/general\",\r\n title: \"General\",\r\n },\r\n {\r\n href: \"/ui/grid\",\r\n title: \"Grid\",\r\n },\r\n {\r\n href: \"/ui/modals\",\r\n title: \"Modals\",\r\n },\r\n {\r\n href: \"/ui/offcanvas\",\r\n title: \"Offcanvas\",\r\n },\r\n {\r\n href: \"/ui/tabs\",\r\n title: \"Tabs\",\r\n },\r\n {\r\n href: \"/ui/typography\",\r\n title: \"Typography\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/icons\",\r\n icon: Heart,\r\n title: \"Icons\",\r\n badge: \"1500+\",\r\n children: [\r\n {\r\n href: \"/icons/feather\",\r\n title: \"Feather\",\r\n },\r\n {\r\n href: \"/icons/font-awesome\",\r\n title: \"Font Awesome\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/forms\",\r\n icon: CheckSquare,\r\n title: \"Forms\",\r\n children: [\r\n {\r\n href: \"/forms/layouts\",\r\n title: \"Layouts\",\r\n },\r\n {\r\n href: \"/forms/basic-inputs\",\r\n title: \"Basic Inputs\",\r\n },\r\n {\r\n href: \"/forms/input-groups\",\r\n title: \"Input Groups\",\r\n },\r\n {\r\n href: \"/forms/floating-labels\",\r\n title: \"Floating Labels\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/tables\",\r\n icon: List,\r\n title: \"Tables\",\r\n },\r\n] as SidebarItemsType[];\r\n\r\nconst pluginsSection = [\r\n {\r\n href: \"/form-plugins\",\r\n icon: CheckSquare,\r\n title: \"Form Plugins\",\r\n children: [\r\n {\r\n href: \"/form-plugins/advanced-inputs\",\r\n title: \"Advanced Inputs\",\r\n },\r\n {\r\n href: \"/form-plugins/formik\",\r\n title: \"Formik\",\r\n badge: \"New\",\r\n },\r\n {\r\n href: \"/form-plugins/editors\",\r\n title: \"Editors\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/advanced-tables\",\r\n icon: List,\r\n title: \"Advanced Tables\",\r\n children: [\r\n {\r\n href: \"/advanced-tables/pagination\",\r\n title: \"Pagination\",\r\n },\r\n {\r\n href: \"/advanced-tables/column-sorting\",\r\n title: \"Column Sorting\",\r\n },\r\n {\r\n href: \"/advanced-tables/column-filtering\",\r\n title: \"Column Filtering\",\r\n },\r\n {\r\n href: \"/advanced-tables/row-expanding\",\r\n title: \"Row Expanding\",\r\n },\r\n {\r\n href: \"/advanced-tables/row-selection\",\r\n title: \"Row Selection\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/charts\",\r\n icon: PieChart,\r\n title: \"Charts\",\r\n badge: \"New\",\r\n children: [\r\n {\r\n href: \"/charts/chartjs\",\r\n title: \"Chart.js\",\r\n },\r\n {\r\n href: \"/charts/apexcharts\",\r\n title: \"ApexCharts\",\r\n badge: \"New\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/notifications\",\r\n icon: Bell,\r\n title: \"Notifications\",\r\n },\r\n {\r\n href: \"/maps\",\r\n icon: MapPin,\r\n title: \"Maps\",\r\n children: [\r\n {\r\n href: \"/maps/google-maps\",\r\n title: \"Google Maps\",\r\n },\r\n {\r\n href: \"/maps/vector-maps\",\r\n title: \"Vector Maps\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/calendar\",\r\n icon: Calendar,\r\n title: \"Calendar\",\r\n },\r\n {\r\n href: \"/404\",\r\n icon: Share,\r\n title: \"Multi Level\",\r\n children: [\r\n {\r\n href: \"/404\",\r\n title: \"Two Levels\",\r\n children: [\r\n {\r\n href: \"/404\",\r\n title: \"Item 1\",\r\n },\r\n {\r\n href: \"/404\",\r\n title: \"Item 2\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/404\",\r\n title: \"Three Levels\",\r\n children: [\r\n {\r\n href: \"/404\",\r\n title: \"Item 1\",\r\n children: [\r\n {\r\n href: \"/404\",\r\n title: \"Item 1\",\r\n },\r\n {\r\n href: \"/404\",\r\n title: \"Item 2\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/404\",\r\n title: \"Item 2\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n] as SidebarItemsType[];\r\n\r\nconst navItems = [\r\n {\r\n title: \"Pages\",\r\n pages: pagesSection,\r\n },\r\n {\r\n title: \"Tools & Components\",\r\n pages: componentsSection,\r\n },\r\n {\r\n title: \"Plugins & Addons\",\r\n pages: pluginsSection,\r\n },\r\n];\r\n\r\nexport default navItems;\r\n","import { SidebarItemsType } from \"../../types/sidebar\";\r\n\r\nimport {\r\n ArrowRightCircle,\r\n Code,\r\n Globe,\r\n Info,\r\n List,\r\n Mail,\r\n Shield,\r\n Users,\r\n} from \"react-feather\";\r\n\r\nconst gettingStartedSection = [\r\n {\r\n href: \"/docs/introduction\",\r\n icon: Info,\r\n title: \"Welcome\",\r\n },\r\n {\r\n href: \"/docs/getting-started\",\r\n icon: Code,\r\n title: \"Getting Started\",\r\n },\r\n] as SidebarItemsType[];\r\n\r\nconst developmentSection = [\r\n {\r\n href: \"/docs/routing\",\r\n icon: ArrowRightCircle,\r\n title: \"Routing\",\r\n },\r\n {\r\n href: \"/docs/auth\",\r\n icon: Users,\r\n title: \"Authentication\",\r\n children: [\r\n {\r\n href: \"/docs/auth/auth0\",\r\n title: \"Auth0\",\r\n },\r\n {\r\n href: \"/docs/auth/cognito\",\r\n title: \"Cognito\",\r\n },\r\n {\r\n href: \"/docs/auth/firebase\",\r\n title: \"Firebase\",\r\n },\r\n {\r\n href: \"/docs/auth/jwt\",\r\n title: \"JWT\",\r\n },\r\n ],\r\n },\r\n {\r\n href: \"/docs/guards\",\r\n icon: Shield,\r\n title: \"Guards\",\r\n },\r\n {\r\n href: \"/docs/api-calls\",\r\n icon: ArrowRightCircle,\r\n title: \"API Calls\",\r\n },\r\n {\r\n href: \"/docs/environment-variables\",\r\n icon: ArrowRightCircle,\r\n title: \"Environment Variables\",\r\n },\r\n {\r\n href: \"/docs/redux\",\r\n icon: ArrowRightCircle,\r\n title: \"Redux\",\r\n },\r\n {\r\n href: \"/docs/internationalization\",\r\n icon: Globe,\r\n title: \"Internationalization\",\r\n },\r\n {\r\n href: \"/docs/eslint-and-prettier\",\r\n icon: ArrowRightCircle,\r\n title: \"ESLint & Prettier\",\r\n },\r\n {\r\n href: \"/docs/deployment\",\r\n icon: ArrowRightCircle,\r\n title: \"Deployment\",\r\n },\r\n {\r\n href: \"/docs/migrating-to-next-js\",\r\n icon: ArrowRightCircle,\r\n title: \"Migrating to Next.js\",\r\n },\r\n] as SidebarItemsType[];\r\n\r\nconst helpSection = [\r\n {\r\n href: \"/docs/support\",\r\n icon: Mail,\r\n title: \"Support\",\r\n },\r\n {\r\n href: \"/docs/changelog\",\r\n icon: List,\r\n title: \"Changelog\",\r\n badge: \"v2.2.0\",\r\n },\r\n] as SidebarItemsType[];\r\n\r\nconst navItems = [\r\n {\r\n title: \"Getting Started\",\r\n pages: gettingStartedSection,\r\n },\r\n {\r\n title: \"Development\",\r\n pages: developmentSection,\r\n },\r\n {\r\n title: \"Help\",\r\n pages: helpSection,\r\n },\r\n];\r\n\r\nexport default navItems;\r\n","import * as React from \"react\";\r\nimport { Navigate } from \"react-router-dom\";\r\n\r\nimport useAuth from \"../../hooks/useAuth\";\r\n\r\ninterface AuthGuardType {\r\n children: React.ReactNode;\r\n}\r\n\r\n// For routes that can only be accessed by authenticated users\r\nfunction AuthGuard({ children }: AuthGuardType) {\r\n const { isAuthenticated, isInitialized } = useAuth();\r\n\r\n if (isInitialized && !isAuthenticated) {\r\n return ;\r\n }\r\n\r\n return {children};\r\n}\r\n\r\nexport default AuthGuard;\r\n","export default __webpack_public_path__ + \"static/media/customer-support.ed122f05.png\";","export default __webpack_public_path__ + \"static/media/searching.9ba2a95a.png\";","import React, { useEffect } from \"react\";\r\nimport { VectorMap } from \"react-jvectormap\";\r\n\r\nimport { Card, Dropdown } from \"react-bootstrap\";\r\n\r\nimport { MoreHorizontal } from \"react-feather\";\r\n\r\nimport usePalette from \"../../../hooks/usePalette\";\r\n\r\nfunction WorldMap() {\r\n const palette = usePalette();\r\n\r\n const options = {\r\n map: \"world_mill\",\r\n normalizeFunction: \"polynomial\",\r\n hoverOpacity: 0.7,\r\n hoverColor: false,\r\n zoomOnScroll: false,\r\n regionStyle: {\r\n initial: {\r\n fill: palette[\"gray-200\"],\r\n },\r\n },\r\n containerStyle: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n markerStyle: {\r\n initial: {\r\n r: 9,\r\n fill: palette.primary,\r\n \"fill-opacity\": 0.9,\r\n stroke: palette.white,\r\n \"stroke-width\": 7,\r\n \"stroke-opacity\": 0.4,\r\n },\r\n hover: {\r\n fill: palette.primary,\r\n \"fill-opacity\": 0.9,\r\n stroke: palette.primary,\r\n \"stroke-width\": 7,\r\n \"stroke-opacity\": 0.4,\r\n },\r\n },\r\n backgroundColor: \"transparent\",\r\n markers: [\r\n {\r\n latLng: [31.230391, 121.473701],\r\n name: \"Shanghai\",\r\n },\r\n {\r\n latLng: [39.904202, 116.407394],\r\n name: \"Beijing\",\r\n },\r\n {\r\n latLng: [28.70406, 77.102493],\r\n name: \"Delhi\",\r\n },\r\n {\r\n latLng: [6.524379, 3.379206],\r\n name: \"Lagos\",\r\n },\r\n {\r\n latLng: [39.343357, 117.361649],\r\n name: \"Tianjin\",\r\n },\r\n {\r\n latLng: [24.860735, 67.001137],\r\n name: \"Karachi\",\r\n },\r\n {\r\n latLng: [41.00824, 28.978359],\r\n name: \"Istanbul\",\r\n },\r\n {\r\n latLng: [35.689487, 139.691711],\r\n name: \"Tokyo\",\r\n },\r\n {\r\n latLng: [23.12911, 113.264381],\r\n name: \"Guangzhou\",\r\n },\r\n {\r\n latLng: [19.075983, 72.877655],\r\n name: \"Mumbai\",\r\n },\r\n {\r\n latLng: [40.7127837, -74.0059413],\r\n name: \"New York\",\r\n },\r\n {\r\n latLng: [34.052235, -118.243683],\r\n name: \"Los Angeles\",\r\n },\r\n {\r\n latLng: [41.878113, -87.629799],\r\n name: \"Chicago\",\r\n },\r\n {\r\n latLng: [29.760427, -95.369804],\r\n name: \"Houston\",\r\n },\r\n {\r\n latLng: [33.448376, -112.074036],\r\n name: \"Phoenix\",\r\n },\r\n {\r\n latLng: [51.507351, -0.127758],\r\n name: \"London\",\r\n },\r\n {\r\n latLng: [48.856613, 2.352222],\r\n name: \"Paris\",\r\n },\r\n {\r\n latLng: [55.755825, 37.617298],\r\n name: \"Moscow\",\r\n },\r\n {\r\n latLng: [40.416775, -3.70379],\r\n name: \"Madrid\",\r\n },\r\n ],\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, 250);\r\n }, [palette]);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Action\r\n Another Action\r\n Something else here\r\n \r\n \r\n
\r\n Real-Time\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default WorldMap;\r\n","export default __webpack_public_path__ + \"static/media/social.20f68972.png\";","export default __webpack_public_path__ + \"static/media/avatar-2.6cc481d4.jpg\";","export default __webpack_public_path__ + \"static/media/unsplash-1.f6b3aeb0.jpg\";","export default __webpack_public_path__ + \"static/media/unsplash-2.695077e0.jpg\";","export default __webpack_public_path__ + \"static/media/unsplash-3.ad504e7b.jpg\";","import React from \"react\";\r\nimport { VectorMap } from \"react-jvectormap\";\r\n\r\nimport { Card, Dropdown } from \"react-bootstrap\";\r\n\r\nimport { MoreHorizontal } from \"react-feather\";\r\n\r\nimport usePalette from \"../../../hooks/usePalette\";\r\n\r\nfunction USAMap() {\r\n const palette = usePalette();\r\n\r\n const options = {\r\n map: \"us_aea\",\r\n normalizeFunction: \"polynomial\",\r\n hoverOpacity: 0.7,\r\n hoverColor: false,\r\n zoomOnScroll: false,\r\n regionStyle: {\r\n initial: {\r\n fill: palette[\"gray-200\"],\r\n },\r\n },\r\n containerStyle: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n markerStyle: {\r\n initial: {\r\n r: 9,\r\n fill: palette.primary,\r\n \"fill-opacity\": 0.9,\r\n stroke: palette.white,\r\n \"stroke-width\": 7,\r\n \"stroke-opacity\": 0.4,\r\n },\r\n hover: {\r\n fill: palette.primary,\r\n \"fill-opacity\": 0.9,\r\n stroke: palette.primary,\r\n \"stroke-width\": 7,\r\n \"stroke-opacity\": 0.4,\r\n },\r\n },\r\n backgroundColor: \"transparent\",\r\n markers: [\r\n {\r\n latLng: [37.77, -122.41],\r\n name: \"San Francisco: 375\",\r\n },\r\n {\r\n latLng: [40.71, -74.0],\r\n name: \"New York: 350\",\r\n },\r\n {\r\n latLng: [39.09, -94.57],\r\n name: \"Kansas City: 250\",\r\n },\r\n {\r\n latLng: [36.16, -115.13],\r\n name: \"Las Vegas: 275\",\r\n },\r\n {\r\n latLng: [32.77, -96.79],\r\n name: \"Dallas: 225\",\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Action\r\n Another Action\r\n Something else here\r\n \r\n \r\n
\r\n Sales by State\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default USAMap;\r\n","import React, { useEffect } from \"react\";\r\n\r\nimport ApexCharts from \"react-apexcharts\";\r\nimport { ApexOptions } from \"apexcharts\";\r\n\r\nimport { Card, Dropdown } from \"react-bootstrap\";\r\n\r\nimport { MoreHorizontal } from \"react-feather\";\r\n\r\nconst data = [\r\n {\r\n data: [\r\n {\r\n x: new Date(2016, 1, 1),\r\n y: [51.98, 56.29, 51.59, 53.85],\r\n },\r\n {\r\n x: new Date(2016, 2, 1),\r\n y: [53.66, 54.99, 51.35, 52.95],\r\n },\r\n {\r\n x: new Date(2016, 3, 1),\r\n y: [52.96, 53.78, 51.54, 52.48],\r\n },\r\n {\r\n x: new Date(2016, 4, 1),\r\n y: [52.54, 52.79, 47.88, 49.24],\r\n },\r\n {\r\n x: new Date(2016, 5, 1),\r\n y: [49.1, 52.86, 47.7, 52.78],\r\n },\r\n {\r\n x: new Date(2016, 6, 1),\r\n y: [52.83, 53.48, 50.32, 52.29],\r\n },\r\n {\r\n x: new Date(2016, 7, 1),\r\n y: [52.2, 54.48, 51.64, 52.58],\r\n },\r\n {\r\n x: new Date(2016, 8, 1),\r\n y: [52.76, 57.35, 52.15, 57.03],\r\n },\r\n {\r\n x: new Date(2016, 9, 1),\r\n y: [57.04, 58.15, 48.88, 56.19],\r\n },\r\n {\r\n x: new Date(2016, 10, 1),\r\n y: [56.09, 58.85, 55.48, 58.79],\r\n },\r\n {\r\n x: new Date(2016, 11, 1),\r\n y: [58.78, 59.65, 58.23, 59.05],\r\n },\r\n {\r\n x: new Date(2017, 0, 1),\r\n y: [59.37, 61.11, 59.35, 60.34],\r\n },\r\n {\r\n x: new Date(2017, 1, 1),\r\n y: [60.4, 60.52, 56.71, 56.93],\r\n },\r\n {\r\n x: new Date(2017, 2, 1),\r\n y: [57.02, 59.71, 56.04, 56.82],\r\n },\r\n {\r\n x: new Date(2017, 3, 1),\r\n y: [56.97, 59.62, 54.77, 59.3],\r\n },\r\n {\r\n x: new Date(2017, 4, 1),\r\n y: [59.11, 62.29, 59.1, 59.85],\r\n },\r\n {\r\n x: new Date(2017, 5, 1),\r\n y: [59.97, 60.11, 55.66, 58.42],\r\n },\r\n {\r\n x: new Date(2017, 6, 1),\r\n y: [58.34, 60.93, 56.75, 57.42],\r\n },\r\n {\r\n x: new Date(2017, 7, 1),\r\n y: [57.76, 58.08, 53.18, 54.71],\r\n },\r\n {\r\n x: new Date(2017, 8, 1),\r\n y: [54.8, 61.42, 53.58, 57.35],\r\n },\r\n {\r\n x: new Date(2017, 9, 1),\r\n y: [57.56, 63.09, 57.0, 62.99],\r\n },\r\n {\r\n x: new Date(2017, 10, 1),\r\n y: [62.89, 63.42, 59.72, 61.76],\r\n },\r\n {\r\n x: new Date(2017, 11, 1),\r\n y: [61.71, 64.15, 61.29, 63.04],\r\n },\r\n {\r\n x: new Date(2018, 0, 1),\r\n y: [59.37, 61.11, 59.35, 60.34],\r\n },\r\n {\r\n x: new Date(2018, 1, 1),\r\n y: [60.4, 60.52, 56.71, 56.93],\r\n },\r\n {\r\n x: new Date(2018, 2, 1),\r\n y: [57.02, 59.71, 56.04, 56.82],\r\n },\r\n {\r\n x: new Date(2018, 3, 1),\r\n y: [56.97, 59.62, 54.77, 59.3],\r\n },\r\n {\r\n x: new Date(2018, 4, 1),\r\n y: [59.11, 62.29, 59.1, 59.85],\r\n },\r\n {\r\n x: new Date(2018, 5, 1),\r\n y: [59.97, 60.11, 55.66, 58.42],\r\n },\r\n {\r\n x: new Date(2018, 6, 1),\r\n y: [58.34, 60.93, 56.75, 57.42],\r\n },\r\n {\r\n x: new Date(2018, 7, 1),\r\n y: [57.76, 58.08, 51.18, 54.71],\r\n },\r\n {\r\n x: new Date(2018, 8, 1),\r\n y: [54.8, 61.42, 53.18, 57.35],\r\n },\r\n {\r\n x: new Date(2018, 9, 1),\r\n y: [57.56, 62.09, 57.0, 61.99],\r\n },\r\n {\r\n x: new Date(2018, 10, 1),\r\n y: [62.89, 63.42, 59.72, 61.76],\r\n },\r\n {\r\n x: new Date(2018, 11, 1),\r\n y: [61.71, 64.15, 61.29, 63.04],\r\n },\r\n ],\r\n },\r\n];\r\n\r\nconst options: ApexOptions = {\r\n stroke: {\r\n width: 1,\r\n },\r\n xaxis: {\r\n type: \"datetime\",\r\n },\r\n colors: [\"#0cc2aa\", \"#5fc27e\", \"#fcc100\", \"#f44455\", \"#5b7dff\"],\r\n};\r\n\r\nconst Chart = () => {\r\n useEffect(() => {\r\n // Trigger resize manually so chart doesn't fall off canvas\r\n window.dispatchEvent(new Event(\"resize\"));\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Action\r\n Another Action\r\n Something else here\r\n \r\n \r\n
\r\n LTC/BTC\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Chart;\r\n","import React from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport * as Yup from \"yup\";\r\nimport { Formik } from \"formik\";\r\nimport { Alert, Button, Form } from \"react-bootstrap\";\r\n\r\nimport useAuth from \"../../hooks/useAuth\";\r\n\r\nfunction ResetPassword() {\r\n const navigate = useNavigate();\r\n const { resetPassword } = useAuth();\r\n\r\n return (\r\n {\r\n try {\r\n resetPassword(values.email);\r\n navigate(\"/auth/sign-in\");\r\n } catch (error: any) {\r\n const message = error.message || \"Something went wrong\";\r\n\r\n setStatus({ success: false });\r\n setErrors({ submit: message });\r\n setSubmitting(false);\r\n }\r\n }}\r\n >\r\n {({\r\n errors,\r\n handleBlur,\r\n handleChange,\r\n handleSubmit,\r\n isSubmitting,\r\n touched,\r\n values,\r\n }) => (\r\n
\r\n {errors.submit && (\r\n \r\n
{errors.submit}
\r\n
\r\n )}\r\n \r\n Email\r\n \r\n {!!touched.email && (\r\n \r\n {errors.email}\r\n \r\n )}\r\n \r\n
\r\n \r\n Reset password\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ResetPassword;\r\n","// ExpandableRows demo\r\nconst subRows = [\r\n {\r\n name: \"Shad Decker\",\r\n position: \"Regional Director\",\r\n office: \"Edinburgh\",\r\n age: 51,\r\n startDate: \"2008/11/13\",\r\n salary: \"$183,000\",\r\n },\r\n {\r\n name: \"Michael Bruce\",\r\n position: \"Javascript Developer\",\r\n office: \"Singapore\",\r\n age: 29,\r\n startDate: \"2011/06/27\",\r\n salary: \"$183,000\",\r\n },\r\n {\r\n name: \"Donna Snider\",\r\n position: \"Customer Support\",\r\n office: \"New York\",\r\n age: 27,\r\n startDate: \"2011/01/25\",\r\n salary: \"$112,000\",\r\n },\r\n];\r\n\r\nconst tableData = [\r\n {\r\n name: \"Tiger Nixon\",\r\n position: \"System Architect\",\r\n office: \"Edinburgh\",\r\n age: 61,\r\n startDate: \"2011/04/25\",\r\n salary: \"$320,800\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Garrett Winters\",\r\n position: \"Accountant\",\r\n office: \"Tokyo\",\r\n age: 63,\r\n startDate: \"2011/07/25\",\r\n salary: \"$170,750\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Ashton Cox\",\r\n position: \"Junior Technical Author\",\r\n office: \"San Francisco\",\r\n age: 66,\r\n startDate: \"2009/01/12\",\r\n salary: \"$86,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Cedric Kelly\",\r\n position: \"Senior Javascript Developer\",\r\n office: \"Edinburgh\",\r\n age: 22,\r\n startDate: \"2012/03/29\",\r\n salary: \"$433,060\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Airi Satou\",\r\n position: \"Accountant\",\r\n office: \"Tokyo\",\r\n age: 33,\r\n startDate: \"2008/11/28\",\r\n salary: \"$162,700\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Brielle Williamson\",\r\n position: \"Integration Specialist\",\r\n office: \"New York\",\r\n age: 61,\r\n startDate: \"2012/12/02\",\r\n salary: \"$372,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Herrod Chandler\",\r\n position: \"Sales Assistant\",\r\n office: \"San Francisco\",\r\n age: 59,\r\n startDate: \"2012/08/06\",\r\n salary: \"$137,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Rhona Davidson\",\r\n position: \"Integration Specialist\",\r\n office: \"Tokyo\",\r\n age: 55,\r\n startDate: \"2010/10/14\",\r\n salary: \"$327,900\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Colleen Hurst\",\r\n position: \"Javascript Developer\",\r\n office: \"San Francisco\",\r\n age: 39,\r\n startDate: \"2009/09/15\",\r\n salary: \"$205,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Sonya Frost\",\r\n position: \"Software Engineer\",\r\n office: \"Edinburgh\",\r\n age: 23,\r\n startDate: \"2008/12/13\",\r\n salary: \"$103,600\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Jena Gaines\",\r\n position: \"Office Manager\",\r\n office: \"London\",\r\n age: 30,\r\n startDate: \"2008/12/19\",\r\n salary: \"$90,560\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Quinn Flynn\",\r\n position: \"Support Lead\",\r\n office: \"Edinburgh\",\r\n age: 22,\r\n startDate: \"2013/03/03\",\r\n salary: \"$342,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Charde Marshall\",\r\n position: \"Regional Director\",\r\n office: \"San Francisco\",\r\n age: 36,\r\n startDate: \"2008/10/16\",\r\n salary: \"$470,600\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Haley Kennedy\",\r\n position: \"Senior Marketing Designer\",\r\n office: \"London\",\r\n age: 43,\r\n startDate: \"2012/12/18\",\r\n salary: \"$313,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Tatyana Fitzpatrick\",\r\n position: \"Regional Director\",\r\n office: \"London\",\r\n age: 19,\r\n startDate: \"2010/03/17\",\r\n salary: \"$385,750\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Michael Silva\",\r\n position: \"Marketing Designer\",\r\n office: \"London\",\r\n age: 66,\r\n startDate: \"2012/11/27\",\r\n salary: \"$198,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Paul Byrd\",\r\n position: \"Chief Financial Officer (CFO)\",\r\n office: \"New York\",\r\n age: 64,\r\n startDate: \"2010/06/09\",\r\n salary: \"$725,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Gloria Little\",\r\n position: \"Systems Administrator\",\r\n office: \"New York\",\r\n age: 59,\r\n startDate: \"2009/04/10\",\r\n salary: \"$237,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Bradley Greer\",\r\n position: \"Software Engineer\",\r\n office: \"London\",\r\n age: 41,\r\n startDate: \"2012/10/13\",\r\n salary: \"$132,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Dai Rios\",\r\n position: \"Personnel Lead\",\r\n office: \"Edinburgh\",\r\n age: 35,\r\n startDate: \"2012/09/26\",\r\n salary: \"$217,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Jenette Caldwell\",\r\n position: \"Development Lead\",\r\n office: \"New York\",\r\n age: 30,\r\n startDate: \"2011/09/03\",\r\n salary: \"$345,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Yuri Berry\",\r\n position: \"Chief Marketing Officer (CMO)\",\r\n office: \"New York\",\r\n age: 40,\r\n startDate: \"2009/06/25\",\r\n salary: \"$675,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Caesar Vance\",\r\n position: \"Pre-Sales Support\",\r\n office: \"New York\",\r\n age: 21,\r\n startDate: \"2011/12/12\",\r\n salary: \"$106,450\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Doris Wilder\",\r\n position: \"Sales Assistant\",\r\n office: \"Sidney\",\r\n age: 23,\r\n startDate: \"2010/09/20\",\r\n salary: \"$85,600\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Angelica Ramos\",\r\n position: \"Chief Executive Officer (CEO)\",\r\n office: \"London\",\r\n age: 47,\r\n startDate: \"2009/10/09\",\r\n salary: \"$1,200,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Gavin Joyce\",\r\n position: \"Developer\",\r\n office: \"Edinburgh\",\r\n age: 42,\r\n startDate: \"2010/12/22\",\r\n salary: \"$92,575\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Jennifer Chang\",\r\n position: \"Regional Director\",\r\n office: \"Singapore\",\r\n age: 28,\r\n startDate: \"2010/11/14\",\r\n salary: \"$357,650\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Brenden Wagner\",\r\n position: \"Software Engineer\",\r\n office: \"San Francisco\",\r\n age: 28,\r\n startDate: \"2011/06/07\",\r\n salary: \"$206,850\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Fiona Green\",\r\n position: \"Chief Operating Officer (COO)\",\r\n office: \"San Francisco\",\r\n age: 48,\r\n startDate: \"2010/03/11\",\r\n salary: \"$850,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Shou Itou\",\r\n position: \"Regional Marketing\",\r\n office: \"Tokyo\",\r\n age: 20,\r\n startDate: \"2011/08/14\",\r\n salary: \"$163,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Michelle House\",\r\n position: \"Integration Specialist\",\r\n office: \"Sidney\",\r\n age: 37,\r\n startDate: \"2011/06/02\",\r\n salary: \"$95,400\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Suki Burks\",\r\n position: \"Developer\",\r\n office: \"London\",\r\n age: 53,\r\n startDate: \"2009/10/22\",\r\n salary: \"$114,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Prescott Bartlett\",\r\n position: \"Technical Author\",\r\n office: \"London\",\r\n age: 27,\r\n startDate: \"2011/05/07\",\r\n salary: \"$145,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Gavin Cortez\",\r\n position: \"Team Leader\",\r\n office: \"San Francisco\",\r\n age: 22,\r\n startDate: \"2008/10/26\",\r\n salary: \"$235,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Martena Mccray\",\r\n position: \"Post-Sales support\",\r\n office: \"Edinburgh\",\r\n age: 46,\r\n startDate: \"2011/03/09\",\r\n salary: \"$324,050\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Unity Butler\",\r\n position: \"Marketing Designer\",\r\n office: \"San Francisco\",\r\n age: 47,\r\n startDate: \"2009/12/09\",\r\n salary: \"$85,675\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Howard Hatfield\",\r\n position: \"Office Manager\",\r\n office: \"San Francisco\",\r\n age: 51,\r\n startDate: \"2008/12/16\",\r\n salary: \"$164,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Hope Fuentes\",\r\n position: \"Secretary\",\r\n office: \"San Francisco\",\r\n age: 41,\r\n startDate: \"2010/02/12\",\r\n salary: \"$109,850\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Vivian Harrell\",\r\n position: \"Financial Controller\",\r\n office: \"San Francisco\",\r\n age: 62,\r\n startDate: \"2009/02/14\",\r\n salary: \"$452,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Timothy Mooney\",\r\n position: \"Office Manager\",\r\n office: \"London\",\r\n age: 37,\r\n startDate: \"2008/12/11\",\r\n salary: \"$136,200\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Jackson Bradshaw\",\r\n position: \"Director\",\r\n office: \"New York\",\r\n age: 65,\r\n startDate: \"2008/09/26\",\r\n salary: \"$645,750\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Olivia Liang\",\r\n position: \"Support Engineer\",\r\n office: \"Singapore\",\r\n age: 64,\r\n startDate: \"2011/02/03\",\r\n salary: \"$234,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Bruno Nash\",\r\n position: \"Software Engineer\",\r\n office: \"London\",\r\n age: 38,\r\n startDate: \"2011/05/03\",\r\n salary: \"$163,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Sakura Yamamoto\",\r\n position: \"Support Engineer\",\r\n office: \"Tokyo\",\r\n age: 37,\r\n startDate: \"2009/08/19\",\r\n salary: \"$139,575\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Thor Walton\",\r\n position: \"Developer\",\r\n office: \"New York\",\r\n age: 61,\r\n startDate: \"2013/08/11\",\r\n salary: \"$98,540\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Finn Camacho\",\r\n position: \"Support Engineer\",\r\n office: \"San Francisco\",\r\n age: 47,\r\n startDate: \"2009/07/07\",\r\n salary: \"$87,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Serge Baldwin\",\r\n position: \"Data Coordinator\",\r\n office: \"Singapore\",\r\n age: 64,\r\n startDate: \"2012/04/09\",\r\n salary: \"$138,575\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Zenaida Frank\",\r\n position: \"Software Engineer\",\r\n office: \"New York\",\r\n age: 63,\r\n startDate: \"2010/01/04\",\r\n salary: \"$125,250\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Zorita Serrano\",\r\n position: \"Software Engineer\",\r\n office: \"San Francisco\",\r\n age: 56,\r\n startDate: \"2012/06/01\",\r\n salary: \"$115,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Jennifer Acosta\",\r\n position: \"Junior Javascript Developer\",\r\n office: \"Edinburgh\",\r\n age: 43,\r\n startDate: \"2013/02/01\",\r\n salary: \"$75,650\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Cara Stevens\",\r\n position: \"Sales Assistant\",\r\n office: \"New York\",\r\n age: 46,\r\n startDate: \"2011/12/06\",\r\n salary: \"$145,600\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Hermione Butler\",\r\n position: \"Regional Director\",\r\n office: \"London\",\r\n age: 47,\r\n startDate: \"2011/03/21\",\r\n salary: \"$356,250\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Lael Greer\",\r\n position: \"Systems Administrator\",\r\n office: \"London\",\r\n age: 21,\r\n startDate: \"2009/02/27\",\r\n salary: \"$103,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Jonas Alexander\",\r\n position: \"Developer\",\r\n office: \"San Francisco\",\r\n age: 30,\r\n startDate: \"2010/07/14\",\r\n salary: \"$86,500\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Shad Decker\",\r\n position: \"Regional Director\",\r\n office: \"Edinburgh\",\r\n age: 51,\r\n startDate: \"2008/11/13\",\r\n salary: \"$183,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Michael Bruce\",\r\n position: \"Javascript Developer\",\r\n office: \"Singapore\",\r\n age: 29,\r\n startDate: \"2011/06/27\",\r\n salary: \"$183,000\",\r\n subRows: subRows,\r\n },\r\n {\r\n name: \"Donna Snider\",\r\n position: \"Customer Support\",\r\n office: \"New York\",\r\n age: 27,\r\n startDate: \"2011/01/25\",\r\n salary: \"$112,000\",\r\n subRows: subRows,\r\n },\r\n];\r\n\r\nconst tableColumns = [\r\n {\r\n Header: \"Name\",\r\n accessor: \"name\",\r\n },\r\n {\r\n Header: \"Position\",\r\n accessor: \"position\",\r\n },\r\n {\r\n Header: \"Office\",\r\n accessor: \"office\",\r\n },\r\n {\r\n Header: \"Age\",\r\n accessor: \"age\",\r\n },\r\n {\r\n Header: \"Start Date\",\r\n accessor: \"startDate\",\r\n },\r\n {\r\n Header: \"Salary\",\r\n accessor: \"salary\",\r\n },\r\n];\r\n\r\nexport { tableData, tableColumns };\r\n","import React from \"react\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport { Card, Col, Container, Row } from \"react-bootstrap\";\r\n\r\nimport * as Icon from \"react-feather\";\r\n\r\nconst icons = [\r\n {\r\n icon: ,\r\n name: \"Activity\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Airplay\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlertCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlertOctagon\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlertTriangle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlignCenter\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlignJustify\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlignLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AlignRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Anchor\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Aperture\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Archive\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowDownCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowDownLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowDownRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowLeftCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowRightCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowUpCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowUpLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowUpRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ArrowUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"AtSign\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Award\",\r\n },\r\n {\r\n icon: ,\r\n name: \"BarChart2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"BarChart\",\r\n },\r\n {\r\n icon: ,\r\n name: \"BatteryCharging\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Battery\",\r\n },\r\n {\r\n icon: ,\r\n name: \"BellOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Bell\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Bluetooth\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Bold\",\r\n },\r\n {\r\n icon: ,\r\n name: \"BookOpen\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Book\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Bookmark\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Box\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Briefcase\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Calendar\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CameraOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Camera\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Cast\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CheckCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CheckSquare\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Check\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronsDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronsLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronsRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ChevronsUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Chrome\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Circle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Clipboard\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Clock\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CloudDrizzle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CloudLightning\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CloudOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CloudRain\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CloudSnow\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Cloud\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Code\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Codepen\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Coffee\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Command\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Compass\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Copy\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerDownLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerDownRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerLeftDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerLeftUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerRightDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerRightUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerUpLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CornerUpRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Cpu\",\r\n },\r\n {\r\n icon: ,\r\n name: \"CreditCard\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Crop\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Crosshair\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Database\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Delete\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Disc\",\r\n },\r\n {\r\n icon: ,\r\n name: \"DollarSign\",\r\n },\r\n {\r\n icon: ,\r\n name: \"DownloadCloud\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Download\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Droplet\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Edit2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Edit3\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Edit\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ExternalLink\",\r\n },\r\n {\r\n icon: ,\r\n name: \"EyeOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Eye\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Facebook\",\r\n },\r\n {\r\n icon: ,\r\n name: \"FastForward\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Feather\",\r\n },\r\n {\r\n icon: ,\r\n name: \"FileMinus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"FilePlus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"FileText\",\r\n },\r\n {\r\n icon: ,\r\n name: \"File\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Film\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Filter\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Flag\",\r\n },\r\n {\r\n icon: ,\r\n name: \"FolderMinus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"FolderPlus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Folder\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Frown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Gift\",\r\n },\r\n {\r\n icon: ,\r\n name: \"GitBranch\",\r\n },\r\n {\r\n icon: ,\r\n name: \"GitCommit\",\r\n },\r\n {\r\n icon: ,\r\n name: \"GitMerge\",\r\n },\r\n {\r\n icon: ,\r\n name: \"GitPullRequest\",\r\n },\r\n {\r\n icon: ,\r\n name: \"GitHub\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Gitlab\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Globe\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Grid\",\r\n },\r\n {\r\n icon: ,\r\n name: \"HardDrive\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Hash\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Headphones\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Heart\",\r\n },\r\n {\r\n icon: ,\r\n name: \"HelpCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Home\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Image\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Inbox\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Info\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Instagram\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Italic\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Key\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Layers\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Layout\",\r\n },\r\n {\r\n icon: ,\r\n name: \"LifeBuoy\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Link2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Link\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Linkedin\",\r\n },\r\n {\r\n icon: ,\r\n name: \"List\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Loader\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Lock\",\r\n },\r\n {\r\n icon: ,\r\n name: \"LogIn\",\r\n },\r\n {\r\n icon: ,\r\n name: \"LogOut\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Mail\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MapPin\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Map\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Maximize2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Maximize\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Meh\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Menu\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MessageCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MessageSquare\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MicOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Mic\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Minimize2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Minimize\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MinusCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MinusSquare\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Minus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Monitor\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Moon\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MoreHorizontal\",\r\n },\r\n {\r\n icon: ,\r\n name: \"MoreVertical\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Move\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Music\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Navigation2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Navigation\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Octagon\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Package\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Paperclip\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PauseCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Pause\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Percent\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PhoneCall\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PhoneForwarded\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PhoneIncoming\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PhoneMissed\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PhoneOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PhoneOutgoing\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Phone\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PieChart\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PlayCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Play\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PlusCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"PlusSquare\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Plus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Pocket\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Power\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Printer\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Radio\",\r\n },\r\n {\r\n icon: ,\r\n name: \"RefreshCcw\",\r\n },\r\n {\r\n icon: ,\r\n name: \"RefreshCw\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Repeat\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Rewind\",\r\n },\r\n {\r\n icon: ,\r\n name: \"RotateCcw\",\r\n },\r\n {\r\n icon: ,\r\n name: \"RotateCw\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Rss\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Save\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Scissors\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Search\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Send\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Server\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Settings\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Share2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Share\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ShieldOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Shield\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ShoppingBag\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ShoppingCart\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Shuffle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Sidebar\",\r\n },\r\n {\r\n icon: ,\r\n name: \"SkipBack\",\r\n },\r\n {\r\n icon: ,\r\n name: \"SkipForward\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Slack\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Slash\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Sliders\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Smartphone\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Smile\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Speaker\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Square\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Star\",\r\n },\r\n {\r\n icon: ,\r\n name: \"StopCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Sun\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Sunrise\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Sunset\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Tablet\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Tag\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Target\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Terminal\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Thermometer\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ThumbsDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ThumbsUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ToggleLeft\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ToggleRight\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Trash2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Trash\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Trello\",\r\n },\r\n {\r\n icon: ,\r\n name: \"TrendingDown\",\r\n },\r\n {\r\n icon: ,\r\n name: \"TrendingUp\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Triangle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Truck\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Tv\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Twitter\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Type\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Umbrella\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Underline\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Unlock\",\r\n },\r\n {\r\n icon: ,\r\n name: \"UploadCloud\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Upload\",\r\n },\r\n {\r\n icon: ,\r\n name: \"UserCheck\",\r\n },\r\n {\r\n icon: ,\r\n name: \"UserMinus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"UserPlus\",\r\n },\r\n {\r\n icon: ,\r\n name: \"UserX\",\r\n },\r\n {\r\n icon: ,\r\n name: \"User\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Users\",\r\n },\r\n {\r\n icon: ,\r\n name: \"VideoOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Video\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Voicemail\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Volume1\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Volume2\",\r\n },\r\n {\r\n icon: ,\r\n name: \"VolumeX\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Volume\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Watch\",\r\n },\r\n {\r\n icon: ,\r\n name: \"WifiOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Wifi\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Wind\",\r\n },\r\n {\r\n icon: ,\r\n name: \"XCircle\",\r\n },\r\n {\r\n icon: ,\r\n name: \"XSquare\",\r\n },\r\n {\r\n icon: ,\r\n name: \"X\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Youtube\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ZapOff\",\r\n },\r\n {\r\n icon: ,\r\n name: \"Zap\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ZoomIn\",\r\n },\r\n {\r\n icon: ,\r\n name: \"ZoomOut\",\r\n },\r\n];\r\n\r\ninterface FeatherIconType {\r\n icon: {\r\n icon: JSX.Element;\r\n name: string;\r\n };\r\n}\r\n\r\nconst FeatherIcon = ({ icon }: FeatherIconType) => (\r\n \r\n
\r\n {React.cloneElement(icon.icon, {\r\n className: \"feather align-middle me-2\",\r\n })}\r\n {icon.name}\r\n
\r\n \r\n);\r\n\r\nconst FeatherIcons = () => (\r\n \r\n \r\n \r\n

Feather

\r\n\r\n \r\n \r\n Feather Icons\r\n
\r\n Simply beautiful open source icons\r\n
\r\n
\r\n \r\n \r\n {icons.map((icon, iconKey) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n
\r\n);\r\n\r\nexport default FeatherIcons;\r\n","import {\r\n faAd,\r\n faAddressBook,\r\n faAddressCard,\r\n faAdjust,\r\n faAirFreshener,\r\n faAlignCenter,\r\n faAlignJustify,\r\n faAlignLeft,\r\n faAlignRight,\r\n faAllergies,\r\n faAmbulance,\r\n faAmericanSignLanguageInterpreting,\r\n faAnchor,\r\n faAngleDoubleDown,\r\n faAngleDoubleLeft,\r\n faAngleDoubleRight,\r\n faAngleDoubleUp,\r\n faAngleDown,\r\n faAngleLeft,\r\n faAngleRight,\r\n faAngleUp,\r\n faAngry,\r\n faAnkh,\r\n faAppleAlt,\r\n faArchive,\r\n faArchway,\r\n faArrowAltCircleDown,\r\n faArrowAltCircleLeft,\r\n faArrowAltCircleRight,\r\n faArrowAltCircleUp,\r\n faArrowCircleDown,\r\n faArrowCircleLeft,\r\n faArrowCircleRight,\r\n faArrowCircleUp,\r\n faArrowDown,\r\n faArrowLeft,\r\n faArrowRight,\r\n faArrowUp,\r\n faArrowsAlt,\r\n faArrowsAltH,\r\n faArrowsAltV,\r\n faAssistiveListeningSystems,\r\n faAsterisk,\r\n faAt,\r\n faAtlas,\r\n faAtom,\r\n faAudioDescription,\r\n faAward,\r\n faBaby,\r\n faBabyCarriage,\r\n faBackspace,\r\n faBackward,\r\n faBacon,\r\n faBalanceScale,\r\n faBan,\r\n faBandAid,\r\n faBarcode,\r\n faBars,\r\n faBaseballBall,\r\n faBasketballBall,\r\n faBath,\r\n faBatteryEmpty,\r\n faBatteryFull,\r\n faBatteryHalf,\r\n faBatteryQuarter,\r\n faBatteryThreeQuarters,\r\n faBed,\r\n faBeer,\r\n faBell,\r\n faBellSlash,\r\n faBezierCurve,\r\n faBible,\r\n faBicycle,\r\n faBinoculars,\r\n faBiohazard,\r\n faBirthdayCake,\r\n faBlender,\r\n faBlenderPhone,\r\n faBlind,\r\n faBlog,\r\n faBold,\r\n faBolt,\r\n faBomb,\r\n faBone,\r\n faBong,\r\n faBook,\r\n faBookDead,\r\n faBookMedical,\r\n faBookOpen,\r\n faBookReader,\r\n faBookmark,\r\n faBowlingBall,\r\n faBox,\r\n faBoxOpen,\r\n faBoxes,\r\n faBraille,\r\n faBrain,\r\n faBreadSlice,\r\n faBriefcase,\r\n faBriefcaseMedical,\r\n faBroadcastTower,\r\n faBroom,\r\n faBrush,\r\n faBug,\r\n faBuilding,\r\n faBullhorn,\r\n faBullseye,\r\n faBurn,\r\n faBus,\r\n faBusAlt,\r\n faBusinessTime,\r\n faCalculator,\r\n faCalendar,\r\n faCalendarAlt,\r\n faCalendarCheck,\r\n faCalendarDay,\r\n faCalendarMinus,\r\n faCalendarPlus,\r\n faCalendarTimes,\r\n faCalendarWeek,\r\n faCamera,\r\n faCameraRetro,\r\n faCampground,\r\n faCandyCane,\r\n faCannabis,\r\n faCapsules,\r\n faCar,\r\n faCarAlt,\r\n faCarBattery,\r\n faCarCrash,\r\n faCarSide,\r\n faCaretDown,\r\n faCaretLeft,\r\n faCaretRight,\r\n faCaretSquareDown,\r\n faCaretSquareLeft,\r\n faCaretSquareRight,\r\n faCaretSquareUp,\r\n faCaretUp,\r\n faCarrot,\r\n faCartArrowDown,\r\n faCartPlus,\r\n faCashRegister,\r\n faCat,\r\n faCertificate,\r\n faChair,\r\n faChalkboard,\r\n faChalkboardTeacher,\r\n faChargingStation,\r\n faChartArea,\r\n faChartBar,\r\n faChartLine,\r\n faChartPie,\r\n faCheck,\r\n faCheckCircle,\r\n faCheckDouble,\r\n faCheckSquare,\r\n faCheese,\r\n faChess,\r\n faChessBishop,\r\n faChessBoard,\r\n faChessKing,\r\n faChessKnight,\r\n faChessPawn,\r\n faChessQueen,\r\n faChessRook,\r\n faChevronCircleDown,\r\n faChevronCircleLeft,\r\n faChevronCircleRight,\r\n faChevronCircleUp,\r\n faChevronDown,\r\n faChevronLeft,\r\n faChevronRight,\r\n faChevronUp,\r\n faChild,\r\n faChurch,\r\n faCircle,\r\n faCircleNotch,\r\n faCity,\r\n faClinicMedical,\r\n faClipboard,\r\n faClipboardCheck,\r\n faClipboardList,\r\n faClock,\r\n faClone,\r\n faClosedCaptioning,\r\n faCloud,\r\n faCloudDownloadAlt,\r\n faCloudMeatball,\r\n faCloudMoon,\r\n faCloudMoonRain,\r\n faCloudRain,\r\n faCloudShowersHeavy,\r\n faCloudSun,\r\n faCloudSunRain,\r\n faCloudUploadAlt,\r\n faCocktail,\r\n faCode,\r\n faCodeBranch,\r\n faCoffee,\r\n faCog,\r\n faCogs,\r\n faCoins,\r\n faColumns,\r\n faComment,\r\n faCommentAlt,\r\n faCommentDollar,\r\n faCommentDots,\r\n faCommentMedical,\r\n faCommentSlash,\r\n faComments,\r\n faCommentsDollar,\r\n faCompactDisc,\r\n faCompass,\r\n faCompress,\r\n faCompressArrowsAlt,\r\n faConciergeBell,\r\n faCookie,\r\n faCookieBite,\r\n faCopy,\r\n faCopyright,\r\n faCouch,\r\n faCreditCard,\r\n faCrop,\r\n faCropAlt,\r\n faCross,\r\n faCrosshairs,\r\n faCrow,\r\n faCrown,\r\n faCrutch,\r\n faCube,\r\n faCubes,\r\n faCut,\r\n faDatabase,\r\n faDeaf,\r\n faDemocrat,\r\n faDesktop,\r\n faDharmachakra,\r\n faDiagnoses,\r\n faDice,\r\n faDiceD20,\r\n faDiceD6,\r\n faDiceFive,\r\n faDiceFour,\r\n faDiceOne,\r\n faDiceSix,\r\n faDiceThree,\r\n faDiceTwo,\r\n faDigitalTachograph,\r\n faDirections,\r\n faDivide,\r\n faDizzy,\r\n faDna,\r\n faDog,\r\n faDollarSign,\r\n faDolly,\r\n faDollyFlatbed,\r\n faDonate,\r\n faDoorClosed,\r\n faDoorOpen,\r\n faDotCircle,\r\n faDove,\r\n faDownload,\r\n faDraftingCompass,\r\n faDragon,\r\n faDrawPolygon,\r\n faDrum,\r\n faDrumSteelpan,\r\n faDrumstickBite,\r\n faDumbbell,\r\n faDumpster,\r\n faDumpsterFire,\r\n faDungeon,\r\n faEdit,\r\n faEgg,\r\n faEject,\r\n faEllipsisH,\r\n faEllipsisV,\r\n faEnvelope,\r\n faEnvelopeOpen,\r\n faEnvelopeOpenText,\r\n faEnvelopeSquare,\r\n faEquals,\r\n faEraser,\r\n faEthernet,\r\n faEuroSign,\r\n faExchangeAlt,\r\n faExclamation,\r\n faExclamationCircle,\r\n faExclamationTriangle,\r\n faExpand,\r\n faExpandArrowsAlt,\r\n faExternalLinkAlt,\r\n faExternalLinkSquareAlt,\r\n faEye,\r\n faEyeDropper,\r\n faEyeSlash,\r\n faFastBackward,\r\n faFastForward,\r\n faFax,\r\n faFeather,\r\n faFeatherAlt,\r\n faFemale,\r\n faFighterJet,\r\n faFile,\r\n faFileAlt,\r\n faFileArchive,\r\n faFileAudio,\r\n faFileCode,\r\n faFileContract,\r\n faFileCsv,\r\n faFileDownload,\r\n faFileExcel,\r\n faFileExport,\r\n faFileImage,\r\n faFileImport,\r\n faFileInvoice,\r\n faFileInvoiceDollar,\r\n faFileMedical,\r\n faFileMedicalAlt,\r\n faFilePdf,\r\n faFilePowerpoint,\r\n faFilePrescription,\r\n faFileSignature,\r\n faFileUpload,\r\n faFileVideo,\r\n faFileWord,\r\n faFill,\r\n faFillDrip,\r\n faFilm,\r\n faFilter,\r\n faFingerprint,\r\n faFire,\r\n faFireAlt,\r\n faFireExtinguisher,\r\n faFirstAid,\r\n faFish,\r\n faFistRaised,\r\n faFlag,\r\n faFlagCheckered,\r\n faFlagUsa,\r\n faFlask,\r\n faFlushed,\r\n faFolder,\r\n faFolderMinus,\r\n faFolderOpen,\r\n faFolderPlus,\r\n faFont,\r\n faFontAwesomeLogoFull,\r\n faFootballBall,\r\n faForward,\r\n faFrog,\r\n faFrown,\r\n faFrownOpen,\r\n faFunnelDollar,\r\n faFutbol,\r\n faGamepad,\r\n faGasPump,\r\n faGavel,\r\n faGem,\r\n faGenderless,\r\n faGhost,\r\n faGift,\r\n faGifts,\r\n faGlassCheers,\r\n faGlassMartini,\r\n faGlassMartiniAlt,\r\n faGlassWhiskey,\r\n faGlasses,\r\n faGlobe,\r\n faGlobeAfrica,\r\n faGlobeAmericas,\r\n faGlobeAsia,\r\n faGlobeEurope,\r\n faGolfBall,\r\n faGopuram,\r\n faGraduationCap,\r\n faGreaterThan,\r\n faGreaterThanEqual,\r\n faGrimace,\r\n faGrin,\r\n faGrinAlt,\r\n faGrinBeam,\r\n faGrinBeamSweat,\r\n faGrinHearts,\r\n faGrinSquint,\r\n faGrinSquintTears,\r\n faGrinStars,\r\n faGrinTears,\r\n faGrinTongue,\r\n faGrinTongueSquint,\r\n faGrinTongueWink,\r\n faGrinWink,\r\n faGripHorizontal,\r\n faGripLines,\r\n faGripLinesVertical,\r\n faGripVertical,\r\n faGuitar,\r\n faHSquare,\r\n faHamburger,\r\n faHammer,\r\n faHamsa,\r\n faHandHolding,\r\n faHandHoldingHeart,\r\n faHandHoldingUsd,\r\n faHandLizard,\r\n faHandMiddleFinger,\r\n faHandPaper,\r\n faHandPeace,\r\n faHandPointDown,\r\n faHandPointLeft,\r\n faHandPointRight,\r\n faHandPointUp,\r\n faHandPointer,\r\n faHandRock,\r\n faHandScissors,\r\n faHandSpock,\r\n faHands,\r\n faHandsHelping,\r\n faHandshake,\r\n faHanukiah,\r\n faHardHat,\r\n faHashtag,\r\n faHatWizard,\r\n faHdd,\r\n faHeading,\r\n faHeadphones,\r\n faHeadphonesAlt,\r\n faHeadset,\r\n faHeart,\r\n faHeartBroken,\r\n faHeartbeat,\r\n faHelicopter,\r\n faHighlighter,\r\n faHiking,\r\n faHippo,\r\n faHistory,\r\n faHockeyPuck,\r\n faHollyBerry,\r\n faHome,\r\n faHorse,\r\n faHorseHead,\r\n faHospital,\r\n faHospitalAlt,\r\n faHospitalSymbol,\r\n faHotTub,\r\n faHotdog,\r\n faHotel,\r\n faHourglass,\r\n faHourglassEnd,\r\n faHourglassHalf,\r\n faHourglassStart,\r\n faHouseDamage,\r\n faHryvnia,\r\n faICursor,\r\n faIceCream,\r\n faIcicles,\r\n faIdBadge,\r\n faIdCard,\r\n faIdCardAlt,\r\n faIgloo,\r\n faImage,\r\n faImages,\r\n faInbox,\r\n faIndent,\r\n faIndustry,\r\n faInfinity,\r\n faInfo,\r\n faInfoCircle,\r\n faItalic,\r\n faJedi,\r\n faJoint,\r\n faJournalWhills,\r\n faKaaba,\r\n faKey,\r\n faKeyboard,\r\n faKhanda,\r\n faKiss,\r\n faKissBeam,\r\n faKissWinkHeart,\r\n faKiwiBird,\r\n faLandmark,\r\n faLanguage,\r\n faLaptop,\r\n faLaptopCode,\r\n faLaptopMedical,\r\n faLaugh,\r\n faLaughBeam,\r\n faLaughSquint,\r\n faLaughWink,\r\n faLayerGroup,\r\n faLeaf,\r\n faLemon,\r\n faLessThan,\r\n faLessThanEqual,\r\n faLevelDownAlt,\r\n faLevelUpAlt,\r\n faLifeRing,\r\n faLightbulb,\r\n faLink,\r\n faLiraSign,\r\n faList,\r\n faListAlt,\r\n faListOl,\r\n faListUl,\r\n faLocationArrow,\r\n faLock,\r\n faLockOpen,\r\n faLongArrowAltDown,\r\n faLongArrowAltLeft,\r\n faLongArrowAltRight,\r\n faLongArrowAltUp,\r\n faLowVision,\r\n faLuggageCart,\r\n faMagic,\r\n faMagnet,\r\n faMailBulk,\r\n faMale,\r\n faMap,\r\n faMapMarked,\r\n faMapMarkedAlt,\r\n faMapMarker,\r\n faMapMarkerAlt,\r\n faMapPin,\r\n faMapSigns,\r\n faMarker,\r\n faMars,\r\n faMarsDouble,\r\n faMarsStroke,\r\n faMarsStrokeH,\r\n faMarsStrokeV,\r\n faMask,\r\n faMedal,\r\n faMedkit,\r\n faMeh,\r\n faMehBlank,\r\n faMehRollingEyes,\r\n faMemory,\r\n faMenorah,\r\n faMercury,\r\n faMeteor,\r\n faMicrochip,\r\n faMicrophone,\r\n faMicrophoneAlt,\r\n faMicrophoneAltSlash,\r\n faMicrophoneSlash,\r\n faMicroscope,\r\n faMinus,\r\n faMinusCircle,\r\n faMinusSquare,\r\n faMitten,\r\n faMobile,\r\n faMobileAlt,\r\n faMoneyBill,\r\n faMoneyBillAlt,\r\n faMoneyBillWave,\r\n faMoneyBillWaveAlt,\r\n faMoneyCheck,\r\n faMoneyCheckAlt,\r\n faMonument,\r\n faMoon,\r\n faMortarPestle,\r\n faMosque,\r\n faMotorcycle,\r\n faMountain,\r\n faMousePointer,\r\n faMugHot,\r\n faMusic,\r\n faNetworkWired,\r\n faNeuter,\r\n faNewspaper,\r\n faNotEqual,\r\n faNotesMedical,\r\n faObjectGroup,\r\n faObjectUngroup,\r\n faOilCan,\r\n faOm,\r\n faOtter,\r\n faOutdent,\r\n faPager,\r\n faPaintBrush,\r\n faPaintRoller,\r\n faPalette,\r\n faPallet,\r\n faPaperPlane,\r\n faPaperclip,\r\n faParachuteBox,\r\n faParagraph,\r\n faParking,\r\n faPassport,\r\n faPastafarianism,\r\n faPaste,\r\n faPause,\r\n faPauseCircle,\r\n faPaw,\r\n faPeace,\r\n faPen,\r\n faPenAlt,\r\n faPenFancy,\r\n faPenNib,\r\n faPenSquare,\r\n faPencilAlt,\r\n faPencilRuler,\r\n faPeopleCarry,\r\n faPepperHot,\r\n faPercent,\r\n faPercentage,\r\n faPersonBooth,\r\n faPhone,\r\n faPhoneSlash,\r\n faPhoneSquare,\r\n faPhoneVolume,\r\n faPiggyBank,\r\n faPills,\r\n faPizzaSlice,\r\n faPlaceOfWorship,\r\n faPlane,\r\n faPlaneArrival,\r\n faPlaneDeparture,\r\n faPlay,\r\n faPlayCircle,\r\n faPlug,\r\n faPlus,\r\n faPlusCircle,\r\n faPlusSquare,\r\n faPodcast,\r\n faPoll,\r\n faPollH,\r\n faPoo,\r\n faPooStorm,\r\n faPoop,\r\n faPortrait,\r\n faPoundSign,\r\n faPowerOff,\r\n faPray,\r\n faPrayingHands,\r\n faPrescription,\r\n faPrescriptionBottle,\r\n faPrescriptionBottleAlt,\r\n faPrint,\r\n faProcedures,\r\n faProjectDiagram,\r\n faPuzzlePiece,\r\n faQrcode,\r\n faQuestion,\r\n faQuestionCircle,\r\n faQuidditch,\r\n faQuoteLeft,\r\n faQuoteRight,\r\n faQuran,\r\n faRadiation,\r\n faRadiationAlt,\r\n faRainbow,\r\n faRandom,\r\n faReceipt,\r\n faRecycle,\r\n faRedo,\r\n faRedoAlt,\r\n faRegistered,\r\n faReply,\r\n faReplyAll,\r\n faRepublican,\r\n faRestroom,\r\n faRetweet,\r\n faRibbon,\r\n faRing,\r\n faRoad,\r\n faRobot,\r\n faRocket,\r\n faRoute,\r\n faRss,\r\n faRssSquare,\r\n faRubleSign,\r\n faRuler,\r\n faRulerCombined,\r\n faRulerHorizontal,\r\n faRulerVertical,\r\n faRunning,\r\n faRupeeSign,\r\n faSadCry,\r\n faSadTear,\r\n faSatellite,\r\n faSatelliteDish,\r\n faSave,\r\n faSchool,\r\n faScrewdriver,\r\n faScroll,\r\n faSdCard,\r\n faSearch,\r\n faSearchDollar,\r\n faSearchLocation,\r\n faSearchMinus,\r\n faSearchPlus,\r\n faSeedling,\r\n faServer,\r\n faShapes,\r\n faShare,\r\n faShareAlt,\r\n faShareAltSquare,\r\n faShareSquare,\r\n faShekelSign,\r\n faShieldAlt,\r\n faShip,\r\n faShippingFast,\r\n faShoePrints,\r\n faShoppingBag,\r\n faShoppingBasket,\r\n faShoppingCart,\r\n faShower,\r\n faShuttleVan,\r\n faSign,\r\n faSignInAlt,\r\n faSignLanguage,\r\n faSignOutAlt,\r\n faSignal,\r\n faSignature,\r\n faSimCard,\r\n faSitemap,\r\n faSkating,\r\n faSkiing,\r\n faSkiingNordic,\r\n faSkull,\r\n faSkullCrossbones,\r\n faSlash,\r\n faSleigh,\r\n faSlidersH,\r\n faSmile,\r\n faSmileBeam,\r\n faSmileWink,\r\n faSmog,\r\n faSmoking,\r\n faSmokingBan,\r\n faSms,\r\n faSnowboarding,\r\n faSnowflake,\r\n faSnowman,\r\n faSnowplow,\r\n faSocks,\r\n faSolarPanel,\r\n faSort,\r\n faSortAlphaDown,\r\n faSortAlphaUp,\r\n faSortAmountDown,\r\n faSortAmountUp,\r\n faSortDown,\r\n faSortNumericDown,\r\n faSortNumericUp,\r\n faSortUp,\r\n faSpa,\r\n faSpaceShuttle,\r\n faSpider,\r\n faSpinner,\r\n faSplotch,\r\n faSprayCan,\r\n faSquare,\r\n faSquareFull,\r\n faSquareRootAlt,\r\n faStamp,\r\n faStar,\r\n faStarAndCrescent,\r\n faStarHalf,\r\n faStarHalfAlt,\r\n faStarOfDavid,\r\n faStarOfLife,\r\n faStepBackward,\r\n faStepForward,\r\n faStethoscope,\r\n faStickyNote,\r\n faStop,\r\n faStopCircle,\r\n faStopwatch,\r\n faStore,\r\n faStoreAlt,\r\n faStream,\r\n faStreetView,\r\n faStrikethrough,\r\n faStroopwafel,\r\n faSubscript,\r\n faSubway,\r\n faSuitcase,\r\n faSuitcaseRolling,\r\n faSun,\r\n faSuperscript,\r\n faSurprise,\r\n faSwatchbook,\r\n faSwimmer,\r\n faSwimmingPool,\r\n faSynagogue,\r\n faSync,\r\n faSyncAlt,\r\n faSyringe,\r\n faTable,\r\n faTableTennis,\r\n faTablet,\r\n faTabletAlt,\r\n faTablets,\r\n faTachometerAlt,\r\n faTag,\r\n faTags,\r\n faTape,\r\n faTasks,\r\n faTaxi,\r\n faTeeth,\r\n faTeethOpen,\r\n faTemperatureHigh,\r\n faTemperatureLow,\r\n faTenge,\r\n faTerminal,\r\n faTextHeight,\r\n faTextWidth,\r\n faTh,\r\n faThLarge,\r\n faThList,\r\n faTheaterMasks,\r\n faThermometer,\r\n faThermometerEmpty,\r\n faThermometerFull,\r\n faThermometerHalf,\r\n faThermometerQuarter,\r\n faThermometerThreeQuarters,\r\n faThumbsDown,\r\n faThumbsUp,\r\n faThumbtack,\r\n faTicketAlt,\r\n faTimes,\r\n faTimesCircle,\r\n faTint,\r\n faTintSlash,\r\n faTired,\r\n faToggleOff,\r\n faToggleOn,\r\n faToilet,\r\n faToiletPaper,\r\n faToolbox,\r\n faTools,\r\n faTooth,\r\n faTorah,\r\n faToriiGate,\r\n faTractor,\r\n faTrademark,\r\n faTrafficLight,\r\n faTrain,\r\n faTram,\r\n faTransgender,\r\n faTransgenderAlt,\r\n faTrash,\r\n faTrashAlt,\r\n faTrashRestore,\r\n faTrashRestoreAlt,\r\n faTree,\r\n faTrophy,\r\n faTruck,\r\n faTruckLoading,\r\n faTruckMonster,\r\n faTruckMoving,\r\n faTruckPickup,\r\n faTshirt,\r\n faTty,\r\n faTv,\r\n faUmbrella,\r\n faUmbrellaBeach,\r\n faUnderline,\r\n faUndo,\r\n faUndoAlt,\r\n faUniversalAccess,\r\n faUniversity,\r\n faUnlink,\r\n faUnlock,\r\n faUnlockAlt,\r\n faUpload,\r\n faUser,\r\n faUserAlt,\r\n faUserAltSlash,\r\n faUserAstronaut,\r\n faUserCheck,\r\n faUserCircle,\r\n faUserClock,\r\n faUserCog,\r\n faUserEdit,\r\n faUserFriends,\r\n faUserGraduate,\r\n faUserInjured,\r\n faUserLock,\r\n faUserMd,\r\n faUserMinus,\r\n faUserNinja,\r\n faUserNurse,\r\n faUserPlus,\r\n faUserSecret,\r\n faUserShield,\r\n faUserSlash,\r\n faUserTag,\r\n faUserTie,\r\n faUserTimes,\r\n faUsers,\r\n faUsersCog,\r\n faUtensilSpoon,\r\n faUtensils,\r\n faVectorSquare,\r\n faVenus,\r\n faVenusDouble,\r\n faVenusMars,\r\n faVial,\r\n faVials,\r\n faVideo,\r\n faVideoSlash,\r\n faVihara,\r\n faVolleyballBall,\r\n faVolumeDown,\r\n faVolumeMute,\r\n faVolumeOff,\r\n faVolumeUp,\r\n faVoteYea,\r\n faVrCardboard,\r\n faWalking,\r\n faWallet,\r\n faWarehouse,\r\n faWater,\r\n faWeight,\r\n faWeightHanging,\r\n faWheelchair,\r\n faWifi,\r\n faWind,\r\n faWindowClose,\r\n faWindowMaximize,\r\n faWindowMinimize,\r\n faWindowRestore,\r\n faWineBottle,\r\n faWineGlass,\r\n faWineGlassAlt,\r\n faWonSign,\r\n faWrench,\r\n faXRay,\r\n faYenSign,\r\n faYinYang,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst icons = [\r\n {\r\n icon: faAd,\r\n name: \"faAd\",\r\n },\r\n {\r\n icon: faAddressBook,\r\n name: \"faAddressBook\",\r\n },\r\n {\r\n icon: faAddressCard,\r\n name: \"faAddressCard\",\r\n },\r\n {\r\n icon: faAdjust,\r\n name: \"faAdjust\",\r\n },\r\n {\r\n icon: faAirFreshener,\r\n name: \"faAirFreshener\",\r\n },\r\n {\r\n icon: faAlignCenter,\r\n name: \"faAlignCenter\",\r\n },\r\n {\r\n icon: faAlignJustify,\r\n name: \"faAlignJustify\",\r\n },\r\n {\r\n icon: faAlignLeft,\r\n name: \"faAlignLeft\",\r\n },\r\n {\r\n icon: faAlignRight,\r\n name: \"faAlignRight\",\r\n },\r\n {\r\n icon: faAllergies,\r\n name: \"faAllergies\",\r\n },\r\n {\r\n icon: faAmbulance,\r\n name: \"faAmbulance\",\r\n },\r\n {\r\n icon: faAmericanSignLanguageInterpreting,\r\n name: \"faAmericanSignLanguageInterpreting\",\r\n },\r\n {\r\n icon: faAnchor,\r\n name: \"faAnchor\",\r\n },\r\n {\r\n icon: faAngleDoubleDown,\r\n name: \"faAngleDoubleDown\",\r\n },\r\n {\r\n icon: faAngleDoubleLeft,\r\n name: \"faAngleDoubleLeft\",\r\n },\r\n {\r\n icon: faAngleDoubleRight,\r\n name: \"faAngleDoubleRight\",\r\n },\r\n {\r\n icon: faAngleDoubleUp,\r\n name: \"faAngleDoubleUp\",\r\n },\r\n {\r\n icon: faAngleDown,\r\n name: \"faAngleDown\",\r\n },\r\n {\r\n icon: faAngleLeft,\r\n name: \"faAngleLeft\",\r\n },\r\n {\r\n icon: faAngleRight,\r\n name: \"faAngleRight\",\r\n },\r\n {\r\n icon: faAngleUp,\r\n name: \"faAngleUp\",\r\n },\r\n {\r\n icon: faAngry,\r\n name: \"faAngry\",\r\n },\r\n {\r\n icon: faAnkh,\r\n name: \"faAnkh\",\r\n },\r\n {\r\n icon: faAppleAlt,\r\n name: \"faAppleAlt\",\r\n },\r\n {\r\n icon: faArchive,\r\n name: \"faArchive\",\r\n },\r\n {\r\n icon: faArchway,\r\n name: \"faArchway\",\r\n },\r\n {\r\n icon: faArrowAltCircleDown,\r\n name: \"faArrowAltCircleDown\",\r\n },\r\n {\r\n icon: faArrowAltCircleLeft,\r\n name: \"faArrowAltCircleLeft\",\r\n },\r\n {\r\n icon: faArrowAltCircleRight,\r\n name: \"faArrowAltCircleRight\",\r\n },\r\n {\r\n icon: faArrowAltCircleUp,\r\n name: \"faArrowAltCircleUp\",\r\n },\r\n {\r\n icon: faArrowCircleDown,\r\n name: \"faArrowCircleDown\",\r\n },\r\n {\r\n icon: faArrowCircleLeft,\r\n name: \"faArrowCircleLeft\",\r\n },\r\n {\r\n icon: faArrowCircleRight,\r\n name: \"faArrowCircleRight\",\r\n },\r\n {\r\n icon: faArrowCircleUp,\r\n name: \"faArrowCircleUp\",\r\n },\r\n {\r\n icon: faArrowDown,\r\n name: \"faArrowDown\",\r\n },\r\n {\r\n icon: faArrowLeft,\r\n name: \"faArrowLeft\",\r\n },\r\n {\r\n icon: faArrowRight,\r\n name: \"faArrowRight\",\r\n },\r\n {\r\n icon: faArrowUp,\r\n name: \"faArrowUp\",\r\n },\r\n {\r\n icon: faArrowsAlt,\r\n name: \"faArrowsAlt\",\r\n },\r\n {\r\n icon: faArrowsAltH,\r\n name: \"faArrowsAltH\",\r\n },\r\n {\r\n icon: faArrowsAltV,\r\n name: \"faArrowsAltV\",\r\n },\r\n {\r\n icon: faAssistiveListeningSystems,\r\n name: \"faAssistiveListeningSystems\",\r\n },\r\n {\r\n icon: faAsterisk,\r\n name: \"faAsterisk\",\r\n },\r\n {\r\n icon: faAt,\r\n name: \"faAt\",\r\n },\r\n {\r\n icon: faAtlas,\r\n name: \"faAtlas\",\r\n },\r\n {\r\n icon: faAtom,\r\n name: \"faAtom\",\r\n },\r\n {\r\n icon: faAudioDescription,\r\n name: \"faAudioDescription\",\r\n },\r\n {\r\n icon: faAward,\r\n name: \"faAward\",\r\n },\r\n {\r\n icon: faBaby,\r\n name: \"faBaby\",\r\n },\r\n {\r\n icon: faBabyCarriage,\r\n name: \"faBabyCarriage\",\r\n },\r\n {\r\n icon: faBackspace,\r\n name: \"faBackspace\",\r\n },\r\n {\r\n icon: faBackward,\r\n name: \"faBackward\",\r\n },\r\n {\r\n icon: faBacon,\r\n name: \"faBacon\",\r\n },\r\n {\r\n icon: faBalanceScale,\r\n name: \"faBalanceScale\",\r\n },\r\n {\r\n icon: faBan,\r\n name: \"faBan\",\r\n },\r\n {\r\n icon: faBandAid,\r\n name: \"faBandAid\",\r\n },\r\n {\r\n icon: faBarcode,\r\n name: \"faBarcode\",\r\n },\r\n {\r\n icon: faBars,\r\n name: \"faBars\",\r\n },\r\n {\r\n icon: faBaseballBall,\r\n name: \"faBaseballBall\",\r\n },\r\n {\r\n icon: faBasketballBall,\r\n name: \"faBasketballBall\",\r\n },\r\n {\r\n icon: faBath,\r\n name: \"faBath\",\r\n },\r\n {\r\n icon: faBatteryEmpty,\r\n name: \"faBatteryEmpty\",\r\n },\r\n {\r\n icon: faBatteryFull,\r\n name: \"faBatteryFull\",\r\n },\r\n {\r\n icon: faBatteryHalf,\r\n name: \"faBatteryHalf\",\r\n },\r\n {\r\n icon: faBatteryQuarter,\r\n name: \"faBatteryQuarter\",\r\n },\r\n {\r\n icon: faBatteryThreeQuarters,\r\n name: \"faBatteryThreeQuarters\",\r\n },\r\n {\r\n icon: faBed,\r\n name: \"faBed\",\r\n },\r\n {\r\n icon: faBeer,\r\n name: \"faBeer\",\r\n },\r\n {\r\n icon: faBell,\r\n name: \"faBell\",\r\n },\r\n {\r\n icon: faBellSlash,\r\n name: \"faBellSlash\",\r\n },\r\n {\r\n icon: faBezierCurve,\r\n name: \"faBezierCurve\",\r\n },\r\n {\r\n icon: faBible,\r\n name: \"faBible\",\r\n },\r\n {\r\n icon: faBicycle,\r\n name: \"faBicycle\",\r\n },\r\n {\r\n icon: faBinoculars,\r\n name: \"faBinoculars\",\r\n },\r\n {\r\n icon: faBiohazard,\r\n name: \"faBiohazard\",\r\n },\r\n {\r\n icon: faBirthdayCake,\r\n name: \"faBirthdayCake\",\r\n },\r\n {\r\n icon: faBlender,\r\n name: \"faBlender\",\r\n },\r\n {\r\n icon: faBlenderPhone,\r\n name: \"faBlenderPhone\",\r\n },\r\n {\r\n icon: faBlind,\r\n name: \"faBlind\",\r\n },\r\n {\r\n icon: faBlog,\r\n name: \"faBlog\",\r\n },\r\n {\r\n icon: faBold,\r\n name: \"faBold\",\r\n },\r\n {\r\n icon: faBolt,\r\n name: \"faBolt\",\r\n },\r\n {\r\n icon: faBomb,\r\n name: \"faBomb\",\r\n },\r\n {\r\n icon: faBone,\r\n name: \"faBone\",\r\n },\r\n {\r\n icon: faBong,\r\n name: \"faBong\",\r\n },\r\n {\r\n icon: faBook,\r\n name: \"faBook\",\r\n },\r\n {\r\n icon: faBookDead,\r\n name: \"faBookDead\",\r\n },\r\n {\r\n icon: faBookMedical,\r\n name: \"faBookMedical\",\r\n },\r\n {\r\n icon: faBookOpen,\r\n name: \"faBookOpen\",\r\n },\r\n {\r\n icon: faBookReader,\r\n name: \"faBookReader\",\r\n },\r\n {\r\n icon: faBookmark,\r\n name: \"faBookmark\",\r\n },\r\n {\r\n icon: faBowlingBall,\r\n name: \"faBowlingBall\",\r\n },\r\n {\r\n icon: faBox,\r\n name: \"faBox\",\r\n },\r\n {\r\n icon: faBoxOpen,\r\n name: \"faBoxOpen\",\r\n },\r\n {\r\n icon: faBoxes,\r\n name: \"faBoxes\",\r\n },\r\n {\r\n icon: faBraille,\r\n name: \"faBraille\",\r\n },\r\n {\r\n icon: faBrain,\r\n name: \"faBrain\",\r\n },\r\n {\r\n icon: faBreadSlice,\r\n name: \"faBreadSlice\",\r\n },\r\n {\r\n icon: faBriefcase,\r\n name: \"faBriefcase\",\r\n },\r\n {\r\n icon: faBriefcaseMedical,\r\n name: \"faBriefcaseMedical\",\r\n },\r\n {\r\n icon: faBroadcastTower,\r\n name: \"faBroadcastTower\",\r\n },\r\n {\r\n icon: faBroom,\r\n name: \"faBroom\",\r\n },\r\n {\r\n icon: faBrush,\r\n name: \"faBrush\",\r\n },\r\n {\r\n icon: faBug,\r\n name: \"faBug\",\r\n },\r\n {\r\n icon: faBuilding,\r\n name: \"faBuilding\",\r\n },\r\n {\r\n icon: faBullhorn,\r\n name: \"faBullhorn\",\r\n },\r\n {\r\n icon: faBullseye,\r\n name: \"faBullseye\",\r\n },\r\n {\r\n icon: faBurn,\r\n name: \"faBurn\",\r\n },\r\n {\r\n icon: faBus,\r\n name: \"faBus\",\r\n },\r\n {\r\n icon: faBusAlt,\r\n name: \"faBusAlt\",\r\n },\r\n {\r\n icon: faBusinessTime,\r\n name: \"faBusinessTime\",\r\n },\r\n {\r\n icon: faCalculator,\r\n name: \"faCalculator\",\r\n },\r\n {\r\n icon: faCalendar,\r\n name: \"faCalendar\",\r\n },\r\n {\r\n icon: faCalendarAlt,\r\n name: \"faCalendarAlt\",\r\n },\r\n {\r\n icon: faCalendarCheck,\r\n name: \"faCalendarCheck\",\r\n },\r\n {\r\n icon: faCalendarDay,\r\n name: \"faCalendarDay\",\r\n },\r\n {\r\n icon: faCalendarMinus,\r\n name: \"faCalendarMinus\",\r\n },\r\n {\r\n icon: faCalendarPlus,\r\n name: \"faCalendarPlus\",\r\n },\r\n {\r\n icon: faCalendarTimes,\r\n name: \"faCalendarTimes\",\r\n },\r\n {\r\n icon: faCalendarWeek,\r\n name: \"faCalendarWeek\",\r\n },\r\n {\r\n icon: faCamera,\r\n name: \"faCamera\",\r\n },\r\n {\r\n icon: faCameraRetro,\r\n name: \"faCameraRetro\",\r\n },\r\n {\r\n icon: faCampground,\r\n name: \"faCampground\",\r\n },\r\n {\r\n icon: faCandyCane,\r\n name: \"faCandyCane\",\r\n },\r\n {\r\n icon: faCannabis,\r\n name: \"faCannabis\",\r\n },\r\n {\r\n icon: faCapsules,\r\n name: \"faCapsules\",\r\n },\r\n {\r\n icon: faCar,\r\n name: \"faCar\",\r\n },\r\n {\r\n icon: faCarAlt,\r\n name: \"faCarAlt\",\r\n },\r\n {\r\n icon: faCarBattery,\r\n name: \"faCarBattery\",\r\n },\r\n {\r\n icon: faCarCrash,\r\n name: \"faCarCrash\",\r\n },\r\n {\r\n icon: faCarSide,\r\n name: \"faCarSide\",\r\n },\r\n {\r\n icon: faCaretDown,\r\n name: \"faCaretDown\",\r\n },\r\n {\r\n icon: faCaretLeft,\r\n name: \"faCaretLeft\",\r\n },\r\n {\r\n icon: faCaretRight,\r\n name: \"faCaretRight\",\r\n },\r\n {\r\n icon: faCaretSquareDown,\r\n name: \"faCaretSquareDown\",\r\n },\r\n {\r\n icon: faCaretSquareLeft,\r\n name: \"faCaretSquareLeft\",\r\n },\r\n {\r\n icon: faCaretSquareRight,\r\n name: \"faCaretSquareRight\",\r\n },\r\n {\r\n icon: faCaretSquareUp,\r\n name: \"faCaretSquareUp\",\r\n },\r\n {\r\n icon: faCaretUp,\r\n name: \"faCaretUp\",\r\n },\r\n {\r\n icon: faCarrot,\r\n name: \"faCarrot\",\r\n },\r\n {\r\n icon: faCartArrowDown,\r\n name: \"faCartArrowDown\",\r\n },\r\n {\r\n icon: faCartPlus,\r\n name: \"faCartPlus\",\r\n },\r\n {\r\n icon: faCashRegister,\r\n name: \"faCashRegister\",\r\n },\r\n {\r\n icon: faCat,\r\n name: \"faCat\",\r\n },\r\n {\r\n icon: faCertificate,\r\n name: \"faCertificate\",\r\n },\r\n {\r\n icon: faChair,\r\n name: \"faChair\",\r\n },\r\n {\r\n icon: faChalkboard,\r\n name: \"faChalkboard\",\r\n },\r\n {\r\n icon: faChalkboardTeacher,\r\n name: \"faChalkboardTeacher\",\r\n },\r\n {\r\n icon: faChargingStation,\r\n name: \"faChargingStation\",\r\n },\r\n {\r\n icon: faChartArea,\r\n name: \"faChartArea\",\r\n },\r\n {\r\n icon: faChartBar,\r\n name: \"faChartBar\",\r\n },\r\n {\r\n icon: faChartLine,\r\n name: \"faChartLine\",\r\n },\r\n {\r\n icon: faChartPie,\r\n name: \"faChartPie\",\r\n },\r\n {\r\n icon: faCheck,\r\n name: \"faCheck\",\r\n },\r\n {\r\n icon: faCheckCircle,\r\n name: \"faCheckCircle\",\r\n },\r\n {\r\n icon: faCheckDouble,\r\n name: \"faCheckDouble\",\r\n },\r\n {\r\n icon: faCheckSquare,\r\n name: \"faCheckSquare\",\r\n },\r\n {\r\n icon: faCheese,\r\n name: \"faCheese\",\r\n },\r\n {\r\n icon: faChess,\r\n name: \"faChess\",\r\n },\r\n {\r\n icon: faChessBishop,\r\n name: \"faChessBishop\",\r\n },\r\n {\r\n icon: faChessBoard,\r\n name: \"faChessBoard\",\r\n },\r\n {\r\n icon: faChessKing,\r\n name: \"faChessKing\",\r\n },\r\n {\r\n icon: faChessKnight,\r\n name: \"faChessKnight\",\r\n },\r\n {\r\n icon: faChessPawn,\r\n name: \"faChessPawn\",\r\n },\r\n {\r\n icon: faChessQueen,\r\n name: \"faChessQueen\",\r\n },\r\n {\r\n icon: faChessRook,\r\n name: \"faChessRook\",\r\n },\r\n {\r\n icon: faChevronCircleDown,\r\n name: \"faChevronCircleDown\",\r\n },\r\n {\r\n icon: faChevronCircleLeft,\r\n name: \"faChevronCircleLeft\",\r\n },\r\n {\r\n icon: faChevronCircleRight,\r\n name: \"faChevronCircleRight\",\r\n },\r\n {\r\n icon: faChevronCircleUp,\r\n name: \"faChevronCircleUp\",\r\n },\r\n {\r\n icon: faChevronDown,\r\n name: \"faChevronDown\",\r\n },\r\n {\r\n icon: faChevronLeft,\r\n name: \"faChevronLeft\",\r\n },\r\n {\r\n icon: faChevronRight,\r\n name: \"faChevronRight\",\r\n },\r\n {\r\n icon: faChevronUp,\r\n name: \"faChevronUp\",\r\n },\r\n {\r\n icon: faChild,\r\n name: \"faChild\",\r\n },\r\n {\r\n icon: faChurch,\r\n name: \"faChurch\",\r\n },\r\n {\r\n icon: faCircle,\r\n name: \"faCircle\",\r\n },\r\n {\r\n icon: faCircleNotch,\r\n name: \"faCircleNotch\",\r\n },\r\n {\r\n icon: faCity,\r\n name: \"faCity\",\r\n },\r\n {\r\n icon: faClinicMedical,\r\n name: \"faClinicMedical\",\r\n },\r\n {\r\n icon: faClipboard,\r\n name: \"faClipboard\",\r\n },\r\n {\r\n icon: faClipboardCheck,\r\n name: \"faClipboardCheck\",\r\n },\r\n {\r\n icon: faClipboardList,\r\n name: \"faClipboardList\",\r\n },\r\n {\r\n icon: faClock,\r\n name: \"faClock\",\r\n },\r\n {\r\n icon: faClone,\r\n name: \"faClone\",\r\n },\r\n {\r\n icon: faClosedCaptioning,\r\n name: \"faClosedCaptioning\",\r\n },\r\n {\r\n icon: faCloud,\r\n name: \"faCloud\",\r\n },\r\n {\r\n icon: faCloudDownloadAlt,\r\n name: \"faCloudDownloadAlt\",\r\n },\r\n {\r\n icon: faCloudMeatball,\r\n name: \"faCloudMeatball\",\r\n },\r\n {\r\n icon: faCloudMoon,\r\n name: \"faCloudMoon\",\r\n },\r\n {\r\n icon: faCloudMoonRain,\r\n name: \"faCloudMoonRain\",\r\n },\r\n {\r\n icon: faCloudRain,\r\n name: \"faCloudRain\",\r\n },\r\n {\r\n icon: faCloudShowersHeavy,\r\n name: \"faCloudShowersHeavy\",\r\n },\r\n {\r\n icon: faCloudSun,\r\n name: \"faCloudSun\",\r\n },\r\n {\r\n icon: faCloudSunRain,\r\n name: \"faCloudSunRain\",\r\n },\r\n {\r\n icon: faCloudUploadAlt,\r\n name: \"faCloudUploadAlt\",\r\n },\r\n {\r\n icon: faCocktail,\r\n name: \"faCocktail\",\r\n },\r\n {\r\n icon: faCode,\r\n name: \"faCode\",\r\n },\r\n {\r\n icon: faCodeBranch,\r\n name: \"faCodeBranch\",\r\n },\r\n {\r\n icon: faCoffee,\r\n name: \"faCoffee\",\r\n },\r\n {\r\n icon: faCog,\r\n name: \"faCog\",\r\n },\r\n {\r\n icon: faCogs,\r\n name: \"faCogs\",\r\n },\r\n {\r\n icon: faCoins,\r\n name: \"faCoins\",\r\n },\r\n {\r\n icon: faColumns,\r\n name: \"faColumns\",\r\n },\r\n {\r\n icon: faComment,\r\n name: \"faComment\",\r\n },\r\n {\r\n icon: faCommentAlt,\r\n name: \"faCommentAlt\",\r\n },\r\n {\r\n icon: faCommentDollar,\r\n name: \"faCommentDollar\",\r\n },\r\n {\r\n icon: faCommentDots,\r\n name: \"faCommentDots\",\r\n },\r\n {\r\n icon: faCommentMedical,\r\n name: \"faCommentMedical\",\r\n },\r\n {\r\n icon: faCommentSlash,\r\n name: \"faCommentSlash\",\r\n },\r\n {\r\n icon: faComments,\r\n name: \"faComments\",\r\n },\r\n {\r\n icon: faCommentsDollar,\r\n name: \"faCommentsDollar\",\r\n },\r\n {\r\n icon: faCompactDisc,\r\n name: \"faCompactDisc\",\r\n },\r\n {\r\n icon: faCompass,\r\n name: \"faCompass\",\r\n },\r\n {\r\n icon: faCompress,\r\n name: \"faCompress\",\r\n },\r\n {\r\n icon: faCompressArrowsAlt,\r\n name: \"faCompressArrowsAlt\",\r\n },\r\n {\r\n icon: faConciergeBell,\r\n name: \"faConciergeBell\",\r\n },\r\n {\r\n icon: faCookie,\r\n name: \"faCookie\",\r\n },\r\n {\r\n icon: faCookieBite,\r\n name: \"faCookieBite\",\r\n },\r\n {\r\n icon: faCopy,\r\n name: \"faCopy\",\r\n },\r\n {\r\n icon: faCopyright,\r\n name: \"faCopyright\",\r\n },\r\n {\r\n icon: faCouch,\r\n name: \"faCouch\",\r\n },\r\n {\r\n icon: faCreditCard,\r\n name: \"faCreditCard\",\r\n },\r\n {\r\n icon: faCrop,\r\n name: \"faCrop\",\r\n },\r\n {\r\n icon: faCropAlt,\r\n name: \"faCropAlt\",\r\n },\r\n {\r\n icon: faCross,\r\n name: \"faCross\",\r\n },\r\n {\r\n icon: faCrosshairs,\r\n name: \"faCrosshairs\",\r\n },\r\n {\r\n icon: faCrow,\r\n name: \"faCrow\",\r\n },\r\n {\r\n icon: faCrown,\r\n name: \"faCrown\",\r\n },\r\n {\r\n icon: faCrutch,\r\n name: \"faCrutch\",\r\n },\r\n {\r\n icon: faCube,\r\n name: \"faCube\",\r\n },\r\n {\r\n icon: faCubes,\r\n name: \"faCubes\",\r\n },\r\n {\r\n icon: faCut,\r\n name: \"faCut\",\r\n },\r\n {\r\n icon: faDatabase,\r\n name: \"faDatabase\",\r\n },\r\n {\r\n icon: faDeaf,\r\n name: \"faDeaf\",\r\n },\r\n {\r\n icon: faDemocrat,\r\n name: \"faDemocrat\",\r\n },\r\n {\r\n icon: faDesktop,\r\n name: \"faDesktop\",\r\n },\r\n {\r\n icon: faDharmachakra,\r\n name: \"faDharmachakra\",\r\n },\r\n {\r\n icon: faDiagnoses,\r\n name: \"faDiagnoses\",\r\n },\r\n {\r\n icon: faDice,\r\n name: \"faDice\",\r\n },\r\n {\r\n icon: faDiceD20,\r\n name: \"faDiceD20\",\r\n },\r\n {\r\n icon: faDiceD6,\r\n name: \"faDiceD6\",\r\n },\r\n {\r\n icon: faDiceFive,\r\n name: \"faDiceFive\",\r\n },\r\n {\r\n icon: faDiceFour,\r\n name: \"faDiceFour\",\r\n },\r\n {\r\n icon: faDiceOne,\r\n name: \"faDiceOne\",\r\n },\r\n {\r\n icon: faDiceSix,\r\n name: \"faDiceSix\",\r\n },\r\n {\r\n icon: faDiceThree,\r\n name: \"faDiceThree\",\r\n },\r\n {\r\n icon: faDiceTwo,\r\n name: \"faDiceTwo\",\r\n },\r\n {\r\n icon: faDigitalTachograph,\r\n name: \"faDigitalTachograph\",\r\n },\r\n {\r\n icon: faDirections,\r\n name: \"faDirections\",\r\n },\r\n {\r\n icon: faDivide,\r\n name: \"faDivide\",\r\n },\r\n {\r\n icon: faDizzy,\r\n name: \"faDizzy\",\r\n },\r\n {\r\n icon: faDna,\r\n name: \"faDna\",\r\n },\r\n {\r\n icon: faDog,\r\n name: \"faDog\",\r\n },\r\n {\r\n icon: faDollarSign,\r\n name: \"faDollarSign\",\r\n },\r\n {\r\n icon: faDolly,\r\n name: \"faDolly\",\r\n },\r\n {\r\n icon: faDollyFlatbed,\r\n name: \"faDollyFlatbed\",\r\n },\r\n {\r\n icon: faDonate,\r\n name: \"faDonate\",\r\n },\r\n {\r\n icon: faDoorClosed,\r\n name: \"faDoorClosed\",\r\n },\r\n {\r\n icon: faDoorOpen,\r\n name: \"faDoorOpen\",\r\n },\r\n {\r\n icon: faDotCircle,\r\n name: \"faDotCircle\",\r\n },\r\n {\r\n icon: faDove,\r\n name: \"faDove\",\r\n },\r\n {\r\n icon: faDownload,\r\n name: \"faDownload\",\r\n },\r\n {\r\n icon: faDraftingCompass,\r\n name: \"faDraftingCompass\",\r\n },\r\n {\r\n icon: faDragon,\r\n name: \"faDragon\",\r\n },\r\n {\r\n icon: faDrawPolygon,\r\n name: \"faDrawPolygon\",\r\n },\r\n {\r\n icon: faDrum,\r\n name: \"faDrum\",\r\n },\r\n {\r\n icon: faDrumSteelpan,\r\n name: \"faDrumSteelpan\",\r\n },\r\n {\r\n icon: faDrumstickBite,\r\n name: \"faDrumstickBite\",\r\n },\r\n {\r\n icon: faDumbbell,\r\n name: \"faDumbbell\",\r\n },\r\n {\r\n icon: faDumpster,\r\n name: \"faDumpster\",\r\n },\r\n {\r\n icon: faDumpsterFire,\r\n name: \"faDumpsterFire\",\r\n },\r\n {\r\n icon: faDungeon,\r\n name: \"faDungeon\",\r\n },\r\n {\r\n icon: faEdit,\r\n name: \"faEdit\",\r\n },\r\n {\r\n icon: faEgg,\r\n name: \"faEgg\",\r\n },\r\n {\r\n icon: faEject,\r\n name: \"faEject\",\r\n },\r\n {\r\n icon: faEllipsisH,\r\n name: \"faEllipsisH\",\r\n },\r\n {\r\n icon: faEllipsisV,\r\n name: \"faEllipsisV\",\r\n },\r\n {\r\n icon: faEnvelope,\r\n name: \"faEnvelope\",\r\n },\r\n {\r\n icon: faEnvelopeOpen,\r\n name: \"faEnvelopeOpen\",\r\n },\r\n {\r\n icon: faEnvelopeOpenText,\r\n name: \"faEnvelopeOpenText\",\r\n },\r\n {\r\n icon: faEnvelopeSquare,\r\n name: \"faEnvelopeSquare\",\r\n },\r\n {\r\n icon: faEquals,\r\n name: \"faEquals\",\r\n },\r\n {\r\n icon: faEraser,\r\n name: \"faEraser\",\r\n },\r\n {\r\n icon: faEthernet,\r\n name: \"faEthernet\",\r\n },\r\n {\r\n icon: faEuroSign,\r\n name: \"faEuroSign\",\r\n },\r\n {\r\n icon: faExchangeAlt,\r\n name: \"faExchangeAlt\",\r\n },\r\n {\r\n icon: faExclamation,\r\n name: \"faExclamation\",\r\n },\r\n {\r\n icon: faExclamationCircle,\r\n name: \"faExclamationCircle\",\r\n },\r\n {\r\n icon: faExclamationTriangle,\r\n name: \"faExclamationTriangle\",\r\n },\r\n {\r\n icon: faExpand,\r\n name: \"faExpand\",\r\n },\r\n {\r\n icon: faExpandArrowsAlt,\r\n name: \"faExpandArrowsAlt\",\r\n },\r\n {\r\n icon: faExternalLinkAlt,\r\n name: \"faExternalLinkAlt\",\r\n },\r\n {\r\n icon: faExternalLinkSquareAlt,\r\n name: \"faExternalLinkSquareAlt\",\r\n },\r\n {\r\n icon: faEye,\r\n name: \"faEye\",\r\n },\r\n {\r\n icon: faEyeDropper,\r\n name: \"faEyeDropper\",\r\n },\r\n {\r\n icon: faEyeSlash,\r\n name: \"faEyeSlash\",\r\n },\r\n {\r\n icon: faFastBackward,\r\n name: \"faFastBackward\",\r\n },\r\n {\r\n icon: faFastForward,\r\n name: \"faFastForward\",\r\n },\r\n {\r\n icon: faFax,\r\n name: \"faFax\",\r\n },\r\n {\r\n icon: faFeather,\r\n name: \"faFeather\",\r\n },\r\n {\r\n icon: faFeatherAlt,\r\n name: \"faFeatherAlt\",\r\n },\r\n {\r\n icon: faFemale,\r\n name: \"faFemale\",\r\n },\r\n {\r\n icon: faFighterJet,\r\n name: \"faFighterJet\",\r\n },\r\n {\r\n icon: faFile,\r\n name: \"faFile\",\r\n },\r\n {\r\n icon: faFileAlt,\r\n name: \"faFileAlt\",\r\n },\r\n {\r\n icon: faFileArchive,\r\n name: \"faFileArchive\",\r\n },\r\n {\r\n icon: faFileAudio,\r\n name: \"faFileAudio\",\r\n },\r\n {\r\n icon: faFileCode,\r\n name: \"faFileCode\",\r\n },\r\n {\r\n icon: faFileContract,\r\n name: \"faFileContract\",\r\n },\r\n {\r\n icon: faFileCsv,\r\n name: \"faFileCsv\",\r\n },\r\n {\r\n icon: faFileDownload,\r\n name: \"faFileDownload\",\r\n },\r\n {\r\n icon: faFileExcel,\r\n name: \"faFileExcel\",\r\n },\r\n {\r\n icon: faFileExport,\r\n name: \"faFileExport\",\r\n },\r\n {\r\n icon: faFileImage,\r\n name: \"faFileImage\",\r\n },\r\n {\r\n icon: faFileImport,\r\n name: \"faFileImport\",\r\n },\r\n {\r\n icon: faFileInvoice,\r\n name: \"faFileInvoice\",\r\n },\r\n {\r\n icon: faFileInvoiceDollar,\r\n name: \"faFileInvoiceDollar\",\r\n },\r\n {\r\n icon: faFileMedical,\r\n name: \"faFileMedical\",\r\n },\r\n {\r\n icon: faFileMedicalAlt,\r\n name: \"faFileMedicalAlt\",\r\n },\r\n {\r\n icon: faFilePdf,\r\n name: \"faFilePdf\",\r\n },\r\n {\r\n icon: faFilePowerpoint,\r\n name: \"faFilePowerpoint\",\r\n },\r\n {\r\n icon: faFilePrescription,\r\n name: \"faFilePrescription\",\r\n },\r\n {\r\n icon: faFileSignature,\r\n name: \"faFileSignature\",\r\n },\r\n {\r\n icon: faFileUpload,\r\n name: \"faFileUpload\",\r\n },\r\n {\r\n icon: faFileVideo,\r\n name: \"faFileVideo\",\r\n },\r\n {\r\n icon: faFileWord,\r\n name: \"faFileWord\",\r\n },\r\n {\r\n icon: faFill,\r\n name: \"faFill\",\r\n },\r\n {\r\n icon: faFillDrip,\r\n name: \"faFillDrip\",\r\n },\r\n {\r\n icon: faFilm,\r\n name: \"faFilm\",\r\n },\r\n {\r\n icon: faFilter,\r\n name: \"faFilter\",\r\n },\r\n {\r\n icon: faFingerprint,\r\n name: \"faFingerprint\",\r\n },\r\n {\r\n icon: faFire,\r\n name: \"faFire\",\r\n },\r\n {\r\n icon: faFireAlt,\r\n name: \"faFireAlt\",\r\n },\r\n {\r\n icon: faFireExtinguisher,\r\n name: \"faFireExtinguisher\",\r\n },\r\n {\r\n icon: faFirstAid,\r\n name: \"faFirstAid\",\r\n },\r\n {\r\n icon: faFish,\r\n name: \"faFish\",\r\n },\r\n {\r\n icon: faFistRaised,\r\n name: \"faFistRaised\",\r\n },\r\n {\r\n icon: faFlag,\r\n name: \"faFlag\",\r\n },\r\n {\r\n icon: faFlagCheckered,\r\n name: \"faFlagCheckered\",\r\n },\r\n {\r\n icon: faFlagUsa,\r\n name: \"faFlagUsa\",\r\n },\r\n {\r\n icon: faFlask,\r\n name: \"faFlask\",\r\n },\r\n {\r\n icon: faFlushed,\r\n name: \"faFlushed\",\r\n },\r\n {\r\n icon: faFolder,\r\n name: \"faFolder\",\r\n },\r\n {\r\n icon: faFolderMinus,\r\n name: \"faFolderMinus\",\r\n },\r\n {\r\n icon: faFolderOpen,\r\n name: \"faFolderOpen\",\r\n },\r\n {\r\n icon: faFolderPlus,\r\n name: \"faFolderPlus\",\r\n },\r\n {\r\n icon: faFont,\r\n name: \"faFont\",\r\n },\r\n {\r\n icon: faFontAwesomeLogoFull,\r\n name: \"faFontAwesomeLogoFull\",\r\n },\r\n {\r\n icon: faFootballBall,\r\n name: \"faFootballBall\",\r\n },\r\n {\r\n icon: faForward,\r\n name: \"faForward\",\r\n },\r\n {\r\n icon: faFrog,\r\n name: \"faFrog\",\r\n },\r\n {\r\n icon: faFrown,\r\n name: \"faFrown\",\r\n },\r\n {\r\n icon: faFrownOpen,\r\n name: \"faFrownOpen\",\r\n },\r\n {\r\n icon: faFunnelDollar,\r\n name: \"faFunnelDollar\",\r\n },\r\n {\r\n icon: faFutbol,\r\n name: \"faFutbol\",\r\n },\r\n {\r\n icon: faGamepad,\r\n name: \"faGamepad\",\r\n },\r\n {\r\n icon: faGasPump,\r\n name: \"faGasPump\",\r\n },\r\n {\r\n icon: faGavel,\r\n name: \"faGavel\",\r\n },\r\n {\r\n icon: faGem,\r\n name: \"faGem\",\r\n },\r\n {\r\n icon: faGenderless,\r\n name: \"faGenderless\",\r\n },\r\n {\r\n icon: faGhost,\r\n name: \"faGhost\",\r\n },\r\n {\r\n icon: faGift,\r\n name: \"faGift\",\r\n },\r\n {\r\n icon: faGifts,\r\n name: \"faGifts\",\r\n },\r\n {\r\n icon: faGlassCheers,\r\n name: \"faGlassCheers\",\r\n },\r\n {\r\n icon: faGlassMartini,\r\n name: \"faGlassMartini\",\r\n },\r\n {\r\n icon: faGlassMartiniAlt,\r\n name: \"faGlassMartiniAlt\",\r\n },\r\n {\r\n icon: faGlassWhiskey,\r\n name: \"faGlassWhiskey\",\r\n },\r\n {\r\n icon: faGlasses,\r\n name: \"faGlasses\",\r\n },\r\n {\r\n icon: faGlobe,\r\n name: \"faGlobe\",\r\n },\r\n {\r\n icon: faGlobeAfrica,\r\n name: \"faGlobeAfrica\",\r\n },\r\n {\r\n icon: faGlobeAmericas,\r\n name: \"faGlobeAmericas\",\r\n },\r\n {\r\n icon: faGlobeAsia,\r\n name: \"faGlobeAsia\",\r\n },\r\n {\r\n icon: faGlobeEurope,\r\n name: \"faGlobeEurope\",\r\n },\r\n {\r\n icon: faGolfBall,\r\n name: \"faGolfBall\",\r\n },\r\n {\r\n icon: faGopuram,\r\n name: \"faGopuram\",\r\n },\r\n {\r\n icon: faGraduationCap,\r\n name: \"faGraduationCap\",\r\n },\r\n {\r\n icon: faGreaterThan,\r\n name: \"faGreaterThan\",\r\n },\r\n {\r\n icon: faGreaterThanEqual,\r\n name: \"faGreaterThanEqual\",\r\n },\r\n {\r\n icon: faGrimace,\r\n name: \"faGrimace\",\r\n },\r\n {\r\n icon: faGrin,\r\n name: \"faGrin\",\r\n },\r\n {\r\n icon: faGrinAlt,\r\n name: \"faGrinAlt\",\r\n },\r\n {\r\n icon: faGrinBeam,\r\n name: \"faGrinBeam\",\r\n },\r\n {\r\n icon: faGrinBeamSweat,\r\n name: \"faGrinBeamSweat\",\r\n },\r\n {\r\n icon: faGrinHearts,\r\n name: \"faGrinHearts\",\r\n },\r\n {\r\n icon: faGrinSquint,\r\n name: \"faGrinSquint\",\r\n },\r\n {\r\n icon: faGrinSquintTears,\r\n name: \"faGrinSquintTears\",\r\n },\r\n {\r\n icon: faGrinStars,\r\n name: \"faGrinStars\",\r\n },\r\n {\r\n icon: faGrinTears,\r\n name: \"faGrinTears\",\r\n },\r\n {\r\n icon: faGrinTongue,\r\n name: \"faGrinTongue\",\r\n },\r\n {\r\n icon: faGrinTongueSquint,\r\n name: \"faGrinTongueSquint\",\r\n },\r\n {\r\n icon: faGrinTongueWink,\r\n name: \"faGrinTongueWink\",\r\n },\r\n {\r\n icon: faGrinWink,\r\n name: \"faGrinWink\",\r\n },\r\n {\r\n icon: faGripHorizontal,\r\n name: \"faGripHorizontal\",\r\n },\r\n {\r\n icon: faGripLines,\r\n name: \"faGripLines\",\r\n },\r\n {\r\n icon: faGripLinesVertical,\r\n name: \"faGripLinesVertical\",\r\n },\r\n {\r\n icon: faGripVertical,\r\n name: \"faGripVertical\",\r\n },\r\n {\r\n icon: faGuitar,\r\n name: \"faGuitar\",\r\n },\r\n {\r\n icon: faHSquare,\r\n name: \"faHSquare\",\r\n },\r\n {\r\n icon: faHamburger,\r\n name: \"faHamburger\",\r\n },\r\n {\r\n icon: faHammer,\r\n name: \"faHammer\",\r\n },\r\n {\r\n icon: faHamsa,\r\n name: \"faHamsa\",\r\n },\r\n {\r\n icon: faHandHolding,\r\n name: \"faHandHolding\",\r\n },\r\n {\r\n icon: faHandHoldingHeart,\r\n name: \"faHandHoldingHeart\",\r\n },\r\n {\r\n icon: faHandHoldingUsd,\r\n name: \"faHandHoldingUsd\",\r\n },\r\n {\r\n icon: faHandLizard,\r\n name: \"faHandLizard\",\r\n },\r\n {\r\n icon: faHandMiddleFinger,\r\n name: \"faHandMiddleFinger\",\r\n },\r\n {\r\n icon: faHandPaper,\r\n name: \"faHandPaper\",\r\n },\r\n {\r\n icon: faHandPeace,\r\n name: \"faHandPeace\",\r\n },\r\n {\r\n icon: faHandPointDown,\r\n name: \"faHandPointDown\",\r\n },\r\n {\r\n icon: faHandPointLeft,\r\n name: \"faHandPointLeft\",\r\n },\r\n {\r\n icon: faHandPointRight,\r\n name: \"faHandPointRight\",\r\n },\r\n {\r\n icon: faHandPointUp,\r\n name: \"faHandPointUp\",\r\n },\r\n {\r\n icon: faHandPointer,\r\n name: \"faHandPointer\",\r\n },\r\n {\r\n icon: faHandRock,\r\n name: \"faHandRock\",\r\n },\r\n {\r\n icon: faHandScissors,\r\n name: \"faHandScissors\",\r\n },\r\n {\r\n icon: faHandSpock,\r\n name: \"faHandSpock\",\r\n },\r\n {\r\n icon: faHands,\r\n name: \"faHands\",\r\n },\r\n {\r\n icon: faHandsHelping,\r\n name: \"faHandsHelping\",\r\n },\r\n {\r\n icon: faHandshake,\r\n name: \"faHandshake\",\r\n },\r\n {\r\n icon: faHanukiah,\r\n name: \"faHanukiah\",\r\n },\r\n {\r\n icon: faHardHat,\r\n name: \"faHardHat\",\r\n },\r\n {\r\n icon: faHashtag,\r\n name: \"faHashtag\",\r\n },\r\n {\r\n icon: faHatWizard,\r\n name: \"faHatWizard\",\r\n },\r\n {\r\n icon: faHdd,\r\n name: \"faHdd\",\r\n },\r\n {\r\n icon: faHeading,\r\n name: \"faHeading\",\r\n },\r\n {\r\n icon: faHeadphones,\r\n name: \"faHeadphones\",\r\n },\r\n {\r\n icon: faHeadphonesAlt,\r\n name: \"faHeadphonesAlt\",\r\n },\r\n {\r\n icon: faHeadset,\r\n name: \"faHeadset\",\r\n },\r\n {\r\n icon: faHeart,\r\n name: \"faHeart\",\r\n },\r\n {\r\n icon: faHeartBroken,\r\n name: \"faHeartBroken\",\r\n },\r\n {\r\n icon: faHeartbeat,\r\n name: \"faHeartbeat\",\r\n },\r\n {\r\n icon: faHelicopter,\r\n name: \"faHelicopter\",\r\n },\r\n {\r\n icon: faHighlighter,\r\n name: \"faHighlighter\",\r\n },\r\n {\r\n icon: faHiking,\r\n name: \"faHiking\",\r\n },\r\n {\r\n icon: faHippo,\r\n name: \"faHippo\",\r\n },\r\n {\r\n icon: faHistory,\r\n name: \"faHistory\",\r\n },\r\n {\r\n icon: faHockeyPuck,\r\n name: \"faHockeyPuck\",\r\n },\r\n {\r\n icon: faHollyBerry,\r\n name: \"faHollyBerry\",\r\n },\r\n {\r\n icon: faHome,\r\n name: \"faHome\",\r\n },\r\n {\r\n icon: faHorse,\r\n name: \"faHorse\",\r\n },\r\n {\r\n icon: faHorseHead,\r\n name: \"faHorseHead\",\r\n },\r\n {\r\n icon: faHospital,\r\n name: \"faHospital\",\r\n },\r\n {\r\n icon: faHospitalAlt,\r\n name: \"faHospitalAlt\",\r\n },\r\n {\r\n icon: faHospitalSymbol,\r\n name: \"faHospitalSymbol\",\r\n },\r\n {\r\n icon: faHotTub,\r\n name: \"faHotTub\",\r\n },\r\n {\r\n icon: faHotdog,\r\n name: \"faHotdog\",\r\n },\r\n {\r\n icon: faHotel,\r\n name: \"faHotel\",\r\n },\r\n {\r\n icon: faHourglass,\r\n name: \"faHourglass\",\r\n },\r\n {\r\n icon: faHourglassEnd,\r\n name: \"faHourglassEnd\",\r\n },\r\n {\r\n icon: faHourglassHalf,\r\n name: \"faHourglassHalf\",\r\n },\r\n {\r\n icon: faHourglassStart,\r\n name: \"faHourglassStart\",\r\n },\r\n {\r\n icon: faHouseDamage,\r\n name: \"faHouseDamage\",\r\n },\r\n {\r\n icon: faHryvnia,\r\n name: \"faHryvnia\",\r\n },\r\n {\r\n icon: faICursor,\r\n name: \"faICursor\",\r\n },\r\n {\r\n icon: faIceCream,\r\n name: \"faIceCream\",\r\n },\r\n {\r\n icon: faIcicles,\r\n name: \"faIcicles\",\r\n },\r\n {\r\n icon: faIdBadge,\r\n name: \"faIdBadge\",\r\n },\r\n {\r\n icon: faIdCard,\r\n name: \"faIdCard\",\r\n },\r\n {\r\n icon: faIdCardAlt,\r\n name: \"faIdCardAlt\",\r\n },\r\n {\r\n icon: faIgloo,\r\n name: \"faIgloo\",\r\n },\r\n {\r\n icon: faImage,\r\n name: \"faImage\",\r\n },\r\n {\r\n icon: faImages,\r\n name: \"faImages\",\r\n },\r\n {\r\n icon: faInbox,\r\n name: \"faInbox\",\r\n },\r\n {\r\n icon: faIndent,\r\n name: \"faIndent\",\r\n },\r\n {\r\n icon: faIndustry,\r\n name: \"faIndustry\",\r\n },\r\n {\r\n icon: faInfinity,\r\n name: \"faInfinity\",\r\n },\r\n {\r\n icon: faInfo,\r\n name: \"faInfo\",\r\n },\r\n {\r\n icon: faInfoCircle,\r\n name: \"faInfoCircle\",\r\n },\r\n {\r\n icon: faItalic,\r\n name: \"faItalic\",\r\n },\r\n {\r\n icon: faJedi,\r\n name: \"faJedi\",\r\n },\r\n {\r\n icon: faJoint,\r\n name: \"faJoint\",\r\n },\r\n {\r\n icon: faJournalWhills,\r\n name: \"faJournalWhills\",\r\n },\r\n {\r\n icon: faKaaba,\r\n name: \"faKaaba\",\r\n },\r\n {\r\n icon: faKey,\r\n name: \"faKey\",\r\n },\r\n {\r\n icon: faKeyboard,\r\n name: \"faKeyboard\",\r\n },\r\n {\r\n icon: faKhanda,\r\n name: \"faKhanda\",\r\n },\r\n {\r\n icon: faKiss,\r\n name: \"faKiss\",\r\n },\r\n {\r\n icon: faKissBeam,\r\n name: \"faKissBeam\",\r\n },\r\n {\r\n icon: faKissWinkHeart,\r\n name: \"faKissWinkHeart\",\r\n },\r\n {\r\n icon: faKiwiBird,\r\n name: \"faKiwiBird\",\r\n },\r\n {\r\n icon: faLandmark,\r\n name: \"faLandmark\",\r\n },\r\n {\r\n icon: faLanguage,\r\n name: \"faLanguage\",\r\n },\r\n {\r\n icon: faLaptop,\r\n name: \"faLaptop\",\r\n },\r\n {\r\n icon: faLaptopCode,\r\n name: \"faLaptopCode\",\r\n },\r\n {\r\n icon: faLaptopMedical,\r\n name: \"faLaptopMedical\",\r\n },\r\n {\r\n icon: faLaugh,\r\n name: \"faLaugh\",\r\n },\r\n {\r\n icon: faLaughBeam,\r\n name: \"faLaughBeam\",\r\n },\r\n {\r\n icon: faLaughSquint,\r\n name: \"faLaughSquint\",\r\n },\r\n {\r\n icon: faLaughWink,\r\n name: \"faLaughWink\",\r\n },\r\n {\r\n icon: faLayerGroup,\r\n name: \"faLayerGroup\",\r\n },\r\n {\r\n icon: faLeaf,\r\n name: \"faLeaf\",\r\n },\r\n {\r\n icon: faLemon,\r\n name: \"faLemon\",\r\n },\r\n {\r\n icon: faLessThan,\r\n name: \"faLessThan\",\r\n },\r\n {\r\n icon: faLessThanEqual,\r\n name: \"faLessThanEqual\",\r\n },\r\n {\r\n icon: faLevelDownAlt,\r\n name: \"faLevelDownAlt\",\r\n },\r\n {\r\n icon: faLevelUpAlt,\r\n name: \"faLevelUpAlt\",\r\n },\r\n {\r\n icon: faLifeRing,\r\n name: \"faLifeRing\",\r\n },\r\n {\r\n icon: faLightbulb,\r\n name: \"faLightbulb\",\r\n },\r\n {\r\n icon: faLink,\r\n name: \"faLink\",\r\n },\r\n {\r\n icon: faLiraSign,\r\n name: \"faLiraSign\",\r\n },\r\n {\r\n icon: faList,\r\n name: \"faList\",\r\n },\r\n {\r\n icon: faListAlt,\r\n name: \"faListAlt\",\r\n },\r\n {\r\n icon: faListOl,\r\n name: \"faListOl\",\r\n },\r\n {\r\n icon: faListUl,\r\n name: \"faListUl\",\r\n },\r\n {\r\n icon: faLocationArrow,\r\n name: \"faLocationArrow\",\r\n },\r\n {\r\n icon: faLock,\r\n name: \"faLock\",\r\n },\r\n {\r\n icon: faLockOpen,\r\n name: \"faLockOpen\",\r\n },\r\n {\r\n icon: faLongArrowAltDown,\r\n name: \"faLongArrowAltDown\",\r\n },\r\n {\r\n icon: faLongArrowAltLeft,\r\n name: \"faLongArrowAltLeft\",\r\n },\r\n {\r\n icon: faLongArrowAltRight,\r\n name: \"faLongArrowAltRight\",\r\n },\r\n {\r\n icon: faLongArrowAltUp,\r\n name: \"faLongArrowAltUp\",\r\n },\r\n {\r\n icon: faLowVision,\r\n name: \"faLowVision\",\r\n },\r\n {\r\n icon: faLuggageCart,\r\n name: \"faLuggageCart\",\r\n },\r\n {\r\n icon: faMagic,\r\n name: \"faMagic\",\r\n },\r\n {\r\n icon: faMagnet,\r\n name: \"faMagnet\",\r\n },\r\n {\r\n icon: faMailBulk,\r\n name: \"faMailBulk\",\r\n },\r\n {\r\n icon: faMale,\r\n name: \"faMale\",\r\n },\r\n {\r\n icon: faMap,\r\n name: \"faMap\",\r\n },\r\n {\r\n icon: faMapMarked,\r\n name: \"faMapMarked\",\r\n },\r\n {\r\n icon: faMapMarkedAlt,\r\n name: \"faMapMarkedAlt\",\r\n },\r\n {\r\n icon: faMapMarker,\r\n name: \"faMapMarker\",\r\n },\r\n {\r\n icon: faMapMarkerAlt,\r\n name: \"faMapMarkerAlt\",\r\n },\r\n {\r\n icon: faMapPin,\r\n name: \"faMapPin\",\r\n },\r\n {\r\n icon: faMapSigns,\r\n name: \"faMapSigns\",\r\n },\r\n {\r\n icon: faMarker,\r\n name: \"faMarker\",\r\n },\r\n {\r\n icon: faMars,\r\n name: \"faMars\",\r\n },\r\n {\r\n icon: faMarsDouble,\r\n name: \"faMarsDouble\",\r\n },\r\n {\r\n icon: faMarsStroke,\r\n name: \"faMarsStroke\",\r\n },\r\n {\r\n icon: faMarsStrokeH,\r\n name: \"faMarsStrokeH\",\r\n },\r\n {\r\n icon: faMarsStrokeV,\r\n name: \"faMarsStrokeV\",\r\n },\r\n {\r\n icon: faMask,\r\n name: \"faMask\",\r\n },\r\n {\r\n icon: faMedal,\r\n name: \"faMedal\",\r\n },\r\n {\r\n icon: faMedkit,\r\n name: \"faMedkit\",\r\n },\r\n {\r\n icon: faMeh,\r\n name: \"faMeh\",\r\n },\r\n {\r\n icon: faMehBlank,\r\n name: \"faMehBlank\",\r\n },\r\n {\r\n icon: faMehRollingEyes,\r\n name: \"faMehRollingEyes\",\r\n },\r\n {\r\n icon: faMemory,\r\n name: \"faMemory\",\r\n },\r\n {\r\n icon: faMenorah,\r\n name: \"faMenorah\",\r\n },\r\n {\r\n icon: faMercury,\r\n name: \"faMercury\",\r\n },\r\n {\r\n icon: faMeteor,\r\n name: \"faMeteor\",\r\n },\r\n {\r\n icon: faMicrochip,\r\n name: \"faMicrochip\",\r\n },\r\n {\r\n icon: faMicrophone,\r\n name: \"faMicrophone\",\r\n },\r\n {\r\n icon: faMicrophoneAlt,\r\n name: \"faMicrophoneAlt\",\r\n },\r\n {\r\n icon: faMicrophoneAltSlash,\r\n name: \"faMicrophoneAltSlash\",\r\n },\r\n {\r\n icon: faMicrophoneSlash,\r\n name: \"faMicrophoneSlash\",\r\n },\r\n {\r\n icon: faMicroscope,\r\n name: \"faMicroscope\",\r\n },\r\n {\r\n icon: faMinus,\r\n name: \"faMinus\",\r\n },\r\n {\r\n icon: faMinusCircle,\r\n name: \"faMinusCircle\",\r\n },\r\n {\r\n icon: faMinusSquare,\r\n name: \"faMinusSquare\",\r\n },\r\n {\r\n icon: faMitten,\r\n name: \"faMitten\",\r\n },\r\n {\r\n icon: faMobile,\r\n name: \"faMobile\",\r\n },\r\n {\r\n icon: faMobileAlt,\r\n name: \"faMobileAlt\",\r\n },\r\n {\r\n icon: faMoneyBill,\r\n name: \"faMoneyBill\",\r\n },\r\n {\r\n icon: faMoneyBillAlt,\r\n name: \"faMoneyBillAlt\",\r\n },\r\n {\r\n icon: faMoneyBillWave,\r\n name: \"faMoneyBillWave\",\r\n },\r\n {\r\n icon: faMoneyBillWaveAlt,\r\n name: \"faMoneyBillWaveAlt\",\r\n },\r\n {\r\n icon: faMoneyCheck,\r\n name: \"faMoneyCheck\",\r\n },\r\n {\r\n icon: faMoneyCheckAlt,\r\n name: \"faMoneyCheckAlt\",\r\n },\r\n {\r\n icon: faMonument,\r\n name: \"faMonument\",\r\n },\r\n {\r\n icon: faMoon,\r\n name: \"faMoon\",\r\n },\r\n {\r\n icon: faMortarPestle,\r\n name: \"faMortarPestle\",\r\n },\r\n {\r\n icon: faMosque,\r\n name: \"faMosque\",\r\n },\r\n {\r\n icon: faMotorcycle,\r\n name: \"faMotorcycle\",\r\n },\r\n {\r\n icon: faMountain,\r\n name: \"faMountain\",\r\n },\r\n {\r\n icon: faMousePointer,\r\n name: \"faMousePointer\",\r\n },\r\n {\r\n icon: faMugHot,\r\n name: \"faMugHot\",\r\n },\r\n {\r\n icon: faMusic,\r\n name: \"faMusic\",\r\n },\r\n {\r\n icon: faNetworkWired,\r\n name: \"faNetworkWired\",\r\n },\r\n {\r\n icon: faNeuter,\r\n name: \"faNeuter\",\r\n },\r\n {\r\n icon: faNewspaper,\r\n name: \"faNewspaper\",\r\n },\r\n {\r\n icon: faNotEqual,\r\n name: \"faNotEqual\",\r\n },\r\n {\r\n icon: faNotesMedical,\r\n name: \"faNotesMedical\",\r\n },\r\n {\r\n icon: faObjectGroup,\r\n name: \"faObjectGroup\",\r\n },\r\n {\r\n icon: faObjectUngroup,\r\n name: \"faObjectUngroup\",\r\n },\r\n {\r\n icon: faOilCan,\r\n name: \"faOilCan\",\r\n },\r\n {\r\n icon: faOm,\r\n name: \"faOm\",\r\n },\r\n {\r\n icon: faOtter,\r\n name: \"faOtter\",\r\n },\r\n {\r\n icon: faOutdent,\r\n name: \"faOutdent\",\r\n },\r\n {\r\n icon: faPager,\r\n name: \"faPager\",\r\n },\r\n {\r\n icon: faPaintBrush,\r\n name: \"faPaintBrush\",\r\n },\r\n {\r\n icon: faPaintRoller,\r\n name: \"faPaintRoller\",\r\n },\r\n {\r\n icon: faPalette,\r\n name: \"faPalette\",\r\n },\r\n {\r\n icon: faPallet,\r\n name: \"faPallet\",\r\n },\r\n {\r\n icon: faPaperPlane,\r\n name: \"faPaperPlane\",\r\n },\r\n {\r\n icon: faPaperclip,\r\n name: \"faPaperclip\",\r\n },\r\n {\r\n icon: faParachuteBox,\r\n name: \"faParachuteBox\",\r\n },\r\n {\r\n icon: faParagraph,\r\n name: \"faParagraph\",\r\n },\r\n {\r\n icon: faParking,\r\n name: \"faParking\",\r\n },\r\n {\r\n icon: faPassport,\r\n name: \"faPassport\",\r\n },\r\n {\r\n icon: faPastafarianism,\r\n name: \"faPastafarianism\",\r\n },\r\n {\r\n icon: faPaste,\r\n name: \"faPaste\",\r\n },\r\n {\r\n icon: faPause,\r\n name: \"faPause\",\r\n },\r\n {\r\n icon: faPauseCircle,\r\n name: \"faPauseCircle\",\r\n },\r\n {\r\n icon: faPaw,\r\n name: \"faPaw\",\r\n },\r\n {\r\n icon: faPeace,\r\n name: \"faPeace\",\r\n },\r\n {\r\n icon: faPen,\r\n name: \"faPen\",\r\n },\r\n {\r\n icon: faPenAlt,\r\n name: \"faPenAlt\",\r\n },\r\n {\r\n icon: faPenFancy,\r\n name: \"faPenFancy\",\r\n },\r\n {\r\n icon: faPenNib,\r\n name: \"faPenNib\",\r\n },\r\n {\r\n icon: faPenSquare,\r\n name: \"faPenSquare\",\r\n },\r\n {\r\n icon: faPencilAlt,\r\n name: \"faPencilAlt\",\r\n },\r\n {\r\n icon: faPencilRuler,\r\n name: \"faPencilRuler\",\r\n },\r\n {\r\n icon: faPeopleCarry,\r\n name: \"faPeopleCarry\",\r\n },\r\n {\r\n icon: faPepperHot,\r\n name: \"faPepperHot\",\r\n },\r\n {\r\n icon: faPercent,\r\n name: \"faPercent\",\r\n },\r\n {\r\n icon: faPercentage,\r\n name: \"faPercentage\",\r\n },\r\n {\r\n icon: faPersonBooth,\r\n name: \"faPersonBooth\",\r\n },\r\n {\r\n icon: faPhone,\r\n name: \"faPhone\",\r\n },\r\n {\r\n icon: faPhoneSlash,\r\n name: \"faPhoneSlash\",\r\n },\r\n {\r\n icon: faPhoneSquare,\r\n name: \"faPhoneSquare\",\r\n },\r\n {\r\n icon: faPhoneVolume,\r\n name: \"faPhoneVolume\",\r\n },\r\n {\r\n icon: faPiggyBank,\r\n name: \"faPiggyBank\",\r\n },\r\n {\r\n icon: faPills,\r\n name: \"faPills\",\r\n },\r\n {\r\n icon: faPizzaSlice,\r\n name: \"faPizzaSlice\",\r\n },\r\n {\r\n icon: faPlaceOfWorship,\r\n name: \"faPlaceOfWorship\",\r\n },\r\n {\r\n icon: faPlane,\r\n name: \"faPlane\",\r\n },\r\n {\r\n icon: faPlaneArrival,\r\n name: \"faPlaneArrival\",\r\n },\r\n {\r\n icon: faPlaneDeparture,\r\n name: \"faPlaneDeparture\",\r\n },\r\n {\r\n icon: faPlay,\r\n name: \"faPlay\",\r\n },\r\n {\r\n icon: faPlayCircle,\r\n name: \"faPlayCircle\",\r\n },\r\n {\r\n icon: faPlug,\r\n name: \"faPlug\",\r\n },\r\n {\r\n icon: faPlus,\r\n name: \"faPlus\",\r\n },\r\n {\r\n icon: faPlusCircle,\r\n name: \"faPlusCircle\",\r\n },\r\n {\r\n icon: faPlusSquare,\r\n name: \"faPlusSquare\",\r\n },\r\n {\r\n icon: faPodcast,\r\n name: \"faPodcast\",\r\n },\r\n {\r\n icon: faPoll,\r\n name: \"faPoll\",\r\n },\r\n {\r\n icon: faPollH,\r\n name: \"faPollH\",\r\n },\r\n {\r\n icon: faPoo,\r\n name: \"faPoo\",\r\n },\r\n {\r\n icon: faPooStorm,\r\n name: \"faPooStorm\",\r\n },\r\n {\r\n icon: faPoop,\r\n name: \"faPoop\",\r\n },\r\n {\r\n icon: faPortrait,\r\n name: \"faPortrait\",\r\n },\r\n {\r\n icon: faPoundSign,\r\n name: \"faPoundSign\",\r\n },\r\n {\r\n icon: faPowerOff,\r\n name: \"faPowerOff\",\r\n },\r\n {\r\n icon: faPray,\r\n name: \"faPray\",\r\n },\r\n {\r\n icon: faPrayingHands,\r\n name: \"faPrayingHands\",\r\n },\r\n {\r\n icon: faPrescription,\r\n name: \"faPrescription\",\r\n },\r\n {\r\n icon: faPrescriptionBottle,\r\n name: \"faPrescriptionBottle\",\r\n },\r\n {\r\n icon: faPrescriptionBottleAlt,\r\n name: \"faPrescriptionBottleAlt\",\r\n },\r\n {\r\n icon: faPrint,\r\n name: \"faPrint\",\r\n },\r\n {\r\n icon: faProcedures,\r\n name: \"faProcedures\",\r\n },\r\n {\r\n icon: faProjectDiagram,\r\n name: \"faProjectDiagram\",\r\n },\r\n {\r\n icon: faPuzzlePiece,\r\n name: \"faPuzzlePiece\",\r\n },\r\n {\r\n icon: faQrcode,\r\n name: \"faQrcode\",\r\n },\r\n {\r\n icon: faQuestion,\r\n name: \"faQuestion\",\r\n },\r\n {\r\n icon: faQuestionCircle,\r\n name: \"faQuestionCircle\",\r\n },\r\n {\r\n icon: faQuidditch,\r\n name: \"faQuidditch\",\r\n },\r\n {\r\n icon: faQuoteLeft,\r\n name: \"faQuoteLeft\",\r\n },\r\n {\r\n icon: faQuoteRight,\r\n name: \"faQuoteRight\",\r\n },\r\n {\r\n icon: faQuran,\r\n name: \"faQuran\",\r\n },\r\n {\r\n icon: faRadiation,\r\n name: \"faRadiation\",\r\n },\r\n {\r\n icon: faRadiationAlt,\r\n name: \"faRadiationAlt\",\r\n },\r\n {\r\n icon: faRainbow,\r\n name: \"faRainbow\",\r\n },\r\n {\r\n icon: faRandom,\r\n name: \"faRandom\",\r\n },\r\n {\r\n icon: faReceipt,\r\n name: \"faReceipt\",\r\n },\r\n {\r\n icon: faRecycle,\r\n name: \"faRecycle\",\r\n },\r\n {\r\n icon: faRedo,\r\n name: \"faRedo\",\r\n },\r\n {\r\n icon: faRedoAlt,\r\n name: \"faRedoAlt\",\r\n },\r\n {\r\n icon: faRegistered,\r\n name: \"faRegistered\",\r\n },\r\n {\r\n icon: faReply,\r\n name: \"faReply\",\r\n },\r\n {\r\n icon: faReplyAll,\r\n name: \"faReplyAll\",\r\n },\r\n {\r\n icon: faRepublican,\r\n name: \"faRepublican\",\r\n },\r\n {\r\n icon: faRestroom,\r\n name: \"faRestroom\",\r\n },\r\n {\r\n icon: faRetweet,\r\n name: \"faRetweet\",\r\n },\r\n {\r\n icon: faRibbon,\r\n name: \"faRibbon\",\r\n },\r\n {\r\n icon: faRing,\r\n name: \"faRing\",\r\n },\r\n {\r\n icon: faRoad,\r\n name: \"faRoad\",\r\n },\r\n {\r\n icon: faRobot,\r\n name: \"faRobot\",\r\n },\r\n {\r\n icon: faRocket,\r\n name: \"faRocket\",\r\n },\r\n {\r\n icon: faRoute,\r\n name: \"faRoute\",\r\n },\r\n {\r\n icon: faRss,\r\n name: \"faRss\",\r\n },\r\n {\r\n icon: faRssSquare,\r\n name: \"faRssSquare\",\r\n },\r\n {\r\n icon: faRubleSign,\r\n name: \"faRubleSign\",\r\n },\r\n {\r\n icon: faRuler,\r\n name: \"faRuler\",\r\n },\r\n {\r\n icon: faRulerCombined,\r\n name: \"faRulerCombined\",\r\n },\r\n {\r\n icon: faRulerHorizontal,\r\n name: \"faRulerHorizontal\",\r\n },\r\n {\r\n icon: faRulerVertical,\r\n name: \"faRulerVertical\",\r\n },\r\n {\r\n icon: faRunning,\r\n name: \"faRunning\",\r\n },\r\n {\r\n icon: faRupeeSign,\r\n name: \"faRupeeSign\",\r\n },\r\n {\r\n icon: faSadCry,\r\n name: \"faSadCry\",\r\n },\r\n {\r\n icon: faSadTear,\r\n name: \"faSadTear\",\r\n },\r\n {\r\n icon: faSatellite,\r\n name: \"faSatellite\",\r\n },\r\n {\r\n icon: faSatelliteDish,\r\n name: \"faSatelliteDish\",\r\n },\r\n {\r\n icon: faSave,\r\n name: \"faSave\",\r\n },\r\n {\r\n icon: faSchool,\r\n name: \"faSchool\",\r\n },\r\n {\r\n icon: faScrewdriver,\r\n name: \"faScrewdriver\",\r\n },\r\n {\r\n icon: faScroll,\r\n name: \"faScroll\",\r\n },\r\n {\r\n icon: faSdCard,\r\n name: \"faSdCard\",\r\n },\r\n {\r\n icon: faSearch,\r\n name: \"faSearch\",\r\n },\r\n {\r\n icon: faSearchDollar,\r\n name: \"faSearchDollar\",\r\n },\r\n {\r\n icon: faSearchLocation,\r\n name: \"faSearchLocation\",\r\n },\r\n {\r\n icon: faSearchMinus,\r\n name: \"faSearchMinus\",\r\n },\r\n {\r\n icon: faSearchPlus,\r\n name: \"faSearchPlus\",\r\n },\r\n {\r\n icon: faSeedling,\r\n name: \"faSeedling\",\r\n },\r\n {\r\n icon: faServer,\r\n name: \"faServer\",\r\n },\r\n {\r\n icon: faShapes,\r\n name: \"faShapes\",\r\n },\r\n {\r\n icon: faShare,\r\n name: \"faShare\",\r\n },\r\n {\r\n icon: faShareAlt,\r\n name: \"faShareAlt\",\r\n },\r\n {\r\n icon: faShareAltSquare,\r\n name: \"faShareAltSquare\",\r\n },\r\n {\r\n icon: faShareSquare,\r\n name: \"faShareSquare\",\r\n },\r\n {\r\n icon: faShekelSign,\r\n name: \"faShekelSign\",\r\n },\r\n {\r\n icon: faShieldAlt,\r\n name: \"faShieldAlt\",\r\n },\r\n {\r\n icon: faShip,\r\n name: \"faShip\",\r\n },\r\n {\r\n icon: faShippingFast,\r\n name: \"faShippingFast\",\r\n },\r\n {\r\n icon: faShoePrints,\r\n name: \"faShoePrints\",\r\n },\r\n {\r\n icon: faShoppingBag,\r\n name: \"faShoppingBag\",\r\n },\r\n {\r\n icon: faShoppingBasket,\r\n name: \"faShoppingBasket\",\r\n },\r\n {\r\n icon: faShoppingCart,\r\n name: \"faShoppingCart\",\r\n },\r\n {\r\n icon: faShower,\r\n name: \"faShower\",\r\n },\r\n {\r\n icon: faShuttleVan,\r\n name: \"faShuttleVan\",\r\n },\r\n {\r\n icon: faSign,\r\n name: \"faSign\",\r\n },\r\n {\r\n icon: faSignInAlt,\r\n name: \"faSignInAlt\",\r\n },\r\n {\r\n icon: faSignLanguage,\r\n name: \"faSignLanguage\",\r\n },\r\n {\r\n icon: faSignOutAlt,\r\n name: \"faSignOutAlt\",\r\n },\r\n {\r\n icon: faSignal,\r\n name: \"faSignal\",\r\n },\r\n {\r\n icon: faSignature,\r\n name: \"faSignature\",\r\n },\r\n {\r\n icon: faSimCard,\r\n name: \"faSimCard\",\r\n },\r\n {\r\n icon: faSitemap,\r\n name: \"faSitemap\",\r\n },\r\n {\r\n icon: faSkating,\r\n name: \"faSkating\",\r\n },\r\n {\r\n icon: faSkiing,\r\n name: \"faSkiing\",\r\n },\r\n {\r\n icon: faSkiingNordic,\r\n name: \"faSkiingNordic\",\r\n },\r\n {\r\n icon: faSkull,\r\n name: \"faSkull\",\r\n },\r\n {\r\n icon: faSkullCrossbones,\r\n name: \"faSkullCrossbones\",\r\n },\r\n {\r\n icon: faSlash,\r\n name: \"faSlash\",\r\n },\r\n {\r\n icon: faSleigh,\r\n name: \"faSleigh\",\r\n },\r\n {\r\n icon: faSlidersH,\r\n name: \"faSlidersH\",\r\n },\r\n {\r\n icon: faSmile,\r\n name: \"faSmile\",\r\n },\r\n {\r\n icon: faSmileBeam,\r\n name: \"faSmileBeam\",\r\n },\r\n {\r\n icon: faSmileWink,\r\n name: \"faSmileWink\",\r\n },\r\n {\r\n icon: faSmog,\r\n name: \"faSmog\",\r\n },\r\n {\r\n icon: faSmoking,\r\n name: \"faSmoking\",\r\n },\r\n {\r\n icon: faSmokingBan,\r\n name: \"faSmokingBan\",\r\n },\r\n {\r\n icon: faSms,\r\n name: \"faSms\",\r\n },\r\n {\r\n icon: faSnowboarding,\r\n name: \"faSnowboarding\",\r\n },\r\n {\r\n icon: faSnowflake,\r\n name: \"faSnowflake\",\r\n },\r\n {\r\n icon: faSnowman,\r\n name: \"faSnowman\",\r\n },\r\n {\r\n icon: faSnowplow,\r\n name: \"faSnowplow\",\r\n },\r\n {\r\n icon: faSocks,\r\n name: \"faSocks\",\r\n },\r\n {\r\n icon: faSolarPanel,\r\n name: \"faSolarPanel\",\r\n },\r\n {\r\n icon: faSort,\r\n name: \"faSort\",\r\n },\r\n {\r\n icon: faSortAlphaDown,\r\n name: \"faSortAlphaDown\",\r\n },\r\n {\r\n icon: faSortAlphaUp,\r\n name: \"faSortAlphaUp\",\r\n },\r\n {\r\n icon: faSortAmountDown,\r\n name: \"faSortAmountDown\",\r\n },\r\n {\r\n icon: faSortAmountUp,\r\n name: \"faSortAmountUp\",\r\n },\r\n {\r\n icon: faSortDown,\r\n name: \"faSortDown\",\r\n },\r\n {\r\n icon: faSortNumericDown,\r\n name: \"faSortNumericDown\",\r\n },\r\n {\r\n icon: faSortNumericUp,\r\n name: \"faSortNumericUp\",\r\n },\r\n {\r\n icon: faSortUp,\r\n name: \"faSortUp\",\r\n },\r\n {\r\n icon: faSpa,\r\n name: \"faSpa\",\r\n },\r\n {\r\n icon: faSpaceShuttle,\r\n name: \"faSpaceShuttle\",\r\n },\r\n {\r\n icon: faSpider,\r\n name: \"faSpider\",\r\n },\r\n {\r\n icon: faSpinner,\r\n name: \"faSpinner\",\r\n },\r\n {\r\n icon: faSplotch,\r\n name: \"faSplotch\",\r\n },\r\n {\r\n icon: faSprayCan,\r\n name: \"faSprayCan\",\r\n },\r\n {\r\n icon: faSquare,\r\n name: \"faSquare\",\r\n },\r\n {\r\n icon: faSquareFull,\r\n name: \"faSquareFull\",\r\n },\r\n {\r\n icon: faSquareRootAlt,\r\n name: \"faSquareRootAlt\",\r\n },\r\n {\r\n icon: faStamp,\r\n name: \"faStamp\",\r\n },\r\n {\r\n icon: faStar,\r\n name: \"faStar\",\r\n },\r\n {\r\n icon: faStarAndCrescent,\r\n name: \"faStarAndCrescent\",\r\n },\r\n {\r\n icon: faStarHalf,\r\n name: \"faStarHalf\",\r\n },\r\n {\r\n icon: faStarHalfAlt,\r\n name: \"faStarHalfAlt\",\r\n },\r\n {\r\n icon: faStarOfDavid,\r\n name: \"faStarOfDavid\",\r\n },\r\n {\r\n icon: faStarOfLife,\r\n name: \"faStarOfLife\",\r\n },\r\n {\r\n icon: faStepBackward,\r\n name: \"faStepBackward\",\r\n },\r\n {\r\n icon: faStepForward,\r\n name: \"faStepForward\",\r\n },\r\n {\r\n icon: faStethoscope,\r\n name: \"faStethoscope\",\r\n },\r\n {\r\n icon: faStickyNote,\r\n name: \"faStickyNote\",\r\n },\r\n {\r\n icon: faStop,\r\n name: \"faStop\",\r\n },\r\n {\r\n icon: faStopCircle,\r\n name: \"faStopCircle\",\r\n },\r\n {\r\n icon: faStopwatch,\r\n name: \"faStopwatch\",\r\n },\r\n {\r\n icon: faStore,\r\n name: \"faStore\",\r\n },\r\n {\r\n icon: faStoreAlt,\r\n name: \"faStoreAlt\",\r\n },\r\n {\r\n icon: faStream,\r\n name: \"faStream\",\r\n },\r\n {\r\n icon: faStreetView,\r\n name: \"faStreetView\",\r\n },\r\n {\r\n icon: faStrikethrough,\r\n name: \"faStrikethrough\",\r\n },\r\n {\r\n icon: faStroopwafel,\r\n name: \"faStroopwafel\",\r\n },\r\n {\r\n icon: faSubscript,\r\n name: \"faSubscript\",\r\n },\r\n {\r\n icon: faSubway,\r\n name: \"faSubway\",\r\n },\r\n {\r\n icon: faSuitcase,\r\n name: \"faSuitcase\",\r\n },\r\n {\r\n icon: faSuitcaseRolling,\r\n name: \"faSuitcaseRolling\",\r\n },\r\n {\r\n icon: faSun,\r\n name: \"faSun\",\r\n },\r\n {\r\n icon: faSuperscript,\r\n name: \"faSuperscript\",\r\n },\r\n {\r\n icon: faSurprise,\r\n name: \"faSurprise\",\r\n },\r\n {\r\n icon: faSwatchbook,\r\n name: \"faSwatchbook\",\r\n },\r\n {\r\n icon: faSwimmer,\r\n name: \"faSwimmer\",\r\n },\r\n {\r\n icon: faSwimmingPool,\r\n name: \"faSwimmingPool\",\r\n },\r\n {\r\n icon: faSynagogue,\r\n name: \"faSynagogue\",\r\n },\r\n {\r\n icon: faSync,\r\n name: \"faSync\",\r\n },\r\n {\r\n icon: faSyncAlt,\r\n name: \"faSyncAlt\",\r\n },\r\n {\r\n icon: faSyringe,\r\n name: \"faSyringe\",\r\n },\r\n {\r\n icon: faTable,\r\n name: \"faTable\",\r\n },\r\n {\r\n icon: faTableTennis,\r\n name: \"faTableTennis\",\r\n },\r\n {\r\n icon: faTablet,\r\n name: \"faTablet\",\r\n },\r\n {\r\n icon: faTabletAlt,\r\n name: \"faTabletAlt\",\r\n },\r\n {\r\n icon: faTablets,\r\n name: \"faTablets\",\r\n },\r\n {\r\n icon: faTachometerAlt,\r\n name: \"faTachometerAlt\",\r\n },\r\n {\r\n icon: faTag,\r\n name: \"faTag\",\r\n },\r\n {\r\n icon: faTags,\r\n name: \"faTags\",\r\n },\r\n {\r\n icon: faTape,\r\n name: \"faTape\",\r\n },\r\n {\r\n icon: faTasks,\r\n name: \"faTasks\",\r\n },\r\n {\r\n icon: faTaxi,\r\n name: \"faTaxi\",\r\n },\r\n {\r\n icon: faTeeth,\r\n name: \"faTeeth\",\r\n },\r\n {\r\n icon: faTeethOpen,\r\n name: \"faTeethOpen\",\r\n },\r\n {\r\n icon: faTemperatureHigh,\r\n name: \"faTemperatureHigh\",\r\n },\r\n {\r\n icon: faTemperatureLow,\r\n name: \"faTemperatureLow\",\r\n },\r\n {\r\n icon: faTenge,\r\n name: \"faTenge\",\r\n },\r\n {\r\n icon: faTerminal,\r\n name: \"faTerminal\",\r\n },\r\n {\r\n icon: faTextHeight,\r\n name: \"faTextHeight\",\r\n },\r\n {\r\n icon: faTextWidth,\r\n name: \"faTextWidth\",\r\n },\r\n {\r\n icon: faTh,\r\n name: \"faTh\",\r\n },\r\n {\r\n icon: faThLarge,\r\n name: \"faThLarge\",\r\n },\r\n {\r\n icon: faThList,\r\n name: \"faThList\",\r\n },\r\n {\r\n icon: faTheaterMasks,\r\n name: \"faTheaterMasks\",\r\n },\r\n {\r\n icon: faThermometer,\r\n name: \"faThermometer\",\r\n },\r\n {\r\n icon: faThermometerEmpty,\r\n name: \"faThermometerEmpty\",\r\n },\r\n {\r\n icon: faThermometerFull,\r\n name: \"faThermometerFull\",\r\n },\r\n {\r\n icon: faThermometerHalf,\r\n name: \"faThermometerHalf\",\r\n },\r\n {\r\n icon: faThermometerQuarter,\r\n name: \"faThermometerQuarter\",\r\n },\r\n {\r\n icon: faThermometerThreeQuarters,\r\n name: \"faThermometerThreeQuarters\",\r\n },\r\n {\r\n icon: faThumbsDown,\r\n name: \"faThumbsDown\",\r\n },\r\n {\r\n icon: faThumbsUp,\r\n name: \"faThumbsUp\",\r\n },\r\n {\r\n icon: faThumbtack,\r\n name: \"faThumbtack\",\r\n },\r\n {\r\n icon: faTicketAlt,\r\n name: \"faTicketAlt\",\r\n },\r\n {\r\n icon: faTimes,\r\n name: \"faTimes\",\r\n },\r\n {\r\n icon: faTimesCircle,\r\n name: \"faTimesCircle\",\r\n },\r\n {\r\n icon: faTint,\r\n name: \"faTint\",\r\n },\r\n {\r\n icon: faTintSlash,\r\n name: \"faTintSlash\",\r\n },\r\n {\r\n icon: faTired,\r\n name: \"faTired\",\r\n },\r\n {\r\n icon: faToggleOff,\r\n name: \"faToggleOff\",\r\n },\r\n {\r\n icon: faToggleOn,\r\n name: \"faToggleOn\",\r\n },\r\n {\r\n icon: faToilet,\r\n name: \"faToilet\",\r\n },\r\n {\r\n icon: faToiletPaper,\r\n name: \"faToiletPaper\",\r\n },\r\n {\r\n icon: faToolbox,\r\n name: \"faToolbox\",\r\n },\r\n {\r\n icon: faTools,\r\n name: \"faTools\",\r\n },\r\n {\r\n icon: faTooth,\r\n name: \"faTooth\",\r\n },\r\n {\r\n icon: faTorah,\r\n name: \"faTorah\",\r\n },\r\n {\r\n icon: faToriiGate,\r\n name: \"faToriiGate\",\r\n },\r\n {\r\n icon: faTractor,\r\n name: \"faTractor\",\r\n },\r\n {\r\n icon: faTrademark,\r\n name: \"faTrademark\",\r\n },\r\n {\r\n icon: faTrafficLight,\r\n name: \"faTrafficLight\",\r\n },\r\n {\r\n icon: faTrain,\r\n name: \"faTrain\",\r\n },\r\n {\r\n icon: faTram,\r\n name: \"faTram\",\r\n },\r\n {\r\n icon: faTransgender,\r\n name: \"faTransgender\",\r\n },\r\n {\r\n icon: faTransgenderAlt,\r\n name: \"faTransgenderAlt\",\r\n },\r\n {\r\n icon: faTrash,\r\n name: \"faTrash\",\r\n },\r\n {\r\n icon: faTrashAlt,\r\n name: \"faTrashAlt\",\r\n },\r\n {\r\n icon: faTrashRestore,\r\n name: \"faTrashRestore\",\r\n },\r\n {\r\n icon: faTrashRestoreAlt,\r\n name: \"faTrashRestoreAlt\",\r\n },\r\n {\r\n icon: faTree,\r\n name: \"faTree\",\r\n },\r\n {\r\n icon: faTrophy,\r\n name: \"faTrophy\",\r\n },\r\n {\r\n icon: faTruck,\r\n name: \"faTruck\",\r\n },\r\n {\r\n icon: faTruckLoading,\r\n name: \"faTruckLoading\",\r\n },\r\n {\r\n icon: faTruckMonster,\r\n name: \"faTruckMonster\",\r\n },\r\n {\r\n icon: faTruckMoving,\r\n name: \"faTruckMoving\",\r\n },\r\n {\r\n icon: faTruckPickup,\r\n name: \"faTruckPickup\",\r\n },\r\n {\r\n icon: faTshirt,\r\n name: \"faTshirt\",\r\n },\r\n {\r\n icon: faTty,\r\n name: \"faTty\",\r\n },\r\n {\r\n icon: faTv,\r\n name: \"faTv\",\r\n },\r\n {\r\n icon: faUmbrella,\r\n name: \"faUmbrella\",\r\n },\r\n {\r\n icon: faUmbrellaBeach,\r\n name: \"faUmbrellaBeach\",\r\n },\r\n {\r\n icon: faUnderline,\r\n name: \"faUnderline\",\r\n },\r\n {\r\n icon: faUndo,\r\n name: \"faUndo\",\r\n },\r\n {\r\n icon: faUndoAlt,\r\n name: \"faUndoAlt\",\r\n },\r\n {\r\n icon: faUniversalAccess,\r\n name: \"faUniversalAccess\",\r\n },\r\n {\r\n icon: faUniversity,\r\n name: \"faUniversity\",\r\n },\r\n {\r\n icon: faUnlink,\r\n name: \"faUnlink\",\r\n },\r\n {\r\n icon: faUnlock,\r\n name: \"faUnlock\",\r\n },\r\n {\r\n icon: faUnlockAlt,\r\n name: \"faUnlockAlt\",\r\n },\r\n {\r\n icon: faUpload,\r\n name: \"faUpload\",\r\n },\r\n {\r\n icon: faUser,\r\n name: \"faUser\",\r\n },\r\n {\r\n icon: faUserAlt,\r\n name: \"faUserAlt\",\r\n },\r\n {\r\n icon: faUserAltSlash,\r\n name: \"faUserAltSlash\",\r\n },\r\n {\r\n icon: faUserAstronaut,\r\n name: \"faUserAstronaut\",\r\n },\r\n {\r\n icon: faUserCheck,\r\n name: \"faUserCheck\",\r\n },\r\n {\r\n icon: faUserCircle,\r\n name: \"faUserCircle\",\r\n },\r\n {\r\n icon: faUserClock,\r\n name: \"faUserClock\",\r\n },\r\n {\r\n icon: faUserCog,\r\n name: \"faUserCog\",\r\n },\r\n {\r\n icon: faUserEdit,\r\n name: \"faUserEdit\",\r\n },\r\n {\r\n icon: faUserFriends,\r\n name: \"faUserFriends\",\r\n },\r\n {\r\n icon: faUserGraduate,\r\n name: \"faUserGraduate\",\r\n },\r\n {\r\n icon: faUserInjured,\r\n name: \"faUserInjured\",\r\n },\r\n {\r\n icon: faUserLock,\r\n name: \"faUserLock\",\r\n },\r\n {\r\n icon: faUserMd,\r\n name: \"faUserMd\",\r\n },\r\n {\r\n icon: faUserMinus,\r\n name: \"faUserMinus\",\r\n },\r\n {\r\n icon: faUserNinja,\r\n name: \"faUserNinja\",\r\n },\r\n {\r\n icon: faUserNurse,\r\n name: \"faUserNurse\",\r\n },\r\n {\r\n icon: faUserPlus,\r\n name: \"faUserPlus\",\r\n },\r\n {\r\n icon: faUserSecret,\r\n name: \"faUserSecret\",\r\n },\r\n {\r\n icon: faUserShield,\r\n name: \"faUserShield\",\r\n },\r\n {\r\n icon: faUserSlash,\r\n name: \"faUserSlash\",\r\n },\r\n {\r\n icon: faUserTag,\r\n name: \"faUserTag\",\r\n },\r\n {\r\n icon: faUserTie,\r\n name: \"faUserTie\",\r\n },\r\n {\r\n icon: faUserTimes,\r\n name: \"faUserTimes\",\r\n },\r\n {\r\n icon: faUsers,\r\n name: \"faUsers\",\r\n },\r\n {\r\n icon: faUsersCog,\r\n name: \"faUsersCog\",\r\n },\r\n {\r\n icon: faUtensilSpoon,\r\n name: \"faUtensilSpoon\",\r\n },\r\n {\r\n icon: faUtensils,\r\n name: \"faUtensils\",\r\n },\r\n {\r\n icon: faVectorSquare,\r\n name: \"faVectorSquare\",\r\n },\r\n {\r\n icon: faVenus,\r\n name: \"faVenus\",\r\n },\r\n {\r\n icon: faVenusDouble,\r\n name: \"faVenusDouble\",\r\n },\r\n {\r\n icon: faVenusMars,\r\n name: \"faVenusMars\",\r\n },\r\n {\r\n icon: faVial,\r\n name: \"faVial\",\r\n },\r\n {\r\n icon: faVials,\r\n name: \"faVials\",\r\n },\r\n {\r\n icon: faVideo,\r\n name: \"faVideo\",\r\n },\r\n {\r\n icon: faVideoSlash,\r\n name: \"faVideoSlash\",\r\n },\r\n {\r\n icon: faVihara,\r\n name: \"faVihara\",\r\n },\r\n {\r\n icon: faVolleyballBall,\r\n name: \"faVolleyballBall\",\r\n },\r\n {\r\n icon: faVolumeDown,\r\n name: \"faVolumeDown\",\r\n },\r\n {\r\n icon: faVolumeMute,\r\n name: \"faVolumeMute\",\r\n },\r\n {\r\n icon: faVolumeOff,\r\n name: \"faVolumeOff\",\r\n },\r\n {\r\n icon: faVolumeUp,\r\n name: \"faVolumeUp\",\r\n },\r\n {\r\n icon: faVoteYea,\r\n name: \"faVoteYea\",\r\n },\r\n {\r\n icon: faVrCardboard,\r\n name: \"faVrCardboard\",\r\n },\r\n {\r\n icon: faWalking,\r\n name: \"faWalking\",\r\n },\r\n {\r\n icon: faWallet,\r\n name: \"faWallet\",\r\n },\r\n {\r\n icon: faWarehouse,\r\n name: \"faWarehouse\",\r\n },\r\n {\r\n icon: faWater,\r\n name: \"faWater\",\r\n },\r\n {\r\n icon: faWeight,\r\n name: \"faWeight\",\r\n },\r\n {\r\n icon: faWeightHanging,\r\n name: \"faWeightHanging\",\r\n },\r\n {\r\n icon: faWheelchair,\r\n name: \"faWheelchair\",\r\n },\r\n {\r\n icon: faWifi,\r\n name: \"faWifi\",\r\n },\r\n {\r\n icon: faWind,\r\n name: \"faWind\",\r\n },\r\n {\r\n icon: faWindowClose,\r\n name: \"faWindowClose\",\r\n },\r\n {\r\n icon: faWindowMaximize,\r\n name: \"faWindowMaximize\",\r\n },\r\n {\r\n icon: faWindowMinimize,\r\n name: \"faWindowMinimize\",\r\n },\r\n {\r\n icon: faWindowRestore,\r\n name: \"faWindowRestore\",\r\n },\r\n {\r\n icon: faWineBottle,\r\n name: \"faWineBottle\",\r\n },\r\n {\r\n icon: faWineGlass,\r\n name: \"faWineGlass\",\r\n },\r\n {\r\n icon: faWineGlassAlt,\r\n name: \"faWineGlassAlt\",\r\n },\r\n {\r\n icon: faWonSign,\r\n name: \"faWonSign\",\r\n },\r\n {\r\n icon: faWrench,\r\n name: \"faWrench\",\r\n },\r\n {\r\n icon: faXRay,\r\n name: \"faXRay\",\r\n },\r\n {\r\n icon: faYenSign,\r\n name: \"faYenSign\",\r\n },\r\n {\r\n icon: faYinYang,\r\n name: \"faYinYang\",\r\n },\r\n];\r\n\r\nexport default icons;\r\n","import React from \"react\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport * as Yup from \"yup\";\r\nimport { Formik } from \"formik\";\r\nimport {\r\n Button,\r\n Card,\r\n Container,\r\n Col,\r\n Row,\r\n Form,\r\n InputGroup,\r\n} from \"react-bootstrap\";\r\n\r\nconst schema = Yup.object().shape({\r\n firstName: Yup.string().required(),\r\n lastName: Yup.string().required(),\r\n username: Yup.string().required(),\r\n city: Yup.string().required(),\r\n state: Yup.string().required(),\r\n zip: Yup.string().required(),\r\n});\r\n\r\nconst FormikExample = () => (\r\n \r\n \r\n Formik\r\n
\r\n Formik example with Yup validation\r\n
\r\n
\r\n \r\n \r\n {({\r\n handleSubmit,\r\n handleChange,\r\n handleBlur,\r\n values,\r\n touched,\r\n isValid,\r\n errors,\r\n }) => (\r\n
\r\n \r\n \r\n First name\r\n \r\n Looks good!\r\n \r\n \r\n Last name\r\n \r\n\r\n Looks good!\r\n \r\n \r\n Username\r\n \r\n @\r\n \r\n \r\n {errors.username}\r\n \r\n \r\n \r\n \r\n \r\n \r\n City\r\n \r\n\r\n \r\n {errors.city}\r\n \r\n \r\n \r\n State\r\n \r\n \r\n {errors.state}\r\n \r\n \r\n \r\n Zip\r\n \r\n\r\n \r\n {errors.zip}\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n
\r\n);\r\n\r\nconst FormikPage = () => (\r\n \r\n \r\n \r\n

Formik

\r\n\r\n \r\n
\r\n
\r\n);\r\n\r\nexport default FormikPage;\r\n","import React from \"react\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport { useTable, useExpanded, TableOptions } from \"react-table\";\r\n\r\nimport { Card, Container, Table } from \"react-bootstrap\";\r\nimport { PlusCircle, MinusCircle } from \"react-feather\";\r\n\r\nimport { tableData, tableColumns } from \"./data\";\r\n\r\nconst RowExpandingTable = (props: TableOptions>) => {\r\n const { columns, data } = props;\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data,\r\n },\r\n useExpanded // Use the useExpanded plugin hook\r\n );\r\n\r\n return (\r\n \r\n \r\n Row Expanding\r\n
\r\n Expandable rows by react-table\r\n
\r\n
\r\n \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n {column.render(\"Header\")}\r\n
{cell.render(\"Cell\")}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst tableColumnsExpandable = [\r\n {\r\n // Build our expander column\r\n id: \"expander\", // Make sure it has an ID\r\n Header: ({\r\n getToggleAllRowsExpandedProps,\r\n isAllRowsExpanded,\r\n }: {\r\n getToggleAllRowsExpandedProps: any;\r\n isAllRowsExpanded: boolean;\r\n }) => (\r\n \r\n {isAllRowsExpanded ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ),\r\n Cell: ({ row }: { row: any }) =>\r\n // Use the row.canExpand and row.getToggleRowExpandedProps prop getter\r\n // to build the toggle for expanding a row\r\n row.canExpand ? (\r\n \r\n {row.isExpanded ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : null,\r\n },\r\n ...tableColumns,\r\n];\r\n\r\nconst RowExpanding = () => (\r\n \r\n \r\n \r\n

Row Expanding

\r\n\r\n \r\n
\r\n
\r\n);\r\n\r\nexport default RowExpanding;\r\n","import React from \"react\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport {\r\n useTable,\r\n useFilters,\r\n useGlobalFilter,\r\n TableOptions,\r\n} from \"react-table\";\r\n\r\nimport { Card, Container, Table, Form } from \"react-bootstrap\";\r\n\r\nimport { tableData } from \"./data\";\r\n\r\n// This is a custom UI for our 'between' or number range\r\n// filter. It uses two number boxes and filters rows to\r\n// ones that have values between the two\r\nfunction NumberRangeColumnFilter({\r\n column: { filterValue = [], preFilteredRows, setFilter, id },\r\n}: {\r\n column: any;\r\n}) {\r\n const [min, max] = React.useMemo(() => {\r\n let min = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;\r\n let max = preFilteredRows.length ? preFilteredRows[0].values[id] : 0;\r\n preFilteredRows.forEach((row: any) => {\r\n min = Math.min(row.values[id], min);\r\n max = Math.max(row.values[id], max);\r\n });\r\n return [min, max];\r\n }, [id, preFilteredRows]);\r\n\r\n return (\r\n
\r\n {\r\n const val = e.target.value;\r\n setFilter((old = []) => [\r\n val ? parseInt(val, 10) : undefined,\r\n old[1],\r\n ]);\r\n }}\r\n placeholder={`Min (${min})`}\r\n style={{\r\n width: \"110px\",\r\n }}\r\n />\r\n to\r\n {\r\n const val = e.target.value;\r\n setFilter((old = []) => [\r\n old[0],\r\n val ? parseInt(val, 10) : undefined,\r\n ]);\r\n }}\r\n placeholder={`Max (${max})`}\r\n style={{\r\n width: \"110px\",\r\n }}\r\n />\r\n
\r\n );\r\n}\r\n\r\n// This is a custom filter UI for selecting\r\n// a unique option from a list\r\nfunction SelectColumnFilter({\r\n column: { filterValue, setFilter, preFilteredRows, id },\r\n}: {\r\n column: any;\r\n}) {\r\n // Calculate the options for filtering\r\n // using the preFilteredRows\r\n const options = React.useMemo(() => {\r\n const options = new Set();\r\n preFilteredRows.forEach((row: any) => {\r\n options.add(row.values[id]);\r\n });\r\n return [...options.values()];\r\n }, [id, preFilteredRows]);\r\n\r\n // Render a multi-select box\r\n return (\r\n {\r\n setFilter(e.target.value || undefined);\r\n }}\r\n >\r\n \r\n {options.map((option: any, i: any) => (\r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nfunction DefaultColumnFilter({\r\n column: { filterValue, preFilteredRows, setFilter },\r\n}: {\r\n column: any;\r\n}) {\r\n const count = preFilteredRows.length;\r\n\r\n return (\r\n {\r\n setFilter(e.target.value || undefined); // Set undefined to remove the filter entirely\r\n }}\r\n placeholder={`Search ${count} records...`}\r\n className=\"mt-2\"\r\n />\r\n );\r\n}\r\n\r\nconst ColumnFilteringTable = (props: TableOptions>) => {\r\n const { columns, data } = props;\r\n\r\n const filterTypes = React.useMemo(\r\n () => ({\r\n // Or, override the default text filter to use\r\n // \"startWith\"\r\n text: (rows: any, id: any, filterValue: any) => {\r\n return rows.filter((row: any) => {\r\n const rowValue = row.values[id];\r\n return rowValue !== undefined\r\n ? String(rowValue)\r\n .toLowerCase()\r\n .startsWith(String(filterValue).toLowerCase())\r\n : true;\r\n });\r\n },\r\n }),\r\n []\r\n );\r\n\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n // Let's set up our default Filter UI\r\n Filter: DefaultColumnFilter,\r\n }),\r\n []\r\n );\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data,\r\n defaultColumn, // Be sure to pass the defaultColumn option\r\n filterTypes,\r\n },\r\n useFilters, // useFilters!\r\n useGlobalFilter // useGlobalFilter!\r\n );\r\n\r\n return (\r\n \r\n \r\n Column Filtering\r\n
\r\n Column filtering by react-table\r\n
\r\n
\r\n \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n {column.render(\"Header\")}\r\n {/* Render the columns filter UI */}\r\n
\r\n {column.canFilter ? column.render(\"Filter\") : null}\r\n
\r\n
{cell.render(\"Cell\")}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst tableColumns = [\r\n {\r\n Header: \"Name\",\r\n accessor: \"name\",\r\n },\r\n {\r\n Header: \"Position\",\r\n accessor: \"position\",\r\n Filter: SelectColumnFilter,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Office\",\r\n accessor: \"office\",\r\n Filter: SelectColumnFilter,\r\n filter: \"includes\",\r\n },\r\n {\r\n Header: \"Age\",\r\n accessor: \"age\",\r\n Filter: NumberRangeColumnFilter,\r\n filter: \"between\",\r\n },\r\n {\r\n Header: \"Start Date\",\r\n accessor: \"startDate\",\r\n },\r\n {\r\n Header: \"Salary\",\r\n accessor: \"salary\",\r\n Filter: false,\r\n },\r\n];\r\n\r\nconst ColumnFiltering = () => (\r\n \r\n \r\n \r\n

Column Filtering

\r\n\r\n \r\n
\r\n
\r\n);\r\n\r\nexport default ColumnFiltering;\r\n","import React from \"react\";\r\nimport { Notyf } from \"notyf\";\r\n\r\nexport default React.createContext(\r\n new Notyf({\r\n duration: 5000,\r\n position: {\r\n x: \"right\",\r\n y: \"top\",\r\n },\r\n types: [\r\n {\r\n type: \"default\",\r\n backgroundColor: \"#3B7DDD\",\r\n icon: {\r\n className: \"notyf__icon--success\",\r\n tagName: \"i\",\r\n },\r\n },\r\n {\r\n type: \"success\",\r\n backgroundColor: \"#28a745\",\r\n icon: {\r\n className: \"notyf__icon--success\",\r\n tagName: \"i\",\r\n },\r\n },\r\n {\r\n type: \"warning\",\r\n backgroundColor: \"#ffc107\",\r\n icon: {\r\n className: \"notyf__icon--error\",\r\n tagName: \"i\",\r\n },\r\n },\r\n {\r\n type: \"danger\",\r\n backgroundColor: \"#dc3545\",\r\n icon: {\r\n className: \"notyf__icon--error\",\r\n tagName: \"i\",\r\n },\r\n },\r\n ],\r\n })\r\n);\r\n","import React from \"react\";\r\nimport { useRoutes, useNavigate, Navigate } from \"react-router-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport { HelmetProvider, Helmet } from \"react-helmet-async\";\r\nimport { store } from \"../../redux/store\";\r\n\r\nimport \"../../i18n\";\r\nimport routes from \"./routes\";\r\n\r\nimport { ThemeProvider } from \"./ThemeContext\";\r\nimport { SidebarProvider } from \"../../contexts/SidebarContext\";\r\nimport { LayoutProvider } from \"../../contexts/LayoutContext\";\r\nimport ChartJsDefaults from \"../../utils/ChartJsDefaults\";\r\n\r\nimport { AuthProvider } from \"../../contexts/JWTContext\";\r\n// import { AuthProvider } from \"./contexts/FirebaseAuthContext\";\r\n// import { AuthProvider } from \"./contexts/Auth0Context\";\r\n// import { AuthProvider } from \"./contexts/CognitoContext\";\r\n\r\nconst App = () => {\r\n const content = useRoutes(routes);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {content}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import AxiosMockAdapter from \"axios-mock-adapter\";\r\n\r\nimport axios from \"../utils/axios\";\r\n\r\nconst axiosMockAdapter = new AxiosMockAdapter(axios, {\r\n delayResponse: 0,\r\n});\r\n\r\nexport default axiosMockAdapter;\r\n","import faker from \"faker\";\r\n\r\nimport mock from \"./adapter\";\r\n\r\nimport { User } from \"../types/user\";\r\nimport { verify, sign } from \"../utils/jwt\";\r\n\r\nconst JWT_SECRET = \"super-secret-key\";\r\nconst JWT_EXPIRES_IN = \"3 days\";\r\n\r\nconst users: User[] = [\r\n {\r\n id: \"a8553063-7bd5-45ed-adbe-db6f069a3802\",\r\n displayName: \"Lucy Lavender\",\r\n email: \"demo@bootlab.io\",\r\n password: \"unsafepassword\",\r\n avatar: \"/static/img/avatars/avatar-1.jpg\",\r\n },\r\n];\r\n\r\nfunction fakeRequest(time: number) {\r\n return new Promise((res) => setTimeout(res, time));\r\n}\r\n\r\nmock.onPost(\"/api/auth/sign-in\").reply(async (config) => {\r\n try {\r\n await fakeRequest(1000);\r\n\r\n const { email, password } = JSON.parse(config.data);\r\n const user = users.find((_user) => _user.email === email);\r\n\r\n if (!user) {\r\n return [\r\n 400,\r\n { message: \"There is no user corresponding to the email address.\" },\r\n ];\r\n }\r\n\r\n if (user.password !== password) {\r\n return [400, { message: \"Incorrect password\" }];\r\n }\r\n\r\n const accessToken = sign({ userId: user.id }, JWT_SECRET, {\r\n expiresIn: JWT_EXPIRES_IN,\r\n });\r\n\r\n return [200, { accessToken, user }];\r\n } catch (error) {\r\n console.error(error);\r\n return [500, { message: \"Internal server error\" }];\r\n }\r\n});\r\n\r\nmock.onPost(\"/api/auth/sign-up\").reply(async (config) => {\r\n try {\r\n await fakeRequest(1000);\r\n\r\n const { email, password, firstName, lastName } = JSON.parse(config.data);\r\n let user = users.find((_user) => _user.email === email);\r\n\r\n if (user) {\r\n return [\r\n 400,\r\n {\r\n message:\r\n \"There already exists an account with the given email address.\",\r\n },\r\n ];\r\n }\r\n\r\n user = {\r\n id: faker.datatype.uuid(),\r\n displayName: `${firstName} ${lastName}`,\r\n email,\r\n password,\r\n avatar: null,\r\n };\r\n\r\n const accessToken = sign({ userId: user.id }, JWT_SECRET, {\r\n expiresIn: JWT_EXPIRES_IN,\r\n });\r\n\r\n return [200, { accessToken, user }];\r\n } catch (error) {\r\n console.error(error);\r\n return [500, { message: \"Internal server error\" }];\r\n }\r\n});\r\n\r\nmock.onGet(\"/api/auth/my-account\").reply((config) => {\r\n try {\r\n const { Authorization } = config.headers!;\r\n\r\n if (!Authorization) {\r\n return [401, { message: \"Authorization token missing\" }];\r\n }\r\n\r\n const accessToken = (Authorization as string).split(\" \")[1];\r\n const data = verify(accessToken, JWT_SECRET);\r\n const userId = typeof data === \"object\" ? data?.userId : \"\";\r\n const user = users.find((_user) => _user.id === userId);\r\n\r\n if (!user) {\r\n return [401, { message: \"Invalid authorization token\" }];\r\n }\r\n\r\n return [200, { user }];\r\n } catch (error) {\r\n console.error(error);\r\n return [500, { message: \"Internal server error\" }];\r\n }\r\n});\r\n","const SlimEpaHeader = () => {\r\n return (\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 { SlimEpaHeader };\r\n","const SlimEpaFooter = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Copyright{\" \"}\r\n \r\n ©\r\n {\" \"}\r\n EPA\r\n 2022\r\n \r\n

\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport { SlimEpaFooter };\r\n","import \"react-app-polyfill/stable\";\r\n\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\n\r\nimport reportWebVitals from \"./utils/reportWebVitals\";\r\nimport { default as LeapApp } from \"./apps/leap/App\";\r\nimport { default as CircularEconomyApp } from \"./apps/circulareconomy/App\";\r\nimport { default as ThemeApp } from \"./apps/theme/App\";\r\n\r\nimport \"./mocks\";\r\nimport { SlimEpaHeader } from \"./layouts/SlimEpaHeader\";\r\nimport { SlimEpaFooter } from \"./layouts/SlimEpaFooter\";\r\n\r\n// if using \"/docs\" in the pathname, don't use React Router, and serve the server response normally\r\nif (process.env.REACT_APP_NAME === \"leap\") {\r\n if (window.location.pathname !== \"/docs\") {\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n );\r\n }\r\n} else if (process.env.REACT_APP_NAME === \"circulareconomy\") {\r\n if (window.location.pathname !== \"/docs\") {\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n );\r\n }\r\n} else if (process.env.REACT_APP_NAME === \"theme\") {\r\n if (window.location.pathname !== \"/docs\") {\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n );\r\n }\r\n}\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}