v0.5.15: стенды в sticky-шапке, компактные карточки

This commit is contained in:
2026-08-03 09:47:01 +04:00
parent da6e765af5
commit ed31306d38
3 changed files with 29 additions and 34 deletions
+1 -1
View File
@@ -80,7 +80,7 @@ SERVICES = _DF["SERVICES"]
OPS_INDEX = _DF["OPS_INDEX"] OPS_INDEX = _DF["OPS_INDEX"]
DELAY = float(os.getenv("MOCK_OP_DELAY", "0.1")) DELAY = float(os.getenv("MOCK_OP_DELAY", "0.1"))
VERSION = "0.5.14" VERSION = "0.5.15"
def get_services(stand_id): def get_services(stand_id):
+18 -21
View File
@@ -83,50 +83,47 @@ body {
color: var(--brand-gray); color: var(--brand-gray);
} }
/* ── Stands section (centered big cards) ── */ /* ── Header stands ── */
.stands-section { .header-stands {
display: flex; display: flex;
justify-content: center; gap: 12px;
gap: 16px; margin-top: 8px;
padding: 32px 0 8px;
} }
.stands-section .stand-card { .stand-card-sm {
min-width: 160px; display: flex;
padding: 20px 24px; flex-direction: column;
background: var(--bg); align-items: center;
padding: 8px 20px;
background: var(--brand-grey-light);
border: 2px solid var(--border); border: 2px solid var(--border);
border-radius: var(--radius); border-radius: var(--radius-sm);
text-decoration: none; text-decoration: none;
text-align: center;
transition: all 0.15s; transition: all 0.15s;
} }
.stands-section .stand-card:hover { .stand-card-sm:hover {
border-color: var(--brand-primary); border-color: var(--brand-primary);
box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
} }
.stands-section .stand-name { .stand-card-sm .stand-name {
display: block; font-size: 15px;
font-size: 24px;
font-weight: 800; font-weight: 800;
text-transform: uppercase; text-transform: uppercase;
color: var(--text); color: var(--text);
margin-bottom: 4px;
} }
.stands-section .stand-count { .stand-card-sm .stand-count {
font-size: 14px; font-size: 11px;
color: var(--text-muted); color: var(--text-muted);
} }
.stands-section .stand-active { .stand-active {
border-color: var(--brand-primary); border-color: var(--brand-primary);
background: #eff6ff; background: #eff6ff;
} }
.stands-section .stand-active .stand-name { .stand-active .stand-name {
color: var(--brand-primary); color: var(--brand-primary);
} }
+8 -10
View File
@@ -25,21 +25,19 @@
<span class="sep">·</span> <span class="sep">·</span>
<span class="header-stat">Задержка: <strong>{{ delay }}s</strong></span> <span class="header-stat">Задержка: <strong>{{ delay }}s</strong></span>
</div> </div>
</header> {% if stands_list|length > 1 %}
<div class="header-stands">
<main>
<!-- ── Стенды ── -->
{% if stands_list|length > 1 %}
<section class="stands-section">
{% for s in stands_list %} {% for s in stands_list %}
<a href="/{{ s.id }}/" class="stand-card {% if s.id == current_stand %}stand-active{% endif %}"> <a href="/{{ s.id }}/" class="stand-card-sm {% if s.id == current_stand %}stand-active{% endif %}">
<span class="stand-name">{{ s.id }}</span> <span class="stand-name">{{ s.id }}</span>
<span class="stand-count">{{ s.count }} сервисов</span> <span class="stand-count">{{ s.count }} сервисов</span>
</a> </a>
{% endfor %} {% endfor %}
</section> </div>
{% endif %} {% endif %}
</header>
<main>
<!-- ── Что такое Polygon ── --> <!-- ── Что такое Polygon ── -->
<section class="card"> <section class="card">