feat(web): storage admin, search and catalog pages (M2)
ci / ts / ts (packages + web) (push) Successful in 1m56s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m59s

- Storage admin: local folders with a folder picker and NFS sources,
  connection test, scan and full scan with live progress, enable,
  disable, delete
- path pattern editor with reorder, examples and a preview table that
  shows which pattern matched and what came from tags; compile errors
  land under the broken pattern
- Library page with counters, scans and unreadable files; search
  reindex for admins
- search box in the top bar: combobox with keyboard navigation, 150 ms
  debounce, cancelled stale requests, "/" and Ctrl+K, layout fix hint
- search page with tabs and paging, artist and album pages, album
  cards and track lists; unavailable tracks are dimmed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-20 07:01:52 +03:00
1 parent c1160cccd3
commit a685b1b7ca
27 files changed
+2505 -9

No files matched your search

+39 -1
View File
@@ -23,7 +23,9 @@
"home": "Home",
"admin": "Admin",
"users": "Users",
"audit": "Audit log"
"audit": "Audit log",
"library": "Library",
"sources": "Storage"
},
"profile": {
"menu": "Profile menu",
@@ -79,5 +81,41 @@
"loading": "Loading…",
"route_error": {
"reload": "Reload the page"
},
"search": {
"placeholder": "Artists, albums, tracks",
"label": "Search",
"artists": "Artists",
"albums": "Albums",
"tracks": "Tracks",
"all": "All",
"nothing": "Nothing found",
"corrected": "Showing results for “{{query}}”",
"show_all": "All results",
"title": "Search: {{query}}",
"more": "Show more",
"artist_kind": "Artist",
"hint": "Press / to search"
},
"catalog": {
"albums": "Albums",
"appears_on": "Appears on",
"album_count_one": "{{count}} album",
"album_count_other": "{{count}} albums",
"album_count_few": "{{count}} albums",
"album_count_many": "{{count}} albums",
"track_count_one": "{{count}} track",
"track_count_other": "{{count}} tracks",
"track_count_few": "{{count}} tracks",
"track_count_many": "{{count}} tracks",
"unavailable": "Unavailable: storage is offline or the file is gone",
"not_found": "Nothing here — it may have been removed by the last scan",
"disc": "Disc {{n}}",
"col_title": "Title",
"col_album": "Album",
"col_duration": "Time",
"back_home": "Back home",
"artist": "Artist",
"album": "Album"
}
}