change general info block

This commit is contained in:
smanylov
2026-04-08 16:35:13 +07:00
parent affe9699df
commit c9f4c724d9
13 changed files with 338 additions and 153 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ export default function AdminHeaderPanel() {
<h2>Панель администратора</h2>
</div>
<div className="admin-header-right">
<LanguageSwitcher />
{/* <LanguageSwitcher /> */}
<div className="admin-user-info">
<div className="admin-user-avatar">
+
-140
View File
@@ -1,140 +0,0 @@
export default function DashboardGeneralInfo() {
return (
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Всего пользователей</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Зарегистрировано в системе</div>
<div className="stat-card-footer">
Активных за месяц: 0</div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Активные подписчики</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Платные подписки</div>
<div className="stat-card-footer">
Конверсия: 0%
</div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Защищенный контент</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Файлов защищено</div>
<div className="stat-card-footer">
Всего файлов: 0</div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Нарушения</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Обнаружено нарушений</div>
<div className="stat-card-footer">
На рассмотрении: 0</div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Токены сегодня</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Пополнено токенов</div>
<div className="stat-card-footer">
За неделю: 0 </div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Токены месяц</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Пополнено за месяц</div>
<div className="stat-card-footer">
Потрачено: 0 </div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Доход сегодня</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Заработано сегодня</div>
<div className="stat-card-footer">
За неделю: 0 </div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Доход месяц</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Заработано за месяц</div>
<div className="stat-card-footer">
Всего: 0 </div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Траты токенов день</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Потрачено сегодня</div>
<div className="stat-card-footer">
За неделю: 0 </div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Траты токенов год</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Потрачено за год</div>
<div className="stat-card-footer">
За месяц: 0 </div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">DMCA жалобы</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0</div>
<div className="stat-card-label">Всего жалоб</div>
<div className="stat-card-footer">
Успешно: 0 | Ожидает: 1
</div>
</div>
<div className="stat-card">
<div className="stat-card-header">
<span className="stat-card-title">Использование диска</span>
<div className="stat-card-icon"></div>
</div>
<div className="stat-card-value">0.0 GB</div>
<div className="stat-card-label">Занято на диске</div>
<div className="stat-card-footer">
Файлов: 0</div>
</div>
</div>
)
}
@@ -0,0 +1,24 @@
'use client'
import GeneralInfoUsers from '@/app/ui/dashboard/general-info.tsx/general-info-users';
import GeneralInfoSubscriptions from '@/app/ui/dashboard/general-info.tsx/general-info-subscriptions';
import GeneralInfoContent from '@/app/ui/dashboard/general-info.tsx/general-info-content';
import GeneralInfoViolations from '@/app/ui/dashboard/general-info.tsx/general-info-violations';
import GeneralInfoTokens from '@/app/ui/dashboard/general-info.tsx/general-info-tokens';
import GeneralInfoIncome from '@/app/ui/dashboard/general-info.tsx/general-info-income';
export default function DashboardGeneralInfo() {
return (
<div
className="dashboard-general-info"
>
<GeneralInfoUsers />
<GeneralInfoSubscriptions />
<GeneralInfoContent />
<GeneralInfoViolations />
<GeneralInfoTokens />
<GeneralInfoIncome />
</div>
)
}
@@ -0,0 +1,47 @@
export default function GeneralInfoContent() {
return (
<div>
<h4
className="stats-title"
>
Защищенный контент (месяц/год)
</h4>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего файлов этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего занято места в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Файлов на пользователя</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">Места на диске на пользователя</span>
<div className="stat-card-value">0</div>
</div>
</div>
</div>
</div>
)
}
@@ -0,0 +1,47 @@
export default function GeneralInfoIncome() {
return (
<div>
<h4
className="stats-title"
>
Доход (день/месяц)
</h4>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего заработано в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего заработано на любого пользователя в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего заработано на платного пользователя в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
</div>
</div>
)
}
@@ -0,0 +1,66 @@
export default function GeneralInfoSubscriptions() {
return (
<div>
<h4
className="stats-title"
>
Активные подписчики (месяц/год)
</h4>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Текущие платные подписки</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">оформили впервые в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">в прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">продлили подпискув этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">в прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">сделали апгрейдв этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">в прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">сделали даунгрейдв этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">в прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
</div>
</div>
)
}
@@ -0,0 +1,58 @@
export default function GeneralInfoTokens() {
return (
<div>
<h4
className="stats-title"
>
Токены (день/месяц)
</h4>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего купленов этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего потраченов этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Куплено на пользователя в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Потрачено на пользователя в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
</div>
</div>
)
}
@@ -0,0 +1,39 @@
export default function GeneralInfoUsers() {
return (
<div>
<h4
className="stats-title"
>
Кол-во пользователей и динамика
</h4>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего пользователей</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Новых за текущий месяц</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">Новых за прошлый месяц</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Дельта</span>
<div className="stat-card-value">0</div>
</div>
</div>
</div>
</div>
)
}
@@ -0,0 +1,36 @@
export default function GeneralInfoViolations() {
return (
<div>
<h4
className="stats-title"
>
Нарушения (день/месяц)
</h4>
<div className="stats-grid">
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Всего нарушений в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
<div className="stat-card">
<div className="stat-card-group">
<span className="stat-card-title">Подано жалоб в этом месяце</span>
<div className="stat-card-value">0</div>
</div>
<div className="stat-card-group">
<span className="stat-card-title">В прошлом месяце</span>
<div className="stat-card-value">0</div>
</div>
</div>
</div>
</div>
)
}