Aplicacao React para sorteios visuais com roda giratoria animada, lista de participantes, pesos/chances, historico, confete, som e modo responsivo para desktop, celular e uso em transmissao.
Abra esta pasta no VS Code:
C:\Users\gabriel.p\Documents\Codex\2026-05-27\files-mentioned-by-the-user-chatgpt
No terminal integrado, execute:
npm.cmd install
npm.cmd run devDepois acesse:
http://127.0.0.1:5173
No Windows, prefira npm.cmd porque o PowerShell pode bloquear o comando npm direto por politica de execucao.
- Adicione participantes pelo campo de nome.
- Defina o peso/chance de cada participante, se quiser.
- Use a importacao rapida para colar varios nomes separados por linha.
- Clique em
Girarpara sortear. - O vencedor aparece em modal com efeito visual, confete e registro no historico.
- O sistema evita repetir vencedor ate voce clicar em
Resetar. - Use
Compartilharpara copiar ou enviar o resultado.
- Cadastro individual de participantes.
- Importacao de lista por linhas.
- Remocao individual.
- Limpeza completa da lista.
- Edicao de peso/chance por participante.
- Roda animada com desaceleracao.
- Som de roleta configuravel.
- Confete ao finalizar.
- Modal de vencedor.
- Historico de vencedores.
- Anti-repeticao ate resetar.
- Compartilhamento com fallback para copia manual.
- Exportacao da lista em
.txt. - Temas por cor.
- Modo transmissao para OBS.
- Tela cheia.
- Layout responsivo para desktop e celular.
Rodar em desenvolvimento:
npm.cmd run devGerar build de producao:
npm.cmd run buildVisualizar build localmente:
npm.cmd run previewTestar funcionalidades principais:
npm.cmd run functional:checkTestar layout e screenshots:
npm.cmd run visual:checksrc/
App.jsx
index.css
assets/
transpotech_empilhadeiras_branco.png
components/
Header.jsx
ParticipantPanel.jsx
SpinWheel.jsx
WheelStage.jsx
SettingsPanel.jsx
WinnerModal.jsx
ShareDialog.jsx
hooks/
useRouletteAudio.js
lib/
wheel.js
scripts/
functional-check.mjs
visual-check.mjs
- React
- Vite
- TailwindCSS
- Framer Motion
- GSAP
- tsParticles
- Sonner
- Lucide Icons
- Canvas Confetti
- Playwright Core para validacao automatizada
O layout foi testado em resolucoes pequenas como 320px, 360px, 430px e em modo landscape. Para empacotar como APK, uma boa rota e usar Capacitor ou outro wrapper WebView apontando para o build gerado em dist/.
Antes de gerar o APK, rode:
npm.cmd run build
npm.cmd run functional:checkAssim voce confirma que os fluxos principais continuam funcionando antes de empacotar.


