{"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/listaMunicipi.js","Components/SelectComponent.js","Components/UserContext.js","Page/Operator/EditUser.js","Page/Operator/EditService.js","Components/TicketStatusBadge.js","Page/Operator/ListTickets.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/Operator/EditTicket.js","Page/Common/PrivacyPolicy.js","Layout/Body.js","Components/BackButtonHandler.js","App.js","index.js"],"names":["Cookies","hub_url","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","getTicket","id","HUB_PATH_TICKETS","getTicketsUser","userid","console","log","postTicket","ogg","data","modificaTicket","cercaTicket","q","tuttiTicketAperti","getIseeListUploaded","HUB_PATH_GET_ISEE_LIST_UPLOADED","getIseeListValidated","HUB_PATH_GET_ISEE_LIST_VALIDATED","postValueIseeOCR","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","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","postRiceviPosizioniDebitorie","HUB_PATH_POST_ALL_EXPORT","postRiceviPosizioniDebitorieSblocca","postCSVImport","HUB_PATH_POST_IMPORT_CSV","getUserOperator","userId","HUB_PATH_GET_USER_OPERATOR","getPayment","iuv","fiscalCode","referer","HUB_PATH_GET_PAYMENT","window","location","href","getUserOp","HUB_PATH_OPERATOR_GET_USER","postUpdateUser","HUB_PATH_UPDATE_USER","postUpdatePosizioneDebitoria","HUB_PATH_UPDATE_PAGAMENTO","postUpdateUserStatus","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","async","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","getIscrizioni","HUB_PATH_GET_ISCRIZIONI","postSubscriptionUser","HUB_PATH_POST_ISCRIZIONE","postUpdateRanking","HUB_PATH_POST_UPDATE_RANKING","getAnnouncementsBacheca","HUB_PATH_GET_ANNOUNCEMENT_BACHECA","getListSubscription","HUB_PATH_POST_EXPORT_SUBSCRIPTION","downloadFileOperator","HUB_PATH_DOWNLOAD_FILE_OPERATOR","downloadCsvOperator","HUB_PATH_DOWNLOAD_CSV_OPERATOR","downloadFileUser","HUB_PATH_DOWNLOAD_FILE_USER","ValidateCSVByToken","HUB_PATH_VALIDATE_CSV_BY_TOKEN","getListPaymentOperator","HUB_PATH_GET_LISTA_PAGAMENTI_OPERATOR","getListPaymentFilterOperator","HUB_PATH_GET_LISTA_PAGAMENTI_FILTRO_OPERATOR","getImportStato","HUB_PATH_GET_IMPORT_STATUS","getListPaymentUser","HUB_PATH_GET_LISTA_PAGAMENTI_USER","getIuvUser","bool","HUB_PATH_GET_IUV_FILE_USER","getIuvOperator","HUB_PATH_GET_IUV_FILE_OPERATOR","postListFlows","HUB_PATH_POST_LIST_FLOWS","deleteFileOperator","HUB_PATH_POST_DELETE_FILE","getRendicontazione","HUB_PATH_GET_RENDICONTAZIONE","Footer","props","_jsx","className","children","_jsxs","alt","height","width","src","logo","target","logoServizi","title","MemoizedFooter","React","memo","Header","cookies","useCookies","apiToken","useState","api_token","isOperator","setIsOperator","setWidth","innerWidth","useLocation","auth_url","queryParameters","protocol","host","subfolder","useEffect","handleResize","addEventListener","removeEventListener","user_profile","WorkingEntityId","_Fragment","style","fontSize","linksEsterni","length","map","linkObb","index","Link","to","Url","Title","iconSprite","Name","position","willChange","top","left","transform","xlinkHref","AUTH_PATH_LOGOUT","AUTH_PATH_LOGIN","type","display","Headers","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","Button","color","function","buttonDeny","Loader","TokenContext","createContext","Pagination","pageCount","setPageCount","itemOffset","setItemOffset","endOffset","itemsPerPage","setCurrentItems","items","Math","ceil","ReactPaginate","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","editRange","status","role","bottom","right","backgroundColor","zIndex","CardHome","_ref","titolo","descrizione","link","badge","last","lunghezza","cards","Home","ISEEList","setISEEList","cardsState","setCardsState","loadedUser","setLoadedUser","el","item","parseInt","e2","ListISEEUploaded","ISEEListTemp","setISEEListTemp","ISEEId","setISEEId","user","firstName","lastName","date","value","year","colSpan","reload","ListISEEValidated","SelectBase","propTypes","PropTypes","DropdownIndicator","icon","clearText","components","Icon","ariaHidden","Option","styles","container","provided","control","borderRadius","borderLeft","borderRight","borderTop","borderBottom","boxShadow","fontWeight","dropdownIndicator","fill","option","_ref2","isDisabled","isFocused","isSelected","background","textDecoration","fontFamily","placeholder","singleValue","_ref3","valueContainer","Select","CustomClearText","ClearIndicator","clearIndicatorProps","innerProps","ref","restInnerProps","padding","selectComponents","IndicatorSeparator","isClearable","StateTranslate","_text","_text2","_text3","_text4","text","trasform","toString","ListAnnouncements","servicesList","setServicesList","servizi","setServizi","servizioTemp","setServizioTemp","URLSearchParams","search","announcementsList","setAnnouncementsList","announcementsListTemp","setAnnouncementsListTemp","removableSession","setRemovableSession","defaultMenuIsOpen","required","options","onChange","e","filterSessions","isSearchable","service","state","Badge","badgeStatus","badgeText","spanText","LabelsLoader","labels","setLabels","fetchLabels","ListFlows","changeArray","setChangeArray","flows","setFlows","flowsTemp2","setFlowsTemp2","showFileToggle","toggleModalShowFile","flowsTemp","setFlowsTemp","file","setFile","isAlertErrorVisible","setIsAlertErrorVisible","stato","Promise","all","JSON","stringify","flowsResponse","serviziResponse","finally","expandedRows","setExpandedRows","getStatoImport","arguments","undefined","getStatoFile","expandedRow","urlFileAvvisi","urlFileIUV","urlFileScarti","flussimypay","tuttiflussi","isEmailSent","announcement","num","available","elaborateFlows","requestToken","disabled","UserDataComponent","operator","setOperator","userData","setUserData","delegate","setDelegate","setUser","citizen","setCitizen","decoded","jwt_decode","FullName","ListPaymemtsUsers","showModalDetail","setShowModalDetail","showModalMail","setShowModalMail","selectedIUV","setSelectedIUV","hasMail","setHasMail","formData","setFormData","setError","showPayments","document","createElement","handleChange","prevData","payments","isPagato","importoDovuto","importoTotalePagato","showDetail","codIuv","sendPayments","paymentsTemp","setPayments","toggleModalDetail","htmlFor","readOnly","_error$response3","_error$response3$data","_error$response4","Message","handleSave","onClose","handleCloseModal","toggleModalMail","bodyMail","_error$response","_error$response$data","_error$response2","ListPayments","query","setPaymentsTemp","get","ListPaymentsOperator","currentPage","setCurrentPage","setItemsPerPage","currentItems","orderBy","setOrderBy","sortedPayments","useMemo","sortPayments","clonedPayments","sort","a","b","importoTotale","cognome","localeCompare","nome","reduce","acc","curr","minimumFractionDigits","maximumFractionDigits","label","selectedOption","getOrderLabel","codiceFiscale","telefono","email","paymentIds","exportToExcel","selectedData","cleanedData","rest","today","Date","toISOString","nomeBando","fileName","worksheet","XLSX","json_to_sheet","workbook","book_new","book_append_sheet","excelBuffer","bookType","blob","Blob","saveAs","alert","ListPaymemtsStatus","filter","setFilter","chkNoSendMail","announcementId","setNomeBando","setAnnouncementId","announcementOptions","setAnnouncementOptions","Error","fetchAnnouncements","isUpdating","setIsUpdating","interval","setInterval","checkStatus","IsUpdating","clearInterval","ricalcolaPosizioniDebitorie","confirm","Input","checked","prevFilter","find","sendFilter","RegExp","CheckISEE","setValue","valueOCR","setValueOCR","validation","setValidation","validationISEE","setValidationISEE","isOpenRefuse","toggleModalRefuse","setData","idIsee","setIdIsee","message","valueWithoutComma2","floatValue","formattedValue","sendISEEApi","infoText","tempData","passedValidation","dataJson","confirmIsee","refuseIsee","ViewPDF","EditRange","range","setRange","setIsDisabled","perc","checkPercentage","step","rangeEditValidation","styled","button","UploadFile","hiddenFileInput","useRef","current","click","upload","testoInterno","typeFile","files","setErrorMessage","fileUploaded","base64File","resolve","reader","FileReader","readAsDataURL","onload","result","onerror","getBase64","handleFile","accept","testoCaricamento","number","UploadISEE","uploadISEE","setUploadISEE","skipValidationISEE","setSkipValidationISEE","setUserId","errorMessage","setYear","setDate","d","moment","format","match","inputValue","trim","_tempData$value","splitBase64","sendISEE","NewRange","marginLeft","newRangeValidation","ListUsers","usersListTemp","setUsersListTemp","usersList","setUsersList","isOpenUser","toggleModalUser","countUser","setCountUser","removableUser","setRemovableUser","modalUser","setModalUser","initialFilter","phoneNumber","loaded","fetchUsers","count","push","myObj","filterOnLoad","onKeyDown","key","preventDefault","autoComplete","clearFilter","resetFilter","isees","hasFile","dataInsert","ListServices","serviceId","setServiceId","code","description","NewService","setName","setDescription","setCode","sendService","sendServiceApi","PROVINCE","NAZIONI","AlertMessage","isVisible","handleClose","showError","NewUser","validationEmail","setValidationEmail","validationCF","setValidationCF","listaProvince","listaNazioni","listaMunicipi","setListaMunicipi","apiError","setApiError","nazionePredefinita","setNazionePredefinita","birthDate","address","addressNumber","cap","country","city","nation","municipioId","opzione","handleAlertClose","emailPec","municipio","newUserValidation","Object","entries","MUNICIPI","SelectComponent","isRequired","columnClass","selectedValue","getOptionLabel","getOptionValue","UserContext","UserProvider","setApiToken","Provider","EditUser","_PROVINCE$find","_MUNICIPI$find","isOpenState","toggleModalState","validationBirth","setValidationBirth","userIsees","setUserIsees","userIseesTemp","setUserIseesTemp","userSubscriptions","setUserSubscriptions","userSubscriptionsTemp","setUserSubscriptionsTemp","idTransazione","EsitoWisp","FaultWisp","IdentificativoPagamenti","IUV","subscriptions","getPayments","CambiaStatoUtente","userState","openTicket","userEditValidation","Array","isArray","isValid","birthdate","uploadIsee","y","EditService","dataTemp","setDataTemp","serviceName","setServiceName","rows","TicketStatusBadge","statusMap","ListTikets","ticketsTemp","setTicketsTemp","tickets","setTickets","newUserId","back","ticket","dataApertura","ultimoAggiornamento","categoria","assegnatoA","HomeDelegate","ValidISEE","isValidISEE","setIsValidISEE","msg","setMsg","getUserAPI","lastISEE","shift","dangerouslySetInnerHTML","__html","ValidUser","setIsValid","HomeUser","services","setServices","announcementsBacheca","setAnnouncementsBacheca","isMounted","fetchData","bandi_aperti","elenco_servizi","rel","UserProfile","scrollTo","offsetHeight","NewAnnouncement","selectedService","setSelectedService","arrRanges1","setArrRanges1","arrRangesFilter1","setArrRangesFilter1","arrRangesTemp1","setArrRangesTemp1","arrRanges2","setArrRanges2","arrRangesTemp2","setArrRangesTemp2","filterRange","setFilterRange","uploadFile1","setUploadFile1","uploadFile2","setUploadFile2","uploadFile3","setUploadFile3","uploadFile4","setUploadFile4","uploadFile5","setUploadFile5","setCount","getFullYear","cost","bandsId","handleChangeRange","fixedcost","prevState","arr","transferRange","concat","some","obj2","arr2","returnVarName","checkSession","codAccertamento","codCapitolo","nomeMyPay","temp","i","border","addFile","testoTitolo","EditAnnouncement","stati","setStati","statoTemp","setStatoTemp","session","setSession","loadedRanges","setLoadedRanges","setMax","announcementFiles","rangesInit","deleteFile","showFile","o","nomecampo1","storageFileId","ListIsee","BodyGenerateCsv","sendImportCSV","setSendImportCSV","month","changeSort","setChangeSort","changeSortRanking","setChangeSortRanking","isOpenUnsubscribe","toggleModalUnsubscribe","setId","editScore","toggleModalEditScore","setSetFiscalcode","isOpenRefuseUser","toggleRefuseUserModal","isOpenSuspendUser","toggleSuspendUserModal","isError","toggleModalErros","isOpenReactiveUser","toggleReactiveUserModal","isOpenReactiveRefusedUser","toggleReactiveRefusedUserModal","isOpenConfirmUser","toggleModalConfirmUser","isOpenConfirmHours","toggleModalConfirmHours","isOpenCSVUpload","toggleModalCSVUpload","editHours","toggleModalEditHours","isOpenGenerateCSV","toggleModalGenerateCSV","weeklyHour","setWeeklyHour","weeklyHourValidation","setWeeklyHourValidation","editScoreData","setEditScoreData","rankingScore","editHoursData","setEditHoursData","suspendUser","sub","apiGet","viewToggleModalErros","apiTokens","URL","createObjectURL","setAttribute","toLocaleDateString","appendChild","confirmUser","hoursValidation","_error$response5","_error$response5$data","_error$response6","sendRanking","bodyRanking","setSub","sessionSubscriptionTemp","toggleModalImport","isOpenImport","downloadList","newArray","newArray2","sessionSubscriptionTemp2","subscription","subscription2","setSessionSubscriptionTemp2","setSessionSubscriptionTemp","reverse","sortTable","setFilterSubscribed","filterSubscribed","confirmed","sessionSubscription","setSessionSubscription","_error$response9","_error$response9$data","_error$response10","sendHours","_error$response7","_error$response7$data","_error$response8","AnnouncementDetail","setService","uploadCSV","setUploadCSV","errorImport","setErrorImport","isOpenRendicontazione","toggleModalRendicontazione","isOpenCSVDownload","toggleModalCSVDownload","alertMessage","setAlertMessage","subscribeError","setSubscribeError","alertShow","setAlertShow","uploadImport","setUploadImport","errorMessageImport","setErrorMessageImport","isUpdateIsees","setIsUpdateIsees","isRemoveOldSubscriptions","setIsRemoveOldSubscriptions","isOpenSubscribeUserOperator","toggleModalSubscribeUserOperator","sendFile","setSendFile","fileContentBase64","contentType","updateIsees","removeOldSubscriptions","sortedSubscriptions","subscribeUser","behavior","checkConfirmed","verificaCsv","inviaCsv","rendicontazione","url2","open","focus","sendUrlPage","uploadList","ViewAnnouncements","isOpenResult","toggleModalResult","isOpenError","toggleModalError","subscriptionsId","messageError","setMessageError","countRender","setCountRender","fileListDownload","subscriptionFiles","sendSubscription","listBase64","Help","servizioSelected","setServizioSelected","messageSend","setMessageSend","emailUser","subject","getServiziAPI","sendMessageAPI","tempArray","Supporto","aiuto","nameEvent","cols","maxLength","messageValidation","attenzione","Subscription","subscriptionsList","setSubscriptionsList","subscriptionsListTemp","setSubscriptionsListTemp","subscriptionsListTemp2","setSubscriptionsListTemp2","stateMappings","VALIDATED","SUSPENDED","ADDED","REFUSED","filterSub","Configuration","azione","codUfficio","codeConfig","flgGeneraIuv","tipoDovuto","tipoIdentificativoUnivoco","datiSpecificiRiscossione","tipoVersamento","validateConfiguration","EditTicket","_ticketStati$find","setTicket","isEdit","setIsEdit","ticketId","richiedente","dettagli","ticketStati","s","handleSubmit","PrivacyPolicy","dataHtml","fetch","res","err","Markup","content","Body","isDelegate","setIsDelegate","isCitizen","setIsCitizen","setCodiceFiscale","PageNotFound","useLayoutEffect","FiscalCode","Switch","Route","exact","path","userDataStatus","ListAnnouncementsServices","UploadISEEOperator","ViewISEE","element","ViewAnnouncementsNoLogin","HomeNoLogin","BackButtonHandler","handleKeyDown","activeElement","tagName","App","showButton","setShowButton","userStatus","setUserStatus","setUserDataStatus","userISEEValid","setUserISEEValid","setSubFolder","localStorage","clear","listaLinkUser","listaLinkDelegate","listaLinkOperator","listaLink","handleScrollButtonVisibility","pageYOffset","marginTop","Router","basename","createRoot","getElementById","render"],"mappings":"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sN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,wBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,kBACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,wBACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,kBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,kBACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,uBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,OC3aEsY,GAAU,CACrB,CACEhL,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,kBACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,kBACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,oBACPtN,MAAO,MAET,CACEsN,MAAO,sBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,0BACPtN,MAAO,MAET,CACEsN,MAAO,yBACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,mBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,oBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,0BACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,oBACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,iBACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,sBACPtN,MAAO,MAET,CACEsN,MAAO,8BACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,6BACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,wBACPtN,MAAO,MAET,CACEsN,MAAO,0BACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,mBACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,uBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,gBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,iBACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,mBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,OACPtN,MAAO,MAET,CACEsN,MAAO,oBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,0BACPtN,MAAO,MAET,CACEsN,MAAO,iBACPtN,MAAO,MAET,CACEsN,MAAO,iBACPtN,MAAO,MAET,CACEsN,MAAO,0BACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,wBACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,oBACPtN,MAAO,MAET,CACEsN,MAAO,mBACPtN,MAAO,MAET,CACEsN,MAAO,wBACPtN,MAAO,MAET,CACEsN,MAAO,yBACPtN,MAAO,MAET,CACEsN,MAAO,mBACPtN,MAAO,MAET,CACEsN,MAAO,eACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,iBACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,mBACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,YACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,aACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,UACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,qBACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,QACPtN,MAAO,MAET,CACEsN,MAAO,cACPtN,MAAO,MAET,CACEsN,MAAO,WACPtN,MAAO,MAET,CACEsN,MAAO,oBACPtN,MAAO,MAET,CACEsN,MAAO,SACPtN,MAAO,MAET,CACEsN,MAAO,WACP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","file":"static/js/main.03343b5f.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 getLabels: () => {\r\n var config = {\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_LABELS,\r\n };\r\n return axios(config);\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 getTicket: (token, id) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_TICKETS + \"/\" + 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\n getTicketsUser: (token, userid) => {\r\n const url = hub_url + configuration.HUB_PATH_TICKETS + \"/\" + userid + \"/utente\";\r\n console.log(\"URL generato:\", url);\r\n console.log(\"Token:\", token);\r\n \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\r\n postTicket: (token, ogg) =>\r\n axios({\r\n method: \"POST\",\r\n url: hub_url + configuration.HUB_PATH_TICKETS,\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n data: ogg,\r\n }),\r\n\r\n modificaTicket: (token, id, ogg) =>\r\n axios({\r\n method: \"PUT\",\r\n url:\r\n hub_url + configuration.HUB_PATH_TICKETS + \"/\" + id + \"/\" + \"modifica\",\r\n headers: {\r\n Authorization: \"Bearer \" + token,\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n data: ogg,\r\n }),\r\n\r\n cercaTicket: (token, q) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_TICKETS + \"/cerca?q=\" + q,\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 tuttiTicketAperti: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_TICKETS+ \"/aperti\",\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 postRiceviPosizioniDebitorie: (token) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_ALL_EXPORT,\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 postRiceviPosizioniDebitorieSblocca: (token) => {\r\n var config = {\r\n method: \"post\",\r\n url: hub_url + configuration.HUB_PATH_POST_ALL_EXPORT,\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 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\r\n getUserOp: (token, userId) =>\r\n axios({\r\n method: \"GET\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_OPERATOR_GET_USER + \"/\" + 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\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 postUpdateUserStatus: (token, userId) => {\r\n console.log(userId);\r\n var config = {\r\n method: \"post\",\r\n url:\r\n 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\n poutUpdatePaidOp: (token, obj) => {\r\n var 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\n return axios(config);\r\n },\r\n\r\n postSendEmail: (token, iuv, userId) => {\r\n var config = {\r\n method: \"post\",\r\n url:\r\n hub_url +\r\n configuration.HUB_PATH_POST_PAYMENT_SEND_EMAIL +\r\n \"/\" +\r\n iuv +\r\n \"/\" +\r\n 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 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 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:\r\n hub_url +\r\n configuration.HUB_PATH_INVIA_EMAIL_FLUSSO +\r\n \"/\" +\r\n 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 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 +\r\n configuration.HUB_PATH_POST_UNSUBSCRIBE +\r\n \"/\" +\r\n id +\r\n \"/\" +\r\n \"?userId=\" +\r\n 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\n getListPaymentFilterOperator: (token, data) =>\r\n axios({\r\n method: \"POST\",\r\n url: hub_url + 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 getListPaymentFilterOperator: (token, data) =>\r\n axios({\r\n method: \"POST\",\r\n url: hub_url + 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 getImportStato: (token) =>\r\n axios({\r\n method: \"GET\",\r\n url: hub_url + configuration.HUB_PATH_GET_IMPORT_STATUS,\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 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\n\r\n\r\nconst DropdownIndicator = ({ icon = false, clearText = 'Annulla', ...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\n\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 [flowsTemp2, setFlowsTemp2] = useState();\r\n const [showFileToggle, toggleModalShowFile] = useState(false);\r\n const [flowsTemp, setFlowsTemp] = useState(null);\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 if (apiToken) {\r\n setLoading(true);\r\n Promise.all([\r\n Repo.postListFlows(apiToken, JSON.stringify(data)),\r\n Repo.getListaServizi(apiToken),\r\n ])\r\n .then(([flowsResponse, serviziResponse]) => {\r\n if (flowsResponse.status === 200) {\r\n setFlowsTemp(flowsResponse.data);\r\n }\r\n setServizi(serviziResponse.data);\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n }\r\n }, []);\r\n\r\n const [expandedRows, setExpandedRows] = useState({});\r\n\r\n const toggleRow = (id) => {\r\n setExpandedRows((prev) => ({\r\n ...prev,\r\n [id]: !prev[id], // Inverte lo stato della riga specifica\r\n }));\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 } else {\r\n return ;\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 {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
{getStatoFile(x.available)}
\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 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 {/* {`${!x.stato}`}\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 {x.urlFileIUV && (\r\n <>\r\n \r\n | IUV |\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 {x.available ? (\r\n <>\r\n {\" \"}\r\n
\r\n elaborateFlows(x.requestToken)}\r\n >\r\n Rielabora\r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n
\r\n elaborateFlows(x.requestToken)}\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
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
{loading && }
\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 const [hasMail, setHasMail] = useState(false);\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 Invia Email, il cittadino riceverà il bollettino PagoPa. Solo chi ha fornito un'email registrata riceverà la comunicazione. {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 disabled={delegate}\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 {props.paymentsTemp.length > 0\r\n ? `${props.paymentsTemp\r\n .reduce((acc, curr) => acc + parseFloat(curr.importoTotale || 0), 0)\r\n .toLocaleString(\"it-IT\", {\r\n minimumFractionDigits: 2, // Sempre due decimali\r\n maximumFractionDigits: 2, // Limita a due decimali\r\n })} €`\r\n : \"0,00 €\"} totali\r\n
\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 const ricalcolaPosizioniDebitorie = () => {\r\n if (window.confirm(\"Sei sicuro di voler procedere con il ricalcolo delle posizioni debitorie?\")) {\r\n Repo.postRiceviPosizioniDebitorie(apiToken)\r\n .then((response) => {\r\n // Gestisci la risposta qui\r\n console.log(\"Operazione eseguita con successo\", response);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n console.log(\"Operazione annullata\");\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n\r\n const [isUpdating, setIsUpdating] = useState(false);\r\n \r\n useEffect(() => {\r\n // Funzione che controlla lo stato di aggiornamento\r\n const checkStatus = () => {\r\n setIsUpdating(true);\r\n Repo.getImportStato(apiToken)\r\n .then((data) => {\r\n setIsUpdating(data.IsUpdating);\r\n })\r\n .catch((error) => {\r\n setIsUpdating(false); // Imposta a false in caso di errore\r\n console.log(\"Errore durante il controllo dello stato:\", error);\r\n });\r\n };\r\n \r\n // Imposta il polling ogni 5 secondi\r\n const interval = setInterval(checkStatus, 10000);\r\n \r\n // Cleanup: ferma il polling quando il componente viene dismesso\r\n return () => clearInterval(interval);\r\n }, []);\r\n \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
\r\n

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

\r\n
\r\n
\r\n \r\n
\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, useSearchParams } from \"react-router-dom\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListUsers() {\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(false);\r\n const [countUser, setCountUser] = useState(0);\r\n const [removableUser, setRemovableUser] = useState({});\r\n const [modalUser, setModalUser] = useState();\r\n\r\n const query = useQuery();\r\n const history = useHistory();\r\n\r\n const initialFilter = {\r\n firstName: query.get(\"firstName\") || \"\",\r\n lastName: query.get(\"lastName\") || \"\",\r\n fiscalCode: query.get(\"fiscalCode\") || \"\",\r\n email: query.get(\"email\") || \"\",\r\n phoneNumber: query.get(\"phoneNumber\") || \"\",\r\n loaded: query.get(\"loaded\") === \"true\", // Converti in booleano\r\n };\r\n\r\n const [filter, setFilter] = useState(initialFilter);\r\n\r\n const fetchUsers = (filter) => {\r\n setLoading(true);\r\n Repo.getUsersList(apiToken, filter)\r\n .then((response) => {\r\n setUsersListTemp(response.data);\r\n setCountUser(response.data.count);\r\n })\r\n .catch((error) => console.log(error))\r\n .finally(() => setLoading(false));\r\n };\r\n\r\n useEffect(() => {\r\n if (filter.loaded) {\r\n fetchUsers(filter);\r\n }\r\n }, []); // Effettua una ricerca al caricamento della pagina\r\n\r\n const sendFilter = () => {\r\n history.push(\r\n `?firstName=${filter.firstName}&lastName=${filter.lastName}&fiscalCode=${filter.fiscalCode}&email=${filter.email}&phoneNumber=${filter.phoneNumber}&loaded=${filter.loaded}`\r\n );\r\n fetchUsers(filter);\r\n };\r\n\r\n const clearFilter = () => {\r\n const resetFilter = {\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 setFilter(resetFilter);\r\n\r\n // Esegue una ricerca con tutti i campi vuoti\r\n fetchUsers(resetFilter);\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 Repo.getUsersList(apiToken, myObj)\r\n .then((response) => {\r\n setUsersListTemp(response.data);\r\n setCountUser(response.data.count);\r\n setLoading(false);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const handleKeyDown = (e) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault(); // Previene il comportamento predefinito\r\n sendFilter(); // Esegue la ricerca\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n\r\n var paramLoaded = query.get(\"loaded\");\r\n\r\n if (paramLoaded == \"true\") {\r\n const myObj = {\r\n loaded: true,\r\n };\r\n filterOnLoad(myObj);\r\n setFilter({ ...filter, loaded: true });\r\n } else {\r\n sendFilter();\r\n }\r\n\r\n setLoading(false);\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n

Lista utenti

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

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

\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 {/*Inizo cerca*/}\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 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 setFilter({ ...filter, loaded: e.target.checked })\r\n }\r\n />\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Annulla\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 Utenti trovati:{\" \"}\r\n \r\n {usersListTemp?.length || 0}\r\n {\" \"}\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 \r\n \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 {x.isees.length > 0 ? (\r\n <>\r\n {x.isees[x.isees.length - 1].value !== null && (\r\n <>\r\n \r\n {parseFloat(\r\n x.isees[x.isees.length - 1].value\r\n ).toLocaleString(\"it-IT\")}{\" \"}\r\n € ({x.isees[x.isees.length - 1].year})\r\n \r\n
\r\n\r\n {x.isees[x.isees.length - 1].state ===\r\n \"VALIDATED\" ? (\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 \"LOADED\" ? (\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 \"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 <>N/A\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 )}\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","export const MUNICIPI = [\r\n {\r\n \"label\": \"Municipio 1 (Murat, San Nicola, Libertà, Madonnella, Japigia, Torre a mare)\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"label\": \"Municipio 2 (Poggiofranco, Picone, Carrassi, San Pasquale, Mungivacca)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"label\": \"Municipio 3 (San Paolo, Stanic, Marconi, San Girolamo, Fesca, Villaggio del Lavoratore)\",\r\n \"value\": \"3\"\r\n },\r\n {\r\n \"label\": \"Municipio 4 (Carbonara, Ceglie, Loseto)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"label\": \"Municipio 5 (Palese, Santo Spirito, Catino, San Pio)\",\r\n \"value\": \"5\"\r\n }\r\n];","import React from 'react';\r\nimport Select from \"./Select\";\r\n\r\nconst SelectComponent = ({ options, value, onChange, placeholder, isRequired, validation, isDisabled, columnClass }) => {\r\n const selectedValue = value ? options.find((option) => option.value === value) : null;\r\nconsole.log(selectedValue);\r\n return (\r\n
\r\n option.label}\r\n getOptionValue={(option) => option.value}\r\n value={selectedValue}\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\nexport default SelectComponent;","import { createContext, useContext, useState, useEffect } from \"react\";\r\nimport { useCookies } from \"react-cookie\";\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nconst UserContext = createContext();\r\n\r\nexport const UserProvider = ({ children }) => {\r\n const [cookies] = useCookies();\r\n const [apiToken, setApiToken] = useState(cookies.api_token);\r\n const [user, setUser] = useState(null);\r\n const [operator, setOperator] = useState(false);\r\n const [delegate, setDelegate] = useState(false);\r\n const [citizen, setCitizen] = useState(false);\r\n\r\n useEffect(() => {\r\n if (cookies.api_token) {\r\n setApiToken(cookies.api_token);\r\n const decoded = jwt_decode(cookies.api_token);\r\n setUser(decoded.FullName);\r\n\r\n if (decoded.role.includes(\"OPERATOR\")) setOperator(true);\r\n if (decoded.role.includes(\"DELEGATE\")) setDelegate(true);\r\n if (decoded.role.includes(\"CITIZEN\")) setCitizen(true);\r\n }\r\n }, [cookies]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const useUser = () => useContext(UserContext);","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 { MUNICIPI } from \"../../Components/listaMunicipi\";\r\nimport { TokenContext } from \"../../Components/TokenContext\";\r\nimport ListPaymemtsUsers from \"../../Components/listPaymentsUser\";\r\nimport SelectComponent from \"../../Components/SelectComponent\";\r\nimport { useUser } from \"../../Components/UserContext\";\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 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 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 const { delegate, operator } = useUser();\r\n\r\n // 🔹 Formattiamo le opzioni DOPO aver ottenuto i dati\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 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 .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 console.log(response.data);\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\n console.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 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(\r\n \" if passedValidation:\" + passedValidation + \" key: \" + key\r\n );\r\n }\r\n console.log(\r\n \" dopo if passedValidation:\" + passedValidation + \" key: \" + key\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 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\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 const openTicket = (userId) => {\r\n window.location.href =\r\n props.subfolder + \"/lista_utenti/dati_utente/ticket?userId=\" + userId;\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 const CambiaStatoUtente = () => {\r\n userState(user.id);\r\n };\r\n\r\n return (\r\n <>\r\n

\r\n {user && user.firstName\r\n ? \" \" + user.lastName + \" \" + user.firstName\r\n : \"\"}\r\n

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

{user && user.state}

\r\n

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

\r\n
\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 openTicket(query.get(\"citizen\"))}\r\n disabled={delegate}\r\n >Ticket\r\n
\r\n
\r\n
\r\n\r\n {/*Inizio modifica dati cittadino*/}\r\n
\r\n
\r\n setUser({ ...user, firstName: e.target.value })}\r\n />\r\n
\r\n
\r\n setUser({ ...user, lastName: e.target.value })}\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 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 setUser({ ...user, email: e.target.value })}\r\n />\r\n
\r\n
\r\n setUser({ ...user, emailPec: e.target.value })}\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 setUser({ ...user, address: e.target.value })}\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={PROVINCE}\r\n isSearchable\r\n placeholder={\r\n user && user.country\r\n ? PROVINCE.find(\r\n (option) => option.value == user.country.toString()\r\n )?.label || \"Scegli una provincia\"\r\n : \"Scegli un municipio\"\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 setUser({ ...user, municipioId: e.value })}\r\n placeholder={\r\n user && user.municipioId\r\n ? MUNICIPI.find(\r\n (option) => option.value == user.municipioId.toString()\r\n )?.label || \"Scegli un municipio\"\r\n : \"Scegli un municipio\"\r\n }\r\n isDisabled={isDisabled}\r\n isRequired={false}\r\n validation={false}\r\n columnClass=\"col-12\"\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 {isDisabled ? (\r\n
\r\n setIsDisabled(!isDisabled)}\r\n title=\"Modifica\"\r\n disabled={delegate}\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 disabled={delegate}\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
\r\n ISEE{\" \"}\r\n \r\n {user && user.firstName\r\n ? \" \" + user.lastName + \" \" + user.firstName\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n uploadIsee(query.get(\"citizen\"))}\r\n disabled={delegate}\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 {y.year}\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
\r\n Iscrizioni{\" \"}\r\n \r\n {user && user.firstName\r\n ? \" \" + user.lastName + \" \" + user.firstName\r\n : \"\"}\r\n \r\n
\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 {!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","const TicketStatusBadge = ({ stato }) => {\r\n const statusMap = {\r\n 0: { text: \"Aperto\", color: \"bg-danger\" }, // Rosso\r\n 1: { text: \"In Corso\", color: \"bg-warning\" }, // Giallo\r\n 2: { text: \"Risolto\", color: \"bg-success\" }, // Verde\r\n 3: { text: \"Chiuso\", color: \"bg-secondary\" }, // Grigio\r\n };\r\n \r\n const { text, color } = statusMap[stato] || statusMap[3]; // Default: Chiuso\r\n \r\n return {text};\r\n };\r\n \r\n export default TicketStatusBadge;\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 { Link } from \"react-router-dom\";\r\nimport TicketStatusBadge from \"../../Components/TicketStatusBadge\";\r\n\r\nfunction useQuery() {\r\n return new URLSearchParams(useLocation().search);\r\n}\r\n\r\nfunction ListTikets(props) {\r\n const apiToken = useContext(TokenContext);\r\n let query = useQuery();\r\n const [ticketsTemp, setTicketsTemp] = useState();\r\n const [tickets, setTickets] = useState();\r\n let history = useHistory();\r\n const [userId, setUserId] = useState(query.get(\"userId\"));\r\n\r\n useEffect(() => {\r\n const newUserId = query.get(\"userId\");\r\n if (newUserId !== userId) {\r\n setUserId(newUserId); // Imposta userId se cambia nella query string\r\n }\r\n }, [query]); // Dipendenza su query per aggiornarlo se cambia\r\n \r\n useEffect(() => {\r\n if (apiToken && userId) {\r\n Repo.getTicketsUser(apiToken, userId)\r\n .then((response) => {\r\n if (response.status === 200) {\r\n setTicketsTemp(response.data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Errore nel recupero ticket:\", error);\r\n });\r\n }\r\n }, [apiToken, userId]); // Usa userId come dipendenza qui\r\n\r\n return (\r\n <>\r\n

Gestione ticket

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

\r\n Qui puoi visualizzare e gestire le richieste di assistenza. Puoi\r\n controllare lo stato di ogni ticket, aggiungere dettagli o\r\n aggiornamenti e chiudere le segnalazioni risolte.\r\n

\r\n
\r\n\r\n
\r\n window.history.back()}\r\n >\r\n Indietro\r\n \r\n\r\n \r\n (window.location.href =\r\n window.location.pathname + \"/dettaglio?userId=\"+userId)\r\n }\r\n >\r\n \r\n \r\n {\" \"}\r\n Nuovo Ticket\r\n \r\n
\r\n
\r\n\r\n {ticketsTemp && ticketsTemp.length > 0 ? (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Data\r\n
\r\n
\r\n Lavorazione\r\n
\r\n
\r\n Stato\r\n
\r\n
\r\n Tag\r\n
\r\n
\r\n Operatore\r\n
\r\n
\r\n
\r\n {ticketsTemp.map((ticket) => (\r\n
\r\n
{ticket.dataApertura}
\r\n
{ticket.ultimoAggiornamento}
\r\n
\r\n \r\n
\r\n
{ticket.categoria}
\r\n
{ticket.assegnatoA}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n ) : (\r\n <>\r\n
\r\n Bene! Non ci sono segnalazioni di questo utente!\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ListTikets;\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 { useState, useEffect, useContext } from \"react\";\r\nimport { Input } from \"design-react-kit\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport Repo from \"../../Utility/Repo\";\r\nimport SelectComponent from \"../../Components/SelectComponent\";\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 EditTicket(props) {\r\n const apiToken = useContext(TokenContext);\r\n const [ticket, setTicket] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [user, setUser] = useState(false);\r\n const query = useQuery();\r\n const history = useHistory();\r\n\r\n const ticketId = query.get(\"id\");\r\n const userId = query.get(\"userId\");\r\n useEffect(() => {\r\n if (!ticketId && !userId) {\r\n setTicket({\r\n userId: \"\",\r\n richiedente: \"\",\r\n categoria: \"\",\r\n dettagli: \"\",\r\n assegnatoA: \"\",\r\n });\r\n setIsEdit(false);\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n setLoading(true); // Aggiungi il loading prima di iniziare a caricare i dati\r\n\r\n if (ticketId) {\r\n Repo.getTicket(apiToken, ticketId)\r\n .then((response) => {\r\n setTicket(response.data);\r\n setIsEdit(true);\r\n })\r\n .catch((error) => console.error(\"Errore nel recupero ticket:\", error))\r\n .finally(() => setLoading(false));\r\n } else if (userId) {\r\n Repo.getUserOp(apiToken, userId)\r\n .then((response) => {\r\n setUser(response.data);\r\n console.log(\"response.data\", response.data);\r\n const user = response.data;\r\n setTicket({\r\n userId: user.id || \"\",\r\n richiedente: user.firstName + \" \" + user.lastName,\r\n categoria: \"\",\r\n dettagli: \"\",\r\n assegnatoA: \"\",\r\n });\r\n setIsEdit(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Errore nel recupero dell'operatore:\", error);\r\n setTicket({\r\n userId: \"\",\r\n richiedente: \"\",\r\n categoria: \"\",\r\n dettagli: \"\",\r\n assegnatoA: \"\",\r\n });\r\n setIsEdit(false);\r\n })\r\n .finally(() => setLoading(false)); // Imposta lo stato di loading in caso di errore\r\n }\r\n }, [apiToken, query.get(\"id\"), query.get(\"userId\")]); // Dipendenze limitate ai valori effettivi\r\n\r\n const ticketStati = [\r\n { value: 0, label: \"Aperto\" },\r\n { value: 1, label: \"In Corso\" },\r\n { value: 2, label: \"Risolto\" },\r\n { value: 3, label: \"Chiuso\" },\r\n ];\r\n\r\n const handleSubmit = () => {\r\n if (isEdit) {\r\n Repo.modificaTicket(apiToken, ticketId, ticket)\r\n .then(\r\n () =>\r\n (window.location.href =\r\n props.subfolder +\r\n \"/lista_utenti/dati_utente/ticket?userId=\" +\r\n ticket.userId)\r\n )\r\n .catch((error) => console.error(\"Errore aggiornamento ticket:\", error));\r\n } else {\r\n Repo.postTicket(apiToken, ticket)\r\n .then(\r\n () =>\r\n (window.location.href =\r\n props.subfolder +\r\n \"/lista_utenti/dati_utente/ticket?userId=\" +\r\n userId)\r\n )\r\n .catch((error) => console.error(\"Errore inserimento ticket:\", error));\r\n }\r\n };\r\n\r\n if (loading) return ;\r\n\r\n return (\r\n
\r\n

{isEdit ? \"Modifica Ticket\" : \"Nuovo Ticket\"}

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

\r\n Assegnato: {ticket.assegnatoA}\r\n

\r\n
\r\n\r\n
\r\n \r\n setTicket({ ...ticket, richiedente: e.target.value })\r\n }\r\n readOnly={isEdit}\r\n />\r\n
\r\n
\r\n \r\n setTicket({ ...ticket, categoria: e.target.value })\r\n }\r\n />\r\n
\r\n
\r\n {ticket.stato === 2 || ticket.stato === 3 ? (\r\n \r\n {ticketStati.find((s) => s.value === ticket.stato)?.label ||\r\n \"Stato sconosciuto\"}\r\n \r\n ) : (\r\n \r\n setTicket({ ...ticket, stato: parseInt(e.value, 10) })\r\n }\r\n placeholder=\"Seleziona stato\"\r\n isDisabled={!isEdit}\r\n validation={true}\r\n columnClass=\"col-12\"\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n setTicket({ ...ticket, dettagli: e.target.value })}\r\n >\r\n
\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}\r\n\r\nexport default EditTicket;\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\nimport ListTikets from \"../Page/Operator/ListTickets\";\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\nimport EditTicket from \"../Page/Operator/EditTicket\";\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 } />\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 { useEffect } from \"react\";\r\n\r\nconst BackButtonHandler = () => {\r\n useEffect(() => {\r\n const handleKeyDown = (event) => {\r\n // Evita di tornare indietro se il focus è su un input o textarea\r\n if (\r\n event.key === \"Backspace\" &&\r\n ![\"INPUT\", \"TEXTAREA\"].includes(document.activeElement.tagName)\r\n ) {\r\n event.preventDefault();\r\n window.history.back(); // Torna alla pagina precedente\r\n }\r\n };\r\n\r\n window.addEventListener(\"keydown\", handleKeyDown);\r\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nexport default BackButtonHandler;\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\nimport BackButtonHandler from \"./Components/BackButtonHandler\";\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\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\nimport { UserProvider } from \"../src/Components/UserContext\"\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":""}