Commit Graph

6 Commits

Author SHA1 Message Date
Devin
391b3a9fd3 chore(web): audit-css.mjs — detect true (selector+context+body) duplicates
Extends the script with a strict-duplicate detector that distinguishes
real Pattern G dead code (same selector + same @media context + same
body, where everything but the LAST occurrence in cascade order has no
effect) from descendant-selector counts (which were mostly noise in the
previous report).

The new detector surfaced 29 dead rules in the prior commit (14398af);
it now reports 0 — the cleanup is complete and future regressions will
show up immediately.

Also wires the duplicate-rule data into the --json output for tooling.

Updates docs/ui/UI_AUDIT.md §5 #7 with the consolidation metrics.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 09:51:14 +00:00
Devin
eab2721e95 docs(ui): mark all UI audit §5 items as done with commit references
Updates docs/ui/UI_AUDIT.md §5 to reflect that all 10 recommendations
shipped (#1-#7 + #9-#10) or are partially complete with explicit rationale
for what was deferred (#8). Each item now references the commit hash that
addressed it so readers can trace the implementation.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 09:40:11 +00:00
Devin
063afdbff6 chore(web): hex-color audit + annotate intentional shadows (UI audit #10)
Extends scripts/audit-css.mjs to also report hardcoded hex colors
outside CSS custom-property defs (`--name: #xxx;`) and outside
`var(--token, #fallback)` token-default fallbacks (which are explicitly
allowed per repo design-system rules).

Initial run reports 4 violations — all intentional pre-cascade body
defaults in :root and html.dark that must be literal hex (no var()) so
the page renders correct colors before the cascade resolves the custom
props. Annotated each with an explanatory comment; values intentionally
mirror --foreground / --background. Future drift surfaces immediately.

UI audit doc §5 #10 updated to reflect the sweep is done and the 4 known
violations are documented.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 09:33:54 +00:00
Devin
63f17bf40e refactor(web): use @bytelyst/ui CardButton primitive (UI audit #9)
Now that @bytelyst/ui@0.1.6 ships <CardButton>, replace the local
`.card-button` className shim (added to layout-fixes.css §25 in the
prior commit) with the real primitive.

Conversions:
  - components/StrategyWizard.tsx — risk style (3 cards) + hours pickers
  - views/SimpleView.tsx — new-buy + manage-holding plan cards
  - tabs/MyStrategiesTab.tsx — diagnostic accordion toggle

Removes layout-fixes.css §25 (.card-button) — no longer needed.
Updates docs/ui/UI_AUDIT.md Pattern A to reflect that the design-system
fix has shipped.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 09:31:46 +00:00
Devin
9df8a255ce docs(ui): tighten UI audit — verified counts, real Button root cause, file:line refs
- Pattern A: corrected root cause (whitespace-nowrap + fixed h-{size}, not "block-children-as-flex-items"), verified against @bytelyst/ui Button source
- Pattern E: reframed as UX/discoverability (truncate doesn't hide from screen readers; full text is in DOM)
- Pattern H: narrowed to only the one real vw bug (index.css:1620); 1791/1798/1822/1832 are inside clamp() and fine
- Pattern F: confirmed 5 inline 1fr-1fr instances with file:line; confirmed 2 bare-1fr CSS instances
- Section 1: replaced fuzzy metric ("31 files use Button primitive") with verified counts and source of truth
- Section 5: every recommendation now has concrete file:line
- Section 6: NEW — how to verify a UI fix (5-viewport check, body scrollWidth probe, build/typecheck)
- Section 7: fixed broken pixel-width regex ([,$] -> [,;]?\s*$); added bare-1fr-in-css command
- Section 8: NEW — open questions / things to investigate (asChild slot inheritance, mobile, light theme)

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 08:32:25 +00:00
Devin
3949062435 Add UI audit report
Catalogs systemic UI issues by pattern (root causes), what was already
fixed in this session, and prioritized recommendations for further work.

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-10 08:27:04 +00:00