Commit 8c1685a
chore(release): v1.0.2 — filter-row wrap, detail-page actions + header
Three SPA polish bugs reported against v1.0.1, all addressed in this PR;
no API / contract / schema change.
#570 — list filter row wrap (FilterBar trailing slot)
-----------------------------------------------------
The trailing slot rendered its children inside a sub-wrapper
"<div className=ml-auto flex flex-wrap>" — which behaved as one
flex item in the outer container. When the filter pills wrapped
onto a second line, the trailing wrapper wrapped as a unit and
ml-auto pushed it to the right edge of the new (empty) line —
producing the visually-separate "second toolbar row" the pilot
reported.
Fix: render the trailing children as DIRECT siblings of the
pills, no sub-wrapper. React.Children.toArray + cloneElement
injects ml-auto on the first non-null trailing child to push the
cluster right; flex-wrap then keeps the trailing buttons glued
to the end of the last pill row, never on a separate line.
#571 — per-object actions on detail (single-pk semantics)
---------------------------------------------------------
PR #562 (closing #555) wired the detail page to the CHANGELIST
actions endpoint with a one-pk array. That was the wrong
primitive: bulk-action verbs (selected files, selected items)
are list semantics and confused the operator on a single-object
page, and the per-object change_actions from
django-object-actions (which the API already surfaces as
data.object_actions) were visually buried.
Fix: drop the changelist-actions rendering from DetailPage
entirely. ObjectActionButton (already wired to runObjectAction
→ POST app/model/pk/action/name/) remains; it is the correct
single-pk primitive. Side effect: ~1.4 kB drop in the SPA
bundle from removing the unused useList, runAction,
confirm-modal, and runner code paths.
#572 — detail header layout (title squeezed, toolbar not right-aligned)
-----------------------------------------------------------------------
The header used sm:justify-between with no width hint on either
side, so the title block + toolbar block split horizontal space
roughly 50/50 even when the title needed more and the toolbar
would fit in less. The toolbar block had flex flex-wrap but no
justify-end, so wrapped button rows were left-aligned within the
right column — reading as "centered between title and viewport"
rather than "right-aligned to the page".
Fix: title block → min-w-0 flex-1 (claims all available width,
truncates only when it has to). Toolbar block →
shrink-0 flex-wrap justify-end. Toolbar only pushes the title
when its content genuinely needs the room, and wrapped button
rows hug the right edge.
Closes #570, #571, #572.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 6d792d0 commit 8c1685a
3 files changed
Lines changed: 48 additions & 108 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | 25 | | |
28 | 26 | | |
29 | 27 | | |
| |||
186 | 184 | | |
187 | 185 | | |
188 | 186 | | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
201 | 194 | | |
202 | 195 | | |
203 | 196 | | |
| |||
212 | 205 | | |
213 | 206 | | |
214 | 207 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | 208 | | |
263 | 209 | | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
264 | 216 | | |
265 | | - | |
| 217 | + | |
266 | 218 | | |
267 | 219 | | |
268 | 220 | | |
| |||
278 | 230 | | |
279 | 231 | | |
280 | 232 | | |
281 | | - | |
| 233 | + | |
282 | 234 | | |
283 | 235 | | |
284 | 236 | | |
| |||
323 | 275 | | |
324 | 276 | | |
325 | 277 | | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | | - | |
343 | 278 | | |
344 | 279 | | |
345 | 280 | | |
| |||
437 | 372 | | |
438 | 373 | | |
439 | 374 | | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
452 | | - | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | 375 | | |
466 | 376 | | |
467 | 377 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
13 | 21 | | |
14 | 22 | | |
15 | 23 | | |
| |||
104 | 112 | | |
105 | 113 | | |
106 | 114 | | |
107 | | - | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
108 | 138 | | |
109 | 139 | | |
110 | 140 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments