john-okeefe
ef3c05714a
fix(ui): custom confirm dialog, picker visibility, remove wiring
...
Three fixes for the collection detail page:
1. Picker modal never showed because the outer overlay div had
style="display:none" with no x-show binding — add x-show bound
to $store.bookPicker.isOpen plus a backdrop and click-to-close.
2. Replace native confirm() with an in-page Alpine modal for UI
continuity. Add confirm dialog state (showConfirm, confirmMessage,
pendingAction) and methods (requestRemoveBook, requestBulkRemove,
executeConfirmed, closeConfirm) to the collections component.
The actual API calls (doRemoveBook/doBulkRemove) are triggered only
when the user confirms.
3. Rename removeBook → requestRemoveBook and bulkRemove →
requestBulkRemove in template + JS renderer so the dialog opens
instead of navigating or failing silently.
2026-08-06 10:55:37 -04:00
..
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:44:52 -04:00
2026-05-24 21:20:24 -04:00
2026-03-27 15:52:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:44:52 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-06 10:55:37 -04:00
2026-08-06 10:55:37 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-06 08:01:33 -04:00
2026-08-06 08:01:33 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-05-24 21:20:24 -04:00
2026-02-20 13:25:35 -05:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-06 08:14:10 -04:00
2026-08-06 08:14:10 -04:00
2026-08-05 16:03:07 -04:00
2026-08-05 16:03:07 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:44:52 -04:00
2026-08-06 08:24:54 -04:00
2026-08-06 08:24:54 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:44:52 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-06 09:51:04 -04:00
2026-08-06 09:51:04 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:44:52 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:03:07 -04:00
2026-05-24 21:20:24 -04:00
2026-05-10 16:13:21 -04:00
2026-07-30 11:41:13 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:03:07 -04:00