import { cond, T } from "ramda";

const get_f1_preset = (el) => {
  const r = {
    0: "Конфигурация не установлена (по умолчанию)",
  };
  return r[el] || el;
};
const sadko_2_preset = (el) => {
  const r = {
    0:    "Конфигурация, не установлена (по умолчанию)",
    1:    "Стандартная, конфигурация МРТ (МПТ/АВФ)",
    2:    "Стандартная конфигурация ЖДСМ",
    3:    "Стандартная конфигурация УК/ВПО",
    4:    "ЩОМ/РМ (Акселерометр)",
    5:    "СМ (Сибирский ПГУПС)",
    6:    "СМ (зарезервировано)",
    7:    "Эмуляция платы БКП",
    8:    "Конфигурация Блок-М",
    40:   "Эмуляторы",
    41:   "Эмуляторы (CAN1 + CAN2 (Блок-М) + ModBus",
    50:   "Стандартная конфигурация ModBus Master (опрос внешних устройств)",
    51:   "Стандартная конфигурация ModBus Master (опрос плат АС КРСПС)",
    52:   "Конфигурация трекера (электрички и т.п.)",
    53:   "Конфигурация трекер + счетчик импульсов + акселерометр",
    54:   "РадарП",
    55:   "СДРГО",
    100 : "ПМА-1М РПМ",
    101 : "ЩОМ-1400 РПМ",
    102 : "АМ-140 СКРТ РПМ",
    103 : "АС-01 РПМ",
    104 : "ТЭС ПСС-1К РПМ",
    105 : "ПСС-2П РПМ",
    200 : "РПБ-01 ВНИКТИ",
    201 : "МПК Спецлоко",
    202 : "УК 25/25 ВНИКТИ",
    203 : "СЗ-800 ВНИКТИ",
    300 : "ЩОМ-1200С ТЖДМ",
    301 : "ЩОМ-2000 ТЖДМ",
    302 : "ССГС-1 ТЖДМ",
    303 : "ВПО-С ТЖДМ",
    304 : "МПВ ТЖДМ",
    305 : "УПК ТЖДМ",
    306 : "ПРЛ-М ТЖДМ",
    307 : "РУ-700 ТЖДМ",
    308 : "МПВ Секция 2 ТЖДМ",
    1911: "Конфигурация для отладки",
    4096: "Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_4_preset = (el) => {
  const r = {
    0:	"Конфигурация не установлена (по умолчанию)",
    1:	"Стандартная конфигурация МРТ (МПТ/АВФ)",
    2:	"Стандартная конфигурация ЖДСМ",
    3:	"Стандартная конфигурация УК/ВПО",
    4:	"ЩОМ/РМ (Акселерометр)",
    5:	"СМ (Сибирский ПГУПС)",
    6:	"СМ (зарезервировано)",
    7:	"Эмуляция платы БКП",
    8:	"Конфигурация Блок-М",
    40:	"Эмуляторы (CAN1 + ОНК-160 + ModBus)",
    41:	"Эмуляторы (CAN1 + CAN2 (Блок-М) + ModBus)",
    50:	"Стандартная конфигурация ModBus Master (опрос внешних устройств)",
    51:	"Стандартная конфигурация ModBus Master (опрос плат АС КРСПС)",
    52:	"Конфигурация трекера (электрички и т.п.)",
    53:	"Конфигурация трекер + счетчик импульсов + акселерометр",
    54:	"РадарП",
    55:	"СДРГО",
    100:	"ПМА-1М РПМ",
    101:	"ЩОМ-1400 РПМ",
    102:	"АМ-140 СКРТ РПМ",
    103:	"АС-01 РПМ",
    104:	"ТЭС ПСС-1К РПМ",
    105:	"ПСС-2П РПМ",
    200:	"РПБ-01 ВНИКТИ",
    201:	"МПК Спецлоко",
    202:	"УК 25/25 ВНИКТИ",
    203:	"СЗ-800 ВНИКТИ",
    300:	"ЩОМ-1200С ТЖДМ",
    301:	"ЩОМ-2000 ТЖДМ",
    302:	"ССГС-1 ТЖДМ",
    303:	"ВПО-С ТЖДМ",
    304:	"МПВ ТЖДМ",
    305:	"УПК ТЖДМ",
    306:	"ПРЛ-М ТЖДМ",
    307:	"РУ-700 ТЖДМ",
    308:	"МПВ Секция 2 ТЖДМ",
    1911:	"Конфигурация для отладки",
    4096:	"Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_skrt_preset = (el) => {
  const r = {
    0:	"Конфигурация не установлена (по умолчанию)",
    1:	"Обработка импульсной СКРТ",
    2:	"Конфигурация ModBus Slave Base",
    4096:	"Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const uk_preset = (el) => {
  const r = {
    0: "Конфигурация не установлена (по умолчанию)",
    1: "УК AC с подключением по SPI",
    2: "УК AC с подключением по LORA",
    3: "УК DC с подключением по SPI",
    4: "УК DC с подключением по LORA",
    5: "ВПО AC/DC с подключением по SPI",
    6: "ВПО AC/DC с подключением по LORA",
    4096:	"Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_64_preset = (el) => {
  const r = {
    0: "Конфигурация не установлена (по умолчанию)",
    4096:	"Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_dig_preset = (el) => {
  const r = {
    0: "Конфигурация не установлена (по умолчанию)",
    1: "Конфигурация с эмуляторами",
    4096: "Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_69_preset = (el) => {
  const r = {
    0: "Конфигурация не установлена (по умолчанию)",
    4096:	"Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_80_preset = (el) => {
  const r = {
    0: "Плата с экраном для СМ",
    1: "Плата с экраном для ПСС",
    4096: "Настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_81_preset = (el) => {
  const r = {
    0: "Плата с ультразвуковыми датчиками (СМ и т.п.)",
    4096: "Плата с ультразвуковыми датчиками (СМ и т.п.) настраиваемая конфигурация",
  };
  return r[el] || el;
};
const sadko_82_preset = (el) => {
  const r = {
    0: "Плата с дискретными входами + LORA (СМ Tail)",
    4096: "Плата с дискретными входами + LORA (СМ Tail)  настраиваемая конфигурация",
  };
  return r[el] || el;
};

const sadko_83_preset = (el) => {
  const r = {
    0:	"Конфигурация не установлена (по умолчанию)",
    1:	"Конфигурация для МПТ",
    2:	"Конфигурация для ТЭС ПСС-1К",
    3:	"Конфигурация для СМ (СМ-2Б)",
    4:	"Конфигурация для Динамик",
    5:	"Конфигурация для УТМ-5",
    4096:	"Настраиваемая конфигурация",
  };
  return r[el] || el;
};

const presetConfig = (el, record) => {
  const { board_id: board_id } = record;
  board_id == 64 && console.log(record)


  return cond([
    [(board) => board == 1,  () => get_f1_preset(el)],
    [(board) => board == 2,  () => sadko_2_preset(el)],
    [(board) => board == 4,  () => sadko_4_preset(el)],
    [(board) => board == 16, () => sadko_skrt_preset(el)],
    [(board) => board == 19, () => uk_preset(el)],
    [(board) => board == 64, () => sadko_64_preset(el)],
    [(board) => board == 68, () => sadko_dig_preset(el)],
    [(board) => board == 69, () => sadko_69_preset(el)],
    [(board) => board == 80, () => sadko_80_preset(el)],
    [(board) => board == 81, () => sadko_81_preset(el)],
    [(board) => board == 82, () => sadko_82_preset(el)],
    [(board) => board == 83, () => sadko_83_preset(el)],
    [T, () => el],
  ])(board_id);
};

export default presetConfig
