// ============================================================================
// ЗАЯВКИ — РОЗДІЛЕНІ ВКЛАДКИ · демо-дані за 4 типами
// Кожен тип має СВОЇ поля: товарний запит ≠ гарантійний кейс ≠ повернення ≠ питання
// ============================================================================

const LS_TYPES = {
  product:  { key: "product",  label: "Запити товару", short: "Товар",      icon: "package",      color: "#A78BFA", soft: "rgba(167,139,250,.14)" },
  warranty: { key: "warranty", label: "Гарантія",      short: "Гарантія",   icon: "shield-check", color: "#3B82F6", soft: "rgba(59,130,246,.14)" },
  return:   { key: "return",   label: "Повернення",    short: "Повернення", icon: "rotate-ccw",   color: "#F59E0B", soft: "rgba(245,158,11,.14)" },
  question: { key: "question", label: "Питання",       short: "Питання",    icon: "help-circle",  color: "#10B981", soft: "rgba(16,185,129,.14)" },
};

const LS_SOURCES = {
  telegram: { label: "Telegram", icon: "send",           color: "#229ED9" },
  viber:    { label: "Viber",    icon: "phone",          color: "#7360F2" },
  site:     { label: "Сайт",     icon: "globe",          color: "#94A3B8" },
  call:     { label: "Дзвінок",  icon: "phone-call",     color: "#10B981" },
};

const LS_BOT = {
  available: { label: "В наявності", color: "#10B981", bg: "rgba(16,185,129,.12)", icon: "check-circle" },
  awaiting:  { label: "Уточнюється", color: "#F59E0B", bg: "rgba(245,158,11,.14)", icon: "clock" },
  out:       { label: "Немає",       color: "#EF4444", bg: "rgba(239,68,68,.14)",  icon: "x-circle" },
};

// ── Статуси — СВОЇ для кожної вкладки ──────────────────────────────────────
const LS_PRODUCT_STATUSES = {
  new:       { label: "Нова",          dot: "#6366F1", fg: "#C7D2FE", bg: "rgba(99,102,241,.16)" },
  qualified: { label: "Кваліфікована", dot: "#3B82F6", fg: "#93C5FD", bg: "rgba(59,130,246,.14)" },
  waiting:   { label: "Очікує",        dot: "#F59E0B", fg: "#FBBF24", bg: "rgba(245,158,11,.14)" },
  converted: { label: "В замовленні",  dot: "#10B981", fg: "#6EE7B7", bg: "rgba(16,185,129,.14)" },
  lost:      { label: "Втрачена",      dot: "#6B7280", fg: "#9CA3AF", bg: "rgba(107,114,128,.12)" },
};

const LS_WARRANTY_STATUSES = {
  new:         { label: "Нова",                          dot: "#6366F1", fg: "#C7D2FE", bg: "rgba(99,102,241,.16)" },
  wait_client: { label: "Чекаємо пояснення від клієнта", dot: "#F59E0B", fg: "#FBBF24", bg: "rgba(245,158,11,.14)" },
  client_sent: { label: "Клієнт надіслав нам товар",     dot: "#06B6D4", fg: "#67E8F9", bg: "rgba(6,182,212,.14)" },
  in_sc:       { label: "Передано в СЦ",                 dot: "#3B82F6", fg: "#93C5FD", bg: "rgba(59,130,246,.14)" },
  wait_return: { label: "Чекаємо повернення з СЦ",       dot: "#8B5CF6", fg: "#C4B5FD", bg: "rgba(139,92,246,.14)" },
  done:        { label: "Готово",                        dot: "#10B981", fg: "#6EE7B7", bg: "rgba(16,185,129,.14)" },
  closed:      { label: "Закрита",                       dot: "#6B7280", fg: "#9CA3AF", bg: "rgba(107,114,128,.12)" },
};

const LS_RETURN_STATUSES = {
  review:   { label: "На розгляді",     dot: "#6366F1", fg: "#C7D2FE", bg: "rgba(99,102,241,.16)" },
  approved: { label: "Погоджено",       dot: "#3B82F6", fg: "#93C5FD", bg: "rgba(59,130,246,.14)" },
  received: { label: "Товар отримано",  dot: "#F59E0B", fg: "#FBBF24", bg: "rgba(245,158,11,.14)" },
  refunded: { label: "Кошти повернуто", dot: "#10B981", fg: "#6EE7B7", bg: "rgba(16,185,129,.14)" },
};

const LS_QUESTION_STATUSES = {
  open:     { label: "Без відповіді", dot: "#EF4444", fg: "#FCA5A5", bg: "rgba(239,68,68,.14)" },
  answered: { label: "Відповіли",     dot: "#10B981", fg: "#6EE7B7", bg: "rgba(16,185,129,.14)" },
  closed:   { label: "Закрите",       dot: "#6B7280", fg: "#9CA3AF", bg: "rgba(107,114,128,.12)" },
};

// ── Дані ────────────────────────────────────────────────────────────────────
const LS_PRODUCT_LEADS = [
  { id: 142, ageMin: 4,   ts: "23:14", source: "telegram", product: "iPhone 15 Pro Max 256GB",     price: 58999, bot: "available", client: "Олег П.",      phone: "+380672341289", status: "new",       manager: "Сергій", note: "Цікавиться кольором Natural Titanium, готовий приїхати завтра" },
  { id: 141, ageMin: 27,  ts: "22:51", source: "site",     product: "MacBook Air M3 13\" 16/512",  price: 67499, bot: "available", client: "Ірина К.",     phone: "+380953029142", status: "qualified", manager: "Сергій", note: "Запитує про розстрочку 0%" },
  { id: 134, ageMin: 96,  ts: "21:38", source: "viber",    product: "Samsung Galaxy S24 FE 256",   price: 24499, bot: "awaiting",  client: "Павло Р.",     phone: "+380663412908", status: "waiting",   manager: "—",      note: "Бот уточнює наявність кольору на складі" },
  { id: 137, ageMin: 246, ts: "19:12", source: "telegram", product: "Apple Watch Ultra 2",         price: 34999, bot: "out",       client: "Костянтин С.", phone: "+380935612340", status: "lost",      manager: "Сергій", note: "Не в наявності, клієнт почекає 1-2 тижні" },
  { id: 136, ageMin: 288, ts: "18:30", source: "site",     product: "Sony WH-1000XM5",             price: 13999, bot: "available", client: "Наталя В.",    phone: "+380501234567", status: "converted", manager: "Олена",  note: "Замовлення №1247", orderId: 1247 },
];

const LS_WARRANTY_LEADS = [
  { id: 139, ageMin: 106,  ts: "21:32", source: "telegram", product: "Samsung S24 Ultra",  serial: "R5CX1042KJH", problem: "Биті пікселі через 2 міс використання",        purchased: "02.03.2026", until: "02.03.2027", monthsLeft: 10, monthsTotal: 12, status: "wait_sc", client: "Дмитро О.", phone: "+380675534921", manager: "—",      docId: "Чек №2031" },
  { id: 133, ageMin: 480,  ts: "15:18", source: "call",     product: "Dyson V15 Detect",   serial: "DY-8821-UA",  problem: "Не тримає заряд — 10 хв замість 60",           purchased: "14.11.2025", until: "14.11.2026", monthsLeft: 5,  monthsTotal: 12, status: "in_sc",   client: "Марина Л.", phone: "+380504582937", manager: "Олена",  docId: "Чек №1768", scDays: 3 },
  { id: 129, ageMin: 1560, ts: "Вчора", source: "site",     product: "PlayStation 5 Slim", serial: "PS5-77231",   problem: "HDMI-порт не видає сигнал",                    purchased: "28.12.2025", until: "28.12.2026", monthsLeft: 6,  monthsTotal: 12, status: "verdict", client: "Юрій Т.",   phone: "+380971120453", manager: "Сергій", docId: "Чек №1894", verdict: "Заводський дефект — заміна" },
];

const LS_RETURN_LEADS = [
  { id: 138, ageMin: 153,  ts: "20:45", source: "viber", product: "iPad Pro 11 M4 256",       reason: "Не підійшов розмір — хоче 13\"",     purchased: "26.04.2026", day: 7,  refund: 41999, status: "review",   client: "Аліна М.", phone: "+380632984712", manager: "Олена",  complete: true },
  { id: 131, ageMin: 1320, ts: "Вчора", source: "site",  product: "Logitech MX Master 3S",    reason: "Несумісна з робочим ПК клієнта",     purchased: "22.04.2026", day: 11, refund: 3899,  status: "approved", client: "Ігор В.",  phone: "+380442301177", manager: "Сергій", complete: true },
  { id: 127, ageMin: 2880, ts: "01.05", source: "call",  product: "AirPods Pro 2 USB-C",      reason: "Подарунок не підійшов",              purchased: "21.04.2026", day: 13, refund: 10499, status: "received", client: "Роман Ш.", phone: "+380935519274", manager: "Олена",  complete: false },
];

const LS_QUESTION_LEADS = [
  { id: 140, ageMin: 70,   ts: "22:08", source: "call",     question: "Чи є самовивіз з Києва, з якого складу?",            client: "ТОВ «Інтех»", phone: "+380504582937", status: "open",     manager: "—",      note: "Опт від 10 шт., потрібен рахунок-фактура" },
  { id: 130, ageMin: 540,  ts: "14:20", source: "viber",    question: "Коли буде в наявності iPhone 16 Pro у синьому?",     client: "Світлана Д.", phone: "+380681204435", status: "open",     manager: "—" },
  { id: 135, ageMin: 330,  ts: "17:48", source: "telegram", question: "Чи можна оплатити частинами через ПриватБанк?",      client: "Артем Б.",    phone: "+380677789123", status: "answered", manager: "Сергій", reply: "Так, оплата частинами до 10 платежів без переплат." },
  { id: 126, ageMin: 1740, ts: "Вчора", source: "site",     question: "Чи даєте офіційну гарантію на техніку Apple?",       client: "Роман Ш.",    phone: "+380935519274", status: "answered", manager: "Олена",  reply: "Так, 12 міс офіційної гарантії + товарний чек." },
];

// Зведення для KPI / вкладок
const LS_SUMMARY = {
  total: 15,
  totalSub: "+3 за останню годину",
  product:  { count: LS_PRODUCT_LEADS.length,  alert: 1, alertLabel: "1 нова без відповіді" },
  warranty: { count: LS_WARRANTY_LEADS.length, alert: 1, alertLabel: "1 чекає рішення СЦ" },
  return:   { count: LS_RETURN_LEADS.length,   alert: 1, alertLabel: "1 строк спливає" },
  question: { count: LS_QUESTION_LEADS.length, alert: 2, alertLabel: "2 без відповіді" },
};

Object.assign(window, {
  LS_TYPES, LS_SOURCES, LS_BOT,
  LS_PRODUCT_STATUSES, LS_WARRANTY_STATUSES, LS_RETURN_STATUSES, LS_QUESTION_STATUSES,
  LS_PRODUCT_LEADS, LS_WARRANTY_LEADS, LS_RETURN_LEADS, LS_QUESTION_LEADS, LS_SUMMARY,
});
