mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 19:01:08 +02:00
refactor(theming): migrate who semantic colours to theme tokens
PlayView used Tailwind palette classes for game-status feedback:
bg-emerald-500/10 + text-emerald-300 (won) → bg-success/10 + text-success
bg-amber-500/10 + text-amber-300 (lost) → bg-warning/10 + text-warning
border-red-500/20 + bg-red-500/10 +
text-red-300 (error) → border-error/20 + bg-error/10 + text-error
placeholder-white/30 focus:border-purple-400/50 → placeholder:text-muted-foreground/60 focus:border-primary/50
Semantic status now tracks the theme (errors are red in dark, darker red
in light, etc.) instead of being fixed hex ramps.
The `bg-purple-500` / `bg-purple-500/30` / `hover:bg-purple-600` classes
on the user's chat bubble and submit buttons STAY — purple is the who
module's primary identity colour (historical-deck accent `#a855f7` is
semantically the same hue). Documented in brand-literals.md §who.
Also harden two validators against mid-rename states where git ls-files
returns paths that aren't on disk yet — both now skip unreadable files
instead of crashing the pre-commit hook (caught while migrating who).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
eec369bd04
commit
52af8c0cec
4 changed files with 28 additions and 12 deletions
|
|
@ -127,7 +127,15 @@ function mergeBlocks(blocks) {
|
|||
}
|
||||
|
||||
function validate() {
|
||||
const src = readFileSync(THEMES_CSS, 'utf8');
|
||||
let src;
|
||||
try {
|
||||
src = readFileSync(THEMES_CSS, 'utf8');
|
||||
} catch {
|
||||
// themes.css not on disk (e.g. mid-rename). Skip silently so we
|
||||
// don't block commits for files in transit.
|
||||
console.log('✓ Theme parity: themes.css not readable — skipped.');
|
||||
return;
|
||||
}
|
||||
const blocks = mergeBlocks(parseBlocks(src));
|
||||
|
||||
if (!blocks.has(':root')) {
|
||||
|
|
|
|||
|
|
@ -100,7 +100,14 @@ function validate() {
|
|||
|
||||
for (const rel of paths) {
|
||||
const abs = join(REPO_ROOT, rel);
|
||||
const src = readFileSync(abs, 'utf8');
|
||||
// Skip files that git knows about but haven't landed on disk yet —
|
||||
// common mid-rename/mid-move state in multi-terminal sessions.
|
||||
let src;
|
||||
try {
|
||||
src = readFileSync(abs, 'utf8');
|
||||
} catch {
|
||||
continue;
|
||||
}
|
||||
const lines = src.split('\n');
|
||||
|
||||
const brandOverlay = BRAND_OVERLAY_FILES.has(rel);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue