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

De PokeXGames
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(27 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 13: Linha 13:
             margin: 0 auto;
             margin: 0 auto;
             border: 42px solid transparent;
             border: 42px solid transparent;
             border-image: url(https://wiki.pokexgames.com/images/3/35/Wiki_Borda_ADV.png) 38;
             border-image: url(https://wiki.pokexgames.com/images/3/37/Calculadora-de-Boost.png) 38;
             border-image-repeat: round;
             border-image-repeat: round;
             width: 100%;
             width: 100%;
Linha 51: Linha 51:
             text-align: left;
             text-align: left;
         }
         }
.image-info p {
    margin-bottom: 6px; /* Reduz o espaço entre os parágrafos */
    margin-left: 40px;
    line-height: 1.5;
}
.image-info img {
    vertical-align: middle;
    display: inline-block;
    margin-right: 5px;
    transform: translateY(-3px); /* Sobe a imagem 5px */
}
.class-icons img {
    vertical-align: middle;
    display: inline-block;
    margin-right: 5px;
    transform: translateY(-3px); /* Sobe a imagem 5px */
}


        .image-item img {
            max-width: 100%;
            height: auto;
            cursor: pointer;
        }


        .image-info p {
            margin: 5px 0;
        }


         .image-item {
         .image-item {
Linha 72: Linha 84:
             max-width: 400px;
             max-width: 400px;
             width: 100%;
             width: 100%;
            margin-bottom: 35px;
         }
         }


Linha 95: Linha 109:
             align-items: center;
             align-items: center;
             gap: 10px;
             gap: 10px;
    margin-top: -5px; /* Aproxima "Clãs:" do item anterior */
         }
         }


        .class-icons {
            display: flex;
            gap: 5px;
        }


         .type-dropdown {
         .type-dropdown {
Linha 162: Linha 174:
         }
         }
     </style>
     </style>
</head>
</head>  


<body>
<body>
     <div class="borda-container">  
     <div class="borda-container">
        <div class="input-group">
            <label for="mapType"><b>Local da Hunt:</b></label>
            <select id="mapType" class="maps__select">
                <option value="">Selecione um local</option>
                <option value="NW">NW</option>
            </select>
        </div>
         <div class="input-group">
         <div class="input-group">
             <label for="difficulty"><b>Dificuldade:</b></label>
             <label for="difficulty"><b>Dificuldade:</b></label>
Linha 180: Linha 184:
             </select>
             </select>
         </div>
         </div>
 
         <div class="input-group">
         <div class="input-group">
             <div class="toggle-group">
             <div class="toggle-group">
Linha 190: Linha 194:
             </div>
             </div>
         </div>
         </div>
 
         <div class="input-group">
         <div class="input-group">
             <label for="search"><b>Buscar por Nome:</b></label>
             <label for="search"><b>Buscar por Nome:</b></label>
             <input type="text" id="search" class="maps__select" placeholder="Digite o nome...">
             <input type="text" id="search" class="maps__select" placeholder="Digite o nome...">
         </div>
         </div>
 
         <div class="switch-container">
         <div class="switch-container">
             <div class="switch-button" id="switchClans">
             <div class="switch-button" id="switchClans">
Linha 204: Linha 208:
             </div>
             </div>
         </div>
         </div>
 
         <div id="clanFilter" class="input-group">
         <div id="clanFilter" class="input-group">
             <label><b>Filtro de Clãs do Jogador:</b></label>
             <label><b>Filtro de Clãs do Jogador:</b></label>
             <div id="tagButtons"></div>
             <div id="tagButtons"></div>
         </div>
         </div>
 
         <div id="typeFilter" class="input-group hidden">
         <div id="typeFilter" class="input-group hidden">
             <label><b>Filtro de dano causado pelo Pokémon selvagem:</b></label>
             <label><b>Filtro de dano causado pelo Pokémon selvagem:</b></label>
             <div id="typeButtons"></div>
             <div id="typeButtons"></div>
         </div>
         </div>
 
         <div id="imageContainer" class="image-container"></div>
         <div id="imageContainer" class="image-container"></div>
     </div>
     </div>


     <script>
     <script>
        const hunts = {
            "NW": [
{"name":"Grimer","difficulty":"Baixa","local":["Cinnabar"],"classes":["Psycraft","Orebound"],"imageUrl":"generateWikiImageUrl('Grimer - Banner Bolinha NW Hunts.webp')","huntTypes":["Poison"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Grimer"},
{"name":"Litleo","difficulty":"Baixa","local":["Fuchsia"],"classes":["Gardestrike"],"imageUrl":"generateWikiImageUrl('Litleo - Banner Bolinha NW Hunts.webp')","huntTypes":["Normal","Fire","Dark","Grass"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Litleo"},
{"name":"Petilil","difficulty":"Baixa","local":["Fuchsia"],"classes":["Wingeon","Volcanic","Seavell","Malefic","Naturia"],"imageUrl":"generateWikiImageUrl('Petilil - Banner Bolinha NW Hunts.webp')","huntTypes":["Grass"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Petilil"},
{"name":"Applin","difficulty":"Baixa","local":["Fuchsia"],"classes":["Wingeon","Naturia","Malefic"],"imageUrl":"generateWikiImageUrl('Applin - Banner Bolinha NW Hunts.webp')","huntTypes":["Grass"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Applin"},
{"name":"Snorunt","difficulty":"Baixa","local":["Lavender"],"classes":["Ironhard","Volcanic"],"imageUrl":"generateWikiImageUrl('Snorunt - Banner Bolinha NW Hunts.webp')","huntTypes":["Ice"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Snorunt"},
{"name":"Sneasel","difficulty":"Baixa","local":["Lavender"],"classes":["Gardestrike"],"imageUrl":"generateWikiImageUrl('Sneasel - Banner Bolinha NW Hunts.webp')","huntTypes":["Dark"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Sneasel"},
{"name":"Cloyster","difficulty":"Baixa","local":["Lavender"],"classes":["Naturia","Raibolt"],"imageUrl":"generateWikiImageUrl('Cloyster - Banner Bolinha NW Hunts.webp')","huntTypes":["Water"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Cloyster"},
{"name":"Magby e Pansear","difficulty":"Baixa","local":["Pallet","Cinnabar"],"classes":["Orebound","Seavell"],"imageUrl":"generateWikiImageUrl('Pansear e Magby - Banner Bolinha NW Hunts.webp')","huntTypes":["Fire"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Magby e Pansear","altName":"Mixed Fire"},
{"name":"Alolan Grimer","difficulty":"Baixa","local":["Cinnabar"],"classes":["Orebound"],"imageUrl":"generateWikiImageUrl('Alolan Grimer - Banner Bolinha NW Hunts.webp')","huntTypes":["Poison","Ground"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Alolan Grimer"},
{"name":"Shuppet","difficulty":"Baixa","local":["Pallet"],"classes":["Malefic"],"imageUrl":"generateWikiImageUrl('Shuppet - Banner Bolinha NW Hunts.webp')","huntTypes":["Ghost"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Shuppet"},
{"name":"Alolan Meowth","difficulty":"Baixa","local":["Pewter"],"classes":["Gardestrike","Psycraft"],"imageUrl":"generateWikiImageUrl('Alolan Meowth - Banner Bolinha NW Hunts.webp')","huntTypes":["Dark"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Alolan Meowth"},
{"name":"Sentinel","difficulty":"Baixa","local":["Pewter","Cinnabar"],"classes":["Todos"],"imageUrl":"generateWikiImageUrl('Sentinel - Banner Bolinha NW Hunts.webp')","huntTypes":["Neutral"],"huntTipo":"Neutro","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Sentinel","altName":"Small Sentinel"},
{"name":"Klink e Klang","difficulty":"Baixa","local":["Pewter"],"classes":["Volcanic","Orebound"],"imageUrl":"generateWikiImageUrl('Klink e Klang - Banner Bolinha NW Hunts.webp')","huntTypes":["Metal"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Klink e Klang"},
{"name":"Beedrill","difficulty":"Baixa","local":["Cerulean"],"classes":["Wingeon","Volcanic"],"imageUrl":"generateWikiImageUrl('Beedrill - Banner Bolinha NW Hunts.webp')","huntTypes":["Bug"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Beedrill"},
{"name":"Alolan Diglett","difficulty":"Baixa","local":["Cerulean"],"classes":["Seavell","Orebound","Volcanic"],"imageUrl":"generateWikiImageUrl('Alolan Diglett - Banner Bolinha NW Hunts.webp')","huntTypes":["Metal"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Alolan Diglett"},
{"name":"Spoink","difficulty":"Baixa","local":["Cerulean"],"classes":["Malefic","Naturia"],"imageUrl":"generateWikiImageUrl('Spoink - Banner Bolinha NW Hunts.webp')","huntTypes":["Psychic"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Spoink"},
{"name":"Espurr","difficulty":"Baixa","local":["Cerulean"],"classes":["Malefic","Naturia"],"imageUrl":"generateWikiImageUrl('Espurr - Banner Bolinha NW Hunts.webp')","huntTypes":["Psychic"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Espurr"},
{"name":"Galarian Farfetchd","difficulty":"Baixa","local":["Cerulean"],"classes":["Psycraft","Wingeon"],"imageUrl":"generateWikiImageUrl('Galarian Farfetchd - Banner Bolinha NW Hunts.webp')","huntTypes":["Fighting"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Galarian Farfetchd"},
{"name":"Machoke","difficulty":"Baixa","local":["Lavender"],"classes":["Psycraft","Wingeon"],"imageUrl":"generateWikiImageUrl('Machoke - Banner Bolinha NW Hunts.webp')","huntTypes":["Fighting"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Machoke"},
{"name":"Cranidos","difficulty":"Baixa","local":["Fuchsia","Lavender"],"classes":["Gardestrike","Ironhard","Orebound"],"imageUrl":"generateWikiImageUrl('Cranidos - Banner Bolinha NW Hunts.webp')","huntTypes":["Rock"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Cranidos"},
{"name":"Dratini e Dragonair","difficulty":"Baixa","local":["Lavender","Cerulean"],"classes":["Psycraft","Seavell"],"imageUrl":"generateWikiImageUrl('Dratini e Dragonair - Banner Bolinha NW Hunts.webp')","huntTypes":["Dragon"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Dratini e Dragonair"},
{"name":"Gible e Gabite","difficulty":"Baixa","local":["Lavender","Cerulean"],"classes":["Seavell"],"imageUrl":"generateWikiImageUrl('Gible e Gabite - Banner Bolinha NW Hunts.webp')","huntTypes":["Dragon"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Gible e Gabite"},
{"name":"Bagon e Shelgon","difficulty":"Baixa","local":["Lavender","Cerulean"],"classes":["Psycraft","Seavell"],"imageUrl":"generateWikiImageUrl('Bagon e Shelgon - Banner Bolinha NW Hunts.webp')","huntTypes":["Dragon"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Bagon e Shelgon"},
{"name":"Rockruff","difficulty":"Baixa","local":["Cerulean"],"classes":["Gardestrike","Orebound","Ironhard"],"imageUrl":"generateWikiImageUrl('Rockruff - Banner Bolinha NW Hunts.webp')","huntTypes":["Rock"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Rockruff"},
{"name":"Elekid","difficulty":"Baixa","local":["Fuchsia"],"classes":["Orebound"],"imageUrl":"generateWikiImageUrl('Elekid - Banner Bolinha NW Hunts.webp')","huntTypes":["Electric"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Elekid"},
{"name":"Tynamo e Eelektrik","difficulty":"Baixa","local":["Fuchsia"],"classes":["Orebound"],"imageUrl":"generateWikiImageUrl('Tynamo e Eelektrik - Banner Bolinha NW Hunts.webp')","huntTypes":["Electric","Poison"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Tynamo e Eelektrik"},
{"name":"Mantyke","difficulty":"Baixa","local":["Cerulean"],"classes":["Raibolt"],"imageUrl":"generateWikiImageUrl('Mantyke - Banner Bolinha NW Hunts.webp')","huntTypes":["Flying","Water"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Mantyke"},
{"name":"Solrock e Lunatone","difficulty":"Baixa","local":["Cerulean"],"classes":["Ironhard"],"imageUrl":"generateWikiImageUrl('Solrock e Lunatone - Banner Bolinha NW Hunts.webp')","huntTypes":["Rock","Psychic"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Solrock e Lunatone"},
{"name":"Galarian Darumaka","difficulty":"Baixa","local":["Cerulean"],"classes":["Ironhard","Volcanic"],"imageUrl":"generateWikiImageUrl('Galarian Darumaka - Banner Bolinha NW Hunts.webp')","huntTypes":["Ice"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Galarian Darumaka"},
{"name":"Silicobra","difficulty":"Baixa","local":["Cerulean"],"classes":["Seavell","Naturia"],"imageUrl":"generateWikiImageUrl('Silicobra - Banner Bolinha NW Hunts.webp')","huntTypes":["Ground"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Silicobra"},
{"name":"Darkrai Minion","difficulty":"Baixa","local":["Todos"],"classes":["Todos"],"imageUrl":"generateWikiImageUrl('Darkrai Minion - Banner Bolinha NW Hunts.webp')","huntTypes":["Neutral"],"huntTipo":"Neutro","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Darkrai Minion"},
{"name":"Farfetchd","difficulty":"Baixa","local":["Pewter"],"classes":["Raibolt","Orebound"],"imageUrl":"generateWikiImageUrl('Farfetchd - Banner Bolinha NW Hunts.webp')","huntTypes":["Flying","Normal"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Farfetchd"},
{"name":"Rufflet","difficulty":"Baixa","local":["Pewter"],"classes":["Raibolt","Orebound"],"imageUrl":"generateWikiImageUrl('Rufflet - Banner Bolinha NW Hunts.webp')","huntTypes":["Flying","Normal"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Rufflet"},
{"name":"Goomy e Sliggoo","difficulty":"Baixa","local":["Cinnabar"],"classes":["Wingeon"],"imageUrl":"generateWikiImageUrl('Sliggoo e Goomy - Banner Bolinha NW Hunts.webp')","huntTypes":["Water"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Goomy e Sliggoo"},
{"name":"Carvanha","difficulty":"Baixa","local":["Pewter"],"classes":["Raibolt","Naturia"],"imageUrl":"generateWikiImageUrl('Carvanha - Banner Bolinha NW Hunts.webp')","huntTypes":["Water"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Carvanha"},
{"name":"Barboach","difficulty":"Baixa","local":["Pewter"],"classes":["Naturia"],"imageUrl":"generateWikiImageUrl('Barboach - Banner Bolinha NW Hunts.webp')","huntTypes":["Ground","Water"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Barboach"},
{"name":"Galarian Meowth","difficulty":"Baixa","local":["Pewter"],"classes":["Volcanic","Orebound"],"imageUrl":"generateWikiImageUrl('Galarian Meowth - Banner Bolinha NW Hunts.webp')","huntTypes":["Metal"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Galarian Meowth"},
{"name":"Skiddo e Nuzleaf","difficulty":"Baixa","local":["Fuchsia"],"classes":["Volcanic","Seavell","Malefic","Wingeon","Naturia"],"imageUrl":"generateWikiImageUrl('Skiddo e Nuzleaf - Banner Bolinha NW Hunts.webp')","huntTypes":["Grass","Dark"],"huntTipo":"Elemental","link":"https://wiki.pokexgames.com/index.php/Nightmare_Hunt_-_Skiddo e Nuzleaf"}
            ],
        };
        function generateWikiImageUrl(imageName) {
            return `https://wiki.pokexgames.com/index.php?title=Especial:Redirecionar/file&wpvalue=${imageName}`;
        }
         const classIcons = {
         const classIcons = {
             "Volcanic": "https://wiki.pokexgames.com/images/6/64/Volcanic1.png",
             "Volcanic": "https://wiki.pokexgames.com/images/6/64/Volcanic1.png",
Linha 301: Linha 259:


         document.addEventListener("DOMContentLoaded", function () {
         document.addEventListener("DOMContentLoaded", function () {
            const mapTypeSelect = document.getElementById("mapType");
             const difficultySelect = document.getElementById("difficulty");
             const difficultySelect = document.getElementById("difficulty");
             const tagButtonsContainer = document.getElementById("tagButtons");
             const tagButtonsContainer = document.getElementById("tagButtons");
Linha 317: Linha 274:
             let selectedTypes = [];
             let selectedTypes = [];
             let showNeutro = false;
             let showNeutro = false;
 
             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";
 
             if (!toggleNeutro || !toggleNeutroIcon) {
             if (!toggleNeutro || !toggleNeutroIcon) {
                 console.error("Elementos do toggle não encontrados!");
                 console.error("Elementos do toggle não encontrados!");
                 return;
                 return;
             }
             }
 
             toggleNeutro.addEventListener("click", () => {  
             toggleNeutro.addEventListener("click", () => {
                 showNeutro = !showNeutro;
                 showNeutro = !showNeutro;
                 toggleNeutro.classList.toggle("active");
                 toggleNeutro.classList.toggle("active");
 
                 if (showNeutro) {
                 if (showNeutro) {
                     toggleNeutroIcon.src = neutroIconAtivado;
                     toggleNeutroIcon.src = neutroIconAtivado;
                 } else {
                 } else {
                     toggleNeutroIcon.src = neutroIconDesativado;
                     toggleNeutroIcon.src = neutroIconDesativado;
                 }
                 }
 
                 filterHunts();
                 filterHunts();
             });
             });
 
             Object.entries(classIcons).forEach(([cls, icon]) => {
             Object.entries(classIcons).forEach(([cls, icon]) => {
                 const button = document.createElement("button");
                 const button = document.createElement("button");
Linha 350: Linha 307:
                 tagButtonsContainer.appendChild(button);
                 tagButtonsContainer.appendChild(button);
             });
             });
 
             Object.entries(typeIcons).forEach(([type, icon]) => {
             Object.entries(typeIcons).forEach(([type, icon]) => {
                 const button = document.createElement("button");
                 const button = document.createElement("button");
Linha 375: Linha 332:


                 filterHunts();
                 filterHunts();
             }  
             }
 
             switchClans.addEventListener("click", () => {
             switchClans.addEventListener("click", () => {
                 clearFilters();
                 clearFilters();
Linha 391: Linha 349:
                 switchTypes.classList.add("active");
                 switchTypes.classList.add("active");
             });
             });
 
             searchInput.addEventListener("input", () => {
             searchInput.addEventListener("input", () => {
                 filterHunts();
                 filterHunts();
             });
             });
            mapTypeSelect.addEventListener("change", function () {
                const selectedMap = this.value;
                difficultySelect.innerHTML = '<option value="">Selecione uma Dificuldade</option>';


                if (selectedMap && hunts[selectedMap]) {
                    const difficulties = new Set(hunts[selectedMap].map(hunt => hunt.difficulty));
                    difficulties.forEach(difficulty => {
                        const option = document.createElement("option");
                        option.value = difficulty;
                        option.textContent = difficulty;
                        difficultySelect.appendChild(option);
                    });
                }
                filterHunts();
            });
             function filterHunts() {
             function filterHunts() {
                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;
                // Se nenhuma dificuldade for selecionada, não exibe nada
                 if (!selectedDifficulty) {
                    return;
                }


                 const huntList = hunts[selectedMap];
                 const huntList = hunts["NW"]; // Assume que a database é sempre "NW"
                 huntList.forEach(hunt => {  
                 huntList.forEach(hunt => {
                     const hasAllClasses = hunt.classes.includes("Todos");
                     const hasAllClasses = hunt.classes.includes("Todos");
                     const hasAllTypes = hunt.huntTypes.includes("Todos");
                     const hasAllTypes = hunt.huntTypes.includes("Todos");
 
                     const matchesTags = hasAllClasses || selectedTags.length === 0 || selectedTags.some(tag => hunt.classes.includes(tag));
                     const matchesTags = hasAllClasses || selectedTags.length === 0 || selectedTags.some(tag => hunt.classes.includes(tag));
 
                     const matchesTypes = hasAllTypes || selectedTypes.length === 0 || selectedTypes.some(type => hunt.huntTypes.includes(type));
                     const matchesTypes = hasAllTypes || selectedTypes.length === 0 || selectedTypes.some(type => hunt.huntTypes.includes(type));
 
                     const matchesDifficulty = selectedDifficulty === "" || hunt.difficulty === selectedDifficulty;
                     const matchesDifficulty = hunt.difficulty === selectedDifficulty;
 
                     const isNeutro = hunt.huntTipo === "Neutro";
                     const isNeutro = hunt.huntTipo === "Neutro";
 
                     const matchesSearch = hunt.name.toLowerCase().includes(searchTerm) || (hunt.altName && hunt.altName.toLowerCase().includes(searchTerm));
                     const matchesSearch = hunt.name.toLowerCase().includes(searchTerm) || (hunt.altName && hunt.altName.toLowerCase().includes(searchTerm));
 
                     if (matchesTags && matchesTypes && matchesDifficulty && (!isNeutro || (isNeutro && showNeutro)) && matchesSearch) {
                     if (matchesTags && matchesTypes && matchesDifficulty && (!isNeutro || (isNeutro && showNeutro)) && matchesSearch) {
                         const imageItem = document.createElement("div");
                         const imageItem = document.createElement("div");
                         imageItem.className = "image-item";
                         imageItem.className = "image-item";
                         imageItem.innerHTML = `
                         imageItem.innerHTML = `
                <div class="image-content">
                            <div class="image-content">
                    <a href="${hunt.link}" target="_blank">
                                <a href="${hunt.link}" target="_blank">
                        <img src="${hunt.imageUrl}" alt="${hunt.name}" title="Clique para mais informações">
                                    <img src="${hunt.imageUrl}" alt="${hunt.name}" title="Clique para mais informações">
                    </a>
                                </a>
                    <div class="image-info">
<div class="image-info">
                        <p><b>Nome do Local:</b> ${hunt.name}</p>
    <p><b>Resistência: </b> ${Array.isArray(hunt.local) ? hunt.local.join(", ") : hunt.local}</p>
                        <p><b>Localização:</b> ${Array.isArray(hunt.local) ? hunt.local.join(", ") : hunt.local}</p>
    <p><b>Dificuldade: </b> ${hunt.difficulty}</p>
                        <p><b>Dificuldade:</b> ${hunt.difficulty}</p>
    <p><b>Dano: </b> ${hunt.huntTypes.includes("Todos") ? "Todos" : hunt.huntTypes.map(type => `<img src="${typeIcons[type]}" alt="${type}" title="${type}" class="class-icon">`).join(" ")}</p>
                        <p><b>Dano da Hunt:</b> ${hunt.huntTypes.includes("Todos") ? "Todos" : hunt.huntTypes.join(", ")}</p>
    <div class="class-container">
                        <div class="class-container">
        <p><b>Clãs: </b></p>
                            <p><b>Clãs:</b></p>
        <div class="class-icons">
                            <div class="class-icons">
            ${hunt.classes.includes("Todos") ? "Todos" : hunt.classes.map(cls => `<img src="${classIcons[cls]}" alt="${cls}" title="${cls}" class="class-icon">`).join("")}
                                ${hunt.classes.includes("Todos") ? "Todos" : hunt.classes.map(cls => `<img src="${classIcons[cls]}" alt="${cls}" class="class-icon">`).join("")}
        </div>
                            </div>
    </div>
                        </div>
</div>
                    </div>
                        `;
                </div>
            `;
                         imageContainer.appendChild(imageItem);
                         imageContainer.appendChild(imageItem);
                     }
                     }
                 });
                 });
             }
             }
            mapTypeSelect.addEventListener("change", filterHunts);
            difficultySelect.addEventListener("change", filterHunts);


             mapTypeSelect.dispatchEvent(new Event("change"));
             difficultySelect.addEventListener("change", filterHunts);
 
            // Preenche as dificuldades disponíveis
            const difficulties = new Set(hunts["NW"].map(hunt => hunt.difficulty));
            difficulties.forEach(difficulty => {
                const option = document.createElement("option");
                option.value = difficulty;
                option.textContent = difficulty;
                difficultySelect.appendChild(option);
            });
 
            // Não exibe as hunts inicialmente (só após selecionar uma dificuldade)
            imageContainer.innerHTML = "";
         });
         });
     </script>
     </script>

Edição atual tal como às 23h16min de 23 de março de 2025

<!DOCTYPE html> <html lang="pt-BR">

<head>

   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Seleção de Hunts</title>
   <style> 
       .borda-container {
           display: flex;
           flex-direction: column;
           padding: .5rem 2rem;
           margin: 0 auto;
           border: 42px solid transparent;
           border-image: url(https://wiki.pokexgames.com/images/3/37/Calculadora-de-Boost.png) 38;
           border-image-repeat: round;
           width: 100%;
           box-sizing: border-box;
           min-height: 620px;
           overflow: hidden;
       }
       .hidden {
           display: none;
       }
       .input-group {
           margin: 20px 0;
       }
       .maps__select {
           width: 100%;
           padding: 10px;
           font-size: 16px;
           border-radius: 5px;
           border: 1px solid #ccc;
           background-color: #fff;
           margin-top: 15px;
           box-sizing: border-box;
       }
       .image-container {
           display: flex;
           flex-wrap: wrap;
           gap: 10px;
           margin-top: 20px;
       }
       .image-item {
           flex: 1 0 30%;
           text-align: left;
       }

.image-info p {

   margin-bottom: 6px; /* Reduz o espaço entre os parágrafos */
   margin-left: 40px;
   line-height: 1.5;

}

.image-info img {

   vertical-align: middle;
   display: inline-block;
   margin-right: 5px;
   transform: translateY(-3px); /* Sobe a imagem 5px */

}

.class-icons img {

   vertical-align: middle;
   display: inline-block;
   margin-right: 5px;
   transform: translateY(-3px); /* Sobe a imagem 5px */

}



       .image-item {
           display: flex;
           justify-content: center;
           width: 100%;
       }
       .image-content {
           text-align: left;
           max-width: 400px;
           width: 100%;
           margin-bottom: 35px;
       }
       .tag-button {
           display: inline-flex;
           color: #333;
           padding: 5px 12px;
           margin: 5px;
           border-radius: 20px;
           cursor: pointer;
           font-size: 16px;
       }
       .tag-button.selected {
           background-color: #d586e1;
           color: #050000;
           border: #9d4cea solid 2px;
           font-weight: bolder;
       }
       .class-container {
           display: flex;
           align-items: center;
           gap: 10px;
   margin-top: -5px; /* Aproxima "Clãs:" do item anterior */
       }


       .type-dropdown {
           margin-top: 10px;
       }
       .disabled {
           opacity: 0.5;
           pointer-events: none;
       }
       .switch-container {
           display: flex;
           gap: 10px;
           margin: 20px 0;
       }
       .switch-button {
           background-color: #f1f1f1;
           border: 1px solid #ccc;
           padding: 10px;
           border-radius: 5px;
           cursor: pointer;
           display: flex;
           align-items: center;
           gap: 5px;
       }
       .switch-button.active {
           background-color: #d586e1;
           border-color: #9d4cea;
       }
       .icon-filter {
           width: 24px;
           height: 24px;
       }
       .toggle-button {
           display: flex;
           align-items: center;
           gap: 5px;
           cursor: pointer;
       }
       .toggle-group {
           display: flex; 
           align-items: center; 
           gap: 10px; 
       }
       .toggle-container {
           display: flex; 
           align-items: center; 
           cursor: pointer; 
       }
       .toggle-container img {
           width: 60px; 
           height: 28px;
       }
   </style>

</head>

<body>

           <label for="difficulty">Dificuldade:</label>
           <select id="difficulty" class="maps__select">
               <option value="">Selecione uma Dificuldade</option>
           </select>
               <label>Mostrar Hunts Neutras </label>
                   <img src="https://wiki.pokexgames.com/images/2/27/Vetor_Toggle_Wiki_Off.png" alt="Desativado"
                       id="toggleNeutroIcon">
           <label for="search">Buscar por Nome:</label>
           <input type="text" id="search" class="maps__select" placeholder="Digite o nome...">
               <img src="https://wiki.pokexgames.com/images/6/64/Volcanic1.png" alt="Clãs" class="icon-filter">
               <img src="https://wiki.pokexgames.com/images/c/c9/Steel.png" alt="Dano Recebido" class="icon-filter">
           <label>Filtro de Clãs do Jogador:</label>
   <script>
       const classIcons = {
           "Volcanic": "https://wiki.pokexgames.com/images/6/64/Volcanic1.png",
           "Raibolt": "https://wiki.pokexgames.com/images/b/b4/Raibol1t.png",
           "Orebound": "https://wiki.pokexgames.com/images/e/e2/Orebound1.png",
           "Naturia": "https://wiki.pokexgames.com/images/3/30/Naturia1.png",
           "Gardestrike": "https://wiki.pokexgames.com/images/3/39/Gardestrike1.png",
           "Ironhard": "https://wiki.pokexgames.com/images/9/9a/Ironhard1.png",
           "Wingeon": "https://wiki.pokexgames.com/images/0/0c/Wingeon1.png",
           "Psycraft": "https://wiki.pokexgames.com/images/5/59/Psycraft1.png",
           "Seavell": "https://wiki.pokexgames.com/images/2/2c/Seave1ll.png",
           "Malefic": "https://wiki.pokexgames.com/images/5/56/Malefi1c.png"
       };
       const typeIcons = {
           "Steel": "https://wiki.pokexgames.com/images/c/c9/Steel.png",
           "Dragon": "https://wiki.pokexgames.com/images/c/c7/Dragon.png",
           "Fairy": "https://wiki.pokexgames.com/images/4/43/Fairy.png",
           "Psychic": "https://wiki.pokexgames.com/images/2/21/Psychic.png",
           "Fighting": "https://wiki.pokexgames.com/images/3/30/Fighting.png",
           "Ice": "https://wiki.pokexgames.com/images/7/77/Ice.png",
           "Fire": "https://wiki.pokexgames.com/images/3/30/Fire.png",
           "Rock": "https://wiki.pokexgames.com/images/0/0b/Rock.png",
           "Ground": "https://wiki.pokexgames.com/images/8/8f/Ground.png",
           "Poison": "https://wiki.pokexgames.com/images/0/03/Poison1.png",
           "Electric": "https://wiki.pokexgames.com/images/2/2f/Electric.png",
           "Water": "https://wiki.pokexgames.com/images/9/9d/Water.png",
           "Bug": "https://wiki.pokexgames.com/images/7/7d/Bug.png",
           "Grass": "https://wiki.pokexgames.com/images/c/c5/Grass.png",
           "Flying": "https://wiki.pokexgames.com/images/7/7f/Flying.png",
           "Normal": "https://wiki.pokexgames.com/images/e/e8/Normal1.png",
           "Ghost": "https://wiki.pokexgames.com/images/5/59/Ghost1.png",
           "Dark": "https://wiki.pokexgames.com/images/9/98/Dark1.png",
           "Neutral": "https://wiki.pokexgames.com/images/0/08/NeutralICON.png"
       };
       document.addEventListener("DOMContentLoaded", function () {
           const difficultySelect = document.getElementById("difficulty");
           const tagButtonsContainer = document.getElementById("tagButtons");
           const typeButtonsContainer = document.getElementById("typeButtons");
           const imageContainer = document.getElementById("imageContainer");
           const toggleNeutro = document.getElementById("toggleNeutro");
           const toggleNeutroIcon = document.getElementById("toggleNeutroIcon");
           const searchInput = document.getElementById("search");
           const switchClans = document.getElementById("switchClans");
           const switchTypes = document.getElementById("switchTypes");
           const clanFilter = document.getElementById("clanFilter");
           const typeFilter = document.getElementById("typeFilter");
           let selectedTags = [];
           let selectedTypes = [];
           let showNeutro = false;
           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";
           if (!toggleNeutro || !toggleNeutroIcon) {
               console.error("Elementos do toggle não encontrados!");
               return;
           }
           toggleNeutro.addEventListener("click", () => {
               showNeutro = !showNeutro;
               toggleNeutro.classList.toggle("active");
               if (showNeutro) {
                   toggleNeutroIcon.src = neutroIconAtivado;
               } else {
                   toggleNeutroIcon.src = neutroIconDesativado;
               }
               filterHunts();
           });
           Object.entries(classIcons).forEach(([cls, icon]) => {
               const button = document.createElement("button");
               button.className = "tag-button";
               button.innerHTML = `<img src="${icon}" alt="${cls}" class="class-icon" title="${cls}">`;
               button.addEventListener("click", () => {
                   button.classList.toggle("selected");
                   selectedTags.includes(cls) ? selectedTags.splice(selectedTags.indexOf(cls), 1) : selectedTags.push(cls);
                   filterHunts();
               });
               tagButtonsContainer.appendChild(button);
           });
           Object.entries(typeIcons).forEach(([type, icon]) => {
               const button = document.createElement("button");
               button.className = "tag-button";
               button.innerHTML = `<img src="${icon}" alt="${type}" class="class-icon" title="${type}">`;
               button.addEventListener("click", () => {
                   button.classList.toggle("selected");
                   selectedTypes.includes(type) ? selectedTypes.splice(selectedTypes.indexOf(type), 1) : selectedTypes.push(type);
                   filterHunts();
               });
               typeButtonsContainer.appendChild(button);
           });
           function clearFilters() {
               document.querySelectorAll("#tagButtons .tag-button.selected").forEach(button => {
                   button.classList.remove("selected");
               });
               document.querySelectorAll("#typeButtons .tag-button.selected").forEach(button => {
                   button.classList.remove("selected");
               });
               selectedTags = [];
               selectedTypes = [];
               filterHunts();
           }
           switchClans.addEventListener("click", () => {
               clearFilters();
               clanFilter.classList.remove("hidden");
               typeFilter.classList.add("hidden");
               switchClans.classList.add("active");
               switchTypes.classList.remove("active");
           });
           switchTypes.addEventListener("click", () => {
               clearFilters();
               clanFilter.classList.add("hidden");
               typeFilter.classList.remove("hidden");
               switchClans.classList.remove("active");
               switchTypes.classList.add("active");
           });
           searchInput.addEventListener("input", () => {
               filterHunts();
           });
           function filterHunts() {
               const selectedDifficulty = difficultySelect.value;
               const searchTerm = searchInput.value.toLowerCase();
               imageContainer.innerHTML = "";
               // Se nenhuma dificuldade for selecionada, não exibe nada
               if (!selectedDifficulty) {
                   return;
               }
               const huntList = hunts["NW"]; // Assume que a database é sempre "NW"
               huntList.forEach(hunt => {
                   const hasAllClasses = hunt.classes.includes("Todos");
                   const hasAllTypes = hunt.huntTypes.includes("Todos");
                   const matchesTags = hasAllClasses || selectedTags.length === 0 || selectedTags.some(tag => hunt.classes.includes(tag));
                   const matchesTypes = hasAllTypes || selectedTypes.length === 0 || selectedTypes.some(type => hunt.huntTypes.includes(type));
                   const matchesDifficulty = hunt.difficulty === selectedDifficulty;
                   const isNeutro = hunt.huntTipo === "Neutro";
                   const matchesSearch = hunt.name.toLowerCase().includes(searchTerm) || (hunt.altName && hunt.altName.toLowerCase().includes(searchTerm));
                   if (matchesTags && matchesTypes && matchesDifficulty && (!isNeutro || (isNeutro && showNeutro)) && matchesSearch) {
                       const imageItem = document.createElement("div");
                       imageItem.className = "image-item";
                       imageItem.innerHTML = `
                               <a href="${hunt.link}" target="_blank">
                                   <img src="${hunt.imageUrl}" alt="${hunt.name}" title="Clique para mais informações">
                               </a>

Resistência: ${Array.isArray(hunt.local) ? hunt.local.join(", ") : hunt.local}

Dificuldade: ${hunt.difficulty}

Dano: ${hunt.huntTypes.includes("Todos") ? "Todos" : hunt.huntTypes.map(type => `<img src="${typeIcons[type]}" alt="${type}" title="${type}" class="class-icon">`).join(" ")}

Clãs:

           ${hunt.classes.includes("Todos") ? "Todos" : hunt.classes.map(cls => `<img src="${classIcons[cls]}" alt="${cls}" title="${cls}" class="class-icon">`).join("")}
                       `;
                       imageContainer.appendChild(imageItem);
                   }
               });
           }
           difficultySelect.addEventListener("change", filterHunts);
           // Preenche as dificuldades disponíveis
           const difficulties = new Set(hunts["NW"].map(hunt => hunt.difficulty));
           difficulties.forEach(difficulty => {
               const option = document.createElement("option");
               option.value = difficulty;
               option.textContent = difficulty;
               difficultySelect.appendChild(option);
           });
           // Não exibe as hunts inicialmente (só após selecionar uma dificuldade)
           imageContainer.innerHTML = "";
       });
   </script>

</body>

</html>