From d45b9115b82ab5dec31b8e7cd745502eed2c10f2 Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Thu, 2 Jan 2025 10:14:31 +0100 Subject: [PATCH] - saving progress; --- src/pages/UserActivity/index.js | 83 +++++++++++++++++++++++++++++---- src/service/user-service.js | 4 ++ 2 files changed, 79 insertions(+), 8 deletions(-) diff --git a/src/pages/UserActivity/index.js b/src/pages/UserActivity/index.js index cd0f26b..0ca205a 100644 --- a/src/pages/UserActivity/index.js +++ b/src/pages/UserActivity/index.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef } from 'react'; import { __ } from '@wordpress/i18n'; -import { isEmpty, isNil } from 'ramda'; +import { isEmpty, isNil, pathOr } from 'ramda'; import { klona } from 'klona'; // store @@ -23,17 +23,57 @@ import { classNames } from 'primereact/utils'; import { Toast } from 'primereact/toast'; import getDateFromISOstring from '../../helpers/getDateFromISOstring'; import getBandoLabel from '../../helpers/getBandoLabel'; -import { useNavigate } from 'react-router-dom'; +import { useNavigate, useParams } from 'react-router-dom'; +import NumberFlow from '@number-flow/react'; const UserActivity = () => { const [loading, setLoading] = useState(false); const toast = useRef(null); const navigate = useNavigate(); + const { id } = useParams(); + const [user, setUser] = useState({}); + const [roles, setRoles] = useState([]); const goBack = () => { navigate(`/utenti`); } + const getUserCallback = (resp) => { + if (resp.status === 'SUCCESS') { + setUser(resp.data) + } + setLoading(false); + } + + const errGetUserCallback = (resp) => { + set404FromErrorResponse(resp); + setLoading(false); + } + + const getRolesCallback = (resp) => { + if (resp.status === 'SUCCESS') { + setRoles(resp.data) + } + setLoading(false); + } + + const errGetRolesCallback = (resp) => { + set404FromErrorResponse(resp); + setLoading(false); + } + + const getStatValue = (key, fallback = 0) => { + return pathOr(fallback, [key], {}); + } + + useEffect(() => { + if (id && !isEmpty(id)) { + setLoading(true); + UserService.getUser(id, getUserCallback, errGetUserCallback); + UserService.getRoles(getRolesCallback, errGetRolesCallback); + } + }, [id]) + return (
@@ -56,29 +96,56 @@ const UserActivity = () => {

{__('Nome utente', 'gepafin')} - + {`${user.firstName} ${user.lastName}`}

{__('Email', 'gepafin')} - + {user.email}

{__('Ruolo', 'gepafin')} - + {user.role?.roleName}

{__('Data registrazione', 'gepafin')} - + {getDateFromISOstring(user.createdDate)}

{__('Ultimo accesso', 'gepafin')} - + {getDateFromISOstring(user.lastLogin)}

{__('Stato account', 'gepafin')} - + {user.status}

+ +
+

{__('Statistiche attività', 'gepafin')}

+
+
+ {__('Login totali', 'gepafin')} + {} +
+
+ {__('Bandi gestiti', 'gepafin')} + {} +
+
+ {__('Documenti da integrare', 'gepafin')} + {} +
+
+
) } diff --git a/src/service/user-service.js b/src/service/user-service.js index 8bf6f43..e98fd89 100644 --- a/src/service/user-service.js +++ b/src/service/user-service.js @@ -8,6 +8,10 @@ export default class UserService { NetworkService.get(`${API_BASE_URL}/user`, callback, errCallback, queryParams); }; + static getUser = (id, callback, errCallback, queryParams) => { + NetworkService.get(`${API_BASE_URL}/user/${id}`, callback, errCallback, queryParams); + }; + static updateUser = (id, body, callback, errCallback) => { NetworkService.put(`${API_BASE_URL}/user/${id}`, body, callback, errCallback); };