Widget:Test4: mudanças entre as edições

sem sumário de edição
Sem resumo de edição
Sem resumo de edição
Etiqueta: Revertido
Linha 326: Linha 326:
             });
             });


  // URLs das imagens para os estados "Ativado" e "Desativado"
// Seleciona o toggle
const toggleNeutro = document.getElementById("toggleNeutro");
const toggleNeutroIcon = document.getElementById("toggleNeutroIcon");
 
// Verifica se os elementos existem
if (!toggleNeutro || !toggleNeutroIcon) {
    console.error("Elementos do toggle não encontrados!");
    return;
}
 
// URLs das imagens para os estados "Ativado" e "Desativado"
const neutroIconAtivado = "https://wiki.pokexgames.com/images/7/73/Vetor_Toggle_Wiki_On.png";
const neutroIconAtivado = "https://wiki.pokexgames.com/images/7/73/Vetor_Toggle_Wiki_On.png";
const neutroIconDesativado = "https://wiki.pokexgames.com/images/2/27/Vetor_Toggle_Wiki_Off.png";
const neutroIconDesativado = "https://wiki.pokexgames.com/images/2/27/Vetor_Toggle_Wiki_Off.png";


// Toggle para Hunts Neutras
let showNeutro = false; // Variável compartilhada
 
// Adiciona o evento de clique ao toggle
toggleNeutro.addEventListener("click", () => {
toggleNeutro.addEventListener("click", () => {
    console.log("Toggle clicado!"); // Debug
     showNeutro = !showNeutro;
     showNeutro = !showNeutro;
     toggleNeutro.classList.toggle("active");
     toggleNeutro.classList.toggle("active");


     // Altera o texto e a imagem com base no estado
     // Altera a imagem com base no estado
     if (showNeutro) {  
     if (showNeutro) {
         toggleNeutroIcon.src = neutroIconAtivado; // Imagem para estado "Ativado"
         toggleNeutroIcon.src = neutroIconAtivado; // Imagem para estado "Ativado"
     } else {  
     } else {
         toggleNeutroIcon.src = neutroIconDesativado; // Imagem para estado "Desativado"
         toggleNeutroIcon.src = neutroIconDesativado; // Imagem para estado "Desativado"
     }
     }


    // Filtra as hunts
     filterHunts();
     filterHunts();
});
});
Linha 367: Linha 381:


             // Filtra as hunts com base nos critérios selecionados
             // Filtra as hunts com base nos critérios selecionados
            function filterHunts() {
function filterHunts() {
                const selectedMap = mapTypeSelect.value;
    const selectedMap = mapTypeSelect.value;
                const selectedDifficulty = difficultySelect.value;
    const selectedDifficulty = difficultySelect.value;
                const searchTerm = searchInput.value.toLowerCase();
    const searchTerm = searchInput.value.toLowerCase();
                imageContainer.innerHTML = "";
    imageContainer.innerHTML = "";


                if (!selectedMap) return;
    if (!selectedMap) return;


                const huntList = hunts[selectedMap];
    const huntList = hunts[selectedMap];
                huntList.forEach(hunt => {
    huntList.forEach(hunt => {
                    const matchesTags = selectedTags.length === 0 || selectedTags.some(tag => hunt.classes.includes(tag));
        const matchesTags = selectedTags.length === 0 || selectedTags.some(tag => hunt.classes.includes(tag));
                    const matchesTypes = selectedTypes.length === 0 || selectedTypes.some(type => hunt.huntTypes.includes(type));
        const matchesTypes = selectedTypes.length === 0 || selectedTypes.some(type => hunt.huntTypes.includes(type));
                    const matchesDifficulty = selectedDifficulty === "" || hunt.difficulty === selectedDifficulty;
        const matchesDifficulty = selectedDifficulty === "" || hunt.difficulty === selectedDifficulty;
                    const isNeutro = hunt.huntTipo === "Neutro";
        const isNeutro = hunt.huntTipo === "Neutro";
                    const matchesSearch = hunt.name.toLowerCase().includes(searchTerm) || hunt.altName.toLowerCase().includes(searchTerm);
        const matchesSearch = hunt.name.toLowerCase().includes(searchTerm) || hunt.altName.toLowerCase().includes(searchTerm);


                    if (matchesTags && matchesTypes && matchesDifficulty && (!isNeutro || (isNeutro && showNeutro)) && matchesSearch) {
        // Filtra as hunts com base no estado do toggle
                        const imageItem = document.createElement("div");
        if (matchesTags && matchesTypes && matchesDifficulty && (!isNeutro || (isNeutro && showNeutro)) && matchesSearch) {
                        imageItem.className = "image-item";
            const imageItem = document.createElement("div");
                        imageItem.innerHTML = `
            imageItem.className = "image-item";
                            <div class="image-content">
            imageItem.innerHTML = `
                                <a href="${hunt.link}" target="_blank">
                <div class="image-content">
                                    <img src="${hunt.imageUrl}" alt="${hunt.name}">
                    <a href="${hunt.link}" target="_blank">
                                </a>
                        <img src="${hunt.imageUrl}" alt="${hunt.name}">
                                <div class="image-info">
                    </a>
                                    <p><b>Nome do Local:</b> ${hunt.name}</p>  
                    <div class="image-info">
                                    <p><b>Localização:</b> ${hunt.local.join(", ")}</p>
                        <p><b>Nome do Local:</b> ${hunt.name}</p>  
                                    <p><b>Dificuldade:</b> ${hunt.difficulty}</p>
                        <p><b>Localização:</b> ${hunt.local.join(", ")}</p>
                                    <p><b>Dano da Hunt:</b> ${hunt.huntTypes.join(", ")}</p>
                        <p><b>Dificuldade:</b> ${hunt.difficulty}</p>
                                    <div class="class-container">
                        <p><b>Dano da Hunt:</b> ${hunt.huntTypes.join(", ")}</p>
                                        <p><b>Clãs:</b></p>
                        <div class="class-container">
                                        <div class="class-icons">
                            <p><b>Clãs:</b></p>
                                            ${hunt.classes.map(cls => `<img src="${classIcons[cls]}" alt="${cls}" class="class-icon">`).join("")}
                            <div class="class-icons">
                                        </div>
                                ${hunt.classes.map(cls => `<img src="${classIcons[cls]}" alt="${cls}" class="class-icon">`).join("")}
                                    </div>
                                </div>
                             </div>
                             </div>
                         `;
                         </div>
                        imageContainer.appendChild(imageItem);
                    </div>
                    }
                </div>
                });
            `;
            }
            imageContainer.appendChild(imageItem);
        }
    });
}


             // Event listeners para os dropdowns
             // Event listeners para os dropdowns
7 421

edições