69 lines
2.8 KiB
JavaScript
69 lines
2.8 KiB
JavaScript
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
const connectWalletBtn = document.getElementById('connectWalletBtn');
|
|
const depositForm = document.getElementById('depositForm');
|
|
const walletInfo = document.getElementById('walletInfo');
|
|
const balanceInfo = document.getElementById('balanceInfo');
|
|
const depositBtn = document.getElementById('depositBtn');
|
|
|
|
let walletConnected = false;
|
|
let balance = 0;
|
|
|
|
if (connectWalletBtn) {
|
|
connectWalletBtn.addEventListener('click', () => {
|
|
if (!walletConnected) {
|
|
walletConnected = true;
|
|
connectWalletBtn.textContent = 'Wallet Connected';
|
|
connectWalletBtn.disabled = true;
|
|
walletInfo.textContent = 'Connected Wallet: 4a...tX9z';
|
|
balanceInfo.textContent = `Your Balance: ${balance.toFixed(2)} SOL`;
|
|
depositForm.classList.remove('d-none');
|
|
showToast('Wallet Connected!', 'Your Solana wallet is now connected.', 'success');
|
|
}
|
|
});
|
|
}
|
|
|
|
if (depositBtn) {
|
|
depositBtn.addEventListener('click', (e) => {
|
|
e.preventDefault();
|
|
const amountInput = document.getElementById('solAmount');
|
|
const amount = parseFloat(amountInput.value);
|
|
|
|
if (isNaN(amount) || amount <= 0) {
|
|
showToast('Invalid Amount', 'Please enter a valid amount of SOL.', 'danger');
|
|
return;
|
|
}
|
|
|
|
balance += amount;
|
|
balanceInfo.textContent = `Your Balance: ${balance.toFixed(2)} SOL`;
|
|
amountInput.value = '';
|
|
showToast('Deposit Successful!', `${amount} SOL has been added to your balance.`, 'success');
|
|
});
|
|
}
|
|
|
|
function showToast(title, message, type) {
|
|
const toastContainer = document.getElementById('toast-container');
|
|
if (!toastContainer) return;
|
|
|
|
const toastId = 'toast-' + Math.random().toString(36).substr(2, 9);
|
|
const toastHTML = `
|
|
<div id="${toastId}" class="toast align-items-center text-white bg-${type} border-0" role="alert" aria-live="assertive" aria-atomic="true">
|
|
<div class="d-flex">
|
|
<div class="toast-body">
|
|
<strong>${title}</strong><br>${message}
|
|
</div>
|
|
<button type="button" class="btn-close btn-close-white me-2 m-auto" data-bs-dismiss="toast" aria-label="Close"></button>
|
|
</div>
|
|
</div>
|
|
`;
|
|
toastContainer.insertAdjacentHTML('beforeend', toastHTML);
|
|
|
|
const toastElement = document.getElementById(toastId);
|
|
const toast = new bootstrap.Toast(toastElement, { delay: 5000 });
|
|
toast.show();
|
|
toastElement.addEventListener('hidden.bs.toast', () => {
|
|
toastElement.remove();
|
|
});
|
|
}
|
|
});
|