// data.jsx — Nutrition Vibes mock data (Egyptian Arabic, inclusive, no backend)
// One canonical roster (mixed men & women) drives every screen's live counters.

const TODAY_LABEL = "الاثنين 8 يونيو 2026";

// status: 'active' | 'ending' | 'expired' | 'paused'   ·   followed = followed up this week
const PATIENTS = [
  {
    id: "mahmoud", name: "محمود إبراهيم", phone: "0101•••••••", status: "active",
    remaining: 12, total: 16, start: "1 مايو 2026", last: "4 يونيو", followed: false,
    weights: [
      { d: "1 مايو", w: 96 }, { d: "4 مايو", w: 92 },
      { d: "8 مايو", w: 90 }, { d: "15 مايو", w: 88 },
    ],
    timeline: [
      { t: "credit", date: "1 مايو", text: "اشترك في باقة شهر", tag: "+8 سيشن" },
      { t: "session", date: "4 مايو", text: "جلسة متابعة", meta: ["الوزن 92 كجم", "الالتزام 7/10"], note: "بداية كويسة، محتاج يظبط النوم." },
      { t: "session", date: "8 مايو", text: "جلسة متابعة", meta: ["الوزن 90 كجم", "الالتزام 8/10"] },
      { t: "gift", date: "12 مايو", text: "🎁 جلسة هدية", tag: "+1" },
      { t: "session", date: "15 مايو", text: "جلسة متابعة", meta: ["الوزن 88 كجم", "الالتزام 9/10"], note: "ملتزم جدًا، النتايج ممتازة." },
    ],
  },
  { id: "heba",   name: "هبة محمد",    phone: "0102•••••••", status: "ending",  remaining: 1,  total: 8,  start: "10 أبريل 2026", last: "3 يونيو", followed: false, weights: [{d:"10 أبريل",w:78},{d:"20 أبريل",w:76},{d:"5 مايو",w:75}] },
  { id: "karim",  name: "كريم سمير",   phone: "0100•••••••", status: "expired", remaining: 0,  total: 8,  start: "5 مارس 2026",   last: "30 مايو", followed: true,  weights: [{d:"5 مارس",w:101},{d:"5 أبريل",w:97},{d:"5 مايو",w:93}] },
  { id: "yasmin", name: "ياسمين فؤاد", phone: "0106•••••••", status: "ending",  remaining: 2,  total: 12, start: "12 أبريل 2026", last: "2 يونيو", followed: false, weights: [{d:"12 أبريل",w:70},{d:"1 مايو",w:68},{d:"20 مايو",w:67}] },
  { id: "ahmad",  name: "أحمد رضا",    phone: "0114•••••••", status: "ending",  remaining: 3,  total: 8,  start: "20 أبريل 2026", last: "4 يونيو", followed: false, weights: [{d:"20 أبريل",w:108},{d:"10 مايو",w:104},{d:"28 مايو",w:101}] },
  { id: "sara",   name: "سارة وليد",   phone: "0109•••••••", status: "active",  remaining: 8,  total: 12, start: "25 أبريل 2026", last: "1 يونيو", followed: false, weights: [{d:"25 أبريل",w:74},{d:"15 مايو",w:72},{d:"30 مايو",w:71}] },
  { id: "mona",   name: "منى علي",     phone: "0128•••••••", status: "ending",  remaining: 2,  total: 8,  start: "1 أبريل 2026",  last: "31 مايو", followed: false, weights: [{d:"1 أبريل",w:81},{d:"20 أبريل",w:79},{d:"18 مايو",w:77}] },
  { id: "salma",  name: "سلمى عادل",   phone: "0112•••••••", status: "active",  remaining: 5,  total: 8,  start: "5 مايو 2026",   last: "2 يونيو", followed: false, weights: [{d:"5 مايو",w:73},{d:"20 مايو",w:72}] },
  { id: "tarek",  name: "طارق سمير",   phone: "0150•••••••", status: "active",  remaining: 11, total: 16, start: "20 مايو 2026",  last: "6 يونيو", followed: true,  weights: [{d:"20 مايو",w:92},{d:"3 يونيو",w:91}] },
  { id: "dina",   name: "دينا فاروق",  phone: "0127•••••••", status: "paused",  remaining: 4,  total: 8,  start: "15 أبريل 2026", last: "20 مايو", followed: false, weights: [{d:"15 أبريل",w:88},{d:"5 مايو",w:86}] },
  { id: "hany",   name: "هاني مصطفى",  phone: "0155•••••••", status: "active",  remaining: 6,  total: 16, start: "18 أبريل 2026", last: "6 يونيو", followed: true,  weights: [{d:"18 أبريل",w:115},{d:"10 مايو",w:110},{d:"1 يونيو",w:106}] },
  { id: "mostafa",name: "مصطفى خالد",  phone: "0103•••••••", status: "active",  remaining: 9,  total: 12, start: "10 مايو 2026",  last: "5 يونيو", followed: true,  weights: [{d:"10 مايو",w:85},{d:"30 مايو",w:83}] },
];

// Practice headline totals (her whole book, not just the visible roster)
const STATS = { active: 38, endingSoon: 5, notFollowed: 12, followedThisWeek: 26 };

// Published testimonials (approved → shown on landing + /feedback). Mixed men & women.
const TESTIMONIALS = [
  { id: "t1", name: "محمود",   rating: 5, text: "خسّيت 12 كيلو وأنا مرتاح، ومن غير حرمان. ربنا يكرمها." },
  { id: "t2", name: "منى",     rating: 5, text: "المتابعة الأسبوعية خلتني ملتزمة لأول مرة في حياتي." },
  { id: "t3", name: "كريم",    rating: 4, text: "ظبّطت تحاليل السكر بتاعتي بخطة بسيطة جدًا، وحاسس بفرق حقيقي." },
  { id: "t4", name: null,      rating: 5, text: "أحسن قرار خدته لصحتي. شكرًا د. ندى." },
  { id: "t5", name: "سارة",    rating: 5, text: "خطة سهلة وحاسة بفرق حقيقي في طاقتي ونومي." },
  { id: "t6", name: "أحمد",    rating: 5, text: "نزلت وزن وثبت، ومبقتش حاسس إني بعمل دايت." },
];

// Feedback awaiting moderation
const PENDING_FEEDBACK = [
  { id: "p1", name: "محمود", rating: 5, text: "خسّيت 12 كيلو وأنا مرتاح، ربنا يكرمها.", date: "7 يونيو" },
  { id: "p2", name: null,    rating: 4, text: "خطة بسيطة وحاسة بفرق حقيقي.", date: "7 يونيو" },
  { id: "p3", name: "أحمد",  rating: 5, text: "المتابعة الأسبوعية غيّرت التزامي تمامًا.", date: "6 يونيو" },
];

const NOTE_TEMPLATES = [
  "ملتزم ونتايجه ممتازة",
  "محتاج يزوّد المية",
  "التزام متوسط، محتاج متابعة أقرب",
];

// Landing: clinical breadth
const CONDITIONS = [
  { icon: "scale",    color: "leaf",   t: "إدارة الوزن", d: "سمنة ونحافة وتثبيت الوزن." },
  { icon: "droplet",  color: "carrot", t: "مقاومة الأنسولين وتكيس المبايض", d: "خطط متخصصة للحالات الهرمونية." },
  { icon: "heart",    color: "apple",  t: "السكر والضغط والكوليسترول", d: "تغذية علاجية للحالات المزمنة." },
  { icon: "sprout",   color: "leaf",   t: "صحة القولون والهضم", d: "نظام يريّح معدتك ويظبط هضمك." },
  { icon: "user",     color: "banana", t: "الأطفال والحوامل والمرضعات", d: "تغذية آمنة لكل مرحلة." },
  { icon: "dumbbell", color: "olive",  t: "كبار السن والرياضيين", d: "خطط حسب احتياج كل جسم." },
];

const STEPS = [
  { n: "1", t: "تواصل واحجز", d: "كلّمنا على واتساب واحجز أول جلسة." },
  { n: "2", t: "خطة مخصصة لحالتك", d: "نظام غذائي مفصّل على حالتك وهدفك." },
  { n: "3", t: "متابعة أسبوعية ونتائج", d: "متابعة مستمرة تخليك ملتزم لحد ما توصل." },
];

const SUCCESS = [
  { stat: "من 96 لـ 78 كجم", d: "في 3 شهور — إدارة وزن", label: "حالة (ذكر)" },
  { stat: "تحسّن واضح في تحاليل السكر", d: "تغذية علاجية للسكر", label: "حالة (أنثى)" },
  { stat: "التزام أعلى وطاقة أحسن", d: "تثبيت وزن ونمط حياة", label: "حالة (ذكر)" },
];

// ---- helpers ----
function countColor(remaining, status) {
  if (status === "paused") return "grey";
  if (remaining <= 1) return "red";
  if (remaining <= 3) return "amber";
  return "green";
}
function statusMeta(status) {
  switch (status) {
    case "active":  return { label: "نشط",            cls: "pill-green" };
    case "ending":  return { label: "قرب يخلص",       cls: "pill-amber" };
    case "expired": return { label: "منتهي",          cls: "pill-red" };
    case "paused":  return { label: "متوقف مؤقتًا",   cls: "pill-grey" };
    default:        return { label: status,           cls: "pill-grey" };
  }
}
function alertLabel(p) {
  if (p.status === "expired") return "انتهى الاشتراك";
  if (p.remaining === 1) return "باقي سيشن واحدة";
  if (p.remaining === 2) return "باقي سيشنتين";
  return `باقي ${p.remaining} سيشنات`;
}

Object.assign(window, {
  TODAY_LABEL, PATIENTS, STATS, TESTIMONIALS, PENDING_FEEDBACK, NOTE_TEMPLATES,
  CONDITIONS, STEPS, SUCCESS, countColor, statusMeta, alertLabel,
});
