chore: Phase 1 hygiene — drop unused imports/exports/types (behavior-neutral)
Machine-baseline harvest (ruff + knip), all tsc/parse-green, no runtime change: - backend: remove 3 unused imports (channels/playlists/youtube) via ruff; drop the unused `job` binding in unshare_download (keep the _own_job ownership guard call). - frontend: remove `export` from 23 internally-used-only symbols (knip "unused exports") to shrink the public surface; delete 2 genuinely-dead declarations (PlexBrowseResult — leftover from the removed /browse route; WIDGET_TITLES — hardcoded English titles superseded by i18n). Held back for a decision (unused here = possibly-unwired, NOT dead — flagged, not removed): e2ee.lock()/clearDevice() (security primitives never wired to logout / a "forget device" feature) and loadDefaultViewFilters (App reimplements it inline — a DRY issue). See siftlode-ops/CODE-HYGIENE.md.
This commit is contained in:
parent
bf8d4b94a0
commit
c2a2c98f16
19 changed files with 26 additions and 42 deletions
|
|
@ -78,7 +78,7 @@ export interface VideoDetail {
|
|||
duration_seconds: number | null;
|
||||
}
|
||||
|
||||
export interface ChannelLink {
|
||||
interface ChannelLink {
|
||||
title: string | null;
|
||||
url: string;
|
||||
}
|
||||
|
|
@ -611,7 +611,7 @@ export interface SystemConfigData {
|
|||
}
|
||||
|
||||
// Admin: result of testing the Plex server connection (also drives the library-picker).
|
||||
export interface PlexSection {
|
||||
interface PlexSection {
|
||||
key: string;
|
||||
title: string;
|
||||
type: string; // "movie" | "show"
|
||||
|
|
@ -656,13 +656,6 @@ export interface PlexCard {
|
|||
show_id?: string | null; // episode: the show's rating_key (for grouping a playlist by show/season)
|
||||
summary?: string | null; // episode
|
||||
}
|
||||
export interface PlexBrowseResult {
|
||||
kind: "movie" | "show";
|
||||
total: number;
|
||||
offset: number;
|
||||
limit: number;
|
||||
items: PlexCard[];
|
||||
}
|
||||
// Unified cross-library browse (movies + shows mixed). `episodes` is populated only on a search that
|
||||
// also matches episodes (the grouped "Episodes" section).
|
||||
export interface PlexUnifiedResult {
|
||||
|
|
@ -823,7 +816,7 @@ export function plexFilterCount(f: PlexFilters): number {
|
|||
// Serialize the shared PlexFilters metadata fields onto a query string. Used by both the library grid
|
||||
// and the facets request so the two endpoints always agree on the filter set (paging/sort/sort_dir are
|
||||
// each caller's own concern and stay out of here).
|
||||
export function appendPlexFilters(u: URLSearchParams, f: PlexFilters): void {
|
||||
function appendPlexFilters(u: URLSearchParams, f: PlexFilters): void {
|
||||
if (f.genres?.length) u.set("genres", f.genres.join(","));
|
||||
if (f.genreMode === "all") u.set("genre_mode", "all");
|
||||
if (f.contentRatings?.length) u.set("content_ratings", f.contentRatings.join(","));
|
||||
|
|
@ -903,7 +896,7 @@ export interface DownloadProfile {
|
|||
sort_order: number;
|
||||
}
|
||||
|
||||
export interface DownloadAsset {
|
||||
interface DownloadAsset {
|
||||
id: number;
|
||||
status: string;
|
||||
title: string | null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue