<?php
/**
 * vendor_panel/profile.php
 * โปรไฟล์และข้อมูลร้านค้า — Vendor แก้ไขได้เอง
 */
session_start();
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/../includes/middleware.php';
require_once __DIR__ . '/../includes/image_helper.php';

requireVendor();

$vendorId = getCurrentVendorId();
$db       = getDBConnection();
$error    = '';

// Reload fresh vendor data
$stmt = $db->prepare("SELECT * FROM vendors WHERE user_id=?");
$stmt->execute([$_SESSION['user']['id']]);
$v = $stmt->fetch();

// ── SAVE ──────────────────────────────────────────────────
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    verifyCSRFToken($_POST['csrf_token'] ?? '');

    $storeName    = sanitize($_POST['store_name']    ?? '');
    $description  = sanitize($_POST['description']   ?? '');
    $contactEmail = sanitize($_POST['contact_email'] ?? '');
    $contactPhone = sanitize($_POST['contact_phone'] ?? '');
    $storeAddress = sanitize($_POST['store_address'] ?? '');
    $bankName     = sanitize($_POST['bank_name']     ?? '');
    $bankAccount  = sanitize($_POST['bank_account']  ?? '');
    $bankAccountName = sanitize($_POST['bank_account_name'] ?? '');

    if (empty($storeName)) {
        $error = 'กรุณากรอกชื่อร้านค้า';
    } else {
        // อัปโหลด Logo
        $logoPath = $v['store_logo'];
        if (isset($_FILES['store_logo']) && $_FILES['store_logo']['error'] === UPLOAD_ERR_OK) {
            $result = processAndUploadImage($_FILES['store_logo'], 'vendors/' . $vendorId . '/logo');
            if ($result['success']) {
                $logoPath = UPLOAD_URL . $result['main_path'];
            } else {
                $error = $result['error'];
            }
        }

        // อัปโหลด Banner
        $bannerPath = $v['store_banner'];
        if (isset($_FILES['store_banner']) && $_FILES['store_banner']['error'] === UPLOAD_ERR_OK) {
            $result = processAndUploadImage($_FILES['store_banner'], 'vendors/' . $vendorId . '/banner');
            if ($result['success']) {
                $bannerPath = UPLOAD_URL . $result['main_path'];
            } else {
                $error = $result['error'];
            }
        }

        if (empty($error)) {
            $db->prepare("
                UPDATE vendors SET
                    store_name=?, description=?,
                    contact_email=?, contact_phone=?, store_address=?,
                    bank_name=?, bank_account=?, bank_account_name=?,
                    store_logo=?, store_banner=?,
                    updated_at=NOW()
                WHERE id=?
            ")->execute([
                $storeName, $description,
                $contactEmail, $contactPhone, $storeAddress,
                $bankName, $bankAccount, $bankAccountName,
                $logoPath, $bannerPath,
                $vendorId
            ]);

            clearVendorSessionCache(); // เคลียร์ session cache
            $_SESSION['flash_success'] = 'บันทึกโปรไฟล์ร้านค้าเรียบร้อยแล้ว';
            header('Location: profile.php'); exit;
        }
    }

    // reload
    $stmt->execute([$_SESSION['user']['id']]);
    $v = $stmt->fetch();
}

// ── โหลด vendor_header (ส่ง HTML) หลังประมวล POST เสร็จ ──
require_once __DIR__ . '/vendor_header.php';
?>



<div class="mb-4">
  <h4 class="fw-bold mb-0">⚙️ โปรไฟล์ร้านค้า</h4>
  <small class="text-muted">แก้ไขข้อมูลร้านค้า โลโก้ แบนเนอร์ และข้อมูลการชำระเงิน</small>
</div>

<?php if ($error): ?>
  <div class="alert alert-danger rounded-3"><?php echo $error; ?></div>
<?php endif; ?>

<!-- Store Banner Preview -->
<?php if ($v['store_banner']): ?>
  <div class="v-card mb-4 overflow-hidden" style="max-height:180px">
    <img src="<?php echo htmlspecialchars($v['store_banner']); ?>" class="w-100" style="object-fit:cover;height:180px">
  </div>
<?php endif; ?>

<form method="POST" enctype="multipart/form-data">
  <input type="hidden" name="csrf_token" value="<?php echo generateCSRFToken(); ?>">

  <div class="row g-4">

    <!-- ── LEFT: Store Info ─────────────────────────── -->
    <div class="col-md-8">

      <!-- Store Identity -->
      <div class="v-card mb-4">
        <div class="v-card-header">🏪 ข้อมูลร้านค้า</div>
        <div class="v-card-body">
          <div class="row g-3">
            <div class="col-12">
              <label class="form-label fw-semibold">ชื่อร้านค้า <span class="text-danger">*</span></label>
              <input type="text" name="store_name" class="form-control"
                     value="<?php echo htmlspecialchars($v['store_name']); ?>" required>
            </div>
            <div class="col-md-6">
              <label class="form-label fw-semibold">URL Slug</label>
              <div class="input-group">
                <span class="input-group-text text-muted" style="font-size:.8rem">/shop/</span>
                <input type="text" class="form-control" value="<?php echo htmlspecialchars($v['store_slug']); ?>" readonly disabled>
              </div>
              <div class="form-text">URL ของร้าน (ติดต่อ Admin เพื่อเปลี่ยน)</div>
            </div>
            <div class="col-md-6">
              <label class="form-label fw-semibold">สถานะร้านค้า</label>
              <?php
                $sv = ['approved'=>['bg-success','✅ เปิดขาย'], 'suspended'=>['bg-danger','🚫 ถูกระงับ']];
                [$sb, $sl] = $sv[$v['status']] ?? ['bg-secondary', $v['status']];
              ?>
              <div><span class="badge <?php echo $sb; ?> px-3 py-2 rounded-pill fs-6"><?php echo $sl; ?></span></div>
            </div>
            <div class="col-12">
              <label class="form-label fw-semibold">คำอธิบายร้านค้า</label>
              <textarea name="description" class="form-control" rows="4"
                        placeholder="เล่าเกี่ยวกับร้านของคุณ สินค้าที่จำหน่าย..."><?php echo htmlspecialchars($v['description'] ?? ''); ?></textarea>
            </div>
          </div>
        </div>
      </div>

      <!-- Contact -->
      <div class="v-card mb-4">
        <div class="v-card-header">📞 ข้อมูลติดต่อ</div>
        <div class="v-card-body">
          <div class="row g-3">
            <div class="col-md-6">
              <label class="form-label fw-semibold">อีเมลร้านค้า</label>
              <input type="email" name="contact_email" class="form-control"
                     value="<?php echo htmlspecialchars($v['contact_email'] ?? ''); ?>"
                     placeholder="shop@example.com">
            </div>
            <div class="col-md-6">
              <label class="form-label fw-semibold">เบอร์โทรร้านค้า</label>
              <input type="text" name="contact_phone" class="form-control"
                     value="<?php echo htmlspecialchars($v['contact_phone'] ?? ''); ?>"
                     placeholder="08X-XXX-XXXX">
            </div>
            <div class="col-12">
              <label class="form-label fw-semibold">ที่อยู่ร้านค้า</label>
              <textarea name="store_address" class="form-control" rows="2"
                        placeholder="ที่อยู่สำหรับแสดงบนหน้าร้าน"><?php echo htmlspecialchars($v['store_address'] ?? ''); ?></textarea>
            </div>
          </div>
        </div>
      </div>

      <!-- Bank -->
      <div class="v-card">
        <div class="v-card-header">🏦 ข้อมูลบัญชีธนาคาร</div>
        <div class="v-card-body">
          <div class="alert alert-info rounded-3 mb-3" style="font-size:.82rem">
            💡 ข้อมูลนี้ใช้สำหรับ Admin โอนยอดขายให้คุณ (ลูกค้าจะไม่เห็นข้อมูลนี้)
          </div>
          <div class="row g-3">
            <div class="col-md-4">
              <label class="form-label fw-semibold">ธนาคาร</label>
              <select name="bank_name" class="form-select">
                <option value="">-- เลือกธนาคาร --</option>
                <?php
                  $banks = ['กสิกรไทย','ไทยพาณิชย์','กรุงไทย','กรุงเทพ','ทหารไทยธนชาต','กรุงศรีอยุธยา','ออมสิน','ธ.ก.ส.','UOB'];
                  foreach ($banks as $b): ?>
                    <option value="<?php echo $b; ?>" <?php echo ($v['bank_name'] ?? '') === $b ? 'selected' : ''; ?>><?php echo $b; ?></option>
                <?php endforeach; ?>
              </select>
            </div>
            <div class="col-md-4">
              <label class="form-label fw-semibold">เลขบัญชี</label>
              <input type="text" name="bank_account" class="form-control"
                     value="<?php echo htmlspecialchars($v['bank_account'] ?? ''); ?>" placeholder="XXX-X-XXXXX-X">
            </div>
            <div class="col-md-4">
              <label class="form-label fw-semibold">ชื่อบัญชี</label>
              <input type="text" name="bank_account_name" class="form-control"
                     value="<?php echo htmlspecialchars($v['bank_account_name'] ?? ''); ?>" placeholder="ชื่อ-นามสกุล">
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- ── RIGHT: Images + Stats ─────────────────────── -->
    <div class="col-md-4">

      <!-- Logo Upload -->
      <div class="v-card mb-4">
        <div class="v-card-header">🖼️ โลโก้ร้านค้า</div>
        <div class="v-card-body text-center">
          <?php if ($v['store_logo']): ?>
            <img src="<?php echo htmlspecialchars($v['store_logo']); ?>"
                 class="rounded-3 mb-3" style="width:100px;height:100px;object-fit:cover">
          <?php else: ?>
            <div class="rounded-3 bg-light d-inline-flex align-items-center justify-content-center mb-3"
                 style="width:100px;height:100px;font-size:2.5rem">
              <?php echo mb_substr($v['store_name'], 0, 1); ?>
            </div>
          <?php endif; ?>
          <input type="file" name="store_logo" class="form-control form-control-sm" accept="image/*"
                 onchange="previewLogo(this)">
          <div class="form-text">แนะนำ: ภาพสี่เหลี่ยมจัตุรัส, JPG/PNG</div>
        </div>
      </div>

      <!-- Banner Upload -->
      <div class="v-card mb-4">
        <div class="v-card-header">🖼️ แบนเนอร์ร้านค้า</div>
        <div class="v-card-body">
          <input type="file" name="store_banner" class="form-control form-control-sm" accept="image/*">
          <div class="form-text">แนะนำ: 1200×300px, JPG/PNG</div>
        </div>
      </div>

      <!-- Store Stats -->
      <div class="v-card mb-4">
        <div class="v-card-header">📊 สถิติร้านค้า</div>
        <div class="v-card-body">
          <?php
            $stats = $db->prepare("
              SELECT
                COUNT(DISTINCT p.id) AS products,
                COUNT(DISTINCT vo.id) AS orders,
                COALESCE(SUM(vo.subtotal),0) AS revenue
              FROM vendors v
              LEFT JOIN products p ON p.vendor_id = v.id
              LEFT JOIN vendor_orders vo ON vo.vendor_id = v.id AND vo.status='completed'
              WHERE v.id = ?
            ");
            $stats->execute([$vendorId]);
            $stats = $stats->fetch();
          ?>
          <div class="d-flex justify-content-between align-items-center mb-2">
            <span class="text-muted small">📦 สินค้าทั้งหมด</span>
            <span class="fw-bold"><?php echo number_format($stats['products']); ?></span>
          </div>
          <div class="d-flex justify-content-between align-items-center mb-2">
            <span class="text-muted small">🛒 ออเดอร์ที่สำเร็จ</span>
            <span class="fw-bold"><?php echo number_format($stats['orders']); ?></span>
          </div>
          <div class="d-flex justify-content-between align-items-center mb-2">
            <span class="text-muted small">💰 ยอดขายรวม</span>
            <span class="fw-bold text-success">฿<?php echo number_format($stats['revenue'], 0); ?></span>
          </div>
          <hr>
          <div class="d-flex justify-content-between align-items-center">
            <span class="text-muted small">📅 เปิดร้านเมื่อ</span>
            <span class="text-muted small"><?php echo date('d/m/Y', strtotime($v['created_at'])); ?></span>
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- Save Button -->
  <div class="d-flex justify-content-end mt-3">
    <button type="submit" class="btn btn-vendor-primary px-5 py-2 rounded-pill fw-bold fs-6">
      💾 บันทึกข้อมูลร้านค้า
    </button>
  </div>
</form>

<script>
function previewLogo(input) {
  if (input.files && input.files[0]) {
    const reader = new FileReader();
    reader.onload = e => {
      const imgs = document.querySelectorAll('.store-logo img, .col-md-4 img');
      imgs.forEach(img => img.src = e.target.result);
    };
    reader.readAsDataURL(input.files[0]);
  }
}
</script>

<?php require_once __DIR__ . '/vendor_footer.php'; ?>
