/* projects-data.jsx — plain JS, chạy qua Babel standalone trong trình duyệt */

(function () {
  "use strict";

  // 1) Mảng DEMO_PROJECTS
  window.DEMO_PROJECTS = [
    {
      code: "HCMC-T1",
      name: "Chung cư HCMC Tower 1",
      client: "Công ty CP Đầu tư Xây dựng Sài Gòn",
      phase: "Thiết kế kỹ thuật",
      role: "admin",
      accent: "#2563eb",
      docs: 128,
      issues: 6,
      lastActive: "2 giờ trước",
      status: "active",
    },
    {
      code: "VINFR-09",
      name: "Cầu vượt VINFR-09",
      client: "Tập đoàn Vingroup",
      phase: "Thi công",
      role: "editor",
      accent: "#7c3aed",
      docs: 87,
      issues: 3,
      lastActive: "hôm qua",
      status: "active",
    },
    {
      code: "DN-BRIDGE",
      name: "Cầu Đà Nẵng mới",
      client: "UBND TP Đà Nẵng",
      phase: "Bàn giao",
      role: "uploader",
      accent: "#e2683c",
      docs: 210,
      issues: 12,
      lastActive: "3 ngày trước",
      status: "active",
    },
    {
      code: "HN-METRO2",
      name: "Tuyến Metro số 2 Hà Nội",
      client: "Ban QLDA Đường sắt đô thị Hà Nội",
      phase: "Thiết kế kỹ thuật",
      role: "viewer",
      accent: "#0d9488",
      docs: 45,
      issues: 1,
      lastActive: "hôm qua",
      status: "archived",
    },
  ];

  // 2) Hàm mergeProjects
  window.mergeProjects = function mergeProjects(dbProjects) {
    // dbProjects: mảng object { code, name, real: true } (có thể có thêm trường)
    // Trả về mảng mới: DB trước, DEMO sau (không trùng code)

    const result = [];

    // Map để kiểm tra code đã xuất hiện
    const seenCodes = new Set();

    // Xử lý từng dự án DB
    if (Array.isArray(dbProjects)) {
      for (const db of dbProjects) {
        const code = db.code;
        if (!code) continue; // bỏ qua nếu không có code
        if (seenCodes.has(code)) continue; // trùng (không nên xảy ra)
        seenCodes.add(code);

        // Gắn mặc định nếu thiếu
        const merged = {
          code: db.code,
          name: db.name,
          real: true,
          role: db.role || "admin",
          accent: db.accent || "#0d9488",
          client: db.client || "BIM-UP",
          phase: db.phase || "Thi công",
          docs: db.docs != null ? db.docs : 0,
          issues: db.issues != null ? db.issues : 0,
          lastActive: db.lastActive || "vừa xong",
          status: db.status || "active",
        };
        result.push(merged);
      }
    }

    // Bản chạy thử: KHÔNG trộn DEMO_PROJECTS — chỉ hiển thị dự án THẬT từ DB.
    return result;
  };
})();
