1
resposta

[Dúvida] Questionamentos sobre

Minha questão é sobre o Projeto AluGames, do curso de Lógica de Programação: Praticando com Desafios, no qual tem que programar uma lojinha via JS.

Eu percebi uma coisa que incitou minha curiosidade e eu não sei dizer ao certo porque.

No código abaixo, o professor fez primeiro o condicional com as imagens e o botão de indisponível para aluguel, e funciona perfeitamente E ai entra minha dúvida: Quando eu fui tentar inverter (fazer primeiro com a imagem e o botão disponível para aluguel), o site ficou todo bugado

Código funcionandoAi fica minha dúvida: Existe alguma regra que deva ser seguida nesse caso? Tipo, foi porque o botaoAluguel foi definido com uso de ('.dashboard__item__button'), e não por ('.dashboard__item__button--return'), que eu devo começar pelo que não está sendo usado na definição? No caso, começar o condicional por ('dashboard__item__button--return')? Basicamente, se eu usar A para definir algo, eu devo usar B para começar o condicional.

Outra questão: No código HTML o dashboard__item__button aparece antes do dashboard__item__button--return. Isso influencia algo?

1 resposta

Olá, Pedro! Como vai?

Primeiramente, não há uma regra específica que diga que você deve começar um condicional por uma classe que não está sendo usada na definição. O que importa é a lógica que você está implementando e se ela está conforme o estado atual dos elementos que você está manipulando.

No seu caso, o código verifica se a imagem do jogo contém a classe 'dashboard__item__img--rented', que indica que o jogo está alugado. Se contiver, ele executa o código para "devolver" o jogo, removendo a classe que indica que está alugado e atualizando o botão para mostrar a opção de alugar novamente. Caso contrário, ele adiciona a classe de alugado e atualiza o botão para mostrar a opção de devolver.

Se ao inverter a lógica o site ficou "todo bugado", é possível que algo no seu código invertido não esteja tratando corretamente os estados dos elementos. Por exemplo, se você começar verificando se o jogo está disponível para alugar e tentar adicionar a classe de alugado sem antes verificar se o jogo já está alugado, você pode acabar com um estado inconsistente.

Quanto à questão da ordem dos elementos no HTML, ela pode influenciar em como você acessa e manipula esses elementos via JavaScript, mas não deveria causar bugs apenas por ser invertida, desde que a lógica do seu código esteja correta.

Para ajudar mais precisamente, seria ideal ver o código que você escreveu quando tentou inverter a lógica. No entanto, uma dica é sempre garantir que você está tratando todos os estados possíveis dos elementos e atualizando-os de forma consistente.

Se você inverteu a lógica e começou pelo caminho onde o jogo está disponível para alugar, certifique-se de que você está verificando corretamente se o jogo já está alugado antes de tentar alterar as classes e o texto do botão. Além disso, verifique se não há conflitos com outros event listeners ou lógicas no seu código que possam estar interferindo quando você inverte a ordem das operações.

Espero ter ajudado e bons estudos!

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