universal-dashboard/examples/index.html

138 lines
4.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
name="description"
content="Готовые демо-страницы панели экосистемы для всех форматов данных."
/>
<title>Примеры панели экосистемы</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="shared/styles.css" />
<style>
.examples-hub {
max-width: 960px;
margin: 0 auto;
padding: 48px 20px 64px;
}
.examples-hub h1 {
margin: 0 0 8px;
font-size: clamp(1.75rem, 4vw, 2.25rem);
}
.examples-hub > p {
margin: 0 0 28px;
color: var(--muted);
max-width: 56ch;
}
.examples-grid {
display: grid;
gap: 16px;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.example-card {
display: block;
padding: 20px;
border: 1px solid var(--border);
border-radius: var(--radius-lg, 16px);
background: var(--surface);
text-decoration: none;
color: inherit;
transition: border-color 0.2s, transform 0.2s;
}
.example-card:hover {
border-color: var(--accent);
transform: translateY(-2px);
}
.example-card h2 {
margin: 0 0 8px;
font-size: 1.05rem;
}
.example-card p {
margin: 0 0 12px;
color: var(--muted);
font-size: 0.92rem;
line-height: 1.45;
}
.example-card code {
font-size: 0.82rem;
color: var(--accent);
}
.examples-note {
margin-top: 32px;
padding: 16px 18px;
border-radius: 12px;
border: 1px solid var(--border);
background: color-mix(in srgb, var(--surface) 88%, var(--accent) 12%);
color: var(--muted);
font-size: 0.92rem;
line-height: 1.5;
}
.examples-note strong {
color: var(--text);
}
</style>
</head>
<body>
<div class="ambient ambient-one"></div>
<div class="ambient ambient-two"></div>
<main class="examples-hub">
<p class="eyebrow">Ecosystem panel</p>
<h1>Примеры структур данных</h1>
<p>
Каждый пример — самодостаточная страница с локальными <code>settings.json</code> и
<code>panel-data.json</code>. Общие стили, скрипт и иконки лежат в <code>shared/</code>.
</p>
<div class="examples-grid">
<a class="example-card" href="./full/">
<h2>Полная иерархия</h2>
<p>Разделы, подразделы и элементы — классический формат.</p>
<code>section → group → item</code>
</a>
<a class="example-card" href="./section-items/">
<h2>Раздел → item</h2>
<p>Элементы сразу внутри раздела, без промежуточных подразделов.</p>
<code>section → item</code>
</a>
<a class="example-card" href="./flat/">
<h2>Плоский список</h2>
<p>Только карточки сервисов, без дерева разделов.</p>
<code>items[]</code>
</a>
<a class="example-card" href="./mixed/">
<h2>Смешанный раздел</h2>
<p>Закреплённые ссылки и подразделы в одном разделе.</p>
<code>items[] + groups[]</code>
</a>
</div>
<div class="examples-note">
<strong>Запуск:</strong> из папки <code>examples</code> выполни
<code>npx serve .</code> и открой <code>/</code> или конкретный пример, например
<code>/full/</code>. Можно также поднять сервер из корня репозитория —
тогда адрес будет <code>/examples/full/</code>.
</div>
</main>
</body>
</html>