add dashboard statistic
This commit is contained in:
@@ -1,4 +1,37 @@
|
||||
'use client'
|
||||
|
||||
import { useUserFilesTopStatistic } from '@/app/hooks/react-query/dashboard/useUserFilesTopStatistic';
|
||||
import { convertBytes } from '@/app/lib/convertBytes';
|
||||
|
||||
export default function UsersTop() {
|
||||
const { data, isLoading, isError } = useUserFilesTopStatistic();
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<div className="admin-content users-top">
|
||||
<div className="content-header">
|
||||
<h3>Топ пользователей</h3>
|
||||
</div>
|
||||
<div className="content-body">
|
||||
<div>Загрузка...</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (isError) {
|
||||
return (
|
||||
<div className="admin-content users-top">
|
||||
<div className="content-header">
|
||||
<h3>Топ пользователей</h3>
|
||||
</div>
|
||||
<div className="content-body">
|
||||
<div>Ошибка при загрузке данных</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="admin-content users-top">
|
||||
<div className="content-header">
|
||||
@@ -14,55 +47,29 @@ export default function UsersTop() {
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div className="users-top-user">Сидоров Станислав Андреевич</div>
|
||||
<div className="users-top-mail">Info@pro-ctrl.ru</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0 MB</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div className="users-top-user">Валерка</div>
|
||||
<div className="users-top-mail">va@no-copy.ru</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0 MB</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div className="users-top-user">Игорь Викторович</div>
|
||||
<div className="users-top-mail">igor@pro-ctrl.ru</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0 MB</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div className="users-top-user">Синицын Игорь Владимирович</div>
|
||||
<div className="users-top-mail">admin@no-copy.ru</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0 MB</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<div className="users-top-user">test test</div>
|
||||
<div className="users-top-mail">test@no-copy.ru</div>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0 MB</td>
|
||||
</tr>
|
||||
|
||||
{Array.isArray(data) && data.length > 0 ? (
|
||||
data.map((user, index) => (
|
||||
<tr key={user.user_id || index}>
|
||||
<td>
|
||||
<div className="users-top-user">{user.full_name}</div>
|
||||
<div className="users-top-mail">
|
||||
ID: {user.user_id}
|
||||
</div>
|
||||
</td>
|
||||
<td>{user.count}</td>
|
||||
<td>{convertBytes(user.files_size)}</td>
|
||||
</tr>
|
||||
))
|
||||
) : (
|
||||
<tr>
|
||||
<td colSpan={3} style={{ textAlign: 'center' }}>
|
||||
Нет данных
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user