<?php
$statusOpts = ['all'=>'ทั้งหมด','active'=>'ปกติ','suspended'=>'ระงับ','deleted'=>'ลบบัญชีแล้ว'];
$roleOpts = ['all'=>'ทุก Role','customer'=>'Customer','seller'=>'Seller','admin'=>'Admin'];

require_once __DIR__ . '/../../../app/Models/DeleteAccountRequest.php';
$pendingDelCount = (new DeleteAccountRequest())->countPending();
?>
<div class="d-flex flex-column flex-md-row justify-content-between align-items-md-center gap-2 mb-3">
  <div>
    <h4 class="fw-bold mb-1 text-dark">จัดการผู้ใช้งาน (User Management)</h4>
    <p class="text-muted small mb-0">ค้นหา ตรวจสอบข้อมูล และจัดการสถานะผู้ใช้งานทั้งหมดในระบบ</p>
  </div>
  <div class="d-flex gap-2">
    <a href="<?= url('/admin/users/deletion-requests') ?>" class="btn btn-outline-danger btn-sm py-1 px-3 position-relative">
      <i class="bi bi-person-x me-1"></i>คำขอลบบัญชี
      <?php if ($pendingDelCount > 0): ?>
        <span class="badge bg-danger rounded-pill ms-1"><?= $pendingDelCount ?></span>
      <?php endif; ?>
    </a>
  </div>
</div>

<!-- ── Filter Bar ──────────────────────────────────────── -->
<div class="admin-filter-bar mb-3">
  <form method="GET" class="row g-2 align-items-end">
    <div class="col-md-5">
      <label class="form-label small fw-semibold text-muted mb-1">ค้นหาผู้ใช้</label>
      <div class="input-group input-group-sm">
        <span class="input-group-text bg-light"><i class="bi bi-search text-muted"></i></span>
        <input type="text" name="q" value="<?= e($filters['q'] ?? '') ?>" class="form-control" placeholder="ชื่อ, นามสกุล, username, email, เบอร์โทร...">
      </div>
    </div>
    <div class="col-6 col-md-3">
      <label class="form-label small fw-semibold text-muted mb-1">สถานะบัญชี</label>
      <select name="status" class="form-select form-select-sm">
        <?php foreach ($statusOpts as $v => $l): ?>
        <option value="<?= $v ?>" <?= ($filters['status'] ?? '') === $v ? 'selected' : '' ?>><?= $l ?></option>
        <?php endforeach; ?>
      </select>
    </div>
    <div class="col-6 col-md-2">
      <label class="form-label small fw-semibold text-muted mb-1">สิทธิ์ (Role)</label>
      <select name="role" class="form-select form-select-sm">
        <?php foreach ($roleOpts as $v => $l): ?>
        <option value="<?= $v ?>" <?= ($filters['role'] ?? '') === $v ? 'selected' : '' ?>><?= $l ?></option>
        <?php endforeach; ?>
      </select>
    </div>
    <div class="col-12 col-md-2 d-flex gap-2">
      <button type="submit" class="btn btn-primary btn-sm w-100"><i class="bi bi-funnel me-1"></i>กรอง</button>
      <?php if (!empty($filters['q']) || ($filters['status'] ?? 'all') !== 'all' || ($filters['role'] ?? 'all') !== 'all'): ?>
      <a href="<?= url('/admin/users') ?>" class="btn btn-outline-secondary btn-sm" title="ล้างการกรอง"><i class="bi bi-x-lg"></i></a>
      <?php endif; ?>
    </div>
  </form>
</div>

<!-- ── Desktop & Tablet Table Container ────────────────── -->
<div class="admin-table-container">
  <div class="admin-table-header">
    <div class="d-flex align-items-center gap-2">
      <i class="bi bi-people text-primary"></i>
      <span class="fw-bold text-dark" style="font-size: 0.9rem;">รายชื่อผู้ใช้งานในระบบ</span>
      <span class="badge bg-light text-muted border ms-1"><?= number_format($total ?? 0) ?> รายการ</span>
    </div>
  </div>

  <div class="table-responsive d-none d-md-block">
    <table class="admin-table">
      <thead>
        <tr>
          <th>ผู้ใช้งาน</th>
          <th>อีเมล / เบอร์ติดต่อ</th>
          <th>Roles</th>
          <th>สถานะ</th>
          <th>สมัครเมื่อ</th>
          <th>Login ล่าสุด</th>
          <th class="text-end">การจัดการ</th>
        </tr>
      </thead>
      <tbody>
        <?php if (empty($users)): ?>
        <tr>
          <td colspan="7" class="text-center text-muted py-4">ไม่พบข้อมูลผู้ใช้งานตามเงื่อนไขที่ค้นหา</td>
        </tr>
        <?php else: foreach ($users as $u): ?>
        <tr>
          <td>
            <div class="d-flex align-items-center gap-2">
              <div class="rounded-circle bg-primary bg-opacity-10 text-primary d-flex align-items-center justify-content-center fw-bold" style="width: 32px; height: 32px; font-size: 0.8rem;">
                <?= strtoupper(mb_substr($u['first_name'] ?? 'U', 0, 1)) ?>
              </div>
              <div>
                <div class="fw-semibold text-dark"><?= e($u['first_name'] . ' ' . $u['last_name']) ?></div>
                <div class="text-muted small">@<?= e($u['username']) ?></div>
              </div>
            </div>
          </td>
          <td>
            <div class="small"><?= e($u['email']) ?></div>
            <div class="text-muted small"><?= e($u['phone'] ?? '-') ?></div>
          </td>
          <td>
            <?php foreach (explode(',', $u['roles'] ?? '') as $r): if ($r): ?>
              <span class="badge bg-light border text-dark me-1" style="font-size: 0.68rem;"><?= e($r) ?></span>
            <?php endif; endforeach; ?>
          </td>
          <td>
            <?php if ($u['status'] === 'active'): ?>
              <span class="status-pill status-active">ปกติ</span>
            <?php elseif ($u['status'] === 'suspended'): ?>
              <span class="status-pill status-suspended">ระงับ</span>
            <?php else: ?>
              <span class="status-pill status-secondary"><?= e($u['status']) ?></span>
            <?php endif; ?>
          </td>
          <td class="text-muted small"><?= date('d/m/Y', strtotime($u['created_at'])) ?></td>
          <td class="text-muted small"><?= $u['last_login_at'] ? date('d/m/Y H:i', strtotime($u['last_login_at'])) : '—' ?></td>
          <td class="text-end">
            <a href="<?= url('/admin/users/' . (int)$u['id']) ?>" class="btn btn-outline-primary btn-sm py-1 px-2" style="font-size: 0.75rem;">
              <i class="bi bi-search me-1"></i>ดูข้อมูล
            </a>
          </td>
        </tr>
        <?php endforeach; endif; ?>
      </tbody>
    </table>
  </div>

  <!-- Mobile Card List View -->
  <div class="d-md-none p-3">
    <?php if (empty($users)): ?>
      <div class="text-center text-muted py-3 small">ไม่พบข้อมูลผู้ใช้งาน</div>
    <?php else: foreach ($users as $u): ?>
      <div class="admin-mobile-card">
        <div class="d-flex justify-content-between align-items-start mb-2">
          <div>
            <div class="fw-bold text-dark"><?= e($u['first_name'] . ' ' . $u['last_name']) ?></div>
            <div class="text-muted small">@<?= e($u['username']) ?> &bull; <?= e($u['email']) ?></div>
          </div>
          <?php if ($u['status'] === 'active'): ?>
            <span class="status-pill status-active">ปกติ</span>
          <?php elseif ($u['status'] === 'suspended'): ?>
            <span class="status-pill status-suspended">ระงับ</span>
          <?php endif; ?>
        </div>
        <div class="d-flex justify-content-between align-items-center pt-2 border-top">
          <span class="text-muted small">สมัคร: <?= date('d/m/Y', strtotime($u['created_at'])) ?></span>
          <a href="<?= url('/admin/users/' . (int)$u['id']) ?>" class="btn btn-outline-primary btn-sm py-1 px-2" style="font-size: 0.75rem;">
            ดูข้อมูล &rarr;
          </a>
        </div>
      </div>
    <?php endforeach; endif; ?>
  </div>

  <!-- Pagination -->
  <?php if (($total_pages ?? 1) > 1): ?>
  <div class="p-3 border-top d-flex justify-content-center">
    <nav>
      <ul class="pagination pagination-sm mb-0">
        <?php for ($i = 1; $i <= $total_pages; $i++): ?>
        <li class="page-item <?= $i === $page ? 'active' : '' ?>">
          <a class="page-link" href="?<?= http_build_query(array_merge($filters, ['page' => $i])) ?>"><?= $i ?></a>
        </li>
        <?php endfor; ?>
      </ul>
    </nav>
  </div>
  <?php endif; ?>
</div>

