add dashboard layout
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
export default function ChartContainer() {
|
||||
return (
|
||||
<div className="chart-container block-wrapper">
|
||||
<div className="chart-header">
|
||||
<h3 className="chart-title">Поиск контента</h3>
|
||||
<select className="date-filter">
|
||||
<option>Ноябрь 2025</option>
|
||||
</select>
|
||||
</div>
|
||||
<div className="chart-main-content">
|
||||
<div className="chart-grid">
|
||||
<div className="chart-item images">
|
||||
<div className="chart-item-header">
|
||||
<div className="chart-item-image">📸</div>
|
||||
<span className="chart-item-title">Изображения</span>
|
||||
</div>
|
||||
<div className="chart-item-count">0</div>
|
||||
<div className="chart-item-tooltip">поисковых запросов</div>
|
||||
<div className="chart-item-progress-bar">
|
||||
<div className="chart-item-progress-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="chart-item videos">
|
||||
<div className="chart-item-header">
|
||||
<div className="chart-item-image">🎬</div>
|
||||
<span className="chart-item-title">Видео</span>
|
||||
</div>
|
||||
<div className="chart-item-count">0</div>
|
||||
<div className="chart-item-tooltip">поисковых запросов</div>
|
||||
<div className="chart-item-progress-bar">
|
||||
<div className="chart-item-progress-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="chart-item audios">
|
||||
<div className="chart-item-header">
|
||||
<div className="chart-item-image">🎵</div>
|
||||
<span className="chart-item-title">Аудио</span>
|
||||
</div>
|
||||
<div className="chart-item-count">0</div>
|
||||
<div className="chart-item-tooltip">поисковых запросов</div>
|
||||
<div className="chart-item-progress-bar">
|
||||
<div className="chart-item-progress-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="chart-item documents">
|
||||
<div className="chart-item-header">
|
||||
<div className="chart-item-image">📄</div>
|
||||
<span className="chart-item-title">Документы</span>
|
||||
</div>
|
||||
<div className="chart-item-count">0</div>
|
||||
<div className="chart-item-tooltip">поисковых запросов</div>
|
||||
<div className="chart-item-progress-bar">
|
||||
<div className="chart-item-progress-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="chart-item scripts">
|
||||
<div className="chart-item-header">
|
||||
<div className="chart-item-image">💻</div>
|
||||
<span className="chart-item-title">Код</span>
|
||||
</div>
|
||||
<div className="chart-item-count">0</div>
|
||||
<div className="chart-item-tooltip">поисковых запросов</div>
|
||||
<div className="chart-item-progress-bar">
|
||||
<div className="chart-item-progress-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="chart-item texts">
|
||||
<div className="chart-item-header">
|
||||
<div className="chart-item-image">📝</div>
|
||||
<span className="chart-item-title">Текст</span>
|
||||
</div>
|
||||
<div className="chart-item-count">0</div>
|
||||
<div className="chart-item-tooltip">поисковых запросов</div>
|
||||
<div className="chart-item-progress-bar">
|
||||
<div className="chart-item-progress-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="chart-total">
|
||||
<span className="chart-total-text">Всего поисковых запросов за
|
||||
<span> date</span>:
|
||||
</span>
|
||||
<span className="chart-total-count">
|
||||
0</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -3,6 +3,24 @@ export default function ProtectionOverview() {
|
||||
<div className="protection-overview">
|
||||
<h3>Защита вашего контента</h3>
|
||||
<p>Текущий статус защищенности и активности системы мониторинга</p>
|
||||
<div className="protection-stats">
|
||||
<div className="protection-stat">
|
||||
<div className="protection-stat-value">0</div>
|
||||
<div className="protection-stat-label">Файлов с водяными знаками</div>
|
||||
</div>
|
||||
<div className="protection-stat">
|
||||
<div className="protection-stat-value">0</div>
|
||||
<div className="protection-stat-label">Высокий уровень защиты</div>
|
||||
</div>
|
||||
<div className="protection-stat">
|
||||
<div className="protection-stat-value">0</div>
|
||||
<div className="protection-stat-label">Всего проверок</div>
|
||||
</div>
|
||||
<div className="protection-stat">
|
||||
<div className="protection-stat-value">0%</div>
|
||||
<div className="protection-stat-label">Использовано лимитов</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
export default function RecentFilesList() {
|
||||
return (
|
||||
<div className="recent-files-list block-wrapper">
|
||||
<h3 className="chart-title">Новые файлы</h3>
|
||||
<div className="file-item">
|
||||
<div className="file-icon audio">🎵</div>
|
||||
<div className="file-info">
|
||||
<div className="file-name">file-name</div>
|
||||
<div className="file-meta">
|
||||
<span>date</span>
|
||||
<span> • check count</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="file-item">
|
||||
<div className="file-icon videos">🎬</div>
|
||||
<div className="file-info">
|
||||
<div className="file-name">file-name</div>
|
||||
<div className="file-meta">
|
||||
<span>date</span>
|
||||
<span> • check count</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="file-item">
|
||||
<div className="file-icon photos">📸</div>
|
||||
<div className="file-info">
|
||||
<div className="file-name">file-name</div>
|
||||
<div className="file-meta">
|
||||
<span>date</span>
|
||||
<span> • check count</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
export default function StatsGrid() {
|
||||
return (
|
||||
<div className="stats-grid">
|
||||
<div className="stat-card images">
|
||||
<div className="stat-type">ИЗОБРАЖЕНИЯ</div>
|
||||
<div className="stat-value">0 шт.</div>
|
||||
<div className="stat-label">Ваши изображения</div>
|
||||
<div className="stat-icon">
|
||||
<span>0</span> МБ</div>
|
||||
</div>
|
||||
<div className="stat-card videos">
|
||||
<div className="stat-type">ВИДЕО</div>
|
||||
<div className="stat-value">0 шт.</div>
|
||||
<div className="stat-label">Ваш видео контент</div>
|
||||
<div className="stat-icon">
|
||||
<span>0</span> МБ</div>
|
||||
</div>
|
||||
|
||||
<div className="stat-card audio">
|
||||
<div className="stat-type">АУДИО</div>
|
||||
<div className="stat-value">0 шт.</div>
|
||||
<div className="stat-label">Ваш аудио контент</div>
|
||||
<div className="stat-icon">
|
||||
<span>0</span> МБ</div>
|
||||
</div>
|
||||
<div className="stat-card scripts">
|
||||
<div className="stat-type">PDF-ФАЙЛЫ</div>
|
||||
<div className="stat-value">0 шт.</div>
|
||||
<div className="stat-label">Ваши PDF-файлы</div>
|
||||
<div className="stat-icon">
|
||||
<span>0</span> КБ</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
export default function StorageBreakdown() {
|
||||
return (
|
||||
<div className="storage-breakdown block-wrapper">
|
||||
<h3 className="chart-title">Использование хранилища</h3>
|
||||
|
||||
<div className="storage-item">
|
||||
<div className="storage-type">
|
||||
<div className="storage-icon photos">📸</div>
|
||||
<span>Изображения</span>
|
||||
</div>
|
||||
<div>0 МБ</div>
|
||||
</div>
|
||||
|
||||
<div className="storage-item">
|
||||
<div className="storage-type">
|
||||
<div className="storage-icon videos">🎬</div>
|
||||
<span>Видео</span>
|
||||
</div>
|
||||
<div>0 МБ</div>
|
||||
</div>
|
||||
|
||||
<div className="storage-item">
|
||||
<div className="storage-type">
|
||||
<div className="storage-icon audio">🎵</div>
|
||||
<span>Аудио</span>
|
||||
</div>
|
||||
<div>0 МБ</div>
|
||||
</div>
|
||||
|
||||
<div className="storage-item">
|
||||
<div className="storage-type">
|
||||
<div className="storage-icon documents">📄</div>
|
||||
<span>Документы</span>
|
||||
</div>
|
||||
<div>0 КБ</div>
|
||||
</div>
|
||||
|
||||
<div className="storage-item">
|
||||
<div className="storage-type">
|
||||
<div className="storage-icon code">💻</div>
|
||||
<span>Код (PHP/JS)</span>
|
||||
</div>
|
||||
<div>0 Б</div>
|
||||
</div>
|
||||
|
||||
<div className="storage-item">
|
||||
<div className="storage-type">
|
||||
<div className="storage-icon text">📝</div>
|
||||
<span>Текст</span>
|
||||
</div>
|
||||
<div>0 Б</div>
|
||||
</div>
|
||||
|
||||
<div className="storage-footer">
|
||||
<div className="storage-footer-header">
|
||||
<span className="storage-footer-title">Общий объем:</span>
|
||||
<span className="storage-footer-weight">0 МБ</span>
|
||||
</div>
|
||||
<div className="progress-bar">
|
||||
<div className="progress-fill" style={{ width: "50%" }}></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
export default function UserInfo() {
|
||||
return (
|
||||
<div className="user-info block-wrapper">
|
||||
<h3 className="chart-title">Ваши данные</h3>
|
||||
<div className="user-data">
|
||||
<div className="user-field">
|
||||
<strong>USER NAME</strong>
|
||||
</div>
|
||||
<div className="user-field">
|
||||
Email: test@te.te
|
||||
</div>
|
||||
<div className="user-field">
|
||||
Подписка: <strong>TYPE</strong>
|
||||
</div>
|
||||
<div className="user-field">
|
||||
Подписка активна до: <strong>DATE</strong>
|
||||
</div>
|
||||
<div className="user-field user-field-limit">
|
||||
<div className="user-field-limit-title">Лимиты подписки:</div>
|
||||
<div className="user-field-limit-text">
|
||||
📁 Файлов в месяц:
|
||||
<span> 12 / 100</span>
|
||||
</div>
|
||||
<div className="user-field-limit-text">
|
||||
💾 Хранилище: 1 ГБ
|
||||
</div>
|
||||
<div className="user-field-limit-progress-bar">
|
||||
<div className="user-field-limit-progress-fill"></div>
|
||||
</div>
|
||||
<div className="user-field-limit-footer">
|
||||
Использовано: 12%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button className="btn btn-primary" style={{ width: "100%" }}>
|
||||
Обновить данные
|
||||
</button>
|
||||
<div className="stats-mini">
|
||||
<div className="stat-mini">
|
||||
<div className="stat-mini-value">12</div>
|
||||
<div className="stat-mini-label">Контента</div>
|
||||
</div>
|
||||
<div className="stat-mini">
|
||||
<div className="stat-mini-value">12</div>
|
||||
<div className="stat-mini-label">Файлов</div>
|
||||
</div>
|
||||
<div className="stat-mini">
|
||||
<div className="stat-mini-value">208</div>
|
||||
<div className="stat-mini-label">Нарушений</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user