fix(files): review round 1, the page — honest states, the keyboard, the tray's words

- A library past the list's cap is searched and sorted on the server; the count says "the newest".
- Each folder and each search opens on its first page (DataTable pageScope, useCardPager scope).
- A file dropped where the page takes none never reaches the browser (which would unload the app).
- The viewer's arrows wait while a layer opened from it is on top, and scroll a wide text line;
  a text shows its first 5000 lines and says where the rest is.
- Confirms name the file (no more "your downloads"); the asking menu rows end in "…".
- The tray names a running step beside its bar, shows a pause mark for paused work, polls slowly
  while only paused work waits, and forgets a finished file that was deleted.
- An unchanged rename sends nothing; a paste opens the download dialog only with nothing on top;
  the link box never replaces what was typed.
- Honest states: folders that failed to load, a file no longer there, the storage figure; the rail
  says "nothing downloaded" only when there is nothing.
- Focus after deleting the open folder and when the format form opens; the format name's label.
- ui/Meter (one danger line for both quota bars) and ui/RenameField in the platform layer.
- Copy fixes, stale comments and the speculative hub key; a contract test for the list's
  parameters; e2e: the Files page and the paste intake.
This commit is contained in:
2026-10-13 00:14:09 +02:00
parent 815083bcc4
commit 8b2260c9a8
41 changed files with 920 additions and 218 deletions
+18 -6
View File
@@ -3,7 +3,13 @@
"searchPlaceholder": "Search files…",
"count_one": "{{count}} item",
"count_other": "{{count}} items",
"countNewest_one": "The newest {{count}} item",
"countNewest_other": "The newest {{count}} items",
"rowMenu": "File actions",
"folderUnknown": "This folder could not be loaded",
"arrival": {
"gone": "That file is no longer in your library"
},
"phoneOk": "Plays on a phone too",
"rail": {
"library": "Library",
@@ -17,11 +23,11 @@
"source": {
"youtube": "YouTube",
"plex": "Plex clips",
"upload": "Uploads",
"hub": "Hub"
"upload": "Uploads"
},
"usage": {
"title": "Storage"
"title": "Storage",
"failed": "Storage use could not be loaded"
},
"columns": {
"name": "Name",
@@ -34,7 +40,7 @@
"retention": {
"kept": "Kept",
"never": "Kept until you delete it",
"until": "Goes on {{when}}",
"until": "Deleted on {{when}}",
"days_one": "{{count}} day",
"days_other": "{{count}} days"
},
@@ -52,11 +58,15 @@
"move": "Move to",
"moveHome": "Back to {{folder}}",
"noOwnFolders": "No folders of your own yet",
"foldersUnknown": "Your folders could not be loaded",
"keep": "Keep",
"unkeep": "Stop keeping",
"details": "Details…",
"upload": "Upload",
"view": "Preview"
"view": "Preview",
"delete": "Delete…",
"removeShared": "Remove from my list…",
"redownload": "Re-download (rebuild file)…"
},
"folder": {
"menu": "Folder actions",
@@ -101,6 +111,8 @@
"none": "There is no preview for this file",
"asText": "Shown as plain text",
"truncated": "Showing the start of this {{size}} file",
"wrap": "Wrap long lines"
"wrap": "Wrap long lines",
"firstLines": "Showing the first {{lines}} lines.",
"downloadWhole": "Download the whole file"
}
}