<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include_once '../db/koneksi.php';
include_once '../api/nexus.php';
include_once '../api/sgx.php';

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

if (!isset($_SESSION['kode_admin'])) {
  echo '
        <script>
            alert("Terjadi kesalahan, harap masuk kembali!");
            window.location.replace("' . $alamat_admin . 'keluar.php");
        </script>
    ';
    exit();
}

// --- LOGIKA HITUNG DEPOSIT ---
$deposit = mysqli_query($koneksi, "SELECT SUM(jumlah) AS total_jumlah_deposit FROM tb_deposit where status = 'Sukses'");
$data_deposit = mysqli_fetch_array($deposit);
$total_jumlah_deposit = $data_deposit['total_jumlah_deposit'] ?? 0;

$deposit_hari_ini = mysqli_query($koneksi, "
    SELECT COALESCE(SUM(jumlah), 0) AS total_jumlah_deposit
    FROM tb_deposit
    WHERE status = 'Sukses'
    AND DATE(created_at) = CURDATE()
");
$data_deposit_hari_ini = mysqli_fetch_assoc($deposit_hari_ini);
$total_jumlah_deposit_hari_ini = $data_deposit_hari_ini['total_jumlah_deposit'];

// --- LOGIKA HITUNG WITHDRAW ---
$wd_hari_ini = mysqli_query($koneksi, "
    SELECT COALESCE(SUM(jumlah), 0) AS total_jumlah_wd
    FROM tb_withdraw
    WHERE status = 'Sukses'
    AND DATE(created_at) = CURDATE()
");
$data_wd_hari_ini = mysqli_fetch_assoc($wd_hari_ini);
$total_jumlah_wd_hari_ini = $data_wd_hari_ini['total_jumlah_wd'];

$withdraw = mysqli_query($koneksi, "SELECT SUM(jumlah) AS total_jumlah_withdraw FROM tb_withdraw where status = 'Sukses'");
$data_withdraw = mysqli_fetch_array($withdraw);
$total_jumlah_withdraw = $data_withdraw['total_jumlah_withdraw'] ?? 0;

// --- LOGIKA DATA ANGGOTA & STAFF ---
$anggota = mysqli_query($koneksi, "SELECT * FROM tb_user");
$jumlah_anggota = mysqli_num_rows($anggota);

$anggotaharini = mysqli_query($koneksi, "SELECT * FROM tb_user WHERE DATE(created_at) = CURDATE()");
$jumlah_anggota_harini = mysqli_num_rows($anggotaharini);

$promosi = mysqli_query($koneksi, "SELECT * FROM promosi");
$jumlah_promosi = mysqli_num_rows($promosi);

$staff = mysqli_query($koneksi, "SELECT * FROM staff");
$jumlah_staff = mysqli_num_rows($staff);

$_SESSION['lastDepositCount'] = $total_jumlah_deposit;
$_SESSION['lastWithdrawCount'] = $total_jumlah_withdraw;
$_SESSION['lastAnggotaCount'] = $jumlah_anggota;
$_SESSION['lastPromosiCount'] = $jumlah_promosi;
$_SESSION['lastStaffCount'] = $jumlah_staff;


// =========================================================================
// AMBIL DATA KONEKSI API AGENT (TOLERAN JIKA SALAH SATU OFFLINE)
// =========================================================================
$balanceAgentRaw = $nx->info_agent();
$balanceAgentsgxRaw = $SGX->info_agent();

$balanceAgent = is_string($balanceAgentRaw) ? json_decode($balanceAgentRaw, true) : $balanceAgentRaw;
$balanceAgentsgx = is_string($balanceAgentsgxRaw) ? json_decode($balanceAgentsgxRaw, true) : $balanceAgentsgxRaw;

// Deteksi kelancaran koneksi masing-masing API
$api_nexus_connected = (isset($balanceAgent['status']) && $balanceAgent['status'] == 1);
$api_sgx_connected   = (isset($balanceAgentsgx['status']) && $balanceAgentsgx['status'] == 200);

// Set saldo ke 0 jika API yang bersangkutan tidak merespon/terputus
$balance  = $api_nexus_connected ? ($balanceAgent['agent']['balance'] ?? 0) : 0;
$balance2 = $api_sgx_connected ? ($balanceAgentsgx['data']['balance'] ?? 0) : 0;

$formatted_balance  = number_format($balance, 0, ',', '.');
$formatted_balance2 = number_format($balance2, 0, ',', '.');
// =========================================================================

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Dashboard Admin</title>
</head>
<body>
  <audio id="notificationSound" preload="auto"></audio>

  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  <script>
    $(document).ready(function () {
      setInterval(checkDataChanges, 5000);
      setInterval(checkNewData, 5000);

      function checkDataChanges() {
        $.ajax({
          url: 'check_data_changes.php?action=check_data_changes',
          method: 'GET',
          dataType: 'json',
          success: function (response) {
            if (response.dataChanges) {
              setTimeout(function () { location.reload(); }, 3000);
            }
          }
        });
      }

      function checkNewData() {
        $.ajax({
          url: 'check_new_data.php?action=check_new_data',
          method: 'GET',
          dataType: 'json',
          success: function (response) {
            if (response.newData) {
              setTimeout(function () { location.reload(); }, 3000);
            }
          }
        });
      }
    });
  </script>

  <div class="container-xxl flex-grow-1 container-p-y">
    <div class="row gy-4 mb-4">
      <div class="col-md-6">
        <div class="fw-bold fs-4 text-center text-md-start">Dashboard</div>
      </div>
      <div class="col-md-6">
        <div class="text-center text-md-end">
          <span><?php echo ucapan() . ', ' . tanggalIndonesia(date('Y-m-d'), true) . ', '; ?></span>
          <span id="jam_sekarang">Jam </span>
        </div>
      </div>
      
       <?php if (!$api_sgx_connected): ?>
        <div class="col-md-12">
          <div class="card h-100 border border-warning bg-label-warning">
            <div class="card-body d-flex align-items-center gap-3">
              <div>
                <h6 class="mb-1 text-warning fw-bold">⚠️ INFORMASI API PROVIDER</h6>
                <small class="text-muted d-block">
                  Halaman tetap dibuka menggunakan jalur API Nexus yang aktif.
                </small>
                <small class="fw-bold text-success">• API NEXUS (NXS): TERHUBUNG</small><br>
                <small class="fw-bold text-danger">• API SGX: TERPUTUS / OFFLINE (Saldo SGX sementara ditampilkan Rp. 0)</small>
              </div>
            </div>
          </div>
        </div>
      <?php endif; ?>

      <div class="col-md-2">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-account-multiple mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo formatAngkaSingkat($jumlah_anggota_harini); ?></h4>
                <small class="text-muted">Anggota Hari ini</small>
              </div>
            </div>
          </div>
        </div>
      </div>
      
      <div class="col-md-3">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-cash-plus mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0">Rp.<?php echo $formatted_balance; ?></h4>
                <small class="text-muted">Agent Balance (NXS)</small>
              </div>
            </div>
          </div>
        </div>
      </div>
      
      <div class="col-md-3">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-cash-plus mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0">Rp.<?php echo $formatted_balance2; ?></h4>
                <small class="text-muted">Agent Balance (SGX) <?php echo !$api_sgx_connected ? '<span class="text-danger">(Offline)</span>' : ''; ?></small>
              </div>
            </div>
          </div>
        </div>
      </div>
      
      <div class="col-md-3">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-cash-plus mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo 'Rp.' . formatAngkaSingkat($total_jumlah_deposit_hari_ini); ?></h4>
                <small class="text-muted">Total Deposit Hari ini</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-md-3">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-cash-plus mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo 'Rp.' . formatAngkaSingkat($total_jumlah_wd_hari_ini); ?></h4>
                <small class="text-muted">Total withdraw hari ini</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-md-3">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-cash-plus mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo 'Rp.' . formatAngkaSingkat($total_jumlah_deposit); ?></h4>
                <small class="text-muted">Total Deposit keseluruhan</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-md-3">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-cash-minus mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo 'Rp.' . formatAngkaSingkat($total_jumlah_withdraw); ?></h4>
                <small class="text-muted">Total Withdraw keselurhan</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-md-2">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-account-multiple mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo formatAngkaSingkat($jumlah_anggota); ?></h4>
                <small class="text-muted">Anggota</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-md-2">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-image mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo formatAngkaSingkat($jumlah_promosi); ?></h4>
                <small class="text-muted">Promosi</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="col-md-2">
        <div class="card h-100">
          <div class="card-body d-flex justify-content-between flex-wrap gap-3">
            <div class="d-flex gap-3">
              <div class="avatar"><div class="avatar-initial bg-label-primary rounded"><i class="mdi mdi-account-group mdi-24px"></i></div></div>
              <div class="card-info">
                <h4 class="mb-0"><?php echo formatAngkaSingkat($jumlah_staff); ?></h4>
                <small class="text-muted">Staff</small>
              </div>
            </div>
          </div>
        </div>
      </div>

      <?php
      // --- TABEL ANTREAN DEPOSIT QUEUED ---
      $query_deposit_diproses = mysqli_query($koneksi, "SELECT * FROM tb_deposit WHERE status = 'Pending' ORDER BY created_at DESC");
      ?>
      <div class="col-md-12 mt-4">
        <div class="fw-bold fs-4 text-center text-md-start mb-2">Queued Deposit</div>
        <div class="card p-3">
          <div class="table-responsive">
            <table class="table table-hover table-sm">
              <thead>
                <tr>
                  <th scope="col" class="text-center">No.</th>
                  <th scope="col" class="text-center">Kode</th>
                  <th scope="col" class="text-center">UserName</th>
                  <th scope="col" class="text-center">Asal</th>
                  <th scope="col" class="text-center">Tujuan</th>
                  <th scope="col" class="text-center">Jumlah</th>
                  <th scope="col" class="text-center">Tanggal</th>
                  <th scope="col" class="text-center">Status</th>
                  <th scope="col" class="text-center">Aksi</th>
                </tr>
              </thead>
              <tbody>
                <?php
                $nomor_deposit = 1;
                while ($data_deposit = mysqli_fetch_assoc($query_deposit_diproses)) {
                  $id_deposit = $data_deposit['id'];
                  $id_anggota_deposit = $data_deposit['extplayer'];
                  $kode_deposit = $data_deposit['ref'];
                  $asal_deposit = $data_deposit['bank_asal'];
                  $tujuan_deposit = $data_deposit['bank_tujuan'];
                  $jumlah_deposit = $data_deposit['jumlah'];
                  $tanggal_deposit = $data_deposit['created_at'];
                  $status_deposit = $data_deposit['status'];

                  $anggota_deposit = mysqli_query($koneksi, "SELECT username FROM tb_user WHERE extplayer = '$id_anggota_deposit'");
                  $nama_pengguna_anggota_deposit = (mysqli_num_rows($anggota_deposit) > 0) ? mysqli_fetch_assoc($anggota_deposit)['username'] : "Data anggota dihapus";

                  $status_class = ($status_deposit == 'Pending') ? 'text-warning' : (($status_deposit == 'Sukses') ? 'text-success' : 'text-danger');
                ?>
                  <tr>
                    <td class="text-center"><?php echo $nomor_deposit++; ?></td>
                    <td class="text-center"><?php echo $kode_deposit; ?></td>
                    <td class="text-center"><?php echo $nama_pengguna_anggota_deposit; ?></td>
                    <td class="text-center"><?php echo $asal_deposit; ?></td>
                    <td class="text-center"><?php echo $tujuan_deposit; ?></td>
                    <td class="text-center"><?php echo 'Rp.' . number_format($jumlah_deposit, 0, ',', '.'); ?></td>
                    <td class="text-center"><?php echo jamTanggalIndonesia($tanggal_deposit); ?></td>
                    <td class="text-center <?php echo $status_class; ?>"><?php echo ucfirst($status_deposit); ?></td>
                    <td class="text-center">
                      <a href="<?php echo $alamat_admin . 'deposit'; ?>" class="btn btn-sm btn-primary waves-effect waves-light">
                        <span class="tf-icons mdi mdi-cog"></span>
                      </a>
                    </td>
                  </tr>
                <?php } ?>
              </tbody>
            </table>
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
</html>