/* ================= Veri katmanı — PHP köprüsünden beslenir ================= */
const _PHP = window.__PHP || {};
const TR   = _PHP.translations || {};
const LST  = _PHP.lists || {};
const _L   = _PHP.lang === "en" ? "en" : "tr";
const isEN = _L === "en";

/** Çeviri: admin içeriği > dil dosyası > kodda verilen yedek */
const t = (k, def) => (TR[k] !== undefined && TR[k] !== "" ? TR[k] : (def !== undefined ? def : k));

/** Çift dilli koleksiyon alanı oku */
const f = (row, field, def) => {
  if (!row) return def || "";
  const v = row[field + "_" + _L];
  if (v !== undefined && v !== null && String(v).trim() !== "") return v;
  const tr = row[field + "_tr"];
  if (tr !== undefined && tr !== null && String(tr).trim() !== "") return tr;
  return def !== undefined ? def : "";
};

/** "a|b|c" → ["a","b","c"] */
const pipe = (s) => String(s || "").split("|").map(x => x.trim()).filter(Boolean);

/** "Başlık :: Açıklama" satırlarını [{t,d}] listesine çevir */
const pairs = (s) => String(s || "").split("\n").map(line => {
  const parts = line.split("::");
  if (!parts[0] || !parts[0].trim()) return null;
  return { t: parts[0].trim(), d: (parts[1] || "").trim() };
}).filter(Boolean);

const fmt  = (n) => "₺" + Number(n).toLocaleString("tr-TR", {minimumFractionDigits:2, maximumFractionDigits:2});
const fmt0 = (n) => "₺" + Number(n).toLocaleString("tr-TR");

/* ---------------- ERP canlı demo verileri (sabit — ürün tanıtımı) ---------------- */
const PRODUCTS = [
  {id:1, name:"Işıklı Geniş Anahtar", cat:"Anahtar", stock:0, price:35},
  {id:2, name:"075-1 NYF Kablo", cat:"Kablo", stock:50, price:8},
  {id:3, name:"Otomat Rayı 1mt", cat:"Pano", stock:16, price:40},
  {id:4, name:"1.5V Pil", cat:"Pil", stock:128, price:16},
  {id:5, name:"1.8A Kutulu Motor", cat:"Motor", stock:1, price:690},
  {id:6, name:"Klemensli Priz 10'lu", cat:"Priz", stock:4, price:450},
];
const catColor = {
  "Anahtar":"#2563eb","Kablo":"#0891b2","Pano":"#7c3aed","Pil":"#16a34a",
  "Motor":"#db2777","Priz":"#ea580c","Aydınlatma":"#ca8a04","Isıtıcı":"#dc2626","Trafo":"#0d9488",
};
const stockState = (s) => s===0
  ? {t: isEN ? "Out" : "Tükendi", c:"bad"}
  : s<=3 ? {t: isEN ? "Low" : "Kritik", c:"warn"} : {t: isEN ? "In stock" : "Yeterli", c:"ok"};

const SALES = [
  {no:"FIS2026000004", cust:"Kaan Elektrik", date:"03.06.2026", total:8450, status: isEN?"Completed":"Tamamlandı"},
  {no:"FIS2026000003", cust:"Kaan Kablo", date:"03.06.2026", total:1290, status: isEN?"Completed":"Tamamlandı"},
];
const QUOTES = [];
const CUSTOMERS = [
  {name:"Kaan Elektrik", phone:"0312 441 22 10", balance:34200, state: isEN?"Debtor":"Borçlu"},
  {name:"Arsitem Yazılım", phone:"0232 765 41 23", balance:0, state: isEN?"Current":"Güncel"},
];
const SUPPLIERS = [];
const REVENUE = [
  {m: isEN?"Jan":"Ock", v:62}, {m: isEN?"Feb":"Şub", v:71}, {m: isEN?"Mar":"Mar", v:84},
  {m: isEN?"Apr":"Nis", v:78}, {m: isEN?"May":"May", v:92}, {m: isEN?"Jun":"Haz", v:99},
];

/* ---------------- Kurumsal site koleksiyonları (admin'den) ---------------- */

const SERVICES = (LST.services || []).map(s => ({
  key:     s.key || "",
  icon:    s.icon || "doc",
  title:   f(s, "title"),
  desc:    f(s, "desc"),
  points:  pipe(f(s, "points")),
  body:    f(s, "body"),
  process: f(s, "process"),
  scope:   pairs(f(s, "scope")),
}));

const HW_CATS = (LST.hardware_cats || []).map(c => ({
  key:   c.key || "",
  label: f(c, "label"),
}));

const HARDWARE = (LST.hardware || []).map(h => ({
  category: h.category || "",
  badge:    f(h, "badge"),
  brand:    h.brand || "",
  name:     f(h, "name"),
  desc:     f(h, "desc"),
  specs:    pipe(f(h, "specs")),
  image:    h.image || "",
}));

const PROJECTS = (LST.projects || []).map(p => ({
  client:  p.client || "",
  sector:  f(p, "sector"),
  tags:    pipe(f(p, "tags")),
  title:   f(p, "title"),
  body:    f(p, "body"),
  metrics: pairs(f(p, "metrics")).map(m => ({ v: m.t, l: m.d })),
}));

const SECTORS = (LST.sectors || []).map(s => ({
  icon:  s.icon || "box",
  title: f(s, "title"),
  desc:  f(s, "desc"),
}));

const STEPS = (LST.steps || []).map(s => ({
  n:     s.n || "",
  title: f(s, "title"),
  desc:  f(s, "desc"),
}));

const CLIENTS = (LST.clients || []).map(c => c.name).filter(Boolean);

const PRICING = (LST.pricing || []).map((p, i) => ({
  key:      "p" + i,
  name:     f(p, "name"),
  price:    p.price || "",
  per:      p.period || "",
  tagline:  f(p, "desc"),
  note:     f(p, "note"),
  features: pipe(f(p, "features")),
  excluded: pipe(f(p, "excluded")),
  featured: p.popular === 1 || p.popular === "1" || p.popular === true,
}));

const FAQ = (LST.faq || []).map(x => ({ q: f(x, "q"), a: f(x, "a") })).filter(x => x.q);

const TESTIMONIALS = (LST.testimonials || []).map(x => {
  const name = x.name || "";
  return {
    quote:    f(x, "text"),
    name:     name,
    role:     f(x, "company"),
    initials: name.split(" ").map(n => n[0]).join("").substring(0, 2).toUpperCase(),
  };
}).filter(x => x.name || x.quote);

/* Modüller — ERP sayfası için (koleksiyon varsa oradan) */
const MODULES = (LST.modules && LST.modules.length)
  ? LST.modules.map(m => ({
      key: m.key || "m", icon: m.icon || "box",
      title: f(m, "title"), desc: f(m, "desc"), points: pipe(f(m, "points")),
    }))
  : [];

const STATS = [
  {v: t('stat_projects_num', '120+'),  label: t('stat_projects', isEN ? 'Completed projects' : 'Tamamlanan proje')},
  {v: t('stat_licenses_num', '100+'),  label: t('stat_licenses', isEN ? 'Active ERP licences' : 'Aktif ERP lisansı')},
  {v: t('stat_years_num', '14'),       label: t('stat_years', isEN ? 'Years of experience' : 'Yıllık tecrübe')},
  {v: t('stat_response_num', '4 ' + (isEN ? 'h' : 'saat')), label: t('stat_response', isEN ? 'Average response' : 'Ortalama müdahale')},
];

window.DATA = {
  t, f, pipe, pairs, fmt, fmt0, isEN, lang: _L,
  // ERP demo
  PRODUCTS, catColor, stockState, SALES, QUOTES, CUSTOMERS, SUPPLIERS, REVENUE, MODULES,
  // kurumsal
  SERVICES, HW_CATS, HARDWARE, PROJECTS, SECTORS, STEPS, CLIENTS, PRICING, FAQ, TESTIMONIALS, STATS,
};
