YouTube Player — Casos de Borda
Gerado pelo Writer (Reversa) em 2026-05-11
EC-01 — Player minimizado ao navegar para outra tela
Descrição: Usuário minimiza o player e navega para outra tela. useStopYoutubeVideo deve parar a reprodução.
Comportamento esperado: 🟢 setPlaying(false) chamado ao desmontar. Vídeo pausado.
EC-02 — videoHeight maior que 25% da tela em dispositivos pequenos
Descrição: screenWidth × 9/16 pode ser maior que windowHeight / 4 em dispositivos com tela pequena.
Comportamento esperado: 🟢 Math.min garante que videoHeight nunca excede 25% da tela.
EC-03 — Loop com end não definido na inicialização
Descrição: useLoopControl inicializa com loopState.end indefinido. Quando duration fica disponível pela primeira vez, end é definido como duration.
Comportamento esperado: 🟡 Loop inativo até duration disponível. Sem loop acidental antes da inicialização.
EC-04 — Drag do mini player além dos limites de tela
Descrição: Usuário tenta arrastar o mini player para fora da janela.
Comportamento esperado: 🟢 DragLimits impede translação além das bordas calculadas.
EC-05 — Web: react-native-youtube-iframe com import CJS
Descrição: Em ambiente web (Vite), a biblioteca usa CJS por padrão, causando erros de bundle.
Comportamento esperado: 🟡 Workaround documentado em /memories/repo/react-native-youtube-iframe-web-cjs-gotcha.md — necessário configurar Vite para transpilar.