Rename TMDB_API_KEY to TMDB_API_READ_ACCESS_TOKEN and add optional base URL overrides

Renames the env var for clarity since it holds a read access token, not an API
key. Adds optional TMDB_API_BASE_URL and TMDB_IMAGE_BASE_URL env vars for
advanced users. Centralizes image URL construction into a shared tmdbImageUrl()
helper, replacing hardcoded URLs across all components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 13:55:58 -05:00
co-authored by Claude Opus 4.6
parent db3a6cc3d4
commit 2995d89154
14 changed files with 52 additions and 41 deletions
+4 -5
View File
@@ -13,6 +13,7 @@ import { useCallback, useEffect, useState } from "react";
import { DashboardSkeleton } from "@/components/skeletons";
import { StatsSummary } from "@/components/stats-summary";
import { TitleCard } from "@/components/title-card";
import { tmdbImageUrl } from "@/lib/tmdb/image";
import { useSession } from "@/lib/auth/client";
interface ContinueWatchingItem {
@@ -270,11 +271,9 @@ function FeedSection({
}
function ContinueWatchingCard({ item }: { item: ContinueWatchingItem }) {
const stillUrl = item.nextEpisode?.stillPath
? `https://image.tmdb.org/t/p/w500${item.nextEpisode.stillPath}`
: item.title.backdropPath
? `https://image.tmdb.org/t/p/w500${item.title.backdropPath}`
: null;
const stillUrl =
tmdbImageUrl(item.nextEpisode?.stillPath ?? null, "w500") ??
tmdbImageUrl(item.title.backdropPath ?? null, "w500");
const progress =
item.totalEpisodes > 0
? (item.watchedEpisodes / item.totalEpisodes) * 100