diff --git a/CLAUDE.md b/CLAUDE.md index 69b60c7..b86c762 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,18 +2,15 @@ ```bash # 使用以下命令检查代码合法性 -pnpm run build +pnpm eslint ``` -- **Next.js 16** 使用 App Router 和 standalone 输出模式 -- **React 19** 启用 React Compiler 进行优化 -- **TypeScript** 严格模式和 ES2023 目标 -- **Tailwind CSS v4** 样式框架 -- **PostgreSQL** + **Prisma ORM**(自定义输出目录:`src/generated/prisma`) -- **better-auth** 身份验证(邮箱/密码) -- **next-intl** 国际化(支持:en-US, zh-CN, ja-JP, ko-KR, de-DE, fr-FR, it-IT, ug-CN) -- **阿里云千问 TTS** (qwen3-tts-flash) 文本转语音 +- Next.js 16 使用 App Router +- TypeScript 严格模式和 ES2023 目标 +- better-auth 身份验证(邮箱/密码) +- next-intl 国际化(支持:en-US, zh-CN, ja-JP, ko-KR, de-DE, fr-FR, it-IT, ug-CN) +- 阿里云千问 TTS (qwen3-tts-flash) 文本转语音 - 使用 pnpm,而不是 npm 或 yarn - 应用使用 TypeScript 严格模式 - 确保类型安全 - 所有面向用户的文本都需要国际化 diff --git a/src/app/(features)/srt-player/hooks/useSubtitleSync.ts b/src/app/(features)/srt-player/hooks/useSubtitleSync.ts index 07e3280..239f5f6 100644 --- a/src/app/(features)/srt-player/hooks/useSubtitleSync.ts +++ b/src/app/(features)/srt-player/hooks/useSubtitleSync.ts @@ -24,25 +24,25 @@ export function useSubtitleSync() { const seek = useSrtPlayerStore((state) => state.seek); const pause = useSrtPlayerStore((state) => state.pause); - // 获取当前时间对应的字幕索引 - const getCurrentSubtitleIndex = (time: number): number | null => { - for (let i = 0; i < subtitleData.length; i++) { - const subtitle = subtitleData[i]; - if (time >= subtitle.start && time <= subtitle.end) { - return i; - } - } - return null; - }; - - // 检查是否需要自动暂停 - const shouldAutoPause = (subtitle: { start: number; end: number }, time: number): boolean => { - return autoPause && time >= subtitle.end - 0.2 && time < subtitle.end; - }; - // 同步循环 useEffect(() => { const syncSubtitles = () => { + // 获取当前时间对应的字幕索引 + const getCurrentSubtitleIndex = (time: number): number | null => { + for (let i = 0; i < subtitleData.length; i++) { + const subtitle = subtitleData[i]; + if (time >= subtitle.start && time <= subtitle.end) { + return i; + } + } + return null; + }; + + // 检查是否需要自动暂停 + const shouldAutoPause = (subtitle: { start: number; end: number }, time: number): boolean => { + return autoPause && time >= subtitle.end - 0.2 && time < subtitle.end; + }; + const currentIndex = getCurrentSubtitleIndex(currentTime); // 检查字幕是否发生变化 diff --git a/src/design-system/feedback/progress.tsx b/src/design-system/feedback/progress.tsx index fd86dde..3e64cc1 100644 --- a/src/design-system/feedback/progress.tsx +++ b/src/design-system/feedback/progress.tsx @@ -134,7 +134,7 @@ export function Progress({ {showLabel && ( -
+
{formatLabel()}
)}