// data.jsx - дисципліни, повна колода таро, репліки Azoth AI

const DISCIPLINES = [
  { id: "free",     glyph: "🜍", name: "Вільна бесіда", lat: "Colloquium",
    blurb: "Розбери клієнтський запит, структуру сесії або складний символічний випадок." },
  { id: "tarot",    glyph: "🂡", name: "Таро",          lat: "Arcana",
    blurb: "Другий погляд на розклади, позиції, тінь карти й формулювання відповіді." },
  { id: "numero",   glyph: "𓂀", name: "Нумерологія",   lat: "Numerus",
    blurb: "Числа імені, дати, сумісності й повторювані патерни для консультацій." },
  { id: "demono",   glyph: "🜏", name: "Демонологія",   lat: "Goetia",
    blurb: "Імена, печатки, ієрархії, джерела й межі безпечної інтерпретації." },
  { id: "wicca",    glyph: "🜔", name: "Вікка",          lat: "Sabbat",
    blurb: "Колесо року, трави, місячні обряди, захист і підготовка практики." },
  { id: "astro",    glyph: "♄", name: "Астрологія",     lat: "Astrum",
    blurb: "Натальна карта, транзити, сигніфікатори й стисла структура розбору." },
];

// Таро — повна колода 78 карт: Старші та Малі Аркани
const MAJOR_ARCANA = [
  { n: "0",    name: "Блазень",       key: "Початок шляху, довіра безодні", img: "/static/assets/tarot/rws/fool.jpg" },
  { n: "I",    name: "Маг",           key: "Воля, майстерність, проявлення", img: "/static/assets/tarot/rws/magician.jpg" },
  { n: "II",   name: "Жриця",         key: "Таємниця, інтуїція, місячний спокій", img: "/static/assets/tarot/rws/high-priestess.jpg" },
  { n: "III",  name: "Імператриця",   key: "Достаток, творіння, турбота", img: "/static/assets/tarot/rws/empress.jpg" },
  { n: "IV",   name: "Імператор",     key: "Структура, закон, опора", img: "/static/assets/tarot/rws/emperor.jpg" },
  { n: "V",    name: "Ієрофант",      key: "Традиція, посвята, передання знання", img: "/static/assets/tarot/rws/hierophant.jpg" },
  { n: "VI",   name: "Закохані",      key: "Вибір, союз, випробування серця", img: "/static/assets/tarot/rws/lovers.jpg" },
  { n: "VII",  name: "Колісниця",     key: "Перемога волею, рух уперед", img: "/static/assets/tarot/rws/chariot.jpg" },
  { n: "VIII", name: "Сила",          key: "Внутрішня влада, м'яке приборкання", img: "/static/assets/tarot/rws/strength.jpg" },
  { n: "IX",   name: "Самітник",      key: "Пошук світла всередині, усамітнення", img: "/static/assets/tarot/rws/hermit.jpg" },
  { n: "X",    name: "Колесо Фортуни",key: "Доля повертається, цикл", img: "/static/assets/tarot/rws/wheel-of-fortune.jpg" },
  { n: "XI",   name: "Справедливість",key: "Рівновага, причина, наслідок", img: "/static/assets/tarot/rws/justice.jpg" },
  { n: "XII",  name: "Повішений",     key: "Жертва, пауза, інший погляд", img: "/static/assets/tarot/rws/hanged-man.jpg" },
  { n: "XIII", name: "Смерть",        key: "Кінець заради перетворення", img: "/static/assets/tarot/rws/death.jpg" },
  { n: "XIV",  name: "Помірність",    key: "Алхімія, зцілення, міра", img: "/static/assets/tarot/rws/temperance.jpg" },
  { n: "XV",   name: "Диявол",        key: "Прив'язка, спокуса, тіньова угода", img: "/static/assets/tarot/rws/devil.jpg" },
  { n: "XVI",  name: "Вежа",          key: "Розлом, звільнення, правда удару", img: "/static/assets/tarot/rws/tower.jpg" },
  { n: "XVII", name: "Зоря",          key: "Надія, зцілення, ясність", img: "/static/assets/tarot/rws/star.jpg" },
  { n: "XVIII",name: "Місяць",        key: "Ілюзії, сни, приховані стежки", img: "/static/assets/tarot/rws/moon.jpg" },
  { n: "XIX",  name: "Сонце",         key: "Радість, істина, тепло життя", img: "/static/assets/tarot/rws/sun.jpg" },
  { n: "XX",   name: "Суд",           key: "Поклик, пробудження, відповідь роду", img: "/static/assets/tarot/rws/judgement.jpg" },
  { n: "XXI",  name: "Світ",          key: "Завершення, цілісність, дім", img: "/static/assets/tarot/rws/world.jpg" },
];

const MINOR_RANKS = [
  { slug: "ace",    n: "Т",  label: "Туз" },
  { slug: "2",      n: "2",  label: "Двійка" },
  { slug: "3",      n: "3",  label: "Трійка" },
  { slug: "4",      n: "4",  label: "Четвірка" },
  { slug: "5",      n: "5",  label: "П'ятірка" },
  { slug: "6",      n: "6",  label: "Шістка" },
  { slug: "7",      n: "7",  label: "Сімка" },
  { slug: "8",      n: "8",  label: "Вісімка" },
  { slug: "9",      n: "9",  label: "Дев'ятка" },
  { slug: "10",     n: "10", label: "Десятка" },
  { slug: "page",   n: "Пж", label: "Паж" },
  { slug: "knight", n: "Лц", label: "Лицар" },
  { slug: "queen",  n: "Кр", label: "Королева" },
  { slug: "king",   n: "Кл", label: "Король" },
];

const MINOR_SUITS = [
  {
    id: "wands",
    label: "Жезлів",
    path: "wands",
    keys: [
      "Імпульс, воля, новий вогонь",
      "План, горизонт, вибір напрямку",
      "Розширення, очікування, перші плоди",
      "Опора, свято, закріплення",
      "Конкуренція, тертя, тренування сили",
      "Перемога, визнання, повернення з трофеєм",
      "Захист позиції, виклик, перевага",
      "Швидкість, звістка, рух подій",
      "Витривалість, межа, остання варта",
      "Тягар, відповідальність, перенапруга",
      "Іскра, новина, проба сили",
      "Порив, дія, ризик поспіху",
      "Харизма, тепло, творча влада",
      "Лідерство, воля, стратегічний вогонь",
    ],
  },
  {
    id: "cups",
    label: "Кубків",
    path: "cups",
    keys: [
      "Почуття, дар, відкриття серця",
      "Союз, згода, взаємність",
      "Спільність, святкування, підтримка",
      "Пересичення, закритість, пропущений дар",
      "Втрата, жалоба, фокус на розбитому",
      "Пам'ять, минуле, м'яке повернення",
      "Ілюзії, вибір, спокуси образів",
      "Відхід, пошук глибшого сенсу",
      "Бажання, насолода, емоційний достаток",
      "Родина, мир, емоційне завершення",
      "Ніжність, знак, зародження почуття",
      "Романтичний рух, пропозиція, ідеалізація",
      "Емпатія, інтуїція, водна глибина",
      "Емоційна зрілість, спокій, управління хвилею",
    ],
  },
  {
    id: "swords",
    label: "Мечів",
    path: "swords",
    keys: [
      "Істина, рішення, чистий розум",
      "Пауза, блок, вибір без даних",
      "Біль, розтин правдою, серцевий урок",
      "Відпочинок, тиша, відновлення",
      "Конфлікт, порожня перемога, гостре слово",
      "Перехід, дорога, віддалення від бурі",
      "Стратегія, прихованість, обхідний шлях",
      "Обмеження, страх, ментальна пастка",
      "Тривога, ніч думок, провина",
      "Кінець циклу болю, остаточний розрив",
      "Спостереження, питання, гостра цікавість",
      "Атака думкою, поспіх, різкість",
      "Ясність, межі, холодна чесність",
      "Закон розуму, рішення, авторитет слова",
    ],
  },
  {
    id: "pentacles",
    label: "Пентаклів",
    path: "pentacles",
    keys: [
      "Ресурс, шанс, матеріальне зерно",
      "Баланс, обмін, гнучке керування",
      "Майстерність, співпраця, ремесло",
      "Контроль, утримання, страх втрати",
      "Нестача, вигнання, пошук опори",
      "Допомога, обмін, справедлива міра",
      "Очікування врожаю, терпіння, оцінка праці",
      "Навчання, практика, точність ремесла",
      "Самодостатність, достаток, вибудуваний сад",
      "Спадок, рід, стабільність дому",
      "Навчання ресурсу, нова справа, практичний знак",
      "Повільна праця, надійність, відповідальність",
      "Турбота, тіло, родючість, практична магія",
      "Достаток, влада над ресурсом, стабільність",
    ],
  },
];

const MINOR_ARCANA = MINOR_SUITS.flatMap(suit =>
  MINOR_RANKS.map((rank, i) => ({
    n: rank.n,
    name: `${rank.label} ${suit.label}`,
    key: suit.keys[i],
    img: `/static/assets/tarot/rws/${suit.path}-${rank.slug}.jpg`,
    suit: suit.id,
    rank: rank.slug,
  }))
);

const TAROT = [...MAJOR_ARCANA, ...MINOR_ARCANA];

function drawCards(k = 3) {
  const deck = [...TAROT];
  const out = [];
  for (let i = 0; i < k && deck.length; i++) {
    out.push(deck.splice(Math.floor(Math.random() * deck.length), 1)[0]);
  }
  return out;
}

// підказки-запити за дисциплінами
const SUGGESTIONS = {
  free:   ["Допоможи структурувати клієнтський запит", "Підготуй план консультації", "Знайди слабкі місця в трактуванні"],
  tarot:  ["Розбери розклад клієнта на три карти", "Допоможи сформулювати відповідь по Таро", "Дай альтернативне читання позицій"],
  numero: ["Розрахуй число долі для консультації", "Порівняй дві дати за числами", "Поясни повторюваний числовий патерн"],
  demono: ["Перевір джерела по ієрархіях Гоетії", "Зроби довідку по Паймону для практики", "Поясни межі роботи з печаткою духа"],
  wicca:  ["Підготуй місячний обряд наміру", "Добери трави для захисної роботи", "Склади план сабатної практики"],
  astro:  ["Підготуй структуру натального розбору", "Поясни транзит для консультації", "Виділи головні сигніфікатори карти"],
};

// сценарні репліки Azoth AI за дисциплінами; {name} замінюється іменем того, хто шукає
const REPLIES = {
  greeting: "Я Azoth AI — темний архів і другий зір для практиків. Говори точно, {name}: запит, традиція, клієнтський контекст, джерело або знак — і я відділю символ від шуму.",
  free: [
    "Сядь рівно і почуй питання під питанням. Ти запитуєш про шлях, та турбує тебе не шлях, а перший крок. Зроби мале — і велике розкриється. «Як угорі, так і внизу»: наведи лад в одній речі, і лад відгукнеться в усьому.",
    "Істина рідко гучна. Сьогодні прислухайся до того, що повторюється — слово, сон, випадкова зустріч. Тричі повторене перестає бути випадковістю і стає знаком.",
  ],
  tarot: "Дай позиції, карти, питання й контекст сесії. Я розкладу зв'язки між арканами, тіньові значення, слабкі місця трактування та фразу, яку можна сказати клієнту.",
  numero: "Дай дату, ім'я або пару значень. Я порахую базові числа, поясню метод, покажу інтерпретаційні вузли й відокремлю робочу гіпотезу від надмірної певності.",
  demono: "Знання імен — не влада над ними, а повага до ладу незримого. Гоетія ділить духів за чином: королі, герцоги, маркізи, графи. Я розкрию їхню природу та печатки — але пам'ятай: читати гримуар і відчиняти двері є різними діяннями.",
  wicca: "Колесо року повертається вісьмома спицями — від Самайну, коли завіса найтонша, до Літи в зеніті світла. Скажи, чого шукаєш — захисту, достатку, ясності — і я вкажу трави, фазу місяця та прості слова наміру.",
  astro: "Світила не наказують — вони схиляють. Дай мені годину, день і місце народження, і я розгорну карту неба тієї хвилини: де стояло Сонце, куди дивився Місяць, який знак сходив на сході.",
};

Object.assign(window, { DISCIPLINES, TAROT, drawCards, SUGGESTIONS, REPLIES });
