diff --git a/src/app/[locale]/pages/search/page.tsx b/src/app/[locale]/pages/search/page.tsx index 65f624a..4cc55ab 100644 --- a/src/app/[locale]/pages/search/page.tsx +++ b/src/app/[locale]/pages/search/page.tsx @@ -1,4 +1,5 @@ import SectionSearchFile from '@/app/ui/search/section-search-file'; +import { SupportedFormats } from '@/app/ui/search/supported-formats'; export default function Page() { return ( <> @@ -17,7 +18,7 @@ export default function Page() { fileType="image" />
- side +
diff --git a/src/app/lib/convertBytes.ts b/src/app/lib/convertBytes.ts index 3516c98..b1886fe 100644 --- a/src/app/lib/convertBytes.ts +++ b/src/app/lib/convertBytes.ts @@ -1,4 +1,8 @@ export function convertBytes(bytes: number) { + if (!bytes) { + return 0; + } + const units = ['B', 'KB', 'MB', 'GB', 'TB']; if (bytes === 0) return '0 B'; diff --git a/src/app/styles/pages-styles.scss b/src/app/styles/pages-styles.scss index b202104..2c639ef 100644 --- a/src/app/styles/pages-styles.scss +++ b/src/app/styles/pages-styles.scss @@ -3695,4 +3695,64 @@ color: #d97706; white-space: nowrap; } +} + +.supported-formats { + background: v.$white; + border-radius: 12px; + padding: 20px; + box-shadow: 0 4px 6px v.$shadow-1; + + .formats-title { + font-weight: 600; + color: v.$text-p; + ; + margin-bottom: 16px; + display: flex; + align-items: center; + gap: 8px; + } + + .format-group { + margin-bottom: 16px; + } + + .format-type { + font-weight: 500; + color: v.$text-p; + margin-bottom: 8px; + display: flex; + align-items: center; + gap: 8px; + + &.image { + svg { + color: v.$color-image; + } + } + + &.audio { + svg { + color: v.$color-audio; + } + } + + &.video { + svg { + color: v.$color-video; + } + } + + &.document { + svg { + color: v.$color-document; + } + } + } + + .format-list { + color: v.$text-s; + font-size: 14px; + line-height: 1.5; + } } \ No newline at end of file diff --git a/src/app/styles/payment-container.scss b/src/app/styles/payment-container.scss index 58e220c..2837898 100644 --- a/src/app/styles/payment-container.scss +++ b/src/app/styles/payment-container.scss @@ -34,6 +34,7 @@ padding: 16px; text-align: center; border: 1px solid #e2e8f0; + height: 100%; } .stat-value { diff --git a/src/app/ui/payment/user-usage.tsx b/src/app/ui/payment/user-usage.tsx index 4e22e38..24eec36 100644 --- a/src/app/ui/payment/user-usage.tsx +++ b/src/app/ui/payment/user-usage.tsx @@ -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() {
-
0 / {userData?.tariffInfo?.tariff?.maxFilesCount}
+
0 / {userData?.maxFilesCount}
Файлов в месяц
-
0 / {convertBytes(userData?.tariffInfo?.tariff?.diskSize)}
+
0 / {userData?.diskSize ? convertBytes(userData?.diskSize) : 0}
Объём хранилища
-
0
+
+ {userData?.tokens ? userData?.tokens : 0} +
Токенов на балансе
- {userData?.tariffInfo?.tariff?.name} + {userData?.name ? userData?.name : 'ERROR'}
Текущий план
diff --git a/src/app/ui/search/search-stats.tsx b/src/app/ui/search/search-stats.tsx new file mode 100644 index 0000000..e69de29 diff --git a/src/app/ui/search/supported-formats.tsx b/src/app/ui/search/supported-formats.tsx new file mode 100644 index 0000000..c73d794 --- /dev/null +++ b/src/app/ui/search/supported-formats.tsx @@ -0,0 +1,46 @@ +import { IconImageFile, IconVideoFile, IconAudioFile, IconDocument } from '@/app/ui/icons/icons'; +export function SupportedFormats() { + return ( +
+
+ Поддерживаемые форматы +
+ +
+
+ Изображения +
+
+ JPEG, PNG, GIF, BMP +
+
+ +
+
+ Видео +
+
+ MP4, AVI, MOV, WMV +
+
+ +
+
+ Аудио +
+
+ MP3, WAV, FLAC, AAC +
+
+ +
+
+ Документы +
+
+ PDF, DOC, DOCX +
+
+
+ ) +} \ No newline at end of file diff --git a/src/app/ui/settings/personal-data-settings.tsx b/src/app/ui/settings/personal-data-settings.tsx index c8ed0ed..b7cd91b 100644 --- a/src/app/ui/settings/personal-data-settings.tsx +++ b/src/app/ui/settings/personal-data-settings.tsx @@ -25,11 +25,6 @@ export default function PersonalDataSettings() { } }); - useEffect(() => { - console.log('show => userData'); - console.log(userData); - }, []) - const [selectedValue, setSelectedValue] = useState('male'); const t = useTranslations('Global'); diff --git a/src/app/ui/settings/subscription-settings.tsx b/src/app/ui/settings/subscription-settings.tsx index 0ed3c96..88ccb45 100644 --- a/src/app/ui/settings/subscription-settings.tsx +++ b/src/app/ui/settings/subscription-settings.tsx @@ -18,16 +18,12 @@ export default function SubscriptionSettings() { return getUserData(); }, select: (data) => { - if (data.tariffInfo?.tariff) { + if (data.tariffInfo) { return { - diskSize: data.tariffInfo?.tariff?.diskSize, - id: data.tariffInfo?.tariff?.id, - maxFilesCount: data.tariffInfo?.tariff?.maxFilesCount, - maxUsers: data.tariffInfo?.tariff?.maxUsers, - name: data.tariffInfo?.tariff?.name, - price: data.tariffInfo?.tariff?.price, - tokens: data.tariffInfo?.tariff?.tokens, - type: data.tariffInfo?.tariff?.type, + diskSize: data.tariffInfo?.maxFileOnDisk, + id: data.tariffInfo?.id, + maxFilesCount: data.tariffInfo?.maxFileCounts, + name: data.tariffInfo?.tariffName, endTariff: data.tariffInfo?.endTariff } } @@ -35,6 +31,9 @@ export default function SubscriptionSettings() { }); function dateHandler(date: string) { + if (!date) { + return 'error' + } return date.split(' ')[0]; }