--- name: project_dashboard_rebuild description: План пересборки главной dashboard.html по скриншоту (hero-карточки + синхрон питомца); редизайн был утерян metadata: node_type: memory type: project originSessionId: 4eebe34f-0200-4613-bc0c-e884c7496721 --- Боевой редизайн `frontend/dashboard.html` (питомец Квантик, «Начать чтение», «Лаборатория дня», колонки Задания/Тесты/Активность) был **некоммичен** и перезаписан коммитом flashcards `1dcc4cb`. В git/stash/dangling/VSCode Local History его НЕТ — восстановить нельзя, пересобираем по скриншоту пользователя (2026-05-31). **Базис — живой `frontend/dashboard.html`** (НЕ мокап `dashboard-redesign.html` — там чужой Linear-дизайн, филин «Архивариус», игнорировать). Дизайн-система: `/css/ls.css`, шрифты Unbounded+Manrope, тёмная тема, палитра #9B5DE5/#06D6E0/#F9C74F. **Правки от пользователя:** - Убрать блок «Теория — в процессе» (`loadTheoryWidget` / `w-theory-progress`). - Рейтинг уже перенесён в профиль — на дашборде не показывать (lb-section). - Питомец на дашборде синхронизирован с модулем через `window.PetSprite.render(level, mood, accessories, color, streak)` + GET `/api/pet`. **Что уже есть в живом файле (loaders готовы):** loadAssignments (~2015), loadContinueWidget (3108, `/api/courses/continue`), loadActivityWidget (3174), loadFlashcardWidget (3937, `/api/flashcards/random`, СОХРАНИТЬ виджет #w-flashcard / «Повтори карточку»), loadGamification (1721), loadSubjects (1980, → блок «Тесты»). Markup: hero-зона = `.action-zone` (1380), 3 колонки = `.main-grid` (1465): #w-assignments / #w-tests / #w-progress-col. **Hero-карточки со скрина (3 шт, заменяют .action-cards):** 1. «Начать чтение» Химия 9 класс, прогресс % → `/api/courses/continue` (есть loadContinueWidget). 2. «Лаборатория дня» Газовые законы → SVG из `window.LabPreviews` (frontend/js/lab-previews.js: keys opticsbench/circuit/pendulum/waves/isoprocess/stereo). 3. «Питомец» Квантик, уровень/стрик/настроение → `/api/pet` + PetSprite. **Ассеты уцелели (untracked, НЕ трогать):** `frontend/js/pet-sprite.js` (window.PetSprite), `frontend/js/lab-previews.js` (window.LabPreviews). Их надо подключить `