Skip to content

feat(desktop): restyle the release-notes sidebar card - #9412

Merged
Kitenite merged 2 commits into
mainfrom
banner-hover-polish-81374471
Nov 6, 2026
Merged

Kitenite merged 2 commits into
mainfrom
banner-hover-polish-81374471

Conversation

@Kitenite

@Kitenite Kitenite commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Summary

  • The release-notes card in the sidebar (the one card that has an image) is now a full-bleed dark card. The whole release image fills the card edge to edge at its natural ratio, and the title and date sit over a bottom gradient.
  • On hover, the card lifts, the image zooms slowly, and a quiet "—" dismiss button fades in. This replaces the always-on floating ✕ circle.
  • The card slot is inset 16px instead of 12px, so cards line up with the sidebar icon column. The slot also enters with a slight scale and a smoother ease.

Why / Context

The old card read as a generic bordered box with a thumbnail. This brings it closer to the polished promo cards in other tools: the image carries the card, the chrome stays out of the way until you hover, and dismiss is there but quiet.

How It Works

  • SidebarCard (packages/ui) has a separate render branch when media is set. Cards without media (hiring, payment failed) render exactly as before, except they share the new 16px slot inset.
  • The click overlay (z-10) covers the card. The dismiss button (z-20) sits above it, so dismissing never opens the dialog.
  • The release-notes image keeps its natural ratio (no crop), so the whole hero shows.

Manual QA Checklist

Checked in the dev app over CDP, with the card forced on through the dev preview flag and fed the production changelog.json:

  • Card renders with the full image, title "Paradev 2.0.3" and date "Nov 1"
  • Hover: card lifts, image zooms, dismiss opacity goes from 0 to 1
  • Clicking the card opens the release-notes dialog, and Esc closes it and hides the card
  • Clicking "—" dismisses the card without opening the dialog
  • Card left edge sits at 16px, matching the nav icons
  • Light theme: the card is dark by design in both themes. Not checked in light mode.

Testing

  • bun run typecheck in apps/desktop and packages/ui
  • biome check on the changed files

Summary by cubic

Restyles the release-notes sidebar card so the screenshot carries the card instead of a generic bordered thumbnail; the card is now a full-bleed dark card, and hover interactions replace the always-on dismiss button.

  • The image sits inset in its own rounded frame on black, with the title and date over a bottom gradient; hovering lifts the card, zooms the image, and fades in a quiet "—" dismiss button instead of the always-on ✕ circle.
  • The card slot inset moves from 12px to 16px to line up with the sidebar icon column, and the slot entry animation now has a slight scale and smoother easing.
  • Cards without media (hiring, payment failed) render exactly as before, sharing only the new slot inset, and the release-notes image now renders full width, edge to edge.

Written for commit c0d0e05. Summary will update on new commits.

View guided diff Turn on auto-fix

Summary by CodeRabbit

  • New Features
    • Media cards now use a dark, edge-to-edge layout with an image overlay, title, optional badge and description, and media-specific controls.
  • Style
    • Sidebar cards now have a smoother entry and exit animation and slightly increased horizontal spacing.
    • The release-notes card image now fills the available width in a taller 5:4 layout.

The card with an image is now a full-bleed dark card: the screenshot
sits inset in its own frame, the title and date overlay a bottom
gradient, and hover lifts the card, zooms the image and reveals a
quiet minus dismiss button. The slot is inset 16px to line up with
the sidebar icon column.
@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

Caution

Review failed

The pull request is closed.

Walkthrough

The sidebar card component now uses a dedicated layout for media cards. The desktop card slot changes its animation and padding, and the release-notes card image changes its sizing and aspect ratio.

Changes: Sidebar card presentation

Layer / File(s) Summary
Media and standard card layouts
packages/ui/src/components/ui/sidebar-card.tsx
Media cards now render in a dedicated layout with a gradient-backed title and optional badge, description, click overlay, dismiss control, children, and action button. Cards without media retain the standard layout, with updated dismiss control styling.
Desktop card motion and image sizing
apps/desktop/src/renderer/components/SidebarCardSlot/SidebarCardSlot.tsx, apps/desktop/src/renderer/components/SidebarCardSlot/cards/useReleaseNotesCard/useReleaseNotesCard.tsx
The card slot adds scale animation and changes its transition and horizontal padding. The release-notes image changes to a 5:4 aspect ratio with full-width sizing and top alignment.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: avipeltz

Merge Risk: Low · up to 87202

The restyle has bounded keyboard-focus and inline-control interaction issues, and can slightly overcount card impressions during sidebar collapse. These are low-impact concerns suitable for localized fixes or accepted follow-up.

- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found and verified against the latest diff

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="apps/desktop/src/renderer/components/SidebarCardSlot/SidebarCardSlot.tsx">

<violation number="1" location="apps/desktop/src/renderer/components/SidebarCardSlot/SidebarCardSlot.tsx:47">
P2: The new scale transform runs unconditionally, so users with `prefers-reduced-motion` enabled still receive the newly introduced scale entry/exit animation. Use `useReducedMotion()` to disable the added scale and transition for this slot.</violation>
</file>

Tip: Get a Slack DM when cubic finishes reviewing your PRs. Connect Slack

View guided diff | Turn on auto-fix | Re-trigger cubic

exit={{ opacity: 0, y: 8 }}
transition={{ duration: 0.2 }}
className="px-3 pb-2"
initial={{ opacity: 0, y: 8, scale: 0.98 }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The new scale transform runs unconditionally, so users with prefers-reduced-motion enabled still receive the newly introduced scale entry/exit animation. Use useReducedMotion() to disable the added scale and transition for this slot.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At apps/desktop/src/renderer/components/SidebarCardSlot/SidebarCardSlot.tsx, line 47:

<comment>The new scale transform runs unconditionally, so users with `prefers-reduced-motion` enabled still receive the newly introduced scale entry/exit animation. Use `useReducedMotion()` to disable the added scale and transition for this slot.</comment>

<file context>
@@ -44,11 +44,11 @@ export function SidebarCardSlot({
-					exit={{ opacity: 0, y: 8 }}
-					transition={{ duration: 0.2 }}
-					className="px-3 pb-2"
+					initial={{ opacity: 0, y: 8, scale: 0.98 }}
+					animate={{ opacity: 1, y: 0, scale: 1 }}
+					exit={{ opacity: 0, y: 8, scale: 0.98 }}
</file context>

@github-actions

github-actions Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview Deployment

🔗 Preview Links

Service Status Link
Neon Database (Neon) ✅ View Branch
Vercel API (Vercel) ✅ Open Preview
Vercel Web (Vercel) ✅ Open Preview
Vercel Marketing (Vercel) ✅ Open Preview
Vercel Docs (Vercel) ✅ Open Preview

Preview updates automatically with new commits

@Kitenite
Kitenite merged commit de30adb into main Nov 6, 2026
16 checks passed

This branch was previously deployed

1 inactive deployment
preview — c0d0e050 Deployed Nov 6, 2026 by Kitenite via Deploy Docs #13970
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.

2 participants