// MedBridge — sample data used across the prototype.

const SAMPLE = {
  personas: {
    nieder: {
      key: 'nieder', name: 'Dr. Sabine Hofer',
      title: 'Dr.', stage: 'Niedergelassen',
      specialty: 'Allgemeinmedizin', city: 'Wien · 1080',
      verified: true,
      hasBefugnis: true,
      defaultMode: 'Anbieten',
      canHost: true,
    },
    locum: {
      key: 'locum', name: 'Dr. Michael Berger',
      title: 'Dr.', stage: 'AssistAM',
      specialty: 'Allgemeinmedizin', city: 'Wien · 1180',
      verified: true,
      defaultMode: 'Suchen',
      canHost: false,
    },
    kpj: {
      key: 'kpj', name: 'cand. med. Lena Weiss',
      title: 'cand. med.', stage: 'KPJ',
      specialty: '5. Studienjahr', city: 'Wien · 1090',
      verified: true,
      university: 'MedUni Wien',
      defaultMode: 'Suchen',
      canHost: false,
    },
  },

  vertretungen: [
    {
      id: 'v1', type: 'Vertretung', specialty: 'Allgemeinmedizin',
      title: 'Kassenordination · Ganztags-Vertretung',
      dateRange: 'Mo 18. — Fr 29. Aug 2026',
      location: '1080 Wien · Josefstadt',
      rate: '€ 680 / Tag · 8h',
      host: 'Dr. Anna Reiter', hostPractice: 'Praxis Reiter & Kollegen',
      urgent: false,
    },
    {
      id: 'v2', type: 'Vertretung', specialty: 'Pädiatrie',
      title: 'Kinderarztpraxis · 2 Wochen Sommervertretung',
      dateRange: 'Mo 4. — Fr 15. Aug 2026',
      location: '5020 Salzburg · Aigen',
      rate: '€ 740 / Tag · 7,5h',
      host: 'Dr. Thomas Wallner', hostPractice: 'Kinderarztpraxis Wallner',
      urgent: true, urgentDays: 3,
    },
    {
      id: 'v3', type: 'Vertretung', specialty: 'Innere Medizin',
      title: 'Wahlarztordination · Halbtags Mi+Do',
      dateRange: 'KW 31–34 · 2026',
      location: '4020 Linz · Innenstadt',
      rate: '€ 420 / Tag · 4h',
      host: 'Dr. Karin Steiner', hostPractice: 'Ordination Dr. Steiner',
      urgent: false,
    },
  ],

  ausbildungen: [
    {
      id: 'a1', type: 'Ausbildung', subtype: 'Lehrpraxis AM', sonderfach: 'Allgemeinmedizin',
      title: 'Lehrpraxis Allgemeinmedizin · 6 Monate',
      rotation: '6 Monate', start: 'Okt 2026',
      location: '1080 Wien · Josefstadt',
      stipendium: '€ 3.380 / Monat brutto',
      host: 'Dr. Sabine Hofer', hostPractice: 'Praxis Dr. Hofer',
      urgent: false,
    },
    {
      id: 'a2', type: 'Ausbildung', subtype: 'KPJ-Stelle', sonderfach: 'Allgemeinmedizin',
      title: 'KPJ-Tertial Allgemeinmedizin · 16 Wochen',
      rotation: '16 Wochen', start: 'März 2026',
      location: '2700 Wr. Neustadt',
      stipendium: 'KPJ-Honorar lt. MedUni',
      host: 'Dr. Markus Pichler', hostPractice: 'Ordination Dr. Pichler',
      urgent: true, urgentDays: 1,
    },
    {
      id: 'a3', type: 'Ausbildung', subtype: 'Lehrpraxis Sonderfach', sonderfach: 'Innere Medizin',
      title: 'Lehrpraxis Innere · Sonderfach · 9 Monate',
      rotation: '9 Monate', start: 'Jän 2027',
      location: '8010 Graz · Geidorf',
      stipendium: '€ 3.620 / Monat brutto',
      host: 'Dr. Petra Maier', hostPractice: 'Internistische Ordination Maier',
      urgent: false,
    },
  ],

  threads: [
    { id: 't1', partner: { name: 'Dr. Sabine Hofer', stage: 'Niederg', verified: true }, listing: { type: 'Vertretung', title: 'Allgemeinmedizin · 1080 Wien', subtype: null },
      last: 'Angebot v2 angepasst — 9 Uhr Start passt.', time: 'jetzt', unread: 2, type: 'Vertretung' },
    { id: 't2', partner: { name: 'cand. med. Lena Weiss', stage: 'KPJ', verified: true }, listing: { type: 'Ausbildung', title: 'Lehrpraxis AM · Salzburg', subtype: 'Lehrpraxis AM' },
      last: 'Danke für die Einladung zum Gespräch!', time: '14:22', unread: 0, type: 'Ausbildung' },
    { id: 't3', partner: { name: 'Dr. Michael Berger', stage: 'AssistAM', verified: true }, listing: { type: 'Vertretung', title: 'Praxis Dr. Wallner · 1180 Wien', subtype: null },
      last: 'Bin nächste Woche verfügbar.', time: 'Gestern', unread: 0, type: 'Vertretung' },
    { id: 't4', partner: { name: 'Dr. Klara Steiner', stage: 'Niederg', verified: true }, listing: { type: 'Ausbildung', title: 'Lehrpraxis Sonderfach Innere', subtype: 'Lehrpraxis Sonderfach' },
      last: 'Honorarnote ist eingelangt.', time: 'Mo', unread: 0, type: 'Ausbildung' },
  ],

  applicants: [
    { id: 'p1', name: 'Dr. Michael Berger', stage: 'AssistAM', verified: true, rating: 4.9, ratings: 12, distance: '3,1 km', context: '6 Vertretungen in Wien · zuletzt Praxis Dr. Wallner (5,0)' },
    { id: 'p2', name: 'Dr. Julia Holzer', stage: 'AssistAM', verified: true, rating: 4.8, ratings: 7, distance: '4,0 km', context: 'Schwerpunkt Vorsorge & Impfungen · DE/EN/IT' },
    { id: 'p3', name: 'Dr. Florian Gruber', stage: 'AssistSF', verified: true, distance: '7,5 km', context: 'Assistenzarzt Innere · 3. Jahr · sucht AM-Erfahrung' },
    { id: 'p4', name: 'Dr. Katarina Novak', stage: 'AssistAM', verified: true, rating: 4.6, ratings: 4, distance: '9,2 km', context: 'Kombiniert mit Wahlarzt-Praxis 1. Bezirk' },
  ],

  applicantsAusbildung: [
    { id: 'q1', name: 'cand. med. Lena Weiss', stage: 'KPJ', verified: true, distance: '2,4 km',
      context: 'MedUni Wien · 5. Studienjahr · Tertiale: Innere ✓ Chirurgie ✓' },
    { id: 'q2', name: 'cand. med. Paul Adamek', stage: 'KPJ', verified: true, distance: '6,1 km',
      context: 'MedUni Graz · 6. Studienjahr · Erwartetes Studienende 06/2027' },
    { id: 'q3', name: 'cand. med. Sara Lehner', stage: 'KPJ', verified: true, distance: '5,8 km',
      context: 'MedUni Innsbruck · 5. Studienjahr · DE/EN/FR' },
  ],

  news: [
    { kind: 'editorial', category: 'Pharmakologie', source: 'Österreichische Apothekerzeitung', date: 'Heute · 06:00',
      headline: 'Semaglutid (Ozempic): Neue Off-Label-Studien zur kardiovaskulären Prävention',
      summary: 'Die SELECT-2-Folgestudie zeigt Wirkeffekte bei nicht-diabetischen Patient:innen mit metabolischem Syndrom. Implikationen für die Erstverordnung im niedergelassenen Bereich.' },
    { kind: 'training', source: 'Ärztekammer Österreich', category: 'DFP-Fortbildung',
      headline: 'GLP-1-Agonisten in der Hausarztpraxis · Online-Modul',
      summary: 'Indikationsstellung, Nebenwirkungsmanagement und Patient:innenkommunikation rund um Semaglutid & Tirzepatid.',
      date: 'Live · Mi 27. Mai · 19:00', duration: '90 Min', dfp: 3, cost: 'kostenlos', enrolled: 1284 },
    { kind: 'editorial', category: 'Recht & Abrechnung', source: 'Ärztekammer Wien', date: 'Gestern',
      headline: 'Neue Regelung für Wahlarzt-Vertretungen ab Q3 2026',
      summary: 'Die Kammer veröffentlicht eine angepasste Vorgangsweise für die Meldung von Vertretungs­zeiten in Wahlarztpraxen.' },
    { kind: 'urgent', listingType: 'Ausbildung', text: 'Dringend: KPJ-Tertial AM · Wr. Neustadt · Start 17. März', meta: '4 Wochen Vorlauf · 16 Wochen' },
    { kind: 'sponsored', advertiser: 'MedPlus Versicherung',
      headline: 'Haftpflicht für Lehrpraxis-Tätigkeit · 14 Tage testen',
      summary: 'Auf Lehrpraxis-Konstellationen abgestimmte Berufshaftpflicht. Kein Papier, alles digital.',
      targeting: 'Allgemeinmedizin · Wien · Niedergelassen' },
    { kind: 'training', source: 'MedUni Wien · Postgraduate', category: 'Präsenz-Workshop',
      headline: 'EKG-Refresher für die Allgemeinpraxis',
      summary: 'Praktische Fall-Workshops mit Live-Befundung. Kleingruppe, max. 16 Teilnehmer:innen.',
      date: 'Sa 14. Juni · 09:00', duration: 'Ganztags', dfp: 8, cost: '€ 240', enrolled: 11 },
    { kind: 'urgent', listingType: 'Vertretung', text: 'Dringend: Kinderarztpraxis · Salzburg · ab 4. August', meta: '2 Wochen Vertretung' },
    { kind: 'editorial', category: 'Berufspolitik', source: 'ÖGAM', date: 'Vor 2 Tagen',
      headline: 'Ausbildungsbefugnis Allgemeinmedizin: Erweiterung 2027',
      summary: 'Was sich für Lehrpraxen ändert und welche Voraussetzungen zukünftig gelten.' },
  ],

  // Bookings per persona. Each booking has a role ('host' = my practice being
  // covered / my training slot is filled; 'searcher' = I'm covering a practice /
  // I'm filling someone's training slot). Dates use YYYY-MM-DD so the calendar
  // grid can compute overlap; dateRange is the human-readable form.
  bookings: {
    nieder: [
      { id: 'b-n-1', type: 'Vertretung', role: 'host', status: 'Bestätigt',
        title: 'Dr. M. Berger vertritt Ihre Praxis',
        partner: 'Dr. Michael Berger', specialty: 'Allgemeinmedizin',
        location: '1080 Wien', startDate: '2026-08-18', endDate: '2026-08-29',
        dateRange: 'Mo 18. — Fr 29. Aug 2026', rate: '€ 680 / Tag' },
      { id: 'b-n-2', type: 'Ausbildung', role: 'host', status: 'Bestätigt',
        title: 'KPJ-Tertial · cand. med. L. Weiss',
        partner: 'cand. med. Lena Weiss', specialty: 'Allgemeinmedizin',
        location: '1080 Wien', startDate: '2026-10-05', endDate: '2027-01-22',
        dateRange: 'Mo 5. Okt 2026 — Fr 22. Jän 2027', rate: 'KPJ-Honorar lt. MedUni' },
      { id: 'b-n-3', type: 'Vertretung', role: 'host', status: 'Ausstehend',
        title: 'Sommer-Anfrage · 3 Bewerbungen offen',
        partner: '3 Bewerbungen prüfen', specialty: 'Allgemeinmedizin',
        location: '1080 Wien', startDate: '2026-12-14', endDate: '2026-12-23',
        dateRange: 'Mo 14. — Mi 23. Dez 2026', rate: 'Tagsatz n. V.' },
    ],
    locum: [
      { id: 'b-l-1', type: 'Vertretung', role: 'searcher', status: 'Heute',
        title: 'Kinderarztpraxis Wallner',
        partner: 'Dr. Thomas Wallner', specialty: 'Pädiatrie',
        location: '5020 Salzburg', startDate: '2026-08-04', endDate: '2026-08-15',
        dateRange: 'Mo 4. — Fr 15. Aug 2026', rate: '€ 740 / Tag' },
      { id: 'b-l-2', type: 'Vertretung', role: 'searcher', status: 'Bestätigt',
        title: 'Praxis Reiter & Kollegen',
        partner: 'Dr. Anna Reiter', specialty: 'Allgemeinmedizin',
        location: '1080 Wien · Josefstadt', startDate: '2026-08-18', endDate: '2026-08-29',
        dateRange: 'Mo 18. — Fr 29. Aug 2026', rate: '€ 680 / Tag' },
      { id: 'b-l-3', type: 'Vertretung', role: 'searcher', status: 'Bestätigt',
        title: 'Ordination Dr. Steiner · halbtags Mi+Do',
        partner: 'Dr. Karin Steiner', specialty: 'Innere Medizin',
        location: '4020 Linz', startDate: '2026-09-09', endDate: '2026-09-24',
        dateRange: 'KW 37–39 · 2026 · halbtags', rate: '€ 420 / Tag' },
      { id: 'b-l-4', type: 'Vertretung', role: 'searcher', status: 'Ausstehend',
        title: 'Praxis Dr. Holzer · Bewerbung offen',
        partner: 'Bewerbung gesendet · 12. Mai', specialty: 'Allgemeinmedizin',
        location: '1180 Wien', startDate: '2026-10-12', endDate: '2026-10-16',
        dateRange: 'Mo 12. — Fr 16. Okt 2026', rate: '€ 700 / Tag' },
      { id: 'b-l-5', type: 'Vertretung', role: 'searcher', status: 'Abgeschlossen',
        title: 'Praxis Dr. Müller-Brandt',
        partner: 'Dr. Eva Müller-Brandt', specialty: 'Allgemeinmedizin',
        location: '8010 Graz', startDate: '2026-06-22', endDate: '2026-07-03',
        dateRange: 'Mo 22. Jun — Fr 3. Jul 2026', rate: '€ 660 / Tag' },
    ],
    kpj: [
      { id: 'b-k-1', type: 'Ausbildung', role: 'searcher', status: 'Bestätigt',
        title: 'KPJ-Tertial AM · Praxis Hofer',
        partner: 'Dr. Sabine Hofer', specialty: 'Allgemeinmedizin',
        location: '1080 Wien', startDate: '2026-10-05', endDate: '2027-01-22',
        dateRange: 'Mo 5. Okt 2026 — Fr 22. Jän 2027', rate: 'KPJ-Honorar' },
      { id: 'b-k-2', type: 'Ausbildung', role: 'searcher', status: 'Ausstehend',
        title: 'KPJ-Bewerbung Wr. Neustadt',
        partner: 'Dr. Markus Pichler', specialty: 'Allgemeinmedizin',
        location: '2700 Wr. Neustadt', startDate: '2027-03-15', endDate: '2027-07-09',
        dateRange: 'Mo 15. März — Fr 9. Jul 2027', rate: 'KPJ-Honorar' },
      { id: 'b-k-3', type: 'Ausbildung', role: 'searcher', status: 'Abgeschlossen',
        title: 'Tertial Innere · MedUni Wien',
        partner: 'Univ.-Klinik Wien', specialty: 'Innere Medizin',
        location: '1090 Wien', startDate: '2026-02-09', endDate: '2026-05-29',
        dateRange: 'Feb — Mai 2026', rate: '–' },
    ],
  },
};

Object.assign(window, { SAMPLE });
