diff --git a/frontend/src/pages/Watch.jsx b/frontend/src/pages/Watch.jsx
index a810efe..ec2a6b2 100644
--- a/frontend/src/pages/Watch.jsx
+++ b/frontend/src/pages/Watch.jsx
@@ -660,11 +660,13 @@ export default function Watch() {
staleTime: sidebarMode === "random" ? 0 : 5 * 60_000,
});
+ const [subsRequested, setSubsRequested] = useState(false);
+ useEffect(() => { setSubsRequested(false); setSelectedSubLang(""); }, [youtubeVideoId]);
const { data: availableSubs, isLoading: subsLoading } = useQuery({
queryKey: ["available-subs", youtubeVideoId],
queryFn: () => getAvailableSubs(youtubeVideoId).then(r => r.data),
- enabled: !!youtubeVideoId,
- staleTime: 10 * 60_000,
+ enabled: subsRequested && !!youtubeVideoId,
+ staleTime: 30 * 60_000,
});
const { data: dlStatus } = useQuery({
@@ -967,16 +969,26 @@ export default function Watch() {
)}
{!dlComplete && (() => {
- const manual = new Set(availableSubs?.manual ?? []);
- const auto = (availableSubs?.auto ?? []).filter(l => !manual.has(l));
- const allLangs = [...manual, ...auto];
+ if (!subsRequested) return (
+
+ );
if (subsLoading) return (
CC
);
- if (!allLangs.length) return null;
+ const manual = new Set(availableSubs?.manual ?? []);
+ const auto = (availableSubs?.auto ?? []).filter(l => !manual.has(l));
+ if (!manual.size && !auto.length) return (
+ No CC
+ );
return (