// Shared data for DataLoop landing — v2
// Cities (top-10 by population), map, calculator, code samples.

// Sample addresses for the Saggest widget
const ADDRESSES = [
  {
    full: "г Москва, ул Тверская, д 12 стр 9",
    region: "Москва", city: "Москва", street: "ул Тверская",
    house: "12 стр 9", postal: "125009",
    fias: "8da95206-5d3a-4d3e-...",
    lat: 55.7616, lon: 37.6062,
  },
  {
    full: "г Санкт-Петербург, Невский пр-кт, д 28",
    region: "Санкт-Петербург", city: "Санкт-Петербург", street: "Невский пр-кт",
    house: "28", postal: "191186",
    fias: "c2deb16a-0330-4f05-...",
    lat: 59.9359, lon: 30.3258,
  },
  {
    full: "г Москва, Кутузовский пр-кт, д 35",
    region: "Москва", city: "Москва", street: "Кутузовский пр-кт",
    house: "35", postal: "121170",
    fias: "4a4d9c2b-7e1f-4ab3-...",
    lat: 55.7396, lon: 37.5253,
  },
  {
    full: "г Новосибирск, Красный пр-кт, д 50",
    region: "Новосибирская обл", city: "Новосибирск", street: "Красный пр-кт",
    house: "50", postal: "630091",
    fias: "df85a40a-1c81-4f5f-...",
    lat: 55.0339, lon: 82.9217,
  },
  {
    full: "г Казань, ул Баумана, д 19",
    region: "Респ Татарстан", city: "Казань", street: "ул Баумана",
    house: "19", postal: "420111",
    fias: "9c8b1f0e-2c43-44dd-...",
    lat: 55.7906, lon: 49.1149,
  },
  {
    full: "г Екатеринбург, ул Ленина, д 24/8",
    region: "Свердловская обл", city: "Екатеринбург", street: "ул Ленина",
    house: "24/8", postal: "620075",
    fias: "ab68f1a3-9c2d-41e7-...",
    lat: 56.8389, lon: 60.6057,
  },
  {
    full: "г Нижний Новгород, ул Большая Покровская, д 1",
    region: "Нижегородская обл", city: "Нижний Новгород",
    street: "ул Большая Покровская", house: "1", postal: "603005",
    fias: "13bd0d68-5b7a-4f3b-...",
    lat: 56.3231, lon: 44.0050,
  },
  {
    full: "г Сочи, ул Навагинская, д 9",
    region: "Краснодарский край", city: "Сочи",
    street: "ул Навагинская", house: "9", postal: "354000",
    fias: "ee281b6d-...",
    lat: 43.5852, lon: 39.7203,
  },
];

const CITIES = [
  { id: 1, name: "Москва",            pop: "13.1 М жителей",  rank: "#1",  region: "Москва",                     lat: 55.7558, lon: 37.6173, x: 20.5, y: 51.5, side: "left",   postal: "101000", okato: "45286570000", okmto: "45382000", fias: "0c5b2444-70a0-4932-980c-b4dc0d3f02b5", addr: "г Москва, ул Тверская, д 13" },
  { id: 2, name: "Санкт-Петербург",   pop: "5.6 М жителей",   rank: "#2",  region: "Санкт-Петербург",            lat: 59.9343, lon: 30.3351, x: 15.2, y: 41.5, side: "top",    postal: "190000", okato: "40298566000", okmto: "40908000", fias: "c2deb16a-0330-4f05-9e93-d2c4d6f86ee9", addr: "г Санкт-Петербург, Невский пр-кт, д 28" },
  { id: 3, name: "Новосибирск",       pop: "1.63 М жителей",  rank: "#3",  region: "Новосибирская обл",          lat: 55.0084, lon: 82.9357, x: 43.0, y: 56.5, side: "bottom", postal: "630000", okato: "50401000000", okmto: "50701000", fias: "df85a40a-1c81-4f5f-9d49-0a2c8e9b3e21", addr: "г Новосибирск, Красный пр-кт, д 50" },
  { id: 4, name: "Екатеринбург",      pop: "1.54 М жителей",  rank: "#4",  region: "Свердловская обл",           lat: 56.8389, lon: 60.6057, x: 31.5, y: 47.0, side: "top",    postal: "620000", okato: "65401000000", okmto: "65701000", fias: "ab68f1a3-9c2d-41e7-9d2f-9c11b8e10942", addr: "г Екатеринбург, ул Ленина, д 24/8" },
  { id: 5, name: "Казань",            pop: "1.32 М жителей",  rank: "#5",  region: "Респ Татарстан",             lat: 55.7887, lon: 49.1221, x: 25.5, y: 51.0, side: "right",  postal: "420000", okato: "92401000000", okmto: "92701000", fias: "9c8b1f0e-2c43-44dd-aa1c-5e7b6c44a019", addr: "г Казань, ул Баумана, д 19" },
  { id: 6, name: "Нижний Новгород",   pop: "1.21 М жителей",  rank: "#6",  region: "Нижегородская обл",          lat: 56.2965, lon: 43.9361, x: 22.5, y: 48.5, side: "right",  postal: "603000", okato: "22401000000", okmto: "22701000", fias: "13bd0d68-5b7a-4f3b-aa12-6e08c44ffeb1", addr: "г Нижний Новгород, ул Большая Покровская, д 1" },
  { id: 7, name: "Красноярск",        pop: "1.19 М жителей",  rank: "#7",  region: "Красноярский край",          lat: 56.0153, lon: 92.8932, x: 49.5, y: 51.0, side: "right",  postal: "660000", okato: "04401000000", okmto: "04701000", fias: "ee281b6d-aa12-44ed-83c0-2d4ee19c8f23", addr: "г Красноярск, пр-кт Мира, д 10" },
  { id: 8, name: "Челябинск",         pop: "1.18 М жителей",  rank: "#8",  region: "Челябинская обл",            lat: 55.1644, lon: 61.4368, x: 31.5, y: 54.5, side: "bottom", postal: "454000", okato: "75401000000", okmto: "75701000", fias: "f1a7c4e2-bcde-4d28-9a13-bb78c2f7c91d", addr: "г Челябинск, пр-кт Ленина, д 76" },
  { id: 9, name: "Самара",            pop: "1.16 М жителей",  rank: "#9",  region: "Самарская обл",              lat: 53.1959, lon: 50.1008, x: 26.0, y: 56.5, side: "left",   postal: "443000", okato: "36401000000", okmto: "36701000", fias: "ab9c5b8d-6a18-4cc8-aa11-de4ff3d9a2c6", addr: "г Самара, ул Куйбышева, д 100" },
  { id:10, name: "Уфа",               pop: "1.13 М жителей",  rank: "#10", region: "Респ Башкортостан",          lat: 54.7388, lon: 55.9721, x: 29.0, y: 53.5, side: "right",  postal: "450000", okato: "80401000000", okmto: "80701000", fias: "7339e834-12ab-4a51-9c2d-08b1a4d7e7c9", addr: "г Уфа, ул Ленина, д 70" },
];

// Calculator features — flat monthly subscription pricing per feature.
// Bundle pricing model: pick the features you need, pay a fixed price/month.
// API is positioned as a way to integrate features — not a per-call billing.
const CALC_FEATURES = [
  {
    id: "suggest",
    group: "Поиск и подсказки",
    name: "Подсказки адресов",
    desc: "Авто-дополнение в формах: регион, город, улица, дом, квартира — до 25 вариантов на ввод.",
    price: 990,
    badge: "ХИТ",
    icon: "suggest",
  },
  {
    id: "iploc",
    group: "Поиск и подсказки",
    name: "Город по IP",
    desc: "Определение населённого пункта посетителя по IP-адресу. Пред-заполнение формы доставки.",
    price: 590,
    icon: "iploc",
  },
  {
    id: "fuzzy",
    group: "Поиск и подсказки",
    name: "Поиск с опечатками",
    desc: "Fuzzy-матчинг по двойной метафонии. «Тверска 12» → находит Тверскую улицу.",
    price: 490,
    icon: "fuzzy",
  },
  {
    id: "geocode",
    group: "Геокодинг",
    name: "Адрес → координаты",
    desc: "Прямой геокодинг с точностью до подъезда. Покрытие 1.7 М населённых пунктов РФ.",
    price: 1490,
    icon: "pin",
  },
  {
    id: "reverse",
    group: "Геокодинг",
    name: "Координаты → адрес",
    desc: "Обратный геокодинг: lat/lon → структурированный адрес ФИАС с 32 полями.",
    price: 1490,
    icon: "reverse",
  },
  {
    id: "tree",
    group: "Геокодинг",
    name: "Иерархия адресов",
    desc: "Дерево от субъекта РФ до квартиры. Для каталогов, отчётов, таргетинга по округам.",
    price: 690,
    icon: "tree",
  },
  {
    id: "parse",
    group: "Данные и интеграции",
    name: "Нормализация ФИАС",
    desc: "Распарсенные части адреса по ФИАС/КЛАДР. Готово для импорта в CRM и 1С.",
    price: 790,
    icon: "parse",
  },
  {
    id: "batch",
    group: "Данные и интеграции",
    name: "Пакетная обработка",
    desc: "До 50 000 адресов за один запрос. CSV/JSONL на входе и выходе. Для миграции баз.",
    price: 1990,
    icon: "batch",
  },
  {
    id: "webhook",
    group: "Данные и интеграции",
    name: "Webhooks и стриминг",
    desc: "Подписки на события и event-streaming для обновлений ФИАС в реальном времени.",
    price: 990,
    icon: "webhook",
  },
  {
    id: "sla",
    group: "Поддержка и SLA",
    name: "SLA 99.95% + поддержка",
    desc: "Договор с SLA, мониторинг 24/7, поддержка в Telegram с откликом до 4 часов.",
    price: 2490,
    icon: "sla",
  },
];

// Bundle: discounted combination — auto-detected when user selects all geo features
const CALC_BUNDLES = [
  { id: "geo-trio", requires: ["geocode", "reverse", "tree"], discount: 880, name: "Геокодинг-набор", note: "−20% при выборе всех трёх гео-фич" },
  { id: "suggest-trio", requires: ["suggest", "iploc", "fuzzy"], discount: 410, name: "Поиск-набор", note: "−20% при выборе всех подсказок" },
];

// Feature groups for the API hub
const FEATURE_GROUPS = [
  {
    label: "Подсказки",
    sub: "ввод и поиск",
    items: [
      { tag: "/v1/suggest",    title: "Подсказки на лету",      desc: "Авто-дополнение от региона до квартиры. 25 подсказок за 14 мс.",   ms: "14 мс" },
      { tag: "/v1/fuzzy",      title: "Поиск с опечатками",     desc: "Fuzzy по двойной метафонии. «Тверска» → «Тверская».",               ms: "16 мс" },
      { tag: "/v1/tree",       title: "Дерево ФИАС",            desc: "Иерархия от субъекта РФ до подъезда. Удобно для каталогов.",       ms: "22 мс" },
    ],
  },
  {
    label: "Геокодинг",
    sub: "координаты и адреса",
    items: [
      { tag: "/v1/geocode/forward", title: "Прямой геокодинг",     desc: "Адрес → координаты с точностью до подъезда. 1.7 М ПУ РФ.",  ms: "22 мс" },
      { tag: "/v1/geocode/reverse", title: "Обратный геокодинг",   desc: "Координаты → структурированный адрес и 32 поля ФИАС.",       ms: "18 мс" },
      { tag: "/v1/parse",            title: "Нормализация ФИАС",   desc: "Парсинг по ФИАС/КЛАДР: регион, город, улица, дом, кв.",      ms: "9 мс"  },
    ],
  },
  {
    label: "Инфраструктура",
    sub: "под капотом",
    items: [
      { tag: "/v1/batch",  title: "Пакетная обработка",  desc: "До 50 000 адресов за один запрос. CSV/JSONL на вход и выход.", ms: "≤ 1 с" },
      { tag: "ФИАС/КЛАДР", title: "Актуальные базы",     desc: "Ежесуточная синхронизация. ФИАС, КЛАДР, ЕГРЮЛ, ОКАТО.",         ms: "24/7"  },
      { tag: "SLA",        title: "Два дата-центра",     desc: "Гео-резерв Москва/Питер, мониторинг, доступность 99.99%.",     ms: "99.99%" },
    ],
  },
];

// Simplified code samples — only URL + body, no headers
const CODE_LINES = {
  curl: [
    [{ k: "c", v: "# Подсказки адресов · POST /v1/suggest/address" }],
    [{ k: "kw", v: "curl" }, { k: "p", v: " " }, { k: "flag", v: "-X" }, { k: "p", v: " " }, { k: "kw2", v: "POST" }, { k: "p", v: " " }, { k: "url", v: "https://api.dataloop.ru/v1/suggest/address" }, { k: "p", v: " \\" }],
    [{ k: "p", v: "  " }, { k: "flag", v: "-d" }, { k: "p", v: " " }, { k: "str", v: "'{ " }, { k: "key", v: "\"query\"" }, { k: "p", v: ": " }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: ", " }, { k: "key", v: "\"count\"" }, { k: "p", v: ": " }, { k: "num", v: "5" }, { k: "str", v: " }'" }],
  ],
  js: [
    [{ k: "c", v: "// Подсказки адресов · @dataloop/sdk" }],
    [{ k: "kw", v: "const" }, { k: "p", v: " hits " }, { k: "op", v: "=" }, { k: "p", v: " " }, { k: "kw", v: "await" }, { k: "p", v: " dataloop.suggest.address({" }],
    [{ k: "p", v: "  " }, { k: "key", v: "query" }, { k: "p", v: ": " }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: "," }],
    [{ k: "p", v: "  " }, { k: "key", v: "count" }, { k: "p", v: ": " }, { k: "num", v: "5" }, { k: "p", v: "," }],
    [{ k: "p", v: "})" }],
  ],
  python: [
    [{ k: "c", v: "# Подсказки адресов · dataloop python sdk" }],
    [{ k: "p", v: "hits " }, { k: "op", v: "=" }, { k: "p", v: " dl.suggest.address(" }],
    [{ k: "p", v: "    " }, { k: "key", v: "query" }, { k: "op", v: "=" }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: "," }],
    [{ k: "p", v: "    " }, { k: "key", v: "count" }, { k: "op", v: "=" }, { k: "num", v: "5" }, { k: "p", v: "," }],
    [{ k: "p", v: ")" }],
  ],
  go: [
    [{ k: "c", v: "// Подсказки адресов · dataloop go sdk" }],
    [{ k: "p", v: "hits, _ " }, { k: "op", v: ":=" }, { k: "p", v: " dl.Suggest.Address(ctx, " }, { k: "op", v: "&" }, { k: "kw", v: "Q" }, { k: "p", v: "{" }],
    [{ k: "p", v: "    " }, { k: "key", v: "Query" }, { k: "p", v: ": " }, { k: "str", v: "\"тверская 12\"" }, { k: "p", v: "," }],
    [{ k: "p", v: "    " }, { k: "key", v: "Count" }, { k: "p", v: ": " }, { k: "num", v: "5" }, { k: "p", v: "," }],
    [{ k: "p", v: "})" }],
  ],
};

const RESPONSE_LINES = [
  [{ k: "p", v: "{" }],
  [{ k: "p", v: "  " }, { k: "key", v: "\"suggestions\"" }, { k: "p", v: ": [" }],
  [{ k: "p", v: "    {" }],
  [{ k: "p", v: "      " }, { k: "key", v: "\"value\"" }, { k: "p", v: ": " }, { k: "acc", v: "\"г Москва, ул Тверская, д 12 стр 9\"" }, { k: "p", v: "," }],
  [{ k: "p", v: "      " }, { k: "key", v: "\"data\"" }, { k: "p", v: ": {" }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"postal_code\"" }, { k: "p", v: ": " }, { k: "str", v: "\"125009\"" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"region\"" }, { k: "p", v: ": " }, { k: "str", v: "\"Москва\"" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"street\"" }, { k: "p", v: ": " }, { k: "str", v: "\"Тверская\"" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"house\"" }, { k: "p", v: ": " }, { k: "str", v: "\"12 стр 9\"" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"fias_id\"" }, { k: "p", v: ": " }, { k: "str", v: "\"8da95206-5d3a-...\"" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"geo_lat\"" }, { k: "p", v: ": " }, { k: "num", v: "55.7616" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"geo_lon\"" }, { k: "p", v: ": " }, { k: "num", v: "37.6062" }, { k: "p", v: "," }],
  [{ k: "p", v: "        " }, { k: "key", v: "\"qc\"" }, { k: "p", v: ": " }, { k: "num", v: "0" }, { k: "p", v: "  " }, { k: "c", v: "// точность: дом" }],
  [{ k: "p", v: "      }" }],
  [{ k: "p", v: "    }" }],
  [{ k: "p", v: "  ]" }],
  [{ k: "p", v: "}" }],
];

window.__DATA = { ADDRESSES, CITIES, CALC_FEATURES, CALC_BUNDLES, FEATURE_GROUPS, CODE_LINES, RESPONSE_LINES };
