diff --git a/src/assets/locales/en.json b/src/assets/locales/en.json index fdbdf4db..c23bc969 100644 --- a/src/assets/locales/en.json +++ b/src/assets/locales/en.json @@ -764,6 +764,7 @@ "SourceChoice": "Source Subtitles", "OpenSubtitlesChoice": "External Subtitles", "loadingExternal": "Loading external subtitles...", + "transcriptChoice": "Transcript", "settings": { "backlink": "Custom subtitles", "delay": "Subtitle delay", diff --git a/src/components/player/atoms/settings/CaptionsView.tsx b/src/components/player/atoms/settings/CaptionsView.tsx index 16040b65..902f9d69 100644 --- a/src/components/player/atoms/settings/CaptionsView.tsx +++ b/src/components/player/atoms/settings/CaptionsView.tsx @@ -541,6 +541,12 @@ export function CaptionsView({ selected={selectedCaptionId === "pasted-caption"} /> + {selectedCaptionId && ( + router.navigate("/transcript")}> + {t("player.menus.subtitles.transcriptChoice")} + + )} +
{/* Search input */} diff --git a/src/components/player/atoms/settings/SettingsMenu.tsx b/src/components/player/atoms/settings/SettingsMenu.tsx index ce2fd6ff..0a412dd4 100644 --- a/src/components/player/atoms/settings/SettingsMenu.tsx +++ b/src/components/player/atoms/settings/SettingsMenu.tsx @@ -151,9 +151,6 @@ export function SettingsMenu({ id }: { id: string }) { router.navigate("/playback")}> {t("player.menus.settings.playbackItem")} - router.navigate("/transcript")}> - Transcript - ); diff --git a/src/components/player/atoms/settings/TranscriptView.tsx b/src/components/player/atoms/settings/TranscriptView.tsx index d824df48..b9c4b689 100644 --- a/src/components/player/atoms/settings/TranscriptView.tsx +++ b/src/components/player/atoms/settings/TranscriptView.tsx @@ -1,5 +1,6 @@ import Fuse from "fuse.js"; import { useEffect, useMemo, useState } from "react"; +import { useTranslation } from "react-i18next"; import { Menu } from "@/components/player/internals/ContextMenu"; import { Input } from "@/components/player/internals/ContextMenu/Input"; @@ -18,6 +19,7 @@ import { durationExceedsHour, formatSeconds } from "@/utils/formatSeconds"; import { wordOverrides } from "../../Player"; export function TranscriptView({ id }: { id: string }) { + const { t } = useTranslation(); const router = useOverlayRouter(id); const display = usePlayerStore((s) => s.display); const srtData = usePlayerStore((s) => s.caption.selected?.srtData); @@ -171,11 +173,11 @@ export function TranscriptView({ id }: { id: string }) { }; if (!didFirstScroll) { - const t = setTimeout(() => { + const timeout = setTimeout(() => { doScroll(); setDidFirstScroll(true); }, 100); - return () => clearTimeout(t); + return () => clearTimeout(timeout); } doScroll(); }, [scrollTargetKey, didFirstScroll]); @@ -186,8 +188,8 @@ export function TranscriptView({ id }: { id: string }) { return ( <> - router.navigate("/")}> - Transcript + router.navigate("/captions")}> + {t("player.menus.subtitles.transcriptChoice")}