update errors handler

This commit is contained in:
smanylov
2026-02-04 13:21:32 +07:00
parent 362df2f609
commit 584f0dda2f
9 changed files with 140 additions and 20 deletions
+19 -5
View File
@@ -3,7 +3,7 @@
import { getUserData } from '@/app/actions/action';
import { useQuery } from '@tanstack/react-query';
import { useEffect } from 'react';
import {convertBytes} from '@/app/lib/convertBytes';
import { convertBytes } from '@/app/lib/convertBytes';
export default function UserUsage() {
const {
@@ -15,6 +15,18 @@ export default function UserUsage() {
queryKey: ['userData'],
queryFn: () => {
return getUserData();
},
select: (data) => {
if (data.tariffInfo) {
return {
diskSize: data.tariffInfo?.maxFileOnDisk,
id: data.tariffInfo?.id,
maxFilesCount: data.tariffInfo?.maxFileCounts,
name: data.tariffInfo?.tariffName,
endTariff: data.tariffInfo?.endTariff,
tokens: data.tariffInfo?.tokens
}
}
}
});
@@ -25,7 +37,7 @@ export default function UserUsage() {
</h3>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-value">0 / {userData?.tariffInfo?.tariff?.maxFilesCount}</div>
<div className="stat-value">0 / {userData?.maxFilesCount}</div>
<div className="stat-label">Файлов в месяц</div>
<div className="progress-bar">
<div
@@ -36,7 +48,7 @@ export default function UserUsage() {
</div>
</div>
<div className="stat-card">
<div className="stat-value">0 / {convertBytes(userData?.tariffInfo?.tariff?.diskSize)}</div>
<div className="stat-value">0 / {userData?.diskSize ? convertBytes(userData?.diskSize) : 0}</div>
<div className="stat-label">Объём хранилища</div>
<div className="progress-bar">
<div
@@ -47,12 +59,14 @@ export default function UserUsage() {
</div>
</div>
<div className="stat-card">
<div className="stat-value">0</div>
<div className="stat-value">
{userData?.tokens ? userData?.tokens : 0}
</div>
<div className="stat-label">Токенов на балансе</div>
</div>
<div className="stat-card">
<div className="stat-value">
{userData?.tariffInfo?.tariff?.name}
{userData?.name ? userData?.name : 'ERROR'}
</div>
<div className="stat-label">Текущий план</div>
</div>