// Sample data for the 4 personas + shared domain data

const PERSONAS = {
  lena: {
    id: 'lena',
    name: 'Lena Brinkmann',
    age: 34,
    city: 'Berlin',
    region: 'Berlin',
    job: 'Senior Produktmanagerin',
    lastEmployer: 'Skala GmbH (B2B SaaS)',
    branche: 'IT / Software',
    years: 8,
    ended: '31.03.2026',
    reason: 'gekündigt (betriebsbedingt)',
    salary: 82000,        // brutto jährlich
    children: 0,
    steuerklasse: 1,
    hasAbfindung: 12000,
    note: '"Acht Jahre aufgebaut, in einem Meeting beendet."',
  },
  bernd: {
    id: 'bernd',
    name: 'Bernd Hoffmann',
    age: 54,
    city: 'Wuppertal',
    region: 'NRW',
    job: 'Fertigungsplaner',
    lastEmployer: 'Krüger Maschinenbau AG',
    branche: 'Metall & Industrie',
    years: 22,
    ended: '30.04.2026',
    reason: 'gekündigt (Standortschließung)',
    salary: 71000,
    children: 2,
    steuerklasse: 3,
    hasAbfindung: 44000,
    note: '"22 Jahre. Jetzt fangen wir nochmal an."',
  },
  yasmin: {
    id: 'yasmin',
    name: 'Yasmin Özdemir',
    age: 26,
    city: 'Hamburg',
    region: 'Hamburg',
    job: 'Junior UX Designerin',
    lastEmployer: 'Neulicht Studio',
    branche: 'Kreativ & Design',
    years: 2,
    ended: '31.03.2026',
    reason: 'Vertrag ausgelaufen',
    salary: 48000,
    children: 0,
    steuerklasse: 1,
    hasAbfindung: 0,
    note: '"Erster richtiger Job, erster Rauswurf."',
  },
  markus: {
    id: 'markus',
    name: 'Markus Weiß',
    age: 41,
    city: 'Leipzig',
    region: 'Sachsen',
    job: 'Filialleiter Einzelhandel',
    lastEmployer: 'Norma Warenhaus',
    branche: 'Handel',
    years: 11,
    ended: '15.04.2026',
    reason: 'gekündigt (Insolvenz)',
    salary: 52000,
    children: 1,
    steuerklasse: 4,
    hasAbfindung: 0,
    note: '"Die Filiale schließt. Das ganze Team auch."',
  },
};

// Simplified ALG1 calculation (pedagogical — not legal advice)
// Leistungsentgelt ≈ (Brutto/365) × 7 − Pauschalabzüge (~21%)
// ALG1 = 60% (ohne Kind) oder 67% (mit Kind) des Leistungsentgelts pro Tag × 30.
function computeAlg1(p) {
  const bruttoMonat = p.salary / 12;
  const bruttoTag = p.salary / 365;
  const netTag = bruttoTag * 0.79; // rough after pauschal deduction
  const rate = p.children > 0 ? 0.67 : 0.60;
  const algTag = netTag * rate;
  const algMonat = Math.round(algTag * 30);
  // Anspruchsdauer: 8y @ 54+ = 18 months; rough table
  let months = 12;
  if (p.years >= 2) months = 12;
  if (p.years >= 4 && p.age >= 50) months = 15;
  if (p.years >= 8 && p.age >= 55) months = 18;
  if (p.years >= 10 && p.age >= 58) months = 24;
  if (p.years < 2) months = 6;
  const total = algMonat * months;
  // Sperrzeit: typically 12 Wochen wenn selbst gekündigt / grober Pflichtverstoß
  const sperr = p.reason.includes('selbst') ? 12 : 0;
  return { bruttoMonat, algMonat, months, total, rate, sperr };
}

// Arbeitsmarkt — sample indicators per region/branche
const MARKET = {
  'IT / Software': {
    demandIndex: 78,        // 0–100
    trend: '+4,2 %',
    trendDir: 'up',
    openJobs: 48310,
    top: [
      { title: 'Product Manager', n: 1820, medianSalary: 86000, match: 98 },
      { title: 'Technical Program Manager', n: 640, medianSalary: 94000, match: 91 },
      { title: 'Head of Product (kleine Teams)', n: 310, medianSalary: 112000, match: 82 },
      { title: 'Customer Success Manager', n: 2140, medianSalary: 65000, match: 74 },
      { title: 'UX Researcher', n: 470, medianSalary: 72000, match: 68 },
    ],
    skills: ['Product Discovery', 'Roadmapping', 'SQL', 'B2B SaaS'],
  },
  'Metall & Industrie': {
    demandIndex: 52,
    trend: '−1,8 %',
    trendDir: 'down',
    openJobs: 14220,
    top: [
      { title: 'Fertigungsleiter*in', n: 280, medianSalary: 74000, match: 96 },
      { title: 'Arbeitsvorbereiter*in', n: 410, medianSalary: 62000, match: 89 },
      { title: 'Lean Manager (Produktion)', n: 160, medianSalary: 78000, match: 81 },
      { title: 'Quality Engineer', n: 290, medianSalary: 66000, match: 74 },
      { title: 'Disponent*in', n: 520, medianSalary: 54000, match: 68 },
    ],
    skills: ['Lean', 'SAP PP', 'Schichtplanung', 'ISO 9001'],
  },
  'Kreativ & Design': {
    demandIndex: 41,
    trend: '−3,1 %',
    trendDir: 'down',
    openJobs: 6840,
    top: [
      { title: 'Product Designer', n: 1120, medianSalary: 64000, match: 95 },
      { title: 'UX/UI Designer', n: 980, medianSalary: 58000, match: 94 },
      { title: 'Design Systems Designer', n: 210, medianSalary: 72000, match: 78 },
      { title: 'Content Designer', n: 180, medianSalary: 54000, match: 72 },
      { title: 'Service Designer', n: 140, medianSalary: 68000, match: 66 },
    ],
    skills: ['Figma', 'Design Systems', 'User Research', 'Prototyping'],
  },
  'Handel': {
    demandIndex: 63,
    trend: '+1,2 %',
    trendDir: 'up',
    openJobs: 22140,
    top: [
      { title: 'Marktleiter*in (Lebensmittel)', n: 1240, medianSalary: 58000, match: 94 },
      { title: 'District Manager', n: 310, medianSalary: 72000, match: 88 },
      { title: 'Category Manager', n: 490, medianSalary: 62000, match: 76 },
      { title: 'Store Operations Lead', n: 210, medianSalary: 54000, match: 72 },
      { title: 'Logistikleitung Filiale', n: 380, medianSalary: 52000, match: 68 },
    ],
    skills: ['Filialsteuerung', 'Warenwirtschaft', 'Personalführung', 'KPI'],
  },
};

const COURSES = {
  'IT / Software': [
    { title: 'Data Analytics für PMs', provider: 'neuefische', weeks: 12, format: 'Bootcamp · Remote', funded: true, match: 94, starts: 'Mai 2026', price: 9800 },
    { title: 'AI Product Management', provider: 'WBS Coding School', weeks: 8, format: 'Teilzeit · Live-Online', funded: true, match: 90, starts: 'Juni 2026', price: 6400 },
    { title: 'Technical Foundations (Python + SQL)', provider: 'IBB', weeks: 16, format: 'Vollzeit · Hybrid Berlin', funded: true, match: 82, starts: 'Mai 2026', price: 12200 },
  ],
  'Metall & Industrie': [
    { title: 'Lean Six Sigma Green Belt', provider: 'TÜV Rheinland', weeks: 6, format: 'Teilzeit · Online', funded: true, match: 93, starts: 'Mai 2026', price: 3200 },
    { title: 'SAP S/4HANA Logistics', provider: 'alfatraining', weeks: 10, format: 'Vollzeit · Live-Online', funded: true, match: 87, starts: 'Juni 2026', price: 5400 },
    { title: 'Industrie 4.0 Umschulung', provider: 'DEKRA Akademie', weeks: 24, format: 'Vollzeit · Präsenz', funded: true, match: 78, starts: 'Mai 2026', price: 14800 },
  ],
  'Kreativ & Design': [
    { title: 'Product Design End-to-End', provider: 'neuefische', weeks: 12, format: 'Bootcamp · Remote', funded: true, match: 96, starts: 'Mai 2026', price: 9800 },
    { title: 'Design Systems Professional', provider: 'CareerFoundry', weeks: 10, format: 'Teilzeit · Online', funded: true, match: 84, starts: 'Juni 2026', price: 6200 },
    { title: 'UX Research Intensive', provider: 'WBS Coding School', weeks: 6, format: 'Vollzeit · Live-Online', funded: true, match: 76, starts: 'Mai 2026', price: 4800 },
  ],
  'Handel': [
    { title: 'Handelsfachwirt (IHK) — Vorbereitung', provider: 'IHK Leipzig', weeks: 20, format: 'Teilzeit · Abends', funded: true, match: 92, starts: 'Mai 2026', price: 4600 },
    { title: 'E-Commerce Manager Zertifikat', provider: 'alfatraining', weeks: 12, format: 'Vollzeit · Online', funded: true, match: 85, starts: 'Juni 2026', price: 7200 },
    { title: 'Operations Management', provider: 'WBS Training', weeks: 10, format: 'Vollzeit · Live-Online', funded: true, match: 78, starts: 'Mai 2026', price: 6400 },
  ],
};

function fmtEUR(n) {
  return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(n);
}
function fmtNum(n) {
  return new Intl.NumberFormat('de-DE').format(n);
}

Object.assign(window, { PERSONAS, MARKET, COURSES, computeAlg1, fmtEUR, fmtNum });
