Skip to content

fix(spa): detail toolbar buttons inline, drop ml-auto cluster (#677) + 1.11.2#678

Merged
MartinCastroAlvarez merged 1 commit into
mainfrom
fix/detail-toolbar-inline-no-ml-auto
Jun 2, 2026
Merged

fix(spa): detail toolbar buttons inline, drop ml-auto cluster (#677) + 1.11.2#678
MartinCastroAlvarez merged 1 commit into
mainfrom
fix/detail-toolbar-inline-no-ml-auto

Conversation

@MartinCastroAlvarez
Copy link
Copy Markdown
Owner

Closes #677.

Summary

The detail-page toolbar grouped History / Refresh / Edit / Delete in a right-aligned ml-auto cluster (added in #658, reinforced in #672). On a wrapped toolbar that reads as a second toolbar in its own column, and on narrow viewports the cluster floats disconnected from the row it logically follows.

Per #677, the built-ins are now plain buttons in the single flex-wrap toolbar, flowing inline with the custom @admin.action buttons and wrapping naturally wherever they fall.

Change

  • Removed the <div className="ml-auto …"> wrapper around Refresh/Edit/Delete; they're now direct children of the one toolbar flex container.
  • DOM order preserved: [History] [...custom batch actions] [...custom detail actions] [Refresh] [Edit] [Delete] — render order == DOM order, no skipping.
  • No ml-auto / spacer / second-column treatment anywhere in the toolbar. Destructive emphasis on Delete stays the button's own variant, not its position.

Acceptance criteria (from #677)

  • Single flex-wrap container; no ml-auto (or equivalent) right-aligning a subset.
  • DOM order [History] [...custom] [Refresh] [Edit] [Delete], render order == DOM order.
  • Built-ins visually indistinguishable in placement from custom actions (same flow).
  • Delete emphasis via variant, not layout.

Tests

Flipped the two regression guards that previously pinned the ml-auto cluster (#658/#672) to assert the no-ml-auto inline contract + preserved DOM order. DetailPage suite 6 passed; eslint (max-warnings 0), dark-mode coverage, web typecheck all green. Patch release 1.11.2.

🤖 Generated with Claude Code

…+ 1.11.2

History / Refresh / Edit / Delete were grouped in a right-aligned `ml-auto`
cluster (#658/#672), which read as a second toolbar in its own column and
could float disconnected from its row on narrow viewports. They are now plain
buttons in the single `flex-wrap` toolbar, flowing inline with the custom
`@admin.action` buttons and wrapping naturally — DOM order
`[History] [...custom actions] [Refresh] [Edit] [Delete]`, no spacer.
Destructive emphasis on Delete stays the button's own variant, not position.

Flips the two regression tests that pinned the `ml-auto` cluster to assert
the no-ml-auto inline contract (DOM order preserved).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@MartinCastroAlvarez MartinCastroAlvarez merged commit 2e44b8a into main Jun 2, 2026
6 checks passed
@MartinCastroAlvarez MartinCastroAlvarez deleted the fix/detail-toolbar-inline-no-ml-auto branch June 2, 2026 11:19
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.

Detail-page toolbar: keep History / Refresh / Edit / Delete inline with custom actions, not in a right-aligned column

2 participants