fix(dashboard): Активность видна всегда + ряд одинаковой высоты

- loadActivityWidget показывает блок всегда (пустое состояние рисует
  renderHeatmap), даже при 0 сессий и при ошибке истории.
- .bottom-grid: align-items stretch + height 100% — карточки ряда
  (Активность/Мои сдачи/Испытания) одной высоты.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-05-31 12:02:32 +03:00
parent e6120c6fc8
commit 2addb8ec02
+6 -6
View File
@@ -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();