Skip to content

ui: modern surface revamp (light + dark) - #13

Merged
devtechedge merged 1 commit into
mainfrom
ui/modern-surface-revamp
Sep 20, 2026
Merged

devtechedge merged 1 commit into
mainfrom
ui/modern-surface-revamp

Conversation

@devtechedge

Copy link
Copy Markdown
Owner

Summary

Full visual UI revamp for Synthesis — themes, typography, surfaces, and report pane scrolling. No functional/API changes.

What changed

  • Dark mode typography: Near-white primary text (#f8fafc / #ffffff headings), stronger muted hierarchy — no more dim washed-out copy.
  • Light mode chrome: Removed hard-coded black boxes (bg-[#05060f], bg-[#0b0e1a], bg-black/*). Header, research brief, agent graph, report tabs, telemetry, and recent runs all use theme tokens so light mode stays fully light and cohesive.
  • Report panel: Contained reading height (max-height: min(70vh, 720px)), overflow-y: auto, thin overlay scrollbar that appears on hover / focus / scroll intent (.scrollbar-overlay + .is-scrolling).
  • Fonts: Inter (sans) + JetBrains Mono via next/font/google on layout.tsx.
  • Design system: CSS variables + semantic classes (.panel, .chrome-header, .input-surface, .text-heading, .text-dim, etc.) that flip with [data-theme].

Files

  • src/app/globals.css — theme tokens, surfaces, scrollbars, markdown
  • src/app/layout.tsx — Inter + JetBrains Mono
  • src/components/synthesis/App.tsx — theme-aware chrome (was hard-coded dark)
  • src/components/synthesis/ReportView.tsx — theme text; scroll owned by parent pane
  • src/components/synthesis/AgentGraph.tsx — theme-aware pending nodes / edges
  • src/components/synthesis/Timeline.tsx — theme text colors; height via parent pane
  • src/components/ThemeToggle.tsx — unchanged behavior (synthesis-theme localStorage)

Verification checklist

  • Toggle light ↔ dark; confirm localStorage key synthesis-theme persists
  • Dark: body/report text bright and legible (near-white)
  • Light: no black header / brief / graph / report wrappers — all light surfaces
  • Load or run a brief with a long report → panel stays viewport-bounded; thin scrollbar appears on hover/scroll
  • Tabs (timeline / report / evidence), agent graph, telemetry, truth/reflection, recent scans, theme toggle all still work
  • Fonts load (Inter + JetBrains Mono)

Live reference (before): https://synthesis-gold.vercel.app/

Bright high-contrast dark typography, fully light chrome in light mode,
contained report pane with thin auto-hide scrollbar, Inter + JetBrains Mono,
and theme CSS variables replacing hard-coded dark surfaces.
@vercel

vercel Bot commented Sep 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
synthesis Ready Ready Preview Sep 20, 2026 1:59am UTC

@devtechedge
devtechedge merged commit 34023f4 into main Sep 20, 2026
7 checks passed
@devtechedge

Copy link
Copy Markdown
Owner Author

Closing: internal work lands as direct commits on main (no PR). Changes already fast-forwarded to main @34023f4.

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