@@ -540,13 +540,56 @@ <h3 style="color: var(--primary-gold); margin-bottom: 15px;">Nenhuma eleição d
540540 }
541541 }
542542
543- // Função para redirecionar para votação
544- function irParaVotacao ( eleicaoId ) {
545- // Salvar eleição selecionada para a página de votação
546- localStorage . setItem ( 'eleicaoSelecionada' , eleicaoId ) ;
547-
548- // Redirecionar para eleitor_point.html
549- window . location . href = 'eleitor_point.html' ;
543+ // 🔄 FUNÇÃO CORRIGIDA: Redirecionar para votação com dados completos
544+ async function irParaVotacao ( eleicaoId ) {
545+ try {
546+ console . log ( '🗳️ Iniciando votação para eleição:' , eleicaoId ) ;
547+
548+ // Buscar dados completos da eleição
549+ const eleicao = await dbEleicoes . get ( eleicaoId ) ;
550+ console . log ( '📋 Dados da eleição:' , eleicao ) ;
551+
552+ if ( ! eleicao ) {
553+ alert ( 'Eleição não encontrada!' ) ;
554+ return ;
555+ }
556+
557+ // Criar token de autorização
558+ const tokenVotacao = 'token_' + Date . now ( ) + '_' + Math . random ( ) . toString ( 36 ) . substring ( 2 , 9 ) ;
559+
560+ // Preparar dados para a urna
561+ const dadosVotacao = {
562+ eleicaoId : eleicaoId ,
563+ eleicaoNome : eleicao . name ,
564+ eleicaoDescricao : eleicao . description ,
565+ eleicaoTipo : eleicao . tipo ,
566+ eleicaoCargos : eleicao . position ,
567+ token : tokenVotacao ,
568+ timestamp : Date . now ( ) ,
569+ candidatos : eleicao . candidatos || [ ] , // Candidatos cadastrados
570+ fotoEleicao : eleicao . photo || null
571+ } ;
572+
573+ // Salvar no localStorage para a urna acessar
574+ localStorage . setItem ( 'dadosVotacaoAtual' , JSON . stringify ( dadosVotacao ) ) ;
575+ console . log ( '💾 Dados salvos no localStorage:' , dadosVotacao ) ;
576+
577+ // 🔄 REDIRECIONAR DIRETO PARA A URNA COM OS CANDIDATOS
578+ // Verificar se tem página de urna específica
579+ if ( eleicao . tipo === 'presencial' ) {
580+ window . location . href = `urna_presencial.html?eleicao=${ eleicaoId } &token=${ tokenVotacao } ` ;
581+ } else {
582+ window . location . href = `urna_online.html?eleicao=${ eleicaoId } &token=${ tokenVotacao } ` ;
583+ }
584+
585+ } catch ( error ) {
586+ console . error ( '❌ Erro ao preparar votação:' , error ) ;
587+ alert ( 'Erro ao carregar eleição. Tente novamente.' ) ;
588+
589+ // Fallback: redirecionar para eleitor_point tradicional
590+ localStorage . setItem ( 'eleicaoSelecionada' , eleicaoId ) ;
591+ window . location . href = 'eleitor_point.html' ;
592+ }
550593 }
551594
552595 // Função para carregar e exibir TODAS as eleições do PouchDB
0 commit comments