Olá,
Estou praticando meus conhecimentos de Front End criando minha própria TODOLIST. Mas, estou com um problema que está me fazendo passar raiva há dias e até agora não parece fazer sentido.
Imagem da tela principal do TODOLIST para ver se a explicação faz mais sentido: https://imgur.com/a/rPTDTYT
Como é possível ver na imagem linkada acima, existe um container que possui as informações da task, nele há 3 botões: No lado esquerdo há um quadrado vazio com bordas que serve como um check button para marcar a task como concluída e no lado direito dois botões para marcar a task como importante e o outro para excluir.
O código para desenhar essas tasks é o seguinte:
https://gist.github.com/DarlanSilv4/cd1fbc879704aee45d5e2aa0762fe537
Até aqui nenhum problema, a questão é na hora de programar os botões. Como pode ver no código acima, os botões são criados em uma função externa e depois adicionados ao seus respectivos elementos pais usando o appendChild e a função que o os constrói como parâmetro.
Os botões important e o delete funcionam normalmente. Para simplificar vou mandar o código somente do important:
https://gist.github.com/DarlanSilv4/b44ec3e467c9d1a0a6820aca48d88874
Para construir o botão ele recebe a ID da task, verifica se ela é importante, define seu estado, adiciona um listener para alterar o estado ao clicar. 100% Funcional, óbvio que ainda não atualiza a tela automaticamente, mas esse não é o problema.
O problema é na hora de criar o botão de concluir tasks, sim, aquele quadrado vazio. A função dele é basicamente a mesma do important e funciona da mesma forma:
https://gist.github.com/DarlanSilv4/13cadbdc7f8b4d6eb90e20b1270705d7
Teoricamente deveria funcionar, afinal a lógica entre os botões é a mesma, mas aparentemente esse não é o caso. O botão é desenhado na tela com sucesso mas ao clica no botão NADA ACONTECE, eu atualizo, olho o local storage e nada, a task continua com o valor concluded como o padrão (false).
Desde já agradeço quem tiver a paciência de me ajudar haha.