{"version":3,"sources":["Utility/Repo.js","Assets/Img/logo.png","Assets/Img/logoServizi.png","Layout/Footer.js","Layout/Header.js","Layout/Breadcrumb.js","Components/ModalComponent.js","Components/Loader.js","Components/TokenContext.js","Components/Pagination.js","Components/TabellaIsee.js","Page/Operator/ListRanges.js","Components/CardHome.js","Page/Operator/Home.js","Page/Operator/ListISEEUploaded.js","Page/Operator/ListISEEValidated.js","Components/Select.js","Components/StateTranslate.js","Page/Operator/ListAnnouncements.js","Components/Badge.js","Components/Icon.js","Utility/labelsLoader.js","Page/Operator/ListFlows.js","Components/UserDataComponent.js","Components/listPaymentsUser.js","Page/Operator/ListPayments.js","Components/ListPaymentsOperator.js","Page/Operator/ListPaymentsStatus.js","Page/Operator/CheckISEE.js","Components/ViewPDF.js","Page/Operator/ViewISEE.js","Page/Operator/EditRange.js","Assets/Img/upload.svg","Components/UploadFile.js","Page/Operator/UploadISEE.js","Page/Operator/NewRange.js","Page/Operator/ListUsers.js","Page/Operator/ListServices.js","Page/Operator/NewService.js","Components/listaProvince.js","Components/listaNazioni.js","Components/AlertMessage.js","Page/Operator/NewUser.js","Components/SelectComponent.js","Page/Operator/EditUser.js","Page/Operator/EditService.js","Page/Delegate/HomeDelegate.js","Components/ValidISEE.js","Components/ValidUser.js","Page/User/HomeUser.js","Page/User/UploadISEE.js","Page/User/ListAnnouncementsServices.js","Page/User/UserProfile.js","Page/Operator/NewAnnouncement.js","Page/Operator/EditAnnouncement.js","Components/ListIsee.js","Components/BodyGenerateCsv.js","Components/ListUsers.js","Page/Operator/AnnouncementDetail.js","Page/User/ViewAnnouncements.js","Page/User/Help.js","Page/NoLogin/Home.js","Page/User/Subscription.js","Page/Operator/Configuration.js","Page/NoLogin/ViewAnnouncements.js","Page/Common/PrivacyPolicy.js","Layout/Body.js","App.js","index.js"],"names":["hub_url","Cookies","process","Repo","getListaServizi","token","flag","axios","method","url","configuration","HUB_PATH_GET_LISTA_SERVIZI","headers","Authorization","Accept","params","getMunicipi","config","HUB_PATH_GET_MUNICIPI","getLabels","HUB_PATH_GET_LABELS","getIseeList","HUB_PATH_GET_ISEE_LIST","getIseeListUploaded","HUB_PATH_GET_ISEE_LIST_UPLOADED","getIseeListValidated","HUB_PATH_GET_ISEE_LIST_VALIDATED","postValueIseeOCR","id","HUB_PATH_GET_VALUE_ISEE","getIsee","HUB_PATH_GET_ISEE","deleteIsee","HUB_PATH_POST_REMOVE_ISEE","getServices","HUB_PATH_GET_SERVICES_LIST","getUserServices","HUB_PATH_GET_USER_SERVICES_LIST","getOneServices","HUB_PATH_GET_ONE_SERVICE","postUpdateService","obb","HUB_PATH_POST_UPDATE_SERVICE","data","postInsertService","HUB_PATH_POST_INSERT_SERVICES","deleteService","HUB_PATH_POST_DELETE_SERVICE","postSendIsee","HUB_PATH_POST_SEND_ISEE","postSendIseeOperator","HUB_PATH_POST_SEND_ISEE_OPERATOR","postConfirmIsee","HUB_PATH_POST_CONFIRM_ISEE","getUsersList","HUB_PATH_GET_USERS_LIST","postInsertUser","HUB_PATH_POST_INSERT_USER","postCSVImport","HUB_PATH_POST_IMPORT_CSV","getUserOperator","userId","HUB_PATH_GET_USER_OPERATOR","getPayment","iuv","fiscalCode","referer","HUB_PATH_GET_PAYMENT","window","location","href","postUpdateUser","HUB_PATH_UPDATE_USER","postUpdatePosizioneDebitoria","HUB_PATH_UPDATE_PAGAMENTO","postUpdateUserStatus","console","log","HUB_PATH_POST_USER_STATUS","poutUpdatePaidOp","obj","HUB_PATH_GET_POST_PAYMENT_SUCCESS","postSendEmail","HUB_PATH_POST_PAYMENT_SEND_EMAIL","postDeleteUser","HUB_PATH_DELETE_USER","getUserInfo","a","HUB_PATH_USER_INFO","getUsersLoadedCount","HUB_PATH_GET_USER_STATUS_COUNT_LOADED","getRangesList","HUB_PATH_GET_RANGES_LIST","postDeleteRange","rangeId","HUB_PATH_DELETE_RANGE","postInsertRange","HUB_PATH_POST_INSERT_RANGE","getRangeById","HUB_PATH_GET_RANGE","postUpdateRange","HUB_PATH_POST_UPDATE_RANGE","getConfiguration","HUB_PATH_GET_CONFIGURATION","postUpdateConfiguration","HUB_PATH_POST_UPDATE_CONFIGURATION","getAnnouncementsByService","HUB_PATH_GET_ANNOUNCEMENT_BY_SERVICE","generateCsv","responseType","HUB_PATH_POST_GENERATE_CSV","mese","anno","sendMyPay","fiscalcode","HUB_PATH_POST_SEND_MYPAY","getAnnouncementsByServiceOperator","HUB_PATH_GET_ANNOUNCEMENT_BY_SERVICE_OPERATOR","getPagamentiUtenti","HUB_PATH_GET_USER_PAYMENT","getPagamentiUtentiOperator","HUB_PATH_GET_USER_PAYMENT_OPERETOR","getAnnouncementsOperator","postUser","HUB_PATH_POST_USER","postEmail","HUB_PATH_POST_EMAIL","postInsertSession","HUB_PATH_POST_INSERT_SESSION","postUpdateSession","HUB_PATH_POST_UPDATE_SESSION","deleteSession","HUB_PATH_POST_DELETE_SESSION","getUser","HUB_PATH_GET_USER","getSessionById","sessionId","HUB_PATH_GET_SESSION_BY_ID","getSessionByIdUser","HUB_PATH_GET_SESSION_BY_ID_USER","InviaFlussoEmail","identificativoFlusso","HUB_PATH_INVIA_EMAIL_FLUSSO","postSubscribeUserFromOperator","HUB_PATH_POST_SUBSCRIBE_USER_FROM_OPERATOR","postConfirmUser","HUB_PATH_POST_CONFIRM_DENY_SUBSCRIPTION","postUnsubscribeUser","HUB_PATH_POST_UNSUBSCRIBE","HUB_PATH_GET_ISCRIZIONI","HUB_PATH_POST_ISCRIZIONE","HUB_PATH_POST_UPDATE_RANKING","HUB_PATH_GET_ANNOUNCEMENT_BACHECA","HUB_PATH_POST_EXPORT_SUBSCRIPTION","HUB_PATH_DOWNLOAD_FILE_OPERATOR","HUB_PATH_DOWNLOAD_CSV_OPERATOR","HUB_PATH_DOWNLOAD_FILE_USER","HUB_PATH_VALIDATE_CSV_BY_TOKEN","HUB_PATH_GET_LISTA_PAGAMENTI_OPERATOR","HUB_PATH_GET_LISTA_PAGAMENTI_FILTRO_OPERATOR","HUB_PATH_GET_LISTA_PAGAMENTI_USER","bool","HUB_PATH_GET_IUV_FILE_USER","HUB_PATH_GET_IUV_FILE_OPERATOR","HUB_PATH_POST_LIST_FLOWS","HUB_PATH_POST_DELETE_FILE","HUB_PATH_GET_RENDICONTAZIONE","Footer","props","className","alt","height","width","src","logo","target","logoServizi","title","MemoizedFooter","React","memo","Header","useCookies","cookies","useState","api_token","apiToken","isOperator","setIsOperator","innerWidth","setWidth","useLocation","auth_url","queryParameters","protocol","host","subfolder","useEffect","handleResize","addEventListener","removeEventListener","user_profile","WorkingEntityId","style","fontSize","linksEsterni","length","map","linkObb","index","to","Url","Title","iconSprite","Name","position","willChange","top","left","transform","xlinkHref","AUTH_PATH_LOGOUT","AUTH_PATH_LOGIN","type","display","shadow","sticky","links","linkName","testo","pathname","toLowerCase","replace","includes","MemoizedHeader","Breadcrumb","linkHistory","setLink","history","useHistory","isLast","isLastButOne","capitalizeFirstLetter","string","charAt","toUpperCase","slice","split","x","join","onClick","goBack","cursor","noService","ModalComponent","Modal","isOpen","toggle","toggleModal","size","labelledBy","ModalHeader","header","ModalBody","body","ModalFooter","buttonConfirm","color","function","buttonDeny","Loader","TokenContext","createContext","Pagination","pageCount","setPageCount","itemOffset","setItemOffset","endOffset","itemsPerPage","setCurrentItems","items","Math","ceil","previousLabel","nextLabel","breakLabel","marginPagesDisplayed","pageRangeDisplayed","onPageChange","event","newOffset","selected","containerClassName","pageClassName","pageLinkClassName","previousClassName","previousLinkClassName","nextClassName","nextLinkClassName","breakClassName","breakLinkClassName","activeClassName","initialPage","TabellaIsee","bands","scope","name","parseFloat","min","toLocaleString","max","percent","fixedCost","Fragment","ListRanges","useContext","rangesList","setRangesList","rangesListTemp","setRangesListTemp","removableRange","setRemovableRange","isAlertVisible","setIsAlertVisible","loading","setLoading","then","response","catch","error","timer","setTimeout","clearTimeout","status","role","bottom","right","backgroundColor","zIndex","CardHome","titolo","descrizione","link","badge","lunghezza","last","cards","Home","setISEEList","setCardsState","setLoadedUser","el","item","parseInt","e2","ListISEEUploaded","ISEEList","ISEEListTemp","setISEEListTemp","ISEEId","reload","user","firstName","lastName","date","value","year","colSpan","ListISEEValidated","defaultProps","SelectBase","icon","clearText","DropdownIndicator","ariaHidden","Option","styles","container","provided","control","borderRadius","borderLeft","borderRight","borderTop","borderBottom","boxShadow","fontWeight","dropdownIndicator","fill","option","isDisabled","isFocused","isSelected","background","textDecoration","fontFamily","placeholder","singleValue","valueContainer","Select","CustomClearText","selectComponents","components","IndicatorSeparator","isClearable","ClearIndicator","clearIndicatorProps","children","innerProps","ref","restInnerProps","padding","StateTranslate","text","trasform","toString","ListAnnouncements","servizi","setServizi","servizioTemp","setServizioTemp","URLSearchParams","search","announcementsList","setAnnouncementsList","announcementsListTemp","setAnnouncementsListTemp","removableSession","setRemovableSession","defaultMenuIsOpen","required","options","onChange","e","filterSessions","isSearchable","service","state","Badge","badgeStatus","badgeText","Icon","spanText","LabelsLoader","labels","setLabels","fetchLabels","ListFlows","changeArray","flows","setFlows","flowsTemp","setFlowsTemp","flowsTemp2","showFileToggle","toggleModalShowFile","file","isAlertErrorVisible","setIsAlertErrorVisible","stato","getStatoImport","currentStato","getStatoFile","postListFlows","JSON","stringify","expandedRow","urlFileAvvisi","urlFileIUV","urlFileScarti","flussimypay","tuttiflussi","isEmailSent","announcement","num","available","requestToken","ValidateCSVByToken","disabled","UserDataComponent","operator","setOperator","userData","setUserData","delegate","setDelegate","setUser","citizen","setCitizen","decoded","jwt_decode","FullName","ListPaymemtsUsers","showModalDetail","setShowModalDetail","showModalMail","setShowModalMail","selectedIUV","setSelectedIUV","setFile","formData","setFormData","setError","showPayments","getIuvUser","document","createElement","handleChange","prevData","payments","isPagato","importoDovuto","importoTotalePagato","codIuv","paymentsTemp","setPayments","htmlFor","readOnly","Message","handleSave","onClose","bodyMail","ListPayments","query","setPaymentsTemp","get","getListPaymentOperator","ListPaymentsOperator","setItemsPerPage","currentItems","orderBy","setOrderBy","sortedPayments","useMemo","clonedPayments","sort","b","importoTotale","cognome","localeCompare","nome","sortPayments","label","selectedOption","getOrderLabel","codiceFiscale","telefono","email","minimumFractionDigits","maximumFractionDigits","paymentIds","selectedData","cleanedData","today","Date","toISOString","nomeBando","fileName","worksheet","XLSX","json_to_sheet","workbook","book_new","book_append_sheet","excelBuffer","bookType","blob","Blob","saveAs","alert","ListPaymemtsStatus","chkNoSendMail","announcementId","filter","setFilter","setNomeBando","getListPaymentFilterOperator","announcementOptions","setAnnouncementOptions","fetchAnnouncements","Error","checked","prevFilter","find","RegExp","CheckISEE","setValue","valueOCR","setValueOCR","validation","setValidation","isOpenRefuse","toggleModalRefuse","setData","idIsee","setIdIsee","message","valueWithoutComma2","floatValue","formattedValue","confirmIsee","passedValidation","tempData","dataJson","refuseIsee","sendISEEApi","infoText","ViewPDF","EditRange","range","setRange","setIsDisabled","perc","checkPercentage","step","rangeEditValidation","UploadFile","styled","button","hiddenFileInput","useRef","getBase64","Promise","resolve","reader","FileReader","readAsDataURL","onload","result","onerror","typeFile","files","setErrorMessage","fileUploaded","base64File","handleFile","current","click","upload","testoInterno","accept","testoCaricamento","number","UploadISEE","uploadISEE","setUploadISEE","validationISEE","setValidationISEE","skipValidationISEE","setSkipValidationISEE","setUserId","errorMessage","setYear","setDate","d","moment","format","sendISEE","splitBase64","match","inputValue","trim","NewRange","marginLeft","newRangeValidation","ListUsers","usersListTemp","setUsersListTemp","usersList","setUsersList","removableUser","setRemovableUser","entrato","setEntrato","phoneNumber","loaded","myObj","paramLoaded","updatedFilter","isees","hasFile","dataInsert","ListServices","servicesList","setServicesList","serviceId","setServiceId","code","description","NewService","setName","setDescription","setCode","sendServiceApi","sendService","PROVINCE","NAZIONI","AlertMessage","isVisible","showError","NewUser","validationEmail","setValidationEmail","validationCF","setValidationCF","listaProvince","listaNazioni","listaMunicipi","setListaMunicipi","apiError","setApiError","nazionePredefinita","setNazionePredefinita","birthDate","address","addressNumber","cap","country","city","nation","municipioId","opzione","emailPec","municipio","Object","entries","key","newUserValidation","SelectComponent","isRequired","columnClass","getOptionLabel","getOptionValue","EditUser","isOpenState","toggleModalState","validationBirth","setValidationBirth","userIsees","setUserIsees","userIseesTemp","setUserIseesTemp","userSubscriptions","setUserSubscriptions","userSubscriptionsTemp","setUserSubscriptionsTemp","idTransazione","EsitoWisp","FaultWisp","IdentificativoPagamenti","IUV","subscriptions","getPayments","CambiaStatoUtente","userState","Array","isArray","isValid","birthdate","userEditValidation","uploadIsee","y","EditService","dataTemp","setDataTemp","serviceName","setServiceName","rows","HomeDelegate","ValidISEE","isValidISEE","setIsValidISEE","msg","setMsg","getUserAPI","lastISEE","shift","dangerouslySetInnerHTML","__html","ValidUser","setIsValid","HomeUser","services","setServices","announcementsBacheca","setAnnouncementsBacheca","isMounted","getAnnouncementsBacheca","fetchData","bandi_aperti","elenco_servizi","rel","UserProfile","scrollTo","offsetHeight","NewAnnouncement","setSelectedService","arrRanges1","setArrRanges1","arrRangesFilter1","setArrRangesFilter1","arrRangesTemp1","setArrRangesTemp1","arrRanges2","setArrRanges2","arrRangesTemp2","setArrRangesTemp2","filterRange","setFilterRange","uploadFile1","setUploadFile1","uploadFile2","setUploadFile2","uploadFile3","setUploadFile3","uploadFile4","setUploadFile4","uploadFile5","setUploadFile5","count","setCount","addFile","getFullYear","cost","bandsId","handleChangeRange","fixedcost","prevState","arr","transferRange","concat","some","obj2","arr2","returnVarName","codAccertamento","codCapitolo","nomeMyPay","temp","i","push","checkSession","border","testoTitolo","EditAnnouncement","undefined","stati","setStatoTemp","session","setSession","loadedRanges","setLoadedRanges","setMax","announcementFiles","rangesInit","deleteFile","deleteFileOperator","showFile","downloadFileOperator","o","nomecampo1","storageFileId","ListIsee","BodyGenerateCsv","sendImportCSV","setSendImportCSV","month","changeSort","setChangeSort","changeSortRanking","setChangeSortRanking","isOpenUnsubscribe","toggleModalUnsubscribe","setId","editScore","toggleModalEditScore","setSetFiscalcode","setAnnouncementId","isOpenRefuseUser","toggleRefuseUserModal","isOpenSuspendUser","toggleSuspendUserModal","isError","toggleModalErros","isOpenReactiveUser","toggleReactiveUserModal","isOpenReactiveRefusedUser","toggleReactiveRefusedUserModal","isOpenConfirmUser","toggleModalConfirmUser","isOpenConfirmHours","toggleModalConfirmHours","isOpenCSVUpload","editHours","toggleModalEditHours","isOpenGenerateCSV","toggleModalGenerateCSV","weeklyHour","setWeeklyHour","setWeeklyHourValidation","rankingScore","editScoreData","setEditScoreData","editHoursData","setEditHoursData","suspendUser","sub","apiGet","viewToggleModalErros","finally","apiTokens","downloadCsvOperator","URL","createObjectURL","setAttribute","toLocaleDateString","appendChild","confirmUser","sendRanking","postUpdateRanking","bodyRanking","setSub","sessionSubscriptionTemp","toggleModalImport","isOpenImport","downloadList","newArray","newArray2","sessionSubscriptionTemp2","subscription","subscription2","setSessionSubscriptionTemp2","setSessionSubscriptionTemp","reverse","sortTable","setFilterSubscribed","filterSubscribed","confirmed","sessionSubscription","setSessionSubscription","sendHours","AnnouncementDetail","setChangeArray","setService","errorImport","setErrorImport","toggleModalCSVUpload","isOpenRendicontazione","toggleModalRendicontazione","alertMessage","setAlertMessage","subscribeError","setSubscribeError","alertShow","setAlertShow","uploadImport","setUploadImport","errorMessageImport","setErrorMessageImport","isUpdateIsees","setIsUpdateIsees","isRemoveOldSubscriptions","setIsRemoveOldSubscriptions","isOpenSubscribeUserOperator","toggleModalSubscribeUserOperator","fileContentBase64","contentType","updateIsees","removeOldSubscriptions","sendFile","sortedSubscriptions","subscribeUser","behavior","sendFilter","checkConfirmed","verificaCsv","inviaCsv","rendicontazione","getListSubscription","url2","open","focus","sendUrlPage","getRendicontazione","uploadList","ViewAnnouncements","isOpenResult","toggleModalResult","isOpenError","toggleModalError","subscriptionsId","messageError","setMessageError","countRender","setCountRender","getListPaymentUser","downloadFileUser","fileListDownload","subscriptionFiles","listBase64","postSubscriptionUser","sendSubscription","Help","servizioSelected","setServizioSelected","emailUser","subject","messageSend","setMessageSend","getServiziAPI","sendMessageAPI","tempArray","Supporto","aiuto","nameEvent","cols","maxLength","attenzione","Subscription","subscriptionsList","setSubscriptionsList","subscriptionsListTemp","setSubscriptionsListTemp","subscriptionsListTemp2","setSubscriptionsListTemp2","getIscrizioni","stateMappings","VALIDATED","SUSPENDED","ADDED","REFUSED","filterSub","Configuration","azione","codUfficio","codeConfig","flgGeneraIuv","tipoDovuto","tipoIdentificativoUnivoco","datiSpecificiRiscossione","tipoVersamento","validateConfiguration","PrivacyPolicy","dataHtml","fetch","res","err","content","Body","isDelegate","setIsDelegate","isCitizen","setIsCitizen","setCodiceFiscale","PageNotFound","useLayoutEffect","FiscalCode","exact","path","userDataStatus","ListAnnouncementsServices","ViewISEE","element","App","interval","showButton","setShowButton","userStatus","setUserStatus","setUserDataStatus","setInterval","localStorage","clear","listaLinkUser","listaLinkDelegate","listaLinkOperator","listaLink","handleScrollButtonVisibility","pageYOffset","marginTop","Provider","basename","createRoot","getElementById","render"],"mappings":"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MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,kBACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,wBACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,kBACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,kBACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,uBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,OC3aE2U,GAAU,CACrB,CACE1J,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,kBACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,kBACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,oBACPjL,MAAO,MAET,CACEiL,MAAO,sBACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,0BACPjL,MAAO,MAET,CACEiL,MAAO,yBACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,oBACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,0BACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,oBACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,iBACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,sBACPjL,MAAO,MAET,CACEiL,MAAO,8BACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,6BACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,wBACPjL,MAAO,MAET,CACEiL,MAAO,0BACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,uBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,gBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,iBACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,oBACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,0BACPjL,MAAO,MAET,CACEiL,MAAO,iBACPjL,MAAO,MAET,CACEiL,MAAO,iBACPjL,MAAO,MAET,CACEiL,MAAO,0BACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,wBACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,oBACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,wBACPjL,MAAO,MAET,CACEiL,MAAO,yBACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,iBACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,cACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,oBACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,YACPjL,MAAO,MAET,CACEiL,MAAO,0BACPjL,MAAO,MAET,CACEiL,MAAO,6BACPjL,MAAO,MAET,CACEiL,MAAO,mBACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,aACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,OACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,QACPjL,MAAO,MAET,CACEiL,MAAO,kBACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,qBACPjL,MAAO,MAET,CACEiL,MAAO,uBACPjL,MAAO,MAET,CACEiL,MAAO,eACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,SACPjL,MAAO,MAET,CACEiL,MAAO,WACPjL,MAAO,MAET,CACEiL,MAAO,UACPjL,MAAO,MAET,CACEiL,MAAO,aAC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","file":"static/js/main.f1943197.chunk.js","sourcesContent":["import axios from \"axios\";\r\nimport configuration from \"./config.json\";\r\nimport Cookies from \"universal-cookie\";\r\nconst cookies = new Cookies();\r\n\r\nconst hub_url = process.env.REACT_APP_HUB_URL;\r\n\r\nconst auth_url = process.env.REACT_APP_AUTH_URL;\r\n\r\nvar clientId = \"comune_bari\";\r\n\r\nvar entityId = \"9ca287ff-f114-4c3b-8c8d-8289de59d44d\";\r\n\r\nconst Repo = {\r\n getListaServizi: (token, flag) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_LISTA_SERVIZI +\r\n \"?idSettore=\" +\r\n flag,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n\r\n params: {},\r\n }),\r\n\r\n getMunicipi: (token) => {\r\n var config = {\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_MUNICIPI,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n\r\n\r\n getLabels: () => {\r\n var config = {\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_LABELS,\r\n \r\n };\r\n return axios(config);\r\n },\r\n\r\n\r\n\r\n\r\n getIseeList: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_ISEE_LIST,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getIseeListUploaded: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_ISEE_LIST_UPLOADED,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getIseeListValidated: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_ISEE_LIST_VALIDATED,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n postValueIseeOCR: (token, id) =>\r\n axios({\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_GET_VALUE_ISEE + \"?id=\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getIsee: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_ISEE + \"?id=\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n deleteIsee: (token, id) =>\r\n axios({\r\n method: \"delete\",\r\n url: hub_url + configuration.HUB_PATH_POST_REMOVE_ISEE + \"?id=\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getServices: (token) => {\r\n var config = {\r\n method: \"get\",\r\n url: hub_url + configuration.HUB_PATH_GET_SERVICES_LIST,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n getUserServices: (token) => {\r\n var config = {\r\n method: \"get\",\r\n url: hub_url + configuration.HUB_PATH_GET_USER_SERVICES_LIST,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n getOneServices: (token, id) => {\r\n var config = {\r\n method: \"get\",\r\n url: hub_url + configuration.HUB_PATH_GET_ONE_SERVICE + \"?id=\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n postUpdateService: (token, obb) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_UPDATE_SERVICE,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n postInsertService: (token, obb) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_INSERT_SERVICES,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n deleteService: (token, id) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_DELETE_SERVICE + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n postSendIsee: (token, obb) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_SEND_ISEE,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n postSendIseeOperator: (token, obb) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_SEND_ISEE_OPERATOR,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n postConfirmIsee: (token, obb) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_CONFIRM_ISEE,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n getUsersList: (token, obb) =>\r\n axios({\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_GET_USERS_LIST,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n data: obb,\r\n }),\r\n\r\n postInsertUser: (token, obb) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_INSERT_USER,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n postCSVImport: (token, obb, id) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_IMPORT_CSV + \"/\"+ id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obb,\r\n };\r\n\r\n return axios(config);\r\n },\r\n\r\n getUserOperator: (token, userId) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_USER_OPERATOR + \"/\" + userId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getPayment: (token, iuv, fiscalCode, referer) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_PAYMENT +\r\n iuv +\r\n (fiscalCode ? \"?fiscalcode=\" + fiscalCode : \"\")\r\n + (referer ? \"&referer=\" + window.location.href : \"\"),\r\n\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n postUpdateUser: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_UPDATE_USER,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n postUpdatePosizioneDebitoria: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_UPDATE_PAGAMENTO,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n\r\n\r\n\r\n postUpdateUserStatus: (token, userId) => {\r\n console.log(userId);\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_USER_STATUS + \"?userId=\" + userId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\npoutUpdatePaidOp:(token,obj) => {\r\nvar config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_GET_POST_PAYMENT_SUCCESS,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obj,\r\n };\r\nreturn axios(config);\r\n},\r\n \r\n\r\npostSendEmail:(token,iuv,userId) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_PAYMENT_SEND_EMAIL + \"/\" + iuv +\"/\" + userId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n \r\n\r\n\r\n\r\n postDeleteUser: (token, userId) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_DELETE_USER + \"/\" + userId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n getUserInfo: async (token) =>\r\n await axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_USER_INFO,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getUsersLoadedCount: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_USER_STATUS_COUNT_LOADED,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n\r\n \r\n\r\n\r\n getRangesList: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_RANGES_LIST,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n postDeleteRange: (token, rangeId) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_DELETE_RANGE + \"?id=\" + rangeId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n postInsertRange: (token, obj) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_INSERT_RANGE,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obj,\r\n };\r\n return axios(config);\r\n },\r\n\r\n getRangeById: (token, rangeId) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_RANGE + \"?id=\" + rangeId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n postUpdateRange: (token, obj) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_UPDATE_RANGE,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obj,\r\n };\r\n return axios(config);\r\n },\r\n\r\n getConfiguration: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_CONFIGURATION,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n postUpdateConfiguration: (token, obj) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_UPDATE_CONFIGURATION,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: obj,\r\n };\r\n return axios(config);\r\n },\r\n\r\n getAnnouncementsByService: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url + configuration.HUB_PATH_GET_ANNOUNCEMENT_BY_SERVICE + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n generateCsv: (token, id, data) =>\r\n axios({\r\n responseType: \"arraybuffer\",\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_POST_GENERATE_CSV +\r\n \"/\" +\r\n id +\r\n \"?mounth=\" +\r\n data.mese +\r\n \"&year=\" +\r\n data.anno,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"text/csv\",\r\n },\r\n responseType: \"blob\",\r\n }),\r\n\r\n sendMyPay: (token, id, data, fiscalcode) => {\r\n // Costruzione dell'URL con i parametri mounth e year\r\n let url =\r\n hub_url +\r\n configuration.HUB_PATH_POST_SEND_MYPAY +\r\n \"/\" +\r\n id +\r\n \"?mounth=\" +\r\n data.mese +\r\n \"&year=\" +\r\n data.anno;\r\n \r\n // Aggiunta del parametro fiscalcode solo se non è vuoto o nullo\r\n if (fiscalcode) {\r\n url += \"&fiscalcode=\" + fiscalcode;\r\n }\r\n \r\n // Creazione della richiesta Axios\r\n return axios({\r\n method: \"GET\",\r\n url: url,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n });\r\n },\r\n\r\n getAnnouncementsByServiceOperator: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_ANNOUNCEMENT_BY_SERVICE_OPERATOR +\r\n \"/\" +\r\n id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n getPagamentiUtenti: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_USER_PAYMENT,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getPagamentiUtentiOperator: (token, fiscalCode) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_USER_PAYMENT_OPERETOR +\r\n \"?fiscalcode=\" +\r\n fiscalCode,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getAnnouncementsOperator: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url + configuration.HUB_PATH_GET_ANNOUNCEMENT_BY_SERVICE_OPERATOR,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n postUser: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_USER,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n postEmail: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_EMAIL,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n postInsertSession: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_INSERT_SESSION,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n postUpdateSession: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_UPDATE_SESSION,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n deleteSession: (token, id) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_DELETE_SESSION + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n getUser: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_USER,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getSessionById: (token, sessionId) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_SESSION_BY_ID + sessionId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getSessionByIdUser: (token, sessionId) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_SESSION_BY_ID_USER + sessionId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n InviaFlussoEmail: (token, identificativoFlusso) =>\r\n axios({\r\n method: \"POST\",\r\n url: hub_url + configuration.HUB_PATH_INVIA_EMAIL_FLUSSO + \"/\" + identificativoFlusso,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n\r\n\r\n\r\n postSubscribeUserFromOperator: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_SUBSCRIBE_USER_FROM_OPERATOR,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n postConfirmUser: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_CONFIRM_DENY_SUBSCRIPTION,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n//postUnsubscribeUser(token, id, userId)\r\n postUnsubscribeUser: (token,id, userId) => {\r\n var config = {\r\n method: \"post\",\r\n url:\r\n hub_url + configuration.HUB_PATH_POST_UNSUBSCRIBE + \"/\" +id+ \"/\" + \"?userId=\" + userId,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n getListaServizi: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_LISTA_SERVIZI,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getIscrizioni: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_ISCRIZIONI,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n postSubscriptionUser: (token, data) =>\r\n axios({\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_ISCRIZIONE,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n data: data,\r\n }),\r\n\r\n postUpdateRanking: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_UPDATE_RANKING,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n getAnnouncementsBacheca: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_ANNOUNCEMENT_BACHECA,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n }),\r\n\r\n getListSubscription: (token, id) =>\r\n axios({\r\n responseType: \"arraybuffer\",\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_POST_EXPORT_SUBSCRIPTION + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"text/csv\",\r\n },\r\n responseType: \"blob\",\r\n }),\r\n\r\n downloadFileOperator: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_DOWNLOAD_FILE_OPERATOR + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n downloadCsvOperator: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_DOWNLOAD_CSV_OPERATOR,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n downloadFileUser: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_DOWNLOAD_FILE_USER + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n ValidateCSVByToken: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_VALIDATE_CSV_BY_TOKEN + \"/\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getListPaymentOperator: (token, id, fiscalCode) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_LISTA_PAGAMENTI_OPERATOR +\r\n (fiscalCode ? \"?fiscalcode=\" + fiscalCode : \"?subscriptionId=\" + id),\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\ngetListPaymentFilterOperator: (token,data) =>\r\n axios({\r\n method: \"POST\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_LISTA_PAGAMENTI_FILTRO_OPERATOR,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n data: data,\r\n }),\r\n\r\n getListPaymentUser: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_LISTA_PAGAMENTI_USER +\r\n \"?subscriptionId=\" +\r\n id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getIuvUser: (token, id, bool) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_IUV_FILE_USER +\r\n \"/\" +\r\n id +\r\n \"/\" +\r\n bool,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n getIuvOperator: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_IUV_FILE_OPERATOR +\r\n \"/\" +\r\n id +\r\n \"/\" +\r\n bool,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n\r\n postListFlows: (token, data) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_LIST_FLOWS,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: data,\r\n };\r\n return axios(config);\r\n },\r\n\r\n deleteFileOperator: (token, id) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_DELETE_FILE + \"?id=\" + id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n };\r\n return axios(config);\r\n },\r\n\r\n getRendicontazione: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_GET_RENDICONTAZIONE +\r\n \"?annuncementId=\" +\r\n id,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n params: {},\r\n }),\r\n};\r\n\r\nexport default Repo;\r\n","export default __webpack_public_path__ + \"static/media/logo.3733f1d3.png\";","export default __webpack_public_path__ + \"static/media/logoServizi.9abbdb99.png\";","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport logo from \"../Assets/Img/logo.png\";\r\nimport logoServizi from \"../Assets/Img/logoServizi.png\";\r\n\r\nfunction Footer(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Footer;\r\nexport const MemoizedFooter = React.memo(Footer);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Headers, SlimHeaderFullResponsive } from \"design-react-kit\";\r\nimport configuration from \"../Utility/config.json\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport logo from \"../Assets/Img/logo.png\";\r\nimport Repo from \"../Utility/Repo\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport { useCookies } from \"react-cookie\";\r\n\r\nfunction Header(props) {\r\n const [cookies] = useCookies();\r\n const [apiToken] = useState(cookies.api_token);\r\n const [isOperator, setIsOperator] = useState(false);\r\n const [width, setWidth] = useState(window.innerWidth);\r\n let location = useLocation();\r\n const auth_url = process.env.REACT_APP_AUTH_URL;\r\n const entity_url = process.env.REACT_APP_ENTITY_URL;\r\n\r\n const queryParameters =\r\n \"?returnUrl=\" +\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.host +\r\n props.subfolder +\r\n entity_url;\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWidth(window.innerWidth);\r\n }\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [width]);\r\n\r\n useEffect(() => {\r\n if (cookies.user_profile) {\r\n if (cookies.user_profile.WorkingEntityId) {\r\n setIsOperator(true);\r\n }\r\n }\r\n }, [cookies]);\r\n\r\n const deleteToken = () => {\r\n cookies.remove(\"token_key\");\r\n window.location.href = props.subfolder + \"/home\";\r\n };\r\n\r\n const matchMenu = (linkName) => {\r\n if (\r\n location.pathname\r\n .toLowerCase()\r\n .replace(\"_\", \" \")\r\n .includes(linkName?.toLowerCase())\r\n ) {\r\n return true;\r\n } else if (\r\n (location.pathname == \"/Home\" || location.pathname == \"/\") &&\r\n linkName == \"Home\"\r\n ) {\r\n return true;\r\n }\r\n };\r\n\r\n const login = () => {\r\n return (\r\n \r\n Accedi\r\n \r\n );\r\n };\r\n\r\n const notify = () => {\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 Notifiche \r\n
caaa
\r\n
\r\n
\r\n \r\n \r\n );\r\n };\r\n\r\n const logout = () => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.Name} \r\n \r\n \r\n
\r\n
    \r\n {!isOperator && (\r\n
  • \r\n \r\n \r\n \r\n \r\n\r\n \r\n Profilo\r\n \r\n \r\n
  • \r\n )}\r\n
  • \r\n \r\n \r\n \r\n \r\n\r\n \r\n Esci\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 Comune di Bari\r\n \r\n\r\n
\r\n {apiToken && (\r\n <>\r\n {props.linksEsterni && props.linksEsterni.length < 2 ? (\r\n <>\r\n
\r\n {props.linksEsterni &&\r\n props.linksEsterni.map((linkObb, index) => (\r\n \r\n \r\n {linkObb.Title}\r\n \r\n \r\n ))}\r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n )}\r\n {/*
{notify()}
*/}\r\n
\r\n {apiToken ? logout() : login()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
    \r\n {props.links &&\r\n props.links.map((linkObb, index) => (\r\n
  • \r\n \r\n \r\n {linkObb.testo}{\" \"}\r\n \r\n current\r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\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 Header;\r\nexport const MemoizedHeader = React.memo(Header);\r\n","import { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation, useNavigate } from \"react-router-dom\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst Breadcrumb = (props) => {\r\n const [linkHistory, setLink] = useState([]);\r\n const history = useHistory();\r\n let location = useLocation();\r\n\r\n useEffect(() => {\r\n setLink(location.pathname.split(\"/\"));\r\n }, [location.pathname]);\r\n\r\n function isLast(index) {\r\n return index === linkHistory.length - 1;\r\n }\r\n\r\n function isLastButOne(index) {\r\n return index === linkHistory.length - 2;\r\n }\r\n\r\n function capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Breadcrumb;\r\n","import {\r\n Input,\r\n FormGroup,\r\n Label,\r\n Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n} from \"design-react-kit\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nconst ModalComponent = (props) => {\r\n return (\r\n
\r\n props.toggleModal(!props.isOpen)}\r\n size={\"lg\"}\r\n labelledBy={props.labelledBy}\r\n >\r\n \r\n {props.header}\r\n \r\n {props.body}\r\n \r\n {props.buttonConfirm && (\r\n props.function()}\r\n >\r\n {props.buttonConfirm}\r\n \r\n )}\r\n {props.buttonDeny && (\r\n props.toggleModal(!props.isOpen)}\r\n >\r\n {props.buttonDeny}\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n};\r\nexport default ModalComponent;\r\n","const Loader = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Loader;\r\n","import { createContext } from \"react\";\r\n\r\nexport const TokenContext = createContext();\r\n","import React, { useEffect, useState } from \"react\";\r\nimport ReactPaginate from \"react-paginate\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\n\r\nconst Pagination = (props) => {\r\n const [pageCount, setPageCount] = useState(0);\r\n const [itemOffset, setItemOffset] = useState(0);\r\n\r\n useEffect(() => {\r\n const endOffset = itemOffset + props.itemsPerPage;\r\n props.setCurrentItems(props.items.slice(itemOffset, endOffset));\r\n setPageCount(Math.ceil(props.items.length / props.itemsPerPage));\r\n }, [itemOffset, props.itemsPerPage, props.items]);\r\n\r\n const handlePageClick = (event) => {\r\n const newOffset =\r\n (event.selected * props.itemsPerPage) % props.items.length;\r\n setItemOffset(newOffset);\r\n };\r\n\r\n return (\r\n <>\r\n {pageCount > 1 && (\r\n \r\n \r\n \r\n }\r\n nextLabel={\r\n \r\n \r\n \r\n }\r\n breakLabel={\"...\"}\r\n pageCount={pageCount}\r\n marginPagesDisplayed={2}\r\n pageRangeDisplayed={4}\r\n onPageChange={handlePageClick}\r\n containerClassName={\"pagination justify-content-center col-12\"}\r\n pageClassName={\"page-item\"}\r\n pageLinkClassName={\"page-link\"}\r\n previousClassName={\"page-item\"}\r\n previousLinkClassName={\"page-link\"}\r\n nextClassName={\"page-item\"}\r\n nextLinkClassName={\"page-link\"}\r\n breakClassName={\"page-item\"}\r\n breakLinkClassName={\"page-link\"}\r\n activeClassName={\"active\"}\r\n initialPage={0}\r\n />\r\n )}\r\n \r\n );\r\n};\r\nexport default Pagination;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nconst TabellaIsee = (props) => {\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWidth(window.innerWidth);\r\n }\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [width]);\r\n\r\n return (\r\n <>\r\n {width > 992 ? (\r\n <>\r\n {props.bands.bands && props.bands.bands.length > 0 ? (\r\n <>\r\n

\r\n Fasce ISEE\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.bands.bands.map((x, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
NomeMinMaxPercentualeQuota
{x.name}\r\n {parseFloat(x.min).toLocaleString(\"it-IT\") + \" €\"}\r\n \r\n {parseFloat(x.max).toLocaleString(\"it-IT\") + \" €\"}\r\n \r\n {x.percent\r\n ? x.percent + \"%\"\r\n : typeof x.percent != \"object\"\r\n ? x.percent + \"%\"\r\n : \"N/A\"}\r\n \r\n {x.fixedCost &&\r\n parseFloat(x.fixedCost).toLocaleString(\"it-IT\")} €\r\n
\r\n \r\n ) : (\r\n <>\r\n Non sono presenti fascee ISEE.\r\n \r\n )}\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n
\r\n Fasce ISEE\r\n
\r\n
\r\n
\r\n {props.bands.bands &&\r\n props.bands.bands.map((x, index) => (\r\n \r\n
\r\n
\r\n Nome:\r\n
\r\n
\r\n \r\n {x.name}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Min:\r\n
\r\n
\r\n \r\n {parseFloat(x.min).toLocaleString(\"it-IT\") + \" €\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Max:\r\n
\r\n
\r\n \r\n {parseFloat(x.max).toLocaleString(\"it-IT\") + \" €\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n Percentuale:\r\n
\r\n
\r\n \r\n \r\n {x.percent\r\n ? x.percent + \"%\"\r\n : typeof x.percent != \"object\"\r\n ? x.percent + \"%\"\r\n : \"NON PRESENTE\"}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Quota:\r\n
\r\n
\r\n \r\n \r\n {\" \"}\r\n {parseFloat(x.fixedCost).toLocaleString(\"it-IT\")} €\r\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 TabellaIsee;\r\n","import React,{ useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport TabellaIsee from \"../../Components/TabellaIsee\";\r\n\r\nfunction ListRanges(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [rangesList, setRangesList] = useState([]);\r\n const [rangesListTemp, setRangesListTemp] = useState();\r\n const [isOpen, toggleModal] = useState(false);\r\n const [removableRange, setRemovableRange] = useState(\"\");\r\n const [isAlertVisible, setIsAlertVisible] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n\r\n \r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n Repo.getRangesList(apiToken)\r\n .then((response) => {\r\n setRangesListTemp(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }, []);\r\n\r\n\r\n\r\n const editRange = (rangeId) => {\r\n window.location.href =\r\n props.subfolder + \"/fasce/modifica_fascia?range=\" + rangeId;\r\n };\r\n\r\n const removeRangeAPI = () => {\r\n Repo.postDeleteRange(apiToken, removableRange)\r\n .then((response) => {\r\n if (response.status == 200 || response.status == 204) {\r\n setRemovableRange(\"\");\r\n window.location.href = props.subfolder + \"/fasce\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setRemovableRange(\"\");\r\n setIsAlertVisible(true);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n const timer = setTimeout(() => {\r\n setIsAlertVisible(false);\r\n }, 4000);\r\n return () => clearTimeout(timer);\r\n }, [isAlertVisible]);\r\n\r\n return (\r\n <>\r\n
\r\n

Fasce ISEE

\r\n
\r\n

Tutte le fasce ISEE inserite sul sistema. Queste fasce verranno sucessivamente associate ad un bando. Cliccare un bottone \"Nuova Fascia\" per crearne una nuova.

\r\n
\r\n
\r\n
\r\n \r\n (window.location.href =\r\n window.location.pathname + \"/nuova_fascia\")\r\n }\r\n >\r\n \r\n \r\n {\" \"}\r\n Nuova Fascia\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {rangesList &&\r\n rangesList.length > 0 &&\r\n rangesList.map((x, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n ))}\r\n \r\n
Nomedaa%Quota
{x.name}{parseFloat(x.min).toLocaleString(\"it-IT\") + \" €\"}{parseFloat(x.max).toLocaleString(\"it-IT\") + \" €\"}\r\n {x.percent\r\n ? x.percent + \"%\"\r\n : typeof x.percent != \"object\"\r\n ? x.percent + \"%\"\r\n : \"N/A\"}\r\n \r\n {x.fixedCost &&\r\n parseFloat(x.fixedCost).toLocaleString(\"it-IT\")}{\" \"}\r\n €\r\n \r\n editRange(x.id)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n toggleModal(!isOpen);\r\n setRemovableRange(x.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {rangesListTemp && (\r\n \r\n )}\r\n\r\n\r\n
\r\n removeRangeAPI()}\r\n >\r\n {isAlertVisible && (\r\n <>\r\n \r\n La fascia ISEE selezionata è inclusa in un bando in corso.\r\n \r\n \r\n )}\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default ListRanges;\r\n","import React from 'react'\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst CardHome = ({id,titolo,descrizione,link,badge,last}) => {\r\n\r\n \r\n//badge = (badge >1 ) ? badge : 0;\r\n\r\n//console.log(titolo + \" \" + last);\r\n\r\nconst lunghezza= (last!==true) ? \"col-12 col-lg-6\" : \"col-12 col-lg-12\";\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{titolo}
\r\n
\r\n
\r\n {descrizione}\r\n
\r\n
\r\n \r\n {badge && (badge >0) ? (\r\n \r\n \r\n {badge} \r\n {\" \"}\r\n {badge > 1 ? (\r\n Notifiche\r\n ) : (\r\n Notifica\r\n )}\r\n \r\n )\r\n : (\r\n\r\n\r\n )}\r\n\r\n \r\n \r\n \r\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 CardHome","import { useContext, useEffect, useState } from \"react\";\r\nimport useLocalStorage from \"../../Utility/useLocalStorage\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport CardHome from \"../../Components/CardHome\";\r\n\r\nconst cards = [\r\n {\r\n id: 1,\r\n titolo: \"ISEE\",\r\n descrizione:\r\n \"Potrai visualizzare gli ISEE caricati dai cittadini, verificarne il valore, confermarli o rifiutarli\",\r\n badge: 0,\r\n link: \"/lista_ISEE\",\r\n },\r\n {\r\n id: 2,\r\n titolo: \"UTENTI\",\r\n descrizione:\r\n \"Potrai visualizzare tutti gli utenti presenti nella piattaforma, inserirne nuovi e caricare per loro l'Isee\",\r\n badge: 0,\r\n link: \"/lista_utenti\",\r\n },\r\n {\r\n id: 3,\r\n titolo: \"FASCE ISEE\",\r\n descrizione:\r\n \"Potrai visualizzare tutte le fasce ISEE, inserirne nuove o eliminarle\",\r\n badge: 0,\r\n link: \"/fasce\",\r\n },\r\n {\r\n id: 4,\r\n titolo: \"SERVIZI\",\r\n descrizione:\r\n \"Potrai visualizzare tutti i servizi disponibili, inserirne nuovi o eliminarli\",\r\n badge: 0,\r\n link: \"/servizi\",\r\n },\r\n {\r\n id: 5,\r\n titolo: \"BANDI\",\r\n descrizione:\r\n \"Potrai visualizzare tutti i bandi disponibili, inserirne nuovi e filtrarli per servizio\",\r\n badge: 0,\r\n link: \"/lista_bandi\",\r\n last: true,\r\n },\r\n];\r\n\r\nfunction Home(props) {\r\n const [ISEEList, setISEEList] = useState();\r\n const [cardsState, setCardsState] = useState([]);\r\n const apiToken = useContext(TokenContext);\r\n const [loadedUser, setLoadedUser] = useState();\r\n //\r\n //setCardsState(cards);\r\n\r\n useEffect(() => {\r\n Repo.getIseeListUploaded(apiToken)\r\n .then((response) => {\r\n setISEEList(response.data.length > 0 && response.data.length);\r\n //console.log(\"ISEEList: \" + response.data.length);\r\n\r\n // setCardsState(cards);\r\n\r\n let el = cards.map((item) => {\r\n if (item.id === 1) {\r\n item.badge = response.data.length;\r\n }\r\n return;\r\n item;\r\n });\r\n\r\n // Set the previous list to the new list\r\n setCardsState(el);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n Repo.getUsersLoadedCount(apiToken)\r\n .then((response) => {\r\n setLoadedUser(parseInt(response.data));\r\n // console.log(\"setLoadedUser: \" + parseInt(response.data));\r\n\r\n // setCardsState(cards);\r\n\r\n if (parseInt(response.data) > 0) {\r\n let e2 = cards.map((item) => {\r\n if (item.id === 2) {\r\n (item.badge = parseInt(response.data)),\r\n (item.link = \"/lista_utenti?loaded=true\");\r\n }\r\n return;\r\n item;\r\n });\r\n\r\n setCardsState(e2);\r\n }\r\n\r\n // console.log(\"setLoadedUser: \" + loadedUser);\r\n // Set the previous list to the new list\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n }, []);\r\n\r\n\r\n return (\r\n <>\r\n

PANNELLO OPERATORE

\r\n
\r\n

\r\n Riepilogo delle principali funzioni di{\" \"}\r\n Semplicita Servizi alla Persona\r\n

\r\n
\r\n
{cards.map(CardHome)}
\r\n \r\n );\r\n}\r\n\r\nexport default Home;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction ListISEEUploaded(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [ISEEList, setISEEList] = useState();\r\n const [ISEEListTemp, setISEEListTemp] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [ISEEId, setISEEId] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n Repo.getIseeListUploaded(apiToken)\r\n .then((response) => {\r\n setISEEListTemp(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }, []);\r\n\r\n const deleteIsee = async () => {\r\n Repo.deleteIsee(apiToken, ISEEId)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

Lista ISEE

\r\n
\r\n

Tutti gli ISEE caricati dagli utenti e non ancora validati

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ISEEList && ISEEList.length > 0 ? (\r\n <>\r\n {ISEEList &&\r\n ISEEList.map((x, index) => (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
Dati cittadinoCodice FiscaleData caricamentoValore ISEE caricatoAnno
{x.name}\r\n {x.user.firstName} {x.user.lastName}\r\n {x.user.fiscalCode}{x.date}\r\n {x.value && parseFloat(x.value).toLocaleString(\"it-IT\")}{\" \"}\r\n €\r\n \r\n {x.year}\r\n \r\n \r\n \r\n Dettaglio\r\n \r\n \r\n
\r\n

\r\n Non ci sono ISEE da verificare.\r\n

\r\n
\r\n {ISEEListTemp && (\r\n \r\n )}\r\n
\r\n\r\n deleteIsee()}\r\n >\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default ListISEEUploaded;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction ListISEEValidated(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [ISEEList, setISEEList] = useState();\r\n const [ISEEListTemp, setISEEListTemp] = useState();\r\n const [ISEEListValidated, setISEEListValidated] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [ISEEId, setISEEId] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n Repo.getIseeListValidated(apiToken)\r\n .then((response) => {\r\n setISEEListTemp(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }, []);\r\n\r\n const deleteIsee = async () => {\r\n Repo.deleteIsee(apiToken, ISEEId)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

Lista ISEE

\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ISEEList &&\r\n ISEEList.length > 0 &&\r\n ISEEList.map((x, index) => (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Nome cittadinoCodice FiscaleData inserimentoValore ISEE caricatoStatoAnno
{x.name}\r\n {x.user.firstName} {x.user.lastName}\r\n {x.user.fiscalCode}{x.date}\r\n {x.value && parseFloat(x.value).toLocaleString(\"it-IT\")} €\r\n \r\n {x.state == \"VALIDATED\" ? (\r\n <>\r\n \r\n \r\n \r\n {\" \"}\r\n ACCETTATO\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {\" \"}\r\n {x.state}\r\n \r\n )}\r\n \r\n {y.year}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {ISEEListTemp && (\r\n \r\n )}\r\n\r\n deleteIsee()}\r\n >\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default ListISEEValidated;\r\n","import React from 'react'\r\nimport SelectBase, { components } from 'react-select'\r\nimport { Icon } from 'design-react-kit'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst propTypes = {\r\n ...SelectBase.propTypes,\r\n icon: PropTypes.bool,\r\n clearText: PropTypes.string\r\n}\r\n\r\nconst defaultProps = {\r\n ...SelectBase.defaultProps,\r\n icon: false,\r\n clearText: 'Annulla'\r\n}\r\n\r\nconst DropdownIndicator = props => {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst Option = props => {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nconst styles = {\r\n container: provided => ({ ...provided, height: '2.5rem' }),\r\n control: provided => ({\r\n ...provided,\r\n height: '2.5rem',\r\n borderRadius: '0',\r\n borderLeft: 'none',\r\n borderRight: 'none',\r\n borderTop: 'none',\r\n borderBottom: 'solid #435a70 1.5px',\r\n boxShadow: 'none',\r\n '&:hover': { borderBottom: 'solid #435a70 3px' },\r\n fontWeight: '600' // border style on hover\r\n }),\r\n dropdownIndicator: provided => ({\r\n ...provided,\r\n fill: '#435a70'\r\n }),\r\n option: (provided, { isDisabled, isFocused, isSelected }) => ({\r\n ...provided,\r\n background: 'white',\r\n textDecoration: isFocused || isSelected ? 'underline' : 'none',\r\n color: isSelected ? '#17324d' : '#06c',\r\n cursor: isDisabled ? 'not-allowed' : 'pointer',\r\n fontFamily: 'Titillium Web',\r\n fontSize: '.88889rem'\r\n }),\r\n placeholder: provided => ({\r\n ...provided,\r\n fill: '#435a70',\r\n color: \"#435a70\"\r\n }),\r\n singleValue: (provided, { isFocused }) => ({\r\n ...provided,\r\n color: isFocused ? 'black' : '#435a70',\r\n fontWeight: 'bold'\r\n }),\r\n valueContainer: provided => ({ ...provided, height: '2.5rem' })\r\n}\r\n\r\nconst Select = props => {\r\n const CustomClearText = () => (props.clearText ? props.clearText : 'Annulla')\r\n\r\n const ClearIndicator = clearIndicatorProps => {\r\n const {\r\n children = ,\r\n innerProps: { ref, ...restInnerProps }\r\n } = clearIndicatorProps\r\n return (\r\n
\r\n
{children}
\r\n
\r\n )\r\n }\r\n\r\n let selectComponents = {\r\n ...props.components,\r\n Option,\r\n DropdownIndicator,\r\n IndicatorSeparator: null\r\n }\r\n\r\n if (props.isClearable) {\r\n selectComponents = { ...selectComponents, ClearIndicator }\r\n }\r\n return \r\n}\r\n\r\nSelect.propTypes = propTypes\r\nSelect.defaultProps = defaultProps\r\nexport default Select;\r\n","const StateTranslate = ({ text, trasform }) => {\r\n switch (text) {\r\n case \"CREATE\":\r\n text = \"Creato\";\r\n break;\r\n case \"OPEN\":\r\n text = \"Aperto\";\r\n break;\r\n case \"CLOSED\":\r\n text = \"Chiuso\";\r\n break;\r\n case \"ARCHIVED\":\r\n text = \"Archiviato\";\r\n break;\r\n default:\r\n text = \"\";\r\n }\r\n//console.log(trasform);\r\n\r\n switch (trasform) {\r\n case \"U\":\r\n text = text?.toString().toUpperCase();\r\n break;\r\n case \"C\":\r\n \r\n text = text?.toString().charAt(0).toUpperCase() + text?.slice(1);\r\n break;\r\n case \"L\":\r\n text = text?.toString().toLowerCase();\r\n break;\r\n default:\r\n text = text;\r\n }\r\n\r\n return <>{text};\r\n};\r\nexport default StateTranslate;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Select from \"../../Components/Select\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport StateTranslate from \"../../Components/StateTranslate\";\r\n\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListAnnouncements(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [servicesList, setServicesList] = useState();\r\n const [isOpen, toggleModal] = useState(false);\r\n const [servizi, setServizi] = useState([]);\r\n const [servizioTemp, setServizioTemp] = useState();\r\n const [loading, setLoading] = useState(true);\r\n\r\n let query = useQuery();\r\n\r\n const [announcementsList, setAnnouncementsList] = useState();\r\n const [announcementsListTemp, setAnnouncementsListTemp] = useState();\r\n\r\n const [removableSession, setRemovableSession] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n\r\n Repo.getAnnouncementsOperator(apiToken)\r\n .then((response) => {\r\n setAnnouncementsListTemp(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n\r\n Repo.getListaServizi(apiToken)\r\n .then((response) => {\r\n setServizi(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }, []);\r\n\r\n const filterSessions = (e) => {\r\n if (e) {\r\n let id = e.value;\r\n setServizioTemp(e.name);\r\n Repo.getAnnouncementsByServiceOperator(apiToken, id)\r\n .then((response) => {\r\n setAnnouncementsListTemp(response.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n setServizioTemp();\r\n Repo.getAnnouncementsOperator(apiToken)\r\n .then((response) => {\r\n window.location.reload();\r\n setAnnouncementsListTemp(response.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n };\r\n\r\n const deleteSessione = () => {\r\n Repo.deleteSession(apiToken, removableSession)\r\n .then((response) => {\r\n if (response.status == 204) {\r\n window.location.reload();\r\n // setAnnouncementsListTemp(response);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const sessions = () => {\r\n return (\r\n <>\r\n \r\n {announcementsListTemp && announcementsListTemp.length > 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {announcementsList &&\r\n announcementsList.length > 0 &&\r\n announcementsList.map((x, index) => (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
TitoloServizioStato
{x.name}{x.service.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n toggleModal(!isOpen);\r\n setRemovableSession(x.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n {announcementsListTemp && (\r\n \r\n )}\r\n \r\n ) : (\r\n
Non sono presenti sessioni
\r\n )}\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n

Lista bandi

\r\n
\r\n

Tutti i bandi inseriti nel sistema: é possibile filtrare i bandi per servizio, visualizzare i dettagli ed eliminare un bando.

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n filterSessions(e)}\r\n isClearable\r\n isSearchable\r\n placeholder={\r\n servizioTemp && servizioTemp\r\n ? servizioTemp\r\n : \"Seleziona servizio\"\r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n Nuovo bando\r\n \r\n \r\n
\r\n
\r\n {sessions()}\r\n
\r\n deleteSessione()}\r\n >\r\n {!loading && }\r\n \r\n );\r\n}\r\nexport default ListAnnouncements;\r\n","\r\nfunction Badge({badgeStatus,badgeText}){\r\n const status = \"ml-2 badge \" + badgeStatus + \" text-white\";\r\n return(\r\n {badgeText}\r\n \r\n );\r\n \r\n }\r\nexport default Badge;","import iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nfunction Icon(props) {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\nexport default Icon;","import React, { useEffect, useState } from 'react';\r\nimport Repo from './Repo';\r\n\r\nfunction LabelsLoader() {\r\n const [labels, setLabels] = useState({});\r\n\r\n useEffect(() => {\r\n fetchLabels();\r\n }, []);\r\n\r\n const fetchLabels = async () => {\r\n try {\r\n const response = await Repo.getLabels();\r\n if (response.status === 200) {\r\n const data = await response.data; \r\n setLabels(data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n // Resto del tuo codice...\r\n\r\n return labels;\r\n}\r\n\r\nexport default LabelsLoader;\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport Badge from \"../../Components/Badge\";\r\nimport Icon from \"../../Components/Icon\";\r\nimport LabelsLoader from \"../../Utility/labelsLoader\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListFlows(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [changeArray, setChangeArray] = useState(false);\r\n let query = useQuery();\r\n const [flows, setFlows] = useState();\r\n const [flowsTemp, setFlowsTemp] = useState();\r\n const [flowsTemp2, setFlowsTemp2] = useState();\r\n const [showFileToggle, toggleModalShowFile] = useState(false);\r\n const [file, setFile] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [servizi, setServizi] = useState([]);\r\n const [servizioTemp, setServizioTemp] = useState();\r\n const [isAlertVisible, setIsAlertVisible] = useState(false);\r\n const [isAlertErrorVisible, setIsAlertErrorVisible] = useState(false);\r\n\r\n const labels = LabelsLoader();\r\n\r\n var data = {\r\n stato: \"\",\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n console.log(\"loading...\");\r\n if (apiToken) {\r\n Repo.postListFlows(apiToken, JSON.stringify(data))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setFlowsTemp(response.data);\r\n \r\n console.log(response.data);\r\n setLoading(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n setLoading(false);\r\n Repo.getListaServizi(apiToken)\r\n .then((response) => {\r\n setServizi(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n console.log(\"fine loading\");\r\n }, []);\r\n\r\n const filterSessions = (e) => {\r\n if (e) {\r\n setChangeArray(true);\r\n setServizioTemp(e.name);\r\n\r\n var arr = flowsTemp.filter(function (obj) {\r\n return obj.announcement.service.id.toUpperCase() == e.value;\r\n });\r\n\r\n setFlowsTemp2(arr);\r\n } else {\r\n setChangeArray(false);\r\n setServizioTemp();\r\n }\r\n };\r\n\r\n const bodyFile = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const elaborateFlows = (id) => {\r\n setLoading(false);\r\n Repo.ValidateCSVByToken(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setLoading(true);\r\n setIsAlertVisible(true);\r\n window.location.reload(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n setIsAlertErrorVisible(true);\r\n });\r\n };\r\n\r\n const InviaFlussoEmail = (id) => {\r\n setLoading(false);\r\n Repo.InviaFlussoEmail(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setLoading(true);\r\n setIsAlertVisible(true);\r\n window.location.reload(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n setIsAlertErrorVisible(true);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (data != null) {\r\n const timer = setTimeout(() => {\r\n setIsAlertVisible(false);\r\n }, 4000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [isAlertVisible]);\r\n\r\n function getStatoImport(currentStato = \"\") {\r\n switch (currentStato) {\r\n case \"IMPORT_ESEGUITO\":\r\n return ;\r\n case \"LOAD_IMPORT\":\r\n return ;\r\n case \"IMPORT_ERROR_SL\":\r\n return (\r\n \r\n );\r\n default:\r\n return ;\r\n }\r\n }\r\n\r\n function badgeEmail(isEmailSent) {\r\n if (isEmailSent) {\r\n return ;\r\n \r\n } else {\r\n return ;\r\n \r\n }\r\n }\r\n\r\n function getStatoFile(currentStato = false) {\r\n switch (currentStato) {\r\n case true:\r\n return (\r\n \r\n );\r\n default:\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n const expandedRow = (x) => {\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n {\" \"}\r\n {x.urlFileAvvisi ? (\r\n <>\r\n \r\n Avvisi\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n Avvisi\r\n \r\n \r\n )}\r\n
\r\n
\r\n {\" \"}\r\n {x.urlFileIUV ? (\r\n <>\r\n \r\n | IUV |\r\n \r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n | IUV |\r\n \r\n \r\n )}\r\n
\r\n
\r\n {x.urlFileScarti ? (\r\n <>\r\n \r\n Scartati\r\n \r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n Scartati\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n ); \r\n };\r\n\r\n return flowsTemp && flowsTemp.length > 0 ? (\r\n <>\r\n
\r\n
\r\n

\r\n {labels.flussimypay}\r\n

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

{labels.tuttiflussi}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {flows && flows.length > 0 ? (\r\n flows.map((x, index) => (\r\n \r\n
\r\n
\r\n {getStatoImport(x.stato)}\r\n {badgeEmail(x.isEmailSent)}\r\n
\r\n\r\n {x.announcement && x.announcement.service.name}\r\n \r\n ( {x.announcement && x.num} ) \r\n \r\n : {x.announcement && x.announcement.name}\r\n \r\n
\r\n\r\n
\r\n InviaFlussoEmail(x.id)}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n  \r\n {x.isEmailSent ? \"Reinvia email\" : \"Invia email\"}\r\n \r\n
\r\n\r\n
\r\n {\" \"}\r\n {getStatoFile(x.available)}\r\n
\r\n\r\n
\r\n elaborateFlows(x.requestToken)}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n   Rielabora\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {expandedRow(x)}\r\n\r\n
\r\n
\r\n ))\r\n ) : (\r\n
Non sono presenti flussi per il servizio selezionato
\r\n )}\r\n\r\n {flowsTemp &&\r\n (changeArray == false ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n\r\n toggleModalShowFile(!showFileToggle)}\r\n isOpen={showFileToggle}\r\n header={\"File\"}\r\n body={bodyFile()}\r\n buttonDeny=\"Chiudi\"\r\n >\r\n\r\n {isAlertVisible && (\r\n <>\r\n \r\n Rielaborazione avvenuta con successo.\r\n \r\n \r\n )}\r\n\r\n {isAlertErrorVisible && (\r\n <>\r\n \r\n Errore nella rielaborazione, riprova.\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n ) : (\r\n
\r\n\r\n{!loading && }\r\n {loading && (\r\n
\r\n Non sono presenti flussi\r\n
\r\n )}\r\n\r\n
\r\n );\r\n}\r\n\r\nexport default ListFlows;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useCookies } from 'react-cookie';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nfunction UserDataComponent() {\r\n const [operator, setOperator] = useState(false);\r\n const [userData, setUserData] = useState(null);\r\n const [delegate, setDelegate] = useState(false);\r\n const [user, setUser] = useState(false);\r\n const [citizen, setCitizen] = useState(false);\r\n\r\n const [cookies] = useCookies(['api_token', 'user_profile']);\r\n\r\n useEffect(() => {\r\n if (cookies.api_token && !userData) {\r\n var decoded = jwt_decode(cookies.api_token);\r\n\r\n // Impostare il valore di operator in base al ruolo dell'utente\r\n if (decoded.role.includes('OPERATOR')) {\r\n setOperator(true);\r\n console.log(\"operatore\");\r\n }\r\n\r\n // Impostare il valore di delegate in base al ruolo dell'utente\r\n if (decoded.role.includes('DELEGATE')) {\r\n setDelegate(true);\r\n setOperator(false);\r\n console.log(\"DELEGATE\");\r\n }\r\n\r\n // Impostare il valore di citizen in base al ruolo dell'utente\r\n if (decoded.role.includes('CITIZEN')) {\r\n setCitizen(true);\r\n console.log(\"CITIZEN\");\r\n }\r\n\r\n // Impostare il valore di user in base ai dati dell'utente\r\n setUser(decoded.FullName);\r\n\r\n // Impostare il valore di userData a true per indicare che i dati dell'utente sono stati impostati\r\n setUserData(true);\r\n }\r\n }, [cookies, userData]);\r\n\r\n return {\r\n operator,\r\n userData,\r\n delegate,\r\n user,\r\n citizen,\r\n };\r\n}\r\n\r\nexport default UserDataComponent;\r\n","import Pagination from \"./Pagination\";\r\nimport React, { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { TokenContext } from \"./TokenContext\";\r\nimport Repo from \"../Utility/Repo\";\r\nimport ModalComponent from \"./ModalComponent\";\r\nimport Badge from \"./Badge\";\r\nimport UserDataComponent from \"./UserDataComponent\";\r\n\r\nconst ListPaymemtsUsers = (props) => {\r\n const [showFileToggle, toggleModalShowFile] = useState(false);\r\n const [showModalDetail, setShowModalDetail] = useState(false);\r\n const [showModalMail, setShowModalMail] = useState(false);\r\n //const [showModal, setShowModal] = useState(false);\r\n const [selectedIUV, setSelectedIUV] = useState(\"\");\r\n const apiToken = useContext(TokenContext);\r\n const [file, setFile] = useState();\r\n\r\n let history = useHistory();\r\n const { operator, userData, delegate, user, citizen } = UserDataComponent();\r\n\r\n const [formData, setFormData] = useState({\r\n iuv: \"\", // Assegna il valore di `id` a `formData.Iuv` se `id` esiste, altrimenti assegna una stringa vuota\r\n descrizione: \"\",\r\n });\r\n\r\n const [error, setError] = useState(\"\");\r\n\r\n const toggleModalDetail = () => {\r\n setShowModalDetail(!showModalDetail);\r\n // Azzeramento dei campi qui\r\n setFormData({\r\n iuv: \"\",\r\n descrizione: \"\",\r\n });\r\n setError(\"\");\r\n };\r\n\r\n //setUserId(props.userId);\r\n\r\n const toggleModalMail = () => {\r\n setShowModalMail(!showModalMail);\r\n // Azzeramento dei campi qui\r\n setError(\"\");\r\n };\r\n\r\n const showPayments = (id) => {\r\n Repo.getIuvUser(apiToken, id, true)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setFile();\r\n var obj = document.createElement(\"object\");\r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" + response.data;\r\n setFile(obj);\r\n toggleModalShowFile(!showFileToggle);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const handleSaveSendMail = () => {\r\n Repo.postSendEmail(apiToken, selectedIUV, props.userId)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setShowModalDetail(false);\r\n setSelectedIUV(\"\");\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n setError(error.response?.data?.Message || error.response?.data || \"\");\r\n });\r\n // Resetta l'errore\r\n setError(\"\");\r\n };\r\n\r\n const handleSave = (iuv) => {\r\n //alert(formData.Iuv);\r\n // Effettua la validazione dei dati\r\n if (!formData.descrizione) {\r\n setError(\"Il campo descrizione è obbligatorio!\");\r\n return;\r\n }\r\n\r\n if (formData.descrizione.length > 300) {\r\n setError(\"Il campo Descrizione deve essere massimo 300 caratteri!\");\r\n return;\r\n }\r\n\r\n setFormData({\r\n iuv: iuv,\r\n descrizione: formData.descrizione,\r\n });\r\n console.log(formData.descrizione + \"iuv:\" + iuv);\r\n const data = {\r\n iuv: iuv,\r\n descrizione: formData.descrizione,\r\n };\r\n\r\n Repo.poutUpdatePaidOp(apiToken, data)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setShowModalDetail(false);\r\n setSelectedIUV(\"\");\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n setError(error.response?.data?.Message || error.response?.data || \"\");\r\n });\r\n\r\n // Resetta i valori del form dopo il salvataggio\r\n setFormData({\r\n iuv: \"\",\r\n descrizione: \"\",\r\n });\r\n\r\n // Resetta l'errore\r\n setError(\"\");\r\n };\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setFormData((prevData) => ({\r\n ...prevData,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const bodyFile = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const showDetail = (id) => {\r\n setSelectedIUV(id);\r\n setShowModalDetail(true);\r\n };\r\n\r\n const sendPayments = (id) => {\r\n setSelectedIUV(id);\r\n setShowModalMail(true);\r\n };\r\n\r\n const handleCloseModal = () => {\r\n console.log(\"chiudo la modale\");\r\n setFormData({\r\n iuv: \"\",\r\n descrizione: \"\",\r\n });\r\n setShowModalDetail(false);\r\n };\r\n\r\n const bodyDetail = (id) => {\r\n return (\r\n <>\r\n
\r\n In seguito potrai verificare lo stato del flusso dalla sezione 'Flussi\r\n MyPay' {id}\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n {!error && (\r\n handleSave(id)}\r\n >\r\n Salva come pagato\r\n \r\n )}\r\n
\r\n {error && (\r\n
\r\n Attenzione. {error}\".\r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const handleCloseModalMail = () => {\r\n console.log(\"chiudo la modale Mail\");\r\n\r\n setShowModalMail(false);\r\n };\r\n\r\n const bodyMail = (id) => {\r\n return (\r\n <>\r\n
\r\n Premendo sul pulsante Invia email verrà inviata un email al cittadino\r\n con il bollettino PagoPa. Premi Invia Email per procedere.{\" \"}\r\n {props.userId}\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {error && (\r\n
\r\n Attenzione. {error}\".\r\n
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const doPayment = (iuv, fiscalCode) => {\r\n if (props.fiscalCode) {\r\n Repo.getPayment(apiToken, iuv, fiscalCode, window.location.href)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.open(response.data, \"_blank\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n Repo.getPayment(apiToken, iuv, null, window.location.href)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.open(response.data, \"_blank\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\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

Pagamenti

\r\n
\r\n {props.goBack && (\r\n
\r\n history.goBack()}\r\n >\r\n \r\n \r\n \r\n Indietro\r\n \r\n
\r\n )}\r\n
\r\n\r\n {props.payments && props.payments.length > 0 ? (\r\n props.payments.map((x, index) => (\r\n \r\n
\r\n
\r\n {x.titolo ? x.titolo : \"Pagamento\"}\r\n
\r\n\r\n
\r\n\r\n
\r\n Importo dovuto:\r\n \r\n \r\n {\" \"}\r\n {x.importoDovuto &&\r\n parseFloat(x.importoDovuto).toLocaleString(\r\n \"it-IT\"\r\n )}{\" \"}\r\n €\r\n \r\n \r\n
\r\n \r\n {\" \"}\r\n Importo pagato:{\" \"}\r\n \r\n {x.isPagato == true ? (\r\n <>\r\n {x.importoTotalePagato &&\r\n parseFloat(\r\n x.importoTotalePagato\r\n ).toLocaleString(\"it-IT\")}{\" \"}\r\n €\r\n \r\n ) : (\r\n \"0 €\"\r\n )}\r\n \r\n \r\n
\r\n\r\n
\r\n {x.isPagato == true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {x.isEmailSent == true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n {!x.isPagato && !citizen && (\r\n <>\r\n
\r\n showDetail(x.codIuv)}\r\n >\r\n  \r\n \r\n \r\n {\" \"}\r\n Dettagli\r\n \r\n
\r\n \r\n )}\r\n\r\n {x.isPagato && (\r\n
\r\n showPayments(x.codIuv)}\r\n >\r\n \r\n \r\n \r\n   Visualizza\r\n \r\n
\r\n )}\r\n\r\n\r\n\r\n {!x.isPagato && (\r\n <>\r\n
\r\n showPayments(x.codIuv)}\r\n >\r\n \r\n \r\n \r\n   Visualizza\r\n \r\n
\r\n\r\n
\r\n sendPayments(x.codIuv)}\r\n >\r\n \r\n \r\n \r\n   Invia email\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n ))\r\n ) : (\r\n <>Non ci sono pagamenti\r\n )}\r\n\r\n {props.paymentsTemp && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n toggleModalShowFile(!showFileToggle)}\r\n isOpen={showFileToggle}\r\n header={\"File\"}\r\n body={bodyFile()}\r\n buttonDeny=\"Chiudi\"\r\n >\r\n \r\n\r\n\r\n handleSaveSendMail()}\r\n >\r\n\r\n\r\n \r\n );\r\n};\r\n\r\nexport default ListPaymemtsUsers;\r\n","import React, { useEffect, useState, useRef, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ListPaymemtsUsers from \"../../Components/listPaymentsUser\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListPayments(props) {\r\n const apiToken = useContext(TokenContext);\r\n let query = useQuery();\r\n const [paymentsTemp, setPaymentsTemp] = useState();\r\n const [payments, setPayments] = useState();\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n if (apiToken) {\r\n if (query.get(\"id\")) {\r\n Repo.getListPaymentOperator(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setPaymentsTemp(response.data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\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 {paymentsTemp && paymentsTemp.length > 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n<>\r\n
\r\nAttenzione! Non ci sono pagamenti per l'utente selezionato.\r\n
\r\n\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\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 ListPayments;\r\n","import Pagination from \"./Pagination\";\r\nimport React, { useEffect, useState,useMemo } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport Badge from \"./Badge\";\r\nimport Select from \"./Select\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { saveAs } from 'file-saver';\r\nimport * as XLSX from 'xlsx'; // Libreria per l'esportazione Excel\r\n\r\n\r\n\r\nconst ListPaymentsOperator = (props) => {\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(10);\r\n const [currentItems, setCurrentItems] = useState([]);\r\n const [orderBy, setOrderBy] = useState(null);\r\n\r\n\r\n const sortPayments = (payments, orderBy) => {\r\n console.log(\"sortPayments\"); \r\n const clonedPayments = [...payments]; // Clona l'array per evitare mutazioni\r\n switch (orderBy) {\r\n case 'amount-asc':\r\n return clonedPayments.sort((a, b) => a.importoTotale - b.importoTotale); // Ordina per importo crescente\r\n case 'amount-desc':\r\n return clonedPayments.sort((a, b) => b.importoTotale - a.importoTotale); // Ordina per importo decrescente\r\n case 'name-asc':\r\n return clonedPayments.sort((a, b) =>\r\n a.cognome.localeCompare(b.cognome) || a.nome.localeCompare(b.nome)\r\n ); // Ordina per cognome e nome crescente\r\n case 'name-desc':\r\n return clonedPayments.sort((a, b) =>\r\n b.cognome.localeCompare(a.cognome) || b.nome.localeCompare(a.nome)\r\n ); // Ordina per cognome e nome decrescente\r\n default:\r\n return clonedPayments; // Nessun ordinamento\r\n }\r\n };\r\n\r\n // Assicurati che props.paymentsTemp sia definito, altrimenti fornisci un array vuoto.\r\n // const sortedPayments = props.paymentsTemp ? sortPayments(props.paymentsTemp, orderBy) : [];\r\n const sortedPayments = useMemo(() => {\r\n console.log('Calculating sorted payments');\r\n return props.paymentsTemp ? sortPayments(props.paymentsTemp, orderBy) : [];\r\n }, [props.paymentsTemp, orderBy]);\r\n\r\n\r\n // Effettua la paginazione sui dati ordinati\r\n const HandleUpdate = () => {\r\n console.log(\"HandleUpdate\"); \r\n const startIndex = (currentPage - 1) * itemsPerPage;\r\n const endIndex = startIndex + itemsPerPage;\r\n \r\n if (sortedPayments && sortedPayments.length > 0) {\r\n setCurrentItems(sortedPayments.slice(startIndex, endIndex)); // Paginazione corretta\r\n } else {\r\n console.log('Array non definito o slice non applicabile');\r\n }\r\n };\r\n\r\n\r\n const getOrderLabel = (orderBy) => {\r\n console.log(\"getOrderLabel\"); \r\n switch (orderBy) {\r\n case 'amount-asc':\r\n return 'Importo crescente';\r\n case 'amount-desc':\r\n return 'Importo decrescente';\r\n case 'name-asc':\r\n return 'Cognome e Nome crescente';\r\n case 'name-desc':\r\n return 'Cognome e Nome decrescente';\r\n default:\r\n return '';\r\n }\r\n };\r\n\r\n\r\n const exportToExcel = () => {\r\n // Ottieni i dati\r\n const selectedData = props.paymentsTemp;\r\n \r\n if (selectedData.length > 0) {\r\n // Rimuovi l'ultimo campo da ogni oggetto\r\n const cleanedData = selectedData.map(({ paymentIds, ...rest }) => rest);\r\n \r\n // Ottieni la data corrente nel formato desiderato (es: YYYY-MM-DD)\r\n const today = new Date().toISOString().split('T')[0]; // Formato YYYY-MM-DD\r\n \r\n // Ottieni il nome del bando dalla props, assicurati di passarlo correttamente\r\n const nomeBando = props.nomeBando ? props.nomeBando : \"\"; // Verifica se esiste il nome del bando\r\n \r\n // Genera il nome del file in base alla presenza del nome del bando\r\n const fileName = nomeBando ? `pagamenti_${today}_${nomeBando.replace(' ','-').replace('/','-')}.xlsx` : 'pagamenti.xlsx';\r\n \r\n // Converti in foglio di calcolo Excel\r\n const worksheet = XLSX.utils.json_to_sheet(cleanedData);\r\n const workbook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(workbook, worksheet, 'Pagamenti');\r\n const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n \r\n // Salva il file\r\n const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n saveAs(blob, fileName);\r\n } else {\r\n alert('Nessun pagamento selezionato per esportare.');\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n Record trovati: {props.paymentsTemp.length}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setItemsPerPage(selectedOption.value); // Usa selectedOption.value\r\n }}\r\n value={\r\n itemsPerPage\r\n ? { value: itemsPerPage, label: itemsPerPage.toString() }\r\n : null\r\n }\r\n placeholder=\"Seleziona il numero di record\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setOrderBy(selectedOption.value); // Aggiorna l'ordinamento\r\n }}\r\n value={\r\n orderBy ? { value: orderBy, label: getOrderLabel(orderBy) } : null\r\n }\r\n placeholder=\"Seleziona ordinamento\"\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cognome Nome\r\n
\r\n
\r\n Codicefiscale\r\n
\r\n
\r\n Contatti\r\n
\r\n
\r\n Importo\r\n
\r\n
\r\n
\r\n {currentItems && currentItems.length > 0 ? (\r\n currentItems.map((x, index) => (\r\n
\r\n
\r\n {x.cognome} {x.nome}\r\n
\r\n
{x.codiceFiscale}
\r\n\r\n
\r\n
\r\n {x.telefono}\r\n {x.email}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {x.importoTotale\r\n ? `${parseFloat(x.importoTotale).toLocaleString(\"it-IT\", {\r\n minimumFractionDigits: 2, // Sempre due decimali\r\n maximumFractionDigits: 2, // Limita a due decimali\r\n })} €`\r\n : \"0,00 €\"}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \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 ci sono pagamenti\r\n )}\r\n\r\n {sortedPayments && (\r\n \r\n )}\r\n
\r\n \r\n Scarica Excel\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ListPaymentsOperator;\r\n","import React, { useEffect, useState, useRef, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport ListPaymentsOperator from \"../../Components/ListPaymentsOperator\";\r\nimport Select from \"../../Components/Select\";\r\n\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListPaymemtsStatus(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [paymentsTemp, setPaymentsTemp] = useState();\r\n const [payments, setPayments] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [filter, setFilter] = useState({\r\n name: null,\r\n chkNoSendMail: null,\r\n announcementId:null\r\n });\r\n const [nomeBando,setNomeBando] = useState('');\r\n\r\n\r\n useEffect(() => {\r\n console.log(\"getListPaymentFilterOperator\"); \r\n setLoading(false);\r\n if (apiToken) {\r\n Repo.getListPaymentFilterOperator(apiToken,filter)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setLoading(true);\r\n setPaymentsTemp(response.data);\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n console.log(error);\r\n }); \r\n }\r\n }, []);\r\n\r\n\r\n const [announcementId, setAnnouncementId] = useState('');\r\n const [announcementOptions, setAnnouncementOptions] = useState([]); \r\n\r\n useEffect(() => {\r\n console.log(\"fetchAnnouncements\"); \r\n const fetchAnnouncements = async () => {\r\n console.log(\"fetchAnnouncements\"); \r\n setLoading(false); // Inizia il caricamento\r\n try {\r\n const response = await Repo.getAnnouncementsOperator(apiToken);\r\n if (response.status === 200) {\r\n const options = response.data.map(announcement => ({\r\n value: announcement.id,\r\n label: announcement.name\r\n }));\r\n console.log(\"Opzioni Annunci: \", options); // Aggiungi log per verificare\r\n setAnnouncementOptions(options);\r\n } else {\r\n throw new Error('Errore nel recupero dei dati'); // Gestisci errori di stato\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n setLoading(true); // Termina il caricamento\r\n }\r\n };\r\n\r\n fetchAnnouncements();\r\n}, [apiToken]);\r\n\r\n\r\nconst handleChange = (selectedOption) => {\r\n // Aggiorna solo l'announcementId nel filtro\r\n setFilter(prevFilter => ({\r\n ...prevFilter,\r\n announcementId: selectedOption ? selectedOption.value : null\r\n }));\r\n\r\n setNomeBando(selectedOption.label);\r\n };\r\n\r\n\r\n\r\n\r\n const sendFilter = () => {\r\n setLoading(false);\r\n console.log(\"Filtro da inviare:\", filter); // Log del filtro\r\n Repo.getListPaymentFilterOperator(apiToken, filter)\r\n .then((response) => {\r\n setPaymentsTemp(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n };\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n

Lista pagamenti

\r\n
\r\n

Tutti i pagamenti ancora non effettuati o non ancora registrati sul sistema

\r\n
\r\n\r\n {/*Inizo cerca*/}\r\n\r\n\r\n {/*Inizo cerca*/}\r\n
\r\n
\r\n
\r\n setFilter({ ...filter, name: e.target.value })}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n setFilter({ ...filter, chkNoSendMail: e.target.checked })\r\n }\r\n />\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n
\r\n option.value === filter.announcementId) || null} // Verifica se esiste\r\n placeholder=\"Seleziona un bando\"\r\n />\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n Cerca\r\n \r\n
\r\n\r\n
\r\n
\r\n {/*Fine cerca*/}\r\n\r\n\r\n\r\n {paymentsTemp && paymentsTemp.length > 0 ? (\r\n \r\n\r\n\r\n \r\n ) : (\r\n <>\r\n
\r\n Attenzione! Non ci sono pagamenti!\r\n
\r\n \r\n )}\r\n\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\n\r\nexport default ListPaymemtsStatus;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useLocation,useHistory } from \"react-router-dom\";\r\nimport { Input } from \"design-react-kit\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nconst number = new RegExp(\"^[+]?([0-9]{0,})*[,]?([0-9]{0,2})?$\", \"g\");\r\n\r\nfunction CheckISEE(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [value, setValue] = useState();\r\n const [valueOCR, setValueOCR] = useState(\"\");\r\n const [file, setFile] = useState();\r\n const [userData, setUserData] = useState();\r\n const [validation, setValidation] = useState(false);\r\n const [validationISEE, setValidationISEE] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [isOpenRefuse, toggleModalRefuse] = useState(false);\r\n const [data, setData] = useState();\r\n const [idIsee, setIdIsee] = useState();\r\n\r\n\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => { \r\n setLoading(false);\r\n if (query.get(\"idIsee\")) {\r\n setIdIsee(query.get(\"idIsee\"));\r\n Repo.getIsee(apiToken, query.get(\"idIsee\"))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n var obj = document.createElement(\"object\");\r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" + response.data.file;\r\n setFile(obj);\r\n setUserData(response.data.user);\r\n setValue(response.data.value);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error.message);\r\n });\r\n \r\n Repo.postValueIseeOCR(apiToken, query.get(\"idIsee\"))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n\r\n var valueWithoutComma = response.data.replace('.', '');\r\n var valueWithoutComma2 = valueWithoutComma.replace(',', '.');\r\nconsole.log(\"valueWithoutComma2:\" + valueWithoutComma2);\r\n // Effettua il parsing del valore come float\r\n var floatValue = parseFloat(valueWithoutComma2);\r\n console.log(\"floatValue:\" + floatValue);\r\n // Formatta il numero in una rappresentazione locale italiana\r\n var formattedValue = floatValue.toLocaleString('it-IT');\r\n console.log(\"formattedValue:\" + formattedValue);\r\n setValueOCR(floatValue);\r\n }\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error.message);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n const confirmIsee = async () => {\r\n setValidation(true);\r\n let tempData = {};\r\n let passedValidation = true;\r\n\r\n tempData[\"id\"] = idIsee;\r\n\r\n if (value == \"\" || value == \" \" || !value) passedValidation = false;\r\n\r\n tempData[\"value\"] =\r\n typeof value == \"string\"\r\n ? value.replace(\".\", \"\").replace(\",\", \".\")\r\n : value;\r\n\r\n tempData[\"state\"] = 1;\r\n\r\n if (passedValidation) {\r\n var dataJson = JSON.stringify(tempData);\r\n\r\n setData(dataJson);\r\n if (!props.apiToken) {\r\n toggleModal(!isOpen);\r\n }\r\n }\r\n };\r\n\r\n const refuseIsee = async () => {\r\n setValidation(true);\r\n let tempData = {};\r\n let passedValidation = true;\r\n tempData[\"id\"] = idIsee;\r\n tempData[\"state\"] = 2;\r\n if (passedValidation) {\r\n var dataJson = JSON.stringify(tempData);\r\n setData(dataJson);\r\n if (!props.apiToken) {\r\n toggleModalRefuse(!isOpenRefuse);\r\n }\r\n }\r\n };\r\n\r\n const sendISEEApi = async () => {\r\n Repo.postConfirmIsee(apiToken, data)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/lista_isee\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n \r\n const history = useHistory();\r\n return (\r\n <>\r\n
\r\n

Verifica ISEE

\r\n
\r\n

Verifica gli ISEE caricati dagli utenti confronta il valore inserito con quello estratto dal documento PDF

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

Riepilogo utente

\r\n \r\n
\r\n Nome cognome: \r\n
\r\n {userData && userData.firstName + \" \" + userData.lastName}\r\n \r\n
\r\n \r\n Codice Fiscale:{\" \"}\r\n
\r\n {userData && userData.fiscalCode}\r\n
\r\n Email: \r\n
\r\n {userData && userData.email}\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n

Valore ISEE Estratto in automatico:

\r\n
\r\n \r\n
\r\n
\r\n \r\n setValue(parseFloat(valueOCR).toLocaleString(\"it-IT\"))\r\n }\r\n >\r\n \r\n \r\n \r\n Copia valore\r\n \r\n
\r\n

ISEE Dichiarato*

\r\n
\r\n setValue(e.target.value)}\r\n {...(validation &&\r\n (value == \"\" || value == \" \") && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n confirmIsee()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n refuseIsee()}\r\n >\r\n Rifiuta\r\n \r\n
\r\n
\r\n history.goBack()}\r\n >\r\n Indietro\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n sendISEEApi()}\r\n >\r\n\r\n sendISEEApi()}\r\n >\r\n\r\n {!loading && (\r\n
\r\n
\r\n
\r\n \r\n Elaborazione valore ISEE...\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CheckISEE;\r\n","const ViewPDF = ({data,length}) => {\r\n \r\n return (\r\n
\r\n { length>0 ? ( \r\n ) \r\n : \r\n (
Non è stato caricato nessun PDF
)\r\n\r\n\r\n }\r\n
\r\n )\r\n }\r\nexport default ViewPDF","import { useEffect, useState, useContext } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Input } from \"design-react-kit\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ViewPDF from \"../../Components/ViewPDF\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction CheckISEE(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [value, setValue] = useState(\"\");\r\n const [file, setFile] = useState();\r\n const [userData, setUserData] = useState();\r\n const [validation, setValidation] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n\r\n let query = useQuery();\r\n let idIsee = query.get(\"idIsee\");\r\n useEffect(() => {\r\n setLoading(false);\r\n if (idIsee) {\r\n var obj = document.createElement(\"object\");\r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" ;\r\n obj.length =0;\r\n setFile(obj);\r\n console.log(obj.length);\r\n\r\n Repo.getIsee(apiToken, idIsee)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n \r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" + response.data.file;\r\n obj.length = response.data.file.length;\r\n console.log(obj.length);\r\n setFile(obj);\r\n setValue(response.data.value);\r\n setUserData(response.data.user);\r\n }\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n

Visualizza ISEE

\r\n
\r\n

Visualizza i dettagli dell'ISEE

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Dati Cittadino
\r\n
\r\n
\r\n Nome: {userData && userData.firstName}\r\n
\r\n
\r\n Cognome: {userData && userData.lastName}\r\n
\r\n
\r\n Codice Fiscale:{\" \"}\r\n {userData && userData.fiscalCode}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
Valore ISEE
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default CheckISEE;\r\n","import { useState, useEffect, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction EditRange(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [range, setRange] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n if (query.get(\"range\") != null) {\r\n Repo.getRangeById(apiToken, query.get(\"range\"))\r\n .then((response) => {\r\n setRange(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n const rangeEditValidation = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n if (range.name == null) passedValidation = false;\r\n if (range.min == null) passedValidation = false;\r\n if (range.max == null) passedValidation = false;\r\n if (range.fixedCost == null) passedValidation = false;\r\n\r\n if (passedValidation) {\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const updateRangeAPI = () => {\r\n Repo.postUpdateRange(apiToken, JSON.stringify(range))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/fasce\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const checkPercentage = (e) => {\r\n var perc = e.target.value;\r\n\r\n if (perc <= 100 && perc >= 0) {\r\n setRange({\r\n ...range,\r\n percent: parseInt(perc),\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n

Modifica fascia ISEE

\r\n
\r\n

\r\n
\r\n\t\t \r\n\r\n\r\n
\r\n
\r\n \r\n setRange({ ...range, name: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setRange({ ...range, min: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setRange({ ...range, max: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n checkPercentage(e)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n setRange({\r\n ...range,\r\n fixedCost: parseInt(e.target.value),\r\n })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n {isDisabled ? (\r\n
\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Modifica\"\r\n >\r\n Modifica\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Indietro\"\r\n >\r\n Indietro\r\n \r\n
\r\n
\r\n rangeEditValidation()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n )}\r\n \r\n\r\n updateRangeAPI()}\r\n >\r\n {!loading && }\r\n
\r\n );\r\n}\r\n\r\nexport default EditRange;\r\n","export default __webpack_public_path__ + \"static/media/upload.e4cff89b.svg\";","import React, { useEffect, useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport upload from \"../Assets/Img/upload.svg\";\r\n\r\nconst Button = styled.button`\r\n /* Insert your favorite CSS code to style a button */\r\n`;\r\nconst UploadFile = (props) => {\r\n const hiddenFileInput = React.useRef(null);\r\n\r\n const handleClick = (event) => {\r\n hiddenFileInput.current.click();\r\n };\r\n\r\n function getBase64(file) {\r\n return new Promise(function (resolve) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n resolve(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n console.log(\"Error: \", error);\r\n };\r\n });\r\n }\r\n\r\n const handleChange = async (event) => {\r\n if (props.typeFile.includes(event.target.files[0].type)) {\r\n console.log(event.target.files[0].type);\r\n if (event.target.files[0].type !=='application/pdf'){\r\n props.setErrorMessage(true);\r\n return;\r\n }\r\n\r\n\r\n const fileUploaded = event.target.files[0];\r\n setFile(fileUploaded);\r\n var base64File = await getBase64(fileUploaded);\r\n props.handleFile(base64File);\r\n props.setErrorMessage(false);\r\n } else {\r\n props.setErrorMessage(true);\r\n }\r\n };\r\n\r\n const [file, setFile] = useState();\r\n\r\n const [position] = useState(props.position ? props.position : \"text-center\");\r\n\r\n return (\r\n <>\r\n {!file && (\r\n \r\n \r\n \"upload\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

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

\r\n
\r\n {props.testoInterno ? props.testoInterno : \"Carica ISEE\"}\r\n
\r\n
\r\n\r\n \r\n \r\n )}\r\n\r\n {file && (\r\n <>\r\n \r\n \"upload\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

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

\r\n\r\n
\r\n
\r\n
\r\n {\r\n setFile(), props.handleFile();\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n {file.name}\r\n
\r\n
\r\n
\r\n {\r\n setFile(), props.handleFile();\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {props.testoCaricamento\r\n ? props.testoCaricamento\r\n : \"ISEE CARICATO CORRETTAMENTE\"}\r\n
\r\n
\r\n
\r\n
\r\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 UploadFile;\r\n","import { useEffect, useLayoutEffect, useState, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\nimport { useCookies } from \"react-cookie\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nconst number = new RegExp(\"^[+]?([0-9]{0,})*[,]?([0-9]{0,2})?$\", \"g\");\r\n\r\nfunction UploadISEE(props) {\r\n const [cookies] = useCookies();\r\n const apiToken = useContext(TokenContext);\r\n const [value, setValue] = useState();\r\n const [uploadISEE, setUploadISEE] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [validationISEE, setValidationISEE] = useState(false);\r\n const [skipValidationISEE, setSkipValidationISEE] = useState(false);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [data, setData] = useState();\r\n const [userId, setUserId] = useState();\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n const [year, setYear] = useState(false);\r\n const [date, setDate] = useState(false);\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n if (query.get(\"userId\")) {\r\n setUserId(query.get(\"userId\"));\r\n const d = moment();\r\n setYear(d.year());\r\n var localFormat = \"YYYY-MM-DD[T]HH:mm:ss\";\r\n setDate(d.format(localFormat));\r\n }\r\n }, []);\r\n\r\n const sendISEE = async () => {\r\n setValidation(true);\r\n setValidationISEE(true);\r\n\r\n let passedValidation = true;\r\n\r\n let tempData = {};\r\n \r\n\r\n \r\n if (!skipValidationISEE) {\r\n if (uploadISEE) {\r\n var splitBase64 = uploadISEE.split(\",\");\r\n tempData[\"base64\"] = splitBase64[1];\r\n } else {\r\n passedValidation = false;\r\n setValidationISEE(false);\r\n }\r\n }\r\n\r\n\r\n \r\n\r\n tempData[\"year\"] = year; \r\n tempData[\"date\"] = date;\r\n\r\n if (value == \"\" || value == \" \" || !value) passedValidation = false;\r\n\r\n tempData[\"userId\"] = userId;\r\n\r\n\r\n console.log(\"a\");\r\n console.log(tempData);\r\n \r\n\r\n tempData[\"value\"] = (value ==='') ? '0.00' : value;\r\n \r\n console.log(\"b\");\r\n console.log(value);\r\n console.log(tempData);\r\n\r\n\r\n\r\n tempData[\"value\"] = (tempData[\"value\"] ?? \"\").replace(\".\", \"\").replace(\",\", \".\");\r\n\r\n\r\n \r\n\r\n\r\n console.log(\"a\");\r\n console.log(tempData);\r\n\r\n\r\n if (passedValidation) {\r\n var dataJson = JSON.stringify(tempData);\r\n setData(dataJson);\r\n if (apiToken) {\r\n toggleModal(!isOpen);\r\n }\r\n }\r\n };\r\n\r\n const sendISEEApi = async () => {\r\n Repo.postSendIseeOperator(apiToken, data)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/lista_utenti/dati_utente?citizen=\"+userId;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n\r\n\r\n\r\n\r\n const skipIsee = (event) => {\r\n console.log(skipValidationISEE)\r\n if (skipValidationISEE===true)\r\n setSkipValidationISEE(false);\r\n else\r\n setSkipValidationISEE(true);\r\n \r\n };\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n

Carica ISEE

\r\n
\r\n

Inserisci un nuovo Isee associato all'utente

\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {errorMessage && (\r\n
\r\n Carica un file con un formato supportato\r\n
\r\n )}\r\n {validation && !validationISEE ? (\r\n
\r\n Non è stato caricato nessun documento\r\n
\r\n ) : (\r\n <>\r\n )}\r\n {uploadISEE && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Valore ISEE*
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n setValue(\r\n e.target.value.match(number) ? e.target.value : value\r\n )\r\n }\r\n {...(validation &&\r\n (value == \"\" || value == \" \" || !value) && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n\r\n\r\n
\r\n {\r\n const inputValue = e.target.value;\r\n setYear(inputValue.match(number) || inputValue === \"\" ? inputValue : year);\r\n }}\r\n {...(validation &&\r\n (!year || year.toString().trim() === \"\") && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n/>\r\n
\r\n\r\n\r\n
\r\n skipIsee(this)}\r\n \r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sendISEE()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n sendISEEApi()}\r\n >\r\n
\r\n );\r\n}\r\n\r\nexport default UploadISEE;\r\n","import { Input } from \"design-react-kit\";\r\nimport { useState, useContext } from \"react\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nconst number = new RegExp(\"^[+]?([0-9]{0,})*[,]?([0-9]{0,2})?$\", \"g\");\r\n\r\nfunction NewRange(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [data, setData] = useState({\r\n name: null,\r\n min: null,\r\n max: null,\r\n percent: null,\r\n fixedCost: null,\r\n });\r\n\r\n const newRangeValidation = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n if (data.name == null) passedValidation = false;\r\n if (data.min == null) passedValidation = false;\r\n if (data.max == null) passedValidation = false;\r\n if (data.fixedCost == null) passedValidation = false;\r\n\r\n if (passedValidation) {\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const insertRangeAPI = () => {\r\n Repo.postInsertRange(apiToken, JSON.stringify(data))\r\n .then((response) => {\r\n window.location.href = props.subfolder + \"/fasce\";\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const checkPercentage = (e) => {\r\n var perc = e.target.value;\r\n\r\n if (perc <= 100 && perc >= 0) {\r\n setData({\r\n ...data,\r\n percent: parseInt(perc),\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n

Nuova fascia ISEE

\r\n
\r\n

Inserisci una nuova fascia ISEE

\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n setData({ ...data, name: e.target.value })}\r\n />\r\n
\r\n
\r\n setData({ ...data, min: e.target.value })}\r\n />\r\n
\r\n
\r\n setData({ ...data, max: e.target.value })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n checkPercentage(e)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n setData({\r\n ...data,\r\n fixedCost: e.target.value.match(number)\r\n ? e.target.value\r\n : data.fixedCost,\r\n })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n newRangeValidation()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n\r\n insertRangeAPI()}\r\n >\r\n
\r\n );\r\n}\r\n\r\nexport default NewRange;\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport { Input } from \"design-react-kit\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\n\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListUsers(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [usersListTemp, setUsersListTemp] = useState();\r\n const [usersList, setUsersList] = useState([]);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [isOpenUser, toggleModalUser] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [removableUser, setRemovableUser] = useState({});\r\n const [entrato,setEntrato] = useState(false);\r\n const [modalUser, setModalUser] = useState();\r\n let query = useQuery();\r\n\r\n const [filter, setFilter] = useState({\r\n firstName: \"\",\r\n lastName: \"\",\r\n fiscalCode: \"\",\r\n email: \"\",\r\n phoneNumber: \"\",\r\n loaded: false,\r\n });\r\n\r\n\r\n\r\n\r\n const sendFilter = () => {\r\n // setLoading(false);\r\n console.log(\"a\");\r\n // alert(\"sendFilter \" + filter.loaded);\r\n Repo.getUsersList(apiToken, filter)\r\n .then((response) => {\r\n setUsersListTemp(response.data);\r\n // setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n // setLoading(true);\r\n });\r\n };\r\n\r\n const removeUserAPI = () => {\r\n Repo.postDeleteUser(apiToken, removableUser.id)\r\n\r\n .then((response) => {\r\n if (response.status == 204) {\r\n setRemovableUser({});\r\n window.location.href = props.subfolder + \"/lista_utenti\";\r\n }\r\n })\r\n .catch((error) => {\r\n setRemovableUser({});\r\n console.log(error);\r\n });\r\n };\r\n\r\n const filterOnLoad = (myObj) => {\r\n console.log(\"filterOnLoad:\",myObj);\r\n console.log(\"filter:\",filter);\r\n Repo.getUsersList(apiToken, myObj)\r\n .then((response) => {\r\n setUsersListTemp(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n // setLoading(true);\r\n });\r\n };\r\n\r\n\r\n useEffect(() => {\r\n // Prendere il parametro dalla query string\r\n const paramLoaded = query.get(\"loaded\");\r\n console.log(\"Eseguendo useEffect\");\r\n\r\n // Controllo se il parametro esiste ed è impostato a \"true\"\r\n if (paramLoaded === \"true\" && !entrato) {\r\n const updatedFilter = { ...filter, loaded: true };\r\n setFilter({ ...filter, loaded: true });\r\n setEntrato(true);\r\n filterOnLoad(updatedFilter);\r\n }\r\n }, [query]); // Solo query come dipendenza\r\n\r\n \r\n\r\n /*\r\n\r\nuseEffect(() => {\r\n // Prendere il parametro dalla query string\r\n const paramLoaded = query.get(\"loaded\");\r\n console.log(\"Eseguendo useEffect\");\r\n\r\n // Controllo se il parametro esiste ed è impostato a \"true\"\r\n if (paramLoaded === \"true\") {\r\n // Aggiorno lo stato del filtro impostando `loaded` a true\r\n const updatedFilter = { ...filter, loaded: true };\r\n setFilter(updatedFilter);\r\n\r\n // Applico il filtro dopo aver aggiornato lo stato\r\n filterOnLoad(updatedFilter);\r\n }\r\n \r\n}, [filter, query]); // Usa le dipendenze corrette\r\n\r\n */\r\n \r\n return (\r\n <>\r\n
\r\n

Lista utenti

\r\n
\r\n

\r\n Tutti gli utenti caricati sul sistema. Da qui è possibile cercare un\r\n utente o aggiungere un nuovo utente.{\" \"}\r\n

\r\n
\r\n\r\n {/*Inizo cerca*/}\r\n\r\n
\r\n
\r\n \r\n (window.location.href =\r\n window.location.pathname + \"/nuovo_utente\")\r\n }\r\n >\r\n \r\n \r\n {\" \"}\r\n Nuovo Utente\r\n \r\n
\r\n
\r\n\r\n {/*Inizo cerca*/}\r\n
\r\n
\r\n
\r\n \r\n setFilter({ ...filter, firstName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setFilter({ ...filter, lastName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setFilter({ ...filter, fiscalCode: e.target.value })\r\n }\r\n />\r\n
\r\n\r\n
\r\n \r\n setFilter({ ...filter, email: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setFilter({ ...filter, phoneNumber: e.target.value })\r\n }\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n setFilter({ ...filter, loaded: e.target.checked })\r\n }\r\n />\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n Cerca\r\n \r\n
\r\n
\r\n
\r\n {/*Fine cerca*/}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {usersList &&\r\n usersList.length > 0 &&\r\n usersList.map((x, index) => (\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Codice FiscaleNomeCognome\r\n Ultimo ISEE\r\n \r\n Data reg.\r\n
{x.fiscalCode}{x.firstName}{x.lastName}\r\n {\r\n x.isees.length > 0 ? (\r\n <>\r\n {x.isees[x.isees.length - 1].value !== null && (\r\n <>\r\n {parseFloat(x.isees[x.isees.length - 1].value).toLocaleString(\"it-IT\")} € ({x.isees[x.isees.length - 1].year})\r\n
\r\n \r\n {x.isees[x.isees.length - 1].state === \"VALIDATED\" ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : x.isees[x.isees.length - 1].state === \"LOADED\" ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : x.isees[x.isees.length - 1].state === \"REFUSED\" ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n x.isees[x.isees.length - 1].state\r\n )}\r\n {x.isees[x.isees.length - 1].hasFile === true ? (\r\n\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n\r\n\r\n \r\n )}\r\n \r\n ) : (\r\n <>N/A\r\n )\r\n}\r\n
{x.dataInsert}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {x.isees.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n {\r\n toggleModal(!isOpen);\r\n setRemovableUser({\r\n firstName: x.firstName,\r\n lastName: x.lastName,\r\n id: x.id,\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n {usersListTemp && (\r\n \r\n )}\r\n
\r\n\r\n removeUserAPI()}\r\n >\r\n\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default ListUsers;\r\n","import iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListServices(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [servicesList, setServicesList] = useState();\r\n const [serviceId, setServiceId] = useState();\r\n const [isOpen, toggleModal] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n if (apiToken) {\r\n setLoading(false);\r\n Repo.getServices(apiToken)\r\n .then((response) => {\r\n setServicesList(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n const deleteService = () => {\r\n Repo.deleteService(apiToken, serviceId)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n\r\n

Lista servizi

\r\n
\r\n

Tutti i servizi disponibili

\r\n
\r\n\r\n
\r\n
\r\n \r\n (window.location.href =\r\n window.location.pathname + \"/nuovo_servizio\")\r\n }\r\n >\r\n \r\n \r\n {\" \"}\r\n Nuovo servizio\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {servicesList &&\r\n servicesList.length > 0 &&\r\n servicesList.map((x, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
CodiceTitoloDescrizione
{x.code} {x.name}{x.description}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n {\r\n toggleModal(!isOpen), setServiceId(x.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n deleteService()}\r\n >\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default ListServices;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport moment from \"moment\";\r\nimport { useCookies } from \"react-cookie\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction NewService(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [validation, setValidation] = useState(false);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [data, setData] = useState();\r\n const [name, setName] = useState();\r\n const [description, setDescription] = useState();\r\n const [code, setCode] = useState();\r\n\r\n const sendService = () => {\r\n setValidation(true);\r\n\r\n let passedValidation = true;\r\n\r\n let tempData = {};\r\n\r\n if (!name) {\r\n passedValidation = false;\r\n } else {\r\n tempData[\"name\"] = name;\r\n }\r\n\r\n if (!description) {\r\n passedValidation = false;\r\n } else {\r\n tempData[\"description\"] = description;\r\n }\r\n\r\n if (!code) {\r\n passedValidation = false;\r\n } else {\r\n tempData[\"code\"] = code;\r\n }\r\n\r\n if (passedValidation) {\r\n var dataJson = JSON.stringify(tempData);\r\n setData(dataJson);\r\n if (apiToken) {\r\n toggleModal(!isOpen);\r\n }\r\n }\r\n };\r\n\r\n const sendServiceApi = async () => {\r\n Repo.postInsertService(apiToken, data)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/servizi\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n

Nuovo Servizio

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setName(e.target.value)}\r\n {...(validation &&\r\n !name && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n
\r\n setCode(e.target.value)}\r\n {...(validation &&\r\n !code && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n
\r\n setDescription(e.target.value)}\r\n {...(validation &&\r\n !description && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sendService()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n\r\n sendServiceApi()}\r\n >\r\n
\r\n );\r\n}\r\n\r\nexport default NewService;\r\n","export const PROVINCE = [\r\n {\r\n label: \"Agrigento\",\r\n value: \"AG\",\r\n },\r\n {\r\n label: \"Alessandria\",\r\n value: \"AL\",\r\n },\r\n {\r\n label: \"Ancona\",\r\n value: \"AN\",\r\n },\r\n {\r\n label: \"Valle d'Aosta/Vallée d'Aoste\",\r\n value: \"AO\",\r\n },\r\n {\r\n label: \"L'Aquila\",\r\n value: \"AQ\",\r\n },\r\n {\r\n label: \"Arezzo\",\r\n value: \"AR\",\r\n },\r\n {\r\n label: \"Ascoli Piceno\",\r\n value: \"AP\",\r\n },\r\n {\r\n label: \"Asti\",\r\n value: \"AT\",\r\n },\r\n {\r\n label: \"Avellino\",\r\n value: \"AV\",\r\n },\r\n {\r\n label: \"Bari\",\r\n value: \"BA\",\r\n },\r\n {\r\n label: \"Barletta-Andria-Trani\",\r\n value: \"BT\",\r\n },\r\n {\r\n label: \"Belluno\",\r\n value: \"BL\",\r\n },\r\n {\r\n label: \"Benevento\",\r\n value: \"BN\",\r\n },\r\n {\r\n label: \"Bergamo\",\r\n value: \"BG\",\r\n },\r\n {\r\n label: \"Biella\",\r\n value: \"BI\",\r\n },\r\n {\r\n label: \"Bologna\",\r\n value: \"BO\",\r\n },\r\n {\r\n label: \"Bolzano/Bozen\",\r\n value: \"BZ\",\r\n },\r\n {\r\n label: \"Brescia\",\r\n value: \"BS\",\r\n },\r\n {\r\n label: \"Brindisi\",\r\n value: \"BR\",\r\n },\r\n {\r\n label: \"Cagliari\",\r\n value: \"CA\",\r\n },\r\n {\r\n label: \"Caltanissetta\",\r\n value: \"CL\",\r\n },\r\n {\r\n label: \"Campobasso\",\r\n value: \"CB\",\r\n },\r\n {\r\n label: \"Sud Sardegna\",\r\n value: \"SU\",\r\n },\r\n {\r\n label: \"Caserta\",\r\n value: \"CE\",\r\n },\r\n {\r\n label: \"Enna\",\r\n value: \"EN\",\r\n },\r\n {\r\n label: \"Catania\",\r\n value: \"CT\",\r\n },\r\n {\r\n label: \"Catanzaro\",\r\n value: \"CZ\",\r\n },\r\n {\r\n label: \"Chieti\",\r\n value: \"CH\",\r\n },\r\n {\r\n label: \"Como\",\r\n value: \"CO\",\r\n },\r\n {\r\n label: \"Cosenza\",\r\n value: \"CS\",\r\n },\r\n {\r\n label: \"Crotone\",\r\n value: \"KR\",\r\n },\r\n {\r\n label: \"Cremona\",\r\n value: \"CR\",\r\n },\r\n {\r\n label: \"Cuneo\",\r\n value: \"CN\",\r\n },\r\n {\r\n label: \"Fermo\",\r\n value: \"FM\",\r\n },\r\n {\r\n label: \"Ferrara\",\r\n value: \"FE\",\r\n },\r\n {\r\n label: \"Firenze\",\r\n value: \"FI\",\r\n },\r\n {\r\n label: \"Foggia\",\r\n value: \"FG\",\r\n },\r\n {\r\n label: \"Forlì-Cesena\",\r\n value: \"FC\",\r\n },\r\n {\r\n label: \"Frosinone\",\r\n value: \"FR\",\r\n },\r\n {\r\n label: \"Genova\",\r\n value: \"GE\",\r\n },\r\n {\r\n label: \"Gorizia\",\r\n value: \"GO\",\r\n },\r\n {\r\n label: \"Grosseto\",\r\n value: \"GR\",\r\n },\r\n {\r\n label: \"Imperia\",\r\n value: \"IM\",\r\n },\r\n {\r\n label: \"Isernia\",\r\n value: \"IS\",\r\n },\r\n {\r\n label: \"La Spezia\",\r\n value: \"SP\",\r\n },\r\n {\r\n label: \"Latina\",\r\n value: \"LT\",\r\n },\r\n {\r\n label: \"Lecce\",\r\n value: \"LE\",\r\n },\r\n {\r\n label: \"Lecco\",\r\n value: \"LC\",\r\n },\r\n {\r\n label: \"Livorno\",\r\n value: \"LI\",\r\n },\r\n {\r\n label: \"Lodi\",\r\n value: \"LO\",\r\n },\r\n {\r\n label: \"Lucca\",\r\n value: \"LU\",\r\n },\r\n {\r\n label: \"Macerata\",\r\n value: \"MC\",\r\n },\r\n {\r\n label: \"Mantova\",\r\n value: \"MN\",\r\n },\r\n {\r\n label: \"Massa-Carrara\",\r\n value: \"MS\",\r\n },\r\n {\r\n label: \"Matera\",\r\n value: \"MT\",\r\n },\r\n {\r\n label: \"Messina\",\r\n value: \"ME\",\r\n },\r\n {\r\n label: \"Milano\",\r\n value: \"MI\",\r\n },\r\n {\r\n label: \"Modena\",\r\n value: \"MO\",\r\n },\r\n {\r\n label: \"Vibo Valentia\",\r\n value: \"VV\",\r\n },\r\n {\r\n label: \"Monza e della Brianza\",\r\n value: \"MB\",\r\n },\r\n {\r\n label: \"Napoli\",\r\n value: \"NA\",\r\n },\r\n {\r\n label: \"Novara\",\r\n value: \"NO\",\r\n },\r\n {\r\n label: \"Nuoro\",\r\n value: \"NU\",\r\n },\r\n {\r\n label: \"Oristano\",\r\n value: \"OR\",\r\n },\r\n {\r\n label: \"Padova\",\r\n value: \"PD\",\r\n },\r\n {\r\n label: \"Palermo\",\r\n value: \"PA\",\r\n },\r\n {\r\n label: \"Parma\",\r\n value: \"PR\",\r\n },\r\n {\r\n label: \"Pavia\",\r\n value: \"PV\",\r\n },\r\n {\r\n label: \"Perugia\",\r\n value: \"PG\",\r\n },\r\n {\r\n label: \"Pesaro e Urbino\",\r\n value: \"PU\",\r\n },\r\n {\r\n label: \"Pescara\",\r\n value: \"PE\",\r\n },\r\n {\r\n label: \"Piacenza\",\r\n value: \"PC\",\r\n },\r\n {\r\n label: \"Pisa\",\r\n value: \"PI\",\r\n },\r\n {\r\n label: \"Pistoia\",\r\n value: \"PT\",\r\n },\r\n {\r\n label: \"Pordenone\",\r\n value: \"PN\",\r\n },\r\n {\r\n label: \"Potenza\",\r\n value: \"PZ\",\r\n },\r\n {\r\n label: \"Prato\",\r\n value: \"PO\",\r\n },\r\n {\r\n label: \"Ragusa\",\r\n value: \"RG\",\r\n },\r\n {\r\n label: \"Ravenna\",\r\n value: \"RA\",\r\n },\r\n {\r\n label: \"Reggio nell'Emilia\",\r\n value: \"RE\",\r\n },\r\n {\r\n label: \"Reggio Calabria\",\r\n value: \"RC\",\r\n },\r\n {\r\n label: \"Rieti\",\r\n value: \"RI\",\r\n },\r\n {\r\n label: \"Rimini\",\r\n value: \"RN\",\r\n },\r\n {\r\n label: \"Roma\",\r\n value: \"RM\",\r\n },\r\n {\r\n label: \"Rovigo\",\r\n value: \"RO\",\r\n },\r\n {\r\n label: \"Salerno\",\r\n value: \"SA\",\r\n },\r\n {\r\n label: \"Sassari\",\r\n value: \"SS\",\r\n },\r\n {\r\n label: \"Savona\",\r\n value: \"SV\",\r\n },\r\n {\r\n label: \"Siena\",\r\n value: \"SI\",\r\n },\r\n {\r\n label: \"Siracusa\",\r\n value: \"SR\",\r\n },\r\n {\r\n label: \"Sondrio\",\r\n value: \"SO\",\r\n },\r\n {\r\n label: \"Taranto\",\r\n value: \"TA\",\r\n },\r\n {\r\n label: \"Teramo\",\r\n value: \"TE\",\r\n },\r\n {\r\n label: \"Terni\",\r\n value: \"TR\",\r\n },\r\n {\r\n label: \"Torino\",\r\n value: \"TO\",\r\n },\r\n {\r\n label: \"Trapani\",\r\n value: \"TP\",\r\n },\r\n {\r\n label: \"Trento\",\r\n value: \"TN\",\r\n },\r\n {\r\n label: \"Treviso\",\r\n value: \"TV\",\r\n },\r\n {\r\n label: \"Trieste\",\r\n value: \"TS\",\r\n },\r\n {\r\n label: \"Udine\",\r\n value: \"UD\",\r\n },\r\n {\r\n label: \"Varese\",\r\n value: \"VA\",\r\n },\r\n {\r\n label: \"Venezia\",\r\n value: \"VE\",\r\n },\r\n {\r\n label: \"Verbano-Cusio-Ossola\",\r\n value: \"VB\",\r\n },\r\n {\r\n label: \"Vercelli\",\r\n value: \"VC\",\r\n },\r\n {\r\n label: \"Verona\",\r\n value: \"VR\",\r\n },\r\n {\r\n label: \"Vicenza\",\r\n value: \"VI\",\r\n },\r\n {\r\n label: \"Viterbo\",\r\n value: \"VT\",\r\n },\r\n];\r\n","export const NAZIONI = [\r\n {\r\n label: \"AFGHANISTAN\",\r\n value: \"AF\",\r\n },\r\n {\r\n label: \"ALBANIA\",\r\n value: \"AL\",\r\n },\r\n {\r\n label: \"ALGERIA\",\r\n value: \"DZ\",\r\n },\r\n {\r\n label: \"ANDORRA\",\r\n value: \"AD\",\r\n },\r\n {\r\n label: \"ANGOLA\",\r\n value: \"AO\",\r\n },\r\n {\r\n label: \"ANGUILLA\",\r\n value: \"AI\",\r\n },\r\n {\r\n label: \"ANTARTIDE\",\r\n value: \"AQ\",\r\n },\r\n {\r\n label: \"ANTIGUAEBARBUDA\",\r\n value: \"AG\",\r\n },\r\n {\r\n label: \"ARABIASAUDITA\",\r\n value: \"SA\",\r\n },\r\n {\r\n label: \"ARGENTINA\",\r\n value: \"AR\",\r\n },\r\n {\r\n label: \"ARMENIA(Asia)\",\r\n value: \"AM\",\r\n },\r\n {\r\n label: \"ARMENIA(Europa)\",\r\n value: \"AM\",\r\n },\r\n {\r\n label: \"ARUBA\",\r\n value: \"AW\",\r\n },\r\n {\r\n label: \"AUSTRALIA\",\r\n value: \"AU\",\r\n },\r\n {\r\n label: \"AUSTRIA\",\r\n value: \"AT\",\r\n },\r\n {\r\n label: \"AZERBAIGIAN(Asia)\",\r\n value: \"AZ\",\r\n },\r\n {\r\n label: \"AZERBAIGIAN(Europa)\",\r\n value: \"AZ\",\r\n },\r\n {\r\n label: \"BAHAMAS\",\r\n value: \"BS\",\r\n },\r\n {\r\n label: \"BAHRAIN\",\r\n value: \"BH\",\r\n },\r\n {\r\n label: \"BANGLADESH\",\r\n value: \"BD\",\r\n },\r\n {\r\n label: \"BARBADOS\",\r\n value: \"BB\",\r\n },\r\n {\r\n label: \"BELGIO\",\r\n value: \"BE\",\r\n },\r\n {\r\n label: \"BELIZE\",\r\n value: \"BZ\",\r\n },\r\n {\r\n label: \"BENIN\",\r\n value: \"BJ\",\r\n },\r\n {\r\n label: \"BERMUDA\",\r\n value: \"BM\",\r\n },\r\n {\r\n label: \"BHUTAN\",\r\n value: \"BT\",\r\n },\r\n {\r\n label: \"BIELORUSSIA\",\r\n value: \"BY\",\r\n },\r\n {\r\n label: \"BIRMANIA\",\r\n value: \"MM\",\r\n },\r\n {\r\n label: \"BOLIVIA\",\r\n value: \"BO\",\r\n },\r\n {\r\n label: \"BOSNIAEDERZEGOVINA\",\r\n value: \"BA\",\r\n },\r\n {\r\n label: \"BOTSWANA\",\r\n value: \"BW\",\r\n },\r\n {\r\n label: \"BRASILE\",\r\n value: \"BR\",\r\n },\r\n {\r\n label: \"BRUNEI\",\r\n value: \"BN\",\r\n },\r\n {\r\n label: \"BULGARIA\",\r\n value: \"BG\",\r\n },\r\n {\r\n label: \"BURKINAFASO\",\r\n value: \"BF\",\r\n },\r\n {\r\n label: \"BURUNDI\",\r\n value: \"BI\",\r\n },\r\n {\r\n label: \"CAMBOGIA\",\r\n value: \"KH\",\r\n },\r\n {\r\n label: \"CAMERUN\",\r\n value: \"CM\",\r\n },\r\n {\r\n label: \"CANADA\",\r\n value: \"CA\",\r\n },\r\n {\r\n label: \"CAPOVERDE\",\r\n value: \"CV\",\r\n },\r\n {\r\n label: \"CIAD\",\r\n value: \"TD\",\r\n },\r\n {\r\n label: \"CILE\",\r\n value: \"CL\",\r\n },\r\n {\r\n label: \"CINAREPUBBLICANAZIONALE\",\r\n value: \"TW\",\r\n },\r\n {\r\n label: \"CINAREPUBBLICAPOPOLARE\",\r\n value: \"CN\",\r\n },\r\n {\r\n label: \"CIPRO\",\r\n value: \"CY\",\r\n },\r\n {\r\n label: \"CITTADELVATICANO\",\r\n value: \"VA\",\r\n },\r\n {\r\n label: \"COLOMBIA\",\r\n value: \"CO\",\r\n },\r\n {\r\n label: \"COMORE\",\r\n value: \"KM\",\r\n },\r\n {\r\n label: \"COREADELNORD\",\r\n value: \"KP\",\r\n },\r\n {\r\n label: \"COREADELSUD\",\r\n value: \"KR\",\r\n },\r\n {\r\n label: \"COSTADAVORIO\",\r\n value: \"CI\",\r\n },\r\n {\r\n label: \"COSTARICA\",\r\n value: \"CR\",\r\n },\r\n {\r\n label: \"CROAZIA\",\r\n value: \"HR\",\r\n },\r\n {\r\n label: \"CUBA\",\r\n value: \"CU\",\r\n },\r\n {\r\n label: \"CURACAO\",\r\n value: \"AN\",\r\n },\r\n {\r\n label: \"DANIMARCA\",\r\n value: \"DK\",\r\n },\r\n {\r\n label: \"DOMINICA\",\r\n value: \"DM\",\r\n },\r\n {\r\n label: \"ECUADOR\",\r\n value: \"EC\",\r\n },\r\n {\r\n label: \"EGITTO\",\r\n value: \"EG\",\r\n },\r\n {\r\n label: \"ELSALVADOR\",\r\n value: \"SV\",\r\n },\r\n {\r\n label: \"EMIRATIARABIUNITI\",\r\n value: \"AE\",\r\n },\r\n {\r\n label: \"ERITREA\",\r\n value: \"ER\",\r\n },\r\n {\r\n label: \"ESTONIA\",\r\n value: \"EE\",\r\n },\r\n {\r\n label: \"ETIOPIA\",\r\n value: \"ET\",\r\n },\r\n {\r\n label: \"FIGI\",\r\n value: \"Fj\",\r\n },\r\n {\r\n label: \"FILIPPINE\",\r\n value: \"PH\",\r\n },\r\n {\r\n label: \"FINLANDIA\",\r\n value: \"FI\",\r\n },\r\n {\r\n label: \"FRANCIA\",\r\n value: \"FR\",\r\n },\r\n {\r\n label: \"GABON\",\r\n value: \"GA\",\r\n },\r\n {\r\n label: \"GAMBIA\",\r\n value: \"GM\",\r\n },\r\n {\r\n label: \"GEORGIA\",\r\n value: \"GE\",\r\n },\r\n {\r\n label: \"GEORGIAD.SUDEI.SANDWICH\",\r\n value: \"GS\",\r\n },\r\n {\r\n label: \"GERMANIA\",\r\n value: \"DE\",\r\n },\r\n {\r\n label: \"GHANA\",\r\n value: \"GH\",\r\n },\r\n {\r\n label: \"GIAMAICA\",\r\n value: \"JM\",\r\n },\r\n {\r\n label: \"GIAPPONE\",\r\n value: \"JP\",\r\n },\r\n {\r\n label: \"GIBILTERRA\",\r\n value: \"GI\",\r\n },\r\n {\r\n label: \"GIBUTI\",\r\n value: \"DJ\",\r\n },\r\n {\r\n label: \"GIORDANIA\",\r\n value: \"JO\",\r\n },\r\n {\r\n label: \"GRECIA\",\r\n value: \"GR\",\r\n },\r\n {\r\n label: \"GRENADA\",\r\n value: \"GD\",\r\n },\r\n {\r\n label: \"GROENLANDIA\",\r\n value: \"GL\",\r\n },\r\n {\r\n label: \"GUADALUPA\",\r\n value: \"GP\",\r\n },\r\n {\r\n label: \"GUAM\",\r\n value: \"GU\",\r\n },\r\n {\r\n label: \"GUATEMALA\",\r\n value: \"GT\",\r\n },\r\n {\r\n label: \"GUERNSEY\",\r\n value: \"GG\",\r\n },\r\n {\r\n label: \"GUINEA\",\r\n value: \"GN\",\r\n },\r\n {\r\n label: \"GUINEAEQUATORIALE\",\r\n value: \"GQ\",\r\n },\r\n {\r\n label: \"GUINEA-BISSAU\",\r\n value: \"GW\",\r\n },\r\n {\r\n label: \"GUYANA\",\r\n value: \"GY\",\r\n },\r\n {\r\n label: \"GUYANAFRANCESE\",\r\n value: \"GF\",\r\n },\r\n {\r\n label: \"HAITI\",\r\n value: \"HT\",\r\n },\r\n {\r\n label: \"HONDURAS\",\r\n value: \"HN\",\r\n },\r\n {\r\n label: \"HONGKONG\",\r\n value: \"HK\",\r\n },\r\n {\r\n label: \"INDIA\",\r\n value: \"IN\",\r\n },\r\n {\r\n label: \"INDONESIA\",\r\n value: \"ID\",\r\n },\r\n {\r\n label: \"IRAN\",\r\n value: \"IR\",\r\n },\r\n {\r\n label: \"IRAQ\",\r\n value: \"IQ\",\r\n },\r\n {\r\n label: \"IRLANDA\",\r\n value: \"IE\",\r\n },\r\n {\r\n label: \"ISLANDA\",\r\n value: \"IS\",\r\n },\r\n {\r\n label: \"ISOLAALAND\",\r\n value: \"AX\",\r\n },\r\n {\r\n label: \"ISOLABOUVET\",\r\n value: \"BV\",\r\n },\r\n {\r\n label: \"ISOLADIMAN\",\r\n value: \"IM\",\r\n },\r\n {\r\n label: \"ISOLADINATALE\",\r\n value: \"CX\",\r\n },\r\n {\r\n label: \"ISOLANORFOLK\",\r\n value: \"NF\",\r\n },\r\n {\r\n label: \"ISOLEBES\",\r\n value: \"BQ\",\r\n },\r\n {\r\n label: \"ISOLECAYMAN\",\r\n value: \"KY\",\r\n },\r\n {\r\n label: \"ISOLECOCOSEKEELING\",\r\n value: \"CC\",\r\n },\r\n {\r\n label: \"ISOLECOOK\",\r\n value: \"CK\",\r\n },\r\n {\r\n label: \"ISOLEFAEROER\",\r\n value: \"FO\",\r\n },\r\n {\r\n label: \"ISOLEFALKLAND\",\r\n value: \"FK\",\r\n },\r\n {\r\n label: \"ISOLEHEARDEMCDONALD\",\r\n value: \"HM\",\r\n },\r\n {\r\n label: \"ISOLEMARIANNESETTENTRIONALI\",\r\n value: \"MP\",\r\n },\r\n {\r\n label: \"ISOLEMARSHALL\",\r\n value: \"MH\",\r\n },\r\n {\r\n label: \"ISOLEMINORIDEGLISTATIUNITI\",\r\n value: \"UM\",\r\n },\r\n {\r\n label: \"ISOLEPITCAIRN\",\r\n value: \"PN\",\r\n },\r\n {\r\n label: \"ISOLESALOMONE\",\r\n value: \"SB\",\r\n },\r\n {\r\n label: \"ISOLEVERGINIAMERICANE\",\r\n value: \"VI\",\r\n },\r\n {\r\n label: \"ISOLEVERGINIBRITANNICHE\",\r\n value: \"VG\",\r\n },\r\n {\r\n label: \"ISRAELE\",\r\n value: \"IL\",\r\n },\r\n {\r\n label: \"ITALIA\",\r\n value: \"IT\",\r\n },\r\n {\r\n label: \"JERSEY\",\r\n value: \"JE\",\r\n },\r\n {\r\n label: \"KAZAKISTAN(Asia)\",\r\n value: \"KZ\",\r\n },\r\n {\r\n label: \"KAZAKISTAN(Europa)\",\r\n value: \"KK\",\r\n },\r\n {\r\n label: \"KENYA\",\r\n value: \"KE\",\r\n },\r\n {\r\n label: \"KIRGHIZISTAN(Asia)\",\r\n value: \"KS\",\r\n },\r\n {\r\n label: \"KIRGHIZISTAN(Europa)\",\r\n value: \"KG\",\r\n },\r\n {\r\n label: \"KIRIBATI\",\r\n value: \"KI\",\r\n },\r\n {\r\n label: \"KOSOVO\",\r\n value: \"XZ\",\r\n },\r\n {\r\n label: \"KUWAIT\",\r\n value: \"KW\",\r\n },\r\n {\r\n label: \"LAOS\",\r\n value: \"LA\",\r\n },\r\n {\r\n label: \"LESOTHO\",\r\n value: \"LS\",\r\n },\r\n {\r\n label: \"LETTONIA\",\r\n value: \"LV\",\r\n },\r\n {\r\n label: \"LIBANO\",\r\n value: \"LB\",\r\n },\r\n {\r\n label: \"LIBERIA\",\r\n value: \"LR\",\r\n },\r\n {\r\n label: \"LIBIA\",\r\n value: \"LY\",\r\n },\r\n {\r\n label: \"LIECHTENSTEIN\",\r\n value: \"LI\",\r\n },\r\n {\r\n label: \"LITUANIA\",\r\n value: \"LT\",\r\n },\r\n {\r\n label: \"LUSSEMBURGO\",\r\n value: \"LU\",\r\n },\r\n {\r\n label: \"MACAO\",\r\n value: \"MO\",\r\n },\r\n {\r\n label: \"MADAGASCAR\",\r\n value: \"MG\",\r\n },\r\n {\r\n label: \"MALAWI\",\r\n value: \"MW\",\r\n },\r\n {\r\n label: \"MALDIVE\",\r\n value: \"MV\",\r\n },\r\n {\r\n label: \"MALESIA\",\r\n value: \"MY\",\r\n },\r\n {\r\n label: \"MALI\",\r\n value: \"ML\",\r\n },\r\n {\r\n label: \"MALTA\",\r\n value: \"MT\",\r\n },\r\n {\r\n label: \"MAROCCO\",\r\n value: \"MA\",\r\n },\r\n {\r\n label: \"MARTINICA\",\r\n value: \"MQ\",\r\n },\r\n {\r\n label: \"MAURITANIA\",\r\n value: \"MR\",\r\n },\r\n {\r\n label: \"MAURITIUS\",\r\n value: \"MU\",\r\n },\r\n {\r\n label: \"MAYOTTE\",\r\n value: \"YT\",\r\n },\r\n {\r\n label: \"MESSICO\",\r\n value: \"MX\",\r\n },\r\n {\r\n label: \"MICRONESIA\",\r\n value: \"FM\",\r\n },\r\n {\r\n label: \"MOLDAVIA\",\r\n value: \"MD\",\r\n },\r\n {\r\n label: \"MONGOLIA\",\r\n value: \"MN\",\r\n },\r\n {\r\n label: \"MONTENEGRO\",\r\n value: \"ME\",\r\n },\r\n {\r\n label: \"MONTSERRAT\",\r\n value: \"MS\",\r\n },\r\n {\r\n label: \"MOZAMBICO\",\r\n value: \"MZ\",\r\n },\r\n {\r\n label: \"NAMIBIA\",\r\n value: \"NA\",\r\n },\r\n {\r\n label: \"NAURU\",\r\n value: \"NR\",\r\n },\r\n {\r\n label: \"NEPAL\",\r\n value: \"NP\",\r\n },\r\n {\r\n label: \"NICARAGUA\",\r\n value: \"NI\",\r\n },\r\n {\r\n label: \"NIGER\",\r\n value: \"NE\",\r\n },\r\n {\r\n label: \"NIGERIA\",\r\n value: \"NG\",\r\n },\r\n {\r\n label: \"NIUE\",\r\n value: \"NU\",\r\n },\r\n {\r\n label: \"NORVEGIA\",\r\n value: \"NO\",\r\n },\r\n {\r\n label: \"NUOVACALEDONIA\",\r\n value: \"NC\",\r\n },\r\n {\r\n label: \"NUOVAZELANDA\",\r\n value: \"NZ\",\r\n },\r\n {\r\n label: \"OMAN\",\r\n value: \"OM\",\r\n },\r\n {\r\n label: \"PAESIBASSI\",\r\n value: \"NL\",\r\n },\r\n {\r\n label: \"PAKISTAN\",\r\n value: \"PK\",\r\n },\r\n {\r\n label: \"PALAU\",\r\n value: \"PW\",\r\n },\r\n {\r\n label: \"PALESTINA\",\r\n value: \"PS\",\r\n },\r\n {\r\n label: \"PANAMA\",\r\n value: \"PA\",\r\n },\r\n {\r\n label: \"PAPUANUOVAGUINEA\",\r\n value: \"PG\",\r\n },\r\n {\r\n label: \"PARAGUAY\",\r\n value: \"PY\",\r\n },\r\n {\r\n label: \"PERU\",\r\n value: \"PE\",\r\n },\r\n {\r\n label: \"POLINESIAFRANCESE\",\r\n value: \"PF\",\r\n },\r\n {\r\n label: \"POLONIA\",\r\n value: \"PL\",\r\n },\r\n {\r\n label: \"PORTORICO\",\r\n value: \"PR\",\r\n },\r\n {\r\n label: \"PORTOGALLO\",\r\n value: \"PT\",\r\n },\r\n {\r\n label: \"PRINCIPATODIMONACO\",\r\n value: \"MC\",\r\n },\r\n {\r\n label: \"QATAR\",\r\n value: \"QA\",\r\n },\r\n {\r\n label: \"REGNOUNITO\",\r\n value: \"GB\",\r\n },\r\n {\r\n label: \"REP.DEMOCRATICADELCONGO\",\r\n value: \"CD\",\r\n },\r\n {\r\n label: \"REP.DOMINICANA\",\r\n value: \"DO\",\r\n },\r\n {\r\n label: \"REPUBBLICACECA\",\r\n value: \"CZ\",\r\n },\r\n {\r\n label: \"REPUBBLICACENTRAFRICANA\",\r\n value: \"CF\",\r\n },\r\n {\r\n label: \"REPUBBLICADELCONGO\",\r\n value: \"CG\",\r\n },\r\n {\r\n label: \"REPUBBLICADIMACEDONIA\",\r\n value: \"MK\",\r\n },\r\n {\r\n label: \"RIUNIONE\",\r\n value: \"RE\",\r\n },\r\n {\r\n label: \"ROMANIA\",\r\n value: \"RO\",\r\n },\r\n {\r\n label: \"RUANDA\",\r\n value: \"RW\",\r\n },\r\n {\r\n label: \"RUSSIA\",\r\n value: \"RU\",\r\n },\r\n {\r\n label: \"SAHARAOCCIDENTALE\",\r\n value: \"EH\",\r\n },\r\n {\r\n label: \"SAINTKITTSENEVIS\",\r\n value: \"KN\",\r\n },\r\n {\r\n label: \"SAINTPIERREETMIQUELON\",\r\n value: \"PM\",\r\n },\r\n {\r\n label: \"SAINTVINCENTEGRENADINE\",\r\n value: \"VC\",\r\n },\r\n {\r\n label: \"SAINT-BARTHELEMY\",\r\n value: \"BL\",\r\n },\r\n {\r\n label: \"SAINT-MARTIN\",\r\n value: \"MF\",\r\n },\r\n {\r\n label: \"SAMOA\",\r\n value: \"WS\",\r\n },\r\n {\r\n label: \"SAMOAAMERICANE\",\r\n value: \"AS\",\r\n },\r\n {\r\n label: \"SANMARINO\",\r\n value: \"SM\",\r\n },\r\n {\r\n label: \"SANTALUCIA\",\r\n value: \"LC\",\r\n },\r\n {\r\n label: \"SANTELENA\",\r\n value: \"SH\",\r\n },\r\n {\r\n label: \"SAOTOMEEPRINCIPE\",\r\n value: \"ST\",\r\n },\r\n {\r\n label: \"SENEGAL\",\r\n value: \"SN\",\r\n },\r\n {\r\n label: \"SERBIA\",\r\n value: \"RS\",\r\n },\r\n {\r\n label: \"SEYCHELLES\",\r\n value: \"SC\",\r\n },\r\n {\r\n label: \"SIERRALEONE\",\r\n value: \"SL\",\r\n },\r\n {\r\n label: \"SINGAPORE\",\r\n value: \"SG\",\r\n },\r\n {\r\n label: \"SINTMAARTEN\",\r\n value: \"SX\",\r\n },\r\n {\r\n label: \"SIRIA\",\r\n value: \"SY\",\r\n },\r\n {\r\n label: \"SLOVACCHIA\",\r\n value: \"SK\",\r\n },\r\n {\r\n label: \"SLOVENIA\",\r\n value: \"SI\",\r\n },\r\n {\r\n label: \"SOMALIA\",\r\n value: \"SO\",\r\n },\r\n {\r\n label: \"SPAGNA\",\r\n value: \"ES\",\r\n },\r\n {\r\n label: \"SRILANKA\",\r\n value: \"LK\",\r\n },\r\n {\r\n label: \"STATIUNITIDAMERICA\",\r\n value: \"US\",\r\n },\r\n {\r\n label: \"SUDAFRICANA\",\r\n value: \"ZA\",\r\n },\r\n {\r\n label: \"SUDAN\",\r\n value: \"SD\",\r\n },\r\n {\r\n label: \"SUDANDELSUD\",\r\n value: \"SS\",\r\n },\r\n {\r\n label: \"SURINAME\",\r\n value: \"SR\",\r\n },\r\n {\r\n label: \"SVALBARDEJANMAYEN\",\r\n value: \"SJ\",\r\n },\r\n {\r\n label: \"SVEZIA\",\r\n value: \"SE\",\r\n },\r\n {\r\n label: \"SVIZZERA\",\r\n value: \"CH\",\r\n },\r\n {\r\n label: \"SWAZILAND\",\r\n value: \"SZ\",\r\n },\r\n {\r\n label: \"T.AUSTRALIEANT.FRANCESI\",\r\n value: \"TF\",\r\n },\r\n {\r\n label: \"T.BRITANNICODELLOCEANOIND.\",\r\n value: \"IO\",\r\n },\r\n {\r\n label: \"TAGIKISTAN(Asia)\",\r\n value: \"TJ\",\r\n },\r\n {\r\n label: \"TAGIKISTAN(Europa)\",\r\n value: \"TJ\",\r\n },\r\n {\r\n label: \"TAIWAN\",\r\n value: \"TW\",\r\n },\r\n {\r\n label: \"TANZANIA\",\r\n value: \"TZ\",\r\n },\r\n {\r\n label: \"RRITORIPALESTINESI\",\r\n value: \"TE\",\r\n },\r\n {\r\n label: \"THAILANDIA\",\r\n value: \"TH\",\r\n },\r\n {\r\n label: \"TIMOREST\",\r\n value: \"TP\",\r\n },\r\n {\r\n label: \"TOGO\",\r\n value: \"TG\",\r\n },\r\n {\r\n label: \"TOKELAU\",\r\n value: \"TK\",\r\n },\r\n {\r\n label: \"TONGA\",\r\n value: \"TO\",\r\n },\r\n {\r\n label: \"TRINIDADETOBAGO\",\r\n value: \"TT\",\r\n },\r\n {\r\n label: \"TUNISIA\",\r\n value: \"TN\",\r\n },\r\n {\r\n label: \"TURCHIA\",\r\n value: \"TR\",\r\n },\r\n {\r\n label: \"TURKMENISTAN(Asia)\",\r\n value: \"TM\",\r\n },\r\n {\r\n label: \"TURKMENISTAN(Europa)\",\r\n value: \"TM\",\r\n },\r\n {\r\n label: \"TURKSECAICOS\",\r\n value: \"TC\",\r\n },\r\n {\r\n label: \"TUVALU\",\r\n value: \"TV\",\r\n },\r\n {\r\n label: \"UCRAINA\",\r\n value: \"UA\",\r\n },\r\n {\r\n label: \"UGANDA\",\r\n value: \"UG\",\r\n },\r\n {\r\n label: \"UNGHERIA\",\r\n value: \"HU\",\r\n },\r\n {\r\n label: \"URUGUAY\",\r\n value: \"UY\",\r\n },\r\n {\r\n label: \"UZBEKISTAN\",\r\n value: \"UZ\",\r\n },\r\n {\r\n label: \"VANUATU\",\r\n value: \"VU\",\r\n },\r\n {\r\n label: \"VENEZUELA\",\r\n value: \"VE\",\r\n },\r\n {\r\n label: \"VIETNAM\",\r\n value: \"VN\",\r\n },\r\n {\r\n label: \"WALLISEFUTUNA\",\r\n value: \"WF\",\r\n },\r\n {\r\n label: \"YEMEN\",\r\n value: \"YE\",\r\n },\r\n {\r\n label: \"ZAMBIA\",\r\n value: \"ZM\",\r\n },\r\n {\r\n label: \"ZIMBAWE\",\r\n value: \"ZW\",\r\n },\r\n];\r\n","import React, { useState } from 'react';\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport './AlertMessage.css';\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction AlertMessage({ isVisible, onClose, error }) {\r\n \r\n const [errorMessage, setErrorMessage] = useState(\"\");\r\n\r\n\r\n console.log(\"B\");\r\n\r\n const handleClose = () => {\r\n if (onClose) {\r\n onClose();\r\n }\r\n };\r\n\r\n return (\r\n isVisible && (\r\n
\r\n Attenzione {error}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n );\r\n}\r\n\r\n\r\nfunction showError(error) {\r\n console.log(\"A\");\r\n const MESSAGE_ERROR_DEFAULT = \"Oops qualcosa è andato storto. Riprova più tardi!\";\r\n console.log(error);\r\n return (error.response?.data?.Message || error.response?.data || MESSAGE_ERROR_DEFAULT);\r\n\r\n}\r\n\r\nexport { AlertMessage, showError };\r\nexport default AlertMessage;\r\n","import { Input } from \"design-react-kit\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Select from \"../../Components/Select\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { PROVINCE } from \"../../Components/listaProvince\";\r\nimport { NAZIONI } from \"../../Components/listaNazioni\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport { AlertMessage, showError } from \"../../Components/AlertMessage\";\r\n\r\n\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction NewUser(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [validationEmail, setValidationEmail] = useState(true);\r\n const [validationCF, setValidationCF] = useState(true);\r\n const [listaProvince] = useState(PROVINCE);\r\n const [listaNazioni] = useState(NAZIONI);\r\n const [listaMunicipi, setListaMunicipi] = useState();\r\n\r\n const [apiError, setApiError] = useState({});\r\n const [nazionePredefinita, setNazionePredefinita] = useState({});\r\n\r\n let query = useQuery();\r\n\r\n\r\n\r\n\r\n const [data, setData] = useState({\r\n firstName: null,\r\n lastName: null,\r\n birthDate: null,\r\n fiscalCode: null,\r\n email: null,\r\n phoneNumber: null,\r\n address: null,\r\n addressNumber: null,\r\n cap: null,\r\n country: null,\r\n city: null,\r\n nation: 'IT',\r\n municipioId: null,\r\n });\r\n\r\n\r\n useEffect(() => {\r\n setNazionePredefinita(listaNazioni.find((opzione) => opzione.value === 'IT'));\r\n }, []);\r\n\r\n\r\n const handleSelectChange = (selectedOption) => {\r\n setNazionePredefinita(\r\n listaNazioni.find((opzione) => opzione.value === selectedOption.value)\r\n );\r\n setData({ ...data, nation: selectedOption ? selectedOption.value : 'IT' });\r\n };\r\n \r\n\r\n\r\n useEffect(() => {\r\n Repo.getMunicipi(apiToken)\r\n .then((response) => {\r\n setListaMunicipi(response.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n\r\n\r\n\r\n const newUserValidation = () => {\r\n const regexEmail = /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$/;\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n if (data.email && !data.email.match(regexEmail)) {\r\n setValidationEmail(false);\r\n } else {\r\n setValidationEmail(true);\r\n }\r\n\r\n if (data.fiscalCode && data.fiscalCode.length != 16) {\r\n setValidationCF(false);\r\n } else {\r\n setValidationCF(true);\r\n }\r\n\r\n Object.entries(data).map(([key, value]) => {\r\n if (\r\n value === null &&\r\n key !== \"emailPec\" &&\r\n key !== \"email\" &&\r\n key !== \"phoneNumber\"&&\r\n key !== \"municipioId\" &&\r\n key !== \"municipio\"\r\n ) {\r\n passedValidation = false;\r\n }\r\n });\r\n\r\n if (passedValidation) {\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const handleAlertClose = () => {\r\n setApiError({ isVisible: false, message: '' });\r\n };\r\n\r\n\r\n const insertUserAPI = () => {\r\n const urlBack = query.get(\"urlBack\");\r\n //const page = urlBack ? urlBack : props.subfolder + '/dati_utente?citizen=';\r\n\r\n\r\n\r\n Repo.postInsertUser(apiToken, JSON.stringify(data))\r\n .then((response) => {\r\n if (response.status === 200) {\r\n \r\n let userId = response.data.id;\r\n // Successo, esegui le azioni necessarie\r\n window.location.href = props.subfolder + '/lista_utenti/dati_utente?citizen='+userId;\r\n } else {\r\n // Altri codici di stato di risposta\r\n // Gestisci di conseguenza\r\n }\r\n })\r\n .catch((error) => {\r\n \r\n toggleModal(!isOpen);\r\n\r\n setApiError({ isVisible: true, message: showError(error) });\r\n \r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n\r\n\r\n {apiError.isVisible && (\r\n \r\n )}\r\n\r\n\r\n

Nuovo utente

\r\n
\r\n

Inserisci un nuovo utente

\r\n
\r\n\t\t \r\n\r\n
\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n
\r\n \r\n setData({ ...data, firstName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, lastName: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.lastName && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, fiscalCode: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.fiscalCode && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n {...(validation & !validationCF && {\r\n infoText: \"Il codice fiscale è errato!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setData({ ...data, birthDate: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.birthDate && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, email: e.target.value })\r\n }\r\n // {...(validation &&\r\n // !data.email && {\r\n // infoText: \"Il campo non può essere vuoto!\",\r\n // className: \"text-danger error_div is-invalid\",\r\n // })}\r\n {...(validation &&\r\n !validationEmail && {\r\n infoText: \"Il formato dell'email non è corretto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, emailPec: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, phoneNumber: e.target.value })\r\n }\r\n // {...(validation &&\r\n // !data.phoneNumber && {\r\n // infoText: \"Il campo non può essere vuoto!\",\r\n // className: \"text-danger error_div is-invalid\",\r\n // })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setData({ ...data, address: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.address && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, addressNumber: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.addressNumber && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, cap: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.cap && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setData({ ...data, city: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.city && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setData({ ...data, country: e.value });\r\n }}\r\n options={listaProvince}\r\n isSearchable={false}\r\n placeholder={\"Scegli una provincia*\"}\r\n />\r\n
\r\n {validation && !data.country ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n {validation && !data.nation ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n setData({ ...data, municipioId: e.value })\r\n }\r\n options={listaMunicipi}\r\n isSearchable\r\n placeholder={\r\n data && data.municipio\r\n ? data.municipio.name\r\n : \"Scegli un municipio*\"\r\n }\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n newUserValidation()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n\r\n insertUserAPI()}\r\n >\r\n\r\n\r\n\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default NewUser;\r\n","import React from 'react';\r\nimport Select from \"./Select\";\r\n\r\n\r\n\r\nconst SelectComponent = ({ options, value, onChange, placeholder, isRequired, validation, isDisabled,columnClass }) => {\r\n return (\r\n
\r\n option.label}\r\n getOptionValue={(option) => option.value}\r\n value={value ? options.find((option) => option.value === value) : null}\r\n placeholder={placeholder}\r\n aria-required={isRequired}\r\n isDisabled={isDisabled}\r\n />\r\n {validation && isRequired && !value ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n );\r\n};\r\n\r\n\r\nexport default SelectComponent; // Aggiunta della prop isDisabled","import { Input } from \"design-react-kit\";\r\nimport moment from \"moment\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport Select from \"../../Components/Select\";\r\nimport { PROVINCE } from \"../../Components/listaProvince\";\r\nimport { NAZIONI } from \"../../Components/listaNazioni\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ListPaymemtsUsers from \"../../Components/listPaymentsUser\";\r\nimport SelectComponent from \"../../Components/SelectComponent\";\r\n\r\nfunction EditUser(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [isOpenState, toggleModalState] = useState(false);\r\n\r\n\r\n const [validation, setValidation] = useState(false);\r\n const [validationBirth, setValidationBirth] = useState(true);\r\n const [user, setUser] = useState();\r\n const [userIsees, setUserIsees] = useState();\r\n const [userIseesTemp, setUserIseesTemp] = useState();\r\n const [userSubscriptions, setUserSubscriptions] = useState();\r\n const [userSubscriptionsTemp, setUserSubscriptionsTemp] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n\r\n const [listaProvince] = useState(PROVINCE);\r\n const [listaNazioni] = useState(NAZIONI);\r\n const [listaMunicipi, setListaMunicipi] = useState();\r\n const [paymentsTemp, setPaymentsTemp] = useState();\r\n const [payments, setPayments] = useState();\r\n const [userId, setUserId] = useState(\"\");\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n Repo.getMunicipi(apiToken)\r\n .then((response) => {\r\n setListaMunicipi(response.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n if (query.get(\"citizen\") != null) {\r\n setUserId(query.get(\"citizen\"));\r\n \r\n if (query.get(\"idTransazione\") != null){\r\n\r\n \r\n\r\n var data = JSON.stringify({\r\n idTransazione: query.get(\"idTransazione\"),\r\n EsitoWisp: query.get(\"EsitoWisp\"),\r\n FaultWisp: query.get(\"FaultWisp\"),\r\n IdentificativoPagamenti: query.get(\"IdentificativoPagamenti\"),\r\n IUV: query.get(\"IUV\"),\r\n});\r\n\r\n Repo.postUpdatePosizioneDebitoria(apiToken, data)\r\n .then((response) => {\r\n alert(data);\r\n setLoading(true);\r\n \r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n Repo.getUserOperator(apiToken, query.get(\"citizen\"))\r\n .then((response) => {\r\n setUser(response.data);\r\n setUserIseesTemp(response.data.isees);\r\n setUserSubscriptionsTemp(response.data.subscriptions);\r\n setLoading(true);\r\n getPayments(response.data.fiscalCode);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n window.location.href = props.subfolder + \"/lista_utenti\";\r\n setLoading(true);\r\n }\r\n }, []);\r\n\r\n const getPayments = (fiscalCode) => {\r\n Repo.getListPaymentOperator(apiToken, \"\", fiscalCode)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setPaymentsTemp(response.data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const userEditValidation = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\nconsole.log(\"a\");\r\n Object.entries(user).map(([key, value]) => {\r\n //isArray is used to exclude the isees array in the validation\r\n if (\r\n (value == \"\" || value == null) &&\r\n !Array.isArray(value) &&\r\n key !== \"emailPec\" &&\r\n key !== \"email\" &&\r\n key !== \"phoneNumber\" &&\r\n key !== \"municipioId\" &&\r\n\r\n key !== \"firstName\" &&\r\n key !== \"last_name\" &&\r\n key !== \"fiscal_code\" &&\r\n key !== \"state\" &&\r\n key !== \"municipio\"\r\n ) {\r\n passedValidation = false;\r\n console.log(\" if passedValidation:\" + passedValidation + \" key: \" + key);\r\n }\r\n console.log(\" dopo if passedValidation:\" + passedValidation + \" key: \" + key);\r\n if (key == \"birthDate\") {\r\n if (value == \"\" || value == null) {\r\n setValidationBirth(false);\r\n passedValidation = false;\r\n } else if (user.birthDate.isValid && !user.birthDate.isValid()) {\r\n setValidationBirth(false);\r\n passedValidation = false;\r\n }\r\n }\r\n });\r\n console.log(\" 116 passedValidation:\");\r\n if (passedValidation) {\r\n user.birthdate = moment(user.birthDate, \"DD/MM/YYYY\")\r\n .format(\"YYYY-MM-DD\")\r\n .toString();\r\n\r\n setUser({ ...user });\r\n\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const editUserAPI = () => {\r\n Repo.postUpdateUser(apiToken, JSON.stringify(user))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const uploadIsee = (userId) => {\r\n window.location.href =\r\n props.subfolder +\r\n \"/lista_utenti/dati_utente/caricamento_ISEE_operatore?userId=\" +\r\n userId;\r\n };\r\n\r\n const userState = (userId) => {\r\n Repo.postUpdateUserStatus(apiToken, userId)\r\n .then((response) => {\r\n if (response.status == 204) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n\r\n\r\n\r\n const CambiaStatoUtenteButtonClick = () => {\r\n // Chiamata al metodo per cambiare lo stato dell'utente qui...\r\n // Dopo aver eseguito l'azione, chiudi la modale\r\n toggleModal();\r\n };\r\n\r\n\r\n const CambiaStatoUtente = () => {\r\n \r\n userState(user.id);\r\n \r\n\r\n };\r\n\r\n\r\n return (\r\n <>\r\n

{user && user.firstName ? (\" \"+user.lastName + \" \" + user.firstName) : \"\"}

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

{user && user.state}

\r\n

In questa sezione potrai modificare i dati anagrafici del cittadino, visualizzare gli ISEE caricati, le iscrizioni ai bandi e lo stato dei pagamenti.

\r\n
\r\n
\r\n
\r\n toggleModalState(true)}\r\n>\r\n {user && (user.state !== 'SUSPEND') ? 'SOSPENDI' : 'ABILITA'}\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n\r\n {/*Inizio modifica dati cittadino*/}\r\n
\r\n
\r\n \r\n setUser({ ...user, firstName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, lastName: e.target.value })\r\n }\r\n \r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, fiscalCode: e.target.value })\r\n }\r\n \r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setUser({\r\n ...user,\r\n birthDate: moment(e.target.value),\r\n })\r\n }\r\n {...(validation &&\r\n !validationBirth && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, email: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, emailPec: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, phoneNumber: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setUser({ ...user, address: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.address && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, addressNumber: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.addressNumber && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n setUser({ ...user, cap: e.target.value })}\r\n {...(validation &&\r\n !user.cap && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n setUser({ ...user, city: e.target.value })}\r\n {...(validation &&\r\n !user.city && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setUser({ ...user, country: e.value });\r\n }}\r\n options={listaProvince}\r\n isSearchable\r\n placeholder={\r\n user && user.country\r\n ? user.country\r\n : \"Scegli una provincia*\"\r\n }\r\n />\r\n
\r\n {validation && !user.country ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n setUser({ ...user, nation: e.value })}\r\n placeholder=\"Seleziona*\"\r\n isDisabled={isDisabled}\r\n isRequired={true}\r\n validation={true}\r\n columnClass=\"col-12\" // Classe CSS delle colonne di Bootstrap\r\n /> \r\n\r\n
\r\n
\r\n
\r\n\r\n setUser({ ...user, municipioId: e.value })}\r\n placeholder=\"Seleziona*\"\r\n isDisabled={isDisabled}\r\n isRequired={true}\r\n validation={false}\r\n columnClass=\"col-12\" // Classe CSS delle colonne di Bootstrap\r\n /> \r\n\r\n\r\n{/*\r\n
\r\n setUser({ ...user, municipioId: e.value })}\r\n options={listaMunicipi}\r\n isSearchable\r\n placeholder={\r\n user && user.municipio\r\n ? user.municipio.name\r\n : \"Scegli un municipio*\"\r\n }\r\n />\r\n
*/}\r\n \r\n
\r\n
\r\n {isDisabled ? (\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Modifica\"\r\n >\r\n Modifica\r\n \r\n
\r\n ) : (\r\n <>\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Indietro\"\r\n >\r\n Indietro\r\n \r\n \r\n userEditValidation()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n \r\n )}\r\n
\r\n\r\n {/*Fine modifica dati cittadino*/}\r\n\r\n {/* inizio isee*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
ISEE {user && user.firstName ? (\" \"+user.lastName + \" \" + user.firstName) : \"\"}
\r\n
\r\n
\r\n uploadIsee(query.get(\"citizen\"))}\r\n >\r\n Inserisci nuovo ISEE\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {userIseesTemp && userIseesTemp.length > 0 ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {userIsees &&\r\n userIsees.length > 0 &&\r\n userIsees.map((y, index) => (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Valore ISEE caricatoData inserimentoStatoAnno
{x.name}\r\n {y.value &&\r\n parseFloat(y.value).toLocaleString(\r\n \"it-IT\"\r\n )}{\" \"}\r\n €\r\n {y.date}\r\n {y.state == \"VALIDATED\" ? (\r\n <>\r\n \r\n \r\n \r\n {\" \"}\r\n ACCETTATO\r\n \r\n \r\n ) : y.state == \"LOADED\" ? (\r\n \r\n \r\n \r\n \r\n DA VERIFICARE\r\n \r\n ) : y.state == \"REFUSED\" ? (\r\n \r\n \r\n \r\n {\" \"}\r\n RIFIUTATO\r\n \r\n ) : (\r\n \r\n \r\n \r\n {\" \"}\r\n {y.state}\r\n \r\n )}\r\n \r\n {y.year}\r\n \r\n {y.state == \"LOADED\" ? (\r\n \r\n \r\n Dettaglio\r\n \r\n \r\n ) : (\r\n \r\n \r\n Dettaglio\r\n \r\n \r\n )}\r\n
\r\n {user.isees && (\r\n \r\n )}\r\n
\r\n ) : (\r\n <>Non sono presenti ISEE per questo utente\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* fine isee*/}\r\n\r\n {/* inizio iscrizioni utente*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Iscrizioni {user && user.firstName ? (\" \"+user.lastName + \" \" + user.firstName) : \"\"}
\r\n
\r\n {userSubscriptionsTemp && userSubscriptionsTemp.length > 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {userSubscriptions &&\r\n userSubscriptions.length > 0 &&\r\n userSubscriptions.map((x, index) => (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Titolo bandoServizioStato Utente
{x.announcement.name}{x.announcement.service.name}\r\n {x.state == \"VALIDATED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta accettata\".toUpperCase()}\r\n \r\n
\r\n ) : x.state == \"REFUSED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta rifiutata\".toUpperCase()}\r\n \r\n
\r\n ) : x.state == \"SUSPENDED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Iscrizione sospesa\".toUpperCase()}\r\n \r\n
\r\n ) : x.state == \"ADDED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta inviata\".toUpperCase()}\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n NON SEI ISCRITTO\r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n Dettaglio\r\n \r\n \r\n
\r\n {userSubscriptionsTemp && (\r\n \r\n )}\r\n \r\n ) : (\r\n
\r\n L'utente non è iscritto a nessun bando\r\n
\r\n )}\r\n\r\n {/* {userSubscriptionsTemp && (\r\n \r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n editUserAPI()}\r\n >\r\n\r\n CambiaStatoUtente()}\r\n >\r\n\r\n\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default EditUser;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction EditService(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [validation, setValidation] = useState(false);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [dataTemp, setDataTemp] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [data, setData] = useState({});\r\n const [announcementsList, setAnnouncementsList] = useState();\r\n const [serviceId, setServiceId] = useState();\r\n const [serviceName, setServiceName] = useState();\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n if (query.get(\"id\")) {\r\n Repo.getOneServices(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n setData(response.data);\r\n setServiceId(response.data.id);\r\n setServiceName(response.data.name);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n\r\n Repo.getAnnouncementsByServiceOperator(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n setAnnouncementsList(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n const sendService = () => {\r\n setValidation(true);\r\n\r\n let passedValidation = true;\r\n\r\n if (!data.name) passedValidation = false;\r\n if (!data.description) passedValidation = false;\r\n if (!data.code) passedValidation = false;\r\n\r\n if (passedValidation) {\r\n var dataJson = JSON.stringify(data);\r\n setDataTemp(dataJson);\r\n if (apiToken) {\r\n toggleModal(!isOpen);\r\n }\r\n }\r\n };\r\n\r\n const sendServiceApi = async () => {\r\n Repo.postUpdateService(apiToken, dataTemp)\r\n\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/servizi\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const sessions = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n
Bandi associati al servizio {data.name || \"\"}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Nuovo bando\r\n \r\n \r\n
\r\n
\r\n\r\n {announcementsList && announcementsList.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {announcementsList &&\r\n announcementsList.length > 0 &&\r\n announcementsList.map((x, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Titolo
{x.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n toggleModal(!isOpen);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n
Non sono presenti sessioni
\r\n )}\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n

Servizio {data.name || \"\"}

\r\n
\r\n

In questa sezione è possibile modificare il servizio e aggiungere un nuovo bando associato al servizio.

\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n setData({ ...data, name: e.target.value })}\r\n {...(validation &&\r\n !data.name && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n\r\n
\r\n setData({ ...data, code: e.target.value })}\r\n {...(validation &&\r\n !data.code && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n\r\n
\r\n \r\n setData({ ...data, description: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.description && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n // disabled={editForce}\r\n />\r\n
\r\n\r\n
{/* fine row*/}\r\n {isDisabled ? (\r\n
\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Modifica\"\r\n >\r\n Modifica\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Indietro\"\r\n >\r\n Indietro\r\n \r\n
\r\n
\r\n sendService()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n )}\r\n\r\n\r\n \r\n\r\n \r\n
{sessions()}
\r\n \r\n\r\n sendServiceApi()}\r\n >\r\n\r\n {!loading && }\r\n
\r\n );\r\n}\r\n\r\nexport default EditService;\r\n","import { useContext, useEffect, useState } from \"react\";\r\nimport useLocalStorage from \"../../Utility/useLocalStorage\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport CardHome from \"../../Components/CardHome\";\r\n\r\nconst cards = [\r\n {\r\n id: 1,\r\n titolo: \"ISEE\",\r\n descrizione:\r\n \"Potrai visualizzare gli ISEE caricati dai cittadini, verificarne il valore, confermarli o rifiutarli\",\r\n badge: 0,\r\n link: \"/lista_ISEE\",\r\n },\r\n {\r\n id: 2,\r\n titolo: \"UTENTI\",\r\n descrizione:\r\n \"Potrai visualizzare tutti gli utenti presenti nella piattaforma, inserirne nuovi e caricare per loro l'Isee\",\r\n badge: 0,\r\n link: \"/lista_utenti\",\r\n },\r\n \r\n];\r\n\r\nfunction HomeDelegate(props) {\r\n const [ISEEList, setISEEList] = useState();\r\n const [cardsState, setCardsState] = useState([]);\r\n const apiToken = useContext(TokenContext);\r\n const [loadedUser, setLoadedUser] = useState();\r\n //\r\n //setCardsState(cards);\r\n\r\n useEffect(() => {\r\n Repo.getIseeListUploaded(apiToken)\r\n .then((response) => {\r\n setISEEList(response.data.length > 0 && response.data.length);\r\n //console.log(\"ISEEList: \" + response.data.length);\r\n\r\n // setCardsState(cards);\r\n\r\n let el = cards.map((item) => {\r\n if (item.id === 1) {\r\n item.badge = response.data.length;\r\n }\r\n return;\r\n item;\r\n });\r\n\r\n // Set the previous list to the new list\r\n setCardsState(el);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n Repo.getUsersLoadedCount(apiToken)\r\n .then((response) => {\r\n setLoadedUser(parseInt(response.data));\r\n // console.log(\"setLoadedUser: \" + parseInt(response.data));\r\n\r\n // setCardsState(cards);\r\n\r\n if (parseInt(response.data) > 0) {\r\n let e2 = cards.map((item) => {\r\n if (item.id === 2) {\r\n (item.badge = parseInt(response.data)),\r\n (item.link = \"/lista_utenti?loaded=true\");\r\n }\r\n return;\r\n item;\r\n });\r\n\r\n setCardsState(e2);\r\n }\r\n\r\n // console.log(\"setLoadedUser: \" + loadedUser);\r\n // Set the previous list to the new list\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n\r\n }, []);\r\n\r\n\r\n return (\r\n <>\r\n

Pannello delegato

\r\n
\r\n

\r\n Riepilogo delle principali funzioni di{\" \"}\r\n Semplicita Servizi alla Persona\r\n

\r\n
\r\n {/*
{cards.map(CardHome)}
*/}\r\n \r\n );\r\n}\r\n\r\nexport default HomeDelegate;\r\n","import Repo from \"../Utility/Repo\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport { TokenContext } from \"./TokenContext\"\r\n\r\nfunction ValidISEE() {\r\n const apiToken = useContext(TokenContext);\r\n const [isValidISEE, setIsValidISEE] = useState(\"d-none\");\r\n const [msg, setMsg] = useState(\"\");\r\n \r\n\r\n\r\n\r\n useEffect(() => {\r\n getUserAPI();\r\n return () => {\r\n setIsValidISEE(\"\"); // This worked for me\r\n };\r\n }, []);\r\n\r\n\r\n\r\n const getUserAPI = () => {\r\n \r\n Repo.getUser(apiToken)\r\n .then((response) => {\r\n \r\n const lastISEE = response.data.isees.sort((a, b) => a.date - b.date).shift();\r\n // console.log(response.data.isees.sort((a, b) => a.date - b.date));\r\n \r\n if (lastISEE && lastISEE.state == \"VALIDATED\" ){\r\n setIsValidISEE(\"d-none\");\r\n }else if (lastISEE && lastISEE.state == \"LOADED\" ){\r\n setIsValidISEE(\"\");\r\n setMsg(\"l'ISEE caricato non è ancora stato validato. Per proseguire con le iscrizioni ai bandi è necessario attendere la sua validazione!\");\r\n }else if (lastISEE && lastISEE.state == \"REFUSED\" ){\r\n setIsValidISEE(\"\");\r\n setMsg(\" ISEE caricato è stato rifiutato. Per proseguire con le iscrizioni ai bandi è necessario caricare un nuovo ISEE in corso di validità dalla sezione Carica nuovo ISEE\");\r\n }\r\n else{\r\n setIsValidISEE(\"\");\r\n setMsg(\"non risulta caricato nessu ISEE. Per proseguire con le iscrizioni ai bandi è necessario caricare un ISEE in corso di validità dalla sezione Carica nuovo ISEE\");\r\n }\r\n \r\n \r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n \r\n });\r\n };\r\n \r\n\r\n return (\r\n
\r\n

Attenzione!

\r\n
\r\n
\r\n );\r\n }\r\n\r\nexport default ValidISEE;","import Repo from \"../Utility/Repo\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport { TokenContext } from \"./TokenContext\"\r\n\r\nfunction ValidUser() {\r\n const apiToken = useContext(TokenContext);\r\n const [isValid, setIsValid] = useState(\"d-none\");\r\n\r\n\r\n\r\n useEffect(() => {\r\n getUserAPI();\r\n return () => {\r\n setIsValid(\"\"); // This worked for me\r\n };\r\n }, []);\r\n\r\n\r\n\r\n const getUserAPI = () => {\r\n \r\n Repo.getUserInfo(apiToken)\r\n .then((response) => {\r\n \r\n const user = response.data;\r\n console.log(user);\r\n \r\n if (user && user.length ){\r\n setIsValid(\"\");\r\n }else{\r\n setIsValid(\"d-none\");\r\n }\r\n \r\n \r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n \r\n });\r\n };\r\n \r\n\r\n return (\r\n
\r\n

Attenzione!

\r\n i dati utente risultano incompleti. Per proseguire con le iscrizioni ai bandi vai nella sezione Profilo e completa le informazioni mancanti!\r\n
\r\n\r\n\r\n );\r\n }\r\n\r\nexport default ValidUser;","import iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ValidISEE from \"../../Components/ValidISEE\";\r\nimport ValidUser from \"../../Components/ValidUser\";\r\nimport LabelsLoader from \"../../Utility/labelsLoader\";\r\n\r\nfunction HomeUser(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [loading, setLoading] = useState(true);\r\n const [services, setServices] = useState({});\r\n const [announcementsBacheca, setAnnouncementsBacheca] = useState();\r\n\r\n const labels = LabelsLoader();\r\n\r\n useEffect(() => {\r\n // 👇️ set isMounted to true\r\n let isMounted = true;\r\n async function fetchData() {\r\n const result = await Promise.resolve([\"Unmounted Component\"]);\r\n\r\n // 👇️ only update state if component is mounted\r\n if (isMounted) {\r\n setLoading(false);\r\n\r\n Repo.getAnnouncementsBacheca(apiToken)\r\n .then((response) => {\r\n setAnnouncementsBacheca(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n Repo.getUserServices(apiToken)\r\n .then((response) => {\r\n setServices(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => {\r\n // 👇️ when component unmounts, set isMounted to false\r\n isMounted = false;\r\n };\r\n }, []);\r\n\r\n return (\r\n <>\r\n {/* {!props.userDataStatus && (\r\n
\r\n

Attenzione!

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

\r\n Per poterti iscrivere ai corsi devi completare i dati utente.\r\n

\r\n
\r\n
\r\n \r\n \r\n Completa Dati\r\n \r\n \r\n
\r\n
\r\n
\r\n )} */}\r\n \r\n \r\n\r\n {announcementsBacheca && announcementsBacheca.length > 0 && (\r\n
\r\n
\r\n

Bacheca

\r\n

{labels.bandi_aperti}

\r\n
\r\n {announcementsBacheca &&\r\n announcementsBacheca.length > 0 &&\r\n announcementsBacheca.slice(0, 3).map((x, index) => (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {x && x.name}\r\n \r\n\r\n \r\n Data inserimento:{\" \"}\r\n {x && x.dataInsert}\r\n

\r\n\r\n
\r\n
\r\n \r\n Dettaglio\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n )}\r\n

Servizi

\r\n
\r\n

{labels.elenco_servizi}

\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n {services &&\r\n services.length > 0 &&\r\n services.map((x, index) => (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {x.name}\r\n \r\n
\r\n
\r\n \r\n {x.description}\r\n

\r\n
\r\n
\r\n \r\n Richiedi Servizio\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Iscrizioni
\r\n

\r\n Accedendo a questa sezione potrai visualizzare i servizi a\r\n cui sei iscritto, a cui hai effettuato richiesta di\r\n iscrizione e i servizi dove non hai avuto accesso\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Carica nuovo ISEE
\r\n

\r\n Accedendo a questa sezione potrai procedere con il\r\n caricamento di un nuovo ISEE\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
ISEE Caricati
\r\n

\r\n Accedendo a questa sezione potrai visualizzare gli ISEE\r\n caricati in precedenza\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Visualizza manuale
\r\n

\r\n Cliccando questa sezione verrà mostrato il manuale utente\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default HomeUser;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport moment from \"moment\";\r\nimport { useCookies } from \"react-cookie\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nconst number = new RegExp(\"^[+]?([0-9]{0,})*[,]?([0-9]{0,2})?$\", \"g\");\r\n\r\nfunction UploadISEE(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [cookies] = useCookies();\r\n const [value, setValue] = useState();\r\n const [uploadISEE, setUploadISEE] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [validationISEE, setValidationISEE] = useState(false);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [data, setData] = useState();\r\n const [isAlertVisible, setIsAlertVisible] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n\r\n useEffect(() => {\r\n if (data != null) {\r\n const timer = setTimeout(() => {\r\n setLoading(true);\r\n setIsAlertVisible(false);\r\n\r\n window.location.href = props.subfolder + \"/home\";\r\n }, 4000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [isAlertVisible, data]);\r\n\r\n const sendISEE = async () => {\r\n setValidation(true);\r\n setValidationISEE(true);\r\n\r\n let passedValidation = true;\r\n\r\n let tempData = {};\r\n const d = moment();\r\n\r\n if (uploadISEE) {\r\n var splitBase64 = uploadISEE.split(\",\");\r\n tempData[\"base64\"] = splitBase64[1];\r\n } else {\r\n passedValidation = false;\r\n setValidationISEE(false);\r\n }\r\n\r\n var localFormat = \"YYYY-MM-DD[T]HH:mm:ss\";\r\n\r\n tempData[\"year\"] = d.year();\r\n tempData[\"date\"] = d.format(localFormat);\r\n\r\n if (value == \"\" || value == \" \" || !value) passedValidation = false;\r\n\r\n tempData[\"value\"] = value?.replace(\".\", \"\").replace(\",\", \".\");\r\n\r\n if (passedValidation) {\r\n var dataJson = JSON.stringify(tempData);\r\n setData(dataJson);\r\n if (apiToken) {\r\n toggleModal(!isOpen);\r\n }\r\n }\r\n };\r\n\r\n const sendISEEApi = async () => {\r\n setLoading(false);\r\n\r\n Repo.postSendIsee(apiToken, data)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setIsAlertVisible(true);\r\n\r\n toggleModal(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n

Nuovo ISEE

\r\n
\r\n

Carica un nuovo ISEE. Il nuovo ISEE caricato andrà ad invalidare il valore dell'ISEE precedente

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {uploadISEE && (\r\n \r\n )}\r\n {errorMessage && (\r\n
\r\n Carica un file con un formato supportato\r\n
\r\n )}\r\n {validation && !validationISEE ? (\r\n
\r\n Non è stato caricato nessun documento\r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
Valore ISEE*
\r\n
\r\n \r\n setValue(\r\n e.target.value.match(number) ? e.target.value : value\r\n )\r\n }\r\n {...(validation &&\r\n (value == \"\" || value == \" \" || !value) && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n sendISEE()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n sendISEEApi()}\r\n >\r\n {isAlertVisible && (\r\n <>\r\n \r\n \r\n Il caricamento è avvenuto con successo! Verrai reindirizzato\r\n all'Home Page.\r\n \r\n
\r\n \r\n )}\r\n {!loading && }\r\n
\r\n );\r\n}\r\n\r\nexport default UploadISEE;\r\n","import { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport StateTranslate from \"../../Components/StateTranslate\";\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListServices(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [announcementsListTemp, setAnnouncementsListTemp] = useState();\r\n const [announcementsList, setAnnouncementsList] = useState();\r\n const [serviceId, setServiceId] = useState();\r\n const [isOpen, toggleModal] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n if (apiToken) {\r\n if (query.get(\"id\")) {\r\n setLoading(false);\r\n Repo.getAnnouncementsByService(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n setAnnouncementsListTemp(response.data.filter(a => a.state==='OPEN'));\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n console.log(error);\r\n });\r\n }\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n

Bandi

\r\n
\r\n

Tutti i bandi aperti

\r\n
\r\n\r\n
\r\n {announcementsList && announcementsList.length > 0 ? (\r\n announcementsList.filter(a => a.state==='OPEN').map((x, index) => (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {x.name}\r\n
\r\n
\r\n
\r\n

\r\n Servizio: {x.service.name}\r\n

\r\n
\r\n {x.subscriptions.length > 0 &&\r\n x.subscriptions[0].state == \"VALIDATED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta accettata\".toUpperCase()}\r\n \r\n
\r\n ) : x.subscriptions.length > 0 &&\r\n x.subscriptions[0].state == \"REFUSED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta rifiutata\".toUpperCase()}\r\n \r\n
\r\n ) : x.subscriptions.length > 0 &&\r\n x.subscriptions[0].state == \"ADDED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta inviata\".toUpperCase()}\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n NON SEI ISCRITTO\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n Dettaglio\r\n \r\n \r\n \r\n \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 ci sono bandi aperti per questo servizio!

\r\n )}\r\n {announcementsListTemp && (\r\n \r\n )}\r\n
\r\n {/*
\r\n
\r\n

Servizi Conclusi

\r\n
*/}\r\n {!loading && }\r\n
\r\n );\r\n}\r\n\r\nexport default ListServices;\r\n","import { Input } from \"design-react-kit\";\r\nimport moment from \"moment\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Select from \"../../Components/Select\";\r\nimport { PROVINCE } from \"../../Components/listaProvince\";\r\nimport { NAZIONI } from \"../../Components/listaNazioni\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useRef } from \"react\";\r\nimport ListPaymemtsUsers from \"../../Components/listPaymentsUser\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction UserProfile(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [validationBirth, setValidationBirth] = useState(true);\r\n const [user, setUser] = useState({});\r\n const [payments, setPayments] = useState();\r\n const [paymentsTemp, setPaymentsTemp] = useState();\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n const [listaProvince] = useState(PROVINCE);\r\n const [listaNazioni] = useState(NAZIONI);\r\n const [listaMunicipi, setListaMunicipi] = useState();\r\n const [userIsees, setUserIsees] = useState();\r\n const [userIseesTemp, setUserIseesTemp] = useState();\r\n const ref = useRef();\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n if (query.get(\"scroll\")) {\r\n window.scrollTo(0, ref.current.offsetHeight + 150);\r\n }\r\n\r\n Repo.getUser(apiToken)\r\n .then((response) => {\r\n setUser(response.data);\r\n setUserIseesTemp(response.data.isees);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n Repo.getPagamentiUtenti(apiToken)\r\n .then((response) => {\r\n setPaymentsTemp(response.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n Repo.getMunicipi(apiToken)\r\n .then((response) => {\r\n setListaMunicipi(response.data);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }, []);\r\n\r\n const userEditValidation = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n Object.entries(user).map(([key, value]) => {\r\n //isArray is used to exclude the isees array in the validation\r\n\r\n if (\r\n (value == \"\" || value == null) &&\r\n !Array.isArray(value) &&\r\n key !== \"emailPec\" &&\r\n key !== \"phoneNumber\" &&\r\n key !== \"municipioId\" &&\r\n key !== \"municipio\"\r\n ) {\r\n passedValidation = false;\r\n }\r\n\r\n if (key == \"birthDate\") {\r\n if (value == \"\" || value == null) {\r\n setValidationBirth(false);\r\n passedValidation = false;\r\n } else if (user.birthDate.isValid && !user.birthDate.isValid()) {\r\n setValidationBirth(false);\r\n passedValidation = false;\r\n }\r\n }\r\n });\r\n\r\n if (passedValidation) {\r\n user.birthdate = moment(user.birthDate, \"DD/MM/YYYY\")\r\n .format(\"YYYY-MM-DD\")\r\n .toString();\r\n\r\n setUser({ ...user });\r\n\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const editUserAPI = () => {\r\n Repo.postUser(apiToken, JSON.stringify(user))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/home\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

Profilo

\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n setUser({\r\n ...user,\r\n birthDate: moment(e.target.value),\r\n })\r\n }\r\n {...(validation &&\r\n !validationBirth && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, email: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.email && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, emailPec: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, phoneNumber: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setUser({ ...user, address: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.address && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, addressNumber: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.addressNumber && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setUser({ ...user, cap: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.cap && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n setUser({ ...user, city: e.target.value })\r\n }\r\n {...(validation &&\r\n !user.city && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setUser({ ...user, country: e.value });\r\n }}\r\n options={listaProvince}\r\n isSearchable\r\n placeholder={\r\n user && user.country\r\n ? user.country\r\n : \"Scegli una provincia\"\r\n }\r\n />\r\n
\r\n {validation && !user.country ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n setUser({ ...user, nation: e.value })}\r\n options={listaNazioni}\r\n isSearchable\r\n placeholder={\r\n user && user.nation\r\n ? user.nation\r\n : \"Scegli una Nazione\"\r\n }\r\n />\r\n
\r\n {validation && !user.nation ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n setUser({ ...user, municipioId: e.value })\r\n }\r\n options={listaMunicipi}\r\n isSearchable\r\n placeholder={\r\n user && user.municipio\r\n ? user.municipio.name\r\n : \"Scegli un municipio\"\r\n }\r\n />\r\n
\r\n \r\n
\r\n
\r\n {isDisabled ? (\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Modifica\"\r\n >\r\n Modifica\r\n \r\n
\r\n ) : (\r\n <>\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Indietro\"\r\n >\r\n Indietro\r\n \r\n
\r\n
\r\n userEditValidation()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
ISEE Caricati
\r\n
\r\n
\r\n {userIseesTemp && userIsees && userIsees.length > 0 ? (\r\n userIsees.map((x) => (\r\n
\r\n
\r\n
\r\n Valore ISEE caricato: \r\n \r\n {x.value &&\r\n parseFloat(x.value).toLocaleString(\"it-IT\")} €\r\n \r\n
\r\n
\r\n Data inserimento: {x.date}\r\n
\r\n
\r\n Anno: {x.year}\r\n
\r\n
\r\n {x.state == \"VALIDATED\" ? (\r\n <>\r\n \r\n \r\n \r\n {\" \"}\r\n ACCETTATO\r\n \r\n \r\n ) : x.state == \"LOADED\" ? (\r\n \r\n \r\n \r\n \r\n DA VERIFICARE\r\n \r\n ) : x.state == \"REFUSED\" ? (\r\n \r\n \r\n \r\n {\" \"}\r\n RIFIUTATO\r\n \r\n ) : (\r\n \r\n \r\n \r\n {\" \"}\r\n {y.state}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n ))\r\n ) : (\r\n <>Non sono presenti ISEE\r\n )}\r\n {userIseesTemp && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n editUserAPI()}\r\n >\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default UserProfile;\r\n","import { Input } from \"design-react-kit\";\r\nimport moment from \"moment\";\r\nimport React, { useEffect, useState, useContext } from \"react\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Select from \"../../Components/Select\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction NewAnnouncement(props) {\r\n const apiToken = useContext(TokenContext);\r\n const d = new Date();\r\n const [selectedService, setSelectedService] = useState(false);\r\n const [servicesList, setServicesList] = useState();\r\n const [serviceId, setServiceId] = useState();\r\n const [isOpen, toggleModal] = useState(false);\r\n const [serviceName, setServiceName] = useState();\r\n // const [rangesList, setRangesList] = useState([]);\r\n const [arrRanges1, setArrRanges1] = useState();\r\n const [arrRangesFilter1, setArrRangesFilter1] = useState();\r\n const [arrRangesTemp1, setArrRangesTemp1] = useState([]);\r\n const [arrRanges2, setArrRanges2] = useState([]);\r\n const [arrRangesTemp2, setArrRangesTemp2] = useState([]);\r\n const [validation, setValidation] = useState(false);\r\n const [servizi, setServizi] = useState([]);\r\n const [servizioTemp, setServizioTemp] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [filterRange, setFilterRange] = useState();\r\n const [uploadFile1, setUploadFile1] = useState();\r\n const [uploadFile2, setUploadFile2] = useState();\r\n const [uploadFile3, setUploadFile3] = useState();\r\n const [uploadFile4, setUploadFile4] = useState();\r\n const [uploadFile5, setUploadFile5] = useState();\r\n\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n\r\n const [count, setCount] = useState(1);\r\n\r\n const addFile = async () => {\r\n if (count < 5) {\r\n setCount(count + 1);\r\n }\r\n };\r\n\r\n const removeFile = async () => {\r\n if (count > 1) {\r\n setCount(count - 1);\r\n }\r\n };\r\n\r\n let query = useQuery();\r\n\r\n const [data, setData] = useState({\r\n serviceId: query.get(\"id\"),\r\n name: query.get(\"name\") && query.get(\"name\") + \" - \" + d.getFullYear(),\r\n cost: null,\r\n bandsId: null,\r\n });\r\n\r\n useEffect(() => {\r\n if (apiToken) {\r\n setLoading(false);\r\n\r\n if (query.get(\"id\") && query.get(\"name\")) {\r\n setServiceId(query.get(\"id\"));\r\n setServiceName(query.get(\"name\"));\r\n setSelectedService(true);\r\n } else {\r\n Repo.getServices(apiToken)\r\n .then((response) => {\r\n setServicesList(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n Repo.getRangesList(apiToken)\r\n .then((response) => {\r\n setArrRanges1(response.data);\r\n setArrRangesFilter1(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n\r\n Repo.getListaServizi(apiToken)\r\n .then((response) => {\r\n setServizi(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n const checkSession = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n if (data.serviceId == null) passedValidation = false;\r\n if (data.name == null) passedValidation = false;\r\n if (data.codAccertamento == null) passedValidation = false;\r\n if (data.codCapitolo == null) passedValidation = false;\r\n if (data.nomeMyPay == null) passedValidation = false;\r\n\r\n let temp = data;\r\n\r\n temp.bandsId = arrRanges2.map((x) => x.id);\r\n\r\n temp[\"listBase64\"] = [];\r\n\r\n for (let i = 1; i <= count; i++) {\r\n if (i == 1 && uploadFile1) {\r\n var splitBase64 = uploadFile1.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 2 && uploadFile2) {\r\n var splitBase64 = uploadFile2.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 3 && uploadFile3) {\r\n var splitBase64 = uploadFile3.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 4 && uploadFile4) {\r\n var splitBase64 = uploadFile4.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 5 && uploadFile5) {\r\n var splitBase64 = uploadFile5.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n }\r\n }\r\n\r\n setData(temp);\r\n if (passedValidation) {\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const postInsertSession = () => {\r\n Repo.postInsertSession(apiToken, JSON.stringify(data))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href =\r\n props.subfolder +\r\n \"/lista_bandi?id=\" +\r\n serviceId +\r\n \"&name\" +\r\n serviceName;\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const handleChangeRange = (event, percent, fixedcost) => {\r\n if (event) {\r\n let name = event.target.name;\r\n\r\n let id = event.target.id;\r\n let checked = event.target.checked;\r\n let value = event.target.value;\r\n\r\n switch (name) {\r\n case \"checkBox1\":\r\n if (checked) {\r\n setArrRangesTemp1((prevState) => [\r\n ...prevState,\r\n {\r\n id: id,\r\n name: value,\r\n percent: percent,\r\n fixedCost: fixedcost,\r\n },\r\n ]);\r\n break;\r\n } else {\r\n var arr = arrRangesTemp1.filter((item) => item.id !== id);\r\n\r\n setArrRangesTemp1(arr);\r\n\r\n break;\r\n }\r\n\r\n case \"checkBox2\":\r\n if (checked) {\r\n setArrRangesTemp2((prevState) => [\r\n ...prevState,\r\n {\r\n id: id,\r\n name: value,\r\n percent: percent,\r\n fixedCost: fixedcost,\r\n },\r\n ]);\r\n break;\r\n } else {\r\n var arr = arrRangesTemp2.filter((item) => item.id !== id);\r\n\r\n setArrRangesTemp2(arr);\r\n\r\n break;\r\n }\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n };\r\n\r\n const transferRange = (bool) => {\r\n if (bool) {\r\n setArrRanges2(arrRanges2.concat(arrRangesTemp1));\r\n\r\n var arr = arrRanges1.filter(function (obj) {\r\n return !arrRangesTemp1.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var arr2 = arrRangesTemp1.filter(function (obj) {\r\n return !arrRanges1.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var result = arr.concat(arr2);\r\n\r\n setArrRanges1(result);\r\n setArrRangesTemp1([]);\r\n } else {\r\n setArrRanges1(arrRanges1.concat(arrRangesTemp2));\r\n\r\n var arr = arrRanges2.filter(function (obj) {\r\n return !arrRangesTemp2.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var arr2 = arrRangesTemp2.filter(function (obj) {\r\n return !arrRanges2.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var result = arr.concat(arr2);\r\n\r\n setArrRanges2(result);\r\n setArrRangesTemp2([]);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (filterRange) {\r\n var arr = arrRanges1.filter(function (obj) {\r\n return obj.name.toLowerCase().includes(filterRange.toLowerCase());\r\n });\r\n setArrRanges1(arr);\r\n } else if (arrRanges2 && arrRangesFilter1) {\r\n var arr2 = arrRangesFilter1.filter(function (obj) {\r\n return !arrRanges2.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n setArrRanges1(arr2);\r\n }\r\n }, [filterRange]);\r\n\r\n const transferBlock = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n setFilterRange(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {arrRanges1 &&\r\n arrRanges1.length > 0 &&\r\n arrRanges1.map((x, index) => (\r\n \r\n \r\n handleChangeRange(e, x.percent, x.fixedCost)\r\n }\r\n {...(arrRangesTemp1 &&\r\n arrRangesTemp1.length > 0 &&\r\n arrRangesTemp1.find((y) => y.id == x.id)\r\n ? {\r\n checked: true,\r\n }\r\n : { checked: false })}\r\n />\r\n\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n {/* Button */}\r\n
\r\n
\r\n {arrRangesTemp1 && arrRangesTemp1.length > 0 ? (\r\n <>\r\n transferRange(true)}\r\n aria-label=\"Sposta avanti\"\r\n >\r\n \r\n \r\n \r\n \r\n Label for arrow right{\" \"}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Label for arrow right{\" \"}\r\n \r\n )}\r\n\r\n {arrRangesTemp2 && arrRangesTemp2.length > 0 ? (\r\n <>\r\n transferRange(false)}\r\n >\r\n \r\n \r\n \r\n \r\n Label for arrow left\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n Label for reset icon */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {arrRanges2 &&\r\n arrRanges2.length > 0 &&\r\n arrRanges2.map((x, index) => (\r\n \r\n \r\n handleChangeRange(e, x.percent, x.fixedCost)\r\n }\r\n {...(arrRangesTemp2 &&\r\n arrRangesTemp2.length > 0 &&\r\n arrRangesTemp2.find((y) => y.id == x.id)\r\n ? {\r\n checked: true,\r\n }\r\n : { checked: false })}\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const returnVarName = (index) => {\r\n switch (index) {\r\n case 1:\r\n return setUploadFile1;\r\n case 2:\r\n return setUploadFile2;\r\n case 3:\r\n return setUploadFile3;\r\n case 4:\r\n return setUploadFile4;\r\n case 5:\r\n return setUploadFile5;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const uploadFileAnnouncement = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {count &&\r\n [...Array(count)].map((x, index) => (\r\n \r\n
\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n

Inserimento bando

\r\n
\r\n

Inserimento di un nuovo bando per il servizio

\r\n
\r\n\r\n
\r\n
\r\n checkSession()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n {\r\n setServizioTemp(e ? e.label : null);\r\n setData({ ...data, serviceId: e.value });\r\n setServiceName();\r\n }}\r\n isClearable\r\n isSearchable\r\n value={data.serviceId}\r\n placeholder={\r\n servizioTemp\r\n ? servizioTemp\r\n : serviceName\r\n ? serviceName\r\n : \"Seleziona servizio*\"\r\n }\r\n />\r\n {validation && !data.serviceId ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n setData({ ...data, name: e.target.value })}\r\n {...(validation &&\r\n !data.name && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n {/*
\r\n setData({ ...data, cost: e.target.value })}\r\n infoText=\"Inserire il valore solo se non sono presenti fasce ISEE\"\r\n />\r\n
*/}\r\n
\r\n
\r\n
\r\n \r\n setData({ ...data, nomeMyPay: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.nomeMyPay && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({\r\n ...data,\r\n codAccertamento: e.target.value,\r\n })\r\n }\r\n {...(validation &&\r\n !data.codAccertamento && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setData({ ...data, codCapitolo: e.target.value })\r\n }\r\n {...(validation &&\r\n !data.codCapitolo && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
Fasce ISEE:
\r\n {transferBlock()}\r\n\r\n
Carica Modulistica (Massimo 5):
\r\n {uploadFileAnnouncement()}\r\n\r\n\r\n\r\n\r\n postInsertSession()}\r\n >\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default NewAnnouncement;\r\n","import { Input } from \"design-react-kit\";\r\nimport React, { useEffect, useState, useContext } from \"react\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Select from \"../../Components/Select\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport StateTranslate from \"../../Components/StateTranslate\";\r\nimport LabelsLoader from \"../../Utility/labelsLoader\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction EditAnnouncement(props) {\r\n const apiToken = useContext(TokenContext);\r\n const d = new Date();\r\n const [serviceId, setServiceId] = useState();\r\n const [isOpen, toggleModal] = useState(false);\r\n const [serviceName, setServiceName] = useState();\r\n // const [rangesList, setRangesList] = useState([]);\r\n const [arrRanges1, setArrRanges1] = useState();\r\n const [arrRangesTemp1, setArrRangesTemp1] = useState([]);\r\n const [arrRanges2, setArrRanges2] = useState([]);\r\n const [arrRangesTemp2, setArrRangesTemp2] = useState([]);\r\n const [arrRangesFilter1, setArrRangesFilter1] = useState();\r\n const [validation, setValidation] = useState(false);\r\n const [servizi, setServizi] = useState([]);\r\n const [servizioTemp, setServizioTemp] = useState();\r\n\r\n const labels = LabelsLoader();\r\n\r\n const [stati, setStati] = useState([\r\n {\"label\":undefined,\"value\":\"\"},\r\n {\"label\":\"CREATE\",\"value\":\"0\"},\r\n {\"label\":\"OPEN\",\"value\":\"1\"},\r\n {\"label\":\"CLOSED\",\"value\":\"2\"},\r\n {\"label\":\"ARCHIVED\",\"value\":\"3\"}]);\r\n const [statoTemp, setStatoTemp] = useState();\r\n\r\n\r\n\r\n\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [session, setSession] = useState({});\r\n const [loadedRanges, setLoadedRanges] = useState(false);\r\n const [filterRange, setFilterRange] = useState();\r\n const [uploadFile1, setUploadFile1] = useState();\r\n const [uploadFile2, setUploadFile2] = useState();\r\n const [uploadFile3, setUploadFile3] = useState();\r\n const [uploadFile4, setUploadFile4] = useState();\r\n const [uploadFile5, setUploadFile5] = useState();\r\n\r\n const [file, setFile] = useState();\r\n const [showFileToggle, toggleModalShowFile] = useState(false);\r\n\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n\r\n const [count, setCount] = useState(1);\r\n\r\n const [max, setMax] = useState(5);\r\n\r\n const addFile = async () => {\r\n if (count < max) {\r\n setCount(count + 1);\r\n }\r\n };\r\n\r\n let query = useQuery();\r\n\r\n useEffect(() => {\r\n if (apiToken) {\r\n setLoading(false);\r\n\r\n if (query.get(\"sessionId\")) {\r\n Repo.getSessionByIdUser(apiToken, query.get(\"sessionId\"))\r\n .then((response) => {\r\n setSession(response.data);\r\n\r\n \r\n\r\n\r\n setMax(5 - response.data.announcementFiles.length);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n\r\n\r\n Repo.getRangesList(apiToken)\r\n .then((response) => {\r\n setArrRanges1(response.data);\r\n setArrRangesFilter1(response.data);\r\n setLoadedRanges(true);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n\r\n Repo.getListaServizi(apiToken)\r\n .then((response) => {\r\n \r\n setServizi(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (session.bands && session.bands.length != 0 && arrRanges1) {\r\n setArrRanges2(session.bands);\r\n var rangesInit = arrRanges1.filter(function (obj) {\r\n return !session.bands.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n setArrRanges1(rangesInit);\r\n }\r\n }, [session, loadedRanges]);\r\n\r\n const checkSession = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n let temp = {\r\n id: null,\r\n name: null,\r\n cost: null,\r\n serviceId: null,\r\n bandsId: null,\r\n state:null,\r\n };\r\n\r\n if (session.serviceId == null && session.service.id == null)\r\n passedValidation = false;\r\n\r\n if (session.name == null) passedValidation = false;\r\n if (session.codAccertamento == null) passedValidation = false;\r\n if (session.codCapitolo == null) passedValidation = false;\r\n if (session.nomeMyPay == null) passedValidation = false;\r\n\r\n console.log(temp);\r\n\r\n temp.bandsId = arrRanges2.map((x) => x.id);\r\n\r\n temp.id = session.id;\r\n temp.serviceId = session.service.id\r\n ? session.service.id\r\n : session.serviceId;\r\n temp.name = session.name;\r\n temp.codAccertamento = session.codAccertamento;\r\n temp.codCapitolo = session.codCapitolo;\r\n temp.nomeMyPay = session.nomeMyPay;\r\n temp.state = parseInt(stati.find(o => o.label === session.state).value );\r\n\r\n temp[\"listBase64\"] = [];\r\n\r\n for (let i = 1; i <= count; i++) {\r\n if (i == 1 && uploadFile1) {\r\n var splitBase64 = uploadFile1.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 2 && uploadFile2) {\r\n var splitBase64 = uploadFile2.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 3 && uploadFile3) {\r\n var splitBase64 = uploadFile3.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 4 && uploadFile4) {\r\n var splitBase64 = uploadFile4.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 5 && uploadFile5) {\r\n var splitBase64 = uploadFile5.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n }\r\n }\r\n\r\n setSession(temp);\r\n\r\n if (passedValidation) {\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n \r\n\r\n const postUpdateSession = () => {\r\n console.log(JSON.stringify(session));\r\n Repo.postUpdateSession(apiToken, JSON.stringify(session))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href =\r\n props.subfolder +\r\n \"/lista_bandi/dettaglio_sessione?id=\" +\r\n query.get(\"sessionId\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const handleChangeRange = (event, percent, fixedcost) => {\r\n if (event) {\r\n let name = event.target.name;\r\n let id = event.target.id;\r\n let checked = event.target.checked;\r\n let value = event.target.value;\r\n\r\n switch (name) {\r\n case \"checkBox1\":\r\n if (checked) {\r\n setArrRangesTemp1((prevState) => [\r\n ...prevState,\r\n {\r\n id: id,\r\n name: value,\r\n percent: percent,\r\n fixedCost: fixedcost,\r\n },\r\n ]);\r\n break;\r\n } else {\r\n var arr = arrRangesTemp1.filter((item) => item.id !== id);\r\n\r\n setArrRangesTemp1(arr);\r\n\r\n break;\r\n }\r\n\r\n case \"checkBox2\":\r\n if (checked) {\r\n setArrRangesTemp2((prevState) => [\r\n ...prevState,\r\n {\r\n id: id,\r\n name: value,\r\n percent: percent,\r\n fixedCost: fixedcost,\r\n },\r\n ]);\r\n break;\r\n } else {\r\n var arr = arrRangesTemp2.filter((item) => item.id !== id);\r\n\r\n setArrRangesTemp2(arr);\r\n\r\n break;\r\n }\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n };\r\n\r\n const transferRange = (bool) => {\r\n if (bool) {\r\n setArrRanges2(arrRanges2.concat(arrRangesTemp1));\r\n\r\n var arr = arrRanges1.filter(function (obj) {\r\n return !arrRangesTemp1.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var arr2 = arrRangesTemp1.filter(function (obj) {\r\n return !arrRanges1.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var result = arr.concat(arr2);\r\n\r\n setArrRanges1(result);\r\n setArrRangesTemp1([]);\r\n } else {\r\n setArrRanges1(arrRanges1.concat(arrRangesTemp2));\r\n\r\n var arr = arrRanges2.filter(function (obj) {\r\n return !arrRangesTemp2.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var arr2 = arrRangesTemp2.filter(function (obj) {\r\n return !arrRanges2.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n\r\n var result = arr.concat(arr2);\r\n\r\n setArrRanges2(result);\r\n setArrRangesTemp2([]);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (filterRange && arrRanges1) {\r\n var arr = arrRanges1.filter(function (obj) {\r\n return obj.name.toLowerCase().includes(filterRange.toLowerCase());\r\n });\r\n setArrRanges1(arr);\r\n } else if (arrRangesFilter1) {\r\n var arr2 = arrRangesFilter1.filter(function (obj) {\r\n return !arrRanges2.some(function (obj2) {\r\n return obj.id == obj2.id;\r\n });\r\n });\r\n setArrRanges1(arr2);\r\n }\r\n }, [filterRange]);\r\n\r\n const transferBlock = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n setFilterRange(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {arrRanges1 &&\r\n arrRanges1.length > 0 &&\r\n arrRanges1.map((x, index) => (\r\n \r\n \r\n handleChangeRange(e, x.percent, x.fixedCost)\r\n }\r\n {...(arrRangesTemp1 &&\r\n arrRangesTemp1.length > 0 &&\r\n arrRangesTemp1.find((y) => y.id == x.id)\r\n ? {\r\n checked: true,\r\n }\r\n : { checked: false })}\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n {/* Button */}\r\n
\r\n
\r\n {arrRangesTemp1 && arrRangesTemp1.length > 0 ? (\r\n <>\r\n transferRange(true)}\r\n aria-label=\"Sposta avanti\"\r\n >\r\n \r\n \r\n \r\n \r\n Label for arrow right{\" \"}\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n Label for arrow right{\" \"}\r\n \r\n )}\r\n\r\n {arrRangesTemp2 && arrRangesTemp2.length > 0 ? (\r\n <>\r\n transferRange(false)}\r\n >\r\n \r\n \r\n \r\n \r\n Label for arrow left\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n Label for reset icon */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {arrRanges2 &&\r\n arrRanges2.length > 0 &&\r\n arrRanges2.map((x, index) => (\r\n \r\n \r\n handleChangeRange(e, x.percent, x.fixedCost)\r\n }\r\n {...(arrRangesTemp2 &&\r\n arrRangesTemp2.length > 0 &&\r\n arrRangesTemp2.find((y) => y.id == x.id)\r\n ? {\r\n checked: true,\r\n }\r\n : { checked: false })}\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const returnVarName = (index) => {\r\n switch (index) {\r\n case 1:\r\n return setUploadFile1;\r\n case 2:\r\n return setUploadFile2;\r\n case 3:\r\n return setUploadFile3;\r\n case 4:\r\n return setUploadFile4;\r\n case 5:\r\n return setUploadFile5;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const bodyFile = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const fileListDownload = () => {\r\n return (\r\n <>\r\n {session.announcementFiles && session.announcementFiles.length > 0 && (\r\n
\r\n Modulista caricata\r\n
\r\n )}\r\n\r\n {session.announcementFiles &&\r\n session.announcementFiles.length > 0 &&\r\n session.announcementFiles.map((x, index) => (\r\n \r\n
\r\n
\r\n showFile(x.storageFileId)}\r\n >\r\n Visualizza File {index + 1}\r\n \r\n
\r\n
\r\n deleteFile(x.storageFileId)}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n );\r\n };\r\n\r\n const deleteFile = (id) => {\r\n Repo.deleteFileOperator(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 204) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const showFile = (id) => {\r\n Repo.downloadFileOperator(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setFile();\r\n var obj = document.createElement(\"object\");\r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" + response.data;\r\n setFile(obj);\r\n\r\n toggleModalShowFile(!showFileToggle);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const uploadFileAnnouncement = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {count &&\r\n [...Array(count)].map((x, index) => (\r\n \r\n
\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n };\r\n\r\n\r\n return (\r\n <>\r\n { \r\n \r\n console.log(session.state || '' )}\r\n

Modifica bando

\r\n
\r\n

Modifica il bando

\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n setSession({ ...session, name: e.target.value })\r\n }\r\n {...(validation &&\r\n !session.name && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n {\r\n setServizioTemp(e ? e.label : null);\r\n setSession({ ...session, serviceId: e.value });\r\n setServiceName();\r\n }}\r\n isClearable\r\n isSearchable\r\n value={session.serviceId || \"\"}\r\n placeholder={\r\n servizioTemp\r\n ? servizioTemp\r\n : serviceName\r\n ? serviceName\r\n : session.service\r\n ? session.service.name\r\n : \"Seleziona servizio*\"\r\n }\r\n />\r\n {validation && !session.serviceId ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n {\r\n setStatoTemp(e ? e.label : null);\r\n setSession({ ...session, state: e.label });\r\n }}\r\n \r\n value={session.state || stati.find(o => o.label === session.state).value}\r\n placeholder={\r\n session.state\r\n ? session.state\r\n : \"Seleziona stato*\"\r\n }\r\n />\r\n \r\n {validation && !session.state ? (\r\n \r\n Il campo non può essere vuoto!\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n {/*
\r\n setSession({ ...data, cost: e.target.value })}\r\n infoText=\"Inserire il valore solo se non sono presenti fasce ISEE\"\r\n />\r\n
*/}\r\n
\r\n
\r\n
\r\n \r\n setSession({ ...session, nomeMyPay: e.target.value })\r\n }\r\n {...(validation &&\r\n !session.nomeMyPay && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setSession({\r\n ...session,\r\n codAccertamento: e.target.value,\r\n })\r\n }\r\n {...(validation &&\r\n !session.codAccertamento && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n setSession({ ...session, codCapitolo: e.target.value })\r\n }\r\n {...(validation &&\r\n !session.codCapitolo && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger error_div is-invalid\",\r\n })}\r\n />\r\n
\r\n
\r\n
Fasce ISEE:
\r\n {transferBlock()}\r\n\r\n {fileListDownload()}\r\n\r\n {max > 0 ? (\r\n <>\r\n
\r\n Modulistica (Massimo {max}\r\n ):\r\n
\r\n {uploadFileAnnouncement()}\r\n \r\n ) : (\r\n \r\n *Non è possibile caricare più di cinque allegati\r\n \r\n )}\r\n\r\n
\r\n
\r\n checkSession()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n toggleModalShowFile(!showFileToggle)}\r\n isOpen={showFileToggle}\r\n header={\"File\"}\r\n body={bodyFile()}\r\n buttonDeny=\"Chiudi\"\r\n >\r\n\r\n postUpdateSession()}\r\n >\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default EditAnnouncement;\r\n","import TabellaIsee from \"./TabellaIsee\";\r\n\r\nconst ListIsee = (props) => {\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n );\r\n};\r\n\r\nexport default ListIsee;\r\n"," import React from 'react';\r\n import {\r\n Input\r\n } from \"design-react-kit\";\r\n\r\n const BodyGenerateCsv = ({ sendImportCSV, setSendImportCSV }) => {\r\n const today = new Date();\r\n today.toLocaleString(\"default\", { month: \"long\" });\r\n \r\n return (\r\n <>\r\n
\r\n Inserisci il mese e l'anno per cui generare il CSV, altrimenti verranno inseriti di default mese e anno correnti:\r\n
\r\n
\r\n
\r\n \r\n setSendImportCSV({ ...sendImportCSV, mese: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setSendImportCSV({ ...sendImportCSV, anno: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n );\r\n };\r\n \r\n export default BodyGenerateCsv;\r\n ","import React, { useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Input } from \"design-react-kit\";\r\nimport Pagination from \"./Pagination\";\r\nimport Select from \"./Select\";\r\nimport ModalComponent from \"./ModalComponent\";\r\nimport Repo from \"../Utility/Repo\";\r\nimport { TokenContext } from \"./TokenContext\";\r\nimport { useEffect } from \"react\";\r\nimport BodyGenerateCsv from \"./BodyGenerateCsv\";\r\nimport UserDataComponent from \"./UserDataComponent\";\r\n\r\nconst ListUsers = (props) => {\r\n const apiToken = useContext(TokenContext);\r\n const [itemsPerPage, setItemsPerPage] = useState(10);\r\n const [changeSort, setChangeSort] = useState(false);\r\n const [changeSortRanking, setChangeSortRanking] = useState(false);\r\n const [isOpenUnsubscribe, toggleModalUnsubscribe] = useState(false);\r\n const [id, setId] = useState();\r\n const [userId, setUserId] = useState();\r\n const [editScore, toggleModalEditScore] = useState(false);\r\n const [fiscalcode, setSetFiscalcode] = useState();\r\n const [announcementId, setAnnouncementId] = useState('');\r\n const [isOpenRefuseUser, toggleRefuseUserModal] = useState(false);\r\n const [isOpenSuspendUser, toggleSuspendUserModal] = useState(false);\r\n const [isError, toggleModalErros] = useState(false);\r\n\r\n \r\n\r\n const [isOpenReactiveUser, toggleReactiveUserModal] = useState(false);\r\n const [isOpenReactiveRefusedUser, toggleReactiveRefusedUserModal] =\r\n useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [isOpenConfirmUser, toggleModalConfirmUser] = useState(false);\r\n const [isOpenConfirmHours, toggleModalConfirmHours] = useState(false);\r\n const [isOpenCSVUpload, toggleModalCSVUpload] = useState(false);\r\n const [editHours, toggleModalEditHours] = useState(false);\r\n const [isOpenGenerateCSV, toggleModalGenerateCSV] = useState(false);\r\n const [weeklyHour, setWeeklyHour] = useState();\r\n const [weeklyHourValidation, setWeeklyHourValidation] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState(null);\r\n\r\n const { operator, userData, delegate, user, citizen } = UserDataComponent();\r\n\r\n const [editScoreData, setEditScoreData] = useState({\r\n id: null,\r\n rankingScore: null,\r\n name: null,\r\n });\r\n const [sendImportCSV, setSendImportCSV] = useState({\r\n mese: \"\",\r\n anno: \"\",\r\n });\r\n\r\n\r\n const [editHoursData, setEditHoursData] = useState({\r\n id: null,\r\n weeklyHour: null,\r\n name: null,\r\n });\r\n\r\n const [file, setFile] = useState();\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n const suspendUser = (state, sub) => {\r\n var obj = {};\r\n\r\n obj = {\r\n id: sub.id,\r\n state: state,\r\n weeklyHour: sub.weeklyHour,\r\n };\r\n\r\n\r\n Repo.postConfirmUser(apiToken, JSON.stringify(obj))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n \r\n props.apiGet();\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorMessage( error.response?.data?.Message ||\r\n error.response?.data ||\r\n \"MESSAGE_ERROR_DEFAULT\");\r\n viewToggleModalErros();\r\n }).finally(() => {\r\n toggleModalConfirmUser(false);\r\n toggleRefuseUserModal(false);\r\n toggleReactiveUserModal(false);\r\n toggleSuspendUserModal(false);\r\n toggleReactiveRefusedUserModal(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWidth(window.innerWidth);\r\n }\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [width]);\r\n\r\n\r\n\r\nconst viewToggleModalErros = () => {\r\ntoggleModalErros(true);\r\n\r\n}\r\n\r\n\r\n const showFile = (apiTokens) => {\r\n Repo.downloadCsvOperator(apiToken)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: \"text/csv\" })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\r\n \"download\",\r\n \"Template_\" + new Date().toLocaleDateString(\"it-IT\") + \".csv\"\r\n );\r\n document.body.appendChild(link);\r\n link.click();\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorMessage( error.response?.data?.Message ||\r\n error.response?.data ||\r\n \"MESSAGE_ERROR_DEFAULT\");\r\n viewToggleModalErros();\r\n });\r\n };\r\n\r\n const confirmUser = (state, sub) => {\r\n let hoursValidation = true;\r\n var obj = {};\r\n\r\n if (state == 2) {\r\n setWeeklyHourValidation(true);\r\n\r\n obj = {\r\n id: sub.id,\r\n state: state,\r\n weeklyHour: weeklyHour,\r\n };\r\n if (weeklyHour == null) {\r\n hoursValidation = false;\r\n }\r\n } else {\r\n obj = {\r\n id: sub.id,\r\n state: state,\r\n };\r\n }\r\n\r\n Repo.postConfirmUser(apiToken, JSON.stringify(obj))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n props.apiGet();\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorMessage( error.response?.data?.Message ||\r\n error.response?.data ||\r\n \"MESSAGE_ERROR_DEFAULT\");\r\n viewToggleModalErros();\r\n\r\n }).finally(() => {\r\n toggleModalConfirmUser(false);\r\n toggleRefuseUserModal(false);\r\n });;\r\n };\r\n\r\n const returnBodyModalConfirmUser = () => {\r\n return (\r\n <>\r\n
\r\n {props.session.service &&\r\n props.session.service.name.toLowerCase().includes(\"taxi\") ? (\r\n

\r\n Per confermare l'utente è necessario inserire il numero di corse:\r\n

\r\n ) : (\r\n

\r\n Per confermare l'utente è necessario inserire il numero di ore:\r\n

\r\n )}\r\n
\r\n
\r\n
\r\n setWeeklyHour(e.target.value)}\r\n />\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const returnBodyModalHoursUser = () => {\r\n return (\r\n <>\r\n
\r\n {props.session.service &&\r\n props.session.service.name.toLowerCase().includes(\"taxi\") ? (\r\n

\r\n Per confermare l'utente è necessario inserire il numero di corse:\r\n

\r\n ) : (\r\n

\r\n Per confermare l'utente è necessario inserire il numero di ore:\r\n

\r\n )}\r\n
\r\n
\r\n
\r\n setWeeklyHour(e.target.value)}\r\n />\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const unsubscribeUser = () => {\r\n Repo.postUnsubscribeUser(apiToken, id, userId)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n toggleModalConfirmUser(false);\r\n toggleModalUnsubscribe(!isOpenUnsubscribe);\r\n props.apiGet();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n \r\n const sendMyPay = () => {\r\n Repo.sendMyPay(apiToken, announcementId, sendImportCSV, fiscalcode)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n \r\n toggleModalGenerateCSV(!isOpenCSVUpload);\r\n // setAlertMessage(\"Flusso inviato correttamente a MyPay\");\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorMessage( error.response?.data?.Message ||\r\n error.response?.data ||\r\n \"MESSAGE_ERROR_DEFAULT\");\r\n viewToggleModalErros();\r\n\r\n }).finally(() => {\r\n toggleModalGenerateCSV(false);\r\n });\r\n };\r\n\r\n\r\n\r\n const sendRanking = () => {\r\n let passedValidation = true;\r\n setValidation(true);\r\n\r\n if (!editScoreData.rankingScore) passedValidation = false;\r\n\r\n if (passedValidation) {\r\n Repo.postUpdateRanking(apiToken, editScoreData)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n toggleModalEditScore(!editScoreData);\r\n props.apiGet();\r\n setValidation(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setValidation(false);\r\n });\r\n }\r\n };\r\n\r\n const sendHours = (id) => {\r\n // console.log(\"sendHours\" + id);\r\n let passedValidation = true;\r\n setValidation(true);\r\n // console.log(\"passedValidation 1\" + passedValidation);\r\n //if (!editHoursData.weeklyHour) passedValidation = false;\r\n if (passedValidation) {\r\n let hoursValidation = true;\r\n var obj = {};\r\n setWeeklyHourValidation(true);\r\n\r\n obj = {\r\n id: id,\r\n state: 2,\r\n weeklyHour: editHoursData.weeklyHour,\r\n };\r\n\r\n // console.log(\"passedValidation 2\" + passedValidation);\r\n\r\n Repo.postConfirmUser(apiToken, JSON.stringify(obj))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n toggleModalEditHours(!editHoursData);\r\n props.apiGet();\r\n setValidation(false);\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorMessage( error.response?.data?.Message ||\r\n error.response?.data ||\r\n \"MESSAGE_ERROR_DEFAULT\");\r\n viewToggleModalErros();\r\n \r\n }).finally(() => {\r\n toggleModalEditHours(false);\r\n });\r\n }\r\n };\r\n\r\n const bodyRanking = () => {\r\n return (\r\n <>\r\n
\r\n Confermi di voler modificare il punteggio della graduatoria per\r\n l'utente selezionato?\r\n
\r\n
\r\n
\r\n \r\n setEditScoreData({\r\n ...editScoreData,\r\n rankingScore: parseInt(e.target.value),\r\n })\r\n }\r\n {...(validation &&\r\n !editScoreData.rankingScore && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n\r\nconst bodyError = (error) =>{\r\nreturn(\r\n

{error}

\r\n\r\n)\r\n};\r\n\r\n\r\n const bodyHours = () => {\r\n // console.log(editHoursData);\r\n\r\n return (\r\n <>\r\n
\r\n Confermi di voler modificare le ore per l'utente selezionato?\r\n
\r\n
\r\n
\r\n \r\n setEditHoursData({\r\n ...editHoursData,\r\n weeklyHour: parseFloat(e.target.value),\r\n })\r\n }\r\n />\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const expandedRow = (x) => {\r\n return (\r\n <>\r\n \r\n \r\n {x.state == \"REFUSED\" ? (\r\n
\r\n
\r\n {\r\n props.setSub(x);\r\n toggleReactiveRefusedUserModal(\r\n !isOpenReactiveRefusedUser\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n {x.user.email ? (\r\n // Se x.user.email è presente (non null o undefined)\r\n x.user.email.includes(\"@\") ? (\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n ) : (\r\n // Se x.user.email è null o undefined\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n\r\n
\r\n {\r\n toggleModalEditScore(!editScore);\r\n setEditScoreData({\r\n id: x.id,\r\n rankingScore: parseInt(x.rankingScore),\r\n name: (\r\n x.user.firstName +\r\n \" \" +\r\n x.user.lastName\r\n ).toUpperCase(),\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n toggleModalEditHours(!editHours);\r\n // console.log(x.id);\r\n setEditHoursData({\r\n id: x.id,\r\n weeklyHour: parseFloat(x.weeklyHour),\r\n name: (\r\n x.user.firstName +\r\n \" \" +\r\n x.user.lastName\r\n ).toUpperCase(),\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {x.state == \"VALIDATED\" ? (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n toggleModalGenerateCSV(!isOpenGenerateCSV);\r\n setSetFiscalcode(x.user.fiscalCode);\r\n console.log(x);\r\n setAnnouncementId(x.announcementId);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n props.setSub(x);\r\n toggleSuspendUserModal(!isOpenSuspendUser);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n ) : x.state == \"SUSPENDED\" ? (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSub(x);\r\n toggleReactiveUserModal(!isOpenReactiveUser);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const sortTable = (bool) => {\r\n var newArray = [];\r\n var newArray2 = [];\r\n\r\n if (bool == true) {\r\n if (changeSort == false) {\r\n if (props.sessionSubscriptionTemp2 !== undefined) {\r\n newArray =\r\n props.sessionSubscriptionTemp2 &&\r\n props.sessionSubscriptionTemp2.sort(\r\n (subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.user.isees[0].value) -\r\n parseFloat(subscription2.user.isees[0].value)\r\n );\r\n }\r\n );\r\n props.setSessionSubscriptionTemp2(newArray);\r\n setChangeSort(true);\r\n } else {\r\n newArray =\r\n props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp.sort(\r\n (subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.user.isees[0].value) -\r\n parseFloat(subscription2.user.isees[0].value)\r\n );\r\n }\r\n );\r\n props.setSessionSubscriptionTemp(newArray);\r\n setChangeSort(true);\r\n }\r\n }\r\n if (changeSort == true) {\r\n if (props.sessionSubscriptionTemp2 !== undefined) {\r\n newArray =\r\n props.sessionSubscriptionTemp2 &&\r\n props.sessionSubscriptionTemp2.reverse(\r\n (subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.user.isees[0].value) -\r\n parseFloat(subscription2.user.isees[0].value)\r\n );\r\n }\r\n );\r\n props.setSessionSubscriptionTemp2(newArray);\r\n setChangeSort(false);\r\n } else {\r\n newArray =\r\n props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp.reverse(\r\n (subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.user.isees[0].value) -\r\n parseFloat(subscription2.user.isees[0].value)\r\n );\r\n }\r\n );\r\n props.setSessionSubscriptionTemp(newArray);\r\n setChangeSort(false);\r\n }\r\n }\r\n } else {\r\n if (changeSortRanking == false) {\r\n if (props.sessionSubscriptionTemp2 !== undefined) {\r\n newArray =\r\n props.sessionSubscriptionTemp2 &&\r\n props.sessionSubscriptionTemp2\r\n .filter((x) => x.rankingScore !== null)\r\n .sort((subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.rankingScore) -\r\n parseFloat(subscription2.rankingScore)\r\n );\r\n });\r\n\r\n newArray2 =\r\n props.sessionSubscriptionTemp2 &&\r\n props.sessionSubscriptionTemp2.filter(\r\n (x) => x.rankingScore == null\r\n );\r\n\r\n props.setSessionSubscriptionTemp2(newArray.concat(newArray2));\r\n setChangeSortRanking(true);\r\n } else {\r\n newArray =\r\n props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp\r\n .filter((x) => x.rankingScore !== null)\r\n .sort((subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.rankingScore) -\r\n parseFloat(subscription2.rankingScore)\r\n );\r\n });\r\n\r\n newArray2 =\r\n props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp.filter((x) => x.rankingScore == null);\r\n\r\n props.setSessionSubscriptionTemp(newArray.concat(newArray2));\r\n setChangeSortRanking(true);\r\n }\r\n } else if (changeSortRanking == true) {\r\n if (props.sessionSubscriptionTemp2 !== undefined) {\r\n newArray =\r\n props.sessionSubscriptionTemp2 &&\r\n props.sessionSubscriptionTemp2\r\n .filter((x) => x.rankingScore !== null)\r\n .reverse((subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.rankingScore) -\r\n parseFloat(subscription2.rankingScore)\r\n );\r\n });\r\n newArray2 =\r\n props.sessionSubscriptionTemp2 &&\r\n props.sessionSubscriptionTemp2.filter(\r\n (x) => x.rankingScore == null\r\n );\r\n\r\n props.setSessionSubscriptionTemp2(newArray.concat(newArray2));\r\n setChangeSortRanking(false);\r\n } else {\r\n newArray =\r\n props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp\r\n .filter((x) => x.rankingScore !== null)\r\n .reverse((subscription, subscription2) => {\r\n return (\r\n parseFloat(subscription.rankingScore) -\r\n parseFloat(subscription2.rankingScore)\r\n );\r\n });\r\n newArray2 =\r\n props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp.filter((x) => x.rankingScore == null);\r\n\r\n props.setSessionSubscriptionTemp(newArray.concat(newArray2));\r\n setChangeSortRanking(false);\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 Utenti Iscritti{\" \"}\r\n {props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp.length > 0 && (\r\n \r\n {props.sessionSubscriptionTemp.length}\r\n \r\n )}\r\n
\r\n
\r\n \r\n {width > 992 ? (\r\n <>\r\n
\r\n showFile()}\r\n >\r\n \r\n \r\n \r\n Scarica template\r\n \r\n
\r\n
\r\n props.toggleModalImport(!props.isOpenImport)}\r\n >\r\n \r\n \r\n \r\n Importa dati\r\n \r\n
\r\n
\r\n props.downloadList()}\r\n >\r\n \r\n \r\n {\" \"}\r\n Lista utenti\r\n \r\n
\r\n
\r\n props.toggleModal(!props.isOpen)}\r\n >\r\n \r\n \r\n {\" \"}\r\n Iscrivi Utente\r\n \r\n
\r\n \r\n ) : (\r\n
\r\n
\r\n \r\n Opzioni\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
    \r\n
  • \r\n showFile()}\r\n >\r\n \r\n \r\n \r\n Scarica template\r\n \r\n
  • \r\n
  • \r\n \r\n props.toggleModalImport(!props.isOpenImport)\r\n }\r\n >\r\n \r\n \r\n \r\n Importa dati\r\n \r\n
  • \r\n
  • \r\n props.downloadList()}\r\n >\r\n \r\n \r\n \r\n Lista utenti\r\n \r\n
  • \r\n
  • \r\n props.toggleModal(!props.isOpen)}\r\n >\r\n \r\n \r\n \r\n Iscrivi Utente\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n \r\n\r\n {props.sessionSubscriptionTemp &&\r\n props.sessionSubscriptionTemp.length > 0 ? (\r\n <>\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n sortTable(false)}\r\n scope=\"col\"\r\n >\r\n \r\n -\r\n \r\n {changeSortRanking ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n props.setFilterSubscribed({\r\n ...props.filterSubscribed,\r\n fiscalCode: e.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n props.setFilterSubscribed({\r\n ...props.filterSubscribed,\r\n firstName: e.target.value,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n props.setFilterSubscribed({\r\n ...props.filterSubscribed,\r\n lastName: e.target.value,\r\n })\r\n }\r\n />\r\n \r\n ISEE\r\n {props.session.service &&\r\n props.session.service.name.toLowerCase().includes(\"taxi\") ? (\r\n \r\n Corse\r\n \r\n ) : (\r\n \r\n Ore\r\n \r\n )}\r\n \r\n Costo\r\n \r\n \r\n {\" \"}\r\n
\r\n \r\n \r\n props.setFilterSubscribed({\r\n ...props.filterSubscribed,\r\n confirmed: !props.filterSubscribed.confirmed,\r\n })\r\n }\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {props.sessionSubscription &&\r\n props.sessionSubscription.length > 0 &&\r\n props.sessionSubscription.map((x, index) => (\r\n \r\n {x.user && (\r\n <>\r\n \r\n \r\n \r\n {x.rankingScore ? x.rankingScore : \"-\"}\r\n \r\n \r\n \r\n {x.user.fiscalCode && x.user.fiscalCode}\r\n \r\n {x.user.firstName && x.user.firstName} \r\n {x.user.lastName && x.user.lastName}\r\n {x.user.isees.length > 0 ? (\r\n \r\n {x.user.isees[0].value && (\r\n <>\r\n {parseFloat(x.user.isees[0].value).toLocaleString(\"it-IT\")}  €
\r\n {x.user.isees[0].year}\r\n \r\n )}\r\n \r\n ) : (\r\n ISEE non caricato\r\n )}\r\n \r\n {x.weeklyHour ? x.weeklyHour : \"-\"}\r\n \r\n \r\n {x.cost !== null &&\r\n parseFloat(x.cost).toLocaleString(\"it-IT\")}\r\n  €{\" \"}\r\n \r\n {x.state == \"VALIDATED\" ? (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n toggleModalUnsubscribe(\r\n !isOpenUnsubscribe\r\n );\r\n setId(x.id);\r\n setUserId(x.user.id);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : x.state == \"SUSPENDED\" ? (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n ) : x.state == \"ADDED\" ? (\r\n \r\n
\r\n
\r\n {\r\n props.setSub(x);\r\n toggleModalConfirmUser(\r\n !isOpenConfirmUser\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSub(x);\r\n toggleRefuseUserModal(\r\n !isOpenRefuseUser\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n ) : (\r\n x.state == \"REFUSED\" && (\r\n \r\n
\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n )\r\n )}\r\n \r\n {expandedRow(x)}\r\n \r\n )}\r\n
\r\n ))}\r\n \r\n \r\n\r\n \r\n\r\n {props.sessionSubscriptionTemp &&\r\n (props.changeArray == false ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n\r\n
\r\n
\r\n

\r\n {itemsPerPage < props.sessionSubscription.length ? (\r\n <>\r\n {\" \"}\r\n Mostro {itemsPerPage} su{\" \"}\r\n {props.sessionSubscription.length}\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n Mostro \r\n {props.sessionSubscription.length}\r\n {\" \"}\r\n su {props.sessionSubscription.length}\r\n \r\n )}\r\n

\r\n
\r\n
\r\n setItemsPerPage(e.value)}\r\n placeholder={itemsPerPage.toString()}\r\n />\r\n
\r\n
\r\n\r\n \r\n ) : (\r\n Non ci sono utenti iscritti.\r\n )}\r\n\r\n toggleModalUnsubscribe(!isOpenUnsubscribe)}\r\n header=\"Eliminazione iscrizione utente\"\r\n body=\"Confermi di voler eliminare l'iscrizione dell'utente selezionato?\"\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => unsubscribeUser()}\r\n >\r\n\r\n toggleModalEditScore(!editScore)}\r\n isOpen={editScore}\r\n header={\"Modifica punteggio graduatoria di \" + editScoreData.name}\r\n body={bodyRanking()}\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => sendRanking()}\r\n >\r\n\r\n confirmUser(2, props.sub)}\r\n >\r\n\r\n confirmUser(3, props.sub)}\r\n >\r\n\r\n suspendUser(4, props.sub)}\r\n >\r\n\r\n suspendUser(2, props.sub)}\r\n >\r\n\r\n suspendUser(0, props.sub)}\r\n >\r\n\r\n confirmUser(2, props.sub)}\r\n >\r\n\r\n toggleModalEditScore(!editScore)}\r\n isOpen={editScore}\r\n header={\"Modifica punteggio graduatoria di \" + editScoreData.name}\r\n body={bodyRanking()}\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => sendRanking()}\r\n >\r\n\r\n toggleModalEditHours(!editHours)}\r\n isOpen={editHours}\r\n header={\"Modifica ore bando di \" + editHoursData.name}\r\n body={bodyHours()}\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => sendHours(editHoursData.id)}\r\n >\r\n\r\n\r\n toggleModalErros(!isError)}\r\n isOpen={isError}\r\n header=\"Errore\"\r\n body={bodyError(errorMessage)}\r\n buttonConfirm=\"Conferma\"\r\n function={() => toggleModalErros(false)}\r\n >\r\n\r\n\r\n\r\n}\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => sendMyPay()}\r\n >\r\n\r\n\r\n \r\n );\r\n};\r\nexport default ListUsers;\r\n","import React, { useContext, useState, useEffect } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport {\r\n Input,\r\n Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n} from \"design-react-kit\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ListIsee from \"../../Components/ListIsee\";\r\nimport ListUsers from \"../../Components/ListUsers\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport moment from \"moment\";\r\nimport StateTranslate from \"../../Components/StateTranslate\";\r\nimport LabelsLoader from \"../../Utility/labelsLoader\";\r\nimport { AlertMessage, showError } from \"../../Components/AlertMessage\";\r\nimport BodyGenerateCsv from \"../../Components/BodyGenerateCsv\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction AnnouncementDetail(props) {\r\n const apiToken = useContext(TokenContext);\r\n const d = moment();\r\n let query = useQuery();\r\n const [changeArray, setChangeArray] = useState(false);\r\n const [file, setFile] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [session, setSession] = useState({});\r\n const [sessionSubscription, setSessionSubscription] = useState({});\r\n const [sessionSubscriptionTemp, setSessionSubscriptionTemp] = useState();\r\n const [sessionSubscriptionTemp2, setSessionSubscriptionTemp2] = useState();\r\n const [service, setService] = useState({});\r\n const [id, setId] = useState();\r\n const [uploadCSV, setUploadCSV] = useState();\r\n const [errorImport, setErrorImport] = useState(false);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [isOpenImport, toggleModalImport] = useState(false);\r\n const [isOpenCSVUpload, toggleModalCSVUpload] = useState(false);\r\n const [isOpenGenerateCSV, toggleModalGenerateCSV] = useState(false);\r\n\r\n const [isOpenRendicontazione, toggleModalRendicontazione] = useState(false);\r\n const [isOpenCSVDownload, toggleModalCSVDownload] = useState(false);\r\n const [showFileToggle, toggleModalShowFile] = useState(false);\r\n const [usersList, setUsersList] = useState([]);\r\n const [alertMessage, setAlertMessage] = useState(\"\");\r\n const [subscribeError, setSubscribeError] = useState(false);\r\n const [alertShow, setAlertShow] = useState(false);\r\n const [uploadImport, setUploadImport] = useState();\r\n const [errorMessageImport, setErrorMessageImport] = useState(false);\r\n const [isUpdateIsees, setIsUpdateIsees] = useState(false);\r\n const [isRemoveOldSubscriptions, setIsRemoveOldSubscriptions] =\r\n useState(false);\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n const [apiError, setApiError] = useState({});\r\n const handleAlertClose = () => {\r\n setApiError({ isVisible: false, message: \"\" });\r\n };\r\n\r\n const [isOpenSubscribeUserOperator, toggleModalSubscribeUserOperator] =\r\n useState(false);\r\n\r\n const [sub, setSub] = useState({});\r\n\r\n const [sendFile, setSendFile] = useState({\r\n fileContentBase64: \"\",\r\n contentType: \"csv\",\r\n updateIsees: isUpdateIsees,\r\n removeOldSubscriptions: isRemoveOldSubscriptions,\r\n });\r\n\r\n const labels = LabelsLoader();\r\n\r\n const [sendImportCSV, setSendImportCSV] = useState({\r\n mese: \"\",\r\n anno: \"\",\r\n });\r\n\r\n const [filter, setFilter] = useState({\r\n firstName: \"\",\r\n lastName: \"\",\r\n fiscalCode: \"\",\r\n email: \"\",\r\n phoneNumber: \"\",\r\n });\r\n\r\n const [filterSubscribed, setFilterSubscribed] = useState({\r\n firstName: \"\",\r\n lastName: \"\",\r\n fiscalCode: \"\",\r\n confirmed: false,\r\n });\r\n\r\n const hub_url = process.env.REACT_APP_HUB_URL;\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\", // Puoi impostare 'auto' per uno scorrimento immediato\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (subscribeError) {\r\n const timer = setTimeout(() => {\r\n setSubscribeError(false);\r\n }, 5000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [subscribeError]);\r\n\r\n useEffect(() => {\r\n if (alertShow) {\r\n const timer = setTimeout(() => {\r\n setAlertShow(false);\r\n }, 5000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [alertShow]);\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWidth(window.innerWidth);\r\n }\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, [width]);\r\n\r\n const apiGet = () => {\r\n if (apiToken) {\r\n setId(query.get(\"id\"));\r\n if (query.get(\"id\")) {\r\n setLoading(false);\r\n Repo.getSessionById(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setSession(response.data);\r\n console.log(response.data);\r\n\r\n const sortedSubscriptions = response.data.subscriptions.sort(\r\n (a, b) => a.user.lastName.localeCompare(b.user.lastName)\r\n );\r\n\r\n setSessionSubscriptionTemp(sortedSubscriptions);\r\n\r\n setLoading(true);\r\n Repo.getOneServices(apiToken, response.data.service.id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setService(response.data);\r\n setLoading(true);\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n });\r\n } else {\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n apiGet();\r\n }, []);\r\n\r\n const subscribeUser = (sub) => {\r\n let obj = {\r\n userId: sub.id,\r\n announcementId: session.id,\r\n };\r\n\r\n Repo.postSubscribeUserFromOperator(apiToken, JSON.stringify(obj))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.reload();\r\n setSubscribeError(false);\r\n }\r\n })\r\n .catch((error) => {\r\n toggleModalSubscribeUserOperator(false);\r\n toggleModal(false);\r\n scrollToTop();\r\n setApiError({ isVisible: true, message: showError(error) });\r\n });\r\n };\r\n\r\n const sendFilter = () => {\r\n setLoading(false);\r\n Repo.getUsersList(apiToken, filter)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setUsersList(response.data);\r\n setLoading(true);\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n });\r\n };\r\n\r\n const sendUrlPage = (url) => {\r\n var url2 ='';\r\n const location = window.location.href;\r\n if (!process.env.NODE_ENV || process.env.NODE_ENV === \"development\") {\r\n // dev code\r\n console.log(\"dev code\");\r\n let _url = props.subfolder + url;\r\n console.log(_url);\r\n url2 = props.subfolder + _url + \"?urlBack=\" + location;\r\n\r\n //process.env.PUBLIC_URL +\r\n } else {\r\n // production code\r\n console.log(\"production code\");\r\n let _url = props.subfolder + url;\r\n \r\n url2 = _url + \"?urlBack=\" + location;\r\n console.log(url2);\r\n }\r\n const newTab = window.open(url2, '_blank');\r\n newTab.focus();\r\n };\r\n\r\n const downloadList = () => {\r\n setLoading(false);\r\n Repo.getListSubscription(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: \"text/csv\" })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", \"listaUtenti_\" + session.name + \".csv\");\r\n document.body.appendChild(link);\r\n link.click();\r\n setLoading(true);\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n });\r\n };\r\n\r\n const bodyImport = () => {\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 {errorMessageImport && (\r\n
\r\n Carica un file con un formato supportato\r\n
\r\n )}\r\n {!uploadImport && errorImport && (\r\n
Nessun file caricato
\r\n )}\r\n \r\n );\r\n };\r\n\r\n\r\n const uploadList = () => {\r\n let passedValidation = true;\r\n setErrorImport(true);\r\n setLoading(false);\r\n \r\n let tempData = sendFile;\r\n tempData[\"fileContentBase64\"] = isUpdateIsees;\r\n tempData[\"isUpdateIsees\"] = isUpdateIsees;\r\n tempData[\"removeOldSubscriptions\"] = isRemoveOldSubscriptions;\r\n \r\n if (uploadImport) {\r\n var splitBase64 = uploadImport.split(\",\");\r\n tempData[\"fileContentBase64\"] = splitBase64[1];\r\n } else {\r\n passedValidation = false;\r\n setLoading(true);\r\n }\r\n \r\n if (passedValidation) {\r\n // setLoading(true); // Imposta l'indicatore di caricamento prima di effettuare la richiesta API\r\n \r\n Repo.postCSVImport(apiToken, JSON.stringify(tempData), query.get(\"id\"))\r\n .then((response) => {\r\n if (response.status === 200) {\r\n if (isUpdateIsees) {\r\n setIsUpdateIsees(true);\r\n } else if (isRemoveOldSubscriptions) {\r\n setIsRemoveOldSubscriptions(true);\r\n } else {\r\n setIsUpdateIsees(false);\r\n setIsRemoveOldSubscriptions(false);\r\n }\r\n \r\n window.location.reload();\r\n }\r\n })\r\n .catch((error) => {\r\n toggleModalImport(false);\r\n window.scrollTo(0, 0);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n })\r\n .finally(() => {\r\n setLoading(true); // Rimuovi l'indicatore di caricamento sia in caso di successo che in caso di errore\r\n });\r\n }\r\n };\r\n\r\n const returnBodyModal = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n setFilter({ ...filter, firstName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setFilter({ ...filter, lastName: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n \r\n setFilter({ ...filter, fiscalCode: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n setFilter({ ...filter, email: e.target.value })}\r\n />\r\n
\r\n
\r\n \r\n setFilter({ ...filter, phoneNumber: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n Ricerca\r\n \r\n
\r\n
\r\n {usersList && usersList.length > 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {usersList.map((x, index) => (\r\n \r\n {\r\n toggleModalSubscribeUserOperator(\r\n !isOpenSubscribeUserOperator\r\n );\r\n setSub(x);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Codice FiscaleNomeCognomeEmail
{x.fiscalCode}{x.firstName}{x.lastName}{x.email}
\r\n \r\n ) : (\r\n <>\r\n Nessun utente trovato\r\n
\r\n {\r\n sendUrlPage(\"/lista_utenti/nuovo_utente\");\r\n }}\r\n\r\n>\r\n {\" \"}\r\n Nuovo utente\r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n useEffect(() => {\r\n var newArray = [];\r\n\r\n var checkConfirmed = \"\";\r\n if (filterSubscribed.confirmed) {\r\n checkConfirmed = \"VALIDATED\";\r\n }\r\n setChangeArray(false);\r\n if (sessionSubscriptionTemp !== undefined) {\r\n newArray =\r\n sessionSubscriptionTemp &&\r\n sessionSubscriptionTemp.filter((subscription) => {\r\n return (\r\n subscription.user.firstName\r\n .toLowerCase()\r\n .includes(filterSubscribed.firstName.toLowerCase()) &&\r\n subscription.user.lastName\r\n .toLowerCase()\r\n .includes(filterSubscribed.lastName.toLowerCase()) &&\r\n subscription.user.fiscalCode\r\n .toLowerCase()\r\n .includes(filterSubscribed.fiscalCode.toLowerCase()) &&\r\n subscription.state.match(checkConfirmed)\r\n );\r\n });\r\n setSessionSubscriptionTemp2(newArray);\r\n setChangeArray(true);\r\n }\r\n }, [filterSubscribed]);\r\n\r\n const bodyFile = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const showFile = (id) => {\r\n setLoading(true); // Imposta l'indicatore di caricamento a true prima di avviare la richiesta\r\n \r\n Repo.downloadFileOperator(apiToken, id)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setFile();\r\n var obj = document.createElement(\"object\");\r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" + response.data;\r\n setFile(obj);\r\n \r\n toggleModalShowFile(!showFileToggle);\r\n }\r\n })\r\n .catch((error) => {\r\n setApiError({ isVisible: true, message: showError(error) });\r\n })\r\n .finally(() => {\r\n setLoading(false); // Rimuovi l'indicatore di caricamento sia in caso di successo che in caso di errore\r\n });\r\n };\r\n\r\n const generateCSV = () => {\r\n setLoading(false);\r\n Repo.generateCsv(apiToken, id, sendImportCSV)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data], { type: \"text/csv\" })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", \"CSV \" + session.name + \".csv\");\r\n document.body.appendChild(link);\r\n link.click();\r\n setLoading(true);\r\n toggleModalGenerateCSV(!isOpenGenerateCSV);\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(false);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n toggleModalGenerateCSV(!isOpenGenerateCSV);\r\n });\r\n };\r\n\r\n const sendMyPay = () => {\r\n setLoading(false);\r\n Repo.sendMyPay(apiToken, id, sendImportCSV, null)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setLoading(true);\r\n toggleModalCSVUpload(!isOpenCSVUpload);\r\n setAlertShow(true);\r\n setAlertMessage(\"Flusso inviato correttamente a MyPay\");\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n\r\n setApiError({ isVisible: true, message: showError(error) });\r\n toggleModalCSVUpload(!isOpenCSVUpload);\r\n });\r\n };\r\n\r\n\r\n const sendRendicontazione = () => {\r\n setLoading(false);\r\n Repo.getRendicontazione(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setLoading(true);\r\n toggleModalRendicontazione(!isOpenRendicontazione);\r\n setAlertShow(true);\r\n setAlertMessage(\"La rendicontazione è in corso\");\r\n }\r\n })\r\n .catch((error) => {\r\n setLoading(true);\r\n setApiError({ isVisible: true, message: showError(error) });\r\n toggleModalRendicontazione(!isOpenRendicontazione);\r\n });\r\n };\r\n\r\n const fileListDownload = () => {\r\n return (\r\n <>\r\n {session.announcementFiles && session.announcementFiles.length > 0 && (\r\n

Modulista caricata

\r\n )}\r\n
\r\n {session.announcementFiles &&\r\n session.announcementFiles.length > 0 &&\r\n session.announcementFiles.map((x, index) => (\r\n \r\n
\r\n showFile(x.storageFileId)}\r\n title={x.description}\r\n >\r\n \r\n \r\n {\" \"}\r\n {x.name}\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

Bando

\r\n
\r\n

Scheda di riepilogo del bando - ({session.name})

\r\n
\r\n {apiError.isVisible && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n (window.location.href =\r\n props.subfolder +\r\n \"/lista_bandi/dettaglio_sessione/modifica_sessione?sessionId=\" +\r\n session.id)\r\n }\r\n >\r\n Modifica bando\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n {session ? (\r\n <>\r\n
\r\n
\r\n Titolo:{\" \"}\r\n \r\n {session.name}\r\n \r\n
\r\n {service && (\r\n <>\r\n
\r\n Servizio:{\" \"}\r\n \r\n {service.name} \r\n \r\n
\r\n \r\n )}\r\n
\r\n Stato:{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Nome My Pay:{\" \"}\r\n \r\n {session.nomeMyPay && session.nomeMyPay}\r\n \r\n
\r\n
\r\n Codice Accertamento:{\" \"}\r\n \r\n {session.codAccertamento && session.codAccertamento}\r\n \r\n
\r\n
\r\n Codice Capitolo:{\" \"}\r\n \r\n {session.codCapitolo && session.codCapitolo} \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n toggleModalGenerateCSV(!isOpenGenerateCSV);\r\n }}\r\n >\r\n \r\n \r\n {\" \"}\r\n {labels.verificaCsv}\r\n \r\n
\r\n\r\n
\r\n {\r\n toggleModalCSVUpload(!isOpenCSVUpload);\r\n }}\r\n >\r\n \r\n \r\n {\" \"}\r\n {labels.inviaCsv}\r\n \r\n
\r\n\r\n
\r\n {\r\n toggleModalRendicontazione(!isOpenRendicontazione);\r\n }}\r\n >\r\n \r\n \r\n {\" \"}\r\n \r\n {labels.rendicontazione}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {fileListDownload()}\r\n\r\n \r\n \r\n ) : (\r\n <>\r\n Il bando selezionato non è presente.\r\n \r\n )}\r\n\r\n \r\n\r\n {/* Modali */}\r\n toggleModal(!isOpen)}\r\n size={\"lg\"}\r\n labelledBy=\"Modale1\"\r\n className=\"modalFit\"\r\n style={{ top: \"20%\" }}\r\n >\r\n Iscrivi Utente\r\n {returnBodyModal()}\r\n \r\n {\r\n toggleModal(!isOpen);\r\n setUsersList([]);\r\n }}\r\n >\r\n Indietro\r\n \r\n \r\n \r\n\r\n \r\n toggleModalSubscribeUserOperator(!isOpenSubscribeUserOperator)\r\n }\r\n size={\"lg\"}\r\n labelledBy=\"Modale1\"\r\n className=\"modalFit\"\r\n style={{ top: \"20%\" }}\r\n >\r\n Iscrivi Utente\r\n \r\n
\r\n

Sei sicuro di voler iscrivere l'utente al bando ?

\r\n
\r\n
\r\n \r\n subscribeUser(sub)}\r\n >\r\n Conferma\r\n \r\n {\r\n toggleModalSubscribeUserOperator(!isOpenSubscribeUserOperator);\r\n }}\r\n >\r\n Indietro\r\n \r\n \r\n \r\n\r\n }\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => sendMyPay()}\r\n >\r\n\r\n }\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => sendMyPay()}\r\n >\r\n\r\n }\r\n buttonConfirm=\"Conferma\"\r\n buttonDeny=\"Annulla\"\r\n function={() => generateCSV()}\r\n >\r\n\r\n toggleModalShowFile(!showFileToggle)}\r\n isOpen={showFileToggle}\r\n header={\"File\"}\r\n body={bodyFile()}\r\n buttonDeny=\"Chiudi\"\r\n >\r\n\r\n sendRendicontazione()}\r\n >\r\n\r\n uploadList()}\r\n >\r\n\r\n {subscribeError && (\r\n \r\n {alertMessage}\r\n \r\n )}\r\n\r\n {alertShow && (\r\n \r\n {alertMessage}\r\n \r\n )}\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default AnnouncementDetail;\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport UploadFile from \"../../Components/UploadFile\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ListIsee from \"../../Components/ListIsee\";\r\nimport ListPaymemtsUsers from \"../../Components/listPaymentsUser\";\r\nimport ValidISEE from \"../../Components/ValidISEE\";\r\nimport ValidUser from \"../../Components/ValidUser\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ViewAnnouncements(props) {\r\n const apiToken = useContext(TokenContext);\r\n let query = useQuery();\r\n const [session, setSession] = useState({});\r\n const [isOpen, toggleModal] = useState(false);\r\n const [isOpenResult, toggleModalResult] = useState(false);\r\n const [isOpenError, toggleModalError] = useState(false);\r\n const [subscriptionsId] = useState(query.get(\"id\"));\r\n const [messageError, setMessageError] = useState(\"\");\r\n const [file, setFile] = useState();\r\n const [showFileToggle, toggleModalShowFile] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n const [paymentsTemp, setPaymentsTemp] = useState();\r\n const [payments, setPayments] = useState();\r\n const [countRender, setCountRender] = useState(0);\r\n const [uploadFile1, setUploadFile1] = useState();\r\n const [uploadFile2, setUploadFile2] = useState();\r\n const [uploadFile3, setUploadFile3] = useState();\r\n const [uploadFile4, setUploadFile4] = useState();\r\n const [uploadFile5, setUploadFile5] = useState();\r\n\r\n const [count, setCount] = useState(1);\r\n\r\n const addFile = async () => {\r\n if (count < 5) {\r\n setCount(count + 1);\r\n }\r\n };\r\n\r\n const removeFile = async () => {\r\n if (count > 1) {\r\n setCount(count - 1);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (apiToken) {\r\n if (query.get(\"id\")) {\r\n Repo.getSessionByIdUser(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setSession(response.data);\r\n setCountRender(1);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (countRender > 0 && session.subscriptions.length > 0) {\r\n Repo.getListPaymentUser(apiToken, session.subscriptions[0].id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setPaymentsTemp(response.data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }, [countRender]);\r\n\r\n const sendSubscription = () => {\r\n var temp = {\r\n announcementId: subscriptionsId,\r\n listBase64: [],\r\n };\r\n\r\n for (let i = 1; i <= count; i++) {\r\n if (i == 1 && uploadFile1) {\r\n var splitBase64 = uploadFile1.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 2 && uploadFile2) {\r\n var splitBase64 = uploadFile2.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 3 && uploadFile3) {\r\n var splitBase64 = uploadFile3.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 4 && uploadFile4) {\r\n var splitBase64 = uploadFile4.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n } else if (i == 5 && uploadFile5) {\r\n var splitBase64 = uploadFile5.split(\",\");\r\n temp[\"listBase64\"].push(splitBase64[1]);\r\n }\r\n }\r\n\r\n Repo.postSubscriptionUser(apiToken, JSON.stringify(temp))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n toggleModalResult(true);\r\n toggleModal(false);\r\n setTimeout(function () {\r\n window.location.reload(1);\r\n }, 2000);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.response.status == 400) {\r\n toggleModalError(true);\r\n toggleModal(false);\r\n console.log(error.response.data);\r\n setMessageError(error.response.data);\r\n }\r\n console.log(error);\r\n });\r\n };\r\n\r\n const doPayment = (iuv) => {\r\n Repo.getPayment(apiToken, iuv)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.open(response.data, \"_blank\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const reload = () => {\r\n window.location.reload(1);\r\n };\r\n\r\n const returnVarName = (index) => {\r\n switch (index) {\r\n case 1:\r\n return setUploadFile1;\r\n case 2:\r\n return setUploadFile2;\r\n case 3:\r\n return setUploadFile3;\r\n case 4:\r\n return setUploadFile4;\r\n case 5:\r\n return setUploadFile5;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const bodyFile = () => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const showFile = (id) => {\r\n Repo.downloadFileUser(apiToken, id)\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setFile();\r\n var obj = document.createElement(\"object\");\r\n obj.type = \"application/pdf\";\r\n obj.data = \"data:application/pdf;base64,\" + response.data;\r\n setFile(obj);\r\n\r\n toggleModalShowFile(!showFileToggle);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n const fileListDownload = () => {\r\n return (\r\n <>\r\n
\r\n {session.announcementFiles && session.announcementFiles.length > 0 && (\r\n
\r\n Modulista caricata dal comune\r\n
\r\n )}\r\n
\r\n {session.announcementFiles &&\r\n session.announcementFiles.length > 0 &&\r\n session.announcementFiles.map((x, index) => (\r\n \r\n
\r\n showFile(x.storageFileId)}\r\n >\r\n Modulo {index + 1}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n };\r\n\r\n const fileListDownloadUser = () => {\r\n return (\r\n <>\r\n
\r\n File caricati \r\n
\r\n
\r\n {session.subscriptions[0].subscriptionFiles.map((x, index) => (\r\n \r\n
\r\n showFile(x.storageFileId)}\r\n >\r\n Visualizza File {index + 1}\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n };\r\n\r\n const fileListUpload = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {count &&\r\n [...Array(count)].map((x, index) => (\r\n \r\n
\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n
\r\n
\r\n

{session && session.name}

\r\n
\r\n {session.subscriptions && session.subscriptions.length < 1 ? (\r\n
\r\n toggleModal(!isOpen)}\r\n className=\"btn btn-primary float-right\"\r\n >\r\n Richiedi Servizio\r\n \r\n
\r\n ) : session.subscriptions &&\r\n session.subscriptions[0].state == \"VALIDATED\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta approvata\".toUpperCase()}\r\n \r\n
\r\n ) : session.subscriptions &&\r\n session.subscriptions[0].state == \"SUSPENDED\" ? (\r\n
\r\n \r\n \r\n \r\n {\"Iscrizione sospesa\".toUpperCase()}\r\n
\r\n ) : session.subscriptions &&\r\n session.subscriptions[0].state == \"ADDED\" ? (\r\n
\r\n \r\n \r\n \r\n {\"Richiesta inviata\".toUpperCase()}\r\n
\r\n ) : (\r\n session.subscriptions &&\r\n session.subscriptions[0].state == \"REFUSED\" && (\r\n
\r\n \r\n \r\n \r\n \r\n {\"Richiesta rifiutata\".toUpperCase()}\r\n \r\n
\r\n )\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {session ? (\r\n <>\r\n
\r\n {/* {session.cost && (\r\n
\r\n Costo Prestazione:{\" \"}\r\n \r\n {session.cost} €\r\n \r\n
\r\n )} */}\r\n\r\n {session.service && (\r\n <>\r\n
\r\n Servizio:{\" \"}\r\n \r\n {session.service.name} \r\n \r\n
\r\n \r\n )}\r\n
\r\n {session.service && (\r\n
\r\n
\r\n \r\n \r\n

{session.service.description}

\r\n
\r\n
\r\n
\r\n )}\r\n\r\n \r\n {session.subscriptions &&\r\n session.subscriptions.length > 0 &&\r\n session.subscriptions[0].state == \"VALIDATED\" && (\r\n
\r\n
\r\n
\r\n In seguito all'approvazione della tua richiesta:\r\n
\r\n
\r\n
\r\n

\r\n Costo Mensile:{\" \"}\r\n \r\n {session.subscriptions[0].cost &&\r\n parseFloat(\r\n session.subscriptions[0].cost\r\n ).toLocaleString(\"it-IT\")}\r\n {\" € \"}\r\n \r\n

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

\r\n Ore Settimanali:{\" \"}\r\n {session.subscriptions[0].weeklyHour}\r\n

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n Il bando selezionata non è presente.\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {paymentsTemp && paymentsTemp.length > 0 && (\r\n \r\n )}\r\n\r\n {session.subscriptions && session.subscriptions.length < 1 ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Carica Modulistica\r\n
\r\n

\r\n Procedi con il caricamento della modulistica aggiuntiva o di\r\n documenti utili (es: certificato medico, ecc..).
\r\n In seguito clicca su RICHIEDI SERVIZIO.\r\n

\r\n {fileListUpload()}\r\n {fileListDownload()}\r\n
\r\n
\r\n
\r\n ) : (\r\n session.subscriptions &&\r\n session.subscriptions[0].subscriptionFiles.length > 0 && (\r\n
\r\n
\r\n
\r\n {fileListDownloadUser()} {fileListDownload()}\r\n
\r\n
\r\n
\r\n )\r\n )}\r\n\r\n sendSubscription()}\r\n >\r\n reload()}\r\n >\r\n reload()}\r\n >\r\n toggleModalShowFile(!showFileToggle)}\r\n isOpen={showFileToggle}\r\n header={\"File\"}\r\n body={bodyFile()}\r\n buttonDeny=\"Chiudi\"\r\n >\r\n \r\n );\r\n}\r\n\r\nexport default ViewAnnouncements;\r\n","import { Input } from \"design-react-kit\";\r\nimport { useContext } from \"react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport Select from \"../../Components/Select\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport LabelsLoader from \"../../Utility/labelsLoader\";\r\n\r\nfunction Help(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [user, setUser] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [validation, setValidation] = useState();\r\n const [validationEmail, setValidationEmail] = useState();\r\n const [isAlertVisible, setIsAlertVisible] = useState(false);\r\n const [servizi, setServizi] = useState([]);\r\n const [servizioSelected, setServizioSelected] = useState();\r\n\r\n const changeServizio = (event) => {\r\n var nameEvent = event.label;\r\n setServizioSelected({ label: nameEvent });\r\n };\r\n const labels = LabelsLoader();\r\n const [messageSend, setMessageSend] = useState({\r\n emailUser: \"\",\r\n subject: \"\",\r\n message: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n getServiziAPI();\r\n getUserAPI();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (messageSend != null) {\r\n const timer = setTimeout(() => {\r\n setIsAlertVisible(false);\r\n }, 4000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [isAlertVisible, messageSend]);\r\n\r\n useEffect(() => {\r\n const regexEmail = /^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$/;\r\n\r\n if (messageSend.email && !messageSend.email.match(regexEmail)) {\r\n setValidationEmail(false);\r\n } else {\r\n setValidationEmail(true);\r\n }\r\n }, [messageSend.email]);\r\n\r\n // const messageValidation = () => {\r\n // setValidation(true);\r\n // let passedValidation = true;\r\n\r\n // Object.entries(messageSend).map(([key, value]) => {\r\n // //isArray is used to exclude the isees array in the validation\r\n // if (value == \"\" || value == null) {\r\n // passedValidation = false;\r\n // }\r\n // });\r\n\r\n // if (passedValidation) {\r\n // sendMessageAPI();\r\n // }\r\n // };\r\n const messageValidation = () => {\r\n if (messageSend) {\r\n sendMessageAPI();\r\n } else {\r\n console.log(\"errore\");\r\n }\r\n };\r\n\r\n const sendMessageAPI = () => {\r\n setLoading(false);\r\n Repo.postEmail(apiToken, JSON.stringify(messageSend))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setLoading(true);\r\n setIsAlertVisible(true);\r\n\r\n setMessageSend({\r\n emailUser: \"\",\r\n subject: servizioSelected,\r\n message: \"\",\r\n });\r\n setValidation();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n };\r\n\r\n const getServiziAPI = () => {\r\n setLoading(false);\r\n Repo.getUserServices(apiToken)\r\n .then((response) => {\r\n let tempArray = [];\r\n response.data.map((x, index) => {\r\n let temp = {\r\n label: \"\",\r\n value: \"\",\r\n };\r\n temp[\"label\"] = x.name;\r\n\r\n tempArray.push(temp);\r\n });\r\n\r\n tempArray.push({\r\n label: \"Altro\",\r\n value: \"Altro\",\r\n });\r\n setServizi(tempArray);\r\n\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n };\r\n\r\n const getUserAPI = () => {\r\n setLoading(false);\r\n Repo.getUser(apiToken)\r\n .then((response) => {\r\n setUser(response.data);\r\n\r\n if (response.data.email) {\r\n setMessageSend({\r\n ...messageSend,\r\n emailUser: response.data.email,\r\n });\r\n }\r\n\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n

{labels.Supporto}

\r\n
\r\n

{labels.aiuto}

\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Visualizza manuale\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Hai una segnalazione da effettuare?
\r\n

\r\n Utilizza il form contatti di seguito:\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n setMessageSend({\r\n ...messageSend,\r\n emailUser: e.target.value,\r\n })\r\n }\r\n {...(validation &&\r\n !messageSend.emailUser && {\r\n infoText: \"Il campo non può essere vuoto!\",\r\n className: \"text-danger\",\r\n })}\r\n {...(messageSend.emailUser &&\r\n !validationEmail && {\r\n infoText: \"Il formato della mail non è corretto!\",\r\n className: \"text-danger\",\r\n })}\r\n />\r\n
\r\n
\r\n \r\n // setMessageSend({\r\n // ...messageSend,\r\n // subject: e.target.value,\r\n // })\r\n // }\r\n />\r\n
\r\n
\r\n

Descrizione:

\r\n \r\n setMessageSend({\r\n ...messageSend,\r\n message: e.target.value,\r\n })\r\n }\r\n />\r\n {validation && !messageSend.message && (\r\n

Il campo non può essere vuoto!

\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Invia\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {isAlertVisible && (\r\n <>\r\n \r\n \r\n Segnalazione avvenuta con successo, risponderemo alla mail\r\n indicata!\r\n \r\n \r\n \r\n )}\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default Help;\r\n","import iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { useEffect, useState, useContext } from \"react\";\r\nimport configuration from \"../../Utility/config.json\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport { Link } from \"react-router-dom\";\r\nimport LabelsLoader from \"../../Utility/labelsLoader\";\r\n\r\nfunction HomeUser(props) {\r\n const [loading, setLoading] = useState(true);\r\n const [services, setServices] = useState({});\r\n const [isOpen, toggleModal] = useState(false);\r\n const apiToken = useContext(TokenContext);\r\n const auth_url = process.env.REACT_APP_AUTH_URL;\r\n const entity_url = process.env.REACT_APP_ENTITY_URL;\r\n\r\n const [announcementsBacheca, setAnnouncementsBacheca] = useState();\r\n\r\n const queryParameters =\r\n \"?returnUrl=\" +\r\n window.location.protocol +\r\n \"//\" +\r\n window.location.host +\r\n props.subfolder +\r\n entity_url;\r\n const labels = LabelsLoader();\r\n useEffect(() => {\r\n // 👇️ set isMounted to true\r\n let isMounted = true;\r\n\r\n async function fetchData() {\r\n const result = await Promise.resolve([\"Unmounted Component\"]);\r\n\r\n // 👇️ only update state if component is mounted\r\n if (isMounted) {\r\n setLoading(false);\r\n\r\n Repo.getAnnouncementsBacheca(apiToken)\r\n .then((response) => {\r\n setAnnouncementsBacheca(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n\r\n Repo.getUserServices(apiToken)\r\n .then((response) => {\r\n setServices(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }\r\n }\r\n\r\n fetchData();\r\n\r\n return () => {\r\n // 👇️ when component unmounts, set isMounted to false\r\n isMounted = false;\r\n };\r\n }, []);\r\n\r\n const loginRedirect = () => {\r\n window.location.href =\r\n auth_url + configuration.AUTH_PATH_LOGIN + queryParameters;\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

{labels.attenzione}

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

\r\n {labels.aiuto}\r\n

\r\n
\r\n
\r\n \r\n Accedi\r\n \r\n
\r\n
\r\n
\r\n\r\n {announcementsBacheca && announcementsBacheca.length > 0 && (\r\n
\r\n
\r\n

Bacheca

\r\n

{labels.bandi_aperti}

\r\n
\r\n {announcementsBacheca &&\r\n announcementsBacheca.length > 0 &&\r\n announcementsBacheca.slice(0, 3).map((x, index) => (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {x.name && x.name}\r\n \r\n\r\n \r\n Data inserimento:{\" \"}\r\n {x.dataInsert && x.dataInsert}\r\n

\r\n\r\n
\r\n
\r\n \r\n Dettaglio\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n

Servizi

\r\n
\r\n {services &&\r\n services.length > 0 &&\r\n services.map((x, index) => (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {x.name}\r\n
\r\n
\r\n
\r\n \r\n {x.description}\r\n

\r\n
\r\n
\r\n toggleModal(!isOpen)}\r\n >\r\n Richiedi Servizio\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n\r\n loginRedirect()}\r\n >\r\n\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default HomeUser;\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport Pagination from \"../../Components/Pagination\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport Select from \"../../Components/Select\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction Subscription(props) {\r\n const apiToken = useContext(TokenContext);\r\n let query = useQuery();\r\n\r\n const [changeArray, setChangeArray] = useState(false);\r\n const [subscriptionsList, setSubscriptionsList] = useState();\r\n const [subscriptionsListTemp, setSubscriptionsListTemp] = useState();\r\n const [subscriptionsListTemp2, setSubscriptionsListTemp2] = useState();\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [stati] = useState([\r\n { label: \"RICHIESTA INVIATA\", value: \"ADDED\" },\r\n { label: \"RICHIESTA APPROVATA\", value: \"VALIDATED\" },\r\n { label: \"ISCRIZIONE SOSPESA\", value: \"SUSPENDED\" },\r\n { label: \"ISCRIZIONE RIFIUTATA\", value: \"REFUSED\" },\r\n ]);\r\n\r\n const getOptionLabel = (option) => {\r\n const selectedStateObj = stati.find(\r\n (state) => state.value === option.value\r\n );\r\n return selectedStateObj ? selectedStateObj.label : \"\";\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n Repo.getIscrizioni(apiToken)\r\n .then((response) => {\r\n setSubscriptionsListTemp(response.data.subscriptions);\r\n\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }, []);\r\n\r\n var filterSub = (e) => {\r\n if (e) {\r\n setChangeArray(true);\r\n\r\n var arr = subscriptionsListTemp.filter(function (obj) {\r\n return obj.state.toUpperCase() == e.value;\r\n });\r\n\r\n setSubscriptionsListTemp2(arr);\r\n } else {\r\n setChangeArray(false);\r\n }\r\n };\r\n\r\n const stateMappings = {\r\n VALIDATED: {\r\n icon: \"it-check-circle \",\r\n text: \"Richiesta approvata\",\r\n color: \"text-success icon-success\",\r\n },\r\n SUSPENDED: {\r\n icon: \"it-ban\",\r\n text: \"Iscrizione sospesa\",\r\n color: \"text-dark\",\r\n },\r\n ADDED: {\r\n icon: \"it-warning-circle\",\r\n text: \"Richiesta inviata\",\r\n color: \"text-warning\",\r\n },\r\n REFUSED: {\r\n icon: \"it-close-circle\",\r\n text: \"\",\r\n color: \"text-danger\",\r\n },\r\n };\r\n\r\n return (\r\n <>\r\n

Iscrizioni

\r\n
\r\n

Tutte le tue iscrizioni

\r\n
\r\n\r\n
\r\n
\r\n
\r\n filterSub(e)}\r\n isClearable\r\n isSearchable\r\n placeholder={\"Seleziona stato iscrizione\"}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n {subscriptionsList && subscriptionsList.length > 0 ? (\r\n subscriptionsList.map((x) => (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {x.announcement.name}\r\n
\r\n
\r\n
\r\n

\r\n Servizio:{\" \"}\r\n {x.announcement.service.name}\r\n

\r\n
\r\n {x.state == \"VALIDATED\" && (\r\n <>\r\n
\r\n \r\n Costo Mensile:{\" \"}\r\n \r\n {x.cost &&\r\n parseFloat(x.cost).toLocaleString(\"it-IT\")}\r\n {\" € \"}\r\n \r\n

\r\n
\r\n
\r\n \r\n Ore Settimanali: {x.weeklyHour}\r\n

\r\n
\r\n \r\n )}\r\n
\r\n\r\n
\r\n \r\n {stateMappings[x.state] && (\r\n <>\r\n \r\n \r\n \r\n \r\n {stateMappings[x.state].text}\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n Dettaglio\r\n \r\n \r\n \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 sei iscritto a nessun servizio
\r\n )}\r\n\r\n {subscriptionsListTemp &&\r\n (changeArray == false ? (\r\n \r\n ) : (\r\n \r\n ))}\r\n
\r\n {!loading && }\r\n \r\n );\r\n}\r\n\r\nexport default Subscription;\r\n","import { useState, useEffect, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport Select from \"../../Components/Select\";\r\nimport Loader from \"../../Components/Loader\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\n\r\nfunction Configuration(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [data, setData] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n\r\n useEffect(() => {\r\n setLoading(false);\r\n Repo.getConfiguration(apiToken)\r\n .then((response) => {\r\n setData(response.data);\r\n setLoading(true);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(true);\r\n });\r\n }, []);\r\n\r\n const validateConfiguration = () => {\r\n setValidation(true);\r\n let passedValidation = true;\r\n\r\n Object.entries(data).map(([key, value]) => {\r\n //isArray is used to exclude the isees array in the validation\r\n if (value === \"\") {\r\n passedValidation = false;\r\n }\r\n });\r\n\r\n if (passedValidation) {\r\n toggleModal(!isOpen);\r\n }\r\n };\r\n\r\n const updateConfiguration = () => {\r\n Repo.postUpdateConfiguration(apiToken, JSON.stringify(data))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n window.location.href = props.subfolder + \"/configurazione\";\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n\r\n

Configurazione

\r\n
\r\n

Parametri per la configurazione del file Excel di MyPay.

\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n setData({ ...data, azione: e.target.value })\r\n }\r\n />\r\n\r\n
\r\n\r\n
\r\n\r\n setData({ ...data, codUfficio: e.target.value })\r\n }\r\n />\r\n
\r\n\r\n
\r\n\r\n\r\n setData({ ...data, codeConfig: e.target.value })\r\n }\r\n />\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n setData({ ...data, flgGeneraIuv: e.value })\r\n }\r\n placeholder={data ? data.flgGeneraIuv.toString() : \"\"}\r\n />\r\n {validation && !data.flgGeneraIuv && (\r\n
\r\n )}\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n setData({ ...data, tipoDovuto: e.target.value })\r\n }\r\n />\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n setData({\r\n ...data,\r\n tipoIdentificativoUnivoco: e.target.value,\r\n })\r\n }\r\n />\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n setData({\r\n ...data,\r\n datiSpecificiRiscossione: e.target.value,\r\n })\r\n }\r\n />\r\n\r\n
\r\n\r\n
\r\n\r\n setData({ ...data, tipoVersamento: e.target.value })\r\n }\r\n />\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n{isDisabled ? (\r\n \r\n \r\n setIsDisabled(!isDisabled)}\r\n title=\"Modifica\"\r\n >\r\n Modifica\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n setIsDisabled(!isDisabled)}\r\n title=\"Indietro\"\r\n >\r\n Indietro\r\n \r\n \r\n \r\n validateConfiguration()}\r\n title=\"Conferma\"\r\n >\r\n Conferma\r\n \r\n \r\n \r\n )}\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n updateConfiguration()}\r\n >\r\n\r\n {!loading && }\r\n
\r\n );\r\n}\r\n\r\nexport default Configuration;\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ModalComponent from \"../../Components/ModalComponent\";\r\nimport configuration from \"../../Utility/config.json\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ViewAnnouncements(props) {\r\n const apiToken = useContext(TokenContext);\r\n let query = useQuery();\r\n const [session, setSession] = useState({});\r\n const [isOpen, toggleModal] = useState(false);\r\n const auth_url = process.env.REACT_APP_AUTH_URL;\r\n const entity_url = process.env.REACT_APP_ENTITY_URL;\r\n\r\n const queryParameters = \"?returnUrl=\" + window.location + entity_url;\r\n\r\n useEffect(() => {\r\n if (query.get(\"id\")) {\r\n Repo.getSessionByIdUser(apiToken, query.get(\"id\"))\r\n .then((response) => {\r\n if (response.status == 200) {\r\n setSession(response.data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n }, []);\r\n\r\n const login = () => {\r\n window.location.href =\r\n auth_url + configuration.AUTH_PATH_LOGIN + queryParameters;\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

{session && session.name}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {session ? (\r\n <>\r\n
\r\n {session.service && (\r\n <>\r\n
\r\n Riferimento:  {session.service.name} \r\n
\r\n \r\n )}\r\n
\r\n {session.service && (\r\n
\r\n
\r\n \r\n

{session.service.description}

\r\n \r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n Fasce ISEE\r\n
\r\n {session.bands && session.bands.length > 0 ? (\r\n <>\r\n
\r\n
    \r\n {session.bands.map((x, index) => (\r\n
  • \r\n \r\n
    \r\n
    {x.name}
    \r\n
    \r\n Minimo: \r\n {x.min &&\r\n parseFloat(x.min).toLocaleString(\r\n \"it-IT\"\r\n )} €\r\n
    \r\n
    \r\n Massimo: \r\n {x.max &&\r\n parseFloat(x.max).toLocaleString(\r\n \"it-IT\"\r\n )} €\r\n
    \r\n
    \r\n Percentuale: \r\n {x.percent + \"%\"}\r\n
    \r\n
    \r\n Costo: \r\n {x.fixedCost &&\r\n parseFloat(x.fixedCost).toLocaleString(\"it-IT\")} €\r\n
    \r\n
    \r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n Non sono presenti fasce ISEE.\r\n \r\n )}\r\n \r\n ) : (\r\n <>\r\n \r\n Il bando selezionata non è presente.\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n\r\n login()}\r\n >\r\n \r\n );\r\n}\r\n\r\nexport default ViewAnnouncements;\r\n","import { React, useState, useEffect } from \"react\";\r\nimport { Markup } from \"interweave\";\r\n\r\nfunction PrivacyPolicy(props) {\r\n const [dataHtml, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n fetch(\"./privacy.html\")\r\n .then((res) => res.text())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((err) => console.log(err));\r\n window.scrollTo(0, 0);\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\n}\r\n\r\nexport default PrivacyPolicy;\r\n","import { Switch, Route, useLocation,useHistory } from \"react-router-dom\";\r\nimport { useEffect, useState, useLayoutEffect, useContext } from \"react\";\r\nimport { useCookies } from \"react-cookie\";\r\n\r\n\r\n//Componenti\r\nimport Breadcrumb from \"./Breadcrumb\";\r\n\r\nimport {\r\n Button,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n} from \"design-react-kit\";\r\n\r\n//Pagine Operatore\r\nimport ListRanges from \"../Page/Operator/ListRanges\";\r\nimport Home from \"../Page/Operator/Home\";\r\nimport ListISEEUploaded from \"../Page/Operator/ListISEEUploaded\";\r\nimport ListISEEValidated from \"../Page/Operator/ListISEEValidated\";\r\nimport ListAnnouncements from \"../Page/Operator/ListAnnouncements\";\r\nimport ListFlows from \"../Page/Operator/ListFlows\";\r\nimport ListPayments from \"../Page/Operator/ListPayments\";\r\nimport ListPaymemtsStatus from \"../Page/Operator/ListPaymentsStatus\";\r\nimport CheckISEE from \"../Page/Operator/CheckISEE\";\r\nimport ViewISEE from \"../Page/Operator/ViewISEE\";\r\nimport EditRange from \"../Page/Operator/EditRange\";\r\nimport UploadISEEOperator from \"../Page/Operator/UploadISEE\";\r\nimport NewRange from \"../Page/Operator/NewRange\";\r\nimport ListUsers from \"../Page/Operator/ListUsers\";\r\nimport ListServices from \"../Page/Operator/ListServices\";\r\nimport NewService from \"../Page/Operator/NewService\";\r\nimport NewUser from \"../Page/Operator/NewUser\";\r\nimport EditUser from \"../Page/Operator/EditUser\";\r\nimport EditService from \"../Page/Operator/EditService\";\r\n\r\n//Pagine Delegato\r\nimport HomeDelegate from \"../Page/Delegate/HomeDelegate\";\r\n\r\n\r\n//Pagine utente\r\nimport HomeUser from \"../Page/User/HomeUser\";\r\nimport UploadISEE from \"../Page/User/UploadISEE\";\r\nimport ListAnnouncementsServices from \"../Page/User/ListAnnouncementsServices\";\r\nimport UserProfile from \"../Page/User/UserProfile\";\r\nimport NewAnnouncement from \"../Page/Operator/NewAnnouncement\";\r\nimport EditAnnouncement from \"../Page/Operator/EditAnnouncement\";\r\nimport AnnouncementDetail from \"../Page/Operator/AnnouncementDetail\";\r\nimport ViewAnnouncements from \"../Page/User/ViewAnnouncements\";\r\nimport Help from \"../Page/User/Help\";\r\nimport ListPaymemts from \"../Page/Operator/ListPayments\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n//Slogged\r\nimport HomeNoLogin from \"../Page/NoLogin/Home\";\r\nimport Subscription from \"../Page/User/Subscription\";\r\nimport Configuration from \"../Page/Operator/Configuration\";\r\nimport ViewAnnouncementsNoLogin from \"../Page/NoLogin/ViewAnnouncements\";\r\n\r\n//Common\r\nimport PrivacyPolicy from \"../Page/Common/PrivacyPolicy\";\r\n\r\n//Context\r\nimport { TokenContext } from \"../Components/TokenContext\";\r\n\r\n\r\nfunction Body(props) {\r\n const [cookies] = useCookies();\r\n const apiToken = useContext(TokenContext);\r\n\r\n const [isOperator, setIsOperator] = useState(false);\r\n const [isDelegate, setIsDelegate] = useState(false);\r\n const [isCitizen, setIsCitizen] = useState(false);\r\n const [isOpen, toggleModal] = useState(false);\r\n const [codiceFiscale, setCodiceFiscale] = useState(\"\");\r\n const location = useLocation();\r\n\r\n useLayoutEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [location.pathname]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n\r\n \r\n\r\n if (cookies.user_profile) {\r\n if (cookies.user_profile.WorkingEntityId) {\r\n setIsOperator(true);\r\n } \r\n else {\r\n setCodiceFiscale(cookies.user_profile.FiscalCode);\r\n }\r\n }\r\n if (codiceFiscale) {\r\n setCodiceFiscale(cookies.user_profile.FiscalCode);\r\n }\r\n \r\n \r\n var decoded= {};\r\nif (apiToken !== undefined){\r\n decoded = jwt_decode(apiToken);\r\n\r\n if (decoded.role.includes(\"CITIZEN\")) {\r\n setIsCitizen(true);\r\n }\r\n if (decoded.role.includes(\"OPERATOR\")) {\r\n setIsOperator(true);\r\n }\r\n if (decoded.role.includes(\"DELEGATE\")) {\r\n setIsDelegate(true);\r\n setIsOperator(false);\r\n }\r\n}\r\n\r\n }, [cookies]);\r\n\r\n function PageNotFound() {\r\n const history = useHistory();\r\n \treturn (\r\n \t<>
\r\n\r\n \t\t

Autorizzazione negata

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

Non sei autorizzato a visualizzare questa pagina.

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \t
\r\n \r\n \t);\r\n}\r\n\r\n\r\n return (\r\n
\r\n {apiToken ? (\r\n <>\r\n \r\n\r\n \r\n {isDelegate && (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n )\r\n }\r\n \r\n {/* Pagine Utente */}\r\n {isCitizen && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Pagine Operatore */}\r\n\r\n \r\n\r\n\r\n {isOperator && (\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n
\r\n
\r\n )}\r\n \r\n ) : (\r\n <>\r\n {/* Pagine Non Loggato */\r\n // console.log(\"nologin\")\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n } />\r\n \r\n \r\n
\r\n \r\n )}\r\n\r\n {isOpen && (\r\n \r\n SESSIONE SCADUTA\r\n Esegui nuovamente il login\r\n \r\n \r\n (window.location.href = props.subfolder + \"/login\")\r\n }\r\n >\r\n Login\r\n \r\n (window.location.href = props.subfolder + \"/home\")}\r\n >\r\n Home\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default Body;\r\n","import React from \"react\";\r\nimport \"./App.css\";\r\nimport Repo from \"./Utility/Repo\";\r\nimport { createContext, useEffect, useState } from \"react\";\r\nimport { BrowserRouter as Router } from \"react-router-dom\";\r\nimport { MemoizedFooter } from \"./Layout/Footer\";\r\nimport { MemoizedHeader } from \"./Layout/Header\";\r\nimport Body from \"./Layout/Body\";\r\nimport { useCookies } from \"react-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport iconSprite from \"bootstrap-italia/dist/svg/sprite.svg\";\r\nimport { TokenContext } from \"./Components/TokenContext\";\r\nimport LabelsLoader from \"./Utility/labelsLoader\";\r\n\r\nfunction App({ title = \"Titolo Predefinito\" }) {\r\n const [cookies] = useCookies();\r\n const [apiToken] = useState(cookies.api_token);\r\n const [user, setUser] = useState();\r\n\r\n const [showButton, setShowButton] = useState(false);\r\n const [userStatus, setUserStatus] = useState(false);\r\n const [userData, setUserData] = useState(false);\r\n const [userDataStatus, setUserDataStatus] = useState(true);\r\n const [userISEEValid, setUserISEEValid] = useState(true);\r\n const [operator, setOperator] = useState(false);\r\n const [delegate, setDelegate] = useState(false);\r\n const [citizen, setCitizen] = useState(false);\r\n const [subfolder, setSubFolder] = useState(process.env.PUBLIC_URL);\r\n\r\n const labels = LabelsLoader();\r\n\r\n useEffect(() => {\r\n if (cookies.api_token && !userData) {\r\n var decoded = jwt_decode(cookies.api_token);\r\n setUser(decoded.FullName);\r\n setUserData(true);\r\n }\r\n var decoded = {};\r\n if (apiToken !== undefined) {\r\n decoded = jwt_decode(apiToken);\r\n\r\n if (decoded.role.includes(\"OPERATOR\")) {\r\n setOperator(true);\r\n }\r\n\r\n if (decoded.role.includes(\"DELEGATE\")) {\r\n setDelegate(true);\r\n setOperator(false);\r\n }\r\n if (decoded.role.includes(\"CITIZEN\")) {\r\n setCitizen(true);\r\n }\r\n }\r\n\r\n if (cookies.user_profile) {\r\n if (cookies.user_profile.WorkingEntityId) {\r\n setOperator(true);\r\n } else if (!userStatus && cookies.api_token) {\r\n Repo.getUserInfo(apiToken)\r\n .then((response) => {\r\n if (!response.data) {\r\n setUserDataStatus(true);\r\n } else {\r\n setUserDataStatus(false);\r\n }\r\n setUserStatus(true);\r\n })\r\n .catch((error) => {\r\n setUserDataStatus(false);\r\n setUserStatus(false);\r\n console.log(error);\r\n });\r\n }\r\n }\r\n }, [cookies]);\r\n\r\n let interval;\r\n useEffect(() => {\r\n interval = setInterval(() => {\r\n localStorage.clear();\r\n window.location.href = subfolder + \"/\";\r\n }, 32400000);\r\n }, [interval]);\r\n\r\n const listaLinkUser = [\r\n { testo: \"Home\", url: \"/\" },\r\n { testo: \"Iscrizioni\", url: \"/iscrizioni\" },\r\n { testo: \"Caricamento ISEE\", url: \"/caricamento_ISEE\" },\r\n { testo: \"Profilo\", url: \"/profilo\" },\r\n { testo: \"Supporto\", url: \"/supporto\" },\r\n ];\r\n\r\n const listaLinkDelegate = [\r\n { testo: \"Home\", url: \"/\" },\r\n { testo: \"Utenti\", url: \"/lista_utenti\" },\r\n ];\r\n\r\n const listaLinkOperator = [\r\n { testo: \"Home\", url: \"/\" },\r\n { testo: \"ISEE\", url: \"/lista_ISEE\" },\r\n { testo: \"Utenti\", url: \"/lista_utenti\" },\r\n { testo: \"Pagamenti\", url: \"/pagamenti\" },\r\n { testo: \"Servizi\", url: \"/servizi\" },\r\n { testo: \"Lista Bandi\", url: \"/lista_bandi\" },\r\n { testo: \"Fasce\", url: \"/fasce\" },\r\n { testo: labels.flussimypay, url: \"/flussi_mypay\" },\r\n { testo: \"Configurazione\", url: \"/configurazione\" },\r\n ];\r\n const listaLink = [{ testo: \"Home\", url: \"/\" }];\r\n\r\n const returnlink = () => {\r\n if (delegate) {\r\n return listaLinkDelegate;\r\n } else if (operator) {\r\n return listaLinkOperator;\r\n } else if (citizen) {\r\n return listaLinkUser;\r\n } else {\r\n return listaLink;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const handleScrollButtonVisibility = () => {\r\n window.pageYOffset > 300 ? setShowButton(true) : setShowButton(false);\r\n };\r\n\r\n window.addEventListener(\"scroll\", handleScrollButtonVisibility);\r\n\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScrollButtonVisibility);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n {showButton && (\r\n window.scrollTo(0, 0)}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\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 App;\r\n","import React from \"react\";\r\nimport { createRoot } from \"react-dom/client\"; // Importa createRoot da react-dom/client\r\nimport \"./index.css\"; // Importa il file CSS per lo stile globale\r\nimport App from \"./App\"; // Importa il componente principale App\r\n\r\nconst root = createRoot(document.getElementById(\"root\")); // Crea un root per l'applicazione\r\nroot.render(); // Rende il componente App nel root"],"sourceRoot":""}