Spaces:
Running
Running
async function convertCurrency() { | |
const amount = document.getElementById('amount').value; | |
const fromCurrency = document.getElementById('from-currency').value; | |
const toCurrency = document.getElementById('to-currency').value; | |
const result = document.getElementById('result'); | |
const convertBtn = document.getElementById('convert-btn'); | |
if (amount && fromCurrency && toCurrency) { | |
try { | |
const response = await fetch(`https://api.exchangerate-api.com/v4/latest/${fromCurrency}`); | |
const data = await response.json(); | |
const rate = data.rates[toCurrency]; | |
const convertedAmount = (amount * rate).toFixed(2); | |
// Display conversion result | |
result.innerHTML = `${amount} ${fromCurrency} = ${convertedAmount} ${toCurrency}`; | |
// Hide convert button after conversion | |
convertBtn.style.display = 'none'; | |
} catch (error) { | |
result.innerText = "Error fetching exchange rates!"; | |
} | |
} | |
} | |
function swapCurrencies() { | |
const fromCurrency = document.getElementById('from-currency'); | |
const toCurrency = document.getElementById('to-currency'); | |
// Swap currency values | |
const temp = fromCurrency.value; | |
fromCurrency.value = toCurrency.value; | |
toCurrency.value = temp; | |
// Automatically convert after swap | |
convertCurrency(); | |
} | |
// Event listeners for input and currency change | |
document.getElementById('amount').addEventListener('input', convertCurrency); | |
document.getElementById('from-currency').addEventListener('change', () => { | |
document.getElementById('convert-btn').style.display = 'block'; | |
document.getElementById('result').innerHTML = ''; | |
}); | |
document.getElementById('to-currency').addEventListener('change', () => { | |
document.getElementById('convert-btn').style.display = 'block'; | |
document.getElementById('result').innerHTML = ''; | |
}); | |