Files
Learn_System/plans/lab-split/phase-1-extract-style.md
T
Maxim Dolgolyov 46e6d82010 refactor(lab): phase 1 — extract inline style block to /css/lab.css
lab.html 5180L → 4324L (-856L). All CSS moved to frontend/css/lab.css

(855L). Added <link> tag after ls.css for proper cascade.

Visual rendering unchanged — pure file move.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 22:35:07 +03:00

50 lines
2.4 KiB
Markdown
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.
# Phase 1: Extract inline `<style>` → `frontend/css/lab.css`
**Status:** ✅ Done
**Parent plan:** [PLAN.md](./PLAN.md)
**Domain:** frontend
## Objective
Вынести 856L inline `<style>` блока из lab.html в отдельный `frontend/css/lab.css`. После — lab.html становится короче на ~856L, CSS можно править/рефакторить независимо.
## Tasks
- [ ] Создать `frontend/css/lab.css`
- [ ] Скопировать содержимое `<style>...</style>` из lab.html (lines 10-866) в lab.css
- [ ] Удалить inline `<style>` блок из lab.html
- [ ] Добавить `<link rel="stylesheet" href="/css/lab.css">` в `<head>` (после `/css/ls.css`)
- [ ] Verify: `curl -sI http://localhost:3000/lab` → 200
- [ ] Spot-check: открыть в браузере, sim-toolbar/panels выглядят как раньше
- [ ] Pre-commit hook passes
## Files to Modify/Create
- `frontend/css/lab.css` — NEW (~856L)
- `frontend/lab.html` — удалить `<style>` блок, добавить `<link>` (net 855L)
## Acceptance Criteria
- lab.html без `<style>` блока (только `<link>` к /css/lab.css)
- `/lab` отвечает 200
- Визуально lab выглядит идентично pre-Phase-1
- Pre-commit hook чистый
## Notes
- Если в CSS есть `@import` / `url(...)` paths — проверить что они всё ещё валидны от нового origin (/css/lab.css base)
- CSP в server.js: разрешает `'self'` для styles, нет проблем
- Watch for: CSS-variables defined inline могут оказаться нужны другим inline blocks → проверить нет ли таких dependencies
## Review Checklist
- [ ] lab.css не пустой и содержит весь CSS из inline блока
- [ ] lab.html не содержит `<style>` блок (только `<link>`)
- [ ] No emoji в коде (pre-commit проверит)
- [ ] Server возвращает 200
- [ ] Spot-check: открыть /lab, sim-grid и sim-toolbar отображаются нормально
## Handoff to Next Phase
<!-- Implementer заполнит: какой именно баг был при extract (если был), какие inline-style overrides остались (Phase 3 будет с ними работать). -->