const { useState, useEffect, useMemo, useRef } = React; /* ---------------- Telegram Mini App bridge ---------------- */ const TG = (window.Telegram && window.Telegram.WebApp) || null; // ready()/expand()/fullscreen are handled by tg-init.js on every page. const TG_LIMIT = 4096; // Telegram's hard cap on sendData // The cap is counted in UTF-8 bytes, and Cyrillic costs two per character, so // string length is not a safe proxy. function byteLen(str) { return new TextEncoder().encode(str).length; } // Manual mode carries no advisory `todo` lines to shed, so an oversized payload // goes straight to a visible error rather than being silently truncated. function sendToBot(payload) { const json = JSON.stringify(payload); const bytes = byteLen(json); if (bytes > TG_LIMIT) return { ok: false, json, bytes, sent: false }; if (TG && typeof TG.sendData === "function") { TG.sendData(json); return { ok: true, json, bytes, sent: true }; } console.log("[payload]", json); // plain browser: nothing to send to, so show it return { ok: true, json, bytes, sent: false }; } /* The bot recomputes every volume from these inputs, so this payload carries raw cabinet dimensions only — no areas, no sheet counts. Keys are kept short because a large kitchen can run to dozens of cabinets. */ function buildManualPayload(s) { const num = (v) => (v === "" || v === undefined || v === null ? 0 : Number(v)); const cab = []; ["jos", "sus", "soldat", "nestandart"].forEach((cat) => { (s.cabinetsByCat[cat] || []).forEach((c) => { const std = s.standards[cat] || {}; cab.push({ c: cat, t: c.type || "", w: num(c.width), // Blank per-cabinet dimensions fall back to the category standard. h: num(c.height !== "" ? c.height : std.height), d: num(c.depth !== "" ? c.depth : std.depth), dr: num(c.drawers), pw: num(c.panelWidth), }); }); }); const blatOf = (b) => ({ type: b.type || "", brand: b.brand || "", code: b.code || "", size: b.useBase ? num(s.baseWidthSum) : num(b.size), }); /* corp, fatade and blat are lists of models. The first one never has a quantity: it is the rest of what the cabinets need. An extra model carries qty only when the manager typed a positive number; without it the bot flags the model as «объём не указан». */ const withQty = (out, m, i, unit) => { if (i > 0 && m.qty !== "" && m.qty !== undefined && m.qty !== null && Number(m.qty) > 0) { out.qty = Number(m.qty); out.unit = unit; } return out; }; const corpModels = s.corpModels || []; const fatadeModels = s.fatadeModels || []; const blatModels = (s.blat && s.blat.blat) || []; const svcStd = { montare: 300, livrare: "", proiectare: 2000, tehnolog: 90, transport: "" }; const svc = {}; Object.keys(svcStd).forEach((k) => { const v = s.services[k]; if (v !== "" && v !== undefined && v !== null) { svc[k] = Number(v); return; } const std = s.servicesPrice[k]; const fallback = std === undefined || std === null ? svcStd[k] : std; svc[k] = fallback === "" || fallback === undefined || fallback === null ? "" : Number(fallback); }); return { v: 1, mode: "manual", mat: { corp: corpModels.map((m, i) => withQty( { brand: m.brand || "", code: m.value || "" }, m, i, "m2")), fatade: fatadeModels.map((m, i) => withQty({ type: m.fatadeType || "", brand: m.palBrand || "", code: m.agtArticle || m.palArticle || m.value || "", }, m, i, "m2")), blat: blatModels.map((m, i) => withQty(blatOf(m), m, i, "mp")), contrablat: blatOf((s.blat && s.blat.contrablat) || {}), feronerie: s.feronerie || "", }, cab: cab, svc: svc, led: !!s.led, tipMobila: s.tipMobila || "", info: s.infoAditionale || "", }; } /* ---------------- i18n ---------------- */ const T = { ro: { title: "Configurator Ofertă", subtitle: "Introduceți datele comenzii pentru a genera oferta.", calculate: "Calculează", standardDims: "Dimensiuni Standard", dulapJos: "Dulap Jos", dulapSus: "Dulap Sus", soldat: "Soldat", height: "Înălțime (mm)", depth: "Adâncime (mm)", width: "Lățime (mm)", numarDulapuri: "Număr dulapuri", numarJos: "Număr dulapuri jos", numarSus: "Număr dulapuri sus", numarSoldati: "Număr soldați", numarNestandart: "Număr dulapuri nestandart", nestandart: "Nestandart", cabinet: "Dulap", chooseCategory: "Alege categoria…", chooseType: "Alege tipul…", specialDetails: "Detalii speciale / nestandard (Opțional)", specialPlaceholder: "Ex: decupaj pentru țeavă, spațiu pentru hotă, modificare plintă…", nrSertare: "Număr sertare", panelWidth: "Lățimea panoului", emptyHint: "Setați numărul de dulapuri pentru a începe.", lockHint: "Blochează / deblochează", materialCorpuri: "Material corpuri", chooseCorpuriBrand: "Alege brandul", materialFatade: "Material fațade", materialPlaceholder: "Cod sau denumire (ex: U999 ST9, Egger H3303…)", feronerie: "Feronerie", chooseBrand: "Alege brand-ul…", services: "Preț servicii adiționale", montare: "Montare", livrare: "Livrare", proiectare: "Proiectare", tehnolog: "Tehnolog", transport: "Transport", blat: "Blat + Contrablat", blatLbl: "Blat", contrablatLbl: "Contrablat", type: "Tip", size: "Mărime (mm)", chooseBlatType: "Alege tipul de blat…", blatCode: "Cod / denumire", blatCodePlaceholder: "Cod sau denumire (ex: F501 ST10, K001…)", brand: "Brand", chooseBrand: "Alege brandul…", chooseArticle: "Alege articolul…", selectArticle: "Selectează articolul", searchArticle: "Caută după cod sau denumire…", cancel: "Anulează", noResults: "Nu s-a găsit niciun articol", useBaseWidth: "Lățimea dulapurilor de jos", addModel: "Adaugă model", removeModel: "Șterge modelul", modelN: "Model", qtyRest: "Cantitate", qtyRestHint: "obligatoriu", unitMp: "m.l.", autoFromBase: "Mărime preluată automat din suma lățimilor dulapurilor de jos", led: "LED", ledHint: "Iluminare LED inclusă", tipMobila: "Tip mobilă", chooseTipMobila: "Alege tipul…", chooseFatadeType: "Alege tipul…", infoAditionale: "Informații adiționale", infoPlaceholder: "Note generale despre comandă, cerințe speciale ale clientului, deadline-uri…", payloadTitle: "Date pentru bot", payloadHint: "Telegram nu este disponibil — datele sunt afișate mai jos.", tooBig: "Datele depășesc limita Telegram", tooBigHint: "Reduceți numărul de dulapuri sau textul din „Informații adiționale\".", }, en: { title: "Offer Configurator", subtitle: "Enter the order details to generate the offer.", calculate: "Calculate", standardDims: "Standard Dimensions", dulapJos: "Base Cabinet", dulapSus: "Wall Cabinet", soldat: "Tall Cabinet", height: "Height (mm)", depth: "Depth (mm)", width: "Width (mm)", numarDulapuri: "Number of cabinets", numarJos: "Base cabinets count", numarSus: "Wall cabinets count", numarSoldati: "Tall cabinets count", numarNestandart: "Custom cabinets count", nestandart: "Custom", cabinet: "Cabinet", chooseCategory: "Choose category…", chooseType: "Choose type…", specialDetails: "Special / non-standard details (Optional)", specialPlaceholder: "Ex: pipe cutout, hood space, plinth modification…", nrSertare: "Number of drawers", panelWidth: "Panel width", emptyHint: "Set the number of cabinets to begin.", lockHint: "Lock / unlock", materialCorpuri: "Carcass material", chooseCorpuriBrand: "Choose brand", materialFatade: "Front material", materialPlaceholder: "Code or name (e.g. U999 ST9, Egger H3303…)", feronerie: "Hardware", chooseBrand: "Choose brand…", services: "Additional services pricing", montare: "Assembly", livrare: "Delivery", proiectare: "Design", tehnolog: "Technologist", transport: "Transport", blat: "Countertop + Backsplash", blatLbl: "Countertop", contrablatLbl: "Backsplash", type: "Type", size: "Size (mm)", chooseBlatType: "Choose countertop type…", blatCode: "Code / name", blatCodePlaceholder: "Code or name (e.g. F501 ST10, K001…)", brand: "Brand", chooseBrand: "Choose brand…", chooseArticle: "Choose article…", selectArticle: "Select article", searchArticle: "Search by code or name…", cancel: "Cancel", noResults: "No articles found", useBaseWidth: "Base cabinets width", addModel: "Add model", removeModel: "Remove model", modelN: "Model", qtyRest: "Quantity", qtyRestHint: "required", unitMp: "lin. m", autoFromBase: "Size auto-filled from sum of base cabinet widths", led: "LED", ledHint: "LED lighting included", tipMobila: "Furniture style", chooseTipMobila: "Choose style…", chooseFatadeType: "Choose type…", infoAditionale: "Additional information", infoPlaceholder: "General notes about the order, special client requirements, deadlines…", payloadTitle: "Bot payload", payloadHint: "Telegram is unavailable — the data is shown below.", tooBig: "Data exceeds the Telegram limit", tooBigHint: "Reduce the number of cabinets or the “Additional information” text.", }, ru: { title: "Конфигуратор Предложения", subtitle: "Введите данные заказа для генерации предложения.", calculate: "Рассчитать", standardDims: "Стандартные размеры", dulapJos: "Нижний шкаф", dulapSus: "Верхний шкаф", soldat: "Высокий шкаф", height: "Высота (мм)", depth: "Глубина (мм)", width: "Ширина (мм)", numarDulapuri: "Количество шкафов", numarJos: "Кол. нижних шкафов", numarSus: "Кол. верхних шкафов", numarSoldati: "Кол. высоких шкафов", numarNestandart: "Кол. нестандартных шкафов", nestandart: "Нестандарт", cabinet: "Шкаф", chooseCategory: "Выберите категорию…", chooseType: "Выберите тип…", specialDetails: "Особые / нестандартные детали (необязательно)", specialPlaceholder: "Напр.: вырез под трубу, место для вытяжки, изменение цоколя…", nrSertare: "Количество ящиков", panelWidth: "Ширина панели", emptyHint: "Укажите количество шкафов, чтобы начать.", lockHint: "Заблокировать / разблокировать", materialCorpuri: "Материал корпусов", chooseCorpuriBrand: "Выберите бренд", materialFatade: "Материал фасадов", materialPlaceholder: "Код или название (напр.: U999 ST9, Egger H3303…)", feronerie: "Фурнитура", chooseBrand: "Выберите бренд…", services: "Цены доп. услуг", montare: "Монтаж", livrare: "Доставка", proiectare: "Проектирование", tehnolog: "Технолог", transport: "Транспорт", blat: "Столешница + Стеновая панель", blatLbl: "Столешница", contrablatLbl: "Стеновая панель", type: "Тип", size: "Размер (мм)", chooseBlatType: "Выберите тип столешницы…", blatCode: "Код / название", blatCodePlaceholder: "Код или название (напр.: F501 ST10, K001…)", brand: "Бренд", chooseBrand: "Выберите бренд…", chooseArticle: "Выберите артикул…", selectArticle: "Выберите артикул", searchArticle: "Поиск по коду или названию…", cancel: "Отмена", noResults: "Артикулы не найдены", useBaseWidth: "Ширина нижних шкафов", addModel: "Добавить модель", removeModel: "Удалить модель", modelN: "Модель", qtyRest: "Количество", qtyRestHint: "обязательно", unitMp: "м.п.", autoFromBase: "Размер берётся автоматически из суммы ширин нижних шкафов", led: "LED", ledHint: "LED-подсветка включена", tipMobila: "Тип мебели", chooseTipMobila: "Выберите тип…", chooseFatadeType: "Выберите тип…", infoAditionale: "Дополнительная информация", infoPlaceholder: "Общие заметки о заказе, особые требования клиента, сроки…", payloadTitle: "Данные для бота", payloadHint: "Telegram недоступен — данные показаны ниже.", tooBig: "Данные превышают лимит Telegram", tooBigHint: "Уменьшите количество шкафов или текст в «Дополнительной информации».", }, }; /* ---------------- Cabinet types per category ---------------- */ const TYPES_BY_CATEGORY = { jos: ["D", "DD", "DZ", "D sertar", "Dx", "D Cargo", "DNF"], sus: ["G", "GL", "GNF"], soldat: ["SL", "SLD", "SLDx", "SLX"], nestandart: ["D", "DD", "DZ", "G", "GL", "SL"], }; const FERONERIE_BRANDS = ["Blum", "Hettich", "DTC"]; const CORPURI_BRANDS = ["Egger", "Kronospan", "Cleaf"]; const FATADE_TYPES = ["AGT", "PAL", "Vopsite mat", "Vopsite gloss", "Vopsite mat cu freza"]; const BLAT_TYPES = ["Standart 38mm", "HPL"]; const TIP_MOBILA = ["Gola", "Mânere", "Frezat"]; const HPL_BRANDS = ["India Crown", "Fundermax"]; const STANDARD_BRANDS = ["Kronospan", "Egger"]; const FUNDERMAX_CATALOG = [ { code: "0406 NW/NN", name: "0406 NW/NN", price: 3025 }, { code: "B421 NW/NN", name: "B421 NW/NN", price: 3025 }, { code: "0497 NT", name: "0497 NT", price: 3025 }, { code: "0027 NN", name: "0027 NN", price: 3025 }, { code: "B428 NN", name: "B428 NN", price: 3025 }, { code: "B793 NN", name: "B793 NN", price: 3025 }, { code: "Y102 AS", name: "Y102 AS", price: 3900 }, { code: "Y112 AA", name: "Y112 AA", price: 6688 }, { code: "0989 SX", name: "0989 SX", price: 4985 }, { code: "0970 AP", name: "0970 AP", price: 3579 }, { code: "0585 FH", name: "0585 FH", price: 2068 }, { code: "0670 FH", name: "0670 FH", price: 2068 }, { code: "0836 FH", name: "0836 FH", price: 2068 }, { code: "4024 FH", name: "4024 FH", price: 2068 }, { code: "0958 FH", name: "0958 FH", price: 2068 }, { code: "4061 FH", name: "4061 FH", price: 2068 }, { code: "0834 FH (negru)", name: "0834 FH (negru)", price: 2068 }, { code: "0834 FH (alb)", name: "0834 FH (alb)", price: 4033 }, { code: "0074 FH", name: "0074 FH", price: 1920 }, { code: "0851 FH", name: "0851 FH", price: 1920 }, { code: "0331 FH", name: "0331 FH", price: 2068 }, { code: "0877 FH", name: "0877 FH", price: 2068 }, { code: "0080 SX", name: "0080 SX", price: 2485 }, { code: "0085 IP/SX", name: "0085 IP/SX", price: 2485 }, { code: "0085 FH (alb)", name: "0085 FH (alb)", price: 3917 }, { code: "0048 FH", name: "0048 FH", price: 2068 }, { code: "0755 IP/SX", name: "0755 IP/SX", price: 2485 }, { code: "0599 FH", name: "0599 FH", price: 2068 }, { code: "0581 FH", name: "0581 FH", price: 2068 }, { code: "0874 FH", name: "0874 FH", price: 729 }, { code: "0551 FH", name: "0551 FH", price: 929 }, { code: "0427 NN", name: "0427 NN", price: 2149 }, { code: "B794 NT", name: "B794 NT", price: 2139 }, { code: "0426 NW/NN", name: "0426 NW/NN", price: 2179 }, { code: "0179 FH", name: "0179 FH", price: 1428 }, ]; const INDIA_CROWN_CATALOG = [ { name: "CONCRERE OAK", code: "RC426/RC426", price: 1190 }, { name: "ABBEY ROAD", code: "RC683/RC683", price: 1190 }, { name: "NOCE VERSAILLIES", code: "RC905/RC905", price: 1190 }, { name: "MOLDAU ACACIA", code: "RC906/RC906", price: 1190 }, { name: "TEXSTONE", code: "RC925/RC925", price: 1190 }, { name: "BLACK", code: "RC11/RC11", price: 1250 }, { name: "VENETO", code: "RC461/RC461", price: 1350 }, { name: "NEW ARTIC WHITE (BLACK)", code: "RC601/RC601", price: 1250 }, { name: "NEW ARTIC WHITE (WHITE)", code: "RC601/RC601", price: 2500 }, { name: "BROOKLYN", code: "RC637/RC637", price: 1380 }, { name: "CANYON MONUMENT OAK", code: "RC642/RC642", price: 1350 }, { name: "GREYSTONE", code: "RC661/RC661", price: 1350 }, { name: "GREY CASPIO", code: "RC671/RC671", price: 1350 }, { name: "GREY CASPIO", code: "RC672/RC672", price: 1380 }, { name: "MANDU SLATE", code: "RC687/RC687", price: 1380 }, { name: "BEIGE", code: "RC871/RC871", price: 1250 }, { name: "GREY", code: "RC885/RC885", price: 1350 }, { name: "NOCE VERSAILLIES", code: "RC912/RC912", price: 1350 }, { name: "SONAMA OAK", code: "RC914/RC914", price: 1350 }, { name: "MANHATTAN", code: "RC919/RC919", price: 1350 }, { name: "MARBLE (BLACK)", code: "RC921/RC921", price: 1350 }, { name: "MARBLE (WHITE)", code: "RC921/RC921", price: 2650 }, { name: "VENICE", code: "RC926/RC926", price: 1350 }, { name: "GREY CASPIO", code: "RC927/RC927", price: 1380 }, { name: "YOKSHIRE CHESTNUT", code: "RC935/RC935", price: 1350 }, ]; const EGGER_CATALOG = [{"name":"Blat alb","code":"W1000 ST76","price":552},{"name":"Blat alb","code":"W1000 ST76","price":947},{"name":"Blat negru (300/3)","code":"U999 ST89","price":552},{"name":"Blat negru (300/3)","code":"U999 ST89","price":947},{"name":"Blat Triestino gri","code":"F021 ST75","price":552},{"name":"Blat Granit Cascia gri deschis","code":"F031 ST78","price":552},{"name":"Blat Granit Cascia gri","code":"F032 ST78","price":552},{"name":"Blat Travertin Calais","code":"F052 ST75","price":552},{"name":"Blat Marmura Cipollino gri","code":"F093 ST7","price":495},{"name":"Blat Marmura Cipollino gri","code":"F093 ST7","price":849},{"name":"Blat Marmura Siena gri","code":"F095 ST87","price":552},{"name":"Blat Marmura San Luca","code":"F108 ST9","price":552},{"name":"Blat Piatra Metal antracit","code":"F121 ST87","price":552},{"name":"Blat Granit Ambiance negru","code":"F128 PA","price":1267},{"name":"Blat Granit Ambiance bej","code":"F129 PA","price":1267},{"name":"Blat Beton Chicago gri deschis","code":"F186 ST9","price":552},{"name":"Blat Beton Chicago gri deschis","code":"F186 ST9","price":947},{"name":"Blat Beton Chicago gri inchis","code":"F187 ST9","price":552},{"name":"Blat Marmura Ambiance negru","code":"F199 PA","price":1267},{"name":"Blat Piatra Pietra Grigia antracit","code":"F205 ST9","price":552},{"name":"Blat Piatra Pietra Grigia negru","code":"F206 ST9","price":552},{"name":"Blat Piatra Pietra Grigia negru","code":"F206 ST9","price":947},{"name":"Blat Pietra Fanano gri","code":"F208 ST75","price":552},{"name":"Blat Titanit bej nisip","code":"F226 ST78","price":552},{"name":"Blat Titanit antracit","code":"F228 ST78","price":552},{"name":"Blat Marmura Cremona","code":"F229 ST75","price":552},{"name":"Blat Marmura Cremona","code":"F229 ST75","price":947},{"name":"Blat Pietra Fanano gri deschis","code":"F230 ST75","price":552},{"name":"Blat Ardezie Scivaro gri deschis","code":"F234 ST76","price":552},{"name":"Blat Ardezie Scivaro","code":"F235 ST76","price":552},{"name":"Blat Ardezie Cupria","code":"F237 ST76","price":552},{"name":"Blat Marmura Candela gri deschis","code":"F243 ST76","price":552},{"name":"Blat Otel gri antracit","code":"F620 ST87","price":552},{"name":"Blat Chromix argintiu","code":"F638 ST10","price":552},{"name":"Blat Piatra Calcit bej nisip","code":"F661 ST76","price":715},{"name":"Blat Piatra Calcit gri pietris","code":"F662 ST76","price":715},{"name":"Blat Piatra Calvia gri deschis","code":"F675 ST75","price":552},{"name":"Blat Piatra Calvia gri nisip","code":"F676 ST75","price":552},{"name":"Blat Piatra Calvia gri nisip","code":"F676 ST75","price":947},{"name":"Blat Marmura Crystal","code":"F800 ST9","price":552},{"name":"Blat Marmura Crystal","code":"F800 ST9","price":947},{"name":"Blat Marmura Formello alb","code":"F836 ST76","price":715},{"name":"Blat Stejar Bardolino","code":"H1145 ST10","price":495},{"name":"Blat Stejar Bardolino","code":"H1145 ST10","price":770},{"name":"Blat Stejar Halifax natur (100/1.5)","code":"H1180","price":1267},{"name":"Blat Stejar salbatic natur","code":"H1318 ST10","price":552},{"name":"Blat Stejar Spree gri bej","code":"H1357 ST10","price":419},{"name":"Blat Stejar Casella natur","code":"H1385 ST40","price":1267},{"name":"Blat Stejar Casella maro","code":"H1386 ST40","price":1267},{"name":"Blat Stejar Hunton deschis","code":"H2032 ST10","price":552},{"name":"Blat Stejar Hunton inchis","code":"H2033 ST10","price":552},{"name":"Blat Stejar Tonsberg natur","code":"H305 ST12","price":439},{"name":"Blat Stejar Davos trufa","code":"H3133 ST12","price":552},{"name":"Blat Stejar Vicenza","code":"H3157 ST12","price":552},{"name":"Blat Stejar Hamilton natur","code":"H3303 ST10","price":552},{"name":"Blat Stejar Nebraska natur","code":"H3331 ST10","price":552},{"name":"Blat Stejar Nebraska natur","code":"H3331 ST10","price":947},{"name":"Blat Hickory natur","code":"H3730 ST10","price":947},{"name":"Blat Hickory natur","code":"H3730 ST10","price":552}]; const KRONOSPAN_CATALOG = [{"name":"Venato","code":"K023 SQ","price":497},{"name":"Venato","code":"K023 SU","price":460},{"name":"Marmura Terrazzo Deschis","code":"K095 SU","price":460},{"name":"Beton Gri Inchis","code":"K201 RS","price":460},{"name":"Granit Clasic","code":"K204 PE","price":460},{"name":"Beton Negru","code":"K205 RS","price":460},{"name":"Galaxy Gri","code":"K207 RS","price":460},{"name":"Calcar Crem (600mm)","code":"K209 RS","price":460},{"name":"Calcar Crem (900mm)","code":"K209 RS","price":676},{"name":"Fint Negru","code":"K210 PE","price":460},{"name":"Marmura Regala Alba","code":"K212 PA","price":460},{"name":"Rouge Stone","code":"K214 RS","price":460},{"name":"Dune Alb","code":"K215 BS","price":460},{"name":"Piatra de Matase","code":"K349 RT","price":460},{"name":"Beton de Piatra","code":"K350 RT","price":460},{"name":"Piatra de Carbune","code":"K353 RT","price":460},{"name":"Navona Crem","code":"K367 PH","price":460},{"name":"Marmura Gri Atlantic","code":"K368 PH","price":460},{"name":"Nebuloasa Nebiula","code":"K369 PH","price":460},{"name":"Arosa Deschisa","code":"K538 PN","price":460},{"name":"Arosa Imietrita","code":"K539 PN","price":460},{"name":"Albus Gri","code":"K540 PN","price":460},{"name":"Calacatta Olimpus (600mm)","code":"K551 SU","price":460},{"name":"Calacatta Olimpus (900mm)","code":"K551 SU","price":676},{"name":"Marmura Alba Iceberg","code":"K552 SU","price":460},{"name":"Galaxus","code":"K553 SU","price":460},{"name":"Nero Bronzo","code":"K698 PN","price":460},{"name":"Catalatta Ambrosio","code":"K699 PN","price":460},{"name":"Portobello Elegante","code":"K703 PN","price":460},{"name":"Perlino Sabbia","code":"K704 PN","price":460},{"name":"Stonehaven Sand","code":"K705 PN","price":460},{"name":"Atelie Deschis","code":"4298 UE","price":460},{"name":"Atelie Inchis","code":"4299 UE","price":460},{"name":"Satin","code":"7045 RS","price":460},{"name":"Zapada Alba","code":"8685 RS","price":460},{"name":"Stejar Craft Gri","code":"K002 FP","price":460},{"name":"Stejar Auriu (600mm)","code":"K003 FP","price":460},{"name":"Stejar Auriu (900mm)","code":"K003 FP","price":676},{"name":"Stejar Barocco Gold","code":"K535 RW","price":460},{"name":"Stejar Silverjack Nuc","code":"K544 RW","price":460},{"name":"Stejar Silverjack Vintaje","code":"K545 RW","price":460},{"name":"Oak Cremona Torro","code":"2738 FP","price":460},{"name":"Light Vintage Oak","code":"3025 FP","price":460},{"name":"Stejar De Piatra (600mm)","code":"5527 FP","price":460},{"name":"Stejar De Piatra (900mm)","code":"5527 FP","price":676}]; const AGT_CATALOG = [{"name":"Matt Stone Grey","code":"390","price":269},{"name":"Matt Cashmere Grey","code":"387","price":319},{"name":"Matt Toledo ligh wood","code":"388","price":319},{"name":"Soft Touch Siena Wood","code":"737","price":319},{"name":"3P Slate Coffe","code":"3058","price":786},{"name":"Matt Picasso Gold","code":"395/3090","price":511},{"name":"Matt Spectrum Dark","code":"6024/3087","price":511},{"name":"Matt Spectrum Blue","code":"6025/3087","price":511},{"name":"Soft Touch Siena Wood","code":"737/3090","price":446},{"name":"HG Ephesus White","code":"6007/3082","price":406},{"name":"3P Timber Light","code":"3061/3083","price":533},{"name":"3P Timber Gri","code":"3071/3088","price":533},{"name":"HG Super White","code":"601/3082","price":348},{"name":"Matt Stone Grey","code":"390/3086","price":348},{"name":"Matt Stone Beige","code":"391/3084","price":348},{"name":"Matt Teksas Oak","code":"3037/3082","price":348},{"name":"Matt Delphi Oak","code":"3039/3090","price":348},{"name":"Matt Peru Oak","code":"3041/3090","price":348},{"name":"HG Super Cream","code":"605/3083","price":348},{"name":"HG Vison","code":"623/3090","price":348},{"name":"HG Bianco","code":"647/3083","price":348},{"name":"HG NEW Black","code":"6002/3089","price":348},{"name":"HG Deluxe Grey","code":"6008/3084","price":348},{"name":"HG Cool Grey","code":"6017/3088","price":348},{"name":"HG Crome Grey","code":"6021/3087","price":348},{"name":"HG Antracite","code":"6022/3088","price":348},{"name":"Soft Touch Black","code":"723/3089","price":392},{"name":"Soft Touch Storm Grey","code":"726/3088","price":348},{"name":"Soft Touch Stone grey","code":"728/3087","price":348},{"name":"Soft Touch New Grey","code":"729/3085","price":348},{"name":"Soft Touch Cream","code":"730/3083","price":348},{"name":"Soft touch Vision","code":"732/3090","price":348},{"name":"Matt Soft Touch White","code":"734","price":348},{"name":"Soft Touch White","code":"734/3082","price":348},{"name":"Soft touch Relax Green","code":"735/3082","price":348},{"name":"Soft Touch Beige Grey","code":"740/3085","price":348},{"name":"HG NEW Vison","code":"878/3090","price":348},{"name":"SM Light Cream","code":"398/3083","price":406},{"name":"SM Studio Grey","code":"399/3087","price":406},{"name":"SM Light Grey","code":"3001/3086","price":406},{"name":"HG Light Grey","code":"6013/3086","price":406},{"name":"HG Diamond Grey","code":"6015/3090","price":406},{"name":"HG Onyx Grey","code":"6016/3086","price":406},{"name":"HG Toros White Marble","code":"6018/3082","price":406},{"name":"HG Trend Grey","code":"6020/3086","price":406},{"name":"Matt Cashmere White","code":"383/3082","price":446},{"name":"Matt Cashmere Gold","code":"384/3088","price":446},{"name":"Matt Cashmere Cream","code":"385/3083","price":446},{"name":"Matt Cashmere Grey","code":"387/3087","price":446},{"name":"Matt Toledo ligh wood","code":"388/3090","price":446},{"name":"Matt Picasso Inox","code":"394/3087","price":536},{"name":"Matt Natural Touch Oak","code":"397/3090","price":446},{"name":"HG Metalic White","code":"699/3083","price":536},{"name":"SM Galaxy White","code":"3006/3082","price":446},{"name":"Matt Stone Loft","code":"3032/3087","price":446},{"name":"HG Metalic Antracite","code":"608/3088","price":446},{"name":"HG Galaxy White","code":"670/3082","price":446},{"name":"SM Galaxy Cream","code":"678/3083","price":446},{"name":"Matt Stone Vision","code":"3098/3082","price":562},{"name":"Matt Spectrum Rose","code":"6026/3090","price":536},{"name":"SM Pearl Black","code":"3010","price":587},{"name":"SM London Blues","code":"3011","price":587},{"name":"SM Brezee Beige","code":"3013","price":587},{"name":"SM Cloudy Grey","code":"3014","price":587},{"name":"SM Macaron Green","code":"3015","price":587},{"name":"SM Timeless Grey","code":"3017","price":587},{"name":"SM Moonlight","code":"3018","price":587},{"name":"SM Sahara Cream","code":"3019","price":587},{"name":"SM Safari Grey","code":"3020","price":587},{"name":"SM Ice Grey","code":"3021","price":587},{"name":"SM Royal Grey","code":"3022","price":587},{"name":"SM Dolphin Grey","code":"3023","price":587},{"name":"SM Pebble Grey","code":"3024","price":587},{"name":"SM Bitter","code":"3025","price":587},{"name":"SM Rustic Red","code":"3026","price":587},{"name":"SM Forest green","code":"3027","price":587},{"name":"SM Pearl White","code":"3028","price":587},{"name":"Mat Glamorous Pasific","code":"3029","price":587},{"name":"SM Sky Blue","code":"3091","price":587},{"name":"SM Tobac","code":"3092","price":587},{"name":"SM Linden","code":"3093","price":587},{"name":"SM Sonara","code":"3094","price":587},{"name":"SM Victoria Grey","code":"3095","price":587},{"name":"SM Havana Coffe","code":"3096","price":587},{"name":"SM Olive Green","code":"3097","price":587},{"name":"3P Night Black","code":"3047","price":671},{"name":"3P Elite Crey","code":"3048","price":671},{"name":"3P Deep Blue","code":"3049","price":671},{"name":"3P Leaf Green","code":"3050","price":671},{"name":"3P Caretta Green","code":"3051","price":671},{"name":"3P Comfort Grey","code":"3052","price":671},{"name":"3P Vintage Beige","code":"3053","price":671},{"name":"3P Latte Cream","code":"3054","price":671},{"name":"3P Polar White","code":"3055","price":671}]; const KRONOSPAN_PAL_CATALOG = [{"name":"Nuc Guarneri","code":"9455 PR","price":122},{"name":"Brut","code":"18mm","price":115},{"name":"Alb Textura","code":"0101 PR","price":163},{"name":"Alb Piele","code":"0110 PE","price":161},{"name":"Alb Corp","code":"0110 SM","price":161},{"name":"Gri Deschis","code":"0112 PE","price":165},{"name":"Grafit Gri","code":"0162 PE","price":165},{"name":"Antracit","code":"0164 PE","price":159},{"name":"Basalt","code":"0166 BS","price":160},{"name":"Negru","code":"0190 PE","price":159},{"name":"Gri Rece","code":"0191 SU","price":165},{"name":"SINSILA GRI","code":"0197 SU","price":160},{"name":"Cappuccino","code":"0301 SU","price":229},{"name":"Fildes","code":"0514 PE","price":165},{"name":"Migdalie","code":"0564 PE","price":165},{"name":"Gri Otel","code":"1700 PE","price":165},{"name":"Cachmere","code":"5981 PD","price":160},{"name":"Cobalt Sur","code":"6299 BS","price":229},{"name":"Sampanie","code":"7045 SU","price":165},{"name":"Alb Perla","code":"8100 SM","price":165},{"name":"Diamant de Zapada","code":"8681 PE","price":161},{"name":"Alb Diamant","code":"8681 SM","price":161},{"name":"Alb","code":"8685 PD","price":159},{"name":"Lutos Gri","code":"K096 SU","price":229},{"name":"Mouse Gri","code":"K519 SU","price":159},{"name":"Green Smoky","code":"K521 SU","price":229},{"name":"Macadamia","code":"K681 PD","price":229},{"name":"Black Truffle","code":"K684 PD","price":229},{"name":"Steel Blue","code":"K685 PD","price":229},{"name":"Powder Pink","code":"K686 PD","price":229},{"name":"Dark Forest","code":"K687 PD","price":229},{"name":"Atelie Deschis","code":"4298 SU","price":219},{"name":"Piatra de Matase","code":"K349 RT","price":249},{"name":"Beton de Piatra","code":"K350 RT","price":249},{"name":"Piatra de Carbune","code":"K353 RT","price":249},{"name":"Artar","code":"0375 BS","price":160},{"name":"Fag Bavaria","code":"0381 BS","price":160},{"name":"Nuc","code":"0729 BS","price":160},{"name":"Mesteacan","code":"1715 BS","price":160},{"name":"Alder","code":"1912 BS","price":160},{"name":"Wenge Magic","code":"2226 PR","price":165},{"name":"Stejar Cotta Cremona","code":"2737 PW","price":155},{"name":"Stejar Torro Cremona","code":"2738 PW","price":159},{"name":"Stejar Cannolo Cremona","code":"2739 PW","price":159},{"name":"Stejar Sonoma","code":"3025 SN","price":161},{"name":"Stejar Sonoma de Trufa","code":"5194 SN","price":165},{"name":"Stejar Slavonia","code":"5501 SN","price":205},{"name":"Stejar de Piatra","code":"5527 SN","price":219},{"name":"Stejar Negano","code":"8431 SN","price":197},{"name":"Stejar Laptos","code":"8622 PR","price":165},{"name":"Stejar Ferrara","code":"8921 BS","price":160},{"name":"Nuc Tiepolo","code":"8953 SU","price":160},{"name":"Stejar Craft Alb","code":"K001 PW","price":210},{"name":"Stejar Craft Aur","code":"K003 PW","price":163},{"name":"Stejar Craft Tutun","code":"K004 PW","price":197},{"name":"Stejar Urban Oister","code":"K005 PW","price":210},{"name":"Nuc Select Intunecat","code":"K009 PW","price":210},{"name":"Pin Alb","code":"K010 SN","price":210},{"name":"Elm Liberty Gri","code":"K019 PW","price":210},{"name":"Blackwood Orz","code":"K021 SN","price":205},{"name":"Blackwood Satin","code":"K022 SN","price":205},{"name":"Stejar Clubhouse Gri","code":"K079 PW","price":197},{"name":"Stejar Litoral Alb","code":"K080 PW","price":210},{"name":"Stejar Litoral Satin","code":"K081 PW","price":210},{"name":"Artwood Deschis","code":"K083 SN","price":219},{"name":"Hickory Rockfor Deschis","code":"K085 PW","price":219},{"name":"Hickory Rockfor Natur","code":"K086 PW","price":219},{"name":"Hickory Rockfor Inchis","code":"K087 PW","price":219},{"name":"Lemn Scandinav Alb","code":"K088 PW","price":210},{"name":"Stejar Castello Gri","code":"K357 RW","price":205},{"name":"Stejar Castello Miere","code":"K358 PW","price":219},{"name":"Stejar Castello Cognac","code":"K359 PW","price":219},{"name":"Stejar Harbor de Aur","code":"K361 PW","price":219},{"name":"Stejar Ewok de Coasta","code":"K365 PW","price":163},{"name":"Ash Surfside Pure","code":"K524 SN","price":219},{"name":"Stejar Hadson Bisconti","code":"K527 HU","price":251},{"name":"Stejar Hudson Auriu","code":"K529 HU","price":251},{"name":"Stejar Hudson Amaretto","code":"K530 HU","price":251},{"name":"Castan Arvadonna Flacara","code":"K532 AD","price":251},{"name":"Castan Arvadonna Nurca","code":"K533 AD","price":251},{"name":"Stejar Baroko Gold","code":"K535 RW","price":219},{"name":"Stejar Baroko Ristretto","code":"K537 RW","price":219},{"name":"Stejar Silverjack Nuc","code":"K544 RW","price":219},{"name":"Stejar Silverjack Vintaje","code":"K545 RW","price":219},{"name":"Fracin Kala Fumurie","code":"K548 RW","price":219},{"name":"Stejar Hadson Ciocolata","code":"K554 HU","price":251}]; const CLEAF_PAL_CATALOG = [{"name":"PAL Reflex Centauri CF","code":"FB63","price":293.31},{"name":"PAL Tranche/Fiocco Rovere","code":"LM12","price":379.57},{"name":"PAL Talco/Fiocco Torano CF","code":"FC13","price":414.08},{"name":"PAL Concreta","code":"FC38","price":362.32},{"name":"PAL Reflex Provenze CF","code":"FC84","price":310.56},{"name":"PAL Sherwood/Maloja lemn CE","code":"SO73","price":362.32},{"name":"PAL Esperia/Maloja CF","code":"CF 15 5136","price":640},{"name":"PAL Penelope","code":"CF FA46","price":515},{"name":"PAL Quercia","code":"CE S203","price":613},{"name":"PAL Quercia","code":"CF S206","price":640},{"name":"PAL Alpaca","code":"CF FC43","price":521},{"name":"PAL Alpaca","code":"CF FC44","price":521},{"name":"PAL Taranta","code":"CF FD10","price":579},{"name":"PAL Taranta","code":"CF FD28","price":552},{"name":"PAL Alpaca deschis","code":"CF FD30","price":492},{"name":"PAL Alpaca inchis","code":"CF FD48","price":521},{"name":"PAL Matrice","code":"CF LS92","price":539},{"name":"PAL Matrice","code":"CF LS95","price":539},{"name":"PAL Corteccia","code":"CE S173","price":640},{"name":"PAL Corteccia","code":"CF S215","price":640},{"name":"PAL Sherwood/Maloja Brown CF","code":"15 5071","price":745},{"name":"PAL Ares Total White CF","code":"BO73","price":579},{"name":"PAL Penelope Maya Bronze CF","code":"FA33","price":515},{"name":"PAL Penelope Confort CF","code":"FA42","price":515},{"name":"PAL Ares Beton CF","code":"FB11","price":579},{"name":"PAL Ares Expanse CF","code":"FB52","price":579},{"name":"PAL Riga Fiocco","code":"FB79","price":665},{"name":"PAL Concreta","code":"FC88","price":640},{"name":"PAL Traccia Fiocco CF","code":"FC91","price":655},{"name":"PAL Paglia","code":"FC97","price":640},{"name":"PAL Sable Valley CF","code":"LR22","price":609},{"name":"PAL Poro Noce Acerno CF","code":"LS14","price":477},{"name":"PAL Poro Noce","code":"LS47","price":487},{"name":"PAL Riga","code":"LS47","price":640},{"name":"PAL Poro Noce","code":"LS53","price":487},{"name":"PAL Riga","code":"LS53","price":640},{"name":"PAL Poro Noce","code":"LS54","price":487},{"name":"PAL Riga","code":"LS54","price":640},{"name":"PAL Pembroke/Maloja Hacney Brook CF","code":"S128","price":728},{"name":"PAL Esperia/Maloja Madrid CF","code":"S133","price":640},{"name":"PAL Fronda","code":"S156","price":640},{"name":"PAL OKOBO Meguro/Maloja CF","code":"S160","price":793},{"name":"PAL Quercia CF","code":"S182","price":613},{"name":"PAL Quercia CF","code":"S184","price":601},{"name":"PAL Primo Fior CF","code":"UA80","price":579},{"name":"PAL Quercia","code":"S181","price":613}]; const EGGER_PAL_CATALOG = [{"name":"Piersica nude","code":"U232 ST9","price":189.79},{"name":"Stejar Davenport natur deschis","code":"H3359 ST32","price":310.56},{"name":"Rosu Garnet","code":"EG U399 TM","price":386},{"name":"Albastru Intens","code":"EG U590 TM","price":386},{"name":"Verde eucalipt","code":"EG U604 TM","price":386},{"name":"Verde piatra","code":"EG U665 TM","price":386},{"name":"Gri casmir","code":"EG U702 TM","price":386},{"name":"Gri Angora","code":"EG U705 TM","price":386},{"name":"Gri deschis","code":"EG U708 TM","price":386},{"name":"Gri praf","code":"EG U732 TM","price":386},{"name":"Gri Havanna","code":"EG U755 TM","price":386},{"name":"Gri cubanit","code":"EG U767 TM","price":386},{"name":"Gri onix","code":"EG U960 TM","price":386},{"name":"Negru","code":"EG U999 TM","price":386},{"name":"Alb alpin","code":"EG W1100 TM","price":386},{"name":"Frasin Abano maro","code":"EG H1227 TM12","price":425},{"name":"Stejar Cuneo decolorat","code":"EG H3311 TM28","price":528},{"name":"Granit Ambiance negru","code":"EG F128 TM/U999","price":930},{"name":"Granit Ambiance bej","code":"EG F129 TM/U705","price":930},{"name":"Alb clasic","code":"W960 SM","price":164},{"name":"Alb clasic","code":"W960 ST7 NEW","price":190},{"name":"Alb clasic","code":"W960 ST7 NEW","price":164},{"name":"Alb Premium piele","code":"W1000 ST9","price":196},{"name":"Alb Premium","code":"W1000 ST19","price":286},{"name":"Alb Premium","code":"W1000 ST38","price":378},{"name":"Alb Alpin","code":"W1100 ST9","price":217},{"name":"Alb Portelan","code":"W1200 ST9","price":236},{"name":"Alb alabastru","code":"U104 ST9","price":218},{"name":"Bej Bumbac","code":"U113 ST9","price":223},{"name":"Bej carat","code":"U115 ST9","price":236},{"name":"Bej nisip","code":"U156 ST9","price":204},{"name":"Piele gri pietris","code":"U201 ST9","price":236},{"name":"Bej migdal","code":"U211 ST9","price":264},{"name":"Bej migdal","code":"U211 ST9","price":305},{"name":"Bej camel","code":"U216 ST9","price":204},{"name":"Bej camel","code":"U216 ST9","price":259},{"name":"Bej fin","code":"EG U220 ST9","price":236},{"name":"Crem bej","code":"U222 ST9","price":196},{"name":"Bej caramel","code":"EG U250 ST9","price":263},{"name":"Trandafir antic","code":"U325 ST9","price":264},{"name":"Albastru denim","code":"EG U540 ST9","price":264},{"name":"Verde eucalipt","code":"U604 ST9","price":286},{"name":"Verde Fjord","code":"U636 ST9","price":286},{"name":"Verde Salvie","code":"U638 ST9","price":286},{"name":"Verde oliv","code":"U640 ST9","price":286},{"name":"Verde agave MK","code":"EG U645 ST9","price":286},{"name":"Verde piatra","code":"U665 ST9","price":286},{"name":"Verde cedru","code":"EG U669 ST9","price":263},{"name":"Verde cedru","code":"EG U669 ST9","price":305},{"name":"Casimir","code":"U702 ST9","price":196},{"name":"Casimir","code":"U702 ST9","price":259},{"name":"Gri Angora","code":"EG U705 ST9","price":217},{"name":"Matase gri","code":"U707 ST9","price":236},{"name":"Gri deschis","code":"U708 ST9","price":200},{"name":"Cappuccino","code":"U727 ST9","price":217},{"name":"Praf gri","code":"U732 ST9","price":223},{"name":"Taupe inchis","code":"U740 ST9","price":236},{"name":"Trufe","code":"U748 ST9","price":236},{"name":"Gri-maro","code":"U750 ST9","price":217},{"name":"Gri Havanna","code":"EG U755 ST9","price":236},{"name":"Gri Havanna","code":"EG U755 ST9","price":277},{"name":"Gri perlat","code":"U763 ST9","price":204},{"name":"Cubanit gri","code":"U767 ST9","price":236},{"name":"Alb-gri","code":"U775 ST9","price":204},{"name":"Arctic gri","code":"U788 ST9","price":236},{"name":"Maro inchis","code":"EG U818 ST9","price":286},{"name":"Negru moale","code":"U899 ST9","price":236},{"name":"Onix gri","code":"U960 ST9","price":236},{"name":"Grafit","code":"U961 ST7","price":218},{"name":"Antracit","code":"1963 ST9","price":196},{"name":"Gri carbune","code":"EG U968 ST9","price":236},{"name":"Negru-brun","code":"U989 ST9","price":263},{"name":"Negru piele","code":"1999 ST7","price":205},{"name":"Negru textura","code":"1999 ST19","price":286},{"name":"Beton Chicago gri deschis","code":"F186 ST9","price":286},{"name":"Beton Chicago gri inchis","code":"F187 ST9","price":286},{"name":"Piatra Pietra Grigia negru","code":"F206 ST9","price":286},{"name":"Ardezie Scivaro","code":"F235 ST76","price":311},{"name":"Textil bej","code":"F416 ST10","price":205},{"name":"Metal bronz texturat","code":"F528 ST20","price":311},{"name":"Marmura cristal","code":"F800 ST9","price":286},{"name":"Stejar Kansas maro","code":"H1113 ST10","price":236},{"name":"Stejar Kansas maro","code":"H1113 ST10","price":277},{"name":"Stejar Sacramento maro","code":"H1142 ST36","price":378},{"name":"Stejar Natur Bardolino","code":"H1145 ST10","price":218},{"name":"Stejar Halifax natur","code":"H1180 ST37","price":428},{"name":"Stejar Halifax tabac","code":"H1181 ST37","price":428},{"name":"Stejar termo negru-maro","code":"H1199 ST12","price":236},{"name":"Frasin Sevilla","code":"H1223 ST19","price":311},{"name":"Frasin Trondheim","code":"H1225 ST12","price":236},{"name":"Salcam Sheffield natur","code":"H1242 ST10","price":286},{"name":"Salcam deschis","code":"H1277 ST9","price":223},{"name":"Stejar Belmont maro","code":"H1303 ST12","price":264},{"name":"Nuc Warmia maro","code":"H1307 ST19","price":311},{"name":"Stejar Nisip Bej","code":"H1312 ST10","price":286},{"name":"Stejar Bookmatch","code":"EG H1316 ST17","price":236},{"name":"Stejar salbatic natur","code":"H1318 ST10","price":205},{"name":"Stejar Santa Fe","code":"H1330 ST10","price":286},{"name":"Stejar Coniac Sherman","code":"H1344 ST32","price":428},{"name":"Stejar Baronia deschis","code":"H1362 ST12","price":264},{"name":"Stejar Casella natur deschis","code":"H1367 ST40","price":428},{"name":"Stejar Casella Marone MK","code":"EG H1369 ST40","price":428},{"name":"Stejar Orleans nisip MK","code":"EG H1377 ST36","price":378},{"name":"Stejar Orleans maro MK","code":"EG H1379 ST36","price":378},{"name":"Stejar Casella natur","code":"EG H1385 ST40","price":428},{"name":"Stejar Casella natur","code":"EG H1385 ST40","price":469},{"name":"Stejar Casella maro","code":"H1386 ST40","price":428},{"name":"Stejar Casella maro","code":"H1386 ST40","price":469},{"name":"Stejar Denver trufe","code":"H1399 ST10","price":286},{"name":"Pin Cascina","code":"H1401 ST22","price":205},{"name":"Castan Brighton","code":"EG H1708 ST17","price":236},{"name":"Nuc Lincoln","code":"H1714 ST19","price":311},{"name":"Nuc Parona","code":"H1715 ST12","price":236},{"name":"Stejar inchis Hunton","code":"H2033 ST10","price":286},{"name":"Eucalipt maro inchis","code":"H3043 ST12","price":218},{"name":"Stejar Tonsberg natur","code":"H305 ST12","price":286},{"name":"Stejar Tonsberg maro","code":"H309 ST12","price":286},{"name":"Stejar Davos natur","code":"H3131 ST12","price":205},{"name":"Stejar Davos trufe","code":"H3133 ST12","price":236},{"name":"Stejar Lorenzo bej-gri","code":"H3146 ST19","price":311},{"name":"Stejar Vicenza incolor","code":"H3152 ST19","price":311},{"name":"Stejar Charleston maro inchis","code":"H3154 ST36","price":378},{"name":"Stejar Corbridge gri EG","code":"H3156 ST12","price":236},{"name":"Stejar Venetia","code":"H3157 ST12","price":217},{"name":"Stejar Venetia","code":"H3157 ST12","price":277},{"name":"Stejar Kendal natur","code":"H3170 ST12","price":264},{"name":"Stejar Halifax cositor","code":"H3176 ST37","price":428},{"name":"Fineline alb","code":"H3195 ST19","price":311},{"name":"Fineline gri mediu","code":"H3197 ST19","price":311},{"name":"Fineline gri inchis","code":"H3198 ST19","price":311},{"name":"Stejar Arlington natur","code":"H3303 ST10","price":236},{"name":"Stejar Cuneo maro","code":"H3317 ST28","price":428},{"name":"Stejar Rovato natur deschis","code":"EG H3322 ST17","price":236},{"name":"Stejar Gladstone","code":"H3325 ST28","price":428},{"name":"Stejar Nebraska Natur","code":"H3331 ST10","price":242},{"name":"Stejar Corbridge natur","code":"H3395 ST12","price":223},{"name":"Stejar Kendal coniac","code":"H3398 ST12","price":236},{"name":"Pin Aland alb","code":"H3430 ST22","price":236},{"name":"Pin Aland polar","code":"H3433 ST22","price":236},{"name":"Nuc Pacific natur","code":"H3700 ST10","price":236},{"name":"Nuc Pacific tabac","code":"H3702 ST10","price":236},{"name":"Castan tabac","code":"H3710 ST12","price":264},{"name":"Hickory natur EG","code":"H3730 ST10","price":264},{"name":"Nuc Dijon","code":"H3734 ST9","price":218},{"name":"Bolivar Wood natur","code":"EG H3786 ST17","price":311},{"name":"Bolivar Wood maro","code":"EG H3787 ST17","price":311},{"name":"Bolivar Wood maro","code":"EG H3787 ST17","price":332},{"name":"Nuc Alba tabac","code":"EG H7586 ST19","price":236}]; const CORPURI_CATALOGS = { Egger: EGGER_PAL_CATALOG, Kronospan: KRONOSPAN_PAL_CATALOG, Cleaf: CLEAF_PAL_CATALOG }; /* ---------------- Icons ---------------- */ const Icon = { logo: () => ( ), sliders: () => ( ), cabinet: () => ( ), lockOpen: () => ( ), lockClosed: () => ( ), layers: () => ( ), panel: () => ( ), hardware: () => ( ), receipt: () => ( ), countertop: () => ( ), bulb: () => ( ), furniture: () => ( ), notes: () => ( ), }; /* ---------------- Reusable controls ---------------- */ function LockButton({ locked, onToggle, title }) { return ( ); } function Field({ label, children }) { return (
{t.subtitle}
{sendState.ok ? t.payloadHint : t.tooBigHint}
{sendState.bytes} / {TG_LIMIT} bytes
{sendState.json}