import React, { useMemo, useRef } from 'react'; import { __ } from '@wordpress/i18n'; import { useForm } from 'react-hook-form'; // store import { storeSet, useStore } from '../../store'; // components import set404FromErrorResponse from '../../helpers/set404FromErrorResponse'; import FormField from '../../components/FormField'; import { Button } from 'primereact/button'; import { Toast } from 'primereact/toast'; // api import UserService from '../../service/user-service'; // tools import getDateFromISOstring from '../../helpers/getDateFromISOstring'; const ProfileBeneficiario = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); const userData = useStore().main.userData(); const toast = useRef(null); const { control, handleSubmit, formState: { errors } } = useForm({ defaultValues: useMemo(() => { return userData; }, [userData]), mode: 'onChange' }); const onSubmit = (formData) => { storeSet.main.setAsyncRequest(); UserService.updateUserSelf(userData.id, formData, updateCallback, updateError); }; const updateCallback = (data) => { if (data.status === 'SUCCESS') { storeSet.main.userData(data.data); if (toast.current) { toast.current.show({ severity: 'success', summary: '', detail: __('L\'utente è stato aggiornato!', 'gepafin') }); } } storeSet.main.unsetAsyncRequest(); } const updateError = (data) => { set404FromErrorResponse(data); storeSet.main.unsetAsyncRequest(); } return (

{__('Profilo utente', 'gepafin')}

{__('Informazioni personali', 'gepafin')}

{__('Consensi', 'gepafin')}

{__('Dichiaro di aver preso visione, prima dell\'accesso al portale https://bandi.gepafin.it, dell\' "Informativa Privacy" all\'interno dell\'Appendice 10 dell\'Avviso secondo il Regolamento UE 2016/679 relativo alla protezione delle persone fisiche con riguardo al trattamento dei dati personale, nonché alla libera circolazione di tali dati e che abroga la Direttiva 95/46 CE.', 'gepafin')}
{__('Termini e condizioni', 'gepafin')}
{__('Invio di materiale pubblicitario, vendita diretta, compimento di ricerche di mercato o comunicazione commerciale riguardanti promozione e vendita di prodotti e servizi della Gepafin, mediante modalità di contatto automatizzate (posta elettronica, PEC, messaggi tramite canali informatici, network ed applicazioni web) e tradizionali (come posta cartacea e chiamate telefoniche con operatore)', 'gepafin')}
{__('Elaborazione, in forma elettronica, dei dati relativi ai rapporti e servizi forniti, per l’analisi di comportamenti e preferenze della clientela, da utilizzare a scopo commerciale, per la individuazione ed offerta di prodotti e servizi di suo interesse', 'gepafin')}
{__('Comunicazione dei miei dati ad altre società in ambito bancario, finanziario od assicurativo e enti pubblici che li tratteranno per invio di materiale pubblicitario, vendita diretta, compimento di ricerche di mercato o comunicazione commerciale riguardanti loro prodotti o servizi, mediante le modalità automatizzate e tradizionali di comunicazione sopra indicate', 'gepafin')}

{__('Impostazioni', 'gepafin')}

{__('Sicurezza', 'gepafin')}

{getDateFromISOstring(userData.lastLogin)}
{__('Azioni rapide', 'gepafin')}
) } export default ProfileBeneficiario;