forked from molecule-ai/molecule-core
Cards on the canvas had multiple low-contrast surfaces in light mode: WorkspaceNode.tsx (parent + TeamMemberChip) — same fixes both copies: - "N sub" badge: hardcoded text-violet-300 + bg-violet-900/40 → semantic text-accent + bg-accent/15 + border-accent/40 (themes correctly). - "REMOTE" pill: hardcoded violet/40 alpha → solid bg-violet-600 text-white (works on either surface with WCAG AA contrast). - Runtime pill: drop /60 + /30 alpha modifiers, use solid surface-card + border-line tokens. - Skill chips (online): text-good/80 + bg-emerald-950/30 (washed-out on warm-paper) → text-good + bg-good/15 + border-good/40 semantic. - Skill chips (offline): text-ink-mid + bg-surface-card without alpha. - Restart-to-apply banner: bg-sky-950/30 + text-sky-300/80 → bg-accent/10 + text-accent (sky-950 was nearly invisible on cream). - Provisioning status text: text-sky-400 (poor on cream) → text-accent. - "+N more" badges: text-ink-soft (3.5:1) → text-ink-mid (7:1). - Active-tasks dot: bg-amber-400 + text-warm/80 → semantic bg-warm + text-warm. - Degraded error preview: bg-amber-950/20 + text-warm/60 → bg-warm/10 + text-warm + border-warm/40. - Eject icon hover: hover:text-sky-400 → hover:text-accent. - Role text: text-ink-soft → text-ink-mid. design-tokens.ts: - TIER_CONFIG was dark-only: T2 (text-sky-400 + bg-sky-950/50), T3 (text-violet-400 + bg-violet-950/50), T4 (text-warm + bg-amber-950/50). Migrated to solid bg + white text patterns: T2=accent, T3=violet-600, T4=warm. T1 stays neutral (surface-card + ink-mid). All four pass WCAG AA on either theme. No globals.css changes; uses existing semantic tokens. |
||
|---|---|---|
| .. | ||
| e2e | ||
| public | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| components.json | ||
| Dockerfile | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| playwright.staging.config.ts | ||
| postcss.config.js | ||
| tsconfig.json | ||
| vitest.config.ts | ||