feat(files): the Files page — the library in one aligned list, its folders in a rail

Files is the one library: every done file, the ones shared with me, or one
folder's, picked in a side rail (sources, own folders, the storage meter) and
mirrored to ?folder=. One table with every kind of value in its own column;
Copy link, Share and Save in sight, every action on a right click: play,
cut, rename in the row, move to an own folder or back home, keep, details,
re-download, delete.

The Downloads page keeps only the queue until the tray replaces it. The old
/api/downloads library routes are gone: list shared, upload, the details
PATCH, delete, the file and the usage now live under /api/files, and a
listed file says which source it came from. The job's "expired" flag is gone
with the state it described.
This commit is contained in:
2026-10-11 05:34:25 +02:00
parent 1a1665b8ec
commit 85aa917b38
65 changed files with 2295 additions and 1044 deletions
+6
View File
@@ -10,6 +10,12 @@ export const LS = {
plexLayout: "siftlode.plexLayout",
playlistsLayout: "siftlode.playlistsLayout",
playlistsCollapsed: "siftlode.playlistsCollapsed",
filesLayout: "siftlode.filesLayout",
filesCollapsed: "siftlode.filesCollapsed",
// The Files view last open (every file, shared with me, or a folder id), per-account.
filesView: "siftlode.filesView",
// The Files table's sort and rows-per-page (DataTable's persist blob).
filesTable: "siftlode.filesTable",
hints: "siftlode.hints",
lang: "siftlode.lang",
filters: "siftlode.filters",