document.getElementById('characterForm').addEventListener('submit', function(event) { event.preventDefault(); // Prevents form from submitting normally // Retrieves selected character type var charType = document.getElementById('charType').value; const queryParams = new URLSearchParams({ chartype: charType, }); // Makes a POST request to endpoint with selected charType as parameter fetch(`${window.BASE_URL}/rules/character?${queryParams}`) .then(response => response.json()) // Gets the response and returns it as JSON .then(data => { // When promise is resolved var resultSection = document.getElementById('resultSection'); resultSection.innerHTML = ''; // After existing code, add below lines for the profile rendering resultSection.innerHTML += `Profile:
`; var profile = data.profile; resultSection.innerHTML += ` - Name: ${profile.name}
`; resultSection.innerHTML += ` - Sex: ${profile.sex}
`; resultSection.innerHTML += ` - Age: ${profile.age}
`; // Check if character type is human if(charType === 'human' && profile.hair && profile.eyes && profile.skintone) { resultSection.innerHTML += ` - Hair: ${profile.hair}
`; resultSection.innerHTML += ` - Eyes: ${profile.eyes}
`; resultSection.innerHTML += ` - Skin Tone: ${profile.skintone}
`; } resultSection.innerHTML += "
"; // Display animal-stock if it exists if(data['animal-stock']){ resultSection.innerHTML += `Animal Stock:
`; var animalStock = data['animal-stock']; for(var prop in animalStock){ resultSection.innerHTML += ` - ${prop}: ${animalStock[prop]}
`; } resultSection.innerHTML += "
"; } // Printing abilities resultSection.innerHTML += "Abilities:
"; var abilities = data.abilities; for(var ability in abilities) { resultSection.innerHTML += ` - ${ability}: ${abilities[ability]}
`; } resultSection.innerHTML += "
"; // Display hp, gold, domars resultSection.innerHTML += `hp: ${data.hp}
`; resultSection.innerHTML += `gold: ${data.gold}
`; resultSection.innerHTML += `domars: ${data.domar}
`; resultSection.innerHTML += "
"; // Display mutations if they exist if(data.mutations){ resultSection.innerHTML += `Mutations:
`; var mutations = data.mutations; resultSection.innerHTML += ` - Mental (${mutations.count.mental}): ${mutations.mental.join(', ')}
`; resultSection.innerHTML += ` - Physical (${mutations.count.physical}): ${mutations.physical.join(', ')}
`; } // Display cybermods if they exist if(data.cybermods){ resultSection.innerHTML += `Cybermods:
`; var cybermods = data.cybermods; if (data.cybermods.mental) { resultSection.innerHTML += ` - Mental (${cybermods.count.mental}): ${cybermods.mental.join(', ')}
`; } if (data.cybermods.physical) { resultSection.innerHTML += ` - Physical (${cybermods.count.physical}): ${cybermods.physical.join(', ')}
`; } } }) .catch(error => console.error('Error:', error)); });