mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 21:44:48 +00:00
CATEGORIES MIGRATED to steps[] schema: - hob: Источник нагрева → Подтип (multi, optionsBy) → Размер → Конфорки → Особенности - oven: Установка → Функции (multi) → Размер → Где ставим (cond:built_in) → Особенности - dw: Тип встройки → Класс (multi) → Ширина → Корзины → Особенности - hood: Форм-фактор → Подключение → Ширина → Цвет (cond:visible-types) → Особенности - microwave: Установка → Функции (multi) → Размер (optionsBy) → Особенности - coffee: Тип → Молоко (cond:grinder/manual) → Вода (cond:built-in/tap) → Размер (cond:built-in) → Особенности - washer: Установка → Функция → Глубина → Загрузка → Объём → Особенности NEW PODBOR.JS FEATURES: - isStepActive(step, answers) — predicate for condition field - findNextActiveIdx / findPrevActiveIdx — skip inactive steps in navigation - Auto-advance through inactive on single-select pick - Review screen filters inactive steps - isCategoryFilled checks only active single-steps - buildPerCatSummary skips inactive - Clearing dependent answers when condition's parent changes (in addition to optionsBy) NEXT: pictograms for step 1 of each category (currently text-pin layout)
682 lines
32 KiB
JavaScript
682 lines
32 KiB
JavaScript
/* ============================================================
|
||
Подбор техники — статические данные (адаптация 02_Чек-лист_клиенту.html)
|
||
============================================================ */
|
||
|
||
const PODBOR_CATEGORIES = [
|
||
{ key: "fridge", icon: "cat_fridge", label: "Холодильник" },
|
||
{ key: "hob", icon: "cat_hob", label: "Варочная панель" },
|
||
{ key: "oven", icon: "cat_oven", label: "Духовой шкаф" },
|
||
{ key: "dw", icon: "cat_dw", label: "Посудомоечная" },
|
||
{ key: "hood", icon: "cat_hood", label: "Вытяжка" },
|
||
{ key: "microwave", icon: "cat_microwave", label: "Микроволновка" },
|
||
{ key: "coffee", icon: "cat_coffee", label: "Кофемашина" },
|
||
{ key: "washer", icon: "cat_washer", label: "Стиральная машина" },
|
||
];
|
||
|
||
const PODBOR_BUDGET_TIERS = [
|
||
{ key: "premium", label: "Премиум", hint: "лучшее без оглядки на цену" },
|
||
{ key: "middle", label: "Средний", hint: "разумный баланс цена/функции" },
|
||
{ key: "budget", label: "Бюджет", hint: "только нужное" },
|
||
];
|
||
|
||
const PODBOR_INFRA = {
|
||
stove: [
|
||
{ key: "induction", label: "Индукция / 380 В" },
|
||
{ key: "el_220", label: "Электрика 220 В" },
|
||
{ key: "gas", label: "Газ" },
|
||
{ key: "any", label: "Не знаю / любой" },
|
||
],
|
||
vent: [
|
||
{ key: "yes", label: "Да — есть выводы в вентиляцию" },
|
||
{ key: "no", label: "Нет — рециркуляция с угольным фильтром" },
|
||
{ key: "unknown", label: "Не знаю — менеджер уточнит" },
|
||
],
|
||
};
|
||
|
||
const PODBOR_PRIORITIES = [
|
||
{ key: "balance", label: "Цена / качество" },
|
||
{ key: "reviews", label: "Отзывы" },
|
||
{ key: "popular", label: "Популярность бренда" },
|
||
{ key: "design", label: "Дизайн и цвет" },
|
||
{ key: "tech", label: "Технологичность" },
|
||
{ key: "service", label: "Сервис и гарантия" },
|
||
];
|
||
|
||
/* === Новая структура: бренд-стратегия / бюджет / стратегия подбора === */
|
||
|
||
const PODBOR_BRAND_STRATEGY = [
|
||
{ key: "ai", label: "Пусть AI решит", hint: "оптимально под бюджет и стратегию", recommended: true },
|
||
{ key: "single", label: "Одна марка на всю кухню", hint: "моноблочный комплект, премиум-сценарий" },
|
||
{ key: "different", label: "Разные марки по категориям", hint: "соберём оптимальный микс" },
|
||
];
|
||
|
||
/* Бренды, у которых есть полная линейка кухонной техники (для single-mode) */
|
||
const PODBOR_SINGLE_BRAND_OPTIONS = [
|
||
{ key: "miele", label: "Miele", tier: "premium" },
|
||
{ key: "gaggenau", label: "Gaggenau", tier: "premium" },
|
||
{ key: "asko", label: "Asko", tier: "premium" },
|
||
{ key: "v_zug", label: "V-ZUG", tier: "premium" },
|
||
{ key: "neff", label: "Neff", tier: "middle" },
|
||
{ key: "bosch", label: "Bosch", tier: "middle" },
|
||
{ key: "siemens", label: "Siemens", tier: "middle" },
|
||
{ key: "electrolux", label: "Electrolux", tier: "middle" },
|
||
{ key: "aeg", label: "AEG", tier: "middle" },
|
||
{ key: "samsung", label: "Samsung", tier: "middle" },
|
||
{ key: "lg", label: "LG", tier: "middle" },
|
||
{ key: "hansa", label: "Hansa", tier: "budget" },
|
||
{ key: "beko", label: "Beko", tier: "budget" },
|
||
{ key: "ai_pick", label: "Пусть AI выберет под бюджет", recommended: true },
|
||
];
|
||
|
||
const PODBOR_BUDGET_PRESETS = [
|
||
{ key: "luxe", label: "Люкс", hint: "от 1.5М ₽ за весь комплект" },
|
||
{ key: "premium", label: "Премиум", hint: "700к – 1.5М ₽" },
|
||
{ key: "middle", label: "Средний", hint: "350к – 700к ₽", recommended: true },
|
||
{ key: "budget", label: "Бюджет", hint: "до 350к ₽" },
|
||
{ key: "exact", label: "Точные цифры", hint: "ввести от-до по категориям" },
|
||
];
|
||
|
||
const PODBOR_PICK_STRATEGIES = [
|
||
{ key: "reviews", label: "Лучшее по отзывам", hint: "топ по рейтингам пользователей" },
|
||
{ key: "balance", label: "Цена / качество", hint: "оптимальный баланс", recommended: true },
|
||
{ key: "premium_brand", label: "Топ-бренды премиум", hint: "Miele · Gaggenau · Sub-Zero" },
|
||
{ key: "cheap", label: "Самое доступное", hint: "надёжный минимум" },
|
||
{ key: "tech", label: "Современные технологии", hint: "Wi-Fi · инверторы · пар" },
|
||
{ key: "style", label: "Стилевая согласованность", hint: "единый дизайн-язык всей техники" },
|
||
];
|
||
|
||
/* Параметры по категориям.
|
||
----------------------------------------------------------
|
||
Новая схема (иерархический wizard):
|
||
steps: [
|
||
{
|
||
key: "install",
|
||
title: "Тип установки",
|
||
type: "single" | "multi",
|
||
options: [ { key, label, hint, star?, pict? } ]
|
||
// ИЛИ если опции зависят от предыдущего шага:
|
||
optionsBy: { dependsOn: "<prevStepKey>", map: { <prevVal>: [options] } }
|
||
},
|
||
...
|
||
]
|
||
|
||
Старая схема (legacy, без wizard):
|
||
primary: [...], features: [...]
|
||
---------------------------------------------------------- */
|
||
const PODBOR_PARAMS = {
|
||
fridge: {
|
||
steps: [
|
||
{
|
||
key: "install",
|
||
title: "Тип установки",
|
||
type: "single",
|
||
options: [
|
||
{ key: "built_in", label: "Встроенный", hint: "под фасад", pict: "fridge_install_builtin" },
|
||
{ key: "freestanding", label: "Отдельностоящий", hint: "соло на полу", pict: "fridge_install_freestanding" },
|
||
],
|
||
},
|
||
{
|
||
key: "chamber",
|
||
title: "Тип камеры",
|
||
type: "single",
|
||
optionsBy: {
|
||
dependsOn: "install",
|
||
map: {
|
||
built_in: [
|
||
{ key: "single", label: "Однокамерный", hint: "только холод", pict: "fridge_bi_single" },
|
||
{ key: "two_chamber", label: "Двухкамерный", hint: "холод + мороз", pict: "fridge_bi_two" },
|
||
{ key: "col_cold", label: "Холодильная колонна", hint: "только холод · высокая", pict: "fridge_bi_colcold" },
|
||
{ key: "col_freeze", label: "Морозильная колонна", hint: "только мороз · высокая", pict: "fridge_bi_colfreeze" },
|
||
{ key: "col_pair", label: "Пара колонн", hint: "холод + мороз · рядом", pict: "fridge_bi_colpair" },
|
||
],
|
||
freestanding: [
|
||
{ key: "single", label: "Однокамерный", hint: "мини · бар", pict: "fridge_fs_single" },
|
||
{ key: "two_chamber", label: "Двухкамерный", hint: "морозилка снизу", pict: "fridge_fs_two" },
|
||
{ key: "sbs", label: "Side-by-Side", hint: "распашной · 2 двери", pict: "fridge_fs_sbs" },
|
||
{ key: "french", label: "French Door", hint: "2 двери · ящик мороза", pict: "fridge_fs_french" },
|
||
{ key: "freezer", label: "Морозильная камера", hint: "отдельный морозильник", pict: "fridge_fs_freezer" },
|
||
],
|
||
},
|
||
},
|
||
},
|
||
{
|
||
key: "size",
|
||
title: "Размер",
|
||
type: "single",
|
||
options: [
|
||
{ key: "narrow", label: "Узкий", hint: "W 45–55 см" },
|
||
{ key: "standard", label: "Стандарт", hint: "W 55–60 см", star: true },
|
||
{ key: "wide", label: "Широкий", hint: "W 60–75 см" },
|
||
{ key: "xl", label: "XL", hint: "W 80–100 см · SbS / French Door" },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "nofrost", label: "No Frost", hint: "не нужно размораживать" },
|
||
{ key: "inverter", label: "Inverter", hint: "тише и экономичнее" },
|
||
{ key: "freshzone", label: "Зона свежести", hint: "BioFresh / овощи дольше" },
|
||
{ key: "silent", label: "≤40 дБ", hint: "почти не слышно ночью" },
|
||
{ key: "smart", label: "Wi-Fi", hint: "управление с телефона" },
|
||
{ key: "ice", label: "Лёдогенератор", hint: "кубики автоматически" },
|
||
{ key: "wine", label: "Винная зона", hint: "" },
|
||
{ key: "dispenser", label: "Диспенсер воды", hint: "холодная вода / лёд через дверь" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
hob: {
|
||
steps: [
|
||
{
|
||
key: "heat_source",
|
||
title: "Источник нагрева",
|
||
type: "single",
|
||
options: [
|
||
{ key: "elec", label: "Электричество", hint: "индукция / Hi-Light" },
|
||
{ key: "gas", label: "Газ", hint: "открытое пламя / на стекле" },
|
||
{ key: "combi", label: "Комбинированная", hint: "газ + электро" },
|
||
],
|
||
},
|
||
{
|
||
key: "subtype",
|
||
title: "Подтип",
|
||
type: "multi",
|
||
optionsBy: {
|
||
dependsOn: "heat_source",
|
||
map: {
|
||
elec: [
|
||
{ key: "induction", label: "Индукция", hint: "магнитный нагрев посуды" },
|
||
{ key: "hilight", label: "Hi-Light", hint: "стеклокерамика · спираль" },
|
||
],
|
||
gas: [
|
||
{ key: "open", label: "Открытое пламя", hint: "металл + чугунные решётки" },
|
||
{ key: "glass", label: "Газ под стеклом", hint: "стеклокерамика + конфорки" },
|
||
],
|
||
combi: [
|
||
{ key: "induction", label: "Индукция", hint: "электро-зона" },
|
||
{ key: "hilight", label: "Hi-Light", hint: "электро-зона" },
|
||
{ key: "open", label: "Газ · открытое", hint: "газ-зона" },
|
||
{ key: "glass", label: "Газ под стеклом", hint: "газ-зона" },
|
||
],
|
||
},
|
||
},
|
||
},
|
||
{
|
||
key: "width",
|
||
title: "Размер (ширина)",
|
||
type: "single",
|
||
options: [
|
||
{ key: "30", label: "30 см", hint: "Domino · модульная" },
|
||
{ key: "45", label: "45 см", hint: "узкая" },
|
||
{ key: "60", label: "60 см", hint: "стандарт", star: true },
|
||
{ key: "75", label: "75 см", hint: "расширенная" },
|
||
{ key: "90", label: "90 см", hint: "максимальная" },
|
||
],
|
||
},
|
||
{
|
||
key: "burners",
|
||
title: "Количество конфорок",
|
||
type: "single",
|
||
options: [
|
||
{ key: "2", label: "2" },
|
||
{ key: "3", label: "3" },
|
||
{ key: "4", label: "4", star: true },
|
||
{ key: "5", label: "5" },
|
||
{ key: "6", label: "6" },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "wok", label: "Зона wok", hint: "большая зона для wok-сковороды" },
|
||
{ key: "boost", label: "Booster · форсаж", hint: "кипятит за минуту" },
|
||
{ key: "ffd", label: "Газ-контроль FFD", hint: "автоотключение при затухании" },
|
||
{ key: "slider", label: "Слайдер / сенсор", hint: "плавная регулировка" },
|
||
{ key: "flex", label: "Объединение зон Flex", hint: "под большую посуду" },
|
||
{ key: "timer", label: "Таймер на зону", hint: "" },
|
||
{ key: "h2h", label: "Hob2Hood", hint: "вытяжка следит за варочной" },
|
||
{ key: "lock", label: "Защита от детей", hint: "" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
oven: {
|
||
steps: [
|
||
{
|
||
key: "install",
|
||
title: "Тип установки",
|
||
type: "single",
|
||
options: [
|
||
{ key: "built_in", label: "Встраиваемый", hint: "под фасад ЗОВ", star: true },
|
||
{ key: "stove", label: "Плита с духовкой", hint: "отдельностоящая" },
|
||
],
|
||
},
|
||
{
|
||
key: "functions",
|
||
title: "Функции",
|
||
type: "multi",
|
||
optionsBy: {
|
||
dependsOn: "install",
|
||
map: {
|
||
built_in: [
|
||
{ key: "basic", label: "Базовая (статика)", hint: "без вентилятора" },
|
||
{ key: "convection", label: "Конвекция", hint: "равномерный жар", star: true },
|
||
{ key: "pyrolysis", label: "Пиролиз", hint: "самоочистка при 500°" },
|
||
{ key: "steam", label: "Пар", hint: "хлеб, мясо без пересушки" },
|
||
{ key: "microwave", label: "Микроволны (комби)", hint: "заменяет СВЧ" },
|
||
{ key: "grill", label: "Гриль / Турбо-гриль", hint: "корочка сверху" },
|
||
],
|
||
stove: [
|
||
{ key: "gas_oven", label: "Газовая духовка" },
|
||
{ key: "elec_oven", label: "Электро-духовка" },
|
||
{ key: "combi_stove", label: "Газ-плита + электро-духовка" },
|
||
],
|
||
},
|
||
},
|
||
},
|
||
{
|
||
key: "size",
|
||
title: "Размер",
|
||
type: "single",
|
||
optionsBy: {
|
||
dependsOn: "install",
|
||
map: {
|
||
built_in: [
|
||
{ key: "std60", label: "60 × 60 см", hint: "стандарт", star: true },
|
||
{ key: "compact", label: "60 × 45 см", hint: "компакт · в колонну" },
|
||
{ key: "wide90", label: "90 × 60 см", hint: "широкий · премиум" },
|
||
],
|
||
stove: [
|
||
{ key: "50", label: "50 см" },
|
||
{ key: "60", label: "60 см", star: true },
|
||
{ key: "85", label: "85 см" },
|
||
{ key: "90", label: "90 см" },
|
||
],
|
||
},
|
||
},
|
||
},
|
||
{
|
||
key: "location",
|
||
title: "Где ставим",
|
||
type: "single",
|
||
condition: { install: "built_in" },
|
||
options: [
|
||
{ key: "under_top", label: "Под столешницу", hint: "нижний ряд" },
|
||
{ key: "in_column", label: "В колонне", hint: "на уровне глаз", star: true },
|
||
{ key: "with_pair", label: "В пенале", hint: "+ СВЧ / кофемашина" },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "rails", label: "Телескопические направляющие" },
|
||
{ key: "wifi", label: "Wi-Fi · смарт", hint: "управление с телефона" },
|
||
{ key: "autoprogram", label: "Авто-программы", hint: "духовка сама ставит режим" },
|
||
{ key: "coldoor", label: "Холодная дверь", hint: "4 стекла · безопасно для детей" },
|
||
{ key: "probe", label: "Термощуп", hint: "до точной температуры" },
|
||
{ key: "softclose", label: "SoftClose", hint: "плавное закрытие" },
|
||
{ key: "4d", label: "4D HotAir", hint: "конвекция с 4 сторон" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
dw: {
|
||
steps: [
|
||
{
|
||
key: "install",
|
||
title: "Тип встройки",
|
||
type: "single",
|
||
options: [
|
||
{ key: "full", label: "Полновстраиваемая", hint: "фасад ЗОВ полностью", star: true },
|
||
{ key: "partial", label: "Частично встраиваемая", hint: "видна панель управления" },
|
||
{ key: "freestanding", label: "Отдельностоящая", hint: "без фасада" },
|
||
],
|
||
},
|
||
{
|
||
key: "class",
|
||
title: "Класс / энергопотребление",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "standard", label: "Стандарт" },
|
||
{ key: "aplus", label: "A+++ энергоэффективность" },
|
||
{ key: "inverter", label: "Inverter", hint: "тише и долговечнее" },
|
||
{ key: "intensive", label: "Зона интенсивной мойки", hint: "для кастрюль" },
|
||
],
|
||
},
|
||
{
|
||
key: "width",
|
||
title: "Ширина",
|
||
type: "single",
|
||
options: [
|
||
{ key: "45", label: "45 см", hint: "9–10 комплектов" },
|
||
{ key: "60", label: "60 см", hint: "13–14 комплектов", star: true },
|
||
],
|
||
},
|
||
{
|
||
key: "baskets",
|
||
title: "Корзины",
|
||
type: "single",
|
||
options: [
|
||
{ key: "two", label: "2 корзины", hint: "стандарт" },
|
||
{ key: "three", label: "3 корзины", hint: "+ зона для приборов сверху", star: true },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "wifi", label: "Wi-Fi", hint: "уведомление когда готово" },
|
||
{ key: "beam", label: "Луч на полу", hint: "статус работы" },
|
||
{ key: "autoopen", label: "Авто-открывание двери", hint: "для сушки" },
|
||
{ key: "autodose", label: "Авто-дозирование", hint: "соль / ополаскиватель" },
|
||
{ key: "glasszone", label: "Зона для бокалов", hint: "" },
|
||
{ key: "aquastop", label: "AquaStop", hint: "защита от протечек" },
|
||
{ key: "silent", label: "≤44 дБ", hint: "тихо ночью" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
hood: {
|
||
steps: [
|
||
{
|
||
key: "form_factor",
|
||
title: "Форм-фактор",
|
||
type: "single",
|
||
options: [
|
||
{ key: "built_in_drawer", label: "Встроенная · выдвижная", hint: "скрытая в шкафу, выдвигается панель", star: true },
|
||
{ key: "fully_hidden", label: "Полностью скрытая", hint: "внутри шкафа без панели" },
|
||
{ key: "dome", label: "Купольная / каминная", hint: "видимый купол над плитой" },
|
||
{ key: "inclined", label: "Наклонная", hint: "стекло под углом" },
|
||
{ key: "island", label: "Островная", hint: "с потолка над островом" },
|
||
{ key: "downdraft", label: "Downdraft", hint: "выдвижная из столешницы" },
|
||
{ key: "hob_combo", label: "Hood-in-hob", hint: "встроенная в варочную" },
|
||
],
|
||
},
|
||
{
|
||
key: "mode",
|
||
title: "Подключение",
|
||
type: "single",
|
||
options: [
|
||
{ key: "exhaust", label: "Отвод в вентшахту", star: true },
|
||
{ key: "recirc", label: "Рециркуляция", hint: "угольный фильтр" },
|
||
{ key: "combi", label: "Универсальная", hint: "оба режима" },
|
||
],
|
||
},
|
||
{
|
||
key: "width",
|
||
title: "Ширина",
|
||
type: "single",
|
||
options: [
|
||
{ key: "50", label: "50 см" },
|
||
{ key: "60", label: "60 см", star: true },
|
||
{ key: "75", label: "75 см" },
|
||
{ key: "90", label: "90 см" },
|
||
{ key: "120", label: "120 см", hint: "островная / купольная" },
|
||
],
|
||
},
|
||
{
|
||
key: "color",
|
||
title: "Цвет / материал",
|
||
type: "multi",
|
||
condition: { form_factor: ["dome", "inclined", "island"] },
|
||
options: [
|
||
{ key: "inox", label: "Нержавейка" },
|
||
{ key: "black", label: "Чёрный" },
|
||
{ key: "white", label: "Белый" },
|
||
{ key: "glass_black", label: "Стекло чёрное" },
|
||
{ key: "glass_white", label: "Стекло белое" },
|
||
{ key: "copper", label: "Медь / латунь", hint: "премиум" },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "touch", label: "Сенсорное управление" },
|
||
{ key: "led", label: "LED-подсветка", hint: "тёплая / нейтральная" },
|
||
{ key: "auto", label: "Авто-включение", hint: "по сенсору варочной" },
|
||
{ key: "silent", label: "Тихая · до 40 дБ", hint: "не оглушает за столом" },
|
||
{ key: "turbo", label: "Турбо-режим" },
|
||
{ key: "wifi", label: "Wi-Fi" },
|
||
{ key: "perimeter", label: "Периметральная", hint: "тянет с краёв" },
|
||
{ key: "hi_perf", label: "600+ м³/ч", hint: "для большой кухни / wok" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
microwave: {
|
||
steps: [
|
||
{
|
||
key: "install",
|
||
title: "Тип установки",
|
||
type: "single",
|
||
options: [
|
||
{ key: "built_in", label: "Встраиваемая", hint: "в колонну с духовкой", star: true },
|
||
{ key: "freestanding", label: "Отдельностоящая", hint: "на столешнице / полке" },
|
||
],
|
||
},
|
||
{
|
||
key: "functions",
|
||
title: "Функции",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "solo", label: "Соло", hint: "только нагрев" },
|
||
{ key: "grill", label: "Гриль", hint: "корочка сверху" },
|
||
{ key: "convection", label: "Конвекция", hint: "мини-духовка" },
|
||
{ key: "steam", label: "Пар", hint: "" },
|
||
{ key: "inverter", label: "Инвертор", hint: "плавная мощность · не пересушивает" },
|
||
],
|
||
},
|
||
{
|
||
key: "size",
|
||
title: "Размер",
|
||
type: "single",
|
||
optionsBy: {
|
||
dependsOn: "install",
|
||
map: {
|
||
built_in: [
|
||
{ key: "38h", label: "~38 см H", hint: "стандартная встройка", star: true },
|
||
{ key: "45h", label: "~45 см H", hint: "под компакт-духовку" },
|
||
],
|
||
freestanding: [
|
||
{ key: "17l", label: "17 л" },
|
||
{ key: "20l", label: "20 л", star: true },
|
||
{ key: "25l", label: "25 л" },
|
||
{ key: "32l", label: "32 л" },
|
||
],
|
||
},
|
||
},
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "wifi", label: "Wi-Fi" },
|
||
{ key: "humid", label: "Сенсор влажности / веса" },
|
||
{ key: "defrost", label: "Авто-разморозка" },
|
||
{ key: "antibact", label: "Антибактериальная эмаль" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
coffee: {
|
||
steps: [
|
||
{
|
||
key: "type",
|
||
title: "Тип кофемашины",
|
||
type: "single",
|
||
options: [
|
||
{ key: "built_in_grinder", label: "Встраиваемая зерновая", hint: "60 × 45 см · в колонну", star: true },
|
||
{ key: "free_grinder", label: "Отдельностоящая зерновая", hint: "на столешнице" },
|
||
{ key: "capsule", label: "Капсульная", hint: "Nespresso / Dolce Gusto" },
|
||
{ key: "manual", label: "Рожковая", hint: "бариста-стиль с холдером" },
|
||
{ key: "tap", label: "Кран-кофемашина", hint: "под столешницу, премиум" },
|
||
],
|
||
},
|
||
{
|
||
key: "milk",
|
||
title: "Молочная система",
|
||
type: "multi",
|
||
condition: { type: ["built_in_grinder", "free_grinder", "manual"] },
|
||
options: [
|
||
{ key: "auto", label: "Автоматический капучинатор", hint: "латте / капучино одной кнопкой" },
|
||
{ key: "manual_steam", label: "Ручной паровой кран", hint: "" },
|
||
{ key: "none", label: "Без молочной системы", hint: "только эспрессо" },
|
||
{ key: "cup_warm", label: "Подогрев чашек сверху", hint: "" },
|
||
],
|
||
},
|
||
{
|
||
key: "water",
|
||
title: "Подключение воды",
|
||
type: "single",
|
||
condition: { type: ["built_in_grinder", "tap"] },
|
||
options: [
|
||
{ key: "tank", label: "С резервуаром", hint: "без подвода воды" },
|
||
{ key: "water_line", label: "Автоподключение к водопроводу", star: true },
|
||
],
|
||
},
|
||
{
|
||
key: "size",
|
||
title: "Размер",
|
||
type: "single",
|
||
condition: { type: "built_in_grinder" },
|
||
options: [
|
||
{ key: "std", label: "60 × 45 см", hint: "стандарт", star: true },
|
||
{ key: "narrow", label: "45 × 45 см", hint: "узкая" },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "wifi", label: "Wi-Fi · профили", hint: "разные напитки для каждого" },
|
||
{ key: "touch", label: "Сенсорный экран" },
|
||
{ key: "grinder", label: "Регулировка помола" },
|
||
{ key: "autoclean", label: "Авточистка молочной системы" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
washer: {
|
||
steps: [
|
||
{
|
||
key: "install",
|
||
title: "Тип установки",
|
||
type: "single",
|
||
options: [
|
||
{ key: "built_in", label: "Встраиваемая", hint: "скрытая фасадом ЗОВ", star: true },
|
||
{ key: "under_top", label: "Под столешницу", hint: "открытая, без фасада" },
|
||
{ key: "freestanding", label: "Отдельностоящая", hint: "" },
|
||
],
|
||
},
|
||
{
|
||
key: "function",
|
||
title: "Функция",
|
||
type: "single",
|
||
options: [
|
||
{ key: "wash_only", label: "Только стирка", star: true },
|
||
{ key: "wash_dry", label: "Стирка + сушка (combo)" },
|
||
{ key: "dryer_pair", label: "Отдельная сушильная рядом", hint: "в одну колонну · ~170 см H" },
|
||
],
|
||
},
|
||
{
|
||
key: "depth",
|
||
title: "Глубина",
|
||
type: "single",
|
||
options: [
|
||
{ key: "45", label: "45 см", hint: "узкая · под модуль ЗОВ", star: true },
|
||
{ key: "60", label: "60 см", hint: "стандарт · нестандартный модуль" },
|
||
],
|
||
},
|
||
{
|
||
key: "load_type",
|
||
title: "Загрузка",
|
||
type: "single",
|
||
options: [
|
||
{ key: "front", label: "Фронтальная", star: true },
|
||
{ key: "vertical", label: "Вертикальная", hint: "только отдельностоящая" },
|
||
],
|
||
},
|
||
{
|
||
key: "load_kg",
|
||
title: "Объём загрузки",
|
||
type: "single",
|
||
options: [
|
||
{ key: "to6", label: "до 6 кг", hint: "1–2 человека" },
|
||
{ key: "6_8", label: "6–8 кг", hint: "семья 3–4", star: true },
|
||
{ key: "8_10", label: "8–10 кг", hint: "большая семья" },
|
||
{ key: "10+", label: "10+ кг", hint: "очень большие объёмы" },
|
||
],
|
||
},
|
||
{
|
||
key: "features",
|
||
title: "Особенности",
|
||
type: "multi",
|
||
options: [
|
||
{ key: "inverter", label: "Инвертор / прямой привод" },
|
||
{ key: "steam", label: "Steam · пар", hint: "освежает / убивает аллергены" },
|
||
{ key: "wifi", label: "Wi-Fi", hint: "запуск с телефона" },
|
||
{ key: "autodose", label: "Авто-дозирование" },
|
||
{ key: "silent", label: "Тихий · ≤50 дБ", hint: "ночная стирка" },
|
||
{ key: "aquastop", label: "AquaStop", hint: "защита от протечек" },
|
||
],
|
||
},
|
||
],
|
||
},
|
||
};
|
||
|
||
/* Бренды для каждой категории — для чипов с тирами.
|
||
Сокращённый набор; полный список можно расширить из исходного HTML. */
|
||
const PODBOR_BRANDS = {
|
||
fridge: {
|
||
premium: ["Liebherr", "Miele", "Sub-Zero", "V-ZUG"],
|
||
middle: ["Bosch", "Siemens", "Samsung", "LG"],
|
||
budget: ["Indesit", "Beko", "Hotpoint"],
|
||
},
|
||
hob: {
|
||
premium: ["Miele", "Gaggenau", "AEG"],
|
||
middle: ["Bosch", "Siemens", "Electrolux", "Hansa"],
|
||
budget: ["Hotpoint", "Beko", "Indesit"],
|
||
},
|
||
oven: {
|
||
premium: ["Miele", "Gaggenau", "Neff"],
|
||
middle: ["Bosch", "Siemens", "Electrolux", "AEG"],
|
||
budget: ["Hansa", "Beko", "Hotpoint"],
|
||
},
|
||
dw: {
|
||
premium: ["Miele", "Asko", "V-ZUG"],
|
||
middle: ["Bosch", "Siemens", "Electrolux"],
|
||
budget: ["Hansa", "Beko", "Indesit"],
|
||
},
|
||
hood: {
|
||
premium: ["Miele", "Falmec", "Faber"],
|
||
middle: ["Bosch", "Siemens", "Elica"],
|
||
budget: ["Hansa", "Hotpoint", "Maunfeld"],
|
||
},
|
||
microwave: {
|
||
premium: ["Miele", "Neff"],
|
||
middle: ["Bosch", "Siemens", "Samsung", "LG"],
|
||
budget: ["Whirlpool", "Hansa", "Beko"],
|
||
},
|
||
coffee: {
|
||
premium: ["Miele", "Jura", "De'Longhi PrimaDonna"],
|
||
middle: ["De'Longhi", "Saeco", "Bosch"],
|
||
budget: ["Krups", "Philips"],
|
||
},
|
||
washer: {
|
||
premium: ["Miele", "Asko", "V-ZUG"],
|
||
middle: ["Bosch", "Siemens", "Samsung", "LG"],
|
||
budget: ["Indesit", "Hotpoint", "Beko"],
|
||
},
|
||
};
|