move to captions view

This commit is contained in:
Pas 2025-11-26 12:33:24 -07:00
parent 19af760317
commit 64abb25560
4 changed files with 13 additions and 7 deletions

View file

@ -764,6 +764,7 @@
"SourceChoice": "Source Subtitles",
"OpenSubtitlesChoice": "External Subtitles",
"loadingExternal": "Loading external subtitles...",
"transcriptChoice": "Transcript",
"settings": {
"backlink": "Custom subtitles",
"delay": "Subtitle delay",

View file

@ -541,6 +541,12 @@ export function CaptionsView({
selected={selectedCaptionId === "pasted-caption"}
/>
{selectedCaptionId && (
<Menu.ChevronLink onClick={() => router.navigate("/transcript")}>
{t("player.menus.subtitles.transcriptChoice")}
</Menu.ChevronLink>
)}
<div className="h-1" />
{/* Search input */}

View file

@ -151,9 +151,6 @@ export function SettingsMenu({ id }: { id: string }) {
<Menu.ChevronLink onClick={() => router.navigate("/playback")}>
{t("player.menus.settings.playbackItem")}
</Menu.ChevronLink>
<Menu.ChevronLink onClick={() => router.navigate("/transcript")}>
Transcript
</Menu.ChevronLink>
</Menu.Section>
</Menu.Card>
);

View file

@ -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 (
<>
<Menu.BackLink onClick={() => router.navigate("/")}>
Transcript
<Menu.BackLink onClick={() => router.navigate("/captions")}>
{t("player.menus.subtitles.transcriptChoice")}
</Menu.BackLink>
<Menu.Section>
<div className="sticky top-0 z-10 -mx-3 px-3 py-2 mb-2">