// data.jsx — single source of mock data for the prototype. Exported to window.

// ── Phases of the spiritual journey ──────────────────────────
const PHASES = [
  { key:'vitej',     name:'Vítej',      sub:'První kroky',        icon:'rocket', color:'#FF814A' },
  { key:'poznavani', name:'Poznávání',  sub:'Objevuji víru',      icon:'book',   color:'#3E7CB1' },
  { key:'rust',      name:'Růst',       sub:'Prohlubuji se',      icon:'sparkle',color:'#255B84' },
  { key:'zapojeni',  name:'Zapojení',   sub:'Patřím sem',         icon:'heart',  color:'#253D83' },
];

// ── Tasks of the checklist „Moje duchovní cesta" ─────────────
// done flag is the DEFAULT for the mobile (Jana) view.
const TASKS = [
  { id:1,  phase:'vitej',     icon:'mentor',  title:'Seznámit se s mentorem',          desc:'Tvůj průvodce ti pomůže s prvními kroky. Domluvte si první setkání u kávy.', done:true },
  { id:2,  phase:'vitej',     icon:'user',    title:'Vytvořit si profil v aplikaci',   desc:'Doplň si fotku a pár slov o sobě, ať tě ostatní poznají.', done:true },
  { id:3,  phase:'vitej',     icon:'pin',     title:'Přijít na nedělní bohoslužbu',    desc:'Začínáme v 10:00 v sále Cityhouse. Klidně přijď o chvíli dřív na kávu.', done:true },
  { id:4,  phase:'poznavani', icon:'groups',  title:'Navštívit domácí skupinku',       desc:'Malá skupinka je nejlepší místo, kde někoho blíž poznáš. Mládež se schází v pátek v 17:00.', done:true },
  { id:5,  phase:'poznavani', icon:'book',    title:'Přečíst Evangelium podle Marka',  desc:'Nejkratší z evangelií — ideální start. V aplikaci ho najdeš v sekci Bible.', done:true },
  { id:6,  phase:'poznavani', icon:'chat',    title:'Zeptat se na cokoliv mentora',    desc:'Nejsou hloupé otázky. Napiš mentorovi přes Konverzace, na co narážíš.', done:true },
  { id:7,  phase:'rust',      icon:'checklist',title:'Absolvovat kurz „Základy víry"',  desc:'Čtyři večery, které ti dají pevný základ. Další běh startuje 14. dubna.', done:true },
  { id:8,  phase:'rust',      icon:'heart',   title:'Najít si oblast služby',          desc:'Kde můžeš pomoct? Vítací tým, chvály, kavárna, technika… vyber si.', done:false },
  { id:9,  phase:'rust',      icon:'book',    title:'Přečíst knihu „První kroky ve víře"',desc:'Doporučená četba od tvého mentora. Půjčíš si ji ve společenství.', done:false },
  { id:10, phase:'zapojeni',  icon:'invite',  title:'Pozvat přítele do společenství',  desc:'Komu by udělalo dobře patřit sem? Pošli mu pozvánku přímo z aplikace.', done:false },
  { id:11, phase:'zapojeni',  icon:'cross',   title:'Zvážit křest',                    desc:'Důležitý krok víry. Promluv si o něm s pastorem, kdykoliv budeš chtít.', done:false },
  { id:12, phase:'zapojeni',  icon:'users',   title:'Stát se členem týmu',             desc:'Zapoj se naplno — staň se součástí jednoho ze služebních týmů.', done:false },
];

const MOTIVATIONS = [
  'Jsi na skvělé cestě! Pokračuj dál.',
  'Každý malý krok se počítá. Drž se!',
  'Skvělá práce — společenství je rádo, že tu jsi.',
  'Vidíme tvůj růst. Jen tak dál!',
];

// ── Newcomers (pastor dashboard) ─────────────────────────────
// done = completed task count out of TASKS.length (12)
function phaseOf(done){ return done<=3?'vitej':done<=6?'poznavani':done<=9?'rust':'zapojeni'; }
const RAW_PEOPLE = [
  { name:'Jana Nováková',      group:'Mládež',                    reg:'12. 3. 2026', done:7,  idleDays:0,  you:true },
  { name:'Markéta Blažková',   group:'Skupina na štúdium Biblie', reg:'2. 1. 2026',  done:12, idleDays:2 },
  { name:'Petr Svoboda',       group:'Mládež',                    reg:'20. 2. 2026', done:6,  idleDays:8 },
  { name:'Tomáš Dvořák',       group:'Domácí skupina Sever',      reg:'5. 3. 2026',  done:4,  idleDays:9 },
  { name:'Lucie Marešová',     group:'Skupina na štúdium Biblie', reg:'28. 2. 2026', done:9,  idleDays:1 },
  { name:'David Horák',        group:'Mládež',                    reg:'10. 3. 2026', done:3,  idleDays:14 },
  { name:'Eva Krásná',         group:'Domácí skupina Jih',        reg:'15. 1. 2026', done:11, idleDays:0 },
  { name:'Ondřej Beneš',       group:'Domácí skupina Sever',      reg:'1. 3. 2026',  done:6,  idleDays:3 },
  { name:'Klára Pospíšilová',  group:'Mládež',                    reg:'8. 1. 2026',  done:12, idleDays:0 },
  { name:'Martin Urban',       group:'Domácí skupina Jih',        reg:'22. 2. 2026', done:8,  idleDays:4 },
];
const TOTAL = TASKS.length;
const PEOPLE = RAW_PEOPLE.map((p,i) => {
  const pct = Math.round(p.done / TOTAL * 100);
  const status = pct === 100 ? 'done' : p.idleDays >= 7 ? 'idle' : 'prog';
  const last = p.idleDays === 0 ? 'dnes' : p.idleDays === 1 ? 'včera' : `před ${p.idleDays} dny`;
  return { id:i+1, ...p, pct, phase:phaseOf(p.done), status, last };
});

const GROUPS = ['Všechny skupiny', ...Array.from(new Set(PEOPLE.map(p=>p.group)))];

// per-person completed task titles (first N tasks in order) for detail view
function tasksFor(done){
  return TASKS.map((t,i) => ({ ...t, done: i < done }));
}

// ── Analytics datasets (3-month cohort, larger than active list) ─
const ANALYTICS = {
  avgCompletion: 65,
  fastest: '2 týdny',
  inactive: PEOPLE.filter(p=>p.status==='idle').length,
  activeCount: PEOPLE.length,
  byPhase: [
    { key:'vitej',     label:'Vítej',     value:8,  color:'#FF814A' },
    { key:'poznavani', label:'Poznávání', value:14, color:'#3E7CB1' },
    { key:'rust',      label:'Růst',      value:11, color:'#255B84' },
    { key:'zapojeni',  label:'Zapojení',  value:9,  color:'#253D83' },
  ],
  overTime: [
    { m:'Led', v:38 }, { m:'Úno', v:47 }, { m:'Bře', v:52 }, { m:'Dub', v:60 }, { m:'Kvě', v:65 },
  ],
  unfinished: [
    { label:'Absolvovat kurz „Základy víry"', value:42, color:'#253D83' },
    { label:'Pozvat přítele do společenství',  value:28, color:'#3E7CB1' },
    { label:'Najít si oblast služby',           value:18, color:'#7FB0D9' },
    { label:'Ostatní úkoly',                    value:12, color:'#CBD9E8' },
  ],
};

// ── Onboarding content templates (pastor builder) ────────────
// Block types available in the editor palette.
const BLOCK_TYPES = [
  { type:'section',label:'Část cesty', icon:'flag', color:'#0F766E', hint:'Rozdělí cestu na úseky' },
  { type:'text',  label:'Text',    icon:'type',  color:'#255B84', hint:'Uvítání, výklad, povzbuzení' },
  { type:'video', label:'Video',   icon:'video', color:'#A23E5C', hint:'Kázání, svědectví, návod' },
  { type:'quiz',  label:'Kvíz',    icon:'quiz',  color:'#B5612E', hint:'Otázka pro zopakování' },
  { type:'image', label:'Obrázek', icon:'image', color:'#1F7A5B', hint:'Foto, plánek, ilustrace' },
  { type:'link',  label:'Odkaz',   icon:'link',  color:'#2563EB', hint:'Chat, Instagram, web — otevře odkaz' },
  { type:'task',  label:'Úkol',    icon:'checklist', color:'#253D83', hint:'Krok do checklistu nováčka' },
  { type:'choice',label:'Rozcestník', icon:'signpost', color:'#7A5CA8', hint:'Nováček si zvolí, kudy půjde' },
];

// Kanály pro odkazový blok (label se v editoru/cestě překládá přes t()).
const LINK_CHANNELS = [
  { key:'believer',  label:'Believer',  icon:'community', color:'#253D83' },
  { key:'whatsapp',  label:'WhatsApp',  icon:'whatsapp',  color:'#25D366' },
  { key:'instagram', label:'Instagram', icon:'instagram', color:'#C13584' },
  { key:'web',       label:'Web',       icon:'link',      color:'#2563EB' },
];

// Icon+color presets a branch cycles through when you tap its badge.
const BRANCH_PRESETS = [
  { icon:'book',    color:'#3E7CB1' },
  { icon:'heart',   color:'#A23E5C' },
  { icon:'cross',   color:'#255B84' },
  { icon:'sparkle', color:'#253D83' },
  { icon:'groups',  color:'#1F7A5B' },
  { icon:'flame',   color:'#B5612E' },
];

// Default block when a new one is added from the palette.
function newBlock(type){
  const id = 'b'+Math.random().toString(36).slice(2,8);
  switch(type){
    case 'section':return { id, type, title:'Nová část cesty', subtitle:'Krátký popis téhle části' };
    case 'text':  return { id, type, title:'Nový text', body:'Sem napiš text, který nováček uvidí…' };
    case 'video': return { id, type, title:'Nové video', source:'YouTube', url:'', duration:'' };
    case 'quiz':  return { id, type, title:'Nový kvíz', question:'Sem napiš otázku?', options:[{label:'Správná odpověď',correct:true},{label:'Další možnost',correct:false}] };
    case 'image': return { id, type, title:'Nový obrázek', caption:'Popisek obrázku' };
    case 'link':  return { id, type, title:'Nový odkaz', label:'Otevřít', url:'https://', channel:'believer' };
    case 'task':  return { id, type, title:'Nový úkol', desc:'Co má nováček udělat', phase:'vitej' };
    case 'choice':return { id, type, title:'Kam se chceš vydat?', branches:[
      { id:'br'+Math.random().toString(36).slice(2,8), label:'První cesta',  icon:'book',  color:'#3E7CB1', blocks:[] },
      { id:'br'+Math.random().toString(36).slice(2,8), label:'Druhá cesta', icon:'heart', color:'#A23E5C', blocks:[] },
    ] };
    default: return { id, type };
  }
}

const TEMPLATES = [
  {
    id:'vitej', name:'Vítej ve společenství', icon:'rocket', color:'#FF814A',
    desc:'Komplexní uvítací cesta rozdělená na části — nováček si průběžně odškrtává kvízy a otevírá odkazy (chat, Instagram, kontakt na mentora), vidí, kterou část už dokončil, a na závěr si na rozcestníku zvolí, kudy dál. Vzor, jak onboarding poskládat naplno.',
    tag:'Vítej', assigned:10, blocks:[
      { id:'s1', type:'section', title:'Vítej u nás', subtitle:'První seznámení — pár minut a budeš v obraze.' },
      { id:'w1', type:'video', title:'Vítej u nás! 👋', url:'', source:'Krátký pozdrav od vašeho pastora — nahraďte vlastním uvítacím videem', duration:'' },
      { id:'w2', type:'text', title:'Jsme rádi, že tu jsi', body:'Není náhoda, že ses k nám připojil(a). Jsme společenství obyčejných lidí, kteří hledají blízkost — k Bohu i k sobě navzájem. Nemusíš nic předstírat ani nikam spěchat. Tahle krátká cesta tě v klidu provede prvními kroky, ať se u nás cítíš jako doma.' },
      { id:'q1', type:'quiz', title:'Krátká otázka', question:'Na čem nám jako společenství nejvíc záleží?', options:[{label:'Na blízkosti — k Bohu i k sobě',correct:true},{label:'Na dokonalém výkonu',correct:false},{label:'Na velkých budovách',correct:false}] },

      { id:'s2', type:'section', title:'Jak to u nás chodí', subtitle:'Co tě čeká každý týden.' },
      { id:'w3', type:'image', title:'Naše společenství', caption:'Scházíme se každou neděli v 10:00 — přijď přesně tak, jak jsi.' },
      { id:'w4', type:'text', title:'Týden u nás', body:'• Neděle: společná bohoslužba v 10:00 (káva od 9:30).\n• Během týdne: menší skupinky, kde se lidé znají jménem.\n• Tvůj mentor: někdo, kdo ti pomůže se zorientovat a na koho se můžeš kdykoliv obrátit.' },
      { id:'q2', type:'quiz', title:'Zopakování', question:'V kolik hodin začíná nedělní bohoslužba?', options:[{label:'V 9:00',correct:false},{label:'V 10:00',correct:true},{label:'V 11:00',correct:false}] },
      { id:'l1', type:'link', title:'Komunikujeme v Believeru', label:'Otevřít chat společenství', url:'', channel:'believer' },

      { id:'s3', type:'section', title:'Zůstaňme ve spojení', subtitle:'Ať ti nic důležitého neuteče.' },
      { id:'w5', type:'text', title:'Kde nás najdeš', body:'Nejvíc spolu mluvíme přímo v Believeru — tam najdeš oznámení, skupiny i svého mentora. A když chceš nahlédnout, jak to u nás žije, mrkni na náš Instagram.' },
      { id:'l2', type:'link', title:'Sleduj nás na Instagramu', label:'Otevřít Instagram', url:'https://instagram.com', channel:'instagram' },
      { id:'l3', type:'link', title:'Tvůj mentor je tu pro tebe', label:'Napsat mentorovi', url:'', channel:'believer' },
      { id:'q3', type:'quiz', title:'Kde se potkáme', question:'Kde spolu nejčastěji komunikujeme?', options:[{label:'Přímo v Believeru',correct:true},{label:'Nijak, jen v neděli',correct:false},{label:'Po telefonu',correct:false}] },

      { id:'s4', type:'section', title:'Kam dál?', subtitle:'Zvládl(a) jsi první část — teď si vyber svůj směr.' },
      { id:'w6', type:'text', title:'Zvládl(a) jsi první kroky 🙌', body:'Děkujeme, že jsi do toho šel(šla) s námi. Tím to ale nekončí — naopak. Vyber si níže, kam tě to táhne dál, a my tě tím směrem provedeme. Žádná volba není špatná a kdykoliv ji můžeš změnit.' },
      { id:'w7', type:'choice', title:'Kam dál? Vyber si, kudy budeš pokračovat.', branches:[
        { id:'wb1', label:'Chci poznávat víru', icon:'book', color:'#3E7CB1', blocks:[
          { id:'wb1a', type:'text', title:'Kurz Základy víry', body:'Čtyři nezávazné večery o tom nejdůležitějším: kdo je Bůh, co je víra, jak číst Bibli a jak se modlit. Bez tlaku, s prostorem na otázky.' },
          { id:'wb1b', type:'link', title:'Přihlas se na kurz', label:'Mám zájem o kurz', url:'', channel:'believer' },
          { id:'wb1c', type:'quiz', title:'Malá ochutnávka', question:'Které evangelium je nejkratší a doporučujeme číst první?', options:[{label:'Podle Marka',correct:true},{label:'Podle Jana',correct:false},{label:'Podle Lukáše',correct:false}] },
        ] },
        { id:'wb2', label:'Hledám vztahy a společenství', icon:'heart', color:'#A23E5C', blocks:[
          { id:'wb2a', type:'text', title:'Skupinky', body:'Nejlíp se u nás zabydlíš v menší skupince — pár lidí, kteří se scházejí přes týden u někoho doma. Je to to nejlepší místo, kde někoho doopravdy poznat.' },
          { id:'wb2b', type:'link', title:'Najdi si skupinku', label:'Prohlédnout skupinky', url:'', channel:'believer' },
        ] },
        { id:'wb3', label:'Chci se zapojit a sloužit', icon:'groups', color:'#1F7A5B', blocks:[
          { id:'wb3a', type:'text', title:'Týmy a služba', body:'Společenství žije díky lidem, kteří přiloží ruku k dílu — od kávy přes zvučení až po vítání hostů. Najde se místo i pro tvé dary.' },
          { id:'wb3b', type:'link', title:'Ozvi se vedoucímu', label:'Chci se zapojit', url:'', channel:'believer' },
        ] },
      ] },
    ],
  },
];

Object.assign(window, { PHASES, TASKS, MOTIVATIONS, PEOPLE, GROUPS, ANALYTICS, TOTAL, tasksFor, phaseOf, TEMPLATES, BLOCK_TYPES, LINK_CHANNELS, newBlock });
