Files
Learn_System/plans/lab-split/phase-1-extract-style.md
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

2.4 KiB
Raw Permalink Blame History

Phase 1: Extract inline <style>frontend/css/lab.css

Status: Done Parent plan: 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