Skip to content

Redesign web UI to Slate theme - #15

Merged
kevrez merged 3 commits into
mainfrom
worktree-slate-redesign
Jun 18, 2026
Merged

kevrez merged 3 commits into
mainfrom
worktree-slate-redesign

Conversation

@kevrez

@kevrez kevrez commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the B1 "Concrete · Amber" design system with the approved Slate direction from references/design_handoff_workshop_slate/: desaturated terracotta accent, 4px radii, 1px hairlines, Spline Sans, no uppercase, soft elevation shadows. ~80% of the change is a token/primitive rewrite of static/b1.css that restyles every screen at once.

Structural changes (the three handoff screens)

  • Design Studio — one auxiliary panel at a time: toggleable composer (left) XOR a right "Selected design" panel (392px) XOR full-width library; +New design card, topbar toggle that flips to "Close composer", auto-fill minmax(220px) grid. State is client-side. Default is now nothing selected (library full width).
  • Trend Inbox — SVG spark macro with left→right opacity ramp, rendered neutral in the list, accent in the detail (the requested split); calmed momentum figure (mono 17px); keyword-openings table when data exists, else evidence list.
  • Research Reports — reading pane renders from the existing ResearchRun.structured_result (opportunity stat card, prose sections, keyword chips, product pills, risk callout) with markdown fallback for legacy runs — no migration, no LLM change. Collapsible rail ↔ 50px slim strip, centered document + sticky TOC.

Out-of-handoff screens (Etsy, Printful, Product Drafts, Analytics, Agent Runs) inherit the new tokens with no structural change.

Decisions

Built per the audit: full Studio rework, rail collapse, reports wired to real structured data, inbox keyword-table-or-evidence. Trends have no per-keyword/volume/time-series data, so the inbox keyword table, search volume, and sparkline remain honest placeholders (the code paths are ready when discovery emits that data).

Verification

  • ruff, ruff format, and mypy (strict) clean repo-wide (enforced by pre-commit hook).
  • 18 web + 92 unit tests pass. Updated the studio test for the new nothing-selected default; added a test for the structured-doc rendering path.
  • Live ASGI render (sqlite) of all three redesigned screens confirms the new structural markers, the list/detail sparkline split, and Slate fonts/CSS loading.
  • Not run: full docker stack (would rebuild images / collide with the local stack). Run make up for a final pixel check.

🤖 Generated with Claude Code

kevrez and others added 3 commits June 17, 2026 23:06
Replace the B1 "Concrete · Amber" look with the approved Slate direction:
desaturated terracotta accent, 4px radii, 1px hairlines, Spline Sans, no
uppercase, soft elevation shadows. Most of the change is a token/primitive
rewrite of b1.css that restyles every screen at once.

Structural work on the three handoff screens:
- Design Studio: one auxiliary panel at a time — toggleable composer XOR a
  right selected panel XOR full-width library; +New card, auto-fill grid.
- Trend Inbox: SVG sparkline macro with opacity ramp (neutral in the list,
  accent in the detail); calmed momentum figure; keyword-table-or-evidence.
- Research Reports: render the doc from ResearchRun.structured_result
  (opportunity card, prose sections, keyword chips, product pills, risk
  callout) with markdown fallback; collapsible rail + slim strip.

Out-of-handoff screens inherit the new tokens unchanged. Updates the studio
test for the new nothing-selected default and adds a structured-doc test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kevrez
kevrez merged commit cedf305 into main Jun 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant