all script functions are isolated in their own js file, currency select pulled out of price tracker
This commit is contained in:
parent
113a320850
commit
d910ac19a7
@ -5,17 +5,6 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="style.css">
|
<link rel="stylesheet" type="text/css" href="style.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="container">
|
|
||||||
<div class="price-display">
|
|
||||||
<div class="bitcoin-logo">
|
|
||||||
<img src='file:///android_asset/images/logo.png' alt='BTC' />
|
|
||||||
</div>
|
|
||||||
<div id="bitcoin-price"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="dollars-to-sats"></div>
|
|
||||||
|
|
||||||
<div class="currency-dropdown">
|
<div class="currency-dropdown">
|
||||||
<label for="currency-select">Select Currency: </label>
|
<label for="currency-select">Select Currency: </label>
|
||||||
<select id="currency-select">
|
<select id="currency-select">
|
||||||
@ -36,6 +25,18 @@
|
|||||||
<option value="vnd">Dong</option>
|
<option value="vnd">Dong</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="price-display">
|
||||||
|
<div class="bitcoin-logo">
|
||||||
|
<img src='file:///android_asset/images/logo.png' alt='BTC' />
|
||||||
|
</div>
|
||||||
|
<div id="bitcoin-price"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="dollars-to-sats"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// Function to fetch and update the Bitcoin price
|
// bitcoinPriceTracker.js
|
||||||
function updateBitcoinPrice() {
|
function updateBitcoinPrice(selectedCurrency) {
|
||||||
const currencySelect = document.getElementById('currency-select');
|
|
||||||
const selectedCurrency = currencySelect.value;
|
|
||||||
|
|
||||||
fetch(`https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=${selectedCurrency}`)
|
fetch(`https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=${selectedCurrency}`)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
@ -14,24 +11,16 @@ function updateBitcoinPrice() {
|
|||||||
const formattedPrice = `${selectedCurrency.toUpperCase()} ` + bitcoinPrice.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 0 });
|
const formattedPrice = `${selectedCurrency.toUpperCase()} ` + bitcoinPrice.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 0 });
|
||||||
|
|
||||||
bitcoinPriceElement.textContent = formattedPrice; // Display the formatted Bitcoin price
|
bitcoinPriceElement.textContent = formattedPrice; // Display the formatted Bitcoin price
|
||||||
|
|
||||||
// Calculate currency to sats
|
|
||||||
const currencyToSatsElement = document.getElementById('dollars-to-sats');
|
|
||||||
const satsConversionFactor = 100000000; // 1 bitcoin = 100 million sats
|
|
||||||
|
|
||||||
// Calculate how many sats you can get for 1 unit of the selected currency based on the fetched Bitcoin price
|
|
||||||
const currencyValue = 1;
|
|
||||||
const sats = (currencyValue / bitcoinPrice) * satsConversionFactor;
|
|
||||||
|
|
||||||
currencyToSatsElement.textContent = `1 ${selectedCurrency.toUpperCase()} = ${sats.toFixed(0)} sats`; // Display the result
|
|
||||||
})
|
})
|
||||||
.catch(error => console.error(error));
|
.catch(error => console.error(error));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to refresh the Bitcoin price every 30 seconds
|
|
||||||
function refreshBitcoinPrice() {
|
function refreshBitcoinPrice() {
|
||||||
updateBitcoinPrice(); // Call the function immediately to display the price on page load
|
const currencySelect = document.getElementById('currency-select');
|
||||||
setInterval(updateBitcoinPrice, 1000); // Call the function every 1 second (1,000 milliseconds)
|
const selectedCurrency = currencySelect.value;
|
||||||
|
|
||||||
|
updateBitcoinPrice(selectedCurrency); // Call the function immediately to display the price on page load
|
||||||
|
setInterval(() => updateBitcoinPrice(selectedCurrency), 10000); // Call the function every 30 seconds
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call the function to refresh the Bitcoin price
|
// Call the function to refresh the Bitcoin price
|
||||||
|
@ -1,19 +1,28 @@
|
|||||||
fetch('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd')
|
// fiatToSatsConverter.js
|
||||||
|
function updateFiatToSatsConversion(selectedCurrency) {
|
||||||
|
fetch(`https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=${selectedCurrency}`)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const bitcoinPrice = data['bitcoin']['usd'];
|
const bitcoinPrice = data['bitcoin'][selectedCurrency];
|
||||||
const satoshisToDollars = (satoshis) => {
|
const satsConversionFactor = 100000000; // 1 bitcoin = 100 million sats
|
||||||
const bitcoinAmount = satoshis / 100000000;
|
|
||||||
const dollarsAmount = bitcoinAmount * bitcoinPrice;
|
const currencyValue = 1;
|
||||||
return dollarsAmount.toFixed(2);
|
const sats = (currencyValue / bitcoinPrice) * satsConversionFactor;
|
||||||
};
|
|
||||||
const satoshisInputElement = document.getElementById('sats-input');
|
const currencyToSatsElement = document.getElementById('dollars-to-sats');
|
||||||
const dollarsOutputElement = document.getElementById('dollars-output');
|
currencyToSatsElement.textContent = `1 ${selectedCurrency.toUpperCase()} = ${sats.toFixed(0)} sats`; // Display the result
|
||||||
// Listen for changes to the satoshis input and update the dollars output
|
|
||||||
satoshisInputElement.addEventListener('input', (event) => {
|
|
||||||
const satoshis = event.target.value;
|
|
||||||
const dollars = satoshisToDollars(satoshis);
|
|
||||||
dollarsOutputElement.textContent = `$${dollars}`;
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
.catch(error => console.error(error));
|
.catch(error => console.error(error));
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const currencySelect = document.getElementById('currency-select');
|
||||||
|
const selectedCurrency = currencySelect.value;
|
||||||
|
|
||||||
|
updateFiatToSatsConversion(selectedCurrency); // Call the function on page load
|
||||||
|
|
||||||
|
currencySelect.addEventListener('change', () => {
|
||||||
|
const selectedCurrency = currencySelect.value;
|
||||||
|
updateFiatToSatsConversion(selectedCurrency);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
10
app/src/main/assets/script3.js
Normal file
10
app/src/main/assets/script3.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// currencySelection.js
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const currencySelect = document.getElementById('currency-select');
|
||||||
|
|
||||||
|
currencySelect.addEventListener('change', () => {
|
||||||
|
const selectedCurrency = currencySelect.value;
|
||||||
|
updateBitcoinPrice(selectedCurrency); // Update Bitcoin price when currency is changed
|
||||||
|
updateFiatToSatsConversion(selectedCurrency); // Update fiat to sats conversion when currency is changed
|
||||||
|
});
|
||||||
|
});
|
32
app/src/main/assets/script4.js
Normal file
32
app/src/main/assets/script4.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// satsToDollarsCalc.js
|
||||||
|
function updateSatsToDollarsConversion() {
|
||||||
|
const satsInputElement = document.getElementById('sats-input');
|
||||||
|
const dollarsOutputElement = document.getElementById('dollars-output');
|
||||||
|
|
||||||
|
const satsValue = parseFloat(satsInputElement.value);
|
||||||
|
|
||||||
|
if (!isNaN(satsValue)) {
|
||||||
|
const currencySelect = document.getElementById('currency-select');
|
||||||
|
const selectedCurrency = currencySelect.value;
|
||||||
|
|
||||||
|
fetch(`https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=${selectedCurrency}`)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
const bitcoinPrice = data['bitcoin'][selectedCurrency];
|
||||||
|
const satsConversionFactor = 100000000; // 1 bitcoin = 100 million sats
|
||||||
|
|
||||||
|
const dollarsValue = (satsValue / satsConversionFactor) * bitcoinPrice;
|
||||||
|
|
||||||
|
dollarsOutputElement.textContent = `${dollarsValue.toFixed(2)} ${selectedCurrency.toUpperCase()}`;
|
||||||
|
})
|
||||||
|
.catch(error => console.error(error));
|
||||||
|
} else {
|
||||||
|
dollarsOutputElement.textContent = 'Invalid input';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
const satsInputElement = document.getElementById('sats-input');
|
||||||
|
|
||||||
|
satsInputElement.addEventListener('input', updateSatsToDollarsConversion);
|
||||||
|
});
|
@ -52,8 +52,26 @@ class MainActivity : AppCompatActivity() {
|
|||||||
""
|
""
|
||||||
}
|
}
|
||||||
|
|
||||||
// Combine the content of both scripts
|
// Load the content of the second script file
|
||||||
val javaScriptCode = "$firstScript\n$secondScript"
|
val thirdScript = try {
|
||||||
|
assets.open("script3.js").bufferedReader().use { it.readText() }
|
||||||
|
} catch (e: IOException) {
|
||||||
|
e.printStackTrace()
|
||||||
|
// If loading the third script fails, set an empty script
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load the content of the second script file
|
||||||
|
val fourthScript = try {
|
||||||
|
assets.open("script4.js").bufferedReader().use { it.readText() }
|
||||||
|
} catch (e: IOException) {
|
||||||
|
e.printStackTrace()
|
||||||
|
// If loading the fourth script fails, set an empty script
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
|
// Combine the content of scripts
|
||||||
|
val javaScriptCode = "$firstScript\n$secondScript\n$thirdScript\n$fourthScript"
|
||||||
|
|
||||||
// Load the CSS code from the "style.css" file
|
// Load the CSS code from the "style.css" file
|
||||||
val cssCode = try {
|
val cssCode = try {
|
||||||
|
Loading…
Reference in New Issue
Block a user