diff --git a/src/app/lib/getProcents.ts b/src/app/lib/getProcents.ts
new file mode 100644
index 0000000..df8145b
--- /dev/null
+++ b/src/app/lib/getProcents.ts
@@ -0,0 +1,18 @@
+export function getProcents(
+ currentNumber: number,
+ totalNumber: number,
+ decimals: number = 0
+): number {
+ if (!currentNumber && !totalNumber) {
+ return 0;
+ }
+
+ if (totalNumber === 0) {
+ return 0;
+ }
+
+ const percentage = (currentNumber / totalNumber) * 100;
+ const factor = Math.pow(10, decimals);
+
+ return Math.round(percentage * factor) / factor;
+}
\ No newline at end of file
diff --git a/src/app/styles/payment-container.scss b/src/app/styles/payment-container.scss
index 2837898..5d92c98 100644
--- a/src/app/styles/payment-container.scss
+++ b/src/app/styles/payment-container.scss
@@ -38,10 +38,11 @@
}
.stat-value {
- font-size: 1.6rem;
+ font-size: 1.2rem;
font-weight: 700;
color: #1e293b;
margin-bottom: 4px;
+ white-space: nowrap;
}
.stat-label {
diff --git a/src/app/ui/dashboard/new/dashborad-limits-section.tsx b/src/app/ui/dashboard/new/dashborad-limits-section.tsx
index 7b44a56..6434d0b 100644
--- a/src/app/ui/dashboard/new/dashborad-limits-section.tsx
+++ b/src/app/ui/dashboard/new/dashborad-limits-section.tsx
@@ -3,6 +3,7 @@
import { useQuery } from '@tanstack/react-query';
import { getUserFilesInfo } from '@/app/actions/action';
import { convertBytes } from '@/app/lib/convertBytes';
+import { getProcents } from '@/app/lib/getProcents';
export default function DahboardLimitsSection() {
const {
@@ -15,10 +16,6 @@ export default function DahboardLimitsSection() {
queryFn: getUserFilesInfo,
});
- function getProcents(currentNumber: number, totalNumber: number) {
- return Math.round(currentNumber / (totalNumber / 100));
- }
-
return (
π° ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ²
@@ -48,7 +45,7 @@ export default function DahboardLimitsSection() {
{filesInfo?.all_files_size ? convertBytes(filesInfo?.all_files_size) : 0} / 1,024 ΠΠ
{getProcents(filesInfo?.all_files_size, 1000000000)}%
diff --git a/src/app/ui/header/headerPanel.tsx b/src/app/ui/header/headerPanel.tsx
index 46940a3..aa6702b 100644
--- a/src/app/ui/header/headerPanel.tsx
+++ b/src/app/ui/header/headerPanel.tsx
@@ -1,32 +1,57 @@
+'use client'
+
import NotificationsButton from './notificationsButton';
import UserMenuButton from './userMenuButton';
import Link from 'next/link';
import LanguageSwitcher from '@/app/components/LanguageSwitcher';
import { useTranslations } from 'next-intl';
import BurgerMenu from '@/app/ui/navigation/burger-menu';
+import { getUserData } from '@/app/actions/action';
+import { useQuery } from '@tanstack/react-query';
export default function HeaderPanel() {
const t = useTranslations("Global");
+ const {
+ data: tokens,
+ isLoading,
+ isError,
+ error
+ } = useQuery({
+ queryKey: ['userData'],
+ queryFn: () => {
+ return getUserData();
+ },
+ select: (data) => {
+ if (typeof data?.tariffInfo?.tokens === 'number') {
+ return data?.tariffInfo?.tokens
+ } else {
+ return null;
+ }
+
+ }
+ });
return (
{/*
*/}
-
-
-
-
800
-
- {t('tokens')}
-
-
-
+ {tokens && (
+
+
+
+
{tokens}
+
+ {t('tokens')}
+
+
+
+ )}
diff --git a/src/app/ui/payment/user-usage.tsx b/src/app/ui/payment/user-usage.tsx
index 24eec36..ca870db 100644
--- a/src/app/ui/payment/user-usage.tsx
+++ b/src/app/ui/payment/user-usage.tsx
@@ -4,6 +4,7 @@ import { getUserData } from '@/app/actions/action';
import { useQuery } from '@tanstack/react-query';
import { useEffect } from 'react';
import { convertBytes } from '@/app/lib/convertBytes';
+import { getProcents } from '@/app/lib/getProcents';
export default function UserUsage() {
const {
@@ -24,7 +25,9 @@ export default function UserUsage() {
maxFilesCount: data.tariffInfo?.maxFileCounts,
name: data.tariffInfo?.tariffName,
endTariff: data.tariffInfo?.endTariff,
- tokens: data.tariffInfo?.tokens
+ tokens: data.tariffInfo?.tokens,
+ currentFileCounts: data.tariffInfo?.currentFileCounts,
+ currentFileOnDisk: data.tariffInfo?.currentFileOnDisk,
}
}
}
@@ -37,23 +40,29 @@ export default function UserUsage() {
-
0 / {userData?.maxFilesCount}
+
+ {userData?.currentFileCounts} / {userData?.maxFilesCount}
+
Π€Π°ΠΉΠ»ΠΎΠ² Π² ΠΌΠ΅ΡΡΡ
-
0 / {userData?.diskSize ? convertBytes(userData?.diskSize) : 0}
+
+ {userData?.currentFileOnDisk ? convertBytes(userData?.currentFileOnDisk) : 0} / {userData?.diskSize ? convertBytes(userData?.diskSize) : 0}
+
ΠΠ±ΡΡΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°