5 739
edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 228: | Linha 228: | ||
<script> | <script> | ||
const specificOptions = { | |||
1: { // Mapa Vermelho | |||
'Areia': [ | |||
{ id: '101', local: 'Green Island', coordinates: '3780, 3326, 7', imageUrl: 'https://wiki.pokexgames.com/images/d/db/3780%2C_3326%2C_7.png', tags: ['Areia', 'Praia'] }, | |||
], | |||
// Outras opções do Mapa Vermelho | |||
}, | |||
2: { // Mapa Verde | |||
'Grama': [ | |||
{ id: '102', local: 'Green Hills', coordinates: '3785, 3320, 7', imageUrl: 'https://wiki.pokexgames.com/images/d/db/3780%2C_3326%2C_7.png', tags: ['Grama'] }, | |||
{ id: '105', local: 'Green Island', coordinates: '3780, 3326, 7', imageUrl: 'https://wiki.pokexgames.com/images/d/db/3780%2C_3326%2C_7.png', tags: ['Areia'] }, | |||
{ id: '106', local: 'Green Island', coordinates: '3780, 3326, 7', imageUrl: 'https://wiki.pokexgames.com/images/d/db/3780%2C_3326%2C_7.png', tags: [] }, | |||
], | |||
// Outras opções do Mapa Verde | |||
}, | |||
3: { // Mapa Roxo | |||
'Pedra': [ | |||
{ id: '103', local: 'Rocky Mountain', coordinates: '3790, 3315, 7', imageUrl: 'https://wiki.pokexgames.com/images/d/db/3780%2C_3326%2C_7.png', tags: ['Pedra'] }, | |||
{ id: '104', local: 'Green Island', coordinates: '3780, 3326, 7', imageUrl: 'https://wiki.pokexgames.com/images/d/db/3780%2C_3326%2C_7.png', tags: ['Areia'] }, | |||
], | |||
// Outras opções do Mapa Roxo | |||
} | |||
}; | |||
document.getElementById('enableFilter').addEventListener('change', function () { | document.getElementById('enableFilter').addEventListener('change', function () { | ||
Linha 316: | Linha 316: | ||
}); | }); | ||
document.getElementById('filterButton').addEventListener('click', function () { | |||
const searchIds = document.getElementById('searchIds').value.split(',').map(id => id.trim().toLowerCase()); | |||
const filterOption = document.getElementById('filterOption').value; | |||
const selectedMapType = document.getElementById('mapType').value; | |||
const selectedSpecificOption = document.getElementById('specificOption').value; | |||
const imageContainer = document.getElementById('imageContainer'); | |||
let imagesHtml = ''; | |||
let allImages = []; | |||
if (filterOption === 'tag') { | |||
if (selectedMapType) { | |||
const mapOptions = specificOptions[selectedMapType]; | |||
if (selectedSpecificOption) { | |||
const images = mapOptions[selectedSpecificOption].filter(image => | |||
searchIds.some(tag => image.tags.map(t => t.toLowerCase()).includes(tag)) | |||
); | |||
allImages = allImages.concat(images); | |||
} else { | |||
Object.keys(mapOptions).forEach(option => { | |||
const images = mapOptions[option].filter(image => | |||
searchIds.some(tag => image.tags.map(t => t.toLowerCase()).includes(tag)) | |||
); | |||
allImages = allImages.concat(images); | |||
}); | |||
} | |||
} | } | ||
} | |||
} else if (filterOption === 'number') { | |||
if (searchIds.length > 0) { | |||
Object.keys(specificOptions).forEach(mapType => { | |||
const mapOptions = specificOptions[mapType]; | |||
Object.keys(mapOptions).forEach(option => { | |||
const images = mapOptions[option].filter(image => searchIds.includes(image.id)); | |||
allImages = allImages.concat(images); | |||
}); | |||
}); | |||
} | |||
} | |||
if (allImages.length > 0) { | |||
allImages.sort((a, b) => a.local.localeCompare(b.local)); | |||
allImages.forEach(image => { | |||
imagesHtml += ` | |||
<div class="image-item"> | |||
<img src="${image.imageUrl}" alt="Imagem ID ${image.id}"> | |||
<div class="image-info"> | |||
<b>Número do Mapa</b>: ${image.id} <br> | |||
<b>Local</b>: ${image.local} <br> | |||
<b>Coordenada</b>: ${image.coordinates}<br> | |||
<b>Tag(s)</b>: ${image.tags.join(', ') || 'Nenhuma'} | |||
</div> | |||
</div> | |||
`; | |||
}); | |||
} else { | |||
imagesHtml = 'Nenhuma imagem encontrada com os critérios fornecidos.'; | |||
} | |||
imageContainer.innerHTML = imagesHtml; | |||
imageContainer.classList.toggle('hidden', allImages.length === 0); | |||
}); | |||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> |