Add search, bulk actions, undo, and storage usage to File Management
- Manage Library search: find any course/folder by name anywhere in the tree instead of expanding levels one by one; results carry the same Move/Rename/Hide actions. - Bulk select: every row gets a checkbox, so items found via search or expanded across different tree levels can be hidden, shown, or moved to the same destination together in one batch. - Undo last action: a "Last action: ... [Undo]" bar appears after any move/rename (Sort Unsorted apply, Bulk Rename apply, a Manage Library move/rename, a bulk move) and reverses the whole batch. Deliberately never covers Hide/Show (already a one-click toggle) or Delete (permanent by design) - only ever move/rename, which are trivially reversible. Re-checks each item before reversing it, so a partial failure reports exactly what did and didn't reverse. - Storage Usage: disk usage per top-level library folder, largest first, with a simple proportional bar; a manual scan since it reads every file's size. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -151,7 +151,23 @@ silently stay blank instead of erroring.
|
||||
bulk-select elsewhere to hide or queue several at once), rename a
|
||||
course/folder in place, or **move** one anywhere else in the library via
|
||||
the same folder-picker/create-new-folder UI Sort Unsorted uses - handy
|
||||
for correcting a bad auto-sort later or just reorganizing.
|
||||
for correcting a bad auto-sort later or just reorganizing. A search box
|
||||
finds any course/folder by name anywhere in the tree instead of
|
||||
expanding levels one by one (results get the same Move/Rename/Hide
|
||||
actions, just without an expand arrow, since a hit is somewhere specific
|
||||
rather than a level to browse into); every row also has a checkbox, so
|
||||
several items - found via search or expanded across different tree
|
||||
levels - can be hidden, shown, or moved to the same destination together
|
||||
in one batch instead of one at a time.
|
||||
- *Undo*: a "Last action: ... [Undo]" bar appears after any move or
|
||||
rename (Sort Unsorted apply, Bulk Rename apply, a Manage Library
|
||||
move/rename, a bulk move) and reverses the whole batch in one click.
|
||||
Only ever covers move/rename - hiding is already a one-click toggle with
|
||||
nothing to undo, and Delete is permanent by design, so it's deliberately
|
||||
never in this history no matter how "undo" gets framed. Re-checks each
|
||||
item before reversing it (the original spot may have been reused since),
|
||||
so a partial batch failure reports exactly what did and didn't reverse
|
||||
rather than silently doing nothing.
|
||||
- *Duplicate Courses*: scans every course in the library (Unsorted
|
||||
included) for names that look like the same thing filed twice, using the
|
||||
same tokenizer as Sort Unsorted so a platform-name or release-tag
|
||||
@@ -171,6 +187,9 @@ silently stay blank instead of erroring.
|
||||
the NAS instead of through the app (doing it through the app already
|
||||
keeps these in sync). Review individually or clear them all at once;
|
||||
course files themselves are never touched.
|
||||
- *Storage Usage*: disk usage per top-level library folder, largest
|
||||
first, with a simple proportional bar per entry - manually triggered
|
||||
(it reads every file's size) rather than run automatically.
|
||||
|
||||
**Dashboard**
|
||||
- Library-wide stats (courses, lessons completed, time watched, time
|
||||
|
||||
Reference in New Issue
Block a user