import { useCallback, useMemo } from "react"; import { useTranslation } from "react-i18next"; import Modal from "./ui/Modal"; import { api, type DownloadJob } from "../lib/api"; import { jobTitle } from "./downloadTitle"; import { exposeVideoToBackgroundPlay } from "../lib/browserBackgroundPlay"; import { useMediaLogRef } from "../lib/mediaLog"; // In-app player for a completed library item. We do NOT reuse PlayerModal (a cross-origin // YouTube IFrame shell) or PlexPlayer (a Plex HLS/session shell): both are bound to their own domain // APIs and can't point at a local file. Instead we reuse the shared a11y shell (`Modal`: focus-trap, // ESC/back-to-close, scroll-lock, layer-stack, portal) and stream the local file into a NATIVE //