tried to add family images container
This commit is contained in:
parent
42a6691714
commit
4cd9304520
@ -70,5 +70,101 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
|
|
||||||
breedingIframe.src = breedingIframeSrc;
|
breedingIframe.src = breedingIframeSrc;
|
||||||
}
|
}
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
const familyImagesContainer = document.getElementById("familyImagesContainer");
|
||||||
|
const monsterDropdown = document.getElementById("monsterDropdown");
|
||||||
|
const monsterIframe = document.getElementById("monsterIframe");
|
||||||
|
const breedingIframe = document.getElementById("breedingIframe");
|
||||||
|
|
||||||
|
// Initialize family images and iframes
|
||||||
|
updateFamilyImages();
|
||||||
|
updateIframes();
|
||||||
|
|
||||||
|
// Fetch families data from the server
|
||||||
|
fetch("/get_families")
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
populateFamilyImages(familyImagesContainer, data);
|
||||||
|
updateIframes();
|
||||||
|
})
|
||||||
|
.catch(error => console.error("Error fetching families:", error));
|
||||||
|
|
||||||
|
familyImagesContainer.addEventListener("click", function (event) {
|
||||||
|
const selectedFamily = event.target.dataset.family;
|
||||||
|
|
||||||
|
if (selectedFamily) {
|
||||||
|
// Update monsterDropdown and trigger iframes update
|
||||||
|
updateMonsterDropdown(selectedFamily);
|
||||||
|
updateIframes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
monsterDropdown.addEventListener("change", function () {
|
||||||
|
updateIframes();
|
||||||
|
});
|
||||||
|
|
||||||
|
function populateFamilyImages(container, data) {
|
||||||
|
container.innerHTML = ''; // Clear existing images
|
||||||
|
|
||||||
|
// Populate family images
|
||||||
|
data.forEach(family => {
|
||||||
|
const image = document.createElement("img");
|
||||||
|
image.src = `../static/img/${family}.png`;
|
||||||
|
image.alt = family;
|
||||||
|
image.dataset.family = family; // Set dataset for identification
|
||||||
|
container.appendChild(image);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateFamilyImages() {
|
||||||
|
// Fetch families data from the server
|
||||||
|
fetch("/get_families")
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => populateFamilyImages(familyImagesContainer, data))
|
||||||
|
.catch(error => console.error("Error fetching families:", error));
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateMonsterDropdown(selectedFamily) {
|
||||||
|
// Fetch monsters data from the server based on the selected family
|
||||||
|
fetch(`/get_monsters?family=${selectedFamily}`)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => populateDropdown(monsterDropdown, data))
|
||||||
|
.catch(error => console.error("Error fetching monsters:", error));
|
||||||
|
}
|
||||||
|
|
||||||
|
function populateDropdown(dropdown, data) {
|
||||||
|
// Clear existing options
|
||||||
|
dropdown.innerHTML = '<option value="">All Monsters</option>';
|
||||||
|
|
||||||
|
// Populate dropdown options
|
||||||
|
data.forEach(item => {
|
||||||
|
const option = document.createElement("option");
|
||||||
|
option.value = item;
|
||||||
|
option.text = item;
|
||||||
|
dropdown.appendChild(option);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateIframes() {
|
||||||
|
const selectedFamily = familyDropdown.value;
|
||||||
|
const selectedMonster = monsterDropdown.value;
|
||||||
|
|
||||||
|
// Update monsterIframe src based on selected family and monster
|
||||||
|
const monsterIframeSrc = selectedMonster
|
||||||
|
? `/monster/${selectedMonster}`
|
||||||
|
: selectedFamily
|
||||||
|
? `/monster/${selectedFamily}`
|
||||||
|
: "about:blank";
|
||||||
|
|
||||||
|
monsterIframe.src = monsterIframeSrc;
|
||||||
|
|
||||||
|
// Update breedingIframe src based on the selected monster
|
||||||
|
const breedingIframeSrc = selectedMonster
|
||||||
|
? `/get_breeding_combinations?monster=${selectedMonster}`
|
||||||
|
: "about:blank";
|
||||||
|
|
||||||
|
breedingIframe.src = breedingIframeSrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<h1 class="text-2xl font-black text-white">
|
<h1 class="text-2xl font-black text-white">
|
||||||
Welcome to the Dragon Warrior Monsters 2 App
|
Welcome to the Dragon Warrior Monsters 2 App
|
||||||
</h1>
|
</h1>
|
||||||
|
<div id="familyImagesContainer" class="flex mt-2"></div>
|
||||||
<div>
|
<div>
|
||||||
<label for="familyDropdown">Select Family:</label>
|
<label for="familyDropdown">Select Family:</label>
|
||||||
<select id="familyDropdown" class="p-2 rounded-md bg-slate-800">
|
<select id="familyDropdown" class="p-2 rounded-md bg-slate-800">
|
||||||
|
Loading…
Reference in New Issue
Block a user