<?php
session_start();
require_once 'includes/config.php';

if (!isset($_SESSION['vai_tro']) || $_SESSION['vai_tro'] !== 'admin') {
    die("Khu vực đặc quyền Ban Quản Trị.");
}

$thong_bao = '';

// Danh sách ngân hàng phổ biến Việt Nam (mã VietQR)
$ds_ngan_hang = [
    'MB'    => 'MB Bank (Quân đội)',
    'VCB'   => 'Vietcombank',
    'TCB'   => 'Techcombank',
    'ACB'   => 'ACB',
    'VPB'   => 'VPBank',
    'BIDV'  => 'BIDV',
    'VTB'   => 'VietinBank',
    'AGR'   => 'Agribank',
    'TPB'   => 'TPBank',
    'STB'   => 'Sacombank',
    'HDB'   => 'HDBank',
    'OCB'   => 'OCB',
    'MSB'   => 'MSB',
    'SHB'   => 'SHB',
    'EIB'   => 'Eximbank',
    'NAB'   => 'Nam A Bank',
    'BAB'   => 'Bac A Bank',
    'CAKE'  => 'CAKE by VPBank',
    'UBANK' => 'Ubank by VPBank',
    'TIMO'  => 'Timo',
];

// Lưu cấu hình
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $ten_nh  = trim($_POST['ten_ngan_hang'] ?? '');
    $ma_nh   = trim($_POST['ma_ngan_hang'] ?? '');
    $so_tk   = trim($_POST['so_tai_khoan'] ?? '');
    $chu_tk  = trim($_POST['chu_tai_khoan'] ?? '');
    $ghi_chu = trim($_POST['ghi_chu'] ?? '');

    try {
        $pdo->exec("CREATE TABLE IF NOT EXISTS cau_hinh_thanh_toan (
            id INT AUTO_INCREMENT PRIMARY KEY,
            ten_ngan_hang VARCHAR(255) NOT NULL,
            ma_ngan_hang VARCHAR(20) NOT NULL,
            so_tai_khoan VARCHAR(50) NOT NULL,
            chu_tai_khoan VARCHAR(255) NOT NULL,
            ghi_chu VARCHAR(500) DEFAULT NULL,
            ngay_cap_nhat TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");

        $existing = $pdo->query("SELECT id FROM cau_hinh_thanh_toan LIMIT 1")->fetch();
        if ($existing) {
            $pdo->prepare("UPDATE cau_hinh_thanh_toan SET ten_ngan_hang=?, ma_ngan_hang=?, so_tai_khoan=?, chu_tai_khoan=?, ghi_chu=? WHERE id=?")
                ->execute([$ten_nh, $ma_nh, $so_tk, $chu_tk, $ghi_chu, $existing['id']]);
        } else {
            $pdo->prepare("INSERT INTO cau_hinh_thanh_toan (ten_ngan_hang, ma_ngan_hang, so_tai_khoan, chu_tai_khoan, ghi_chu) VALUES (?,?,?,?,?)")
                ->execute([$ten_nh, $ma_nh, $so_tk, $chu_tk, $ghi_chu]);
        }
        $thong_bao = 'success';
    } catch (Exception $e) {
        $thong_bao = 'error:' . $e->getMessage();
    }
}

// Lấy cấu hình hiện tại
$cfg = [];
try {
    $cfg = $pdo->query("SELECT * FROM cau_hinh_thanh_toan LIMIT 1")->fetch() ?: [];
} catch (Exception $e) {}

// Preview QR
$qr_preview = '';
if (!empty($cfg['ma_ngan_hang']) && !empty($cfg['so_tai_khoan'])) {
    $qr_preview = "https://img.vietqr.io/image/{$cfg['ma_ngan_hang']}-{$cfg['so_tai_khoan']}-compact2.png?amount=100000&addInfo=Test+QR&accountName=" . urlencode($cfg['chu_tai_khoan'] ?? '');
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <title>Cấu hình Thanh toán Gian hàng</title>
    <link rel="stylesheet" href="includes/admin-style.css">
    <style>
        body { font-family: sans-serif; background: #f8fafc; padding: 20px; }
        .wrap { max-width: 760px; margin: 0 auto; }
        .card { background: #fff; border-radius: 12px; padding: 28px; box-shadow: 0 4px 16px rgba(15,23,42,.07); margin-bottom: 24px; }
        h2 { color: #1e3a8a; margin: 0 0 6px; font-size: 1.3rem; }
        .sub { color: #64748b; font-size: 0.88rem; margin-bottom: 24px; }
        .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
        .field { margin-bottom: 16px; }
        label { display: block; font-size: 0.82rem; font-weight: 700; color: #475569; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .4px; }
        input, select, textarea { width: 100%; padding: 11px 14px; border: 1.5px solid #e2e8f0; border-radius: 10px; font-size: 0.95rem; background: #fff; transition: border-color .2s; }
        input:focus, select:focus { border-color: #2563eb; outline: none; }
        .btn-save { background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; border: none; padding: 13px 28px; border-radius: 10px; font-size: 1rem; font-weight: 800; cursor: pointer; width: 100%; margin-top: 8px; }
        .alert { padding: 12px 16px; border-radius: 10px; margin-bottom: 20px; font-weight: 600; font-size: 0.92rem; }
        .alert.ok { background: #dcfce7; color: #166534; }
        .alert.err { background: #fee2e2; color: #991b1b; }

        /* Preview */
        .preview-card { background: #f8fafc; border-radius: 12px; padding: 20px; border: 1.5px solid #e2e8f0; }
        .preview-card h3 { font-size: 0.9rem; font-weight: 800; color: #475569; margin: 0 0 16px; text-transform: uppercase; letter-spacing: .5px; }
        .preview-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f1f5f9; font-size: 0.9rem; }
        .preview-row:last-child { border-bottom: none; }
        .preview-row .pk { color: #64748b; }
        .preview-row .pv { font-weight: 700; color: #0f172a; }
        .qr-preview { text-align: center; margin-top: 16px; }
        .qr-preview img { width: 160px; border-radius: 12px; border: 2px solid #e2e8f0; padding: 6px; }
        .qr-preview p { font-size: 0.78rem; color: #94a3b8; margin-top: 8px; }
    </style>
</head>
<body>
<?php require_once 'includes/menu-admin.php'; ?>
<div class="khu-vuc-du-lieu">
<div class="noi-dung-chinh">
<div class="wrap">

    <?php if ($thong_bao === 'success'): ?>
        <div class="alert ok">✅ Đã lưu cấu hình tài khoản ngân hàng thành công!</div>
    <?php elseif (str_starts_with($thong_bao, 'error:')): ?>
        <div class="alert err">❌ Lỗi: <?= htmlspecialchars(substr($thong_bao, 6)) ?></div>
    <?php endif; ?>

    <div class="card">
        <h2>🏦 Cấu hình Tài khoản Nhận tiền</h2>
        <p class="sub">Thông tin này sẽ hiển thị trên trang xác nhận đơn hàng để khách hàng chuyển khoản.</p>

        <form method="POST">
            <div class="grid2">
                <div class="field">
                    <label>Ngân hàng</label>
                    <select name="ma_ngan_hang" id="sel_nh" onchange="capNhatTenNH(this)">
                        <option value="">-- Chọn ngân hàng --</option>
                        <?php foreach ($ds_ngan_hang as $ma => $ten): ?>
                            <option value="<?= $ma ?>" <?= ($cfg['ma_ngan_hang'] ?? '') === $ma ? 'selected' : '' ?>>
                                <?= $ten ?> (<?= $ma ?>)
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="field">
                    <label>Tên ngân hàng (hiển thị)</label>
                    <input type="text" name="ten_ngan_hang" id="inp_ten_nh" value="<?= htmlspecialchars($cfg['ten_ngan_hang'] ?? '') ?>" placeholder="Ví dụ: MB Bank" required>
                </div>
            </div>

            <div class="grid2">
                <div class="field">
                    <label>Số tài khoản</label>
                    <input type="text" name="so_tai_khoan" value="<?= htmlspecialchars($cfg['so_tai_khoan'] ?? '') ?>" placeholder="Ví dụ: 0123456789" required>
                </div>
                <div class="field">
                    <label>Chủ tài khoản</label>
                    <input type="text" name="chu_tai_khoan" value="<?= htmlspecialchars($cfg['chu_tai_khoan'] ?? '') ?>" placeholder="Ví dụ: NGUYEN VAN A" required style="text-transform:uppercase;">
                </div>
            </div>

            <div class="field">
                <label>Ghi chú (không bắt buộc)</label>
                <input type="text" name="ghi_chu" value="<?= htmlspecialchars($cfg['ghi_chu'] ?? '') ?>" placeholder="Ví dụ: Tài khoản chính thức của Cộng đồng Nghệ thuật">
            </div>

            <button type="submit" class="btn-save">💾 Lưu cấu hình</button>
        </form>
    </div>

    <?php if (!empty($cfg)): ?>
    <div class="card">
        <h2>👁️ Xem trước</h2>
        <p class="sub">Đây là thông tin sẽ hiển thị cho khách hàng khi đặt hàng.</p>

        <div class="preview-card">
            <h3>Thông tin chuyển khoản</h3>
            <div class="preview-row"><span class="pk">Ngân hàng</span><span class="pv"><?= htmlspecialchars($cfg['ten_ngan_hang']) ?></span></div>
            <div class="preview-row"><span class="pk">Số tài khoản</span><span class="pv"><?= htmlspecialchars($cfg['so_tai_khoan']) ?></span></div>
            <div class="preview-row"><span class="pk">Chủ tài khoản</span><span class="pv"><?= htmlspecialchars(strtoupper($cfg['chu_tai_khoan'])) ?></span></div>
            <div class="preview-row"><span class="pk">Mã VietQR</span><span class="pv"><?= htmlspecialchars($cfg['ma_ngan_hang']) ?></span></div>
        </div>

        <?php if ($qr_preview): ?>
        <div class="qr-preview">
            <img src="<?= htmlspecialchars($qr_preview) ?>" alt="QR Preview"
                 onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
            <div style="display:none; color:#dc2626; font-size:0.85rem;">⚠️ Không tải được QR — kiểm tra lại mã ngân hàng</div>
            <p>QR mẫu (số tiền 100.000 ₫ để test)</p>
        </div>
        <?php endif; ?>
    </div>
    <?php endif; ?>

</div>
</div>
</div>

<script>
var tenNH = <?= json_encode(array_values(array_map(fn($k,$v) => ['ma'=>$k,'ten'=>$v], array_keys($ds_ngan_hang), $ds_ngan_hang)), JSON_UNESCAPED_UNICODE) ?>;
var mapNH = {};
<?php foreach ($ds_ngan_hang as $ma => $ten): ?>
mapNH['<?= $ma ?>'] = '<?= addslashes($ten) ?>';
<?php endforeach; ?>

function capNhatTenNH(sel) {
    var ma = sel.value;
    var inp = document.getElementById('inp_ten_nh');
    if (ma && mapNH[ma]) inp.value = mapNH[ma];
}
</script>
</body>
</html>
