From 2addb8ec02b5777a767388e28e2a7cac9711ca81 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Sun, 31 May 2026 12:02:32 +0300 Subject: [PATCH] =?UTF-8?q?fix(dashboard):=20=D0=90=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D0=B2=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B2=D0=B8=D0=B4=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B2=D1=81=D0=B5=D0=B3=D0=B4=D0=B0=20+=20=D1=80?= =?UTF-8?q?=D1=8F=D0=B4=20=D0=BE=D0=B4=D0=B8=D0=BD=D0=B0=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=B2=D1=8B=D1=81=D0=BE=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - loadActivityWidget показывает блок всегда (пустое состояние рисует renderHeatmap), даже при 0 сессий и при ошибке истории. - .bottom-grid: align-items stretch + height 100% — карточки ряда (Активность/Мои сдачи/Испытания) одной высоты. Co-Authored-By: Claude Opus 4.8 --- frontend/dashboard.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/dashboard.html b/frontend/dashboard.html index 9e64590..b5e796c 100644 --- a/frontend/dashboard.html +++ b/frontend/dashboard.html @@ -154,9 +154,9 @@ grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 22px; - align-items: start; + align-items: stretch; } - .bottom-grid > * { margin-bottom: 0; } + .bottom-grid > * { margin-bottom: 0; height: 100%; } .qa-btn { display: flex; align-items: center; gap: 8px; @@ -3309,10 +3309,10 @@ /* ══ WIDGET: Activity heatmap (redesigned) ══════════════════════════ */ function loadActivityWidget(rows) { - _activityRows = rows; + _activityRows = rows || []; const w = document.getElementById('w-activity'); - if (!w || !rows || !rows.length) { if (w) w.style.display = 'none'; return; } - w.style.display = ''; + if (!w) return; + showWidget('w-activity'); // показываем всегда (пустое состояние рисует renderHeatmap) renderHeatmap(); } @@ -4061,7 +4061,7 @@ loadActivityWidget(rows); loadSubjProgressWidget(rows); renderStreakCalendar(rows); - } catch {} + } catch { loadActivityWidget([]); } const heroRow = document.getElementById('hero-row'); if (heroRow) heroRow.style.display = ''; loadContinueWidget();