Files
no-copy-frontend/src/app/ui/settings/subscription-settings.tsx
T

88 lines
2.4 KiB
TypeScript
Raw Normal View History

2026-02-04 12:01:41 +07:00
'use client'
2025-12-17 16:41:07 +07:00
import { useTranslations } from 'next-intl';
2026-02-04 12:01:41 +07:00
import { getUserData } from '@/app/actions/action';
import { useQuery } from '@tanstack/react-query';
import { convertBytes } from '@/app/lib/convertBytes';
2025-12-17 16:41:07 +07:00
2025-12-01 15:21:56 +07:00
export default function SubscriptionSettings() {
2025-12-17 16:41:07 +07:00
const t = useTranslations('Global');
2026-02-04 12:01:41 +07:00
const {
data: userData,
isLoading,
isError,
error
} = useQuery({
queryKey: ['userData'],
queryFn: () => {
return getUserData();
},
select: (data) => {
if (data.tariffInfo?.tariff) {
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,
endTariff: data.tariffInfo?.endTariff
}
}
}
});
function dateHandler(date: string) {
return date.split(' ')[0];
}
2025-12-17 16:41:07 +07:00
2025-12-01 15:21:56 +07:00
return (
<div className="settings-form">
<div className="form-section">
2025-12-17 16:41:07 +07:00
<h3 className="form-section-title">
{t('subscription')}
</h3>
2025-12-01 15:21:56 +07:00
<div className="subscription-info">
<div className="subscription-info-header">
<div>
2026-02-04 12:01:41 +07:00
<h4 className="subscription-info-title">Подписка {userData?.name}</h4>
<p>📅 Активна до {dateHandler(userData?.endTariff)}</p>
2025-12-01 15:21:56 +07:00
</div>
<div style={{ textAlign: "right" }}>
2026-02-04 12:01:41 +07:00
<div className="subscription-info-title">{userData?.maxFilesCount}</div>
2025-12-01 15:21:56 +07:00
<p>файлов в месяц</p>
</div>
</div>
<div className="subscription-info-main">
<div className="subscription-info-item">
<div>💾 Хранилище</div>
2026-02-04 12:01:41 +07:00
<span>{userData?.diskSize ? convertBytes(userData?.diskSize) : 0}</span>
2025-12-01 15:21:56 +07:00
</div>
<div className="subscription-info-item">
<div>🔌 API доступ</div>
<span>Включен</span>
</div>
<div className="subscription-info-item">
<div>🎧 Поддержка</div>
<span>24/7</span>
</div>
</div>
</div>
2026-02-04 12:01:41 +07:00
{/* <div className="subscription-info-footer">
2025-12-01 15:21:56 +07:00
<button className="btn btn-outline">
🚀 СТАРТ
</button>
<button className="btn btn-outline">
⭐ ПРЕМИУМ
</button>
<button className="btn btn-outline">
💼 ПРОФИ
</button>
2026-02-04 12:01:41 +07:00
</div> */}
2025-12-01 15:21:56 +07:00
</div>
</div>
)
}