Skip to main content

Currency convertor

Big O

HTML​

document.addEventListener("DOMContentLoaded", function () {
const amountInput = document.getElementById("amount");
const fromCurSelect = document.getElementById("fromCur");
const toCurSelect = document.getElementById("toCur");
const resultParagraph = document.getElementById("result");

async function convert() {
const amount = Number(amountInput.value);
const fromCur = fromCurSelect.value;
const toCur = toCurSelect.value;

if (fromCur === toCur) {
resultParagraph.textContent = `${amount} ${toCur}`;
return;
}

try {
resultParagraph.textContent = "Loading...";
const res = await fetch(
`https://api.frankfurter.app/latest?amount=${amount}&from=${fromCur}&to=${toCur}`,
);
if (!res.ok) throw new Error("Error fetching data");
const data = await res.json();
resultParagraph.textContent = `${data.rates[toCur]} ${toCur}`;
} catch (error) {
console.error("Failed to fetch data:", error);
resultParagraph.textContent = "Error";
}
}

amountInput.addEventListener("input", convert);
fromCurSelect.addEventListener("change", convert);
toCurSelect.addEventListener("change", convert);

// Initial conversion on page load
convert();
});