Library screens:
- Add dedicated music, TV, and movie landing pages (hero banner +
horizontal carousels) backed by new music/tv/movies stores.
- Route tvshows libraries to /library/tv; surface rediscover ("haven't
listened to in a while") albums via a new repository method across
online/offline/hybrid repos plus the repository_get_rediscover_albums
command.
- Add an A-Z jump bar for long alphabetically-sorted lists, with grid
index anchors in LibraryGrid/LibraryListView/TrackList.
- Filter the "Podcasts" folder out of music library queries.
Downloads:
- Add a backend queue pump: enqueue_download / enqueue_video_downloads
persist the resolved stream URL + target dir on each row (migration
017), and the pump starts up to max_concurrent and drains the rest
automatically as slots free, instead of the frontend silently dropping
items past the concurrency limit. Album/series/season buttons now
enqueue rather than calling start_download directly.
Other fixes:
- Hybrid search now returns instant cache results and pushes the merged
cache+server union via a request-id-tagged search-event, so superseded
queries can't clobber fresher results.
- URL-encode SearchTerm / genres / item types in online repo requests.
- Android: pause on audio-becoming-noisy (headphone/BT disconnect).
28 lines
783 B
Svelte
28 lines
783 B
Svelte
<script lang="ts">
|
|
import GenericMediaListPage from "$lib/components/library/GenericMediaListPage.svelte";
|
|
|
|
/**
|
|
* TV show browser (all series)
|
|
* @req: UR-007 - Navigate media in library
|
|
* @req: UR-008 - Search media across libraries
|
|
* @req: DR-007 - Library browsing screens
|
|
*/
|
|
|
|
const config = {
|
|
itemType: "Series" as const,
|
|
title: "TV Shows",
|
|
backPath: "/library/tv",
|
|
searchPlaceholder: "Search shows...",
|
|
sortOptions: [
|
|
{ key: "SortName", label: "A-Z" },
|
|
{ key: "ProductionYear", label: "Year" },
|
|
{ key: "DateCreated", label: "Recently Added" },
|
|
{ key: "CommunityRating", label: "Rating" },
|
|
],
|
|
defaultSort: "SortName",
|
|
displayComponent: "grid" as const,
|
|
};
|
|
</script>
|
|
|
|
<GenericMediaListPage {config} />
|