File size: 2,791 Bytes
830d5f1 77ebda8 830d5f1 94367ea 830d5f1 94367ea 77ebda8 830d5f1 94367ea 830d5f1 94367ea 830d5f1 94367ea 830d5f1 65c4c23 830d5f1 94367ea 830d5f1 94367ea 77ebda8 830d5f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
// Ambil elemen
const amountInput = document.getElementById('amount');
const fromCurrency = document.getElementById('fromCurrency');
const toCurrency = document.getElementById('toCurrency');
const resultDiv = document.getElementById('result');
const convertButton = document.createElement('button');
convertButton.textContent = 'Convert';
convertButton.type = 'button';
convertButton.id = 'convertButton';
document.getElementById('currencyForm').appendChild(convertButton);
// Tombol tampil secara default
let isInitialConversion = true;
async function convertCurrency() {
const amount = amountInput.value;
// Validasi input jumlah
if (!amount || amount <= 0) {
resultDiv.innerHTML = "Please enter a valid amount!";
return;
}
try {
const apiKey = '3ebe2ccf9eeea2aaef280201'; // API Key
const url = `https://v6.exchangerate-api.com/v6/${apiKey}/latest/${fromCurrency.value}`;
// Ambil data dari API
const response = await fetch(url);
const data = await response.json();
// Tangani error API
if (data.result === 'error') {
resultDiv.innerHTML = `Error: ${data['error-type']}`;
} else {
const rate = data.conversion_rates[toCurrency.value];
const convertedAmount = (amount * rate).toFixed(2);
resultDiv.innerHTML = `${amount} ${fromCurrency.value} = ${convertedAmount} ${toCurrency.value}`;
// Sembunyikan tombol setelah konversi pertama
if (isInitialConversion) {
convertButton.style.display = 'none';
isInitialConversion = false;
}
}
} catch (error) {
resultDiv.innerHTML = "Error fetching conversion rate.";
console.error("Error:", error);
}
}
// Fungsi Swap
document.getElementById('swapButton').addEventListener('click', function () {
const tempCurrency = fromCurrency.value;
fromCurrency.value = toCurrency.value;
toCurrency.value = tempCurrency;
if (amountInput.value && amountInput.value > 0) {
convertCurrency(); // Konversi ulang setelah swap
}
});
// Event untuk tombol Convert (klik tombol manual)
convertButton.addEventListener('click', function () {
convertCurrency();
});
// Event otomatis konversi setelah jumlah diisi
amountInput.addEventListener('input', function () {
if (!isInitialConversion) {
convertCurrency(); // Konversi otomatis
}
});
// Event tampilkan tombol jika mata uang diubah
fromCurrency.addEventListener('change', function () {
convertButton.style.display = 'block'; // Tampilkan tombol
isInitialConversion = true; // Reset status awal
resultDiv.innerHTML = ""; // Reset hasil
});
toCurrency.addEventListener('change', function () {
convertButton.style.display = 'block'; // Tampilkan tombol
isInitialConversion = true; // Reset status awal
resultDiv.innerHTML = ""; // Reset hasil
});
|