feat(home): add "the new Adam" announcement banner

Merged
AA
4mo ago
+311-3

Summary

Home/shell branding changes:

  1. Adds a "the new Adam is here" announcement banner to the CADAM home page, inviting text-to-CAD users up to the full Adam product (https://adam.new).
  2. Replaces the top-left sidebar brand mark (expanded state) with the new CADAM wordmark.
  3. Switches the browser favicon to the blue CADAM icon.

Branding

Sidebar logo

  • Swaps the expanded-sidebar logo from adam-logo-full.svg to the new CADAM wordmark (public/cadam-logo.svg).
  • The collapsed-sidebar icon (adam-logo.svg) is unchanged — the provided artwork is a wide wordmark and the collapsed slot needs a square mark.
  • Modified: src/components/Sidebar.tsx; New asset: public/cadam-logo.svg.

Favicon

  • Extracts the blue swoosh mark from the CADAM wordmark into a standalone, centered square icon and points the favicon at it.
  • SVG favicon as primary (public/cadam-icon.svg), with a multi-size .ico fallback (public/cadam-icon.ico, 16/32/48/64/128) for older browsers.
  • Modified: src/routes/__root.tsx.

Announcement banner

What it does

  • Floating, centered card in the gap below the prompt composer; shows to both signed-in and signed-out users.
  • Hub-and-spoke logo cluster — the pink Adam mark centered and lifted as the hub, with the Onshape + Fusion badges tucked behind it, so the stack itself reads as "Adam connects to your CAD."
  • Polished motion — fade + slide + scale entrance/exit; the dismiss-X collapses the card and persists to localStorage (with an in-memory fallback for private mode), SSR-safe via useSyncExternalStore.
  • CTA opens adam.new in a new tab and fires posthog.capture('new_product_banner_click', { location: 'prompt_view' }), wrapped so analytics never blocks navigation.

Copy (in a single COPY constant, easy to swap)

  • Headline: The new Adam is here
  • Subtext: Adam now works inside your real CAD in Onshape and Fusion, editing models, BOMs, and drawings.
  • CTA: Try now

Files

  • New: src/components/NewProductBanner.tsx
  • New assets: public/adam-logo-pink.svg, public/onshape.png, public/fusion.svg
  • Modified: src/views/PromptView.tsx (renders the banner, bottom-anchored below the composer)

Notes

  • Dark-theme tokens throughout; white CTA with a black label and an explicit focus ring (the app never applies a .dark class, so the Button's default ring-ring would be invisible on the dark card).
  • tsc -b --noEmit, eslint, and prettier all pass.

šŸ¤– Generated with Claude Code