DO NOT MERGE — Redesign UI on the FORRT design system - #7
Conversation
Adopt FORRT's Replication Atlas (Explore) design system across the Explorer, replacing the ad-hoc --flora-* palette and Inter/Source Serif type with the system's tokens. - assets/ds-tokens.css: the system's tokens verbatim (frozen #853953 brand ramp, #2c2c2c neutral, semantic fg/bg/border triples, study-type blue/violet pair, Domine + Source Sans 3, 6/10/100/14px shape scale, three elevation levels, .12s/.2s motion), plus a [data-theme="dark"] block extending the system, which is light-only upstream. - assets/styles.css: rewritten on those tokens, following the system's component conventions — 10px tracked-uppercase micro-labels, semantic badges as soft triples rather than solid fills, pill chips that go faint-tinted when active, 3px brand left rails on notable rows, Domine italic for citations, dark topbar paired with a dark footer. - Replace the --flora-primary-dark-accent duplicate-rule pattern with a single --flora-accent that lightens on dark, dropping ~25 redundant dark-mode overrides. - app.js / citation-impact.js: chart palettes moved to the same semantic colours; style .mc-stat-box, which was rendered but had no CSS. - index.html: load the brand fonts, full-bleed footer, topbar theme-color. Two deliberate deviations, documented in the README: the WIP corner ribbon stays on the error ramp (on brand plum it reads as decoration, not caution), and the system's fixed-height 100dvh app shell is not adopted — this is a scrolling multi-tab dashboard, not the Atlas's three-pane explorer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
@Keegan-Vaz could you take a look at this design-system redesign when you get a chance? Formal review request isn't possible — you're not currently a collaborator on this repo, so GitHub rejects it. Tagging you here instead. |
The previous commit adopted the Replication Atlas token sheet. This rebuilds on design_system/design-system.html, the full living style guide, which documents the real component conventions rather than just the tokens. Colours are unchanged: the guide's values match design_system/claude_design_colors/tokens/colors.css exactly. Tokens (assets/ds-tokens.css) - Transcribed the full sheet: colour ramps, type scale, 4px spacing grid, 2->14px radius ladder, elevation, focus rings, motion, z-scale. - Upstream ships two naming layers, the generated --color-* scale and a short legacy alias layer (--primary, --text, ...). Only --color-* is kept; that is what the guide's own CSS uses, and one layer is one place to look. The app's separate --flora-* layer is gone with it. - The dark block moves --color-primary itself up the ramp: at #853953 the maroon fails contrast on a dark surface, so one brand token now serves both themes instead of every rule carrying an override. Type scale (a deliberate deviation, documented in the README) The system sets body copy at 14px and interface text at 13px and stops at 36px. That density suits its three-pane explorer, read close up. This is a wide scrolling dashboard, so body copy is 16px and the ramp gained --text-3xl (30px) and --text-5xl (48px). Applying the system's density literally made the page cramped and the hierarchy muddy. Headline figures across the overview cards, the KPI band and the Mean Citedness boxes are all --text-4xl, so the same kind of number is the same size wherever it appears. Components (assets/styles.css) - Serif reserved for scholarly content; navigation moved to the body font with a 2px active rule. - Badges uppercase, bold, tracked; chips active as a maroon tint plus border, never a fill; ghost controls take on the brand colour on hover rather than gaining a fill; focus replaced with --shadow-focus-primary rather than removed. - Deduplicated five ghost-button blocks, four input blocks and four copies of the micro-label typography into one rule each. - Browse table sizes columns to content instead of table-layout:fixed: titles wrap to two lines rather than four, DOIs no longer break mid-token, outcome badges no longer split across lines. Charts (app.js, citation-impact.js) - Palettes, axis colours and translucent overlays were hard-coded hexes duplicating the token values; they now resolve through a token() helper at render time, so charts follow the dark theme. - Three duplicate Plotly theme functions collapsed into one. index.html - 14 inline font-size declarations replaced by .note / .note-detail. design_system/ is committed as the source these tokens came from. Verified: all six tabs render in light and dark with no console errors (Chart.js, Plotly and DataTables views, plus the citation-impact modal). Mobile width is unverified - the responsive rules were renamed and resized but not restructured, and the browser resize did not change the rendering viewport. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Pushed Not consistently better than The token consolidation, the theme-aware chart colours and the Browse-table column sizing are improvements I'd stand behind. The type scale is the open question: the style guide's 13/14px density made this dashboard cramped, so it was re-tuned upward (body 16px, new 30px and 48px rungs). That is a deliberate departure from the shared system and needs a decision rather than a merge. Mobile width ( Details in the PR description. |
Commit 2 — rebuild on the full living style guide (
1557bad)The first commit adopted the Replication Atlas token sheet. This one
rebuilds on
design_system/design-system.html, the full living styleguide, which documents the real component conventions rather than just
the tokens. Colours are unchanged — the guide's values match
design_system/claude_design_colors/tokens/colors.cssexactly.Probably good
--color-*scaleand a short legacy alias layer (
--primary,--text, …). Only--color-*is kept, and the app's separate--flora-*layer is gonewith it. One name per value.
overlays were hard-coded hexes duplicating the token values. They now
resolve through a
token()helper at render time, so charts respond todark mode. Three duplicate Plotly theme functions collapsed into one.
--color-primaryitself moves up the ramp ondark (at
#853953the maroon fails contrast on a dark surface), so onebrand token serves both themes instead of every rule carrying an
override.
copies of the micro-label typography collapsed into one rule each. 14
inline
font-sizedeclarations inindex.htmlbecame.note/.note-detail.table-layout: fixed: titles wrap to two lines rather than four, DOIsno longer break mid-token, outcome badges no longer split across lines.
--color-scrim-cool,--z-overlaywere referenced but never defined, silently disabling themodal backdrop and the ribbon tooltip's stacking).
Contentious — this is the part to argue about
The style guide sets body copy at 14px, interface text at 13px, and its
ramp stops at 36px. That density suits its three-pane explorer, read
close up. Applied literally to this wide scrolling dashboard it looked
cramped and the hierarchy went muddy, so the scale was re-tuned:
--text-5xl, added)--text-3xl, added)This is a deliberate departure from the system, documented in the README.
Whether it is the right call is exactly what needs a second opinion —
it trades fidelity to the shared system for legibility on this page, and
it is the reason this PR is not simply mergeable.
Verified
All six tabs render in light and dark with no console errors — Chart.js,
Plotly and DataTables views, plus the citation-impact modal.
Not verified
Mobile width. The responsive rules under
max-width: 768pxwererenamed and resized but not restructured, and the browser resize would
not change the rendering viewport, so the mobile layout is unchecked.
Also added
design_system/is committed as the source these tokens came from(the living style guide plus the exported token sheet).
Commit 1 — original PR description
Adopts FORRT's Replication Atlas (Explore) design system across the Explorer, replacing the ad-hoc
--flora-*palette and Inter/Source Serif type with the system's tokens.What's here
assets/ds-tokens.css(new) — the system's tokens transcribed verbatim: the frozen#853953brand ramp,#2c2c2cneutral, semantic fg/bg/border triples, the study-type blue/violet pair, Domine + Source Sans 3, the 6/10/100/14px shape scale, three elevation levels, the.12s/.2smotion pair. Plus a[data-theme="dark"]block extending the system into a plum-tinted dark ramp — the system is light-only upstream, and the app already had dark mode.assets/styles.css— rewritten to consume those tokens. Beyond the recolour, the component patterns the system specifies:index.html)Replaces the
--flora-primary-dark-accentduplicate-rule pattern with a single--flora-accentthat lightens on dark, dropping ~25 redundant dark-mode override rules.app.js/citation-impact.js— chart palettes moved to the same semantic colours; the categorical palette now leads with the brand ramp. Also styles.mc-stat-box, which was rendered on the Authorship Overlap tab but never had CSS.Two deliberate deviations
Both documented in the new README "Styling" section:
--errorramp. On brand plum it read as decoration and lost its caution signal.100dvhapp shell with independently scrolling panels is not adopted — this is a scrolling multi-tab dashboard, not the Atlas's three-pane explorer.Verification
Checked in the browser across all six tabs, both light and dark themes, and the mobile card layout. No console errors.
Not included: the
Explore Design System - Main/source folder is left untracked — happy to vendor it into the repo if that's useful for future contributors.🤖 Generated with Claude Code