feat(ui): add multi-select and batch deletion for slide version history #11

Closed
despiegk wants to merge 0 commits from development_multi_select_version_history into main
Owner

Summary

  • Add checkboxes to non-current version cards in the Version History panel
  • Add Select All toggle and Delete (N) button to the version panel toolbar
  • New slide.deleteVersions RPC method removes .png and .md files for selected version tags from disk
  • Current version card is protected (checkbox disabled, not selectable)
  • Confirm modal before deletion; version list reloads automatically after

Closes #9

Changes

  • crates/hero_slides_lib/src/deck.rs — new slide_delete_versions() function
  • crates/hero_slides_lib/src/lib.rs — re-export slide_delete_versions
  • crates/hero_slides_server/src/rpc.rsslide.deleteVersions RPC handler
  • crates/hero_slides_server/openrpc.jsonslide.deleteVersions method spec
  • crates/hero_slides_server/openrpc.client.generated.rs — client stub
  • crates/hero_slides_ui/static/css/dashboard.css — selection highlight + toolbar styles
  • crates/hero_slides_ui/static/js/dashboard.js — multi-select state + deletion logic
  • crates/hero_slides_ui/templates/index.html — toolbar markup

Test Results

  • Passed: 56 / 57
  • Failed: 0
  • Ignored: 1 (AI integration test requiring live service)
## Summary - Add checkboxes to non-current version cards in the Version History panel - Add Select All toggle and Delete (N) button to the version panel toolbar - New `slide.deleteVersions` RPC method removes `.png` and `.md` files for selected version tags from disk - Current version card is protected (checkbox disabled, not selectable) - Confirm modal before deletion; version list reloads automatically after ## Related Issue Closes https://forge.ourworld.tf/lhumina_code/hero_slides/issues/9 ## Changes - `crates/hero_slides_lib/src/deck.rs` — new `slide_delete_versions()` function - `crates/hero_slides_lib/src/lib.rs` — re-export `slide_delete_versions` - `crates/hero_slides_server/src/rpc.rs` — `slide.deleteVersions` RPC handler - `crates/hero_slides_server/openrpc.json` — `slide.deleteVersions` method spec - `crates/hero_slides_server/openrpc.client.generated.rs` — client stub - `crates/hero_slides_ui/static/css/dashboard.css` — selection highlight + toolbar styles - `crates/hero_slides_ui/static/js/dashboard.js` — multi-select state + deletion logic - `crates/hero_slides_ui/templates/index.html` — toolbar markup ## Test Results - Passed: 56 / 57 - Failed: 0 - Ignored: 1 (AI integration test requiring live service)
feat(ui): add multi-select and batch deletion for slide version history
Some checks failed
Test / test (push) Failing after 1m28s
Test / test (pull_request) Failing after 1m28s
11e9f7c2b6
Adds checkboxes to each non-current version card in the Version History
panel, a Select All toggle, and a Delete (N) button that removes the
selected versions' .png and .md files from disk via a new
slide.deleteVersions RPC method.

#9
casper-stevens closed this pull request 2026-04-17 07:48:25 +00:00
Some checks failed
Test / test (push) Failing after 1m28s
Test / test (pull_request) Failing after 1m28s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_slides!11
No description provided.