Eu fiz primeiro com toLowerCase e fazer o push tbm com tudo minusculo ou maiusculo fica estranho quando vai os nomes, para apenas comparar e validar eu encontrei um metodo assim.
let listaDeAmigos = [];
function adicionar(){
let nomeDoAmigoInput = document.getElementById("nome-amigo");
let nomeDoAmigo = nomeDoAmigoInput.value.trim(); // Armazena o nome original e sem espaços
if (nomeDoAmigo === "") { // Verifica se o input está vazio
alert("Por favor, digite um nome.");
return; // Sai da função sem adicionar o nome
}
// Converte o nome para minúsculo APENAS para a comparação
if (listaDeAmigos.some(amigo => amigo.toLowerCase() === nomeDoAmigo.toLowerCase())) {
alert("Nome ja adicionado");
return;
}
listaDeAmigos.push(nomeDoAmigo); // Adiciona o nome ORIGINAL à lista
nomeDoAmigoInput.value = '';
atualizarLista();
atualizarSorteio();
}
dessa forma não fica alterado o nome dentro da lista. https://github.com/wallace-pv/logica-de-prog-desafios/blob/main/amigo-secreto/js/app.js