"use client"; import { useState, useEffect } from "react"; import type { SubtitleTrack } from "@/app/(main)/tv/components/video-player"; export function useSubtitlePicker(channelIdx: number, slotId?: string) { const [subtitleTracks, setSubtitleTracks] = useState([]); const [activeSubtitleTrack, setActiveSubtitleTrack] = useState(-1); const [showSubtitlePicker, setShowSubtitlePicker] = useState(false); // Reset when channel or slot changes — resetting event-driven state on key // change is intentional; no clean alternative without a component key reset useEffect(() => { // eslint-disable-next-line react-hooks/set-state-in-effect setSubtitleTracks([]); setActiveSubtitleTrack(-1); setShowSubtitlePicker(false); }, [channelIdx, slotId]); return { subtitleTracks, setSubtitleTracks, activeSubtitleTrack, setActiveSubtitleTrack, showSubtitlePicker, setShowSubtitlePicker, }; }