<?= view('customer/menu', ['func' => $func, 'db' => $db]) ?>

<main class="wrap">
  <div class="ppob-page">

    <div class="ppob-card receipt-card">
      <div class="receipt-title">Keranjang PPOB</div>

      <?php if (count($items) === 0) { ?>
        <div class="ppob-empty">Keranjang masih kosong. Pilih produk PPOB dari salah satu kategori di beranda.</div>
      <?php } else { ?>

        <?php foreach ($items as $item) { ?>
          <div class="receipt-item">
            <button type="button" class="receipt-remove" onclick="hapusItemKeranjang(<?= (int) $item->id ?>, this)" title="Hapus">
              <i class="material-icons">remove_circle</i>
            </button>
            <div class="receipt-item-body">
              <div class="receipt-item-name">
                <?= htmlspecialchars($item->skuInfo->product_name ?? $item->produk->nama ?? 'Produk tidak ditemukan', ENT_QUOTES, 'UTF-8') ?>
              </div>
              <?php if (! empty($item->skuInfo->brand)) { ?>
                <div class="receipt-item-row"><span>Brand</span><span><?= htmlspecialchars($item->skuInfo->brand, ENT_QUOTES, 'UTF-8') ?></span></div>
              <?php } ?>
              <?php if (! empty($item->skuInfo->category)) { ?>
                <div class="receipt-item-row"><span>Kategori</span><span><?= htmlspecialchars($item->skuInfo->category, ENT_QUOTES, 'UTF-8') ?></span></div>
              <?php } ?>
              <?php if ($item->jumlah > 1) { ?>
                <div class="receipt-item-row"><span>Jumlah</span><span><?= (int) $item->jumlah ?>x</span></div>
              <?php } ?>
              <?php if ($item->variasi !== '') { ?>
                <div class="receipt-item-row"><span>No/ID Tujuan</span><span><?= htmlspecialchars($item->variasi, ENT_QUOTES, 'UTF-8') ?></span></div>
              <?php } ?>
              <?php if ($item->keterangan !== '') { ?>
                <div class="receipt-item-row"><span>Keterangan</span><span><?= htmlspecialchars($item->keterangan, ENT_QUOTES, 'UTF-8') ?></span></div>
              <?php } ?>
              <?php if (! empty($item->skuInfo->desc) && $item->skuInfo->desc !== $item->keterangan) { ?>
                <div class="receipt-item-row"><span>Detail</span><span><?= htmlspecialchars($item->skuInfo->desc, ENT_QUOTES, 'UTF-8') ?></span></div>
              <?php } ?>
              <div class="receipt-dash"></div>
              <div class="receipt-item-row"><span>Harga Satuan</span><span>Rp <?= $func->formUang($item->harga) ?></span></div>
              <div class="receipt-item-row receipt-item-total"><span>Total</span><span>Rp <?= $func->formUang($item->harga * $item->jumlah) ?></span></div>
            </div>
          </div>
        <?php } ?>

        <div class="receipt-item-row receipt-item-total" style="padding:14px 4px 4px;">
          <span>Total Bayar</span>
          <span>Rp <?= $func->formUang($total) ?></span>
        </div>
      <?php } ?>
    </div>

    <?php if (count($items) > 0) { ?>
      <div class="ppob-card ppob-card-soft">
        <div class="ppob-title-sm">Saldo Anda: Rp <?= $func->formUang($saldo) ?></div>

        <?php if ($saldo >= $total) { ?>
          <div class="nominal-action" style="padding:14px 0 0">
            <button type="button" class="btn-pilih" id="btnBayarSaldo" onclick="bayarDenganSaldo()">Bayar dengan Saldo</button>
          </div>
        <?php } else { ?>
          <div class="ppob-empty" style="margin-top:10px">
            Saldo Anda tidak cukup untuk membayar pesanan ini.
          </div>
        <?php } ?>

        <div class="ppob-empty" style="margin-top:10px">
          Metode Transfer/pembayaran lain masih dalam pengembangan. Saat ini pembayaran hanya bisa memakai Saldo.
        </div>
      </div>
    <?php } ?>

  </div>
</main>

<script>
function hapusItemKeranjang(id, btn) {
  if (! confirm('Hapus item ini dari keranjang?')) {
    return;
  }
  var csrfName = '<?= csrf_token() ?>';
  var csrfHash = '<?= csrf_hash() ?>';
  var body = new URLSearchParams();
  body.set('id', id);
  body.set(csrfName, csrfHash);

  fetch('<?= site_url('ppob/hapuskeranjangppob') ?>', {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: body.toString(),
  })
    .then(function (res) { return res.json(); })
    .then(function (data) {
      if (data.success) {
        window.location.reload();
      }
    });
}

function bayarDenganSaldo() {
  if (! confirm('Bayar pesanan ini sekarang menggunakan saldo Anda? Tindakan ini tidak bisa dibatalkan.')) {
    return;
  }
  var btn = document.getElementById('btnBayarSaldo');
  btn.disabled = true;
  btn.textContent = 'Memproses...';

  var csrfName = '<?= csrf_token() ?>';
  var csrfHash = '<?= csrf_hash() ?>';
  var body = new URLSearchParams();
  body.set(csrfName, csrfHash);

  fetch('<?= site_url('cekout/bayarpesananppob') ?>', {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: body.toString(),
  })
    .then(function (res) { return res.json(); })
    .then(function (data) {
      if (data.success) {
        window.location.href = data.url;
      } else {
        alert(data.message || 'Gagal memproses pembayaran.');
        btn.disabled = false;
        btn.textContent = 'Bayar dengan Saldo';
      }
    })
    .catch(function () {
      alert('Gagal menghubungi server, silahkan coba lagi.');
      btn.disabled = false;
      btn.textContent = 'Bayar dengan Saldo';
    });
}
</script>
