Central CTA + background bugfix - #4052
Conversation
|
❌ UI Snapshot doesn't match the committed baseline. If this UI change is intentional, update the baseline — each path renders in the same pinned image, so the result matches this gate:
Diff PNGs ( |
|
Landing screen:
- Headline moves to Hanken Grotesk at 400 weight ("What should we build?"),
self-hosted via @fontsource-variable so no CDN is involved, exposed as the
`font-display-alt` token.
- The project variant swaps the bare folder glyph for a pink rounded tile,
using a new `tag-pink` token from the design's tag palette.
- The composer placeholder and its aria-label now name the selected project
("Start a new session in <project>") instead of always reading the generic
task prompt.
Bug fix — the mobile sidebar was see-through. Below md the sidebar is a
full-screen overlay on top of the chat, but the per-theme canvas rules paint
it with the `background` shorthand, which resets background-color and silently
overrode Sidebar.tsx's max-md:bg-card-solid; the dark stack is entirely
translucent, so the conversation showed straight through. Restores an opaque
fill under the gradients below md only, at matching specificity and after the
theme rules, so desktop keeps its intended translucency.
Adds regression tests for that contract, and updates the landing-screen tests
and visual-suite docs for the new headline.
Co-authored-by: Isaac
Signed-off-by: Hubert Zub <hubert.zub@databricks.com>
4702e30 to
092d2ac
Compare
|
✅ Regenerated the visual baseline(s) in the pinned Playwright image and pushed to this PR. CI will re-run on the new commit. |
|
🏷️ Doc impact: This PR only tweaks UI copy ("What should we build?"), adds a font/color token, fixes a mobile sidebar transparency bug, and reorders dependencies — cosmetic/internal changes with no user-facing surface, integration, or documented behavior affected. Auto-classified on merge. Set the label manually before merging to override. · run |
Related issue
https://linear.app/omnigent/issue/OMNI-2360/show-the-project-specific-new-session-design
https://linear.app/omnigent/issue/OMNI-2328/match-the-logo-and-headline
plus a follow-up fix for a regression from #4020.
Summary
sm, so the icon and headline stay stacked and centred.aria-labelnow read "Start a new session in " instead of the generic task prompt, so the input says which project you're starting in.@fontsource-variable/hanken-grotesk— the same pattern the repo already uses for Geist Mono, so the woff2 files ship in our own bundle with no CDN or runtime dependency. Exposed as thefont-display-alttoken, which falls back to the UI stack if the font hasn't loaded.tag-pinktoken.rgba(240, 1, 150, 0.06)from the design's tag palette, generatingbg-tag-pink. Dark mode uses a heavier 15% wash, since 6% is invisible against the dark canvas.mdthe sidebar is a full-screen overlay on top of the chat. feat(web): make the rails flush boxes and move the canvas gradient #4020 started painting its canvas with thebackgroundshorthand, which resetsbackground-colorto transparent and silently overrodeSidebar.tsx'smax-md:bg-card-solid; the dark stack is entirely translucent, so the conversation showed straight through the open sidebar. An opaque fill is restored under the gradients belowmdonly, so the desktop sidebar keeps the translucency it's meant to have. The override matches the theme rules' specificity and follows them — otherwise the shorthand wins the tie.web/package.jsonalso picks up two incidental tidies frompnpm add:pdfjs-distmoves into alphabetical order, and two duplicate@tiptapentries that were listed twice are collapsed.Test Plan
npm run test src/index.css.test.ts— 13 passing, including two new guards for the mobile-sidebar contract. Verified they aren't vacuous: stripping the fix makes exactly those 2 fail, restoring it returns 13/13.npm run testfor the shell suites (Sidebar,AppShell) — passing.npm run test src/shell/NewChatDialog*— 226 passing. Two landing-screen assertions still expected the old "What should we do?" headline and are updated; the visual-suite docstring and README references are updated too.npm run build— the Hanken Grotesk woff2 files are emitted into our own assets, confirming nothing resolves to a CDN at runtime.npm run type-checkandprettier --checkclean.Demo
Type of change
Test coverage
Coverage notes
The sidebar fix has real regression cover: the new
index.css.test.tsguards fail if the opaque-fill rule is removed, loses the cascade to the theme rules, or stops covering either theme — which is exactly how the bug slipped through in #4020 (a shorthand quietly resettingbackground-color, with nothing pinning it).The placeholder change also moves the composer's
aria-label, so it's behavioural for screen readers; no test queried that label (the suites use thedata-testid), and it was checked by eye on both landing variants.The CTA restyle is appearance only — font, colour, and layout classes with no behavioural surface — so it's verified by eye in both themes and both landing variants, and by the committed visual baselines.
Changelog
The landing screen headline has a new look, and the sidebar is no longer transparent over the conversation on narrow screens.