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));
});