Skip to content

Two-button toasts wrap their buttons; bell dismiss no longer covers the timestamp - #401

Merged
uzayer merged 1 commit into
0.4.1from
uzayer/toast-button-layout
Oct 10, 2026
Merged

uzayer merged 1 commit into
0.4.1from
uzayer/toast-button-layout

Conversation

@uzayer

@uzayer uzayer commented Oct 10, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #399 and #400. These are layout fixes only; no behaviour changes.

Toast layout

Sonner puts the icon, the text and the buttons in a single flex row. With two actions (Open + Retry, Open settings + Retry, Open + Rebase or merge…), the buttons took about 150px, so the title and body wrapped every few words.

Now, when a toast has a cancel slot (that is, two buttons):

  • the text takes the whole first row beside the icon;
  • the buttons wrap onto their own row, right-aligned.

Sonner gives every button an auto start margin, which split the space between the two buttons on their own row. Only the first button keeps it now. One-button toasts are unchanged and stay inline. The change is CSS only, in globals.css, next to the existing toast description override, with the same specificity prefix.

Bell card

The ✕ that appears on hover sat on top of the "time ago" label. Now the label fades out while the card is hovered, or while the ✕ has keyboard focus, and the ✕ takes its place, aligned with the title row. The ✕ also gains an aria-label.

Tested

In bun run dev (Chrome):

  • Two-button toasts: both look right, with the text at full width and the buttons together bottom-right:
    • auto-fetch failure (Open, Retry);
    • agent-update failure with a long npm error (Open settings, Retry).
  • One-button toast: "behind its remote" (Open) is unchanged and inline.
  • Bell card: hovering swaps the timestamp for the ✕ with no overlap.

bun run ci:local is green. The Linux and Windows app jobs were skipped locally.

Not tested

  • The Tauri WebKit webview (dev:app or a release build). :has() is supported there (Safari 15.4+), but I only checked in Chrome.

…ell dismiss replaces the timestamp

Sonner lays icon, text and buttons out in one row, so a notification with two
actions squeezed its title and body into a narrow column. With a cancel slot
present the text takes the full row and the buttons wrap below, right-aligned.

The bell card's hover dismiss button sat over the 'time ago' label. The label
now fades out while the card is hovered (or the button has keyboard focus),
and the button takes its place, aligned with the title row.
@coderabbitai

coderabbitai Bot commented Oct 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1478fab8-f688-44ef-b03e-3404ee9e9c14

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@uzayer
uzayer merged commit cbd1923 into 0.4.1 Oct 10, 2026
9 checks passed
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.

1 participant