feat(plex): classify collection-strip source (franchise/imdb/tmdb/smart)

Derive a `source` bucket per collection from the already-synced title + smart
flag (no schema change, no re-sync): external list providers (IMDb/TMDb/TVDb/
Trakt) by leading token, Plex smart lists via the smart flag, everything else a
genuine "collection". Returned on each info-page collection strip so the client
can show/hide each type independently. Adds the stripSource labels (en/hu/de).
This commit is contained in:
npeter83 2026-07-06 06:49:43 +02:00
parent 418a874851
commit 8a8087ae99
5 changed files with 51 additions and 2 deletions

View file

@ -98,6 +98,14 @@
"customize": "Ansicht anpassen",
"prefArtBg": "Dezenter Hintergrund",
"prefCast": "Besetzung",
"stripSource": {
"collection": "Sammlungen",
"imdb": "IMDb",
"tmdb": "TMDb",
"tvdb": "TVDb",
"trakt": "Trakt",
"smart": "Smart-Listen"
},
"openImdb": "Bei IMDb öffnen",
"director": "Regie",
"cast": "Besetzung & Crew",

View file

@ -98,6 +98,14 @@
"customize": "Customize view",
"prefArtBg": "Faint backdrop",
"prefCast": "Cast & crew",
"stripSource": {
"collection": "Collections",
"imdb": "IMDb",
"tmdb": "TMDb",
"tvdb": "TVDb",
"trakt": "Trakt",
"smart": "Smart lists"
},
"openImdb": "Open on IMDb",
"director": "Director",
"cast": "Cast & crew",

View file

@ -98,6 +98,14 @@
"customize": "Nézet testreszabása",
"prefArtBg": "Halvány háttér",
"prefCast": "Szereplők",
"stripSource": {
"collection": "Kollekciók",
"imdb": "IMDb",
"tmdb": "TMDb",
"tvdb": "TVDb",
"trakt": "Trakt",
"smart": "Smart listák"
},
"openImdb": "Megnyitás az IMDb-n",
"director": "Rendező",
"cast": "Szereplők & stáb",

View file

@ -714,7 +714,9 @@ export interface PlexItemDetail {
episode_number?: number | null;
prev_id?: string | null;
next_id?: string | null;
collections?: { id: string; title: string; items: PlexCard[] }[];
// `source` buckets the strip so each type can be shown/hidden independently on the info page:
// "collection" (genuine franchise), "imdb"/"tmdb"/"tvdb"/"trakt" (external auto-lists), "smart".
collections?: { id: string; title: string; source: string; items: PlexCard[] }[];
}
export interface PlexCollection {
id: string;