Add comprehensive dashboard KPI research 2026
This commit is contained in:
commit
7ce84fc18e
2 files changed
+967
No files matched your search
+469
@@ -0,0 +1,469 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ROI24 — Живые цифры бизнеса</title>
|
||||
<style>
|
||||
/* === RESET & BASE === */
|
||||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
:root {
|
||||
--bg-primary: #050505;
|
||||
--bg-surface: #0f0f10;
|
||||
--bg-card: #1a1a1c;
|
||||
--border: #2a2a2e;
|
||||
--border-hover: #444;
|
||||
--text-primary: #f0f0f0;
|
||||
--text-secondary: #a0a0a5;
|
||||
--accent: #00ff9d; /* Green for money/profit */
|
||||
--accent-dim: rgba(0, 255, 157, 0.15);
|
||||
--error: #ff4d4d;
|
||||
--warning: #ffc107;
|
||||
--font-main: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
|
||||
--font-mono: 'JetBrains Mono', 'SF Mono', monospace;
|
||||
}
|
||||
body {
|
||||
background-color: var(--bg-primary);
|
||||
color: var(--text-primary);
|
||||
font-family: var(--font-main);
|
||||
line-height: 1.6;
|
||||
overflow-x: hidden;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
a { text-decoration: none; color: inherit; transition: opacity 0.2s; }
|
||||
a:hover { opacity: 0.8; }
|
||||
|
||||
/* === LAYOUT === */
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 0 24px;
|
||||
}
|
||||
section { padding: 80px 0; }
|
||||
|
||||
/* === NAVIGATION === */
|
||||
nav {
|
||||
padding: 24px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid rgba(255,255,255,0.05);
|
||||
}
|
||||
.logo { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.03em; }
|
||||
.logo span { color: var(--accent); }
|
||||
.nav-links { display: flex; gap: 32px; font-size: 0.9rem; color: var(--text-secondary); }
|
||||
.btn {
|
||||
padding: 12px 24px;
|
||||
border-radius: 100px;
|
||||
font-weight: 600;
|
||||
font-size: 0.9rem;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
border: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.btn-primary {
|
||||
background: var(--accent);
|
||||
color: #000;
|
||||
}
|
||||
.btn-primary:hover {
|
||||
background: #00cc7d;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 10px 20px var(--accent-dim);
|
||||
}
|
||||
.btn-outline {
|
||||
background: transparent;
|
||||
border: 1px solid var(--border);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
.btn-outline:hover {
|
||||
border-color: var(--text-primary);
|
||||
}
|
||||
|
||||
/* === HERO === */
|
||||
.hero {
|
||||
padding: 120px 0 80px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
.hero h1 {
|
||||
font-size: clamp(3rem, 8vw, 5.5rem);
|
||||
font-weight: 800;
|
||||
line-height: 1.1;
|
||||
letter-spacing: -0.04em;
|
||||
margin-bottom: 24px;
|
||||
background: linear-gradient(to bottom, #ffffff, #a0a0a0);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
.hero p {
|
||||
font-size: 1.25rem;
|
||||
color: var(--text-secondary);
|
||||
max-width: 600px;
|
||||
margin: 0 auto 40px;
|
||||
}
|
||||
.hero-actions {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
justify-content: center;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
/* === DASHBOARD PREVIEW (THE MONEY SHOT) === */
|
||||
.dashboard-wrapper {
|
||||
background: var(--bg-surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 16px;
|
||||
padding: 24px;
|
||||
box-shadow: 0 40px 80px rgba(0,0,0,0.5);
|
||||
margin-top: 40px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
/* Glow effect behind dashboard */
|
||||
.dashboard-wrapper::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%; left: -50%;
|
||||
width: 200%; height: 200%;
|
||||
background: radial-gradient(circle, var(--accent-dim) 0%, transparent 60%);
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.dash-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 24px;
|
||||
padding-bottom: 16px;
|
||||
border-bottom: 1px solid var(--border);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.dash-title { font-size: 1.1rem; font-weight: 700; }
|
||||
.dash-badge {
|
||||
font-size: 0.75rem;
|
||||
padding: 4px 12px;
|
||||
border-radius: 100px;
|
||||
background: var(--accent-dim);
|
||||
color: var(--accent);
|
||||
border: 1px solid rgba(0,255,157,0.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.live-dot {
|
||||
width: 6px; height: 6px;
|
||||
background: var(--accent);
|
||||
border-radius: 50%;
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
@keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } }
|
||||
|
||||
/* Metrics Grid */
|
||||
.metrics-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 16px;
|
||||
margin-bottom: 24px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.metric-card {
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
padding: 20px;
|
||||
border-radius: 12px;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.metric-card:hover {
|
||||
border-color: var(--border-hover);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
.metric-label { font-size: 0.8rem; color: var(--text-secondary); margin-bottom: 8px; }
|
||||
.metric-value { font-size: 1.5rem; font-weight: 800; font-family: var(--font-mono); margin-bottom: 4px; }
|
||||
.metric-trend { font-size: 0.8rem; display: flex; align-items: center; gap: 4px; }
|
||||
.trend-up { color: var(--accent); }
|
||||
.trend-down { color: var(--error); }
|
||||
|
||||
/* Chart Area */
|
||||
.chart-area {
|
||||
height: 200px;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 12px;
|
||||
padding: 20px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: 12px;
|
||||
}
|
||||
.chart-bar {
|
||||
flex: 1;
|
||||
background: var(--border);
|
||||
border-radius: 4px 4px 0 0;
|
||||
transition: height 0.5s ease;
|
||||
}
|
||||
.chart-bar.highlight {
|
||||
background: var(--accent);
|
||||
box-shadow: 0 0 10px var(--accent-dim);
|
||||
}
|
||||
|
||||
/* === FEATURES === */
|
||||
.features {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 32px;
|
||||
}
|
||||
.feature-item h3 {
|
||||
font-size: 1.25rem;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.feature-item p { color: var(--text-secondary); }
|
||||
|
||||
/* === PRICING === */
|
||||
.pricing-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 24px;
|
||||
margin-top: 48px;
|
||||
}
|
||||
.price-card {
|
||||
background: var(--bg-surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.price-card.featured {
|
||||
border-color: var(--accent);
|
||||
background: linear-gradient(180deg, rgba(0,255,157,0.05) 0%, var(--bg-surface) 100%);
|
||||
}
|
||||
.price-name { font-size: 1.1rem; font-weight: 600; margin-bottom: 8px; }
|
||||
.price-amount { font-size: 2.5rem; font-weight: 800; margin-bottom: 24px; font-family: var(--font-mono); }
|
||||
.price-period { font-size: 0.9rem; color: var(--text-secondary); font-weight: 400; }
|
||||
.price-features { list-style: none; margin-bottom: 32px; flex-grow: 1; }
|
||||
.price-features li {
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid var(--border);
|
||||
font-size: 0.9rem;
|
||||
color: var(--text-secondary);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.price-features li::before {
|
||||
content: '✓';
|
||||
color: var(--accent);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* === FOOTER === */
|
||||
footer {
|
||||
border-top: 1px solid var(--border);
|
||||
padding: 48px 0;
|
||||
margin-top: 80px;
|
||||
text-align: center;
|
||||
color: var(--text-secondary);
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
/* === RESPONSIVE === */
|
||||
@media (max-width: 768px) {
|
||||
.hero h1 { font-size: 2.5rem; }
|
||||
.metrics-grid { grid-template-columns: 1fr 1fr; }
|
||||
.pricing-grid { grid-template-columns: 1fr; }
|
||||
.features { grid-template-columns: 1fr; }
|
||||
.nav-links { display: none; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<!-- NAV -->
|
||||
<nav>
|
||||
<div class="logo">ROI<span>24</span></div>
|
||||
<div class="nav-links">
|
||||
<a href="#features">Возможности</a>
|
||||
<a href="#pricing">Тарифы</a>
|
||||
<a href="#demo">Демо</a>
|
||||
</div>
|
||||
<a href="#cta" class="btn btn-outline">Войти</a>
|
||||
</nav>
|
||||
|
||||
<!-- HERO -->
|
||||
<header class="hero">
|
||||
<h1>Живые цифры<br>вашего бизнеса</h1>
|
||||
<p>Подключаем 1С, банк и рекламу. Вы видите выручку, маржу и кассу каждое утро. Без бухгалтерских задержек и таблиц Excel.</p>
|
||||
<div class="hero-actions">
|
||||
<a href="#demo" class="btn btn-primary">Смотреть демо</a>
|
||||
<a href="#pricing" class="btn btn-outline">Тарифы</a>
|
||||
</div>
|
||||
|
||||
<!-- DASHBOARD PREVIEW -->
|
||||
<div class="dashboard-wrapper" id="demo">
|
||||
<div class="dash-header">
|
||||
<div class="dash-title">Dashboard | Интернет-магазин</div>
|
||||
<div class="dash-badge">
|
||||
<div class="live-dot"></div> Live Sync
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="metrics-grid">
|
||||
<div class="metric-card">
|
||||
<div class="metric-label">Выручка (Сегодня)</div>
|
||||
<div class="metric-value">124 500 ₽</div>
|
||||
<div class="metric-trend trend-up">
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M18 15l-6-6-6 6"/></svg>
|
||||
+12.5%
|
||||
</div>
|
||||
</div>
|
||||
<div class="metric-card">
|
||||
<div class="metric-label">Маржа (Сегодня)</div>
|
||||
<div class="metric-value">38 150 ₽</div>
|
||||
<div class="metric-trend trend-up">
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M18 15l-6-6-6 6"/></svg>
|
||||
+8.2%
|
||||
</div>
|
||||
</div>
|
||||
<div class="metric-card">
|
||||
<div class="metric-label">Заказы (Всего)</div>
|
||||
<div class="metric-value">47</div>
|
||||
<div class="metric-trend trend-down">
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M6 9l6 6 6-6"/></svg>
|
||||
-2.1%
|
||||
</div>
|
||||
</div>
|
||||
<div class="metric-card">
|
||||
<div class="metric-label">Касса (Баланс)</div>
|
||||
<div class="metric-value" style="color: var(--accent)">1 245 000 ₽</div>
|
||||
<div class="metric-trend" style="color: var(--text-secondary)">
|
||||
Обновлено 2 мин назад
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chart-area" id="revenue-chart">
|
||||
<!-- Bars injected via JS for animation -->
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- FEATURES -->
|
||||
<section id="features">
|
||||
<div class="features">
|
||||
<div class="feature-item">
|
||||
<h3>Автообновление</h3>
|
||||
<p>Данные синхронизируются с 1С, банками и рекламными кабинетами каждые 4 часа. Не нужно ждать отчётов в понедельник.</p>
|
||||
</div>
|
||||
<div class="feature-item">
|
||||
<h3>Все каналы в одном месте</h3>
|
||||
<p>Сравнивайте ROI Директа, ВКонтакте и маркетплейсов на одном экране. Видно, какой канал приносит деньги прямо сейчас.</p>
|
||||
</div>
|
||||
<div class="feature-item">
|
||||
<h3>AI-прогнозы</h3>
|
||||
<p>Система анализирует тренды и предсказывает выручку на завтра. Получайте алерты, если что-то идёт не так.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- PRICING -->
|
||||
<section id="pricing">
|
||||
<h2 style="font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 24px;">Тарифы</h2>
|
||||
<div class="pricing-grid">
|
||||
<div class="price-card">
|
||||
<div class="price-name">Старт</div>
|
||||
<div class="price-amount">10 000 ₽<span class="price-period">/мес</span></div>
|
||||
<ul class="price-features">
|
||||
<li>1 источник данных (1С или Банк)</li>
|
||||
<li>3 дашборда</li>
|
||||
<li>Обновление 1 раз в день</li>
|
||||
<li>Поддержка по Email</li>
|
||||
</ul>
|
||||
<a href="#" class="btn btn-outline" style="width:100%; justify-content:center;">Начать</a>
|
||||
</div>
|
||||
<div class="price-card featured">
|
||||
<div class="price-name">Бизнес</div>
|
||||
<div class="price-amount">25 000 ₽<span class="price-period">/мес</span></div>
|
||||
<ul class="price-features">
|
||||
<li>До 4 источников (1С, Банк, CRM, Рекламы)</li>
|
||||
<li>10 дашбордов</li>
|
||||
<li>Обновление каждые 4 часа</li>
|
||||
<li>AI-прогнозы и алерты</li>
|
||||
<li>Выгрузка в PDF/Excel</li>
|
||||
</ul>
|
||||
<a href="#" class="btn btn-primary" style="width:100%; justify-content:center;">Попробовать</a>
|
||||
</div>
|
||||
<div class="price-card">
|
||||
<div class="price-name">Под ключ</div>
|
||||
<div class="price-amount">50 000 ₽<span class="price-period">/мес</span></div>
|
||||
<ul class="price-features">
|
||||
<li>Все источники + Маркетплейсы</li>
|
||||
<li>Кастомные метрики под бизнес</li>
|
||||
<li>Обновление каждые 30 минут</li>
|
||||
<li>Выделенный менеджер</li>
|
||||
</ul>
|
||||
<a href="#" class="btn btn-outline" style="width:100%; justify-content:center;">Связаться</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA -->
|
||||
<section id="cta" style="text-align: center;">
|
||||
<h2 style="font-size: 2.5rem; font-weight: 800; margin-bottom: 24px;">Перестаньте управлять "на ощупь"</h2>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 32px; font-size: 1.1rem;">
|
||||
Подключим дашборд за 3 дня. Первые 7 дней — бесплатно.
|
||||
</p>
|
||||
<a href="https://t.me/" class="btn btn-primary" style="padding: 16px 32px; font-size: 1.1rem;">
|
||||
Обсудить проект в Telegram
|
||||
</a>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
<p>ROI24 © 2026. Все права защищены.</p>
|
||||
<p style="margin-top: 8px; opacity: 0.5;">Не является публичной офертой. ИНН 0000000000</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// === Simple Chart Animation ===
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const chartContainer = document.getElementById('revenue-chart');
|
||||
const barCount = 12;
|
||||
const heights = [40, 55, 45, 60, 70, 65, 80, 90, 85, 95, 88, 100]; // Mock data
|
||||
|
||||
// Generate bars
|
||||
heights.forEach((h, i) => {
|
||||
const bar = document.createElement('div');
|
||||
bar.className = 'chart-bar' + (i === heights.length - 1 ? ' highlight' : '');
|
||||
bar.style.height = '0%'; // Start at 0
|
||||
chartContainer.appendChild(bar);
|
||||
|
||||
// Animate on load
|
||||
setTimeout(() => {
|
||||
bar.style.height = h + '%';
|
||||
}, 100 + (i * 50));
|
||||
});
|
||||
|
||||
// Simple Hover Effect for Metric Cards
|
||||
const cards = document.querySelectorAll('.metric-card');
|
||||
cards.forEach(card => {
|
||||
card.addEventListener('mouseenter', () => {
|
||||
card.style.borderColor = 'var(--accent)';
|
||||
});
|
||||
card.addEventListener('mouseleave', () => {
|
||||
card.style.borderColor = 'var(--border)';
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user