/* ───────────────────────── EVE Monitor — Mock data for all sections ───────────────────────── */

window.AppData = (() => {
  // ── INTEL · public reports across the cluster ──────────────────────────
  const intelReports = [
    { id:'i1', time:'18:42:11', region:'DEKLEIN',   sys:'YA0-XJ', tag:'HOSTILE', sev:'high', count:14, reporter:'Karth Vex',  trust:96, text:'Capital escalation forming · 4× Rorqual + 12 support' },
    { id:'i2', time:'18:41:55', region:'CATCH',     sys:'B-DBYQ', tag:'GANG',    sev:'med',  count: 8, reporter:'Yola Sahn',  trust:88, text:'Roam · Sabre tackle confirmed' },
    { id:'i3', time:'18:41:30', region:'CURSE',     sys:'HED-GP', tag:'GATECAMP',sev:'high', count: 6, reporter:'Pyre Mott',  trust:91, text:'Bubble + smartbomb camp on Mass Outgate' },
    { id:'i4', time:'18:40:48', region:'DELVE',     sys:'1DQ1-A', tag:'CYNO',    sev:'high', count: 2, reporter:'Iko Vahn',   trust:99, text:'Cyno lit · titan jumped in' },
    { id:'i5', time:'18:40:12', region:'FOUNTAIN',  sys:'4-EP12', tag:'NEUTRAL', sev:'low',  count: 1, reporter:'Tess Ardent',trust:74, text:'Single neutral in local · cloaky' },
    { id:'i6', time:'18:39:58', region:'TENAL',     sys:'M2-CF1', tag:'CLEAR',   sev:'low',  count: 0, reporter:'Zhara Tarn', trust:82, text:'System reports clear · scouted to next' },
    { id:'i7', time:'18:39:21', region:'DEKLEIN',   sys:'6VDT-H', tag:'BUBBLE',  sev:'med',  count: 3, reporter:'Karth Vex',  trust:96, text:'Interdiction bubble on undock' },
    { id:'i8', time:'18:38:44', region:'CATCH',     sys:'C9N-CC', tag:'KILL',    sev:'med',  count: 1, reporter:'Yola Sahn',  trust:88, text:'Killmail · Loki dropped · 412M ISK' },
    { id:'i9', time:'18:38:10', region:'PROVIDENCE',sys:'4M-QXK', tag:'INTEL',   sev:'low',  count: 0, reporter:'Pyre Mott',  trust:91, text:'Scout reports clear · 2 jumps out' },
    { id:'i10',time:'18:37:33', region:'GEMINATE',  sys:'F2-NWQ', tag:'HOSTILE', sev:'high', count:22, reporter:'Iko Vahn',   trust:99, text:'Hostile fleet · 22 BS + logi train' },
    { id:'i11',time:'18:37:01', region:'DEKLEIN',   sys:'M-OEE8', tag:'WARN',    sev:'high', count: 4, reporter:'Karth Vex',  trust:96, text:'Hostile bridge active · expect drops' },
    { id:'i12',time:'18:36:18', region:'CURSE',     sys:'GE-8JV', tag:'GANG',    sev:'med',  count:11, reporter:'Tess Ardent',trust:74, text:'11 in gang · likely Snuffed Out' },
  ];

  // ── MARKET · top movers ────────────────────────────────────────────────
  const marketItems = [
    { name:'Rifter',                  cat:'Frigate',   price:'  680.42K', d:+2.4,  v24:'1.2K' },
    { name:'Caracal',                  cat:'Cruiser',   price:'   12.86M', d:-0.8,  v24:'412'  },
    { name:'Drake',                    cat:'Battlecruiser', price:'48.20M', d:+1.1, v24:'287'  },
    { name:'Megathron',                cat:'Battleship',price:'  186.40M', d:+3.6,  v24:'94'   },
    { name:'Loki',                     cat:'T3 Cruiser',price:'  412.00M', d:-2.2,  v24:'62'   },
    { name:'Rorqual',                  cat:'Capital',   price:'1.84B',     d:+8.1,  v24:'18'   },
    { name:'Plex (500)',               cat:'Token',     price:'2.05B',     d:+0.4,  v24:'4.8K' },
    { name:'Tritanium',                cat:'Mineral',   price:'    8.42',   d:+12.4, v24:'2.4B' },
    { name:'Pyerite',                  cat:'Mineral',   price:'   14.18',   d:+6.2,  v24:'1.1B' },
    { name:'Mexallon',                 cat:'Mineral',   price:'   88.40',   d:-1.4,  v24:'412M' },
    { name:'Zydrine',                  cat:'Mineral',   price:'  1.12K',    d:+4.8,  v24:'82M'  },
    { name:'Republic Fleet Firetail',  cat:'Faction Frig', price:'42.10M', d:+5.4,  v24:'128'  },
    { name:'Sabre',                    cat:'Interdictor', price:'64.00M',  d:-3.1,  v24:'212'  },
    { name:'Cerberus',                 cat:'HAC',        price:'380.00M',  d:+1.8,  v24:'52'   },
  ];

  const marketRegions = [
    { name:'Jita IV-4',      hub: true,  orders: 41280 },
    { name:'Amarr VIII',     hub: true,  orders: 18420 },
    { name:'Dodixie IX-20',  hub: false, orders:  6212 },
    { name:'Rens VI-8',      hub: false, orders:  5840 },
    { name:'Hek VIII-12',    hub: false, orders:  3210 },
  ];

  // ── KILLBOARD · 30 day stats ──────────────────────────────────────────
  const killboardStats = {
    kills: 412, losses: 84, efficiency: 91.4,
    isk_destroyed: '184.2B', isk_lost: '17.4B',
    top_ship_killed: 'Loki', top_killer: 'k.Vex',
  };

  const killboardRows = [
    { time:'18:38', sys:'YA0-XJ', victim:'Loki',       attackers:'Karth Vex + 7',  value:'412M', loss:false, ship:'Loki' },
    { time:'18:31', sys:'6VDT-H', victim:'Vargur',     attackers:'Hostile (Goons)',value:'1.8B', loss:true,  ship:'Vargur' },
    { time:'18:24', sys:'M-OEE8', victim:'Sabre',      attackers:'Pyre Mott',      value:'64M',  loss:false, ship:'Sabre' },
    { time:'18:11', sys:'F-NQWO', victim:'Cerberus',   attackers:'Hostile',        value:'380M', loss:true,  ship:'Cerberus' },
    { time:'17:54', sys:'XR3-7P', victim:'Hurricane',  attackers:'Tess + 3',       value:'210M', loss:false, ship:'Hurricane' },
    { time:'17:42', sys:'B-DBYQ', victim:'Rifter',     attackers:'Yola Sahn',      value:'1.2M', loss:false, ship:'Rifter' },
    { time:'17:30', sys:'KEE-N6', victim:'Drake',      attackers:'Hostile (Init.)',value:'48M',  loss:true,  ship:'Drake' },
    { time:'17:18', sys:'3-FKCZ', victim:'Megathron',  attackers:'Iko Vahn + 4',   value:'186M', loss:false, ship:'Megathron' },
    { time:'17:02', sys:'PF-346', victim:'Caracal',    attackers:'Hostile',        value:'12.8M',loss:true,  ship:'Caracal' },
    { time:'16:48', sys:'O-IVNH', victim:'Loki',       attackers:'Zhara Tarn + 2', value:'412M', loss:false, ship:'Loki' },
    { time:'16:31', sys:'Z-2Y2Y', victim:'Sabre',      attackers:'Karth Vex',      value:'64M',  loss:false, ship:'Sabre' },
    { time:'16:14', sys:'YA0-XJ', victim:'Rorqual',    attackers:'Hostile (PH)',   value:'1.84B',loss:true,  ship:'Rorqual' },
  ];

  // ── SETTINGS · grouped preferences ────────────────────────────────────
  const settingsGroups = [
    { name: 'SENSOR · CHATLOG', items: [
      { k:'folder',    label:'Folder',          v:'~/EVE/Logs/Chatlogs', type:'path' },
      { k:'poll',      label:'Poll interval',   v:'250 ms',              type:'select' },
      { k:'autoscan',  label:'Auto-scan files', v:true,                   type:'toggle' },
      { k:'eula',      label:'EULA mode',       v:'Read-only',           type:'select' },
    ]},
    { name: 'INTEL · NETWORK', items: [
      { k:'subscribe', label:'Subscribe to public', v:true,  type:'toggle' },
      { k:'share',     label:'Share my reports',    v:true,  type:'toggle' },
      { k:'trust_min', label:'Min trust score',     v:'70',  type:'number' },
      { k:'channels',  label:'Watched channels',    v:'Deklein.Intel · NPC.Intel · Pure.Blind', type:'text' },
    ]},
    { name: 'SOUND · ALERTS', items: [
      { k:'hostile',   label:'Hostile in system', v:true,  type:'toggle' },
      { k:'cyno',      label:'Cyno detected',     v:true,  type:'toggle' },
      { k:'bubble',    label:'Bubble up',         v:true,  type:'toggle' },
      { k:'neutral',   label:'Neutral in local',  v:false, type:'toggle' },
      { k:'clear',     label:'System clear',      v:false, type:'toggle' },
      { k:'gatecamp',  label:'Gatecamp',          v:true,  type:'toggle' },
      { k:'volume',    label:'Master volume',     v:'72%', type:'slider' },
    ]},
    { name: 'DISPLAY', items: [
      { k:'theme',     label:'Theme',             v:'Tactical Cyan', type:'select' },
      { k:'density',   label:'Density',           v:'Compact',       type:'select' },
      { k:'font',      label:'Mono font',         v:'JetBrains Mono',type:'select' },
      { k:'animate',   label:'Animations',        v:true,            type:'toggle' },
    ]},
    { name: 'API · ESI', items: [
      { k:'esi',       label:'ESI scope',         v:'Public read',     type:'select' },
      { k:'character', label:'Character',         v:'Karth Vex · ID 91234567', type:'text' },
      { k:'zkill',     label:'zKill websocket',   v:true,              type:'toggle' },
    ]},
  ];

  return { intelReports, marketItems, marketRegions, killboardStats, killboardRows, settingsGroups };
})();
