Olá, Alailson. Tudo bem com você?
Parece que ficou faltando a atribuição do titulo, a falta dele faz a função alterarContexto
retornar um erro e não seguir a execução para aplicar a classe active
. Tente aplica o código abaixo:
const html = document.querySelector("html");
const focoBt = document.querySelector(".app__card-button--foco");
const curtoBt = document.querySelector(".app__card-button--curto");
const longoBt = document.querySelector(".app__card-button--longo");
const banner = document.querySelector(".app__image");
const botoes = document.querySelectorAll('.app__card-button')
const titulo = document.querySelector(".app__title");
focoBt.addEventListener("click", () => {
alterarContexto("foco");
focoBt.classList.add("active");
});
curtoBt.addEventListener("click", () => {
alterarContexto("descanso-curto");
curtoBt.classList.add("active");
});
longoBt.addEventListener("click", () => {
alterarContexto("descanso-longo");
longoBt.classList.add("active");
});
function alterarContexto(contexto) {
botoes.forEach(function (contexto){
contexto.classList.remove('active')
})
html.setAttribute("data-contexto", contexto);
banner.setAttribute("src", `/imagens/${contexto}.png`);
switch (contexto) {
case "foco":
titulo.innerHTML = `Otimize sua produtividade,<br>
<strong class="app__title-strong">mergulhe no que importa.</strong>`;
break;
case "descanso-curto":
titulo.innerHTML = ` Que tal dar uma respirada? <strong class="app__title-strong">Faça uma pausa curta!</strong>`;
break;
case "descanso-longo":
titulo.innerHTML = `
Hora de voltar à superfície.<strong class="app__title-strong"> Faça uma pausa longa.</strong>
`;
default:
break;
}
}
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado