chore(plex): drop dead _enabled guard, dedup watch-toggle, remove dead i18n
- plex.py: delete the no-op _enabled() (never wired as a Depends/called; the real gate is sysconfig plex_enabled). - PlexBrowse.tsx: collapse toggleEpisodeWatched into toggleWatched — they were byte-identical (both take a PlexCard). - Delete 6 dead plex.json keys (loadMore, playerSoon, filter.library, playlist.up/down/remove) from en/hu/de — verified 0 refs (the live playlist.removeShow/removeSeason keys are kept). Behavior-neutral. tsc green, ruff clean on touched files, localdev boots, Plex renders.
This commit is contained in:
parent
3c7a8c7a14
commit
f17bad9870
5 changed files with 1 additions and 31 deletions
|
|
@ -197,12 +197,6 @@ def watch_import_now(
|
||||||
# --- Read: libraries / browse / show / image --------------------------------------------------
|
# --- Read: libraries / browse / show / image --------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def _enabled() -> None:
|
|
||||||
"""Guard read endpoints when the module is off (avoids leaking a stale mirror)."""
|
|
||||||
# Read endpoints stay usable as long as a mirror exists; the toggle only gates sync + UI.
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
@router.get("/libraries")
|
@router.get("/libraries")
|
||||||
def list_libraries(user: User = Depends(current_user), db: Session = Depends(get_db)) -> dict:
|
def list_libraries(user: User = Depends(current_user), db: Session = Depends(get_db)) -> dict:
|
||||||
"""The mirrored libraries the user can browse (drives the Plex scope selector)."""
|
"""The mirrored libraries the user can browse (drives the Plex scope selector)."""
|
||||||
|
|
|
||||||
|
|
@ -211,12 +211,6 @@ export default function PlexBrowse({
|
||||||
await api.plexSetState(card.id, next).catch(() => {});
|
await api.plexSetState(card.id, next).catch(() => {});
|
||||||
qc.invalidateQueries({ queryKey: ["plex-library"] });
|
qc.invalidateQueries({ queryKey: ["plex-library"] });
|
||||||
}
|
}
|
||||||
async function toggleEpisodeWatched(ep: PlexCard) {
|
|
||||||
const next = ep.status === "watched" ? "new" : "watched";
|
|
||||||
optimisticStatus(ep.id, next);
|
|
||||||
await api.plexSetState(ep.id, next).catch(() => {});
|
|
||||||
qc.invalidateQueries({ queryKey: ["plex-library"] });
|
|
||||||
}
|
|
||||||
// Apply a metadata filter (clicked on an info page / show hero / cast) then show the unified grid.
|
// Apply a metadata filter (clicked on an info page / show hero / cast) then show the unified grid.
|
||||||
// Array filters (genres/people/studios) UNION with what's set; scalars replace. Clicking a person
|
// Array filters (genres/people/studios) UNION with what's set; scalars replace. Clicking a person
|
||||||
// (cast/crew) widens to the 'both' scope so their movies AND shows show up together (mixed feed).
|
// (cast/crew) widens to the 'both' scope so their movies AND shows show up together (mixed feed).
|
||||||
|
|
@ -348,7 +342,7 @@ export default function PlexBrowse({
|
||||||
ep={ep}
|
ep={ep}
|
||||||
withShowTitle
|
withShowTitle
|
||||||
onPlay={() => onCard(ep)}
|
onPlay={() => onCard(ep)}
|
||||||
onToggleWatched={() => toggleEpisodeWatched(ep)}
|
onToggleWatched={() => toggleWatched(ep)}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
"release": "Erscheinungsdatum"
|
"release": "Erscheinungsdatum"
|
||||||
},
|
},
|
||||||
"filter": {
|
"filter": {
|
||||||
"library": "Bibliothek",
|
|
||||||
"scope": "Bibliothek",
|
"scope": "Bibliothek",
|
||||||
"scopeOpt": {
|
"scopeOpt": {
|
||||||
"both": "Alle",
|
"both": "Alle",
|
||||||
|
|
@ -67,7 +66,6 @@
|
||||||
"noMatchesFiltered_other": "Keine Treffer — {{count}} Filter schränken die Ergebnisse zusätzlich ein.",
|
"noMatchesFiltered_other": "Keine Treffer — {{count}} Filter schränken die Ergebnisse zusätzlich ein.",
|
||||||
"loading": "Wird geladen…",
|
"loading": "Wird geladen…",
|
||||||
"empty": "Noch nichts hier. Starte eine Plex-Synchronisierung auf der Admin-Konfigurationsseite.",
|
"empty": "Noch nichts hier. Starte eine Plex-Synchronisierung auf der Admin-Konfigurationsseite.",
|
||||||
"loadMore": "Mehr laden",
|
|
||||||
"watched": "Angesehen",
|
"watched": "Angesehen",
|
||||||
"inProgress": "Läuft",
|
"inProgress": "Läuft",
|
||||||
"play": "Abspielen",
|
"play": "Abspielen",
|
||||||
|
|
@ -92,7 +90,6 @@
|
||||||
"markSeasonUnwatched": "Staffel als ungesehen",
|
"markSeasonUnwatched": "Staffel als ungesehen",
|
||||||
"addShowCollection": "Zur Sammlung"
|
"addShowCollection": "Zur Sammlung"
|
||||||
},
|
},
|
||||||
"playerSoon": "Player kommt bald — „{{title}}“",
|
|
||||||
"collEditor": {
|
"collEditor": {
|
||||||
"manage": "Sammlungen",
|
"manage": "Sammlungen",
|
||||||
"title": "Sammlungen — {{title}}",
|
"title": "Sammlungen — {{title}}",
|
||||||
|
|
@ -218,9 +215,6 @@
|
||||||
"playAll": "Alle abspielen",
|
"playAll": "Alle abspielen",
|
||||||
"delete": "Playlist löschen",
|
"delete": "Playlist löschen",
|
||||||
"empty": "Diese Playlist ist leer. Füge Titel über deren Infoseite hinzu.",
|
"empty": "Diese Playlist ist leer. Füge Titel über deren Infoseite hinzu.",
|
||||||
"up": "Nach oben",
|
|
||||||
"down": "Nach unten",
|
|
||||||
"remove": "Entfernen",
|
|
||||||
"layoutAccordion": "Akkordeon-Ansicht",
|
"layoutAccordion": "Akkordeon-Ansicht",
|
||||||
"layoutTree": "Baum-Ansicht",
|
"layoutTree": "Baum-Ansicht",
|
||||||
"removeShow": "Ganze Serie entfernen",
|
"removeShow": "Ganze Serie entfernen",
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
"release": "Release date"
|
"release": "Release date"
|
||||||
},
|
},
|
||||||
"filter": {
|
"filter": {
|
||||||
"library": "Library",
|
|
||||||
"scope": "Library",
|
"scope": "Library",
|
||||||
"scopeOpt": {
|
"scopeOpt": {
|
||||||
"both": "All",
|
"both": "All",
|
||||||
|
|
@ -67,7 +66,6 @@
|
||||||
"noMatchesFiltered_other": "No matches — {{count}} filters are also narrowing the results.",
|
"noMatchesFiltered_other": "No matches — {{count}} filters are also narrowing the results.",
|
||||||
"loading": "Loading…",
|
"loading": "Loading…",
|
||||||
"empty": "Nothing here yet. Run a Plex sync from the admin Config page.",
|
"empty": "Nothing here yet. Run a Plex sync from the admin Config page.",
|
||||||
"loadMore": "Load more",
|
|
||||||
"watched": "Watched",
|
"watched": "Watched",
|
||||||
"inProgress": "In progress",
|
"inProgress": "In progress",
|
||||||
"play": "Play",
|
"play": "Play",
|
||||||
|
|
@ -92,7 +90,6 @@
|
||||||
"markSeasonUnwatched": "Mark season unwatched",
|
"markSeasonUnwatched": "Mark season unwatched",
|
||||||
"addShowCollection": "Add to collection"
|
"addShowCollection": "Add to collection"
|
||||||
},
|
},
|
||||||
"playerSoon": "Player coming soon — “{{title}}”",
|
|
||||||
"collEditor": {
|
"collEditor": {
|
||||||
"manage": "Collections",
|
"manage": "Collections",
|
||||||
"title": "Collections — {{title}}",
|
"title": "Collections — {{title}}",
|
||||||
|
|
@ -218,9 +215,6 @@
|
||||||
"playAll": "Play all",
|
"playAll": "Play all",
|
||||||
"delete": "Delete playlist",
|
"delete": "Delete playlist",
|
||||||
"empty": "This playlist is empty. Add titles from their info page.",
|
"empty": "This playlist is empty. Add titles from their info page.",
|
||||||
"up": "Move up",
|
|
||||||
"down": "Move down",
|
|
||||||
"remove": "Remove",
|
|
||||||
"layoutAccordion": "Accordion view",
|
"layoutAccordion": "Accordion view",
|
||||||
"layoutTree": "Tree view",
|
"layoutTree": "Tree view",
|
||||||
"removeShow": "Remove whole show",
|
"removeShow": "Remove whole show",
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
"release": "Megjelenés dátuma"
|
"release": "Megjelenés dátuma"
|
||||||
},
|
},
|
||||||
"filter": {
|
"filter": {
|
||||||
"library": "Könyvtár",
|
|
||||||
"scope": "Könyvtár",
|
"scope": "Könyvtár",
|
||||||
"scopeOpt": {
|
"scopeOpt": {
|
||||||
"both": "Mind",
|
"both": "Mind",
|
||||||
|
|
@ -67,7 +66,6 @@
|
||||||
"noMatchesFiltered_other": "Nincs találat — {{count}} szűrő is szűkíti az eredményt.",
|
"noMatchesFiltered_other": "Nincs találat — {{count}} szűrő is szűkíti az eredményt.",
|
||||||
"loading": "Betöltés…",
|
"loading": "Betöltés…",
|
||||||
"empty": "Még nincs itt semmi. Futtass egy Plex-szinkront az admin Konfiguráció oldalról.",
|
"empty": "Még nincs itt semmi. Futtass egy Plex-szinkront az admin Konfiguráció oldalról.",
|
||||||
"loadMore": "Több betöltése",
|
|
||||||
"watched": "Megnézve",
|
"watched": "Megnézve",
|
||||||
"inProgress": "Folyamatban",
|
"inProgress": "Folyamatban",
|
||||||
"play": "Lejátszás",
|
"play": "Lejátszás",
|
||||||
|
|
@ -92,7 +90,6 @@
|
||||||
"markSeasonUnwatched": "Évad jelölés visszavonása",
|
"markSeasonUnwatched": "Évad jelölés visszavonása",
|
||||||
"addShowCollection": "Kollekcióhoz adás"
|
"addShowCollection": "Kollekcióhoz adás"
|
||||||
},
|
},
|
||||||
"playerSoon": "A lejátszó hamarosan jön — „{{title}}”",
|
|
||||||
"collEditor": {
|
"collEditor": {
|
||||||
"manage": "Kollekciók",
|
"manage": "Kollekciók",
|
||||||
"title": "Kollekciók — {{title}}",
|
"title": "Kollekciók — {{title}}",
|
||||||
|
|
@ -218,9 +215,6 @@
|
||||||
"playAll": "Összes lejátszása",
|
"playAll": "Összes lejátszása",
|
||||||
"delete": "Lista törlése",
|
"delete": "Lista törlése",
|
||||||
"empty": "Ez a lista üres. Adj hozzá címeket az info-oldalukról.",
|
"empty": "Ez a lista üres. Adj hozzá címeket az info-oldalukról.",
|
||||||
"up": "Fel",
|
|
||||||
"down": "Le",
|
|
||||||
"remove": "Eltávolítás",
|
|
||||||
"layoutAccordion": "Harmonika nézet",
|
"layoutAccordion": "Harmonika nézet",
|
||||||
"layoutTree": "Fa nézet",
|
"layoutTree": "Fa nézet",
|
||||||
"removeShow": "Egész sorozat eltávolítása",
|
"removeShow": "Egész sorozat eltávolítása",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue