legco_ai_assistant/frontend
Woody a8eea54c0f feat: Phase 3.4 — YouTube Input + Video Player frontend components
- YouTubeInput.tsx: URL input with validation (youtube.com/watch, youtu.be, /live/, /shorts/),
  loading/error states, Load Stream button, uses useYouTubeExtract mutation
- YouTubeVideoPlayer.tsx: dual hls.js (video + hidden audio), forwardRef,
  thumbnail placeholder until play, LIVE badge, quality capped ≤480p,
  onAudioReady callback for ASR hook exposure, dynamic import('hls.js')
- Types: YouTubeFormat, YouTubeStreamResponse interfaces
- API: extractYouTubeStream() — POST /youtube/extract
- Query: useYouTubeExtract() TanStack Query mutation hook
- Tests: 16 new (7 YouTubeInput, 9 YouTubeVideoPlayer)
- 171/171 total pass (zero regressions)
- Updated plan: 3.4 marked Complete, 4/7 sub-phases done
2026-05-09 16:43:42 +08:00
..
src feat: Phase 3.4 — YouTube Input + Video Player frontend components 2026-05-09 16:43:42 +08:00
index.html feat(frontend): Phase 1.1 project scaffold with Vite, Tailwind, and API client 2026-04-23 10:57:20 +08:00
package-lock.json feat: Phase 3.4 — YouTube Input + Video Player frontend components 2026-05-09 16:43:42 +08:00
package.json feat: Phase 3.4 — YouTube Input + Video Player frontend components 2026-05-09 16:43:42 +08:00
postcss.config.cjs feat(frontend): Phase 1.1 project scaffold with Vite, Tailwind, and API client 2026-04-23 10:57:20 +08:00
tailwind.config.cjs feat(frontend): Phase 1.1 project scaffold with Vite, Tailwind, and API client 2026-04-23 10:57:20 +08:00
tsconfig.json feat(frontend): Phase 1.1 project scaffold with Vite, Tailwind, and API client 2026-04-23 10:57:20 +08:00
vite.config.ts fix: Phase 2 ASR pipeline — 9 bugs resolved, Full Transcript works end-to-end 2026-05-06 18:26:17 +08:00