Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] O alerta não está funcionando

Realizei todos as modificações para fazer o botão mudar para verde quando termina o tempo, mas o aviso alerta não está aparecendo. Está tudo correto aparentemente. A única alteração ocorreu no valor do timer, que foi diminuído.

let liTarefaSelecionada = null
/.......
 li.onclick = () => {
      
      document.querySelectorAll('.app__section-task-list-item-active')
         .forEach(elemento => {
            elemento.classList.remove('app__section-task-list-item-active')
         })
      if (tarefaSelecionada == tarefa){
         paragrafoDescricaoTarefa.textContent = ''
         tarefaSelecionada = null
         liTarefaSelecionada = null
         return
      }
      tarefaSelecionada = tarefa
      liTarefaSelecionada = li
      paragrafoDescricaoTarefa.textContent = tarefa.descricao
      
      li.classList.add('app__section-task-list-item-active')
   };
   
   /......

document.addEventListener('FocoFinalizado', () => {
   if (tarefaSelecionada && liTarefaSelecionada){
      liTarefaSelecionada.classList.remove('app__section-task-list-item-active')
      liTarefaSelecionada.classList.add('app__section-task-list-item-complete')
      liTarefaSelecionada.querySelector('button').setAttribute('disabled', 'disabled')
   }
})
const contagemRegressiva = () => {
    if(tempoDecorridoEmSegundos <= 0){
        audioTempoFinalizafo.play()
        beep.play() 
        alert('Tempo Finalizado')
        const focoAtivo = html.getAttribute('data-contexto') == 'Foco'
        if (focoAtivo){
            const evento = new CustomEvent('FocoFinalizado')
            document.dispatchEvent(evento)
        }
        zerar()
        //tempoDecorridoEmSegundos = 5
        return
    }
    tempoDecorridoEmSegundos -= 1
    mostrarTempo()
3 respostas

Salve, Vitor!

Serão que não é isso aqui?

const focoAtivo = html.getAttribute('data-contexto') == 'Foco'

Se não to enganado, o valor vindo desse atributo é foco (tudo em minúsculo), assim:

const focoAtivo = html.getAttribute('data-contexto') == 'foco'

Eu tentei das duas maneiras e não funcionou.

A única coisa que alterei foi o tempo do temporizador de 25:00 para 00:10 para o alerta aparecer mais rápido, mas está bugando quando eu abro o site mantendo os 25, mas logo que eu troco os temporizadores e volto já parece os 00:10.

solução!

Consegui resolver. O problema estava no audioTempoFinalizafo.play(), eu usei outra terminologia para o audio e coloquei os dois, na hora acabou conflitando e não rodou. Retirei o audioTempoFinalizafo.play() e funcionou.