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://v6.exchangerate-api.com/v6/3ebe2ccf9eeea2aaef280201/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 = ''; | |
| }); |