feat(stats): add TMDB metadata for live-action dramas in the Library

Anime covers come from AniList, which has no live-action titles, so dramas
and movies showed blank cards with no description and split across season
folders. Library entries now carry a media kind plus a TMDB link, and the
cover-art fetcher falls back to TMDB when AniList has no match, accepting
only a Japanese non-animated title whose TMDB names match the parsed title
exactly. Entries that resolve to the same TMDB title merge into one card
regardless of season, and a Link to TMDB action in the detail view covers
anything the automatic match missed.

Release builds bundle a project-owned TMDB key injected from the
SUBMINER_TMDB_API_KEY secret at build time; tmdb.apiKey/apiKeyCommand
override it and are required when running from source.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-18 23:31:35 -07:00
co-authored by Claude Fable 5.1
parent dd76782d30
commit 2b33d32879
68 changed files with 2339 additions and 68 deletions
+6
View File
@@ -12,6 +12,7 @@ import type {
ImmersionTrackingRetentionMode,
ImmersionTrackingRetentionPreset,
TsukihimeConfig,
TmdbConfig,
JellyfinConfig,
JimakuConfig,
JimakuLanguagePreference,
@@ -160,6 +161,7 @@ export interface Config {
/** @deprecated Use tsukihime. */
animetosho?: TsukihimeConfig;
tsukihime?: TsukihimeConfig;
tmdb?: TmdbConfig;
anilist?: AnilistConfig;
yomitan?: YomitanConfig;
jellyfin?: JellyfinConfig;
@@ -332,6 +334,10 @@ export interface ResolvedConfig {
apiBaseUrl: string;
maxSearchResults: number;
};
tmdb: {
apiKey: string;
apiKeyCommand: string;
};
anilist: {
enabled: boolean;
accessToken: string;