1
resposta

Separando funções e métodos

Fiz da forma abaixo encurtando cada chamada e generalizando um pouco mais a função e executou bem.

const html                  = document.querySelector('html');
const banner                = document.querySelector('.app__image');
const focoBt                = document.querySelector('.app__card-button--foco');
const curtoBt               = document.querySelector('.app__card-button--curto');
const longoBt               = document.querySelector('.app__card-button--longo');

function btn(btn_acao,contexto){
    btn_acao.addEventListener('click', () => { 
        html.setAttribute('data-contexto',contexto);
        banner.setAttribute('src', `imagens/${contexto}.png`);
    })
}

btn(focoBt,'foco');
btn(curtoBt,'descanso-curto');
btn(longoBt,'descanso-longo');
1 resposta

Olá, Andre!

Parabéns pela sugestão! Você fez uma excelente refatoração, transformando o código em uma função genérica. Isso simplifica a lógica e torna o código mais limpo. O legal da programação é que conseguimos alcançar o mesmo resultado de diferentes maneiras, e você encontrou um caminho muito bom.

Continue assim, sua abordagem de resolver problemas de forma eficiente e elegante vai te levar longe no desenvolvimento!

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!