refactor(tv): unify subtitle track selector and search into tabbed sheet

This commit is contained in:
Fredrik Burmester
2026-01-18 11:13:57 +01:00
parent ee3a288fa0
commit c515d037cf
12 changed files with 826 additions and 399 deletions

View File

@@ -1,6 +1,22 @@
import TrackPlayer, { Event } from "react-native-track-player";
import { Platform } from "react-native";
// TrackPlayer is not available on tvOS - wrap in try-catch in case native module isn't linked
let TrackPlayer: typeof import("react-native-track-player").default | null =
null;
let Event: typeof import("react-native-track-player").Event | null = null;
if (!Platform.isTV) {
try {
TrackPlayer = require("react-native-track-player").default;
Event = require("react-native-track-player").Event;
} catch (e) {
console.warn("TrackPlayer not available:", e);
}
}
export const PlaybackService = async () => {
// TrackPlayer is not supported on tvOS
if (Platform.isTV || !TrackPlayer || !Event) return;
TrackPlayer.addEventListener(Event.RemotePlay, () => TrackPlayer.play());
TrackPlayer.addEventListener(Event.RemotePause, () => TrackPlayer.pause());
@@ -13,8 +29,9 @@ export const PlaybackService = async () => {
TrackPlayer.skipToPrevious(),
);
TrackPlayer.addEventListener(Event.RemoteSeek, (event) =>
TrackPlayer.seekTo(event.position),
TrackPlayer.addEventListener(
Event.RemoteSeek,
(event: { position: number }) => TrackPlayer.seekTo(event.position),
);
TrackPlayer.addEventListener(Event.RemoteStop, () => TrackPlayer.reset());