Commit graph

10 commits

Author SHA1 Message Date
Bryan Helmkamp
726ab184dc Add cursor: pointer to all click targets site-wide
Add a global CSS base rule for interactive elements (buttons, links,
selects, summary, ARIA roles) and add cursor-pointer to clickable
table rows. Remove now-redundant per-element cursor-pointer classes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 22:36:21 -05:00
Bryan Helmkamp
3b8a0c3af2 Fix light mode colors for diff views and charts
The .light CSS variable overrides were defined before the :root dark
defaults, so equal-specificity source-order caused the dark values to
always win. Move .light overrides after each :root block so they
correctly take effect.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:12:13 -05:00
Bryan Helmkamp
2ed164d190 Add light mode support with theme toggle
Introduce semantic CSS custom properties (page, panel, fg, line, overlay,
etc.) that swap values via .light/.dark class on <html>. An inline script
reads localStorage / prefers-color-scheme before first paint to prevent
flash-of-wrong-theme.

- ThemeProvider + useTheme hook in app/lib/theme.tsx
- Sun/Moon toggle in desktop nav and mobile menu
- .light overrides for all semantic tokens, accent colors (WCAG AA on
  white), atmosphere gradient, @pierre/diffs surfaces, and chart variables
- Migrated ~30 files from hardcoded color classes to semantic tokens
- GraphViz diagrams use getGraphTheme() for light/dark hex maps
- Chart gridlines and axis labels use CSS custom properties
- Workflow card colors reference CSS vars for automatic theme switching
- Pierre diffs switch between pierre-dark and pierre-light themes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:06:45 -05:00
Bryan Helmkamp
615a3a2dbf Replace direct Shiki usage with @pierre/diffs File component
Use the File component from @pierre/diffs/react instead of manually
creating a Shiki highlighter instance. Register the custom DOT grammar
via attachResolvedLanguages and drop the direct shiki dependency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-28 16:49:43 -05:00
Bryan Helmkamp
51d58a904c Brand diff theme and reorganize run detail tabs
- Add CSS variable overrides for @pierre/diffs to match brand palette:
  navy backgrounds, mint additions, coral deletions, JetBrains Mono font
- Replace Logs tab with Overview tab as the new index route
- Move Stages to /stages sub-route
- Clean up unused imports from run-files-changed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 15:56:43 -05:00
Bryan Helmkamp
edf52a7c9f Add breadcrumbs, run detail tabs, and split diff view
- Add breadcrumbs to workflow detail (Workflows / title) and run detail
  (Runs / workflow / title) pages for navigation context
- Add workflow field to run data model linking runs to workflows
- Add run detail sub-route placeholders (stages, files changed, logs)
- Add split diff view on files changed tab using @pierre/diffs with
  example file diffs and wide layout
- Add shiki syntax highlighting styles and app shell wide mode support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 15:50:17 -05:00
Bryan Helmkamp
62c401336f Fix background gradient repeating on tall pages
Use background-attachment: fixed so the radial gradients stay anchored
to the viewport instead of tiling with the document height.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 14:33:11 -05:00
Bryan Helmkamp
4dfe86545f Switch sans-serif font from Inter to Geist
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 13:04:16 -05:00
Bryan Helmkamp
e73f6be166 Add background atmosphere and compact ghost pill action buttons
Background: radial teal/mint gradient with subtle film grain noise overlay.
Buttons: replace heavy full-width teal buttons with compact ghost pills
featuring icons + text labels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 12:59:02 -05:00
Bryan Helmkamp
1f366845ca Add arc-web React Router 7 app with pipeline kanban board
New Bun-based React Router 7 app with Tailwind CSS, branded with Arc
logo/colors. Features an app shell with nav routing (/start, /pipelines,
/settings) and a Trello-style pipeline board with Working, Pending,
Verify, and Merge columns showing PR cards with CI status, comments,
resources, and action buttons.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 12:34:18 -05:00