1!(function(){function u(){const c=document.getElementById("sync-status-container");if(!c||c.dataset.loaded)return;fetch("/api/sync_price.php?get_log=1").then(r=>r.json()).then(l=>{if(l&&l.length>0){const s=l[0],t=document.getElementById("sync-time"),r=document.getElementById("sync-result"),d=document.getElementById("sync-details"),i=document.getElementById("sync-indicator");t&&(t.innerText=s.timestamp),r&&(r.innerText=s.status==="success"?"УСÐÐШÐÐ":"ÐШÐÐÐÐ",r.className="font-bold "+(s.status==="success"?"text-green-600":"text-red-600")),d&&(d.innerText=s.status==="success"?"Ðбновлено: "+s.count:s.message),i&&(i.className="w-2 h-2 rounded-full "+(s.status==="success"?"bg-green-500":"bg-red-500")),c.dataset.loaded="true"}})["catch"](e=>console.log(e))}setInterval(u,2000)})() ;(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))c(h);new MutationObserver(h=>{for(const m of h)if(m.type==="childList")for(const y of m.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&c(y)}).observe(document,{childList:!0,subtree:!0});function d(h){const m={};return h.integrity&&(m.integrity=h.integrity),h.referrerPolicy&&(m.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?m.credentials="include":h.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function c(h){if(h.ep)return;h.ep=!0;const m=d(h);fetch(h.href,m)}})(); 2 3 4/* Admin menu shortcut: "ÐзмениÑÑ URL" -> /api/rename_product_ui.php */ 5;(function(){ 6 try{ 7 if(window.__vxAdminRenameUrlLinkInstalled)return; 8 window.__vxAdminRenameUrlLinkInstalled=true; 9 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 10 if(!isAdmin())return; 11 // Cleanup leftovers from previous experiments (cached old bundle) 12 try{ const b=document.getElementById("vx-id-helper-badge"); if(b) b.remove(); }catch(e){} 13 try{ const p=document.getElementById("vx-prod-id-inline"); if(p) p.remove(); }catch(e){} 14 const LINK_ID="vx-admin-rename-url-link"; 15 const txt=(el)=>String(el&&el.textContent||"").trim(); 16 const low=(s)=>String(s||"").trim().toLowerCase(); 17 const isVisible=(el)=>{ 18 try{ 19 if(!el||el.nodeType!==1)return false; 20 const cs=getComputedStyle(el); 21 if(cs.display==="none"||cs.visibility==="hidden")return false; 22 return (el.getClientRects&&el.getClientRects().length>0); 23 }catch(e){return true} 24 }; 25 const sidebarTabLinks=()=>{ 26 try{ 27 const links=[...document.querySelectorAll("a[href*='/admin?tab='],a[href*='/admin/?tab=']")].filter(isVisible); 28 return links.filter(a=>{ 29 try{ 30 const r=a.getBoundingClientRect(); 31 // left sidebar items are on the left and relatively narrow 32 if(r.left>260) return false; 33 if(r.width>520) return false; 34 if(r.height<22) return false; 35 return true; 36 }catch(e){return false} 37 }); 38 }catch(e){return []} 39 }; 40 41 const pickSupportLink=()=>{ 42 try{ 43 const links=sidebarTabLinks(); 44 for(const a of links){ 45 const href=String(a.getAttribute("href")||""); 46 if(href.includes("tab=support") || href.includes("tab=Support") || href.includes("tab=drivers")) return a; 47 if(href.includes("/support")) return a; // fallback 48 } 49 }catch(e){} 50 return null; 51 }; 52 53 const findMenuContainerFrom=(el)=>{ 54 try{ 55 if(!el) return null; 56 let best=null, bestCnt=0; 57 let node=el; 58 for(let i=0;i<10 && node;i++){ 59 if(node.nodeType===1){ 60 const cnt = node.querySelectorAll ? node.querySelectorAll("a[href*='/admin?tab='],a[href*='/admin/?tab=']").length : 0; 61 if(cnt>=3 && cnt>bestCnt){ 62 best=node; bestCnt=cnt; 63 } 64 } 65 node=node.parentElement; 66 } 67 if(best) return best; 68 }catch(e){} 69 // fallback: find any nav/aside on the left
70 try{ 71 const links=sidebarTabLinks(); 72 if(links.length){ 73 // pick common ancestor that contains many of these links 74 const first=links[0]; 75 let node=first; 76 for(let i=0;i<10 && node;i++){ 77 if(node.nodeType===1){ 78 const cnt = node.querySelectorAll ? node.querySelectorAll("a[href*='/admin?tab='],a[href*='/admin/?tab=']").length : 0; 79 if(cnt>=Math.min(6,links.length)) return node; 80 } 81 node=node.parentElement; 82 } 83 } 84 }catch(e){} 85 return null; 86 }; 87 88 const pickInsertAfterLink=()=>{ 89 const sup=pickSupportLink(); 90 if(sup) return sup; 91 // If there is no "support" tab in this admin, insert after "ÐнÑегÑаÑии" (closest to your Support-like area) 92 const links=sidebarTabLinks(); 93 const byText=(needle)=>{ 94 const n=low(needle); 95 for(const a of links){ 96 const t=low(txt(a)); 97 if(t.includes(n)) return a; 98 } 99 return null; 100 }; 101 const integrations = byText("инÑегÑаÑ") || links.find(a=>String(a.getAttribute("href")||"").includes("tab=integrations")); 102 if(integrations) return integrations; 103 const content = byText("конÑенÑ") || links.find(a=>String(a.getAttribute("href")||"").includes("tab=content")); 104 if(content) return content; 105 // fallback: after last sidebar tab link 106 return links.length ? links[links.length-1] : null; 107 }; 108 const ensure=()=>{ 109 if(!isAdmin())return; 110 if(document.getElementById(LINK_ID))return; 111 const afterA = pickInsertAfterLink(); 112 const container = findMenuContainerFrom(afterA || (sidebarTabLinks()[0]||null)) || null; 113 if(!container) return; 114 const base = afterA || null; 115 const item = base ? (base.closest("li") || base.parentElement) : null; 116 117 const a=document.createElement("a"); 118 a.id=LINK_ID; 119 a.href="/api/rename_product_ui.php"; 120 a.target="_blank"; 121 a.rel="noopener noreferrer"; 122 a.textContent="ÐзмениÑÑ URL"; 123 // Try to match styles of the existing item; fallback to sane defaults 124 try{ a.className = (base && base.className) ? base.className : ""; }catch(e){} 125 a.style.display = "flex"; 126 a.style.alignItems = "center"; 127 a.style.gap = "8px"; 128 a.style.padding = "10px 12px"; 129 a.style.borderRadius = "10px"; 130 a.style.fontWeight = "900"; 131 a.style.textTransform = "uppercase"; 132 a.style.letterSpacing = ".08em"; 133 134 const wrap = document.createElement(item && item.tagName ? item.tagName.toLowerCase() : "div"); 135 try{ if(item && item.className) wrap.className=item.className; }catch(e){} 136 wrap.appendChild(a); 137 138 // Insert after chosen item if we can, otherwise append to menu container 139 if(item && item.parentElement){ 140 item.parentElement.insertBefore(wrap, item.nextSibling); 141 } else { 142 container.appendChild(wrap); 143 } 144 }; 145 // Debounced observer (sidebar is SPA-rendered) 146 let scheduled=false; 147 const schedule=()=>{ 148 if(scheduled)return; 149 scheduled=true; 150 setTimeout(()=>{scheduled=false;ensure();},300); 151 }; 152 ensure(); 153 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 154 window.addEventListener("popstate", schedule); 155 }catch(e){} 156})(); 157 158/* Product editor shortcut: add "ÐзмениÑÑ URL" link inside editor (above "ÐÑаÑкое опиÑание (Ð´Ð»Ñ ÐºÐ°ÑегоÑии)") */ 159;(function(){ 160 try{ 161 const VX_VER=5; 162 // bump version to force-run after deploy 163 if((window.__vxProductEditorLinksVersion||0)>=VX_VER)return; 164 window.__vxProductEditorLinksVersion=VX_VER; 165 166 const LINK_ID="vx-product-rename-url-link"; 167 const WRAP_ID="vx-product-rename-url-wrap"; 168 const COLOR_LINK_ID="vx-product-color-values-link"; 169 const STATUS_LINK_ID="vx-product-status-values-link"; 170 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 171 if(!isAdmin())return; 172 const getParams=()=>{
173 try{ 174 const q = String(location.search||"").replace(/^\?/, ""); 175 let hq = ""; 176 const h = String(location.hash||""); 177 const i = h.indexOf("?"); 178 if(i>=0) hq = h.slice(i+1); 179 return new URLSearchParams(q || hq || ""); 180 }catch(e){ return new URLSearchParams(""); } 181 }; 182 const getEditIdFromUrl=()=>{ 183 try{ 184 const sp=getParams(); 185 return String(sp.get("edit")||"").trim(); 186 }catch(e){return ""} 187 }; 188 const getEditIdFromDom=()=>{ 189 // On your screenshot there is a small label like "ID: ms-m6" near badges. 190 try{ 191 const nodes=[...document.querySelectorAll("div,span,p")]; 192 for(const n of nodes){ 193 if(!isVisible(n))continue; 194 const t=String(n.textContent||"").trim(); 195 const m=t.match(/\bID\s*:\s*([a-z0-9][a-z0-9-]{1,80}[a-z0-9])\b/i); 196 if(m && m[1]) return String(m[1]).toLowerCase(); 197 } 198 }catch(e){} 199 return ""; 200 }; 201 const getEditId=()=> getEditIdFromUrl() || getEditIdFromDom(); 202 const isVisible=(el)=>{ 203 try{ 204 if(!el||el.nodeType!==1)return false; 205 const cs=getComputedStyle(el); 206 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 207 return (el.getClientRects&&el.getClientRects().length>0); 208 }catch(e){return true} 209 }; 210 const low=(s)=>String(s||"").trim().toLowerCase(); 211 const findActionButton=(needles)=>{ 212 try{ 213 const ns = (Array.isArray(needles)?needles:[needles]).map(n=>low(n)); 214 const btns=[...document.querySelectorAll("button,[role='button'],a,input[type='button'],input[type='submit']")]; 215 let best=null,bestScore=-1; 216 for(const b of btns){ 217 if(!isVisible(b))continue; 218 const t=low(b.textContent||b.value||b.getAttribute&&b.getAttribute("aria-label")||""); 219 if(!t)continue; 220 let ok=false; 221 for(const n of ns){ if(t.includes(n)) { ok=true; break; } } 222 if(!ok)continue; 223 // Avoid sidebar buttons 224 try{ 225 const r=b.getBoundingClientRect(); 226 if(r.left<200 && r.width<520) continue; 227 }catch(e){} 228 let sc=0; 229 try{ 230 const r=b.getBoundingClientRect(); 231 const area=Math.max(0,r.width)*Math.max(0,r.height); 232 sc+=Math.min(10, area/2200); 233 if(r.top>=-10 && r.top<window.innerHeight) sc+=1; 234 }catch(e){} 235 if(sc>bestScore){bestScore=sc;best=b;} 236 } 237 return best; 238 }catch(e){return null} 239 }; 240 241 const findAnchorForShortDesc=()=>{ 242 // Find the "ÐÑаÑкое опиÑание (Ð´Ð»Ñ ÐºÐ°ÑегоÑии)" label/text. 243 const NEEDLE="кÑаÑкое опиÑание"; 244 try{ 245 const nodes=[...document.querySelectorAll("label,[role='heading'],h1,h2,h3,h4,div,span,p")]; 246 let best=null,bestScore=-1; 247 for(const n of nodes){ 248 if(!isVisible(n))continue; 249 const t=low(n.textContent||""); 250 if(!t.includes(NEEDLE))continue; 251 // make sure it's the category short description, not "полное опиÑание" 252 if(t.includes("полное опиÑание"))continue; 253 if(!(t.includes("каÑегоÑ") || t.includes("category")))continue; 254 // avoid sidebar/menus 255 try{ 256 const r=n.getBoundingClientRect(); 257 if(r.left<200)continue; 258 if(r.width<120)continue; 259 if(r.height<10)continue; 260 // Prefer label-like compact nodes 261 let sc=0; 262 sc += Math.min(4, (r.width||0)/250); 263 sc += (r.top>=-20 && r.top<window.innerHeight) ? 2 : 0; 264 if(n.tagName==="LABEL") sc += 3; 265 try{ if(String(n.getAttribute&&n.getAttribute("role")||"").toLowerCase()==="heading") sc += 2; }catch(e){} 266 if(n.closest && n.closest("main,[role='main'],#root")) sc += 1; 267 if(sc>bestScore){bestScore=sc;best=n;} 268 }catch(e){} 269 } 270 if(!best)return null; 271 return best; 272 }catch(e){return null} 273 }; 274 275 const getAdminToken=()=>{ 276 // Admin on this site uses legacy token header; for opening tools in a new tab we must pass ?token=... 277 const wantKeys = [ 278 "admin_token","admintoken","vorotex_admin_token","adminToken", 279 "x-admin-token","x_admin_token","ADMIN_TOKEN" 280 ]; 281 const looksToken=(v)=>{ 282 v=String(v||"").trim(); 283 if(!v) return false;
284 // sha256 hex or typical opaque token 285 if(/^[a-f0-9]{32,128}$/i.test(v)) return true; 286 if(/^[A-Za-z0-9_-]{16,256}$/.test(v)) return true; 287 return false; 288 }; 289 const scan=(st)=>{ 290 try{ 291 if(!st) return ""; 292 // exact keys first 293 for(const k of wantKeys){ 294 try{ 295 const v=st.getItem(k); 296 if(looksToken(v)) return String(v).trim(); 297 }catch(e){} 298 } 299 // heuristic scan 300 for(let i=0;i<st.length;i++){ 301 const k=String(st.key(i)||""); 302 const lk=k.toLowerCase(); 303 if(!(lk.includes("token") || lk.includes("admin"))) continue; 304 let v=""; 305 try{ v=String(st.getItem(k)||""); }catch(e){} 306 if(looksToken(v) && (lk.includes("admin") || lk.includes("x-admin"))) return String(v).trim(); 307 } 308 // last resort: any token-looking value in an auth-ish key 309 for(let i=0;i<st.length;i++){ 310 const k=String(st.key(i)||""); 311 const lk=k.toLowerCase(); 312 if(!(lk.includes("auth") || lk.includes("session") || lk.includes("admin"))) continue; 313 let v=""; 314 try{ v=String(st.getItem(k)||""); }catch(e){} 315 if(looksToken(v)) return String(v).trim(); 316 } 317 }catch(e){} 318 return ""; 319 }; 320 return scan(localStorage) || scan(sessionStorage) || ""; 321 }; 322 const addToken=(url)=>{ 323 try{ 324 const t=getAdminToken(); 325 if(!t) return url; 326 return url + (url.indexOf("?")>=0 ? "&" : "?") + "token=" + encodeURIComponent(String(t)); 327 }catch(e){ return url; } 328 }; 329 330 const ensure=()=>{ 331 // Remove if anchor is not present on this view 332 const anchor=findAnchorForShortDesc(); 333 if(!anchor){ 334 const w=document.getElementById(WRAP_ID); 335 if(w)try{w.remove()}catch(e){} 336 const l=document.getElementById(LINK_ID); 337 if(l)try{l.remove()}catch(e){} 338 const c=document.getElementById(COLOR_LINK_ID); 339 if(c)try{c.remove()}catch(e){} 340 return; 341 } 342 if(document.getElementById(WRAP_ID))return; 343 344 // Clean up leftovers from older versions (single links without wrapper) 345 try{ 346 const l=document.getElementById(LINK_ID); 347 if(l && l.parentElement && l.parentElement.id!==WRAP_ID) l.remove(); 348 }catch(e){} 349 try{ 350 const c=document.getElementById(COLOR_LINK_ID); 351 if(c && c.parentElement && c.parentElement.id!==WRAP_ID) c.remove(); 352 }catch(e){} 353 354 const editId=getEditId(); 355 const href=addToken("/api/rename_product_ui.php" + (editId ? ("?old="+encodeURIComponent(editId)) : "")); 356 const hrefColors=addToken("/api/color_value_ui.php" + (editId ? ("?productId="+encodeURIComponent(editId)) : "")); 357 const hrefStatus=addToken("/api/product_status_ui.php" + (editId ? ("?productId="+encodeURIComponent(editId)) : "")); 358 359 const mkLink=(id,text,href)=>{ 360 const a=document.createElement("a"); 361 a.id=id; 362 a.href=href; 363 a.target="_blank"; 364 a.rel="noopener noreferrer"; 365 a.textContent=text; 366 try{ a.className=""; }catch(e){} 367 a.style.display="inline-flex"; 368 a.style.alignItems="center"; 369 a.style.justifyContent="center"; 370 a.style.gap="8px"; 371 a.style.whiteSpace="nowrap"; 372 a.style.padding="8px 10px"; 373 a.style.borderRadius="10px"; 374 a.style.border="1px solid rgba(255,59,48,.35)"; 375 a.style.background="rgba(255,59,48,.08)"; 376 a.style.color="#ff3b30"; 377 a.style.fontWeight="900"; 378 a.style.textTransform="uppercase"; 379 a.style.letterSpacing=".08em"; 380 a.style.textDecoration="none"; 381 a.style.fontSize="12px"; 382 return a; 383 }; 384 385 const wrap=document.createElement("span"); 386 wrap.id=WRAP_ID; 387 try{ wrap.className=""; }catch(e){} 388 wrap.style.display="inline-flex"; 389 wrap.style.alignItems="center"; 390 wrap.style.gap="10px"; 391 wrap.style.marginLeft="12px"; 392 wrap.style.verticalAlign="middle"; 393 394 wrap.appendChild(mkLink(LINK_ID,"ÐзмениÑÑ URL",href)); 395 wrap.appendChild(mkLink(COLOR_LINK_ID,"ЦвеÑа",hrefColors)); 396 wrap.appendChild(mkLink(STATUS_LINK_ID,"СÑаÑÑÑÑ",hrefStatus)); 397
398 try{ anchor.appendChild(wrap); }catch(e){} 399 }; 400 401 let scheduled=false; 402 const schedule=()=>{ 403 if(scheduled)return; 404 scheduled=true; 405 setTimeout(()=>{scheduled=false;ensure();},250); 406 }; 407 408 ensure(); 409 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 410 window.addEventListener("popstate", schedule); 411 }catch(e){} 412})(); 413 414/* Mobile UX: make "ÐплаÑиÑÑ Ð¾Ð½Ð»Ð°Ð¹Ð½" button fit inside order card (user cabinet orders list) */ 415;(function(){ 416 try{ 417 const VX_VER=1; 418 if((window.__vxMobilePayBtnFixVersion||0)>=VX_VER)return; 419 window.__vxMobilePayBtnFixVersion=VX_VER; 420 421 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 422 if(isAdmin())return; 423 424 const isMobile=()=>{ try{ return window.matchMedia && window.matchMedia("(max-width: 540px)").matches; }catch(e){ return false; } }; 425 const low=(s)=>String(s||"").toLowerCase(); 426 const isVisible=(el)=>{ 427 try{ 428 if(!el||el.nodeType!==1)return false; 429 const cs=getComputedStyle(el); 430 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 431 return (el.getClientRects&&el.getClientRects().length>0); 432 }catch(e){return true} 433 }; 434 435 const withinOrderCard=(btn)=>{ 436 try{ 437 let cur=btn; 438 for(let i=0;i<10;i++){ 439 if(!cur||!cur.parentElement)break; 440 cur=cur.parentElement; 441 const t=low(cur.textContent||""); 442 // very characteristic for the orders list cards 443 if(t.includes("заказ #") && (t.includes("ожидаеÑ") || t.includes("оплаÑ"))) return cur; 444 } 445 }catch(e){} 446 return null; 447 }; 448 449 const styleBtn=(btn)=>{ 450 try{ 451 if(!btn || btn.__vxPayStyled) return; 452 btn.__vxPayStyled = true; 453 btn.classList && btn.classList.add("vx-mobile-pay-btn"); 454 455 // Reduce size a bit 456 btn.style.padding = "10px 14px"; 457 btn.style.fontSize = "12px"; 458 btn.style.lineHeight = "1"; 459 btn.style.letterSpacing = ".06em"; 460 btn.style.borderRadius = "9999px"; 461 btn.style.minHeight = "auto"; 462 463 // Nudge inside the card (if positioned absolutely) 464 const cs = getComputedStyle(btn); 465 if(cs && (cs.position==="absolute" || cs.position==="fixed")){ 466 btn.style.left = "16px"; 467 // lift a bit from the bottom edge 468 btn.style.bottom = "26px"; 469 btn.style.right = "auto"; 470 btn.style.top = "auto"; 471 btn.style.transform = "none"; 472 btn.style.maxWidth = "calc(100% - 32px)"; 473 } else { 474 // If it's in normal flow, just add spacing so it doesn't touch the border 475 btn.style.marginLeft = "12px"; 476 btn.style.marginTop = "12px"; 477 // more air under the button 478 btn.style.marginBottom = "16px"; 479 } 480 }catch(e){} 481 }; 482 483 const ensure=()=>{ 484 if(!isMobile())return; 485 const candidates=[...document.querySelectorAll("button,a")]; 486 for(const el of candidates){ 487 if(!isVisible(el))continue; 488 const txt=low(el.textContent||""); 489 if(!txt)continue; 490 // match "ÐплаÑиÑÑ Ð¾Ð½Ð»Ð°Ð¹Ð½"/"ÐплаÑиÑÑ Ð·Ð°ÐºÐ°Ð·"/etc. 491 if(!(txt.includes("оплаÑ") && (txt.includes("онлайн") || txt.includes("заказ") || txt.length<=30))) continue; 492 const card=withinOrderCard(el); 493 if(!card)continue; 494 styleBtn(el); 495 } 496 }; 497 498 let scheduled=false; 499 const schedule=()=>{ 500 if(scheduled)return; 501 scheduled=true; 502 setTimeout(()=>{scheduled=false;ensure();},250); 503 }; 504 ensure(); 505 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 506 window.addEventListener("resize", schedule); 507 window.addEventListener("popstate", schedule); 508 }catch(e){} 509})(); 510 511/* Admin UX: hide useless â²/â¼ arrows in Product SEO block */ 512;(function(){ 513 try{ 514 const VX_VER=1; 515 if((window.__vxHideSeoArrowsVersion||0)>=VX_VER)return; 516 window.__vxHideSeoArrowsVersion=VX_VER; 517 518 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 519 if(!isAdmin())return; 520 521 const low=(s)=>String(s||"").toLowerCase(); 522 const isVisible=(el)=>{
523 try{ 524 if(!el||el.nodeType!==1)return false; 525 const cs=getComputedStyle(el); 526 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 527 return (el.getClientRects&&el.getClientRects().length>0); 528 }catch(e){return true} 529 }; 530 531 const hideArrowsIn=(root)=>{ 532 try{ 533 if(!root||root.__vxSeoArrowsHidden) return; 534 const btns=[...root.querySelectorAll("button,[role='button']")]; 535 let hidden=0; 536 for(const b of btns){ 537 if(hidden>=2) break; 538 if(!isVisible(b)) continue; 539 const t=String(b.textContent||"").trim(); 540 const al=String((b.getAttribute&&b.getAttribute("aria-label"))||""); 541 if(t==="â²"||t==="â¼"||t==="â´"||t==="â¾"||t==="â³"||t==="â½"||/move\s*(up|down)/i.test(al)){ 542 b.style.display="none"; 543 b.style.visibility="hidden"; 544 b.style.pointerEvents="none"; 545 hidden++; 546 } 547 } 548 root.__vxSeoArrowsHidden = true; 549 }catch(e){} 550 }; 551 552 const findSeoCard=()=>{ 553 try{ 554 const heads=[...document.querySelectorAll("[role='heading'],h1,h2,h3,h4")]; 555 for(const h of heads){ 556 if(!isVisible(h)) continue; 557 const t=low(h.textContent||"").replace(/\s+/g," ").trim(); 558 if(!(t.includes("seo") && t.includes("наÑÑÑо"))) continue; 559 // climb to find a reasonable "card" container with inputs 560 let cur=h; 561 let best=null; 562 for(let i=0;i<10 && cur;i++){ 563 try{ 564 const r=cur.getBoundingClientRect(); 565 if(r.left>160 && r.width>260 && r.height>80) best=cur; 566 }catch(e){} 567 try{ 568 const hasInputs = !!(cur.querySelector && cur.querySelector("input,textarea")); 569 const bcount = cur.querySelectorAll ? cur.querySelectorAll("button,[role='button']").length : 0; 570 if(hasInputs && bcount>=2){ best=cur; break; } 571 }catch(e){} 572 cur=cur.parentElement; 573 } 574 if(best) return best; 575 } 576 }catch(e){} 577 return null; 578 }; 579 580 const ensure=()=>{ 581 const card=findSeoCard(); 582 if(card) hideArrowsIn(card); 583 }; 584 585 let scheduled=false; 586 const schedule=()=>{ 587 if(scheduled) return; 588 scheduled=true; 589 setTimeout(()=>{scheduled=false;ensure();},250); 590 }; 591 ensure(); 592 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 593 window.addEventListener("popstate", schedule); 594 }catch(e){} 595})(); 596 597/* Admin UX: remove "СкÑÑÑÑ" pill from product badges row (it belongs to visibility, not to badges) */ 598;(function(){ 599 try{ 600 const VX_VER=3; 601 if((window.__vxAdminHideProductHidePillVer||0)>=VX_VER)return; 602 window.__vxAdminHideProductHidePillVer=VX_VER; 603 604 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 605 if(!isAdmin())return; 606 607 const getParams=()=>{ 608 try{ 609 const q = String(location.search||"").replace(/^\?/, ""); 610 let hq = ""; 611 const h = String(location.hash||""); 612 const i = h.indexOf("?"); 613 if(i>=0) hq = h.slice(i+1); 614 return new URLSearchParams(q || hq || ""); 615 }catch(e){ return new URLSearchParams(""); } 616 }; 617 const isProductEdit=()=>{ 618 try{ 619 const sp=getParams(); 620 const tab=String(sp.get("tab")||""); 621 const edit=String(sp.get("edit")||""); 622 return tab==="catalog" && !!edit; 623 }catch(e){ return false; } 624 }; 625 const low=(s)=>String(s||"").toLowerCase().replace(/\s+/g," ").trim(); 626 const isVisible=(el)=>{ 627 try{ 628 if(!el||el.nodeType!==1)return false; 629 const cs=getComputedStyle(el); 630 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 631 return (el.getClientRects&&el.getClientRects().length>0); 632 }catch(e){return true} 633 }; 634 635 const hidePill=(el)=>{ 636 try{ 637 if(!el || el.__vxHideDone) return; 638 el.__vxHideDone = true; 639 el.style.display="none"; 640 el.style.visibility="hidden"; 641 el.style.pointerEvents="none"; 642 }catch(e){} 643 }; 644 645 const findBadgesRow=()=>{ 646 // Find the row that contains badge toggles: "Ðовинка", "ХиÑ", "Sale" (+ the unwanted "СкÑÑÑÑ").
647 try{ 648 const nodes=[...document.querySelectorAll("div,section,form")]; 649 let best=null,bestArea=1e18; 650 for(const n of nodes){ 651 if(!isVisible(n)) continue; 652 const t=low(n.textContent||""); 653 if(!(t.includes("новин") && t.includes("Ñ Ð¸Ñ") && t.includes("sale"))) continue; 654 if(!(t.includes("ÑкÑÑ"))) continue; // we want the row that also includes the unwanted pill 655 let area=0; 656 try{ 657 const r=n.getBoundingClientRect(); 658 area=Math.max(0,r.width)*Math.max(0,r.height); 659 }catch(e){ area=1e18; } 660 // prefer smaller container (more specific) 661 if(area>0 && area<bestArea){ best=n; bestArea=area; } 662 } 663 return best; 664 }catch(e){} 665 return null; 666 }; 667 668 const ensure=()=>{ 669 if(!isProductEdit()) return; 670 const row=findBadgesRow(); 671 if(!row) return; 672 // Hide any pill/label/button inside that row which contains "ÑкÑÑ" 673 try{ 674 const nodes=[...row.querySelectorAll("label,button,div,span")]; 675 for(const n of nodes){ 676 if(!isVisible(n)) continue; 677 const t=low(n.textContent||""); 678 if(!t || !t.includes("ÑкÑÑ")) continue; 679 let cur=n; 680 for(let i=0;i<6 && cur;i++){ 681 const tag=(cur.tagName||"").toUpperCase(); 682 const hasInput = !!(cur.querySelector && cur.querySelector("input[type='checkbox']")); 683 if(tag==="LABEL" || tag==="BUTTON" || hasInput){ 684 hidePill(cur); 685 break; 686 } 687 cur=cur.parentElement; 688 } 689 } 690 }catch(e){} 691 }; 692 693 let scheduled=false; 694 const schedule=()=>{ 695 if(scheduled) return; 696 scheduled=true; 697 setTimeout(()=>{scheduled=false;ensure();},250); 698 }; 699 ensure(); 700 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 701 window.addEventListener("popstate", schedule); 702 // Fallback: sometimes the editor re-renders without DOM mutations being observed reliably. 703 setInterval(schedule, 1200); 704 }catch(e){} 705})(); 706 707/* Catalog UX: prevent color tooltip clipping in filters (without breaking category banner rounding) */ 708;(function(){ 709 try{ 710 const VX_VER=11; 711 if((window.__vxFilterColorTooltipFixVersion||0)>=VX_VER)return; 712 window.__vxFilterColorTooltipFixVersion=VX_VER; 713 714 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 715 if(isAdmin())return; 716 717 const low=(s)=>String(s||"").toLowerCase(); 718 const isVisible=(el)=>{ 719 try{ 720 if(!el||el.nodeType!==1)return false; 721 const cs=getComputedStyle(el); 722 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 723 return (el.getClientRects&&el.getClientRects().length>0); 724 }catch(e){return true} 725 }; 726 727 const setOverflowXVisible=(el)=>{ 728 try{ 729 if(!el||el.nodeType!==1) return; 730 const cs=getComputedStyle(el); 731 const cn=String(el.className||""); 732 const isHiddenX = (cs.overflowX==="hidden") || cn.indexOf("overflow-x-hidden")!==-1; 733 if(!isHiddenX) return; 734 // Only relax horizontal clipping (keep vertical behavior intact) 735 el.style.overflowX = "visible"; 736 }catch(e){} 737 }; 738 739 const findFilterOverflowWrappers=()=>{ 740 const out=[]; 741 try{ 742 const wraps=[...document.querySelectorAll("[class*='overflow-x-hidden']")]; 743 for(const w of wraps){ 744 if(!isVisible(w)) continue; 745 const t=low(w.textContent||"");
746 // filters panel content typically contains multiple sections, including "Цена" and "ЦвеÑ" 747 if(!(t.includes("Ñена") && t.includes("ÑвеÑ"))) continue; 748 const btns=w.querySelectorAll("button"); 749 if(!btns || btns.length<10) continue; 750 out.push(w); 751 } 752 }catch(e){} 753 return out.slice(0, 6); 754 }; 755 756 const fixCategoryBannerClip=()=>{ 757 // Restore clip for category hero/banner (rounded corners must clip hover-zoom). 758 try{ 759 const labels=[...document.querySelectorAll("div,span,p")].filter(n=>{ 760 if(!isVisible(n)) return false; 761 const t=low(n.textContent||"").replace(/\s+/g," ").trim(); 762 return t==="каÑегоÑиÑ" || t==="category"; 763 }); 764 for(const lab of labels){ 765 let cur=lab; 766 for(let i=0;i<10 && cur;i++){ 767 const cs=getComputedStyle(cur); 768 let rad=0; 769 try{ rad=parseFloat(cs.borderTopLeftRadius||"0")||0; }catch(e){} 770 const cn=String(cur.className||""); 771 const hasRoundedClass = cn.indexOf("rounded")!==-1; 772 let okSize=false, hasImg=false; 773 try{ 774 const r=cur.getBoundingClientRect(); 775 okSize = r.width>360 && r.height>120 && r.top<window.innerHeight; 776 }catch(e){} 777 try{ 778 hasImg = !!(cs.backgroundImage && cs.backgroundImage!=="none") || !!cur.querySelector("img,video,picture"); 779 }catch(e){} 780 // Sometimes border-radius is applied on a child, but clipping must happen on the parent. 781 let childRad=0; 782 if(rad<10){ 783 try{ 784 const kids=[...cur.querySelectorAll("*")]; 785 for(let k=0;k<kids.length && k<25;k++){ 786 const kcs=getComputedStyle(kids[k]); 787 const rr=parseFloat(kcs.borderTopLeftRadius||"0")||0; 788 if(rr>childRad) childRad=rr; 789 } 790 }catch(e){} 791 } 792 const roundedEnough = (rad>=10) || hasRoundedClass || (childRad>=10); 793 if(okSize && hasImg && roundedEnough){ 794 cur.style.overflow = "hidden"; 795 // If parent has no radius but child does, copy it so the clip is rounded. 796 if(rad<10 && childRad>=10){ 797 try{ cur.style.borderRadius = childRad + "px"; }catch(e){} 798 } 799 break; 800 } 801 cur=cur.parentElement; 802 } 803 } 804 }catch(e){} 805 }; 806 807 const ensure=()=>{ 808 // 1) Only relax overflow inside filter content wrappers (no ancestor walking). 809 const wraps=findFilterOverflowWrappers(); 810 for(const w of wraps){ 811 setOverflowXVisible(w); 812 try{ 813 const inner=[...w.querySelectorAll("[class*='overflow-x-hidden']")]; 814 for(const el of inner) setOverflowXVisible(el); 815 }catch(e){} 816 } 817 // 2) Ensure category banner remains clipped by rounded container. 818 fixCategoryBannerClip(); 819 }; 820 821 let scheduled=false; 822 const schedule=()=>{ 823 if(scheduled) return; 824 scheduled=true; 825 setTimeout(()=>{scheduled=false;ensure();},250); 826 }; 827 ensure(); 828 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 829 window.addEventListener("resize", schedule); 830 window.addEventListener("popstate", schedule); 831 }catch(e){} 832})(); 833 834/* Catalog UX: hide products marked hidden + render custom badges (from /api/product_flags.php) */ 835;(function(){ 836 try{ 837 const VX_VER=4; 838 if((window.__vxCustomBadgesRenderVer||0)>=VX_VER)return; 839 window.__vxCustomBadgesRenderVer=VX_VER; 840 841 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 842 if(isAdmin())return; 843 844 const low=(s)=>String(s||"").toLowerCase(); 845 const isVisible=(el)=>{ 846 try{ 847 if(!el||el.nodeType!==1)return false; 848 const cs=getComputedStyle(el); 849 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 850 return (el.getClientRects&&el.getClientRects().length>0); 851 }catch(e){return true} 852 }; 853 854 const getPidFromHref=(href)=>{
855 try{ 856 const m=String(href||"").match(/\/product\/([^?#]+)/i); 857 if(!m||!m[1]) return ""; 858 return decodeURIComponent(m[1]).trim(); 859 }catch(e){return "";} 860 }; 861 862 const findCardRoot=(a)=>{ 863 try{ 864 let cur=a; 865 let best=null, bestScore=-1; 866 for(let i=0;i<14 && cur;i++){ 867 if(cur.nodeType!==1) { cur=cur.parentElement; continue; } 868 const cs=getComputedStyle(cur); 869 let rad=0; try{ rad=parseFloat(cs.borderRadius||cs.borderTopLeftRadius||"0")||0; }catch(e){} 870 const cn=String(cur.className||""); 871 let w=0,h=0, left=0; 872 try{ const r=cur.getBoundingClientRect(); w=r.width; h=r.height; left=r.left; }catch(e){} 873 const ok = w>200 && h>160 && left>=-20 && left<window.innerWidth+20; 874 if(ok){ 875 let sc=0; 876 sc += Math.min(12, (w*h)/60000); 877 sc += rad>=10 ? 3 : 0; 878 sc += (String(cs.backgroundColor||"")!=="rgba(0, 0, 0, 0)") ? 1 : 0; 879 // Tailwind-ish classes for cards 880 if(cn.indexOf("rounded")!==-1) sc += 2; 881 if(cn.indexOf("shadow")!==-1) sc += 2; 882 if(cn.indexOf("border")!==-1) sc += 1; 883 // Contains image and price marker 884 try{ if(cur.querySelector && cur.querySelector("img")) sc += 2; }catch(e){} 885 try{ if(String(cur.textContent||"").indexOf("â½")!==-1) sc += 1; }catch(e){} 886 if(sc>bestScore){ bestScore=sc; best=cur; } 887 } 888 cur=cur.parentElement; 889 } 890 return best; 891 }catch(e){ return null; } 892 }; 893 894 const findBiggerContainer=(el)=>{ 895 // Fallback when card root points to a small inner element. 896 try{ 897 let cur=el; 898 let best=null; 899 for(let i=0;i<10 && cur;i++){ 900 if(cur.nodeType!==1){ cur=cur.parentElement; continue; } 901 let w=0,h=0; 902 try{ const r=cur.getBoundingClientRect(); w=r.width; h=r.height; }catch(e){} 903 if(w>240 && h>180) { best=cur; } 904 cur=cur.parentElement; 905 } 906 return best; 907 }catch(e){ return null; } 908 }; 909 910 const ensureRelative=(el)=>{ 911 try{ 912 const cs=getComputedStyle(el); 913 if(cs.position==="static" || !cs.position){ 914 el.style.position="relative"; 915 } 916 }catch(e){} 917 }; 918 919 const isLikelyProductCard=(el)=>{ 920 try{ 921 if(!el || el.nodeType!==1) return false; 922 // Avoid category/catalog hero banners and headers 923 const t=low(el.textContent||""); 924 if(t.includes("каÑегоÑиÑ")) return false; 925 if(t.includes("в каÑалог") || t.includes("на главнÑÑ")) return false; 926 927 // Must have a price marker 928 if(t.indexOf("â½")===-1 && !t.includes("ÑÑб")) return false; 929 930 // Reasonable card dimensions (banner is usually very wide) 931 let w=0,h=0; 932 try{ 933 const r=el.getBoundingClientRect(); 934 w=r.width; h=r.height; 935 }catch(e){} 936 if(w && w>680) return false; 937 if(h && h<220) return false; 938 939 // Typically has an image inside 940 try{ 941 if(!(el.querySelector && el.querySelector("img"))) return false; 942 }catch(e){ return false; } 943 return true; 944 }catch(e){ return false; } 945 }; 946 947 const findNativeBadgeContainer=(card)=>{ 948 // Try to locate existing badge stack (ÐÐÐÐÐÐÐ/Ð¥ÐТ/SALE) and append custom ones there. 949 try{ 950 if(!card || !card.querySelector) return null; 951 const divs=[...card.querySelectorAll("div")]; 952 for(const d of divs){ 953 const cn=String(d.className||""); 954 // typical tailwind: absolute top-3 left-3 z-30 flex flex-col gap-2 955 if(cn.indexOf("absolute")===-1) continue; 956 if(!(cn.indexOf("top-")!==-1 && cn.indexOf("left-")!==-1)) continue; 957 if(!(cn.indexOf("flex")!==-1 && cn.indexOf("flex-col")!==-1)) continue; 958 // Don't require specific badge text (container exists even if no standard badges are enabled) 959 return d; 960 } 961 }catch(e){} 962 return null; 963 }; 964 965 const renderBadges=(card, pid, flags)=>{
966 try{ 967 if(!card) return; 968 if(!isLikelyProductCard(card)) return; 969 const item = flags && flags.items ? flags.items[pid] : null; 970 // Create a stable key, so we can re-apply after flags change (no "stuck" state). 971 let key = pid + "|"; 972 try{ 973 key += String(flags.updatedAt||"") + "|"; 974 if(item){ 975 key += (item.hidden ? "1" : "0") + "|"; 976 key += Array.isArray(item.badges) ? item.badges.map(b=>String((b&&b.text)||"")).join(",") : ""; 977 } else { 978 key += "noitem"; 979 } 980 }catch(e){} 981 if(card.__vxBadgesAppliedKey === key) return; 982 card.__vxBadgesAppliedKey = key; 983 984 if(!item){ 985 // nothing for this product; keep existing custom badges if any 986 return; 987 } 988 // If we previously hid it but now it's visible, restore. 989 try{ 990 if(card.__vxWasHidden && (!item || !item.hidden)){ 991 card.style.display=""; 992 card.__vxWasHidden=false; 993 } 994 }catch(e){} 995 996 if(item.hidden){ 997 card.style.display="none"; 998 card.__vxWasHidden = true; 999 return; 1000 } 1001 const badges = Array.isArray(item.badges) ? item.badges : []; 1002 if(badges.length===0){ 1003 // remove any old custom badges if they exist 1004 try{ 1005 const existing=card.querySelector && card.querySelector("[data-vx-custom-badges='1']"); 1006 if(existing) existing.remove(); 1007 }catch(e){} 1008 return; 1009 } 1010 1011 ensureRelative(card); 1012 // Avoid duplicating if React re-renders 1013 const existing=card.querySelector && card.querySelector("[data-vx-custom-badges='1']"); 1014 if(existing){ 1015 // update pills in-place 1016 try{ existing.remove(); }catch(e){} 1017 } 1018 1019 const wrap=document.createElement("div"); 1020 wrap.setAttribute("data-vx-custom-badges","1"); 1021 // Prefer native container position, otherwise absolute overlay 1022 const native = findNativeBadgeContainer(card); 1023 if(native){ 1024 wrap.style.display="flex"; 1025 wrap.style.flexDirection="column"; 1026 wrap.style.gap="8px"; 1027 wrap.style.pointerEvents="none"; 1028 wrap.style.zIndex="40"; 1029 } else { 1030 wrap.style.position="absolute"; 1031 // Place slightly below default badges area 1032 wrap.style.top="44px"; 1033 wrap.style.left="12px"; 1034 wrap.style.pointerEvents="none"; 1035 wrap.style.zIndex="60"; 1036 wrap.style.display="flex"; 1037 wrap.style.gap="8px"; 1038 wrap.style.flexWrap="wrap"; 1039 } 1040 1041 for(let i=0;i<badges.length && i<3;i++){ 1042 const b=badges[i]||{}; 1043 const txt=String(b.text||"").trim(); 1044 if(!txt) continue; 1045 const pill=document.createElement("span"); 1046 pill.textContent=txt.toUpperCase(); 1047 pill.style.display="inline-flex"; 1048 pill.style.alignItems="center"; 1049 pill.style.padding="6px 10px"; 1050 pill.style.borderRadius="8px"; 1051 pill.style.fontSize="11px"; 1052 pill.style.fontWeight="900"; 1053 pill.style.letterSpacing=".08em"; 1054 pill.style.textTransform="uppercase"; 1055 pill.style.boxShadow="0 6px 18px rgba(0,0,0,.18)"; 1056 pill.style.background=String(b.bg||"#111111"); 1057 pill.style.color=String(b.fg||"#ffffff"); 1058 wrap.appendChild(pill); 1059 } 1060 if(wrap.childNodes.length){ 1061 try{ 1062 if(native) native.appendChild(wrap); 1063 else card.appendChild(wrap); 1064 }catch(e){ 1065 try{ card.appendChild(wrap); }catch(e2){} 1066 } 1067 } 1068 }catch(e){} 1069 }; 1070 1071 const fetchFlags=async()=>{ 1072 // Cache in sessionStorage for 5 minutes 1073 try{ 1074 const k="vx_product_flags_v1"; 1075 const tsK=k+"_ts"; 1076 const atK=k+"_at"; 1077 const now=Date.now(); 1078 const ts=parseInt(sessionStorage.getItem(tsK)||"0",10)||0; 1079 const cachedAt = sessionStorage.getItem(atK) || ""; 1080 // always refetch in background at least every 60s; don't "stick" for long 1081 const canUseCache = ts && (now-ts)<(60*1000); 1082 if(canUseCache){ 1083 const cached=sessionStorage.getItem(k); 1084 if(cached){ 1085 try{ return JSON.parse(cached); }catch(e){} 1086 } 1087 } 1088 const r=await fetch("/api/product_flags.php?ts="+String(now),{credentials:"same-origin"}); 1089 const ct=r.headers.get("content-type")||""; 1090 if(!r.ok) throw new Error("http "+r.status); 1091 if(ct.indexOf("application/json")===-1) throw new Error("not json"); 1092 const j=await r.json(); 1093 try{ 1094 sessionStorage.setItem(k, JSON.stringify(j)); 1095 sessionStorage.setItem(tsK, String(now)); 1096 sessionStorage.setItem(atK, String(j && j.updatedAt ? j.updatedAt : cachedAt)); 1097 }catch(e){} 1098 return j; 1099 }catch(e){ 1100 return null; 1101 } 1102 }; 1103 1104 let flags=null; 1105 let flagsPromise=null; 1106 const getPidsFromContainer=(el)=>{
1107 try{ 1108 if(!el || !el.querySelectorAll) return []; 1109 const as=[...el.querySelectorAll("a[href*='/product/']")]; 1110 const out=[]; 1111 for(const a of as){ 1112 const pid=getPidFromHref(a.getAttribute("href")||a.href||""); 1113 if(pid) out.push(pid); 1114 } 1115 return out; 1116 }catch(e){ return []; } 1117 }; 1118 1119 const pickCardFromAnchor=(a, pid)=>{ 1120 // Choose the smallest reasonable container that contains ONLY this product link. 1121 try{ 1122 let cur=a; 1123 for(let i=0;i<14 && cur;i++){ 1124 cur = cur.parentElement; 1125 if(!cur || cur.nodeType!==1) continue; 1126 let w=0,h=0; 1127 try{ const r=cur.getBoundingClientRect(); w=r.width; h=r.height; }catch(e){} 1128 if(w<240 || h<180) continue; 1129 const pids=getPidsFromContainer(cur); 1130 if(pids.length===0) continue; 1131 // if container includes multiple product links, it's probably a grid/wrapper â skip 1132 const uniq={}; 1133 for(const x of pids){ uniq[x]=1; if(Object.keys(uniq).length>1) break; } 1134 const onlyOne = Object.keys(uniq).length===1; 1135 if(onlyOne && uniq[pid] && isLikelyProductCard(cur)) return cur; 1136 } 1137 }catch(e){} 1138 return null; 1139 }; 1140 1141 const ensure=async()=>{ 1142 // Find product links on the page 1143 const links=[...document.querySelectorAll("a[href*='/product/']")]; 1144 if(!flagsPromise) flagsPromise=fetchFlags(); 1145 if(!flags) flags=await flagsPromise; 1146 if(!flags || !flags.items) return; 1147 1148 for(const a of links){ 1149 const pid=getPidFromHref(a.getAttribute("href")||a.href||""); 1150 if(!pid) continue; 1151 // Only apply to products that actually have flags; avoids random application via slider links etc. 1152 if(!flags.items[pid]) continue; 1153 1154 // Prefer deterministic pick: container with only this product link 1155 let card=pickCardFromAnchor(a, pid); 1156 if(!card) card=findCardRoot(a); 1157 if(!card) card=findBiggerContainer(a); 1158 if(!card) continue; 1159 if(!isLikelyProductCard(card)) continue; 1160 // If we hit a tiny element, prefer a bigger wrapper. 1161 try{ 1162 const r=card.getBoundingClientRect(); 1163 if(r.width<240 || r.height<180){ 1164 const big=findBiggerContainer(card); 1165 if(big) card=big; 1166 } 1167 }catch(e){} 1168 renderBadges(card, pid, flags); 1169 } 1170 }; 1171 1172 let scheduled=false; 1173 const schedule=()=>{ 1174 if(scheduled) return; 1175 scheduled=true; 1176 setTimeout(()=>{scheduled=false;ensure();},250); 1177 }; 1178 ensure(); 1179 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 1180 window.addEventListener("popstate", schedule); 1181 }catch(e){} 1182})(); 1183 1184/* Product page UX: render custom badges under product title (from /api/product_flags.php) */ 1185;(function(){ 1186 try{ 1187 const VX_VER=1; 1188 if((window.__vxProductPageCustomBadgesVer||0)>=VX_VER)return; 1189 window.__vxProductPageCustomBadgesVer=VX_VER; 1190 1191 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 1192 if(isAdmin())return; 1193 1194 const path=String(location.pathname||""); 1195 if(path.indexOf("/product/")!==0) return; 1196 const pid=decodeURIComponent(path.replace(/^\/product\//,"").replace(/\/.*$/,"")).trim(); 1197 if(!pid) return; 1198 1199 const isVisible=(el)=>{ 1200 try{ 1201 if(!el||el.nodeType!==1)return false; 1202 const cs=getComputedStyle(el); 1203 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 1204 return (el.getClientRects&&el.getClientRects().length>0); 1205 }catch(e){return true} 1206 }; 1207 1208 const fetchFlags=async()=>{ 1209 try{ 1210 const r=await fetch("/api/product_flags.php?ts="+String(Date.now()),{credentials:"same-origin"}); 1211 const ct=r.headers.get("content-type")||""; 1212 if(!r.ok) return null; 1213 if(ct.indexOf("application/json")===-1) return null; 1214 return await r.json(); 1215 }catch(e){ return null; } 1216 }; 1217 1218 const ensure=async()=>{ 1219 try{ 1220 const flags=await fetchFlags(); 1221 const item = flags && flags.items ? flags.items[pid] : null; 1222 if(!item) return; 1223 const badges = Array.isArray(item.badges) ? item.badges : []; 1224 if(!badges.length) return; 1225 1226 // Find a title node to attach under (prefer main h1/h2) 1227 let title = null; 1228 try{ 1229 title = document.querySelector("main h1") || document.querySelector("main h2") || document.querySelector("h1") || document.querySelector("h2"); 1230 }catch(e){} 1231 if(!title || !isVisible(title)) return; 1232 if(title.parentElement && title.parentElement.querySelector("[data-vx-product-badges='1']")) return; 1233 1234 const wrap=document.createElement("div"); 1235 wrap.setAttribute("data-vx-product-badges","1"); 1236 wrap.style.display="flex"; 1237 wrap.style.gap="8px"; 1238 wrap.style.flexWrap="wrap"; 1239 wrap.style.marginTop="10px"; 1240 wrap.style.marginBottom="6px"; 1241 1242 for(let i=0;i<badges.length && i<4;i++){ 1243 const b=badges[i]||{}; 1244 const txt=String(b.text||"").trim(); 1245 if(!txt) continue; 1246 const pill=document.createElement("span"); 1247 pill.textContent=txt.toUpperCase(); 1248 pill.style.display="inline-flex"; 1249 pill.style.alignItems="center"; 1250 pill.style.padding="6px 10px"; 1251 pill.style.borderRadius="8px"; 1252 pill.style.fontSize="11px"; 1253 pill.style.fontWeight="900"; 1254 pill.style.letterSpacing=".08em"; 1255 pill.style.textTransform="uppercase"; 1256 pill.style.boxShadow="0 6px 18px rgba(0,0,0,.18)"; 1257 pill.style.background=String(b.bg||"#111111"); 1258 pill.style.color=String(b.fg||"#ffffff"); 1259 wrap.appendChild(pill); 1260 } 1261 if(!wrap.childNodes.length) return; 1262
1263 // Insert right after title 1264 try{ 1265 const p=title.parentElement; 1266 if(p) p.insertBefore(wrap, title.nextSibling); 1267 }catch(e){ 1268 try{ title.after(wrap); }catch(e2){} 1269 } 1270 }catch(e){} 1271 }; 1272 1273 // run once + on SPA navigation 1274 let scheduled=false; 1275 const schedule=()=>{ 1276 if(scheduled) return; 1277 scheduled=true; 1278 setTimeout(()=>{scheduled=false;ensure();},250); 1279 }; 1280 schedule(); 1281 // Note: MutationObserver for badges kept as is - doesn't affect software section 1282 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 1283 window.addEventListener("popstate", schedule); 1284 }catch(e){} 1285})(); 1286 1287/* Product page UX: move "ÐÑогÑаммное обеÑпеÑение" block below "ХаÑакÑеÑиÑÑики" - DISABLED */ 1288;(function(){ 1289 try{ 1290 // DISABLED: Let React handle software section rendering 1291 return; 1292 const VX_VER=7; 1293 if((window.__vxMoveSoftwareBelowSpecsVer||0)>=VX_VER)return; 1294 window.__vxMoveSoftwareBelowSpecsVer=VX_VER; 1295 1296 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 1297 if(isAdmin())return; 1298 const getPid=()=>{ 1299 try{ 1300 const path=String(location.pathname||""); 1301 if(path.indexOf("/product/")!==0) return ""; 1302 return decodeURIComponent(path.replace(/^\/product\//,"").replace(/\/.*$/,"")).trim(); 1303 }catch(e){ return ""; } 1304 }; 1305 1306 const low=(s)=>String(s||"").toLowerCase().replace(/\s+/g," ").trim(); 1307 const isVisible=(el)=>{ 1308 try{ 1309 if(!el||el.nodeType!==1)return false; 1310 const cs=getComputedStyle(el); 1311 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 1312 return (el.getClientRects&&el.getClientRects().length>0); 1313 }catch(e){return true} 1314 }; 1315 1316 const norm=(s)=>String(s||"").replace(/\s+/g," ").trim().toLowerCase(); 1317 const uniq=(arr)=>{ 1318 const out=[]; 1319 const seen=new Set(); 1320 for(const x of arr){ 1321 if(!x || x.nodeType!==1) continue; 1322 if(seen.has(x)) continue; 1323 seen.add(x); out.push(x); 1324 } 1325 return out; 1326 }; 1327 1328 const findBlocksByHeading=(needle)=>{ 1329 const nd=norm(needle); 1330 const out=[]; 1331 try{ 1332 const hs=[...document.querySelectorAll("h1,h2,h3")]; 1333 for(const h of hs){ 1334 const t=norm(h.textContent||""); 1335 if(!t) continue; 1336 if(!(t===nd || t.indexOf(nd)!==-1)) continue; 1337 let cur=h; 1338 let picked=null; 1339 for(let i=0;i<10 && cur;i++){ 1340 if(cur.nodeType!==1){ cur=cur.parentElement; continue; } 1341 const tag=(cur.tagName||"").toUpperCase(); 1342 if(tag==="SECTION"){ picked=cur; break; } 1343 // Prefer larger semantic blocks if section isn't used 1344 if(tag==="ARTICLE" || tag==="ASIDE"){ picked=cur; break; } 1345 cur=cur.parentElement; 1346 } 1347 if(!picked){ 1348 picked=h.parentElement || null; 1349 } 1350 if(picked) out.push(picked); 1351 } 1352 }catch(e){} 1353 return uniq(out); 1354 }; 1355 1356 const findSpecsBlock=()=>{ 1357 // Old products often use section.bg-gray-50; new/mobile can differ. 1358 try{ 1359 const secs=[...document.querySelectorAll("section.bg-gray-50")]; 1360 for(const sec of secs){ 1361 const h2=sec.querySelector("h2"); 1362 if(!h2) continue; 1363 const t=norm(h2.textContent||""); 1364 if(t && (t==="Ñ Ð°ÑакÑеÑиÑÑики" || t.indexOf("Ñ Ð°ÑакÑеÑиÑÑики")!==-1)) return sec; 1365 } 1366 }catch(e){} 1367 const blocks=findBlocksByHeading("Ñ Ð°ÑакÑеÑиÑÑики"); 1368 // Prefer a SECTION if present 1369 for(const b of blocks){ 1370 try{ if(String(b.tagName||"").toUpperCase()==="SECTION") return b; }catch(e){} 1371 } 1372 return blocks[0] || null; 1373 }; 1374 1375 const findSoftwareBlocks=()=>{ 1376 const blocks=findBlocksByHeading("пÑогÑаммное обеÑпеÑение"); 1377 // Keep only likely sections/blocks 1378 return blocks.slice(0, 4); 1379 }; 1380 1381 // Hide software sections ASAP to avoid initial "wrong" design flash. 1382 const STYLE_ID="vx-sw-pending-style"; 1383 try{ 1384 if(!document.getElementById(STYLE_ID)){ 1385 const st=document.createElement("style"); 1386 st.id=STYLE_ID; 1387 st.textContent="[data-vx-sw-pending='1']{display:none!important;visibility:hidden!important}"; 1388 (document.head || document.documentElement) && (document.head || document.documentElement).appendChild(st); 1389 } 1390 }catch(e){} 1391 1392 const preHideSoftware=()=>{
1393 try{ 1394 const swBlocks=findSoftwareBlocks(); 1395 for(const sec of swBlocks){ 1396 if(!sec || sec.__vxHidePrep) continue; 1397 sec.__vxHidePrep = true; 1398 try{ sec.setAttribute("data-vx-sw-pending","1"); }catch(e){} 1399 try{ sec.style.display="none"; sec.style.visibility="hidden"; }catch(e){} 1400 } 1401 }catch(e){} 1402 }; 1403 1404 const unhideAllPending=()=>{ 1405 try{ 1406 const secs=[...document.querySelectorAll("[data-vx-sw-pending='1']")]; 1407 for(const sec of secs){ 1408 try{ sec.removeAttribute("data-vx-sw-pending"); }catch(e){} 1409 try{ sec.style.display=""; sec.style.visibility=""; }catch(e){} 1410 } 1411 }catch(e){} 1412 }; 1413 // Safety net: never let the section disappear forever. 1414 setTimeout(unhideAllPending, 6000); 1415 1416 let support=null; 1417 let supportPromise=null; 1418 const fetchSupport=async()=>{ 1419 try{ 1420 const r=await fetch("/api/get_data.php?ts="+String(Date.now()),{credentials:"same-origin"}); 1421 const ct=r.headers.get("content-type")||""; 1422 if(!r.ok) throw new Error("http "+r.status); 1423 if(ct.indexOf("application/json")===-1) throw new Error("not json"); 1424 const j=await r.json(); 1425 return j && j.supportSettings ? j.supportSettings : null; 1426 }catch(e){ return null; } 1427 }; 1428 const getSupportItemsForPid=(sup, pid)=>{ 1429 try{ 1430 if(!sup) return []; 1431 const items = Array.isArray(sup.items) ? sup.items : (Array.isArray(sup) ? sup : []); 1432 return items.filter(it=>it && String(it.productId||"")===String(pid)); 1433 }catch(e){ return []; } 1434 }; 1435 let _vxIsNormalizing=false; 1436 const normalizeSoftwareSection=(sec, items)=>{ 1437 try{ 1438 if(!sec) return; 1439 const its = Array.isArray(items) ? items : []; 1440 let key=""; 1441 try{ 1442 key = its.map(it=>
1442String((it&& (it.id||it.name||"")))).join("|") + "||" + 1443 its.map(it=>String((it&&(it.version||"")))).join("|") + "||" + 1444 its.map(it=>String((it&&(it.size||"")))).join("|") + "||" + 1445 its.map(it=>String((it&&(it.description||"")))).join("|"); 1446 }catch(e){ key = String(its.length); } 1447 try{ 1448 const marker = sec.querySelector && sec.querySelector("[data-vx-software-normalized='1']"); 1449 if(marker && sec.__vxSwKey === key) return; 1450 sec.__vxSwKey = key; 1451 }catch(e){} 1452 _vxIsNormalizing=true; 1453 1454 // Build unified download list UI (no extra images) 1455 const wrap=document.createElement("div"); 1456 wrap.setAttribute("data-vx-software-normalized","1"); 1457 wrap.style.maxWidth="56rem"; 1458 wrap.style.margin="0 auto"; 1459 1460 const head=document.createElement("div"); 1461 head.style.textAlign="center"; 1462 head.style.marginBottom="48px"; 1463 1464 const h2=document.createElement("h2"); 1465 h2.textContent="ÐÑогÑаммное обеÑпеÑение"; 1466 h2.style.fontSize="30px"; 1467 h2.style.fontWeight="900"; 1468 h2.style.textTransform="uppercase"; 1469 h2.style.letterSpacing="-.02em"; 1470 h2.style.margin="0 0 12px"; 1471 1472 const p=document.createElement("p"); 1473 p.textContent="ÐÑиÑиалÑнÑе дÑайвеÑÑ Ð¸ ÑÑилиÑÑ Ð´Ð»Ñ ÑÑÑÑойÑÑва"; 1474 p.style.margin="0"; 1475 p.style.color="rgba(156,163,175,1)"; 1476 1477 head.appendChild(h2); 1478 head.appendChild(p); 1479 wrap.appendChild(head); 1480 1481 const list=document.createElement("div"); 1482 list.style.display="flex"; 1483 list.style.flexDirection="column"; 1484 list.style.gap="12px"; 1485 1486 if(its.length===0){ 1487 const empty=document.createElement("div"); 1488 empty.textContent="ÐагÑÑжаем ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ ÑкаÑиваниÑâ¦"; 1489 empty.style.background="rgba(255,255,255,.06)"; 1490 empty.style.border="1px solid rgba(255,255,255,.12)"; 1491 empty.style.borderRadius="16px"; 1492 empty.style.padding="16px"; 1493 empty.style.color="rgba(229,231,235,1)"; 1494 list.appendChild(empty); 1495 } else { 1496 for(let i=0;i<its.length && i<6;i++){ 1497 const it=its[i]||{}; 1498 const row=document.createElement("div"); 1499 row.style.display="flex"; 1500 row.style.alignItems="center"; 1501 row.style.gap="16px"; 1502 row.style.background="rgba(255,255,255,.05)"; 1503 row.style.border="1px solid rgba(255,255,255,.10)"; 1504 row.style.borderRadius="16px"; 1505 row.style.padding="16px"; 1506 1507 const icon=document.createElement("div"); 1508 icon.style.width="48px"; 1509 icon.style.height="48px"; 1510 icon.style.borderRadius="12px"; 1511 icon.style.background="rgba(0,0,0,.6)"; 1512 icon.style.border="1px solid rgba(255,255,255,.10)"; 1513 icon.style.display="flex"; 1514 icon.style.alignItems="center"; 1515 icon.style.justifyContent="center"; 1516 icon.style.color="#ff3b30"; 1517 icon.style.fontWeight="900"; 1518 icon.textContent="â"; 1519 1520 const info=document.createElement("div"); 1521 info.style.minWidth="0"; 1522 info.style.flex="1"; 1523 1524 const name=document.createElement("div"); 1525 name.textContent=String(it.name||"Файл"); 1526 name.style.fontSize="16px"; 1527 name.style.fontWeight="900"; 1528 name.style.textTransform="uppercase"; 1529 name.style.whiteSpace="nowrap"; 1530 name.style.overflow="hidden"; 1531 name.style.textOverflow="ellipsis"; 1532 name.style.marginBottom="4px"; 1533 1534 // Optional note/description (e.g. "ÐапÑÑк пÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ оÑÑÑеÑÑвлÑÑÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ админиÑÑÑаÑоÑа.") 1535 const descTxt = String(it.description||"").trim(); 1536 info.appendChild(name); 1537 if(descTxt){ 1538 const desc=document.createElement("div"); 1539 desc.textContent=descTxt; 1540 desc.style.marginTop="8px"; 1541 desc.style.fontSize="12px"; 1542 desc.style.lineHeight="1.35"; 1543 desc.style.color="rgba(209,213,219,1)"; 1544 desc.style.fontWeight="600"; 1545 desc.style.whiteSpace="pre-line"; 1546 info.appendChild(desc); 1547 } 1548 1549 const meta=document.createElement("div"); 1550 meta.style.marginTop = descTxt ? "8px" : "4px"; 1551 meta.style.fontSize="12px"; 1552 meta.style.color="rgba(156,163,175,1)"; 1553 meta.style.fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace"; 1554 meta.style.textTransform="uppercase";
1555 meta.textContent=[it.version,it.size].filter(Boolean).join(" ⢠"); 1556 info.appendChild(meta); 1557 1558 const a=document.createElement("a"); 1559 a.href=String(it.link||"#"); 1560 a.target="_blank"; 1561 a.rel="noopener noreferrer"; 1562 a.textContent="СкаÑаÑÑ"; 1563 a.style.display="inline-flex"; 1564 a.style.alignItems="center"; 1565 a.style.justifyContent="center"; 1566 a.style.gap="8px"; 1567 a.style.padding="10px 12px"; 1568 a.style.borderRadius="12px"; 1569 a.style.background="#ff3b30"; 1570 a.style.color="#fff"; 1571 a.style.fontWeight="900"; 1572 a.style.textTransform="uppercase"; 1573 a.style.fontSize="12px"; 1574 a.style.whiteSpace="nowrap"; 1575 a.style.textDecoration="none"; 1576 1577 row.appendChild(icon); 1578 row.appendChild(info); 1579 row.appendChild(a); 1580 list.appendChild(row); 1581 } 1582 } 1583 1584 wrap.appendChild(list); 1585 1586 // Clear section content and re-mount, keep section styling 1587 while(sec.firstChild) sec.removeChild(sec.firstChild); 1588 sec.style.background="#111"; 1589 sec.style.color="#fff"; 1590 sec.style.padding="80px 16px"; 1591 sec.appendChild(wrap); 1592 }catch(e){}finally{_vxIsNormalizing=false;} 1593 }; 1594 1595 const showSection=(sec)=>{ 1596 try{ 1597 sec.removeAttribute && sec.removeAttribute("data-vx-sw-pending"); 1598 sec.style.display=""; 1599 sec.style.visibility=""; 1600 }catch(e){} 1601 }; 1602 1603 const startTs = Date.now(); 1604 let lastPid=""; 1605 const ensure=()=>{ 1606 try{ 1607 if(_vxIsNormalizing) return; 1608 const pid=getPid(); 1609 if(!pid){ 1610 lastPid=""; 1611 return; 1612 } 1613 if(pid!==lastPid){ 1614 lastPid=pid; 1615 // reset caches on product change 1616 support=null; 1617 supportPromise=null; 1618 } 1619 const swSecs = findSoftwareBlocks(); 1620 if(!swSecs || !swSecs.length) return; 1621 1622 // Hide immediately to prevent wrong design flash. 1623 preHideSoftware(); 1624 1625 const spSec = findSpecsBlock(); 1626 // If specs isn't mounted yet (mobile), keep hidden briefly; if it never appears, render in-place. 1627 if(!spSec){ 1628 if(Date.now()-startTs > 900){ 1629 // Normalize in-place with placeholder and show (better than disappearing). 1630 for(const swSec of swSecs){ 1631 normalizeSoftwareSection(swSec, []); 1632 showSection(swSec); 1633 } 1634 } 1635 return; 1636 } 1637 1638 const parent = spSec.parentElement; 1639 if(!parent) return; 1640 1641 for(const swSec of swSecs){ 1642 if(!swSec || swSec===spSec) continue; 1643 // Ensure pending-hide is applied 1644 try{ 1645 if(!swSec.__vxHidePrep){ 1646 swSec.__vxHidePrep = true; 1647 swSec.setAttribute && swSec.setAttribute("data-vx-sw-pending","1"); 1648 swSec.style.display="none"; 1649 swSec.style.visibility="hidden"; 1650 } 1651 }catch(e){} 1652 1653 // If already after specs, skip 1654 try{ 1655 const pos = spSec.compareDocumentPosition(swSec); 1656 const after = !!(pos & Node.DOCUMENT_POSITION_FOLLOWING); 1657 if(after) { 1658 swSec.__vxMovedBelowSpecs=true; 1659 // We'll normalize + show below 1660 } 1661 }catch(e){} 1662 1663 // Move after specs section (if needed) 1664 try{ 1665 const pos = spSec.compareDocumentPosition(swSec); 1666 const after = !!(pos & Node.DOCUMENT_POSITION_FOLLOWING); 1667 if(!after){ 1668 parent.insertBefore(swSec, spSec.nextSibling); 1669 try{ swSec.style.marginTop = "18px"; }catch(e){} 1670 } 1671 try{ swSec.__vxMovedBelowSpecs = true; }catch(e){} 1672 }catch(e){} 1673 } 1674 1675 // Normalize immediately (placeholder), then update from support when loaded. 1676 for(const swSec of swSecs){ 1677 normalizeSoftwareSection(swSec, []); 1678 showSection(swSec); 1679 } 1680 1681 if(!supportPromise) supportPromise=fetchSupport(); 1682 supportPromise && supportPromise.then((sup)=>{ 1683 try{ 1684 support = sup; 1685 const items = (pid && support) ? getSupportItemsForPid(support, pid) : []; 1686 for(const swSec of swSecs){ 1687 normalizeSoftwareSection(swSec, items); 1688 showSection(swSec); 1689 } 1690 }catch(e){ 1691 for(const swSec of swSecs){ 1692 showSection(swSec); 1693 } 1694 } 1695 }); 1696 }catch(e){} 1697 }; 1698 1699 let scheduled=false; 1700 const schedule=()=>{ 1701 if(scheduled||_vxIsNormalizing) return; 1702 scheduled=true; 1703 setTimeout(()=>{scheduled=false;ensure();},0); 1704 }; 1705 // Run ASAP to avoid any visible jump 1706 // DISABLED: let React handle software section rendering 1707 // ensure(); 1708 // schedule(); 1709 // new MutationObserver((muts)=>{ 1710 // for(const m of muts){ 1711 // let node=m.target; 1712 // let el=node&&node.nodeType===1?node:node&&node.parentElement; 1713 // while(el){ 1714 // if(el.getAttribute&&el.getAttribute("data-vx-software-normalized")==="1") return; 1715 // el=el.parentElement; 1716 // } 1717 // } 1718 // schedule(); 1719 // }).observe(document.documentElement,{subtree:true,childList:true,characterData:true}); 1720 // window.addEventListener("popstate", schedule); 1721 // SPA navigations typically use history.pushState (no popstate). Hook it. 1722 try{ 1723 // DISABLED: let React handle software section rendering 1724 // if(!window.__vxSwHistoryHooked){ 1725 // window.__vxSwHistoryHooked=true; 1726 // const _ps=history.pushState; 1727 // const _rs=history.replaceState; 1728 // history.pushState=function(){ 1729 // const r=_ps.apply(this, arguments); 1730 // try{ schedule(); }catch(e){} 1731 // return r; 1732 // }; 1733 // history.replaceState=function(){ 1734 // const r=_rs.apply(this, arguments); 1735 // try{ schedule(); }catch(e){} 1736 // return r; 1737 // }; 1738 // window.addEventListener("hashchange", schedule); 1739 // } 1740 }catch(e){} 1741 // Mobile/slow devices: retry for a short window to catch late React renders. 1742 // DISABLED: let React handle software section rendering 1743 // let tries=0; 1744 // const int=setInterval(()=>{tries++; if(_vxIsNormalizing)return; try{ensure();}catch(e){} if(tries>40) try{clearInterval(int)}catch(e){} }, 250); 1745 }catch(e){} 1746})(); 1747 1748/* Product page: mark rich-content images for parsers (data-vx="rich-image") */ 1749;(function(){ 1750 try{ 1751 const VX_VER=1; 1752 if((window.__vxRichImagesMarkVer||0)>=VX_VER)return; 1753 window.__vxRichImagesMarkVer=VX_VER; 1754 1755 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 1756 if(isAdmin())return; 1757 1758 const onProduct=()=>String(location.pathname||"").indexOf("/product/")===0; 1759 1760 const isVisible=(el)=>{
1761 try{ 1762 if(!el||el.nodeType!==1)return false; 1763 const cs=getComputedStyle(el); 1764 if(cs.display==="none"||cs.visibility==="hidden"||cs.opacity==="0")return false; 1765 return (el.getClientRects&&el.getClientRects().length>0); 1766 }catch(e){return true} 1767 }; 1768 1769 const mark=(img)=>{ 1770 try{ 1771 if(!img || img.nodeType!==1) return; 1772 if(img.getAttribute("data-vx")==="rich-image") return; 1773 img.setAttribute("data-vx","rich-image"); 1774 const cn=String(img.className||""); 1775 if(cn.indexOf("vx-rich-image")===-1){ 1776 img.className = (cn ? (cn+" ") : "") + "vx-rich-image"; 1777 } 1778 }catch(e){} 1779 }; 1780 1781 const isSmallIcon=(img)=>{ 1782 try{ 1783 const r=img.getBoundingClientRect(); 1784 return (r.width>0 && r.height>0 && (r.width<=80 || r.height<=80)); 1785 }catch(e){ return false; } 1786 }; 1787 1788 const pickGalleryRoot=(imgs)=>{ 1789 // Heuristic: product gallery is near top and contains multiple large images/thumbnails. 1790 try{ 1791 const topImgs = imgs.filter(im=>{ 1792 try{ 1793 if(!isVisible(im)) return false; 1794 const r=im.getBoundingClientRect(); 1795 if(r.top<0 || r.top>700) return false; 1796 if(r.width<140 && r.height<140) return false; 1797 return true; 1798 }catch(e){ return false; } 1799 }); 1800 if(topImgs.length<2) return null; 1801 // find a common ancestor containing many imgs 1802 const countImgs=(node)=>{ 1803 try{ return node && node.querySelectorAll ? node.querySelectorAll("img").length : 0; }catch(e){ return 0; } 1804 }; 1805 let best=null, bestCount=0; 1806 for(const im of topImgs){ 1807 let cur=im.parentElement; 1808 for(let i=0;i<10 && cur;i++){ 1809 const c=countImgs(cur); 1810 if(c>=3 && c>bestCount){ 1811 best=cur; bestCount=c; 1812 } 1813 cur=cur.parentElement; 1814 } 1815 } 1816 return bestCount>=3 ? best : null; 1817 }catch(e){ return null; } 1818 }; 1819 1820 const ensure=()=>{ 1821 try{ 1822 if(!onProduct()) return; 1823 const main=document.querySelector("main") || document.body; 1824 if(!main) return; 1825 const imgs=[...main.querySelectorAll("img")].filter(isVisible); 1826 if(!imgs.length) return; 1827 1828 const galleryRoot = pickGalleryRoot(imgs); 1829 1830 for(const img of imgs){ 1831 try{ 1832 if(!img || img.nodeType!==1) continue; 1833 // Skip tiny UI icons/logos 1834 if(isSmallIcon(img)) continue; 1835 // Skip anything inside detected gallery root 1836 if(galleryRoot && galleryRoot.contains(img)) continue; 1837 // Skip if it looks like a product-card/catalog image (not product page rich) 1838 const a = img.closest ? img.closest("a[href*='/product/']") : null; 1839 if(a && a !== document.querySelector("a[href='"+location.pathname+"']")) { 1840 // If nested inside another product link, it's not rich content of current product. 1841 continue; 1842 } 1843 mark(img); 1844 }catch(e){} 1845 } 1846 }catch(e){} 1847 }; 1848 1849 let scheduled=false; 1850 const schedule=()=>{ 1851 if(scheduled) return; 1852 scheduled=true; 1853 setTimeout(()=>{scheduled=false;ensure();},50); 1854 }; 1855 1856 ensure(); 1857 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true,attributes:true}); 1858 window.addEventListener("popstate", schedule); 1859 try{ 1860 if(!window.__vxRichHistoryHooked){ 1861 window.__vxRichHistoryHooked=true; 1862 const _ps=history.pushState; 1863 const _rs=history.replaceState; 1864 history.pushState=function(){ 1865 const r=_ps.apply(this, arguments); 1866 try{ schedule(); }catch(e){} 1867 return r; 1868 }; 1869 history.replaceState=function(){ 1870 const r=_rs.apply(this, arguments); 1871 try{ schedule(); }catch(e){} 1872 return r; 1873 }; 1874 window.addEventListener("hashchange", schedule); 1875 } 1876 }catch(e){} 1877 }catch(e){} 1878})(); 1879 1880/* Product page: inject hidden social assets block for parsing (img[data-vx="social-image"]) */ 1881;(function(){ 1882 try{ 1883 const VX_VER=2;
1884 if((window.__vxSocialAssetsInjectVer||0)>=VX_VER)return; 1885 window.__vxSocialAssetsInjectVer=VX_VER; 1886 1887 const isAdmin=()=>String(location.pathname||"").indexOf("/admin")!==-1; 1888 if(isAdmin())return; 1889 1890 const getPid=()=>{ 1891 try{ 1892 const path=String(location.pathname||""); 1893 if(path.indexOf("/product/")!==0) return ""; 1894 return decodeURIComponent(path.replace(/^\/product\//,"").replace(/\/.*$/,"")).trim(); 1895 }catch(e){ return ""; } 1896 }; 1897 1898 const absUrl=(u)=>{ 1899 try{ 1900 const s=String(u||"").trim(); 1901 if(!s) return ""; 1902 if(/^https?:\/\//i.test(s)) return s; 1903 if(s.indexOf("//")===0) return location.protocol + s; 1904 if(s[0]==="/") return location.origin + s; 1905 return location.origin + "/" + s; 1906 }catch(e){ return ""; } 1907 }; 1908 1909 const getRichImageSrcs=()=>{ 1910 try{ 1911 const main=document.querySelector("main") || document.body; 1912 if(!main) return []; 1913 const imgs=[...main.querySelectorAll("img[data-vx='rich-image'],img.vx-rich-image")]; 1914 const out=[]; 1915 for(const im of imgs){ 1916 try{ 1917 if(!im) continue; 1918 const src = absUrl(im.currentSrc || im.getAttribute("src") || ""); 1919 if(!src) continue; 1920 if(out.indexOf(src)===-1) out.push(src); 1921 }catch(e){} 1922 } 1923 return out; 1924 }catch(e){ return []; } 1925 }; 1926 1927 const ensure=(pid, list)=>{ 1928 try{ 1929 // remove old block to avoid stale data between SPA navigations 1930 const olds=[...document.querySelectorAll(".vx-social-assets[data-vx-social='1']")]; 1931 for(const o of olds){ try{ o.remove(); }catch(e){} } 1932 if(!pid) return; 1933 if(!list || !list.length) return; 1934 1935 const wrap=document.createElement("div"); 1936 wrap.className="vx-social-assets"; 1937 wrap.setAttribute("data-vx-social","1"); 1938 wrap.style.display="none"; 1939 1940 for(let i=0;i<list.length && i<24;i++){ 1941 const src=absUrl(list[i]); 1942 if(!src) continue; 1943 const img=document.createElement("img"); 1944 img.setAttribute("data-vx","social-image"); 1945 img.setAttribute("data-vx-product", pid); 1946 img.src=src; 1947 img.alt="social asset"; 1948 wrap.appendChild(img); 1949 } 1950 if(!wrap.childNodes.length) return; 1951 (document.body || document.documentElement).appendChild(wrap); 1952 }catch(e){} 1953 }; 1954 1955 let lastPid=""; 1956 const run=async()=>{ 1957 try{ 1958 const pid=getPid(); 1959 if(!pid){ 1960 lastPid=""; 1961 ensure("", []); 1962 return; 1963 } 1964 if(pid===lastPid){ 1965 // still ensure exists (in case React wiped body children) 1966 } else { 1967 lastPid=pid; 1968 } 1969 const list = getRichImageSrcs(); 1970 ensure(pid, list); 1971 }catch(e){} 1972 }; 1973 1974 let scheduled=false; 1975 const schedule=()=>{ 1976 if(scheduled) return; 1977 scheduled=true; 1978 setTimeout(()=>{scheduled=false;run();},100); 1979 }; 1980 1981 schedule(); 1982 new MutationObserver(schedule).observe(document.documentElement,{subtree:true,childList:true}); 1983 window.addEventListener("popstate", schedule); 1984 try{ 1985 if(!window.__vxSocialHistoryHooked){ 1986 window.__vxSocialHistoryHooked=true; 1987 const _ps=history.pushState; 1988 const _rs=history.replaceState; 1989 history.pushState=function(){ 1990 const r=_ps.apply(this, arguments); 1991 try{ schedule(); }catch(e){} 1992 return r; 1993 }; 1994 history.replaceState=function(){ 1995 const r=_rs.apply(this, arguments); 1996 try{ schedule(); }catch(e){} 1997 return r; 1998 }; 1999 window.addEventListener("hashchange", schedule); 2000 } 2001 }catch(e){} 2002 }catch(e){} 2003})(); 2004 2005function Yx(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Ed={exports:{}},hn={};/** 2006 * @license React 2007 * react-jsx-runtime.production.js 2008 * 2009 * Copyright (c) Meta Platforms, Inc. and affiliates. 2010 * 2011 * This source code is licensed under the MIT license found in the 2012 * LICENSE file in the root directory of this source tree. 2013 */var ox;function eb(){if(ox)return hn;ox=1;var r=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function d(c,h,m){var y=null;if(m!==void 0&&(y=""+m),h.key!==void 0&&(y=""+h.key),"key"in h){m={};for(var u in h)u!=="key"&&(m[u]=h[u])}else m=h;return h=m.ref,{$$typeof:r,type:c,key:y,ref:h!==void 0?h:null,props:m}}return hn.Fragment=o,hn.jsx=d,hn.jsxs=d,hn}var cx;function tb(){return cx||(cx=1,Ed.exports=eb()),Ed.exports}var t=tb(),Cd={exports:{}},Ve={};/** 2014 * @license React 2015 * react.production.js 2016 * 2017 * Copyright (c) Meta Platforms, Inc. and affiliates. 2018 * 2019 * This source code is licensed under the MIT license found in the 2020 * LICENSE file in the root directory of this source tree. 2021 */var dx;function ab(){if(dx)return Ve;dx=1;var r=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),d=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),y=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),C=Symbol.iterator;function g(w){return w===null||typeof w!="object"?null:(w=C&&w[C]||w["@@iterator"],typeof w=="function"?w:null)}var O={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,_={};function k(w,V,M){this.props=w,this.context=V,this.refs=_,this.updater=M||O}k.prototype.isReactComponent={},k.prototype.setState=function(w,V){if(typeof w!="object"&&typeof w!="function"&&w!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,w,V,"setState")},k.prototype.forceUpdate=function(w){this.updater.enqueueForceUpdate(this,w,"forceUpdate")};function R(){}R.prototype=k.prototype;function D(w,V,M){this.props=w,this.context=V,this.refs=_,this.updater=M||O}var te=D.prototype=new R;te.constructor=D,E(te,k.prototype),te.isPureReactComponent=!0;var W=Array.isArray;function $(){}var H={H:null,A:null,T:null,S:null},J=Object.prototype.hasOwnProperty;function Y(w,V,M){var X=M.ref;return{$$typeof:r,type:w,key:V,ref:X!==void 0?X:null,props:M}}function G(w,V){return Y(w.type,V,w.props)}function U(w){return typeof w=="object"&&w!==null&&w.$$typeof===r}function q(w){var V={"=":"=0",":":"=2"};return"$"+w.replace(/[=:]/g,function(M){return V[M]})}var P=/\/+/g;function pe(w,V){return typeof w=="object"&&w!==null&&w.key!=null?q(""+w.key):V.toString(36)}function B(w){switch(w.status){case"fulfilled":return w.value;case"rejected":throw w.reason;default:switch(typeof w.status=="string"?w.then($,$):(w.status="pending",w.then(function(V){w.status==="pending"&&(w.status="fulfilled",w.value=V)},function(V){w.status==="pending"&&(w.status="rejected",w.reason=V)})),w.status){case"fulfilled":return w.value;case"rejected":throw w.reason}}throw w}function z(w,V,M,X,le){var xe=typeof w;(xe==="undefined"||xe==="boolean")&&(w=null);var ge=!1;if(w===null)ge=!0;else switch(xe){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(w.$$typeof){case r:case o:ge=!0;break;case N:return ge=w._init,z(ge(w._payload),V,M,X,le)}}if(ge)return le=le(w),ge=X===""?"."+pe(w,0):X,W(le)?(M="",ge!=null&&(M=ge.replace(P,"$&/")+"/"),z(le,V,M,"",function(Ee){return Ee})):le!=null&&(U(le)&&(le=G(le,M+(le.key==null||w&&w.key===le.key?"":(""+le.key).replace(P,"$&/")+"/")+ge)),V.push(le)),1;ge=0;var je=X===""?".":X+":";if(W(w))for(var Ne=0;Ne<w.length;Ne++)X=w[Ne],xe=je+pe(X,Ne),ge+=z(X,V,M,xe,le);else if(Ne=g(w),typeof Ne=="function")for(w=Ne.call(w),Ne=0;!(X=w.next()).done;)X=X.value,xe=je+pe(X,Ne++),ge+=z(X,V,M,xe,le);else if(xe==="object"){if(typeof w.then=="function")return z(B(w),V,M,X,le);throw V=String(w),Error("Objects are not valid as a React child (found: "+(V==="[object Object]"?"object with keys {"+Object.keys(w).join(", ")+"}":V)+"). If you meant to render a collection of children, use an array instead.")}return ge}function v(w,V,M){if(w==null)return w;var X=[],le=0;return z(w,X,"","",function(xe){return V.call(M,xe,le++)}),X}function T(w){if(w._status===-1){var V=w._result;V=V(),V.then(function(M){(w._status===0||w._status===-1)&&(w._status=1,w._result=M)},function(M){(w._status===0||w._status===-1)&&(w._status=2,w._result=M)}),w._status===-1&&(w._status=0,w._result=V)}if(w._status===1)return w._result.default;throw w._result}var A=typeof reportError=="function"?reportError:function(w){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var V=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof w=="object"&&w!==null&&typeof w.message=="string"?String(w.message):String(w),error:w});if(!window.dispatchEvent(V))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",w);return}console.error(w)},K={map:v,forEach:function(w,V,M){v(w,function(){V.apply(this,arguments)},M)},count:function(w){var V=0;return v(w,function(){V++}),V},toArray:function(w){return v(w,function(V){return V})||[]},only:function(w){if(!U(w))throw Error("React.Children.only expected to receive a single React element child.");return w}};return Ve.Activity=b,Ve.Children=K,Ve.Component=k,Ve.Fragment=d,Ve.Profiler=h,Ve.PureComponent=
vendor: 14,859 bytes, lines 2021-2045
2021D,Ve.StrictMode=c,Ve.Suspense=f,Ve.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=H,Ve.__COMPILER_RUNTIME={__proto__:null,c:function(w){return H.H.useMemoCache(w)}},Ve.cache=function(w){return function(){return w.apply(null,arguments)}},Ve.cacheSignal=function(){return null},Ve.cloneElement=function(w,V,M){if(w==null)throw Error("The argument must be a React element, but you passed "+w+".");var X=E({},w.props),le=w.key;if(V!=null)for(xe in V.key!==void 0&&(le=""+V.key),V)!J.call(V,xe)||xe==="key"||xe==="__self"||xe==="__source"||xe==="ref"&&V.ref===void 0||(X[xe]=V[xe]);var xe=arguments.length-2;if(xe===1)X.children=M;else if(1<xe){for(var ge=Array(xe),je=0;je<xe;je++)ge[je]=arguments[je+2];X.children=ge}return Y(w.type,le,X)},Ve.createContext=function(w){return w={$$typeof:y,_currentValue:w,_currentValue2:w,_threadCount:0,Provider:null,Consumer:null},w.Provider=w,w.Consumer={$$typeof:m,_context:w},w},Ve.createElement=function(w,V,M){var X,le={},xe=null;if(V!=null)for(X in V.key!==void 0&&(xe=""+V.key),V)J.call(V,X)&&X!=="key"&&X!=="__self"&&X!=="__source"&&(le[X]=V[X]);var ge=arguments.length-2;if(ge===1)le.children=M;else if(1<ge){for(var je=Array(ge),Ne=0;Ne<ge;Ne++)je[Ne]=arguments[Ne+2];le.children=je}if(w&&w.defaultProps)for(X in ge=w.defaultProps,ge)le[X]===void 0&&(le[X]=ge[X]);return Y(w,xe,le)},Ve.createRef=function(){return{current:null}},Ve.forwardRef=function(w){return{$$typeof:u,render:w}},Ve.isValidElement=U,Ve.lazy=function(w){return{$$typeof:N,_payload:{_status:-1,_result:w},_init:T}},Ve.memo=function(w,V){return{$$typeof:x,type:w,compare:V===void 0?null:V}},Ve.startTransition=function(w){var V=H.T,M={};H.T=M;try{var X=w(),le=H.S;le!==null&&le(M,X),typeof X=="object"&&X!==null&&typeof X.then=="function"&&X.then($,A)}catch(xe){A(xe)}finally{V!==null&&M.types!==null&&(V.types=M.types),H.T=V}},Ve.unstable_useCacheRefresh=function(){return H.H.useCacheRefresh()},Ve.use=function(w){return H.H.use(w)},Ve.useActionState=function(w,V,M){return H.H.useActionState(w,V,M)},Ve.useCallback=function(w,V){return H.H.useCallback(w,V)},Ve.useContext=function(w){return H.H.useContext(w)},Ve.useDebugValue=function(){},Ve.useDeferredValue=function(w,V){return H.H.useDeferredValue(w,V)},Ve.useEffect=function(w,V){return H.H.useEffect(w,V)},Ve.useEffectEvent=function(w){return H.H.useEffectEvent(w)},Ve.useId=function(){return H.H.useId()},Ve.useImperativeHandle=function(w,V,M){return H.H.useImperativeHandle(w,V,M)},Ve.useInsertionEffect=function(w,V){return H.H.useInsertionEffect(w,V)},Ve.useLayoutEffect=function(w,V){return H.H.useLayoutEffect(w,V)},Ve.useMemo=function(w,V){return H.H.useMemo(w,V)},Ve.useOptimistic=function(w,V){return H.H.useOptimistic(w,V)},Ve.useReducer=function(w,V,M){return H.H.useReducer(w,V,M)},Ve.useRef=function(w){return H.H.useRef(w)},Ve.useState=function(w){return H.H.useState(w)},Ve.useSyncExternalStore=function(w,V,M){return H.H.useSyncExternalStore(w,V,M)},Ve.useTransition=function(){return H.H.useTransition()},Ve.version="19.2.3",Ve}var ux;function ru(){return ux||(ux=1,Cd.exports=ab()),Cd.exports}var j=ru();const oo=Yx(j);var Td={exports:{}},xn={},_d={exports:{}},Rd={};/** 2022 * @license React 2023 * scheduler.production.js 2024 * 2025 * Copyright (c) Meta Platforms, Inc. and affiliates. 2026 * 2027 * This source code is licensed under the MIT license found in the 2028 * LICENSE file in the root directory of this source tree. 2029 */var mx;function lb(){return mx||(mx=1,(function(r){function o(z,v){var T=z.length;z.push(v);e:for(;0<T;){var A=T-1>>>1,K=z[A];if(0<h(K,v))z[A]=v,z[T]=K,T=A;else break e}}function d(z){return z.length===0?null:z[0]}function c(z){if(z.length===0)return null;var v=z[0],T=z.pop();if(T!==v){z[0]=T;e:for(var A=0,K=z.length,w=K>>>1;A<w;){var V=2*(A+1)-1,M=z[V],X=V+1,le=z[X];if(0>h(M,T))X<K&&0>h(le,M)?(z[A]=le,z[X]=T,A=X):(z[A]=M,z[V]=T,A=V);else if(X<K&&0>h(le,T))z[A]=le,z[X]=T,A=X;else break e}}return v}function h(z,v){var T=z.sortIndex-v.sortIndex;return T!==0?T:z.id-v.id}if(r.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;r.unstable_now=function(){return m.now()}}else{var y=Date,u=y.now();r.unstable_now=function(){return y.now()-u}}var f=[],x=[],N=1,b=null,C=3,g=!1,O=!1,E=!1,_=!1,k=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function te(z){for(var v=d(x);v!==null;){if(v.callback===null)c(x);else if(v.startTime<=z)c(x),v.sortIndex=v.expirationTime,o(f,v);else break;v=d(x)}}function W(z){if(E=!1,te(z),!O)if(d(f)!==null)O=!0,$||($=!0,q());else{var v=d(x);v!==null&&B(W,v.startTime-z)}}var $=!1,H=-1,J=5,Y=-1;function G(){return _?!0:!(r.unstable_now()-Y<J)}function U(){if(_=!1,$){var z=r.unstable_now();Y=z;var v=!0;try{e:{O=!1,E&&(E=!1,R(H),H=-1),g=!0;var T=C;try{t:{for(te(z),b=d(f);b!==null&&!(b.expirationTime>z&&G());){var A=b.callback;if(typeof A=="function"){b.callback=null,C=b.priorityLevel;var K=A(b.expirationTime<=z);if(z=r.unstable_now(),typeof K=="function"){b.callback=K,te(z),v=!0;break t}b===d(f)&&c(f),te(z)}else c(f);b=d(f)}if(b!==null)v=!0;else{var w=d(x);w!==null&&B(W,w.startTime-z),v=!1}}break e}finally{b=null,C=T,g=!1}v=void 0}}finally{v?q():$=!1}}}var q;if(typeof D=="function")q=function(){D(U)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,pe=P.port2;P.port1.onmessage=U,q=function(){pe.postMessage(null)}}else q=function(){k(U,0)};function B(z,v){H=k(function(){z(r.unstable_now())},v)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(z){z.callback=null},r.unstable_forceFrameRate=function(z){0>z||125<z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):J=0<z?Math.floor(1e3/z):5},r.unstable_getCurrentPriorityLevel=function(){return C},r.unstable_next=function(z){switch(C){case 1:case 2:case 3:var v=3;break;default:v=C}var T=C;C=v;try{return z()}finally{C=T}},r.unstable_requestPaint=function(){_=!0},r.unstable_runWithPriority=function(z,v){switch(z){case 1:case 2:case 3:case 4:case 5:break;default:z=3}var T=C;C=z;try{return v()}finally{C=T}},r.unstable_scheduleCallback=function(z,v,T){var A=r.unstable_now();switch(typeof T=="object"&&T!==null?(T=T.delay,T=typeof T=="number"&&0<T?A+T:A):T=A,z){case 1:var K=-1;break;case 2:K=250;break;case 5:K=1073741823;break;case 4:K=1e4;break;default:K=5e3}return K=T+K,z={id:N++,callback:v,priorityLevel:z,startTime:T,expirationTime:K,sortIndex:-1},T>A?(z.sortIndex=T,o(x,z),d(f)===null&&z===d(x)&&(E?(R(H),H=-1):E=!0,B(W,T-A))):(z.sortIndex=K,o(f,z),O||g||(O=!0,$||($=!0,q()))),z},r.unstable_shouldYield=G,r.unstable_wrapCallback=function(z){var v=C;return function(){var T=C;C=v;try{return z.apply(this,arguments)}finally{C=T}}}})(Rd)),Rd}var hx;function sb(){return hx||(hx=1,_d.exports=lb()),_d.exports}var Md={exports:{}},Wt={};/** 2030 * @license React 2031 * react-dom.production.js 2032 * 2033 * Copyright (c) Meta Platforms, Inc. and affiliates. 2034 * 2035 * This source code is licensed under the MIT license found in the 2036 * LICENSE file in the root directory of this source tree. 2037 */var xx;function rb(){if(xx)return Wt;xx=1;var r=ru();function o(f){var x="https://react.dev/errors/"+f;if(1<arguments.length){x+="?args[]="+encodeURIComponent(arguments[1]);for(var N=2;N<arguments.length;N++)x+="&args[]="+encodeURIComponent(arguments[N])}return"Minified React error #"+f+"; visit "+x+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function d(){}var c={d:{f:d,r:function(){throw Error(o(522))},D:d,C:d,L:d,m:d,X:d,S:d,M:d},p:0,findDOMNode:null},h=Symbol.for("react.portal");function m(f,x,N){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:h,key:b==null?null:""+b,children:f,containerInfo:x,implementation:N}}var y=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(f,x){if(f==="font")return"";if(typeof x=="string")return x==="use-credentials"?x:""}return Wt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=c,Wt.createPortal=function(f,x){var N=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!x||x.nodeType!==1&&x.nodeType!==9&&x.nodeType!==11)throw Error(o(299));return m(f,x,null,N)},Wt.flushSync=function(f){var x=y.T,N=c.p;try{if(y.T=null,c.p=2,f)return f()}finally{y.T=x,c.p=N,c.d.f()}},Wt.preconnect=function(f,x){typeof f=="string"&&(x?(x=x.crossOrigin,x=typeof x=="string"?x==="use-credentials"?x:"":void 0):x=null,c.d.C(f,x))},Wt.prefetchDNS=function(f){typeof f=="string"&&c.d.D(f)},Wt.preinit=function(f,x){if(typeof f=="string"&&x&&typeof x.as=="string"){var N=x.as,b=u(N,x.crossOrigin),C=typeof x.integrity=="string"?x.integrity:void 0,g=typeof x.fetchPriority=="string"?x.fetchPriority:void 0;N==="style"?c.d.S(f,typeof x.precedence=="string"?x.precedence:void 0,{crossOrigin:b,integrity:C,fetchPriority:g}):N==="script"&&c.d.X(f,{crossOrigin:b,integrity:C,fetchPriority:g,nonce:typeof x.nonce=="string"?x.nonce:void 0})}},Wt.preinitModule=function(f,x){if(typeof f=="string")if(typeof x=="object"&&x!==null){if(x.as==null||x.as==="script"){var N=u(x.as,x.crossOrigin);c.d.M(f,{crossOrigin:N,integrity:typeof x.integrity=="string"?x.integrity:void 0,nonce:typeof x.nonce=="string"?x.nonce:void 0})}}else x==null&&c.d.M(f)},Wt.preload=function(f,x){if(typeof f=="string"&&typeof x=="object"&&x!==null&&typeof x.as=="string"){var N=x.as,b=u(N,x.crossOrigin);c.d.L(f,N,{crossOrigin:b,integrity:typeof x.integrity=="string"?x.integrity:void 0,nonce:typeof x.nonce=="string"?x.nonce:void 0,type:typeof x.type=="string"?x.type:void 0,fetchPriority:typeof x.fetchPriority=="string"?x.fetchPriority:void 0,referrerPolicy:typeof x.referrerPolicy=="string"?x.referrerPolicy:void 0,imageSrcSet:typeof x.imageSrcSet=="string"?x.imageSrcSet:void 0,imageSizes:typeof x.imageSizes=="string"?x.imageSizes:void 0,media:typeof x.media=="string"?x.media:void 0})}},Wt.preloadModule=function(f,x){if(typeof f=="string")if(x){var N=u(x.as,x.crossOrigin);c.d.m(f,{as:typeof x.as=="string"&&x.as!=="script"?x.as:void 0,crossOrigin:N,integrity:typeof x.integrity=="string"?x.integrity:void 0})}else c.d.m(f)},Wt.requestFormReset=function(f){c.d.r(f)},Wt.unstable_batchedUpdates=function(f,x){return f(x)},Wt.useFormState=function(f,x,N){return y.H.useFormState(f,x,N)},Wt.useFormStatus=function(){return y.H.useHostTransitionStatus()},Wt.version="19.2.3",Wt}var px;function nb(){if(px)return Md.exports;px=1;function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(o){console.error(o)}}return r(),Md.exports=rb(),Md.exports}/** 2038 * @license React 2039 * react-dom-client.production.js 2040 * 2041 * Copyright (c) Meta Platforms, Inc. and affiliates. 2042 * 2043 * This source code is licensed under the MIT license found in the 2044 * LICENSE file in the root directory of this source tree. 2045 */var fx;function ib(){if(fx)return xn;fx=1;var r=sb(),o=ru(),d=nb();function c(e){var a="https://react.dev/errors/"+e;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)a+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+e+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function m(e){var a=e,l=e;if(e.alternate)for(;a.return;)a=a.return;else{e=a;do a=e,(a.flags&4098)!==0&&(l=a.return),e=a.return;while(e)}return a.tag===3?l:null}function y(e){if(e.tag===13){var a=e.memoizedState;if(a===null&&(e=e.alternate,e!==null&&(a=e.memoizedState)),a!==null)return a.dehydrated}return null}function u(e){if(e.tag===31){var a=e.memoizedState;if(a===null&&(e=e.alternate,e!==null&&(a=e.memoizedState)),a!==null)return a.dehydrated}return null}function f(e){if(m(e)!==e)throw Error(c(188))}function x(e){var a=e.alternate;if(!a){if(a=m(e),a===null)throw Error(c(188));return a!==e?null:e}for(var l=e,s=a;;){var n=l.return;if(n===null)break;var i=n.alternate;if(i===null){if(s=n.return,s!==null){l=s;continue}break}if(n.child===i.child){for(i=n.child;i;){if(i===l)return f(n),e;if(i===s)return f(n),a;i=i.sibling}throw Error(c(188))}if(l.return!==s.return)l=n,s=i;else{for(var p=!1,S=n.child;S;){if(S===l){p=!0,l=n,s=i;break}if(S===s){p=!0,s=n,l=i;break}S=S.sibling}if(!p){for(S=i.child;S;){if(S===l){p=!0,l=i,s=n;break}if(S===s){p=!0,s=i,l=n;break}S=S.sibling}if(!p)throw Error(c(189))}}if(l.alternate!==s)throw Error(c(190))}if(l.tag!==3)throw Error(c(188));return l.stateNode.current===l?e:a}function N(e){var a=e.tag;if(a===5||a===26||a===27||a===6)return e;for(e=e.child;e!==null;){if(a=N(e),a!==null)return a;e=e.sibling}return null}var b=Object.assign,C=Symbol.for("react.element"),g=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),R=Symbol.for("react.consumer"),D=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),$=Symbol.for("react.suspense_list"),H=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),Y=Symbol.for("react.activity"),G=Symbol.for("react.memo_cache_sentinel"),U=Symbol.iterator;function q(e){return e===null||typeof e!="object"?null:(e=U&&e[U]||e["@@iterator"],typeof e=="function"?e:null)}var P=Symbol.for("react.client.reference");function pe(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===P?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case E:return"Fragment";case k:return"Profiler";case _:return"StrictMode";case W:return"Suspense";case $:return"SuspenseList";case Y:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case O:return"Portal";case D:return e.displayName||"Context";case R:return(e._context.displayName||"Context")+".Consumer";case te:var a=e.render;return e=e.displayName,e||(e=a.displayName||a.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case H:return a=e.displayName||null,a!==null?a:pe(e.type)||"Memo";case J:a=e._payload,e=e._init;try{return pe(e(a))}catch{}}return null}var B=Array.isArray,z=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,T={pending:!1,data:null,method:null,action:null},A=[],K=-1;function w(e){return{current:e}}function V(e){0>K||(e.current=A[K],A[K]=null,K--)}function M(e,a){K++,A[K]=e.current,e.current=a}var X=w(null),le=w(null),xe=w(null),ge=w(null);function je(e,a){switch(M(xe,a),M(le,e),M(X,null),a.nodeType){case 9:case 11:e=(e
vendor: 10,057 bytes, lines 2045-2052
2045=a.documentElement)&&(e=e.namespaceURI)?Rh(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=Rh(a),e=Mh(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}V(X),M(X,e)}function Ne(){V(X),V(le),V(xe)}function Ee(e){e.memoizedState!==null&&M(ge,e);var a=X.current,l=Mh(a,e.type);a!==l&&(M(le,e),M(X,l))}function Ge(e){le.current===e&&(V(X),V(le)),ge.current===e&&(V(ge),cn._currentValue=T)}var it,Ua;function ce(e){if(it===void 0)try{throw Error()}catch(l){var a=l.stack.trim().match(/\n( *(at )?)/);it=a&&a[1]||"",Ua=-1<l.stack.indexOf(` 2046 at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return` 2047`+it+e+Ua}var ve=!1;function be(e,a){if(!e||ve)return"";ve=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(a){var he=function(){throw Error()};if(Object.defineProperty(he.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(he,[])}catch(re){var ae=re}Reflect.construct(e,[],he)}else{try{he.call()}catch(re){ae=re}e.call(he.prototype)}}else{try{throw Error()}catch(re){ae=re}(he=e())&&typeof he.catch=="function"&&he.catch(function(){})}}catch(re){if(re&&ae&&typeof re.stack=="string")return[re.stack,ae.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=s.DetermineComponentFrameRoot(),p=i[0],S=i[1];if(p&&S){var L=p.split(` 2048`),ee=S.split(` 2049`);for(n=s=0;s<L.length&&!L[s].includes("DetermineComponentFrameRoot");)s++;for(;n<ee.length&&!ee[n].includes("DetermineComponentFrameRoot");)n++;if(s===L.length||n===ee.length)for(s=L.length-1,n=ee.length-1;1<=s&&0<=n&&L[s]!==ee[n];)n--;for(;1<=s&&0<=n;s--,n--)if(L[s]!==ee[n]){if(s!==1||n!==1)do if(s--,n--,0>n||L[s]!==ee[n]){var ne=` 2050`+L[s].replace(" at new "," at ");return e.displayName&&ne.includes("<anonymous>")&&(ne=ne.replace("<anonymous>",e.displayName)),ne}while(1<=s&&0<=n);break}}}finally{ve=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?ce(l):""}function Oe(e,a){switch(e.tag){case 26:case 27:case 5:return ce(e.type);case 16:return ce("Lazy");case 13:return e.child!==a&&a!==null?ce("Suspense Fallback"):ce("Suspense");case 19:return ce("SuspenseList");case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return ce("Activity");default:return""}}function Je(e){try{var a="",l=null;do a+=Oe(e,l),l=e,e=e.return;while(e);return a}catch(s){return` 2051Error generating stack: `+s.message+` 2052`+s.stack}}var gt=Object.prototype.hasOwnProperty,Fe=r.unstable_scheduleCallback,Ht=r.unstable_cancelCallback,Xt=r.unstable_shouldYield,Pe=r.unstable_requestPaint,se=r.unstable_now,ye=r.unstable_getCurrentPriorityLevel,De=r.unstable_ImmediatePriority,et=r.unstable_UserBlockingPriority,Me=r.unstable_NormalPriority,tt=r.unstable_LowPriority,st=r.unstable_IdlePriority,$t=r.log,Kt=r.unstable_setDisableYieldValue,He=null,dt=null;function Lt(e){if(typeof $t=="function"&&Kt(e),dt&&typeof dt.setStrictMode=="function")try{dt.setStrictMode(He,e)}catch{}}var bt=Math.clz32?Math.clz32:ke,vl=Math.log,Ta=Math.LN2;function ke(e){return e>>>=0,e===0?32:31-(vl(e)/Ta|0)|0}var ie=256,We=262144,Re=4194304;function Xe(e){var a=e&42;if(a!==0)return a;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ie(e,a,l){var s=e.pendingLanes;if(s===0)return 0;var n=0,i=e.suspendedLanes,p=e.pingedLanes;e=e.warmLanes;var S=s&134217727;return S!==0?(s=S&~i,s!==0?n=Xe(s):(p&=S,p!==0?n=Xe(p):l||(l=S&~e,l!==0&&(n=Xe(l))))):(S=s&~i,S!==0?n=Xe(S):p!==0?n=Xe(p):l||(l=s&~e,l!==0&&(n=Xe(l)))),n===0?0:a!==0&&a!==n&&(a&i)===0&&(i=n&-n,l=a&-a,i>=l||i===32&&(l&4194048)!==0)?a:n}function Be(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function Ot(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ze(){var e=Re;return Re<<=1,(Re&62914560)===0&&(Re=4194304),e}function _a(e){for(var a=[],l=0;31>l;l++)a.push(e);return a}function Ra(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function es(e,a,l,s,n,i){var p=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var S=e.entanglements,L=e.expirationTimes,ee=e.hiddenUpdates;for(l=p&~l;0<l;){var ne=31-bt(l),he=1<<ne;S[ne]=0,L[ne]=-1;var ae=ee[ne];if(ae!==null)for(ee[ne]=null,ne=0;ne<ae.length;ne++){var re=ae[ne];re!==null&&(re.lane&=-536870913)}l&=~he}s!==0&&wl(e,s,0),i!==0&&n===0&&e.tag!==0&&(e.suspendedLanes|=i&~(p&~a))}function wl(e,a,l){e.pendingLanes|=a,e.suspendedLanes&=~a;var s=31-bt(a);e.entangledLanes|=a,e.entanglements[s]=e.entanglements[s]|1073741824|l&261930}function jl(e,a){var l=e.entangledLanes|=a;for(e=e.entanglements;l;){var s=31-bt(l),n=1<<s;n&a|e[s]&a&&(e[s]|=a),l&=~n}}function Nl(e,a){var l=a&-a;return l=(l&42)!==0?1:Z(l),(l&(e.suspendedLanes|a))!==0?0:l}function Z(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function me(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function fe(){var e=v.p;return e!==0?e:(e=window.event,e===void 0?32:tx(e.type))}function Ae(e,a){var l=v.p;try{return v.p=e,a()}finally{v.p=l}}var yt=Math.random().toString(36).slice(2),Nt="__reactFiber$"+yt,Tt="__reactProps$"+yt,Ma="__reactContainer$"+yt,Ss="__reactEvents$"+yt,Rn="__reactListeners$"+yt,Gp="__reactHandles$"+yt,bu="__reactResources$"+yt,Nr="__reactMarker$"+yt;function yo(e){delete e[Nt],delete e[Tt],delete e[Ss],delete e[Rn],delete e[Gp]}function Os(e){var a=e[Nt];if(a)return a;for(var l=e.parentNode;l;){if(a=l[Ma]||l[Nt]){if(l=a.alternate,a.child!==null||l!==null&&l.child!==null)for(e=Uh(e);e!==null;){if(l=e[Nt])return l;e=Uh(e)}return a}e=l,l=e.parentNode}return null}function Es(e){if(e=e[Nt]||e[Ma]){var a=e.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return e}return null}function kr(e){var a=e.tag;if(a===5||a===26||a===27||a===6)return e.stateNode;throw Error(c(33))}function Cs(e){var a=e[bu];return a||(a=e[bu]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function It(e){e[Nr]=!0}var yu=new Set,vu={};function ts(e,a){Ts(e,a),Ts(e+"Capture",a)}function Ts(e,a){for(vu[e]=a,e=0;e<a.length;e++)yu.add(a[e])}var $p=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),wu={},ju={};function Kp(e){return gt.call(ju,e)?!0:gt.call(wu,e)?!1:$p.test(e)?ju[e]=!0:(wu[e]=!0,!1)}function Mn(e,a,l){if(Kp(a))if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":e.removeAttribute(a);return;case"boolean":var s=a.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(a);return}}e.setAttribute(a,""+l)}}function An(e,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttribute(a,""+l)}}function Qa(e,a,l,s){if(s===null)e.removeAttribute(l);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(l);return}e.setAttributeNS(a,l,""+s)}}function fa(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Nu(e){var a=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function qp(e,a,l){var s=Object.getOwnPropertyDescriptor(e.constructor.prototype,a);if(!e.hasOwnProperty(a)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var n=s.get,i=s.set;return Object.defineProperty(e,a,{configurable:!0,get:function(){return n.call(this)},set:function(p){l=""+p,i.call(this,p)}}),Object.defineProperty(e,a,{enumerable:s.enumerable}),{getValue:function(){return l},setValue:function(p){l=""+p},stopTracking:function(){e._valueTracker=null,delete e[a]}}}}function vo(e){if(!e._valueTracker){var a=Nu(e)?"checked":"value";e._valueTracker=qp(e,a,""+e[a])}}function ku(e){if(!e)return!1;var a=e._valueTracker;if(!a)return!0;var l=a.getValue(),s="";return e&&(s=Nu(e)?e.checked?"true":"false":e.value),e=s,e!==l?(a.setValue(e),!0):!1}function Dn(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Yp=/[\n"\\]/g;function ga(e){return e.replace(Yp,function(a){return"\\"+a.charCo
vendor: 4,417 bytes, line 2052
2052deAt(0).toString(16)+" "})}function wo(e,a,l,s,n,i,p,S){e.name="",p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"?e.type=p:e.removeAttribute("type"),a!=null?p==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+fa(a)):e.value!==""+fa(a)&&(e.value=""+fa(a)):p!=="submit"&&p!=="reset"||e.removeAttribute("value"),a!=null?jo(e,p,fa(a)):l!=null?jo(e,p,fa(l)):s!=null&&e.removeAttribute("value"),n==null&&i!=null&&(e.defaultChecked=!!i),n!=null&&(e.checked=n&&typeof n!="function"&&typeof n!="symbol"),S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?e.name=""+fa(S):e.removeAttribute("name")}function Su(e,a,l,s,n,i,p,S){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),a!=null||l!=null){if(!(i!=="submit"&&i!=="reset"||a!=null)){vo(e);return}l=l!=null?""+fa(l):"",a=a!=null?""+fa(a):l,S||a===e.value||(e.value=a),e.defaultValue=a}s=s??n,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=S?e.checked:!!s,e.defaultChecked=!!s,p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(e.name=p),vo(e)}function jo(e,a,l){a==="number"&&Dn(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function _s(e,a,l,s){if(e=e.options,a){a={};for(var n=0;n<l.length;n++)a["$"+l[n]]=!0;for(l=0;l<e.length;l++)n=a.hasOwnProperty("$"+e[l].value),e[l].selected!==n&&(e[l].selected=n),n&&s&&(e[l].defaultSelected=!0)}else{for(l=""+fa(l),a=null,n=0;n<e.length;n++){if(e[n].value===l){e[n].selected=!0,s&&(e[n].defaultSelected=!0);return}a!==null||e[n].disabled||(a=e[n])}a!==null&&(a.selected=!0)}}function Ou(e,a,l){if(a!=null&&(a=""+fa(a),a!==e.value&&(e.value=a),l==null)){e.defaultValue!==a&&(e.defaultValue=a);return}e.defaultValue=l!=null?""+fa(l):""}function Eu(e,a,l,s){if(a==null){if(s!=null){if(l!=null)throw Error(c(92));if(B(s)){if(1<s.length)throw Error(c(93));s=s[0]}l=s}l==null&&(l=""),a=l}l=fa(a),e.defaultValue=l,s=e.textContent,s===l&&s!==""&&s!==null&&(e.value=s),vo(e)}function Rs(e,a){if(a){var l=e.firstChild;if(l&&l===e.lastChild&&l.nodeType===3){l.nodeValue=a;return}}e.textContent=a}var Pp=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Cu(e,a,l){var s=a.indexOf("--")===0;l==null||typeof l=="boolean"||l===""?s?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="":s?e.setProperty(a,l):typeof l!="number"||l===0||Pp.has(a)?a==="float"?e.cssFloat=l:e[a]=(""+l).trim():e[a]=l+"px"}function Tu(e,a,l){if(a!=null&&typeof a!="object")throw Error(c(62));if(e=e.style,l!=null){for(var s in l)!l.hasOwnProperty(s)||a!=null&&a.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var n in a)s=a[n],a.hasOwnProperty(n)&&l[n]!==s&&Cu(e,n,s)}else for(var i in a)a.hasOwnProperty(i)&&Cu(e,i,a[i])}function No(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Zp=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRen
2052dering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Qp=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function zn(e){return Qp.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Ja(){}var ko=null;function So(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ms=null,As=null;function _u(e){var a=Es(e);
vendor: 9,968 bytes, line 2052
2052if(a&&(e=a.stateNode)){var l=e[Tt]||null;e:switch(e=a.stateNode,a.type){case"input":if(wo(e,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name),a=l.name,l.type==="radio"&&a!=null){for(l=e;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll('input[name="'+ga(""+a)+'"][type="radio"]'),a=0;a<l.length;a++){var s=l[a];if(s!==e&&s.form===e.form){var n=s[Tt]||null;if(!n)throw Error(c(90));wo(s,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name)}}for(a=0;a<l.length;a++)s=l[a],s.form===e.form&&ku(s)}break e;case"textarea":Ou(e,l.value,l.defaultValue);break e;case"select":a=l.value,a!=null&&_s(e,!!l.multiple,a,!1)}}}var Oo=!1;function Ru(e,a,l){if(Oo)return e(a,l);Oo=!0;try{var s=e(a);return s}finally{if(Oo=!1,(Ms!==null||As!==null)&&(ji(),Ms&&(a=Ms,e=As,As=Ms=null,_u(a),e)))for(a=0;a<e.length;a++)_u(e[a])}}function Sr(e,a){var l=e.stateNode;if(l===null)return null;var s=l[Tt]||null;if(s===null)return null;l=s[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(l&&typeof l!="function")throw Error(c(231,a,typeof l));return l}var Wa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Eo=!1;if(Wa)try{var Or={};Object.defineProperty(Or,"passive",{get:function(){Eo=!0}}),window.addEventListener("test",Or,Or),window.removeEventListener("test",Or,Or)}catch{Eo=!1}var kl=null,Co=null,Bn=null;function Mu(){if(Bn)return Bn;var e,a=Co,l=a.length,s,n="value"in kl?kl.value:kl.textContent,i=n.length;for(e=0;e<l&&a[e]===n[e];e++);var p=l-e;for(s=1;s<=p&&a[l-s]===n[i-s];s++);return Bn=n.slice(e,1<s?1-s:void 0)}function Vn(e){var a=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&a===13&&(e=13)):e=a,e===10&&(e=13),32<=e||e===13?e:0}function Ln(){return!0}function Au(){return!1}function ta(e){function a(l,s,n,i,p){this._reactName=l,this._targetInst=n,this.type=s,this.nativeEvent=i,this.target=p,this.currentTarget=null;for(var S in e)e.hasOwnProperty(S)&&(l=e[S],this[S]=l?l(i):i[S]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Ln:Au,this.isPropagationStopped=Au,this}return b(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=Ln)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=Ln)},persist:function(){},isPersistent:Ln}),a}var as={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Un=ta(as),Er=b({},as,{view:0,detail:0}),Jp=ta(Er),To,_o,Cr,Hn=b({},Er,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Mo,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Cr&&(Cr&&e.type==="mousemove"?(To=e.screenX-Cr.screenX,_o=e.screenY-Cr.screenY):_o=To=0,Cr=e),To)},movementY:function(e){return"movementY"in e?e.movementY:_o}}),Du=ta(Hn),Wp=b({},Hn,{dataTransfer:0}),Fp=ta(Wp),ef=b({},Er,{relatedTarget:0}),Ro=ta(ef),tf=b({},as,{animationName:0,elapsedTime:0,pseudoElement:0}),af=ta(tf),lf=b({},as,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),sf=ta(lf),rf=b({},as,{data:0}),zu=ta(rf),nf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},of={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},cf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function df(e){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(e):(e=cf[e])?!!a[e]:!1}function Mo(){return df}var uf=b({},Er,{key:function(e){if(e.key){var a=nf[e.key]||e.key;if(a!=="Unidentified")return a}return e.type==="keypress"?(e=Vn(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?of[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Mo,charCode:function(e){return e.type==="keypress"?Vn(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Vn(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),mf=ta(uf),hf=b({},Hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Bu=ta(hf),xf=b({},Er,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Mo}),pf=ta(xf),ff=b({},as,{propertyName:0,elapsedTime:0,pseudoElement:0}),gf=ta(ff),bf=b({},Hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),yf=ta(bf),vf=b({},as,{newState:0,oldState:0}),wf=ta(vf),jf=[9,13,27,32],Ao=Wa&&"CompositionEvent"in window,Tr=null;Wa&&"documentMode"in document&&(Tr=document.documentMode);var Nf=Wa&&"TextEvent"in window&&!Tr,Vu=Wa&&(!Ao||Tr&&8<Tr&&11>=Tr),Lu=" ",Uu=!1;function Hu(e,a){switch(e){case"keyup":return jf.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Xu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ds=!1;function kf(e,a){switch(e){case"compositionend":return Xu(a);case"keypress":return a.which!==32?null:(Uu=!0,Lu);case"textInput":return e=a.data,e===Lu&&Uu?null:e;default:return null}}function Sf(e,a){if(Ds)return e==="compositionend"||!Ao&&Hu(e,a)?(e=Mu(),Bn=Co=kl=null,Ds=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return Vu&&a.locale!=="ko"?null:a.data;default:return null}}var Of={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Iu(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a==="input"?!!Of[e.type]:a==="textarea"}function Gu(e,a,l,s){Ms?As?As.push(s):As=[s]:Ms=s,a=Ti(a,"onChange"),0<a.length&&(l=new Un("onChange","change",null,l,s),e.push({event:l,listeners:a}))}var _r=null,Rr=null;function Ef(e){Sh(e,0)}function Xn(e){var a=kr(e);if(ku(a))return e}function $u(e,a){if(e==="change")return a}var Ku=!1;if(Wa){var Do;if(Wa){var zo="oninput"in document;if(!zo){var qu=document.createElement("div");qu.setAttribute("oninput","return;"),zo=typeof qu.oninput=="function"}Do=zo}else Do=!1;Ku=Do&&(!document.documentMode||9<document.documentMode)}function Yu(){_r&&(_r.detachEvent("onpropertychange",Pu),Rr=_r=null)}function Pu(e){if(e.propertyName==="value"&&Xn(Rr)){var a=[];Gu(a,Rr,e,So(e)),Ru(Ef,a)}}function Cf(e,a,l){e==="focusin"?(Yu(),_r=a,Rr=l,_r.attachEvent("onpropertychange",Pu)):e==="focusout"&&Yu()}function Tf(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Xn(Rr)}function _f(e,a){if(e==="click")return Xn(a)}function Rf(e,a){if(e==="input"||e==="change")return Xn(a)}function Mf(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var ia=typeof Object.is=="function"?Object.is:Mf;function Mr(e,a){if(ia(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;var l=Object.keys(e),s=Object.keys(a);if(l.length!==s.length)return!1;for(s=0;s<l.length;s++){var n=l[s];if(!gt.call(a,n)||!ia(e[n],a[n]))return!1}return!0}function Zu(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Qu(e,a){var l=Zu(e);e=0;for(var s;l;){if(l.nodeType===3){if(s=e+l.textContent.length,e<=a&&s>=a)return{node:l,offset:a-e};e=s}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Zu(l)}}function Ju(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?Ju(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function Wu(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=Dn(e.document);a instanceof e.HTMLIFrameElement;){try{var l=typeof a.contentWindow.location.href=="string"}catch{l=!1}if(l)e=a.contentWindow;else break;a=Dn(e.document)}return a}function Bo(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var Af=Wa&&"documentMode"in document&&11>=document.documentMode,zs=null,Vo=null,Ar=null,Lo=!1;function Fu(e,a,l){var s=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Lo||zs==null||zs!==Dn(s)||(s=zs,"selectionStart"in s&&Bo(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focu
vendor: 19,256 bytes, line 2052
2052sNode:s.focusNode,focusOffset:s.focusOffset}),Ar&&Mr(Ar,s)||(Ar=s,s=Ti(Vo,"onSelect"),0<s.length&&(a=new Un("onSelect","select",null,a,l),e.push({event:a,listeners:s}),a.target=zs)))}function ls(e,a){var l={};return l[e.toLowerCase()]=a.toLowerCase(),l["Webkit"+e]="webkit"+a,l["Moz"+e]="moz"+a,l}var Bs={animationend:ls("Animation","AnimationEnd"),animationiteration:ls("Animation","AnimationIteration"),animationstart:ls("Animation","AnimationStart"),transitionrun:ls("Transition","TransitionRun"),transitionstart:ls("Transition","TransitionStart"),transitioncancel:ls("Transition","TransitionCancel"),transitionend:ls("Transition","TransitionEnd")},Uo={},e0={};Wa&&(e0=document.createElement("div").style,"AnimationEvent"in window||(delete Bs.animationend.animation,delete Bs.animationiteration.animation,delete Bs.animationstart.animation),"TransitionEvent"in window||delete Bs.transitionend.transition);function ss(e){if(Uo[e])return Uo[e];if(!Bs[e])return e;var a=Bs[e],l;for(l in a)if(a.hasOwnProperty(l)&&l in e0)return Uo[e]=a[l];return e}var t0=ss("animationend"),a0=ss("animationiteration"),l0=ss("animationstart"),Df=ss("transitionrun"),zf=ss("transitionstart"),Bf=ss("transitioncancel"),s0=ss("transitionend"),r0=new Map,Ho="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Ho.push("scrollEnd");function Aa(e,a){r0.set(e,a),ts(a,[e])}var In=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},ba=[],Vs=0,Xo=0;function Gn(){for(var e=Vs,a=Xo=Vs=0;a<e;){var l=ba[a];ba[a++]=null;var s=ba[a];ba[a++]=null;var n=ba[a];ba[a++]=null;var i=ba[a];if(ba[a++]=null,s!==null&&n!==null){var p=s.pending;p===null?n.next=n:(n.next=p.next,p.next=n),s.pending=n}i!==0&&n0(l,n,i)}}function $n(e,a,l,s){ba[Vs++]=e,ba[Vs++]=a,ba[Vs++]=l,ba[Vs++]=s,Xo|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function Io(e,a,l,s){return $n(e,a,l,s),Kn(e)}function rs(e,a){return $n(e,null,null,a),Kn(e)}function n0(e,a,l){e.lanes|=l;var s=e.alternate;s!==null&&(s.lanes|=l);for(var n=!1,i=e.return;i!==null;)i.childLanes|=l,s=i.alternate,s!==null&&(s.childLanes|=l),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(n=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,n&&a!==null&&(n=31-bt(l),e=i.hiddenUpdates,s=e[n],s===null?e[n]=[a]:s.push(a),a.lane=l|536870912),i):null}function Kn(e){if(50<tn)throw tn=0,Jc=null,Error(c(185));for(var a=e.return;a!==null;)e=a,a=e.return;return e.tag===3?e.stateNode:null}var Ls={};function Vf(e,a,l,s){this.tag=e,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oa(e,a,l,s){return new Vf(e,a,l,s)}function Go(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Fa(e,a){var l=e.alternate;return l===null?(l=oa(e.tag,a,e.key,e.mode),l.elementType=e.elementType,l.type=e.type,l.stateNode=e.stateNode,l.alternate=e,e.alternate=l):(l.pendingProps=a,l.type=e.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=e.flags&65011712,l.childLanes=e.childLanes,l.lanes=e.lanes,l.child=e.child,l.memoizedProps=e.memoizedProps,l.memoizedState=e.memoizedState,l.updateQueue=e.updateQueue,a=e.dependencies,l.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},l.sibling=e.sibling,l.index=e.index,l.ref=e.ref,l.refCleanup=e.refCleanup,l}function i0(e,a){e.flags&=65011714;var l=e.alternate;return l===null?(e.childLanes=0,e.lanes=a,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=l.childLanes,e.lanes=l.lanes,e.child=l.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=l.memoizedProps,e.memoizedState=l.memoizedState,e.updateQueue=l.updateQueue,e.type=l.type,a=l.dependencies,e.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),e}function qn(e,a,l,s,n,i){var p=0;if(s=e,typeof e=="function")Go(e)&&(p=1);else if(typeof e=="string")p=Ig(e,l,X.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Y:return e=oa(31,l,a,n),e.elementType=Y,e.lanes=i,e;case E:return ns(l.children,n,i,a);case _:p=8,n|=24;break;case k:return e=oa(12,l,a,n|2),e.elementType=k,e.lanes=i,e;case W:return e=oa(13,l,a,n),e.elementType=W,e.lanes=i,e;case $:return e=oa(19,l,a,n),e.elementType=$,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D:p=10;break e;case R:p=9;break e;case te:p=11;break e;case H:p=14;break e;case J:p=16,s=null;break e}p=29,l=Error(c(130,e===null?"null":typeof e,"")),s=null}return a=oa(p,l,a,n),a.elementType=e,a.type=s,a.lanes=i,a}function ns(e,a,l,s){return e=oa(7,e,s,a),e.lanes=l,e}function $o(e,a,l){return e=oa(6,e,null,a),e.lanes=l,e}function o0(e){var a=oa(18,null,null,0);return a.stateNode=e,a}function Ko(e,a,l){return a=oa(4,e.children!==null?e.children:[],e.key,a),a.lanes=l,a.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},a}var c0=new WeakMap;function ya(e,a){if(typeof e=="object"&&e!==null){var l=c0.get(e);return l!==void 0?l:(a={value:e,source:a,stack:Je(a)},c0.set(e,a),a)}return{value:e,source:a,stack:Je(a)}}var Us=[],Hs=0,Yn=null,Dr=0,va=[],wa=0,Sl=null,Ha=1,Xa="";function el(e,a){Us[Hs++]=Dr,Us[Hs++]=Yn,Yn=e,Dr=a}function d0(e,a,l){va[wa++]=Ha,va[wa++]=Xa,va[wa++]=Sl,Sl=e;var s=Ha;e=Xa;var n=32-bt(s)-1;s&=~(1<<n),l+=1;var i=32-bt(a)+n;if(30<i){var p=n-n%5;i=(s&(1<<p)-1).toString(32),s>>=p,n-=p,Ha=1<<32-bt(a)+n|l<<n|s,Xa=i+e}else Ha=1<<i|l<<n|s,Xa=e}function qo(e){e.return!==null&&(el(e,1),d0(e,1,0))}function Yo(e){for(;e===Yn;)Yn=Us[--Hs],Us[Hs]=null,Dr=Us[--Hs],Us[Hs]=null;for(;e===Sl;)Sl=va[--wa],va[wa]=null,Xa=va[--wa],va[wa]=null,Ha=va[--wa],va[wa]=null}function u0(e,a){va[wa++]=Ha,va[wa++]=Xa,va[wa++]=Sl,Ha=a.id,Xa=a.overflow,Sl=e}var qt=null,vt=null,Qe=!1,Ol=null,ja=!1,Po=Error(c(519));function El(e){var a=Error(c(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw zr(ya(a,e)),Po}function m0(e){var a=e.stateNode,l=e.type,s=e.memoizedProps;switch(a[Nt]=e,a[Tt]=s,l){case"dialog":Ke("cancel",a),Ke("close",a);break;case"iframe":case"object":case"embed":Ke("load",a);break;case"video":case"audio":for(l=0;l<ln.length;l++)Ke(ln[l],a);break;case"source":Ke("error",a);break;case"img":case"image":case"link":Ke("error",a),Ke("load",a);break;case"details":Ke("toggle",a);break;case"input":Ke("invalid",a),Su(a,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0);break;case"select":Ke("invalid",a);break;case"textarea":Ke("invalid",a),Eu(a,s.value,s.defaultValue,s.children)}l=s.children,typeof l!="string"&&typeof l!="number"&&typeof l!="bigint"||a.textContent===""+l||s.suppressHydrationWarning===!0||Th(a.textContent,l)?(s.popover!=null&&(Ke("beforetoggle",a),Ke("toggle",a)),s.onScroll!=null&&Ke("scroll",a),s.onScrollEnd!=null&&Ke("scrollend",a),s.onClick!=null&&(a.onclick=Ja),a=!0):a=!1,a||El(e,!0)}function h0(e){for(qt=e.return;qt;)switch(qt.tag){case 5:case 31:case 13:ja=!1;return;case 27:case 3:ja=!0;return;default:qt=qt.return}}function Xs(e){if(e!==qt)return!1;if(!Qe)return h0(e),Qe=!0,!1;var a=e.tag,l;if((l=a!==3&&a!==27)&&((l=a===5)&&(l=e.type,l=!(l!=="form"&&l!=="button")||md(e.type,e.memoizedProps)),l=!l),l&&vt&&El(e),h0(e),a===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(317));vt=Lh(e)}else if(a===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(317));vt=Lh(e)}else a===27?(a=vt,Xl(e.type)?(e=gd,gd=null,vt=e):vt=a):vt=qt?ka(e.stateNode.nextSibling):null;return!0}function is(){vt=qt=null,Qe=!1}function Zo(){var e=Ol;return e!==null&&(ra===null?ra=e:ra.push.apply(ra,e),Ol=null),e}function zr(e){Ol===null?Ol=[e]:Ol.push(e)}var Qo=w(null),os=null,tl=null;function Cl(e,a,l){M(Qo,a._currentValue),a._currentValue=l}function al(e){e._currentValue=Qo.current,V(Qo)}function Jo(e,a,l){for(;e!==null;){var s=e.alternate;if((e.childLanes&a)!==a?(e.childLanes|=a,s!==null&&(s.childLanes|=a)):s!==null&&(s.childLanes&a)!==a&&(s.childLanes|=a),e===l)break;e=e.return}}function Wo(e,a,l,s){var n=e.child;for(n!==null&&(n.return=e);n!==null;){var i=n.dependencies;if(i!==null){var p=n.child;i=i.firstContext;e:for(;i!==null;){var S=i;i=n;for(var L=0;L<a.length;L++)if(S.context===a[L]){i.lanes|=l,S=i.alternate,S!==null&&(S.lanes|=l),Jo(i.return,l,e),s||(p=null);break e}i=S.next}}else if(n.tag===18){if(p=n.return,p===null)throw Error(c(341));p.lanes|=l,i=p.alternate,i!==null&&(i.lanes|=l),Jo(p,l,e),p=null}else p=n.child;if(p!==null)p.return=n;else for(p=n;p!==null;){if(p===e){p=null;break}if(n=p.sibling,n!==null){n.return=p.return,p=n;break}p=p.return}n=p}}function Is(e,a,l,s){e=null;for(var n=a,i=!1;n!==null;){if(!i){if((n.flags&524288)!==0)i=!0;else if((n.flags&262144)!==0)break}if(n.tag===10){var p=n.alternate;if(p===null)throw Error(c(387));if(p=p.memoizedProps,p!==null){var S=n.type;ia(n.pendingProps.value,p.value)||(e!==null?e.push(S):e=[S])}}else if(n===ge.current){if(p=n.alternate,p===null)throw Error(c(387));p.memoizedState.memoizedState!==n.memoizedState.memoizedState&&(e!==null?e.push(cn):e=[cn])}n=n.return}e!==null&&Wo(a,e,l,s),a.flags|=262144}function Pn(e){for(e=e.firstContext;e!==null;){if(!ia(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function cs(e){os=e,tl=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Yt(e){return x0(os,e)}function Zn(e,a){return os===null&&cs(e),x0(e,a)}function x0(e,a){var l=a._currentValue;if(a={context:a,memoizedValue:l,next:null},tl===null){if(e===null)throw Error(c(308));tl=a,e.dependencies={lanes:0,firstContext:a},e.flags|=524288}else tl=tl.next=a;return l}var Lf=typeof AbortController<"u"?AbortController:function(){var e=[],a=this.signal={aborted:!1,addEventListener:function(l,s){e.push(s)}};this.abort=function(){a.aborted=!0,e.forEach(function(l){return l()})}},Uf=r.unstable_scheduleCallback,Hf=r.unstable_NormalPriority,Dt={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Fo(){return{controller:new Lf,data:new Map,refCount:0}}function Br(e){e.refCount--,e.refCount===0&&Uf(Hf,function(){e.controller.abort()})}var Vr=null,ec=0,Gs=0,$s=null;function Xf(e,a){if(Vr===null){var l=Vr=[];ec=0,Gs=ld(),$s={status:"pending",value:void 0,then:function(s){l.push(s)}}}return ec++,a.then(p0,p0),a}function p0(){if(--ec===0&&Vr!==null){$s!==null&&($s.status="fulfilled");var e=Vr;Vr=null,Gs=0,$s=null;for(var a=0;a<e.length;a++)(0,e[a])()}}function If(e,a){var l=[],s={status:"pending",value:null,reason:null,then:function(n){l.push(n)}};return e.then(function(){s.status="fulfilled",s.value=a;for(var n=0;n<l.length;n++)(0,l[n])(a)},function(n){for(s.status="rejected",s.reason=n,n=0;n<l.length;n++)(0,l[n])(void 0)}),s}var f0=z.S;z.S=function(e,a){Fm=se(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&Xf(e,a),f0!==null&&f0(e,a)};var ds=w(null);function tc(){var e=ds.current;return e!==null?e:pt.pooledCache}function Qn(e,a){a===null?M(ds,ds.current):M(ds,a.pool)}function g0(){var e=tc();return e===null?null:{parent:Dt._currentValue,pool:e}}var Ks=Error(c(460)),ac=Error(c(474)),Jn=Error(c(542)),Wn={then:function(){}};function b0(e){return e=e.status,e==="fulfilled"||e==="rejected"}function y0(e,a,l){switch(l=e[l],l===void 0?e.push(a):l!==a&&(a.then(Ja,Ja),a=l),a.status){case"fulfilled":return a.value;case"rejected":throw e=a.reason,w0(e),e;default:if(typeof a.status=="string")a.then(Ja,Ja);else{if(e=pt,e!==null&&100<e.shellSuspendCounter)throw Error(c(482));e=a,e.status="pending",e.then(function(s){if(a.status==="pending"){var n=a;n.status="fulfilled",n.value=s}},function(s){if(a.status==="pending"){var n=a;n.status="rejected",n.reason=s}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw e=a.reason,w0(e),e}throw ms=a,Ks}}function us(e){try{var a=e._init;return a(e._payload)}catch(l){throw l!==null&&typeof l=="object"&&typeof l.then=="function"?(ms=l,Ks):l}}var ms=null;function v0(){if(ms===null)throw Error(c(459));var e=ms;return ms=null,e}function w0(e){if(e===Ks||e===Jn)throw Error(c(483))}var qs=null,Lr=0;function Fn(e){var a=Lr;return Lr+=1,qs===null&&(qs=[]),y0(qs,e,a)}function Ur(e,a){a=a.props.ref,e.ref=a!==void 0?a:null}function ei(e,a){throw a.$$typeof===C?Error(c(525)):(e=Object.prototype.toString.call(a),Error(c(31,e==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":e)))}function j0(e){function a(Q,I){if(e){var F=Q.deletions;F===null?(Q.deletions=[I],Q.flags|=16):F.push(I)}}function l(Q,I){if(!e)return null;for(;I!==null;)a(Q,I),I=I.sibling;return null}function s(Q){for(var I=new Map;Q!==null;)Q.key!==null?I.set(Q.key,Q):I.set(Q.index,Q),Q=Q.sibling;return I}function n(Q,I){return Q=Fa(Q,I),Q.index=0,Q.sibling=null,Q}function i(Q,I,F){return Q.index=F,e?(F=Q.alternate,F!==null?(F=F.index,F<I?(Q.flags|=67108866,I):F):(Q.flags|=67108866,I)):(Q.flags|=1048576,I)}function p(Q){return e&&Q.alternate===null&&(Q.flags|=67108866),Q}function S(Q,I,F,ue){return I===null||I.tag!==6?(I=$o(F,Q.mode,ue),I.return=Q,I):(I=n(I,F),I.return=Q,I)}function L(Q,I,F,ue){var Ce=F.type;return Ce===E?ne(Q,I,F.props.children,ue,F.key):I!==null&&(I.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===J&&us(Ce)===I.type)?(I=n(I,F.props),Ur(I,F),I.return=Q,I):(I=qn(F.type,F.key,F.props,null,Q.mode,ue),Ur(I,F),I.return=Q,I)}function ee(Q,I,F,ue){return I===null||I.tag!==4||I.stateNode.containerInfo!==F.containerInfo||I.stateNode.implementation!==F.implementation?(I=Ko(F,Q.mode,ue),I.return=Q,I):(I=n(I,F.children||[]),I.return=Q,I)}function ne(Q,I,F,ue,Ce){return I===null||I.tag!==7?(I=ns(F,Q.mode,ue,Ce),I.return=Q,I):(I=n(I,F),I.return=Q,I)}function he(Q,I,F){if(typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint")return I=$o(""+I,Q.mode,F),I.return=Q,I;if(typeof I=="object"&&I!==null){switch(I.$$typeof){case g:return F=qn(I.type,I.key,I.props,null,Q.mode,F),Ur(F,I),F.return=Q,F;case O:return I=Ko(I,Q.mode,F),I.return=Q,I;case J:return I=us(I),he(Q,I,F)}if(B(I)||q(I))return I=ns(I,Q.mode,F,null),I.return=Q,I;if(typeof I.then=="function")return he(Q,Fn(I),F);if(I.$$typeof===D)return he(Q,Zn(Q,I),F);ei(Q,I)}return null}function ae(Q,I,F,ue){var Ce=I!==null?I.key:null;if(typeof F=="string"&&F!==""||typeof F=="number"||typeof F=="bigint")return Ce!==null?null:S(Q,I,""+F,ue);if(typeof F=="object"&&F!==null){switch(F.$$typeof){case g:return F.key===Ce?L(Q,I,F,ue):null;case O:return F.key===Ce?ee(Q,I,F,ue):null;case J:return F=us(F),ae(Q,I,F,ue)}if(B(F)||q(F))return Ce!==null?null:ne(Q,I,F,ue,null);if(typeof F.then=="function")return ae(Q,I,Fn(F),ue);if(F.$$typeof===D)return ae(Q,I,Zn(Q,F),ue);ei(Q,F)}return null}function re(Q,I,F,ue,Ce){if(typeof ue=="string"&&ue!==""||typeof ue=="number"||typeof ue=="bigint")return Q=Q.get(F)||null,S(I,Q,""+ue,Ce);if(typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case g:return Q=Q.get(ue.key===null?F:ue.key)||null,L(I,Q,ue,Ce);case O:return Q=Q.get(ue.key===null?F:ue.key)||null,ee(I,Q,ue,Ce);case J:return ue=us(ue),re(Q,I,F,ue,Ce)}if(B(ue)||q(ue))return Q=Q.get(F)||null,ne(I,Q,ue,Ce,null);if(typeof ue.then=="function")return re(Q,I,F,Fn(ue),Ce);if(ue.$$typeof===D)return re(Q,I,F,Zn(I,ue),Ce);ei(I,ue)}return null}function we(Q,I,F,ue){for(var Ce=null,at=null,Se=I,Ue=I=0,Ye=null;Se!==null&&Ue<F.length;Ue++){Se.index>Ue?(Ye=Se,Se=null):Ye=Se.sibling;var lt=ae(Q,Se,F[Ue],ue);if(lt===null){Se===null&&(Se=Ye);break}e&&Se&<.alternate===null&&a(Q,Se),I=i(lt,I,Ue),at===null?Ce=lt:at.sibling=lt,at=lt,Se=Ye}if(Ue===F.length)return l(Q,Se),Qe&&el(Q,Ue),Ce;if(Se===null){for(;Ue<F.length;Ue++)Se=he(Q,F[Ue],ue),Se!==null&&(I=i(Se,I,Ue),at===null?Ce=Se:at.sibling=Se,at=Se);return Qe&&el(Q,Ue),Ce}for(Se=s(Se);Ue<F.length;Ue++)Ye=re(Se,Q,Ue,F[Ue],ue),Ye!==null&&(e&&Ye.alternate!==null&&Se.delete(Ye.key===null?Ue:Ye.key),I=i(Ye,I,Ue),at===null?Ce=Ye:at.sibling=Ye,at=Ye);return e&&Se.forEach(function(ql){return a(Q,ql)}),Qe&&el(Q,Ue),Ce}function _e(Q,I,F,ue){if(F==null)throw Error(c(151));for(var Ce=null,at=null,Se=I,Ue=I=0,Ye=null,lt=F.next();Se!==null&&!lt.done;Ue++,lt=F.next()){Se.index>Ue?(Ye=Se,Se=null):Ye=Se.sibling;var ql=ae(Q,Se,lt.value,ue);if(ql===null){Se===null&&(Se=Ye);break}e&&Se&&ql.alternate===null&&a(Q,Se),I=i(ql,I,Ue),at===null?Ce=ql:at.sibling=ql,at=ql,Se=Ye}if(lt.done)return l(Q,Se),Qe&&el(Q,Ue),Ce;if(Se===null){for(;!lt.done;Ue++,lt=F.next())lt=he(Q,lt.value,ue),lt!==null&&(I=i(lt,I,Ue),at===null?Ce=lt:at.sibling=lt,at=lt);return Qe&&el(Q,Ue),Ce}for(Se=s(Se);!lt.done;Ue++,lt=F.next())lt=re(Se,Q,Ue,lt.value,ue),lt!==null&&(e&<.alternate!==null&&Se.delete(lt.key===null?Ue:lt.key),I=i(lt,I,Ue),at===null?Ce=lt:at.sibling=lt,at=lt);return e&&Se.forEach(function(Fg){return a(Q,Fg)}),Qe&&el(Q,Ue),Ce}function ht(Q,I,F,ue){if(typeof F=="object"&&F!==null&&F.type===E&&F.key===null&&(F=F.props.children),typeof F=="object"&&F!==null){switch(F.$$typeof){case g:e:{for(var Ce=F.key;I!==null;){if(I.key===Ce){if(Ce=F.type,Ce===E){if(I.tag===7){l(Q,I.sibling),ue=n(I,F.props.children),ue.return=Q,Q=ue;break e}}else if(I.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===J&&us(Ce)===I.type){l(Q,I.sibling),ue=n(I,F.props),Ur(ue,F),ue.return=Q,Q=ue;break e}l(Q,I);break}else a(Q,I);I=I.sibling}F.type===E?(ue=ns(F.props.children,Q.mode,ue,F.key),ue.return=Q,Q=ue):(ue=qn(F.type,F.key,F.props,null,Q.mode,ue),Ur(ue,F),ue.return=Q,Q=ue)}return p(Q);case O:e:{for(Ce=F.key;I!==null;){if(I.key===Ce)if(I.tag===4&&I.stateNode.containerInfo===F.containerInfo&&I.stateNode.implementation===F.implementation){l(Q,I.sibling),ue=n(I,F.children||[]),ue.return=Q,Q=ue;break e}else{l(Q,I);break}else a(Q,I);I=I.sibling}ue=Ko(F,Q.mode,ue),ue.return=Q,Q=ue}return p(Q);case J:return F=us(F),ht(Q,I,F,ue)}if(B(F))return we(Q,I,F,ue);if(q(F)){if(Ce=q(F),typeof Ce!="function")throw Error(c(150));return F=Ce.call(F),_e(Q,I,F,ue)}if(typeof F.then=="function")return ht(Q,I,Fn(F),ue);if(F.$$typeof===D)return ht(Q,I,Zn(Q,F),ue);ei(Q,F)}return typeof F=="string"&&F!==""||typeof F=="number"||typeof F=="bigint"?(F=""+F,I!==null&&I.tag===6?(l(Q,I.sibling),ue=n(I,F),ue.return=Q,Q=ue):(l(Q,I),ue=$o(
vendor: 4,818 bytes, line 2052
2052F,Q.mode,ue),ue.return=Q,Q=ue),p(Q)):l(Q,I)}return function(Q,I,F,ue){try{Lr=0;var Ce=ht(Q,I,F,ue);return qs=null,Ce}catch(Se){if(Se===Ks||Se===Jn)throw Se;var at=oa(29,Se,null,Q.mode);return at.lanes=ue,at.return=Q,at}finally{}}}var hs=j0(!0),N0=j0(!1),Tl=!1;function lc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function sc(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function _l(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Rl(e,a,l){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(rt&2)!==0){var n=s.pending;return n===null?a.next=a:(a.next=n.next,n.next=a),s.pending=a,a=Kn(e),n0(e,null,l),a}return $n(e,s,a,l),Kn(e)}function Hr(e,a,l){if(a=a.updateQueue,a!==null&&(a=a.shared,(l&4194048)!==0)){var s=a.lanes;s&=e.pendingLanes,l|=s,a.lanes=l,jl(e,l)}}function rc(e,a){var l=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,l===s)){var n=null,i=null;if(l=l.firstBaseUpdate,l!==null){do{var p={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};i===null?n=i=p:i=i.next=p,l=l.next}while(l!==null);i===null?n=i=a:i=i.next=a}else n=i=a;l={baseState:s.baseState,firstBaseUpdate:n,lastBaseUpdate:i,shared:s.shared,callbacks:s.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=a:e.next=a,l.lastBaseUpdate=a}var nc=!1;function Xr(){if(nc){var e=$s;if(e!==null)throw e}}function Ir(e,a,l,s){nc=!1;var n=e.updateQueue;Tl=!1;var i=n.firstBaseUpdate,p=n.lastBaseUpdate,S=n.shared.pending;if(S!==null){n.shared.pending=null;var L=S,ee=L.next;L.next=null,p===null?i=ee:p.next=ee,p=L;var ne=e.alternate;ne!==null&&(ne=ne.updateQueue,S=ne.lastBaseUpdate,S!==p&&(S===null?ne.firstBaseUpdate=ee:S.next=ee,ne.lastBaseUpdate=L))}if(i!==null){var he=n.baseState;p=0,ne=ee=L=null,S=i;do{var ae=S.lane&-536870913,re=ae!==S.lane;if(re?(qe&ae)===ae:(s&ae)===ae){ae!==0&&ae===Gs&&(nc=!0),ne!==null&&(ne=ne.next={lane:0,tag:S.tag,payload:S.payload,callback:null,next:null});e:{var we=e,_e=S;ae=a;var ht=l;switch(_e.tag){case 1:if(we=_e.payload,typeof we=="function"){he=we.call(ht,he,ae);break e}he=we;break e;case 3:we.flags=we.flags&-65537|128;case 0:if(we=_e.payload,ae=typeof we=="function"?we.call(ht,he,ae):we,ae==null)break e;he=b({},he,ae);break e;case 2:Tl=!0}}ae=S.callback,ae!==null&&(e.flags|=64,re&&(e.flags|=8192),re=n.callbacks,re===null?n.callbacks=[ae]:re.push(ae))}else re={lane:ae,tag:S.tag,payload:S.payload,callback:S.callback,next:null},ne===null?(ee=ne=re,L=he):ne=ne.next=re,p|=ae;if(S=S.next,S===null){if(S=n.shared.pending,S===null)break;re=S,S=re.next,re.next=null,n.lastBaseUpdate=re,n.shared.pending=null}}while(!0);ne===null&&(L=he),n.baseState=L,n.firstBaseUpdate=ee,n.lastBaseUpdate=ne,i===null&&(n.shared.lanes=0),Bl|=p,e.lanes=p,e.memoizedState=he}}function k0(e,a){if(typeof e!="function")throw Error(c(191,e));e.call(a)}function S0(e,a){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;e<l.length;e++)k0(l[e],a)}var Ys=w(null),ti=w(0);function O0(e,a){e=ul,M(ti,e),M(Ys,a),ul=e|a.baseLanes}function ic(){M(ti,ul),M(Ys,Ys.current)}function oc(){ul=ti.current,V(Ys),V(ti)}var ca=w(null),Na=null;function Ml(e){var a=e.alternate;M(_t,_t.current&1),M(ca,e),Na===null&&(a===null||Ys.current!==null||a.memoizedState!==null)&&(Na=e)}function cc(e){M(_t,_t.current),M(ca,e),Na===null&&(Na=e)}function E0(e){e.tag===22?(M(_t,_t.current),M(ca,e),Na===null&&(Na=e)):Al()}function Al(){M(_t,_t.current),M(ca,ca.current)}function da(e){V(ca),Na===e&&(Na=null),V(_t)}var _t=w(0);function ai(e){for(var a=e;a!==null;){if(a.tag===13){var l=a.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||pd(l)||fd(l)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var ll=0,Le=null,ut=null,zt=null,li=!1,Ps=!1,xs=!1,si=0,Gr=0,Zs=null,Gf=0;function Et(){throw Error(c(321))}function dc(e,a){if(a===null)return!1;for(var l=0;l<a.length&&l<e.length;l++)if(!ia(e[l],a[l]))return!1;return!0}function uc(e,a,l,s,n,i){return ll=i,Le=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,z.H=e===null||e.memoizedState===null?dm:Oc,xs=!1,i=l(s,n),xs=!1,Ps&&(i=T0(a,l,s,n)),C0(e),i}function C0(e){z.H=qr;var a=ut!==null&&ut.next!==null;if(ll=0,zt=ut=Le=null,li=!1,Gr=0,Zs=null,a)throw Error(c(300));
vendor: 18,659 bytes, line 2052
2052e===null||Bt||(e=e.dependencies,e!==null&&Pn(e)&&(Bt=!0))}function T0(e,a,l,s){Le=e;var n=0;do{if(Ps&&(Zs=null),Gr=0,Ps=!1,25<=n)throw Error(c(301));if(n+=1,zt=ut=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}z.H=um,i=a(l,s)}while(Ps);return i}function $f(){var e=z.H,a=e.useState()[0];return a=typeof a.then=="function"?$r(a):a,e=e.useState()[0],(ut!==null?ut.memoizedState:null)!==e&&(Le.flags|=1024),a}function mc(){var e=si!==0;return si=0,e}function hc(e,a,l){a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~l}function xc(e){if(li){for(e=e.memoizedState;e!==null;){var a=e.queue;a!==null&&(a.pending=null),e=e.next}li=!1}ll=0,zt=ut=Le=null,Ps=!1,Gr=si=0,Zs=null}function ea(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return zt===null?Le.memoizedState=zt=e:zt=zt.next=e,zt}function Rt(){if(ut===null){var e=Le.alternate;e=e!==null?e.memoizedState:null}else e=ut.next;var a=zt===null?Le.memoizedState:zt.next;if(a!==null)zt=a,ut=e;else{if(e===null)throw Le.alternate===null?Error(c(467)):Error(c(310));ut=e,e={memoizedState:ut.memoizedState,baseState:ut.baseState,baseQueue:ut.baseQueue,queue:ut.queue,next:null},zt===null?Le.memoizedState=zt=e:zt=zt.next=e}return zt}function ri(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function $r(e){var a=Gr;return Gr+=1,Zs===null&&(Zs=[]),e=y0(Zs,e,a),a=Le,(zt===null?a.memoizedState:zt.next)===null&&(a=a.alternate,z.H=a===null||a.memoizedState===null?dm:Oc),e}function ni(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return $r(e);if(e.$$typeof===D)return Yt(e)}throw Error(c(438,String(e)))}function pc(e){var a=null,l=Le.updateQueue;if(l!==null&&(a=l.memoCache),a==null){var s=Le.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(a={data:s.data.map(function(n){return n.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),l===null&&(l=ri(),Le.updateQueue=l),l.memoCache=a,l=a.data[a.index],l===void 0)for(l=a.data[a.index]=Array(e),s=0;s<e;s++)l[s]=G;return a.index++,l}function sl(e,a){return typeof a=="function"?a(e):a}function ii(e){var a=Rt();return fc(a,ut,e)}function fc(e,a,l){var s=e.queue;if(s===null)throw Error(c(311));s.lastRenderedReducer=l;var n=e.baseQueue,i=s.pending;if(i!==null){if(n!==null){var p=n.next;n.next=i.next,i.next=p}a.baseQueue=n=i,s.pending=null}if(i=e.baseState,n===null)e.memoizedState=i;else{a=n.next;var S=p=null,L=null,ee=a,ne=!1;do{var he=ee.lane&-536870913;if(he!==ee.lane?(qe&he)===he:(ll&he)===he){var ae=ee.revertLane;if(ae===0)L!==null&&(L=L.next={lane:0,revertLane:0,gesture:null,action:ee.action,hasEagerState:ee.hasEagerState,eagerState:ee.eagerState,next:null}),he===Gs&&(ne=!0);else if((ll&ae)===ae){ee=ee.next,ae===Gs&&(ne=!0);continue}else he={lane:0,revertLane:ee.revertLane,gesture:null,action:ee.action,hasEagerState:ee.hasEagerState,eagerState:ee.eagerState,next:null},L===null?(S=L=he,p=i):L=L.next=he,Le.lanes|=ae,Bl|=ae;he=ee.action,xs&&l(i,he),i=ee.hasEagerState?ee.eagerState:l(i,he)}else ae={lane:he,revertLane:ee.revertLane,gesture:ee.gesture,action:ee.action,hasEagerState:ee.hasEagerState,eagerState:ee.eagerState,next:null},L===null?(S=L=ae,p=i):L=L.next=ae,Le.lanes|=he,Bl|=he;ee=ee.next}while(ee!==null&&ee!==a);if(L===null?p=i:L.next=S,!ia(i,e.memoizedState)&&(Bt=!0,ne&&(l=$s,l!==null)))throw l;e.memoizedState=i,e.baseState=p,e.baseQueue=L,s.lastRenderedState=i}return n===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function gc(e){var a=Rt(),l=a.queue;if(l===null)throw Error(c(311));l.lastRenderedReducer=e;var s=l.dispatch,n=l.pending,i=a.memoizedState;if(n!==null){l.pending=null;var p=n=n.next;do i=e(i,p.action),p=p.next;while(p!==n);ia(i,a.memoizedState)||(Bt=!0),a.memoizedState=i,a.baseQueue===null&&(a.baseState=i),l.lastRenderedState=i}return[i,s]}function _0(e,a,l){var s=Le,n=Rt(),i=Qe;if(i){if(l===void 0)throw Error(c(407));l=l()}else l=a();var p=!ia((ut||n).memoizedState,l);if(p&&(n.memoizedState=l,Bt=!0),n=n.queue,vc(A0.bind(null,s,n,e),[e]),n.getSnapshot!==a||p||zt!==null&&zt.memoizedState.tag&1){if(s.flags|=2048,Qs(9,{destroy:void 0},M0.bind(null,s,n,l,a),null),pt===null)throw Error(c(349));i||(ll&127)!==0||R0(s,a,l)}return l}function R0(e,a,l){e.flags|=16384,e={getSnapshot:a,value:l},a=Le.updateQueue,a===null?(a=ri(),Le.updateQueue=a,a.stores=[e]):(l=a.stores,l===null?a.stores=[e]:l.push(e))}function M0(e,a,l,s){a.value=l,a.getSnapshot=s,D0(a)&&z0(e)}function A0(e,a,l){return l(function(){D0(a)&&z0(e)})}function D0(e){var a=e.getSnapshot;e=e.value;try{var l=a();return!ia(e,l)}catch{return!0}}function z0(e){var a=rs(e,2);a!==null&&na(a,e,2)}function bc(e){var a=ea();if(typeof e=="function"){var l=e;if(e=l(),xs){Lt(!0);try{l()}finally{Lt(!1)}}}return a.memoizedState=a.baseState=e,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:sl,lastRenderedState:e},a}function B0(e,a,l,s){return e.baseState=l,fc(e,ut,typeof s=="function"?s:sl)}function Kf(e,a,l,s,n){if(di(e))throw Error(c(485));if(e=a.action,e!==null){var i={payload:n,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(p){i.listeners.push(p)}};z.T!==null?l(!0):i.isTransition=!1,s(i),l=a.pending,l===null?(i.next=a.pending=i,V0(a,i)):(i.next=l.next,a.pending=l.next=i)}}function V0(e,a){var l=a.action,s=a.payload,n=e.state;if(a.isTransition){var i=z.T,p={};z.T=p;try{var S=l(n,s),L=z.S;L!==null&&L(p,S),L0(e,a,S)}catch(ee){yc(e,a,ee)}finally{i!==null&&p.types!==null&&(i.types=p.types),z.T=i}}else try{i=l(n,s),L0(e,a,i)}catch(ee){yc(e,a,ee)}}function L0(e,a,l){l!==null&&typeof l=="object"&&typeof l.then=="function"?l.then(function(s){U0(e,a,s)},function(s){return yc(e,a,s)}):U0(e,a,l)}function U0(e,a,l){a.status="fulfilled",a.value=l,H0(a),e.state=l,a=e.pending,a!==null&&(l=a.next,l===a?e.pending=null:(l=l.next,a.next=l,V0(e,l)))}function yc(e,a,l){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do a.status="rejected",a.reason=l,H0(a),a=a.next;while(a!==s)}e.action=null}function H0(e){e=e.listeners;for(var a=0;a<e.length;a++)(0,e[a])()}function X0(e,a){return a}function I0(e,a){if(Qe){var l=pt.formState;if(l!==null){e:{var s=Le;if(Qe){if(vt){t:{for(var n=vt,i=ja;n.nodeType!==8;){if(!i){n=null;break t}if(n=ka(n.nextSibling),n===null){n=null;break t}}i=n.data,n=i==="F!"||i==="F"?n:null}if(n){vt=ka(n.nextSibling),s=n.data==="F!";break e}}El(s)}s=!1}s&&(a=l[0])}}return l=ea(),l.memoizedState=l.baseState=a,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:X0,lastRenderedState:a},l.queue=s,l=im.bind(null,Le,s),s.dispatch=l,s=bc(!1),i=Sc.bind(null,Le,!1,s.queue),s=ea(),n={state:a,dispatch:null,action:e,pending:null},s.queue=n,l=Kf.bind(null,Le,n,i,l),n.dispatch=l,s.memoizedState=e,[a,l,!1]}function G0(e){var a=Rt();return $0(a,ut,e)}function $0(e,a,l){if(a=fc(e,a,X0)[0],e=ii(sl)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var s=$r(a)}catch(p){throw p===Ks?Jn:p}else s=a;a=Rt();var n=a.queue,i=n.dispatch;return l!==a.memoizedState&&(Le.flags|=2048,Qs(9,{destroy:void 0},qf.bind(null,n,l),null)),[s,i,e]}function qf(e,a){e.action=a}function K0(e){var a=Rt(),l=ut;if(l!==null)return $0(a,l,e);Rt(),a=a.memoizedState,l=Rt();var s=l.queue.dispatch;return l.memoizedState=e,[a,s,!1]}function Qs(e,a,l,s){return e={tag:e,create:l,deps:s,inst:a,next:null},a=Le.updateQueue,a===null&&(a=ri(),Le.updateQueue=a),l=a.lastEffect,l===null?a.lastEffect=e.next=e:(s=l.next,l.next=e,e.next=s,a.lastEffect=e),e}function q0(){return Rt().memoizedState}function oi(e,a,l,s){var n=ea();Le.flags|=e,n.memoizedState=Qs(1|a,{destroy:void 0},l,s===void 0?null:s)}function ci(e,a,l,s){var n=Rt();s=s===void 0?null:s;var i=n.memoizedState.inst;ut!==null&&s!==null&&dc(s,ut.memoizedState.deps)?n.memoizedState=Qs(a,i,l,s):(Le.flags|=e,n.memoizedState=Qs(1|a,i,l,s))}function Y0(e,a){oi(8390656,8,e,a)}function vc(e,a){ci(2048,8,e,a)}function Yf(e){Le.flags|=4;var a=Le.updateQueue;if(a===null)a=ri(),Le.updateQueue=a,a.events=[e];else{var l=a.events;l===null?a.events=[e]:l.push(e)}}function P0(e){var a=Rt().memoizedState;return Yf({ref:a,nextImpl:e}),function(){if((rt&2)!==0)throw Error(c(440));return a.impl.apply(void 0,arguments)}}function Z0(e,a){return ci(4,2,e,a)}function Q0(e,a){return ci(4,4,e,a)}function J0(e,a){if(typeof a=="function"){e=e();var l=a(e);return function(){typeof l=="function"?l():a(null)}}if(a!=null)return e=e(),a.current=e,function(){a.current=null}}function W0(e,a,l){l=l!=null?l.concat([e]):null,ci(4,4,J0.bind(null,a,e),l)}function wc(){}function F0(e,a){var l=Rt();a=a===void 0?null:a;var s=l.memoizedState;return a!==null&&dc(a,s[1])?s[0]:(l.memoizedState=[e,a],e)}function em(e,a){var l=Rt();a=a===void 0?null:a;var s=l.memoizedState;if(a!==null&&dc(a,s[1]))return s[0];if(s=e(),xs){Lt(!0);try{e()}finally{Lt(!1)}}return l.memoizedState=[s,a],s}function jc(e,a,l){return l===void 0||(ll&1073741824)!==0&&(qe&261930)===0?e.memoizedState=a:(e.memoizedState=l,e=th(),Le.lanes|=e,Bl|=e,l)}function tm(e,a,l,s){return ia(l,a)?l:Ys.current!==null?(e=jc(e,l,s),ia(e,a)||(Bt=!0),e):(ll&42)===0||(ll&1073741824)!==0&&(qe&261930)===0?(Bt=!0,e.memoizedState=l):(e=th(),Le.lanes|=e,Bl|=e,a)}function am(e,a,l,s,n){var i=v.p;v.p=i!==0&&8>i?i:8;var p=z.T,S={};z.T=S,Sc(e,!1,a,l);try{var L=n(),ee=z.S;if(ee!==null&&ee(S,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var ne=If(L,s);Kr(e,a,ne,ha(e))}else Kr(e,a,s,ha(e))}catch(he){Kr(e,a,{then:function(){},status:"rejected",reason:he},ha())}finally{v.p=i,p!==null&&S.types!==null&&(p.types=S.types),z.T=p}}function Pf(){}function Nc(e,a,l,s){if(e.tag!==5)throw Error(c(476));var n=lm(e).queue;am(e,n,a,T,l===null?Pf:function(){return sm(e),l(s)})}function lm(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:T,baseState:T,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sl,lastRenderedState:T},next:null};var l={};return a.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:sl,lastRenderedState:l},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function sm(e){var a=lm(e);a.next===null&&(a=e.alternate.memoizedState),Kr(e,a.next.queue,{},ha())}function kc(){return Yt(cn)}function rm(){return Rt().memoizedState}function nm(){return Rt().memoizedState}function Zf(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var l=ha();e=_l(l);var s=Rl(a,e,l);s!==null&&(na(s,a,l),Hr(s,a,l)),a={cache:Fo()},e.payload=a;return}a=a.return}}function Qf(e,a,l){var s=ha();l={lane:s,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},di(e)?om(a,l):(l=Io(e,a,l,s),l!==null&&(na(l,e,s),cm(l,a,s)))}function im(e,a,l){var s=ha();Kr(e,a,l,s)}function Kr(e,a,l,s){var n={lane:s,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(di(e))om(a,n);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=a.lastRenderedReducer,i!==null))try{var p=a.lastRenderedState,S=i(p,l);if(n.hasEagerState=!0,n.eagerState=S,ia(S,p))return $n(e,a,n,0),pt===null&&Gn(),!1}catch{}finally{}if(l=Io(e,a,n,s),l!==null)return na(l,e,s),cm(l,a,s),!0}return!1}function Sc(e,a,l,s){if(s={lane:2,revertLane:ld(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},di(e)){if(a)throw Error(c(479))}else a=Io(e,l,s,2),a!==null&&na(a,e,2)}function di(e){var a=e.alternate;return e===Le||a!==null&&a===Le}function om(e,a){Ps=li=!0;var l=e.pending;l===null?a.next=a:(a.next=l.next,l.next=a),e.pending=a}function cm(e,a,l){if((l&4194048)!==0){var s=a.lanes;s&=e.pendingLanes,l|=s,a.lanes=l,jl(e,l)}}var qr={readContext:Yt,use:ni,useCallback:Et,useContext:Et,useEffect:Et,useImperativeHandle:Et,useLayoutEffect:Et,useInsertionEffect:Et,useMemo:Et,useReducer:Et,useRef:Et,useState:Et,useDebugValue:Et,useDeferredValue:Et,useTransition:Et,useSyncExternalStore:Et,useId:Et,useHostTransitionStatus:Et,useFormState:Et,useActionState:Et,useOptimistic:Et,useMemoCache:Et,useCacheRefresh:Et};qr.useEffectEvent=Et;var dm={readContext:Yt,use:ni,useCallback:function(e,a){return ea().memoizedState=[e,a===void 0?null:a],e},useContext:Yt,useEffect:Y0,useImperativeHandle:function(e,a,l){l=l!=null?l.concat([e]):null,oi(4194308,4,J0.bind(null,a,e),l)},useLayoutEffect:function(e,a){return oi(4194308,4,e,a)},useInsertionEffect:function(e,a){oi(4,2,e,a)},useMemo:function(e,a){var l=ea();a=a===void 0?null:a;var s=e();if(xs){Lt(!0);try{e()}finally{Lt(!1)}}return l.memoizedState=[s,a],s},useReducer:function(e,a,l){var s=ea();if(l!==void 0){var n=l(a);if(xs){Lt(!0);try{l(a)}finally{Lt(!1)}}}else n=a;return s.memoizedState=s.baseState=n,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},s.queue=e,e=e.dispatch=Qf.bind(null,Le,e),[s.memoizedState,e]},useRef:function(e){var a=ea();return e={current:e},a.memoizedState=e},useState:function(e){e=bc(e);var a=e.queue,l=im.bind(null,Le,a);return a.dispatch=l,[e.memoizedState,l]},useDebugValue:wc,useDeferredValue:function(e,a){var l=ea();return jc(l,e,a)},useTransition:function(){var e=bc(!1);return e=am.bind(null,Le,e.queue,!0,!1),ea().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,l){var s=Le,n=ea();if(Qe){if(l===void 0)throw Error(c(407));l=l()}else{if(l=a(),pt===null)throw Error(c(349));(qe&127)!==0||R0(s,a,l)}n.memoizedState=l;var i={value:l,getSnapshot:a};return n.queue=i,Y0(A0.bind(null,s,i,e),[e]),s.flags|=2048,Qs(9,{destroy:void 0},M0.bind(null,s,i,l,a),null),l},useId:function(){var e=ea(),a=pt.identifierPrefix;if(Qe){var l=Xa,s=Ha;l=(s&~(1<<32-bt(s)-1)).toString(32)+l,a="_"+a+"R_"+l,l=si++,0<l&&(a+="H"+l.toString(32)),a+="_"}else l=Gf++,a="_"+a+"r_"+l.toString(32)+"_";return e.memoizedState=a},useHostTransitionStatus:kc,useFormState:I0,useActionState:I0,useOptimistic:function(e){var a=ea();a.memoizedState=a.baseState=e;var l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=l,a=Sc.bind(null,Le,!0,l),l.dispatch=a,[e,a]},useMemoCache:pc,useCacheRefresh:function(){return ea().memoizedState=Zf.bind(null,Le)},useEffectEvent:function(e){var a=ea(),l={impl:e};return a.memoizedState=l,function(){if((rt&2)!==0)throw Error(c(440));return l.impl.apply(void 0,arguments)}}},Oc={readContext:Yt,use:ni,useCallback:F0,useContext:Yt,useEffect:vc,useImperativeHandle:W0,useInsertionEffect:Z0,useLayoutEffect:Q0,useMemo:em,useReducer:ii,useRef:q0,useState:function(){return ii(sl)},useDebugValue:wc,useDeferredValue:function(e,a){var l=Rt();return tm(l,ut.memoizedState,e,a)},useTransition:function(){var e=ii(sl)[0],a=Rt().memoizedState;return[typeof e=="boolean"?e:$r(e),a]},useSyncExternalStore:_0,useId:rm,useHostTransitionStatus:kc,useFormState:G0,useActionState:G0,useOptimistic:function(e,a){var l=Rt();return B0(l,ut,e,a)},useMemoCache:pc,useCacheRefresh:nm};Oc.useEffectEvent=P0;var um={readContext:Yt,use:ni,useCallback:F0,useContext:Yt,useEffect:vc,useImperativeHandle:W0,useInsertionEffect:Z0,useLayoutEffect:Q0,useMemo:em,useReducer:gc,useRef:q0,useState:function(){return gc(sl)},useDebugValue:wc,useDeferredValue:function(e,a){var l=Rt();return ut===null?jc(l,e,a):tm(l,ut.memoizedState,e,a)},useTransition:function(){var e=gc(sl)[0],a=Rt().memoizedState;return[typeof e=="boolean"?e:$r(e),a]},useSyncExternalStore:_0,useId:rm,useHostTransitionStatus:kc,useFormState:K0,useActionState:K0,useOptimistic:function(e,a){var l=Rt();return ut!==null?B0(l,ut,e,a):(l.baseState=e,[e,l.queue.dispatch])},useMemoCache:pc,useCacheRefresh:nm};um.useEffectEvent=P0;function Ec(e,a,l,s){a=e.memoizedState,l=l(s,a),l=l==null?a:b({},a,l),e.memoizedState=l,e.lanes===0&&(e.updateQueue.baseState=l)}var Cc={enqueueSetState:function(e,a,l){e=e._reactInternals;var s=ha(),n=_l(s);n.payload=a,l!=null&&(n.callback=l),a=Rl(e,n,s),a!==null&&(na(a,e,s),Hr(a,e,s))},enqueueReplaceState:function(e,a,l){e=e._reactInternals;var s=ha(),n=_l(s);n.tag=1,n.payload=a,l!=null&&(n.callback=l),a=Rl(e,n,s),a!==null&&(na(a,e,s),Hr(a,e,s))},enqueueForceUpdate:function(e,a){e=e._reactInternals;var l=ha(),s=_l(l);s.tag=2,a!=null&&(s.callback=a),a=Rl(e,s,l),a!==null&&(na(a,e,l),Hr(a,e,l))}};function mm(e,a,l,s,n,i,p){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,i,p):a.prototype&&a.prototype.isPureReactComponent?!Mr(l,s)||!Mr(n,i):!0}function hm(e,a,l,s){e=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(l,s),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(l,s),a.state!==e&&Cc.enqueueReplaceState(a,a.state,null)}function ps(e,a){var l=a;if("ref"in a){l={};for(var s in a)s!=="ref"&&(l[s]=a[s])}if(e=e.defaultProps){l===a&&(l=b({},l));for(var n in e)l[n]===void 0&&(l[n]=e[n])}return l}function xm(e){In(e)}function pm(e){console.error(e)}function fm(e){In(e)}function ui(e,a){try{var l=e.onUncaughtError;l(a.value,{componentStack:a.stack})}catch(s){setTimeout(function(){throw s})}}function gm(e,a,l){try{var s=e.onCaughtError;s(l.value,{componentStack:l.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(n){setTimeout(function(){throw n})}}function Tc(e,a,l){return l=_l(l),l.tag=3,l.payload={element:null},l.callback=function(){ui(e,a)},l}function bm(e){return e=_l(e),e.tag=3,e}function ym(e,a,l,s){var n=l.type.getDerivedStateFromError;if(typeof n=="function"){var i=s.value;e.payload=function(){return n(i)},e.callback=function(){gm(a,l,s)}}var p=l.stateNode;p!==null&&typeof p.componentDidCatch=="function"&&(e.callback=function(){gm(a,l,s),typeof n!="function"&&(Vl===null?Vl=new Set([this]):Vl.add(this));var S=s.stack;this.componentDidCatch(s.value,{componentStack:S!==null?S:""})})}function Jf(e,a,l,s,n){if(l.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(a=l.alternate,a!==null&&Is(a,l,n,!0),l=ca.current,l!==null){switch(l.tag){case 31:case 13:return Na===null?Ni():l.alternate===null&&Ct===0&&(Ct=3),l.flags&=-257,l.flags|=65536,l.lanes=n,s===Wn?l.flags|=16384:(a=l.updateQueue,a===null?l.updateQueue=new Set([s]):a.add(s),ed(e,s,n)),!1;case 22:return l.flags|=65536,s===Wn?l.flags|=16384:(a=l.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([s])},l.updateQueue=a):(l=a.retryQueue,l===null?a.retryQueue=new Set([s]):l.add(s)),ed(e,s,n)),!1}throw Error(c(435,l.tag))}return ed(e,s,n),Ni(),!1}if(Qe)return a=ca.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=n,s!==Po&&(e=Error(c(422),{cause:s}),zr(ya(e,l)))):(s!==Po&&(a=Error(c(423),{cause:s}),zr(ya(a,l))),e=e.current.alternate,e.flags|=65536,n&=-n,e.lanes|=n,s=ya(s,l),n=Tc(e.stateNode,s,n),rc(e,n
vendor: 14,704 bytes, line 2052
2052),Ct!==4&&(Ct=2)),!1;var i=Error(c(520),{cause:s});if(i=ya(i,l),en===null?en=[i]:en.push(i),Ct!==4&&(Ct=2),a===null)return!0;s=ya(s,l),l=a;do{switch(l.tag){case 3:return l.flags|=65536,e=n&-n,l.lanes|=e,e=Tc(l.stateNode,s,e),rc(l,e),!1;case 1:if(a=l.type,i=l.stateNode,(l.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Vl===null||!Vl.has(i))))return l.flags|=65536,n&=-n,l.lanes|=n,n=bm(n),ym(n,e,l,s),rc(l,n),!1}l=l.return}while(l!==null);return!1}var _c=Error(c(461)),Bt=!1;function Pt(e,a,l,s){a.child=e===null?N0(a,null,l,s):hs(a,e.child,l,s)}function vm(e,a,l,s,n){l=l.render;var i=a.ref;if("ref"in s){var p={};for(var S in s)S!=="ref"&&(p[S]=s[S])}else p=s;return cs(a),s=uc(e,a,l,p,i,n),S=mc(),e!==null&&!Bt?(hc(e,a,n),rl(e,a,n)):(Qe&&S&&qo(a),a.flags|=1,Pt(e,a,s,n),a.child)}function wm(e,a,l,s,n){if(e===null){var i=l.type;return typeof i=="function"&&!Go(i)&&i.defaultProps===void 0&&l.compare===null?(a.tag=15,a.type=i,jm(e,a,i,s,n)):(e=qn(l.type,null,s,a,a.mode,n),e.ref=a.ref,e.return=a,a.child=e)}if(i=e.child,!Lc(e,n)){var p=i.memoizedProps;if(l=l.compare,l=l!==null?l:Mr,l(p,s)&&e.ref===a.ref)return rl(e,a,n)}return a.flags|=1,e=Fa(i,s),e.ref=a.ref,e.return=a,a.child=e}function jm(e,a,l,s,n){if(e!==null){var i=e.memoizedProps;if(Mr(i,s)&&e.ref===a.ref)if(Bt=!1,a.pendingProps=s=i,Lc(e,n))(e.flags&131072)!==0&&(Bt=!0);else return a.lanes=e.lanes,rl(e,a,n)}return Rc(e,a,l,s,n)}function Nm(e,a,l,s){var n=s.children,i=e!==null?e.memoizedState:null;if(e===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.mode==="hidden"){if((a.flags&128)!==0){if(i=i!==null?i.baseLanes|l:l,e!==null){for(s=a.child=e.child,n=0;s!==null;)n=n|s.lanes|s.childLanes,s=s.sibling;s=n&~i}else s=0,a.child=null;return km(e,a,i,l,s)}if((l&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},e!==null&&Qn(a,i!==null?i.cachePool:null),i!==null?O0(a,i):ic(),E0(a);else return s=a.lanes=536870912,km(e,a,i!==null?i.baseLanes|l:l,l,s)}else i!==null?(Qn(a,i.cachePool),O0(a,i),Al(),a.memoizedState=null):(e!==null&&Qn(a,null),ic(),Al());return Pt(e,a,n,l),a.child}function Yr(e,a){return e!==null&&e.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function km(e,a,l,s,n){var i=tc();return i=i===null?null:{parent:Dt._currentValue,pool:i},a.memoizedState={baseLanes:l,cachePool:i},e!==null&&Qn(a,null),ic(),E0(a),e!==null&&Is(e,a,s,!0),a.childLanes=n,null}function mi(e,a){return a=xi({mode:a.mode,children:a.children},e.mode),a.ref=e.ref,e.child=a,a.return=e,a}function Sm(e,a,l){return hs(a,e.child,null,l),e=mi(a,a.pendingProps),e.flags|=2,da(a),a.memoizedState=null,e}function Wf(e,a,l){var s=a.pendingProps,n=(a.flags&128)!==0;if(a.flags&=-129,e===null){if(Qe){if(s.mode==="hidden")return e=mi(a,s),a.lanes=536870912,Yr(null,e);if(cc(a),(e=vt)?(e=Vh(e,ja),e=e!==null&&e.data==="&"?e:null,e!==null&&(a.memoizedState={dehydrated:e,treeContext:Sl!==null?{id:Ha,overflow:Xa}:null,retryLane:536870912,hydrationErrors:null},l=o0(e),l.return=a,a.child=l,qt=a,vt=null)):e=null,e===null)throw El(a);return a.lanes=536870912,null}return mi(a,s)}var i=e.memoizedState;if(i!==null){var p=i.dehydrated;if(cc(a),n)if(a.flags&256)a.flags&=-257,a=Sm(e,a,l);else if(a.memoizedState!==null)a.child=e.child,a.flags|=128,a=null;else throw Error(c(558));else if(Bt||Is(e,a,l,!1),n=(l&e.childLanes)!==0,Bt||n){if(s=pt,s!==null&&(p=Nl(s,l),p!==0&&p!==i.retryLane))throw i.retryLane=p,rs(e,p),na(s,e,p),_c;Ni(),a=Sm(e,a,l)}else e=i.treeContext,vt=ka(p.nextSibling),qt=a,Qe=!0,Ol=null,ja=!1,e!==null&&u0(a,e),a=mi(a,s),a.flags|=4096;return a}return e=Fa(e.child,{mode:s.mode,children:s.children}),e.ref=a.ref,a.child=e,e.return=a,e}function hi(e,a){var l=a.ref;if(l===null)e!==null&&e.ref!==null&&(a.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(c(284));(e===null||e.ref!==l)&&(a.flags|=4194816)}}function Rc(e,a,l,s,n){return cs(a),l=uc(e,a,l,s,void 0,n),s=mc(),e!==null&&!Bt?(hc(e,a,n),rl(e,a,n)):(Qe&&s&&qo(a),a.flags|=1,Pt(e,a,l,n),a.child)}function Om(e,a,l,s,n,i){return cs(a),a.updateQueue=null,l=T0(a,s,l,n),C0(e),s=mc(),e!==null&&!Bt?(hc(e,a,i),rl(e,a,i)):(Qe&&s&&qo(a),a.flags|=1,Pt(e,a,l,i),a.child)}function Em(e,a,l,s,n){if(cs(a),a.stateNode===null){var i=Ls,p=l.contextType;typeof p=="object"&&p!==null&&(i=Yt(p)),i=new l(s,i),a.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Cc,a.stateNode=i,i._reactInternals=a,i=a.stateNode,i.props=s,i.state=a.memoizedState,i.refs={},lc(a),p=l.contextType,i.context=typeof p=="object"&&p!==null?Yt(p):Ls,i.state=a.memoizedState,p=l.getDerivedStateFromProps,typeof p=="function"&&(Ec(a,l,p,s),i.state=a.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(p=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),p!==i.state&&Cc.enqueueReplaceState(i,i.state,null),Ir(a,s,i,n),Xr(),i.state=a.memoizedState),typeof i.componentDidMount=="function"&&(a.flags|=4194308),s=!0}else if(e===null){i=a.stateNode;var S=a.memoizedProps,L=ps(l,S);i.props=L;var ee=i.context,ne=l.contextType;p=Ls,typeof ne=="object"&&ne!==null&&(p=Yt(ne));var he=l.getDerivedStateFromProps;ne=typeof he=="function"||typeof i.getSnapshotBeforeUpdate=="function",S=a.pendingProps!==S,ne||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(S||ee!==p)&&hm(a,i,s,p),Tl=!1;var ae=a.memoizedState;i.state=ae,Ir(a,s,i,n),Xr(),ee=a.memoizedState,S||ae!==ee||Tl?(typeof he=="function"&&(Ec(a,l,he,s),ee=a.memoizedState),(L=Tl||mm(a,l,L,s,ae,ee,p))?(ne||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(a.flags|=4194308)):(typeof i.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=s,a.memoizedState=ee),i.props=s,i.state=ee,i.context=p,s=L):(typeof i.componentDidMount=="function"&&(a.flags|=4194308),s=!1)}else{i=a.stateNode,sc(e,a),p=a.memoizedProps,ne=ps(l,p),i.props=ne,he=a.pendingProps,ae=i.context,ee=l.contextType,L=Ls,typeof ee=="object"&&ee!==null&&(L=Yt(ee)),S=l.getDerivedStateFromProps,(ee=typeof S=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(p!==he||ae!==L)&&hm(a,i,s,L),Tl=!1,ae=a.memoizedState,i.state=ae,Ir(a,s,i,n),Xr();var re=a.memoizedState;p!==he||ae!==re||Tl||e!==null&&e.dependencies!==null&&Pn(e.dependencies)?(typeof S=="function"&&(Ec(a,l,S,s),re=a.memoizedState),(ne=Tl||mm(a,l,ne,s,ae,re,L)||e!==null&&e.dependencies!==null&&Pn(e.dependencies))?(ee||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(s,re,L),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(s,re,L)),typeof i.componentDidUpdate=="function"&&(a.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof i.componentDidUpdate!="function"||p===e.memoizedProps&&ae===e.memoizedState||(a.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||p===e.memoizedProps&&ae===e.memoizedState||(a.flags|=1024),a.memoizedProps=s,a.memoizedState=re),i.props=s,i.state=re,i.context=L,s=ne):(typeof i.componentDidUpdate!="function"||p===e.memoizedProps&&ae===e.memoizedState||(a.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||p===e.memoizedProps&&ae===e.memoizedState||(a.flags|=1024),s=!1)}return i=s,hi(e,a),s=(a.flags&128)!==0,i||s?(i=a.stateNode,l=s&&typeof l.getDerivedStateFromError!="function"?null:i.render(),a.flags|=1,e!==null&&s?(a.child=hs(a,e.child,null,n),a.child=hs(a,null,l,n)):Pt(e,a,l,n),a.memoizedState=i.state,e=a.child):e=rl(e,a,n),e}function Cm(e,a,l,s){return is(),a.flags|=256,Pt(e,a,l,s),a.child}var Mc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ac(e){return{baseLanes:e,cachePool:g0()}}function Dc(e,a,l){return e=e!==null?e.childLanes&~l:0,a&&(e|=ma),e}function Tm(e,a,l){var s=a.pendingProps,n=!1,i=(a.flags&128)!==0,p;if((p=i)||(p=e!==null&&e.memoizedState===null?!1:(_t.current&2)!==0),p&&(n=!0,a.flags&=-129),p=(a.flags&32)!==0,a.flags&=-33,e===null){if(Qe){if(n?Ml(a):Al(),(e=vt)?(e=Vh(e,ja),e=e!==null&&e.data!=="&"?e:null,e!==null&&(a.memoizedState={dehydrated:e,treeContext:Sl!==null?{id:Ha,overflow:Xa}:null,retryLane:536870912,hydrationErrors:null},l=o0(e),l.return=a,a.child=l,qt=a,vt=null)):e=null,e===null)throw El(a);return fd(e)?a.lanes=32:a.lanes=536870912,null}var S=s.children;return s=s.fallback,n?(Al(),n=a.mode,S=xi({mode:"hidden",children:S},n),s=ns(s,n,l,null),S.return=a,s.return=a,S.sibling=s,a.child=S,s=a.child,s.memoizedState=Ac(l),s.childLanes=Dc(e,p,l),a.memoizedState=Mc,Yr(null,s)):(Ml(a),zc(a,S))}var L=e.memoizedState;if(L!==null&&(S=L.dehydrated,S!==null)){if(i)a.flags&256?(Ml(a),a.flags&=-257,a=Bc(e,a,l)):a.memoizedState!==null?(Al(),a.child=e.child,a.flags|=128,a=null):(Al(),S=s.fallback,n=a.mode,s=xi({mode:"visible",children:s.children},n),S=ns(S,n,l,null),S.flags|=2,s.return=a,S.return=a,s.sibling=S,a.child=s,hs(a,e.child,null,l),s=a.child,s.memoizedState=Ac(l),s.childLanes=Dc(e,p,l),a.memoizedState=Mc,a=Yr(null,s));else if(Ml(a),fd(S)){if(p=S.nextSibling&&S.nextSibling.dataset,p)var ee=p.dgst;p=ee,s=Error(c(419)),s.stack="",s.digest=p,zr({value:s,source:null,stack:null}),a=Bc(e,a,l)}else if(Bt||Is(e,a,l,!1),p=(l&e.childLanes)!==0,Bt||p){if(p=pt,p!==null&&(s=Nl(p,l),s!==0&&s!==L.retryLane))throw L.retryLane=s,rs(e,s),na(p,e,s),_c;pd(S)||Ni(),a=Bc(e,a,l)}else pd(S)?(a.flags|=192,a.child=e.child,a=null):(e=L.treeContext,vt=ka(S.nextSibling),qt=a,Qe=!0,Ol=null,ja=!1,e!==null&&u0(a,e),a=zc(a,s.children),a.flags|=4096);return a}return n?(Al(),S=s.fallback,n=a.mode,L=e.child,ee=L.sibling,s=Fa(L,{mode:"hidden",children:s.children}),s.subtreeFlags=L.subtreeFlags&65011712,ee!==null?S=Fa(ee,S):(S=ns(S,n,l,null),S.flags|=2),S.return=a,s.return=a,s.sibling=S,a.child=s,Yr(null,s),s=a.child,S=e.child.memoizedState,S===null?S=Ac(l):(n=S.cachePool,n!==null?(L=Dt._currentValue,n=n.parent!==L?{parent:L,pool:L}:n):n=g0(),S={baseLanes:S.baseLanes|l,cachePool:n}),s.memoizedState=S,s.childLanes=Dc(e,p,l),a.memoizedState=Mc,Yr(e.child,s)):(Ml(a),l=e.child,e=l.sibling,l=Fa(l,{mode:"visible",children:s.children}),l.return=a,l.sibling=null,e!==null&&(p=a.deletions,p===null?(a.deletions=[e],a.flags|=16):p.push(e)),a.child=l,a.memoizedState=null,l)}function zc(e,a){return a=xi({mode:"visible",children:a},e.mode),a.return=e,e.child=a}function xi(e,a){return e=oa(22,e,null,a),e.lanes=0,e}function Bc(e,a,l){return hs(a,e.child,null,l),e=zc(a,a.pendingProps.children),e.flags|=2,a.memoizedState=null,e}function _m(e,a,l){e.lanes|=a;var s=e.alternate;s!==null&&(s.lanes|=a),Jo(e.return,a,l)}function Vc(e,a,l,s,n,i){var p=e.memoizedState;p===null?e.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:s,tail:l,tailMode:n,treeForkCount:i}:(p.isBackwards=a,p.rendering=null,p.renderingStartTime=0,p.last=s,p.tail=l,p.tailMode=n,p.treeForkCount=i)}function Rm(e,a,l){var s=a.pendingProps,n=s.revealOrder,i=s.tail;s=s.children;var p=_t.current,S=(p&2)!==0;if(S?(p=p&1|2,a.flags|=128):p&=1,M(_t,p),Pt(e,a,s,l),s=Qe?Dr:0,!S&&e!==null&&(e.flags&128)!==0)e:for(e=a.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&_m(e,l,a);else if(e.tag===19)_m(e,l,a);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===a)break e;for(;e.sibling===null;){if(e.return===null||e.return===a)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(n){case"forwards":for(l=a.child,n=null;l!==null;)e=l.alternate,e!==null&&ai(e)===null&&(n=l),l=l.sibling;l=n,l===null?(n=a.child,a.child=null):(n=l.sibling,l.sibling=null),Vc(a,!1,n,l,i,s);break;case"backwards":case"unstable_legacy-backwards":for(l=null,n=a.child,a.child=null;n!==null;){if(e=n.alternate,e!==null&&ai(e)===null){a.child=n;break}e=n.sibling,n.sibling=l,l=n,n=e}Vc(a,!0,l,null,i,s);break;case"together":Vc(a,!1,null,null,void 0,s);break;default:a.memoizedState=null}return a.child}function rl(e,a,l){if(e!==null&&(a.dependencies=e.dependencies),Bl|=a.lanes,(l&a.childLanes)===0)if(e!==null){if(Is(e,a,l,!1),(l&a.childLanes)===0)return null}else return null;if(e!==null&&a.child!==e.child)throw Error(c(153));if(a.child!==null){for(e=a.child,l=Fa(e,e.pendingProps),a.child=l,l.return=a;e.sibling!==null;)e=e.sibling,l=l.sibling=Fa(e,e.pendingProps),l.return=a;l.sibling=null}return a.child}function Lc(e,a){return(e.lanes&a)!==0?!0:(e=e.dependencies,!!(e!==null&&Pn(e)))}function Ff(e,a,l){switch(a.tag){case 3:je(a,a.stateNode.containerInfo),Cl(a,Dt,e.memoizedState.cache),is();break;case 27:case 5:Ee(a);break;case 4:je(a,a.stateNode.containerInfo);break;case 10:Cl(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,cc(a),null;break;case 13:var s=a.memoizedState;if(s!==null)return s.dehydrated!==null?(Ml(a),a.flags|=128,null):(l&a.child.childLanes)!==0?Tm(e,a,l):(Ml(a),e=rl(e,a,l),e!==null?e.sibling:null);Ml(a);break;case 19:var n=(e.flags&128)!==0;if(s=(l&a.childLanes)!==0,s||(Is(e,a,l,!1),s=(l&a.childLanes)!==0),n){if(s)return Rm(e,a,l);a.flags|=128}if(n=a.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),M(_t,_t.current),s)break;return null;case 22:return a.lanes=0,Nm(e,a,l,a.pendingProps);case 24:Cl(a,Dt,e.memoizedState.cache)}return rl(e,a,l)}function Mm(e,a,l){if(e!==null)if(e.memoizedProps!==a.pendingProps)Bt=!0;else{if(!Lc(e,l)&&(a.flags&128)===0)return Bt=!1,Ff(e,a,l);Bt=(e.flags&131072)!==0}else Bt=!1,Qe&&(a.flags&1048576)!==0&&d0(a,Dr,a.index);switch(a.lanes=0,a.tag){case 16:e:{var s=a.pendingProps;if(e=us(a.elementType),a.type=e,typeof e=="function")Go(e)?(s=ps(e,s),a.tag=1,a=Em(null,a,e,s,l)):(a.tag=0,a=Rc(null,a,e,s,l));else{if(e!=null){var n=e.$$typeof;if(n===te){a.tag=11,a=vm(null,a,e,s,l);break e}else if(n===H){a.tag=14,a=wm(null,a,e,s,l);break e}}throw a=pe(e)||e,Error(c(306,a,""))}}return a;case 0:return Rc(e,a,a.type,a.pendingProps,l);case 1:return s=a.type,n=ps(s,a.pendingProps),Em(e,a,s,n,l);case 3:e:{if(je(a,a.stateNode.containerInfo),e===null)throw Error(c(387));s=a.pendingProps;var i=a.memoizedState;n=i.element,sc(e,a),Ir(a,s,null,l);var p=a.memoizedState;
vendor: 4,884 bytes, line 2052
2052if(s=p.cache,Cl(a,Dt,s),s!==i.cache&&Wo(a,[Dt],l,!0),Xr(),s=p.element,i.isDehydrated)if(i={element:s,isDehydrated:!1,cache:p.cache},a.updateQueue.baseState=i,a.memoizedState=i,a.flags&256){a=Cm(e,a,s,l);break e}else if(s!==n){n=ya(Error(c(424)),a),zr(n),a=Cm(e,a,s,l);break e}else{switch(e=a.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(vt=ka(e.firstChild),qt=a,Qe=!0,Ol=null,ja=!0,l=N0(a,null,s,l),a.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling}else{if(is(),s===n){a=rl(e,a,l);break e}Pt(e,a,s,l)}a=a.child}return a;case 26:return hi(e,a),e===null?(l=Gh(a.type,null,a.pendingProps,null))?a.memoizedState=l:Qe||(l=a.type,e=a.pendingProps,s=_i(xe.current).createElement(l),s[Nt]=a,s[Tt]=e,Zt(s,l,e),It(s),a.stateNode=s):a.memoizedState=Gh(a.type,e.memoizedProps,a.pendingProps,e.memoizedState),null;case 27:return Ee(a),e===null&&Qe&&(s=a.stateNode=Hh(a.type,a.pendingProps,xe.current),qt=a,ja=!0,n=vt,Xl(a.type)?(gd=n,vt=ka(s.firstChild)):vt=n),Pt(e,a,a.pendingProps.children,l),hi(e,a),e===null&&(a.flags|=4194304),a.child;case 5:return e===null&&Qe&&((n=s=vt)&&(s=Tg(s,a.type,a.pendingProps,ja),s!==null?(a.stateNode=s,qt=a,vt=ka(s.firstChild),ja=!1,n=!0):n=!1),n||El(a)),Ee(a),n=a.type,i=a.pendingProps,p=e!==null?e.memoizedProps:null,s=i.children,md(n,i)?s=null:p!==null&&md(n,p)&&(a.flags|=32),a.memoizedState!==null&&(n=uc(e,a,$f,null,null,l),cn._currentValue=n),hi(e,a),Pt(e,a,s,l),a.child;case 6:return e===null&&Qe&&((e=l=vt)&&(l=_g(l,a.pendingProps,ja),l!==null?(a.stateNode=l,qt=a,vt=null,e=!0):e=!1),e||El(a)),null;case 13:return Tm(e,a,l);case 4:return je(a,a.stateNode.containerInfo),s=a.pendingProps,e===null?a.child=hs(a,null,s,l):Pt(e,a,s,l),a.child;case 11:return vm(e,a,a.type,a.pendingProps,l);case 7:return Pt(e,a,a.pendingProps,l),a.child;case 8:return Pt(e,a,a.pendingProps.children,l),a.child;case 12:return Pt(e,a,a.pendingProps.children,l),a.child;case 10:return s=a.pendingProps,Cl(a,a.type,s.value),Pt(e,a,s.children,l),a.child;case 9:return n=a.type._context,s=a.pendingProps.children,cs(a),n=Yt(n),s=s(n),a.flags|=1,Pt(e,a,s,l),a.child;case 14:return wm(e,a,a.type,a.pendingProps,l);case 15:return jm(e,a,a.type,a.pendingProps,l);case 19:return Rm(e,a,l);case 31:return Wf(e,a,l);case 22:return Nm(e,a,l,a.pendingProps);case 24:return cs(a),s=Yt(Dt),e===null?(n=tc(),n===null&&(n=pt,i=Fo(),n.pooledCache=i,i.refCount++,i!==null&&(n.pooledCacheLanes|=l),n=i),a.memoizedState={parent:s,cache:n},lc(a),Cl(a,Dt,n)):((e.lanes&l)!==0&&(sc(e,a),Ir(a,null,null,l),Xr()),n=e.memoizedState,i=a.memoizedState,n.parent!==s?(n={parent:s,cache:s},a.memoizedState=n,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=n),Cl(a,Dt,s)):(s=i.cache,Cl(a,Dt,s),s!==n.cache&&Wo(a,[Dt],l,!0))),Pt(e,a,a.pendingProps.children,l),a.child;case 29:throw a.pendingProps}throw Error(c(156,a.tag))}function nl(e){e.flags|=4}function Uc(e,a,l,s,n){if((a=(e.mode&32)!==0)&&(a=!1),a){if(e.flags|=16777216,(n&335544128)===n)if(e.stateNode.complete)e.flags|=8192;else if(rh())e.flags|=8192;else throw ms=Wn,ac}else e.flags&=-16777217}function Am(e,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Ph(a))if(rh())e.flags|=8192;else throw ms=Wn,ac}function pi(e,a){a!==null&&(e.flags|=4),e.flags&16384&&(a=e.tag!==22?Ze():536870912,e.lanes|=a,er|=a)}function Pr(e,a){if(!Qe)switch(e.tailMode){case"hidden":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?e.tail=null:l.sibling=null;break;case"collapsed":l=e.tail;for(var s=null;l!==null;)l.alternate!==null&&(s=l),l=l.sibling;s===null?a||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function wt(e){var a=e.alternate!==null&&e.alternate.child===e.child,l=0,s=0;if(a)for(var n=e.child;n!==null;)l|=n.lanes|n.childLanes,s|=n.subtreeFlags&65011712,s|=n.flags&65011712,n.return=e,n=n.sibling;else for(n=e.child;n!==null;)l|=n.lanes|n.childLanes,s|=n.subtreeFlags,s|=n.flags,n.return=e,n=n.sibling;return e.subtreeFlags|=s,e.childLanes=l,a}function eg(e,a,l){var s=a.pendingProps;switch(Yo(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return wt(a),null;case 1:return wt(a),null;case 3:return l=a.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),a.memoizedState.cache!==s&&(a.flags|=2048),al(Dt),Ne(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(e===null||e.child===null)&&(Xs(a)?nl(a):e===null||e.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Zo())),wt(a),null;case 26:var n=a.type,i=a.memoizedState;return e===null?(nl(a),i!==null?(wt(a),Am(a,i)):(wt(a),Uc(a,n,null,s,l))):i?i!==e.memoizedState?(nl(a),wt(a),Am(a,i)):(wt(a),a.flags&=-16777217):(e=e.memoizedProps,e!==s&&nl(a),wt(a),Uc(a,n,e,s,l)),null;case 27:if(Ge(a),l=xe.current,n=a.type,e!==null&&a.stateNode!=null)e.memoizedProps!==s&&nl(a);
vendor: 4,486 bytes, line 2052
2052else{if(!s){if(a.stateNode===null)throw Error(c(166));return wt(a),null}e=X.current,Xs(a)?m0(a):(e=Hh(n,s,l),a.stateNode=e,nl(a))}return wt(a),null;case 5:if(Ge(a),n=a.type,e!==null&&a.stateNode!=null)e.memoizedProps!==s&&nl(a);else{if(!s){if(a.stateNode===null)throw Error(c(166));return wt(a),null}if(i=X.current,Xs(a))m0(a);else{var p=_i(xe.current);switch(i){case 1:i=p.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:i=p.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":i=p.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":i=p.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":i=p.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof s.is=="string"?p.createElement("select",{is:s.is}):p.createElement("select"),s.multiple?i.multiple=!0:s.size&&(i.size=s.size);break;default:i=typeof s.is=="string"?p.createElement(n,{is:s.is}):p.createElement(n)}}i[Nt]=a,i[Tt]=s;e:for(p=a.child;p!==null;){if(p.tag===5||p.tag===6)i.appendChild(p.stateNode);else if(p.tag!==4&&p.tag!==27&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===a)break e;for(;p.sibling===null;){if(p.return===null||p.return===a)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}a.stateNode=i;e:switch(Zt(i,n,s),n){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&nl(a)}}return wt(a),Uc(a,a.type,e===null?null:e.memoizedProps,a.pendingProps,l),null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==s&&nl(a);else{if(typeof s!="string"&&a.stateNode===null)throw Error(c(166));if(e=xe.current,Xs(a)){if(e=a.stateNode,l=a.memoizedProps,s=null,n=qt,n!==null)switch(n.tag){case 27:case 5:s=n.memoizedProps}e[Nt]=a,e=!!(e.nodeValue===l||s!==null&&s.suppressHydrationWarning===!0||Th(e.nodeValue,l)),e||El(a,!0)}else e=_i(e).createTextNode(s),e[Nt]=a,a.stateNode=e}return wt(a),null;case 31:if(l=a.memoizedState,e===null||e.memoizedState!==null){if(s=Xs(a),l!==null){if(e===null){if(!s)throw Error(c(318));if(e=a.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[Nt]=a}else is(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;wt(a),e=!1}else l=Zo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return a.flags&256?(da(a),a):(da(a),null);if((a.flags&128)!==0)throw Error(c(558))}return wt(a),null;case 13:if(s=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(n=Xs(a),s!==null&&s.dehydrated!==null){if(e===null){if(!n)throw Error(c(318));if(n=a.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(c(317));n[Nt]=a}else is(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;wt(a),n=!1}else n=Zo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),n=!0;if(!n)return a.flags&256?(da(a),a):(da(a),null)}return da(a),(a.flags&128)!==0?(a.lanes=l,a):(l=s!==null,e=e!==null&&e.memoizedState!==null,l&&(s=a.child,n=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(n=s.alternate.memoizedState.cachePool.pool),i=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(i=s.memoizedState.cachePool.pool),i!==n&&(s.flags|=2048)),l!==e&&l&&(a.child.flags|=8192),pi(a,a.updateQueue),wt(a),null);case 4:return Ne(),e===null&&id(a.stateNode.containerInfo),wt(a),null;case 10:return al(a.type),wt(a),null;case 19:if(V(_t),s=a.memoizedState,s===null)return wt(a),null;if(n=(a.flags&128)!==0,i=s.rendering,i===null)if(n)Pr(s,!1);else{if(Ct!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(i=ai(e),i!==null){for(a.flags|=128,Pr(s,!1),e=i.updateQueue,a.updateQueue=e,pi(a,e),a.subtreeFlags=0,e=l,l=a.child;l!==null;)i0(l,e),l=l.sibling;return M(_t,_t.current&1|2),Qe&&el(a,s.treeForkCount),a.child}e=e.sibling}s.tail!==null&&se()>vi&&(a.flags|=128,n=!0,Pr(s,!1),a.lanes=4194304)}else{if(!n)if(e=ai(i),e!==null){if(a.flags|=128,n=!0,e=e.updateQueue,a.updateQueue=e,pi(a,e),Pr(s,!0),s.tail===null&&s.tailMode==="hidden"&&!i.alternate&&!Qe)return wt(a),null}else 2*se()-s.renderingStartTime>vi&&l!==536870912&&(a.flags|=128,n=!0,Pr(s,!1),a.lanes=4194304);s.isBackwards?(i.sibling=a.child,a.child=i):(e=s.last,e!==null?e.sibling=i:a.child=i,s.last=i)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=se(),e.sibling=null,l=_t.current,M(_t,n?l&1|2:l&1),Qe&&el(a,s.treeForkCount),e):(wt(
vendor: 23,022 bytes, line 2052
2052a),null);case 22:case 23:return da(a),oc(),s=a.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(a.flags|=8192):s&&(a.flags|=8192),s?(l&536870912)!==0&&(a.flags&128)===0&&(wt(a),a.subtreeFlags&6&&(a.flags|=8192)):wt(a),l=a.updateQueue,l!==null&&pi(a,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),s=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(s=a.memoizedState.cachePool.pool),s!==l&&(a.flags|=2048),e!==null&&V(ds),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),a.memoizedState.cache!==l&&(a.flags|=2048),al(Dt),wt(a),null;case 25:return null;case 30:return null}throw Error(c(156,a.tag))}function tg(e,a){switch(Yo(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return al(Dt),Ne(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return Ge(a),null;case 31:if(a.memoizedState!==null){if(da(a),a.alternate===null)throw Error(c(340));is()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 13:if(da(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(c(340));is()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return V(_t),null;case 4:return Ne(),null;case 10:return al(a.type),null;case 22:case 23:return da(a),oc(),e!==null&&V(ds),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return al(Dt),null;case 25:return null;default:return null}}function Dm(e,a){switch(Yo(a),a.tag){case 3:al(Dt),Ne();break;case 26:case 27:case 5:Ge(a);break;case 4:Ne();break;case 31:a.memoizedState!==null&&da(a);break;case 13:da(a);break;case 19:V(_t);break;case 10:al(a.type);break;case 22:case 23:da(a),oc(),e!==null&&V(ds);break;case 24:al(Dt)}}function Zr(e,a){try{var l=a.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var n=s.next;l=n;do{if((l.tag&e)===e){s=void 0;var i=l.create,p=l.inst;s=i(),p.destroy=s}l=l.next}while(l!==n)}}catch(S){ct(a,a.return,S)}}function Dl(e,a,l){try{var s=a.updateQueue,n=s!==null?s.lastEffect:null;if(n!==null){var i=n.next;s=i;do{if((s.tag&e)===e){var p=s.inst,S=p.destroy;if(S!==void 0){p.destroy=void 0,n=a;var L=l,ee=S;try{ee()}catch(ne){ct(n,L,ne)}}}s=s.next}while(s!==i)}}catch(ne){ct(a,a.return,ne)}}function zm(e){var a=e.updateQueue;if(a!==null){var l=e.stateNode;try{S0(a,l)}catch(s){ct(e,e.return,s)}}}function Bm(e,a,l){l.props=ps(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(s){ct(e,a,s)}}function Qr(e,a){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof l=="function"?e.refCleanup=l(s):l.current=s}}catch(n){ct(e,a,n)}}function Ia(e,a){var l=e.ref,s=e.refCleanup;if(l!==null)if(typeof s=="function")try{s()}catch(n){ct(e,a,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(n){ct(e,a,n)}else l.current=null}function Vm(e){var a=e.type,l=e.memoizedProps,s=e.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":l.autoFocus&&s.focus();break e;case"img":l.src?s.src=l.src:l.srcSet&&(s.srcset=l.srcSet)}}catch(n){ct(e,e.return,n)}}function Hc(e,a,l){try{var s=e.stateNode;Ng(s,e.type,l,a),s[Tt]=a}catch(n){ct(e,e.return,n)}}function Lm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Xl(e.type)||e.tag===4}function Xc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Lm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Xl(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ic(e,a,l){var s=e.tag;if(s===5||s===6)e=e.stateNode,a?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,a):(a=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,a.appendChild(e),l=l._reactRootContainer,l!=null||a.onclick!==null||(a.onclick=Ja));else if(s!==4&&(s===27&&Xl(e.type)&&(l=e.stateNode,a=null),e=e.child,e!==null))for(Ic(e,a,l),e=e.sibling;e!==null;)Ic(e,a,l),e=e.sibling}function fi(e,a,l){var s=e.tag;if(s===5||s===6)e=e.stateNode,a?l.insertBefore(e,a):l.appendChild(e);else if(s!==4&&(s===27&&Xl(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(fi(e,a,l),e=e.sibling;e!==null;)fi(e,a,l),e=e.sibling}function Um(e){var a=e.stateNode,l=e.memoizedProps;try{for(var s=e.type,n=a.attributes;n.length;)a.removeAttributeNode(n[0]);Zt(a,s,l),a[Nt]=e,a[Tt]=l}catch(i){ct(e,e.return,i)}}var il=!1,Vt=!1,Gc=!1,Hm=typeof WeakSet=="function"?WeakSet:Set,Gt=null;function ag(e,a){if(e=e.containerInfo,dd=Vi,e=Wu(e),Bo(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else e:{l=(l=e.ownerDocument)&&l.defaultView||window;var s=l.getSelection&&l.getSelection();if(s&&s.rangeCount!==0){l=s.anchorNode;var n=s.anchorOffset,i=s.focusNode;s=s.focusOffset;try{l.nodeType,i.nodeType}catch{l=null;break e}var p=0,S=-1,L=-1,ee=0,ne=0,he=e,ae=null;t:for(;;){for(var re;he!==l||n!==0&&he.nodeType!==3||(S=p+n),he!==i||s!==0&&he.nodeType!==3||(L=p+s),he.nodeType===3&&(p+=he.nodeValue.length),(re=he.firstChild)!==null;)ae=he,he=re;for(;;){if(he===e)break t;if(ae===l&&++ee===n&&(S=p),ae===i&&++ne===s&&(L=p),(re=he.nextSibling)!==null)break;he=ae,ae=he.parentNode}he=re}l=S===-1||L===-1?null:{start:S,end:L}}else l=null}l=l||{start:0,end:0}}else l=null;for(ud={focusedElem:e,selectionRange:l},Vi=!1,Gt=a;Gt!==null;)if(a=Gt,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,Gt=e;else for(;Gt!==null;){switch(a=Gt,i=a.alternate,e=a.flags,a.tag){case 0:if((e&4)!==0&&(e=a.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l<e.length;l++)n=e[l],n.ref.impl=n.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,l=a,n=i.memoizedProps,i=i.memoizedState,s=l.stateNode;try{var we=ps(l.type,n);e=s.getSnapshotBeforeUpdate(we,i),s.__reactInternalSnapshotBeforeUpdate=e}catch(_e){ct(l,l.return,_e)}}break;case 3:if((e&1024)!==0){if(e=a.stateNode.containerInfo,l=e.nodeType,l===9)xd(e);else if(l===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":xd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(c(163))}if(e=a.sibling,e!==null){e.return=a.return,Gt=e;break}Gt=a.return}}function Xm(e,a,l){var s=l.flags;switch(l.tag){case 0:case 11:case 15:cl(e,l),s&4&&Zr(5,l);break;case 1:if(cl(e,l),s&4)if(e=l.stateNode,a===null)try{e.componentDidMount()}catch(p){ct(l,l.return,p)}else{var n=ps(l.type,a.memoizedProps);a=a.memoizedState;try{e.componentDidUpdate(n,a,e.__reactInternalSnapshotBeforeUpdate)}catch(p){ct(l,l.return,p)}}s&64&&zm(l),s&512&&Qr(l,l.return);break;case 3:if(cl(e,l),s&64&&(e=l.updateQueue,e!==null)){if(a=null,l.child!==null)switch(l.child.tag){case 27:case 5:a=l.child.stateNode;break;case 1:a=l.child.stateNode}try{S0(e,a)}catch(p){ct(l,l.return,p)}}break;case 27:a===null&&s&4&&Um(l);case 26:case 5:cl(e,l),a===null&&s&4&&Vm(l),s&512&&Qr(l,l.return);break;case 12:cl(e,l);break;case 31:cl(e,l),s&4&&$m(e,l);break;case 13:cl(e,l),s&4&&Km(e,l),s&64&&(e=l.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(l=ug.bind(null,l),Rg(e,l))));break;case 22:if(s=l.memoizedState!==null||il,!s){a=a!==null&&a.memoizedState!==null||Vt,n=il;var i=Vt;il=s,(Vt=a)&&!i?dl(e,l,(l.subtreeFlags&8772)!==0):cl(e,l),il=n,Vt=i}break;case 30:break;default:cl(e,l)}}function Im(e){var a=e.alternate;a!==null&&(e.alternate=null,Im(a)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(a=e.stateNode,a!==null&&yo(a)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var kt=null,aa=!1;function ol(e,a,l){for(l=l.child;l!==null;)Gm(e,a,l),l=l.sibling}function Gm(e,a,l){if(dt&&typeof dt.onCommitFiberUnmount=="function")try{dt.onCommitFiberUnmount(He,l)}catch{}switch(l.tag){case 26:Vt||Ia(l,a),ol(e,a,l),l.memoizedState?l.memoizedState.count--:l.stateNode&&(l=l.stateNode,l.parentNode.removeChild(l));break;case 27:Vt||Ia(l,a);var s=kt,n=aa;Xl(l.type)&&(kt=l.stateNode,aa=!1),ol(e,a,l),rn(l.stateNode),kt=s,aa=n;break;case 5:Vt||Ia(l,a);case 6:if(s=kt,n=aa,kt=null,ol(e,a,l),kt=s,aa=n,kt!==null)if(aa)try{(kt.nodeType===9?kt.body:kt.nodeName==="HTML"?kt.ownerDocument.body:kt).removeChild(l.stateNode)}catch(i){ct(l,a,i)}else try{kt.removeChild(l.stateNode)}catch(i){ct(l,a,i)}break;case 18:kt!==null&&(aa?(e=kt,zh(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.stateNode),or(e)):zh(kt,l.stateNode));break;case 4:s=kt,n=aa,kt=l.stateNode.containerInfo,aa=!0,ol(e,a,l),kt=s,aa=n;break;case 0:case 11:case 14:case 15:Dl(2,l,a),Vt||Dl(4,l,a),ol(e,a,l);break;case 1:Vt||(Ia(l,a),s=l.stateNode,typeof s.componentWillUnmount=="function"&&Bm(l,a,s)),ol(e,a,l);break;case 21:ol(e,a,l);break;case 22:Vt=(s=Vt)||l.memoizedState!==null,ol(e,a,l),Vt=s;break;default:ol(e,a,l)}}function $m(e,a){if(a.memoizedState===null&&(e=a.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{or(e)}catch(l){ct(a,a.return,l)}}}function Km(e,a){if(a.memoizedState===null&&(e=a.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{or(e)}catch(l){ct(a,a.return,l)}}function lg(e){switch(e.tag){case 31:case 13:case 19:var a=e.stateNode;return a===null&&(a=e.stateNode=new Hm),a;case 22:return e=e.stateNode,a=e._retryCache,a===null&&(a=e._retryCache=new Hm),a;default:throw Error(c(435,e.tag))}}function gi(e,a){var l=lg(e);a.forEach(function(s){if(!l.has(s)){l.add(s);var n=mg.bind(null,e,s);s.then(n,n)}})}function la(e,a){var l=a.deletions;if(l!==null)for(var s=0;s<l.length;s++){var n=l[s],i=e,p=a,S=p;e:for(;S!==null;){switch(S.tag){case 27:if(Xl(S.type)){kt=S.stateNode,aa=!1;break e}break;case 5:kt=S.stateNode,aa=!1;break e;case 3:case 4:kt=S.stateNode.containerInfo,aa=!0;break e}S=S.return}if(kt===null)throw Error(c(160));Gm(i,p,n),kt=null,aa=!1,i=n.alternate,i!==null&&(i.return=null),n.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)qm(a,e),a=a.sibling}var Da=null;function qm(e,a){var l=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:la(a,e),sa(e),s&4&&(Dl(3,e,e.return),Zr(3,e),Dl(5,e,e.return));break;case 1:la(a,e),sa(e),s&512&&(Vt||l===null||Ia(l,l.return)),s&64&&il&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(l=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=l===null?s:l.concat(s))));break;case 26:var n=Da;if(la(a,e),sa(e),s&512&&(Vt||l===null||Ia(l,l.return)),s&4){var i=l!==null?l.memoizedState:null;if(s=e.memoizedState,l===null)if(s===null)if(e.stateNode===null){e:{s=e.type,l=e.memoizedProps,n=n.ownerDocument||n;t:switch(s){case"title":i=n.getElementsByTagName("title")[0],(!i||i[Nr]||i[Nt]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=n.createElement(s),n.head.insertBefore(i,n.querySelector("head > title"))),Zt(i,s,l),i[Nt]=e,It(i),s=i;break e;case"link":var p=qh("link","href",n).get(s+(l.href||""));if(p){for(var S=0;S<p.length;S++)if(i=p[S],i.getAttribute("href")===(l.href==null||l.href===""?null:l.href)&&i.getAttribute("rel")===(l.rel==null?null:l.rel)&&i.getAttribute("title")===(l.title==null?null:l.title)&&i.getAttribute("crossorigin")===(l.crossOrigin==null?null:l.crossOrigin)){p.splice(S,1);break t}}i=n.createElement(s),Zt(i,s,l),n.head.appendChild(i);break;case"meta":if(p=qh("meta","content",n).get(s+(l.content||""))){for(S=0;S<p.length;S++)if(i=p[S],i.getAttribute("content")===(l.content==null?null:""+l.content)&&i.getAttribute("name")===(l.name==null?null:l.name)&&i.getAttribute("property")===(l.property==null?null:l.property)&&i.getAttribute("http-equiv")===(l.httpEquiv==null?null:l.httpEquiv)&&i.getAttribute("charset")===(l.charSet==null?null:l.charSet)){p.splice(S,1);break t}}i=n.createElement(s),Zt(i,s,l),n.head.appendChild(i);break;default:throw Error(c(468,s))}i[Nt]=e,It(i),s=i}e.stateNode=s}else Yh(n,e.type,e.stateNode);else e.stateNode=Kh(n,s,e.memoizedProps);else i!==s?(i===null?l.stateNode!==null&&(l=l.stateNode,l.parentNode.removeChild(l)):i.count--,s===null?Yh(n,e.type,e.stateNode):Kh(n,s,e.memoizedProps)):s===null&&e.stateNode!==null&&Hc(e,e.memoizedProps,l.memoizedProps)}break;case 27:la(a,e),sa(e),s&512&&(Vt||l===null||Ia(l,l.return)),l!==null&&s&4&&Hc(e,e.memoizedProps,l.memoizedProps);break;case 5:if(la(a,e),sa(e),s&512&&(Vt||l===null||Ia(l,l.return)),e.flags&32){n=e.stateNode;try{Rs(n,"")}catch(we){ct(e,e.return,we)}}s&4&&e.stateNode!=null&&(n=e.memoizedProps,Hc(e,n,l!==null?l.memoizedProps:n)),s&1024&&(Gc=!0);break;case 6:if(la(a,e),sa(e),s&4){if(e.stateNode===null)throw Error(c(162));s=e.memoizedProps,l=e.stateNode;try{l.nodeValue=s}catch(we){ct(e,e.return,we)}}break;case 3:if(Ai=null,n=Da,Da=Ri(a.containerInfo),la(a,e),Da=n,sa(e),s&4&&l!==null&&l.memoizedState.isDehydrated)try{or(a.containerInfo)}catch(we){ct(e,e.return,we)}Gc&&(Gc=!1,Ym(e));break;case 4:s=Da,Da=Ri(e.stateNode.containerInfo),la(a,e),sa(e),Da=s;break;case 12:la(a,e),sa(e);break;case 31:la(a,e),sa(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,gi(e,s)));break;case 13:la(a,e),sa(e),e.child.flags&8192&&e.memoizedState!==null!=(l!==null&&l.memoizedState!==null)&&(yi=se()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,gi(e,s)));break;case 22:n=e.memoizedState!==null;var L=l!==null&&l.memoizedState!==null,ee=il,ne=Vt;if(il=ee||n,Vt=ne||L,la(a,e),Vt=ne,il=ee,sa(e),s&8192)e:for(a=e.stateNode,a._visibility=n?a._visibility&-2:a._visibility|1,n&&(l===null||L||il||Vt||fs(e)),l=null,a=e;;){if(a.tag===5||a.tag===26){if(l===null){L=l=a;try{if(i=L.stateNode,n)p=i.style,typeof p.setProperty=="function"?p.setProperty("display","none","important"):p.display="none";else{S=L.stateNode;var he=L.memoizedProps.style,ae=he!=null&&he.hasOwnProperty("display")?he.display:null;S.style.display=ae==null||typeof ae=="boolean"?"":(""+ae).trim()}}catch(we){ct(L,L.return,we)}}}else if(a.tag===6){if(l===null){L=a;try{L.stateNode.nodeValue=n?"":L.memoizedProps}catch(we){ct(L,L.return,we)}}}else if(a.tag===18){if(l===null){L=a;try{var re=L.stateNode;n?Bh(re,!0):Bh(L.stateNode,!1)}catch(we){ct(L,L.return,we)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===e)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break e;for(;a.sibling===null;){if(a.return===null||a.return===e)break e;l===a&&(l=null),a=a.return}l===a&&(l=null),a.sibling.return=a.return,a=a.sibling}s&4&&(s=e.updateQueue,s!==null&&(l=s.retryQueue,l!==null&&(s.retryQueue=null,gi(e,l))));break;case 19:la(a,e),sa(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,gi(e,s)));break;case 30:break;case 21:break;default:la(a,e),sa(e)}}function sa(e){var a=e.flags;if(a&2){try{for(var l,s=e.return;s!==null;){if(Lm(s)){l=s;break}s=s.return}if(l==null)throw Error(c(160));switch(l.tag){case 27:var n=l.stateNode,i=Xc(e);fi(e,i,n);break;case 5:var p=l.stateNode;l.flags&32&&(Rs(p,""),l.flags&=-33);var S=Xc(e);fi(e,S,p);break;case 3:case 4:var L=l.stateNode.containerInfo,ee=Xc(e);Ic(e,ee,L);break;default:throw Error(c(161))}}catch(ne){ct(e,e.return,ne)}e.flags&=-3}a&4096&&(e.flags&=-4097)}function Ym(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var a=e;Ym(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),e=e.sibling}}function cl(e,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Xm(e,a.alternate,a),a=a.sibling}function fs(e){for(e=e.child;e!==null;){var a=e;switch(a.tag){case 0:case 11:case 14:case 15:Dl(4,a,a.return),fs(a);break;case 1:Ia(a,a.return);var l=a.stateNode;typeof l.componentWillUnmount=="function"&&Bm(a,a.return,l),fs(a);break;case 27:rn(a.stateNode);case 26:case 5:Ia(a,a.return),fs(a);break;case 22:a.memoizedState===null&&fs(a);break;case 30:fs(a);break;default:fs(a)}e=e.sibling}}function dl(e,a,l){for(l=l&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var s=a.alternate,n=e,i=a,p=i.flags;switch(i.tag){case 0:case 11:case 15:dl(n,i,l),Zr(4,i);break;case 1:if(dl(n,i,l),s=i,n=s.stateNode,typeof n.componentDidMount=="function")try{n.componentDidMount()}catch(ee){ct(s,s.return,ee)}if(s=i,n=s.updateQueue,n!==null){var S=s.stateNode;try{var L=n.shared.hiddenCallbacks;if(L!==null)for(n.shared.hiddenCallbacks=null,n=0;n<L.length;n++)k0(L[n],S)}catch(ee){ct(s,s.return,ee)}}l&&p&64&&zm(i),Qr(i,i.return);break;case 27:Um(i);case 26:case 5:dl(n,i,l),l&&s===null&&p&4&&Vm(i),Qr(i,i.return);break;case 12:dl(n,i,l);break;case 31:dl(n,i,l),l&&p&4&&$m(n,i);break;case 13:dl(n,i,l),l&&p&4&&Km(n,i);break;case 22:i.memoizedState===null&&dl(n,i,l),Qr(i,i.return);break;case 30:break;default:dl(n,i,l)}a=a.sibling}}function $c(e,a){var l=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),e=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(e=a.memoizedState.cachePool.pool),e!==l&&(e!=null&&e.refCount++,l!=null&&Br(l))}function Kc(e,a){e=null,a.alternate!==null&&(e=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==e&&(a.refCount++,e!=null&&Br(e))}function za(e,a,l,s){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Pm(e,a,l,s),a=a.sibling}function Pm(e,a,l,s){var n=a.flags;switch(a.tag){case 0:case 11:case 15:za(e,a,l,s),n&2048&&Zr(9,a);break;case 1:za(e,a,l,s);break;case 3:za(e,a,l,s),n&2048&&(e=null,a.alternate!==null&&(e=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==e&&(a.refCount++,e!=null&&Br(e)));break;case 12:if(n&2048){za(e,a,l,s),e=a.stateNode;try{var i=a.memoizedProps,p=i.id,S=i.onPostCommit;typeof S=="function"&&S(p,a.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(L){ct(a,a.return,L)}}else za(e,a,l,s);break;case 31:za(e,a,l,s);break;case 13:za(e,a,l,s);break;case 23:break;case 22:i=a.stateNode,p=a.alternate,a.memoizedState!==null?i._visibility&2?za(e,a,l,s):Jr(e,a):i._visibility&2?za(e,a,l,s):(i._visibility|=2,Js(e,a,l,s,(a.subtreeFlags&10256)!==0||!1)),n&2048&&$c(p,a);break;case 24:za(e,a,l,s),n&2048&&Kc(a.alternate,a);break;default:za(e,a,l,s)}}function Js(e,a,l,s,n){for(n=n&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var i=e,p=a,S=l,L=s,ee=p.flags;switch(p.tag){case 0:case 11:case 15:Js(i,p,S,L,n),Zr(8,p);break;case 23:break;case 22:var ne=p.stateNode;p.memoizedState!==null?ne._visibility&2?Js(i,p,S,L,n):Jr(i,p):(ne._visibility|=2,Js(i,p,S,L,n)),n&&ee&2048&&$c(p.alternate,p);break;case 24:Js(i,p,S,L,n),n&&ee&2048&&Kc(p.alternate,p);break;default:Js(i,p,S,L,n)}a=a.sibling}}function Jr(e,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var l=e,s=a,n=s.flags;switch(s.tag){case 22:Jr(l,s),n&2048&&$c(s.alternate,s);break;case 24:Jr(l,s),n&2048&&Kc(s.alternate,s);break;default:Jr(l,s)}a=a.sibling}}var Wr=8192;function Ws(e,a,l){if(e.subtreeFlags&Wr)for(e=e.child;e!==null;)Zm(e,a,l),e=e.sibling}function Zm(e,a,l){switch(e.tag){case 26:Ws(e,a,l),e.flags&Wr&&e.memoizedState!==null&&Gg(l,Da,e.memoizedState,e.memoizedProps);break;case 5:Ws(e,a,l);break;case 3:case 4:var s=Da;Da=Ri(e.stateNode.containerInfo),Ws(e,a,l),Da=s;break;case 22:e.memoizedState===null&&(s=e.alternate,s!==null&&s.memoizedState!==null?(s=Wr,Wr=16777216,Ws(e,a,l),Wr=s):Ws(e,a,l));break;default:Ws(e,a,l)}}function Qm(e){var a=e.alternate;if(a!==null&&(e=a.child,e!==null)){a.child=null;do a=e.sibling,e.sibling=null,e=a;while(e!==null)}}function Fr(e){var a=e.deletions;if((e.flags&16)!==0){if(a!==null)for(var l=0;l<a.length;l++){var s=a[l];Gt=s,Wm(s,e)}Qm(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Jm(e),e=e.sibling}function Jm(e){switch(e.tag){case 0:case 11:case 15:Fr(e),e.flags&2048&&Dl(9,e,e.return);break;case 3:Fr(e);break;case 12:Fr(e);break;case 22:var a=e.stateNode;e.memoizedState!==null&&a._visibility&2&&(e.return===null||e.return.tag!==13)?(a._visibility&=-3,bi(e)):Fr(e);break;default:Fr(e)}}function bi(e){var a=e.deletions;if((e.flags&16)!==0){if(a!==null)for(var l=0;l<a.length;l++){var s=a[l];Gt=s,Wm(s,e)}Qm(e)}for(e=e.child;e!==null;){switch(a=e,a.tag){case 0:case 11:case 15:Dl(8,a,a.return),bi(a);break;case 22:l=a.stateNode,l._visibility&2&&(l._visibility&=-3,bi(a));break;default:bi(a)}e=e.sibling}}function Wm(e,a){for(;Gt!==null;){var l=Gt;switch(l.tag){case 0:case 11:case 15:Dl(8,l,a);break;case 23:case 22:if(l.memoizedState!==null&&l.memoizedState.cachePool!==null){var s=l.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:Br(l.memoizedState.cache)}if(s=l.child,s!==null)s.return=l,Gt=s;else e:for(l=e;Gt!==null;){s=Gt;var n=s.sibling,i=s.return;if(Im(s),s===l){Gt=null;break e}if(n!==null){n.return=i,Gt=n;break e}Gt=i}}}var sg={getCacheForType:function(e){var a=Yt(Dt),l=a.data.get(e);return l===void 0&&(l=e(),a.data.set(e,l)),l},cacheSignal:function(){return Yt(Dt).controller.signal}},rg=typeof WeakMap=="function"?WeakMap:Map,rt=0,pt=null,$e=null,qe=0,ot=0,ua=null,zl=!1,Fs=!1,qc=!1,ul=0,Ct=0,Bl=0,gs=0,Yc=0,ma=0,er=0,en=null,ra=null,Pc=!1,yi=0,Fm=0,vi=1/0,wi=null,Vl=null,Ut=0,Ll=null,tr=null,ml=0,Zc=0,Qc=null,eh=null,tn=0,Jc=null;function ha(){return(rt&2)!==0&&qe!==0?qe&-qe:z.T!==null?ld():fe()}function th(){if(ma===0)if((qe&536870912)===0||Qe){var e=We;We<<=1,(We&3932160)===0&&(We=262144),ma=e}else ma=536870912;return e=ca.current,e!==null&&(e.flags|=32),ma}function na(e,a,l){(e===pt&&(ot===2||ot===9)||e.cancelPendingCommit!==null)&&(ar(e,0),Ul(e,qe,ma,!1)),Ra(e,l),((rt&2)===0||e!==pt)&&(e===pt&&((rt&2)===0&&(gs|=l),Ct===4&&Ul(e,qe,ma,!1)),Ga(e))}function ah(e,a,l){if((rt&6)!==0)throw Error(c(327));var s=!l&&(a&127)===0&&(a&e.expiredLanes)===0||Be(e,a),n=s?og(e,a):Fc(e,a,!0),i=s;do{if(n===0){Fs&&!s&&Ul(e,a,0,!1);break}else{if(l=e.current.alternate,i&&!ng(l)){n=Fc(e,a,!1),i=!1;continue}if(n===2){if(i=a,e.errorRecoveryDisabledLanes&i)var p=0;else p=e.pendingLanes&-536870913,p=p!==0?p:p&536870912?536870912:0;if(p!==0){a=p;e:{var S=e;n=en;var L=S.current.memoizedState.isDehydrated;if(L&&(ar(S,p).flags|=256),p=Fc(S,p,!1),p!==2){if(qc&&!L){S.errorRecoveryDisabledLanes|=i,gs|=i,n=4;break e}i=ra,ra=n,i!==null&&(ra===null?ra=i:ra.push.apply(ra,i))}n=p}if(i=!1,n!==2)continue}}if(n===1){ar(e,0),Ul(e,a,0,!0);break}e:{switch(s=e,i=n,i){case 0:case 1:throw Error(c(345));case 4:if((a&4194048)!==a)break;case 6:Ul(s,a,ma,!zl);break e;case 2:ra=null;break;case 3:case 5:break;default:throw Error(c(329))}if((a&62914560)===a&&(n=yi+300-se(),10<n)){if(Ul(s,a,ma,!zl),Ie(s,0,!0)!==0)break e;ml=a,s.timeoutHandle=Ah(lh.bind(null,s,l,ra,wi,Pc,a,ma,gs,er,zl,i,"Throttled",-0,0),n);break e}lh(s,l,ra,wi,Pc,a,ma,gs,er,zl,i,null,-0,0)}}break}while(!0);Ga(e)}function lh(e,a,l,s,n,i,p,S,L,ee,ne,he,ae,re){if(e.timeoutHandle=-1,he=a.subtreeFlags,he&8192||(he&16785408)===16785408){he={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ja},Zm(a,i,he);var we=(i&62914560)===i?yi-se():(i&4194048)===i?Fm-se():0;if(we=$g(he,we),we!==null){ml=i,e.cancelPendingCommit=we(uh.bind(null,e,a,i,l,s,n,p,S,L,ne,he,null,ae,re)),Ul(e,i,p,!ee);return}}uh(e,a,i,l,s,n,p,S,L)}function ng(e){for(var a=e;;){var l=a.tag;
vendor: 22,809 bytes, lines 2052-2053
2052if((l===0||l===11||l===15)&&a.flags&16384&&(l=a.updateQueue,l!==null&&(l=l.stores,l!==null)))for(var s=0;s<l.length;s++){var n=l[s],i=n.getSnapshot;n=n.value;try{if(!ia(i(),n))return!1}catch{return!1}}if(l=a.child,a.subtreeFlags&16384&&l!==null)l.return=a,a=l;else{if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Ul(e,a,l,s){a&=~Yc,a&=~gs,e.suspendedLanes|=a,e.pingedLanes&=~a,s&&(e.warmLanes|=a),s=e.expirationTimes;for(var n=a;0<n;){var i=31-bt(n),p=1<<i;s[i]=-1,n&=~p}l!==0&&wl(e,l,a)}function ji(){return(rt&6)===0?(an(0),!1):!0}function Wc(){if($e!==null){if(ot===0)var e=$e.return;else e=$e,tl=os=null,xc(e),qs=null,Lr=0,e=$e;for(;e!==null;)Dm(e.alternate,e),e=e.return;$e=null}}function ar(e,a){var l=e.timeoutHandle;l!==-1&&(e.timeoutHandle=-1,Og(l)),l=e.cancelPendingCommit,l!==null&&(e.cancelPendingCommit=null,l()),ml=0,Wc(),pt=e,$e=l=Fa(e.current,null),qe=a,ot=0,ua=null,zl=!1,Fs=Be(e,a),qc=!1,er=ma=Yc=gs=Bl=Ct=0,ra=en=null,Pc=!1,(a&8)!==0&&(a|=a&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=a;0<s;){var n=31-bt(s),i=1<<n;a|=e[n],s&=~i}return ul=a,Gn(),l}function sh(e,a){Le=null,z.H=qr,a===Ks||a===Jn?(a=v0(),ot=3):a===ac?(a=v0(),ot=4):ot=a===_c?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,ua=a,$e===null&&(Ct=1,ui(e,ya(a,e.current)))}function rh(){var e=ca.current;return e===null?!0:(qe&4194048)===qe?Na===null:(qe&62914560)===qe||(qe&536870912)!==0?e===Na:!1}function nh(){var e=z.H;return z.H=qr,e===null?qr:e}function ih(){var e=z.A;return z.A=sg,e}function Ni(){Ct=4,zl||(qe&4194048)!==qe&&ca.current!==null||(Fs=!0),(Bl&134217727)===0&&(gs&134217727)===0||pt===null||Ul(pt,qe,ma,!1)}function Fc(e,a,l){var s=rt;rt|=2;var n=nh(),i=ih();(pt!==e||qe!==a)&&(wi=null,ar(e,a)),a=!1;var p=Ct;e:do try{if(ot!==0&&$e!==null){var S=$e,L=ua;switch(ot){case 8:Wc(),p=6;break e;case 3:case 2:case 9:case 6:ca.current===null&&(a=!0);var ee=ot;if(ot=0,ua=null,lr(e,S,L,ee),l&&Fs){p=0;break e}break;default:ee=ot,ot=0,ua=null,lr(e,S,L,ee)}}ig(),p=Ct;break}catch(ne){sh(e,ne)}while(!0);return a&&e.shellSuspendCounter++,tl=os=null,rt=s,z.H=n,z.A=i,$e===null&&(pt=null,qe=0,Gn()),p}function ig(){for(;$e!==null;)oh($e)}function og(e,a){var l=rt;rt|=2;var s=nh(),n=ih();pt!==e||qe!==a?(wi=null,vi=se()+500,ar(e,a)):Fs=Be(e,a);e:do try{if(ot!==0&&$e!==null){a=$e;var i=ua;t:switch(ot){case 1:ot=0,ua=null,lr(e,a,i,1);break;case 2:case 9:if(b0(i)){ot=0,ua=null,ch(a);break}a=function(){ot!==2&&ot!==9||pt!==e||(ot=7),Ga(e)},i.then(a,a);break e;case 3:ot=7;break e;case 4:ot=5;break e;case 7:b0(i)?(ot=0,ua=null,ch(a)):(ot=0,ua=null,lr(e,a,i,7));break;case 5:var p=null;switch($e.tag){case 26:p=$e.memoizedState;case 5:case 27:var S=$e;if(p?Ph(p):S.stateNode.complete){ot=0,ua=null;var L=S.sibling;if(L!==null)$e=L;else{var ee=S.return;ee!==null?($e=ee,ki(ee)):$e=null}break t}}ot=0,ua=null,lr(e,a,i,5);break;case 6:ot=0,ua=null,lr(e,a,i,6);break;case 8:Wc(),Ct=6;break e;default:throw Error(c(462))}}cg();break}catch(ne){sh(e,ne)}while(!0);return tl=os=null,z.H=s,z.A=n,rt=l,$e!==null?0:(pt=null,qe=0,Gn(),Ct)}function cg(){for(;$e!==null&&!Xt();)oh($e)}function oh(e){var a=Mm(e.alternate,e,ul);e.memoizedProps=e.pendingProps,a===null?ki(e):$e=a}function ch(e){var a=e,l=a.alternate;switch(a.tag){case 15:case 0:a=Om(l,a,a.pendingProps,a.type,void 0,qe);break;case 11:a=Om(l,a,a.pendingProps,a.type.render,a.ref,qe);break;case 5:xc(a);default:Dm(l,a),a=$e=i0(a,ul),a=Mm(l,a,ul)}e.memoizedProps=e.pendingProps,a===null?ki(e):$e=a}function lr(e,a,l,s){tl=os=null,xc(a),qs=null,Lr=0;var n=a.return;try{if(Jf(e,n,a,l,qe)){Ct=1,ui(e,ya(l,e.current)),$e=null;return}}catch(i){if(n!==null)throw $e=n,i;Ct=1,ui(e,ya(l,e.current)),$e=null;return}a.flags&32768?(Qe||s===1?e=!0:Fs||(qe&536870912)!==0?e=!1:(zl=e=!0,(s===2||s===9||s===3||s===6)&&(s=ca.current,s!==null&&s.tag===13&&(s.flags|=16384))),dh(a,e)):ki(a)}function ki(e){var a=e;do{if((a.flags&32768)!==0){dh(a,zl);return}e=a.return;var l=eg(a.alternate,a,ul);if(l!==null){$e=l;return}if(a=a.sibling,a!==null){$e=a;return}$e=a=e}while(a!==null);Ct===0&&(Ct=5)}function dh(e,a){do{var l=tg(e.alternate,e);if(l!==null){l.flags&=32767,$e=l;return}if(l=e.return,l!==null&&(l.flags|=32768,l.subtreeFlags=0,l.deletions=null),!a&&(e=e.sibling,e!==null)){$e=e;return}$e=e=l}while(e!==null);Ct=6,$e=null}function uh(e,a,l,s,n,i,p,S,L){e.cancelPendingCommit=null;do Si();while(Ut!==0);if((rt&6)!==0)throw Error(c(327));if(a!==null){if(a===e.current)throw Error(c(177));if(i=a.lanes|a.childLanes,i|=Xo,es(e,l,i,p,S,L),e===pt&&($e=pt=null,qe=0),tr=a,Ll=e,ml=l,Zc=i,Qc=n,eh=s,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,hg(Me,function(){return fh(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||s){s=z.T,z.T=null,n=v.p,v.p=2,p=rt,rt|=4;try{ag(e,a,l)}finally{rt=p,v.p=n,z.T=s}}Ut=1,mh(),hh(),xh()}}function mh(){if(Ut===1){Ut=0;var e=Ll,a=tr,l=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||l){l=z.T,z.T=null;var s=v.p;v.p=2;var n=rt;rt|=4;try{qm(a,e);var i=ud,p=Wu(e.containerInfo),S=i.focusedElem,L=i.selectionRange;if(p!==S&&S&&S.ownerDocument&&Ju(S.ownerDocument.documentElement,S)){if(L!==null&&Bo(S)){var ee=L.start,ne=L.end;if(ne===void 0&&(ne=ee),"selectionStart"in S)S.selectionStart=ee,S.selectionEnd=Math.min(ne,S.value.length);else{var he=S.ownerDocument||document,ae=he&&he.defaultView||window;if(ae.getSelection){var re=ae.getSelection(),we=S.textContent.length,_e=Math.min(L.start,we),ht=L.end===void 0?_e:Math.min(L.end,we);!re.extend&&_e>ht&&(p=ht,ht=_e,_e=p);var Q=Qu(S,_e),I=Qu(S,ht);if(Q&&I&&(re.rangeCount!==1||re.anchorNode!==Q.node||re.anchorOffset!==Q.offset||re.focusNode!==I.node||re.focusOffset!==I.offset)){var F=he.createRange();F.setStart(Q.node,Q.offset),re.removeAllRanges(),_e>ht?(re.addRange(F),re.extend(I.node,I.offset)):(F.setEnd(I.node,I.offset),re.addRange(F))}}}}for(he=[],re=S;re=re.parentNode;)re.nodeType===1&&he.push({element:re,left:re.scrollLeft,top:re.scrollTop});for(typeof S.focus=="function"&&S.focus(),S=0;S<he.length;S++){var ue=he[S];ue.element.scrollLeft=ue.left,ue.element.scrollTop=ue.top}}Vi=!!dd,ud=dd=null}finally{rt=n,v.p=s,z.T=l}}e.current=a,Ut=2}}function hh(){if(Ut===2){Ut=0;var e=Ll,a=tr,l=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||l){l=z.T,z.T=null;var s=v.p;v.p=2;var n=rt;rt|=4;try{Xm(e,a.alternate,a)}finally{rt=n,v.p=s,z.T=l}}Ut=3}}function xh(){if(Ut===4||Ut===3){Ut=0,Pe();var e=Ll,a=tr,l=ml,s=eh;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?Ut=5:(Ut=0,tr=Ll=null,ph(e,e.pendingLanes));var n=e.pendingLanes;if(n===0&&(Vl=null),me(l),a=a.stateNode,dt&&typeof dt.onCommitFiberRoot=="function")try{dt.onCommitFiberRoot(He,a,void 0,(a.current.flags&128)===128)}catch{}if(s!==null){a=z.T,n=v.p,v.p=2,z.T=null;try{for(var i=e.onRecoverableError,p=0;p<s.length;p++){var S=s[p];i(S.value,{componentStack:S.stack})}}finally{z.T=a,v.p=n}}(ml&3)!==0&&Si(),Ga(e),n=e.pendingLanes,(l&261930)!==0&&(n&42)!==0?e===Jc?tn++:(tn=0,Jc=e):tn=0,an(0)}}function ph(e,a){(e.pooledCacheLanes&=a)===0&&(a=e.pooledCache,a!=null&&(e.pooledCache=null,Br(a)))}function Si(){return mh(),hh(),xh(),fh()}function fh(){if(Ut!==5)return!1;var e=Ll,a=Zc;Zc=0;var l=me(ml),s=z.T,n=v.p;try{v.p=32>l?32:l,z.T=null,l=Qc,Qc=null;var i=Ll,p=ml;if(Ut=0,tr=Ll=null,ml=0,(rt&6)!==0)throw Error(c(331));var S=rt;if(rt|=4,Jm(i.current),Pm(i,i.current,p,l),rt=S,an(0,!1),dt&&typeof dt.onPostCommitFiberRoot=="function")try{dt.onPostCommitFiberRoot(He,i)}catch{}return!0}finally{v.p=n,z.T=s,ph(e,a)}}function gh(e,a,l){a=ya(l,a),a=Tc(e.stateNode,a,2),e=Rl(e,a,2),e!==null&&(Ra(e,2),Ga(e))}function ct(e,a,l){if(e.tag===3)gh(e,e,l);else for(;a!==null;){if(a.tag===3){gh(a,e,l);break}else if(a.tag===1){var s=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Vl===null||!Vl.has(s))){e=ya(l,e),l=bm(2),s=Rl(a,l,2),s!==null&&(ym(l,s,a,e),Ra(s,2),Ga(s));break}}a=a.return}}function ed(e,a,l){var s=e.pingCache;if(s===null){s=e.pingCache=new rg;var n=new Set;s.set(a,n)}else n=s.get(a),n===void 0&&(n=new Set,s.set(a,n));n.has(l)||(qc=!0,n.add(l),e=dg.bind(null,e,a,l),a.then(e,e))}function dg(e,a,l){var s=e.pingCache;s!==null&&s.delete(a),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,pt===e&&(qe&l)===l&&(Ct===4||Ct===3&&(qe&62914560)===qe&&300>se()-yi?(rt&2)===0&&ar(e,0):Yc|=l,er===qe&&(er=0)),Ga(e)}function bh(e,a){a===0&&(a=Ze()),e=rs(e,a),e!==null&&(Ra(e,a),Ga(e))}function ug(e){var a=e.memoizedState,l=0;a!==null&&(l=a.retryLane),bh(e,l)}function mg(e,a){var l=0;switch(e.tag){case 31:case 13:var s=e.stateNode,n=e.memoizedState;n!==null&&(l=n.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(c(314))}s!==null&&s.delete(a),bh(e,l)}function hg(e,a){return Fe(e,a)}var Oi=null,sr=null,td=!1,Ei=!1,ad=!1,Hl=0;function Ga(e){e!==sr&&e.next===null&&(sr===null?Oi=sr=e:sr=sr.next=e),Ei=!0,td||(td=!0,pg())}function an(e,a){if(!ad&&Ei){ad=!0;do for(var l=!1,s=Oi;s!==null;){if(e!==0){var n=s.pendingLanes;if(n===0)var i=0;else{var p=s.suspendedLanes,S=s.pingedLanes;i=(1<<31-bt(42|e)+1)-1,i&=n&~(p&~S),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(l=!0,jh(s,i))}else i=qe,i=Ie(s,s===pt?i:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(i&3)===0||Be(s,i)||(l=!0,jh(s,i));s=s.next}while(l);ad=!1}}function xg(){yh()}function yh(){Ei=td=!1;var e=0;Hl!==0&&Sg()&&(e=Hl);for(var a=se(),l=null,s=Oi;s!==null;){var n=s.next,i=vh(s,a);i===0?(s.next=null,l===null?Oi=n:l.next=n,n===null&&(sr=l)):(l=s,(e!==0||(i&3)!==0)&&(Ei=!0)),s=n}Ut!==0&&Ut!==5||an(e),Hl!==0&&(Hl=0)}function vh(e,a){for(var l=e.suspendedLanes,s=e.pingedLanes,n=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var p=31-bt(i),S=1<<p,L=n[p];L===-1?((S&l)===0||(S&s)!==0)&&(n[p]=Ot(S,a)):L<=a&&(e.expiredLanes|=S),i&=~S}if(a=pt,l=qe,l=Ie(e,e===a?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,l===0||e===a&&(ot===2||ot===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&Ht(s),e.callbackNode=null,e.callbackPriority=0;if((l&3)===0||Be(e,l)){if(a=l&-l,a===e.callbackPriority)return a;switch(s!==null&&Ht(s),me(l)){case 2:case 8:l=et;break;case 32:l=Me;break;case 268435456:l=st;break;default:l=Me}return s=wh.bind(null,e),l=Fe(l,s),e.callbackPriority=a,e.callbackNode=l,a}return s!==null&&s!==null&&Ht(s),e.callbackPriority=2,e.callbackNode=null,2}function wh(e,a){if(Ut!==0&&Ut!==5)return e.callbackNode=null,e.callbackPriority=0,null;var l=e.callbackNode;if(Si()&&e.callbackNode!==l)return null;var s=qe;return s=Ie(e,e===pt?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(ah(e,s,a),vh(e,se()),e.callbackNode!=null&&e.callbackNode===l?wh.bind(null,e):null)}function jh(e,a){if(Si())return null;ah(e,a,!0)}function pg(){Eg(function(){(rt&6)!==0?Fe(De,xg):yh()})}function ld(){if(Hl===0){var e=Gs;e===0&&(e=ie,ie<<=1,(ie&261888)===0&&(ie=256)),Hl=e}return Hl}function Nh(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:zn(""+e)}function kh(e,a){var l=a.ownerDocument.createElement("input");return l.name=a.name,l.value=a.value,e.id&&l.setAttribute("form",e.id),a.parentNode.insertBefore(l,a),e=new FormData(e),l.parentNode.removeChild(l),e}function fg(e,a,l,s,n){if(a==="submit"&&l&&l.stateNode===n){var i=Nh((n[Tt]||null).action),p=s.submitter;p&&(a=(a=p[Tt]||null)?Nh(a.formAction):p.getAttribute("formAction"),a!==null&&(i=a,p=null));var S=new Un("action","action",null,s,n);e.push({event:S,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(Hl!==0){var L=p?kh(n,p):new FormData(n);Nc(l,{pending:!0,data:L,method:n.method,action:i},null,L)}}else typeof i=="function"&&(S.preventDefault(),L=p?kh(n,p):new FormData(n),Nc(l,{pending:!0,data:L,method:n.method,action:i},i,L))},currentTarget:n}]})}}for(var sd=0;sd<Ho.length;sd++){var rd=Ho[sd],gg=rd.toLowerCase(),bg=rd[0].toUpperCase()+rd.slice(1);Aa(gg,"on"+bg)}Aa(t0,"onAnimationEnd"),Aa(a0,"onAnimationIteration"),Aa(l0,"onAnimationStart"),Aa("dblclick","onDoubleClick"),Aa("focusin","onFocus"),Aa("focusout","onBlur"),Aa(Df,"onTransitionRun"),Aa(zf,"onTransitionStart"),Aa(Bf,"onTransitionCancel"),Aa(s0,"onTransitionEnd"),Ts("onMouseEnter",["mouseout","mouseover"]),Ts("onMouseLeave",["mouseout","mouseover"]),Ts("onPointerEnter",["pointerout","pointerover"]),Ts("onPointerLeave",["pointerout","pointerover"]),ts("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ts("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ts("onBeforeInput",["compositionend","keypress","textInput","paste"]),ts("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ts("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ts("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ln="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),yg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ln));function Sh(e,a){a=(a&4)!==0;for(var l=0;l<e.length;l++){var s=e[l],n=s.event;s=s.listeners;e:{var i=void 0;if(a)for(var p=s.length-1;0<=p;p--){var S=s[p],L=S.instance,ee=S.currentTarget;if(S=S.listener,L!==i&&n.isPropagationStopped())break e;i=S,n.currentTarget=ee;try{i(n)}catch(ne){In(ne)}n.currentTarget=null,i=L}else for(p=0;p<s.length;p++){if(S=s[p],L=S.instance,ee=S.currentTarget,S=S.listener,L!==i&&n.isPropagationStopped())break e;i=S,n.currentTarget=ee;try{i(n)}catch(ne){In(ne)}n.currentTarget=null,i=L}}}}function Ke(e,a){var l=a[Ss];l===void 0&&(l=a[Ss]=new Set);var s=e+"__bubble";l.has(s)||(Oh(a,e,2,!1),l.add(s))}function nd(e,a,l){var s=0;a&&(s|=4),Oh(l,e,s,a)}var Ci="_reactListening"+Math.random().toString(36).slice(2);function id(e){if(!e[Ci]){e[Ci]=!0,yu.forEach(function(l){l!=="selectionchange"&&(yg.has(l)||nd(l,!1,e),nd(l,!0,e))});var a=e.nodeType===9?e:e.ownerDocument;a===null||a[Ci]||(a[Ci]=!0,nd("selectionchange",!1,a))}}function Oh(e,a,l,s){switch(tx(a)){case 2:var n=Yg;break;case 8:n=Pg;break;default:n=jd}l=n.bind(null,a,l,e),n=void 0,!Eo||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(n=!0),s?n!==void 0?e.addEventListener(a,l,{capture:!0,passive:n}):e.addEventListener(a,l,!0):n!==void 0?e.addEventListener(a,l,{passive:n}):e.addEventListener(a,l,!1)}function od(e,a,l,s,n){var i=s;if((a&1)===0&&(a&2)===0&&s!==null)e:for(;;){if(s===null)return;var p=s.tag;if(p===3||p===4){var S=s.stateNode.containerInfo;if(S===n)break;if(p===4)for(p=s.return;p!==null;){var L=p.tag;if((L===3||L===4)&&p.stateNode.containerInfo===n)return;p=p.return}for(;S!==null;){if(p=Os(S),p===null)return;if(L=p.tag,L===5||L===6||L===26||L===27){s=i=p;continue e}S=S.parentNode}}s=s.return}Ru(function(){var ee=i,ne=So(l),he=[];e:{var ae=r0.get(e);if(ae!==void 0){var re=Un,we=e;switch(e){case"keypress":if(Vn(l)===0)break e;case"keydown":case"keyup":re=mf;break;case"focusin":we="focus",re=Ro;break;case"focusout":we="blur",re=Ro;break;case"beforeblur":case"afterblur":re=Ro;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":re=Du;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":re=Fp;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":re=pf;break;case t0:case a0:case l0:re=af;break;case s0:re=gf;break;case"scroll":case"scrollend":re=Jp;break;case"wheel":re=yf;break;case"copy":case"cut":case"paste":re=sf;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":re=Bu;break;case"toggle":case"beforetoggle":re=wf}var _e=(a&4)!==0,ht=!_e&&(e==="scroll"||e==="scrollend"),Q=_e?ae!==null?ae+"Capture":null:ae;_e=[];for(var I=ee,F;I!==null;){var ue=I;if(F=ue.stateNode,ue=ue.tag,ue!==5&&ue!==26&&ue!==27||F===null||Q===null||(ue=Sr(I,Q),ue!=null&&_e.push(sn(I,ue,F))),ht)break;I=I.return}0<_e.length&&(ae=new re(ae,we,null,l,ne),he.push({event:ae,listeners:_e}))}}if((a&7)===0){e:{if(ae=e==="mouseover"||e==="pointerover",re=e==="mouseout"||e==="pointerout",ae&&l!==ko&&(we=l.relatedTarget||l.fromElement)&&(Os(we)||we[Ma]))break e;if((re||ae)&&(ae=ne.window===ne?ne:(ae=ne.ownerDocument)?ae.defaultView||ae.parentWindow:window,re?(we=l.relatedTarget||l.toElement,re=ee,we=we?Os(we):null,we!==null&&(ht=m(we),_e=we.tag,we!==ht||_e!==5&&_e!==27&&_e!==6)&&(we=null)):(re=null,we=ee),re!==we)){if(_e=Du,ue="onMouseLeave",Q="onMouseEnter",I="mouse",(e==="pointerout"||e==="pointerover")&&(_e=Bu,ue="onPointerLeave",Q="onPointerEnter",I="pointer"),ht=re==null?ae:kr(re),F=we==null?ae:kr(we),ae=new _e(ue,I+"leave",re,l,ne),ae.target=ht,ae.relatedTarget=F,ue=null,Os(ne)===ee&&(_e=new _e(Q,I+"enter",we,l,ne),_e.target=F,_e.relatedTarget=ht,ue=_e),ht=ue,re&&we)t:{for(_e=vg,Q=re,I=we,F=0,ue=Q;ue;ue=_e(ue))F++;ue=0;for(var Ce=I;Ce;Ce=_e(Ce))ue++;for(;0<F-ue;)Q=_e(Q),F--;for(;0<ue-F;)I=_e(I),ue--;for(;F--;){if(Q===I||I!==null&&Q===I.alternate){_e=Q;break t}Q=_e(Q),I=_e(I)}_e=null}else _e=null;re!==null&&Eh(he,ae,re,_e,!1),we!==null&&ht!==null&&Eh(he,ht,we,_e,!0)}}e:{if(ae=ee?kr(ee):window,re=ae.nodeName&&ae.nodeName.toLowerCase(),re==="select"||re==="input"&&ae.type==="file")var at=$u;else if(Iu(ae))if(Ku)at=Rf;else{at=Tf;var Se=Cf}else re=ae.nodeName,!re||re.toLowerCase()!=="input"||ae.type!=="checkbox"&&ae.type!=="radio"?ee&&No(ee.elementType)&&(at=$u):at=_f;if(at&&(at=at(e,ee))){Gu(he,at,l,ne);break e}Se&&Se(e,ae,ee),e==="focusout"&&ee&&ae.type==="number"&&ee.memoizedProps.value!=null&&jo(ae,"number",ae.value)}switch(Se=ee?kr(ee):window,e){case"focusin":(Iu(Se)||Se.contentEditable==="true")&&(zs=Se,Vo=ee,Ar=null);break;case"focusout":Ar=Vo=zs=null;break;case"mousedown":Lo=!0;break;case"contextmenu":case"mouseup":case"dragend":Lo=!1,Fu(he,l,ne);break;case"selectionchange":if(Af)break;case"keydown":case"keyup":Fu(he,l,ne)}var Ue;if(Ao)e:{switch(e){case"compositionstart":var Ye="onCompositionStart";break e;case"compositionend":Ye="onCompositionEnd";break e;case"compositionupdate":Ye="onCompositionUpdate";break e}Ye=void 0}else Ds?Hu(e,l)&&(Ye="onCompositionEnd"):e==="keydown"&&l.keyCode===229&&(Ye="onCompositionStart");Ye&&(Vu&&l.locale!=="ko"&&(Ds||Ye!=="onCompositionStart"?Ye==="onCompositionEnd"&&Ds&&(Ue=Mu()):(kl=ne,Co="value"in kl?kl.value:kl.textContent,Ds=!0)),Se=Ti(ee,Ye),0<Se.length&&(Ye=new zu(Ye,e,null,l,ne),he.push({event:Ye,listeners:Se}),Ue?Ye.data=Ue:(Ue=Xu(l),Ue!==null&&(Ye.data=Ue)))),(Ue=Nf?kf(e,l):Sf(e,l))&&(Ye=Ti(ee,"onBeforeInput"),0<Ye.length&&(Se=new zu("onBeforeInput","beforeinput",null,l,ne),he.push({event:Se,listeners:Ye}),Se.data=Ue)),fg(he,e,ee,l,ne)}Sh(he,a)})}function sn(e,a,l){return{instance:e,listener:a,currentTarget:l}}function Ti(e,a){for(var l=a+"Capture",s=[];e!==null;){var n=e,i=n.stateNode;if(n=n.tag,n!==5&&n!==26&&n!==27||i===null||(n=Sr(e,l),n!=null&&s.unshift(sn(e,n,i)),n=Sr(e,a),n!=null&&s.push(sn(e,n,i))),e.tag===3)return s;e=e.return}return[]}function vg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Eh(e,a,l,s,n){for(var i=a._reactName,p=[];l!==null&&l!==s;){var S=l,L=S.alternate,ee=S.stateNode;if(S=S.tag,L!==null&&L===s)break;S!==5&&S!==26&&S!==27||ee===null||(L=ee,n?(ee=Sr(l,i),ee!=null&&p.unshift(sn(l,ee,L))):n||(ee=Sr(l,i),ee!=null&&p.push(sn(l,ee,L)))),l=l.return}p.length!==0&&e.push({event:a,listeners:p})}var wg=/\r\n?/g,jg=/\u0000|\uFFFD/g;function Ch(e){return(typeof e=="string"?e:""+e).replace(wg,` 2053`).replace(jg,"")}function Th(e,a){return a=Ch(a),Ch(e)===a}function mt(e,a,l,s,n,i){switch(l){case"children":typeof s=="string"?a==="body"||a==="textarea"&&s===""||Rs(e,s):(typeof s=="number"||typeof s=="bigint")&&a!=="body"&&Rs(e,""+s);break;case"className":An(e,"class",s);break;case"tabIndex":An(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":An(e,l,s);break;case"style":Tu(e,s,i);break;case"data":if(a!=="object"){An(e,"data",s);break}case"src":case"href":if(s===""&&(a!=="a"||l!=="href")){e.removeAttribute(l);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(l);break}s=zn(""+s),e.setAttribute(l,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(l,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(l==="formAction"?(a!=="input"&&mt(e,a,"name",n.name,n,null),mt(e,a,"formEncType",n.formEncType,n,null),mt(e,a,"formMethod",n.formMethod,n,null),mt(e,a,"formTarget",n.formTarget,n,null)):(mt(e,a,"encType",n.encType,n,null),mt(e,a,"method",n.method,n,null),mt(e,a,"target",n.target,n,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(l);break}s=zn(""+s),e.setAttribute(l,s);break;case"onClick":s!=null&&(e.onclick=Ja);break;case"onScroll":s!=null&&Ke("scroll",e);break;case"onScrollEnd":s!=null&&Ke("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(c(61));if(l=s.__html,l!=null){if(n.children!=null)throw Error(c(60));e.innerHTML=l}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}l=zn(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",l);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(l,""+s):e.removeAttribute(l);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInl
2053ine":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(l,""):e.removeAttribute(l);break;case"capture":case"download":s===!0?e.setAttribute(l,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(l,s):e.removeAttribute(l);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(l,s):e.removeAttribute(l);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(l):e.setAttribute(l,s);break;case"popover":Ke("beforetoggle",e),Ke("toggle",e),Mn(e,"popover",s);break;case"xlinkActuate":Qa(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":Qa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":Qa(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":Qa(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":Qa(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":Qa(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":Qa(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":Qa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":Qa(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":Mn(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<l.length)||l[0]!=="o"&&l[0]!=="O"||l[1]!=="n"&&l[1]!=="N")&&(l=Zp.get(l)||l,Mn(e,l,s))}}function cd(e,a,l,s,n,i){switch(l){case"style":Tu(e,s,i);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(c(61));if(l=s.__html,l!=null){if(n.children!=null)throw Error(c(60));e.innerHTML=l}}break;case"children":typeof s=="string"?Rs(e,s):(typeof s=="number"||typeof s=="bigint")&&Rs(e,""+s);break;case"onScroll":s!=null&&Ke("scroll",e);break;case"onScrollEnd":s!=null&&Ke("scrollend",e);break;case"onClick":s!=null&&(e.onclick=Ja);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!vu.hasOwnProperty(l))e:{if(l[0]==="o"&&l[1]==="n"&&(n=l.endsWith("Capture"),a=l.slice(2,n?l.length-7:void 0),i=e[Tt]||null,i=i!=null?i[l]:null,typeof i=="function"&&e.removeEventListener(a,i,n),typeof s=="function")){typeof i!="function"&&i!==null&&(l in e?e[l]=null:e.hasAttribute(l)&&e.removeAttribute(l)),e.addEventListener(a,s,n);break e}l in e?e[l]=s:s===!0?e.setAttribute(l,""):Mn(e,l,s)}}}function Zt(e,a,l){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ke("error",e),Ke("load",e);var s=!1,n=!1,i;for(i in l)if(l.hasOwnProperty(i)){var p=l[i];if(p!=null)switch(i){case"src":s=!0;break;case"srcSet":n=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(c(137,a));default:mt(e,a,i,p,l,null)}}n&&mt(e,a,"srcSet",l.srcSet,l,null),s&&mt(e,a,"src",l.src,l,null);return;case"input":Ke("invalid",e);var S=i=p=n=null,L=null,ee=null;for(s in l)if(l.hasOwnProperty(s)){var ne=l[s];if(ne!=null)switch(s){case"name":n=ne;break;case"type":p=ne;break;case"checked":L=ne;break;case"defaultChecked":ee=ne;break;case"value":i=ne;break;case"defaultValue":S=ne;break;case"children":case"dangerouslySetInnerHTML":if(ne!=null)throw Error(c(137,a));break;default:mt(e,a,s,ne,l,null)}}Su(e,i,S,L,ee,p,n,!1);return;case"select":Ke("invalid",e),s=p=i=null;for(n in l)if(l.hasOwnProperty(n)&&(S=l[n],S!=null))switch(n){case"value":i=S;break;case"defaultValue":p=S;break;case"multiple":s=S;default:mt(e,a,n,S,l,null)}a=i,l=p,e.multiple=!!s,a!=null?_s(e,!!s,a,!1):l!=null&&_s(e,!!s,l,!0);return;case"textarea":Ke("invalid",e),i=n=s=null;for(p in l)if(l.hasOwnProperty(p)&&(S=l[p],S!=null))switch(p){case"value":s=S;break;case"defaultValue":n=S;break;case"children":i=S;break;case"dangerouslySetInnerHTML":if(S!=null)throw Error(c(91));break;default:mt(e,a,p,S,l,null)}Eu(e,s,n,i);return;case"option":for(L in l)if(l.hasOwnProperty(L)&&(s=l[L],s!=null))switch(L){case"selected":e.selected=s&&typeof s!="function"&&typeof s!="symbol";break;default:mt(e,a,L,s,l,null)}return;case"dialog":Ke("beforetoggle",e),Ke("toggle",e),Ke("cancel",e),Ke("close",e);break;case"iframe":case"object":Ke("load",e);break;case"video":case"audio":for(s=0;s<ln.length;s++)Ke(ln[s],e);break;case"image":Ke("error",e),Ke("load",e);break;case"details":Ke("toggle",e);break;case"embed":case"source":case"link":Ke("error",e),Ke("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(ee in l)if(l.hasOwnProperty(ee)&&(s=l[ee],s!=null))switch(ee){case"children":case"dangerouslySetInnerHTML":throw Error(c(137,a));default:mt(e,a,ee,s,l,null)}return;default:if(No(a)){for(ne in l)l.hasOwnProperty(ne)&&(s=l[ne],s!==void 0&&cd(e,a,ne,s,l,void 0));return}}for(S in l)l.hasOwnProperty(S)&&(s=l[S],s!=null&&mt(e,a,S,s,l,null))}function Ng(e,a,l,s){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var n=null,i=null,p=null,S=null,L=null,ee=null,ne=null;for(re in l){var he=l[re];if(l.hasOwnProperty(re)&&he!=null)switch(re){case"checked":break;case"value":break;case"defaultValue":L=he;default:s.hasOwnProperty(re)||mt(e,a,re,null,s,he)}}for(var ae in s){var re=s[ae];if(he=l[ae],s.hasOwnProperty(ae)&&(re!=null||he!=null))switch(ae){case"type":i=re;break;case"name":n=re;break;case"checked":ee=re;break;case"defaultChecked":ne=re;break;case"value":p=re;break;case"defaultValue":S=re;break;case"children":case"dangerouslySetInnerHTML":if(re!=null)throw Error(c(137,a));break;default:re!==he&&mt(e,a,ae,re,s,he)}}wo(e,p,S,L,ee,ne,i,n);return;case"select":re=p=S=ae=null;for(i in l)if(L=l[i],l.hasOwnProperty(i)&&L!=null)switch(i){case"value":break;case"multiple":re=L;default:s.hasOwnProperty(i)||mt(e,a,i,null,s,L)}for(n in s)if(i=s[n],L=l[n],s.hasOwnProperty(n)&&(i!=null||L!=null))switch(n){case"value":ae=i;break;case"defaultValue":S=i;break;case"multiple":p=i;default:i!==L&&mt(e,a,n,i,s,L)}a=S,l=p,s=re,ae!=null?_s(e,!!l,ae,!1):!!s!=!!l&&(a!=null?_s(e,!!l,a,!0):_s(e,!!l,l?[]:"",!1));return;case"textarea":re=ae=null;for(S in l)if(n=l[S],l.hasOwnProperty(S)&&n!=null&&!s.hasOwnProperty(S))switch(S){case"value":break;case"children":break;default:mt(e,a,S,null,s,n)}for(p in s)if(n=s[p],i=l[p],s.hasOwnProperty(p)&&(n!=null||i!=null))switch(p){case"value":ae=n;break;case"defaultValue":re=n;break;case"children":break;case"dangerouslySetInnerHTML":if(n!=null)throw Error(c(91));break;default:n!==i&&mt(e,a,p,n,s,i)}Ou(e,ae,re);return;case"option":for(var we in l)if(ae=l[we],l.hasOwnProperty(we)&&ae!=null&&!s.hasOwnProperty(we))switch(we){case"selected":e.selected=!1;break;default:mt(e,a,we,null,s,ae)}for(L in s)if(ae=s[L],re=l[L],s.hasOwnProperty(L)&&ae!==re&&(ae!=null||re!=null))switch(L){case"selected":e.selected=ae&&typeof ae!="function"&&typeof ae!="symbol";break;default:mt(e,a,L,ae,s,re)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var _e in l)ae=l[_e],l.hasOwnProperty(_e)&&ae!=null&&!s.hasOwnProperty(_e)&&mt(e,a,_e,null,s,ae);for(ee in s)if(ae=s[ee],re=l[ee],s.hasOwnProperty(ee)&&ae!==re&&(ae!=null||re!=null))switch(ee){case"children":case"dangerouslySetInnerHTML":if(ae!=null)throw Error(c(137,a));break;default:mt(e,a,ee,ae,s,re)}return;default:if(No(a)){for(var ht in l)ae=l[ht],l.hasOwnProperty(ht)&&ae!==void 0&&!s.hasOwnProperty(ht)&&cd(e,a,ht,void 0,s,ae);for(ne in s)ae=s[ne],re=l[ne],!s.hasOwnProperty(ne)||ae===re||ae===void 0&&re===void 0||cd(e,a,ne,ae,s,re);return}}for(var Q in l)ae=l[Q],l.hasOwnProperty(Q)&&ae!=null&&!s.hasOwnProperty(Q)&&mt(e,a,Q,null,s,ae);for(he in s)ae=s[he],re=l[he],!s.hasOwnProperty(he)||ae===re||ae==null&&re==null||mt(e,a,he,ae,s,re)}function _h(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function kg(){if(typeof performance.getEntriesByType=="function"){for(var e=0,a=0,l=performance.getEntriesByType("resource"),s=0;s<l.length;s++){var n=l[s],i=n.transferSize,p=n.initiatorType,S=n.duration;if(i&&S&&_h(p)){for(p=0,S=n.responseEnd,s+=1;s<l.length;s++){var L=l[s],ee=L.startTime;if(ee>S)break;var ne=L.transferSize,he=L.initiatorType;ne&&_h(he)&&(L=L.responseEnd,p+=ne*(L<S?1:(S-ee)/(L-ee)))}if(--s,a+=8*(i+p)/(n.duration/1e3),e++,10<e)break}}if(0<e)return a/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var dd=null,ud=null;
vendor: 14,018 bytes, line 2053
2053function _i(e){return e.nodeType===9?e:e.ownerDocument}function Rh(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Mh(e,a){if(e===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&a==="foreignObject"?0:e}function md(e,a){return e==="textarea"||e==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var hd=null;function Sg(){var e=window.event;return e&&e.type==="popstate"?e===hd?!1:(hd=e,!0):(hd=null,!1)}var Ah=typeof setTimeout=="function"?setTimeout:void 0,Og=typeof clearTimeout=="function"?clearTimeout:void 0,Dh=typeof Promise=="function"?Promise:void 0,Eg=typeof queueMicrotask=="function"?queueMicrotask:typeof Dh<"u"?function(e){return Dh.resolve(null).then(e).catch(Cg)}:Ah;function Cg(e){setTimeout(function(){throw e})}function Xl(e){return e==="head"}function zh(e,a){var l=a,s=0;do{var n=l.nextSibling;if(e.removeChild(l),n&&n.nodeType===8)if(l=n.data,l==="/$"||l==="/&"){if(s===0){e.removeChild(n),or(a);return}s--}else if(l==="$"||l==="$?"||l==="$~"||l==="$!"||l==="&")s++;else if(l==="html")rn(e.ownerDocument.documentElement);else if(l==="head"){l=e.ownerDocument.head,rn(l);for(var i=l.firstChild;i;){var p=i.nextSibling,S=i.nodeName;i[Nr]||S==="SCRIPT"||S==="STYLE"||S==="LINK"&&i.rel.toLowerCase()==="stylesheet"||l.removeChild(i),i=p}}else l==="body"&&rn(e.ownerDocument.body);l=n}while(l);or(a)}function Bh(e,a){var l=e;e=0;do{var s=l.nextSibling;if(l.nodeType===1?a?(l._stashedDisplay=l.style.display,l.style.display="none"):(l.style.display=l._stashedDisplay||"",l.getAttribute("style")===""&&l.removeAttribute("style")):l.nodeType===3&&(a?(l._stashedText=l.nodeValue,l.nodeValue=""):l.nodeValue=l._stashedText||""),s&&s.nodeType===8)if(l=s.data,l==="/$"){if(e===0)break;e--}else l!=="$"&&l!=="$?"&&l!=="$~"&&l!=="$!"||e++;l=s}while(l)}function xd(e){var a=e.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var l=a;switch(a=a.nextSibling,l.nodeName){case"HTML":case"HEAD":case"BODY":xd(l),yo(l);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(l.rel.toLowerCase()==="stylesheet")continue}e.removeChild(l)}}function Tg(e,a,l,s){for(;e.nodeType===1;){var n=l;if(e.nodeName.toLowerCase()!==a.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[Nr])switch(a){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==n.rel||e.getAttribute("href")!==(n.href==null||n.href===""?null:n.href)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin)||e.getAttribute("title")!==(n.title==null?null:n.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(n.src==null?null:n.src)||e.getAttribute("type")!==(n.type==null?null:n.type)||e.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(a==="input"&&e.type==="hidden"){var i=n.name==null?null:""+n.name;if(n.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=ka(e.nextSibling),e===null)break}return null}function _g(e,a,l){if(a==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!l||(e=ka(e.nextSibling),e===null))return null;return e}function Vh(e,a){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=ka(e.nextSibling),e===null))return null;return e}function pd(e){return e.data==="$?"||e.data==="$~"}function fd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Rg(e,a){var l=e.ownerDocument;if(e.data==="$~")e._reactRetry=a;else if(e.data!=="$?"||l.readyState!=="loading")a();else{var s=function(){a(),l.removeEventListener("DOMContentLoaded",s)};l.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function ka(e){for(;e!=null;e=e.nextSibling){var a=e.nodeType;if(a===1||a===3)break;if(a===8){if(a=e.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return e}var gd=null;function Lh(e){e=e.nextSibling;for(var a=0;e;){if(e.nodeType===8){var l=e.data;if(l==="/$"||l==="/&"){if(a===0)return ka(e.nextSibling);a--}else l!=="$"&&l!=="$!"&&l!=="$?"&&l!=="$~"&&l!=="&"||a++}e=e.nextSibling}return null}function Uh(e){e=e.previousSibling;for(var a=0;e;){if(e.nodeType===8){var l=e.data;if(l==="$"||l==="$!"||l==="$?"||l==="$~"||l==="&"){if(a===0)return e;a--}else l!=="/$"&&l!=="/&"||a++}e=e.previousSibling}return null}function Hh(e,a,l){switch(a=_i(l),e){case"html":if(e=a.documentElement,!e)throw Error(c(452));return e;case"head":if(e=a.head,!e)throw Error(c(453));return e;case"body":if(e=a.body,!e)throw Error(c(454));return e;default:throw Error(c(451))}}function rn(e){for(var a=e.attributes;a.length;)e.removeAttributeNode(a[0]);yo(e)}var Sa=new Map,Xh=new Set;function Ri(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var hl=v.d;v.d={f:Mg,r:Ag,D:Dg,C:zg,L:Bg,m:Vg,X:Ug,S:Lg,M:Hg};function Mg(){var e=hl.f(),a=ji();return e||a}function Ag(e){var a=Es(e);a!==null&&a.tag===5&&a.type==="form"?sm(a):hl.r(e)}var rr=typeof document>"u"?null:document;function Ih(e,a,l){var s=rr;if(s&&typeof a=="string"&&a){var n=ga(a);n='link[rel="'+e+'"][href="'+n+'"]',typeof l=="string"&&(n+='[crossorigin="'+l+'"]'),Xh.has(n)||(Xh.add(n),e={rel:e,crossOrigin:l,href:a},s.querySelector(n)===null&&(a=s.createElement("link"),Zt(a,"link",e),It(a),s.head.appendChild(a)))}}function Dg(e){hl.D(e),Ih("dns-prefetch",e,null)}function zg(e,a){hl.C(e,a),Ih("preconnect",e,a)}function Bg(e,a,l){hl.L(e,a,l);var s=rr;if(s&&e&&a){var n='link[rel="preload"][as="'+ga(a)+'"]';a==="image"&&l&&l.imageSrcSet?(n+='[imagesrcset="'+ga(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(n+='[imagesizes="'+ga(l.imageSizes)+'"]')):n+='[href="'+ga(e)+'"]';var i=n;switch(a){case"style":i=nr(e);break;case"script":i=ir(e)}Sa.has(i)||(e=b({rel:"preload",href:a==="image"&&l&&l.imageSrcSet?void 0:e,as:a},l),Sa.set(i,e),s.querySelector(n)!==null||a==="style"&&s.querySelector(nn(i))||a==="script"&&s.querySelector(on(i))||(a=s.createElement("link"),Zt(a,"link",e),It(a),s.head.appendChild(a)))}}function Vg(e,a){hl.m(e,a);var l=rr;if(l&&e){var s=a&&typeof a.as=="string"?a.as:"script",n='link[rel="modulepreload"][as="'+ga(s)+'"][href="'+ga(e)+'"]',i=n;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=ir(e)}if(!Sa.has(i)&&(e=b({rel:"modulepreload",href:e},a),Sa.set(i,e),l.querySelector(n)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(on(i)))return}s=l.createElement("link"),Zt(s,"link",e),It(s),l.head.appendChild(s)}}}function Lg(e,a,l){hl.S(e,a,l);var s=rr;if(s&&e){var n=Cs(s).hoistableStyles,i=nr(e);a=a||"default";var p=n.get(i);if(!p){var S={loading:0,preload:null};if(p=s.querySelector(nn(i)))S.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":a},l),(l=Sa.get(i))&&bd(e,l);var L=p=s.createElement("link");It(L),Zt(L,"link",e),L._p=new Promise(function(ee,ne){L.onload=ee,L.onerror=ne}),L.addEventListener("load",function(){S.loading|=1}),L.addEventListener("error",function(){S.loading|=2}),S.loading|=4,Mi(p,a,s)}p={type:"stylesheet",instance:p,count:1,state:S},n.set(i,p)}}}function Ug(e,a){hl.X(e,a);var l=rr;if(l&&e){var s=Cs(l).hoistableScripts,n=ir(e),i=s.get(n);i||(i=l.querySelector(on(n)),i||(e=b({src:e,async:!0},a),(a=Sa.get(n))&&yd(e,a),i=l.createElement("script"),It(i),Zt(i,"link",e),l.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},s.set(n,i))}}function Hg(e,a){hl.M(e,a);var l=rr;if(l&&e){var s=Cs(l).hoistableScripts,n=ir(e),i=s.get(n);i||(i=l.querySelector(on(n)),i||(e=b({src:e,async:!0,type:"module"},a),(a=Sa.get(n))&&yd(e,a),i=l.createElement("script"),It(i),Zt(i,"link",e),l.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},s.set(n,i))}}function Gh(e,a,l,s){var n=(n=xe.current)?Ri(n):null;if(!n)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(a=nr(l.href),l=Cs(n).hoistableStyles,s=l.get(a),s||(s={type:"style",instance:null,count:0,state:null},l.set(a,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=nr(l.href);var i=Cs(n).hoistableStyles,p=i.get(e);if(p||(n=n.ownerDocument||n,p={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,p),(i=n.querySelector(nn(e)))&&!i._p&&(p.instance=i,p.state.loading=5),Sa.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},Sa.set(e,l),i||Xg(n,e,l,p.state))),a&&s===null)throw Error(c(528,""));return p}if(a&&s!==null)throw Error(c(529,""));return null;case"script":return a=l.async,l=l.src,typeof l=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=ir(l),l=Cs(n).hoistableScripts,s=l.get(a),s||(s={type:"script",instance:null,count:0,state:null},l.set(a,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function nr(e){return'href="'+ga(e)+'"'}function nn(e){return'link[rel="stylesheet"]['+e+"]"}function $h(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Xg(e,a,l,s){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?s.loading=1:(a=e.createElement("link"),s.preload=a,a.addEventListener("load",function(){return s.loading|=1}),a.addEventListener("error",function(){return s.loading|=2}),Zt(a,"link",l),It(a),e.head.appendChild(a))}function ir(e){return'[src="'+ga(e)+'"]'}function on(e){return"script[async]"+e}function Kh(e,a,l){if(a.count++,a.instance===null)switch(a.type){case"style":var s=e.querySelector('style[data-href~="'+ga(l.href)+'"]');if(s)return a.instance=s,It(s),s;var n=b({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),It(s),Zt(s,"style",n),Mi(s,l.precedence,e),a.instance=s;case"stylesheet":n=nr(l.href);var i=e.querySelector(nn(n));if(i)return a.state.loading|=4,a.instance=i,It(i),i;s=$h(l),(n=Sa.get(n))&&bd(s,n),i=(e.ownerDocument||e).createElement("link"),It(i);var p=i;return p._p=new Promise(function(S,L){p.onload=S,p.onerror=L}),Zt(i,"link",s),a.state.loading|=4,Mi(i,l.precedence,e),a.instance=i;case"script":return i=ir(l.src),(n=e.querySelector(on(i)))?(a.instance=n,It(n),n):(s=l,(n=Sa.get(i))&&(s=b({},l),yd(s,n)),e=e.ownerDocument||e,n=e.createElement("script"),It(n),Zt(n,"link",s),e.head.appendChild(n),a.instance=n);case"void":return null;default:throw Error(c(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(s=a.instance,a.state.loading|=4,Mi(s,l.precedence,e));return a.instance}function Mi(e,a,l){for(var s=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=s.length?s[s.length-1]:null,i=n,p=0;p<s.length;p++){var S=s[p];if(S.dataset.precedence===a)i=S;else if(i!==n)break}i?i.parentNode.insertBefore(e,i.nextSibling):(a=l.nodeType===9?l.head:l,a.insertBefore(e,a.firstChild))}function bd(e,a){e.crossOrigin==null&&(e.crossOrigin=a.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=a.referrerPolicy),e.title==null&&(e.title=a.title)}function yd(e,a){e.crossOrigin==null&&(e.crossOrigin=a.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=a.referrerPolicy),e.integrity==null&&(e.integrity=a.integrity)}var Ai=null;function qh(e,a,l){if(Ai===null){var s=new Map,n=Ai=new Map;n.set(l,s)}else n=Ai,s=n.get(l),s||(s=new Map,n.set(l,s));if(s.has(e))return s;for(s.set(e,null),l=l.getElementsByTagName(e),n=0;n<l.length;n++){var i=l[n];if(!(i[Nr]||i[Nt]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var p=i.getAttribute(a)||"";p=e+p;var S=s.get(p);S?S.push(i):s.set(p,[i])}}return s}function Yh(e,a,l){e=e.ownerDocument||e,e.head.insertBefore(l,a==="title"?e.querySelector("head > title"):null)}function Ig(e,a,l){if(l===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return e=a.disabled,typeof a.precedence=="string"&&e==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function Ph(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Gg(e,a,l,s){if(l.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var n=nr(s.href),i=a.querySelector(nn(n));if(i){a=i._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(e.count++,e=Di.bind(e),a.then(e,e)),l.state.loading|=4,l.instance=i,It(i);return}i=a.ownerDocument||a,s=$h(s),(n=Sa.get(n))&&bd(s,n),i=i.createElement("link"),It(i);var p=i;p._p=new Promise(function(S,L){p.onload=S,p.onerror=L}),Zt(i,"link",s),l.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,a),(a=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=Di.bind(e),a.addEventListener("load",l),a.addEventListener("error",l))}}var vd=0;function $g(e,a){return e.stylesheets&&e.count===0&&Bi(e,e.stylesheets),0<e.count||0<e.imgCount?function(l){var s=setTimeout(function(){if(e.stylesheets&&Bi(e,e.stylesheets),e.unsu
vendor: 10,529 bytes, line 2053
2053spend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+a);0<e.imgBytes&&vd===0&&(vd=62500*kg());var n=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Bi(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>vd?50:800)+a);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(n)}}:null}function Di(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bi(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var zi=null;function Bi(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,zi=new Map,a.forEach(Kg,e),zi=null,Di.call(e))}function Kg(e,a){if(!(a.state.loading&4)){var l=zi.get(e);if(l)var s=l.get(null);else{l=new Map,zi.set(e,l);for(var n=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<n.length;i++){var p=n[i];(p.nodeName==="LINK"||p.getAttribute("media")!=="not all")&&(l.set(p.dataset.precedence,p),s=p)}s&&l.set(null,s)}n=a.instance,p=n.getAttribute("data-precedence"),i=l.get(p)||s,i===s&&l.set(null,n),l.set(p,n),this.count++,s=Di.bind(this),n.addEventListener("load",s),n.addEventListener("error",s),i?i.parentNode.insertBefore(n,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(n,e.firstChild)),a.state.loading|=4}}var cn={$$typeof:D,Provider:null,Consumer:null,_currentValue:T,_currentValue2:T,_threadCount:0};function qg(e,a,l,s,n,i,p,S,L){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=_a(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_a(0),this.hiddenUpdates=_a(null),this.identifierPrefix=s,this.onUncaughtError=n,this.onCaughtError=i,this.onRecoverableError=p,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=L,this.incompleteTransitions=new Map}function Zh(e,a,l,s,n,i,p,S,L,ee,ne,he){return e=new qg(e,a,l,p,L,ee,ne,he,S),a=1,i===!0&&(a|=24),i=oa(3,null,null,a),e.current=i,i.stateNode=e,a=Fo(),a.refCount++,e.pooledCache=a,a.refCount++,i.memoizedState={element:s,isDehydrated:l,cache:a},lc(i),e}function Qh(e){return e?(e=Ls,e):Ls}function Jh(e,a,l,s,n,i){n=Qh(n),s.context===null?s.context=n:s.pendingContext=n,s=_l(a),s.payload={element:l},i=i===void 0?null:i,i!==null&&(s.callback=i),l=Rl(e,s,a),l!==null&&(na(l,e,a),Hr(l,e,a))}function Wh(e,a){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var l=e.retryLane;e.retryLane=l!==0&&l<a?l:a}}function wd(e,a){Wh(e,a),(e=e.alternate)&&Wh(e,a)}function Fh(e){if(e.tag===13||e.tag===31){var a=rs(e,67108864);a!==null&&na(a,e,67108864),wd(e,67108864)}}function ex(e){if(e.tag===13||e.tag===31){var a=ha();a=Z(a);var l=rs(e,a);l!==null&&na(l,e,a),wd(e,a)}}var Vi=!0;function Yg(e,a,l,s){var n=z.T;z.T=null;var i=v.p;try{v.p=2,jd(e,a,l,s)}finally{v.p=i,z.T=n}}function Pg(e,a,l,s){var n=z.T;z.T=null;var i=v.p;try{v.p=8,jd(e,a,l,s)}finally{v.p=i,z.T=n}}function jd(e,a,l,s){if(Vi){var n=Nd(s);if(n===null)od(e,a,s,Li,l),ax(e,s);else if(Qg(n,e,a,l,s))s.stopPropagation();else if(ax(e,s),a&4&&-1<Zg.indexOf(e)){for(;n!==null;){var i=Es(n);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var p=Xe(i.pendingLanes);if(p!==0){var S=i;for(S.pendingLanes|=2,S.entangledLanes|=2;p;){var L=1<<31-bt(p);S.entanglements[1]|=L,p&=~L}Ga(i),(rt&6)===0&&(vi=se()+500,an(0))}}break;case 31:case 13:S=rs(i,2),S!==null&&na(S,i,2),ji(),wd(i,2)}if(i=Nd(s),i===null&&od(e,a,s,Li,l),i===n)break;n=i}n!==null&&s.stopPropagation()}else od(e,a,s,null,l)}}function Nd(e){return e=So(e),kd(e)}var Li=null;function kd(e){if(Li=null,e=Os(e),e!==null){var a=m(e);if(a===null)e=null;else{var l=a.tag;if(l===13){if(e=y(a),e!==null)return e;e=null}else if(l===31){if(e=u(a),e!==null)return e;e=null}else if(l===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;e=null}else a!==e&&(e=null)}}return Li=e,null}function tx(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ye()){case De:return 2;case et:return 8;case Me:case tt:return 32;case st:return 268435456;default:return 32}default:return 32}}var Sd=!1,Il=null,Gl=null,$l=null,dn=new Map,un=new Map,Kl=[],Zg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function ax(e,a){switch(e){case"focusin":case"focusout":Il=null;break;case"dragenter":case"dragleave":Gl=null;break;case"mouseover":case"mouseout":$l=null;break;case"pointerover":case"pointerout":dn.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":un.delete(a.pointerId)}}function mn(e,a,l,s,n,i){return e===null||e.nativeEvent!==i?(e={blockedOn:a,domEventName:l,eventSystemFlags:s,nativeEvent:i,targetContainers:[n]},a!==null&&(a=Es(a),a!==null&&Fh(a)),e):(e.eventSystemFlags|=s,a=e.targetContainers,n!==null&&a.indexOf(n)===-1&&a.push(n),e)}function Qg(e,a,l,s,n){switch(a){case"focusin":return Il=mn(Il,e,a,l,s,n),!0;case"dragenter":return Gl=mn(Gl,e,a,l,s,n),!0;case"mouseover":return $l=mn($l,e,a,l,s,n),!0;case"pointerover":var i=n.pointerId;return dn.set(i,mn(dn.get(i)||null,e,a,l,s,n)),!0;case"gotpointercapture":return i=n.pointerId,un.set(i,mn(un.get(i)||null,e,a,l,s,n)),!0}return!1}function lx(e){var a=Os(e.target);if(a!==null){var l=m(a);if(l!==null){if(a=l.tag,a===13){if(a=y(l),a!==null){e.blockedOn=a,Ae(e.priority,function(){ex(l)});return}}else if(a===31){if(a=u(l),a!==null){e.blockedOn=a,Ae(e.priority,function(){ex(l)});return}}else if(a===3&&l.stateNode.current.memoizedState.isDehydrated){e.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ui(e){if(e.blockedOn!==null)return!1;for(var a=e.targetContainers;0<a.length;){var l=Nd(e.nativeEvent);if(l===null){l=e.nativeEvent;var s=new l.constructor(l.type,l);ko=s,l.target.dispatchEvent(s),ko=null}else return a=Es(l),a!==null&&Fh(a),e.blockedOn=l,!1;a.shift()}return!0}function sx(e,a,l){Ui(e)&&l.delete(a)}function Jg(){Sd=!1,Il!==null&&Ui(Il)&&(Il=null),Gl!==null&&Ui(Gl)&&(Gl=null),$l!==null&&Ui($l)&&($l=null),dn.forEach(sx),un.forEach(sx)}function Hi(e,a){e.blockedOn===a&&(e.blockedOn=null,Sd||(Sd=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Jg)))}var Xi=null;function rx(e){Xi!==e&&(Xi=e,r.unstable_scheduleCallback(r.unstable_NormalPriority,function(){Xi===e&&(Xi=null);for(var a=0;a<e.length;a+=3){var l=e[a],s=e[a+1],n=e[a+2];if(typeof s!="function"){if(kd(s||l)===null)continue;break}var i=Es(l);i!==null&&(e.splice(a,3),a-=3,Nc(i,{pending:!0,data:n,method:l.method,action:s},s,n))}}))}function or(e){function a(L){return Hi(L,e)}Il!==null&&Hi(Il,e),Gl!==null&&Hi(Gl,e),$l!==null&&Hi($l,e),dn.forEach(a),un.forEach(a);for(var l=0;l<Kl.length;l++){var s=Kl[l];s.blockedOn===e&&(s.blockedOn=null)}for(;0<Kl.length&&(l=Kl[0],l.blockedOn===null);)lx(l),l.blockedOn===null&&Kl.shift();if(l=(e.ownerDocument||e).$$reactFormReplay,l!=null)for(s=0;s<l.length;s+=3){var n=l[s],i=l[s+1],p=n[Tt]||null;if(typeof i=="function")p||rx(l);else if(p){var S=null;if(i&&i.hasAttribute("formAction")){if(n=i,p=i[Tt]||null)S=p.formAction;else if(kd(n)!==null)continue}else S=p.action;typeof S=="function"?l[s+1]=S:(l.splice(s,3),s-=3),rx(l)}}}function nx(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(p){return n=p})},focusReset:"manual",scroll:"manual"})}function a(){n!==null&&(n(),n=null),s||setTimeout(l,20)}function l(){if(!s&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var s=!1,n=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(l,100),function(){s=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),n!==null&&(n(),n=null)}}}function Od(e){this._internalRoot=e}Ii.prototype.render=Od.prototype.render=function(e){var a=this._internalRoot;if(a===null)throw Error(c(409));var l=a.current,s=ha();Jh(l,s,e,a,null,null)},Ii.prototype.unmount=Od.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var a=e.containerInfo;Jh(e.current,2,null,e,null,null),ji(),a[Ma]=null}};function Ii(e){this._internalRoot=e}Ii.prototype.unstable_scheduleHydration=function(e){if(e){var a=fe();e={blockedOn:null,target:e,priority:a};for(var l=0;l<Kl.length&&a!==0&&a<Kl[l].priority;l++);Kl.splice(l,0,e),l===0&&lx(e)}};var ix=o.version;if(ix!=="19.2.3")throw Error(c(527,ix,"19.2.3"));v.findDOMNode=function(e){var a=e._reactInternals;if(a===void 0)throw typeof e.render=="function"?Error(c(188)):(e=Object.keys(e).join(","),Error(c(268,e)));return e=x(a),e=e!==null?N(e):null,e=e===null?null:e.stateNode,e};var Wg={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:z,reconcilerVersion:"19.2.3"};
2053if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Gi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Gi.isDisabled&&Gi.supportsFiber)try{He=Gi.inject(Wg),dt=Gi}catch{}}return xn.createRoot=function(e,a){if(!h(e))throw Error(c(299));var l=!1,s="",n=xm,i=pm,p=fm;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(n=a.onUncaughtError),a.onCaughtError!==void 0&&(i=a.onCaughtError),a.onRecoverableError!==void 0&&(p=a.onRecoverableError)),a=Zh(e,1,!1,null,null,l,s,null,n,i,p,nx),e[Ma]=a.current,id(e),new Od(a)},xn.hydrateRoot=function(e,a,l){if(!h(e))throw Error(c(299));var s=!1,n="",i=xm,p=pm,S=fm,L=null;return l!=null&&(l.unstable_strictMode===!0&&(s=!0),l.identifierPrefix!==void 0&&(n=l.identifierPrefix),l.onUncaughtError!==void 0&&(i=l.onUncaughtError),l.onCaughtError!==void 0&&(p=l.onCaughtError),l.onRecoverableError!==void 0&&(S=l.onRecoverableError),l.formState!==void 0&&(L=l.formState)),a=Zh(e,1,!0,a,l??null,s,n,L,i,p,S,nx),a.context=Qh(null),l=a.current,s=ha(),s=Z(s),n=_l(s),n.callback=null,Rl(l,n,s),l=s,a.current.lanes=l,Ra(a,l),Ga(a),e[Ma]=a.current,id(e),new Ii(a)},xn.version="19.2.3",xn}var gx;function ob(){if(gx)return Td.exports;gx=1;function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(o){console.error(o)}}return r(),Td.exports=ib(),Td.exports}var cb=ob();const db=Yx(cb);let ub={data:""},mb=r=>{if(typeof window=="object"){let o=(r?r.querySelector("#_goober"):window._goober)||Object.assign(document.createElement("style"),{innerHTML:" ",id:"_goober"});return o.nonce=window.__nonce__,o.parentNode||(r||document.head).appendChild(o),o.firstChild}return r||ub},hb=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,xb=/\/\*[^]*?\*\/| +/g,bx=/\n+/g,Zl=(r,o)=>{let d="",c="",h="";for(let m in r){let y=r[m];m[0]=="@"?m[1]=="i"?d=m+" "+y+";":c+=m[1]=="f"?Zl(y,m):m+"{"+Zl(y,m[1]=="k"?"":o)+"}":typeof y=="object"?c+=Zl(y,o?o.replace(/([^,])+/g,u=>m.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,f=>/&/.test(f)?f.replace(/&/g,u):u?u+" "+f:f)):m):y!=null&&(m=/^--/.test(m)?m:m.replace(/[A-Z]/g,"-$&").toLowerCase(),h+=Zl.p?Zl.p(m,y):m+":"+y+";")}return d+(o&&h?o+"{"+h+"}":h)+c},xl={},Px=r=>{if(typeof r=="object"){let o="";for(let d in r)o+=d+Px(r[d]);return o}return r},pb=(r,o,d,c,h)=>{let m=Px(r),y=xl[m]||(xl[m]=(f=>{let x=0,N=11;for(;x<f.length;)N=101*N+f.charCodeAt(x++)>>>0;return"go"+N})(m));if(!xl[y]){let f=m!==r?r:(x=>{let N,b,C=[{}];for(;N=hb.exec(x.replace(xb,""));)N[4]?C.shift():N[3]?(b=N[3].replace(bx," ").trim(),C.unshift(C[0][b]=C[0][b]||{})):C[0][N[1]]=N[2].replace(bx," ").trim();return C[0]})(r);xl[y]=Zl(h?{["@keyframes "+y]:f}:f,d?"":"."+y)}let u=d&&xl.g?xl.g:null;return d&&(xl.g=xl[y]),((f,x,N,b)=>{b?x.data=x.data.replace(b,f):x.data.indexOf(f)===-1&&(x.data=N?f+x.data:x.data+f)})(xl[y],o,c,u),y},fb=(r,o,d)=>r.reduce((c,h,m)=>{let y=o[m];if(y&&y.call){let u=y(d),f=u&&u.props&&u.props.className||/^go/.test(u)&&u;y=f?"."+f:u&&typeof u=="object"?u.props?"":Zl(u,""):u===!1?"":u}return c+h+(y??"")},"");function co(r){let o=this||{},d=r.call?r(o.p):r;return pb(d.unshift?d.raw?fb(d,[].slice.call(arguments,1),o.p):d.reduce((c,h)=>Object.assign(c,h&&h.call?h(o.p):h),{}):d,mb(o.target),o.g,o.o,o.k)}let Zx,Kd,qd;co.bind({g:1});let gl=co.bind({k:1});function gb(r,o,d,c){Zl.p=o,Zx=r,Kd=d,qd=c}function Fl(r,o){let d=this||{};return function(){let c=arguments;function h(m,y){let u=Object.assign({},m),f=u.className||h.className;d.p=Object.assign({theme:Kd&&Kd()},u),d.o=/ *go\d+/.test(f),u.className=co.apply(d,c)+(f?" "+f:"");let x=r;return r[0]&&(x=u.as||r,delete u.as),qd&&x[0]&&qd(u),Zx(x,u)}return h}}var bb=r=>typeof r=="function",Wi=(r,o)=>bb(r)?r(o):r,yb=(()=>{let r=0;return()=>(++r).toString()})(),Qx=(()=>{let r;return()=>{if(r===void 0&&typeof window<"u"){let o=matchMedia("(prefers-reduced-motion: reduce)");r=!o||o.matches}return r}})(),vb=20,nu="default",Jx=(r,o)=>{let{toastLimit:d}=r.settings;switch(o.type){case 0:return{...r,toasts:[o.toast,...r.toasts].slice(0,d)};case 1:return{...r,toasts:r.toasts.map(y=>y.id===o.toast.id?{...y,...o.toast}:y)};case 2:let{toast:c}=o;return Jx(r,{type:r.toasts.find(y=>y.id===c.id)?1:0,toast:c});case 3:let{toastId:h}=o;return{...r,toasts:r.toasts.map(y=>y.id===h||h===void 0?{...y,dismissed:!0,visible:!1}:y)};case 4:return o.toastId===void 0?{...r,toasts:[]}:{...r,toasts:r.toasts.filter(y=>y.id!==o.toastId)};case 5:return{...r,pausedAt:o.time};case 6:let m=o.time-(r.pausedAt||0);return{...r,pausedAt:void 0,toasts:r.toasts.map(y=>({...y,pauseDuration:y.pauseDuration+m}))}}},Zi=[],Wx={toasts:[],pausedAt:void 0,settings:{toastLimit:vb}},qa={},Fx=(r,o=nu)=>{qa[o]=Jx(qa[o]||Wx,r),Zi.forEach(([d,c])=>{d===o&&c(qa[o])})},ep=r=>
2053Object.keys(qa).forEach(o=>Fx(r,o)),wb=r=>Object.keys(qa).find(o=>qa[o].toasts.some(d=>d.id===r)),uo=(r=nu)=>o=>{Fx(o,r)},jb={blank:4e3,error:4e3,success:2e3,loading:1/0,custom:4e3},Nb=(r={},o=nu)=>{let[d,c]=j.useState(qa[o]||Wx),h=j.useRef(qa[o]);j.useEffect(()=>(h.current!==qa[o]&&c(qa[o]),Zi.push([o,c]),()=>{let y=Zi.findIndex(([u])=>u===o);y>-1&&Zi.splice(y,1)}),[o]);let m=d.toasts.map(y=>{var u,f,x;return{...r,...r[y.type],...y,removeDelay:y.removeDelay||((u=r[y.type])==null?void 0:u.removeDelay)||(r==null?void 0:r.removeDelay),duration:y.duration||((f=r[y.type])==null?void 0:f.duration)||(r==null?void 0:r.duration)||jb[y.type],style:{...r.style,...(x=r[y.type])==null?void 0:x.style,...y.style}}});return{...d,toasts:m}},kb=(r,o="blank",d)=>({createdAt:Date.now(),visible:!0,dismissed:!1,type:o,ariaProps:{role:"status","aria-live":"polite"},message:r,pauseDuration:0,...d,id:(d==null?void 0:d.id)||yb()}),Sn=r=>(o,d)=>{let c=kb(o,r,d);return uo(c.toasterId||wb(c.id))({type:2,toast:c}),c.id},ft=(r,o)=>Sn("blank")(r,o);ft.error=Sn("error");ft.success=Sn("success");ft.loading=Sn("loading");ft.custom=Sn("custom");ft.dismiss=(r,o)=>{let d={type:3,toastId:r};o?uo(o)(d):ep(d)};ft.dismissAll=r=>ft.dismiss(void 0,r);ft.remove=(r,o)=>{let d={type:4,toastId:r};o?uo(o)(d):ep(d)};ft.removeAll=r=>ft.remove(void 0,r);ft.promise=(r,o,d)=>{let c=ft.loading(o.loading,{...d,...d==null?void 0:d.loading});return typeof r=="function"&&(r=r()),r.then(h=>{let m=o.success?Wi(o.success,h):void 0;return m?ft.success(m,{id:c,...d,...d==null?void 0:d.success}):ft.dismiss(c),h}).catch(h=>{let m=o.error?Wi(o.error,h):void 0;m?ft.error(m,{id:c,...d,...d==null?void 0:d.error}):ft.dismiss(c)}),r};var Sb=1e3,Ob=(r,o="default")=>{let{toasts:d,pausedAt:c}=Nb(r,o),h=j.useRef(new Map).current,m=j.useCallback((b,C=Sb)=>{if(h.has(b))return;let g=setTimeout(()=>{h.delete(b),y({type:4,toastId:b})},C);h.set(b,g)},[]);j.useEffect(()=>{if(c)return;let b=Date.now(),C=d.map(g=>{if(g.duration===1/0)return;let O=(g.duration||0)+g.pauseDuration-(b-g.createdAt);if(O<0){g.visible&&ft.dismiss(g.id);return}return setTimeout(()=>ft.dismiss(g.id,o),O)});return()=>{C.forEach(g=>g&&clearTimeout(g))}},[d,c,o]);let y=j.useCallback(uo(o),[o]),u=j.useCallback(()=>{y({type:5,time:Date.now()})},[y]),f=j.useCallback((b,C)=>{y({type:1,toast:{id:b,height:C}})},[y]),x=j.useCallback(()=>{c&&y({type:6,time:Date.now()})},[c,y]),N=j.useCallback((b,C)=>{let{reverseOrder:g=!1,gutter:O=8,defaultPosition:E}=C||{},_=d.filter(D=>(D.position||E)===(b.position||E)&&D.height),k=_.findIndex(D=>D.id===b.id),R=_.filter((D,te)=>te<k&&D.visible).length;return _.filter(D=>D.visible).slice(...g?[R+1]:[0,R]).reduce((D,te)=>D+(te.height||0)+O,0)},[d]);return j.useEffect(()=>{d.forEach(b=>{if(b.dismissed)m(b.id,b.removeDelay);else{let C=h.get(b.id);
vendor: 4,275 bytes, lines 2053-2224
2053C&&(clearTimeout(C),h.delete(b.id))}})},[d,m]),{toasts:d,handlers:{updateHeight:f,startPause:u,endPause:x,calculateOffset:N}}},Eb=gl` 2054from { 2055 transform: scale(0) rotate(45deg); 2056 opacity: 0; 2057} 2058to { 2059 transform: scale(1) rotate(45deg); 2060 opacity: 1; 2061}`,Cb=gl` 2062from { 2063 transform: scale(0); 2064 opacity: 0; 2065} 2066to { 2067 transform: scale(1); 2068 opacity: 1; 2069}`,Tb=gl` 2070from { 2071 transform: scale(0) rotate(90deg); 2072 opacity: 0; 2073} 2074to { 2075 transform: scale(1) rotate(90deg); 2076 opacity: 1; 2077}`,_b=Fl("div")` 2078 width: 20px; 2079 opacity: 0; 2080 height: 20px; 2081 border-radius: 10px; 2082 background: ${r=>r.primary||"#ff4b4b"}; 2083 position: relative; 2084 transform: rotate(45deg); 2085 2086 animation: ${Eb} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 2087 forwards; 2088 animation-delay: 100ms; 2089 2090 &:after, 2091 &:before { 2092 content: ''; 2093 animation: ${Cb} 0.15s ease-out forwards; 2094 animation-delay: 150ms; 2095 position: absolute; 2096 border-radius: 3px; 2097 opacity: 0; 2098 background: ${r=>r.secondary||"#fff"}; 2099 bottom: 9px; 2100 left: 4px; 2101 height: 2px; 2102 width: 12px; 2103 } 2104 2105 &:before { 2106 animation: ${Tb} 0.15s ease-out forwards; 2107 animation-delay: 180ms; 2108 transform: rotate(90deg); 2109 } 2110`,Rb=gl` 2111 from { 2112 transform: rotate(0deg); 2113 } 2114 to { 2115 transform: rotate(360deg); 2116 } 2117`,Mb=Fl("div")` 2118 width: 12px; 2119 height: 12px; 2120 box-sizing: border-box; 2121 border: 2px solid; 2122 border-radius: 100%; 2123 border-color: ${r=>r.secondary||"#e0e0e0"}; 2124 border-right-color: ${r=>r.primary||"#616161"}; 2125 animation: ${Rb} 1s linear infinite; 2126`,Ab=gl` 2127from { 2128 transform: scale(0) rotate(45deg); 2129 opacity: 0; 2130} 2131to { 2132 transform: scale(1) rotate(45deg); 2133 opacity: 1; 2134}`,Db=gl` 21350% { 2136 height: 0; 2137 width: 0; 2138 opacity: 0; 2139} 214040% { 2141 height: 0; 2142 width: 6px; 2143 opacity: 1; 2144} 2145100% { 2146 opacity: 1; 2147 height: 10px; 2148}`,zb=Fl("div")` 2149 width: 20px; 2150 opacity: 0; 2151 height: 20px; 2152 border-radius: 10px; 2153 background: ${r=>r.primary||"#61d345"}; 2154 position: relative; 2155 transform: rotate(45deg); 2156 2157 animation: ${Ab} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 2158 forwards; 2159 animation-delay: 100ms; 2160 &:after { 2161 content: ''; 2162 box-sizing: border-box; 2163 animation: ${Db} 0.2s ease-out forwards; 2164 opacity: 0; 2165 animation-delay: 200ms; 2166 position: absolute; 2167 border-right: 2px solid; 2168 border-bottom: 2px solid; 2169 border-color: ${r=>r.secondary||"#fff"}; 2170 bottom: 6px; 2171 left: 6px; 2172 height: 10px; 2173 width: 6px; 2174 } 2175`,Bb=Fl("div")` 2176 position: absolute; 2177`,Vb=Fl("div")` 2178 position: relative; 2179 display: flex; 2180 justify-content: center; 2181 align-items: center; 2182 min-width: 20px; 2183 min-height: 20px; 2184`,Lb=gl` 2185from { 2186 transform: scale(0.6); 2187 opacity: 0.4; 2188} 2189to { 2190 transform: scale(1); 2191 opacity: 1; 2192}`,Ub=Fl("div")` 2193 position: relative; 2194 transform: scale(0.6); 2195 opacity: 0.4; 2196 min-width: 20px; 2197 animation: ${Lb} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) 2198 forwards; 2199`,Hb=({toast:r})=>{let{icon:o,type:d,iconTheme:c}=r;return o!==void 0?typeof o=="string"?j.createElement(Ub,null,o):o:d==="blank"?null:j.createElement(Vb,null,j.createElement(Mb,{...c}),d!=="loading"&&j.createElement(Bb,null,d==="error"?j.createElement(_b,{...c}):j.createElement(zb,{...c})))},Xb=r=>` 22000% {transform: translate3d(0,${r*-200}%,0) scale(.6); opacity:.5;} 2201100% {transform: translate3d(0,0,0) scale(1); opacity:1;} 2202`,Ib=r=>` 22030% {transform: translate3d(0,0,-1px) scale(1); opacity:1;} 2204100% {transform: translate3d(0,${r*-150}%,-1px) scale(.6); opacity:0;} 2205`,Gb="0%{opacity:0;} 100%{opacity:1;}",$b="0%{opacity:1;} 100%{opacity:0;}",Kb=Fl("div")` 2206 display: flex; 2207 align-items: center; 2208 background: #fff; 2209 color: #363636; 2210 line-height: 1.3; 2211 will-change: transform; 2212 box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); 2213 max-width: 350px; 2214 pointer-events: auto; 2215 padding: 8px 10px; 2216 border-radius: 8px; 2217`,qb=Fl("div")` 2218 display: flex; 2219 justify-content: center; 2220 margin: 4px 10px; 2221 color: inherit; 2222 flex: 1 1 auto; 2223 white-space: pre-line; 2224`,Yb=(r,o)=>{let d=r.includes("top")?1:-1,[c,h]=Qx()?[Gb,$b]:[Xb(d),Ib(d)];return{animation:o?`${gl(c)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards`:`${gl(h)} 0.4s forwards cubic-bezier(.06,.71,.55,1)`}},Pb=j.memo(({toast:r,position:o,style:d,children:c})=>{let h=r.height?Yb(r.position||o||"top-center",r.visible):{opacity:0}
2224,m=j.createElement(Hb,{toast:r}),y=j.createElement(qb,{...r.ariaProps},Wi(r.message,r));return j.createElement(Kb,{className:r.className,style:{...h,...d,...r.style}},typeof c=="function"?c({icon:m,message:y}):j.createElement(j.Fragment,null,m,y))});gb(j.createElement);var Zb=({id:r,className:o,style:d,onHeightUpdate:c,children:h})=>{let m=j.useCallback(y=>{if(y){let u=()=>{let f=y.getBoundingClientRect().height;c(r,f)};u(),new MutationObserver(u).observe(y,{subtree:!0,childList:!0,characterData:!0})}},[r,c]);return j.createElement("div",{ref:m,className:o,style:d},h)},Qb=(r,o)=>{let d=r.includes("top"),c=d?{top:0}:{bottom:0},h=r.includes("center")?{justifyContent:"center"}:r.includes("right")?{justifyContent:"flex-end"}:{};return{left:0,right:0,display:"flex",position:"absolute",transition:Qx()?void 0:"all 230ms cubic-bezier(.21,1.02,.73,1)",transform:`translateY(${o*(d?1:-1)}px)`,...c,...h}},Jb=co` 2225 z-index: 9999; 2226 > * { 2227 pointer-events: auto; 2228 } 2229`,$i=16,Wb=({reverseOrder:r,position:o="top-center",toastOptions:d,gutter:c,children:h,toasterId:m,containerStyle:y,containerClassName:u})=>{let{toasts:f,handlers:x}=Ob(d,m);return j.createElement("div",{"data-rht-toaster":m||"",style:{position:"fixed",zIndex:9999,top:$i,left:$i,right:$i,bottom:$i,pointerEvents:"none",...y},className:u,onMouseEnter:x.startPause,onMouseLeave:x.endPause},f.map(N=>{let b=N.position||o,C=x.calculateOffset(N,{reverseOrder:r,gutter:c,defaultPosition:o}),g=Qb(b,C);return j.createElement(Zb,{id:N.id,key:N.id,onHeightUpdate:x.updateHeight,className:N.visible?Jb:"",style:g},N.type==="custom"?Wi(N.message,N):h?h(N):j.createElement(Pb,{toast:N,position:b}))}))},oe=ft;/** 2230 * react-router v7.10.1 2231 * 2232 * Copyright (c) Remix Software Inc. 2233 * 2234 * This source code is licensed under the MIT license found in the 2235 * LICENSE.md file in the root directory of this source tree. 2236 * 2237 * @license MIT 2238 */var yx="popstate";function Fb(r={}){function o(c,h){let{pathname:m,search:y,hash:u}=c.location;return Yd("",{pathname:m,search:y,hash:u},h.state&&h.state.usr||null,h.state&&h.state.key||"default")}function d(c,h){return typeof h=="string"?h:bn(h)}return ty(o,d,null,r)}function St(r,o){if(r===!1||r===null||typeof r>"u")throw new Error(o)}function pa(r,o){if(!r){typeof console<"u"&&console.warn(o);try{throw new Error(o)}catch{}}}function ey(){return Math.random().toString(36).substring(2,10)}function vx(r,o){return{usr:r.state,key:r.key,idx:o}}function Yd(r,o,d=null,c){return{pathname:typeof r=="string"?r:r.pathname,search:"",hash:"",...typeof o=="string"?yr(o):o,state:d,key:o&&o.key||c||ey()}}function bn({pathname:r="/",search:o="",hash:d=""}){return o&&o!=="?"&&(r+=o.charAt(0)==="?"?o:"?"+o),d&&d!=="#"&&(r+=d.charAt(0)==="#"?d:"#"+d),r}function yr(r){let o={};if(r){let d=r.indexOf("#");d>=0&&(o.hash=r.substring(d),r=r.substring(0,d));let c=r.indexOf("?");c>=0&&(o.search=r.substring(c),r=r.substring(0,c)),r&&(o.pathname=r)}return o}function ty(r,o,d,c={}){let{window:h=document.defaultView,v5Compat:m=!1}=c,y=h.history,u="POP",f=null,x=N();x==null&&(x=0,y.replaceState({...y.state,idx:x},""));function N(){return(y.state||{idx:null}).idx}function b(){u="POP";let _=N(),k=_==null?null:_-x;x=_,f&&f({action:u,location:E.location,delta:k})}function C(_,k){u="PUSH";let R=Yd(E.location,_,k);x=N()+1;let D=vx(R,x),te=E.createHref(R);try{y.pushState(D,"",te)}catch(W){if(W instanceof DOMException&&W.name==="DataCloneError")throw W;h.location.assign(te)}m&&f&&f({action:u,location:E.location,delta:1})}function g(_,k){u="REPLACE";let R=Yd(E.location,_,k);x=N();let D=vx(R,x),te=E.createHref(R);y.replaceState(D,"",te),m&&f&&f({action:u,location:E.location,delta:0})}function O(_){return ay(_)}let E={get action(){return u},get location(){return r(h,y)},listen(_){if(f)throw new Error("A history only accepts one active listener");return h.addEventListener(yx,b),f=_,()=>{h.removeEventListener(yx,b),f=null}},createHref(_){return o(h,_)},createURL:O,encodeLocation(_){let k=O(_);return{pathname:k.pathname,search:k.search,hash:k.hash}},push:C,replace:g,go(_){return y.go(_)}};return E}function ay(r,o=!1){let d="http://localhost";
2238typeof window<"u"&&(d=window.location.origin!=="null"?window.location.origin:window.location.href),St(d,"No window.location.(origin|href) available to create URL");let c=typeof r=="string"?r:bn(r);return c=c.replace(/ $/,"%20"),!o&&c.startsWith("//")&&(c=d+c),new URL(c,d)}function tp(r,o,d="/"){return ly(r,o,d,!1)}function ly(r,o,d,c){let h=typeof o=="string"?yr(o):o,m=bl(h.pathname||"/",d);if(m==null)return null;let y=ap(r);sy(y);let u=null;for(let f=0;u==null&&f<y.length;++f){let x=py(m);u=hy(y[f],x,c)}return u}function ap(r,o=[],d=[],c="",h=!1){let m=(y,u,f=h,x)=>{let N={relativePath:x===void 0?y.path||"":x,caseSensitive:y.caseSensitive===!0,childrenIndex:u,route:y};if(N.relativePath.startsWith("/")){if(!N.relativePath.startsWith(c)&&f)return;St(N.relativePath.startsWith(c),`Absolute route path "${N.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),N.relativePath=N.relativePath.slice(c.length)}let b=fl([c,N.relativePath]),C=d.concat(N);y.children&&y.children.length>0&&(St(y.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),ap(y.children,o,C,b,f)),!(y.path==null&&!y.index)&&o.push({path:b,score:uy(b,y.index),routesMeta:C})};return r.forEach((y,u)=>{var f;if(y.path===""||!((f=y.path)!=null&&f.includes("?")))m(y,u);else for(let x of lp(y.path))m(y,u,!0,x)}),o}function lp(r){let o=r.split("/");if(o.length===0)return[];let[d,...c]=o,h=d.endsWith("?"),m=d.replace(/\?$/,"");if(c.length===0)return h?[m,""]:[m];let y=lp(c.join("/")),u=[];return u.push(...y.map(f=>f===""?m:[m,f].join("/"))),h&&u.push(...y),u.map(f=>r.startsWith("/")&&f===""?"/":f)}function sy(r){r.sort((o,d)=>o.score!==d.score?d.score-o.score:my(o.routesMeta.map(c=>c.childrenIndex),d.routesMeta.map(c=>c.childrenIndex)))}var ry=/^:[\w-]+$/,ny=3,iy=2,oy=1,cy=10,dy=-2,wx=r=>r==="*";function uy(r,o){let d=r.split("/"),c=d.length;return d.some(wx)&&(c+=dy),o&&(c+=iy),d.filter(h=>!wx(h)).reduce((h,m)=>h+(ry.test(m)?ny:m===""?oy:cy),c)}function my(r,o){return r.length===o.length&&r.slice(0,-1).every((c,h)=>c===o[h])?r[r.length-1]-o[o.length-1]:0}function hy(r,o,d=!1){let{routesMeta:c}=r,h={},m="/",y=[];for(let u=0;u<c.length;++u){let f=c[u],x=u===c.length-1,N=m==="/"?o:o.slice(m.length)||"/",b=Fi({path:f.relativePath,caseSensitive:f.caseSensitive,end:x},N),C=f.route;if(!b&&x&&d&&!c[c.length-1].route.index&&(b=Fi({path:f.relativePath,caseSensitive:f.caseSensitive,end:!1},N)),!b)return null;
2238Object.assign(h,b.params),y.push({params:h,pathname:fl([m,b.pathname]),pathnameBase:vy(fl([m,b.pathnameBase])),route:C}),b.pathnameBase!=="/"&&(m=fl([m,b.pathnameBase]))}return y}function Fi(r,o){typeof r=="string"&&(r={path:r,caseSensitive:!1,end:!0});let[d,c]=xy(r.path,r.caseSensitive,r.end),h=o.match(d);if(!h)return null;let m=h[0],y=m.replace(/(.)\/+$/,"$1"),u=h.slice(1);return{params:c.reduce((x,{paramName:N,isOptional:b},C)=>{if(N==="*"){let O=u[C]||"";y=m.slice(0,m.length-O.length).replace(/(.)\/+$/,"$1")}const g=u[C];return b&&!g?x[N]=void 0:x[N]=(g||"").replace(/%2F/g,"/"),x},{}),pathname:m,pathnameBase:y,pattern:r}}function xy(r,o=!1,d=!0){pa(r==="*"||!r.endsWith("*")||r.endsWith("/*"),`Route path "${r}" will be treated as if it were "${r.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${r.replace(/\*$/,"/*")}".`);let c=[],h="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(y,u,f)=>(c.push({paramName:u,isOptional:f!=null}),f?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return r.endsWith("*")?(c.push({paramName:"*"}),h+=r==="*"||r==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):d?h+="\\/*$":r!==""&&r!=="/"&&(h+="(?:(?=\\/|$))"),[new RegExp(h,o?void 0:"i"),c]}function py(r){try{return r.split("/").map(o=>decodeURIComponent(o).replace(/\//g,"%2F")).join("/")}catch(o){return pa(!1,`The URL path "${r}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${o}).`),r}}function bl(r,o){if(o==="/")return r;if(!r.toLowerCase().startsWith(o.toLowerCase()))return null;let d=o.endsWith("/")?o.length-1:o.length,c=r.charAt(d);return c&&c!=="/"?null:r.slice(d)||"/"}var fy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,gy=r=>fy.test(r);function by(r,o="/"){let{pathname:d,search:c="",hash:h=""}=typeof r=="string"?yr(r):r,m;if(d)if(gy(d))m=d;else{if(d.includes("//")){let y=d;d=d.replace(/\/\/+/g,"/"),pa(!1,`Pathnames cannot have embedded double slashes - normalizing ${y} -> ${d}`)}d.startsWith("/")?m=jx(d.substring(1),"/"):m=jx(d,o)}else m=o;return{pathname:m,search:wy(c),hash:jy(h)}}function jx(r,o){let d=o.replace(/\/+$/,"").split("/");return r.split("/").forEach(h=>{h===".."?d.length>1&&d.pop():h!=="."&&d.push(h)}),d.length>1?d.join("/"):"/"}function Ad(r,o,d,c){return`Cannot include a '${r}' character in a manually specified \`to.${o}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${d}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function yy(r){return r.filter((o,d)=>d===0||o.route.path&&o.route.path.length>0)}function iu(r){let o=yy(r);return o.map((d,c)=>c===o.length-1?d.pathname:d.pathnameBase)}function ou(r,o,d,c=!1){let h;typeof r=="string"?h=yr(r):(h={...r},St(!h.pathname||!h.pathname.includes("?"),Ad("?","pathname","search",h)),St(!h.pathname||!h.pathname.includes("#"),Ad("#","pathname","hash",h)),St(!h.search||!h.search.includes("#"),Ad("#","search","hash",h)));let m=r===""||h.pathname==="",y=m?"/":h.pathname,u;if(y==null)u=d;else{let b=o.length-1;if(!c&&y.startsWith("..")){let C=y.split("/");for(;C[0]==="..";)C.shift(),b-=1;h.pathname=C.join("/")}u=b>=0?o[b]:"/"}let f=by(h,u),x=y&&y!=="/"&&y.endsWith("/"),N=(m||y===".")&&d.endsWith("/");return!f.pathname.endsWith("/")&&(x||N)&&(f.pathname+="/"),f}var fl=r=>r.join("/").replace(/\/\/+/g,"/"),vy=r=>r.replace(/\/+$/,"").replace(/^\/*/,"/"),wy=r=>!r||r==="?"?"":r.startsWith("?")?r:"?"+r,jy=r=>!r||r==="#"?"":r.startsWith("#")?r:"#"+r;function Ny(r){return r!=null&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.internal=="boolean"&&"data"in r}function ky(r){return r.map(o=>o.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var sp=["POST","PUT","PATCH","DELETE"];new Set(sp);var Sy=["GET",...sp];new Set(Sy);var vr=j.createContext(null);vr.displayName="DataRouter";var mo=j.createContext(null);mo.displayName="DataRouterState";j.createContext(!1);var rp=j.createContext({isTransitioning:!1});rp.displayName="ViewTransition";var Oy=j.createContext(new Map);Oy.displayName="Fetchers";var Ey=j.createContext(null);Ey.displayName="Await";var Ea=j.createContext(null);Ea.displayName="Navigation";var On=j.createContext(null);On.displayName="Location";var La=j.createContext({outlet:null,matches:[],isDataRoute:!1});La.displayName="Route";var cu=j.createContext(null);cu.displayName="RouteError";function Cy(r,{relative:o}={}){St(wr(),"useHref() may be used only in the context of a <Router> component.");let{basename:d,navigator:c}=j.useContext(Ea),{hash:h,pathname:m,search:y}=En(r,{relative:o}),u=m;return d!=="/"&&(u=m==="/"?d:fl([d,m])),c.createHref({pathname:u,search:y,hash:h})}function wr(){return j.useContext(On)!=null}function Za(){return St(wr(),"useLocation() may be used only in the context of a <Router> component."),j.useContext(On).location}var np="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ip(r){j.useContext(Ea).static||j.useLayoutEffect(r)}function ho(){let{isDataRoute:r}=j.useContext(La);return r?Xy():Ty()}function Ty(){St(wr(),"useNavigate() may be used only in the context of a <Router> component.");let r=j.useContext(vr),{basename:o,navigator:d}=j.useContext(Ea),{matches:c}=j.useContext(La),{pathname:h}=Za(),m=JSON.stringify(iu(c)),y=j.useRef(!1);return ip(()=>{y.current=!0}),j.useCallback((f,x={})=>
2238{if(pa(y.current,np),!y.current)return;if(typeof f=="number"){d.go(f);return}let N=ou(f,JSON.parse(m),h,x.relative==="path");r==null&&o!=="/"&&(N.pathname=N.pathname==="/"?o:fl([o,N.pathname])),(x.replace?d.replace:d.push)(N,x.state,x)},[o,d,m,h,r])}j.createContext(null);function du(){let{matches:r}=j.useContext(La),o=r[r.length-1];return o?o.params:{}}function En(r,{relative:o}={}){let{matches:d}=j.useContext(La),{pathname:c}=Za(),h=JSON.stringify(iu(d));return j.useMemo(()=>ou(r,JSON.parse(h),c,o==="path"),[r,h,c,o])}function _y(r,o){return op(r,o)}function op(r,o,d,c,h){var R;St(wr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:m}=j.useContext(Ea),{matches:y}=j.useContext(La),u=y[y.length-1],f=u?u.params:{},x=u?u.pathname:"/",N=u?u.pathnameBase:"/",b=u&&u.route;{let D=b&&b.path||"";cp(x,!b||D.endsWith("*")||D.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${x}" (under <Route path="${D}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. 2239 2240Please change the parent <Route path="${D}"> to <Route path="${D==="/"?"*":`${D}/*`}">.`)}let C=Za(),g;if(o){let D=typeof o=="string"?yr(o):o;St(N==="/"||((R=D.pathname)==null?void 0:R.startsWith(N)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${N}" but pathname "${D.pathname}" was given in the \`location\` prop.`),g=D}else g=C;let O=g.pathname||"/",E=O;if(N!=="/"){let D=N.replace(/^\//,"").split("/");E="/"+O.replace(/^\//,"").split("/").slice(D.length).join("/")}let _=tp(r,{pathname:E});pa(b||_!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),pa(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let k=zy(_&&_.map(D=>Object.assign({},D,{params:Object.assign({},f,D.params),pathname:fl([N,m.encodeLocation?m.encodeLocation(D.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:D.pathname]),pathnameBase:D.pathnameBase==="/"?N:fl([N,m.encodeLocation?m.encodeLocation(D.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:D.pathnameBase])})),y,d,c,h);return o&&k?j.createElement(On.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...g},navigationType:"POP"}},k):k}function Ry(){let r=Hy(),o=Ny(r)?`${r.status} ${r.statusText}`:r instanceof Error?r.message:JSON.stringify(r),d=r instanceof Error?r.stack:null,c="rgba(200,200,200, 0.5)",h={padding:"0.5rem",backgroundColor:c},m={padding:"2px 4px",backgroundColor:c},y=null;return console.error("Error handled by React Router default ErrorBoundary:",r),y=j.createElement(j.Fragment,null,j.createElement("p",null,"ð¿ Hey developer ð"),j.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",j.createElement("code",{style:m},"ErrorBoundary")," or"," ",j.createElement("code",{style:m},"errorElement")," prop on your route.")),j.createElement(j.Fragment,null,j.createElement("h2",null,"Unexpected Application Error!"),j.createElement("h3",{style:{fontStyle:"italic"}},o),d?j.createElement("pre",{style:h},d):null,y)}var My=j.createElement(Ry,null),Ay=class extends j.Component{constructor(r){super(r),this.state={location:r.location,revalidation:r.revalidation,error:r.error}}static getDerivedStateFromError(r){return{error:r}}static getDerivedStateFromProps(r,o){return o.location!==r.location||o.revalidation!=="idle"&&r.revalidation==="idle"?{error:r.error,location:r.location,revalidation:r.revalidation}:{error:r.error!==void 0?r.error:o.error,location:o.location,revalidation:r.revalidation||o.revalidation}}componentDidCatch(r,o){this.props.onError?this.props.onError(r,o):console.error("React Router caught the following error during render",r)}render(){return this.state.error!==void 0?j.createElement(La.Provider,{value:this.props.routeContext},j.createElement(cu.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Dy({routeContext:r,match:o,children:d}){let c=j.useContext(vr);return c&&c.static&&c.staticContext&&(o.route.errorElement||o.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=o.route.id),j.createElement(La.Provider,{value:r},d)}function zy(r,o=[],d=null,c=null,h=null){if(r==null){if(!d)return null;if(d.errors)r=d.matches;else if(o.length===0&&!d.initialized&&d.matches.length>0)r=d.matches;else return null}let m=r,y=d==null?void 0:d.errors;if(y!=null){let N=m.findIndex(b=>b.route.id&&(y==null?void 0:y[b.route.id])!==void 0);St(N>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(y).join(",")}`),m=m.slice(0,Math.min(m.length,N+1))}let u=!1,f=-1;if(d)for(let N=0;N<m.length;N++){let b=m[N];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(f=N),b.route.id){let{loaderData:C,errors:g}
2240=d,O=b.route.loader&&!C.hasOwnProperty(b.route.id)&&(!g||g[b.route.id]===void 0);if(b.route.lazy||O){u=!0,f>=0?m=m.slice(0,f+1):m=[m[0]];break}}}let x=d&&c?(N,b)=>{var C,g;c(N,{location:d.location,params:((g=(C=d.matches)==null?void 0:C[0])==null?void 0:g.params)??{},unstable_pattern:ky(d.matches),errorInfo:b})}:void 0;return m.reduceRight((N,b,C)=>{let g,O=!1,E=null,_=null;d&&(g=y&&b.route.id?y[b.route.id]:void 0,E=b.route.errorElement||My,u&&(f<0&&C===0?(cp("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),O=!0,_=null):f===C&&(O=!0,_=b.route.hydrateFallbackElement||null)));let k=o.concat(m.slice(0,C+1)),R=()=>{let D;return g?D=E:O?D=_:b.route.Component?D=j.createElement(b.route.Component,null):b.route.element?D=b.route.element:D=N,j.createElement(Dy,{match:b,routeContext:{outlet:N,matches:k,isDataRoute:d!=null},children:D})};return d&&(b.route.ErrorBoundary||b.route.errorElement||C===0)?j.createElement(Ay,{location:d.location,revalidation:d.revalidation,component:E,error:g,children:R(),routeContext:{outlet:null,matches:k,isDataRoute:!0},onError:x}):R()},null)}function uu(r){return`${r} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function By(r){let o=j.useContext(vr);return St(o,uu(r)),o}function Vy(r){let o=j.useContext(mo);return St(o,uu(r)),o}function Ly(r){let o=j.useContext(La);return St(o,uu(r)),o}function mu(r){let o=Ly(r),d=o.matches[o.matches.length-1];return St(d.route.id,`${r} can only be used on routes that contain a unique "id"`),d.route.id}function Uy(){return mu("useRouteId")}function Hy(){var c;let r=j.useContext(cu),o=Vy("useRouteError"),d=mu("useRouteError");return r!==void 0?r:(c=o.errors)==null?void 0:c[d]}function Xy(){let{router:r}=By("useNavigate"),o=mu("useNavigate"),d=j.useRef(!1);return ip(()=>{d.current=!0}),j.useCallback(async(h,m={})=>{pa(d.current,np),d.current&&(typeof h=="number"?await r.navigate(h):await r.navigate(h,{fromRouteId:o,...m}))},[r,o])}var Nx={};function cp(r,o,d){!o&&!Nx[r]&&(Nx[r]=!0,pa(!1,d))}j.memo(Iy);function Iy({routes:r,future:o,state:d,unstable_onError:c}){return op(r,void 0,d,c,o)}function kx({to:r,replace:o,state:d,relative:c}
2240){St(wr(),"<Navigate> may be used only in the context of a <Router> component.");let{static:h}=j.useContext(Ea);pa(!h,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:m}=j.useContext(La),{pathname:y}=Za(),u=ho(),f=ou(r,iu(m),y,c==="path"),x=JSON.stringify(f);return j.useEffect(()=>{u(JSON.parse(x),{replace:o,state:d,relative:c})},[u,x,c,o,d]),null}function Qt(r){St(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Gy({basename:r="/",children:o=null,location:d,navigationType:c="POP",navigator:h,static:m=!1,unstable_useTransitions:y}){St(!wr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let u=r.replace(/^\/*/,"/"),f=j.useMemo(()=>({basename:u,navigator:h,static:m,unstable_useTransitions:y,future:{}}),[u,h,m,y]);typeof d=="string"&&(d=yr(d));let{pathname:x="/",search:N="",hash:b="",state:C=null,key:g="default"}=d,O=j.useMemo(()=>{let E=bl(x,u);return E==null?null:{location:{pathname:E,search:N,hash:b,state:C,key:g},navigationType:c}},[u,x,N,b,C,g,c]);return pa(O!=null,`<Router basename="${u}"> is not able to match the URL "${x}${N}${b}" because it does not start with the basename, so the <Router> won't render anything.`),O==null?null:j.createElement(Ea.Provider,{value:f},j.createElement(On.Provider,{children:o,value:O}))}function $y({children:r,location:o}){return _y(Pd(r),o)}function Pd(r,o=[]){let d=[];return j.Children.forEach(r,(c,h)=>{if(!j.isValidElement(c))return;let m=[...o,h];if(c.type===j.Fragment){d.push.apply(d,Pd(c.props.children,m));return}St(c.type===Qt,`[${typeof c.type=="string"?c.type:c.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),St(!c.props.index||!c.props.children,"An index route cannot have child routes.");let y={id:c.props.id||m.join("-"),caseSensitive:c.props.caseSensitive,element:c.props.element,Component:c.props.Component,index:c.props.index,path:c.props.path,middleware:c.props.middleware,loader:c.props.loader,action:c.props.action,hydrateFallbackElement:c.props.hydrateFallbackElement,HydrateFallback:c.props.HydrateFallback,errorElement:c.props.errorElement,ErrorBoundary:c.props.ErrorBoundary,hasErrorBoundary:c.props.hasErrorBoundary===!0||c.props.ErrorBoundary!=null||c.props.errorElement!=null,shouldRevalidate:c.props.shouldRevalidate,handle:c.props.handle,lazy:c.props.lazy};c.props.children&&(y.children=Pd(c.props.children,m)),d.push(y)}),d}var Qi="get",Ji="application/x-www-form-urlencoded";function xo(r){return typeof HTMLElement<"u"&&r instanceof HTMLElement}function Ky(r){return xo(r)&&r.tagName.toLowerCase()==="button"}function qy(r){return xo(r)&&r.tagName.toLowerCase()==="form"}function Yy(r){return xo(r)&&r.tagName.toLowerCase()==="input"}function Py(r){return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}function Zy(r,o){return r.button===0&&(!o||o==="_self")&&!Py(r)}function Zd(r=""){return new URLSearchParams(typeof r=="string"||Array.isArray(r)||r instanceof URLSearchParams?r:Object.keys(r).reduce((o,d)=>{let c=r[d];return o.concat(Array.isArray(c)?c.map(h=>[d,h]):[[d,c]])},[]))}function Qy(r,o){let d=Zd(r);return o&&o.forEach((c,h)=>{d.has(h)||o.getAll(h).forEach(m=>{d.append(h,m)})}),d}var Ki=null;function Jy(){if(Ki===null)try{new FormData(document.createElement("form"),0),Ki=!1}catch{Ki=!0}return Ki}var Wy=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Dd(r){return r!=null&&!Wy.has(r)?(pa(!1,`"${r}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Ji}"`),null):r}function Fy(r,o){let d,c,h,m,y;if(qy(r)){let u=r.getAttribute("action");c=u?bl(u,o):null,d=r.getAttribute("method")||Qi,h=Dd(r.getAttribute("enctype"))||Ji,m=new FormData(r)}else if(Ky(r)||Yy(r)&&(r.type==="submit"||r.type==="image")){let u=r.form;if(u==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=r.getAttribute("formaction")||u.getAttribute("action");if(c=f?bl(f,o):null,d=r.getAttribute("formmethod")||u.getAttribute("method")||Qi,h=Dd(r.getAttribute("formenctype"))||Dd(u.getAttribute("enctype"))||Ji,m=new FormData(u,r),!Jy()){let{name:x,type:N,value:b}=r;if(N==="image"){let C=x?`${x}.`:"";m.append(`${C}x`,"0"),m.append(`${C}y`,"0")}else x&&m.append(x,b)}}else{if(xo(r))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');d=Qi,c=null,h=Ji,y=r}return m&&h==="text/plain"&&(y=m,m=void 0),{action:c,method:d.toLowerCase(),encType:h,formData:m,body:y}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function hu(r,o){if(r===!1||r===null||typeof r>"u")throw new Error(o)}function e1(r,o,d){let c=typeof r=="string"?new URL(r,typeof window>"u"?"server://singlefetch/":window.location.origin):r;return c.pathname==="/"?c.pathname=`_root.${d}`:o&&bl(c.pathname,o)==="/"?c.pathname=`${o.replace(/\/$/,"")}/_root.${d}`:c.pathname=`${c.pathname.replace(/\/$/,"")}.${d}`,c}
2240async function t1(r,o){if(r.id in o)return o[r.id];try{let d=await import(r.module);return o[r.id]=d,d}catch(d){return console.error(`Error loading route module \`${r.module}\`, reloading page...`),console.error(d),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function a1(r){return r==null?!1:r.href==null?r.rel==="preload"&&typeof r.imageSrcSet=="string"&&typeof r.imageSizes=="string":typeof r.rel=="string"&&typeof r.href=="string"}async function l1(r,o,d){let c=await Promise.all(r.map(async h=>{let m=o.routes[h.route.id];if(m){let y=await t1(m,d);return y.links?y.links():[]}return[]}));return i1(c.flat(1).filter(a1).filter(h=>h.rel==="stylesheet"||h.rel==="preload").map(h=>h.rel==="stylesheet"?{...h,rel:"prefetch",as:"style"}:{...h,rel:"prefetch"}))}function Sx(r,o,d,c,h,m){let y=(f,x)=>d[x]?f.route.id!==d[x].route.id:!0,u=(f,x)=>{var N;return d[x].pathname!==f.pathname||((N=d[x].route.path)==null?void 0:N.endsWith("*"))&&d[x].params["*"]!==f.params["*"]};return m==="assets"?o.filter((f,x)=>y(f,x)||u(f,x)):m==="data"?o.filter((f,x)=>{var b;let N=c.routes[f.route.id];if(!N||!N.hasLoader)return!1;if(y(f,x)||u(f,x))return!0;if(f.route.shouldRevalidate){let C=f.route.shouldRevalidate({currentUrl:new URL(h.pathname+h.search+h.hash,window.origin),currentParams:((b=d[0])==null?void 0:b.params)||{},nextUrl:new URL(r,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof C=="boolean")return C}return!0}):[]}function s1(r,o,{includeHydrateFallback:d}={}){return r1(r.map(c=>{let h=o.routes[c.route.id];if(!h)return[];let m=[h.module];return h.clientActionModule&&(m=m.concat(h.clientActionModule)),h.clientLoaderModule&&(m=m.concat(h.clientLoaderModule)),d&&h.hydrateFallbackModule&&(m=m.concat(h.hydrateFallbackModule)),h.imports&&(m=m.concat(h.imports)),m}).flat(1))}function r1(r){return[...new Set(r)]}function n1(r){let o={},d=Object.keys(r).sort();for(let c of d)o[c]=r[c];return o}function i1(r,o){let d=new Set;return new Set(o),r.reduce((c,h)=>{let m=JSON.stringify(n1(h));return d.has(m)||(d.add(m),c.push({key:m,link:h})),c},[])}function dp(){let r=j.useContext(vr);return hu(r,"You must render this element inside a <DataRouterContext.Provider> element"),r}function o1(){let r=j.useContext(mo);return hu(r,"You must render this element inside a <DataRouterStateContext.Provider> element"),r}var xu=j.createContext(void 0);xu.displayName="FrameworkContext";function up(){let r=j.useContext(xu);return hu(r,"You must render this element inside a <HydratedRouter> element"),r}function c1(r,o){let d=j.useContext(xu),[c,h]=j.useState(!1),[m,y]=j.useState(!1),{onFocus:u,onBlur:f,onMouseEnter:x,onMouseLeave:N,onTouchStart:b}=o,C=j.useRef(null);j.useEffect(()=>{if(r==="render"&&y(!0),r==="viewport"){let E=k=>{k.forEach(R=>{y(R.isIntersecting)})},_=new IntersectionObserver(E,{threshold:.5});return C.current&&_.observe(C.current),()=>{_.disconnect()}}},[r]),j.useEffect(()=>{if(c){let E=setTimeout(()=>{y(!0)},100);return()=>{clearTimeout(E)}}},[c]);let g=()=>{h(!0)},O=()=>{h(!1),y(!1)};return d?r!=="intent"?[m,C,{}]:[m,C,{onFocus:pn(u,g),onBlur:pn(f,O),onMouseEnter:pn(x,g),onMouseLeave:pn(N,O),onTouchStart:pn(b,g)}]:[!1,C,{}]}function pn(r,o){return d=>{r&&r(d),d.defaultPrevented||o(d)}}function d1({page:r,...o}){let{router:d}=dp(),c=j.useMemo(()=>tp(d.routes,r,d.basename),[d.routes,r,d.basename]);return c?j.createElement(m1,{page:r,matches:c,...o}):null}function u1(r){let{manifest:o,routeModules:d}=up(),[c,h]=j.useState([]);return j.useEffect(()=>{let m=!1;return l1(r,o,d).then(y=>{m||h(y)}),()=>{m=!0}},[r,o,d]),c}function m1({page:r,matches:o,...d}){let c=Za(),{manifest:h,routeModules:m}=up(),{basename:y}=dp(),{loaderData:u,matches:f}=o1(),x=j.useMemo(()=>Sx(r,o,f,h,c,"data"),[r,o,f,h,c]),N=j.useMemo(()=>Sx(r,o,f,h,c,"assets"),[r,o,f,h,c]),b=j.useMemo(()=>{if(r===c.pathname+c.search+c.hash)return[];let O=new Set,E=!1;if(o.forEach(k=>{var D;let R=h.routes[k.route.id];!R||!R.hasLoader||(!x.some(te=>te.route.id===k.route.id)&&k.route.id in u&&((D=m[k.route.id])!=null&&D.shouldRevalidate)||R.hasCl
2240ientLoader?E=!0:O.add(k.route.id))}),O.size===0)return[];let _=e1(r,y,"data");return E&&O.size>0&&_.searchParams.set("_routes",o.filter(k=>O.has(k.route.id)).map(k=>k.route.id).join(",")),[_.pathname+_.search]},[y,u,c,h,x,o,r,m]),C=j.useMemo(()=>s1(N,h),[N,h]),g=u1(N);return j.createElement(j.Fragment,null,b.map(O=>j.createElement("link",{key:O,rel:"prefetch",as:"fetch",href:O,...d})),C.map(O=>j.createElement("link",{key:O,rel:"modulepreload",href:O,...d})),g.map(({key:O,link:E})=>j.createElement("link",{key:O,nonce:d.nonce,...E})))}function h1(...r){return o=>{r.forEach(d=>{typeof d=="function"?d(o):d!=null&&(d.current=o)})}}var mp=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{mp&&(window.__reactRouterVersion="7.10.1")}catch{}function x1({basename:r,children:o,unstable_useTransitions:d,window:c}){let h=j.useRef();h.current==null&&(h.current=Fb({window:c,v5Compat:!0}));let m=h.current,[y,u]=j.useState({action:m.action,location:m.location}),f=j.useCallback(x=>{d===!1?u(x):j.startTransition(()=>u(x))},[d]);return j.useLayoutEffect(()=>m.listen(f),[m,f]),j.createElement(Gy,{basename:r,children:o,location:y.location,navigationType:y.action,navigator:m,unstable_useTransitions:d===!0})}var hp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,xp=j.forwardRef(function({onClick:o,discover:d="render",prefetch:c="none",relative:h,reloadDocument:m,replace:y,state:u,target:f,to:x,preventScrollReset:N,viewTransition:b,...C},g){let{basename:O,unstable_useTransitions:E}=j.useContext(Ea),_=typeof x=="string"&&hp.test(x),k,R=!1;if(typeof x=="string"&&_&&(k=x,mp))try{let G=new URL(window.location.href),U=x.startsWith("//")?new URL(G.protocol+x):new URL(x),q=bl(U.pathname,O);U.origin===G.origin&&q!=null?x=q+U.search+U.hash:R=!0}catch{pa(!1,`<Link to="${x}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let D=Cy(x,{relative:h}),[te,W,$]=c1(c,C),H=b1(x,{replace:y,state:u,target:f,preventScrollReset:N,relative:h,viewTransition:b,unstable_useTransitions:E});function J(G){o&&o(G),G.defaultPrevented||H(G)}let Y=j.createElement("a",{...C,...$,href:k||D,onClick:R||m?o:J,ref:h1(g,W),target:f,"data-discover":!_&&d==="render"?"true":void 0});return te&&!_?j.createElement(j.Fragment,null,Y,j.createElement(d1,{page:D})):Y});xp.displayName="Link";var p1=j.forwardRef(function({"aria-current":o="page",caseSensitive:d=!1,className:c="",end:h=!1,style:m,to:y,viewTransition:u,children:f,...x},N){let b=En(y,{relative:x.relative}),C=Za(),g=j.useContext(mo),{navigator:O,basename:E}=j.useContext(Ea),_=g!=null&&N1(b)&&u===!0,k=O.encodeLocation?O.encodeLocation(b).pathname:b.pathname,R=C.pathname,D=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;d||(R=R.toLowerCase(),D=D?D.toLowerCase():null,k=k.toLowerCase()),D&&E&&(D=bl(D,E)||D);const te=k!=="/"&&k.endsWith("/")?k.length-1:k.length;let W=R===k||!h&&R.startsWith(k)&&R.charAt(te)==="/",$=D!=null&&(D===k||!h&&D.startsWith(k)&&D.charAt(k.length)==="/"),H={isActive:W,isPending:$,isTransitioning:_},J=W?o:void 0,Y;typeof c=="function"?Y=c(H):Y=[c,W?"active":null,$?"pending":null,_?"transitioning":null].filter(Boolean).join(" ");let G=typeof m=="function"?m(H):m;return j.createElement(xp,{...x,"aria-current":J,className:Y,ref:N,style:G,to:y,viewTransition:u},typeof f=="function"?f(H):f)});p1.displayName="NavLink";var f1=j.forwardRef(({discover:r="render",fetcherKey:o,navigate:d,reloadDocument:c,replace:h,state:m,method:y=Qi,action:u,onSubmit:f,relative:x,preventScrollReset:N,viewTransition:b,...C},g)=>{let{unstable_useTransitions:O}=j.useContext(Ea),E=w1(),_=j1(u,{relative:x}),k=y.toLowerCase()==="get"?"get":"post",R=typeof u=="string"&&hp.test(u),D=te=>{if(f&&f(te),te.defaultPrevented)return;te.preventDefault();let W=te.nativeEvent.submitter,$=(W==null?void 0:W.getAttribute("formmethod"))||y,H=()=>E(W||te.currentTarget,{fetcherKey:o,method:$,navigate:d,replace:h,state:m,relative:x,preventScrollReset:N,viewTransition:b});O&&d!==!1?j.startTransition(()=>H()):H()};return j.createElement("form",{ref:g,method:k,action:_,onSubmit:c?f
2240:D,...C,"data-discover":!R&&r==="render"?"true":void 0})});f1.displayName="Form";function g1(r){return`${r} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function pp(r){let o=j.useContext(vr);return St(o,g1(r)),o}function b1(r,{target:o,replace:d,state:c,preventScrollReset:h,relative:m,viewTransition:y,unstable_useTransitions:u}={}){let f=ho(),x=Za(),N=En(r,{relative:m});return j.useCallback(b=>{if(Zy(b,o)){b.preventDefault();let C=d!==void 0?d:bn(x)===bn(N),g=()=>f(r,{replace:C,state:c,preventScrollReset:h,relative:m,viewTransition:y});u?j.startTransition(()=>g()):g()}},[x,f,N,d,c,o,r,h,m,y,u])}function fp(r){pa(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let o=j.useRef(Zd(r)),d=j.useRef(!1),c=Za(),h=j.useMemo(()=>Qy(c.search,d.current?null:o.current),[c.search]),m=ho(),y=j.useCallback((u,f)=>{const x=Zd(typeof u=="function"?u(new URLSearchParams(h)):u);d.current=!0,m("?"+x,f)},[m,h]);return[h,y]}var y1=0,v1=()=>`__${String(++y1)}__`;function w1(){let{router:r}=pp("useSubmit"),{basename:o}=j.useContext(Ea),d=Uy(),c=r.fetch,h=r.navigate;return j.useCallback(async(m,y={})=>{let{action:u,method:f,encType:x,formData:N,body:b}=Fy(m,o);if(y.navigate===!1){let C=y.fetcherKey||v1();await c(C,d,y.action||u,{preventScrollReset:y.preventScrollReset,formData:N,body:b,formMethod:y.method||f,formEncType:y.encType||x,flushSync:y.flushSync})}else await h(y.action||u,{preventScrollReset:y.preventScrollReset,formData:N,body:b,formMethod:y.method||f,formEncType:y.encType||x,replace:y.replace,state:y.state,fromRouteId:d,flushSync:y.flushSync,viewTransition:y.viewTransition})},[c,h,o,d])}function j1(r,{relative:o}={}){let{basename:d}=j.useContext(Ea),c=j.useContext(La);St(c,"useFormAction must be used inside a RouteContext");let[h]=c.matches.slice(-1),m={...En(r||".",{relative:o})},y=Za();if(r==null){m.search=y.search;let u=new URLSearchParams(m.search),f=u.getAll("index");if(f.some(N=>N==="")){u.delete("index"),f.filter(b=>b).forEach(b=>u.append("index",b));let N=u.toString();m.search=N?`?${N}`:""}}return(!r||r===".")&&h.route.index&&(m.search=m.search?m.search.replace(/^\?/,"?index&"):"?index"),d!=="/"&&(m.pathname=m.pathname==="/"?d:fl([d,m.pathname])),bn(m)}function N1(r,{relative:o}={}){let d=j.useContext(rp);St(d!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:c}=pp("useViewTransitionState"),h=En(r,{relative:o});if(!d.isTransitioning)return!1;let m=bl(d.currentLocation.pathname,c)||d.currentLocation.pathname,y=bl(d.nextLocation.pathname,c)||d.nextLocation.pathname;return Fi(h.pathname,y)!=null||Fi(h.pathname,m)!=null}/** 2241 * @license lucide-react v0.554.0 - ISC 2242 * 2243 * This source code is licensed under the ISC license. 2244 * See the LICENSE file in the root directory of this source tree. 2245 */const k1=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),S1=r=>r.replace(/^([A-Z])|[\s-_]+(\w)/g,(o,d,c)=>c?c.toUpperCase():d.toLowerCase()),Ox=r=>{const o=S1(r);return o.charAt(0).toUpperCase()+o.slice(1)},gp=(...r)=>r.filter((o,d,c)=>!!o&&o.trim()!==""&&c.indexOf(o)===d).join(" ").trim(),O1=r=>{for(const o in r)if(o.startsWith("aria-")||o==="role"||o==="title")return!0};/** 2246 * @license lucide-react v0.554.0 - ISC 2247 * 2248 * This source code is licensed under the ISC license. 2249 * See the LICENSE file in the root directory of this source tree. 2250 */var E1={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** 2251 * @license lucide-react v0.554.0 - ISC 2252 * 2253 * This source code is licensed under the ISC license. 2254 * See the LICENSE file in the root directory of this source tree. 2255 */const C1=j.forwardRef(({color:r="currentColor",size:o=24,strokeWidth:d=2,absoluteStrokeWidth:c,className:h="",children:m,iconNode:y,...u},f)=>j.createElement("svg",{ref:f,...E1,width:o,height:o,stroke:r,strokeWidth:c?Number(d)*24/Number(o):d,className:gp("lucide",h),...!m&&!O1(u)&&{"aria-hidden":"true"},...u},[...y.map(([x,N])=>j.createElement(x,N)),...Array.isArray(m)?m:[m]]));/** 2256 * @license lucide-react v0.554.0 - ISC 2257 * 2258 * This source code is licensed under the ISC license. 2259 * See the LICENSE file in the root directory of this source tree. 2260 */const de=(r,o)=>{const d=j.forwardRef(({className:c,...h},m)=>j.createElement(C1,{ref:m,iconNode:o,className:gp(`lucide-${k1(Ox(r))}`,`lucide-${r}`,c),...h}));return d.displayName=Ox(r),d};/** 2261 * @license lucide-react v0.554.0 - ISC 2262 * 2263 * This source code is licensed under the ISC license. 2264 * See the LICENSE file in the root directory of this source tree. 2265 */const T1=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l
2265-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],_1=de("activity",T1);/** 2266 * @license lucide-react v0.554.0 - ISC 2267 * 2268 * This source code is licensed under the ISC license. 2269 * See the LICENSE file in the root directory of this source tree. 2270 */const R1=[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"m21 8-4-4-4 4",key:"1c9v7m"}],["path",{d:"M17 4v16",key:"7dpous"}]],bp=de("arrow-down-up",R1);/** 2271 * @license lucide-react v0.554.0 - ISC 2272 * 2273 * This source code is licensed under the ISC license. 2274 * See the LICENSE file in the root directory of this source tree. 2275 */const M1=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],yn=de("arrow-down",M1);/** 2276 * @license lucide-react v0.554.0 - ISC 2277 * 2278 * This source code is licensed under the ISC license. 2279 * See the LICENSE file in the root directory of this source tree. 2280 */const A1=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],Ca=de("arrow-left",A1);/** 2281 * @license lucide-react v0.554.0 - ISC 2282 * 2283 * This source code is licensed under the ISC license. 2284 * See the LICENSE file in the root directory of this source tree. 2285 */const D1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Cn=de("arrow-right",D1);/** 2286 * @license lucide-react v0.554.0 - ISC 2287 * 2288 * This source code is licensed under the ISC license. 2289 * See the LICENSE file in the root directory of this source tree. 2290 */const z1=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],B1=de("arrow-up-right",z1);/** 2291 * @license lucide-react v0.554.0 - ISC 2292 * 2293 * This source code is licensed under the ISC license. 2294 * See the LICENSE file in the root directory of this source tree. 2295 */const V1=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],vn=de("arrow-up",V1);/** 2296 * @license lucide-react v0.554.0 - ISC 2297 * 2298 * This source code is licensed under the ISC license. 2299 * See the LICENSE file in the root directory of this source tree. 2300 */const L1=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],U1=de("bell",L1);/** 2301 * @license lucide-react v0.554.0 - ISC 2302 * 2303 * This source code is licensed under the ISC license. 2304 * See the LICENSE file in the root directory of this source tree. 2305 */const H1=[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]],X1=de("bold",H1);/** 2306 * @license lucide-react v0.554.0 - ISC 2307 * 2308 * This source code is licensed under the ISC license. 2309 * See the LICENSE file in the root directory of this source tree. 2310 */const I1=[["path",{d:"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",key:"jecpp"}],["rect",{width:"20",height:"14",x:"2",y:"6",rx:"2",key:"i6l2r4"}]],G1=de("briefcase",I1);/** 2311 * @license lucide-react v0.554.0 - ISC 2312 * 2313 * This source code is licensed under the ISC license. 2314 * See the LICENSE file in the root directory of this source tree. 2315 */const $1=[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V3",key:"1lcnhd"}],["path",{d:"M19 21V9",key:"unv183"}]],K1=de("chart-no-axes-column",$1);/** 2316 * @license lucide-react v0.554.0 - ISC 2317 * 2318 * This source code is licensed under the ISC license. 2319 * See the LICENSE file in the root directory of this source tree. 2320 */const q1=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],eo=de("check",q1);/** 2321 * @license lucide-react v0.554.0 - ISC 2322 * 2323 * This source code is licensed under the ISC license. 2324 * See the LICENSE file in the root directory of this source tree. 2325 */const Y1=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Mt=de("chevron-down",Y1);/** 2326 * @license lucide-react v0.554.0 - ISC 2327 * 2328 * This source code is licensed under the ISC license. 2329 * See the LICENSE file in the root directory of this source tree. 2330 */const P1=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],yp=de("chevron-left",P1);/** 2331 * @license lucide-react v0.554.0 - ISC 2332 * 2333 * This source code is licensed under the ISC license. 2334 * See the LICENSE file in the root directory of this source tree. 2335 */const Z1=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ys=de("chevron-right",Z1);/** 2336 * @license lucide-react v0.554.0 - ISC 2337 * 2338 * This source code is licensed under the ISC license. 2339 * See the LICENSE file in the root directory of this source tree. 2340 */const Q1=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Ft=de("chevron-up",Q1);/** 2341 * @license lucide-react v0.554.0 - ISC 2342 * 2343 * This source code is licensed under the ISC license. 2344 * See the LICENSE file in the root directory of this source tree. 2345 */const J1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],to=de("circle-alert",J1);/** 2346 * @license lucide-react v0.554.0 - ISC 2347 * 2348 * This source code is licensed under the ISC license. 2349 * See the LICENSE file in the root directory of this source tree. 2350 */const W1=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],wn=de("circle-check-big",W1);/** 2351 * @license lucide-react v0.554.0 - ISC 2352 * 2353 * This source code is licensed under the ISC license. 2354 * See the LICENSE file in the root directory of this source tree. 2355 */const F1=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ev=de("circle-check",F1);/** 2356 * @license lucide-react v0.554.0 - ISC 2357 * 2358 * This source code is licensed under the ISC license. 2359 * See the LICENSE file in the root directory of this source tree. 2360 */const tv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],av=de("circle-question-mark",tv);/** 2361 * @license lucide-react v0.554.0 - ISC 2362 * 2363 * This source code is licensed under the ISC license. 2364 * See the LICENSE file in the root directory of this source tree. 2365 */const lv=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],vp=de("clock",lv);/** 2366 * @license lucide-react v0.554.0 - ISC 2367 * 2368 * This source code is licensed under the ISC license. 2369 * See the LICENSE file in the root directory of this source tree. 2370 */const sv=[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]],rv=de("cloud-upload",sv);/** 2371 * @license lucide-react v0.554.0 - ISC 2372 * 2373 * This source code is licensed under the ISC license. 2374 * See the LICENSE file in the root directory of this source tree. 2375 */const nv=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],iv=de("columns-2",nv);/** 2376 * @license lucide-react v0.554.0 - ISC 2377 * 2378 * This source code is licensed under the ISC license. 2379 * See the LICENSE file in the root directory of this source tree. 2380 */const ov=[["path",{d:"M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5",key:"laymnq"}],["path",{d:"M8.5 8.5v.01",key:"ue8clq"}],["path",{d:"M16 15.5v.01",key:"14dtrp"}],["path",{d:"M12 12v.01",key:"u5ubse"}],["path",{d:"M11 17v.01",key:"1hyl5a"}],["path",{d:"M7 14v.01",key:"uct60s"}]],cv=de("cookie",ov);/** 2381 * @license lucide-react v0.554.0 - ISC 2382 * 2383 * This source code is licensed under the ISC license. 2384 * See the LICENSE file in the root directory of this source tree. 2385 */const dv=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],uv=de("copy",dv);/** 2386 * @license lucide-react v0.554.0 - ISC 2387 * 2388 * This source code is licensed under the ISC license. 2389 * See the LICENSE file in the root directory of this source tree. 2390 */const mv=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}
2390],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],hv=de("cpu",mv);/** 2391 * @license lucide-react v0.554.0 - ISC 2392 * 2393 * This source code is licensed under the ISC license. 2394 * See the LICENSE file in the root directory of this source tree. 2395 */const xv=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],po=de("credit-card",xv);/** 2396 * @license lucide-react v0.554.0 - ISC 2397 * 2398 * This source code is licensed under the ISC license. 2399 * See the LICENSE file in the root directory of this source tree. 2400 */const pv=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],wp=de("database",pv);/** 2401 * @license lucide-react v0.554.0 - ISC 2402 * 2403 * This source code is licensed under the ISC license. 2404 * See the LICENSE file in the root directory of this source tree. 2405 */const fv=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],jp=de("dollar-sign",fv);/** 2406 * @license lucide-react v0.554.0 - ISC 2407 * 2408 * This source code is licensed under the ISC license. 2409 * See the LICENSE file in the root directory of this source tree. 2410 */const gv=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],pl=de("download",gv);/** 2411 * @license lucide-react v0.554.0 - ISC 2412 * 2413 * This source code is licensed under the ISC license. 2414 * See the LICENSE file in the root directory of this source tree. 2415 */const bv=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],Qd=de("external-link",bv);/** 2416 * @license lucide-react v0.554.0 - ISC 2417 * 2418 * This source code is licensed under the ISC license. 2419 * See the LICENSE file in the root directory of this source tree. 2420 */const yv=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],ao=de("eye-off",yv);/** 2421 * @license lucide-react v0.554.0 - ISC 2422 * 2423 * This source code is licensed under the ISC license. 2424 * See the LICENSE file in the root directory of this source tree. 2425 */const vv=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],xr=de("eye",vv);/** 2426 * @license lucide-react v0.554.0 - ISC 2427 * 2428 * This source code is licensed under the ISC license. 2429 * See the LICENSE file in the root directory of this source tree. 2430 */const wv=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],mr=de("file-text",wv);/** 2431 * @license lucide-react v0.554.0 - ISC 2432 * 2433 * This source code is licensed under the ISC license. 2434 * See the LICENSE file in the root directory of this source tree. 2435 */const jv=[["path",{d:"M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4",key:"1slcih"}]],Nv=de("flame",jv);/** 2436 * @license lucide-react v0.554.0 - ISC 2437 * 2438 * This source code is licensed under the ISC license. 2439 * See the LICENSE file in the root directory of this source tree. 2440 */const kv=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Sv=de("folder",kv);/** 2441 * @license lucide-react v0.554.0 - ISC 2442 * 2443 * This source code is licensed under the ISC license. 2444 * See the LICENSE file in the root directory of this source tree. 2445 */const Ov=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 16s-1.5-2-4-2-4 2-4 2",key:"epbg0q"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]],Jd=de("frown",Ov);/** 2446 * @license lucide-react v0.554.0 - ISC 2447 * 2448 * This source code is licensed under the ISC license. 2449 * See the LICENSE file in the root directory of this source tree. 2450 */const Ev=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],pr=de("funnel",Ev);/** 2451 * @license lucide-react v0.554.0 - ISC 2452 * 2453 * This source code is licensed under the ISC license. 2454 * See the LICENSE file in the root directory of this source tree. 2455 */const Cv=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],pu=de("gamepad-2",Cv);/** 2456 * @license lucide-react v0.554.0 - ISC 2457 * 2458 * This source code is licensed under the ISC license. 2459 * See the LICENSE file in the root directory of this source tree. 2460 */const Tv=[["path",{d:"M9 10h.01",key:"qbtxuw"}],["path",{d:"M15 10h.01",key:"1qmjsl"}],["path",{d:"M12 2a8 8 0 0 0-8 8v12l3-3 2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8z",key:"uwwb07"}]],_v=de("ghost",Tv);/** 2461 * @license lucide-react v0.554.0 - ISC 2462 * 2463 * This source code is licensed under the ISC license. 2464 * See the LICENSE file in the root directory of this source tree. 2465 */const Rv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],vs=de("globe",Rv);/** 2466 * @license lucide-react v0.554.0 - ISC 2467 * 2468 * This source code is licensed under the ISC license. 2469 * See the LICENSE file in the root directory of this source tree. 2470 */const Mv=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],lo=de("grid-3x3",Mv);/** 2471 * @license lucide-react v0.554.0 - ISC 2472 * 2473 * This source code is licensed under the ISC license. 2474 * See the LICENSE file in the root directory of this source tree. 2475 */const Av=[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}
2475]],Dv=de("hard-drive",Av);/** 2476 * @license lucide-react v0.554.0 - ISC 2477 * 2478 * This source code is licensed under the ISC license. 2479 * See the LICENSE file in the root directory of this source tree. 2480 */const zv=[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]],Bv=de("headphones",zv);/** 2481 * @license lucide-react v0.554.0 - ISC 2482 * 2483 * This source code is licensed under the ISC license. 2484 * See the LICENSE file in the root directory of this source tree. 2485 */const Vv=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],jn=de("heart",Vv);/** 2486 * @license lucide-react v0.554.0 - ISC 2487 * 2488 * This source code is licensed under the ISC license. 2489 * See the LICENSE file in the root directory of this source tree. 2490 */const Lv=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Ex=de("history",Lv);/** 2491 * @license lucide-react v0.554.0 - ISC 2492 * 2493 * This source code is licensed under the ISC license. 2494 * See the LICENSE file in the root directory of this source tree. 2495 */const Uv=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],Np=de("house",Uv);/** 2496 * @license lucide-react v0.554.0 - ISC 2497 * 2498 * This source code is licensed under the ISC license. 2499 * See the LICENSE file in the root directory of this source tree. 2500 */const Hv=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],fr=de("image",Hv);/** 2501 * @license lucide-react v0.554.0 - ISC 2502 * 2503 * This source code is licensed under the ISC license. 2504 * See the LICENSE file in the root directory of this source tree. 2505 */const Xv=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],kp=de("info",Xv);/** 2506 * @license lucide-react v0.554.0 - ISC 2507 * 2508 * This source code is licensed under the ISC license. 2509 * See the LICENSE file in the root directory of this source tree. 2510 */const Iv=[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]],Gv=de("instagram",Iv);/** 2511 * @license lucide-react v0.554.0 - ISC 2512 * 2513 * This source code is licensed under the ISC license. 2514 * See the LICENSE file in the root directory of this source tree. 2515 */const $v=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],Kv=de("key-round",$v);/** 2516 * @license lucide-react v0.554.0 - ISC 2517 * 2518 * This source code is licensed under the ISC license. 2519 * See the LICENSE file in the root directory of this source tree. 2520 */const qv=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],Sp=de("key",qv);/** 2521 * @license lucide-react v0.554.0 - ISC 2522 * 2523 * This source code is licensed under the ISC license. 2524 * See the LICENSE file in the root directory of this source tree. 2525 */const Yv=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],Cx=de("keyboard",Yv);/** 2526 * @license lucide-react v0.554.0 - ISC 2527 * 2528 * This source code is licensed under the ISC license. 2529 * See the LICENSE file in the root directory of this source tree. 2530 */const Pv=[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]],Zv=de("laptop",Pv);/** 2531 * @license lucide-react v0.554.0 - ISC 2532 * 2533 * This source code is licensed under the ISC license. 2534 * See the LICENSE file in the root directory of this source tree. 2535 */const Qv=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],gr=de("layers",Qv);/** 2536 * @license lucide-react v0.554.0 - ISC 2537 * 2538 * This source code is licensed under the ISC license. 2539 * See the LICENSE file in the root directory of this source tree. 2540 */const Jv=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]],Op=de("layout-template",Jv);/** 2541 * @license lucide-react v0.554.0 - ISC 2542 * 2543 * This source code is licensed under the ISC license. 2544 * See the LICENSE file in the root directory of this source tree. 2545 */const Wv=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],ks=de("link",Wv);/** 2546 * @license lucide-react v0.554.0 - ISC 2547 * 2548 * This source code is licensed under the ISC license. 2549 * See the LICENSE file in the root directory of this source tree. 2550 */const Fv=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],Wd=de("list",Fv);/** 2551 * @license lucide-react v0.554.0 - ISC 2552 * 2553 * This source code is licensed under the ISC license. 2554 * See the LICENSE file in the root directory of this source tree. 2555 */const e2=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],so=de("loader-circle",e2);/** 2556 * @license lucide-react v0.554.0 - ISC 2557 * 2558 * This source code is licensed under the ISC license. 2559 * See the LICENSE file in the root directory of this source tree. 2560 */const t2=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}
2560],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],a2=de("log-in",t2);/** 2561 * @license lucide-react v0.554.0 - ISC 2562 * 2563 * This source code is licensed under the ISC license. 2564 * See the LICENSE file in the root directory of this source tree. 2565 */const l2=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Tx=de("lock",l2);/** 2566 * @license lucide-react v0.554.0 - ISC 2567 * 2568 * This source code is licensed under the ISC license. 2569 * See the LICENSE file in the root directory of this source tree. 2570 */const s2=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Ep=de("log-out",s2);/** 2571 * @license lucide-react v0.554.0 - ISC 2572 * 2573 * This source code is licensed under the ISC license. 2574 * See the LICENSE file in the root directory of this source tree. 2575 */const r2=[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]],ro=de("mail",r2);/** 2576 * @license lucide-react v0.554.0 - ISC 2577 * 2578 * This source code is licensed under the ISC license. 2579 * See the LICENSE file in the root directory of this source tree. 2580 */const n2=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],i2=de("map-pin",n2);/** 2581 * @license lucide-react v0.554.0 - ISC 2582 * 2583 * This source code is licensed under the ISC license. 2584 * See the LICENSE file in the root directory of this source tree. 2585 */const o2=[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]],c2=de("map",o2);/** 2586 * @license lucide-react v0.554.0 - ISC 2587 * 2588 * This source code is licensed under the ISC license. 2589 * See the LICENSE file in the root directory of this source tree. 2590 */const d2=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Fd=de("menu",d2);/** 2591 * @license lucide-react v0.554.0 - ISC 2592 * 2593 * This source code is licensed under the ISC license. 2594 * See the LICENSE file in the root directory of this source tree. 2595 */const u2=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],zd=de("message-circle",u2);/** 2596 * @license lucide-react v0.554.0 - ISC 2597 * 2598 * This source code is licensed under the ISC license. 2599 * See the LICENSE file in the root directory of this source tree. 2600 */const m2=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],no=de("message-square",m2);/** 2601 * @license lucide-react v0.554.0 - ISC 2602 * 2603 * This source code is licensed under the ISC license. 2604 * See the LICENSE file in the root directory of this source tree. 2605 */const h2=[["path",{d:"M5 12h14",key:"1ays0h"}]],eu=de("minus",h2);/** 2606 * @license lucide-react v0.554.0 - ISC 2607 * 2608 * This source code is licensed under the ISC license. 2609 * See the LICENSE file in the root directory of this source tree. 2610 */const x2=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],Nn=de("monitor",x2);/** 2611 * @license lucide-react v0.554.0 - ISC 2612 * 2613 * This source code is licensed under the ISC license. 2614 * See the LICENSE file in the root directory of this source tree. 2615 */const p2=[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z",key:"277e5u"}]],f2=de("mouse-pointer",p2);
2615/** 2616 * @license lucide-react v0.554.0 - ISC 2617 * 2618 * This source code is licensed under the ISC license. 2619 * See the LICENSE file in the root directory of this source tree. 2620 */const g2=[["rect",{x:"5",y:"2",width:"14",height:"20",rx:"7",key:"11ol66"}],["path",{d:"M12 6v4",key:"16clxf"}]],b2=de("mouse",g2);/** 2621 * @license lucide-react v0.554.0 - ISC 2622 * 2623 * This source code is licensed under the ISC license. 2624 * See the LICENSE file in the root directory of this source tree. 2625 */const y2=[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]],Cp=de("package-check",y2);/** 2626 * @license lucide-react v0.554.0 - ISC 2627 * 2628 * This source code is licensed under the ISC license. 2629 * See the LICENSE file in the root directory of this source tree. 2630 */const v2=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],ws=de("package",v2);/** 2631 * @license lucide-react v0.554.0 - ISC 2632 * 2633 * This source code is licensed under the ISC license. 2634 * See the LICENSE file in the root directory of this source tree. 2635 */const w2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]],hr=de("panels-top-left",w2);/** 2636 * @license lucide-react v0.554.0 - ISC 2637 * 2638 * This source code is licensed under the ISC license. 2639 * See the LICENSE file in the root directory of this source tree. 2640 */const j2=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],N2=de("pen",j2);/** 2641 * @license lucide-react v0.554.0 - ISC 2642 * 2643 * This source code is licensed under the ISC license. 2644 * See the LICENSE file in the root directory of this source tree. 2645 */const k2=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],S2=de("play",k2);/** 2646 * @license lucide-react v0.554.0 - ISC 2647 * 2648 * This source code is licensed under the ISC license. 2649 * See the LICENSE file in the root directory of this source tree. 2650 */const O2=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],At=de("plus",O2);/** 2651 * @license lucide-react v0.554.0 - ISC 2652 * 2653 * This source code is licensed under the ISC license. 2654 * See the LICENSE file in the root directory of this source tree. 2655 */const E2=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],C2=de("power",E2);/** 2656 * @license lucide-react v0.554.0 - ISC 2657 * 2658 * This source code is licensed under the ISC license. 2659 * See the LICENSE file in the root directory of this source tree. 2660 */const T2=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Ya=de("refresh-cw",T2);/** 2661 * @license lucide-react v0.554.0 - ISC 2662 * 2663 * This source code is licensed under the ISC license. 2664 * See the LICENSE file in the root directory of this source tree. 2665 */const _2=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],tu=de("rotate-ccw",_2);/** 2666 * @license lucide-react v0.554.0 - ISC 2667 * 2668 * This source code is licensed under the ISC license. 2669 * See the LICENSE file in the root directory of this source tree. 2670 */const R2=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Tn=de("save",R2);/** 2671 * @license lucide-react v0.554.0 - ISC 2672 * 2673 * This source code is licensed under the ISC license. 2674 * See the LICENSE file in the root directory of this source tree. 2675 */const M2=[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}
2675],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]],br=de("scale",M2);/** 2676 * @license lucide-react v0.554.0 - ISC 2677 * 2678 * This source code is licensed under the ISC license. 2679 * See the LICENSE file in the root directory of this source tree. 2680 */const A2=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],xa=de("search",A2);/** 2681 * @license lucide-react v0.554.0 - ISC 2682 * 2683 * This source code is licensed under the ISC license. 2684 * See the LICENSE file in the root directory of this source tree. 2685 */const D2=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],fo=de("send",D2);/** 2686 * @license lucide-react v0.554.0 - ISC 2687 * 2688 * This source code is licensed under the ISC license. 2689 * See the LICENSE file in the root directory of this source tree. 2690 */const z2=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],B2=de("server",z2);/** 2691 * @license lucide-react v0.554.0 - ISC 2692 * 2693 * This source code is licensed under the ISC license. 2694 * See the LICENSE file in the root directory of this source tree. 2695 */const V2=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],L2=de("settings-2",V2);/** 2696 * @license lucide-react v0.554.0 - ISC 2697 * 2698 * This source code is licensed under the ISC license. 2699 * See the LICENSE file in the root directory of this source tree. 2700 */const U2=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],yl=de("settings",U2);/** 2701 * @license lucide-react v0.554.0 - ISC 2702 * 2703 * This source code is licensed under the ISC license. 2704 * See the LICENSE file in the root directory of this source tree. 2705 */const H2=[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]],X2=de("share-2",H2);/** 2706 * @license lucide-react v0.554.0 - ISC 2707 * 2708 * This source code is licensed under the ISC license. 2709 * See the LICENSE file in the root directory of this source tree. 2710 */const I2=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],kn=de("shield-check",I2);/** 2711 * @license lucide-react v0.554.0 - ISC 2712 * 2713 * This source code is licensed under the ISC license. 2714 * See the LICENSE file in the root directory of this source tree. 2715 */const G2=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]],io=de("shield",G2);/** 2716 * @license lucide-react v0.554.0 - ISC 2717 * 2718 * This source code is licensed under the ISC license. 2719 * See the LICENSE file in the root directory of this source tree. 2720 */const $2=[["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}],["path",{d:"M3.103 6.034h17.794",key:"awc11p"}],["path",{d:"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",key:"o988cm"}]],Jt=de("shopping-bag",$2);/** 2721 * @license lucide-react v0.554.0 - ISC 2722 * 2723 * This source code is licensed under the ISC license. 2724 * See the LICENSE file in the root directory of this source tree. 2725 */const K2=[["circle",{cx:"8",cy:"21",r:"1",key:"jimo8o"}
2725],["circle",{cx:"19",cy:"21",r:"1",key:"13723u"}],["path",{d:"M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",key:"9zh506"}]],js=de("shopping-cart",K2);/** 2726 * @license lucide-react v0.554.0 - ISC 2727 * 2728 * This source code is licensed under the ISC license. 2729 * See the LICENSE file in the root directory of this source tree. 2730 */const q2=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],Y2=de("sliders-horizontal",q2);/** 2731 * @license lucide-react v0.554.0 - ISC 2732 * 2733 * This source code is licensed under the ISC license. 2734 * See the LICENSE file in the root directory of this source tree. 2735 */const P2=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],Tp=de("smartphone",P2);/** 2736 * @license lucide-react v0.554.0 - ISC 2737 * 2738 * This source code is licensed under the ISC license. 2739 * See the LICENSE file in the root directory of this source tree. 2740 */const Z2=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}
2740],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],fu=de("sparkles",Z2);/** 2741 * @license lucide-react v0.554.0 - ISC 2742 * 2743 * This source code is licensed under the ISC license. 2744 * See the LICENSE file in the root directory of this source tree. 2745 */const Q2=[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],J2=de("square-check-big",Q2);/** 2746 * @license lucide-react v0.554.0 - ISC 2747 * 2748 * This source code is licensed under the ISC license. 2749 * See the LICENSE file in the root directory of this source tree. 2750 */const W2=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],Ns=de("square-pen",W2);/** 2751 * @license lucide-react v0.554.0 - ISC 2752 * 2753 * This source code is licensed under the ISC license. 2754 * See the LICENSE file in the root directory of this source tree. 2755 */const F2=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],ew=de("square",F2);/** 2756 * @license lucide-react v0.554.0 - ISC 2757 * 2758 * This source code is licensed under the ISC license. 2759 * See the LICENSE file in the root directory of this source tree. 2760 */const tw=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Va=de("star",tw);/** 2761 * @license lucide-react v0.554.0 - ISC 2762 * 2763 * This source code is licensed under the ISC license. 2764 * See the LICENSE file in the root directory of this source tree. 2765 */const aw=[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]],lw=de("sticky-note",aw);/** 2766 * @license lucide-react v0.554.0 - ISC 2767 * 2768 * This source code is licensed under the ISC license. 2769 * See the LICENSE file in the root directory of this source tree. 2770 */const sw=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],rw=de("tag",sw);/** 2771 * @license lucide-react v0.554.0 - ISC 2772 * 2773 * This source code is licensed under the ISC license. 2774 * See the LICENSE file in the root directory of this source tree. 2775 */const nw=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],iw=de("target",nw);/** 2776 * @license lucide-react v0.554.0 - ISC 2777 * 2778 * This source code is licensed under the ISC license. 2779 * See the LICENSE file in the root directory of this source tree. 2780 */const ow=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],cw=de("terminal",ow);/** 2781 * @license lucide-react v0.554.0 - ISC 2782 * 2783 * This source code is licensed under the ISC license. 2784 * See the LICENSE file in the root directory of this source tree. 2785 */const dw=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]],_x=de("text-align-start",dw);/** 2786 * @license lucide-react v0.554.0 - ISC 2787 * 2788 * This source code is licensed under the ISC license. 2789 * See the LICENSE file in the root directory of this source tree. 2790 */const uw=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],jt=de("trash-2",uw);/** 2791 * @license lucide-react v0.554.0 - ISC 2792 * 2793 * This source code is licensed under the ISC license. 2794 * See the LICENSE file in the root directory of this source tree. 2795 */const mw=[["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Rx=de("trash",mw);/** 2796 * @license lucide-react v0.554.0 - ISC 2797 * 2798 * This source code is licensed under the ISC license. 2799 * See the LICENSE file in the root directory of this source tree. 2800 */const hw=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],xw=de("trending-up",hw);/** 2801 * @license lucide-react v0.554.0 - ISC 2802 * 2803 * This source code is licensed under the ISC license. 2804 * See the LICENSE file in the root directory of this source tree. 2805 */const pw=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Ql=de("triangle-alert",pw);/** 2806 * @license lucide-react v0.554.0 - ISC 2807 * 2808 * This source code is licensed under the ISC license. 2809 * See the LICENSE file in the root directory of this source tree. 2810 */const fw=[["path",{d:"M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2",key:"wrbu53"}],["path",{d:"M15 18H9",key:"1lyqi6"}],["path",{d:"M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14",key:"lysw3i"}],["circle",{cx:"17",cy:"18",r:"2",key:"332jqn"}],["circle",{cx:"7",cy:"18",r:"2",key:"19iecd"}]],Pa=de("truck",fw);/** 2811 * @license lucide-react v0.554.0 - ISC 2812 * 2813 * This source code is licensed under the ISC license. 2814 * See the LICENSE file in the root directory of this source tree. 2815 */const gw=[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]],bw=de("twitter",gw);/** 2816 * @license lucide-react v0.554.0 - ISC 2817 * 2818 * This source code is licensed under the ISC license. 2819 * See the LICENSE file in the root directory of this source tree. 2820 */const yw=[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]],Mx=de("type",yw);/** 2821 * @license lucide-react v0.554.0 - ISC 2822 * 2823 * This source code is licensed under the ISC license. 2824 * See the LICENSE file in the root directory of this source tree.
2825 */const vw=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],Ka=de("upload",vw);/** 2826 * @license lucide-react v0.554.0 - ISC 2827 * 2828 * This source code is licensed under the ISC license. 2829 * See the LICENSE file in the root directory of this source tree. 2830 */const ww=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],Jl=de("user",ww);/** 2831 * @license lucide-react v0.554.0 - ISC 2832 * 2833 * This source code is licensed under the ISC license. 2834 * See the LICENSE file in the root directory of this source tree. 2835 */const jw=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],_p=de("users",jw);/** 2836 * @license lucide-react v0.554.0 - ISC 2837 * 2838 * This source code is licensed under the ISC license. 2839 * See the LICENSE file in the root directory of this source tree. 2840 */const Nw=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],kw=de("volume-2",Nw);/** 2841 * @license lucide-react v0.554.0 - ISC 2842 * 2843 * This source code is licensed under the ISC license. 2844 * See the LICENSE file in the root directory of this source tree. 2845 */const Sw=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],Ow=de("wand-sparkles",Sw);/** 2846 * @license lucide-react v0.554.0 - ISC 2847 * 2848 * This source code is licensed under the ISC license. 2849 * See the LICENSE file in the root directory of this source tree. 2850 */const Ew=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Cw=de("wifi-off",Ew);/** 2851 * @license lucide-react v0.554.0 - ISC 2852 * 2853 * This source code is licensed under the ISC license. 2854 * See the LICENSE file in the root directory of this source tree. 2855 */const Tw=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Rp=de("wrench",Tw);/** 2856 * @license lucide-react v0.554.0 - ISC 2857 * 2858 * This source code is licensed under the ISC license. 2859 * See the LICENSE file in the root directory of this source tree. 2860 */const _w=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],xt=de("x",_w);/** 2861 * @license lucide-react v0.554.0 - ISC 2862 * 2863 * This source code is licensed under the ISC license. 2864 * See the LICENSE file in the root directory of this source tree. 2865 */const Rw=[["path",{d:"M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17",key:"1q2vi4"}],["path",{d:"m10 15 5-3-5-3z",key:"1jp15x"}]],Mp=de("youtube",Rw);/** 2866 * @license lucide-react v0.554.0 - ISC 2867 * 2868 * This source code is licensed under the ISC license. 2869 * See the LICENSE file in the root directory of this source tree. 2870 */const Mw=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],gu=de("zap",Mw),_n=({className:r,customImage:o,isDarkText:d=!1})=>o?t.jsx("img",{src:o,alt:"Logo",className:`object-contain max-h-[44px] md:max-h-[52px] ${r}`}):t.jsx("span",{className:`font-black text-lg md:text-[1.35rem] lg:text-[2.3rem] tracking-wider ${d?"text-black":"text-white"} ${r} font-montserrat transition-all duration-300`,children:"VOROTEX"}),Aw=({cart:r,onOpenCart:o,onOpenSettings:d,onOpenCatalog:c,onScrollToSection:h,logoImage:m,navLinks:y,navigate:u,currentPath:f,isAdmin:x,enableSales:N,favoritesCount:b=0,onOpenFavorites:C,compareCount:g=0,isUserLoggedIn:O=!1,onUserIconClick:E,products:_=[]})=>{const[k,R]=j.useState(!1),[k_sub,R_sub]=j.useState(null),[D,te]=j.useState(!1),[W,$]=j.useState(""),[H,J]=j.useState([]),[Y,G]=j.useState(!1),U=j.useRef(null),q=j.useRef(null),P=j.useRef(null),pe=r.reduce((M,X)=>M+X.quantity,0),[adminStats,setAdminStats]=j.useState({newOrders:0,newMessages:0}),[isAdminHoverOpen,setIsAdminHoverOpen]=j.useState(!1),adminHoverCloseTimer=j.useRef(null),refreshAdminNotifications=async()=>
2870{if(!x)return;try{const M=await fetch("/api/get_orders_stats.php",{headers:Xx()}),X=M.headers.get("content-type")||"",le=M.ok&&X.includes("application/json")?await M.json():null,xe=le&&le.status==="success"?Number(le.checking)||0:0,ge=await fetch("/api/get_messages_stats.php",{headers:Xx()}),je=ge.headers.get("content-type")||"",Ne=ge.ok&&je.includes("application/json")?await ge.json():null,Ee=Ne&&Ne.status==="success"?Number(Ne.unread)||0:0;setAdminStats({newOrders:xe,newMessages:Ee})}catch{}},handleAdminLogout=()=>{try{localStorage.removeItem("vorotex_admin_session"),localStorage.removeItem("vorotex_admin_token"),localStorage.removeItem("vorotex_admin_csrf")}catch{}window.location.href="/"},hasAdminAlerts=x&&(adminStats.newOrders+adminStats.newMessages)>0;j.useEffect(()=>{if(!x)return;refreshAdminNotifications();const M=window.setInterval(()=>refreshAdminNotifications(),2e4);return()=>window.clearInterval(M)},[x]),j.useEffect(()=>{if(W.length>=2&&_.length>0){const M=W.toLowerCase(),X=_.filter(le=>le.name.toLowerCase().includes(M)||le.category.toLowerCase().includes(M)||(le.options||[]).some(o=>o.values.some(v=>v.name.toLowerCase().includes(M)))||(le.variants||[]).some(v=>v.externalId&&v.externalId.toLowerCase().includes(M))).slice(0,5);J(X)}else J([])},[W,_]),j.useEffect(()=>{const M=X=>{U.current&&!U.current.contains(X.target)&&G(!1)};return document.addEventListener("mousedown",M),()=>document.removeEventListener("mousedown",M)},[]);const B=M=>{if(M.children&&M.children.length>0){ R_sub(M.id===k_sub?null:M.id);return; }R(!1);R_sub(null);const X=M.target;if(X.startsWith("http")){window.open(X,"_blank");return}if(X.startsWith("/")){u(X),window.scrollTo(0,0);return}f!=="/"?(u("/"),setTimeout(()=>{X==="top"?window.scrollTo({top:0,behavior:"smooth"}):h(X)},100)):X==="top"?window.scrollTo({top:0,behavior:"smooth"}):h(X)},z=M=>{try{const X=JSON.parse(localStorage.getItem("vorotex_search_analytics")||"[]");X.push({term:M.trim(),date:new Date().toISOString()}),X.length>1e3&&X.shift(),localStorage.setItem("vorotex_search_analytics",JSON.stringify(X))}catch(X){console.error("Analytics Error",X)}try{fetch("/api/track_event.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"search",value:M.trim()})})}catch(X){}},v=M=>{M.key==="Enter"&&W.trim()&&(z(W),u(`/search?q=${encodeURIComponent(W.trim())}`),R(!1),G(!1),te(!1),$(""))},T=()=>{R(!1),te(!0),G(!0),setTimeout(()=>{var M;return(M=q.current)==null?void 0:M.focus()},0)},A=()=>{te(!1),G(!1),J([]),$("")};j.useEffect(()=>{if(!D||typeof window>"u")return;const M=document.body,X=window.scrollY||window.pageYOffset||0;try{document.documentElement&&document.documentElement.style&&document.documentElement.style.setProperty&&document.documentElement.style.setProperty("--scroll-lock-y",X+"px")}catch(ge){}return P.current={y:X,prev:{position:M.style.position,top:M.style.top,left:M.style.left,right:M.style.right,width:M.style.width,overflow:M.style.overflow,overflowX:M.style.overflowX}},M.style.position="fixed",M.style.top=`-${X}px`,M.style.left="0",M.style.right="0",M.style.width="100%",M.style.overflow="hidden",M.style.overflowX="hidden",()=>{const le=P.current;if(!le)return;const xe=le.prev;M.style.position=xe.position||"",M.style.top=xe.top||"",M.style.left=xe.left||"",M.style.right=xe.right||"",M.style.width=xe.width||"",M.style.overflow=xe.overflow||"",M.style.overflowX=xe.overflowX||"",(()=>{try{document.documentElement&&document.documentElement.style&&document.documentElement.style.setProperty&&document.documentElement.style.setProperty("--scroll-lock-y","0px")}catch(ge){}})(),window.scrollTo(0,le.y),P.current=null}},[D]);const K=()=>{const M=W.trim();M&&(z(M),u(`/search?q=${encodeURIComponent(M)}`),A())},w=M=>{W.trim()&&z(W),u(`/product/${M}`),G(!1),te(!1),$("")},V=()=>{E?E():u(x?"/admin":O?"/dashboard":"/login")};return t.jsxs("nav",{className:"fixed-nav fixed top-0 left-0 right-0 w-full z-[1000] bg-[#0a0a0a]/95 backdrop-blur-md text-white border-b border-white/10 shadow-lg",style:{position:"fixed",top:0,left:0,right:0,zIndex:1000,WebkitTransform:"translate3d(0,
28700,0)",transform:"translate3d(0,0,0)"},children:[t.jsx("div",{className:"max-w-[1400px] mx-auto px-6 md:px-4 lg:px-8",style:{paddingLeft:"env(safe-area-inset-left)",paddingRight:"env(safe-area-inset-right)"},children:t.jsxs("div",{className:"flex items-center justify-between h-20 gap-2 md:gap-4 flex-nowrap",children:[t.jsx("div",{className:"flex-shrink-0 flex items-center cursor-pointer z-20",onClick:()=>B({target:"top"}),children:t.jsx(_n,{className:"h-auto w-auto text-white",customImage:m,isDarkText:!1})}),t.jsxs("div",{className:"flex-1 flex items-center justify-center min-w-0 px-2 h-full",children:[t.jsx("div",{className:"hidden xl:flex items-center space-x-8 mr-6 flex-shrink-0 h-full",children:y.map(M=>t.jsxs("div",{className:"relative group h-full flex items-center",children:[t.jsxs("button",{onClick:()=>B(M),className:` 2871 relative px-2 py-1 text-xs font-black uppercase tracking-[0.15em] transition-all duration-300 2872 group-hover:text-[#ff3b30] 2873 ${f===M.target&&(!M.children||M.children.length===0)?"text-[#ff3b30]":"text-white"} 2874 ${M.children&&M.children.length>0?"cursor-default":"cursor-pointer"} 2875 flex items-center gap-1 2876 `,children:[M.name,t.jsx("span",{className:` 2877 absolute bottom-0 left-1/2 w-0 h-[2px] bg-[#ff3b30] transition-all duration-300 transform -translate-x-1/2 2878 group-hover:w-full 2879 ${f===M.target?"w-full":""} 2880 `}),M.children&&M.children.length>0&&t.jsx(Mt,{className:"w-3 h-3 group-hover:rotate-180 transition-transform duration-300"})]}),M.children&&M.children.length>0&&t.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 pt-2 invisible opacity-0 group-hover:visible group-hover:opacity-100 transition-all duration-300 transform translate-y-4 group-hover:translate-y-0",children:t.jsx("div",{className:"bg-[#0a0a0a]/95 backdrop-blur-md text-white border border-white/10 shadow-2xl rounded-xl overflow-hidden min-w-[220px] p-1.5",children:M.children.map(X=>t.jsx("button",{onClick:le=>{le.stopPropagation(),B(X)},className:"block w-full text-left px-5 py-3.5 text-[11px] font-black uppercase tracking-widest text-white/80 hover:text-white hover:bg-[#ff3b30] rounded-lg transition-all duration-200 mb-1 last:mb-0",children:X.name},X.id))})})]},M.id))}),t.jsxs("div",{className:"relative w-full max-w-md hidden min-[580px]:block group",ref:U,children:[t.jsx("input",{type:"text",placeholder:"ÐÐÐСÐ...",value:W,onChange:M=>$(M.target.value),onKeyDown:v,onFocus:()=>G(!0),className:"w-full pl-10 pr-4 py-2.5 bg-white/5 border border-white/10 rounded-sm text-xs font-bold text-white placeholder-gray-500 focus:outline-none focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] transition-all uppercase tracking-wider"}),t.jsx(xa,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-3.5 h-3.5 text-gray-500 group-focus-within:text-white transition-colors"}),Y&&W.length>=2&&H.length>0&&t.jsx("div",{className:"absolute top-full left-0 right-0 mt-2 bg-[#111] border border-gray-800 rounded-lg shadow-2xl overflow-hidden z-50 animate-fade-in",children:H.map(M=>t.jsxs("button",{onClick:()=>w(M.id),className:"w-full flex items-center gap-4 p-3 hover:bg-white/5 transition-colors border-b border-white/5 last:border-none text-left group/item",children:[t.jsx("div",{className:"w-10 h-10 rounded bg-white border border-gray-700 overflow-hidden flex-shrink-0",children:t.jsx("img",{src:M.image,alt:M.name,className:"w-full h-full object-contain p-1"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-bold text-white group-hover/item:text-[#ff3b30] transition-colors truncate uppercase",children:M.name}),t.jsx("div",{className:"text-[10px] text-gray-500 uppercase tracking-wider truncate",children:M.category})]})]},M.id))})]})]}),t.jsxs("div",{className:"flex-shrink-0 flex items-center gap-4 md:gap-6 z-20 bg-transparent",children:[t.jsx("button",{onClick:()=>B({target:"marketplaces"}),className:"hidden md:flex relative group items-center justify-center px-6 py-2 overflow-hidden font-black uppercase tracking-wider text-black bg-white hover:bg-[#ff3b30] hover:text-white transition-colors duration-300 transform -skew-x-12 shadow-[0_0_15px_rgba(255,255,255,0.2)]",children:t.jsxs("span",{className:"relative skew-x-12 text-[10px] flex items-center gap-2",children:["Ðде кÑпиÑÑ ",t.jsx(Qd,{className:"w-3 h-3"})]})}),t.jsxs("div",{className:"flex items-center gap-1 md:gap-3",children:[t.jsx("button",{onClick:T,className:"min-[580px]:hidden p-2 text-gray-400 hover:text-white transition-all duration-300",title:"ÐоиÑк",children:t.jsx(xa,{
2880className:"h-5 w-5"})}),t.jsxs("div",{className:"relative",onMouseEnter:()=>{adminHoverCloseTimer.current&&window.clearTimeout(adminHoverCloseTimer.current),x&&setIsAdminHoverOpen(!0)},onMouseLeave:()=>{x&&(adminHoverCloseTimer.current=window.setTimeout(()=>setIsAdminHoverOpen(!1),120))},children:[t.jsxs("button",{onClick:V,className:"p-2 text-gray-400 hover:text-white transition-all duration-300 relative group",title:x?"Ðдмин панелÑ":O?"ÐиÑнÑй кабинеÑ":"ÐойÑи",children:[x?t.jsx(yl,{className:"h-5 w-5 group-hover:rotate-90 transition-transform text-[#ff3b30]"}):t.jsx(Jl,{className:"h-5 w-5"}),x&&!hasAdminAlerts&&t.jsx("span",{className:"absolute top-1 right-1 w-2 h-2 bg-green-500 rounded-full border-2 border-black"}),x&&hasAdminAlerts&&t.jsx("span",{className:"absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[#ff3b30] text-white border-2 border-black flex items-center justify-center text-[10px] font-black leading-none",children:"!"}),O&&!x&&t.jsx("span",{className:"absolute top-1 right-1 w-2 h-2 bg-blue-500 rounded-full border-2 border-black"})]}),x&&isAdminHoverOpen&&t.jsx("div",{className:"absolute top-full right-0 mt-2 w-64 bg-[#0b0b0b] border border-white/10 shadow-2xl rounded-xl overflow-hidden z-50",onMouseEnter:()=>{adminHoverCloseTimer.current&&window.clearTimeout(adminHoverCloseTimer.current)},onMouseLeave:()=>{adminHoverCloseTimer.current=window.setTimeout(()=>setIsAdminHoverOpen(!1),120)},children:t.jsxs("div",{children:[t.jsxs("div",{className:"px-4 py-3 border-b border-white/10",children:[t.jsx("div",{className:"text-[11px] font-black uppercase tracking-wider text-white",children:"УведомлениÑ"}),t.jsx("div",{className:"text-[10px] text-white/60 mt-0.5",children:hasAdminAlerts?"ÐовÑе ÑобÑÑиÑ":"ÐÐµÑ Ð½Ð¾Ð²ÑÑ
ÑобÑÑий"})]}),t.jsxs("div",{className:"px-4 py-3 space-y-2",children:[t.jsxs("div",{className:"flex items-center justify-between text-xs",children:[t.jsx("span",{className:"text-white/80 font-bold uppercase tracking-wide",children:"ÐовÑе заказÑ"}),t.jsx("span",{className:"text-white font-black",children:adminStats.newOrders})]}),t.jsxs("div",{className:"flex items-center justify-between text-xs",children:[t.jsx("span",{className:"text-white/80 font-bold uppercase tracking-wide",children:"ÐовÑе ÑообÑениÑ"}),t.jsx("span",{className:"text-white font-black",children:adminStats.newMessages})]}),t.jsx("div",{className:"pt-2",children:t.jsx("button",{onClick:le=>{le.stopPropagation(),setIsAdminHoverOpen(!1),handleAdminLogout()},className:"w-full px-3 py-2 rounded-lg bg-[#ff3b30] hover:bg-red-600 text-white text-[10px] font-black uppercase tracking-wider transition-colors",children:"ÐÑйÑи"})})]})]})})]}),t.jsxs("button",{onClick:()=>u("/compare"),className:"relative p-2 text-gray-400 hover:text-white transition-all duration-300 group",title:"СÑавнение ÑоваÑов",children:[t.jsx(br,{className:`h-5 w-5 ${g>0?"text-white":""} group-hover:scale-110 transition-transform`}),g>0&&t.jsx("span",{className:"absolute -top-1 -right-1 inline-flex items-center justify-center w-4 h-4 text-[9px] font-bold leading-none text-black bg-white rounded-full",children:g})]}),t.jsxs("button",{onClick:C,className:"relative p-2 text-gray-400 hover:text-[#ff3b30] transition-all duration-300 group",title:"ÐзбÑанное",children:[t.jsx(jn,{className:`h-5 w-5 group-hover:scale-110 transition-transform ${b>0?"fill-[#ff3b30] text-[#ff3b30]":""}`}),b>0&&t.jsx("span",{className:"absolute -top-1 -right-1 inline-flex items-center justify-center w-4 h-4 text-[9px] font-bold leading-none text-white bg-[#ff3b30] rounded-full",children:b})]}),N&&t.jsxs("button",{onClick:o,className:"relative p-2 text-gray-400 hover:text-white transition-all duration-300 group",children:[t.jsx(js,{className:"h-5 w-5 group-hover:scale-110 transition-transform"}),pe>0&&t.jsx("span",{className:"absolute -top-1 -right-1 inline-flex items-center justify-center w-4 h-4 text-[9px] font-bold leading-none text-black bg-white rounded-full",children:pe})]}),t.jsx("div",{className:"xl:hidden flex-shrink-0 ml-1 mr-4 md:mr-0",children:t.jsx("button",{onClick:()=>R(!k),className:"p-3 text-white hover:bg-white/10 rounded-lg transition-colors",children:k?t.jsx(xt,{className:"h-6 w-6"}):t.jsx(Fd,{className:"h-6 w-6"})})})]})]})]})}),D&&t.jsx("div",{className:"fixed inset-0 z-[60] bg-black/70 backdrop-blur-sm overflow-x-hidden",onClick:A,children:t.jsx("div",{className:"absolute inset-x-0 top-0 bg-[#0a0a0a] border-b border-white/10 shadow-2xl",onClick:M=>M.stopPropagation(),children:t.jsxs("div",{className:"max-w-[900px] mx-auto px-4 pt-4 pb-5",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("div",{className:"relative flex-1",children:[t.jsx(xa,{
2880className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),t.jsx("input",{ref:q,type:"text",placeholder:"ÐÐÐСÐ...",value:W,onChange:M=>$(M.target.value),onKeyDown:M=>{M.key==="Escape"&&A(),M.key==="Enter"&&K()},className:"w-full pl-10 pr-4 py-3 bg-white/5 border border-white/10 rounded-lg text-sm font-bold focus:outline-none focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] text-white uppercase tracking-wider"})]}),t.jsx("button",{onClick:K,className:"px-4 py-3 bg-white text-black font-black uppercase tracking-wider text-xs rounded-lg hover:bg-[#ff3b30] hover:text-white transition-colors",children:"ÐайÑи"}),t.jsx("button",{onClick:A,className:"p-2 text-gray-300 hover:text-white transition-colors","aria-label":"ÐакÑÑÑÑ Ð¿Ð¾Ð¸Ñк",children:t.jsx(xt,{className:"w-6 h-6"})})]}),t.jsx("div",{className:"mt-3 text-[11px] text-gray-500 uppercase tracking-wider",children:"ÐведиÑе минимÑм 2 Ñимвола â покажем подÑказки. Enter â поиÑк."}),W.length>=2&&t.jsx("div",{className:"mt-4 pb-4",children:H.length>0?t.jsxs("div",{className:"bg-[#111] border border-white/10 rounded-xl overflow-hidden",children:[H.map(M=>t.jsxs("button",{onClick:()=>w(M.id),className:"w-full flex items-center gap-3 px-4 py-3 text-left hover:bg-white/5 transition-colors border-b border-white/5 last:border-none",children:[t.jsx("div",{className:"w-12 h-12 rounded bg-white border border-gray-700 overflow-hidden flex-shrink-0",children:t.jsx("img",{src:M.image,alt:M.name,className:"w-full h-full object-contain p-1"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-black text-white truncate uppercase",children:M.name}),t.jsx("div",{className:"text-[10px] text-gray-500 uppercase tracking-wider truncate",children:M.category})]}),t.jsx(Cn,{className:"w-4 h-4 text-gray-500"})]},M.id)),t.jsx("button",{onClick:K,className:"w-full px-4 py-3 text-left bg-black text-white hover:bg-[#ff3b30] transition-colors text-xs font-black uppercase tracking-widest",children:"ÐоказаÑÑ Ð²Ñе ÑезÑлÑÑаÑÑ"})]}):t.jsx("div",{className:"text-xs text-gray-400 bg-white/5 border border-white/10 rounded-xl px-4 py-4",children:"ÐиÑего не найдено. ÐопÑобÑйÑе дÑÑгой запÑоÑ."})})]})})}),k&&t.jsx("div",{className:"xl:hidden bg-[#0a0a0a]/95 backdrop-blur-xl border-t border-white/10 absolute w-full shadow-2xl top-20 left-0 z-40 h-[calc(100vh-5rem)] overflow-y-auto",children:t.jsxs("div",{className:"px-4 pt-5 pb-8 space-y-2",children:[y.map(M=>{const isSubOpen=k_sub===M.id; return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>B(M),className:"flex w-full items-center gap-3 px-4 py-3 text-base font-black uppercase tracking-wider bg-white/5 rounded-xl border border-white/10 hover:bg-[#ff3b30]/10 hover:border-[#ff3b30]/40 transition-all duration-200 "+(isSubOpen?"text-[#ff3b30] border-[#ff3b30]/30":"text-white"),children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-[#ff3b30] flex-shrink-0"}),M.name,M.children&&M.children.length>0&&t.jsx(Mt,{className:"w-5 h-5 ml-auto transition-transform duration-300 "+(isSubOpen?"rotate-180 text-[#ff3b30]":"")})]}),M.children&&M.children.length>0&&t.jsx("div",{className:"ml-3 space-y-1 pl-3 border-l-2 border-[#ff3b30]/30 overflow-hidden transition-all duration-300 "+(isSubOpen?"max-h-[500px] opacity-100 mt-2 mb-4":"max-h-0 opacity-0 mt-0"),children:M.children.map(X=>t.jsx("button",{onClick:()=>B(X),className:"flex items-center gap-2 w-full text-left px-3 py-2 text-xs font-bold text-gray-200 hover:text-white hover:bg-white/10 rounded-lg uppercase tracking-widest transition-colors",children:X.name},X.id))})]},M.id)}),t.jsxs("button",{onClick:()=>B({target:"marketplaces"}),className:"w-full py-3 bg-[#ff3b30] text-white font-black uppercase tracking-widest text-xs flex items-center justify-center gap-2 shadow-lg shadow-red-500/20 mt-6 rounded-xl hover:bg-red-600 transition-colors",children:["Ðде кÑпиÑÑ ",t.jsx(Qd,{className:"w-4 h-4"})]})]})})]})},Dw=({onCtaClick:r,slides:o})=>{const[d,c]=j.useState(0),[h,m]=j.useState(null);j.useEffect(()=>{if(o.length<=1)return;const x=setInterval(()=>{c(N=>(N+1)%o.length)},6e3);return()=>clearInterval(x)},[o.length]);const y=x=>{x.startsWith("http")?window.open(x,"_blank"):r(x)},u=x=>{m(x.touches[0].clientX)},f=x=>{if(h===null)return;const N=x.changedTouches[0].clientX-h;Math.abs(N)>40&&o.length>1&&(N<0?c(C=>(C+1)%o.length):c(C=>(C-1+o.length)%o.length)),m(null)};return t.jsxs("div",{className:"relative h-[600px] w-full overflow-hidden bg-black group",onTouchStart:u,onTouchEnd:f,children:[o.map((x,N)=>t.jsxs("div",{className:`absolute inset-0 transition-opacity duration-1000 ease-in-out ${N===d?"opacity-100 z-10":"opacity-0 z-0"}`,children:[t.jsx("div",{className:"absolute inset-0 bg-cover bg-center transform transition-transform duration-[10000ms] ease-linear",style:{backgroundImage:`url('${x.image}')`,transform:N===d?"scale(1.05)":"scale(1)"}}),t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-30 pointer-events-none"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-black/90 via-black/50 to-transparent"}),t.jsx("div",{className:"absolute inset-0 flex items-center",children:t.jsx("div",{className:"px-8 max-w-[1400px] mx-auto w-full",children:t.jsxs("div",{className:`max-w-2xl text-left transition-all duration-700 delay-300 ${N===d?"opacity-100 translate-y-0":"opacity-0 translate-y-10"}`,children:[x.tagline&&t.jsx("div",{className:"inline-block mb-4 px-4 py-1 bg-[#ff3b30] text-white font-bold tracking-widest text-xs uppercase transform -skew-x-12 shadow-lg shadow-red-900/50 border-l-4 border-white",children:t.jsx("span",{className:"block skew-x-12",children:x.tagline})}),t.jsx("h1",{className:"text-5xl md:text-7xl font-black tracking-tighter mb-6 text-white drop-shadow-2xl leading-[0.95]",dangerouslySetInnerHTML:{__html:x.title}}),t.jsx("p",{className:"text-xl text-gray-200 mb-8 max-w-lg drop-shadow-md font-medium leading-relaxed border-l-2 border-white/20 pl-4",children:x.subtitle}),t.jsxs("button",{onClick:()=>y(x.link),className:"px-10 py-4 bg-white text-black font-black text-lg uppercase tracking-wider rounded-sm hover:bg-[#ff3b30] hover:text-white transition-all duration-300 shadow-[0_0_20px_rgba(255,255,255,0.3)] hover:shadow-[0_0_30px_rgba(255,59,48,0.5)] flex items-center gap-3 group/btn relative overflow-hidden",children:[t.jsxs("span",{className:"relative z-10 flex items-center gap-3",children:[x.buttonText,t.jsx(Cn,{className:"w-5 h-5 group-hover/btn:translate-x-1 transition-transform"})]}),t.jsx("div",{className:"absolute inset-0 bg-gray-100 transform -translate-x-full group-hover/btn:translate-x-0 transition-transform duration-300 z-0 opacity-10"})]})]})})})]},x.id)),o.length>1&&t.jsx("div",{className:"absolute bottom-8 left-0 w-full z-20 flex justify-center gap-3",children:o.map((x,N)=>t.jsx("button",{onClick:()=>c(N),className:`h-1.5 rounded-full transition-all duration-300 shadow-sm ${N===d?"w-12 bg-[#ff3b30]":"w-2 bg-white/30 hover:bg-white hover:w-4"}`,"aria-label":`Go to slide ${N+1}`},N))})]})},zw=({categories:r,navigate:o})=>{const d=c=>{c.startsWith("http")?window.open(c,"_blank"):c.startsWith("/")?o(c):o(`/search?q=${encodeURIComponent(c)}`)};return t.jsx("section",{className:"py-16 bg-white text-black border-b border-gray-100",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl font-bold text-black uppercase tracking-widest mb-2",children:"ÐаÑегоÑии"}),t.jsx("div",{className:"w-16 h-1 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:r.slice(0,6).map(c=>t.jsxs("div",{onClick:()=>d(c.link),className:"group cursor-pointer",children:[t.jsxs("div",{className:"relative aspect-square rounded-xl overflow-hidden bg-gray-50 mb-3 border border-gray-100 group-hover:border-gray-300 transition-colors",children:[t.jsx("img",{src:c.image,alt:c.name,className:"w-full h-full object-cover transition-all duration-500 brightness-90 group-hover:brightness-110 group-hover:scale-105"}),t.jsx("div",{className:"absolute inset-0 bg-black/25 group-hover:bg-black/5 transition-colors"})]}),t.jsx("h3",{className:"text-center text-xs md:text-sm font-bold uppercase tracking-wide group-hover:text-[#ff3b30] transition-colors",children:c.name})]},c.id))})]})})},Te={KEYBOARD:"keyboards",MOUSE:"mice",HEADSET:"headsets",MICROPHONE:"microphones",ACCESSORY:"accessories",MINI:"mini-keyboards"},au={[Te.KEYBOARD]:"ÐлавиаÑÑÑÑ",[Te.MOUSE]:"ÐÑÑи",[Te.HEADSET]:"ÐаÑниÑÑÑÑ",[Te.MICROPHONE]:"ÐикÑоÑонÑ",[Te.ACCESSORY]:"ÐкÑеÑÑÑаÑÑ",[Te.MINI]:"Ðини ÐлавиаÑÑÑÑ"}
2880,Ax=[{id:Te.KEYBOARD,name:"ÐлавиаÑÑÑÑ",slug:"keyboards",image:"/placeholder.svg",link:"/category/keyboards",specFields:[{id:"Тип клавиаÑÑÑÑ",name:"Тип клавиаÑÑÑÑ",placeholder:"ÐеÑ
аниÑеÑкаÑ"},{id:"ФоÑм-ÑакÑоÑ",name:"ФоÑм-ÑакÑоÑ",placeholder:"TKL / 60% / Full"},{id:"СвиÑÑи",name:"СвиÑÑи",placeholder:"Red / Blue / Brown"},{id:"ÐодклÑÑение",name:"ÐодклÑÑение",placeholder:"USB / Bluetooth"},{id:"ÐодÑвеÑка",name:"ÐодÑвеÑка",placeholder:"RGB"},{id:"РаÑкладка",name:"РаÑкладка",placeholder:"RUS/ENG"}],filterSettings:[{key:"ÐодклÑÑение",isVisible:!0,groups:[{id:"wireless",display:"ÐеÑпÑоводное (Hybrid)",variations:["Bluetooth / 2.4G / ÐÑоводной","Bluetooth / 2.4G / ÐÑоводное","2.4G / пÑоводной","Bluetooth","Wireless","2.4G"]},{id:"wired",display:"ÐÑоводное",variations:["ÐÑоводное","ÐÑоводной USB","ÐÑоводное USB Type-C","ÐÑоводной USB-C","ÐÑоводное USB (ÑÑемнÑй)","ÐÑоводной USB-C (Ðоковое)","ÐÑоводное USB-C","USB Type-C","ÐÑоводной USB (ÑÑемнÑй)","ÐÑоводной","USB","Wired","USB-C","ÐÑоводное (Type-C)"]}]},{key:"РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи",isVisible:!0,groups:[{id:"yes-roller",display:"ÐÑÑÑ (РоллеÑ)",variations:["Ðа, ÑдобнÑй ÑоллеÑ","Ðа, двÑÑ
ÑежимнÑй","ÐвÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ","Ð Ð¾Ð»Ð»ÐµÑ (ÐÑомкоÑÑÑ/ÐенÑ)","Ð Ð¾Ð»Ð»ÐµÑ (ÐÑомкоÑÑÑ/ЯÑкоÑÑÑ)","УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ","РоллеÑ","Ðа","ÐÑÑÑ","Convenient roller"]},{id:"no-roller",display:"ÐеÑ",variations:["ÐеÑ","ÐÑÑÑÑÑÑвÑеÑ","No","-","N
2880one"]}]},{key:"ÐолиÑеÑÑво клавиÑ",isVisible:!0,groups:[{id:"61",display:"61 (60%)",variations:["61"]},{id:"63",display:"63 (60%)",variations:["63"]},{id:"68",display:"68 (65%)",variations:["68"]},{id:"81-82",display:"81-82 (75%)",variations:["81","82"]},{id:"84",display:"84 (75%)",variations:["84"]},{id:"87",display:"87 (TKL)",variations:["87"]},{id:"89",display:"89 (TKL)",variations:["89"]},{id:"94",display:"94 (96%)",variations:["94"]},{id:"98",display:"98 (98%)",variations:["98"]}]},{key:"СвиÑÑи",isVisible:!0,groups:[{id:"tnt-yellow",display:"TNT Yellow",variations:['"TNT" yellow (жÑлÑÑй)',"TNT Yellow","TNT Yellow"]},{id:"outemu-red",display:"Outemu Red",variations:['"Outemu" Red (кÑаÑнÑй)',"RED (ÐÑаÑнÑе)","Outemu Red","Red","ÐÑаÑнÑе"]},{id:"huano-matcha",display:"Huano Matcha",variations:['HUANO "Matcha Latte" V2',"Huano Matcha Latte",'HUANO "Matcha Latte"']},{id:"dreamkey",display:"Dreamkey",variations:['"Dreamkey" (Red/Blue/Brown)',"Dreamkey"]},{id:"jerrzi",display:"Jerrzi Yellow",variations:['"Jerrzi" yellow (жÑлÑÑй)',"Jerrzi Yellow"]},{id:"peach",display:"Peach Switch",variations:["Peach Switch (линейнÑе)","Peach Switch"]},{id:"panda",display:"Panda Switch",variations:['Black "Panda"',"Panda Switch"]}]},{key:"ÐаÑеÑиал клавиÑ",isVisible:!0,groups:[{id:"abs",display:"ABS-плаÑÑик",variations:["ÐÐС-плаÑÑик","ABS плаÑÑик","ABS","ÐÐС"]},{id:"pbt",display:"PBT-плаÑÑик",variations:["PBT-плаÑÑик","PBT","ÐÐТ"]}]},{key:"ÐодÑвеÑка",isVisible:!0,groups:[{id:"rgb",display:"RGB",variations:["RGB","RGB (19 Ñежимов)","RGB (30+ Ñежимов)","RGB (20+ Ñежимов)","СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов) + Side RGB","СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов)","СмеÑÐ°Ð½Ð½Ð°Ñ (16 Ñежимов)","RGB наÑÑÑаиваемаÑ","RGB (12 Ñежимов)","3D RGB подÑвеÑка","СмеÑÐ°Ð½Ð½Ð°Ñ (20 Ñежимов) / Dynamic"]},{id:"mono",display:"ÐоноÑ
ÑомнаÑ",variations:["ÐдноÑвеÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ (White)","ÐдноÑвеÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ (Blue)","White","Blue","ÐоноÑ
ÑомнаÑ"]},{id:"no-light",display:"ÐеÑ",variations:["ÐÑÑÑÑÑÑвÑеÑ","ÐÑÑÑÑÑÑвÑÐµÑ (СÑÑогий ÑÑилÑ)","ÐеÑ","No"]}]},{key:"Тип ÑвиÑÑей",isVisible:!0,groups:[{id:"hotswap",display:"Hot-Swap",variations:["Hot-swap","Hot-Swap","Hot Swap","ÐинейнÑе, Hot-swap"]}]}]},{id:Te.MINI,name:"Ðини ÐлавиаÑÑÑÑ",slug:"mini-keyboards",image:"/placeholder.svg",link:"/category/mini-keyboards",specFields:[{id:"Тип клавиаÑÑÑÑ",name:"Тип клавиаÑÑÑÑ",placeholder:"Ðейпад / ÐакÑо-пад"},{id:"ÐолиÑеÑÑво клавиÑ",name:"ÐолиÑеÑÑво клавиÑ",placeholder:"2 / 3 / 12"},{id:"СвиÑÑи",name:"СвиÑÑи",placeholder:"Outemu Red"},{id:"Тип ÑвиÑÑей",name:"Тип ÑвиÑÑей",placeholder:"Hot-Swap"},{id:"ÐодÑвеÑка",name:"ÐодÑвеÑка",placeholder:"RGB"},{id:"ÐодклÑÑение",name:"ÐодклÑÑение",placeholder:"USB-C / Bluetooth"},{id:"ÐалиÑие ÑоÑÑа",name:"ÐалиÑие ÑоÑÑа",placeholder:"ÐÑÑÑ"},{id:"ÐиÑплей",name:"ÐиÑплей",placeholder:"OLED / IPS"},{id:"РазмеÑÑ",name:"РазмеÑÑ",placeholder:"70 x 30 x 30 мм"},{id:"ÐеÑ",name:"ÐеÑ",placeholder:"60 гÑ"}],filterSettings:[{key:"ÐодклÑÑение",isVisible:!0,groups:[{id:"wireless",display:"ÐеÑпÑоводное",variations:["USB Type-C / Bluetooth / Радиоканал","USB Type-C / Bluetooth / Радиоканал","USB Type-C / Bluetooth 5.0 (в BT веÑÑиÑÑ
)"]},{id:"wired",display:"ÐÑоводное",variations:["USB Type-C","ÐÑоводное USB Type-C","ÐÑоводное USB-C (2 поÑÑа)","ÐÑоводное USB-C"]}]},{key:"Тип ÑвиÑÑей",isVisible:!0,groups:[{id:"hotswap",display:"Hot-Swap",variations:["Hot-Swap","Hot-swap","Hot-Swap (Magnetic)"]}]}]},{id:Te.MOUSE,name:"ÐÑÑи",slug:"mice",image:"/placeholder.svg",link:"/category/mice",specFields:[{id:"СенÑоÑ",n
2880ame:"СенÑоÑ",placeholder:"PixArt 3395"},{id:"DPI",name:"DPI",placeholder:"26000"},{id:"ÐеÑ",name:"ÐеÑ",placeholder:"54 г"},{id:"ÐодклÑÑение",name:"ÐодклÑÑение",placeholder:"2.4G / Wired"},{id:"ÐмкоÑÑÑ Ð°ÐºÐºÑмÑлÑÑоÑа",name:"ÐмкоÑÑÑ Ð°ÐºÐºÑмÑлÑÑоÑа",placeholder:"500 mAh"},{id:"ÐикÑопеÑеклÑÑаÑели",name:"ÐикÑопеÑеклÑÑаÑели",placeholder:"Huano"}],filterSettings:[{key:"ÐодклÑÑение",isVisible:!0,groups:[{id:"wireless",display:"ÐеÑпÑоводное",variations:["2.4G / Bluetooth 5.1 / Wired","ÐеÑпÑоводное 2.4G / ÐÑоводное","ÐеÑпÑоводное 2.4G / ÐÑоводное USB","ÐеÑпÑоводное"]},{id:"wired",display:"ÐÑоводное",variations:["ÐÑоводное USB","ÐÑоводное"]}]},{key:"ÐодÑвеÑка",isVisible:!0,groups:[{id:"rgb",display:"RGB",variations:["RGB","RGB (6 Ñежимов)","RGB (13 Ñежимов)","RGB (11 Ñежимов)"]}]}]},{id:Te.HEADSET,name:"ÐаÑниÑÑÑÑ",slug:"headsets",image:"/placeholder.svg",link:"/category/headsets",specFields:[{id:"Тип наÑÑников",name:"Тип наÑÑников",placeholder:"ÐолноÑазмеÑнÑе"},{id:"Ðинамики",name:"Ðинамики",placeholder:"50 мм"},{id:"ÐвÑк",name:"ÐвÑк",placeholder:"7.1 / СÑеÑео"},{id:"ÐикÑоÑон",name:"ÐикÑоÑон",placeholder:"СÑемнÑй"},{id:"ÐнÑеÑÑейÑ",name:"ÐнÑеÑÑейÑ",placeholder:"USB / 3.5mm"}],filterSettings:[{key:"ÐвÑк",isVisible:!0,groups:[{id:"71",display:"ÐиÑÑÑалÑнÑй 7.1",variations:["ÐиÑÑÑалÑнÑй 7.1","7.1"]},{id:"stereo",display:"СÑеÑео",variations:["СÑеÑео"]}]},{key:"ÐнÑеÑÑейÑ",isVisible:!0,groups:[{id:"usb",display:"USB",variations:["USB"]},{id:"jack",display:"3.5 мм Jack",variations:["3.5 мм Jack (4-pin)","3.5 мм Jack (AUX)"]}]}]},{id:Te.MICROPHONE,name:"ÐикÑоÑонÑ",slug:"microphones",image:"/placeholder.svg",link:"/category/microphones",showFilters:!1,specFields:[{id:"Тип микÑоÑона",name:"Тип микÑоÑона",placeholder:"ÐонденÑаÑоÑнÑй"},{id:"ÐапÑавленноÑÑÑ",name:"ÐапÑавленноÑÑÑ",placeholder:"ÐаÑдиоиднаÑ"},{id:"ЧаÑÑоÑа диÑкÑеÑизаÑии",name:"ЧаÑÑоÑа диÑкÑеÑизаÑии",placeholder:"192 кÐÑ / 24 биÑ"},{id:"ÐодклÑÑение",name:"ÐодклÑÑение",placeholder:"USB"}]},{id:Te.ACCESSORY,name:"ÐкÑеÑÑÑаÑÑ",slug:"accessories",image:"/placeholder.svg",link:"/category/accessories",showFilters:!1,specFields:[{id:"Тип ÑоваÑа",name:"Тип ÑоваÑа",placeholder:"ÐовÑик / ÐабелÑ"},{id:"РазмеÑ",name:"РазмеÑ",placeholder:"900x400 мм"},{id:"ÐаÑеÑиал",name:"ÐаÑеÑиал",placeholder:"Ð¢ÐºÐ°Ð½Ñ / ÐаÑакоÑд"}]}],Bw=[{id:"kb-k680-pro",name:"VOROTEX K680 PRO",category:Te.KEYBOARD,price:5190,originalPrice:6490,stock:1077,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа вÑÑокого клаÑÑа Ñ ÑÑмоизолÑÑией, Hot-Swap и поддеÑжкой VIA.",longDescription:'VOROTEX K680 PRO â ÑÑо ÑлагманÑÐºÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ, ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ñ ÑнÑÑзиаÑÑов и ÑÑебоваÑелÑнÑÑ
геймеÑов. РоÑнове клавиаÑÑÑÑ Ð»ÐµÐ¶Ð¸Ñ Ð¿ÑодвинÑÑÐ°Ñ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¸Ñ Gasket Mount Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñлойной ÑÑмоизолÑÑией (EVA + IPXE), коÑоÑÐ°Ñ Ð³Ð°ÑÐ¸Ñ Ð¿Ð°ÑазиÑнÑе вибÑаÑии и обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑиÑÑÑй, благоÑоднÑй звÑк Ñайпинга. ÐÐ¾Ð´ÐµÐ»Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÑогÑаммное обеÑпеÑение VIA, позволÑÑÑее пеÑеназнаÑаÑÑ Ð»ÑбÑÑ ÐºÐ»Ð°Ð²Ð¸ÑÑ Ð¸ ÑоздаваÑÑ ÑложнÑе макÑоÑÑ. ÐÑÐ±Ð¾Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑемиалÑнÑми ÑвиÑÑами Black "Panda" (Ð´Ð»Ñ ÑиÑинÑ) и HUANO "Matcha L
2880atte" (Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð½Ð¾ÑÑи) позволÑÐµÑ Ð½Ð°ÑÑÑоиÑÑ Ð´ÐµÐ²Ð°Ð¹Ñ Ð¿Ð¾Ð´ Ñвой ÑÑÐ¸Ð»Ñ Ð¸Ð³ÑÑ.',features:["Hot-Swap","RGB","Noise Insulation","VIA Support"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ",ÐонÑÑÑÑкÑиÑ:"Gasket Mount","Тип клавиаÑÑÑÑ":"ÐÐµÑ Ð°Ð½Ð¸ÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"68",СвиÑÑи:'Black "Panda" / HUANO "Matcha Latte" V2',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа, ÑдобнÑй ÑоллеÑ",ÐодÑвеÑка:"RGB (19 Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводное (Type-C)",ÐеÑ:"540 гÑ",РазмеÑÑ:"330 x 115 x 42 мм","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐоддеÑживаеÑÑÑ (VIA)"},rating:4.9,seo:{title:"K680 PRO ÐÐµÑ Ð°Ð½Ð¸ÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа | RGB, Hot-Swap, VIA | VOROTEX",description:"ÐÑпиÑÑ Ð¸Ð³ÑовÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ K680 PRO. ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð¼ÐµÑ Ð°Ð½Ð¸ÐºÐ° Ñ ÑÑмоизолÑÑией, ÑмазаннÑми ÑвиÑÑами и поддеÑжкой VIA. ÐдеалÑнÑй Ñайпинг и RGB подÑвеÑка.",keywords:"k680 pro, Ð¼ÐµÑ Ð°Ð½Ð¸ÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, hot-swap, via qmk, игÑÐ¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, ÑÐ¸Ñ Ð°Ñ Ð¼ÐµÑ Ð°Ð½Ð¸ÐºÐ°, vorotex",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"graphite",name:"ÐÑаÑиÑ",value:"#383838"},{id:"champagne",name:"ШампанÑ",value:"#f7e7ce"}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"matcha",name:"HUANO Matcha Latte"},{id:"panda",name:"Panda Switch"}]}],variants:[{id:"00-00002009",externalId:"00-00002009",combination:{color:"graphite",switch:"matcha"},stock:235,price:5190},{id:"00-00002008",externalId:"00-00002008",combination:{color:"champagne",switch:"matcha"},stock:285,price:5190,image:"/placeholder.svg"},{id:"00-00002000",externalId:"00-00002000",combination:{color:"graphite",switch:"panda"},stock:268,price:5190},{id:"00-00001999",externalId:"00-00001999",combination:{color:"champagne",switch:"panda"},stock:289,price:5190,image:"/placeholder.svg"}],marketplaceLinks:{ozon:"https://ozon.ru",wb:"https://wildberries.ru",yandex:"https://market.yandex.ru"},sections:[{id:"sec-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",text:"",icon:"settings"},{title:"ÐÑÑÑÑе каÑÑомнÑе HotSwap ÑвиÑÑи",text:"",icon:"cpu"},{title:"УлÑÑÑенное внÑÑÑеннее ÑÑÑоение",text:"",icon:"layers"},{title:"ÐевÑÑнадÑаÑÑ ÑÑÑекÑов RGB подÑвеÑки",text:"",icon:"zap"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",text:"",icon:"download"},{title:"УдобнÑй ÑегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи",text:"",icon:"volume"}]},{id:"sec-switches",type:"text-image",title:"ÐÐРТÐÐÐ ÐÐÐ ÐÐÐЮЧÐТÐÐÐÐ",subtitle:"ÐÑбеÑиÑе Ñвой ÑÑÐ¸Ð»Ñ Ð¸Ð³ÑÑ",content:` 2881 <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;"> 2882 <div style="background: rgba(255,255,255,0.05); padding: 20px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.1);"> 2883 <h4 style="font-weight: bold; font-size: 1.2rem; color: #b0ffb0; margin-bottom: 10px;">HUANO "Matcha Latte" V2</h4> 2884 <p style="font-size: 0.9rem; opacity: 0.8;">ÐаÑеÑÑвеннÑе, линейнÑе, ÑмазаннÑе ÑвиÑÑи Ñ Ð¾Ð³ÑомнÑм ÑеÑÑÑÑом ÑабоÑÑ.</p> 2885 <p style="margin-top: 10px; font-weight: bold;">Сила нажаÑиÑ: 45GF ± 8GF</p> 2886 </div> 2887 <div style="background: rgba(255,255,255,0.05); padding: 20px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.1);"> 2888 <h4 style="font-weight: bold; font-size: 1.2rem; color: #ffffff; margin-bottom: 10px;">Black "Panda"</h4> 2889 <p style="font-size: 0.9rem; opacity: 0.8;">СвиÑÑи Ð´Ð»Ñ Ð»ÑбиÑелей "ÑÐ¸Ñ Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑ". ÐÑгкий, поÑÑи беÑÑÑмнÑй Ñ Ð¾Ð´.</p> 2890 <p style="margin-top: 10px; font-weight: bold;">Сила нажаÑиÑ: 42GF ± 5GF</p> 2891 </div> 2892 </div> 2893 `,image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"sec-gasket",type:"text-image",title:"GASKET MOUNT",subtitle:"ÐдеалÑÐ½Ð°Ñ ÑÑмоизолÑÑиÑ",content:'ÐонÑÑÑÑкÑÐ¸Ñ Ñ Ð¿Ñокладками (Gasket Mount) и многоÑлойнÑм наполнением (EVA + IPXE) иÑклÑÑÐ°ÐµÑ Ð¶ÐµÑÑкий конÑÐ°ÐºÑ Ð¿Ð»Ð°ÑÑ Ñ ÐºÐ¾ÑпÑÑом. ÐÑо ÑбиÑÐ°ÐµÑ Ð¿Ð°ÑазиÑнÑе вибÑаÑии, Ð´ÐµÐ»Ð°Ñ Ð·Ð²Ñк пеÑаÑи ÑиÑÑÑм, глÑбоким и "доÑогим" (thocky sound).',image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"sec-via",type:"text-image",title:"ÐÐÐÐÐÐ ÐÐÐ VIA",subtitle:"ÐолнÑй конÑÑолÑ",content:"ÐÑоÑеÑÑионалÑное ÐÐ VIA позволÑÐµÑ Ð¿ÐµÑеназнаÑаÑÑ Ð»ÑбÑÑ ÐºÐ»Ð°Ð²Ð¸ÑÑ, ÑоздаваÑÑ ÑложнÑе макÑоÑÑ Ð¸ ÑпÑавлÑÑÑ Ð¿Ð¾Ð´ÑвеÑкой на леÑÑ. ÐаÑÑÑойки ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð² памÑÑи клавиаÑÑÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"sec-reviews",type:"reviews",title:"ÐТÐЫÐЫ ÐÐÐУÐÐТÐÐÐÐ",theme:"light"}]},{id:"kb-k680gr",name:"VOROTEX K680GR",category:Te.KEYBOARD,price:4490,originalPrice
2893:5490,stock:688,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"СÑилÑÐ½Ð°Ñ Ð¼ÐµÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ ÑникалÑной гÑадиенÑной ÑаÑÑвеÑкой, Hot-Swap ÑвиÑÑами Outemu Red и моноÑ
Ñомной подÑвеÑкой.",longDescription:"VOROTEX K680GR ÑоÑеÑÐ°ÐµÑ Ð² Ñебе ÑÑÐ¸Ð»Ñ Ð¸ ÑÑнкÑионалÑноÑÑÑ. ÐÐ»Ð°Ð²Ð½Ð°Ñ ÑиÑка â ÑникалÑнÑе гÑадиенÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð¾Ñ Ñемно-ÑеÑого к ÑвеÑломÑ, ÑоздаÑÑие ÑÑÑекÑнÑй пеÑеÑ
од. ÐлавиаÑÑÑа оÑнаÑена ÑдобнÑм ÑегÑлÑÑоÑом гÑомкоÑÑи (ÑоллеÑом) и каÑеÑÑвеннÑми ÑÑабилизаÑоÑами. Ðод капоÑом â надежнÑе кÑаÑнÑе ÑвиÑÑи Outemu Red Ñ ÑÑнкÑией Hot-Swap, позволÑÑÑей легко менÑÑÑ Ð¸Ñ
. СÑилÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка (White) дополнÑÐµÑ ÑÑÑогий дизайн. Ðе ÑÑебÑÐµÑ ÑÑÑановки дÑайвеÑов.",features:["Gradient Keycaps","Outemu Red","Hot-Swap","Volume Knob","Monochrome Light"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"68",СвиÑÑи:'"Outemu" Red (кÑаÑнÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа, ÑдобнÑй ÑоллеÑ",ÐодÑвеÑка:"ÐдноÑвеÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ (White)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"330 x 112 x 42 мм",ÐеÑ:"530 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м.","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)"},rating:4.8,seo:{title:"K680GR ÐÑадиенÑÐ½Ð°Ñ ÐлавиаÑÑÑа | Outemu Red, ÐоноÑ
Ñом | VOROTEX",description:"ÐÑпиÑÑ K680GR - ÑÑилÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ Ð³ÑадиенÑнÑми кейкапами. Outemu Red ÑвиÑÑи, Hot-Swap, ÑÐ¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи и моноÑ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка.",keywords:"k680gr, гÑадиенÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, outemu red, hot swap, клавиаÑÑÑа Ñ ÑоллеÑом, vorotex, 65% меÑ
аника",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"gradient-grey",name:"СеÑÑй гÑадиенÑ",colors:["#333333","#777777","#cccccc"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Outemu Red"}]}],variants:[{id:"00-00001998",externalId:"00-00001998",combination:{color:"gradient-grey",switch:"red"},stock:688,price:4490}],sections:[{id:"k680gr-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"УникалÑÐ½Ð°Ñ Ð³ÑадиенÑÐ½Ð°Ñ ÑаÑÑвеÑка",icon:"layers"},{title:"ÐаÑеÑÑвеннÑе Hot Swap ÑвиÑÑи OUTEMU",icon:"cpu"},{title:"СÑилÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",icon:"zap"},{title:"УдобнÑй ÑегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи",icon:"volume"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k680gr-gradient",type:"text-image",title:"ÐÐ ÐÐÐÐÐТÐЫРÐÐÐÐÐÐ",subtitle:"ÐÑÑеÑика в деÑалÑÑ
",content:"ÐлавнÑй пеÑеÑ
од Ð¾Ñ Ñемно-ÑеÑого к ÑвеÑÐ»Ð¾Ð¼Ñ ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑникалÑнÑй визÑалÑнÑй ÑÑилÑ, коÑоÑÑй вÑделÑÐµÑ K680GR ÑÑеди ÑÑандаÑÑнÑÑ
одноÑоннÑÑ
клавиаÑÑÑ. ÐÐµÐ¹ÐºÐ°Ð¿Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð¸Ð· каÑеÑÑвенного ABS плаÑÑика.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k680gr-knob",type:"text-image",title:"УÐÐÐÐЫРРÐÐÐÐÐ ",subtitle:"ÐонÑÑÐ¾Ð»Ñ Ð¾Ð´Ð½Ð¸Ð¼ движением",content:"ÐеÑаллиÑеÑкий ÑегÑлÑÑÐ¾Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ изменÑÑÑ Ð³ÑомкоÑÑÑ Ð¸Ð»Ð¸ ÑÑкоÑÑÑ Ð¿Ð¾Ð´ÑвеÑки, не оÑвлекаÑÑÑ Ð¾Ñ Ð¸Ð³ÑÑ. ТакÑилÑно пÑиÑÑнÑй и надежнÑй меÑ
анизм.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k680gr-switches",type:"text-image",title:"OUTEMU RED",subtitle:"ТиÑ
ие и плавнÑе",content:"ÐинейнÑе пеÑеклÑÑаÑели Outemu Red обеÑпеÑиваÑÑ Ð¼Ñгкий нажаÑие без ÑелÑка. ÐдеалÑно подÑ
одÑÑ Ð´Ð»Ñ Ð±ÑÑÑÑÑÑ
Ð¸Ð³Ñ Ð¸ набоÑа ÑекÑÑа в оÑиÑе. ÐоддеÑжка Hot-Swap позволÑÐµÑ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ð¸Ñ
за ÑекÑндÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k680gr",type:"reviews",title:"ÐТÐЫÐЫ ÐÐÐУÐÐТÐÐÐÐ",theme:"light"}]},{id:"kb-k87s",name:"VOROTEX K87S",category:Te.KEYBOARD,price:2990,originalPrice
2893:3990,stock:145,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ Ð¼ÐµÑаллиÑеÑкой пеÑедней панелÑÑ, Hot-Swap ÑвиÑÑами Dreamkey и динамиÑеÑкой подÑвеÑкой.",longDescription:'VOROTEX K87S â ÑÑо неÑÐ±Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ»Ð°ÑÑика в ÑоÑмаÑе TKL (без ÑиÑÑового блока). ÐлÑÑÐµÐ²Ð°Ñ Ð¾ÑобенноÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ â меÑаллиÑеÑÐºÐ°Ñ Ð¿ÐµÑеднÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ ("ÑкелеÑон"), коÑоÑÐ°Ñ Ð¿ÑÐ¸Ð´Ð°ÐµÑ ÐºÐ¾Ð½ÑÑÑÑкÑии невеÑоÑÑнÑÑ Ð¶ÐµÑÑкоÑÑÑ Ð¸ ÑÑилÑнÑй внеÑний вид. СвиÑÑи "Dreamkey" обладаÑÑ Ð¿ÑлезаÑиÑной конÑÑÑÑкÑией ÑÑока, обеÑпеÑÐ¸Ð²Ð°Ñ Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾ÑÑÑ Ð´Ð°Ð¶Ðµ в ÑамÑÑ
ÑÑÑовÑÑ
игÑовÑÑ
ÑÑловиÑÑ
. ÐоддеÑжка Hot-Swap позволÑÐµÑ Ð¼ÐµÐ½ÑÑÑ Ð¿ÐµÑеклÑÑаÑели без пайки за ÑÑиÑаннÑе ÑекÑндÑ. K87S â идеалÑнÑй вÑÐ±Ð¾Ñ Ð´Ð»Ñ ÑеÑ
, кÑо иÑÐµÑ Ð½Ð°Ð´ÐµÐ¶Ð½Ñй инÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ ÐºÐ¸Ð±ÐµÑÑпоÑÑа без лиÑниÑ
пеÑеплаÑ.',features:["Metal Panel","Hot-Swap","20 Modes RGB","Dreamkey"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа","ÐаÑеÑиал коÑпÑÑа":"ÐеÑаллиÑеÑÐºÐ°Ñ Ð¿ÐµÑеднÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"87",СвиÑÑи:'"Dreamkey" (Red/Blue/Brown)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (20 Ñежимов) / Dynamic","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB","Ðлина кабелÑ":"1.5 м","РабоÑий Ñок":"120 мÐ",РазмеÑÑ:"350 x 121 x 35 мм",ÐеÑ:"550 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)"},rating:4.7,seo:{title:"K87S ÐгÑÐ¾Ð²Ð°Ñ ÐлавиаÑÑÑа | ÐеÑалл, Hot-Swap, RGB | VOROTEX",description:"ÐÑпиÑÑ K87S - надежнÑÑ Ð¼ÐµÑ
аниÑеÑкÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ñ Ð¼ÐµÑаллиÑеÑкой панелÑÑ. СвиÑÑи Dreamkey, 20 Ñежимов подÑвеÑки и мгновеннÑй оÑклик. ÐÑÑÑий вÑÐ±Ð¾Ñ Ð´Ð»Ñ ÑÑÑеÑов.",keywords:"k87s, клавиаÑÑÑа меÑалл, tkl клавиаÑÑÑа, dreamkey ÑвиÑÑи, игÑÐ¾Ð²Ð°Ñ Ð¼ÐµÑ
аника, vorotex, hot-swap",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"white-black",name:"ÐелÑй/ЧÑÑнÑй",colors:["#ffffff","#1a1a1a"]},{id:"black-purple",name:"ЧÑÑнÑй/ФиолеÑовÑй",colors:["#1a1a1a","#9933ff"]},{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"grey-white",name:"СеÑÑй/ÐелÑй",colors:["#999999","#ffffff"]},{id:"black-grey",name:"ЧÑÑнÑй/СеÑÑй",colors:["#1a1a1a","#999999"]},{id:"black",name:"ЧÑÑнÑй",value:"#1a1a1a"}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Red"},{id:"brown",name:"Brown (Tactile)"}]}],variants:[{id:"00-00001905",externalId:"00-00001905",combination:{color:"white-black",switch:"brown"},stock:19,price:2990},{id:"00-00001909",externalId:"00-00001909",combination:{color:"black-purple",switch:"brown"},stock:11,price:2990},{id:"00-00001030",externalId:"00-00001030",combination:{color:"white-black",switch:"red"},stock:59,price:2990},{id:"00-00001148",externalId:"00-00001148",combination:{color:"white",switch:"red"},stock:11,price:2990},{id:"00-00001596",externalId:"00-00001596",combination:{color:"grey-white",switch:"red"},stock:12,price:2990},{id:"00-00001691",externalId:"00-00001691",combination:{color:"black",switch:"red"},stock:9,price:2990},{id:"00-00001693",externalId:"00-00001693",combination:{color:"black-grey",switch:"red"},stock:7,price:2990},{id:"00-00001797",externalId:"00-00001797",combination:{color:"black-purple",switch:"red"},stock:26,price:2990}],sections:[{id:"k87s-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РеÑÑÑÑ Ð´Ð¾ 50 миллионов нажаÑий",text:"ÐадежнÑе пеÑеклÑÑаÑели Dreamkey",icon:"zap"},{title:"ÐеÑаллиÑеÑÐºÐ°Ñ Ð¿ÐµÑеднÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ",text:"ÐÑоÑноÑÑÑ Ð¸ ÑÑилÑ",icon:"shield"},{title:"ÐвадÑаÑÑ Ñежимов подÑвеÑки",text:"Rainbow / Dynamic Lighting",icon:"star"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",text:"Plug & Play",icon:"download"},{title:"РазлиÑнÑе комбинаÑии ÑаÑÑвеÑки клавиÑ",text:"ÐаÑÑомизиÑÑй Ñвой ÑÑилÑ",icon:"layout"}]},{id:"k87s-metal",type:"text-image",title:"ÐÐТÐÐÐÐЧÐСÐÐЯ ÐÐÐÐÐЬ",subtitle:"ÐонолиÑÐ½Ð°Ñ Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾ÑÑÑ",content:'ÐеÑÑ
нÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ Ð¸Ð· алÑминиевого Ñплава Ð´ÐµÐ»Ð°ÐµÑ ÐºÐ¾ÑпÑÑ ÑÑÑойÑивÑм к изгибам и ÑдаÑам. ÐонÑÑÑÑкÑÐ¸Ñ "ÑкелеÑон" облегÑÐ°ÐµÑ ÑиÑÑÐºÑ Ð¾Ñ Ð¿Ñли и кÑоÑек, а Ñакже позволÑÐµÑ Ð¿Ð¾Ð´ÑвеÑке ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑавномеÑно.',image:"/placeholder.svg",alignment:"right",theme:"dark"}
2893,{id:"k87s-dreamkey",type:"text-image",title:"СÐÐТЧРDREAMKEY",subtitle:"ÐаÑиÑа Ð¾Ñ Ð¿Ñли",content:"СпеÑиалÑÐ½Ð°Ñ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¸Ñ ÑÑока пеÑеклÑÑаÑелей Dreamkey пÑедоÑвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ðµ пÑли внÑÑÑÑ Ð¼ÐµÑ
анизма, знаÑиÑелÑно пÑÐ¾Ð´Ð»ÐµÐ²Ð°Ñ ÑÑок ÑлÑÐ¶Ð±Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð´Ð°Ð¶Ðµ в неблагопÑиÑÑнÑÑ
ÑÑловиÑÑ
.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k87s-rgb",type:"text-image",title:"ÐÐÐÐÐÐЧÐСÐÐЯ ÐÐÐСÐÐТÐÐ",subtitle:"20 Режимов",content:'ÐаÑÑÑаивайÑе ÑÑкоÑÑÑ, ÑкоÑоÑÑÑ Ð¸ ÑÑÑекÑÑ Ð¿ÑÑмо Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð±ÐµÐ· ÑÑÑановки ÑоÑÑа. Ð ÐµÐ¶Ð¸Ð¼Ñ "ÐÑÑ
ание", "Ðолна", "РеакÑÐ¸Ñ Ð½Ð° нажаÑие" и многие дÑÑгие.',image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k87s",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k870",name:"VOROTEX K870",category:Te.KEYBOARD,price:4990,originalPrice:5990,stock:451,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑгономиÑÐ½Ð°Ñ TKL меÑ
аника Ñ Ð´Ð²ÑÑ
ÑежимнÑм ÑегÑлÑÑоÑом и ÑмазаннÑми TNT ÑвиÑÑами.",longDescription:'VOROTEX K870 â ÑÑо ÑволÑÑÐ¸Ñ TKL ÑоÑмаÑа. Ðлавное пÑеимÑÑеÑÑво модели â ÑдобнÑй мÑлÑÑимедийнÑй ÑоллеÑ, коÑоÑÑй позволÑÐµÑ ÑегÑлиÑоваÑÑ Ð½Ðµ ÑолÑко гÑомкоÑÑÑ, но и ÑÑкоÑÑÑ Ð¿Ð¾Ð´ÑвеÑки одним движением. ÐлавиаÑÑÑа поÑÑавлÑеÑÑÑ Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑм набоÑом ÑвеÑнÑÑ
кейкапов (Teal/Green) в комплекÑе, позволÑÑ Ð²Ð°Ð¼ каÑÑомизиÑоваÑÑ Ð²Ð½ÐµÑний вид. ÐÑнаÑена ÑмазаннÑми Ñ Ð·Ð°Ð²Ð¾Ð´Ð° желÑÑми ÑвиÑÑами "TNT Yellow" Ð´Ð»Ñ Ð¸Ð´ÐµÐ°Ð»Ñно плавного Ñ
ода.',features:["Hot-Swap","TNT Yellow","Volume Roller","Extra Keycaps"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"87",СвиÑÑи:'"TNT" yellow (жÑлÑÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐвÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",ÐодÑвеÑка:"RGB (30+ Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"360 x 137 x 43 мм",ÐеÑ:"840 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ"},rating:4.8,seo:{title:"K870 TKL ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа | TNT Yellow, RGB, Ð Ð¾Ð»Ð»ÐµÑ | VOROTEX",description:"VOROTEX K870 - TKL клавиаÑÑÑа Ñ ÑоллеÑом гÑомкоÑÑи. ÐелÑÑе ÑвиÑÑи TNT, 30 Ñежимов RGB, Hot-Swap. РкомплекÑе дополниÑелÑнÑе ÑвеÑнÑе кейкапÑ.",keywords:"k870 клавиаÑÑÑа, tnt yellow switch, клавиаÑÑÑа Ñ ÑоллеÑом, hot swap, rgb меÑ
аника, vorotex",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"beige-green",name:"ÐежевÑй/ÐелÑнÑй",colors:["#e0d6c2","#00ffaa"]},{id:"grey",name:"СеÑÑй",value:"#777777"}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"yellow",name:"TNT Yellow"}]}],variants:[{id:"00-00001901",externalId:"00-00001901",combination:{color:"beige-green",switch:"yellow"},stock:43,price:4990},{id:"00-00002001",externalId:"00-00002001",combination:{color:"grey",switch:"yellow"},stock:408,price:4990}],sections:[{id:"k870-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐÑÑÑÑе HotSwap TNT ÑвиÑÑи жÑлÑÑе",icon:"cpu"},{title:"3D RGB подÑвеÑка. 30 ÑÑÑекÑов",icon:"zap"},{title:"ÐополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе",icon:"layout"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"}]},{id:"k870-tnt",type:"text-image",title:"TNT YELLOW SWITCHES",subtitle:"ÐакÑималÑÐ½Ð°Ñ Ð¿Ð»Ð°Ð²Ð½Ð¾ÑÑÑ",content:"ÐинейнÑе пеÑеклÑÑаÑели TNT Yellow ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ñ Ð·Ð°Ð²Ð¾Ð´Ð° Ð´Ð»Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð°Ñии ÑÑениÑ. ÐÑÑÑÑÑÑвие ÑакÑилÑного оÑклика и Ð»ÐµÐ³ÐºÐ°Ñ Ñила нажаÑÐ¸Ñ Ð´ÐµÐ»Ð°ÑÑ Ð¸Ñ
идеалÑнÑми Ð´Ð»Ñ Ð±ÑÑÑÑÑÑ
повÑоÑнÑÑ
нажаÑий в динамиÑнÑÑ
игÑаÑ
.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k870-roller",type:"text-image",title:"ÐÐУХРÐÐÐÐÐЫРРÐÐÐÐÐ ",subtitle:"ÐвÑк и СвеÑ",content:"УникалÑнÑй ÑегÑлÑÑÐ¾Ñ ÑабоÑÐ°ÐµÑ Ð² двÑÑ
ÑежимаÑ
. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ менÑÐµÑ Ð³ÑомкоÑÑÑ ÑиÑÑемÑ. ÐÑи ÑдеÑжании кнопки пеÑеклÑÑаеÑÑÑ Ð½Ð° ÑпÑавление ÑÑкоÑÑÑÑ Ð¿Ð¾Ð´ÑвеÑки клавиаÑÑÑÑ. ÐндикаÑÐ¾Ñ ÑÑдом подÑÐºÐ°Ð¶ÐµÑ ÑекÑÑий Ñежим.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k870-keycaps",type:"text-image",title:"ÐÐÐУСÐЫРÐÐÐÐÐÐЫ",subtitle:"ÐаÑÑомизаÑÐ¸Ñ Ð¸Ð· коÑобки",content:"РкомплекÑе Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑе Ð½Ð°Ð±Ð¾Ñ ÑменнÑÑ
ÑвеÑнÑÑ
ÐºÐ»Ð°Ð²Ð¸Ñ (Esc, Space, Enter, ÑÑÑелки). СмеÑивайÑе ÑвеÑа, ÑÑÐ¾Ð±Ñ ÑоздаÑÑ Ñвой ÑникалÑнÑй ÑÑÐ¸Ð»Ñ Ð±ÐµÐ· дополниÑелÑнÑÑ
ÑÑаÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-k870",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k680-std",name:"VOROTEX K680",category:Te.KEYBOARD,price:4690,originalPrice
2893:5490,stock:1640,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐомпакÑÐ½Ð°Ñ 65% меÑ
аника Ñ ÑоллеÑом, ÑÑкой RGB подÑвеÑкой и линейнÑми ÑвиÑÑами TNT.",longDescription:"VOROTEX K680 (Standard) â ÑÑо Ð±Ð°Ð»Ð°Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑноÑÑи и ÑÑнкÑионала. ФоÑÐ¼Ð°Ñ 65% (68 клавиÑ) ÑоÑ
ÑанÑÐµÑ Ð²Ð°Ð¶Ð½Ñе ÑÑÑелки и навигаÑионнÑй блок, но оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´Ð°ÐµÑ Ð¼Ð°ÐºÑимÑм меÑÑа на ÑÑоле Ð´Ð»Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¼ÑÑи. РоÑлиÑие Ð¾Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ
компакÑнÑÑ
моделей, здеÑÑ ÑÑÑановлен полноÑеннÑй ÑÐ¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи. Ðод капоÑом â пÑовеÑеннÑе желÑÑе ÑвиÑÑи TNT Yellow Ñ ÑеÑÑÑÑом 50 млн нажаÑий. ЯÑÐºÐ°Ñ RGB подÑвеÑка Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð½Ð°ÑÑÑойки ÑеÑез ÑоÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð°Ð´Ð°Ð¿ÑиÑоваÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð¿Ð¾Ð´ лÑбой ÑеÑап. ÐÑлиÑнÑй ÑÑаÑÑ Ð² Ð¼Ð¸Ñ ÐºÐ°ÑÑомной меÑ
аники.",features:["68 Keys","TNT Yellow","Volume Roller","RGB"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"68",СвиÑÑи:'"TNT" yellow (жÑлÑÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐвÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",ÐодÑвеÑка:"RGB (30+ Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"327 x 114 x 43 мм",ÐеÑ:"800 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ"},rating:4.9,seo:{title:"K680 65% ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа | TNT Yellow, RGB | VOROTEX",description:"ÐомпакÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа K680 Ñ ÑоллеÑом. ÐелÑÑе ÑвиÑÑи TNT, ÑÑÐºÐ°Ñ RGB подÑвеÑка, 68 клавиÑ. ÐакÑимÑм пÑоÑÑÑанÑÑва Ð´Ð»Ñ Ð¼ÑÑи.",keywords:"k680 клавиаÑÑÑа, 65% клавиаÑÑÑа, tnt yellow, компакÑÐ½Ð°Ñ Ð¼ÐµÑ
аника, vorotex, rgb подÑвеÑка",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"white-purple",name:"ÐелÑй/ФиолеÑовÑй",colors:["#ffffff","#9933ff"]},{id:"cream-grey",name:"ÐÑемовÑй/СеÑÑй",colors:["#f5f5dc","#777777"]},{id:"grey",name:"СеÑÑй",value:"#777777"},{id:"dark-grey-cream",name:"Темно-ÑеÑÑй/ÐÑемовÑй",colors:["#333333","#f5f5dc"]},{id:"purple",name:"ФиолеÑовÑй",value:"#9933ff"}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"yellow",name:"TNT Yellow"}]}],variants:[{id:"00-00001896",externalId:"00-00001896",combination:{color:"white-purple",switch:"yellow"},stock:481,price:4690},{id:"00-00001885",externalId:"00-00001885",combination:{color:"cream-grey",switch:"yellow"},stock:441,price:4690},{id:"00-00001914",externalId:"00-00001914",combination:{color:"grey",switch:"yellow"},stock:334,price:4690},{id:"00-00001897",externalId:"00-00001897",combination:{color:"dark-grey-cream",switch:"yellow"},stock:147,price:4690},{id:"00-00001884",externalId:"00-00001884",combination:{color:"purple",switch:"yellow"},stock:237,price:4690}],sections:[{id:"k680-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐÑÑÑÑе HotSwap TNT ÑвиÑÑи жÑлÑÑе",icon:"cpu"},{title:"3D RGB подÑвеÑка. 30 ÑÑÑекÑов",icon:"zap"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"}]},{id:"k680-compact",type:"text-image",title:"ÐÐÐÐÐÐТÐÐСТЬ 65%",subtitle:"ÐолÑÑе меÑÑа Ð´Ð»Ñ Ð¼ÑÑи",content:"ФоÑм-ÑакÑÐ¾Ñ 65% ÑбиÑÐ°ÐµÑ Ñедко иÑполÑзÑемÑе клавиÑи, ÑоÑ
ÑанÑÑ ÑÑÑелки и Del/PgUp/PgDn. ÐÑо оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´Ð°ÐµÑ Ð´Ð¾ 30% меÑÑа на ÑÑоле по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñо ÑÑандаÑÑной клавиаÑÑÑой, ÑÑо кÑиÑиÑно Ð´Ð»Ñ Ð³ÐµÐ¹Ð¼ÐµÑов Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ ÑÑвÑÑвиÑелÑноÑÑÑÑ Ð¼ÑÑи.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k680-rgb",type:"text-image",title:"3D RGB ÐÐÐСÐÐТÐÐ",subtitle:"ÐÑмоÑÑеÑа игÑÑ",content:"ЯÑкие ÑвеÑÐ¾Ð´Ð¸Ð¾Ð´Ñ Ð¿Ð¾Ð´ каждой клавиÑей ÑоздаÑÑ Ð½Ð°ÑÑÑенное ÑвеÑение. ÐаÑÑÑойÑе один из 30 Ñежимов или ÑоздайÑе Ñвой ÑобÑÑвеннÑй пÑоÑÐ¸Ð»Ñ ÑеÑез ÑиÑменное ÐÐ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k680-switch",type:"text-image",title:"TNT YELLOW",subtitle:"СкоÑоÑÑÑ ÑеакÑии",content:'ÐинейнÑе ÑвиÑÑи Ñ ÑÑилием 45г обеÑпеÑиваÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ñй оÑклик. Смазка Ñ Ð·Ð°Ð²Ð¾Ð´Ð° ÑбиÑÐ°ÐµÑ ÑÑÑÐµÐºÑ "пеÑка", Ð´ÐµÐ»Ð°Ñ ÐºÐ°Ð¶Ð´Ð¾Ðµ нажаÑие плавнÑм и пÑедÑказÑемÑм.',image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k680",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k630w",name:"VOROTEX K630W",category:Te.KEYBOARD,price:4690,originalPrice
2893:5690,stock:1026,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÐµÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа 60% Ñ ÑÑÐµÐ¼Ñ Ñежимами подклÑÑÐµÐ½Ð¸Ñ Ð¸ емким аккÑмÑлÑÑоÑом.",longDescription:"Свобода Ð¾Ñ Ð¿Ñоводов Ñ VOROTEX K630W. ÐÑа ÑлÑÑÑакомпакÑÐ½Ð°Ñ (60%) клавиаÑÑÑа поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑи Ñежима подклÑÑениÑ: Bluetooth 5.0 (Ð´Ð»Ñ Ð½Ð¾ÑÑбÑков/планÑеÑов), Ñадиоканал 2.4G (Ð´Ð»Ñ Ð¸Ð³Ñ Ð±ÐµÐ· задеÑжек) и клаÑÑиÑеÑкий пÑоводной Ñежим. ÐÑÑÑоеннÑй лиÑиевÑй аккÑмÑлÑÑÐ¾Ñ Ð½Ð° 2000 mAh обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÐ´ÐµÐ»Ð¸ ÑабоÑÑ Ð±ÐµÐ· подзаÑÑдки (Ñ Ð²ÑклÑÑенной подÑвеÑкой). РкомплекÑе идÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ (Blue/Teal), позволÑÑÑие оÑвежиÑÑ Ð²Ð½ÐµÑний вид ÑÑÑÑойÑÑва.",features:["Wireless 3-Mode","TNT Yellow","2000mAh","Extra Keycaps"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"63",СвиÑÑи:'"TNT" yellow (жÑлÑÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов",ÐодÑвеÑка:"RGB (20+ Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"Bluetooth / 2.4G / ÐÑоводной","ÐиÑиевÑй аккÑмÑлÑÑоÑ":"2000 mAh","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"300 x 115 x 43 мм",ÐеÑ:"530 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ"},rating:4.8,seo:{title:"K630W ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа | 3 Режима, RGB | VOROTEX",description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ñвобода Ñ VOROTEX K630W. Bluetooth, 2.4G и пÑовод. 63 клавиÑи, TNT Yellow ÑвиÑÑи, аккÑмÑлÑÑÐ¾Ñ 2000mAh. ÐомпакÑноÑÑÑ Ð¸ моÑÑ.",keywords:"k630w, беÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, 3 Ñежима подклÑÑениÑ, bluetooth меÑ
аника, compact 60%, vorotex",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"grey",name:"СеÑÑй",value:"#777777"},{id:"beige-green",name:"ÐежевÑй/ÐелÑнÑй",colors:["#e0d6c2","#00ffaa"]},{id:"white-purple",name:"ÐелÑй/ФиолеÑовÑй",colors:["#ffffff","#9933ff"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"yellow",name:"TNT Yellow"}]}],variants:[{id:"00-00002034",externalId:"00-00002034",combination:{color:"grey",switch:"yellow"},stock:483,price:4690},{id:"00-00001886",externalId:"00-00001886",combination:{color:"beige-green",switch:"yellow"},stock:47,price:4690},{id:"00-00001887",externalId:"00-00001887",combination:{color:"white-purple",switch:"yellow"},stock:496,price:4690}],sections:[{id:"k630w-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐÑÑÑÑе HotSwap TNT ÑвиÑÑи жÑлÑÑе",icon:"cpu"},{title:"ТÑи Ñежима подклÑÑениÑ: USB, BT, Radio",icon:"zap"},{title:"ÐаÑÑÑÐ°Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ 3D RGB подÑвеÑка",icon:"star"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"}]},{id:"k630w-conn",type:"text-image",title:"ТРРРÐÐÐÐÐ Ð ÐÐÐТЫ",subtitle:"УнивеÑÑалÑноÑÑÑ Ð´Ð»Ñ Ð»ÑбÑÑ
задаÑ",content:"ÐÑполÑзÑйÑе бÑÑÑÑÑй Ñадиоканал 2.4G Ð´Ð»Ñ Ð¸Ð³Ñ Ð±ÐµÐ· задеÑжек. ÐеÑеклÑÑайÑеÑÑ Ð½Ð° Bluetooth 5.0 Ð´Ð»Ñ ÑабоÑÑ Ñ Ð¿Ð»Ð°Ð½ÑеÑом или ÑелеÑоном (до 3 ÑÑÑÑойÑÑв). ÐодклÑÑиÑе ÐºÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ Ð·Ð°ÑÑдки и ÑабоÑÑ Ð² пÑоводном Ñежиме.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k630w-battery",type:"text-image",title:"ÐÐÐÐЯ ÐÐТÐÐ ÐЯ",subtitle:"2000 mAh",content:"ÐÑÑÑоеннÑй аккÑмÑлÑÑÐ¾Ñ Ð¾Ð±ÐµÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð»Ð¸ÑелÑнÑÑ Ð°Ð²ÑономнÑÑ ÑабоÑÑ. ÐнÑеллекÑÑалÑнÑй Ñежим Ñна авÑомаÑиÑеÑки оÑклÑÑÐ°ÐµÑ Ð¿Ð¾Ð´ÑвеÑÐºÑ Ð¿Ñи бездейÑÑвии Ð´Ð»Ñ Ñкономии ÑнеÑгии.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k630w-60",type:"text-image",title:"ФÐÐ ÐÐТ 60%",subtitle:"УлÑÑÑакомпакÑноÑÑÑ",content:"ÐÑего 63 клавиÑи. ÐиÑего лиÑнего. ÐÑÐ¾Ñ ÑоÑÐ¼Ð°Ñ Ð¸Ð´ÐµÐ°Ð»ÐµÐ½ Ð´Ð»Ñ ÐºÐ¸Ð±ÐµÑÑпоÑÑÑменов, Ñак как позволÑÐµÑ ÑаÑположиÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð¿Ð¾Ð´ лÑбÑм Ñглом и оÑÑавлÑÐµÑ Ð¼Ð°ÐºÑимÑм меÑÑа Ð´Ð»Ñ ÐºÐ¾Ð²Ñика.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-k630w",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k610-light",name:"VOROTEX K610 LIGHT",category:Te.KEYBOARD,price:2990,originalPrice
2893:3990,stock:583,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐпÑимизиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¼ÐµÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа 60% Ñ ÑÑкой ÑÑÑеÑикой и бÑÑÑÑÑми кÑаÑнÑми ÑвиÑÑами.",longDescription:"VOROTEX K610 LIGHT â ÑÑо ÑÑкий акÑÐµÐ½Ñ Ð½Ð° ваÑем ÑÑоле. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа вÑполнена в ÑÑÑогой ÑеÑо-бежевой гамме (Grey/Beige). Ðднако в комплекÑе Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑе Ð½Ð°Ð±Ð¾Ñ ÑÑкиÑ
оÑанжевÑÑ
кейкапов, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð°ÐºÑенÑÑ Ð¿Ð¾ ÑÐ²Ð¾ÐµÐ¼Ñ Ð²ÐºÑÑÑ. ФоÑÐ¼Ð°Ñ 60% идеален Ð´Ð»Ñ ÑÑÑеÑов, оÑÐ²Ð¾Ð±Ð¾Ð¶Ð´Ð°Ñ Ð¼ÐµÑÑо Ð´Ð»Ñ ÑиÑокиÑ
движений мÑÑÑÑ. ÐинейнÑе кÑаÑнÑе ÑвиÑÑи обеÑпеÑиваÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ñй оÑклик без ÑелÑка.",features:["60% Compact","Red Switches","Extra Keycaps","Hot-Swap"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"61",СвиÑÑи:"RED (ÐÑаÑнÑе)","Тип ÑвиÑÑей":"ÐинейнÑе, Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"20 миллионов",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов) + RGB боковаÑ","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"300 x 115 x 43 мм",ÐеÑ:"500 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ"},rating:4.6,seo:{title:"K610 LIGHT ÐгÑÐ¾Ð²Ð°Ñ ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа 60% | Red Switch | VOROTEX",description:"ЯÑÐºÐ°Ñ Ð¸ компакÑÐ½Ð°Ñ K610 LIGHT. 61 клавиÑа, кÑаÑнÑе ÑвиÑÑи Ð´Ð»Ñ ÑкоÑоÑÑи, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ RGB подÑвеÑка. РкомплекÑе дополниÑелÑнÑе оÑанжевÑе кейкапÑ.",keywords:"k610 light, оÑÐ°Ð½Ð¶ÐµÐ²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, 60% меÑ
аника, red switch, игÑÐ¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, vorotex,",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"beige-grey",name:"ÐежевÑй/СеÑÑй",colors:["#e0d6c2","#777777"]},{id:"grey-beige",name:"СеÑÑй/ÐежевÑй",colors:["#777777","#e0d6c2"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Red"}]}],variants:[{id:"00-00001991",externalId:"00-00001991",combination:{color:"beige-grey",switch:"red"},stock:291,price:2990},{id:"00-00001992",externalId:"00-00001992",combination:{color:"grey-beige",switch:"red"},stock:292,price:2990}],sections:[{id:"k610-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐдиннадÑаÑÑ Ñежимов Rainbow подÑвеÑки",icon:"zap"},{title:"ÐпÑимизиÑованное ÑÑÑоение внÑÑÑенниÑ
Ñлоев",icon:"layers"},{title:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¸ заднÑÑ 3D RGB подÑвеÑка",icon:"star"},{title:"ÐополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ (Orange) в комплекÑе",icon:"layout"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k610-design",type:"text-image",title:"ЯРÐÐÐ ÐÐЦÐÐТ",subtitle:"ÐÑанжевÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе",content:"ХоÑиÑе оÑвежиÑÑ Ð²Ð¸Ð´ Ñвоего ÑабоÑего ÑÑола? ÐÑоÑÑо замениÑе ÑÑандаÑÑнÑе ÑеÑÑе клавиÑи на ÑÑкие оÑанжевÑе, коÑоÑÑе идÑÑ Ð² комплекÑе. СоздайÑе Ñвой ÑникалÑнÑй ÑÑÐ¸Ð»Ñ Ð·Ð° паÑÑ Ð¼Ð¸Ð½ÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k610-side-rgb",type:"text-image",title:"ÐÐÐÐÐÐЯ ÐÐÐСÐÐТÐÐ",subtitle:"СиÑние Ñо вÑеÑ
ÑÑоÑон",content:"УникалÑÐ½Ð°Ñ Ð¾ÑобенноÑÑÑ ÑеÑии LIGHT â дополниÑелÑнÑе RGB полоÑÑ Ð¿Ð¾ бокам коÑпÑÑа. Ðни ÑоздаÑÑ Ð¼Ñгкое ÑвеÑение на ÑÑоле, визÑалÑно ÑаÑÑиÑÑÑ Ð·Ð¾Ð½Ñ Ð¿Ð¾Ð´ÑвеÑки.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k610-switches",type:"text-image",title:"ÐÐ ÐСÐЫРСÐÐТЧÐ
2893",subtitle:"ÐÐ¸Ð½ÐµÐ¹Ð½Ð°Ñ ÑкоÑоÑÑÑ",content:"ÐлаÑÑиÑеÑкие Red ÑвиÑÑи â вÑÐ±Ð¾Ñ ÐºÐ¸Ð±ÐµÑÑпоÑÑÑменов. ÐÑÑÑÑÑÑвие ÑакÑилÑного ÑелÑка и легкий Ñ
од ÐºÐ»Ð°Ð²Ð¸Ñ Ð¾Ð±ÐµÑпеÑиваÑÑ Ð¼Ð°ÐºÑималÑнÑÑ ÑкоÑоÑÑÑ ÑеакÑии в игÑаÑ
.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k610",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k680-light",name:"VOROTEX K680 LIGHT",category:Te.KEYBOARD,price:3390,originalPrice:4190,stock:562,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐомпакÑÐ½Ð°Ñ 65% меÑ
аника Ñ ÑоллеÑом и боковой RGB подÑвеÑкой.",longDescription:"VOROTEX K680 LIGHT â ÑÑÐ¸Ð»Ñ Ð¸ ÑÑнкÑионалÑноÑÑÑ Ð² ÑоÑмаÑе 65%. 68 клавиÑ, ÑдобнÑй ÑÐ¾Ð»Ð»ÐµÑ ÑегÑлиÑовки гÑомкоÑÑи и подÑвеÑки. ÐоÑпÑÑ Ð²Ñполнен в ÑÑÑогом ÑеÑом ÑвеÑе Ñ ÑÑкими биÑÑзовÑми акÑенÑами (дополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе). ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¸ заднÑÑ 3D RGB подÑвеÑка ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑникалÑнÑÑ Ð°ÑмоÑÑеÑÑ. ТиÑ
ие линейнÑе кÑаÑнÑе ÑвиÑÑи Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Hot-Swap.",features:["68 Keys","Red Switch","Knob","Side RGB"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"68",СвиÑÑи:"RED (ÐÑаÑнÑе)","Тип ÑвиÑÑей":"ÐинейнÑе, Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"20 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа, двÑÑ
ÑежимнÑй",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов) + Side RGB","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"327 x 114 x 43 мм",ÐеÑ:"600 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)"},rating:4.7,seo:{title:"K680 LIGHT ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа | РоллеÑ, RGB | VOROTEX",description:"VOROTEX K680 LIGHT - 65% клавиаÑÑÑа Ñ ÑоллеÑом. ÐÑаÑнÑе ÑвиÑÑи, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ RGB подÑвеÑка, Hot-Swap. СÑилÑнÑй дизайн Grey/Teal.",keywords:"k680 light, клавиаÑÑÑа Ñ ÑоллеÑом, 65% меÑ
аника, red switch, vorotex, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"grey-dark-grey",name:"СеÑÑй/ТÑмно-ÑеÑÑй",colors:["#777777","#333333"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Red"}]}],variants:[{id:"00-00002030",externalId:"00-00002030",combination:{color:"grey-dark-grey",switch:"red"},stock:562,price:3390}],sections:[{id:"k680l-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐдиннадÑаÑÑ Ñежимов Rainbow подÑвеÑки",icon:"zap"},{title:"ÐпÑимизиÑованное ÑÑÑоение внÑÑÑенниÑ
Ñлоев",icon:"layers"},{title:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¸ заднÑÑ 3D RGB подÑвеÑка",icon:"star"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k680l-side",type:"text-image",title:"360° ÐÐÐСÐÐТÐÐ",subtitle:"ÐÑмоÑÑеÑа на макÑимÑме",content:"Ðомимо подÑвеÑки клавиÑ, Ð¼Ð¾Ð´ÐµÐ»Ñ K680 LIGHT оÑнаÑена конÑÑÑной RGB подÑвеÑкой по бокам и Ñзади коÑпÑÑа. ÐÑо ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑÑÑÐµÐºÑ Ð¿Ð°ÑÐµÐ½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð½Ð°Ð´ ÑÑолом и добавлÑÐµÑ ÑÑÐ¸Ð»Ñ Ð²Ð°ÑÐµÐ¼Ñ ÑеÑапÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k680l-knob",type:"text-image",title:"УÐÐ ÐÐÐÐÐÐÐ ÐÐУÐÐÐ",subtitle:"ÐÑÑÑоеннÑй ÑоллеÑ",content:"РедкоÑÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑнÑÑ
клавиаÑÑÑ â полноÑеннÑй ÑÐ¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи. УпÑавлÑйÑе медиа-конÑенÑом бÑÑÑÑо и инÑÑиÑивно, не иÑполÑзÑÑ ÑоÑеÑÐ°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k680l-color",type:"text-image",title:"TEAL ACCENTS",subtitle:"СÑилÑÐ½Ð°Ñ ÑаÑÑвеÑка",content:"СÑÑогий ÑеÑÑй коÑпÑÑ Ð¾Ð¶Ð¸Ð²Ð»ÑÑÑ ÑÑкие биÑÑзовÑе (Teal) кейкапÑ, идÑÑие в комплекÑе. ÐлавиаÑÑÑа вÑглÑÐ´Ð¸Ñ ÑовÑеменно и доÑого.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-k680l",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k840-light",name:"VOROTEX K840 LIGHT",category:Te.KEYBOARD,price:3590,originalPrice
2893:4390,stock:132,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑгономиÑÐ½Ð°Ñ 75% клавиаÑÑÑа Ñ ÑоллеÑом. ÐдеалÑнÑй Ð±Ð°Ð»Ð°Ð½Ñ ÑазмеÑа и ÑÑнкÑионала.",longDescription:"VOROTEX K840 LIGHT â ÑÑо ÑоÑÐ¼Ð°Ñ 75% (84 клавиÑи), коÑоÑÑй ÑоÑеÑÐ°ÐµÑ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑноÑÑÑ Ñ Ð½Ð°Ð»Ð¸Ñием ÑÑнкÑионалÑного ÑÑда F1-F12. ÐвÑÑ
ÑежимнÑй ÑоллеÑ, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ RGB подÑвеÑка и ÑиÑ
ие кÑаÑнÑе ÑвиÑÑи делаÑÑ ÐµÑ Ð¾ÑлиÑнÑм вÑбоÑом как Ð´Ð»Ñ ÑабоÑÑ, Ñак и Ð´Ð»Ñ Ð¸Ð³Ñ. РкомплекÑе Ð½Ð°Ð±Ð¾Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ
кейкапов Ð´Ð»Ñ ÐºÐ°ÑÑомизаÑии.",features:["84 Keys","Red Switch","Knob","Side RGB"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"84",СвиÑÑи:"RED (ÐÑаÑнÑе)","Тип ÑвиÑÑей":"ÐинейнÑе, Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"20 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа, двÑÑ
ÑежимнÑй",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов) + Side RGB","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"327 x 135 x 43 мм",ÐеÑ:"600 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)"},rating:4.8,seo:{title:"K840 LIGHT ÐлавиаÑÑÑа 75% | РоллеÑ, RGB | VOROTEX",description:"ÐÑпиÑÑ K840 LIGHT - 75% меÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа. 84 клавиÑи, ÑÐ¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка, Red ÑвиÑÑи. ÐÑгономика и ÑÑилÑ.",keywords:"k840 light, клавиаÑÑÑа 75%, 84 клавиÑи, меÑ
аника Ñ ÐºÑÑÑилкой, red switch, vorotex",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"grey-dark-grey",name:"СеÑÑй/ТÑмно-ÑеÑÑй",colors:["#777777","#333333"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Red"}]}],variants:[{id:"00-00002031",externalId:"00-00002031",combination:{color:"grey-dark-grey",switch:"red"},stock:132,price:3590}],sections:[{id:"k840l-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐдиннадÑаÑÑ Ñежимов Rainbow подÑвеÑки",icon:"zap"},{title:"ÐпÑимизиÑованное ÑÑÑоение внÑÑÑенниÑ
Ñлоев",icon:"layers"},{title:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¸ заднÑÑ 3D RGB подÑвеÑка",icon:"star"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"},{title:"75% ÑоÑмÑакÑÐ¾Ñ Ð² модном иÑполнении",icon:"layout"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k840l-75",type:"text-image",title:"ÐÐÐÐТÐЯ СÐÐ ÐÐÐÐÐ",subtitle:"ФоÑÐ¼Ð°Ñ 75%",content:"Ðам болÑÑе не нÑжно вÑбиÑаÑÑ Ð¼ÐµÐ¶Ð´Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑноÑÑÑÑ Ð¸ F-клавиÑами. ФоÑÐ¼Ð°Ñ 75% пÑедоÑÑавлÑÐµÑ Ð¿Ð¾Ð»Ð½Ñй ÑÑнкÑионал в коÑпÑÑе, коÑоÑÑй лиÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ болÑÑе 60% клавиаÑÑÑ. ÐдеалÑно Ð´Ð»Ñ ÑабоÑÑ Ð¸ MMORPG.",image:"/placeholder.svg",alignment:"right",theme:"dark"}
2893,{id:"k840l-side",type:"text-image",title:"ÐÐÐÐÐÐЯ RGB",subtitle:"СÑилÑÐ½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",content:"Ðак и во вÑей ÑеÑии LIGHT, здеÑÑ ÐµÑÑÑ Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð½ÑÑÑÐ½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка, коÑоÑÐ°Ñ Ð²Ð¸Ð·ÑалÑно оÑделÑÐµÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð¾Ñ Ð¿Ð¾Ð²ÐµÑÑ
ноÑÑи ÑÑола.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k840l-knob",type:"text-image",title:"ÐУÐЬТÐÐÐÐÐÐ Ð ÐÐÐÐÐ ",subtitle:"УпÑавление звÑком",content:"ÐÑделеннÑй ÑÐ¾Ð»Ð»ÐµÑ Ð² пÑавом веÑÑ
нем ÑÐ³Ð»Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ ÑегÑлиÑоваÑÑ Ð³ÑомкоÑÑÑ ÑиÑÑемÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k840l",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k980-light",name:"VOROTEX K980 LIGHT",category:Te.KEYBOARD,price:3690,originalPrice:4590,stock:350,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐолноÑазмеÑÐ½Ð°Ñ 98% меÑ
аника Ñ ÑиÑÑовÑм блоком и ÑоллеÑом в компакÑном коÑпÑÑе.",longDescription:"VOROTEX K980 LIGHT â ÑеÑение Ð´Ð»Ñ ÑеÑ
, кÑо не гоÑов жеÑÑвоваÑÑ NumPad-ом. ФоÑÐ¼Ð°Ñ 98% вмеÑÐ°ÐµÑ 98 клавиÑ, ÑоÑ
ÑанÑÑ Ð³Ð°Ð±Ð°ÑиÑÑ Ð±Ð»Ð¸Ð·ÐºÐ¸Ðµ к TKL моделÑм. СоÑ
Ñанена ÑиÑÐ¼ÐµÐ½Ð½Ð°Ñ ÑÑилиÑÑика ÑеÑии LIGHT: ÑÐ¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка, ÑиÑ
ие кÑаÑнÑе ÑвиÑÑи и ÑÑилÑÐ½Ð°Ñ ÑаÑÑвеÑка Grey/Teal. ÐополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе.",features:["98 Keys","Red Switch","Knob","NumPad"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"98",СвиÑÑи:"RED (ÐÑаÑнÑе)","Тип ÑвиÑÑей":"ÐинейнÑе, Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"20 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа, двÑÑ
ÑежимнÑй",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов) + Side RGB","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"385 x 135 x 43 мм",ÐеÑ:"700 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)"},rating:4.9,seo:{title:"K980 LIGHT ÐолноÑазмеÑÐ½Ð°Ñ ÐеÑ
аника 98% | РоллеÑ, RGB | VOROTEX",description:"VOROTEX K980 LIGHT - клавиаÑÑÑа 98% Ñ ÑиÑÑовÑм блоком. 98 клавиÑ, ÑоллеÑ, кÑаÑнÑе ÑвиÑÑи, Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка. ÐдеалÑно Ð´Ð»Ñ ÑабоÑÑ Ð¸ игÑ.",keywords:"k980 light, клавиаÑÑÑа Ñ Ð½Ð°Ð¼Ð¿Ð°Ð´Ð¾Ð¼, 98% меÑ
аника, red switch, vorotex, игÑÐ¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"grey-dark-grey",name:"СеÑÑй/ТÑмно-ÑеÑÑй",colors:["#777777","#333333"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Red"}]}],variants:[{id:"00-00002033",externalId:"00-00002033",combination:{color:"grey-dark-grey",switch:"red"},stock:350,price:3690}],sections:[{id:"k980l-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐдиннадÑаÑÑ Ñежимов Rainbow подÑвеÑки",icon:"zap"},{title:"ÐпÑимизиÑованное ÑÑÑоение внÑÑÑенниÑ
Ñлоев",icon:"layers"},{title:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¸ заднÑÑ 3D RGB подÑвеÑка",icon:"star"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"},{title:"ÐÑÑÑоеннÑй полноÑеннÑй нÑмпад",icon:"layout"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k980l-numpad",type:"text-image",title:"ÐÐÐÐЫРÐÐÐТРÐÐЬ",subtitle:"С ÑиÑÑовÑм блоком",content:"ÐдеалÑна Ð´Ð»Ñ ÑабоÑÑ Ñ ÑаблиÑами, биндов в игÑаÑ
и ввода ÑиÑел. ФоÑÐ¼Ð°Ñ 98% ÑплоÑнÑÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñи, ÑбиÑÐ°Ñ Ð¿ÑÑÑое пÑоÑÑÑанÑÑво, но ÑоÑ
ÑанÑÑ ÑÑнкÑионал NumPad.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k980l-side",type:"text-image",title:"SIDE RGB",subtitle:"ФиÑÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",content:"СвеÑодиоднÑе полоÑÑ Ð¿Ð¾ бокам коÑпÑÑа добавлÑÑÑ Ð¾Ð±Ñемное ÑвеÑение, коÑоÑое можно наÑÑÑоиÑÑ Ð¾ÑделÑно Ð¾Ñ Ð¾Ñновной подÑвеÑки клавиÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k980l-switches",type:"text-image",title:"RED SWITCHES",subtitle:"ТиÑ
ий гейминг",content:"ÐинейнÑе кÑаÑнÑе пеÑеклÑÑаÑели обеÑпеÑиваÑÑ Ð±ÑÑÑÑÑй и ÑиÑ
ий ввод, ÑÑо оÑобенно важно пÑи иÑполÑзовании клавиаÑÑÑÑ Ð² оÑиÑе или ноÑÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-k980l",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-sk820w",name:"VOROTEX SK820W",category:Te.KEYBOARD,price:6190,originalPrice
2893:7490,stock:63,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐнноваÑÐ¸Ð¾Ð½Ð½Ð°Ñ Ð±ÐµÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ Ð´Ð¸Ñплеем ÑÑÐ¾Ð²Ð½Ñ Ð·Ð°ÑÑда, ÑоллеÑом и пÑемиалÑнÑм Ñайпингом.",longDescription:"VOROTEX SK820W â ÑÑо ÑеÑ
нологиÑеÑкий ÑедевÑ. ÐÑÑÑоеннÑй диÑплей оÑобÑÐ°Ð¶Ð°ÐµÑ ÑоÑнÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑÑда баÑаÑеи, ÑÑÐ¾Ð±Ñ Ð²Ñ Ð²Ñегда бÑли в кÑÑÑе ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÑÑойÑÑва. ÐÐ°Ð·Ð¾Ð²Ð°Ñ ÑаÑÑвеÑка White/Blue ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑиÑÑÑй и Ñвежий вид, а в комплекÑе Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑе дополниÑелÑнÑе ÑвеÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ (Pastel/Pink) Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑникалÑного обÑаза. ТÑи Ñежима подклÑÑÐµÐ½Ð¸Ñ (BT/2.4/USB) и огÑомнÑй аккÑмÑлÑÑÐ¾Ñ Ð½Ð° 4000 mAh делаÑÑ ÐµÑ Ð¸Ð´ÐµÐ°Ð»ÑнÑм ÑпÑÑником.",features:["Battery Display","Gasket Mount","Extra Keycaps","Knob"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",ÐиÑплей:"ÐндикаÑÐ¾Ñ Ð·Ð°ÑÑда баÑаÑеи",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"82",СвиÑÑи:'"TNT" yellow (жÑлÑÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ð Ð¾Ð»Ð»ÐµÑ (ÐÑомкоÑÑÑ/ÐенÑ)",ÐодÑвеÑка:"RGB (20+ Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"Bluetooth / 2.4G / ÐÑоводной","ÐиÑиевÑй аккÑмÑлÑÑоÑ":"4000 mAh","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"327 x 132 x 43 мм",ÐеÑ:"840 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ"},rating:5,seo:{title:"SK820W ÐлавиаÑÑÑа Ñ ÐкÑаном | Gasket Mount, Wireless | VOROTEX",description:"ÐÑемиалÑÐ½Ð°Ñ SK820W Ñ Ð´Ð¸Ñплеем заÑÑда. ÐеÑпÑоводнаÑ, Gasket Mount, ÑоллеÑ, аккÑмÑлÑÑÐ¾Ñ 4000mAh. ÐополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе.",keywords:"sk820w, клавиаÑÑÑа Ñ ÑкÑаном, индикаÑÐ¾Ñ Ð·Ð°ÑÑда, gasket mount, беÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÐµÑ
аника, vorotex, пÑемиÑм клавиаÑÑÑа",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"beige-green",name:"ÐежевÑй/ÐелÑнÑй",colors:["#e0d6c2","#00ffaa"]},{id:"white-purple",name:"ÐелÑй/ФиолеÑовÑй",colors:["#ffffff","#9933ff"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"yellow",name:"TNT Yellow"}]}
2893],variants:[{id:"00-00001893",externalId:"00-00001893",combination:{color:"beige-green",switch:"yellow"},stock:11,price:6190},{id:"00-00001894",externalId:"00-00001894",combination:{color:"white-purple",switch:"yellow"},stock:52,price:6190}],sections:[{id:"sk820w-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐкÑан Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°Ñией заÑÑда баÑаÑеи",icon:"monitor"},{title:"ÐÑÑÑÑе HotSwap TNT ÑвиÑÑи жÑлÑÑе",icon:"cpu"},{title:"ТÑи Ñежима подклÑÑениÑ: USB, BT, Radio",icon:"zap"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑоÑ",icon:"volume"},{title:"ÐополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе",icon:"layout"}]},{id:"sk820w-gasket",type:"text-image",title:"GASKET MOUNT СТРУÐТУРÐ",subtitle:"ÐдеалÑнÑй звÑк Ñайпинга",content:'ÐногоÑÐ»Ð¾Ð¹Ð½Ð°Ñ ÑÑмоизолÑÑÐ¸Ñ Ð¸ кÑепление плаÑÑ ÑеÑез пÑокладки (Gasket) обеÑпеÑиваÑÑ Ð¼Ñгкий, "доÑогой" звÑк пеÑаÑи без меÑаллиÑеÑкиÑ
пÑизвÑков. ÐÑо пÑемиалÑнÑй ÑÑандаÑÑ Ð² миÑе меÑ
аниÑеÑкиÑ
клавиаÑÑÑ.',image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"sk820w-screen",type:"text-image",title:"ÐÐФÐÐ ÐÐТÐÐÐЫРÐÐСÐÐÐÐ",subtitle:"ÐÑегда в кÑÑÑе",content:"ÐÑÑÑоеннÑй ÑкÑан оÑобÑÐ°Ð¶Ð°ÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑÑда аккÑмÑлÑÑоÑа и ÑекÑÑий Ñежим подклÑÑениÑ. ÐÑ Ð±Ð¾Ð»ÑÑе никогда не оÑÑанеÑеÑÑ Ð±ÐµÐ· клавиаÑÑÑÑ Ð² ÑÐ°Ð·Ð³Ð°Ñ Ð±Ð¸ÑвÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"sk820w-battery",type:"text-image",title:"4000 mAh ÐÐÐУÐУÐЯТÐÐ ",subtitle:"ÐÐ¾Ð»Ð³Ð°Ñ ÑабоÑа",content:"ÐлагодаÑÑ ÑнеÑгоÑÑÑекÑÐ¸Ð²Ð½Ð¾Ð¼Ñ ÑÐ¸Ð¿Ñ Ð¸ емкой баÑаÑее, SK820W Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð½ÐµÐ´ÐµÐ»Ñми без подзаÑÑдки в Ñежиме без подÑвеÑки.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-sk820w",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k980",name:"VOROTEX K980",category:Te.KEYBOARD,price:5490,originalPrice:6490,stock:357,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐолноÑазмеÑÐ½Ð°Ñ (98%) меÑ
аника Ñ ÑиÑÑовÑм блоком, ÑоллеÑом и пÑемиалÑнÑм звÑком.",longDescription:"VOROTEX K980 â идеалÑнÑй ÑеÑение Ð´Ð»Ñ ÑеÑ
, ÐºÐ¾Ð¼Ñ Ð½Ñжен NumPad, но кÑо не Ñ
оÑÐµÑ Ð·Ð°Ð³ÑомождаÑÑ ÑÑол огÑомной клавиаÑÑÑой. ФоÑÐ¼Ð°Ñ 98% (1800 layout) ÑоÑ
ÑанÑÐµÑ Ð²Ñе клавиÑи в более компакÑном коÑпÑÑе. ÐÐ°Ð·Ð¾Ð²Ð°Ñ ÑаÑÑвеÑка White/Grey вÑглÑÐ´Ð¸Ñ ÑÑÑого и ÑÑилÑно, а комплекÑнÑе ÑиолеÑовÑе (Purple) ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´ÑалÑноÑÑи. ÐÑнаÑена желÑÑми ÑвиÑÑами TNT Ð´Ð»Ñ Ð±ÑÑÑÑой пеÑаÑи и игÑ. ÐвÑÑ
ÑежимнÑй ÑÐ¾Ð»Ð»ÐµÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑпÑавлÑÑÑ Ð¼ÑлÑÑимедиа на леÑÑ.",features:["98 Keys","NumPad","Volume Roller","Extra Keycaps"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"98",СвиÑÑи:'"TNT" yellow (жÑлÑÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ð Ð¾Ð»Ð»ÐµÑ (ÐÑомкоÑÑÑ/ЯÑкоÑÑÑ)",ÐодÑвеÑка:"RGB (30+ Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"170 мÐ",РазмеÑÑ:"384 x 133 x 40 мм",ÐеÑ:"920 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ"},rating:4.9,seo:{title:"K980 ÐолноÑазмеÑÐ½Ð°Ñ ÐеÑ
аника 98% | NumPad, RGB | VOROTEX",description:"VOROTEX K980 - клавиаÑÑÑа ÑоÑмаÑа 98% (1800) Ñ ÑиÑÑовÑм блоком. ÐомпакÑнее ÑÑандаÑÑной, но Ñ Ð¿Ð¾Ð»Ð½Ñм ÑÑнкÑионалом. РоллеÑ, Hot-Swap, дополниÑелÑнÑе кейкапÑ.",ke
2893ywords:"k980 клавиаÑÑÑа, 1800 layout, 98 клавиÑ, меÑ
аника Ñ Ð½Ð°Ð¼Ð¿Ð°Ð´Ð¾Ð¼, vorotex, tnt yellow",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"beige-green",name:"ÐежевÑй/ÐелÑнÑй",colors:["#e0d6c2","#00ffaa"]},{id:"white-purple",name:"ÐелÑй/ФиолеÑовÑй",colors:["#ffffff","#9933ff"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"yellow",name:"TNT Yellow"}]}],variants:[{id:"00-00001891",externalId:"00-00001891",combination:{color:"beige-green",switch:"yellow"},stock:206,price:5490},{id:"00-00001892",externalId:"00-00001892",combination:{color:"white-purple",switch:"yellow"},stock:151,price:5490}],sections:[{id:"k980-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐÑÑÑÑе HotSwap TNT ÑвиÑÑи жÑлÑÑе",icon:"cpu"},{title:"3D RGB подÑвеÑка. 30 ÑÑÑекÑов подÑвеÑки",icon:"zap"},{title:"ÐÑÑÑоеннÑй полноÑеннÑй нÑмпад",icon:"layout"},{title:"ÐополниÑелÑнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе",icon:"layers"}]},{id:"k980-layout",type:"text-image",title:"ФÐÐ ÐÐТ 1800 (98%)",subtitle:"ÐдеалÑÐ½Ð°Ñ ÑÑÑекÑивноÑÑÑ",content:"ÐÑÐ¾Ñ ÑоÑÐ¼Ð°Ñ ÑоÑ
ÑанÑÐµÑ Ð²Ñе клавиÑи ÑÑандаÑÑной клавиаÑÑÑÑ, вклÑÑÐ°Ñ ÑиÑÑовой блок, но ÑбиÑÐ°ÐµÑ Ð¿ÑÑÑое пÑоÑÑÑанÑÑво. РезÑлÑÑÐ°Ñ â клавиаÑÑÑа, коÑоÑÐ°Ñ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¼ÐµÐ½ÑÑе меÑÑа, но не ÑеÑÑÐµÑ Ð² ÑÑнкÑионалÑноÑÑи.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k980-switches",type:"text-image",title:"TNT YELLOW",subtitle:"ÐлавноÑÑÑ Ð² каждом нажаÑии",content:"ÐелÑÑе линейнÑе ÑвиÑÑи ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ð½Ð° заводе Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð¸Ð´ÐµÐ°Ð»Ñно гладкого Ñ
ода. Ðни ÑиÑе ÑиниÑ
ÑвиÑÑей и бÑÑÑÑее коÑиÑневÑÑ
.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k980-roller",type:"text-image",title:"ÐУÐЬТÐÐÐÐÐÐ Ð ÐÐÐÐÐ ",subtitle:"УпÑавление звÑком",content:"ÐÑÑÑÑо ÑегÑлиÑÑйÑе гÑомкоÑÑÑ Ð¼ÑзÑки или игÑÑ, не ÑвоÑаÑÐ¸Ð²Ð°Ñ Ð¾ÐºÐ½Ð°. ÐÑокÑÑÑка Ð¿Ð»Ð°Ð²Ð½Ð°Ñ Ð¸ ÑоÑнаÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k980",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-p61",name:"VOROTEX P61",category:Te.KEYBOARD,price:2690,originalPrice:3490,stock:636,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:'ÐомпакÑÐ½Ð°Ñ (60%) меÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ ÑникалÑнÑми кейкапами "Pudding" Ð´Ð»Ñ Ð¼Ð°ÐºÑималÑной ÑÑкоÑÑи RGB подÑвеÑки.',longDescription:'VOROTEX P61 â ÑÑо вÑ
одной Ð±Ð¸Ð»ÐµÑ Ð² Ð¼Ð¸Ñ ÑÑкого гейминга. ÐÐ»Ð°Ð²Ð½Ð°Ñ "ÑиÑка" модели â ÐºÐµÐ¹ÐºÐ°Ð¿Ñ "Pudding" Ñ Ð¿Ð¾Ð»ÑпÑозÑаÑнÑми боковÑми ÑÑенками. ÐÑо позволÑÐµÑ RGB подÑвеÑке заливаÑÑ ÑвеÑом вÑе пÑоÑÑÑанÑÑво вокÑÑг клавиÑ, ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ Ð¿Ð¾ÑÑÑÑаÑÑий визÑалÑнÑй ÑÑÑекÑ. ФоÑÐ¼Ð°Ñ 60% (вÑего 61 клавиÑа) Ð´ÐµÐ»Ð°ÐµÑ ÐµÑ Ð½ÐµÐ²ÐµÑоÑÑно компакÑной, оÑÑавлÑÑ Ð¼Ð°ÐºÑимÑм меÑÑа Ð´Ð»Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ð¹ мÑÑÑÑ Ð² ÑÑÑеÑаÑ
. ÐоддеÑживаеÑÑÑ ÑÑнкÑÐ¸Ñ Hot-Swap, Ñак ÑÑо Ð²Ñ Ð»ÐµÐ³ÐºÐ¾ ÑможеÑе замениÑÑ ÑвиÑÑи на лÑбÑе дÑÑгие (3-pin/5-pin).',features:["Pudding Keycaps","60% Compact","RGB","Hot-Swap"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип кейкапов":"Pudding (Ñ ÐºÐ¸ÑиллиÑей)","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"61",СвиÑÑи:"Outemu Red","Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (11 Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB (ÑÑемнÑй)","РабоÑий Ñок":"
2893100 мÐ",РазмеÑÑ:"290 x 101 x 38.5 мм",ÐеÑ:"550 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ"},rating:4.8,seo:{title:"P61 Ðини ÐлавиаÑÑÑа 60% | Pudding Keycaps, RGB | VOROTEX",description:"ÐÑпиÑÑ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑнÑÑ Ð¼ÐµÑ
Ð°Ð½Ð¸ÐºÑ P61 (60%). УникалÑнÑе Pudding ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð´Ð»Ñ ÑÑкой подÑвеÑки, Hot-Swap пеÑеклÑÑаÑели, ÑÑемнÑй кабелÑ. ÐдеалÑно Ð´Ð»Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑиÑ
ÑÑолов.",keywords:"p61 клавиаÑÑÑа, pudding keycaps, 60% клавиаÑÑÑа, мини меÑ
аника, rgb клавиаÑÑÑа, vorotex, hot swap",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"white-black",name:"ÐелÑй/ЧÑÑнÑй",colors:["#ffffff","#1a1a1a"]},{id:"black-white",name:"ЧÑÑнÑй/ÐелÑй",colors:["#1a1a1a","#ffffff"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Red"}]}],variants:[{id:"00-00001677",externalId:"00-00001677",combination:{color:"white-black",switch:"red"},stock:312,price:2690},{id:"00-00001679",externalId:"00-00001679",combination:{color:"black-white",switch:"red"},stock:324,price:2690}],sections:[{id:"p61-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:'ÐлавиÑи "Pudding" Ñ ÐºÐ¸ÑиллиÑей и подÑвеÑкой',text:"ÐакÑималÑÐ½Ð°Ñ ÑÑкоÑÑÑ",icon:"layers"},{title:"ÐаÑеÑÑвеннÑе Hot Swap ÑвиÑÑи",text:"ÐÑÑÑÑÐ°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° без пайки",icon:"settings"},{title:"ÐдиннадÑаÑÑ Ñежимов Rainbow подÑвеÑки",text:"ЯÑкие ÑÑÑекÑÑ",icon:"zap"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",text:"Plug & Play",icon:"download"},{title:"61 клавиÑа в ÑÑÑном и белом ÑвеÑаÑ
",text:"ÐомпакÑнÑй ÑоÑмаÑ",icon:"layout"}]},{id:"p61-pudding",type:"text-image",title:"PUDDING KEYCAPS",subtitle:"ÐолÑÑе ÑвеÑа, болÑÑе ÑÑилÑ",content:"ÐÐµÐ¹ÐºÐ°Ð¿Ñ Ñ Ð´Ð²Ð¾Ð¹Ð½Ñм лиÑÑем и полÑпÑозÑаÑнÑми боковинами пÑопÑÑкаÑÑ Ð½Ð° 50% болÑÑе ÑвеÑа, Ñем ÑÑандаÑÑнÑе. ÐаÑи RGB ÑÑÑекÑÑ Ð±ÑдÑÑ Ð²ÑглÑдеÑÑ Ð½Ð°ÑÑÑеннее и ÑÑÑе.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"p61-compact",type:"text-image",title:"60% ÐÐÐÐÐÐТÐÐСТЬ",subtitle:"ÐинимÑм меÑÑа",content:"УбÑав ÑиÑÑовой блок и ÑÑÑелки, Ð¼Ñ Ð¿Ð¾Ð»ÑÑили клавиаÑÑÑÑ, коÑоÑÐ°Ñ Ð»ÐµÐ³ÐºÐ¾ помеÑаеÑÑÑ Ð² ÑÑкзак. ÐдеалÑно Ð´Ð»Ñ ÑÑÑниÑов и маленÑкиÑ
ÑÑолов.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"p61-hotswap",type:"text-image",title:"HOT-SWAP",subtitle:"ÐоÑÑÑÐ°Ñ Ð·Ð°Ð¼ÐµÐ½Ð°",content:"ХоÑиÑе попÑобоваÑÑ Ð´ÑÑгие ÑвиÑÑи? СиÑÑема Hot-Swap позволÑÐµÑ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ð¸Ñ
без паÑлÑника. ÐкÑпеÑименÑиÑÑйÑе Ñ ÑакÑилÑнÑми оÑÑÑениÑми.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-p61",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-p82",name:"VOROTEX P82",category:Te.KEYBOARD,price:3390,originalPrice:4290,stock:399,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"82-клавиÑÐ½Ð°Ñ Ð¼ÐµÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ ÐºÐµÐ¹ÐºÐ°Ð¿Ð°Ð¼Ð¸ Pudding и ÑвиÑÑами OUTEMU.",longDescription:"VOROTEX P82 обÑединÑÐµÑ ÑÑÑеÑÐ¸ÐºÑ Pudding кейкапов Ñ ÑÑнкÑионалÑноÑÑÑÑ ÑоÑмаÑа 75%. ÐдеÑÑ ÐµÑÑÑ ÑÑд F-ÐºÐ»Ð°Ð²Ð¸Ñ Ð¸ ÑÑÑелки, пÑи ÑÑом клавиаÑÑÑа оÑÑаеÑÑÑ Ð³Ð¾Ñаздо компакÑнее ÑÑандаÑÑнÑÑ
моделей. ÐÑполÑзÑÑÑÑÑ Ð½Ð°Ð´ÐµÐ¶Ð½Ñе пеÑеклÑÑаÑели OUTEMU Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Hot-Swap. ÐÑо оÑлиÑнÑй ÑнивеÑÑалÑнÑй ваÑианÑ: доÑÑаÑоÑно кнопок Ð´Ð»Ñ ÑабоÑÑ Ð¸ ÑÑебÑ, но пÑи ÑÑом ÑÑилÑнÑй вид и игÑовÑе Ñ
аÑакÑеÑиÑÑики. ÐодклÑÑение Plug & Play не ÑÑебÑÐµÑ ÑÑÑановки Ñложного ÑоÑÑа â пÑоÑÑо подклÑÑи и игÑай.",features:["82 Keys","Pudding Keycaps","OUTEMU Switches","Hot-Swap"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа","Тип кейкапов":"Pudding (Ñ ÐºÐ¸ÑиллиÑей)",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"82",СвиÑÑи:"Outemu Red","Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов",ÐодÑвеÑка:"СмеÑÐ°Ð½Ð½Ð°Ñ (16 Ñежимов)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB","РабоÑий Ñок":"
2893150 мÐ",РазмеÑÑ:"330 x 135 x 37 мм",ÐеÑ:"620 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ"},rating:4.9,seo:{title:"P82 ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа TKL | Pudding Keycaps | VOROTEX",description:"ÐÑпиÑÑ P82 - ÑбаланÑиÑованнÑÑ 82-клавиÑнÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ. ÐÐµÐ¹ÐºÐ°Ð¿Ñ Pudding Ð´Ð»Ñ ÑоÑной подÑвеÑки, надежнÑе ÑвиÑÑи Outemu, поддеÑжка Hot-Swap.",keywords:"p82 клавиаÑÑÑа, tkl, pudding keycaps, outemu switch, игÑÐ¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, vorotex, 75% клавиаÑÑÑа",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"white-grey",name:"ÐелÑй/СеÑÑй",colors:["#ffffff","#999999"]},{id:"grey-white",name:"СеÑÑй/ÐелÑй",colors:["#999999","#ffffff"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Outemu Red"}]}],variants:[{id:"00-00001898",externalId:"00-00001898",combination:{color:"white-grey",switch:"red"},stock:171,price:3390},{id:"00-00001899",externalId:"00-00001899",combination:{color:"grey-white",switch:"red"},stock:228,price:3390}],sections:[{id:"p82-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:'ÐлавиÑи "Pudding" Ñ ÐºÐ¸ÑиллиÑей и подÑвеÑкой',icon:"layers"},{title:"ÐаÑеÑÑвеннÑе Hot Swap ÑвиÑÑи OUTEMU",icon:"settings"},{title:"ШеÑÑнадÑаÑÑ Ñежимов Rainbow подÑвеÑки",icon:"zap"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"},{title:"82 клавиÑи в ÑеÑом и белом ÑвеÑаÑ
",icon:"layout"}]},{id:"p82-pudding",type:"text-image",title:"PUDDING STYLE",subtitle:"ÐолоÑнÑй Ñлой",content:'ÐвÑÑ
ÑлойнÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ñ Ð¿ÑозÑаÑнÑм низом ÑоздаÑÑ ÑÑÑÐµÐºÑ "паÑÑÑиÑ
клавиÑ" и делаÑÑ Ð¿Ð¾Ð´ÑвеÑÐºÑ Ð½ÐµÐ²ÐµÑоÑÑно наÑÑÑенной и обÑемной.',image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"p82-75",type:"text-image",title:"ФÐÐ ÐÐТ 75%",subtitle:"ÐÑе необÑ
одимое",content:"82 клавиÑи вклÑÑаÑÑ Ð² ÑÐµÐ±Ñ ÑÑнкÑионалÑнÑй ÑÑд F1-F12 и ÑÑÑелки, ÑÑо Ð´ÐµÐ»Ð°ÐµÑ ÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ñдобной не ÑолÑко Ð´Ð»Ñ Ð¸Ð³Ñ, но и Ð´Ð»Ñ ÑабоÑÑ Ñ Ð´Ð¾ÐºÑменÑами.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"p82-outemu",type:"text-image",title:"OUTEMU SWITCHES",subtitle:"ÐадежноÑÑÑ",content:"ÐÑовеÑеннÑе вÑеменем пеÑеклÑÑаÑели Outemu обеÑпеÑиваÑÑ ÑеÑÑÑÑ Ð² 50 миллионов нажаÑий. ТеÑ
Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Hot-Swap позволÑÐµÑ Ð»ÐµÐ³ÐºÐ¾ обÑлÑживаÑÑ Ð¸ модиÑиÑиÑоваÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-p82",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-mk87r",name:"VOROTEX MK87R",category:Te.KEYBOARD,price:4790,originalPrice:5990,stock:666,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑÑококаÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð±ÐµÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÐµÑ
аниÑеÑÐºÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ PBT кейкапами, ÑÑмоизолÑÑией и ÑмазаннÑми ÑвиÑÑами Jerrzi Yellow.",longDescription:"VOROTEX MK87R â вÑÐ±Ð¾Ñ ÑеÑ
, кÑо ÑÐµÐ½Ð¸Ñ ÑÑÑеÑÐ¸ÐºÑ Ð¸ каÑеÑÑво маÑеÑиалов. ÐлавиаÑÑÑа оÑнаÑена PBT-кейкапами, коÑоÑÑе не ÑÑиÑаÑÑÑÑ Ñо вÑеменем и имеÑÑ Ð¿ÑиÑÑнÑÑ ÑеÑоÑ
оваÑÑÑ ÑекÑÑÑÑÑ. ÐеÑпÑоводной модÑÐ»Ñ 2.4G обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑÑабилÑнÑÑ ÑвÑÐ·Ñ Ð±ÐµÐ· задеÑжек, а вÑÑÑоеннÑй аккÑмÑлÑÑÐ¾Ñ Ð½Ð° 1200 mAh позволÑÐµÑ Ð·Ð°Ð±ÑÑÑ Ð¾ заÑÑдке надолго. ÐÐ»Ð°Ð²Ð½Ð°Ñ Ð¾ÑобенноÑÑÑ â линейнÑе ÑвиÑÑи Jerrzi Yellow, ÑмазаннÑе Ñ Ð·Ð°Ð²Ð¾Ð´Ð° Ð´Ð»Ñ Ð¸Ð´ÐµÐ°Ð»Ñно плавного Ñ
ода. СÑÑогий дизайн без лиÑней подÑвеÑки Ð´ÐµÐ»Ð°ÐµÑ ÐµÑ ÑмеÑÑной как в игÑовом ÑеÑапе, Ñак и в оÑиÑе.",features:["Wireless 2.4G","PBT Keycaps","Jerrzi Yellow","1200mAh"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа","ÐаÑеÑиал клавиÑ":"PBT-плаÑÑик",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"89",СвиÑÑи:'"Jerrzi" yellow (жÑлÑÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов",ÐодÑвеÑка:"ÐÑÑÑÑÑÑвÑÐµÑ (СÑÑогий ÑÑилÑ)",ÐодклÑÑение:"2.4G / пÑоводной","ÐиÑиевÑй аккÑмÑлÑÑоÑ"
2893:"1200 mAh",РазмеÑÑ:"353 x 123 x 40 мм",ÐеÑ:"830 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м.","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ"},rating:5,seo:{title:"MK87R ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа | PBT, Jerrzi Yellow | VOROTEX",description:"ÐÑемиалÑÐ½Ð°Ñ Ð±ÐµÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа MK87R. PBT кейкапÑ, ÑмазаннÑе ÑвиÑÑи Jerrzi Yellow, ÑÑÑогий дизайн без подÑвеÑки. ÐдеалÑно Ð´Ð»Ñ ÑабоÑÑ Ð¸ игÑ.",keywords:"mk87r, беÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÐµÑ
аника, pbt кейкапÑ, jerrzi yellow, ÑиÑ
Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, vorotex, 2.4g клавиаÑÑÑа",indexing:!0},options:[{id:"color",name:"Ð¦Ð²ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ñ",type:"color",values:[{id:"starry-blue",name:"ÐвезднÑй Ñиний",colors:["#000033","#ffff00"]},{id:"brown-sugar",name:"ÐоÑиÑневÑй ÑаÑ
аÑ",colors:["#5c4033","#e0c090"]},{id:"milky-brown",name:"ÐолоÑно-коÑиÑневÑй",colors:["#f5f5dc","#8b4513"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"yellow",name:"Jerrzi Yellow"}]}],variants:[{id:"00-00001843",externalId:"00-00001843",combination:{color:"starry-blue",switch:"yellow"},stock:201,price:4790},{id:"00-00001844",externalId:"00-00001844",combination:{color:"brown-sugar",switch:"yellow"},stock:272,price:4790},{id:"00-00001845",externalId:"00-00001845",combination:{color:"milky-brown",switch:"yellow"},stock:193,price:4790}],sections:[{id:"mk87r-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐлавиÑи из каÑеÑÑвенного PBT-плаÑÑика",icon:"layers"},{title:"ÐÑÑÑÑе жÑлÑÑе HotSwap Jerrzi ÑвиÑÑи",icon:"settings"},{title:"ÐеÑпÑоводной и пÑоводной Ñежим подклÑÑениÑ",icon:"zap"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"},{title:"ÐиÑиевÑй аккÑмÑлÑÑÐ¾Ñ 1200 mAh",icon:"cpu"}]},{id:"mk87r-pbt",type:"text-image",title:"PBT ÐÐÐÐÐÐЫ",subtitle:"ÐÑемиалÑнÑе маÑеÑиалÑ",content:"ÐлавиÑи изгоÑÐ¾Ð²Ð»ÐµÐ½Ñ Ð¸Ð· PBT плаÑÑика, коÑоÑÑй ÑÑÑойÑив к изноÑÑ Ð¸ не полиÑÑеÑÑÑ Ð´Ð¾ блеÑка Ñо вÑеменем. ÐÑиÑÑÐ½Ð°Ñ ÑеÑоÑ
оваÑÐ°Ñ ÑекÑÑÑÑа обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¾ÑлиÑнÑй конÑÑÐ¾Ð»Ñ Ð¿Ñи пеÑаÑи.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"mk87r-jerrzi",type:"text-image",title:"JERRZI YELLOW",subtitle:"Ð¡Ð¼Ð°Ð·Ð°Ð½Ñ Ñ Ð·Ð°Ð²Ð¾Ð´Ð°",content:"ÐинейнÑе пеÑеклÑÑаÑели Jerrzi Yellow обеÑпеÑиваÑÑ Ð½ÐµÐ²ÐµÑоÑÑно плавнÑй Ñ
од. ÐаводÑÐºÐ°Ñ Ñмазка ÑÑÑÑанÑÐµÑ Ð²Ñе поÑÑоÑонние ÑÑÐ¼Ñ Ð¿ÑÑжин.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"mk87r-wireless",type:"text-image",title:"ÐÐСÐÐ ÐÐÐÐÐÐЯ СÐЯÐЬ",subtitle:"2.4G Wireless",content:"Ðадежное подклÑÑение ÑеÑез Ñадиоканал гаÑанÑиÑÑÐµÑ Ð¾ÑÑÑÑÑÑвие задеÑжек в игÑаÑ
. ÐккÑмÑлÑÑÐ¾Ñ 1200 mAh обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð¾Ð»Ð³ÑÑ ÑабоÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-mk87r",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-m68",name:"VOROTEX M68",category:Te.KEYBOARD,price:1890,originalPrice:2490,stock:313,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐомпакÑÐ½Ð°Ñ 65% мембÑÐ°Ð½Ð½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ ÑÑкой RGB подÑвеÑкой и ÑиÑ
им Ñ
одом клавиÑ.",longDescription:"VOROTEX M68 â идеалÑнÑй вÑÐ±Ð¾Ñ Ð´Ð»Ñ ÑеÑ
, кÑо иÑÐµÑ ÑÑилÑное и бÑджеÑное ÑеÑение. ФоÑÐ¼Ð°Ñ 65% (68 клавиÑ) оÑÑавлÑÐµÑ Ð¼Ð°ÐºÑимÑм меÑÑа Ð´Ð»Ñ Ð¼ÑÑи. ÐембÑаннÑе клавиÑи обеÑпеÑиваÑÑ ÑиÑ
ий и мÑгкий Ñ
од, ÑÑо оÑлиÑно подÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾ÑнÑÑ
игÑовÑÑ
ÑеÑÑий или ÑабоÑÑ. ЯÑÐºÐ°Ñ RGB подÑвеÑка Ñ 11 Ñежимами (3 динамиÑеÑкиÑ
+ 8 ÑÑаÑиÑеÑкиÑ
) ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑникалÑнÑÑ Ð°ÑмоÑÑеÑÑ. ÐÑоÑезиненнÑе ножки гаÑанÑиÑÑÑÑ ÑÑÑойÑивоÑÑÑ Ð½Ð° ÑÑоле.",features:["68 Keys","Quiet Membrane","RGB 11 Modes","Plug & Play"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа","Тип клавиаÑÑÑÑ":"ÐембÑаннаÑ",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","ÐолиÑеÑÑво клавиÑ":"68","ÐаÑеÑиал клавиÑ":"ABS плаÑÑик","РабоÑий Ñок":"
2893110 мÐ",ÐодклÑÑение:"ÐÑоводной USB-C","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"10 млн. кликов",ÐодÑвеÑка:"RGB, 11 ÑÑÑекÑов",РазмеÑÑ:"310 x 101 x 35 мм",ÐеÑ:"300 гÑ","Ðлина кабелÑ":"1.7 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"ÐеÑ"},rating:4.5,seo:{title:"M68 ÐембÑÐ°Ð½Ð½Ð°Ñ ÐгÑÐ¾Ð²Ð°Ñ ÐлавиаÑÑÑа 65% | RGB, ТиÑ
Ð°Ñ | VOROTEX",description:"ÐÑджеÑÐ½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа VOROTEX M68. ТиÑ
ий мембÑаннÑй Ñ
од, 68 клавиÑ, ÑÑÐºÐ°Ñ RGB подÑвеÑка. ÐдеалÑно Ð´Ð»Ñ ÑÑаÑÑа.",keywords:"m68 клавиаÑÑÑа, мембÑÐ°Ð½Ð½Ð°Ñ Ð¸Ð³ÑоваÑ, 65% клавиаÑÑÑа, ÑиÑ
Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, rgb подÑвеÑка, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"pink",name:"РозовÑй",value:"#ffb7b2"},{id:"black",name:"ЧÑÑнÑй",value:"#222222"}]}],variants:[{id:"00-00002054",externalId:"00-00002054",combination:{color:"pink"},stock:160,price:1890},{id:"00-00002057",externalId:"00-00002057",combination:{color:"black"},stock:153,price:1890}],sections:[{id:"m68-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"settings"},{title:"ÐÑиÑÑнÑй, ÑиÑ
ий Ñ
од клавиÑ",icon:"mouse"},{title:"ЯÑÐºÐ°Ñ RGB подÑвеÑка. 11 ÑÑÑекÑов подÑвеÑки",icon:"zap"},{title:"СÑок ÑлÑÐ¶Ð±Ñ ÐºÐ»Ð°Ð²Ð¸Ñ: 10 млн. кликов",icon:"cpu"},{title:"ÐеÑÑандаÑÑное ÑвеÑовое иÑполнение",icon:"layout"}]},{id:"m68-membrane",type:"text-image",title:"ТÐÐ¥ÐЯ ÐÐÐÐÐ ÐÐÐ",subtitle:"ÐеÑÑÑÐ¼Ð½Ð°Ñ Ð¸Ð³Ñа",content:"ÐембÑаннÑе пеÑеклÑÑаÑели обеÑпеÑиваÑÑ Ð¼Ñгкий Ñ
од без Ñ
аÑакÑеÑного ÑелÑка. ÐдеалÑно Ð´Ð»Ñ ÑеÑ
, кÑо игÑÐ°ÐµÑ Ð½Ð¾ÑÑÑ Ð¸ не Ñ
оÑÐµÑ Ð±ÑдиÑÑ Ð±Ð»Ð¸Ð·ÐºÐ¸Ñ
.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"m68-rgb",type:"text-image",title:"ЯРÐÐЯ RGB",subtitle:"11 Режимов",content:"ÐÐ½Ð¾Ð³Ð¾Ð·Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка Ñ ÑазлиÑнÑми ÑÑÑекÑами пеÑеливаниÑ. СоздайÑе нÑжнÑÑ Ð°ÑмоÑÑеÑÑ Ð´Ð»Ñ Ð¸Ð³ÑÑ Ð¸Ð»Ð¸ ÑабоÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"m68-compact",type:"text-image",title:"65% ФÐÐ ÐÐТ",subtitle:"ÐÑгономика",content:"ÐомпакÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÑÐ²Ð¾Ð±Ð¾Ð¶Ð´Ð°ÐµÑ Ð¼ÐµÑÑо на ÑÑоле Ð´Ð»Ñ ÑиÑокиÑ
движений мÑÑкой, ÑÑо важно в ÑоÑевноваÑелÑнÑÑ
ÑÑÑеÑаÑ
.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-m68",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-ak820-pro",name:"VOROTEX AK820 PRO",category:Te.KEYBOARD,price:6690,originalPrice:7990,stock:543,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑемиалÑÐ½Ð°Ñ Ð±ÐµÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÐµÑ
аника Ñ ÑвеÑнÑм TFT ÑкÑаном, Gasket Mount и каÑÑомнÑми ÑвиÑÑами Peach Switch.",longDescription:'VOROTEX AK820 PRO â веÑÑина инженеÑной мÑÑли. ÐÐ»Ð°Ð²Ð½Ð°Ñ ÑиÑка â ÑвеÑной 0.85" TFT ÑкÑан Ñ Ð¼ÐµÐ½Ñ Ð½Ð° ÑÑÑÑком ÑзÑке, позволÑÑÑий ÑпÑавлÑÑÑ Ð½Ð°ÑÑÑойками, видеÑÑ Ð²ÑÐµÐ¼Ñ Ð¸ заÑÑд, и даже ÑÑавиÑÑ Ñвои GIF. ÐонÑÑÑÑкÑÐ¸Ñ Gasket Mount Ñ Ð¿ÑÑÑÑ ÑлоÑми ÑÑмоизолÑÑии обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÐ²ÐµÑоÑÑно мÑгкий и "доÑогой" звÑк Ñайпинга. ÐинейнÑе ÑвиÑÑи "Peach Switch" ÑабоÑаÑÑ Ð¿Ð»Ð°Ð²Ð½Ð¾ и ÑиÑ
о. ÐгÑомнÑй аккÑмÑлÑÑÐ¾Ñ 4000mAh и ÑÑи Ñежима подклÑÑÐµÐ½Ð¸Ñ (BT/2.4G/USB) делаÑÑ ÐµÑ ÑнивеÑÑалÑнÑм инÑÑÑÑменÑом.',features:["TFT Screen","Gasket Mount","Peach Switch","4000mAh"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",ÐонÑÑÑÑкÑиÑ:"Gasket Mount",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ",ÐиÑплей:"ЦвеÑной мÑлÑÑимедийнÑй TFT-ÑкÑан","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"81","ÐаÑеÑиал клавиÑ":"ABS плаÑÑик","РабоÑий Ñок":"
2893150 мÐ",ÐодклÑÑение:"Bluetooth / 2.4G / ÐÑоводной","ÐиÑиевÑй аккÑмÑлÑÑоÑ":"4000 mAh",СвиÑÑи:"Peach Switch (линейнÑе)","Тип ÑвиÑÑей":"Hot-Swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 млн. кликов",ÐодÑвеÑка:"RGB наÑÑÑаиваемаÑ","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа (РоллеÑ)",РазмеÑÑ:"327 x 136 x 40 мм",ÐеÑ:"770 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ"},rating:5,seo:{title:"AK820 PRO ÐлавиаÑÑÑа Ñ ÐкÑаном | Gasket Mount, Wireless | VOROTEX",description:"ФлагманÑÐºÐ°Ñ AK820 PRO Ñ ÑвеÑнÑм ÑкÑаном. Gasket Mount, Peach ÑвиÑÑи, аккÑмÑлÑÑÐ¾Ñ 4000mAh. ÐÐ¾Ð»Ð½Ð°Ñ ÑÑмоизолÑÑÐ¸Ñ Ð¸ пÑемиÑм Ñайпинг.",keywords:"ak820 pro, клавиаÑÑÑа Ñ ÑкÑаном, gasket mount, peach switch, беÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÐµÑ
аника, vorotex, пÑемиÑм",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"beige-grey",name:"ÐежевÑй/СеÑÑй",colors:["#e0d6c2","#777777"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"peach",name:"Peach Switch"}]}],variants:[{id:"00-00002002",externalId:"00-00002002",combination:{color:"beige-grey",switch:"peach"},stock:543,price:6690}],sections:[{id:"ak820-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐÑÑÑÑе ÑвиÑÑи Peach Switch, Hot-Swap",icon:"cpu"},{title:"ТÑи Ñежима подклÑÑениÑ: USB Type-C, Bluetooth, Радиоканал",icon:"zap"},{title:"ЦвеÑной мÑлÑÑимедийнÑй TFT-ÑкÑан",icon:"monitor"},{title:"Тип кÑеплениÑ: Gasket Mount",icon:"layers"},{title:"УдобнÑй вÑÑÑоеннÑй ÑегÑлÑÑоÑ",icon:"volume"}]},{id:"ak820-screen",type:"text-image",title:'TFT ÐÐÐ ÐÐ 0.85"',subtitle:"ÐÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ñй ÑенÑÑ",content:"ÐаÑÑÑаивайÑе подÑвеÑкÑ, ÑледиÑе за заÑÑдом баÑаÑеи, вÑеменем и Ñежимом подклÑÑениÑ. Ðли загÑÑзиÑе лÑбимÑÑ GIF-анимаÑиÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑидаÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑе ÑникалÑноÑÑÑ. ÐÐµÐ½Ñ Ð¿ÐµÑеведено на ÑÑÑÑкий ÑзÑк.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"ak820-peach",type:"text-image",title:"PEACH SWITCH",subtitle:"ÐÑемиÑм Ñайпинг",content:"ÐинейнÑе пеÑеклÑÑаÑели Peach ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ð´Ð»Ñ ÑениÑелей ÑиÑÐ¸Ð½Ñ Ð¸ плавноÑÑи. ÐÐ¾Ð»Ð½Ð°Ñ Ð·Ð°Ð²Ð¾Ð´ÑÐºÐ°Ñ Ñмазка и ÑÐ´Ð»Ð¸Ð½ÐµÐ½Ð½Ð°Ñ Ð¿ÑÑжина ÑоздаÑÑ Ð½ÐµÐ¿Ð¾Ð²ÑоÑимÑй ÑакÑилÑнÑй опÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"ak820-gasket",type:"text-image",title:"GASKET MOUNT",subtitle:"5 Ñлоев ÑÑмоизолÑÑии",content:'ÐонÑÑÑÑкÑÐ¸Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð¿ÑÑÑ Ñлоев ÑÑмопоглоÑаÑÑиÑ
маÑеÑиалов (Poron, IXPE, Silicone). ÐÑо гаÑÐ¸Ñ Ð¿Ð°ÑазиÑнÑе ÑезонанÑÑ Ð¸ обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð³Ð»Ñбокий, "поÑодиÑÑÑй" звÑк.',image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"reviews-ak820",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k940gr",name:"VOROTEX K940GR",category:Te.KEYBOARD,price:4790,originalPrice:5890,stock:410,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"УникалÑÐ½Ð°Ñ Ð³ÑадиенÑÐ½Ð°Ñ ÑаÑÑвеÑка, моноÑ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка, каÑеÑÑвеннÑе ÑÑабилизаÑоÑÑ.",longDescription:"VOROTEX K940GR - ÑÑо полноÑазмеÑÐ½Ð°Ñ ÑÑнкÑионалÑноÑÑÑ Ð² компакÑном коÑпÑÑе (94 клавиÑи). ÐÐ»Ð°Ð²Ð½Ð°Ñ Ð¾ÑобенноÑÑÑ - ÑникалÑÐ½Ð°Ñ Ð³ÑадиенÑÐ½Ð°Ñ ÑаÑÑвеÑка ÐºÐ»Ð°Ð²Ð¸Ñ Ð¸ ÑÑилÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ ÑинÑÑ (Blue) подÑвеÑка. СвиÑÑи Outemu Red Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Hot-Swap обеÑпеÑиваÑÑ ÑиÑ
ий и плавнÑй Ñ
од. Ðоковое подклÑÑение ÐºÐ°Ð±ÐµÐ»Ñ USB-C добавлÑÐµÑ ÑдобÑÑва.",features:["94 Keys","Gradient","Blue Light","Outemu Red"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"94",СвиÑÑи:'"Outemu" Red (кÑаÑнÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов",ÐодÑвеÑка:"ÐдноÑвеÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ (Blue)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C (Ðоковое)","РабоÑий Ñок":"200 мÐ",РазмеÑÑ:"366 x 135 x 37 мм",ÐеÑ:"600 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ð
2893еÑ"},rating:4.8,seo:{title:"K940GR ÐеÑ
аниÑеÑÐºÐ°Ñ ÐлавиаÑÑÑа 94% | ÐÑадиенÑ, Blue Light | VOROTEX",description:"ÐÑпиÑÑ K940GR - ÑÑилÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ñ Ð³ÑадиенÑом. 94 клавиÑи, ÑинÑÑ Ð¿Ð¾Ð´ÑвеÑка, Outemu Red ÑвиÑÑи. Ðоковое подклÑÑение.",keywords:"k940gr, гÑадиенÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, 94 клавиÑи, outemu red, ÑинÑÑ Ð¿Ð¾Ð´ÑвеÑка, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"gradient-grey",name:"СеÑÑй гÑадиенÑ",colors:["#333333","#777777","#cccccc"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Outemu Red"},{id:"brown",name:"Outemu Brown (Tactile)"}]}],variants:[{id:"00-00001694",externalId:"00-00001694",combination:{color:"gradient-grey",switch:"red"},stock:396,price:4790},{id:"00-00001888",externalId:"00-00001888",combination:{color:"gradient-grey",switch:"brown"},stock:14,price:4790}],sections:[{id:"k940gr-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"УникалÑÐ½Ð°Ñ Ð³ÑадиенÑÐ½Ð°Ñ ÑаÑÑвеÑка",icon:"layers"},{title:"ÐаÑеÑÑвеннÑе Hot Swap ÑвиÑÑи OUTEMU",icon:"cpu"},{title:"СÑилÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",icon:"zap"},{title:"ÐÑÑÑоеннÑй полноÑеннÑй нÑмпад",icon:"layout"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k940gr-gradient",type:"text-image",title:"BLUE GRADIENT",subtitle:"СÑÐ¸Ð»Ñ Ð²Ð¾Ð´Ñ",content:"ÐлавиаÑÑÑа вÑполнена в ÑникалÑной гÑадиенÑной ÑаÑÑвеÑке Ñ Ð³Ð¾Ð»Ñбой моноÑ
Ñомной подÑвеÑкой. ÐÑо ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑаÑÑлаблÑÑÑий и ÑÑилÑнÑй вид ÑабоÑего меÑÑа.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k940gr-94key",type:"text-image",title:"ФÐÐ ÐÐТ 94%",subtitle:"ÐомпакÑнÑй NumPad",content:"ÐнженеÑÑ VOROTEX Ñмогли ÑмеÑÑиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑеннÑй ÑиÑÑовой блок в коÑпÑÑ, коÑоÑÑй лиÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ ÑиÑе TKL клавиаÑÑÑ. ÐÑо ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð¼ÐµÑÑо, но ÑоÑ
ÑанÑÐµÑ ÑÑнкÑионал.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k940gr-cable",type:"text-image",title:"ÐÐÐÐÐÐÐ ÐÐÐÐÐЬ",subtitle:"УдобÑÑво подклÑÑениÑ",content:"РазÑем Type-C ÑаÑположен ÑбокÑ, ÑÑо оÑобенно Ñдобно Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей ноÑÑбÑков â ÐºÐ°Ð±ÐµÐ»Ñ Ð½Ðµ меÑÐ°ÐµÑ ÑкÑÐ°Ð½Ñ Ð¸ не пеÑегибаеÑÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k940gr",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k870gr",name:"VOROTEX K870GR",category:Te.KEYBOARD,price:4690,originalPrice:5690,stock:728,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐлаÑÑиÑеÑÐºÐ°Ñ TKL меÑ
аника в гÑадиенÑном иÑполнении Ñ Ð±ÐµÐ»Ð¾Ð¹ подÑвеÑкой.",longDescription:"VOROTEX K870GR â ÑÑо клаÑÑика жанÑа. ФоÑÐ¼Ð°Ñ TKL (87 клавиÑ) без ÑиÑÑового блока в ÑÑилÑном гÑадиенÑном дизайне. СвиÑÑи Outemu Red Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Hot-Swap, каÑеÑÑвеннÑе ÑÑабилизаÑоÑÑ Ð¸ пÑиÑÑÐ½Ð°Ñ Ð±ÐµÐ»Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка делаÑÑ ÐµÑ Ð¾ÑлиÑнÑм вÑбоÑом Ð´Ð»Ñ Ð»Ñбого ÑеÑапа.",features:["87 Keys","Gradient","White Light","Outemu Red"],specs:{"ÐÑгономиÑнÑй дизайн":"Ðа",РаÑкладка:"Ð ÑÑÑÐºÐ°Ñ Ð¸ английÑкаÑ","Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"87",СвиÑÑи:'"Outemu" Red (кÑаÑнÑй)',"Тип ÑвиÑÑей":"Hot-swap","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов",ÐодÑвеÑка:"ÐдноÑвеÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ (White)","ÐаÑеÑиал клавиÑ":"ÐÐС-плаÑÑик",ÐодклÑÑение:"ÐÑоводной USB-C","РабоÑий Ñок":"
2893150 мÐ",РазмеÑÑ:"330 x 112 x 42 мм",ÐеÑ:"680 гÑ","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"1.5 м","ÐоддеÑжка ÐС":"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑÑÑÑвÑÐµÑ (не ÑÑебÑеÑÑÑ)","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи":"Ðа, ÑдобнÑй ÑоллеÑ"},rating:4.8,seo:{title:"K870GR TKL ÐлавиаÑÑÑа | ÐÑадиенÑ, White Light | VOROTEX",description:"ÐÑпиÑÑ K870GR - TKL меÑ
аника Ñ Ð³ÑадиенÑом. 87 клавиÑ, Ð±ÐµÐ»Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка, Outemu Red ÑвиÑÑи. СÑÐ¸Ð»Ñ Ð¸ надежноÑÑÑ.",keywords:"k870gr, гÑадиенÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, 87 клавиÑ, tkl, outemu red, Ð±ÐµÐ»Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"gradient-grey",name:"СеÑÑй гÑадиенÑ",colors:["#333333","#999999","#ffffff"]}]},{id:"switch",name:"СвиÑÑи",type:"text",values:[{id:"red",name:"Outemu Red"}]}],variants:[{id:"00-00001997",externalId:"00-00001997",combination:{color:"gradient-grey",switch:"red"},stock:728,price:4690}],sections:[{id:"k870gr-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"УникалÑÐ½Ð°Ñ Ð³ÑадиенÑÐ½Ð°Ñ ÑаÑÑвеÑка",icon:"layers"},{title:"ÐаÑеÑÑвеннÑе Hot Swap ÑвиÑÑи OUTEMU",icon:"cpu"},{title:"СÑилÑÐ½Ð°Ñ Ð¼Ð¾Ð½Ð¾Ñ
ÑÐ¾Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",icon:"zap"},{title:"ÐопÑлÑÑнÑй ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ - 80%",icon:"layout"},{title:"Ðе ÑÑебÑÑÑее дÑайвеÑов USB подклÑÑение",icon:"download"}]},{id:"k870gr-gradient",type:"text-image",title:"GRADIENT GREY",subtitle:"СÑÑÐ¾Ð³Ð°Ñ ÐºÐ»Ð°ÑÑика",content:"ÐеÑеÑ
од Ð¾Ñ ÑеÑного к Ð±ÐµÐ»Ð¾Ð¼Ñ ÑеÑез оÑÑенки ÑеÑого пÑÐ¸Ð´Ð°ÐµÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑе пÑемиалÑнÑй вид. ÐÑо ÑнивеÑÑалÑнÑй дизайн, коÑоÑÑй Ð¿Ð¾Ð´Ð¾Ð¹Ð´ÐµÑ Ðº лÑÐ±Ð¾Ð¼Ñ Ð¸Ð½ÑеÑÑеÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k870gr-light",type:"text-image",title:"ÐÐÐÐЯ ÐÐÐСÐÐТÐÐ",subtitle:"ЧиÑÑоÑа ÑвеÑа",content:"ЯÑкие Ð±ÐµÐ»Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка оÑлиÑно ÑоÑеÑаеÑÑÑ Ñ Ð³ÑадиенÑнÑми кейкапами. Ðна обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¾ÑлиÑнÑÑ ÑиÑаемоÑÑÑ Ñимволов в ÑемноÑе и не ÑÑомлÑÐµÑ Ð³Ð»Ð°Ð·Ð°.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k870gr-tkl",type:"text-image",title:"TKL ФÐÐ ÐÐТ",subtitle:"87 клавиÑ",content:"ÐÑÑÑÑÑÑвие ÑиÑÑового блока позволÑÐµÑ Ð´ÐµÑжаÑÑ Ð¼ÑÑÑ Ð±Ð»Ð¸Ð¶Ðµ к клавиаÑÑÑе, ÑÑо ÑлÑÑÑÐ°ÐµÑ ÑÑÐ³Ð¾Ð½Ð¾Ð¼Ð¸ÐºÑ Ð¸ ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ð° плеÑи.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k870gr",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}],Vw=[{id:"kb-sayodevice-o3c",name:"VOROTEX SayoDevice O3C Series",category:Te.MINI,price:3990,originalPrice:4990,stock:492,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑодвинÑÑÑй кейпад Ð´Ð»Ñ OSU! Ñ Ð¼Ð°Ð³Ð½Ð¸ÑнÑми ÑвиÑÑами Pink Switch, Rapid Trigger и ÑкÑаном.",longDescription:"VOROTEX S
2893ayoDevice O3C â ÑÑо ÑлÑÑимаÑивное ÑеÑение Ð´Ð»Ñ ÑиÑм-Ð¸Ð³Ñ (OSU!, Etterna). ÐÐ»Ð°Ð²Ð½Ð°Ñ Ð¾ÑобенноÑÑÑ â магниÑнÑе пеÑеклÑÑаÑели Outemu Magnetic Pink (Pink Switch) Ñ ÑÑнкÑией Rapid Trigger, позволÑÑÑей наÑÑÑаиваÑÑ ÑоÑÐºÑ ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ Ñ ÑоÑноÑÑÑÑ Ð´Ð¾ 0.1 мм. ÐÑÑÑоеннÑй ÑвеÑной IPS ÑкÑан вÑÐ²Ð¾Ð´Ð¸Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑÑаÑÑÑе, каÑÑинки или GIF-анимаÑиÑ. ÐаÑÑÑойка пÑоизводиÑÑÑ ÑеÑез ÑдобнÑй веб-инÑеÑÑÐµÐ¹Ñ Ð±ÐµÐ· ÑÑÑановки ÑоÑÑа на ÐÐ.",features:["Rapid Trigger","Pink Switch","IPS Screen","8000Hz","Web Driver"],specs:{"Тип клавиаÑÑÑÑ":"ÐагниÑÐ½Ð°Ñ / Rapid Trigger","ÐолиÑеÑÑво клавиÑ":"3 клавиÑи + 1 Knob (РегÑлÑÑоÑ)",СвиÑÑи:"Outemu Magnetic Pink","Тип ÑвиÑÑей":"Hot-Swap (Magnetic)",ÐодÑвеÑка:"RGB ÐаÑÑÑаиваемаÑ",ÐиÑплей:'0.96" IPS ЦвеÑной',"СкоÑоÑÑÑ Ð¾Ñклика":"0.1 Ð¼Ñ (8000Hz)",ФÑнкÑии:"Rapid Trigger, Dynamic Keystroke",ÐодклÑÑение:"USB Type-C","ÐаÑеÑиал коÑпÑÑа":"ABS плаÑÑик",РазмеÑÑ:"75 x 35 x 30 мм",ÐеÑ:"65 гÑ","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ (Web-веÑÑиÑ)",СовмеÑÑимоÑÑÑ:"Windows, Android, Linux"},rating:5,seo:{title:"SayoDevice O3C Ðини ÐлавиаÑÑÑа | Pink Switch, Rapid Trigger | VOROTEX",description:"ÐÑпиÑÑ VOROTEX SayoDevice O3C / O3C++ Ñ Ð´Ð¸Ñплеем. ÐагниÑнÑе ÑвиÑÑи Pink Switch, Rapid Trigger Ð´Ð»Ñ OSU!, 8000Hz. ÐелÑй и ÑеÑнÑй ÑвеÑа.",keywords:"sayodevice o3c, o3c++, osu keypad, rapid trigger, pink switch, кейпад Ñ ÑкÑаном, vorotex, магниÑнÑе ÑвиÑÑи",indexing:!0},options:[{id:"model",name:"ÐоделÑ",type:"text",values:[{id:"o3c",name:"O3C (Standard)"},{id:"o3c-plus",name:"O3C++ (Enhanced)"}]},{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001978",externalId:"00-00001978",combination:{model:"o3c",color:"white"},stock:163,price:3990,image:"/placeholder.svg",name:"VOROTEX SayoDevice O3C"},{id:"00-00001970",externalId:"00-00001970",combination:{model:"o3c",color:"black"},stock:245,price:3990,image:"/placeholder.svg",name:"VOROTEX SayoDevice O3C"},{id:"00-00002064",externalId:"00-00002064",combination:{model:"o3c-plus",color:"white"},stock:84,price:4290,image:"/placeholder.svg",name:"VOROTEX SayoDevice O3C++"}],sections:[{id:"o3c-rapid",type:"text-image",title:"RAPID TRIGGER",subtitle:"ÐагниÑнÑе ÑеÑ
нологии",content:"ТеÑ
Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Rapid Trigger динамиÑеÑки менÑÐµÑ ÑоÑÐºÑ Ð°ÐºÑиваÑии и деакÑиваÑии клавиÑи в завиÑимоÑÑи Ð¾Ñ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð°Ð»ÑÑа. ÐÑо Ð´Ð°ÐµÑ Ð¾Ð³Ñомное пÑеимÑÑеÑÑво в игÑаÑ
, где важна ÑкоÑоÑÑÑ Ñпама (OSU!) и ÑÑÑейÑов (CS2/Valorant).",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"o3c-features",type:"features",title:"ФУÐÐЦÐÐÐÐÐ",theme:"light",items:[{title:"Ðеб-дÑÐ°Ð¹Ð²ÐµÑ (без ÑÑÑановки)",icon:"settings",text:"ÐаÑÑÑойка ÑеÑез бÑаÑзеÑ"},{title:"ÐагниÑнÑе ÑвиÑÑи Outemu Pink",icon:"cpu",text:"ÐинейнÑй Ñ
од, наÑÑÑойка 0.1-4.0мм"},{title:"ÐоддеÑжка Rapid Trigger",icon:"zap",text:"ÐÐ³Ð½Ð¾Ð²ÐµÐ½Ð½Ð°Ñ ÑеакÑиÑ"},{title:"ÐÑÑÑоеннÑй IPS диÑплей",icon:"monitor",text:"ÐагÑÑзка ÑвоиÑ
каÑÑинок"},{title:"RGB ÐодÑвеÑка",icon:"star",text:"ЯÑкие ÑÑÑекÑÑ"}]},{id:"o3c-screen",type:"text-image",title:"IPS ÐÐÐ ÐÐ",subtitle:"ÐеÑÑонализаÑиÑ",content:"ЯÑкий ÑвеÑной диÑплей 0.96 дÑйма. ÐÑводиÑе на него Ñлои ÑаÑкладки, ÑÑаÑиÑÑÐ¸ÐºÑ Ð½Ð°Ð¶Ð°Ñий или пÑоÑÑо лÑбимÑÑ GIF-анимаÑÐ¸Ñ Ñ ÐºÐ¾ÑиÐ
2893ºÐ¾Ð¼. ÐÐ¾Ð»Ð½Ð°Ñ Ñвобода ÑамовÑÑажениÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"o3c-web",type:"text-image",title:"SayoDevice Web",subtitle:"УдобнÑй ÑоÑÑ",content:"ÐабÑдÑÑе о ÑкаÑивании подозÑиÑелÑнÑÑ
exe-Ñайлов. ÐÑÑ Ð½Ð°ÑÑÑойка клавиаÑÑÑÑ (RT, макÑоÑÑ, ÑкÑан, подÑвеÑка) пÑоиÑÑ
Ð¾Ð´Ð¸Ñ ÑеÑез оÑиÑиалÑнÑй веб-ÑÐ°Ð¹Ñ SayoDevice в бÑаÑзеÑе Chrome.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-o3c",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k-mini",name:"VOROTEX K-Mini Series",category:Te.MINI,price:1590,originalPrice:2290,stock:311,isNewArrival:!1,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐиниаÑÑÑнÑе пÑогÑаммиÑÑемÑе макÑо-клавиаÑÑÑÑ. ÐдеалÑÐ½Ñ Ð´Ð»Ñ OSU!, ÑабоÑÑ Ð¸ ÑÑÑимов.",longDescription:"VOROTEX K-Mini Series â ÑÑо ÑнивеÑÑалÑÐ½Ð°Ñ Ð»Ð¸Ð½ÐµÐ¹ÐºÐ° компакÑнÑÑ
кейпадов. ÐÑполÑзÑйÑе 2-клавиÑнÑÑ Ð²ÐµÑÑÐ¸Ñ (K02) Ð´Ð»Ñ ÑиÑм-Ð¸Ð³Ñ Ð²Ñоде OSU! благодаÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾Ð¼Ñ Ð¾ÑкликÑ. Ðодели Ñ ÑегÑлÑÑоÑами (Knob) K03/K04/K06 ÑÑанÑÑ Ð½ÐµÐ·Ð°Ð¼ÐµÐ½Ð¸Ð¼Ñми помоÑниками Ð´Ð»Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½ÐµÑов, видеомонÑажеÑов и ÑÑÑимеÑов, позволÑÑ ÑпÑавлÑÑÑ Ð·Ñмом, гÑомкоÑÑÑÑ Ð¸ Ñаймлайном. ÐÑе клавиаÑÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Hot-Swap (гоÑÑÑÑÑ Ð·Ð°Ð¼ÐµÐ½Ñ ÑвиÑÑей) и полное пеÑепÑогÑаммиÑование клавиÑ.",features:["OSU! Ready","Bluetooth Option","Outemu Red","Hot-Swap","RGB","Knob Control"],specs:{"Тип клавиаÑÑÑÑ":"ÐакÑо-пад / Ðейпад","ÐолиÑеÑÑво клавиÑ":"2, 3, 4, 6 (завиÑÐ¸Ñ Ð¾Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸)",СвиÑÑи:"Outemu Red (ÐинейнÑе)","Тип ÑвиÑÑей":"Hot-Swap (3-pin/5-pin)",ÐодÑвеÑка:"RGB ÐаÑÑÑаиваемаÑ",ÐодклÑÑение:"USB Type-C / Bluetooth 5.0 (в BT веÑÑиÑÑ
)","ÐаÑеÑиал коÑпÑÑа":"ABS плаÑÑик + ÐкÑил","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ (ÐаÑÑÑойка макÑоÑов и подÑвеÑки)",СовмеÑÑимоÑÑÑ:"Windows"},rating:4.9,seo:{title:"K-Mini Series ÐакÑо-клавиаÑÑÑÑ | OSU!, Bluetooth, Knob | VOROTEX",description:"Ðини-клавиаÑÑÑÑ VOROTEX K-Mini. Ðодели K02 Ð´Ð»Ñ OSU!, веÑÑии Ñ Bluetooth и ÑегÑлÑÑоÑом гÑомкоÑÑи (Knob). СвиÑÑи Outemu Red, Hot-Swap, RGB.",keywords:"osu keypad, макÑо клавиаÑÑÑа, k02, k04 knob, bluetooth кейпад, vorotex, outemu red",indexing:!0},options:[{id:"model",name:"ÐоделÑ",type:"text",values:[{id:"k02",name:"K02 (2 Keys)"},{id:"k02-bt",name:"K02BT (2 Keys + Bluetooth)"},{id:"k03",name:"K03 (3 Keys + Knob)"},{id:"k04",name:"K04 (4 Keys + Knob)"},{id:"k04-bt",name:"K04BT (4 Keys + Knob + BT)"},{id:"k06",name:"K06 (6 Keys + Knob)"}]},{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#222222"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00001826",externalId:"00-00001826",combination:{model:"k02",color:"black"},stock:37,price:1590,name:"VOROTEX K02",image:"/placeholder.svg"},{id:"00-00001968",externalId:"00-00001968",combination:{model:"k02",color:"white"},stock:54,price:1590,name:"VOROTEX K02",image:"/placeholder.svg"},{id:"00-00002068",externalId:"00-00002068",combination:{model:"k02-bt",color:"black"},stock:13,price:2290,name:"VOROTEX K02BT",image:"/placeholder.svg"},{id:"00-00002069",externalId:"00-00002069",combination:{model:"k02-bt",color:"white"},stock:14,price:2290,name:"VOROTEX K02BT",image:"/placeholder.svg"},{id:"00-00001979",externalId:"00-00001979",combination:{model:"k03",color:"black"},stock:56,price:1990,name:"VOROTEX K03",image:"/placeholder.svg"},{id:"00-00001980",externalId:"00-00001980",combination:{model:"k03",color:"white"},stock:7,price:1990,name:"VOROTEX K03",image:"/placeholder.svg"},{id:"00-00002067",externalId:"00-00002067",combination:{model:"k04",color:"black"},stock:28,price:2290,name:"VOROTEX K04",image:"/placeholder.svg"},{id:"00-00002066",externalId:"00-00002066",combination:{model:"k04",color:"white"},stock:27,price:2290,name:"VOROTEX K04",image:"/placeholder.svg"},{id:"00-00002070",externalId:"00-00002070",combination:{model:"k04-bt",color:"black"},stock:13,price:2790,name:"VOROTEX K04BT",image:"/placeholder.svg"},{id:"00-00002071",externalId:"00-00002071",combination:{model:"k04-bt",color:"white"},stock:15,price:2790,name:"VOROTEX K04BT",image:"/placeholder.svg"},{id:"00-00001830",externalId:"00-00001830",combination:{model:"k06",color:"black"},stock:40,price:2790,name:"VOROTEX K06",image:"/placeholder.svg"},{id:"00-00001828",externalId:"00-00001828",combination:{model:"k06",color:"white"},stock:7,price:2790,name:"VOROTEX K06",image:"/placeholder.svg"}],sections:[{id:"kmini-osu",type:"text-image",title:"ÐÐÐÐÐЬÐÐ ÐÐЯ OSU!",subtitle:"K02 / K02BT",content:"ÐÐ¾Ð´ÐµÐ»Ñ K02 Ñоздана ÑпеÑиалÑно Ð´Ð»Ñ ÑиÑм-игÑ. ÐинималÑÐ½Ð°Ñ Ð·Ð°Ð´ÐµÑжка ввода, ÑÑÑойÑÐ¸Ð²Ð°Ñ Ð±Ð°Ð·Ð° и меÑ
аниÑеÑкие пеÑеклÑÑаÑели позволÑÑÑ Ð²ÑбиваÑÑ Ð¸Ð´ÐµÐ°Ð»ÑнÑе Ñайминги и ÑÑÑимиÑÑ Ñ Ð¼Ð°ÐºÑималÑной ÑкоÑоÑÑÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"kmini-features",type:"features",title:"ФУÐÐЦÐÐÐÐÐ",theme:"light",items:[{title:"ÐÑогÑаммиÑÑемÑе макÑоÑÑ",icon:"settings",text:"ÐÑÐ±Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ñа - лÑбое дейÑÑвие"},{title:"Hot-Swap (Auto-Switch)",icon:"cpu",text:"ÐенÑй ÑвиÑÑи за ÑекÑндÑ"},{title:"RGB ÐодÑвеÑка",icon:"zap",text:"ЯÑкие ÑÑÑекÑÑ"},{title:"Bluetooth 5.0",icon:"download",text:"РмоделÑÑ
Ñ Ð¸Ð½Ð´ÐµÐºÑом BT"},{title:"ÐÑлÑÑимедиа Knob",icon:"volume",text:"РегÑлÑÑÐ¾Ñ Ð·Ð²Ñка и зÑма"}]},{id:"kmini-switches",type:"text-image",title:"OUTEMU RED",subtitle:"ÐÐ¸Ð½ÐµÐ¹Ð½Ð°Ñ ÑкоÑоÑÑÑ",content:'РкейпадаÑ
ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÐºÐ°ÑеÑÑвеннÑе кÑаÑнÑе ÑвиÑÑи Outemu Red. Ðни имеÑÑ Ð»Ð¸Ð½ÐµÐ¹Ð½Ñй Ñ
од без ÑелÑка, нажимаÑÑÑÑ Ð»ÐµÐ³ÐºÐ¾ и плавно. ÐÑо лÑÑÑий вÑÐ±Ð¾Ñ Ð´Ð»Ñ Ð±ÑÑÑÑого "Ñпама" ÐºÐ»Ð°Ð²Ð¸Ñ Ð² игÑаÑ
или ÑиÑ
ой ÑабоÑÑ Ñ Ð¼Ð°ÐºÑоÑами.',image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"kmini-hotswap",type:"text-image",title:"HOT-SWAP",subtitle:"ÐÐ¾Ð»Ð½Ð°Ñ ÐºÐ°ÑÑомизаÑиÑ",content:"ТеÑ
Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Hot-Swap позволÑÐµÑ Ð²Ð°Ð¼ менÑÑÑ Ð¿ÐµÑеклÑÑаÑели без пайки. ХоÑиÑе ÑакÑилÑнÑе оÑÑÑениÑ? ÐоÑÑавÑÑе Blue или Brown ÑвиÑÑи. СломалÑÑ Ð¿ÐµÑеклÑÑаÑелÑ? ÐамениÑе его за 5 ÑекÑнд. ÐÐ°Ñ Ð´ÐµÐ²Ð°Ð¹Ñ Ð²Ñегда в ÑÑÑоÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-kmini",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k13",name:"VOROTEX K13",category:Te.MINI,price:2490,stock:384,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑ
аниÑеÑÐºÐ°Ñ Ð¼Ð¸Ð½Ð¸-клавиаÑÑÑа (12 клавиÑ) Ñ Ð´Ð¶Ð¾Ð¹ÑÑиком и меÑаллиÑеÑким Ð
2893ºÐ¾Ð»ÐµÑом пÑокÑÑÑки.",longDescription:"VOROTEX K13 â ÑÑо моÑнÑй инÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ Ð³ÐµÐ¹Ð¼ÐµÑов и пÑоÑеÑÑионалов. 12 пÑогÑаммиÑÑемÑÑ
клавиÑ, аналоговÑй джойÑÑик и меÑаллиÑеÑкое колеÑо пÑокÑÑÑки обеÑпеÑиваÑÑ Ð¿Ð¾Ð»Ð½Ñй конÑÑолÑ. ÐдеалÑна Ð´Ð»Ñ Ð¼Ð°ÐºÑоÑов, ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð° или как дополниÑелÑнÑй кейпад Ð´Ð»Ñ ÑÑÑимов. ÐоддеÑживаеÑÑÑ Hot-Swap (ÑвиÑÑи Kailh Long Hua Purple) и Ð¸Ð¼ÐµÐµÑ 12 Ñежимов RGB подÑвеÑки.",features:["12 Keys","Joystick","Scroll Wheel","Hot-Swap","RGB"],specs:{"Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"12 + ÐжойÑÑик + ÐолеÑо",СвиÑÑи:"Kailh Long Hua Purple","Тип ÑвиÑÑей":"Hot-swap",ÐодÑвеÑка:"RGB (12 Ñежимов)",УпÑавление:"ÐжойÑÑик, ÐолеÑо пÑокÑÑÑки","ÐаÑеÑиал коÑпÑÑа":"ABS-плаÑÑик",ÐодклÑÑение:"ÐÑоводное USB Type-C","РабоÑий Ñок":"150 мÐ",РазмеÑÑ:"137 x 75 x 38 мм",ÐеÑ:"120 гÑ","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ",СовмеÑÑимоÑÑÑ:"Windows"},rating:4.8,seo:{title:"K13 Ðини ÐлавиаÑÑÑа Ñ ÐжойÑÑиком | 12 ÐлавиÑ, Hot-Swap | VOROTEX",description:"ÐÑпиÑÑ VOROTEX K13. ÐакÑо-клавиаÑÑÑа 12 ÐºÐ»Ð°Ð²Ð¸Ñ Ñ Ð´Ð¶Ð¾Ð¹ÑÑиком и ÑкÑоллом. Kailh Purple ÑвиÑÑи, RGB подÑвеÑка, пÑогÑаммиÑÑемаÑ.",keywords:"k13 клавиаÑÑÑа, макÑопад Ñ Ð´Ð¶Ð¾Ð¹ÑÑиком, мини клавиаÑÑÑа 12 клавиÑ, kailh purple, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"grey-gradient",name:"СеÑÑй гÑадиенÑ",colors:["#333333","#777777"]},{id:"green-gradient",name:"ÐеленÑй гÑадиенÑ",colors:["#004400","#00ff00"]},{id:"purple-gradient",name:"ФиолеÑовÑй гÑадиенÑ",colors:["#440044","#9900ff"]}]}],variants:[{id:"00-00002014",externalId:"00-00002014",combination:{color:"grey-gradient"},stock:236,price:2490},{id:"00-00002015",externalId:"00-00002015",combination:{color:"green-gradient"},stock:63,price:2490},{id:"00-00002016",externalId:"00-00002016",combination:{color:"purple-gradient"},stock:85,price:2490}],sections:[{id:"k13-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐаÑеÑÑвеннÑе ÑвиÑÑи Kailh Purple",icon:"cpu"},{title:"ÐвенадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐжойÑÑик Ð´Ð»Ñ ÐºÐ¾Ð¼ÑоÑÑного ÑпÑавлениÑ",icon:"target"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"УдобнÑй ÑегÑлÑÑÐ¾Ñ (ÐолеÑо)",icon:"volume"}]},{id:"k13-switch",type:"text-image",title:"KAILH PURPLE",subtitle:"ТакÑилÑÐ½Ð°Ñ ÑиÑина",content:"УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑакÑилÑнÑе пеÑеклÑÑаÑели Kailh Long Hua Purple. Ðни имеÑÑ Ð¾ÑÑÑимÑÑ ÑоÑÐºÑ ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ (поÑ
ожи на Brown ÑвиÑÑи), ÑÑо Ð´Ð°ÐµÑ Ð¾ÑлиÑнÑÑ Ð¾Ð±ÑаÑнÑÑ ÑвÑÐ·Ñ Ð¿Ñи нажаÑии, но пÑи ÑÑом ÑабоÑаÑÑ Ð´Ð¾ÑÑаÑоÑно ÑиÑ
о, не меÑÐ°Ñ Ð¾ÐºÑÑжаÑÑим.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k13-control",type:"text-image",title:"ÐÐÐÐЫРÐÐÐТРÐÐЬ",subtitle:"ÐжойÑÑик и ÐолеÑо",content:"УникалÑÐ½Ð°Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°ÑÐ¸Ñ Ð¾Ñганов ÑпÑавлениÑ. ÐÑполÑзÑйÑе джойÑÑик Ð´Ð»Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñии или как дополниÑелÑнÑе клавиÑи, а меÑаллиÑеÑкое колеÑо Ð´Ð»Ñ Ð·Ñма, гÑомкоÑÑи или пÑокÑÑÑки Ñаймлайна.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k13",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}
2893,{id:"kb-k15-pro",name:"VOROTEX K15 PRO",category:Te.MINI,price:3290,stock:133,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¿ÑогÑаммиÑÑÐµÐ¼Ð°Ñ Ð¼Ð¸Ð½Ð¸-клавиаÑÑÑа Ñ 15 клавиÑами, джойÑÑиком и 3 Ñежимами подклÑÑениÑ.",longDescription:"VOROTEX K15 PRO â Ñлагман ÑÑеди макÑопадов. 15 полноÑÑÑÑ Ð¿ÑогÑаммиÑÑемÑÑ
ÐºÐ»Ð°Ð²Ð¸Ñ Ð¸ аналоговÑй джойÑÑик даÑÑ Ð½ÐµÐ¾Ð³ÑаниÑеннÑе возможноÑÑи Ð´Ð»Ñ ÐºÐ°ÑÑомизаÑии. ÐодклÑÑайÑеÑÑ ÐºÐ°Ðº Ñдобно: Bluetooth, 2.4G или кабелÑ. Ðмкий аккÑмÑлÑÑÐ¾Ñ 1000 мÐÑ Ð¾Ð±ÐµÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð¾Ð»Ð³ÑÑ ÑабоÑÑ. ÐадежнÑе ÑвиÑÑи Kailh Long Hua Purple Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой Hot-Swap.",features:["Wireless","15 Keys","Joystick","Hot-Swap","RGB"],specs:{"Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"15 + ÐжойÑÑик",СвиÑÑи:"Kailh Long Hua Purple","Тип ÑвиÑÑей":"Hot-swap",ÐодÑвеÑка:"RGB (8 Ñежимов)",ÐодклÑÑение:"USB Type-C / Bluetooth / Радиоканал",ÐккÑмÑлÑÑоÑ:"1000 мÐÑ","ÐаÑеÑиал коÑпÑÑа":"ABS-плаÑÑик",РазмеÑÑ:"153 x 113 x 44 мм",ÐеÑ:"230 гÑ","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ",СовмеÑÑимоÑÑÑ:"Windows"},rating:5,seo:{title:"K15 PRO ÐеÑпÑоводной ÐакÑопад 15 ÐÐ»Ð°Ð²Ð¸Ñ | ÐжойÑÑик | VOROTEX",description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼Ð¸Ð½Ð¸-клавиаÑÑÑа K15 PRO. 15 клавиÑ, джойÑÑик, 3 Ñежима подклÑÑÐµÐ½Ð¸Ñ (BT/Radio/USB). Hot-Swap, RGB подÑвеÑка.",keywords:"k15 pro, wireless macropad, беÑпÑоводной кейпад, 15 клавиÑ, джойÑÑик, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#222222"}]}],variants:[{id:"00-00002050",externalId:"00-00002050",combination:{color:"black"},stock:133,price:3290}],sections:[{id:"k15pro-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐаÑеÑÑвеннÑе ÑвиÑÑи Kailh Purple",icon:"cpu"},{title:"ÐоÑÐµÐ¼Ñ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ТÑи Ñежима подклÑÑениÑ: USB, BT, Radio",icon:"download"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"ÐжойÑÑик Ð´Ð»Ñ ÐºÐ¾Ð¼ÑоÑÑного ÑпÑавлениÑ",icon:"target"}]},{id:"k15pro-switch",type:"text-image",title:"KAILH PURPLE",subtitle:"ТакÑилÑÐ½Ð°Ñ ÑиÑина",content:"УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑакÑилÑнÑе пеÑеклÑÑаÑели Kailh Long Hua Purple. Ðни имеÑÑ Ð¾ÑÑÑимÑÑ ÑоÑÐºÑ ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ (поÑ
ожи на Brown ÑвиÑÑи), ÑÑо Ð´Ð°ÐµÑ Ð¾ÑлиÑнÑÑ Ð¾Ð±ÑаÑнÑÑ ÑвÑÐ·Ñ Ð¿Ñи нажаÑии, но пÑи ÑÑом ÑабоÑаÑÑ Ð´Ð¾ÑÑаÑоÑно ÑиÑ
о, не меÑÐ°Ñ Ð¾ÐºÑÑжаÑÑим.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"k15pro-wireless",type:"text-image",title:"ÐÐСÐÐ ÐÐÐÐÐÐЯ СÐÐÐÐÐÐ",subtitle:"3 Режима",content:"ÐабÑдÑÑе о пÑоводаÑ
. ÐодклÑÑайÑеÑÑ Ðº ноÑÑбÑÐºÑ Ð¿Ð¾ Bluetooth, к ÐÐ ÑеÑез бÑÑÑÑÑй Ñадиоканал или иÑполÑзÑйÑе ÐºÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ Ð·Ð°ÑÑдки. ÐккÑмÑлÑÑÐ¾Ñ 1000 мÐÑ Ð³Ð°ÑанÑиÑÑÐµÑ Ð°Ð²ÑономноÑÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-k15pro",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k12w",name:"VOROTEX K12W",category:Te.MINI,price:2790,stock:396,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼Ð¸Ð½Ð¸-клавиаÑÑÑа (12 клавиÑ) Ñ Ð´Ð²ÑÐ¼Ñ ÑегÑлÑÑоÑами и ÑÑким дизайном.",longDescription:"VOROTEX K12W â ÑÑилÑнÑй беÑпÑоводной кейпад. 12 пÑогÑаммиÑÑемÑÑ
ÐºÐ»Ð°Ð²Ð¸Ñ Ð¸ два ÑдобнÑÑ
ÑегÑлÑÑоÑа (Knobs) позволÑÑÑ Ð½Ð°ÑÑÑоиÑÑ ÑпÑавление под лÑбÑе задаÑи: Ð¾Ñ Ð¼Ð¾Ð½Ñажа видео до ÑложнÑÑ
макÑоÑов в игÑаÑ
. ТÑи Ñежима подклÑÑÐµÐ½Ð¸Ñ (USB/BT/Radio) и поддеÑжка Hot-Swap. ÐоÑÑÑпен в ÑаÑÑвеÑкаÑ
White-Mint и Black-Orange.",features:["Wireless","12 Keys","2 Knobs","Hot-Swap","RGB"],specs:{"Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"12 + 2 РегÑлÑÑоÑа",СвиÑÑи:"Kailh Long Hua Purple","Тип ÑвиÑÑей":"Hot-swap",ÐодÑвеÑка:"RGB (12 Ñежимов)",ÐодклÑÑение:"USB Type-C / Bluetooth / Радиоканал","ÐаÑеÑиал коÑпÑÑа":"ABS-плаÑÑик",РазмеÑÑ:"127 x 87 x 29 мм",ÐеÑ:"150 гÑ","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ",СовмеÑÑимоÑÑÑ:"Windows"},rating:4.9,seo:{title:"K12W ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ðини ÐлавиаÑÑÑа | 2 РегÑлÑÑоÑа, 12 ÐÐ»Ð°Ð²Ð¸Ñ | VOROTEX",description:"ÐÑпиÑÑ K12W - беÑпÑоводной кейпад Ñ 12 клавиÑами и 2 кÑÑÑилками. Bluetooth, Radio, USB. Hot-Swap, RGB подÑвеÑка. ÐдеалÑно Ð´Ð»Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½ÐµÑов.",keywords:"k12w, беÑпÑоводной макÑопад, клавиаÑÑÑа Ñ ÐºÑÑÑилками, 12 клавиÑ, vorotex, designer keypad",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"pistachio",name:"ФиÑÑаÑковÑй (Mint)",colors:["#ffffff","#e0f2f1"]},{id:"black",name:"ЧÑÑнÑй",value:"#222222"}]}
2893],variants:[{id:"00-00002012",externalId:"00-00002012",combination:{color:"white"},stock:92,price:2790},{id:"00-00002011",externalId:"00-00002011",combination:{color:"pistachio"},stock:98,price:2790},{id:"00-00002013",externalId:"00-00002013",combination:{color:"black"},stock:206,price:2790,image:"/placeholder.svg"}],sections:[{id:"k12w-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐаÑеÑÑвеннÑе ÑвиÑÑи Kailh Purple",icon:"cpu"},{title:"ÐвенадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ТÑи Ñежима подклÑÑениÑ: USB, BT, Radio",icon:"download"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑÐ¾Ñ (x2)",icon:"volume"}]},{id:"k12w-switch",type:"text-image",title:"KAILH PURPLE",subtitle:"ТакÑилÑÐ½Ð°Ñ ÑиÑина",content:"УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑакÑилÑнÑе пеÑеклÑÑаÑели Kailh Long Hua Purple. Ðни имеÑÑ Ð¾ÑÑÑимÑÑ ÑоÑÐºÑ ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ (поÑ
ожи на Brown ÑвиÑÑи), ÑÑо Ð´Ð°ÐµÑ Ð¾ÑлиÑнÑÑ Ð¾Ð±ÑаÑнÑÑ ÑвÑÐ·Ñ Ð¿Ñи нажаÑии, но пÑи ÑÑом ÑабоÑаÑÑ Ð´Ð¾ÑÑаÑоÑно ÑиÑ
о, не меÑÐ°Ñ Ð¾ÐºÑÑжаÑÑим.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"k12w-design",type:"text-image",title:"ÐÐÐÐÐÐÐ ÐÐÐТРÐÐЬ",subtitle:"Ðва ÑегÑлÑÑоÑа",content:"Ðва незавиÑимÑÑ
ÑнкодеÑа позволÑÑÑ ÑпÑавлÑÑÑ ÑÑÐ°Ð·Ñ Ð½ÐµÑколÑкими паÑамеÑÑами: гÑомкоÑÑÑÑ Ð¸ зÑмом, ÑазмеÑом киÑÑи и пÑозÑаÑноÑÑÑÑ. ÐезаменимÑй инÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ ÑвоÑÑеÑкиÑ
задаÑ.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"reviews-k12w",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k12",name:"VOROTEX K12",category:Te.MINI,price:2190,stock:329,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¿Ð¾Ð¿ÑлÑÑной мини-клавиаÑÑÑÑ Ñ 12 клавиÑами и 2 ÑегÑлÑÑоÑами.",longDescription:"VOROTEX K12 â надежнÑй пÑоводной макÑопад. Те же 12 пÑогÑаммиÑÑемÑÑ
ÐºÐ»Ð°Ð²Ð¸Ñ Ð¸ 2 ÑегÑлÑÑоÑа, ÑÑо и в веÑÑии K12W, но Ñ ÐºÐ»Ð°ÑÑиÑеÑким подклÑÑением по USB Type-C. ÐÑлиÑнÑй вÑÐ±Ð¾Ñ Ð´Ð»Ñ ÑÑаÑионаÑного ÑабоÑего меÑÑа. ÐоддеÑжка Hot-Swap, каÑеÑÑвеннÑе ÑвиÑÑи Kailh Purple и ÑÑÐºÐ°Ñ RGB подÑвеÑка.",features:["12 Keys","2 Knobs","Hot-Swap","RGB"],specs:{"Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"12 + 2 РегÑлÑÑоÑа",СвиÑÑи:"Kailh Long Hua Purple","Тип ÑвиÑÑей":"Hot-swap",ÐодÑвеÑка:"RGB (12 Ñежимов)",ÐодклÑÑение:"ÐÑоводное USB Type-C","ÐаÑеÑиал коÑпÑÑа":"ABS-плаÑÑик",РазмеÑÑ:"127 x 87 x 29 мм",ÐеÑ:"120 гÑ","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ",СовмеÑÑимоÑÑÑ:"Windows"},rating:4.8,seo:{title:"K12 ÐакÑо-клавиаÑÑÑа 12 ÐÐ»Ð°Ð²Ð¸Ñ | 2 ÐÑÑÑилки, Hot-Swap | VOROTEX",description:"ÐÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼Ð¸Ð½Ð¸-клавиаÑÑÑа K12. 12 пÑогÑаммиÑÑемÑÑ
клавиÑ, 2 ÑегÑлÑÑоÑа, Hot-Swap. ÐдеалÑно Ð´Ð»Ñ Ð¼Ð°ÐºÑоÑов и ÑÑÑимов.",keywords:"k12 клавиаÑÑÑа, макÑопад 12 клавиÑ, keypad with knobs, vorotex, пÑоводной кейпад",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"purple",name:"ФиолеÑовÑй",value:"#9933ff"},{id:"black",name:"ЧÑÑнÑй",value:"#222222"}]}],variants:[{id:"00-00001959",externalId:"00-00001959",combination:{color:"white"},stock:102,price:2190,image:"/placeholder.svg"},{id:"00-00001960",externalId:"00-00001960",combination:{color:"purple"},stock:77,price:2190},{id:"00-00001958",externalId:"00-00001958",combination:{color:"black"},stock:150,price:2190}],sections:[{id:"k12-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐаÑеÑÑвеннÑе ÑвиÑÑи Kailh Purple",icon:"cpu"},{title:"ÐвенадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"УдобнÑй двÑÑ
ÑежимнÑй ÑегÑлÑÑÐ¾Ñ (x2)",icon:"volume"}]},{id:"k12-switch",type:"text-image",title:"KAILH PURPLE",subtitle:"ТакÑилÑÐ½Ð°Ñ ÑиÑина",content:"УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑакÑилÑнÑе пеÑеклÑÑаÑели Kailh Long Hua Purple. Ðни имеÑÑ Ð¾ÑÑÑимÑÑ ÑоÑÐºÑ ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ (поÑ
ожи на Brown ÑвиÑÑи), ÑÑо Ð´Ð°ÐµÑ Ð¾ÑлиÑнÑÑ Ð¾Ð±ÑаÑнÑÑ ÑвÑÐ·Ñ Ð¿Ñи нажаÑии, но пÑи ÑÑом ÑабоÑаÑÑ Ð´Ð¾ÑÑаÑоÑно ÑиÑ
о, не меÑÐ°Ñ Ð¾ÐºÑÑжаÑÑим.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"k12-wired",type:"text-image",title:"ÐÐÐÐÐÐÐÐ ÐÐÐÐÐЮЧÐÐÐÐ",subtitle:"USB Type-C",content:"ÐÑоводное подклÑÑение гаÑанÑиÑÑÐµÑ Ð¾ÑÑÑÑÑÑвие задеÑжек и ÑÑабилÑнÑÑ ÑабоÑÑ. СÑемнÑй ÐºÐ°Ð±ÐµÐ»Ñ Type-C позволÑÐµÑ Ð»ÐµÐ³ÐºÐ¾ ÑÑанÑпоÑÑиÑоваÑÑ ÑÑÑÑойÑÑво.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"reviews-k12",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"kb-k08",name:"VOROTEX K08",category:Te.MINI,price:1690,stock:204,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"УлÑÑÑакомпакÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа на 8 ÐºÐ»Ð°Ð²Ð¸Ñ Ñ Ð´Ð²ÑÐ¼Ñ Ð¿Ð¾ÑÑами подклÑÑениÑ.",longDescription:"VOROTEX K08 â минимализм и ÑÑнкÑионалÑноÑÑÑ. 8 пÑогÑаммиÑÑемÑÑ
ÐºÐ»Ð°Ð²Ð¸Ñ Ð² компакÑном коÑпÑÑе. ÐÑобенноÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ â два поÑÑа USB-C, позволÑÑÑие подклÑÑиÑÑ ÐºÐ°Ð±ÐµÐ»Ñ Ñ Ð»Ñбой Ñдобной ÑÑоÑÐ¾Ð½Ñ (ÑвеÑÑ
Ñ Ð¸Ð»Ð¸ ÑбокÑ). Hot-Swap ÑвиÑÑи Kailh Long Hua Purple и RGB подÑвеÑка делаÑÑ ÐµÑ Ð¾ÑлиÑнÑм дополнением к оÑÐ½Ð¾Ð²Ð½Ð¾Ð¼Ñ ÑеÑапÑ.",features:["8 Keys","Dual USB-C","Hot-Swap","RGB"],specs:{"Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑкаÑ","ÐолиÑеÑÑво клавиÑ":"8",СвиÑÑи:"Kailh Long Hua Purple","Тип ÑвиÑÑей":"Hot-swap",ÐодÑвеÑка:"RGB (12 Ñежимов)",ÐодклÑÑение:"ÐÑоводное USB-C (2 поÑÑа)","ÐаÑеÑиал коÑпÑÑа":"ABS-плаÑÑик",РазмеÑÑ:"126 x 57 x 29 мм",ÐеÑ:"150 гÑ","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ",СовмеÑÑимоÑÑÑ:"Windows"},rating:4.7,seo:{title:"K08 Ðини Ðейпад 8 ÐÐ»Ð°Ð²Ð¸Ñ | Dual USB-C | VOROTEX",description:"ÐомпакÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа K08 на 8 клавиÑ. Ðва поÑÑа USB-C Ð´Ð»Ñ Ñдобного подклÑÑениÑ. Hot-Swap, RGB, пÑогÑаммиÑÑемаÑ.",keywords:"k08 клавиаÑÑÑа, макÑопад 8 клавиÑ, dual usb-c keypad, vorotex, мини клавиаÑÑÑа",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#222222"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00001989",externalId:"00-00001989",combination:{color:"black"},stock:183,price:1690},{id:"00-00001990",externalId:"00-00001990",combination:{color:"white"},stock:21,price:1690,image:"/placeholder.svg"}],sections:[{id:"k08-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"СоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки клавиаÑÑÑÑ",icon:"settings"},{title:"ÐаÑеÑÑвеннÑе Hot Swap ÑвиÑÑи Kailh",icon:"cpu"},{title:"ÐвенадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"Ðва USB-C ÑазÑема Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ",icon:"download"}]},{id:"k08-switch",type:"text-image",title:"KAILH PURPLE",subtitle:"ТакÑилÑÐ½Ð°Ñ ÑиÑина",content:"УÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑакÑилÑнÑе пеÑеклÑÑаÑели Kailh Long Hua Purple. Ðни имеÑÑ Ð¾ÑÑÑимÑÑ ÑоÑÐºÑ ÑÑабаÑÑÐ²Ð°Ð½Ð¸Ñ (поÑ
ожи на Brown ÑвиÑÑи), ÑÑо Ð´Ð°ÐµÑ Ð¾ÑлиÑнÑÑ Ð¾Ð±ÑаÑнÑÑ ÑвÑÐ·Ñ Ð¿Ñи нажаÑии, но пÑи ÑÑом ÑабоÑаÑÑ Ð´Ð¾ÑÑаÑоÑно ÑиÑ
о, не меÑÐ°Ñ Ð¾ÐºÑÑжаÑÑим.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"k08-dual",type:"text-image",title:"ÐÐÐ USB-C Ð ÐÐЪÐÐÐ",subtitle:"Удобное подклÑÑение",content:"РазмеÑÑиÑе клавиаÑÑÑÑ Ñак, как Ñдобно вам. Ðва поÑÑа USB Type-C (ÑвеÑÑ
Ñ Ð¸ ÑбокÑ) позволÑÑÑ Ð²ÑвеÑÑи ÐºÐ°Ð±ÐµÐ»Ñ Ð² нÑжнÑÑ ÑÑоÑонÑ, ÑоÑ
ÑанÑÑ Ð¿Ð¾ÑÑдок на ÑÑоле.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-k08",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}
2893,{id:"kb-sayodevice-s2s4",name:"VOROTEX SayoDevice S2/S4",category:Te.MINI,price:1590,originalPrice:2190,stock:414,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐомпакÑнÑе макÑо-клавиаÑÑÑÑ Ð½Ð° 2 или 4 клавиÑи. ÐдеалÑÐ½Ñ Ð´Ð»Ñ Copy/Paste или OSU!.",longDescription:"VOROTEX SayoDevice S2 и S4 â ÑÑо воплоÑение минимализма и ÑÑÑекÑивноÑÑи. ÐÐ¾Ð´ÐµÐ»Ñ S2 (2 клавиÑи) идеалÑно подÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð¾ÑиÑнÑÑ
Ð·Ð°Ð´Ð°Ñ (Copy/Paste, Undo/Redo) или как Ð¿ÐµÐ´Ð°Ð»Ñ Ð´Ð»Ñ Discord. ÐÐ¾Ð´ÐµÐ»Ñ S4 (4 клавиÑи) ÑаÑÑо иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑиÑм-Ð¸Ð³Ñ (OSU! mania) или как блок навигаÑии (ÑÑÑелки). ÐлавиаÑÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð³Ð¾ÑÑÑÑÑ Ð·Ð°Ð¼ÐµÐ½Ñ ÑвиÑÑей (Hot-Swap), оÑнаÑÐµÐ½Ñ ÐºÐ°ÑеÑÑвеннÑми кÑаÑнÑми пеÑеклÑÑаÑелÑми Outemu Red и наÑÑÑаиваÑÑÑÑ ÑеÑез ÑдобнÑй веб-инÑеÑÑейÑ.",features:["Web Configurator","2 or 4 Keys","Outemu Red","Hot-Swap","RGB"],specs:{"Тип клавиаÑÑÑÑ":"ÐеÑ
аниÑеÑÐºÐ°Ñ Ð¼Ð°ÐºÑо-клавиаÑÑÑа","ÐолиÑеÑÑво клавиÑ":"2 (S2) или 4 (S4)",СвиÑÑи:"Outemu Red (ÐинейнÑе)","Тип ÑвиÑÑей":"Hot-Swap",ÐодÑвеÑка:"RGB ÐаÑÑÑаиваемаÑ","ÐаÑеÑиал коÑпÑÑа":"ABS плаÑÑик",ÐодклÑÑение:"ÐÑоводное USB Type-C","РабоÑий Ñок":"150 мÐ","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ":"50 миллионов","СкоÑоÑÑÑ Ð¾Ñклика":"0.1 мÑ","Ðлина кабелÑ":"2 м","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ (Web-веÑÑиÑ)",СовмеÑÑимоÑÑÑ:"Windows, MacOS, Linux",РазмеÑÑ:"45 x 30 x 25 мм",ÐеÑ:"40 гÑ"},rating:4.8,seo:{title:"SayoDevice S2/S4 Ðини Ðейпад | 2-4 ÐлавиÑи, Web Config | VOROTEX",description:"ÐÑпиÑÑ Ð¼Ð¸Ð½Ð¸-клавиаÑÑÑÑ SayoDevice S2 (2 кнопки) или S4 (4 кнопки). ÐаÑÑÑойка ÑеÑез бÑаÑзеÑ, макÑоÑÑ, RGB, Outemu Red ÑвиÑÑи. ÐÐ»Ñ ÑабоÑÑ Ð¸ OSU!",keywords:"sayodevice s2, sayodevice s4, макÑопад 2 кнопки, osu keypad 4 keys, copy paste keyboard, vorotex, outemu red",indexing:!0},options:[{id:"model",name:"ÐоделÑ",type:"text",values:[{id:"s2",name:"S2 (2 ÐлавиÑи)"},{id:"s4",name:"S4 (4 ÐлавиÑи)"}]},{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00002044",externalId:"00-00002044",combination:{model:"s2",color:"black"},stock:177,price:1590,name:"VOROTEX SayoDevice S2",image:"/placeholder.svg"},{id:"00-00002045",externalId:"00-00002045",combination:{model:"s4",color:"black"},stock:141,price:1990,name:"VOROTEX SayoDevice S4",image:"/placeholder.svg"},{id:"00-00002065",externalId:"00-00002065",combination:{model:"s4",color:"white"},stock:96,price:1990,name:"VOROTEX SayoDevice S4",image:"/placeholder.svg"}],sections:[{id:"s2s4-web",type:"text-image",title:"ÐÐÐÐÐÐ ÐÐСТРÐÐÐÐ",subtitle:"SayoDevice Web",content:"ÐолÑÑе не нÑжно ÑÑÑанавливаÑÑ Ð´ÑайвеÑÑ. ÐодклÑÑиÑе клавиаÑÑÑÑ, оÑкÑойÑе ÑÐ°Ð¹Ñ SayoDevice в бÑаÑзеÑе и наÑÑÑойÑе макÑоÑÑ, подÑвеÑÐºÑ Ð¸Ð»Ð¸ пеÑеназнаÑÑÑе клавиÑи за паÑÑ ÐºÐ»Ð¸ÐºÐ¾Ð². ÐаÑÑÑойки ÑоÑ
ÑанÑÑÑÑÑ Ð² памÑÑи ÑÑÑÑойÑÑва.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"s2s4-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"Ðнлайн-конÑигÑÑаÑÐ¾Ñ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки",icon:"monitor"},{title:"ÐÑаÑнÑе Hot Swap ÑвиÑÑи OUTEMU",icon:"cpu"},{title:"ÐÑÑокое каÑеÑÑво маÑеÑиалов",icon:"shield"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"ÐаÑÑÑÐ°Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ RGB подÑвеÑка",icon:"zap"}]},{id:"s2s4-workflow",type:"text-image",title:"УСÐÐÐ ÐÐÐÐ Ð ÐÐÐТЫ",subt
2893itle:"Copy / Paste",content:"ÐÐ¾Ð´ÐµÐ»Ñ S2 â ÑÑо Ð²Ð°Ñ Ð»ÑÑÑий дÑÑг пÑи ÑабоÑе Ñ ÑекÑÑом или кодом. ÐазнаÑÑÑе на клавиÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ctrl+C и Ctrl+V, ÑÑÐ¾Ð±Ñ ÐºÐ¾Ð¿Ð¸ÑоваÑÑ Ð¸ вÑÑавлÑÑÑ Ð´Ð°Ð½Ð½Ñе одним нажаÑием, не Ð»Ð¾Ð¼Ð°Ñ Ð¿Ð°Ð»ÑÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"s2s4-osu",type:"text-image",title:"S4 ÐÐЯ Ð ÐТÐ-ÐÐÐ ",subtitle:"4 ÐлавиÑи",content:"ÐеÑÑÐ¸Ñ S4 оÑлиÑно подÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð¸Ð³Ñ Ñипа OSU! Mania (4K Ñежим) или в каÑеÑÑве блока ÑÑÑелок Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑнÑÑ
клавиаÑÑÑ. ÐÑаÑнÑе ÑвиÑÑи обеÑпеÑиваÑÑ Ð±ÑÑÑÑÑй и плавнÑй оÑклик.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"reviews-s2s4",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}],Lw=[{id:"ms-v1-wireless",name:"VOROTEX V1",category:Te.MOUSE,price:2390,originalPrice:3290,stock:150,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ТÑÑÑ
ÑежимнаÑ, ÑлÑÑÑалÑÐ³ÐºÐ°Ñ (54г), PAW-3311, 18000dpi.",longDescription:"VOROTEX V1 â ÑÑо новое Ñлово в ÑлÑÑÑалегком гейминге. ÐÐµÑ Ð²Ñего 54 гÑамма и ÑÑгономиÑнÑй дизайн позволÑÑÑ Ð¸Ð³ÑаÑÑ ÑаÑами без ÑÑÑалоÑÑи. ÐнÑÑÑи ÑÑÑановлен пÑоизводиÑелÑнÑй ÑенÑÐ¾Ñ PixArt PAW-3311 Ñ ÑазÑеÑением до 18000 DPI. ÐÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑи Ñежима подклÑÑениÑ: Bluetooth 5.1, Ñадиоканал 2.4G и пÑоводной Ñежим. ÐадежнÑе пеÑеклÑÑаÑели HUANO (20 млн) обеÑпеÑиваÑÑ ÑеÑкий клик. РкомплекÑе: гÑипÑÑ, паÑакоÑд-ÐºÐ°Ð±ÐµÐ»Ñ Ð¸ ÑменнÑе глайдÑ.",features:["54g Ultra-light","PAW-3311 18K","Tri-Mode","Huano 20M","Grips Included"],rating:4.9,specs:{СенÑоÑ:"PixArt PAW-3311",DPI:"18000",ÐеÑ:"54 г",ÐикÑопеÑеклÑÑаÑели:"HUANO (20 млн)",ÐодклÑÑение:"2.4G / Bluetooth 5.1 / Wired","ÐмкоÑÑÑ Ð°ÐºÐºÑмÑлÑÑоÑа":"500 mAh","ЧаÑÑоÑа опÑоÑа":"125-1000 ÐÑ",РазмеÑÑ:"119 x 62 x 40 мм","ÐолиÑеÑÑво кнопок":"6 (ÐÑогÑаммиÑÑемÑе)",СовмеÑÑимоÑÑÑ:"Windows, MacOS","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ (Web & Offline)"},seo:{title:"VOROTEX V1 ÐгÑÐ¾Ð²Ð°Ñ ÐÑÑÑ | 54г, PAW-3311, 18000 DPI",description:"ÐÑпиÑÑ VOROTEX V1. УлÑÑÑÐ°Ð»ÐµÐ³ÐºÐ°Ñ Ð¼ÑÑÑ 54г, ÑенÑÐ¾Ñ PAW-3311, 18000 DPI. Ðеб-дÑайвеÑ, 3 Ñежима подклÑÑениÑ. ÐÑипÑÑ Ð² комплекÑе.",keywords:"vorotex v1, paw-3311, игÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ 54г, 18000 dpi, беÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÑÑÑ, веб дÑÐ°Ð¹Ð²ÐµÑ Ð¼ÑÑи",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00002055",externalId:"00-00002055",combination:{color:"white"},stock:150,price:2390,image:"/placeholder.svg"}],marketplaceLinks:{ozon:"https://ozon.ru",wb:"https://wildberries.ru"},sections:[{id:"v1-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"ÐгÑовой ÑенÑÐ¾Ñ PAW-3311",icon:"target",text:"Ðо 18000 DPI"},{title:"Тип подклÑÑениÑ: BT / 2.4G / USB-C",icon:"download",text:"ТÑи Ñежима"},{title:"УлÑÑÑалегкий веÑ, вÑего 54г",icon:"mouse",text:"ÐомÑоÑÑ Ð±ÐµÐ· ÑÑÑалоÑÑи"},{title:"ÐадежнÑе пеÑеклÑÑаÑели HUANO",icon:"shield",text:"20 млн кликов"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"settings",text:"ÐолнÑй конÑÑолÑ"},{title:"ШеÑÑиÑÑÑпенÑаÑÐ°Ñ ÑегÑлиÑовка DPI",icon:"layers",text:"ÐдапÑаÑÐ¸Ñ Ð¿Ð¾Ð´ игÑÑ"}]},{id:"v1-comfort",type:"text-image",title:"ÐÐÐФÐРТÐÐÐ ÐСÐÐÐЬÐÐÐÐÐÐÐ",subtitle:"ÐÑгономика победÑ",content:"Ðизайн ÑпеÑиалÑно ÑазÑабоÑан Ñ ÑÑеÑом Ñдобного Ñ
ваÑа мÑÑи. ÐоÑпÑÑ Ð¸Ð´ÐµÐ°Ð»Ñно ÑбаланÑиÑован, а Ð²ÐµÑ Ð² 54 гÑамма позволÑÐµÑ ÑовеÑÑаÑÑ Ð¼Ð¾Ð»Ð½Ð¸ÐµÐ½Ð¾ÑнÑе Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð±ÐµÐ· нагÑÑзки на киÑÑÑ. РкомплекÑе идÑÑ Ð¿ÑоÑивоÑколÑзÑÑие гÑипÑÑ Ð´Ð»Ñ Ð¼Ð°ÐºÑималÑного ÑÑеплениÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"v1-tech",type:"text-image",title:"PAW-3311 & 18000 DPI",subtitle:"ТеÑ
нологиÑеÑкое пÑевоÑÑ
одÑÑво",content:"СеÑдÑе мÑÑи â игÑовой Ñип PAW-33
289311. Ðн обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð²ÑÑокÑÑ ÑоÑноÑÑÑ Ð¾ÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑазÑеÑение до 18000 DPI. РегÑлиÑÑйÑе ÑаÑÑоÑÑ Ð¾Ð¿ÑоÑа Ð¾Ñ 125 до 1000 ÐÑ Ð´Ð»Ñ Ð¸Ð´ÐµÐ°Ð»Ñной ÑинÑ
ÑонизаÑии Ñ Ð²Ð°Ñим ÐÐ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"v1-software",type:"text-image",title:"СÐФТ ÐÐЯ ÐÐ ÐÐÐ ÐÐÐÐÐ ÐÐÐÐÐЯ",subtitle:"Ðнлайн и ÐÑлайн",content:'ÐаÑÑÑаивайÑе мÑÑÑ Ð³Ð´Ðµ Ñгодно! ÐоÑÑÑпен ÑникалÑнÑй <strong>онлайн-конÑигÑÑаÑоÑ</strong>, коÑоÑÑй не ÑÑебÑÐµÑ ÑÑÑановки и ÑабоÑÐ°ÐµÑ Ð¿ÑÑмо ÑеÑез бÑаÑзеÑ: <a href="https://vorotex-v1.yjx2012.com" target="_blank" class="text-[#ff3b30] hover:underline font-bold">vorotex-v1.yjx2012.com</a>. ÐÐ»Ñ Ð»ÑбиÑелей клаÑÑики доÑÑÑпна и оÑлайн-веÑÑÐ¸Ñ ÑоÑÑа.',image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"reviews-v1",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"ms-m6",name:"VOROTEX M6",category:Te.MOUSE,price:1590,originalPrice:2190,stock:150,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ Ñ Ð¿ÐµÑÑоÑиÑованнÑм коÑпÑÑом, RGB подÑвеÑкой и ÑенÑоÑом 8000 DPI.",longDescription:'VOROTEX M6 â ÑÑо ÑоÑеÑание легкоÑÑи и ÑÑнкÑионалÑноÑÑи. ÐеÑÑоÑиÑованнÑй коÑпÑÑ ("ÑоÑÑ") обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð²ÐµÐ½ÑилÑÑÐ¸Ñ Ð»Ð°Ð´Ð¾Ð½Ð¸ и ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð²ÐµÑ. ÐпÑиÑеÑкий ÑенÑÐ¾Ñ Sunplus 199 Ñ ÑазÑеÑением до 8000 DPI гаÑанÑиÑÑÐµÑ ÑоÑноÑÑÑ. 6 пÑогÑаммиÑÑемÑÑ
кнопок и поддеÑжка макÑоÑов даÑÑ Ð¿ÑеимÑÑеÑÑво в игÑаÑ
. ЯÑÐºÐ°Ñ RGB подÑвеÑка Ñ 6 Ñежимами ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð°ÑмоÑÑеÑÑ.',features:["Honeycomb Design","8000 DPI","RGB 6 Modes","Macro Support"],specs:{СенÑоÑ:"Optical Sunplus 199",DPI:"8000","ÐолиÑеÑÑво кнопок":"6 (ÐÑогÑаммиÑÑемÑе)",ÐодÑвеÑка:"RGB (6 Ñежимов)",ÐеÑ:"103 г",РазмеÑÑ:"125 x 65 x 37 мм",ÐодклÑÑение:"ÐÑоводное USB","Ðлина кабелÑ":"1.6 м",УÑкоÑение:"10G","ЧаÑÑоÑа опÑоÑа":"125 ÐÑ",ÐикÑопеÑеклÑÑаÑели:"Huano (20 млн)",СовмеÑÑимоÑÑÑ:"Windows, Mac OS, Linux"},rating:4.8,seo:{title:"M6 ÐгÑÐ¾Ð²Ð°Ñ ÐÑÑÑ 8000 DPI | RGB, Honeycomb | VOROTEX",description:"ÐгÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ VOROTEX M6. СенÑÐ¾Ñ 8000 DPI, пеÑÑоÑиÑованнÑй коÑпÑÑ, RGB подÑвеÑка, макÑоÑÑ. ÐоÑÑÑпна в ÑеÑном и белом ÑвеÑе.",keywords:"m6 мÑÑÑ, honeycomb mouse, мÑÑÑ Ñ Ð´ÑÑками, 8000 dpi, vorotex m6, игÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ rgb",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001933",externalId:"00-00001933",combination:{color:"white"},stock:80,price:1590,image:"/placeholder.svg"},{id:"00-00001934",externalId:"00-00001934",combination:{color:"black"},stock:70,price:1590,image:"/placeholder.svg"}],sections:[{id:"m6-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РазÑеÑение даÑÑика до 8000 dpi",icon:"target"},{title:"СÑок ÑлÑÐ¶Ð±Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº: 20 млн. кликов",icon:"shield"},{title:"ШеÑÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"settings"},{title:"Ðизайн Ð´Ð»Ñ Ñдобного Ñ
ваÑа",icon:"mouse"},{title:"ШеÑÑÑ Ð¿ÑогÑаммиÑÑемÑÑ
кнопок",icon:"layers"}]},{id:"m6-comfort",type:"text-image",title:"ÐÐÐФÐРТÐÐÐ ÐСÐÐÐЬÐÐÐÐÐÐÐ",subtitle:"ÐÑгономика",content:"Ðизайн ÑпеÑиалÑно ÑазÑабоÑан Ñ ÑÑеÑом Ñдобного Ñ
ваÑа мÑÑи. ÐеÑÑоÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð²ÐµÑÑ
ноÑÑÑ Ð¿ÑедоÑвÑаÑÐ°ÐµÑ Ð·Ð°Ð¿Ð¾Ñевание ладони во вÑÐµÐ¼Ñ Ð´Ð»Ð¸ÑелÑнÑÑ
игÑовÑÑ
ÑеÑÑий.",image:"/placeholder.svg",alignment:"left",theme:"dark"}
2893,{id:"m6-tech",type:"text-image",title:"ТÐÐ¥ÐÐÐÐÐÐÐ ÐÐÐÐÐЫ",subtitle:"СенÑÐ¾Ñ Ð¸ ÐакÑоÑÑ",content:"ÐпÑиÑеÑкий даÑÑик Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой до 8000 DPI обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑоÑноÑÑÑ. ÐоддеÑжка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð°ÐºÑоÑов и ÑеÑÑиÑÑÑпенÑаÑÐ°Ñ ÑегÑлиÑовка DPI позволÑÑÑ Ð°Ð´Ð°Ð¿ÑиÑоваÑÑ Ð¼ÑÑÑ Ð¿Ð¾Ð´ лÑбой ÑÑÐ¸Ð»Ñ Ð¸Ð³ÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"m6-software",type:"text-image",title:"ÐÐ ÐÐÐ ÐÐÐÐÐÐ ÐÐÐСÐÐЧÐÐÐÐ",subtitle:"ÐÐ¾Ð»Ð½Ð°Ñ Ð½Ð°ÑÑÑойка",content:"СпеÑиалÑнÑй ÑоÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿ÐµÑеназнаÑаÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸, запиÑÑваÑÑ Ð¼Ð°ÐºÑоÑÑ, наÑÑÑаиваÑÑ ÑÐµÐ¶Ð¸Ð¼Ñ Ð¿Ð¾Ð´ÑвеÑки и паÑамеÑÑÑ ÑенÑоÑа.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"reviews-m6",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"ms-m3",name:"VOROTEX M3",category:Te.MOUSE,price:1140,originalPrice:1690,stock:180,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑоводнаÑ, пÑогÑаммиÑÑемаÑ, ÑменнÑе панели, 7200dpi",longDescription:"VOROTEX M3 â ÑÑо каÑÑомизаÑÐ¸Ñ Ð¸ ÑдобÑÑво. РкомплекÑе идÑÑ Ð´Ð²Ðµ дополниÑелÑнÑе ÑÑемнÑе панели, позволÑÑÑие менÑÑÑ Ð²Ð½ÐµÑний вид и ÑакÑилÑнÑе оÑÑÑениÑ. СенÑÐ¾Ñ Instant A725 Ñ ÑазÑеÑением 7200 DPI подÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва жанÑов. Ðегкий Ð²ÐµÑ (99г) и ÑÑгономиÑÐ½Ð°Ñ ÑоÑма ÑнижаÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ð° киÑÑÑ. 13 Ñежимов RGB подÑвеÑки ÑоздаÑÑ ÑÑкий визÑалÑнÑй ÑÑилÑ.",features:["Interchangeable Panels","7200 DPI","RGB 13 Modes","99g Weight"],specs:{СенÑоÑ:"Optical Instant A725",DPI:"7200","ÐолиÑеÑÑво кнопок":"6 (ÐÑогÑаммиÑÑемÑе)",ÐодÑвеÑка:"RGB (13 Ñежимов)",ÐеÑ:"99 г",РазмеÑÑ:"123 x 65 x 39 мм",ÐодклÑÑение:"ÐÑоводное USB","Ðлина кабелÑ":"1.5 м",УÑкоÑение:"20G","ЧаÑÑоÑа опÑоÑа":"125 ÐÑ",ÐикÑопеÑеклÑÑаÑели:"10 млн. кликов",СовмеÑÑимоÑÑÑ:"Windows, Mac OS, Linux",ÐомплекÑаÑиÑ:"ÐÑÑÑ, 2 ÑменнÑе панели"},rating:4.7,seo:{title:"M3 ÐгÑÐ¾Ð²Ð°Ñ ÐÑÑÑ Ñо СменнÑми ÐанелÑми | 7200 DPI | VOROTEX",description:"ÐгÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ VOROTEX M3. СменнÑе панели в комплекÑе, 7200 DPI, RGB подÑвеÑка. Ðегкий Ð²ÐµÑ 99г. ÐÑогÑаммиÑÑемаÑ.",keywords:"m3 мÑÑÑ, ÑменнÑе панели мÑÑÑ, 7200 dpi, vorotex m3, бÑджеÑÐ½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001931",externalId:"00-00001931",combination:{color:"white"},stock:90,price:1140,image:"/placeholder.svg"},{id:"00-00001932",externalId:"00-00001932",combination:{color:"black"},stock:90,price:1140,image:"/placeholder.svg"}],sections:[{id:"m3-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РазÑеÑение даÑÑика до 7200 dpi",icon:"target"},{title:"Ðве дополниÑелÑнÑе ÑÑемнÑе панели",icon:"layers"},{title:"ТÑинадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"settings"},{title:"Ðегкий Ð²ÐµÑ Ð¼ÑÑи около 99 гÑамм",icon:"mouse"},{title:"ШеÑÑÑ Ð¿ÑогÑаммиÑÑемÑÑ
кнопок",icon:"download"}]},{id:"m3-style",type:"text-image",title:"ÐЫÐÐРРСÐÐРСТÐÐЬ",subtitle:"СменнÑе панели",content:"РкомплекÑе Ñ Ð¼ÑÑÑÑ Ð¸Ð´ÑÑ Ð´Ð²Ðµ дополниÑелÑнÑе ÑменнÑе панели. ÐÑ Ð¼Ð¾Ð¶ÐµÑе измениÑÑ Ð²Ð½ÐµÑний вид мÑÑи (ÑоÑÑ Ð¸Ð»Ð¸ ÑплоÑнаÑ) или пÑоÑÑо обновиÑÑ ÐµÑ Ð²Ð¸Ð´, когда заÑ
оÑеÑÑÑ.",image:"/placeholder.svg",alignment:"center",theme:"light"},{id:"m3-tech",type:"text-image",title:"ФУÐÐЦÐÐÐÐÐЬÐÐСТЬ",subtitle:"ÐÑгономика и DPI",content:"ШеÑÑиÑÑÑпенÑаÑÐ°Ñ ÑегÑлиÑовка DPI позволÑÐµÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ менÑÑÑ ÑÑвÑÑвиÑелÑноÑÑÑ. ÐÑгономиÑнÑй дизайн и ÑдобнÑй Ñ
Ð²Ð°Ñ Ð¾Ð±ÐµÑпеÑиваÑÑ ÐºÐ¾Ð¼ÑоÑÑ, а RGB подÑвеÑка добавлÑÐµÑ ÑÑилÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"m3-software",type:"text-image",title:"ÐÐ ÐÐÐ ÐÐÐÐÐÐ ÐÐÐСÐÐЧÐÐÐÐ",subtitle:"ÐаÑÑÑойка под ÑебÑ",content:"ÐÑполÑзÑйÑе ÑиÑменнÑй ÑоÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки назнаÑÐµÐ½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñ, запиÑи макÑоÑов и ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÑвеÑкой.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-m3",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"ms-g7r",name:"VOROTEX G7R",category:Te.MOUSE,price:2590,originalPrice
2893:3290,stock:120,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ Ñ Ð°Ð³ÑеÑÑивнÑм дизайном, RGB подÑвеÑкой и ÑенÑоÑом PAW3325.",longDescription:'VOROTEX G7R â ÑÑо ÑÑÐ¸Ð»Ñ Ð¸ Ñвобода. ЯÑкий дизайн Ñ "меÑ
аниÑеÑкими" ÑлеменÑами коÑпÑÑа дополнен 11 Ñежимами RGB подÑвеÑки. СенÑÐ¾Ñ PixArt PAW3325 обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑоÑноÑÑÑ Ð´Ð¾ 10000 DPI. ÐÑÑÑ ÑабоÑÐ°ÐµÑ Ð² двÑÑ
ÑежимаÑ
: по ÑÐ°Ð´Ð¸Ð¾ÐºÐ°Ð½Ð°Ð»Ñ 2.4G и по пÑоводÑ. ÐÑÑÑоеннÑй аккÑмÑлÑÑÐ¾Ñ 450 mAh позволÑÐµÑ Ð¸Ð³ÑаÑÑ Ð´Ð¾Ð»Ð³Ð¾, а ÑÑнкÑÐ¸Ñ Ð¿ÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð°ÐºÑоÑов Ð´Ð°ÐµÑ Ð¿ÑеимÑÑеÑÑво в боÑÑ
.',features:["Wireless","PAW3325","7 Buttons","RGB 11 Modes"],specs:{СенÑоÑ:"PixArt PAW3325",DPI:"1200-10000","ÐолиÑеÑÑво кнопок":"7 (ÐÑогÑаммиÑÑемÑе)",ÐодÑвеÑка:"RGB (11 Ñежимов)","ÐмкоÑÑÑ Ð°ÐºÐºÑмÑлÑÑоÑа":"450 mAh",ÐеÑ:"100 г",РазмеÑÑ:"129 x 74 x 42 мм",ÐодклÑÑение:"ÐеÑпÑоводное 2.4G / ÐÑоводное",ÐикÑопеÑеклÑÑаÑели:"20 млн. кликов",СовмеÑÑимоÑÑÑ:"Windows, MacOS (базовÑй ÑÑнкÑионал)"},rating:4.7,seo:{title:"G7R ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÐÑÑÑ 10000 DPI | RGB, ÐакÑоÑÑ | VOROTEX",description:"ÐгÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ VOROTEX G7R. ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÑвÑзÑ, ÑенÑÐ¾Ñ PAW3325, 7 кнопок, RGB подÑвеÑка. ÐоÑÑÑпна в белом, желÑом и ÑеÑном ÑвеÑаÑ
.",keywords:"g7r мÑÑÑ, беÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ, paw3325, макÑоÑÑ Ð¼ÑÑÑ, vorotex, rgb мÑÑка",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"yellow",name:"ÐелÑÑй",value:"#ffd700"},{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001956",externalId:"00-00001956",combination:{color:"white"},stock:40,price:2590},{id:"00-00001955",externalId:"00-00001955",combination:{color:"yellow"},stock:40,price:2590,image:"/placeholder.svg"},{id:"00-00001957",externalId:"00-00001957",combination:{color:"black"},stock:40,price:2590,image:"/placeholder.svg"}],sections:[{id:"g7r-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РазÑеÑение даÑÑика до 10000 dpi",icon:"target"},{title:"Тип подклÑÑениÑ: ÐÑоводной + 2.4 ÐÐÑ",icon:"download"},{title:"ÐдиннадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"settings"},{title:"Ðизайн ÑозданнÑй Ð´Ð»Ñ Ð³ÐµÐ¹Ð¼ÐµÑов",icon:"mouse"},{title:"Ð¡ÐµÐ¼Ñ Ð¿ÑогÑаммиÑÑемÑÑ
кнопок",icon:"layers"}]},{id:"g7r-wireless",type:"text-image",title:"ÐЫСТРÐЯ ÐÐРЯÐÐÐ",subtitle:"Рдолгий ÑеÑÑÑÑ",content:"ÐÑÑÑоеннÑй аккÑмÑлÑÑÐ¾Ñ Ð½Ð° 450 mAh обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð»Ð¸ÑелÑнÑÑ Ð²ÑÐµÐ¼Ñ ÑабоÑÑ. РеÑли заÑÑд законÑилÑÑ Ð¿ÑÑмо во вÑÐµÐ¼Ñ ÐºÐ°Ñки â пÑоÑÑо подклÑÑиÑе ÐºÐ°Ð±ÐµÐ»Ñ Type-C и пÑодолжайÑе игÑаÑÑ Ð² пÑоводном Ñежиме, пока мÑÑÑ Ð·Ð°ÑÑжаеÑÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"g7r-design",type:"text-image",title:"ÐÐÐÐÐ ÐÐÐÐ ÐÐÐÐÐÐ",subtitle:"СÑÐ¸Ð»Ñ Ð±ÑдÑÑего",content:"ÐгÑеÑÑивнÑе линии, пÑозÑаÑнÑе ÑлеменÑÑ Ð¸ ÑÑÐºÐ°Ñ RGB подÑвеÑка делаÑÑ G7R наÑÑоÑÑим ÑкÑаÑением игÑового ÑÑола.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-g7r",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"ms-diamond",name:"VOROTEX DIAMOND",category:Te.MOUSE,price:1250,originalPrice
2893:1590,stock:200,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ Ð² ÑникалÑном полноÑÑÑÑ Ð¿ÑозÑаÑном коÑпÑÑе Ñ RGB подÑвеÑкой.",longDescription:"VOROTEX DIAMOND â ÑÑо мÑÑÑ, коÑоÑÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ не замеÑиÑÑ. ÐолноÑÑÑÑ Ð¿ÑозÑаÑнÑй коÑпÑÑ Ð¸Ð· поликаÑбонаÑа пÑевÑаÑÐ°ÐµÑ Ð´ÐµÐ²Ð°Ð¹Ñ Ð² ÑвеÑÑÑийÑÑ ÐºÑиÑÑалл пÑи вклÑÑении RGB подÑвеÑки (13 Ñежимов). ÐнÑÑÑи ÑÑÑановлен ÑенÑÐ¾Ñ Instant A825 Ñ ÑазÑеÑением до 12800 DPI, обеÑпеÑиваÑÑий вÑÑокÑÑ ÑоÑноÑÑÑ Ð² игÑаÑ
. ÐеÑеклÑÑаÑели ÑаÑÑÑиÑÐ°Ð½Ñ Ð½Ð° 20 миллионов нажаÑий. ÐдеалÑнÑй вÑÐ±Ð¾Ñ Ð´Ð»Ñ Ð»ÑбиÑелей ÑÑкиÑ
ÑеÑапов.",features:["Transparent Body","12800 DPI","RGB 13 Modes","Instant A825"],specs:{СенÑоÑ:"Instant A825",DPI:"12800","ÐолиÑеÑÑво кнопок":"6 (ÐÑогÑаммиÑÑемÑе)",ÐодÑвеÑка:"RGB (13 Ñежимов)",ÐеÑ:"132 г",РазмеÑÑ:"127 x 63 x 39 мм",ÐодклÑÑение:"ÐÑоводное USB","Ðлина кабелÑ":"1.65 м",УÑкоÑение:"20G",ÐикÑопеÑеклÑÑаÑели:"20 млн. кликов",FPS:"7000"},rating:4.8,seo:{title:"DIAMOND ÐÑозÑаÑÐ½Ð°Ñ ÐгÑÐ¾Ð²Ð°Ñ ÐÑÑÑ | 12800 DPI, RGB | VOROTEX",description:"УникалÑÐ½Ð°Ñ Ð¼ÑÑÑ VOROTEX DIAMOND Ñ Ð¿ÑозÑаÑнÑм коÑпÑÑом. 12800 DPI, ÑÑÐºÐ°Ñ RGB подÑвеÑка, пÑогÑаммиÑÑемÑе кнопки. ÐÑбеÑи Ñвой бÑиллианÑ.",keywords:"пÑозÑаÑÐ½Ð°Ñ Ð¼ÑÑÑ, rgb мÑÑка, игÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ 12800 dpi, vorotex diamond, кÑаÑÐ¸Ð²Ð°Ñ Ð¼ÑÑÑ",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй (ÐÑозÑаÑнÑй)",value:"#e0f7fa"},{id:"black",name:"ЧÑÑнÑй (ÐÑозÑаÑнÑй)",value:"#333333"}]}],variants:[{id:"00-00001929",externalId:"00-00001929",combination:{color:"white"},stock:100,price:1250,image:"/placeholder.svg"},{id:"00-00001930",externalId:"00-00001930",combination:{color:"black"},stock:100,price:1250,image:"/placeholder.svg"}],sections:[{id:"diamond-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РазÑеÑение даÑÑика до 12800 dpi",icon:"target"},{title:"СÑок ÑлÑÐ¶Ð±Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº: 20 млн. кликов",icon:"settings"},{title:"ТÑинадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"ÐолноÑÑÑÑ Ð¿ÑозÑаÑнÑй коÑпÑÑ Ð¼ÑÑи",icon:"star"},{title:"ШеÑÑÑ Ð¿ÑогÑаммиÑÑемÑÑ
кнопок",icon:"mouse"}]},{id:"diamond-design",type:"text-image",title:"ÐÐ ÐÐÐ ÐЧÐЫРÐÐÐ ÐУС",subtitle:"СиÑние изнÑÑÑи",content:"УникалÑнÑй дизайн коÑпÑÑа позволÑÐµÑ ÑвидеÑÑ Ð²Ð½ÑÑÑенние компоненÑÑ Ð¼ÑÑи. Ðо главное â ÑÑо подÑвеÑка. Ð¡Ð²ÐµÑ Ð¿ÑеломлÑеÑÑÑ Ð² гÑанÑÑ
коÑпÑÑа, ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ Ð¿Ð¾ÑÑÑÑаÑÑий ÑÑÑÐµÐºÑ ÐºÑиÑÑалла на ваÑем ÑÑоле.",image:"/placeholder.svg",alignment:"center",theme:"dark"},{id:"diamond-sensor",type:"text-image",title:"ÐЫСÐÐÐЯ ТÐЧÐÐСТЬ",subtitle:"Instant A825",content:"СенÑÐ¾Ñ Ñ ÑазÑеÑением до 12800 DPI и ÑаÑÑоÑой Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ 7000 кадÑов в ÑекÑÐ½Ð´Ñ Ð¾Ð±ÐµÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð»Ð°Ð²Ð½Ð¾Ðµ и ÑоÑное оÑÑлеживание движений в лÑбÑÑ
игÑаÑ
.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"reviews-diamond",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"ms-g6",name:"VOROTEX G6",category:Te.MOUSE,price:1870,originalPrice:2290,stock:100,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐÑгономиÑÐ½Ð°Ñ Ð¿ÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÑÑÑ Ñ 10 кнопками и агÑеÑÑивнÑм меÑ
аниÑеÑким дизайном.",longDescription:'VOROTEX G6 â ÑÑо вÑÐ±Ð¾Ñ Ð´Ð»Ñ ÑеÑ
, ÐºÐ¾Ð¼Ñ Ð½Ñжно болÑÑе конÑÑолÑ. 10 пÑогÑаммиÑÑемÑÑ
кнопок позволÑÑÑ Ð½Ð°ÑÑÑоиÑÑ Ð¼Ð°ÐºÑоÑÑ Ð´Ð»Ñ MMO, MOBA или ÑложнÑÑ
ÑабоÑиÑ
задаÑ. ÐÑгономиÑнÑй коÑпÑÑ Ñ ÑпоÑом под болÑÑой Ð¿Ð°Ð»ÐµÑ Ð¾Ð±ÐµÑпеÑÐ¸Ð²Ð°ÐµÑ ÐºÐ¾Ð¼ÑоÑÑ Ð¿Ñи длиÑелÑном иÑполÑзовании. СенÑÐ¾Ñ Instant A826 Ñ ÑазÑеÑением 12800 DPI гаÑанÑиÑÑÐµÑ ÑоÑноÑÑÑ. "ÐеÑ
аниÑеÑкий" дизайн коÑпÑÑа вÑглÑÐ´Ð¸Ñ ÑÑÑÑÑиÑÑиÑно и моÑно.',features:["10 Buttons","Instant A826","RGB 13 Modes","Ergonomic"],specs:{СенÑоÑ:"Instant A826",DPI:"12800","ÐолиÑеÑÑво кнопок":"10 (ÐÑогÑаммиÑÑемÑе)",ÐодÑвеÑка:"RGB (13 Ñежимов)",ÐеÑ:"136 г",РазмеÑÑ:"129 x 82 x 42 мм",ÐодклÑÑение:"ÐÑоводное USB","Ðлина кабелÑ":"1.75 м",УÑкоÑение:"60 IPS","ЧаÑÑоÑа опÑоÑа":"125-1000 ÐÑ",ÐикÑопеÑеклÑÑаÑели:"ÐеÑÑÑмнÑе (20 млн. кликов)"},rating:4.6,seo:{title:"G6 ÐгÑÐ¾Ð²Ð°Ñ ÐÑÑÑ 10 Ðнопок | 12800 DPI, ÐакÑоÑÑ | VOROTEX",description:"ÐногокнопоÑÐ½Ð°Ñ Ð¼ÑÑÑ VOROTEX G6. 10 пÑогÑаммиÑÑемÑÑ
кнопок, ÑÑгономиÑнÑй дизайн, ÑенÑÐ¾Ñ 12800 DPI. ÐдеалÑна Ð´Ð»Ñ MMO и ÑÑÑаÑегий.",keywords:"g6 мÑÑÑ, мÑÑÑ Ð´Ð»Ñ mmo, много кнопок мÑÑÑ, vorotex g6, игÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ Ð¼Ð°ÐºÑоÑÑ",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"yellow",name:"ÐелÑÑй",value:"#ffd700"},{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001923",externalId:"00-00001923",combination:{color:"white"},stock:35,price:1870,image:"/placeholder.svg"},{id:"00-00001922",externalId:"00-00001922",combination:{color:"yellow"},stock:30,price:1870,image:"/placeholder.svg"},{id:"00-00001924",externalId:"00-00001924",combination:{color:"black"},stock:35,price:1870,image:"/placeholder.svg"}],sections:[{id:"g6-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РазÑеÑение даÑÑика до 12800 dpi",icon:"target"},{title:"СÑок ÑлÑÐ¶Ð±Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº: 20 млн. кликов",icon:"settings"},{title:"ТÑинадÑаÑÑ Ñежимов RGB подÑвеÑки",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"Ðизайн ÑозданнÑй Ð´Ð»Ñ Ð³ÐµÐ¹Ð¼ÐµÑов",icon:"mouse"},{title:"ÐеÑÑÑÑ Ð¿ÑогÑаммиÑÑемÑÑ
кнопок",icon:"download"}]},{id:"g6-buttons",type:"text-image",title:"10 ÐÐÐÐÐÐ",subt
2893itle:"ÐолнÑй конÑÑолÑ",content:"ÐазнаÑÑÑе гÑанаÑÑ, ÑÐºÐ¸Ð»Ð»Ñ Ð¸Ð»Ð¸ ÑложнÑе макÑоÑÑ Ð½Ð° дополниÑелÑнÑе кнопки. РаÑположение кнопок пÑодÑмано Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ бÑли легко доÑÑÑпнÑ, но не меÑали обÑÑÐ½Ð¾Ð¼Ñ Ñ
ваÑÑ.",image:"/placeholder.svg",alignment:"left",theme:"dark"},{id:"g6-clicks",type:"text-image",title:"ТÐÐ¥ÐÐ ÐÐÐÐТÐÐ",subtitle:"ÐеÑÑÑмнÑе микÑики",content:"Рмодели иÑполÑзÑÑÑÑÑ Ð±ÐµÑÑÑмнÑе меÑ
аниÑеÑкие микÑопеÑеклÑÑаÑели. ÐгÑайÑе ноÑÑÑ, не беÑÐ¿Ð¾ÐºÐ¾Ñ Ð¾ÐºÑÑжаÑÑиÑ
гÑомкими кликами, пÑи ÑÑом ÑоÑ
ÑанÑÑ ÑеÑкоÑÑÑ ÑÑабаÑÑваниÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-g6",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"ms-g8w",name:"VOROTEX G8W",category:Te.MOUSE,price:2290,originalPrice:2890,stock:130,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:'ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ Ñ Ð¿Ð¾ÐºÑÑÑием "под каÑбон" и беÑÑÑмнÑми пеÑеклÑÑаÑелÑми.',longDescription:"VOROTEX G8W ÑоÑеÑÐ°ÐµÑ Ð² Ñебе ÑÑÑогий ÑÑÐ¸Ð»Ñ Ð¸ игÑовÑе Ñ
аÑакÑеÑиÑÑики. ÐоÑпÑÑ Ñ ÑекÑÑÑÑой под каÑбон не ÑобиÑÐ°ÐµÑ Ð¾ÑпеÑаÑки и обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð½Ð°Ð´ÐµÐ¶Ð½Ñй Ñ
ваÑ. ÐÐ»Ð°Ð²Ð½Ð°Ñ ÑиÑка â беÑÑÑмнÑе нажаÑÐ¸Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº, ÑÑо Ð´ÐµÐ»Ð°ÐµÑ ÐµÑ Ð¸Ð´ÐµÐ°Ð»Ñной Ð´Ð»Ñ Ð½Ð¾ÑнÑÑ
ÑеÑÑий. РабоÑÐ°ÐµÑ Ð² двÑÑ
ÑежимаÑ
(беÑпÑоводной/пÑоводной). ÐпÑиÑеÑкий даÑÑик S203 Ñ ÑазÑеÑением до 12800 DPI обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð²ÑÑокÑÑ ÑоÑноÑÑÑ.",features:["Silent Clicks","Wireless","Carbon Texture","12800 DPI"],specs:{СенÑоÑ:"ÐпÑиÑеÑкий S203",DPI:"12800 (РегÑлиÑÑемÑй)","ÐолиÑеÑÑво кнопок":"7 (ÐÑогÑаммиÑÑемÑе)",ÐодÑвеÑка:"RGB",ÐикÑопеÑеклÑÑаÑели:"ÐеÑÑÑмнÑе (20 млн. кликов)","ÐмкоÑÑÑ Ð°ÐºÐºÑмÑлÑÑоÑа":"500 mAh",ÐеÑ:"86 г",РазмеÑÑ:"127 x 81 x 41 мм",ÐодклÑÑение:"ÐеÑпÑоводное 2.4G / ÐÑоводное USB",СовмеÑÑимоÑÑÑ:"Windows"},rating:4.8,seo:{title:"G8W ÐеÑÑÑÐ¼Ð½Ð°Ñ ÐгÑÐ¾Ð²Ð°Ñ ÐÑÑÑ | ÐаÑбон, Wireless | VOROTEX",description:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÑÑÑ VOROTEX G8W. ТиÑ
ие клики, дизайн под каÑбон, 12800 DPI. Ð£Ð´Ð¾Ð±Ð½Ð°Ñ ÑоÑма и RGB подÑвеÑка.",keywords:"g8w мÑÑÑ, беÑÑÑÐ¼Ð½Ð°Ñ Ð¼ÑÑÑ, каÑбон мÑÑÑ, wireless gaming mouse, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"carbon",name:"ÐаÑбон (ЧеÑнÑй)",colors:["#1a1a1a","#333333"]}]}],variants:[{id:"00-00002049",externalId:"00-00002049",combination:{color:"carbon"},stock:130,price:2290}],sections:[{id:"g8w-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"РазÑеÑение даÑÑика до 8000 dpi",icon:"target"},{title:"СÑок ÑлÑÐ¶Ð±Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº: 20 млн. кликов",icon:"settings"},{title:"СÑилÑÐ½Ð°Ñ RGB подÑвеÑка",icon:"zap"},{title:"ÐÑогÑаммиÑование макÑоÑов",icon:"layers"},{title:"Ðизайн ÑазÑабоÑан Ð´Ð»Ñ Ñдобного Ñ
ваÑа",icon:"mouse"},{title:"ШеÑÑÑ Ð¿ÑогÑаммиÑÑемÑÑ
кнопок",icon:"download"}]},{id:"g8w-silent",type:"text-image",title:"ТÐШÐÐÐ Ð ÐÐÐФÐРТ",subtitle:"Silent Micro-switches",content:"ÐаÑлаждайÑеÑÑ Ð¸Ð³Ñой, не ÑаздÑÐ°Ð¶Ð°Ñ Ð¾ÐºÑÑжаÑÑиÑ
кликами. СпеÑиалÑнÑе ÑиÑ
ие пеÑеклÑÑаÑели обеÑпеÑиваÑÑ ÑакÑилÑнÑÑ Ð¾ÑдаÑÑ Ð±ÐµÐ· гÑомкого звÑка.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"g8w-style",type:"text-image",title:"СТÐÐЬ CARBON",subtitle:"ÐÑгономика",content:'ТекÑÑÑÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð²ÐµÑÑ
ноÑÑÑ "под каÑбон" не ÑолÑко кÑÑÑо вÑглÑдиÑ, но и пÑедоÑвÑаÑÐ°ÐµÑ Ð²ÑÑкалÑзÑвание мÑÑи из влажнÑÑ
ÑÑк в напÑÑженнÑÑ
моменÑаÑ
.',image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-g8w",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}],Uw=[{id:"hs-v2002-plus",name:"VOROTEX V2002 Plus",category:Te.HEADSET,price:2990,originalPrice
2893:3590,stock:150,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐгÑÐ¾Ð²Ð°Ñ Ð³Ð°ÑниÑÑÑа Ñ Ð²Ð¸ÑÑÑалÑнÑм звÑком 7.1, динамиками 53мм и RGB подÑвеÑкой.",longDescription:"VOROTEX V2002 Plus â ÑÑо погÑÑжение в игÑÑ Ð½Ð° новом ÑÑовне. ÐоÑнÑе 53-мм динамики обеÑпеÑиваÑÑ Ð³Ð»Ñбокий Ð±Ð°Ñ Ð¸ кÑиÑÑалÑно ÑиÑÑÑе вÑÑокие ÑаÑÑоÑÑ. ÐиÑÑÑалÑнÑй обÑемнÑй звÑк 7.1 позволÑÐµÑ ÑоÑно опÑеделÑÑÑ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ пÑоÑивника по Ñагам. ÐаÑниÑÑÑа оÑнаÑена ÑÑемнÑм микÑоÑоном Ñ ÑÑмоподавлением и ÑдобнÑм пÑлÑÑом ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° кабеле. СÑилÑÐ½Ð°Ñ RGB подÑвеÑка дополнÑÐµÑ Ð³ÐµÐ¹Ð¼ÐµÑÑкий обÑаз, а мÑгкие амбÑÑÑÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð¸Ð³ÑаÑÑ ÑаÑами без диÑкомÑоÑÑа.",features:["7.1 Surround","53mm Drivers","RGB Lighting","USB Connection","Detachable Mic"],specs:{"Тип наÑÑников":"ÐолноÑазмеÑнÑе (Over-ear)",Ðинамики:"Ã53 мм",ÐмпеданÑ:"64 ± 15% Ðм",ЧÑвÑÑвиÑелÑноÑÑÑ:"97 дР± 3 дÐ","ЧаÑÑоÑнÑй диапазон":"20 ÐÑ - 20 кÐÑ",ÐикÑоÑон:"Ã6.0 à 2.7 мм (СÑемнÑй)",ÐнÑеÑÑейÑ:"USB","Ðлина кабелÑ":"2 м",ÐвÑк:"ÐиÑÑÑалÑнÑй 7.1",ÐодÑвеÑка:"RGB (СÑаÑика/Ðинамика)",УпÑавление:"ÐÑлÑÑ Ð½Ð° пÑоводе (ÐÑомкоÑÑÑ, ÐикÑоÑон, СвеÑ)",СовмеÑÑимоÑÑÑ:"Windows, MacOS, PlayStation","ÐалиÑие ÑоÑÑа":"ÐÑÑÑ (ÐаÑÑÑойка 7.1 и EQ)"},rating:4.9,seo:{title:"V2002 Plus ÐгÑÐ¾Ð²Ð°Ñ ÐаÑниÑÑÑа 7.1 | USB, RGB, 53мм | VOROTEX",description:"ÐÑпиÑÑ Ð¸Ð³ÑовÑÑ Ð³Ð°ÑниÑÑÑÑ VOROTEX V2002 Plus. ÐбÑемнÑй звÑк 7.1, болÑÑие динамики 53мм, ÑÑемнÑй микÑоÑон и RGB подÑвеÑка. ÐдеалÑно Ð´Ð»Ñ ÑÑÑеÑов.",keywords:"v2002 plus, игÑÐ¾Ð²Ð°Ñ Ð³Ð°ÑниÑÑÑа 7.1, наÑÑники Ñ Ð¼Ð¸ÐºÑоÑоном, vorotex headset, rgb наÑÑники",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001900",externalId:"00-00001900",combination:{color:"black"},stock:150,price:2990}],sections:[{id:"v2002p-71",type:"text-image",title:"7.1 SURROUND SOUND",subtitle:"УÑлÑÑÑ ÐºÐ°Ð¶Ð´Ñй Ñаг",content:"ÐÑÑÑÐ¾ÐµÐ½Ð½Ð°Ñ Ð·Ð²ÑÐºÐ¾Ð²Ð°Ñ ÐºÐ°ÑÑа ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑÑÑÐµÐºÑ Ð¾Ð±Ñемного звÑÑаниÑ. ÐÑо позволÑÐµÑ ÑоÑно позиÑиониÑоваÑÑ Ð¸ÑÑоÑники звÑка в игÑаÑ
, Ð´Ð°Ð²Ð°Ñ ÑакÑиÑеÑкое пÑеимÑÑеÑÑво. ÐаÑÑÑойÑе ÑÐºÐ²Ð°Ð»Ð°Ð¹Ð·ÐµÑ Ð¿Ð¾Ð´ ÑÐµÐ±Ñ ÑеÑез ÑиÑменное ÐÐ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"v2002p-drivers",type:"text-image",title:"53MM ÐÐÐÐÐÐÐÐ",subtitle:"ÐоÑнÑй баÑ",content:"УвелиÑеннÑе излÑÑаÑели диамеÑÑом 53 мм вÑдаÑÑ Ð¿Ð»Ð¾ÑнÑй и наÑÑÑеннÑй звÑк Ñ Ð³Ð»Ñбокими баÑами, коÑоÑÑе добавлÑÑÑ ÑпиÑноÑÑи взÑÑвам и вÑÑÑÑелам в игÑаÑ
и ÑилÑмаÑ
.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-v2002p",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"hs-v2002d",name:"VOROTEX V2002D",category:Te.HEADSET,price:2490,originalPrice:2990,stock:120,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"УнивеÑÑалÑÐ½Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð³Ð°ÑниÑÑÑа Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑением 3.5мм и ÑÑемнÑм микÑоÑоном.",longDescription:"VOROTEX V2002D â клаÑÑика в ÑовÑеменном иÑполнении. 50-мм динамики, ÑÑемнÑй гибкий микÑоÑон и ÑнивеÑÑалÑнÑй ÑазÑем 3.5 мм (4-pin) делаÑÑ ÑÑÑ Ð³Ð°ÑниÑÑÑÑ ÑовмеÑÑимой Ñ ÐÐ, конÑолÑми (PS/Xbox) и ÑмаÑÑÑонами. ÐÐµÐ³ÐºÐ°Ñ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¸Ñ Ð¸ дÑÑаÑие амбÑÑÑÑÑ Ð¸Ð· Ñко-кожи обеÑпеÑиваÑÑ ÐºÐ¾Ð¼ÑоÑÑ. РкомплекÑе Ð¸Ð´ÐµÑ ÑазвеÑвиÑÐµÐ»Ñ Ð´Ð»Ñ ÐÐ.",features:["50mm Drivers","Detachable Mic","3.5mm Jack","Multi-Platform","Lightweight"],specs:{"Тип наÑÑников":"ÐолноÑазмеÑнÑе",Ðинамики:"Ã50 мм",ÐмпеданÑ:"32 Ðм",ЧÑвÑÑвиÑелÑноÑÑÑ:"100 дÐ",ÐикÑоÑон:"СÑемнÑй вÑенапÑавленнÑй",ÐнÑеÑÑейÑ:"3.5 мм Jack (4-pin)","Ðлина кабелÑ":"1.8 м",ÐвÑк:"СÑеÑео",ÐеÑ:"280 г",СовмеÑÑимоÑÑÑ:"ÐÐ, PS4/5, Xbox, Switch, Mobile"},rating:4.7,seo:{title:"V2002D ÐгÑовÑе ÐаÑÑники 3.5мм | СÑемнÑй ÐикÑоÑон | VOROTEX",description:"УнивеÑÑалÑÐ½Ð°Ñ Ð³Ð°ÑниÑÑÑа V2002D. 3.5мм ÑазÑем Ð´Ð»Ñ ÐРи конÑолей. СÑемнÑй микÑоÑон, 50мм динамики, легкий веÑ.",keywords:"v2002d, наÑÑники 3.5мм, игÑовÑе наÑÑники Ð´Ð»Ñ ps5, гаÑниÑÑÑа Ñ Ð¼Ð¸ÐºÑоÑоном, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00001657",externalId:"00-00001657",combination:{color:"black"},stock:70,price:2490,image:"/placeholder.svg"},{id:"00-00001656",externalId:"00-00001656",combination:{color:"white"},stock:50,price:2490,image:"/placeholder.svg"}],sections:[{id:"v2002d-features",type:"features",title:"ÐСÐÐÐÐÐÐСТÐ",theme:"light",items:[{title:"УнивеÑÑалÑнÑй ÑазÑем 3.5 мм",icon:"download"},{title:"ÐолÑÑие динамики 50 мм",icon:"volume"}
2893,{title:"СÑемнÑй гибкий микÑоÑон",icon:"monitor"},{title:"СовмеÑÑимоÑÑÑ Ñ ÐºÐ¾Ð½ÑолÑми",icon:"gamepad"},{title:"ÐÐµÐ³ÐºÐ°Ñ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¸Ñ 280г",icon:"layers"}]},{id:"reviews-v2002d",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"hs-v2008d",name:"VOROTEX V2008D",category:Te.HEADSET,price:1990,originalPrice:2590,stock:180,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"СÑилÑÐ½Ð°Ñ Ð³Ð°ÑниÑÑÑа Ñ Ð±ÑонзовÑми ÑлеменÑами и ÑÑемнÑм микÑоÑоном.",longDescription:'VOROTEX V2008D вÑделÑеÑÑÑ Ñвоим дизайном Ñ ÑлеменÑами ÑвеÑа "бÑонза". ÐаÑеÑÑвеннÑй ÑÑеÑеозвÑк, Ñдобное оголовÑе и мÑгкие амбÑÑÑÑÑ Ð´ÐµÐ»Ð°ÑÑ ÐµÑ Ð¾ÑлиÑнÑм вÑбоÑом Ð´Ð»Ñ Ð¿Ð¾Ð²Ñедневного иÑполÑзованиÑ: игÑ, мÑзÑки и обÑениÑ. ÐикÑоÑон можно оÑÑоединиÑÑ, пÑевÑаÑив гаÑниÑÑÑÑ Ð² обÑÑнÑе наÑÑники. РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи и вÑклÑÑаÑÐµÐ»Ñ Ð¼Ð¸ÐºÑоÑона ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ñ Ð½Ð° кабеле.',features:["Stylish Design","50mm Drivers","Detachable Mic","Inline C
2893ontrol"],specs:{"Тип наÑÑников":"ÐолноÑазмеÑнÑе",Ðинамики:"Ã50 мм",ÐмпеданÑ:"32 Ðм",ЧÑвÑÑвиÑелÑноÑÑÑ:"101 дÐ",ÐикÑоÑон:"СÑемнÑй",ÐнÑеÑÑейÑ:"3.5 мм Jack (4-pin)","Ðлина кабелÑ":"2 м",ÐвÑк:"СÑеÑео",ÐеÑ:"295 г",СовмеÑÑимоÑÑÑ:"ÐÐ, ÐонÑоли, ÐобилÑнÑе"},rating:4.8,seo:{title:"V2008D СÑилÑÐ½Ð°Ñ ÐаÑниÑÑÑа | СÑемнÑй ÐикÑоÑон | VOROTEX",description:"ÐгÑовÑе наÑÑники V2008D. СÑилÑнÑй дизайн, бÑонзовÑе вÑÑавки. СÑемнÑй микÑоÑон, оÑлиÑнÑй ÑÑеÑеозвÑк. ÐодклÑÑение 3.5мм.",keywords:"v2008d, ÑÑилÑнÑе наÑÑники, гаÑниÑÑÑа Ð´Ð»Ñ Ð¿Ðº, игÑовÑе наÑÑники Ñ Ð¼Ð¸ÐºÑоÑоном, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00001658",externalId:"00-00001658",combination:{color:"black"},stock:90,price:1990,image:"/placeholder.svg"},{id:"00-00001849",externalId:"00-00001849",combination:{color:"white"},stock:90,price:1990,image:"/placeholder.svg"}],sections:[{id:"reviews-v2008d",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}],Hw=[],Xw=[{id:"acc-case-v75",name:"ÐÐµÐ¹Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ VOROTEX V75",category:Te.ACCESSORY,price:2390,originalPrice:2990,stock:150,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐеÑÑкий водонепÑониÑаемÑй ÐºÐµÐ¹Ñ Ð´Ð»Ñ ÑÑанÑпоÑÑиÑовки клавиаÑÑÑ ÑоÑмаÑа 75% и TKL.",longDescription:"ÐÑÐ¾Ñ Ð¶ÐµÑÑкий водонепÑониÑаемÑй ÐºÐµÐ¹Ñ VOROTEX V75 â идеалÑнÑй ÑпÑÑник в пÑÑеÑеÑÑвиÑÑ
, командиÑовкаÑ
и повÑедневной жизни. Ðн ÑоÑеÑÐ°ÐµÑ ÑÑилÑнÑй дизайн Ñ Ð¿ÑоÑноÑÑÑÑ Ð¸ пÑакÑиÑноÑÑÑÑ. ÐоÑпÑÑ Ð²Ñполнен из ÑовÑеменнÑÑ
изноÑоÑÑойкиÑ
маÑеÑиалов EVA, полиÑÑеÑана и нейлона, коÑоÑÑе надÑжно заÑиÑаÑÑ ÑодеÑжимое Ð¾Ñ ÑдаÑов, ÑжаÑиÑ, пÑли, гÑÑзи и бÑÑзг. ÐнÑÑÑи доÑÑаÑоÑно меÑÑа не ÑолÑко Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, но и Ð´Ð»Ñ Ð·Ð°ÑÑднÑÑ
ÑÑÑÑойÑÑв Ñ ÐºÐ°Ð±ÐµÐ»Ñми. ÐлагодаÑÑ ÑеÑÑаÑÐ¾Ð¼Ñ ÐºÐ°ÑÐ¼Ð°Ð½Ñ Ð°ÐºÑеÑÑÑаÑÑ Ð½Ðµ бÑдÑÑ Ð±Ð¾Ð»ÑаÑÑÑÑ Ð¿Ð¾ кейÑÑ. ÐÐµÐ¹Ñ Ð·Ð°ÐºÑÑваеÑÑÑ Ð¿ÑоÑной молнией Ñ Ð½Ð°Ð´Ñжной ÑÑÑниÑÑÑой. ÐÐ»Ñ ÐºÐ¾Ð¼ÑоÑÑной пеÑеноÑки пÑедÑÑмоÑÑена ÑÑгономиÑÐ½Ð°Ñ ÑÑÑка Ñ Ñезиновой вÑÑавкой.",features:["Hard EVA Shell","Waterproof","Accessory Pocket","Shock Protection","Ergonomic Handle"],specs:{"Тип ÑоваÑа":"ÐÐµÐ¹Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ",СовмеÑÑимоÑÑÑ:"ÐлавиаÑÑÑÑ 75%, TKL (87 клавиÑ)",ÐаÑеÑиал:"EVA + Ðейлон + ÐолиÑÑеÑан","ÐнеÑние ÑазмеÑÑ":"350 x 155 x 60 мм","ÐнÑÑÑенние ÑазмеÑÑ":"330 x 135 мм (ÐоÑадоÑное меÑÑо)",ÐаÑиÑа:"ÐÑ ÑдаÑов, влаги, пÑли",ÐÑобенноÑÑи:"СеÑÑаÑÑй каÑман Ð´Ð»Ñ ÐºÐ°Ð±ÐµÐ»Ñ, Ð ÑÑка Ð´Ð»Ñ Ð¿ÐµÑеноÑки",ÐаÑÑежка:"ÐÐ²Ð¾Ð¹Ð½Ð°Ñ Ð¼Ð¾Ð»Ð½Ð¸Ñ",ЦвеÑ:"ЧеÑнÑй",ÐеÑ:"320 гÑ"},rating:5,seo:{title:"ÐÐµÐ¹Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ VOROTEX V75 | ÐеÑÑкий ÑеÑ
2893
ол Ð´Ð»Ñ Ð¼ÐµÑ
аники",description:"ÐÑпиÑÑ Ð¶ÐµÑÑкий ÐºÐµÐ¹Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ VOROTEX V75. ÐодонепÑониÑаемÑй ÑеÑ
ол из EVA Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑ 75% и TKL. ÐаÑиÑа Ð¾Ñ ÑдаÑов, каÑман Ð´Ð»Ñ ÐºÐ°Ð±ÐµÐ»Ñ.",keywords:"ÐºÐµÐ¹Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, ÑеÑ
ол Ð´Ð»Ñ Ð¼ÐµÑ
аниÑеÑкой клавиаÑÑÑÑ, ÑÑмка Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, vorotex case, eva case keyboard",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"}]}],variants:[{id:"00-00001969",externalId:"00-00001969",combination:{color:"black"},stock:150,price:2390}],sections:[{id:"case-protection",type:"text-image",title:"ÐÐЩÐТРÐТ УÐÐÐ ÐÐ Ð ÐÐÐÐÐ",subtitle:"ÐÑÑококаÑеÑÑвеннÑе маÑеÑиалÑ",content:"ÐоÑпÑÑ Ð¸Ð· ÑоÑмованного маÑеÑиала EVA (ÑÑиленвинилаÑеÑаÑ) Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð°Ð¼Ð¾ÑÑизиÑÑÑÑими ÑвойÑÑвами. Ðн жеÑÑкий ÑнаÑÑжи, ÑÑÐ¾Ð±Ñ Ð´ÐµÑжаÑÑ ÑоÑмÑ, но ÑпÑÑгий пÑи ÑдаÑаÑ
. ÐодооÑÑалкиваÑÑее покÑÑÑие заÑиÑÐ¸Ñ Ð´ÐµÐ²Ð°Ð¹Ñ Ð¾Ñ Ð´Ð¾Ð¶Ð´Ñ Ð¸Ð»Ð¸ пÑолиÑого напиÑка.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"case-storage",type:"text-image",title:"УÐÐÐÐЫРÐÐÐ ÐÐÐ",subtitle:"Ð¥Ñанение акÑеÑÑÑаÑов",content:"Ðа внÑÑÑенней ÑÑоÑоне кÑÑÑки ÑаÑположен вмеÑÑиÑелÑнÑй ÑеÑÑаÑÑй каÑман на молнии. ТÑда легко помеÑаеÑÑÑ ÑÑемнÑй ÐºÐ°Ð±ÐµÐ»Ñ Type-C, пÑÐ»Ð»ÐµÑ Ð´Ð»Ñ ÐºÐµÐ¹ÐºÐ°Ð¿Ð¾Ð², ÑлеÑки или запаÑнÑе ÑвиÑÑи. ÐÑе необÑ
одимое вÑегда под ÑÑкой.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"case-dimensions",type:"text-image",title:"ÐÐÐÐÐЬÐЫРРÐÐÐÐÐ ",subtitle:"ÐÐ»Ñ 75% и TKL",content:"ÐнÑÑÑенние габаÑиÑÑ (33Ñм x 13.5Ñм) идеалÑно Ð¿Ð¾Ð´Ð¾Ð³Ð½Ð°Ð½Ñ Ð¿Ð¾Ð´ попÑлÑÑнÑе ÑоÑмаÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑ VOROTEX (V75, K870, K680 и дÑ.). ÐлавиаÑÑÑа Ð»ÐµÐ¶Ð¸Ñ Ð¿Ð»Ð¾Ñно и не болÑаеÑÑÑ Ð¿Ñи ÑÑанÑпоÑÑиÑовке благодаÑÑ Ð¼Ñгкой внÑÑÑенней обивке.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"reviews-case",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"acc-cable-gx16",name:"ÐÐ°Ð±ÐµÐ»Ñ VOROTEX GX16 Aviator",category:Te.ACCESSORY,price:2690,stock:200,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐиÑой ÐºÐ°Ð±ÐµÐ»Ñ Ð¿ÑемиÑм-клаÑÑа Ñ Ð°Ð²Ð¸Ð°ÑоÑом GX16 Ð´Ð»Ñ Ð¼ÐµÑ
аниÑеÑкиÑ
клавиаÑÑÑ.",longDescription:'ÐаÑÑомнÑй ÐºÐ°Ð±ÐµÐ»Ñ VOROTEX GX16 Aviator â ÑÑо ÑиналÑнÑй ÑÑÑиÑ
ваÑего ÑеÑапа. ÐÑоÑÐ½Ð°Ñ 4-жилÑÐ½Ð°Ñ Ð¾Ñнова (28 AWG) заÑиÑена двойной оплеÑкой: базовÑй Paracord 550 покÑÑÑ Ð¸Ð·Ð½Ð¾ÑоÑÑойкой ÑеÑкой TechFlex Flexo PET. ÐадежнÑй меÑаллиÑеÑкий коннекÑÐ¾Ñ GX16 (Aviator) из Ñинкового Ñплава позволÑÐµÑ Ð±ÑÑÑÑо менÑÑÑ Ð¸Ð½ÑеÑÑейÑÑ Ð¸ пÑÐ¸Ð´Ð°ÐµÑ ÐºÐ°Ð±ÐµÐ»Ñ Ð¿ÑоÑеÑÑионалÑнÑй вид. ÐлоÑÐ½Ð°Ñ Ð½Ð°Ð¼Ð¾Ñка "пÑÑжинÑ" (Coil) деÑÐ¶Ð¸Ñ ÑоÑÐ¼Ñ Ð¸ не ÑаÑÑÑгиваеÑÑÑ Ñо вÑеменем. ÐодÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Ð²ÑеÑ
клавиаÑÑÑ Ñ ÑазÑемом Type-C.',features:["Double Sleeve","GX16 Aviator","Coiled Design","USB-C to USB-A","Zinc Alloy"],specs:{Тип:"ÐиÑой ÐºÐ°Ð±ÐµÐ»Ñ (Coiled Cable)",ÐоннекÑоÑÑ:"USB-A -> USB-C",ÐвиаÑоÑ:"GX16 (5-pin), ÑинковÑй Ñплав",ÐплеÑка:"Paracord 550 + TechFlex PET",Ðлина:"1.5м (оÑнова) + 15-18Ñм (койл)","ÐиамеÑÑ ÐºÐ¾Ð¹Ð»Ð°":"25 мм","ТолÑина кабелÑ":"5 мм",ÐилÑ:"4 Ð¶Ð¸Ð»Ñ (28 AWG) + PVC","СÑандаÑÑ USB":"2.0",ТеÑмоÑÑадка:"ÐолиолеÑин"},rating:5,seo:{title:"GX16 Aviator ÐиÑой ÐÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ ÐлавиаÑÑÑÑ | Type-C | VOROTEX",description:"ÐÑпиÑÑ ÐºÐ°ÑÑомнÑй ÐºÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ñ Ð°Ð²Ð¸Ð°ÑоÑом GX16. ÐиÑой ÐºÐ°Ð±ÐµÐ»Ñ Type-C, Ð´Ð²Ð¾Ð¹Ð½Ð°Ñ Ð¾Ð¿Ð»ÐµÑка TechFlex, меÑаллиÑеÑкий коннекÑоÑ. ÐÑемиÑм каÑеÑÑво.",keywords:"gx16 cable, aviator cable, виÑой ÐºÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, ÐºÐ°Ð±ÐµÐ»Ñ type-c, coiled cable, vorotex",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"white",name:"ÐелÑй",value:"#ffffff"},{id:"white-pink",name:"ÐелÑй/РозовÑй",colors:["#ffffff","#ffb7b2"]},{id:"blue-pink",name:"ÐолÑбой/РозовÑй",colors:["#00bfff","#ffb7b2"]},{id:"yellow-orange-black",name:"ÐÑлÑо-оÑанжевÑй/ЧеÑнÑй",colors:["#ffcc00","#ff8c00","#000000"]},{id:"blue-black",name:"Синий/ЧеÑнÑй",colors:["#0000ff","#000000"]},{id:"cyan-white",name:"Циан/ÐелÑй",colors:["#00ffff","#ffffff"]},{id:"black",name:"ЧÑÑнÑй",value:"#111111"},{id:"black-white",name:"ЧÑÑнÑй/ÐелÑй",colors:["#000000","#ffffff"]},{id:"black-nickel",name:"ЧÑÑнÑй/ÐикелÑ",colors:["#000000","#888888"]}]}],variants:[{id:"00-00001490",externalId:"00-00001490",combination:{color:"white"},stock:20,price:2690,image:"/placeholder.svg"},{id:"00-00001547",externalId:"00-00001547",combination:{color:"white-pink"},stock:15,price:2690,image:"/placeholder.svg"}
2893,{id:"00-00001154",externalId:"00-00001154",combination:{color:"blue-pink"},stock:18,price:2690,image:"/placeholder.svg"},{id:"00-00001548",externalId:"00-00001548",combination:{color:"yellow-orange-black"},stock:12,price:2690,image:"/placeholder.svg"},{id:"00-00001650",externalId:"00-00001650",combination:{color:"blue-black"},stock:20,price:2690,image:"/placeholder.svg"},{id:"00-00001545",externalId:"00-00001545",combination:{color:"cyan-white"},stock:15,price:2690,image:"/placeholder.svg"},{id:"00-00001151",externalId:"00-00001151",combination:{color:"black"},stock:30,price:2690,image:"/placeholder.svg"},{id:"00-00001544",externalId:"00-00001544",combination:{color:"black-white"},stock:25,price:2690,image:"/placeholder.svg"},{id:"00-00001491",externalId:"00-00001491",combination:{color:"black-nickel"},stock:20,price:2690,image:"/placeholder.svg"}],sections:[{id:"gx16-build",type:"text-image",title:"ÐÐÐÐÐÐЯ ÐÐÐÐТÐÐ",subtitle:"Paracord + TechFlex",content:"СоÑеÑание мÑгкого паÑакоÑда и пÑоÑной ÑеÑки TechFlex ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑникалÑнÑÑ ÑекÑÑÑÑÑ, заÑиÑÐ°ÐµÑ ÐºÐ°Ð±ÐµÐ»Ñ Ð¾Ñ Ð¿ÐµÑеÑиÑÐ°Ð½Ð¸Ñ Ð¸ пÑÐ¸Ð´Ð°ÐµÑ ÐµÐ¼Ñ Ð¿ÑемиалÑнÑй внеÑний вид. ÐÐ°Ð±ÐµÐ»Ñ Ð´ÐµÑÐ¶Ð¸Ñ ÑоÑÐ¼Ñ Ð¸ пÑиÑÑен на оÑÑпÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"gx16-aviator",type:"text-image",title:"GX16 AVIATOR",subtitle:"ÐÑоÑеÑÑионалÑнÑй ÑÑандаÑÑ",content:"ÐаÑÑивнÑй 5-конÑакÑнÑй коннекÑÐ¾Ñ Ð¸Ð· Ñинкового Ñплава надежно ÑоединÑÐµÑ ÑаÑÑи кабелÑ. ÐинÑовой замок иÑклÑÑÐ°ÐµÑ ÑлÑÑайное ÑаÑÑоединение. ÐÑо не ÑолÑко ÑÑнкÑионалÑно, но и оÑÐµÐ½Ñ ÑÑилÑно.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"gx16-coil",type:"text-image",title:"ÐÐÐÐÐЬÐЫРCOIL",subtitle:"ÐлоÑÐ½Ð°Ñ Ð½Ð°Ð¼Ð¾Ñка",content:"ÐиÑÐ°Ñ ÑаÑÑÑ ÐºÐ°Ð±ÐµÐ»Ñ (пÑÑжина) диамеÑÑом 25 мм пÑоÑла пÑоÑеÑÑионалÑнÑÑ ÑеÑмообÑабоÑкÑ. Ðна ÑпÑÑгаÑ, ÑÐ¾Ð²Ð½Ð°Ñ Ð¸ возвÑаÑÐ°ÐµÑ ÑоÑÐ¼Ñ Ð¿Ð¾Ñле ÑаÑÑÑжениÑ. Ðлина койла 15-18 Ñм.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-gx16",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"acc-switches",name:"ÐÐ°Ð±Ð¾Ñ Ð¿ÐµÑеклÑÑаÑелей (10 ÑÑ)",category:Te.ACCESSORY,price:540,stock:1e3,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐабоÑÑ Ð¿ÑемиалÑнÑÑ
меÑ
аниÑеÑкиÑ
пеÑеклÑÑаÑелей Ð´Ð»Ñ ÐºÐ°ÑÑомизаÑии клавиаÑÑÑÑ. ÐаводÑÐºÐ°Ñ Ñмазка.",longDescription:'ÐбновиÑе оÑÑÑÐµÐ½Ð¸Ñ Ð¾Ñ Ñайпинга Ñ Ð½Ð°Ð±Ð¾Ñами пеÑеклÑÑаÑелей VOROTEX. РаÑÑоÑÑименÑе ÑÑи ÑоповÑе модели: ZF Panda Ð´Ð»Ñ Ð»ÑбиÑелей мÑгкого Ñ
ода, Huano Matcha Latte V2 Ð´Ð»Ñ ÑанаÑов "thocky" звÑка и HMX Citrus Grape Ð´Ð»Ñ Ð¼Ð°ÐºÑималÑной оÑзÑвÑивоÑÑи. ÐÑе ÑвиÑÑи ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ñ Ð·Ð°Ð²Ð¾Ð´Ð° и имеÑÑ 5-pin кÑепление Ð´Ð»Ñ Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾Ð¹ ÑикÑаÑии в Hot-Swap ÑокеÑаÑ
. Упаковка 10 ÑÑÑк.',features:["Pack of 10","Factory Lubed","5-Pin","Tactile","Gold Plated Spring"],specs:{"ÐолиÑеÑÑво в набоÑе":"10 ÑÑ","Тип кÑеплениÑ":"5-pin (PCB Mount)","ÐаÑеÑиал ÑÑема":"POM","ÐаÑеÑиал коÑпÑÑа":"PC (веÑÑ
) / Nylon (низ)",Смазка:"ÐаводÑÐºÐ°Ñ (Krytox)",СовмеÑÑимоÑÑÑ:"ÐÑбÑе меÑ
аниÑеÑкие клавиаÑÑÑÑ (MX style)"},rating:5,seo:{title:"ÐÐ°Ð±Ð¾Ñ Ð¡Ð²Ð¸ÑÑей Ð´Ð»Ñ ÐлавиаÑÑÑÑ (10ÑÑ) | Panda, Matcha, HMX | VOROTEX",description:"ÐÑпиÑÑ ÑвиÑÑи Ð´Ð»Ñ Ð¼ÐµÑ
аниÑеÑкой клавиаÑÑÑÑ. ÐабоÑÑ Ð¿Ð¾ 10 ÑÑÑк: ZF Panda, Huano Matcha, HMX Citrus. СмазаннÑе, 5-pin.",ke
2893ywords:"ÑвиÑÑи Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, кÑпиÑÑ ÑвиÑÑи, huano matcha latte, zf panda, hmx switches, mechanical switches",indexing:!0},options:[{id:"model",name:"ÐоделÑ",type:"text",values:[{id:"panda",name:"ZF Panda (42g)"},{id:"matcha",name:"Huano Matcha Latte V2 (45g)"},{id:"citrus",name:"HMX Citrus Grape (45g)"}]}],variants:[{id:"00-00002051",externalId:"00-00002051",combination:{model:"panda"},stock:300,price:540,name:"ÐÐ°Ð±Ð¾Ñ ÑвиÑÑей ZF Panda",image:"/placeholder.svg"},{id:"acc-sw-matcha",externalId:"acc-sw-matcha",combination:{model:"matcha"},stock:0,price:540,image:"/placeholder.svg"},{id:"00-00002052",externalId:"00-00002052",combination:{model:"citrus"},stock:250,price:540,name:"ÐÐ°Ð±Ð¾Ñ ÑвиÑÑей HMX Citrus Grape",image:"/placeholder.svg"}],sections:[{id:"sw-panda",type:"text-image",title:"ZF PANDA",subtitle:"Black & White",content:"ÐлаÑÑиÑеÑкий линейнÑй пеÑеклÑÑаÑÐµÐ»Ñ Ñ ÑкоÑоÑеннÑм Ñ
одом (3.5мм). Ðдеален Ð´Ð»Ñ Ð±ÑÑÑÑой пеÑаÑи. Сила нажаÑÐ¸Ñ 42г обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð»ÐµÐ³ÐºÐ¾ÑÑÑ, а ÑÐ´Ð»Ð¸Ð½ÐµÐ½Ð½Ð°Ñ Ð¿ÑÑжина Ð´Ð°ÐµÑ Ð±ÑÑÑÑÑй возвÑаÑ.",image:"/placeholder.svg",alignment:"right",theme:"light"},{id:"sw-matcha",type:"text-image",title:"MATCHA LATTE V2",subtitle:"Huano Custom",content:"ÐÑÐ±Ð¸Ð¼ÐµÑ ÑнÑÑзиаÑÑов. ÐлÑбокий, наÑÑÑеннÑй звÑк без паÑазиÑнÑÑ
звонов. СÑем из POM-плаÑÑика и заводÑÐºÐ°Ñ Ñмазка делаÑÑ Ñ
од невеÑоÑÑно плавнÑм.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"reviews-sw",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"acc-mousepad-xxl",name:"ÐгÑовой ковÑик VOROTEX XXL",category:Te.ACCESSORY,price:1390,stock:500,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐгÑомнÑй игÑовой ковÑик 900x400 мм Ñ Ð²Ð»Ð°Ð³Ð¾Ð¾ÑÑалкиваÑÑим покÑÑÑием Jacquard.",longDescription:'ÐгÑовой ковÑик VOROTEX XXL ÑоÑмаÑа (900x400 мм) покÑÑÐ²Ð°ÐµÑ Ð±Ð¾Ð»ÑÑÑÑ ÑаÑÑÑ ÑÑола, ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ ÐµÐ´Ð¸Ð½ÑÑ ÑабоÑÑÑ Ð¿Ð¾Ð²ÐµÑÑ
ноÑÑÑ Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð¸ мÑÑи. ÐокÑÑÑие "Jacquard Speed/Control" обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¸Ð´ÐµÐ°Ð»ÑнÑй баланÑ: мÑÑÑ ÑколÑÐ·Ð¸Ñ Ð»ÐµÐ³ÐºÐ¾, но оÑÑанавливаеÑÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ Ð´Ð»Ñ ÑоÑнÑÑ
Ñ
едÑоÑов. ÐÑÐ°Ñ Ð¿ÑоÑиÑÑ ÑÑиленнÑм овеÑлоком, ÑÑо пÑедоÑвÑаÑÐ°ÐµÑ ÑаÑÑлаивание. ÐеÑколÑзÑÑее Ñезиновое оÑнование намеÑÑво ÑикÑиÑÑÐµÑ ÐºÐ¾Ð²Ñик на ÑÑоле. ТолÑина 4 мм ÑÐ³Ð»Ð°Ð¶Ð¸Ð²Ð°ÐµÑ Ð½ÐµÑовноÑÑи повеÑÑ
ноÑÑи.',features:["900x400x4 mm","Jacquard Fabric","Anti-Slip Base","Stitched Edges","Water Resistant"],specs:{РазмеÑ:"900 x 400 мм",ТолÑина:"4 мм","Тип повеÑÑ
ноÑÑи":"Speed + Control (ÐибÑид)","ÐаÑеÑиал покÑÑÑиÑ":"ÐаккаÑÐ´Ð¾Ð²Ð°Ñ ÑканÑ",ÐÑнование:"ÐаÑÑÑалÑÐ½Ð°Ñ Ñезина (Anti-slip)","ÐбÑабоÑка кÑаев":"ÐвеÑлок (ÐÑоÑиÑÑе)",ÐлагозаÑиÑа:"Ðа"},rating:4.9,seo:{title:"ÐгÑовой ковÑик Ð´Ð»Ñ Ð¼ÑÑи XXL (900x400) | VOROTEX",description:"ÐолÑÑой ковÑик Ð´Ð»Ñ Ð¼ÑÑи и клавиаÑÑÑÑ 900x400мм. ТолÑина 4мм, пÑоÑиÑÑе кÑаÑ, покÑÑÑие Jacquard Speed/Control. СÑилÑнÑе пÑинÑÑ.",keywords:"ковÑик Ð´Ð»Ñ Ð¼ÑÑи 900x400, игÑовой ковÑик xxl, ковÑик на веÑÑ ÑÑол, vorotex mousepad, болÑÑой ковÑик",indexing:!0},options:[{id:"design",name:"Ðизайн",type:"image",values:[{id:"beige-green",name:"Ðежево-зелÑнÑй",image:"/placeholder.svg"}
2893,{id:"black-lines",name:"ЧеÑнÑй Ñ Ð±ÐµÐ»Ñми линиÑми",image:"/placeholder.svg"},{id:"blue-smoke",name:"Синий дÑм",image:"/placeholder.svg"},{id:"corners-white",name:"Уголки на белом",image:"/placeholder.svg"},{id:"grey-gradient",name:"СеÑÑй гÑадиенÑ",image:"/placeholder.svg"},{id:"keyboard-grey",name:"ÐлавиаÑÑÑа на ÑеÑом",image:"/placeholder.svg"},{id:"maze-black",name:"ÐабиÑÐ¸Ð½Ñ Ð½Ð° ÑÑÑном",image:"/placeholder.svg"},{id:"orange-planet",name:"ÐÑÐ°Ð½Ð¶ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ð½ÐµÑа",image:"/placeholder.svg"},{id:"purple-gradient",name:"ФиолеÑовÑй гÑадиенÑ",image:"/placeholder.svg"},{id:"red-white-black",name:"ÐÑаÑнаÑ,белаÑ,ÑеÑÐ½Ð°Ñ ÐºÑаÑка",image:"/placeholder.svg"},{id:"white-grey-waves",name:"ÐелÑе,ÑеÑÑе,ÑеÑнÑе волнÑ",image:"/placeholder.svg"}]}],variants:[{id:"00-00002024",externalId:"00-00002024",combination:{design:"beige-green"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002017",externalId:"00-00002017",combination:{design:"black-lines"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002021",externalId:"00-00002021",combination:{design:"blue-smoke"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002020",externalId:"00-00002020",combination:{design:"corners-white"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002022",externalId:"00-00002022",combination:{design:"grey-gradient"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002025",externalId:"00-00002025",combination:{design:"keyboard-grey"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002019",externalId:"00-00002019",combination:{design:"maze-black"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002018",externalId:"00-00002018",combination:{design:"orange-planet"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00002023",externalId:"00-00002023",combination:{design:"purple-gradient"},stock:50,price:1390,image:"/placeholder.svg"}
2893,{id:"00-00001972",externalId:"00-00001972",combination:{design:"red-white-black"},stock:50,price:1390,image:"/placeholder.svg"},{id:"00-00001975",externalId:"00-00001975",combination:{design:"white-grey-waves"},stock:50,price:1390,image:"/placeholder.svg"}],sections:[{id:"mp-jacquard",type:"text-image",title:"JACQUARD SPEED",subtitle:"ÐдеалÑнÑй баланÑ",content:"СпеÑиалÑное плеÑение ниÑей жаккаÑд ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð¿Ð¾Ð²ÐµÑÑ
ноÑÑÑ, коÑоÑÐ°Ñ Ð½Ðµ ÑлиÑком Ð³Ð»Ð°Ð´ÐºÐ°Ñ (как Speed) и не ÑлиÑком ÑеÑÑÐ°Ð²Ð°Ñ (как Control). ÐÑо ÑнивеÑÑалÑное ÑеÑение Ð´Ð»Ñ Ð»ÑбÑÑ
ÑенÑоÑов и ÑÑилей игÑÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"mp-edges",type:"text-image",title:"УСÐÐÐÐÐЫРÐÐ ÐЯ",subtitle:"ÐолговеÑноÑÑÑ",content:"ÐлоÑнÑй овеÑлок по пеÑимеÑÑÑ Ð¿ÑедоÑвÑаÑÐ°ÐµÑ Ð¾ÑÑлоение Ñкани Ð¾Ñ Ñезиновой оÑÐ½Ð¾Ð²Ñ Ð´Ð°Ð¶Ðµ поÑле многоÑиÑленнÑÑ
ÑÑиÑок и акÑивного иÑполÑзованиÑ.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"mp-base",type:"text-image",title:"ÐÐСÐÐÐЬÐЯЩÐЯ ÐСÐÐÐÐ",subtitle:"Rubber Base",content:"ÐÑнование из наÑÑÑалÑной ÑÐµÐ·Ð¸Ð½Ñ Ñ ÑекÑÑÑÑнÑм ÑиÑÑнком намеÑÑво пÑÐ¸Ð»Ð¸Ð¿Ð°ÐµÑ Ðº ÑÑолÑ. ÐовÑик не ÑдвинеÑÑÑ Ñ Ð¼ÐµÑÑа даже во вÑÐµÐ¼Ñ ÑамÑÑ
ÑезкиÑ
Ñликов.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-mp",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}],Iw=[{id:"mic-a6t",name:"VOROTEX A6T",category:Te.MICROPHONE,price:4190,originalPrice:5190,stock:120,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐонденÑаÑоÑнÑй USB микÑоÑон Ñ Ð¿Ð°Ð½ÑогÑаÑом, RGB подÑвеÑкой и ÑенÑоÑнÑм мÑÑом.",longDescription:"VOROTEX A6T â ÑÑо гоÑовое ÑеÑение Ð´Ð»Ñ ÑÑÑимеÑа. РкомплекÑе Ð¸Ð´ÐµÑ Ð½Ð°Ð´ÐµÐ¶Ð½Ñй панÑогÑÐ°Ñ (ÑÑойка), коÑоÑÑй кÑепиÑÑÑ Ðº ÑÑÐ¾Ð»Ñ Ð¸ позволÑÐµÑ ÑазмеÑÑиÑÑ Ð¼Ð¸ÐºÑоÑон идеалÑно. ÐикÑоÑон оÑнаÑен капÑÑлем Ñ ÑаÑÑоÑой диÑкÑеÑизаÑии 192 кÐÑ/24 Ð±Ð¸Ñ Ð´Ð»Ñ ÐºÑиÑÑалÑно ÑиÑÑого голоÑа. СенÑоÑÐ½Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° оÑклÑÑÐµÐ½Ð¸Ñ Ð·Ð²Ñка (Mute) на веÑÑ
ней гÑани позволÑÐµÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾ заглÑÑиÑÑ Ð¼Ð¸ÐºÑоÑон одним каÑанием. ЯÑÐºÐ°Ñ RGB подÑвеÑка ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð°ÑмоÑÑеÑÑ, а ÑегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи на дне позволÑÐµÑ Ð±ÑÑÑÑо подÑÑÑоиÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ñигнала.",features:["Pantograph Included","192kHz/24bit","Touch Mute","RGB Lighting","Gain Knob"],specs:{"Тип микÑоÑона":"ÐонденÑаÑоÑнÑй",ÐапÑавленноÑÑÑ:"ÐаÑдиоиднаÑ","ЧаÑÑоÑа диÑкÑеÑизаÑии":"192 кÐÑ / 24 биÑ","ЧаÑÑоÑнÑй диапазон":"20 ÐÑ - 20 кÐÑ",ЧÑвÑÑвиÑелÑноÑÑÑ:"40 дР± 3 дÐ","СооÑноÑение Ñигнал/ÑÑм":"> 85 дÐ",ÐодклÑÑение:"USB Type-C / USB-A","ÐÑÑ
од на наÑÑники":"3.5 мм (ÐониÑоÑинг)",ÐомплекÑаÑиÑ:"ÐикÑоÑон, ÐанÑогÑаÑ, Ðоп-ÑилÑÑÑ, ÐабелÑ",РазмеÑÑ:"55 x 130 мм",ÐеÑ:"116 г (микÑоÑон) / 578 г (в ÑбоÑе)",ÐаÑеÑиал:"ABS + ÐеÑалл",СовмеÑÑимоÑÑÑ:"Windows, MacOS, Linux, Android"},rating:5,seo:{title:"A6T ÐгÑовой ÐикÑоÑон Ñ ÐанÑогÑаÑом | RGB, 192kHz | VOROTEX",description:"ÐÑпиÑÑ Ð¼Ð¸ÐºÑоÑон VOROTEX A6T Ñ Ð¿Ð°Ð½ÑогÑаÑом. СÑÑдийное каÑеÑÑво 192kHz/24bit, RGB подÑвеÑка, ÑенÑоÑнÑй Mute. Ðдеален Ð´Ð»Ñ ÑÑÑимов и подкаÑÑов.",keywords:"микÑоÑон Ñ Ð¿Ð°Ð½ÑогÑаÑом, vorotex a6t, игÑовой микÑоÑон, usb микÑоÑон, ÑÑÑим микÑоÑон",
2893indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00001919",externalId:"00-00001919",combination:{color:"black"},stock:70,price:4190,image:"/placeholder.svg"},{id:"00-00001920",externalId:"00-00001920",combination:{color:"white"},stock:50,price:4190,image:"/placeholder.svg"}],sections:[{id:"a6t-quality",type:"text-image",title:"СТУÐÐÐÐЫРÐÐУÐ",subtitle:"192 кÐÑ / 24 биÑ",content:"ÐÑÑÐ¾ÐºÐ°Ñ ÑаÑÑоÑа диÑкÑеÑизаÑии обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð·Ð°Ñ
Ð²Ð°Ñ Ð³Ð¾Ð»Ð¾Ñа Ñ Ð¼ÐµÐ»ÑÑайÑими деÑалÑми. ÐаÑÐ´Ð¸Ð¾Ð¸Ð´Ð½Ð°Ñ Ð½Ð°Ð¿ÑавленноÑÑÑ Ð¾ÑÑÐµÐºÐ°ÐµÑ Ð»Ð¸Ñние ÑÑÐ¼Ñ Ñзади и по бокам, ÑокÑÑиÑÑÑÑÑ Ð½Ð° ваÑем голоÑе.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"a6t-stand",type:"text-image",title:"ÐÐÐÐЫРÐÐÐÐÐÐÐТ",subtitle:"ÐанÑогÑÐ°Ñ Ð² коÑобке",content:"ÐабÑдÑÑе о покÑпке дополниÑелÑнÑÑ
ÑÑоек. A6T поÑÑавлÑеÑÑÑ Ñ ÐºÐ°ÑеÑÑвеннÑм панÑогÑаÑом, коÑоÑÑй надежно кÑепиÑÑÑ Ðº кÑÐ°Ñ ÑÑола и позволÑÐµÑ ÑаÑположиÑÑ Ð¼Ð¸ÐºÑоÑон в идеалÑной позиÑии.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"a6t-controls",type:"features",title:"УÐÐ ÐÐÐÐÐÐÐ",theme:"light",items:[{title:"СенÑоÑÐ½Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° Mute ÑвеÑÑ
Ñ",icon:"zap"},{title:"РегÑлÑÑÐ¾Ñ ÑÑÐ¸Ð»ÐµÐ½Ð¸Ñ (Gain) ÑнизÑ",icon:"volume"},{title:"RGB подÑвеÑка (Ñмена Ñежимов)",icon:"star"},{title:"ÐодклÑÑение без дÑайвеÑов",icon:"download"}]},{id:"reviews-a6t",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]},{id:"mic-a6",name:"VOROTEX A6",category:Te.MICROPHONE,price:2690,stock:150,isNewArrival:!0,image:"/placeholder.svg",gallery:["/placeholder.svg","/placeholder.svg","/placeholder.svg","/placeholder.svg"],description:"ÐаÑÑолÑнÑй USB микÑоÑон Ñ RGB подÑвеÑкой и ÑенÑоÑнÑм ÑпÑавлением. ÐомпакÑное ÑеÑение.",longDescription:"VOROTEX A6 â компакÑнÑй и моÑнÑй инÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ Ð¾Ð±ÑениÑ. ÐÑнаÑен Ñем же вÑÑококлаÑÑнÑм капÑÑлем, ÑÑо и ÑÑаÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ A6T, но поÑÑавлÑеÑÑÑ Ñ ÑÑÑойÑивой наÑÑолÑной подÑÑавкой-ÑÑиподом. СенÑоÑÐ½Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° Mute Ñ Ð¸Ð½Ð´Ð¸ÐºÐ°Ñией, ÑегÑлиÑовка ÑÑвÑÑвиÑелÑноÑÑи и ÑÑÐºÐ°Ñ RGB подÑвеÑка делаÑÑ ÐµÐ³Ð¾ оÑлиÑнÑм вÑбоÑом Ð´Ð»Ñ Ð³ÐµÐ¹Ð¼ÐµÑов и наÑинаÑÑиÑ
ÑÑÑимеÑов.",features:["Table Stand","192kHz/24bit","Touch Mute","RGB Lighting"],specs:{"Тип микÑоÑона":"ÐонденÑаÑоÑнÑй",ÐапÑавленноÑÑÑ:"ÐаÑдиоиднаÑ","ЧаÑÑоÑа диÑкÑеÑизаÑии":"192 кÐÑ / 24 биÑ","ЧаÑÑоÑнÑй диапазон":"20 ÐÑ - 20 кÐÑ",ЧÑвÑÑвиÑелÑноÑÑÑ:"40 дР± 3 дÐ",ÐодклÑÑение:"USB Type-C","ÐÑÑ
од на наÑÑники":"3.5 мм",ÐомплекÑаÑиÑ:"ÐикÑоÑон, ÐаÑÑолÑÐ½Ð°Ñ Ð¿Ð¾Ð´ÑÑавка, Шок-маÑнÑ",РазмеÑÑ:"55 x 130 мм",ÐеÑ:"116 г (микÑоÑон) / 310 г (Ñо ÑÑойкой)",ÐаÑеÑиал:"ABS + ÐеÑалл",СовмеÑÑимоÑÑÑ:"Windows, MacOS, Linux, Android"},rating:4.9,seo:{title:"A6 USB ÐикÑоÑон ÐаÑÑолÑнÑй | RGB, СенÑоÑнÑй Mute | VOROTEX",description:"ÐаÑÑолÑнÑй микÑоÑон VOROTEX A6. СÑÑдийнÑй звÑк, RGB подÑвеÑка, Ñдобное ÑпÑавление. ÐодÑ
Ð¾Ð´Ð¸Ñ Ð´Ð»Ñ Discord, Zoom, ÑÑÑимов.",keywords:"vorotex a6, наÑÑолÑнÑй микÑоÑон, микÑоÑон Ð´Ð»Ñ Ð¿Ðº, usb микÑоÑон, rgb микÑоÑон",indexing:!0},options:[{id:"color",name:"ЦвеÑ",type:"color",values:[{id:"black",name:"ЧÑÑнÑй",value:"#111111"},{id:"white",name:"ÐелÑй",value:"#ffffff"}]}],variants:[{id:"00-00001889",externalId:"00-00001889",combination:{color:"black"},stock:80,price:2690,image:"/placeholder.svg"},{id:"00-00001890",externalId:"00-00001890",combination:{color:"white"},stock:70,price:2690,image:"/placeholder.svg"}],sections:[{id:"a6-compact",type:"text-image",title:"ÐÐÐÐÐÐТÐÐСТЬ",subtitle:"ÐаÑÑолÑÐ½Ð°Ñ ÑÑойка",content:"УÑÑойÑÐ¸Ð²Ð°Ñ Ð¿Ð¾Ð´ÑÑавка Ñ Ð°Ð½ÑивибÑаÑионнÑм кÑеплением (Ñок-маÑнÑ) гаÑÐ¸Ñ Ð²Ð¸Ð±ÑаÑии Ð¾Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð¸ ÑдаÑов по ÑÑолÑ. ÐикÑоÑон Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм меÑÑа.",image:"/placeholder.svg",alignment:"left",theme:"light"},{id:"a6-rgb",type:"text-image",title:"RGB ÐТÐÐСФÐÐ Ð",subtitle:"ÐвÑÑ
Ð·Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка",content:"ÐлавнÑе пеÑÐµÐ»Ð¸Ð²Ñ ÑвеÑов ÑоздаÑÑ Ð½ÑжнÑй вайб. ÐодÑвеÑÐºÑ Ð¼Ð¾Ð¶Ð½Ð¾ оÑклÑÑиÑÑ Ð¸Ð»Ð¸ измениÑÑ Ñежим долгим нажаÑием на ÑенÑоÑнÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ.",image:"/placeholder.svg",alignment:"right",theme:"dark"},{id:"reviews-a6",type:"reviews",title:"ÐТÐЫÐЫ",theme:"light"}]}],fn=[...Bw,...Vw,...Lw,...Uw,...Iw,...Hw,...Xw],Ap=[{id:"r1",name:"ÐмиÑÑий Ðалинин",source:"(OZON)",text:"ÐлавиаÑÑÑа пÑоÑÑо пÑÑка, пÑевзоÑла вÑе ожиданиÑ! Тайпинг невеÑоÑÑно ÑиÑ
ий и пÑиÑÑнÑй, ÑÑабилизаÑоÑÑ ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ð¸Ð´ÐµÐ°Ð»Ñно Ñ Ð·Ð°Ð²Ð¾Ð´Ð° â никакого звона или дÑебезга. Ðа ÑÑи денÑги лÑÑÑе меÑ
аники на ÑÑнке ÑейÑÐ°Ñ Ð¿ÑоÑÑо не найÑи. ÐÑÐµÐ½Ñ Ð´Ð¾Ð²Ð¾Ð»ÐµÐ½ покÑпкой.",product:"K680 PRO",productId:"kb-k680-pro",stars:5},{id:"r2",name:"Ðлина Ð.",source:"(WB)",text:"ÐзÑла белÑÑ Ð²ÐµÑÑÐ¸Ñ K680 Ð´Ð»Ñ ÑабоÑего меÑÑа. ÐодÑвеÑка оÑÐµÐ½Ñ ÑÑÐºÐ°Ñ Ð¸ ÑоÑнаÑ, еÑÑÑ ÐºÑÑа Ñежимов, коÑоÑÑе легко наÑÑÑоиÑÑ. СвиÑÑи Matcha - ÑÑо лÑÐ±Ð¾Ð²Ñ Ñ Ð¿ÐµÑвого нажаÑиÑ, палÑÑÑ Ð¿ÑоÑÑо оÑдÑÑ
аÑÑ Ð¿Ñи пеÑаÑи ÑекÑÑов.",product:"K680 PRO",productId:"kb-k680-pro",stars:5},{id:"r_k680_3",name:"Ðвгений С.",source:"(ЯÐ)",text:"ШÑмоизолÑÑÐ¸Ñ Ð½Ð° вÑÑоÑе, коÑпÑÑ ÑовÑем не ÑезониÑÑеÑ. Ðикакого звона пÑÑжин, ÑолÑко ÑиÑÑÑй звÑк. ÐоддеÑжка VIA â ÑÑо вообÑе оÑделÑÐ½Ð°Ñ Ñема, пеÑеназнаÑил вÑе клавиÑи как мÐ
2893½Ðµ Ñдобно Ð´Ð»Ñ ÑабоÑÑ Ð¸ игÑ.",product:"K680 PRO",productId:"kb-k680-pro",stars:5},{id:"r_k680_4",name:"СеÑгей ÐеÑÑов",source:"(OZON)",text:"Ð Ð¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи оÑÐµÐ½Ñ ÑдобнÑй и ÑакÑилÑно пÑиÑÑнÑй, не лÑÑÑиÑ. Сама клавиаÑÑÑа компакÑнаÑ, на ÑÑоле много меÑÑа не занимаеÑ, ÑÑо кÑиÑиÑно Ð´Ð»Ñ ÑÑÑеÑов. СвиÑÑи ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ð¾ÑлиÑно, Ñ
од плавнÑй.",product:"K680 PRO",productId:"kb-k680-pro",stars:5},{id:"r_k680_5",name:"ÐакÑим Ð.",source:"(WB)",text:"ÐÑлиÑнÑй боÑд за Ñвой пÑайÑ, конкÑÑенÑÑ ÑÑоÑÑ Ð´Ð¾Ñоже. Смазка пÑиÑÑÑÑÑвÑÐµÑ Ð²ÐµÐ·Ð´Ðµ где надо, ÑÑабилизаÑоÑÑ Ð½Ðµ гÑемÑÑ, пÑобел звÑÑÐ¸Ñ Ð³Ð»ÑÑ
о и пÑиÑÑно. РекомендÑÑ Ð²Ñем, кÑо иÑÐµÑ ÐºÐ°ÑеÑÑвеннÑÑ Ð¼ÐµÑ
аникÑ!",product:"K680 PRO",productId:"kb-k680-pro",stars:5},{id:"r_k680gr_1",name:"ÐакÑим ÐлаÑов",source:"(OZON)",text:"ÐÑÐ°Ð´Ð¸ÐµÐ½Ñ Ð²ÑглÑÐ´Ð¸Ñ Ð²Ð¶Ð¸Ð²ÑÑ Ð¿ÑоÑÑо бомба, ÑоÑогÑаÑии не пеÑедаÑÑ Ð²Ñей кÑаÑоÑÑ! СвиÑÑи ÑиÑ
ие, ÑмазанÑ, нажаÑÐ¸Ñ Ð¾ÑÐµÐ½Ñ Ð»ÐµÐ³ÐºÐ¸Ðµ. ÐÑÑÑилка гÑомкоÑÑи ÑабоÑÐ°ÐµÑ ÑеÑко, меÑаллиÑеÑкий Ñил.",product:"VOROTEX K680GR",productId:"kb-k680gr",stars:5},{id:"r_k680gr_2",name:"СвеÑлана Ð.",source:"(WB)",text:"ÐÑÐµÐ½Ñ ÐºÑаÑÐ¸Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, идеалÑно впиÑалаÑÑ Ð² инÑеÑÑеÑ. ÐÐµÐ»Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка не ÑÐµÐ¶ÐµÑ Ð³Ð»Ð°Ð·Ð° даже ноÑÑÑ, оÑÐµÐ½Ñ Ð¼Ñгкое ÑвеÑение. Ðнопки нажимаÑÑÑÑ Ð¼Ñгко, палÑÑÑ Ð½Ðµ ÑÑÑаÑÑ.",product:"VOROTEX K680GR",productId:"kb-k680gr",stars:5},{id:"r_k680gr_3",name:"ÐлекÑандÑ",source:"(ЯÐ)",text:"Ðа ÑакÑÑ ÑÐµÐ½Ñ - абÑолÑÑнÑй Ñоп. ÐÑÐµÐ¹Ð´Ð¸ÐµÐ½Ñ ÑÑилÑнÑй и необÑÑнÑй, вÑе дÑÑзÑÑ ÑпÑаÑиваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ. СвиÑи кÑаÑнÑе ÑиÑ
ие, Ð´Ð»Ñ Ð¸Ð³Ñ Ð¿Ð¾Ð´Ñ
одÑÑ Ð¸Ð´ÐµÐ°Ð»Ñно, оÑклик мгновеннÑй.",product:"VOROTEX K680GR",productId:"kb-k680gr",stars:5},{id:"r_k680gr_4",name:"ÐиÑилл С.",source:"(OZON)",text:"ÐÑÑÑилка - веÑÑ! Удобно ÑегÑлиÑоваÑÑ Ð·Ð²Ñк в игÑе, не ÑвоÑаÑÐ¸Ð²Ð°Ñ Ð¾ÐºÐ½Ð¾. Сама клава ÑÑжеленÑкаÑ, ÑвеÑиÑÑаÑ, по ÑÑÐ¾Ð»Ñ Ð½Ðµ ÑколÑÐ·Ð¸Ñ Ð´Ð°Ð¶Ðµ пÑи акÑивном геймплее.",product:"VOROTEX K680GR",productId:"kb-k680gr",stars:5},{id:"r_k680gr_5",name:"Ðлена Ð.",source:"(WB)",text:"ÐÑала мÑÐ¶Ñ Ð² подаÑок, он доволен как Ñлон. Сказал, ÑÑо ÑÑо лÑÑÑÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, коÑоÑÐ°Ñ Ñ Ð½ÐµÐ³Ð¾ бÑла. ÐÑглÑÐ´Ð¸Ñ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ доÑоже Ñвоей ÑенÑ, плаÑÑик каÑеÑÑвеннÑй.",product:"VOROTEX K680GR",productId:"kb-k680gr",stars:5},{id:"r4",name:"Ðван СеÑгеевиÑ",source:"(OZON)",text:"ÐеÑаллиÑеÑÐºÐ°Ñ Ð¿Ð°Ð½ÐµÐ»Ñ Ð½Ð° K87S пÑÐ¸Ð´Ð°ÐµÑ Ð½ÐµÐ²ÐµÑоÑÑной ÑолидноÑÑи и жеÑÑкоÑÑи конÑÑÑÑкÑии. СвиÑÑи Dreamkey ÑабоÑаÑÑ ÑеÑко и пÑедÑказÑемо, никакиÑ
даблкликов за полгода иÑполÑзованиÑ.",product:"K87S",productId:"kb-k87s",stars:5},{id:"r_k87s_2",name:"СеÑгей Ð.",source:"(WB)",text:"ÐÐ»Ñ CS2 и дÑÑгиÑ
ÑÑÑеÑов â идеалÑно. ÐÑклик моменÑалÑнÑй, никакиÑ
задеÑжек. ÐеÑалл Ñ
Ð¾Ð»Ð¾Ð´Ð¸Ñ ÑÑкÑ, оÑÑÑаеÑÑÑ ÐºÐ°Ðº пÑемиалÑнÑй пÑодÑкÑ, Ñ
оÑÑ Ñена оÑÐµÐ½Ñ Ð´ÐµÐ¼Ð¾ÐºÑаÑиÑнаÑ.",product:"K87S",productId:"kb-k87s",stars:5},{id:"r_k87s_3",name:"Ðавел",source:"(ЯÐ)",text:"ÐейÑÑвиÑелÑно неÑÐ±Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ»Ð°Ð²Ð°. СкелеÑон дизайн позволÑÐµÑ Ð»ÐµÐ³ÐºÐ¾ ÑиÑÑиÑÑ Ð¾Ñ Ð¿Ñли и кÑоÑек, пÑоÑÑо пÑодÑл и вÑе. ÐодÑвеÑка ÑÑкаÑ, но не ÑÐ»ÐµÐ¿Ð¸Ñ Ð³Ð»Ð°Ð·Ð°.",product:"K87S",productId:"kb-k87s",stars:5},{id:"r_k87s_4",name:"ÐлекÑей",source:"(OZON)",text:"ÐзÑл на кÑаÑнÑÑ
ÑвиÑÑаÑ
, оÑÐµÐ½Ñ ÑиÑ
ие Ð´Ð»Ñ Ð¼ÐµÑ
аники. СÑабилизаÑоÑÑ Ð½Ð¾ÑмалÑнÑе, пÑобел не гÑÐµÐ¼Ð¸Ñ ÐºÐ°Ðº на деÑевÑÑ
аналогаÑ
. Ðа Ñвои денÑги â пÑоÑÑо огонÑ!",product:"K87S",productId:"kb-k87s",stars:5},{id:"r_k87s_5",name:"ÐаÑÐ¸Ñ Ð.",source:"(WB)",text:"СÑн доволен подаÑком. СвеÑиÑÑÑ ÐºÐ°Ðº новогоднÑÑ ÐµÐ»ÐºÐ°, Ñежимов кÑÑа, можно наÑÑÑоиÑÑ Ð¿Ð¾Ð´ ÑебÑ. СобÑана каÑеÑÑвенно, ниÑего не ÑкÑÐ¸Ð¿Ð¸Ñ Ð¸ не лÑÑÑиÑ.",product:"K87S",productId:"kb-k87s",stars:5},{id:"r_k870_1",name:"ÐладиÑлав Т.",source:"(OZON)",text:"Ð Ð¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи оÑÐµÐ½Ñ ÑдобнÑй, пÑивÑк к Ð½ÐµÐ¼Ñ Ð¼Ð¾Ð¼ÐµÐ½ÑалÑно! Сама клавиаÑÑÑа ÑÑжелаÑ, по ÑÑÐ¾Ð»Ñ Ð½Ðµ ÐµÐ·Ð´Ð¸Ñ Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ Ñ
оÑоÑим ножкам. TNT ÑвиÑÑи понÑавилиÑÑ, плавнÑе.",product:"K870",productId:"kb-k870",stars:5},{id:"r_k870_2",name:"Ðлег",source:"(WB)",text:"Ðоп ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе - пÑиÑÑнÑй бонÑÑ, ÑÑÐ°Ð·Ñ Ð¿Ð¾Ð¼ÐµÐ½Ñл Enter и Esc. ÐелÑÑе ÑвиÑÑи оÑÐµÐ½Ñ Ð¿Ð»Ð°Ð²Ð½Ñе, ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ñ Ð·Ð°Ð²Ð¾Ð´Ð°, пеÑаÑаÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие.",product:"K870",productId:"kb-k870",stars:5},{id:"r_k870_3",name:"ÐмиÑÑий ÐÑлов",source:"(ЯÐ)",text:"TKL ÑоÑÐ¼Ð°Ñ - золоÑÐ°Ñ ÑеÑедина Ð´Ð»Ñ Ð³ÐµÐ¹Ð¼ÐµÑа. ÐеÑÑа на ÑÑоле болÑÑе Ð´Ð»Ñ Ð¼ÑÑи, а ÑÑнкÑионал ÑÐ¾Ñ Ð¶Ðµ, ÑÑо и Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹. РекомендÑÑ Ð²Ñем, кÑо ÑÐµÐ½Ð¸Ñ ÑÑгономикÑ.",product:"K870",productId:"kb-k870",stars:5},{id:"r_k870_4",name:"Ðнна Ð.",source:"(OZON)",text:'ÐÑÐµÐ½Ñ Ð¿ÑиÑÑнÑй Ñайпинг, Ñакой глÑÑ
ой благоÑоднÑй звÑк "thock". ÐодÑвеÑка наÑÑÑаиваеÑÑÑ Ð»ÐµÐ³ÐºÐ¾, ÑоÑÑ Ð¿Ð¾Ð½ÑÑнÑй и не глÑÑиÑ. ÐÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÑÑилÑно.',product:"K870",productId:"kb-k870",stars:5},{id:"r_k870_5",name:"ÐикÑÐ¾Ñ Ð.",source:"(WB)",text:"ÐÐ»Ñ ÑоÑевноваÑелÑнÑÑ
ÑÑÑеÑов Ñамое Ñо. ÐÑÑÑÑÑе ÑвиÑÑи, ÑÑабаÑÑваÑÑ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð¾. ÐиÑего не лÑÑÑиÑ, ÑбоÑка монолиÑнаÑ, оÑÑÑаеÑÑÑ Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾ÑÑÑ.",product:"K870",productId:"kb-k870",stars:5},{id:"r_k680std_1",name:"ÐÑÑÑÑ Ð.",source:"(ЯÐ)",text:"ÐомпакÑÐ½Ð°Ñ Ð¿ÑÑка! Ð Ð¾Ð»Ð»ÐµÑ Ð½Ð° 65% клаве ÑÑо болÑÑÐ°Ñ ÑедкоÑÑÑ, и ÑÑо ÑÑÐ¿ÐµÑ Ñдобно. СвиÑÑи TNT плавнÑе, без ÑÑÑекÑа пеÑка. ÐÑÐµÐ½Ñ Ð´Ð¾Ð²Ð¾Ð»ÐµÐ½ покÑпкой.",product:"K680",productId:"kb-k680-std",stars:5},{id:"r_k680std_2",name:"ÐикÑоÑиÑ",source:"(OZON)",text:"ÐзÑла ÑиолеÑовÑÑ ÑаÑÑвеÑкÑ, ÑÐ²ÐµÑ Ð¿ÑоÑÑо бомба, оÑÐµÐ½Ñ Ð½ÐµÐ¶Ð½Ñй. ÐÑÐµÐ½Ñ Ð¼Ð°Ð»ÐµÐ½ÑкаÑ, но ÑдобнаÑ, вÑе нÑжнÑе клавиÑи и ÑÑÑелки еÑÑÑ. Ðа ÑÑоле ÑмоÑÑиÑÑÑ Ð°ÐºÐºÑÑаÑно.",product:"K680",productId:"kb-k680-std",stars:5},{id:"r_k680std_3",name:"ÐакÑим Ð.",source:"(WB)",text:"ÐÑÑÑÐ°Ñ Ð±ÑджеÑÐ½Ð°Ñ 65% меÑ
аника на даннÑй моменÑ. Смазка еÑÑÑ Ñ Ð·Ð°Ð²Ð¾Ð´Ð°, ÑÑÐ°Ð±Ñ Ð½Ðµ звенÑÑ. Ð Ð¾Ð»Ð»ÐµÑ ÑабоÑÐ°ÐµÑ ÑеÑко, можно ÑегÑлиÑоваÑÑ Ð·Ð²Ñк и ÑÑкоÑÑÑ.",product:"K680",productId:"kb-k680-std",stars:5},{id:"r_k680std_4",name:"ÐгоÑ",source:"(ЯÐ)",text:"ÐеÑеÑел Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑазмеÑной клавиаÑÑÑÑ, пÑивÑк бÑквалÑно за денÑ. СÑолÑко меÑÑа Ð´Ð»Ñ Ð¼ÑÑки оÑвободилоÑÑ! ТепеÑÑ Ð¸Ð³ÑаÑÑ Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ ÑенÑой намного Ñдобнее.",product:"K680",productId:"kb-k680-std",stars:5},{id:"r_k680std_5",name:"ÐикиÑа Ð .",source:"(OZON)",text:"Топ за Ñвои денÑги. ÐодÑвеÑка ÑÑкаÑ, много Ñежимов. СвиÑÑи ÑиÑ
ие, ÑоÑедей не ÑазбÑдÑÑ. ÐÐ°Ð±ÐµÐ»Ñ ÑÑемнÑй Type-C, можно подклÑÑиÑÑ Ñвой каÑÑомнÑй.",product:"K680",productId:"kb-k680-std",stars:5},{id:"r_k630w_1",name:"ÐгоÑÑ Ð¡.",source:"(WB)",text:"ÐаконеÑ-Ñо беÑпÑовод! ÐикакиÑ
пÑоводов на ÑÑоле, Ð¿Ð¾Ð»Ð½Ð°Ñ Ñвобода. ÐадеÑжки в игÑаÑ
не замеÑил вообÑе (подклÑÑÐ°Ñ Ð¿Ð¾ 2.4G ÑвиÑÑкÑ). ÐÑклик мгновеннÑй.",product:"K630W",productId:"kb-k630w",stars:5},{id:"r_k630w_2",name:"ÐлекÑей Ðванов",source:"(OZON)",text:"ÐаÑаÑÐµÑ Ð´ÐµÑÐ¶Ð¸Ñ ÑдивиÑелÑно долго. ÐодклÑÑÐ°Ñ Ðº Ð¼Ð°ÐºÑ Ð¿Ð¾ блÑÑÑз Ð´Ð»Ñ ÑабоÑÑ, к пк по ÑвиÑÑÐºÑ Ð´Ð»Ñ Ð¸Ð³Ñ. ÐеÑеклÑÑаеÑÑÑ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑÑойÑÑвами мгновенно.",product:"K630W",productId:"kb-k630w",stars:5},{id:"r_k630w_3",name:"ÐÑÑеÑлав",source:"(ЯÐ)",text:"ÐÑÐµÐ½Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑнаÑ, беÑÑ Ñ Ñобой Ñ Ð½Ð¾ÑÑбÑком в поездки. ÐелÑÑе ÑвиÑÑи ÑиÑ
ие, в оÑиÑе или ковоÑкиÐ
2893½Ð³Ðµ Ð½Ð¸ÐºÐ¾Ð¼Ñ Ð½Ðµ меÑÐ°Ñ Ñвоим пеÑаÑанием.",product:"K630W",productId:"kb-k630w",stars:5},{id:"r_k630w_4",name:"ÐаÑина Ð.",source:"(WB)",text:"Ð¦Ð²ÐµÑ beige-green оÑÐµÐ½Ñ ÐºÑаÑивÑй, Ñакой пÑиÑÑнÑй ÑеÑÑо ÑÑилÑ. РабоÑÐ°ÐµÑ Ð¾ÑлиÑно, без глÑков и оÑвалов ÑвÑзи. ÐÑÐµÐ½Ñ Ð´Ð¾Ð²Ð¾Ð»Ñна покÑпкой.",product:"K630W",productId:"kb-k630w",stars:5},{id:"r_k630w_5",name:"ÐениÑ",source:"(OZON)",text:"Ðа беÑпÑоводнÑÑ Ð¼ÐµÑ
Ð°Ð½Ð¸ÐºÑ Ñакого каÑеÑÑва Ñена пÑоÑÑо подаÑок. СбоÑка на вÑÑоÑе, ниÑего не ÑкÑипиÑ, коÑпÑÑ Ð¼Ð¾Ð½Ð¾Ð»Ð¸ÑнÑй. РекомендÑÑ Ðº покÑпке.",product:"K630W",productId:"kb-k630w",stars:5},{id:"r_k610_1",name:"ÐÐµÐ½Ð¸Ñ Ð.",source:"(OZON)",text:"Ðа Ñакие денÑги - ÑÑо пÑоÑÑо имба! ÐÑаÑнÑе ÑвиÑÑи оÑÐµÐ½Ñ Ð¼Ñгкие и оÑзÑвÑивÑе, игÑаÑÑ Ð² бÑÑÑÑÑе ÑÑÑеÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие. РеакÑÐ¸Ñ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð°Ñ.",product:"VOROTEX K610 LIGHT",productId:"kb-k610-light",stars:5},{id:"r_k610_2",name:"ÐонÑÑанÑин",source:"(WB)",text:"ÐÑанжевÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð² комплекÑе - Ñоп Ñема, ÑÑÐ°Ð·Ñ Ð¿Ð¾ÑÑавил на WASD и пÑобел. СÑÐ°Ð·Ñ Ð¿ÑеобÑазил вид клавиаÑÑÑÑ. ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка Ñоже ÑадÑÐµÑ Ð³Ð»Ð°Ð·.",product:"VOROTEX K610 LIGHT",productId:"kb-k610-light",stars:5},{id:"r_k610_3",name:"ÐндÑей Ð.",source:"(ЯÐ)",text:"ÐаленÑкаÑ, ÑдобнаÑ, ниÑего лиÑнего. ÐÐ»Ñ ÐС и ÐалоÑанÑа Ñамое Ñо. ÐеÑÑа на ÑÑоле ÑепеÑÑ Ð²Ð°Ð³Ð¾Ð½, можно маÑ
аÑÑ Ð¼ÑÑкой как Ñгодно.",product:"VOROTEX K610 LIGHT",productId:"kb-k610-light",stars:5},{id:"r_k610_4",name:"ÐлÑга",source:"(OZON)",text:"ÐÑала ÑÑÐ½Ñ Ð² подаÑок, он в полном воÑÑоÑге. СвеÑиÑÑÑ ÑÑко, нажимаеÑÑÑ Ð¿ÑиÑÑно. ÐовоÑиÑ, ÑÑо игÑаÑÑ ÑÑало намного Ñдобнее и пÑиÑÑнее.",product:"VOROTEX K610 LIGHT",productId:"kb-k610-light",stars:5},{id:"r_k610_5",name:"СÑаниÑлав",source:"(WB)",text:"Топ за Ñвои бабки. ХоÑÑвап еÑÑÑ, можно поÑом ÑвиÑÑи поменÑÑÑ Ð½Ð° какие заÑ
оÑеÑÑ. Ðо ÑÑоковÑе кÑаÑнÑе Ñоже вполне ноÑм, ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ð½ÐµÐ¿Ð»Ð¾Ñ
о.",product:"VOROTEX K610 LIGHT",productId:"kb-k610-light",stars:5},{id:"r_k680l_1",name:"ÐнÑон Ð.",source:"(OZON)",text:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка ÑеÑаеÑ! ÐÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÑÑÑÑÑиÑÑиÑно, ÑÐ¾Ð·Ð´Ð°ÐµÑ ÐºÐ»Ð°ÑÑнÑй ÑÐ¼Ð±Ð¸ÐµÐ½Ñ Ð½Ð° ÑÑоле. Ð Ð¾Ð»Ð»ÐµÑ ÑабоÑÐ°ÐµÑ ÑеÑко, без лÑÑÑов.",product:"VOROTEX K680 LIGHT",productId:"kb-k680-light",stars:5},{id:"r_k680l_2",name:"ÐиÑ
аил",source:"(WB)",text:"СÑилÑнаÑ, компакÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа. ÐиÑÑзовÑе ÐºÐµÐ¹ÐºÐ°Ð¿Ñ (коÑоÑÑе идÑÑ Ð´Ð¾Ð¿Ð¾Ð¼) вÑглÑдÑÑ Ñвежо и необÑÑно. СвиÑÑи ÑиÑ
ие, Ð´Ð»Ñ Ð½Ð¾ÑнÑÑ
каÑок Ñамое Ñо.",product:"VOROTEX K680 LIGHT",productId:"kb-k680-light",stars:5},{id:"r_k680l_3",name:"Ðвгений Ð .",source:"(ЯÐ)",text:"Ð Ð¾Ð»Ð»ÐµÑ Ð½Ð° Ñакой малÑÑке - ÑÑо наÑÑоÑÑий кайÑ. ÐвÑк ÑегÑлиÑÑÑ Ð½Ðµ ÑвоÑаÑÐ¸Ð²Ð°Ñ Ð¸Ð³ÑÑ Ð¸ не оÑÑÑваÑÑÑ Ð¾Ñ Ð¿ÑоÑеÑÑа. ÐднознаÑно ÑекомендÑÑ.",product:"VOROTEX K680 LIGHT",productId:"kb-k680-light",stars:5},{id:"r_k680l_4",name:"ÐлиÑа Ð.",source:"(OZON)",text:"ÐÑÐµÐ½Ñ ÐºÑаÑÐ¸Ð²Ð°Ñ ÐºÐ¾Ð½ÑÑÑÐ½Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка по бокам, ÑÐ¾Ð·Ð´Ð°ÐµÑ ÑÑÑнÑÑ Ð°ÑмоÑÑеÑÑ. Сама клавиаÑÑÑа ÑобÑана добÑоÑно, ÑÑжеленÑкаÑ, не ÑколÑзиÑ.",product:"VOROTEX K680 LIGHT",productId:"kb-k680-light",stars:5},{id:"r_k680l_5",name:"ÐладиÑлав",source:"(WB)",text:"ÐÑÑÑее ÑооÑноÑение Ñена/каÑеÑÑво/внеÑний вид. ÐÑглÑÐ´Ð¸Ñ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ доÑоже, Ñем ÑÑÐ¾Ð¸Ñ Ð½Ð° Ñамом деле. ÐокÑпкой полноÑÑÑÑ Ð´Ð¾Ð²Ð¾Ð»ÐµÐ½.",product:"VOROTEX K680 LIGHT",productId:"kb-k680-light",stars:5},{id:"r_k840l_1",name:"ÐÑÑем С.",source:"(WB)",text:"ÐÑкал именно 75% Ñ ÑоллеÑом, Ñак как ÑаÑÑо полÑзÑÑÑÑ F-клавиÑами. ÐÑа клава идеалÑна. ÐеÑÑа мало занимаеÑ, а ÑÑнкÑионал полнÑй.",product:"VOROTEX K840 LIGHT",productId:"kb-k840-light",stars:5},{id:"r_k840l_2",name:"СеÑгей Ð.",source:"(OZON)",text:"Ð£Ð´Ð¾Ð±Ð½Ð°Ñ ÑаÑкладка, пÑивÑкаÑÑ Ð´Ð¾Ð»Ð³Ð¾ не пÑиÑлоÑÑ. ÐлавиÑи F1-F12 на меÑÑе, Ð´Ð»Ñ ÑабоÑÑ Ð½Ñжно. ÐÑаÑнÑе ÑвиÑÑи не ÑÑмÑÑ, Ñ
од плавнÑй.",product:"VOROTEX K840 LIGHT",productId:"kb-k840-light",stars:5},{id:"r_k840l_3",name:"ÐмиÑÑий",source:"(ЯÐ)",text:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка - пÑоÑÑо огонÑ. Ð ÑемноÑе ÑмоÑÑиÑÑÑ ÑикаÑно, как коÑмиÑеÑкий коÑаблÑ. СÑабилизаÑоÑÑ ÑмазанÑ, пÑобел не звениÑ.",product:"VOROTEX K840 LIGHT",productId:"kb-k840-light",stars:5}
2893,{id:"r_k840l_4",name:"Ðлена",source:"(OZON)",text:"ÐÑлиÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа Ð´Ð»Ñ Ð´Ð¾Ð¼Ð°Ñнего иÑполÑзованиÑ. ÐомпакÑнаÑ, но ÑÑнкÑионалÑнаÑ. СÑн доволен, говоÑÐ¸Ñ Ð¸Ð³ÑаÑÑ ÑÑало Ñдобнее.",product:"VOROTEX K840 LIGHT",productId:"kb-k840-light",stars:5},{id:"r_k840l_5",name:"ÐакÑим",source:"(WB)",text:"ÐзÑл на Ð·Ð°Ð¼ÐµÐ½Ñ ÑÑаÑой мембÑанке. ÐÑо пÑоÑÑо небо и землÑ. ÐÑклик бÑÑÑÑÑй, пеÑаÑаÑÑ Ð¿ÑиÑÑно, палÑÑÑ Ñами леÑаÑÑ Ð¿Ð¾ клавиÑам.",product:"VOROTEX K840 LIGHT",productId:"kb-k840-light",stars:5},{id:"r_k980l_1",name:"СеÑгей Ð.",source:"(ЯÐ)",text:'ÐÑжен бÑл нампад Ð´Ð»Ñ ÑабоÑÑ, но не Ñ
оÑел огÑомнÑй "гÑоб" на ÑÑоле. K980 Light - Ñо ÑÑо надо, компакÑÐ½Ð°Ñ Ð¸ Ñ ÑиÑÑами.',product:"VOROTEX K980 LIGHT",productId:"kb-k980-light",stars:5},{id:"r_k980l_2",name:"ÐлÑга Т.",source:"(OZON)",text:"ÐÑÑ
галÑÐµÑ Ð¾Ñенил! ЦиÑÑовой блок еÑÑÑ, вводиÑÑ Ð´Ð°Ð½Ð½Ñе Ñдобно, а меÑÑа Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð¼Ð°Ð»Ð¾. ÐлавиÑи мÑгкие, не клаÑаÑÑ Ð½Ð° веÑÑ Ð¾ÑиÑ.",product:"VOROTEX K980 LIGHT",productId:"kb-k980-light",stars:5},{id:"r_k980l_3",name:"ÐикÑоÑ",source:"(WB)",text:"ФоÑÐ¼Ð°Ñ 98% ÑамÑй ÑдобнÑй и ÑбаланÑиÑованнÑй. РпоигÑаÑÑ Ñ ÐºÐ¾Ð¼ÑоÑÑом, и поÑабоÑаÑÑ Ñ ÑаблиÑами. Ð Ð¾Ð»Ð»ÐµÑ Ñоже оÑÐµÐ½Ñ Ð² ÑемÑ.",product:"VOROTEX K980 LIGHT",productId:"kb-k980-light",stars:5},{id:"r_k980l_4",name:"ÐнÑон Ð.",source:"(OZON)",text:"ÐÐ¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка пÑиколÑнаÑ, добавлÑÐµÑ ÑÑилÑ. СбоÑка кÑепкаÑ, коÑпÑÑ Ð½Ðµ ÑкÑÐ¸Ð¿Ð¸Ñ Ð¸ не лÑÑÑиÑ. Ðа ÑÑи денÑги ÑÑÐ¿ÐµÑ Ð²Ð°ÑианÑ.",product:"VOROTEX K980 LIGHT",productId:"kb-k980-light",stars:5},{id:"r_k980l_5",name:"ÐиÑа С.",source:"(ЯÐ)",text:"ÐÑаÑиваÑ, ÑдобнаÑ, ÑиÑ
аÑ. ЧÑо еÑе нÑжно Ð´Ð»Ñ ÑÑаÑÑÑÑ? РекомендÑÑ Ðº покÑпке, не пожалееÑе.",product:"VOROTEX K980 LIGHT",productId:"kb-k980-light",stars:5},{id:"r_sk820w_1",name:"Ðвгений Ð.",source:"(ЯÐ)",text:'ÐкÑанÑик - ÑÑо наÑÑоÑÑий ÐºÐ¸Ð»Ð»ÐµÑ ÑиÑа! ÐоказÑÐ²Ð°ÐµÑ Ð·Ð°ÑÑд в пÑоÑенÑаÑ
, оÑÐµÐ½Ñ Ñдобно. ÐоÑÑавил гиÑÐºÑ Ñ ÐºÐ¾Ñиком, ÑадÑÐµÑ Ð³Ð»Ð°Ð·. Тайпинг "thocky" из коÑобки.',product:"VOROTEX SK820W",productId:"kb-sk820w",stars:5},{id:"r_sk820w_2",name:"ÐлекÑÐ°Ð½Ð´Ñ Ð .",source:"(OZON)",text:'ЧÑвÑÑвÑеÑÑÑ Ð¿ÑемиÑм ÑегменÑ. Gasket mount ÑеалÑно ÑабоÑаеÑ, клавиаÑÑÑа "ÑлекÑиÑ" пÑи пеÑаÑи. ÐвÑк бомба, глÑбокий и наÑÑÑеннÑй.',product:"VOROTEX SK820W",productId:"kb-sk820w",stars:5},{id:"r_sk820w_3",name:"ÐиÑ
аил Ð.",source:"(WB)",text:"ÐаÑаÑÐµÑ Ð´ÐµÑÐ¶Ð¸Ñ ÑелÑÑ Ð²ÐµÑноÑÑÑ. ÐабÑл когда заÑÑжал поÑледний Ñаз, Ñ
оÑÑ Ð¿Ð¾Ð»ÑзÑÑÑÑ ÐºÐ°Ð¶Ð´Ñй денÑ. ÐкÑанÑик инÑоÑмаÑивнÑй и полезнÑй.",product:"VOROTEX SK820W",productId:"kb-sk820w",stars:5},{id:"r_sk820w_4",name:"ÐкаÑеÑина",source:"(OZON)",text:"ÐÑÐµÐ½Ñ ÐºÑаÑÐ¸Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, оÑобенно в белом ÑвеÑе. ÐкÑан можно наÑÑÑоиÑÑ Ð¿Ð¾Ð´ ÑебÑ. Тайпинг ÑиÑ
ий и пÑиÑÑнÑй, как ASMR Ð´Ð»Ñ ÑÑей.",product:"VOROTEX SK820W",productId:"kb-sk820w",stars:5},{id:"r_sk820w_5",name:"Ðавел Ð.",source:"(WB)",text:"ÐеÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ ÑвÑÐ·Ñ ÑабоÑÐ°ÐµÑ Ð¸Ð´ÐµÐ°Ð»Ñно, без лагов и обÑÑвов. ÐгÑÐ°Ñ Ð² CS на вÑÑоком ÑÑовне, ÑазниÑÑ Ñ Ð¿Ñоводом не ÑÑвÑÑвÑÑ. Топ!",product:"VOROTEX SK820W",productId:"kb-sk820w",stars:5},{id:"r_k980_1",name:"ÐонÑÑанÑин Ð.",source:"(WB)",text:"ÐаконеÑ-Ñо наÑел компакÑнÑÑ ÐºÐ»Ð°Ð²Ñ Ñ Ð½Ð°Ð¼Ð¿Ð°Ð´Ð¾Ð¼! ÐÐ»Ñ ÑабоÑÑ Ð² ÑкÑеле и Ð¸Ð³Ñ Ð¸Ð´ÐµÐ°Ð»Ñно подÑ
одиÑ. СбоÑка монолиÑнаÑ.",product:"VOROTEX K980",productId:"kb-k980",stars:5}
2893,{id:"r_k980_2",name:"Ðавел С.",source:"(OZON)",text:"ÐаÑеÑÑво маÑеÑиалов оÑлиÑное, плаÑÑик пÑиÑÑнÑй. ТÑжелаÑ, на ÑÑоле ÑÑÐ¾Ð¸Ñ ÐºÐ°Ðº влиÑаÑ. СвиÑÑи TNT Yellow ÑÑÐ¿ÐµÑ Ð¿Ð»Ð°Ð²Ð½Ñе.",product:"VOROTEX K980",productId:"kb-k980",stars:5},{id:"r_k980_3",name:"ÐÑина Ð.",source:"(ЯÐ)",text:"ÐÑÐ¶Ñ Ð¾ÑÐµÐ½Ñ Ð¿Ð¾Ð½ÑавилаÑÑ. ÐовоÑиÑ, ÑÑо идеалÑнÑй ÑазмеÑ. Ркнопки вÑе нÑжнÑе еÑÑÑ, и меÑÑа на ÑÑоле не много занимаеÑ.",product:"VOROTEX K980",productId:"kb-k980",stars:5},{id:"r_k980_4",name:"ÐлекÑей Ð.",source:"(OZON)",text:"Ð Ð¾Ð»Ð»ÐµÑ Ð³ÑомкоÑÑи ÑабоÑÐ°ÐµÑ ÑеÑко, без ложнÑÑ
ÑÑабаÑÑваний. ÐодÑвеÑка наÑÑÑаиваеÑÑÑ. Тайпинг пÑиÑÑнÑй, ÑмазаннÑй, ниÑего не гÑемиÑ.",product:"VOROTEX K980",productId:"kb-k980",stars:5},{id:"r_k980_5",name:"Ðадим Т.",source:"(WB)",text:'ХоÑоÑÐ°Ñ Ð°Ð»ÑÑеÑнаÑива полноÑазмеÑнÑм "гÑобам". 1800 ÑаÑкладка оÑÐµÐ½Ñ ÑдобнаÑ, пÑивÑкаеÑÑ Ð±ÑÑÑÑо. РекомендÑÑ.',product:"VOROTEX K980",productId:"kb-k980",stars:5},{id:"r5",name:"ÐÑигоÑий",source:"(WB)",text:"P61 - оÑлиÑнÑй ваÑÐ¸Ð°Ð½Ñ Ð´Ð»Ñ Ð¼Ð°Ð»ÐµÐ½Ñкого ÑÑола или еÑли ÑаÑÑо ездиÑе. ÐÑдинг ÐºÐµÐ¹ÐºÐ°Ð¿Ñ Ð²ÑглÑдÑÑ ÑикаÑно, ÑвеÑÑÑÑÑ Ñеликом.",product:"P61",productId:"kb-p61",stars:5},{id:"r_p61_2",name:"Ðаниил Ð.",source:"(OZON)",text:"ÐÑдинги ÑвеÑÑÑÑÑ Ð¿ÑоÑÑо коÑмоÑ! Ð ÑемноÑе вÑглÑÐ´Ð¸Ñ Ð½ÐµÑеалÑно кÑÑÑо, Ð·Ð°Ð»Ð¸Ð²Ð°ÐµÑ ÑвеÑом вÑе вокÑÑг. СвиÑÑи кÑаÑнÑе, ÑиÑ
ие и бÑÑÑÑÑе.",product:"P61",productId:"kb-p61",stars:5},{id:"r_p61_3",name:"ÐлекÑандÑ",source:"(ЯÐ)",text:"ÐаленÑкаÑ, ÑдобнаÑ, легкаÑ. ÐеÑÑ Ñ Ñобой в поездки и командиÑовки. ÐÐ°Ð±ÐµÐ»Ñ Ð¾ÑÑоединÑеÑÑÑ, ÑÑо оÑÐµÐ½Ñ Ñдобно. РекомендÑÑ.",product:"P61",productId:"kb-p61",stars:5},{id:"r_p61_4",name:"ÐеÑоника",source:"(WB)",text:"ÐÑала белÑÑ Ð²ÐµÑÑиÑ, оÑÐµÐ½Ñ ÐºÑаÑÐ¸Ð²Ð°Ñ Ð¸ ÑÑÑеÑиÑнаÑ. ÐодÑвеÑка Ð·Ð°Ð»Ð¸Ð²Ð°ÐµÑ Ð²ÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ Ð¼Ñгким ÑвеÑом. ÐажимаеÑÑÑ Ð¼Ñгко.",product:"P61",productId:"kb-p61",stars:5},{id:"r_p61_5",name:"Ðлег Ð.",source:"(OZON)",text:"Ðа ÑÑи денÑги пÑоÑÑо Ñоп. ХоÑÑвап еÑÑÑ, ÐºÐµÐ¹ÐºÐ°Ð¿Ñ ÐºÐ°ÑеÑÑвеннÑе, подÑвеÑка ÑÑкаÑ. ÐÐ»Ñ Ð½Ð°Ñала пÑÑи в меÑ
анике - идеалÑно.",product:"P61",productId:"kb-p61",stars:5},{id:"r_p82_1",name:"ÐикÑÐ¾Ñ Ð¡.",source:"(OZON)",text:"P82 â золоÑÐ°Ñ ÑеÑедина по ÑазмеÑÑ. ÐомпакÑнаÑ, но ÑÑÑелки и F-ÑÑд еÑÑÑ. ÐÑдинг ÐºÐµÐ¹ÐºÐ°Ð¿Ñ ÑадÑÑÑ Ð³Ð»Ð°Ð· Ñвоей ÑÑкоÑÑÑÑ.",product:"P82",productId:"kb-p82",stars:5},{id:"r_p82_2",name:"ÐндÑей Ð.",source:"(WB)",text:"ÐÑÐµÐ½Ñ Ð½ÑавиÑÑÑ Ð¿Ð¾Ð´ÑвеÑка из-за пÑдинг кейкапов, вÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ Ð½ÐµÐ¾Ð±ÑÑно. СвиÑÑи Outemu Red ÑабоÑаÑÑ Ð±ÐµÐ· наÑеканий, Ñ
од плавнÑй.",product:"P82",productId:"kb-p82",stars:5},{id:"r_p82_3",name:"ÐаÑина Ð.",source:"(ЯÐ)",text:"УдобнÑй ÑоÑÐ¼Ð°Ñ 75%. ФÑнкÑионалÑнÑе клавиÑи на меÑÑе, Ñдобно ÑабоÑаÑÑ. ÐÑглÑÐ´Ð¸Ñ ÑÑилÑно и ÑовÑеменно на ÑабоÑем ÑÑоле.",product:"P82",productId:"kb-p82",stars:5},{id:"r_p82_4",name:"ÐонÑÑанÑин",source:"(OZON)",text:"ХоÑоÑÐ°Ñ ÑбоÑка, не ÑкÑÐ¸Ð¿Ð¸Ñ Ð¿Ñи ÑкÑÑÑивании. ХоÑÑвап ÑабоÑий, пÑовеÑÑл. ÐодÑвеÑка ÑÑкаÑ, много Ñежимов на лÑбой вкÑÑ.",product:"P82",productId:"kb-p82",stars:5},{id:"r_p82_5",name:"ÐлÑÑ Ð .",source:"(WB)",text:"ÐÑлиÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа за Ñвой бÑджеÑ. ÐзÑл ÑеÑÑÑ Ñ Ð±ÐµÐ»Ñм, ÑмоÑÑиÑÑÑ Ð¸Ð½ÑеÑеÑно и Ð
2893½Ðµ ÑкÑÑно. Тайпинг пÑиÑÑнÑй, не гÑомкий.",product:"P82",productId:"kb-p82",stars:5},{id:"r6",name:"ÐакÑим Ð.",source:"(ЯÐ)",text:"MK87R в ÑеÑÑо ÑÑиле пÑоÑÑо бомба. PBT плаÑÑик оÑÐµÐ½Ñ Ð¿ÑиÑÑнÑй на оÑÑпÑ, ÑеÑÑавÑй, палÑÑÑ Ð½Ðµ ÑколÑзÑÑ. ÐÑглÑÐ´Ð¸Ñ Ð´Ð¾Ñого.",product:"MK87R",productId:"kb-mk87r",stars:5},{id:"r_mk87r_2",name:"Роман Т.",source:"(OZON)",text:"ÐеÑпÑовод ÑабоÑÐ°ÐµÑ ÑÑабилÑно, никакиÑ
оÑвалов. ÐаÑаÑÐµÑ Ð´ÐµÑÐ¶Ð¸Ñ Ð´Ð¾Ð»Ð³Ð¾. СвиÑÑи Jerrzi оÑÐµÐ½Ñ Ð¿Ð»Ð°Ð²Ð½Ñе, ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¾Ð»ÐµÐ¿Ð½Ð¾.",product:"MK87R",productId:"kb-mk87r",stars:5},{id:"r_mk87r_3",name:"Ðлина С.",source:"(WB)",text:'Ðизайн "Starry Blue" оÑÐµÐ½Ñ ÐºÑаÑивÑй и необÑÑнÑй. ÐлавиÑи не ÑÑиÑаÑÑÑÑ, PBT же. ÐвÑк ÑиÑ
ий, глÑÑ
ой и пÑиÑÑнÑй.',product:"MK87R",productId:"kb-mk87r",stars:5},{id:"r_mk87r_4",name:"ÐÐµÐ½Ð¸Ñ Ð.",source:"(ЯÐ)",text:"СÑÑÐ¾Ð³Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа без лиÑней новогодней елки Ñ Ð¿Ð¾Ð´ÑвеÑкой. ÐÐ»Ñ ÑабоÑÑ Ð¸ Ð¸Ð³Ñ Ð¸Ð´ÐµÐ°Ð»Ñно подÑ
одиÑ. ÐаÑеÑÑво ÑбоÑки на вÑÑоÑе.",product:"MK87R",productId:"kb-mk87r",stars:5},{id:"r_mk87r_5",name:"ÐладимиÑ",source:"(OZON)",text:"ТÑжелаÑ, добÑоÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа. СÑÐ°Ð·Ñ ÑÑвÑÑвÑеÑÑÑ Ð²ÐµÑÑ, а не деÑÐµÐ²Ð°Ñ Ð¿Ð¾Ð³ÑемÑÑка. ХоÑÑвап еÑÑÑ, но ÑÑоковÑе ÑвиÑÑи и Ñак оÑлиÑнÑе.",product:"MK87R",productId:"kb-mk87r",stars:5},{id:"r_m68_1",name:"ÐаÑалÑÑ Ð.",source:"(OZON)",text:"ÐокÑпала ÑÐµÐ±ÐµÐ½ÐºÑ Ð² подаÑок, он в полном воÑÑоÑге. СвеÑиÑÑÑ ÑÑко, нажимаеÑÑÑ Ð¼Ñгко. ÐÑÐµÐ½Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑнаÑ, на ÑÑоле поÑÑдок.",product:"VOROTEX M68",productId:"kb-m68",stars:5},{id:"r_m68_2",name:"СеÑгей Ð.",source:"(WB)",text:"Ðа Ñвои денÑги оÑлиÑÐ½Ð°Ñ Ð¼ÐµÐ¼Ð±Ñанка. ТиÑ
аÑ, Ð½Ð¸ÐºÐ¾Ð¼Ñ Ð½Ðµ меÑÐ°Ñ Ð½Ð¾ÑÑÑ, когда игÑаÑ. ÐодÑвеÑка кÑаÑиваÑ, еÑÑÑ ÑазнÑе ÑежимÑ.",product:"VOROTEX M68",productId:"kb-m68",stars:5},{id:"r_m68_3",name:"ÐмиÑÑий",source:"(ЯÐ)",text:"ÐаленÑкаÑ, легкаÑ. ÐеÑÑ Ñ Ñобой в ÑÑкзак, меÑÑа не занимаеÑ. РабоÑÐ°ÐµÑ ÑеÑко, кнопки не залипаÑÑ, оÑклик ноÑмалÑнÑй.",product:"VOROTEX M68",productId:"kb-m68",stars:5},{id:"r_m68_4",name:"ÐлÑга Ð.",source:"(OZON)",text:"РозовÑй ÑÐ²ÐµÑ Ð¾ÑÐµÐ½Ñ Ð½ÐµÐ¶Ð½Ñй и пÑиÑÑнÑй. ÐоÑка доволÑна подаÑком. СвеÑиÑÑÑ ÑазнÑми ÑвеÑами, можно менÑÑÑ ÑежимÑ.",product:"VOROTEX M68",productId:"kb-m68",stars:5},{id:"r_m68_5",name:"ÐакÑим",source:"(WB)",text:"Ðак пеÑÐ²Ð°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа - ÑÑÐ¿ÐµÑ Ð²Ð°ÑианÑ. ÐедоÑогаÑ, но ÑÑилÑнаÑ, ÑÐ´Ð¾Ð±Ð½Ð°Ñ Ð¸ вÑполнÑÐµÑ Ñвои ÑÑнкÑии на 100%.",product:"VOROTEX M68",productId:"kb-m68",stars:5},{id:"r_ak820_1",name:"ÐоÑÐ¸Ñ Ð.",source:"(ЯÐ)",text:"ÐкÑан - ÑÑо неÑÑо! ÐоÑÑавил гиÑÐºÑ Ñ ÐºÐ¾Ñиком, ÑепеÑÑ ÑадÑÑÑÑ ÐºÐ°Ð¶Ð´Ñй Ñаз. Тайпинг божеÑÑвеннÑй, Peach ÑвиÑÑи оÑÐµÐ½Ñ Ð¼Ñгкие и ÑиÑ
ие.",product:"VOROTEX AK820 PRO",productId:"kb-ak820-pro",stars:5},{id:"r_ak820_2",name:"ÐÑÑем Ð.",source:"(OZON)",text:'ÐÑÑÑÐ°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, ÑÑо Ñ Ð¼ÐµÐ½Ñ Ð±Ñла. Gasket mount ÑеалÑно ÑабоÑаеÑ, клавиаÑÑÑа "ÑлекÑиÑ" пÑи пеÑаÑи. ÐвÑк бомба, глÑбокий и наÑÑÑеннÑй.',product:"VOROTEX AK820 PRO",productId:"kb-ak820-pro",stars:5},{id:"r_ak820_3",name:"ÐÑÐµÐ½Ð¸Ñ Ð.",source:"(WB)",text:"ÐеÑпÑовод ÑабоÑÐ°ÐµÑ Ð¸Ð´ÐµÐ°Ð»Ñно, заÑÑд деÑÐ¶Ð¸Ñ Ð´Ð¾Ð»Ð³Ð¾. Ð
2893ÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ Ð´Ð¾Ñого и ÑÑилÑно. ÐкÑанÑик - лÑÐ±Ð¾Ð²Ñ Ñ Ð¿ÐµÑвого взглÑда.",product:"VOROTEX AK820 PRO",productId:"kb-ak820-pro",stars:5},{id:"r_ak820_4",name:"Ðван Ð.",source:"(ЯÐ)",text:"ÐÐ¾Ð»Ð½Ð°Ñ ÑÑмоизолÑÑиÑ, никакиÑ
поÑÑоÑонниÑ
звÑков и ÑÑ
а коÑпÑÑа. СвиÑÑи ÑиÑ
ие линейнÑе, пеÑаÑаÑÑ Ð¾Ð´Ð½Ð¾ ÑдоволÑÑÑвие. РекомендÑÑ.",product:"VOROTEX AK820 PRO",productId:"kb-ak820-pro",stars:5},{id:"r_ak820_5",name:"ЮÑий Ð.",source:"(OZON)",text:"Топ за Ñвои денÑги. ÐонкÑÑенÑÑ Ñ ÑкÑаном и Ñакой наÑинкой ÑÑоÑÑ Ð² 2 Ñаза доÑоже. VOROTEX молодÑÑ, Ñделали кÑÑÑой пÑодÑкÑ.",product:"VOROTEX AK820 PRO",productId:"kb-ak820-pro",stars:5},{id:"r_k940gr_1",name:"Ðлег С.",source:"(OZON)",text:"ÐÑÐ°Ð´Ð¸ÐµÐ½Ñ Ð²ÑглÑÐ´Ð¸Ñ ÑикаÑно, оÑÐµÐ½Ñ Ð½ÐµÐ¾Ð±ÑÑно! Ðампадом полÑзÑÑÑÑ Ð¿Ð¾ÑÑоÑнно по ÑабоÑе, оÑÐµÐ½Ñ Ñдобно, ÑÑо клавиаÑÑÑа пÑи ÑÑом компакÑнее обÑÑной.",product:"VOROTEX K940GR",productId:"kb-k940gr",stars:5},{id:"r_k940gr_2",name:"ÐаÑÐ¸Ñ Ð¤.",source:"(WB)",text:"СинÑÑ Ð¿Ð¾Ð´ÑвеÑка оÑÐµÐ½Ñ Ð¿ÑиÑÑнаÑ, ÑпокойнаÑ, не бÑÐµÑ Ð² глаза. ÐлавиÑи нажимаÑÑÑÑ Ð»ÐµÐ³ÐºÐ¾ и ÑеÑко. ÐÑадиенÑÐ½Ð°Ñ ÑаÑÑвеÑка ÑÑпеÑ.",product:"VOROTEX K940GR",productId:"kb-k940gr",stars:5},{id:"r_k940gr_3",name:"ÐндÑей Ð.",source:"(ЯÐ)",text:"ХоÑоÑÐ°Ñ ÑбоÑка, ÑÑжелаÑ, добÑоÑнаÑ. Ðоковое подклÑÑение ÐºÐ°Ð±ÐµÐ»Ñ Ð¼Ð½Ðµ заÑло, намного Ñдобнее Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ноÑÑÑ ÑбокÑ.",product:"VOROTEX K940GR",productId:"kb-k940gr",stars:5},{id:"r_k940gr_4",name:"ÐиÑалий",source:"(OZON)",text:"94 клавиÑи - идеалÑнÑй ÑоÑмаÑ. РкомпакÑно, и ÑиÑÑÑ ÐµÑÑÑ Ð´Ð»Ñ ÑабоÑÑ. СвиÑÑи кÑаÑнÑе, ÑиÑ
ие, игÑаÑÑ ÐºÐ¾Ð¼ÑоÑÑно.",product:"VOROTEX K940GR",productId:"kb-k940gr",stars:5},{id:"r_k940gr_5",name:"СвеÑлана",source:"(WB)",text:"ÐÑÐµÐ½Ñ ÑÑилÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑа, пÑÐ¸Ð²Ð»ÐµÐºÐ°ÐµÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ гоÑÑей. ÐÑÐ°Ð´Ð¸ÐµÐ½Ñ Ð²ÑглÑÐ´Ð¸Ñ Ð´Ð¾Ñого. РабоÑÐ°ÐµÑ Ð¾ÑлиÑно, никакиÑ
наÑеканий.",product:"VOROTEX K940GR",productId:"kb-k940gr",stars:5},{id:"r_k870gr_1",name:"СеÑгей Ð.",source:"(WB)",text:"ÐлаÑÑиÑеÑкий TKL в кÑÑÑом дизайне. ÐÐµÐ»Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка ÑмоÑÑиÑÑÑ ÑÑилÑно и ÑÑÑого, без лиÑней ÑадÑги. ÐÐ»Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ð¸ÑÑиÑного ÑеÑапа Ñамое Ñо.",product:"VOROTEX K870GR",productId:"kb-k870gr",stars:5},{id:"r_k870gr_2",name:"Ðнна Ð.",source:"(OZON)",text:"ÐÑÐ°Ð´Ð¸ÐµÐ½Ñ Ð²Ð¶Ð¸Ð²ÑÑ ÐµÑе лÑÑÑе Ñем на ÑоÑо, оÑÐµÐ½Ñ Ð¿Ð»Ð°Ð²Ð½Ñй пеÑеÑ
од. ÐÑÐµÐ½Ñ ÐºÑаÑиваÑ. СвиÑÑи мÑгкие, игÑаÑÑ Ð¸ пеÑаÑаÑÑ Ñдобно.",product:"VOROTEX K870GR",productId:"kb-k870gr",stars:5},{id:"r_k870gr_3",name:"ÐакÑим Ð.",source:"(ЯÐ)",text:"ÐаÑеÑÑÐ²ÐµÐ½Ð½Ð°Ñ Ð¼ÐµÑ
аника за адекваÑнÑÑ ÑенÑ. ХоÑÑвап еÑÑÑ, ÑÑÐ°Ð±Ñ ÑмазанÑ, ниÑего не гÑемиÑ. ÐднознаÑно ÑекомендÑÑ Ðº покÑпке.",product:"VOROTEX K870GR",productId:"kb-k870gr",stars:5},{id:"r_k870gr_4",name:"ÐмиÑÑий Ð.",source:"(OZON)",text:"ÐÐµÐ»Ð°Ñ Ð¿Ð¾Ð´ÑвеÑка - ÑÑо Ñоп. Ðикакой ÑадÑги, вÑе ÑÑÑого и Ñо вкÑÑом. ÐÑÐ°Ð´Ð¸ÐµÐ½Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ Ð¸Ð·ÑÐ¼Ð¸Ð½ÐºÑ Ð²Ð¾ внеÑний вид. Ðоволен.",product:"VOROTEX K870GR",productId:"kb-k870gr",stars:5},{id:"r_k870gr_5",name:"Ðлена С.",source:"(WB)",text:"ÐÑала Ð´Ð»Ñ ÑабоÑÑ Ð¸ иногда поигÑаÑÑ Ð²ÐµÑеÑом. ÐÑÐµÐ½Ñ Ð´Ð¾Ð²Ð¾Ð»Ñна. Ð Ñки не ÑÑÑаÑÑ Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ Ð¿ÑоÑÐ¸Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ñ, звÑк пÑиÑÑнÑй и не гÑомкий.",product:"VOROTEX K870GR",productId:"kb-k870gr",stars:5}],Dp=[{id:"r_o3c_1",name:"ÐиÑилл Ð.",source:"(OZON)",text:"Rapid Trigger - ÑÑо ÑеалÑно ÑиÑÑ Ð´Ð»Ñ OSU! СÑÑÐ¸Ð¼Ð»Ñ 200bpm, задеÑжки нолÑ. ÐкÑанÑик Ñоп, поÑÑавил ÑÐ²Ð¾Ñ Ð°Ð²Ñ. РозовÑе ÑвиÑÑи ÑабоÑаÑÑ Ð¸Ð´ÐµÐ°Ð»Ñно.",product:"VOROTEX S
2893ayoDevice O3C",productId:"kb-sayodevice-o3c",stars:5},{id:"r_o3c_2",name:"ÐакÑим",source:"(WB)",text:"ÐагниÑнÑе ÑвиÑÑи Pink Switch оÑÐµÐ½Ñ Ð¿Ð»Ð°Ð²Ð½Ñе, наÑÑÑаиваÑÑÑÑ ÑеÑез веб-ÑÐ°Ð¹Ñ Ð·Ð° ÑекÑндÑ. Ðе нÑжно каÑаÑÑ ÐºÐ¸ÑайÑкий ÑоÑÑ. ÐÑÑÑилка ÑдобнаÑ.",product:"VOROTEX SayoDevice O3C",productId:"kb-sayodevice-o3c",stars:5},{id:"r_o3c_3",name:"Ðлина",source:"(ЯÐ)",text:"ÐаленÑкаÑ, кÑаÑиваÑ, ÑÑнкÑионалÑнаÑ. ÐÑполÑзÑÑ Ð´Ð»Ñ Ð¼Ð°ÐºÑоÑов в ÑоÑоÑопе и иногда игÑÐ°Ñ Ð² ÑиÑм-игÑÑ. O3C++ веÑÑÐ¸Ñ Ñ ÑкÑаном ÑÑÐ¾Ð¸Ñ Ð¿ÐµÑеплаÑÑ.",product:"VOROTEX SayoDevice O3C",productId:"kb-sayodevice-o3c",stars:5},{id:"r_o3c_4",name:"ÐÐµÐ½Ð¸Ñ Ð.",source:"(OZON)",text:"ÐÑÑÑий кейпад на ÑÑнке. 8000 геÑÑ Ð¾Ð¿ÑоÑ, Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð°Ñ ÑеакÑиÑ. СбоÑка каÑеÑÑвеннаÑ, ниÑего не лÑÑÑиÑ. ÐелÑй ÑÐ²ÐµÑ ÑмоÑÑиÑÑÑ ÑиÑÑо.",product:"VOROTEX SayoDevice O3C",productId:"kb-sayodevice-o3c",stars:5},{id:"r_o3c_5",name:"ÐгоÑ",source:"(WB)",text:"Ðеб-дÑÐ°Ð¹Ð²ÐµÑ ÑÑо киллеÑ-ÑиÑа! ÐаÑÑÑоил и забÑл. ÐкÑан ÑÑкий, ÑвеÑа ÑоÑнÑе. Rapid trigger на Pink ÑвиÑÑаÑ
ÑабоÑÐ°ÐµÑ ÐºÐ°Ðº надо.",product:"VOROTEX SayoDevice O3C",productId:"kb-sayodevice-o3c",stars:5},{id:"r_s2s4_1",name:"ÐонÑÑанÑин Ð.",source:"(OZON)",text:"ÐзÑл S2 ÑиÑÑо под копипаÑÑ. ÐÑо лÑÑÑее вложение 1500 ÑÑблей в моей жизни. РабоÑÐ°Ñ Ñ ÑекÑÑами, ÑкоÑоÑÑÑ Ð²ÑÑоÑла в ÑазÑ. Ðнопки мÑгкие, не клаÑаÑÑ.",product:"VOROTEX SayoDevice S2",productId:"kb-sayodevice-s2s4",stars:5},{id:"r_s2s4_2",name:"ÐаÑÐ¸Ñ Ð.",source:"(WB)",text:"S4 иÑполÑзÑÑ Ð´Ð»Ñ OSU mania 4K. Ðамного Ñдобнее, Ñем долбиÑÑ Ð¿Ð¾ оÑновной клавиаÑÑÑе. СвиÑÑи бÑÑÑÑÑе, задеÑжки неÑ. Ðеб-инÑеÑÑÐµÐ¹Ñ Ð¿Ð¾Ð½ÑÑнÑй.",product:"VOROTEX SayoDevice S4",productId:"kb-sayodevice-s2s4",stars:5},{id:"r_s2s4_3",name:"ÐÑÑем",source:"(ЯÐ)",text:"ÐÑлиÑнÑй макÑопад. ÐаÑÑÑоил на S4 ÑпÑавление плееÑом и микÑоÑоном в диÑкоÑде. ÐеÑÑа на ÑÑоле не занимаеÑ, вÑглÑÐ´Ð¸Ñ ÑÑилÑно.",product:"VOROTEX SayoDevice S4",productId:"kb-sayodevice-s2s4",stars:5},{id:"r_s2s4_4",name:"ÐикÑÐ¾Ñ Ð.",source:"(OZON)",text:"ÐаÑеÑÑво ÑбоÑки S2 поÑадовало. ÐлаÑÑик пÑиÑÑнÑй, ÐºÐ°Ð±ÐµÐ»Ñ Ð´Ð»Ð¸Ð½Ð½Ñй. ÐаÑÑÑойка ÑеÑез ÑÐ°Ð¹Ñ - ÑÑо гениалÑно, никакиÑ
дÑайвеÑов не нÑжно.",product:"VOROTEX SayoDevice S2",productId:"kb-sayodevice-s2s4",stars:5},{id:"r_s2s4_5",name:"Ðлена",source:"(WB)",text:"ÐÐµÐ»Ð°Ñ S4 идеалÑно подоÑла к Ð¼Ð¾ÐµÐ¼Ñ ÑеÑапÑ. ÐодÑвеÑка ÑÑкаÑ, но не ÑлепиÑ. Ðнопки нажимаÑÑÑÑ Ð¾ÑÐµÐ½Ñ Ð»ÐµÐ³ÐºÐ¾, палÑÑÑ Ð½Ðµ ÑÑÑаÑÑ.",product:"VOROTEX SayoDevice S4",productId:"kb-sayodevice-s2s4",stars:5},{id:"r_kmini_1",name:"ÐикиÑа С.",source:"(OZON)",text:"ÐзÑл K02 Ð´Ð»Ñ OSU! â ÑÑо пÑоÑÑо ÑиÑ-код. ÐÑаÑнÑе ÑвиÑÑи ÑеагиÑÑÑÑ Ð¼Ð¾Ð¼ÐµÐ½ÑалÑно, база ÑÑÑойÑиваÑ, не ÑколÑÐ·Ð¸Ñ Ð¿Ñи Ñпаме.",product:"VOROTEX K-Mini Series",productId:"kb-k-mini",stars:5},{id:"r_kmini_2",name:"ÐаÑиÑ",source:"(WB)",text:"K04 Ñ ÐºÑÑÑилкой оÑÐµÐ½Ñ Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð² ÑоÑоÑопе. ÐаÑÑÑоила зÑм на ÑÐ½ÐºÐ¾Ð´ÐµÑ Ð¸ ÑÐ¼ÐµÐ½Ñ Ð¸Ð½ÑÑÑÑменÑов на кнопки. РабоÑа поÑла бÑÑÑÑее.",product:"VOROTEX K-Mini Series",productId:"kb-k-mini",stars:5},{id:"r_kmini_3",name:"ÐмиÑÑий Ð.",source:"(ЯÐ)",text:"ÐÑлиÑнÑй макÑопад. СоÑÑ Ð¿ÑоÑÑой и понÑÑнÑй, Ð±Ð¸Ð½Ð´Ñ ÑоÑ
ÑанÑÑÑÑÑ Ð² памÑÑи ÑÑÑÑойÑÑва. СбоÑка добÑоÑнаÑ.",product:"VOROTEX K-Mini Series",productId:"kb-k-mini",stars:5},{id:"r_kmini_4",name:"ÐлекÑей",source:"(OZON)",text:"ÐÑполÑзÑÑ ÐºÐ°Ðº пÑлÑÑ Ð´Ð»Ñ ÑÑÑима (Ð
2893¿ÐµÑеклÑÑение ÑÑен в OBS). ÐÑглÑÐ´Ð¸Ñ ÑÑилÑно, подÑвеÑка ÑинÑ
ÑонизиÑÑеÑÑÑ Ñ Ð¾ÑÑалÑнÑм ÑеÑапом.",product:"VOROTEX K-Mini Series",productId:"kb-k-mini",stars:5},{id:"r_kmini_5",name:"ÐвгениÑ",source:"(WB)",text:"ÐаленÑкаÑ, аккÑÑаÑÐ½Ð°Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑка. ÐÑÐµÐ½Ñ Ñдобно, ÑÑо можно поменÑÑÑ ÑвиÑÑи, еÑли заÑ
оÑеÑÑÑ.",product:"VOROTEX K-Mini Series",productId:"kb-k-mini",stars:5},{id:"r_k13_1",name:"ÐладиÑлав Ð .",source:"(WB)",text:"ÐжойÑÑик â ÑÑо киллеÑ-ÑиÑа! ÐаÑÑÑоил на него ÑкÑолл и зÑм в пÑемÑеÑе, монÑаж ÑÑкоÑилÑÑ Ð² ÑазÑ. ÐолеÑо меÑаллиÑеÑкое, пÑиÑÑное на оÑÑпÑ.",product:"VOROTEX K13",productId:"kb-k13",stars:5},{id:"r_k13_2",name:"ÐиÑ
аил",source:"(OZON)",text:"ÐÑал ÑиÑÑо Ð´Ð»Ñ Ð¼Ð°ÐºÑоÑов под ÑÑÑим. 12 кнопок Ñ
ваÑÐ°ÐµÑ Ñ Ð³Ð¾Ð»Ð¾Ð²Ð¾Ð¹, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑеклÑÑаÑÑ ÑÑÐµÐ½Ñ Ð¸ мÑÑиÑÑ Ð·Ð²Ñк. СбоÑка кÑепкаÑ, ÑÑÐ¾Ð¸Ñ ÑвеÑенно.",product:"VOROTEX K13",productId:"kb-k13",stars:5},{id:"r_k13_3",name:"ÐндÑей Ð.",source:"(ЯÐ)",text:"СвиÑÑи Kailh Purple ÑакÑилÑно оÑÐµÐ½Ñ Ð¿ÑиÑÑнÑе. ХоÑÑвап ÑабоÑаеÑ, поменÑл паÑÑ ÑвиÑÑей на кликаÑÑие Ñади инÑеÑеÑа. СоÑÑ Ð¿Ð¾Ð½ÑÑнÑй.",product:"VOROTEX K13",productId:"kb-k13",stars:5},{id:"r_k13_4",name:"Ðвгений",source:"(WB)",text:"ÐдеалÑнÑй макÑопад за Ñвои денÑги. ÐодÑвеÑка ÑÑкаÑ, Ñежимов много. ÐжойÑÑик можно иÑполÑзоваÑÑ ÐºÐ°Ðº ÑÑÑелоÑки в игÑаÑ
.",product:"VOROTEX K13",productId:"kb-k13",stars:5},{id:"r_k13_5",name:"ÐлекÑей",source:"(OZON)",text:"ÐомпакÑнаÑ, на ÑÑоле ÑÑÐ¾Ð¸Ñ ÑвеÑенно. ÐÐ°Ð±ÐµÐ»Ñ Ñайп-Ñи ÑÑемнÑй, ÑÑо Ñдобно. ÐÐ»Ñ ÑабоÑÑ Ñ Ð³ÑаÑикой пÑоÑÑо маÑÑ-Ñ
Ñв.",product:"VOROTEX K13",productId:"kb-k13",stars:5},{id:"r_k15pro_1",name:"ÐлÑÑ Ð.",source:"(OZON)",text:"ÐеÑпÑоводной макÑопад â ÑÑо Ñвобода. ÐодклÑÑил по 2.4G, задеÑжек Ð½ÐµÑ Ð²Ð¾Ð¾Ð±Ñе. ÐаÑаÑÐµÑ Ð´ÐµÑÐ¶Ð¸Ñ Ð´Ð¾Ð»Ð³Ð¾, заÑÑÐ¶Ð°Ñ Ñаз в паÑÑ Ð½ÐµÐ´ÐµÐ»Ñ.",product:"VOROTEX K15 PRO",productId:"kb-k15-pro",stars:5},{id:"r_k15pro_2",name:"СеÑгей",source:"(WB)",text:"15 кнопок + джойÑÑик = полноÑеннÑй пÑлÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾ÑмолеÑом. ÐаÑÑÑоил ÑоÑÑкаÑÑ Ð´Ð»Ñ Ð±Ð»ÐµÐ½Ð´ÐµÑа, ÑепеÑÑ Ð»ÐµÐ²Ð°Ñ ÑÑка не Ð±ÐµÐ³Ð°ÐµÑ Ð¿Ð¾ вÑей клавиаÑÑÑе.",product:"VOROTEX K15 PRO",productId:"kb-k15-pro",stars:5},{id:"r_k15pro_3",name:"ÐмиÑÑий",source:"(ЯÐ)",text:"ÐаÑеÑÑво плаÑÑика оÑлиÑное, ниÑего не лÑÑÑиÑ. ÐжойÑÑик аналоговÑй, ÑабоÑÐ°ÐµÑ ÑеÑко. ÐÑÐµÐ½Ñ Ð´Ð¾Ð²Ð¾Ð»ÐµÐ½ покÑпкой.",product:"VOROTEX K15 PRO",productId:"kb-k15-pro",stars:5},{id:"r_k15pro_4",name:"ÐаÑиÑ",source:"(OZON)",text:"ÐодклÑÑаеÑÑÑ Ðº Ð°Ð¹Ð¿Ð°Ð´Ñ Ð¿Ð¾ блÑÑÑз без пÑоблем. ÐÑполÑзÑÑ Ð´Ð»Ñ ÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² Procreate как пÑлÑÑ. ÐÑÐµÐ½Ñ Ñдобно!",product:"VOROTEX K15 PRO",productId:"kb-k15-pro",stars:5},{id:"r_k15pro_5",name:"ÐикÑоÑ",source:"(WB)",text:"ТоповÑй девайÑ. ХоÑÑвап еÑÑÑ, подÑвеÑка еÑÑÑ, беÑпÑовод еÑÑÑ. Ðа ÑÑÐ¾Ñ Ð¿ÑÐ°Ð¹Ñ ÐºÐ¾Ð½ÐºÑÑенÑов пÑоÑÑо неÑ.",product:"VOROTEX K15 PRO",productId:"kb-k15-pro",stars:5},{id:"r_k12w_1",name:"Ðнна С.",source:"(WB)",text:"Ðве кÑÑÑилки â ÑÑо гениалÑно. Ðа Ð¾Ð´Ð½Ñ Ð¿Ð¾Ð²ÐµÑила гÑомкоÑÑÑ, на дÑÑгÑÑ Ð·Ñм. РабоÑÐ°ÐµÑ Ð¿Ð¾ ÑÐ°Ð´Ð¸Ð¾ÐºÐ°Ð½Ð°Ð»Ñ ÑÑабилÑно.",product:"VOROTEX K12W",productId:"kb-k12w",stars:5},{id:"r_k12w_2",name:"Ðавел",source:"(OZON)",text:"Ð¦Ð²ÐµÑ Mint вÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ Ñвежо и Ð
2893½ÐµÐ¾Ð±ÑÑно. Сама клавиаÑÑÑка маленÑкаÑ, аккÑÑаÑнаÑ. Ðнопки нажимаÑÑÑÑ Ð¿ÑиÑÑно.",product:"VOROTEX K12W",productId:"kb-k12w",stars:5},{id:"r_k12w_3",name:"ÐонÑÑанÑин",source:"(ЯÐ)",text:"ÐÑполÑзÑÑ Ð´Ð»Ñ ÑоÑоÑопа. ÐаÑÑÑоил макÑоÑÑ Ð½Ð° Ñлои и киÑÑи. РеалÑно ÑÑкоÑÑÐµÑ ÑабоÑÑ. ÐеÑпÑоводной Ñежим â огÑомнÑй плÑÑ.",product:"VOROTEX K12W",productId:"kb-k12w",stars:5},{id:"r_k12w_4",name:"Ðлег",source:"(OZON)",text:"СвиÑÑи ÑмазанÑ, Ñайпинг ÑиÑ
ий. ÐÑÑÑилки имеÑÑ Ð¿ÑиÑÑнÑе оÑÑеÑки. СоÑÑ ÑкаÑал Ñ ÑайÑа, наÑÑÑоил за 5 минÑÑ.",product:"VOROTEX K12W",productId:"kb-k12w",stars:5},{id:"r_k12w_5",name:"Ðлена",source:"(WB)",text:"ÐÑлиÑнÑй помоÑник Ð´Ð»Ñ Ð½Ð¾ÑÑбÑка. ÐинÑла в ÑÑкзак и поÑла. ÐеÑÑа не занимаеÑ, а полÑÐ·Ñ Ð²Ð°Ð³Ð¾Ð½.",product:"VOROTEX K12W",productId:"kb-k12w",stars:5},{id:"r_k12_1",name:"ÐÑÑем",source:"(ЯÐ)",text:"ÐзÑл пÑоводнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð´Ð»Ñ ÑÑаÑионаÑного ÐÐ. ÐеÑевле беÑпÑоводной, а ÑÑнкÑионал ÑÐ¾Ñ Ð¶Ðµ. ÐÑÑÑилки ÑабоÑаÑÑ ÐºÐ°Ðº надо.",product:"VOROTEX K12",productId:"kb-k12",stars:5},{id:"r_k12_2",name:"СеÑгей Ð.",source:"(OZON)",text:"СбоÑка Ñ
оÑоÑаÑ, плаÑÑик не вонÑеÑ. ÐодÑвеÑка RGB наÑÑÑаиваеÑÑÑ. ÐÐ»Ñ OSU маловаÑо кнопок, а Ð²Ð¾Ñ Ð´Ð»Ñ ÑабоÑÑ Ñ Ð²Ð¸Ð´ÐµÐ¾ â идеалÑно.",product:"VOROTEX K12",productId:"kb-k12",stars:5},{id:"r_k12_3",name:"ÐакÑим",source:"(WB)",text:"ÐÑовод длиннÑй, Ñайп-Ñи. СвиÑÑи можно менÑÑÑ, но ÑÑоковÑе вполне годнÑе. Ðа ÑÑÑ ÑÐµÐ½Ñ â подаÑок.",product:"VOROTEX K12",productId:"kb-k12",stars:5},{id:"r_k12_4",name:"ÐладиÑлав",source:"(OZON)",text:"Удобно, ÑÑо 2 ÑнкодеÑа. РанÑÑе полÑзовалÑÑ Ð¾Ð´Ð½Ð¾Ð¹ кÑÑÑилкой на оÑновной клаве, ÑепеÑÑ Ð¸Ñ
ÑÑи â полнÑй конÑÑÐ¾Ð»Ñ Ð½Ð°Ð´ звÑком и медиа.",product:"VOROTEX K12",productId:"kb-k12",stars:5},{id:"r_k12_5",name:"ÐениÑ",source:"(WB)",text:"ÐÑоÑÑÐ°Ñ Ð¸ Ð½Ð°Ð´ÐµÐ¶Ð½Ð°Ñ Ð²ÐµÑÑ. ÐакÑоÑÑ Ð¿Ð¸ÑÑÑÑÑ Ð»ÐµÐ³ÐºÐ¾, памÑÑÑ Ð²ÑÑÑоеннаÑ, наÑÑÑойки не ÑлеÑаÑÑ Ð¿Ñи подклÑÑении к дÑÑÐ³Ð¾Ð¼Ñ ÐºÐ¾Ð¼Ð¿Ñ.",product:"VOROTEX K12",productId:"kb-k12",stars:5},{id:"r_k08_1",name:"ÐикиÑа",source:"(OZON)",text:"Ðва поÑÑа USB â ÑÑо ÑÑÐ¿ÐµÑ Ð¸Ð´ÐµÑ! ÐодклÑÑил ÐºÐ°Ð±ÐµÐ»Ñ ÑбокÑ, ÑÑÐ¾Ð±Ñ Ð½Ðµ меÑал мониÑоÑÑ. Сама клава кÑоÑеÑнаÑ.",product:"VOROTEX K08",productId:"kb-k08",stars:5},{id:"r_k08_2",name:"ÐгоÑÑ",source:"(WB)",text:"8 кнопок как Ñаз Ñ
ваÑÐ°ÐµÑ Ð´Ð»Ñ ÑамÑÑ
ÑаÑÑÑÑ
макÑоÑов. ÐÑполÑзÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¿Ð°ÑÑа и ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð»ÐµÐµÑом. ХоÑÑвап ÑабоÑий.",product:"VOROTEX K08",productId:"kb-k08",stars:5},{id:"r_k08_3",name:"ÐлекÑей",source:"(ЯÐ)",text:"СамÑй бÑджеÑнÑй вÑ
од в Ð¼Ð¸Ñ Ð¼Ð°ÐºÑопадов. СвиÑÑи кÑаÑнÑе, ÑиÑ
ие. ÐодÑвеÑка еÑÑÑ. ЧÑо еÑе нÑжно?",product:"VOROTEX K08",productId:"kb-k08",stars:5},{id:"r_k08_4",name:"Роман",source:"(OZON)",text:"ÐаленÑкаÑ, легкаÑ, ÑдобнаÑ. СобÑана кÑепко. ÐÐ°Ð±ÐµÐ»Ñ Ð´ÐµÑжиÑÑÑ Ð¿Ð»Ð¾Ñно в обоиÑ
ÑазÑемаÑ
. РекомендÑÑ.",product:"VOROTEX K08",productId:"kb-k08",stars:5},{id:"r_k08_5",name:"ÐндÑей",source:"(WB)",text:"ÐзÑл ÑиÑÑо ÑÑÐ¾Ð±Ñ Ð±Ð¸Ð½Ð´Ð¸ÑÑ Ð³ÑанаÑÑ Ð² CS2. ÐеÑÑа не занимаеÑ, нажимаÑÑ Ñдобно. РеакÑÐ¸Ñ Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð°Ñ.",product:"VOROTEX K08",productId:"kb-k08",stars:5}],zp=[{id:"f1",name:"ÐлекÑей ÐиÑонов",source:"(OZON)",text:"ÐзÑл полнÑй ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð¿ÐµÑиÑеÑии Ð¾Ñ ÑÑого бÑенда. V1 - ÑÑо пÑоÑÑо пÑÑинка! 54 гÑамма в ÑÑке не ÑÑвÑÑвÑÑÑÑÑ. Ðеб-ÑоÑÑ - лÑÑÑее ÑеÑение, не надо ниÑего каÑаÑÑ.",product:"VOROTEX V1",productId:"ms-v1-wireless",stars:5},{id:"f4",name:"ÐÑина Ðовалева",source:"(OZON)",text:"ÐÑÐµÐ½Ñ Ð»ÐµÐ³ÐºÐ°Ñ Ð¼ÑÑÑ, ÑÑка не ÑÑÑÐ°ÐµÑ Ð´Ð°Ð¶Ðµ поÑле 8 ÑаÑов ÑабоÑÑ. СенÑÐ¾Ñ PAW-3311 ÑабоÑÐ°ÐµÑ ÑеÑко, кÑÑÑÐ¾Ñ Ð½Ðµ ÑÑÑваеÑ. ÐелÑй ÑÐ²ÐµÑ ÑикаÑен.",product:"VOROTEX V1",productId:"ms-v1-wireless",stars:5},{id:"ms_rev_1",name:"ÐÐ³Ð¾Ñ Ð.",source:"(WB)",text:"Ðа 2390 ÑÑблей лÑÑÑе не найÑи. ÐÑипÑÑ Ð² комплекÑе оÑÐµÐ½Ñ Ñепкие. ÐаÑÑÑоил DPI и макÑоÑÑ ÑеÑез бÑаÑÐ·ÐµÑ Ð·Ð° минÑÑÑ. ÐодÑвеÑка минималиÑÑиÑнаÑ, не оÑвлекаеÑ.",product:"VOROTEX V1",productId:"ms-v1-wireless",stars:5},{id:"ms_rev_2",name:"Ðаниил",source:"(ЯÐ)",text:"ÐеÑеÑел Ñ ÑÑжелой пÑоводной мÑÑи. РазниÑа колоÑÑалÑнаÑ. 3 Ñежима подклÑÑÐµÐ½Ð¸Ñ - ÑÑо Ñоп, иÑполÑзÑÑ 2.4G Ð´Ð»Ñ Ð¿Ðº и блÑÑÑз Ð´Ð»Ñ Ð½Ð¾ÑÑа.",product:"VOROTEX V1",productId:"ms-v1-wireless",stars:5},{id:"ms_rev_3",name:"ÐакÑим",source:"(OZON)",text:"Ðлик ÑеÑкий, Huano ÑвиÑÑи не подводÑÑ. ÐолеÑо пÑокÑÑÑки ÑиÑ
ое. ФоÑма оÑÐµÐ½Ñ ÑÐ´Ð¾Ð±Ð½Ð°Ñ Ð¿Ð¾Ð´ ÑÑеднÑÑ ÑÑкÑ. РекомендÑÑ!",product:"VOROTEX V1",productId:"ms-v1-wireless",stars:5}
2893,{id:"rev_g7r_1",name:"ÐиÑалий С.",source:"(OZON)",text:"Ðизайн пÑоÑÑо коÑмоÑ, вÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÑÑÑÑÑиÑÑиÑно. Ð ÑÑке Ð»ÐµÐ¶Ð¸Ñ Ñдобно, не ÑколÑзиÑ. СенÑÐ¾Ñ Ð½Ðµ ÑÑÑÐ²Ð°ÐµÑ Ð´Ð°Ð¶Ðµ пÑи ÑезкиÑ
движениÑÑ
. ÐакÑоÑÑ Ð½Ð°ÑÑÑоил бÑÑÑÑо.",product:"VOROTEX G7R",productId:"ms-g7r",stars:5},{id:"rev_g7r_2",name:"ÐндÑей",source:"(WB)",text:"Ðа Ñвои денÑги оÑлиÑÐ½Ð°Ñ Ð±ÐµÑпÑÐ¾Ð²Ð¾Ð´Ð½Ð°Ñ Ð¼ÑÑÑ. ÐелÑÑй ÑÐ²ÐµÑ Ð¾ÑÐµÐ½Ñ ÑÑкий, вÑделÑеÑÑÑ Ð½Ð° ÑÑоле. ÐккÑмÑлÑÑоÑа Ñ
ваÑÐ°ÐµÑ Ð½Ð°Ð´Ð¾Ð»Ð³Ð¾.",product:"VOROTEX G7R",productId:"ms-g7r",stars:5},{id:"rev_g7r_3",name:"ÐаÑина Ð.",source:"(ЯÐ)",text:"ÐÑала ÑÑнÑ, он в воÑÑоÑге Ð¾Ñ Ð¿Ð¾Ð´ÑвеÑки и ÑоÑмÑ. ÐовоÑиÑ, в игÑаÑ
ÑÑала лÑÑÑе ÑоÑноÑÑÑ. ÐлаÑÑик пÑиÑÑнÑй на оÑÑпÑ.",product:"VOROTEX G7R",productId:"ms-g7r",stars:5},{id:"rev_dia_1",name:"ÐиÑилл",source:"(WB)",text:"ÐÑозÑаÑнÑй коÑпÑÑ - ÑÑо ÑÑо-Ñо! ÐеÑеÑом Ñ Ð¿Ð¾Ð´ÑвеÑкой вÑглÑÐ´Ð¸Ñ Ð½ÐµÑеалÑно кÑаÑиво. Ðо ÑеÑ
нике Ñоже вÑе ок, ÑенÑÐ¾Ñ Ð°Ð´ÐµÐºÐ²Ð°ÑнÑй, клики ÑеÑкие.",product:"VOROTEX DIAMOND",productId:"ms-diamond",stars:5},{id:"rev_dia_2",name:"Ðлена Ð.",source:"(OZON)",text:"ÐÑÐµÐ½Ñ ÑÑилÑÐ½Ð°Ñ Ð¼ÑÑÑ. ÐегкаÑ, Ñдобно Ð»ÐµÐ¶Ð¸Ñ Ð² маленÑкой ÑÑке. ÐодÑвеÑка наÑÑÑаиваеÑÑÑ, можно вÑбÑаÑÑ Ð»ÑбимÑй ÑвеÑ.",product:"VOROTEX DIAMOND",productId:"ms-diamond",stars:5},{id:"rev_dia_3",name:"ÐакÑ",source:"(ЯÐ)",text:"Ðа ÑакÑÑ ÑÐµÐ½Ñ - подаÑок. ÐÑглÑÐ´Ð¸Ñ Ð² 3 Ñаза доÑоже. ÐгÑÐ°Ñ Ð² ÐоÑÑ, кнопок Ñ
ваÑаеÑ, ÑенÑÐ¾Ñ Ð½Ðµ подводиÑ. РекомендÑÑ!",product:"VOROTEX DIAMOND",productId:"ms-diamond",stars:5},{id:"rev_g6_1",name:"ÐгоÑÑ Ð¢.",source:"(OZON)",text:"Ðного кнопок - ÑÑо ÐºÐ°Ð¹Ñ Ð´Ð»Ñ MMO. ÐазнаÑил вÑе ÑкиллÑ, игÑаÑÑ ÑÑало намного Ñдобнее. Ð ÑÑке Ð»ÐµÐ¶Ð¸Ñ Ð¿Ð»Ð¾Ñно, еÑÑÑ ÑÐ¿Ð¾Ñ Ð¿Ð¾Ð´ палеÑ.",product:"VOROTEX G6",productId:"ms-g6",stars:5},{id:"rev_g6_2",name:"СеÑгей",source:"(WB)",text:"ТиÑ
ие клики ÑеалÑно ÑабоÑаÑÑ, жена болÑÑе не ÑÑгаеÑÑÑ Ð½Ð¾ÑÑÑ. Ðизайн агÑеÑÑивнÑй, геймеÑÑкий. СбоÑка каÑеÑÑвеннаÑ.",product:"VOROTEX G6",productId:"ms-g6",stars:5},{id:"rev_g6_3",name:"ÐладимиÑ",source:"(ЯÐ)",text:"ТÑжеленÑкаÑ, ÑвеÑенно ÑÑвÑÑвÑеÑÑÑ Ð² ÑÑке. СоÑÑ Ð¿Ð¾Ð½ÑÑнÑй, макÑоÑÑ Ð¿Ð¸ÑÑÑÑÑ Ð»ÐµÐ³ÐºÐ¾. Ðа Ñвои денÑги Ñоп ваÑÐ¸Ð°Ð½Ñ Ð´Ð»Ñ RPG.",product:"VOROTEX G6",productId:"ms-g6",stars:5},{id:"rev_g8w_1",name:"ÐениÑ",source:"(WB)",text:"ÐаÑÐ±Ð¾Ð½Ð¾Ð²Ð°Ñ ÑекÑÑÑÑа пÑиÑÑнаÑ, ÑÑка не поÑееÑ. Ðлики дейÑÑвиÑелÑно оÑÐµÐ½Ñ ÑиÑ
ие, непÑивÑÑно ÑнаÑала, но поÑом кайÑÑеÑÑ. ÐеÑпÑовод ÑабоÑÐ°ÐµÑ ÑÑабилÑно.",product:"VOROTEX G8W",productId:"ms-g8w",stars:5},{id:"rev_g8w_2",name:"Ðнна",source:"(OZON)",text:"ÐÑала Ð´Ð»Ñ ÑабоÑÑ Ð¸ игÑ. ÐÑÐµÐ½Ñ Ñдобно, ÑÑо Ð½ÐµÑ Ð¿Ñоводов. ÐаÑÑда Ñ
ваÑÐ°ÐµÑ Ð½Ð° неÑколÑко дней акÑивного иÑполÑзованиÑ. ФоÑма ÑдобнаÑ.",product:"VOROTEX G8W",productId:"ms-g8w",stars:5},{id:"rev_g8w_3",name:"Ðавел Ð .",source:"(ЯÐ)",text:"ÐÑлиÑÐ½Ð°Ñ Ð¼ÑÑÑ. СенÑÐ¾Ñ ÑоÑнÑй, кÑÑÑÐ¾Ñ Ð½Ðµ дÑожиÑ. ÐнеÑний вид ÑÑÑогий и ÑÑилÑнÑй. СооÑноÑение Ñена/каÑеÑÑво на вÑÑоÑе.",product:"VOROTEX G8W",productId:"ms-g8w",stars:5},{id:"rev_m6_1",name:"ÐмиÑÑий Ð.",source:"(OZON)",text:"ÐÑÐµÐ½Ñ ÑÐ´Ð¾Ð±Ð½Ð°Ñ ÑоÑма, ÑÑка ложиÑÑÑ Ð¸Ð´ÐµÐ°Ð»Ñно. СоÑÑ Ð½Ðµ меÑаÑÑ, наобоÑÐ¾Ñ ÑÑка менÑÑе поÑееÑ. СенÑÐ¾Ñ Ð½Ðµ ÑÑÑваеÑ, за ÑакÑÑ ÑÐµÐ½Ñ Ñоп.",product:"VOROTEX M6",productId:"ms-m6",stars:5},{id:"rev_m6_2",name:"Ðнна",source:"(WB)",text:"ÐÑала белÑÑ Ð²ÐµÑÑиÑ, вÑглÑÐ´Ð¸Ñ Ð¾ÑÐµÐ½Ñ ÑÑилÑно. ÐодÑвеÑка ÑÑкаÑ, кÑаÑиваÑ. ÐÑовод мÑгкий, не меÑÐ°ÐµÑ Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñм.",product:"VOROTEX M6",productId:"ms-m6",stars:5},{id:"rev_m6_3",name:"ÐгоÑÑ",source:"(ЯÐ)",text:"ХоÑоÑÐ°Ñ Ð±ÑджеÑÐ½Ð°Ñ Ð¼ÑÑÑ. ÐакÑоÑÑ Ð½Ð°ÑÑÑаиваÑÑÑÑ Ð»ÐµÐ³ÐºÐ¾, ÑоÑÑ Ð¿Ð¾Ð½ÑÑнÑй. Ðлики ÑеÑкие, колеÑико не лÑÑÑиÑ.",product:"VOROTEX M6",productId:"ms-m6",stars:5},{id:"rev_m3_1",name:"СеÑгей Ð.",source:"(WB)",text:"СменнÑе панели - ÑÑо пÑиколÑÐ½Ð°Ñ ÑиÑка. ÐоÑÑавил ÑплоÑнÑÑ, надоела - поÑÑавил Ñ Ð´ÑÑками. Ðа Ñвои денÑги оÑлиÑнÑй ваÑианÑ.",product:"VOROTEX M3",productId:"ms-m3",stars:5},{id:"rev_m3_2",name:"ÐакÑим",source:"(OZON)",text:"ÐегкаÑ, ÑдобнаÑ. СенÑÐ¾Ñ Ð´Ð»Ñ ÐС ÐРвполне подÑ
одиÑ, еÑли не кибеÑÑпоÑÑÑмен. ÐодÑвеÑка Ð¸Ð¼ÐµÐµÑ ÐºÑÑÑ Ñежимов.",product:"VOROTEX M3",productId:"ms-m3",stars:5},{id:"rev_m3_3",name:"Ðлена",source:"(ЯÐ)",text:"СÑн доволен. ÐовоÑÐ¸Ñ ÑдобнаÑ, кÑаÑиваÑ. РкомплекÑе запаÑнÑе кÑÑÑки, ÑÑо пÑиÑÑно Ñдивило.",product:"VOROTEX M3",productId:"ms-m3",stars:5}],Gw=[{id:"hs_r1",name:"ÐÑÑем Ð.",source:"(OZON)",text:"ÐвÑк 7.1 ÑеалÑно ÑеÑÐ°ÐµÑ Ð² ÐС! СлÑÑно ÑаÐ
2893³Ð¸ за киломеÑÑ. ÐикÑоÑон ÑиÑÑÑй, ÑиммейÑÑ Ð½Ðµ жалÑÑÑÑÑ. Ðа ÑÑи денÑги Ñоп.",product:"VOROTEX V2002 Plus",productId:"hs-v2002-plus",stars:5},{id:"hs_r2",name:"ÐаÑина",source:"(WB)",text:"ÐÑÐµÐ½Ñ ÑдобнÑе, на голове не давÑÑ. ÐмбÑÑÑÑÑ Ð¼Ñгкие, ÑÑи не поÑеÑÑ. ÐодÑвеÑка кÑаÑиваÑ, но главное - звÑк. ÐаÑÑ Ð³Ð»Ñбокие.",product:"VOROTEX V2002 Plus",productId:"hs-v2002-plus",stars:5},{id:"hs_r3",name:"ÐиÑилл",source:"(ЯÐ)",text:"ÐÑлÑÑ Ð½Ð° пÑоводе - ÑÑо Ñдобно. Ðожно вÑклÑÑиÑÑ Ð¼Ð¸ÐºÑоÑон кнопкой, еÑÑÑ Ð¸Ð½Ð´Ð¸ÐºÐ°ÑиÑ. СбоÑка каÑеÑÑвеннаÑ, плаÑÑик не ÑкÑипиÑ.",product:"VOROTEX V2002 Plus",productId:"hs-v2002-plus",stars:5},{id:"hs_r4",name:"ÐÐµÐ½Ð¸Ñ Ð.",source:"(OZON)",text:"СоÑÑ Ð¿ÑоÑÑой, наÑÑÑоил ÑÐºÐ²Ð°Ð»Ð°Ð¹Ð·ÐµÑ Ð¿Ð¾Ð´ мÑзÑкÑ. Ð ÑилÑмаÑ
звÑк как в киноÑеаÑÑе благодаÑÑ 7.1. РекомендÑÑ.",product:"VOROTEX V2002 Plus",productId:"hs-v2002-plus",stars:5},{id:"hs_r5",name:"Ðвгений",source:"(WB)",text:"СÑемнÑй микÑоÑон - ÑÑо плÑÑ, когда пÑоÑÑо ÑлÑÑÐ°Ñ Ð¼ÑзÑкÑ, ÑбиÑÐ°Ñ ÐµÐ³Ð¾. ÐвÑк ÑиÑÑÑй, гÑомкоÑÑи Ñ Ð·Ð°Ð¿Ð°Ñом.",product:"VOROTEX V2002 Plus",productId:"hs-v2002-plus",stars:5},{id:"hs_d1",name:"ÐгоÑÑ Ð.",source:"(OZON)",text:"ÐзÑл V2002D-W белÑе. ÐÑглÑдÑÑ ÑикаÑно, кÑаÑнÑй пÑовод добавлÑÐµÑ ÑÑилÑ. ÐвÑк за Ñвои денÑги оÑлиÑнÑй, баÑÑ ÐµÑÑÑ.",product:"VOROTEX V2002D-W",productId:"hs-v2002d",stars:5},{id:"hs_d2",name:"ÐлÑга",source:"(WB)",text:"ÐÑÐµÐ½Ñ Ð»ÐµÐ³ÐºÐ¸Ðµ, на голове поÑÑи не ÑÑвÑÑвÑÑÑÑÑ. ÐикÑоÑон ноÑмалÑнÑй Ð´Ð»Ñ Ð´Ð¸ÑкоÑда. ÐодклÑÑÐ°Ñ Ð¸ к компÑ, и к плойке.",product:"VOROTEX V2002D",productId:"hs-v2002d",stars:5},{id:"hs_d3",name:"ÐакÑим",source:"(ЯÐ)",text:"ÐлаÑÑиÑеÑкий дизайн, ниÑего лиÑнего. ÐмбÑÑÑÑÑ Ð¼Ñгкие, ÑÑи не болÑÑ Ð¿Ð¾Ñле 5 ÑаÑов игÑÑ. СбоÑка кÑепкаÑ.",product:"VOROTEX V2002D",productId:"hs-v2002d",stars:5},{id:"hs_2008_1",name:"СÑаниÑлав",source:"(OZON)",text:"Ðизайн V2008D пÑоÑÑо ÑÑпеÑ, бÑонзовÑе вÑÑавки вÑглÑдÑÑ Ð¾ÑÐµÐ½Ñ Ð±Ð¾Ð³Ð°Ñо. ÐвÑк на вÑÑоÑе, в игÑаÑ
позиÑиониÑование оÑлиÑное.",product:"VOROTEX V2008D",productId:"hs-v2008d",stars:5},{id:"hs_2008_2",name:"Ðлина Ð.",source:"(WB)",text:"ÐзÑла белÑÑ Ð²ÐµÑÑÐ¸Ñ V2008D-W. ÐÑÐµÐ½Ñ ÐºÑаÑиваÑ, легкаÑ. ÐикÑоÑон оÑÑÑегиваеÑÑÑ, можно ноÑиÑÑ ÐºÐ°Ðº обÑÑнÑе наÑÑники. ÐвÑк ÑиÑÑÑй.",product:"VOROTEX V2008D-W",productId:"hs-v2008d",stars:5},{id:"hs_2008_3",name:"Ðлеб",source:"(ЯÐ)",text:"Удобно ÑидÑÑ, не давÑÑ. ÐвÑк ÑбаланÑиÑованнÑй, баÑÑ Ð½Ðµ гÑдÑÑ. ÐÑлÑÑ Ð½Ð° пÑоводе ÑдобнÑй. Ðа ÑакÑÑ ÑÐµÐ½Ñ - наÑ
одка.",product:"VOROTEX V2008D",productId:"hs-v2008d",stars:5}],$w=[{id:"r_v75case_1",name:"ÐгоÑÑ Ð.",source:"(OZON)",text:"ÐÐµÐ¹Ñ Ð¾ÑлиÑнÑй, жеÑÑкий. ÐлавиаÑÑÑа K870 Ð²Ð»ÐµÐ·Ð°ÐµÑ Ð¸Ð´ÐµÐ°Ð»Ñно. ÐаÑман ÑдобнÑй Ð´Ð»Ñ ÐºÐ°Ð±ÐµÐ»Ñ, ниÑего не болÑаеÑÑÑ.",product:"VOROTEX V75 Case",productId:"acc-case-v75",stars:5},{id:"r_v75case_2",name:"Ðнна Ð.",source:"(WB)",text:"ÐÑала Ð´Ð»Ñ Ð¿ÐµÑеноÑки, оÑÐµÐ½Ñ Ð½Ð°Ð´ÐµÐ¶Ð½Ñй. ÐнÑÑÑи мÑÐ³ÐºÐ°Ñ Ð¾Ð±Ð¸Ð²ÐºÐ°, клавиаÑÑÑа не ÑаÑапаеÑÑÑ. ÐÐ¾Ð»Ð½Ð¸Ñ ÐºÐ°ÑеÑÑвеннаÑ.",product:"VOROTEX V75 Case",productId:"acc-case-v75",stars:5},{id:"r_v75case_3",name:"ÐмиÑÑий Ð.",source:"(ЯÐ)",text:"ÐзÑл Ð´Ð»Ñ Ñвоей меÑ
аниÑеÑкой 75% клавиаÑÑÑÑ. Село как влиÑое. ÐаÑеÑиал оÑÐµÐ½Ñ Ð¿Ð»Ð¾ÑнÑй, ÑÑвÑÑвÑеÑÑÑ, ÑÑо заÑиÑÐ¸Ñ Ð¿Ñи падении. ÐнÑÑÑи еÑÑÑ ÑазделиÑÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ñовода, ÑÑо оÑÐµÐ½Ñ Ñдобно.",product:"VOROTEX V75 Case",productId:"acc-case-v75",stars:5}
2893,{id:"r_v75case_4",name:"Ðлег С.",source:"(OZON)",text:"ÐаÑеÑÑво маÑеÑиалов на вÑÑоÑе. ÐÐ¾Ð»Ð½Ð¸Ñ Ð½Ðµ заедаеÑ, ÑÑÑка ÑдобнаÑ. ÐÑполÑзÑÑ Ð´Ð»Ñ Ð¿ÐµÑеноÑки в ÑÑкзаке, ÑепеÑÑ Ñпокоен за ÑоÑ
ÑанноÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ.",product:"VOROTEX V75 Case",productId:"acc-case-v75",stars:5},{id:"r_v75case_5",name:"ÐкаÑеÑина",source:"(WB)",text:"СÑилÑнÑй и минималиÑÑиÑнÑй ÑеÑ
ол. ÐнÑÑÑи оÑÐµÐ½Ñ Ð¼Ñгкий, даже жалко клавиаÑÑÑÑ ÑÑда клаÑÑÑ)) СеÑка Ð´Ð»Ñ Ð°ÐºÑеÑÑÑаÑов вмеÑÑиÑелÑнаÑ, помеÑÑилÑÑ Ð´Ð°Ð¶Ðµ пÑÐ»Ð»ÐµÑ Ð¸ запаÑнÑе ÑвиÑÑи.",product:"VOROTEX V75 Case",productId:"acc-case-v75",stars:5},{id:"r_gx16_1",name:"ÐакÑим",source:"(ЯÐ)",text:"ÐÐ°Ð±ÐµÐ»Ñ ÐºÐ°ÑеÑÑвеннÑй, койл плоÑнÑй, не ÑаÑÑÑгиваеÑÑÑ Ñо вÑеменем. ÐвиаÑÐ¾Ñ ÑÑжелÑй, меÑаллиÑеÑкий, вÑглÑÐ´Ð¸Ñ Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾.",product:"VOROTEX GX16 Cable",productId:"acc-cable-gx16",stars:5},{id:"r_gx16_2",name:"Ðлена С.",source:"(OZON)",text:"ФиолеÑовÑй ÑÐ²ÐµÑ Ð¾ÑÐµÐ½Ñ ÐºÑаÑивÑй, в живÑÑ Ð´Ð°Ð¶Ðµ лÑÑÑе. ÐодклÑÑила к Ñвоей белой клавиаÑÑÑе, ÑмоÑÑиÑÑÑ ÑÑпеÑ. ÐÐ»Ð¸Ð½Ñ Ñ
ваÑаеÑ.",product:"VOROTEX GX16 Cable",productId:"acc-cable-gx16",stars:5},{id:"r_gx16_3",name:"ÐмиÑÑий",source:"(WB)",text:"ÐÐ²Ð¾Ð¹Ð½Ð°Ñ Ð¾Ð¿Ð»ÐµÑка внÑÑÐ°ÐµÑ Ð´Ð¾Ð²ÐµÑие. ÐоннекÑоÑÑ ÑидÑÑ Ð¿Ð»Ð¾Ñно, не лÑÑÑÑÑ. Топ за Ñвои денÑги.",product:"VOROTEX GX16 Cable",productId:"acc-cable-gx16",stars:5},{id:"r_sw_1",name:"ÐмиÑÑий Ð.",source:"(WB)",text:"Panda ÑвиÑÑи пÑоÑÑо Ñоп за Ñвои денÑги. ТиÑ
ие, ÑÐ¼Ð°Ð·Ð°Ð½Ñ Ñ
оÑоÑо Ñ Ð·Ð°Ð²Ð¾Ð´Ð°. ÐÑÑÑа ÑÑема пÑакÑиÑеÑки неÑ.",product:"Switch Pack",productId:"acc-switches",stars:5},{id:"r_sw_2",name:"СеÑгей",source:"(OZON)",text:'ÐзÑл Matcha Latte на пÑобÑ. ÐÑÐµÐ½Ñ Ð¿Ð»Ð°Ð²Ð½Ñй Ñ
од, звÑк пÑиÑÑнÑй, глÑÑ
ой "thock". ÐÑÐ´Ñ Ð±ÑаÑÑ ÐµÑе на вÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ.',product:"Switch Pack",productId:"acc-switches",stars:5},{id:"r_sw_3",name:"ÐлекÑей",source:"(ЯÐ)",text:"HMX Citrus оÑÐµÐ½Ñ Ð±ÑÑÑÑÑе, Ð´Ð»Ñ Ð¸Ð³Ñ Ñамое Ñо. Ð£Ð¿Ð°ÐºÐ¾Ð²Ð°Ð½Ñ Ñ
оÑоÑо, ножки не погнÑÑÑ.",product:"Switch Pack",productId:"acc-switches",stars:5},{id:"r_mp_1",name:"ÐлекÑей Ð.",source:"(ЯÐ)",text:"ÐовÑик огÑомнÑй! ÐакÑÑл веÑÑ ÑÑол. ÐÑÑка ÑколÑÐ·Ð¸Ñ Ð¾ÑлиÑно, покÑÑÑие speed/control ÑбаланÑиÑовано. Резиной не вонÑеÑ.",product:"Mousepad XXL",productId:"acc-mousepad-xxl",stars:5},{id:"r_mp_2",name:"ÐаÑиÑ",source:"(WB)",text:"ÐÑÐ¸Ð½Ñ Space Orange оÑÐµÐ½Ñ ÑÑкий и ÑеÑкий, каÑеÑÑво пеÑаÑи на вÑÑоÑе. ÐÑÐ°Ñ Ð¿ÑоÑиÑÑ ÐºÐ°ÑеÑÑвенно, ниÑки не ÑоÑÑаÑ.",product:"Mousepad XXL",productId:"acc-mousepad-xxl",stars:5},{id:"r_mp_3",name:"ÐикÑоÑ",source:"(OZON)",text:"ÐлагозаÑиÑа ÑабоÑаеÑ, пÑолил Ð²Ð¾Ð´Ñ - капли пÑоÑÑо ÑкаÑилиÑÑ. ÐовÑик ÑолÑÑÑй, ÑкÑÑÐ²Ð°ÐµÑ Ð½ÐµÑовноÑÑи ÑÑола.",product:"Mousepad XXL",productId:"acc-mousepad-xxl",stars:5}],Kw=[{id:"r_a6t_1",name:"Ðлад Соколов",source:"(OZON)",text:"ÐикÑоÑон пÑÑка! ÐвÑк ÑиÑÑÑй, без ÑÑмов и ÑÑ
а. ÐанÑогÑÐ°Ñ Ð² комплекÑе оÑÐµÐ½Ñ ÑдобнÑй, деÑÐ¶Ð¸Ñ ÑвеÑенно в лÑбом положении.",product:"VOROTEX A6T",productId:"mic-a6t",stars:5},{id:"r_a6t_2",name:"ÐкаÑеÑина Ð.",source:"(WB)",text:"ÐÐ»Ñ ÑÑÑимов идеалÑнÑй ваÑианÑ. Ðнопка мÑÑа ÑенÑоÑÐ½Ð°Ñ ÑвеÑÑ
Ñ - ÑÑо гениалÑно, не нÑжно иÑкаÑÑ Ð² пÑогÑамме. ÐодÑвеÑка кÑаÑиваÑ.",product:"VOROTEX A6T",productId:"mic-a6t",stars:5},{id:"r_a6t_3",name:"Ðлег",source:"(ЯÐ)",text:"ÐодклÑÑил и забÑл, никакиÑ
дÑайвеÑов не надо. СобеÑедники в диÑкоÑде ÑÑÐ°Ð·Ñ Ð·Ð°Ð¼ÐµÑили ÑазниÑÑ Ð² голоÑе, ÑÑал как Ñ ÑадиоведÑÑего.",product:"VOROTEX A6T",productId:"mic-a6t",stars:5},{id:"r_a6t_4",name:"ÐÑÑем",source:"(OZON)",text:"Ðа Ñвои денÑги ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ñ Ð¿Ð°Ð½ÑогÑаÑом - ÑÑо подаÑок. ÐаÑеÑÑво ÑбоÑки оÑлиÑное, меÑалл и каÑеÑÑвеннÑй плаÑÑик.",product:"VOROTEX A6T",productId:"mic-a6t",stars:5},{id:"r_a6_1",name:"ÐÑÑем Ð.",source:"(OZON)",text:"ÐомпакÑнÑй, ÑÑÐ¾Ð¸Ñ Ð½Ð° ÑÑоле ÑÑÑойÑиво благодаÑÑ ÑÑеноге. ÐвÑк Ñакой же каÑеÑÑвеннÑй как Ñ ÑÑаÑÑей модели. Топ за Ñвои денÑги.",product:"VOROTEX A6",productId:"mic-a6",stars:5},{id:"r_a6_2",name:"СвеÑлана",source:"(WB)",text:"ÐÑала Ð´Ð»Ñ Ñозвонов по ÑабоÑе. ÐÐ¾Ð»Ð¾Ñ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ Ð¾ÑлиÑно, поÑÑоÑонние ÑÑÐ¼Ñ Ð¾ÑÑÐµÐºÐ°ÐµÑ ÐºÐ°Ñдиоида. ÐÑглÑÐ´Ð¸Ñ ÑÑилÑно Ñ Ð¿Ð¾Ð´ÑвеÑкой.",product:"VOROTEX A6",productId:"mic-a6",stars:5},{id:"r_a6_3",name:"ÐениÑ",source:"(ЯÐ)",text:"РегÑлиÑовка ÑÑÐ¸Ð»ÐµÐ½Ð¸Ñ ÑÐ½Ð¸Ð·Ñ Ð¾ÑÐµÐ½Ñ ÐºÑÑаÑи. СенÑоÑÐ½Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ° ÑабоÑÐ°ÐµÑ ÑеÑко. RGB можно оÑклÑÑиÑÑ Ð´Ð¾Ð»Ð³Ð¸Ð¼ нажаÑием.",product:"VOROTEX A6",productId:"mic-a6",stars:5}],Dx=[...Ap,...Dp,...zp,...Gw,...$w,...Kw],nt="â½",Bp=[{id:"admin-main",email:"[email protected]",password:"Vsb198098vsB",name:"ÐлавнÑй ÐдминиÑÑÑаÑоÑ",role:"super_admin",createdAt:new Date().toISOString()}],Vp=[{id:"new",label:"ÐовÑй",color:"#3b82f6",isSystem:!0},{id:"processing",label:"РобÑабоÑке",color:"#eab308"}
2893,{id:"shipped",label:"ÐÑпÑавлен",color:"#a855f7"},{id:"completed",label:"ÐÑполнен",color:"#22c55e"},{id:"cancelled",label:"ÐÑменен",color:"#ef4444"}],zx={enableSales:!0,maintenanceMode:!1,title:"VOROTEX SHOP",subtitle:"ÐаказаÑÑ Ð½Ð° ÑайÑе",link:"/catalog",yandexCounterHtml:"",minOrderSum:0,paymentMethods:[{id:"card",name:"ÐаÑÑой на ÑайÑе",description:"ÐплаÑа банковÑкой каÑÑой онлайн",enabled:!0},{id:"sbp",name:"СÐÐ (QR-код)",description:"ÐÑÑÑÑÐ°Ñ Ð¾Ð¿Ð»Ð°Ñа ÑеÑез пÑиложение банка",enabled:!0},{id:"cash",name:"ÐплаÑа пÑи полÑÑении",description:"ÐаÑÑой или налиÑнÑми в пÑнкÑе вÑдаÑи",enabled:!0}],deliveryMethods:[{id:"cdek",name:"СÐÐÐ (ÐÑÐ½ÐºÑ Ð²ÑдаÑи)",type:"pickup",price:350,description:"ÐоÑÑавка до ближайÑего ÐÐÐ (3-5 дней)",enabled:!0,allowedPaymentIds:["card","sbp","cash"]},{id:"post",name:"ÐоÑÑа РоÑÑии",type:"address",price:290,description:"ÐоÑÑавка до оÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ (по адÑеÑÑ)",enabled:!0,allowedPaymentIds:["card","sbp"]},{id:"courier",name:"ÐÑÑÑÐµÑ Ð´Ð¾ двеÑи",type:"address",price:590,description:"ÐоÑÑавка кÑÑÑеÑом лиÑно в ÑÑки",enabled:!0,allowedPaymentIds:["card","sbp","cash"]}],orderStatuses:Vp,sync:{enabled:!1,url:"https://ac381d89-21f9-4eb1-8028-85e7599d4f9c.selstorage.ru/price_01.xml",intervalHours:3,mapping:{idTag:"id",priceTag:"price",stockTag:"rest"}},notifications:{orderEmails:["[email protected]"],contactForm:{enabled:!0,emailTo:"[email protected]",title:"ÐапиÑиÑе нам",nameLabel:"Ðак Ð²Ð°Ñ Ð·Ð¾Ð²ÑÑ?",emailLabel:"ÐÐ°Ñ Email",productLabel:"Тема обÑаÑениÑ",questionLabel:"ÐÐ°Ñ Ð²Ð¾Ð¿ÑоÑ",buttonText:"ÐÑпÑавиÑÑ ÑообÑение",successMessage:"СпаÑибо! ÐÑ Ð¾ÑвеÑим в ближайÑее вÑемÑ."},cooperationForm:{enabled:!0,emailTo:"[email protected]",title:"ÐаÑвка на ÑоÑÑÑдниÑеÑÑво",nameLabel:"ÐÐ¼Ñ / Ðазвание канала",emailLabel:"Email Ð´Ð»Ñ ÑвÑзи",productLabel:"Тема (ÐÐ¿Ñ / ÐлогеÑ)",questionLabel:"ÐаÑе пÑедложение и ÑÑÑлки",buttonText:"ÐÑпÑавиÑÑ Ð·Ð°ÑвкÑ",successMessage:"ÐÑ Ð¿Ð¾Ð»ÑÑили Ð²Ð°Ñ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ ÑкоÑо ÑвÑжемÑÑ."},messagesReply:{greeting:"ÐдÑавÑÑвÑйÑе!",signature:`С Ñважением, 2894команда VOROTEX`}}},qw=[{id:"nav-catalog",name:"ÐаÑалог",target:"/catalog"},{id:"nav-support",name:"ÐоддеÑжка",target:"/support"},{id:"nav-contacts",name:"ÐонÑакÑÑ",target:"/page/contacts"},{id:"nav-news",name:"ÐовоÑÑи",target:"https://t.me/vorotex"}],Yw=[{id:"slide-1",image:"/placeholder.svg",tagline:"ÐÐÐÐÐÐÐ 2025",title:'VOROTEX <span class="text-[#ff3b30]">K680 PRO</span>',subtitle:"ÐÑоÑеÑÑионалÑÐ½Ð°Ñ Ð¼ÐµÑ Ð°Ð½Ð¸ÐºÐ° Ñ ÑÑмоизолÑÑией и ÑмазаннÑми ÑвиÑÑами. ÐоÑÑвÑÑвÑй ÑазниÑÑ.",buttonText:"ÐодÑобнее",link:"/product/kb-k680-pro"},{id:"slide-2",image:"/placeholder.svg",tagline:"ÐÐСТСÐÐÐÐÐ ",title:'VOROTEX <span class="text-[#ff3b30]">V1 WIRELESS</span>',subtitle:"СвеÑÑ Ð»ÐµÐ³ÐºÐ°Ñ Ð¸Ð³ÑÐ¾Ð²Ð°Ñ Ð¼ÑÑÑ Ð²ÐµÑом вÑего 54 гÑамма. ТоповÑй ÑенÑÐ¾Ñ 26000 DPI.",buttonText:"ÐÑпиÑÑ",link:"/catalog"}],Pw=[{id:"ozon",name:"OZON",image:"https://upload.wikimedia.org/wikipedia/commons/e/e4/Ozon_App_Icon.svg",link:"https://ozon.ru"},{id:"wb",name:"Wildberries",image:"https://upload.wikimedia.org/wikipedia/commons/1/19/Wildberries_logo.svg",link:"https://wildberries.ru"},{id:"yandex",name:"Ð¯Ð½Ð´ÐµÐºÑ ÐаÑкеÑ",image:"https://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/Yandex_Market_icon.svg/1024px-Yandex_Market_icon.svg.png",link:"https://market.yandex.ru"}],Zw={titleMain:"ÐЫÐÐÐ ÐÐТÐ",titleHighlight:"УÐÐÐÐЫРСÐÐСÐÐ",description:"ÐÑ Ð¾ÑиÑиалÑно пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ð° вÑÐµÑ Ð¿Ð¾Ð¿ÑлÑÑнÑÑ Ð¼Ð°ÑкеÑплейÑÐ°Ñ Ð´Ð»Ñ Ð²Ð°Ñего комÑоÑÑа. Ðднако, оÑоÑмлÑÑ Ð·Ð°ÐºÐ°Ð· напÑÑмÑÑ Ð½Ð° ÑÑом ÑайÑе, Ð²Ñ Ð¿Ð¾Ð»ÑÑаеÑе не пÑоÑÑо ÑоваÑ, а ÑеÑÐ²Ð¸Ñ Ð¿ÑемиÑм-клаÑÑа.",backgroundImage:"/placeholder.svg",benefits:[]},Bx={title:"VOROTEX | ÐгÑÐ¾Ð²Ð°Ñ Ð¿ÐµÑиÑеÑÐ¸Ñ Ð¿ÑемиÑм клаÑÑа",description:"ÐÑиÑиалÑнÑй магазин VOROTEX. ÐгÑовÑе клавиаÑÑÑÑ, мÑÑи и гаÑниÑÑÑÑ. ÐÑÑокое каÑеÑÑво, гаÑанÑиÑ, бÑÑÑÑÐ°Ñ Ð´Ð¾ÑÑавка.",keywords:"игÑовÑе клавиаÑÑÑÑ, мÑÑи, vorotex, Ð¼ÐµÑ Ð°Ð½Ð¸ÐºÐ°, кÑпиÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ",indexing:!0,favicon:"/favicon.svg"},Qw=[{id:"col-1",title:"ÐаÑалог",links:[{id:"l1",name:"ÐлавиаÑÑÑÑ",url:"/category/keyboards"},{id:"l_mini",name:"Ðини-клавиаÑÑÑÑ",url:"/category/mini-keyboards"},{id:"l2",name:"ÐÑÑи",url:"/category/mice"},{id:"l3",name:"ÐаÑниÑÑÑÑ",url:"/category/headsets"},{id:"l_micro",name:"ÐикÑоÑонÑ",url:"/category/microphones"},{id:"l4",name:"ÐкÑеÑÑÑаÑÑ",url:"/category/accessories"}]},{id:"col-2",title:"ÐокÑпаÑелÑм",links:[{id:"l5",name:"Ðде кÑпиÑÑ",url:"#marketplaces"},{id:"l6",name:"ÐоÑÑавка и оплаÑа",url:"/page/delivery"},{id:"l7",name:"ÐаÑанÑиÑ",url:"/page/warranty"},{id:"l8",name:"ÐаÑÑа ÑайÑа",url:"/sitemap"}]},{id:"col-3",title:"ÐомпаниÑ",links:[{id:"l9",name:"РбÑенде",url:"/page/about"},{id:"l10",name:"ÐонÑакÑÑ",url:"/page/contacts"},{id:"l11",name:"СоÑÑÑдниÑеÑÑво",url:"/page/b2b"},{id:"l_news",name:"ÐовоÑÑи",url:"https://t.me/vorotex"}]},{id:"col-4",title:"ÐоддеÑжка",links:[{id:"l12",name:"ÐÑайвеÑÑ Ð¸ ÐÐ",url:"/support"},{id:"l13",name:"ÐопÑоÑÑ Ð¸ оÑвеÑÑ",url:"/page/faq"},{id:"l14",name:"ÐолиÑика",url:"/page/privacy"}]}],Jw=[{id:"s1",platform:"telegram",url:"#"},{id:"s2",platform:"vk",url:"#"},{id:"s3",platform:"youtube",url:"#"}],lu=[{id:"page-about",title:"РбÑенде VOROTEX",slug:"about",date:new Date().toISOString(),image:"/placeholder.svg",content:` 2895 <h3>ÐÑо мÑ?</h3> 2896 <p>VOROTEX â ÑÑо не пÑоÑÑо оÑеÑедной бÑенд игÑовой пеÑиÑеÑии. ÐÑ â команда инженеÑов, дизайнеÑов и, пÑежде вÑего, геймеÑов, коÑоÑÑе ÑÑÑали Ð¾Ñ ÐºÐ¾Ð¼Ð¿ÑомиÑÑов. ÐÑ Ð²ÐµÑим, ÑÑо пÑоÑеÑÑионалÑное обоÑÑдование не должно ÑÑоиÑÑ Ñелое ÑоÑÑоÑние. ÐаÑа ÑÑаб-кваÑÑиÑа и ÑенÑÑ ÑазÑабоÑки Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² поÑÑоÑнном поиÑке идеалÑного баланÑа Ð¼ÐµÐ¶Ð´Ñ Ð¿ÐµÑедовÑми ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñми, ÑÑÑеÑикой и доÑÑÑпноÑÑÑÑ.</p> 2897 2898 <h3>ÐаÑа ФилоÑоÑиÑ: "ÐгÑай без гÑаниÑ"</h3> 2899 <p>ÐаждÑй пÑодÑÐºÑ VOROTEX ÑоздаеÑÑÑ Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑелÑÑ: ÑбÑаÑÑ Ð±Ð°ÑÑеÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð³Ñоком и виÑÑÑалÑнÑм миÑом. ÐÑ ÑделÑем маниакалÑное внимание деÑалÑм, коÑоÑÑе дейÑÑвиÑелÑно Ð²Ð°Ð¶Ð½Ñ Ð² игÑе:</p> 2900 <ul> 2901 <li><strong>СенÑоÑÑ:</strong> ÐÑ Ð¸ÑполÑзÑем ÑолÑко пÑовеÑеннÑе ÑÐ¸Ð¿Ñ Ð¾Ñ PixArt, обеÑпеÑиваÑÑие попикÑелÑнÑÑ ÑоÑноÑÑÑ.</li> 2902 <li><strong>СвиÑÑи:</strong> СоÑÑÑдниÑеÑÑво Ñ Ð²ÐµÐ´ÑÑими ÑабÑиками (Huano, Kailh, Outemu) позволÑÐµÑ Ð½Ð°Ð¼ пÑедлагаÑÑ ÑеÑÐµÐ½Ð¸Ñ Ñ ÑникалÑнÑми Ñ Ð°ÑакÑеÑиÑÑиками Ñайпинга.</li> 2903 <li><strong>ÐаÑеÑиалÑ:</strong> ÐÑ Ð½Ðµ Ñкономим на плаÑÑике. PBT кейкапÑ, легкие ÑÐ¿Ð»Ð°Ð²Ñ Ð¸ пÑоÑнÑе кабели â ÑÑандаÑÑ Ð´Ð»Ñ Ð½Ð°ÑÐ¸Ñ ÑÑÑÑойÑÑв.</li> 2904 </ul> 2905 2906 <h3>ÐоÑÐµÐ¼Ñ Ð²ÑбиÑаÑÑ Ð½Ð°Ñ?</h3> 2907 <p>РоÑлиÑие Ð¾Ñ Ð³Ð¸Ð³Ð°Ð½Ñов индÑÑÑÑии, Ð¼Ñ ÑлÑÑим наÑе комÑÑниÑи. Ðногие ÑÑнкÑии в наÑÐ¸Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÐ°Ñ Ð¸ мÑÑÐ°Ñ (напÑимеÑ, поддеÑжка VIA, ÑкÑанÑ, ÑÑмоизолÑÑÐ¸Ñ Gasket Mount) поÑвилиÑÑ Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ Ð²Ð°Ñим оÑзÑвам. ÐÑ Ð½Ðµ ÑÑаÑим Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ Ð½Ð° маÑкеÑинг, Ð¼Ñ Ð²ÐºÐ»Ð°Ð´Ñваем Ð¸Ñ Ð² пÑодÑкÑ.</p> 2908 2909 <h3>ÐÑдÑÑее</h3> 2910 <p>ÐÑ Ð¿Ñодолжаем ÑаÑÑиÑÑÑÑ ÑкоÑиÑÑÐµÐ¼Ñ VOROTEX. Ð Ð¿Ð»Ð°Ð½Ð°Ñ â вÑпÑÑк новÑÑ Ð±ÐµÑпÑоводнÑÑ Ð³Ð°ÑниÑÑÑ, ÑÑÑимингового обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ лимиÑиÑованнÑÑ ÐºÐ¾Ð»Ð»ÐµÐºÑий в коллабоÑаÑии Ñ Ñ Ñдожниками. ÐÑиÑоединÑйÑеÑÑ Ðº нам, и давайÑе менÑÑÑ Ð¸Ð½Ð´ÑÑÑÑÐ¸Ñ Ð²Ð¼ÐµÑÑе!</p> 2911 `,seo:{title:"РбÑенде VOROTEX | ÐÑÑоÑÐ¸Ñ Ð¸ миÑÑиÑ",description:"УзнайÑе болÑÑе о бÑенде VOROTEX. ÐÑ Ñоздаем пÑоÑеÑÑионалÑнÑÑ Ð¸Ð³ÑовÑÑ Ð¿ÐµÑиÑеÑиÑ: клавиаÑÑÑÑ, мÑÑи и гаÑниÑÑÑÑ. ÐаÑеÑÑво, инноваÑии и доÑÑÑпноÑÑÑ.",keywords:"vorotex о бÑенде, иÑÑоÑÐ¸Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¸, игÑÐ¾Ð²Ð°Ñ Ð¿ÐµÑиÑеÑиÑ, миÑÑÐ¸Ñ vorotex",indexing:!0}},{id:"page-warranty",title:"ÐаÑанÑÐ¸Ñ Ð¸ ÐозвÑаÑ",slug:"warranty",date:new Date().toISOString(),content:` 2912 <h2>УÑÐ»Ð¾Ð²Ð¸Ñ Ð³Ð°ÑанÑии</h2> 2913 <p>Ðа вÑÑ Ð¿ÑодÑкÑÐ¸Ñ VOROTEX ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð¾ÑиÑиалÑÐ½Ð°Ñ Ð³Ð°ÑанÑÐ¸Ñ 1 год.</p> 2914 <p>Ð ÑлÑÑае обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð±Ñака, Ð¼Ñ Ð¾Ð±Ð¼ÐµÐ½Ñем ÑÑÑÑойÑÑво на новое или веÑнем денÑги в ÑеÑение 3 дней поÑле обÑаÑениÑ.</p> 2915 `,seo:{title:"ÐаÑанÑÐ¸Ñ Ð¸ ÐозвÑÐ°Ñ ÑоваÑов VOROTEX",description:"ÐнÑоÑмаÑÐ¸Ñ Ð¾ гаÑанÑийном обÑлÑживании и ÑÑловиÑÑ Ð²Ð¾Ð·Ð²ÑаÑа пÑодÑкÑии VOROTEX. ÐÑиÑиалÑÐ½Ð°Ñ Ð³Ð°ÑанÑÐ¸Ñ 1 год на вÑе ÑÑÑÑойÑÑва.",keywords:"гаÑанÑÐ¸Ñ vorotex, возвÑÐ°Ñ ÑоваÑа, ÑеÑÐ²Ð¸Ñ vorotex, ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð³Ð°ÑанÑии",indexing:!0}}
2915,{id:"page-delivery",title:"ÐоÑÑавка и ÐплаÑа",slug:"delivery",date:new Date().toISOString(),content:` 2916 <h2>ÐоÑÑавка</h2> 2917 <p>ÐÑ Ð´Ð¾ÑÑавлÑем Ð·Ð°ÐºÐ°Ð·Ñ Ð¿Ð¾ вÑей РоÑÑии ÑеÑез СÐÐРи ÐоÑÑÑ Ð Ð¾ÑÑии. СÑоки доÑÑавки завиÑÑÑ Ð¾Ñ Ð²Ð°Ñего Ñегиона (обÑÑно 2-5 дней).</p> 2918 <h2>ÐплаÑа</h2> 2919 <p>ÐплаÑа возможна банковÑкой каÑÑой на ÑайÑе или пÑи полÑÑении.</p> 2920 `,seo:{title:"ÐоÑÑавка и ÐплаÑа | ÐнÑеÑнеÑ-магазин VOROTEX",description:"УзнайÑе о ÑпоÑÐ¾Ð±Ð°Ñ Ð´Ð¾ÑÑавки и оплаÑÑ Ð² инÑеÑнеÑ-магазине VOROTEX. СÐÐÐ, ÐоÑÑа РоÑÑии, кÑÑÑеÑÑÐºÐ°Ñ Ð´Ð¾ÑÑавка. ÐплаÑа каÑÑой или пÑи полÑÑении.",keywords:"доÑÑавка vorotex, оплаÑа заказа, ÑдÑк, поÑÑа ÑоÑÑии, ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð´Ð¾ÑÑавки",indexing:!0}},{id:"page-contacts",title:"ÐонÑакÑÑ",slug:"contacts",date:new Date().toISOString(),content:` 2921 <p>СвÑжиÑеÑÑ Ñ Ð½Ð°Ð¼Ð¸ лÑбÑм ÑдобнÑм ÑпоÑобом.</p> 2922 <ul> 2923 <li>Email: [email protected]</li> 2924 <li>ТелеÑон: 8 (800) 555-35-35</li> 2925 </ul> 2926 `,seo:{title:"ÐонÑакÑÑ VOROTEX | СлÑжба поддеÑжки",description:"ÐонÑакÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¸Ð½ÑеÑнеÑ-магазина VOROTEX. ТелеÑон, email и ÑоÑма обÑаÑной ÑвÑзи. ÐÑ Ð²Ñегда гоÑÐ¾Ð²Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ!",keywords:"конÑакÑÑ vorotex, ÑелеÑон поддеÑжки, email, адÑеÑ, ÑвÑÐ·Ñ Ñ Ð½Ð°Ð¼Ð¸",indexing:!0}},{id:"page-b2b",title:"СоÑÑÑдниÑеÑÑво",slug:"b2b",date:new Date().toISOString(),content:` 2927 <h2>ÐÐ»Ñ Ð±Ð¸Ð·Ð½ÐµÑа (ÐпÑ)</h2> 2928 <p>ÐÑ Ð¾ÑкÑÑÑÑ Ð´Ð»Ñ ÑоÑÑÑдниÑеÑÑва Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑнÑми клÑбами, ÑозниÑнÑми магазинами и кибеÑÑпоÑÑивнÑми оÑганизаÑиÑми. ÐÑ Ð¿Ñедлагаем гибкÑÑ ÑиÑÑÐµÐ¼Ñ Ñкидок, маÑкеÑинговÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð¸ пÑиоÑиÑеÑное обÑлÑживание.</p> 2929 <p>ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ñового пÑайÑ-лиÑÑа заполниÑе ÑоÑÐ¼Ñ Ð½Ð¸Ð¶Ðµ, вÑбÑав ÑÐµÐ¼Ñ "ÐпÑÐ¾Ð²Ð°Ñ Ð·Ð°ÐºÑпка".</p> 2930 2931 <hr style="margin: 2rem 0; border-color: #eee;" /> 2932 2933 <h2>ÐÐ»Ñ Ð±Ð»Ð¾Ð³ÐµÑов и инÑлÑенÑеÑов</h2> 2934 <p>ÐÑ ÑоздаеÑе кÑÑÑой конÑÐµÐ½Ñ Ð¿Ñо ÑÐµÑ Ð½Ð¸ÐºÑ Ð¸Ð»Ð¸ гейминг? ÐÑ Ð¸Ñем ÑаланÑливÑÑ Ð°Ð²ÑоÑов Ð´Ð»Ñ Ð¾Ð±Ð·Ð¾Ñов наÑей пÑодÑкÑии на YouTube, Twitch, Telegram и VK.</p> 2935 <p><strong>ЧÑо Ð¼Ñ Ð¿Ñедлагаем:</strong></p> 2936 <ul> 2937 <li>ÐеÑплаÑнÑе обÑазÑÑ Ð½Ð¾Ð²Ð¸Ð½Ð¾Ðº Ð´Ð»Ñ Ð¾Ð±Ð·Ð¾Ñа.</li> 2938 <li>ÐÑÐ¾Ð¼Ð¾ÐºÐ¾Ð´Ñ Ð´Ð»Ñ Ð²Ð°Ñей аÑдиÑоÑии.</li> 2939 <li>ÐнÑоÑмаÑÐ¸Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑжка в наÑÐ¸Ñ ÑоÑÑеÑÑÑ .</li> 2940 </ul> 2941 <p>ÐÑли Ñ Ð²Ð°Ñ Ð°ÐºÑÐ¸Ð²Ð½Ð°Ñ Ð°ÑдиÑоÑÐ¸Ñ Ð¸ каÑеÑÑвеннÑй конÑÐµÐ½Ñ â напиÑиÑе нам! Рполе "Тема" ÑкажиÑе "СоÑÑÑдниÑеÑÑво / ÐлогеÑ", а в ÑообÑении пÑикÑепиÑе ÑÑÑлки на ваÑи ÐºÐ°Ð½Ð°Ð»Ñ Ð¸ ÑÑаÑиÑÑикÑ.</p> 2942 `,seo:{title:"СоÑÑÑдниÑеÑÑво Ñ VOROTEX | ÐÐ¿Ñ Ð¸ ÐаÑкеÑинг",description:"ÐнÑоÑмаÑÐ¸Ñ Ð´Ð»Ñ Ð¿Ð°ÑÑнеÑов, опÑовиков и блогеÑов. СоÑÑÑдниÑеÑÑво Ñ VOROTEX. СÑанÑÑе наÑим паÑÑнеÑом ÑегоднÑ.",keywords:"vorotex опÑ, ÑоÑÑÑдниÑеÑÑво, Ð´Ð»Ñ Ð±Ð»Ð¾Ð³ÐµÑов, паÑÑнеÑÑÐºÐ°Ñ Ð¿ÑогÑамма, дилеÑÑ",indexing:!0}},{id:"page-faq",title:"ЧаÑÑÑе вопÑоÑÑ (FAQ)",slug:"faq",date:new Date().toISOString(),content:"<p>Ðиже Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑе оÑвеÑÑ Ð½Ð° ÑамÑе попÑлÑÑнÑе вопÑоÑÑ Ð¾ наÑей пÑодÑкÑии и ÑеÑвиÑе.</p>",faq:[{question:"Ðак ÑкаÑаÑÑ Ð´ÑÐ°Ð¹Ð²ÐµÑ (ÐÐ) Ð´Ð»Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ?",answer:"ÐÑе дÑайвеÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð² Ñазделе 'ÐоддеÑжка' (ÑÑÑлка в Ð¼ÐµÐ½Ñ ÑайÑа). ÐÑбеÑиÑе ваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ ÑÑÑÑойÑÑва и нажмиÑе 'СкаÑаÑÑ'. ÐÑли ваÑей модели Ð½ÐµÑ Ð² ÑпиÑке, напиÑиÑе в ÑеÑ
2942 поддеÑжкÑ."},{question:"ЧÑо Ñакое Hot-Swap?",answer:"Hot-Swap â ÑÑо ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ, позволÑÑÑÐ°Ñ Ð¼ÐµÐ½ÑÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸ÑеÑкие пеÑеклÑÑаÑели (ÑвиÑÑи) без пайки. ÐÑ Ð¼Ð¾Ð¶ÐµÑе легко замениÑÑ Ð½ÐµÐ¸ÑпÑавнÑй ÑвиÑÑ Ð¸Ð»Ð¸ ÑÑÑановиÑÑ Ð´ÑÑгие Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑакÑилÑнÑÑ Ð¾ÑÑÑений."},{question:"ÐÑÑÑ Ð»Ð¸ гаÑанÑÐ¸Ñ Ð½Ð° ÑоваÑÑ?",answer:"Ðа, на вÑÑ Ð¿ÑодÑкÑÐ¸Ñ VOROTEX ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð¾ÑиÑиалÑÐ½Ð°Ñ Ð³Ð°ÑанÑÐ¸Ñ 1 год. ÐаÑанÑийнÑй Ñалон Ð¸Ð´ÐµÑ Ð² комплекÑе Ñ ÑÑÑÑойÑÑвом."},{question:"Ðак наÑÑÑоиÑÑ Ð¿Ð¾Ð´ÑвеÑÐºÑ Ð±ÐµÐ· ÑоÑÑа?",answer:"ÐолÑÑинÑÑво наÑÐ¸Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÑ ÑеÑез комбинаÑии ÐºÐ»Ð°Ð²Ð¸Ñ Fn. ÐбÑÑно ÑÑо Fn + Insert/Home/PgUp Ð´Ð»Ñ ÑÐ¼ÐµÐ½Ñ Ñежимов и Fn + СÑÑелки Ð´Ð»Ñ ÑÑкоÑÑи/ÑкоÑоÑÑи. ÐодÑобноÑÑи Ñм. в инÑÑÑÑкÑии к ваÑей модели."},{question:"ÐоÑÑавлÑеÑе ли Ð²Ñ Ð² ÑÑÑÐ°Ð½Ñ Ð¡ÐÐ?",answer:"РданнÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¼Ñ Ð¾ÑÑÑеÑÑвлÑем доÑÑÐ°Ð²ÐºÑ ÑолÑко по ÑеÑÑиÑоÑии РоÑÑийÑкой ФедеÑаÑии ÑеÑез СÐÐРи ÐоÑÑÑ Ð Ð¾ÑÑии."}],seo:{title:"ЧаÑÑÑе вопÑоÑÑ (FAQ) | ÐоддеÑжка VOROTEX",description:"ÐÑвеÑÑ Ð½Ð° ÑаÑÑо задаваемÑе вопÑоÑÑ Ð¾ пÑодÑкÑии VOROTEX. ÐÑайвеÑÑ, гаÑанÑиÑ, наÑÑÑойка подÑвеÑки и многое дÑÑгое.",keywords:"faq vorotex, вопÑоÑÑ Ð¸ оÑвеÑÑ, помоÑÑ, как наÑÑÑоиÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ, дÑайвеÑÑ",indexing:!0}},{id:"page-privacy",title:"ÐолиÑика конÑиденÑиалÑноÑÑи",slug:"privacy",date:new Date().toISOString(),content:` 2943 <h2>1. ÐбÑие положениÑ</h2> 2944 <p>ÐаÑÑоÑÑÐ°Ñ Ð¿Ð¾Ð»Ð¸Ñика обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÑоÑÑавлена в ÑооÑвеÑÑÑвии Ñ ÑÑебованиÑми ФедеÑалÑного закона Ð¾Ñ 27.07.2006. â152-ФР«РпеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Â» и опÑеделÑÐµÑ Ð¿Ð¾ÑÑдок обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ меÑÑ Ð¿Ð¾ обеÑпеÑÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ , пÑедпÑинимаемÑе VOROTEX (далее â ÐпеÑаÑоÑ).</p> 2945 <p>ÐпеÑаÑÐ¾Ñ ÑÑÐ°Ð²Ð¸Ñ Ñвоей важнейÑей ÑелÑÑ Ð¸ ÑÑловием оÑÑÑеÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ñвоей деÑÑелÑноÑÑи ÑоблÑдение пÑав и Ñвобод Ñеловека и гÑажданина пÑи обÑабоÑке его пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ , в Ñом ÑиÑле заÑиÑÑ Ð¿Ñав на непÑикоÑновенноÑÑÑ ÑаÑÑной жизни, лиÑнÑÑ Ð¸ ÑемейнÑÑ ÑайнÑ.</p> 2946 2947 <h2>2. ÐÑновнÑе понÑÑиÑ</h2> 2948 <ul> 2949 <li><strong>ÐвÑомаÑизиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð±ÑабоÑка пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </strong> â обÑабоÑка пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑедÑÑв вÑÑиÑлиÑелÑной ÑÐµÑ Ð½Ð¸ÐºÐ¸;</li> 2950 <li><strong>ÐлокиÑование пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </strong> â вÑеменное пÑекÑаÑение обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ (за иÑклÑÑением ÑлÑÑаев, еÑли обÑабоÑка Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð° Ð´Ð»Ñ ÑÑоÑÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ );</li> 2951 <li><strong>Ðеб-ÑайÑ</strong> â ÑовокÑпноÑÑÑ Ð³ÑаÑиÑеÑÐºÐ¸Ñ Ð¸ инÑоÑмаÑионнÑÑ Ð¼Ð°ÑеÑиалов, а Ñакже пÑогÑамм Ð´Ð»Ñ ÐÐРи баз даннÑÑ , обеÑпеÑиваÑÑÐ¸Ñ Ð¸Ñ Ð´Ð¾ÑÑÑпноÑÑÑ Ð² ÑеÑи инÑеÑÐ½ÐµÑ Ð¿Ð¾ ÑеÑÐµÐ²Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ vorotex.com;</li> 2952 <li><strong>ÐеÑÑоналÑнÑе даннÑе</strong> â лÑÐ±Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ, оÑноÑÑÑаÑÑÑ Ð¿ÑÑмо или коÑвенно к опÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð¸Ð»Ð¸ опÑеделÑÐµÐ¼Ð¾Ð¼Ñ ÐолÑзоваÑÐµÐ»Ñ Ð²ÐµÐ±-ÑайÑа;</li> 2953 </ul> 2954 2955 <h2>3. ÐпеÑаÑÐ¾Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±ÑабаÑÑваÑÑ ÑледÑÑÑие пеÑÑоналÑнÑе даннÑе ÐолÑзоваÑелÑ</h2> 2956 <ul> 2957 <li>ФамилиÑ, имÑ, оÑÑеÑÑво;</li> 2958 <li>ÐлекÑÑоннÑй адÑÐµÑ (Email);</li> 2959 <li>ÐомеÑа ÑелеÑонов;</li> 2960 <li>ÐдÑÐµÑ Ð´Ð¾ÑÑавки ÑоваÑов;</li> 2961 <li>Также на ÑайÑе пÑоиÑÑ Ð¾Ð´Ð¸Ñ ÑÐ±Ð¾Ñ Ð¸ обÑабоÑка обезлиÑеннÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¾ поÑеÑиÑелÑÑ (в Ñ.Ñ. Ñайлов «cookie») Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑеÑвиÑов инÑеÑнеÑ-ÑÑаÑиÑÑики (Ð¯Ð½Ð´ÐµÐºÑ ÐеÑÑика и ÐÑгл ÐналиÑика и дÑÑÐ³Ð¸Ñ ).</li> 2962 </ul> 2963 2964 <h2>4. Цели обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </h2> 2965 <p>Ð¦ÐµÐ»Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ ÐолÑзоваÑÐµÐ»Ñ â инÑоÑмиÑование ÐолÑзоваÑÐµÐ»Ñ Ð¿Ð¾ÑÑедÑÑвом оÑпÑавки ÑлекÑÑоннÑÑ Ð¿Ð¸Ñем; пÑедоÑÑавление доÑÑÑпа ÐолÑзоваÑÐµÐ»Ñ Ðº ÑеÑвиÑам, инÑоÑмаÑии и/или маÑеÑиалам, ÑодеÑжаÑимÑÑ Ð½Ð° веб-ÑайÑе; обÑабоÑка заказов и доÑÑавка ÑоваÑов.</p> 2966 <p>Также ÐпеÑаÑÐ¾Ñ Ð¸Ð¼ÐµÐµÑ Ð¿Ñаво напÑавлÑÑÑ ÐолÑзоваÑÐµÐ»Ñ ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ новÑÑ Ð¿ÑодÑкÑÐ°Ñ Ð¸ ÑÑлÑÐ³Ð°Ñ , ÑпеÑиалÑнÑÑ Ð¿ÑедложениÑÑ Ð¸ ÑазлиÑнÑÑ ÑобÑÑиÑÑ . ÐолÑзоваÑÐµÐ»Ñ Ð²Ñегда Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑказаÑÑÑÑ Ð¾Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑионнÑÑ ÑообÑений, напÑавив ÐпеÑаÑоÑÑ Ð¿Ð¸ÑÑмо на адÑÐµÑ ÑлекÑÑонной поÑÑÑ [email protected] Ñ Ð¿Ð¾Ð¼ÐµÑкой «ÐÑказ Ð¾Ñ Ñведомлений о новÑÑ Ð¿ÑодÑкÑÐ°Ñ Ð¸ ÑÑлÑÐ³Ð°Ñ Ð¸ ÑпеÑиалÑнÑÑ Ð¿ÑедложениÑÑ Â».</p> 2967 2968 <h2>5. ÐÑавовÑе оÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </h2> 2969 <p>ÐпеÑаÑÐ¾Ñ Ð¾Ð±ÑабаÑÑÐ²Ð°ÐµÑ Ð¿ÐµÑÑоналÑнÑе даннÑе ÐолÑзоваÑÐµÐ»Ñ ÑолÑко в ÑлÑÑае Ð¸Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸/или оÑпÑавки ÐолÑзоваÑелем ÑамоÑÑоÑÑелÑно ÑеÑез ÑпеÑиалÑнÑе ÑоÑмÑ, ÑаÑположеннÑе на ÑайÑе. ÐаполнÑÑ ÑооÑвеÑÑÑвÑÑÑие ÑоÑÐ¼Ñ Ð¸/или оÑпÑавлÑÑ Ñвои пеÑÑоналÑнÑе даннÑе ÐпеÑаÑоÑÑ, ÐолÑзоваÑÐµÐ»Ñ Ð²ÑÑÐ°Ð¶Ð°ÐµÑ Ñвое ÑоглаÑие Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÐолиÑикой.</p> 2970 2971 <h2>6. ÐоÑÑдок ÑбоÑа, Ñ ÑанениÑ, пеÑедаÑи и дÑÑÐ³Ð¸Ñ Ð²Ð¸Ð´Ð¾Ð² обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </h2> 2972 <p>ÐезопаÑноÑÑÑ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ , коÑоÑÑе обÑабаÑÑваÑÑÑÑ ÐпеÑаÑоÑом, обеÑпеÑиваеÑÑÑ Ð¿ÑÑем ÑеализаÑии пÑавовÑÑ , оÑганизаÑионнÑÑ Ð¸ ÑÐµÑ Ð½Ð¸ÑеÑÐºÐ¸Ñ Ð¼ÐµÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² полном обÑеме ÑÑебований дейÑÑвÑÑÑего законодаÑелÑÑÑва в облаÑÑи заÑиÑÑ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .</p> 2973 <ul> 2974 <li>ÐпеÑаÑÐ¾Ñ Ð¾Ð±ÐµÑпеÑÐ¸Ð²Ð°ÐµÑ ÑÐ¾Ñ ÑанноÑÑÑ Ð¿ÐµÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð²Ñе возможнÑе меÑÑ, иÑклÑÑаÑÑие доÑÑÑп к пеÑÑоналÑнÑм даннÑм неÑполномоÑеннÑÑ Ð»Ð¸Ñ.</li> 2975 <li>ÐеÑÑоналÑнÑе даннÑе ÐолÑзоваÑÐµÐ»Ñ Ð½Ð¸ÐºÐ¾Ð³Ð´Ð°, ни пÑи ÐºÐ°ÐºÐ¸Ñ ÑÑловиÑÑ Ð½Ðµ бÑдÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ ÑÑеÑÑим лиÑам, за иÑклÑÑением ÑлÑÑаев, ÑвÑзаннÑÑ Ñ Ð¸Ñполнением дейÑÑвÑÑÑего законодаÑелÑÑÑва (напÑимеÑ, по запÑоÑÑ Ð¿ÑÐ°Ð²Ð¾Ð¾Ñ ÑаниÑелÑнÑÑ Ð¾Ñганов) или Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑзаÑелÑÑÑв пеÑед полÑзоваÑелем (напÑимеÑ, пеÑедаÑа даннÑÑ ÑлÑжбе доÑÑавки СÐÐÐ).</li> 2976 </ul> 2977 2978 <h2>7. ÐÑполÑзование Ñайлов Cookie</h2> 2979 <p>Ðа ÑайÑе иÑполÑзÑеÑÑÑ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ cookie. Ð¤Ð°Ð¹Ð»Ñ cookie не ÑодеÑÐ¶Ð°Ñ ÐºÐ¾Ð½ÑиденÑиалÑнÑÑ Ð¸Ð½ÑоÑмаÑиÑ. ÐолÑзоваÑÐµÐ»Ñ Ð´Ð°ÐµÑ ÑоглаÑие на ÑбоÑ, анализ и иÑполÑзование cookies, в Ñом ÑиÑле ÑÑеÑÑими лиÑами Ð´Ð»Ñ Ñелей Ñ
2979оÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑаÑиÑÑики и опÑимизаÑии ÑекламнÑÑ ÑообÑений.</p> 2980 2981 <h2>8. ÐаклÑÑиÑелÑнÑе положениÑ</h2> 2982 <p>ÐолÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð»ÑбÑе ÑазÑÑÑÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ инÑеÑеÑÑÑÑим вопÑоÑам, каÑаÑÑимÑÑ Ð¾Ð±ÑабоÑки его пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ , обÑаÑивÑиÑÑ Ðº ÐпеÑаÑоÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑлекÑÑонной поÑÑÑ [email protected].</p> 2983 `,seo:{title:"ÐолиÑика конÑиденÑиалÑноÑÑи | VOROTEX",description:"ÐолиÑика обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ VOROTEX. УзнайÑе, как Ð¼Ñ ÑобиÑаем, иÑполÑзÑем и заÑиÑаем ваÑÑ Ð¸Ð½ÑоÑмаÑиÑ.",keywords:"полиÑика конÑиденÑиалÑноÑÑи, обÑабоÑка даннÑÑ , заÑиÑа инÑоÑмаÑии, cookie",indexing:!1}}],Ww={title:"ÐÐÐÐÐÐРРХÐТЫ",show:!0},Vx={title:"ЦÐÐТРÐÐÐÐÐÐ ÐÐÐ",description:"СкаÑайÑе дÑайвеÑÑ, инÑÑÑÑкÑии и пÑогÑаммное обеÑпеÑение Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ваÑÐ¸Ñ Ð´ÐµÐ²Ð°Ð¹Ñов VOROTEX. РаÑкÑойÑе полнÑй поÑенÑиал обоÑÑдованиÑ.",items:[{id:"drv-k680",name:"K680 PRO Software",version:"v1.2.4",size:"45 MB",description:"ÐÐ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки подÑвеÑки и макÑоÑов K680 PRO",link:"#",category:"keyboard",date:"2024-02-01",productId:"kb-k680-pro"},{id:"drv-v1",name:"V1 Wireless Driver",version:"v2.0",size:"12 MB",description:"ÐÑÐ°Ð¹Ð²ÐµÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ÑенÑоÑа и DPI мÑÑи V1",link:"#",category:"mouse",date:"2024-01-15"}]},Lx={show:!0,speed:40,backgroundColor:"#ff3b30",textColor:"#ffffff",items:[{id:"t1",text:"ÐÐСÐÐÐТÐÐЯ ÐÐСТÐÐÐÐ",isBold:!0,icon:"truck",description:"ÐТ 5000â½"},{id:"t2",text:"ÐÐÐ ÐÐТÐЯ 1 ÐÐÐ",isBold:!0,icon:"shield",description:"ÐÐ ÐСÐ"},{id:"t3",text:"ÐÐÐÐÐÐÐ: K680 PRO",isBold:!0,icon:"zap",description:"УÐÐ Ð ÐÐ ÐÐÐÐÐ"},{id:"t4",text:"ÐÐСТÐÐÐÐ ÐРРФ",isBold:!0,icon:"globe",description:"СÐÐÐ / ÐÐЧТÐ"}]},su=({src:r,alt:o,className:d="",imgClassName:c="",skeletonClassName:h="",loading:m="lazy",decoding:y="async"})=>{const[u,f]=j.useState(!1);return j.useEffect(()=>{f(!1)},[r]),t.jsxs("div",{className:`relative ${d}`,children:[t.jsx("div",{className:`absolute inset-0 bg-gray-200/80 animate-pulse transition-opacity duration-300 ${u?"opacity-0":"opacity-100"} ${h}`,"aria-hidden":"true"}),t.jsx("img",{src:r,alt:o,loading:m,decoding:y,onLoad:()=>f(!0),onError:()=>f(!0),className:`${c} opacity-100`})]})},go=({product:r,onAddToCart:o,navigate:d,enableSales:c=!0,isFavorite:h,onToggleFavorite:m,isComparing:y,onToggleCompare:u,isRecommended:f,recommendationReason:x})=>{const N=({children:X,title:le})=>{const xe=j.useRef(null);j.useEffect(()=>{const Ee=xe.current;if(!Ee)return;const Ge=it=>{Math.abs(it.deltaX)>Math.abs(it.deltaY)||(it.preventDefault(),it.stopPropagation(),Ee.scrollLeft+=it.deltaY)};return Ee.addEventListener("wheel",Ge,{passive:!1}),()=>Ee.removeEventListener("wheel",Ge)},[]);const ge=Ee=>{const Ge=Ee.currentTarget;if(Ee.target.closest&&Ee.target.closest("button"))return;Ee.button!==void 0&&Ee.button!==0||(Ee.currentTarget.setPointerCapture(Ee.pointerId),Ge.__drag={x:Ee.clientX,scrollLeft:Ee.currentTarget.scrollLeft})},je=Ee=>{const Ge=Ee.currentTarget;if(!Ge.__drag)return;const it=Ee.clientX-Ge.__drag.x;Ee.currentTarget.scrollLeft=Ge.__drag.scrollLeft-it},Ne=Ee=>{const Ge=Ee.currentTarget;try{Ee.currentTarget.releasePointerCapture(Ee.pointerId)}catch{}Ge.__drag=null};return t.jsx("div",{ref:xe,className:"flex flex-wrap gap-2 items-center overflow-visible py-1 px-1 active:cursor-grabbing overscroll-x-contain overscroll-y-contain",onPointerDown:ge,onPointerMove:je,onPointerUp:Ne,onPointerCancel:Ne,onPointerLeave:Ne,title:le,children:X})},[b,C]=j.useState({});j.useEffect(()=>{const X={};r.variants&&r.variants[0]&&r.variants[0].combination?Object.assign(X,r.variants[0].combination):r.options&&r.options.forEach(le=>{le.values.length>0&&(X[le.id]=le.values[0].id)});C(X)},[r]);const g=j.useMemo(()=>!r.variants||r.variants.length===0?null:r.variants.find(X=>Object.entries(b).every(([le,xe])=>X.combination[le]===xe)),[r,b]),O=(X,le)=>{if(!r.variants||r.variants.length===0)return!1;const xe={...b,[X]:le};return!r.variants.some(je=>Object.entries(xe).every(([Ne,Ee])=>
2983je.combination[Ne]===Ee))},E=(g==null?void 0:g.price)||r.price,_=g!=null&&g.images&&g.images.length>0?g.images:g!=null&&g.image?[g.image]:[],k=j.useMemo(()=>{const X=[..._.length>0?_:[r.image]].filter(Boolean);return X.filter((le,xe)=>X.indexOf(le)===xe)},[_,r.image]),[R,D]=j.useState(0),te=k[R]||r.image,W=r.name+(g&&g.combination?(()=>{const X=Object.entries(b).map(([le,xe])=>{var ge,je,Ne=(r.options||[]).find(Ee=>Ee.id==le);return Ne&&Ne.showInTitle&&(je=(Ne.values||[]).find(Ee=>Ee.id==xe))?je.name:""}).filter(Boolean).join(" ");return X?" "+X:""})():""),$=(g==null?void 0:g.originalPrice)||r.originalPrice,H=r.isSale,J=r.isHit,Y=$&&$>E,G=H||Y,U=Y?Math.round(($-E)/$*100):0,P=(g?g.stock:r.stock)<=0;j.useEffect(()=>{D(0)},[r.id,g]);const pe=X=>{if(k.length<=1)return;const le=X.currentTarget.getBoundingClientRect(),ge=Math.min(Math.max(X.clientX-le.left,0),le.width)/le.width,je=Math.min(k.length-1,Math.floor(ge*k.length));D(je)},B=()=>D(0),z=oo.useRef(null),v=X=>{z.current=X.touches[0].clientX},T=X=>{if(k.length<=1)return;const le=z.current;if(le===null)return;const ge=X.changedTouches[0].clientX-le;Math.abs(ge)<30||(D(Ne=>{const Ee=ge<0?Ne+1:Ne-1;return Ee<0?0:Ee>=k.length?k.length-1:Ee}),z.current=null)},A=()=>{d&&d(`/product/${r.id}`)},K=X=>{var le;X.stopPropagation(),!P&&o(r,!1,g==null?void 0:g.id,(le=r.options)==null?void 0:le.reduce((xe,ge)=>{const je=b[ge.id],Ne=ge.values.find(Ee=>Ee.id===je);return Ne&&(xe[ge.name]=Ne.name),xe},{}))},w=(X,le,xe)=>{X.stopPropagation(),C(ge=>({...ge,[le]:xe}))},V=X=>{if(!X||X.length===0)return"transparent";if(X.length===1)return X[0];const le=100/X.length;return`conic-gradient(${X.map((ge,je)=>`${ge} ${je*le}% ${(je+1)*le}%`).join(", ")})`},M=X=>Math.round(X).toLocaleString("ru-RU",{maximumFractionDigits:0}).replace(/\s/g," ");return t.jsxs("div",{onClick:A,className:"group/card flex flex-col h-full bg-gradient-to-b from-white to-[#fafafa] border border-black/5 shadow-sm hover:shadow-xl hover:border-gray-300 rounded-xl transition-all duration-300 cursor-pointer relative hover:z-20 overflow-visible",children:[t.jsxs("div",{className:"absolute top-3 left-3 z-30 flex flex-col gap-2 items-start",children:[r.isNewArrival&&t.jsxs("div",{className:"bg-emerald-600 text-white text-[10px] font-bold px-2 py-1 rounded shadow-md uppercase flex items-center gap-1",children:[t.jsx(fu,{className:"w-2 h-2 fill-white"})," ÐÐÐÐÐÐÐ"]}),J&&t.jsxs("div",{className:"bg-black text-white text-[10px] font-bold px-2 py-1 rounded shadow-md uppercase flex items-center gap-1",children:[t.jsx(Va,{className:"w-2 h-2 fill-white"})," Ð¥ÐТ"]}),H&&t.jsx("div",{className:"bg-[#ff3b30] text-white text-[10px] font-bold px-2 py-1 rounded shadow-md uppercase",children:U>0?`SALE -${U}%`:"SALE"})]}),t.jsxs("div",{className:"absolute top-3 right-3 z-30 flex gap-2",children:[u&&t.jsx("button",{onClick:X=>{X.stopPropagation(),u(r)},className:`p-2 bg-white/80 backdrop-blur-sm rounded-full transition-all shadow-sm ${y?"text-black bg-white ring-1 ring-black":"text-gray-400 hover:text-black hover:bg-white"}`,title:"СÑавниÑÑ",children:t.jsx(br,{className:"w-4 h-4"})}),m&&t.jsx("button",{onClick:X=>{X.stopPropagation(),m(r)},className:"p-2 bg-white/80 backdrop-blur-sm rounded-full text-gray-400 hover:text-red-500 hover:bg-white transition-all shadow-sm",title:"РизбÑанное",children:t.jsx(jn,{className:`w-4 h-4 ${h?"fill-red-500 text-red-500":""}`})})]}),t.jsxs("div",{className:"relative bg-gray-50 aspect-[4/3] min-h-[230px] overflow-hidden rounded-t-xl",onMouseMove:pe,onMouseLeave:B,onTouchStart:v,onTouchEnd:T,children:[t.jsx(su,{src:te,alt:W,className:"w-full h-full",imgClassName:"w-full h-full object-contain p-1.5 md:p-3 mix-blend-multiply group-hover/card:scale-110 transition-transform duration-500",skeletonClassName:"bg-gray-100"}),k.length>1&&t.jsx("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2 z-20 flex items-center gap-1.5 px-2 py-1 rounded-full bg-gray-50/95 backdrop-blur-md border border-gray-200 shadow-sm",onClick:X=>X.stopPropagation(),"aria-label":"ÐндикаÑÐ¾Ñ Ð¸Ð·Ð¾Ð±Ñажений",children:k.map((X,le)=>{const xe=le===R;return t.jsx("button",{type:"button",onClick:()=>D(le),className:`w-2 h-2 rounded-full transition-all ${xe?"bg-[#ff3b30] scale-110":"bg-gray-300 hover:bg-gray-400"}`,"aria-label":`ФоÑо ${le+1} из ${k.length}`},le)})}),f&&t.jsx("div",{className:"absolute top-12 right-3 bg-green-500 text-white text-xs font-bold px-2 py-1 rounded z-10 shadow-md",children:"AI ÐЫÐÐÐ "}),c&&t.jsx("button",{onClick:K,disabled:P,className:`absolute bottom-3 right-3 w-11 h-11 rounded-full shadow-lg flex items-center justify-center transition-all duration-200 z-20 ${P?"bg-gray-200 text-gray-400 cursor-not-allowed":"bg-black text-white hover:bg-[#ff3b30] hover:text-white opacity-100"}
2983`,title:P?"ÐÐµÑ Ð² налиÑии":"РкоÑзинÑ",children:t.jsx(js,{className:"w-5 h-5"})})]}),t.jsxs("div",{className:"flex flex-col flex-1 p-4 pb-6",children:[t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between items-start",children:[t.jsx("h3",{className:"text-lg font-bold text-black group-hover/card:text-[#ff3b30] transition-colors truncate pr-2",children:W}),r.rating>0&&t.jsxs("div",{className:"flex items-center gap-1 bg-gray-100 px-1.5 py-0.5 rounded flex-shrink-0",children:[t.jsx(Va,{className:`w-4 h-4 ${r.rating>=4.5?"fill-orange-400 text-orange-400":"text-gray-400"}`}),t.jsx("span",{className:"text-xs font-bold text-black",children:r.rating})]})]}),t.jsx("div",{className:"text-[10px] font-mono text-gray-400 uppercase tracking-wide",children:au[r.category]||r.category}),t.jsxs("div",{className:"relative h-14",children:[t.jsx("div",{className:"absolute inset-0 z-0 transition-opacity duration-200 group-hover/card:opacity-0 overflow-hidden",children:t.jsx("p",{className:"text-xs text-gray-500 leading-relaxed line-clamp-3",children:r.description||"ÐпиÑание оÑÑÑÑÑÑвÑеÑ"})}),t.jsx("div",{className:"absolute inset-0 z-10 opacity-0 group-hover/card:opacity-100 transition-opacity duration-200 bg-white pointer-events-none group-hover/card:pointer-events-auto",children:r.options&&r.options.length>0?t.jsxs("div",{className:"flex flex-col gap-2 py-1 overflow-visible",children:[(r.options||[]).slice(0,2).map(X=>t.jsx("div",{className:"flex flex-col gap-1",onClick:le=>le.stopPropagation(),children:t.jsx("div",{className:"flex flex-wrap gap-1.5 py-1",children:X.values.slice(0,10).map(le=>{const xe=b[X.id]===le.id,ge=O(X.id,le.id),je=X.type==="image";return t.jsxs("button",{onClick:Ne=>!ge&&w(Ne,X.id,le.id),disabled:ge,className:` 2984 relative transition-all group/option flex-shrink-0 2985 ${X.type==="color"?`w-6 h-6 rounded-full border ${xe?"border-black ring-1 ring-black":"border-gray-300 hover:scale-110"}`:je?`w-12 h-8 rounded border p-0.5 ${xe?"border-black ring-1 ring-black":"border-gray-200 hover:border-gray-400"}`:`px-1.5 py-0.5 rounded text-[9px] font-bold uppercase border whitespace-nowrap ${xe?"bg-black text-white border-black":"bg-white text-gray-500 border-gray-200 hover:border-gray-400"}`} 2986 ${ge?"opacity-20 cursor-not-allowed border-gray-100 bg-gray-50":""} 2987 `,children:[(X.type==="color"||je)&&t.jsxs("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-black text-white text-[10px] font-bold uppercase rounded shadow-2xl opacity-0 group-hover/option:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-[99999]",children:[le.name,t.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 -mt-[1px] border-4 border-transparent border-t-black"})]}),X.type==="color"&&(le.colors?t.jsx("span",{className:"block w-full h-full rounded-full",style:{background:V(le.colors)}}):t.jsx("span",{className:"block w-full h-full rounded-full",style:{backgroundColor:le.value}})),je&&le.image&&t.jsx("img",{src:le.image,className:"w-full h-full object-cover rounded-sm",alt:le.name}),X.type==="text"&&le.name]},le.id)})})},X.id)),r.options.length>2&&t.jsxs("div",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-400",children:["+ еÑÑ ",r.options.length-2," опÑ."]})]}):t.jsx("div",{className:"h-full flex items-center justify-center",children:t.jsx("p",{className:"text-xs text-gray-400 italic",children:"ÐÐµÑ Ð¾Ð¿Ñий Ð´Ð»Ñ Ð²ÑбоÑа"})})})]})]}),t.jsxs("div",{className:"mt-auto pt-3",children:[t.jsxs("div",{className:"mb-2 mt-4 flex items-center gap-3 text-[10px] font-bold uppercase tracking-wider text-gray-500 transition-opacity duration-300 group-hover:opacity-0 group-hover/card:opacity-0 pointer-events-none",children:[t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(kn,{className:"w-3.5 h-3.5 text-[#ff3b30]"})," ÐаÑанÑиÑ"]}
2987),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(Pa,{className:"w-3.5 h-3.5 text-[#ff3b30]"})," ÐоÑÑавка"]}),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(tu,{className:"w-3.5 h-3.5 text-[#ff3b30]"})," ÐозвÑаÑ"]})]}),t.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[t.jsx("span",{className:`inline-flex items-center px-3 py-1.5 rounded-xl font-black leading-tight whitespace-nowrap shadow-sm ${G?"bg-[#ff3b30] text-white":"bg-black text-white"}`,children:t.jsxs("span",{className:"text-xl tracking-tight",children:[M(E)," ",nt]})}),$&&(G||$>E)&&t.jsxs("span",{className:"text-base text-gray-400 line-through decoration-red-500/70 whitespace-nowrap font-medium",children:[M($)," ",nt]}),$&&$>E&&t.jsx("span",{className:"inline-flex items-center bg-[#ff3b30] text-white text-xs font-black px-2 py-0.5 rounded-md leading-none",children:"-"+Math.round(($-E)/$*100)+"%"})]})]})]})]})},Lp=({products:r,onAddToCart:o,navigate:d,enableSales:c=!0,favorites:h=[],onToggleFavorite:m,compareList:y=[],onToggleCompare:u})=>{const[f,x]=j.useState(0),[N,b]=j.useState(4),[C,g]=j.useState(!1),[O,E]=j.useState(!1),_=j.useRef(null),k=j.useRef(null);j.useEffect(()=>{const H=()=>{const J=window.innerWidth;J<640?b(1):J<1024?b(2):b(4)};return H(),window.addEventListener("resize",H),()=>window.removeEventListener("resize",H)},[]);const R=Math.max(0,r.length-N);j.useEffect(()=>{try{if(typeof window>"u"||window.innerWidth>=640||r.length<=1)return;const H="vorotex_swipe_hint_seen";if(localStorage.getItem(H))return;E(!0);const Y=setTimeout(()=>{E(!1),localStorage.setItem(H,"1")},2500);return()=>clearTimeout(Y)}catch{}},[r.length]),j.useEffect(()=>{if(C||r.length<=N)return;const H=setInterval(()=>{x(J=>J>=R?0:J+1)},4e3);return()=>clearInterval(H)},[C,R,r.length,N]);const D=()=>{f<R?x(H=>H+1):x(0)},te=()=>{f>0?x(H=>H-1):x(R)},W=H=>{if(k.current=H.touches[0].clientX,O){E(!1);try{localStorage.setItem("vorotex_swipe_hint_seen","1")}catch{}}},$=H=>{if(k.current===null)return;const J=H.changedTouches[0].clientX-k.current;Math.abs(J)>30&&(J<0?D():te()),k.current=null};return t.jsxs("div",{className:"relative group",onMouseEnter:()=>g(!0),onMouseLeave:()=>g(!1),onTouchStart:W,onTouchEnd:$,children:[O&&t.jsx("div",{className:"absolute top-4 left-1/2 -translate-x-1/2 z-20 md:hidden",children:t.jsx("div",{className:"px-3 py-1.5 rounded-full bg-black/70 border border-white/10 text-white text-[10px] font-black uppercase tracking-widest backdrop-blur",children:"СвайпниÑе â"})}),r.length>N&&t.jsx("button",{onClick:te,className:"absolute left-0 top-1/2 -translate-y-1/2 -translate-x-4 z-10 w-12 h-12 flex items-center justify-center bg-white shadow-lg rounded-full text-black hover:text-[#ff3b30] transition-all duration-300 opacity-0 group-hover:opacity-100 disabled:opacity-0 disabled:cursor-default",children:t.jsx(yp,{className:"w-8 h-8"})}),r.length>N&&t.jsx("button",{onClick:D,className:"absolute right-0 top-1/2 -translate-y-1/2 translate-x-4 z-10 w-12 h-12 flex items-center justify-center bg-white shadow-lg rounded-full text-black hover:text-[#ff3b30] transition-all duration-300 opacity-0 group-hover:opacity-100 disabled:opacity-0 disabled:cursor-default",children:t.jsx(ys,{className:"w-8 h-8"})}),t.jsx("div",{className:"overflow-hidden py-10 -my-6",ref:_,children:t.jsx("div",{className:"flex transition-transform duration-700 ease-in-out items-stretch",style:{transform:`translateX(-${f*(100/N)}%)`},children:r.map(H=>t.jsx("div",{className:"flex-shrink-0 px-3",style:{width:`${100/N}%`},children:t.jsx(go,{product:H,onAddToCart:o,navigate:d,enableSales:c,isFavorite:h.some(J=>J.id===H.id),onToggleFavorite:m,isComparing:y.some(J=>J.id===H.id),onToggleCompare:u})},H.id))})}),r.length>N&&t.jsx("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 w-[160px] h-1 bg-white/10 rounded-full overflow-hidden border border-white/10",children:t.jsx("div",{className:"h-full bg-[#ff3b30] transition-all duration-300",style:{width:`${Math.max(8,(f+1)/(R+1)*100)}%`}})})]})}
2987,Fw=({marketplaces:r=[],content:o,logoImage:d,internalShopSettings:c})=>{const h=r.slice(0,3),m=c.enableSales,y=()=>{const f=c.link,x=document.getElementById(f);x?x.scrollIntoView({behavior:"smooth"}):(f.startsWith("http")||f.startsWith("/"))&&window.open(f,"_self")},u=m?o.description:"ÐÑ Ð¾ÑиÑиалÑно пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ð° вÑеÑ
попÑлÑÑнÑÑ
маÑкеÑплейÑаÑ
Ð´Ð»Ñ Ð²Ð°Ñего комÑоÑÑа. ÐÑбиÑайÑе ÑдобнÑÑ Ð´Ð»Ñ Ð²Ð°Ñ Ð¿Ð»Ð¾ÑадкÑ, ÑиÑайÑе оÑзÑÐ²Ñ Ð¸ наÑлаждайÑеÑÑ ÐºÐ°ÑеÑÑвом VOROTEX.";return t.jsxs("section",{id:"marketplaces",className:"relative py-24 overflow-hidden bg-gray-900",children:[t.jsxs("div",{className:"absolute inset-0 z-0",children:[t.jsx("div",{className:"absolute inset-0 bg-cover bg-center opacity-60",style:{backgroundImage:`url('${o.backgroundImage||"/placeholder.svg"}')`}}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/90 via-black/30 to-black/90"}),t.jsx("div",{className:"absolute inset-0 bg-tech-dots opacity-20"})]}),t.jsxs("div",{className:"relative z-10 max-w-[1400px] mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-16 max-w-4xl mx-auto",children:[t.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-white/10 border border-white/10 text-white/90 text-xs font-bold uppercase tracking-wider mb-6 backdrop-blur-md",children:[t.jsx(Jt,{className:"w-3 h-3"})," ÐÑиÑиалÑнÑе паÑÑнеÑÑ"]}),t.jsxs("h2",{className:"text-4xl md:text-5xl font-black text-white uppercase leading-none mb-6 tracking-tight drop-shadow-xl",children:[o.titleMain," ",t.jsx("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-[#ff3b30] to-orange-500",children:o.titleHighlight})]}),t.jsx("p",{className:"text-gray-200 text-lg md:text-xl leading-relaxed font-medium drop-shadow-md max-w-2xl mx-auto",children:u})]}),t.jsxs("div",{className:`grid grid-cols-1 md:grid-cols-2 ${m?"lg:grid-cols-4":"lg:grid-cols-3 max-w-5xl mx-auto"} gap-6`,children:[m&&t.jsxs("button",{onClick:y,className:"group relative h-80 bg-[#ff3b30] backdrop-blur-sm border border-[#ff3b30] rounded-2xl p-6 flex flex-col items-center justify-center transition-all duration-500 hover:-translate-y-2 hover:shadow-[0_0_50px_rgba(255,59,48,0.4)] overflow-hidden order-first",children:[t.jsx("div",{className:"absolute inset-0 bg-tech-dots opacity-30 mix-blend-overlay"}),t.jsx("div",{className:"absolute top-0 right-0 w-64 h-64 bg-white/20 rounded-full blur-3xl -translate-y-1/2 translate-x-1/2 mix-blend-overlay"}),t.jsx("div",{className:"w-36 h-36 mb-8 p-4 flex items-center justify-center relative z-10 transform group-hover:scale-110 transition-transform duration-500",children:c.image?t.jsx("img",{src:c.image,alt:"Shop",className:"w-full h-full object-contain drop-shadow-md"}):t.jsx(_n,{className:"w-full h-full object-contain drop-shadow-md",customImage:d,isDarkText:!1})}),t.jsx("h5",{className:"text-white font-bold text-2xl mb-3 relative z-10 tracking-wide drop-shadow-sm",children:c.title}),t.jsxs("div",{className:"flex items-center gap-2 text-white/90 group-hover:text-white transition-colors font-black text-sm uppercase tracking-wide relative z-10",children:[t.jsx("span",{children:c.subtitle}),t.jsx(Nn,{className:"w-4 h-4"})]})]}),h.map(f=>t.jsxs("a",{href:f.link,target:"_blank",rel:"noopener noreferrer",className:"group relative h-80 bg-white/10 backdrop-blur-md border border-white/20 hover:border-white/40 rounded-2xl p-6 flex flex-col items-center justify-center transition-all duration-500 hover:-translate-y-2 hover:bg-white/15 overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-white/10 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500"}),t.jsx("div",{className:"w-32 h-32 mb-8 relative grayscale group-hover:grayscale-0 transition-all duration-500 flex items-center justify-center group-hover:scale-110",children:t.jsx("img",{src:f.image,alt:f.name,className:"w-full h-full object-contain drop-shadow-lg"})}),t.jsx("h5",{className:"text-white font-bold text-2xl mb-3 tracking-wide group-hover:text-[#ff3b30] transition-colors drop-shadow-sm",children:f.name}),t.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-300 group-hover:text-white transition-colors font-bold uppercase tracking-wide",children:[t.jsx("span",{children:"ÐеÑейÑи"}),t.jsx(B1,{className:"w-4 h-4 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform"})]})]},f.id))]})]})]})},Up=({reviews:r,title:o,products:d,navigate:c})=>{const[h,m]=j.useState(0),[y,u]=j.useState(3),[f,x]=j.useState(null),[N,b]=j.useState([]);j.useEffect(()=>{b([...r].sort(()=>.5-Math.random()))},[r]),j.useEffect(()=>{const R=()=>{window.innerWidth<768?u(1):window.innerWidth<1024?u(2):u(3)};return R(),window.addEventListener("resize",R),()=>window.removeEventListener("resize",R)},[]),j.useEffect(()=>{const R=Math.max(0,N.length-y);h>R&&m(R)},[y,N.length]),j.useEffect(()=>{if(N.length<=y)return;const R=setInterval(()=>{m(D=>{const te=N.length-y;return D>=te?0:D+1})},6e3);return()=>clearInterval(R)},[y,N.length,h]);const C=()=>{N.length<=y||m(R=>{const D=N.length-y;return R>=D?0:R+1})},g=()=>{N.length<=y||m(R=>{const D=N.length-y;return R<=0?D:R-1})},O=R=>{x(R.touches[0].clientX)},E=R=>
2987{if(f===null)return;const D=R.changedTouches[0].clientX-f;Math.abs(D)>30&&(D<0?C():g()),x(null)},_=R=>{c&&R&&c(`/product/${R}`)},k=R=>R.includes("keyboards")||R.includes("mini")?"ÐлавиаÑÑÑа":R.includes("mice")?"ÐÑÑÑ":R.includes("headsets")?"ÐаÑниÑÑÑа":R.includes("mousepads")?"ÐовÑик":R.includes("microphones")?"ÐикÑоÑон":R.includes("accessories")?"":"ÐевайÑ";return t.jsx("section",{id:"reviews",className:"py-20 bg-gray-50 relative group overflow-hidden",onTouchStart:O,onTouchEnd:E,children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl font-bold text-black uppercase tracking-widest mb-2",children:o||"ÐТÐЫÐЫ"}),t.jsx("div",{className:"w-16 h-1 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsxs("div",{className:"relative",children:[N.length>y&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:g,className:"absolute left-0 top-1/2 -translate-y-1/2 -translate-x-4 z-20 w-12 h-12 flex items-center justify-center bg-white shadow-xl rounded-full text-black hover:text-[#ff3b30] transition-all duration-300 opacity-0 group-hover:opacity-100 disabled:opacity-0",children:t.jsx(yp,{className:"w-8 h-8"})}),t.jsx("button",{onClick:C,className:"absolute right-0 top-1/2 -translate-y-1/2 translate-x-4 z-20 w-12 h-12 flex items-center justify-center bg-white shadow-xl rounded-full text-black hover:text-[#ff3b30] transition-all duration-300 opacity-0 group-hover:opacity-100 disabled:opacity-0",children:t.jsx(ys,{className:"w-8 h-8"})})]}),t.jsx("div",{className:"overflow-hidden py-4 -mx-4 px-4",children:t.jsx("div",{className:"flex transition-transform duration-700 ease-in-out items-stretch",style:{transform:`translateX(-${h*(100/y)}%)`},children:N.map(R=>{const D=d==null?void 0:d.find($=>$.id===R.productId),te=D?D.image:R.image;let W=R.product.replace(/VOROTEX/gi,"").trim();if(D){const $=k(D.category),H=D.name.replace(/VOROTEX/gi,"").trim();W=`${$} ${H}`.trim()}else W=W.replace(/^KB\s+/i,"ÐлавиаÑÑÑа ").replace(/^MS\s+/i,"ÐÑÑÑ ");return t.jsx("div",{className:"flex-shrink-0 px-4",style:{width:`${100/y}%`},children:t.jsxs("div",{className:"flex flex-col h-full bg-white p-8 rounded-xl shadow-sm border border-gray-100 hover:shadow-md transition-shadow",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6",children:[t.jsx("div",{children:t.jsxs("h4",{className:"font-bold text-lg md:text-xl text-black flex items-center gap-2 truncate max-w-[180px]",children:[R.name,t.jsx("span",{className:"text-gray-400 text-xs font-normal shrink-0",children:R.source})]})}),t.jsx("div",{className:"flex text-yellow-400 shrink-0",children:[...Array(R.stars)].map(($,H)=>t.jsx(Va,{className:"w-4 h-4 fill-current"},H))})]}),t.jsx("div",{className:"flex-grow mb-6",children:t.jsx("p",{className:"text-gray-600 text-base leading-relaxed line-clamp-5",children:R.text})}),t.jsxs("button",{onClick:()=>_((D==null?void 0:D.id)||R.productId),className:"flex items-center gap-4 pt-4 border-t border-gray-100 mt-auto text-left group/product w-full",children:[t.jsx("div",{className:"w-10 h-10 rounded-lg overflow-hidden shrink-0 bg-gray-50 border border-gray-100 p-1 group-hover/product:border-gray-300 transition-colors",children:te?t.jsx("img",{src:te,alt:R.product,className:"w-full h-full object-contain mix-blend-multiply"}):t.jsx("div",{className:"w-full h-full flex items-center justify-center text-gray-400 font-bold text-lg",children:R.product.charAt(0)})}),t.jsx("span",{className:"font-bold text-xs text-gray-500 uppercase line-clamp-2 group-hover/product:text-[#ff3b30] transition-colors leading-tight",children:W})]})]})},R.id)})})})]})]})})},ej=({logoImage:r,columns:o,socialLinks:d,navigate:c,legalInfo:l_inf})=>{const h=y=>{switch(y){case"telegram":return t.jsx(fo,{className:"w-4 h-4"});case"vk":return t.jsx("span",{className:"font-bold text-xs",children:"VK"});case"youtube":return t.jsx(Mp,{className:"w-4 h-4"});case"discord":return t.jsx(pu,{className:"w-4 h-4"});case"twitter":return t.jsx(bw,{className:"w-4 h-4"});case"instagram":return t.jsx(Gv,{className:"w-4 h-4"});default:return t.jsx(vs,{className:"w-4 h-4"})}},m=y=>{c(y)};return t.jsxs("footer",{className:"bg-[#0a0a0a] border-t border-white/10 pt-16 pb-8 text-white relative",children:[t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-20 pointer-events-none"}),t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4 relative z-10",children:[t.jsx("div",{className:"flex flex-wrap justify-center gap-10 md:gap-16 lg:gap-24 mb-16",children:o.map(y=>t.jsxs("div",{className:"space-y-6 min-w-[140px]",children:[t.jsx("h5",{className:"font-black uppercase tracking-widest text-xs border-b-2 border-[#ff3b30] pb-2 inline-block text-white",children:y.title}),t.jsx("ul",{className:"space-y-3 text-xs font-medium text-gray-400",children:y.links.filter(u=>u.isVisible!==!1).map(u=>t.jsx("li",{onClick:()=>m(u.url),className:"hover:text-[#ff3b30] hover:translate-x-1 cursor-pointer transition-all duration-300 uppercase tracking-wide",children:u.name},u.id))})]},y.id))}),t.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center pt-8 border-t border-white/10",children:[t.jsx("div",{className:"flex items-center gap-4 mb-4 md:mb-0",children:d.map(y=>t.jsx("a",{href:y.url,target:"_blank",rel:"noopener noreferrer",className:"w-10 h-10 bg-white/5 border border-white/10 hover:bg-[#ff3b30] hover:border-[#ff3b30] transition-all duration-300 rounded-full flex items-center justify-center text-white overflow-hidden shadow-lg",title:y.platform,children:y.customIcon?t.jsx("img",{src:y.customIcon,alt:y.platform,className:"w-full h-full object-cover"}):h(y.platform)},y.id))}),t.jsxs("div",{className:"flex flex-col items-center md:items-end",children:[r?t.jsx("img",{src:r,alt:"Logo",className:"h-8 mb-2 object-contain"}):t.jsx("span",{className:"font-black text-lg text-white/30 tracking-widest mb-2",children:"VOROTEX"}),t.jsxs("div",{className:"text-gray-600 text-[10px] font-bold uppercase tracking-widest text-center md:text-right",children:[t.jsxs("p",{style:{whiteSpace:"pre-line"},children:["© ",(new Date).getFullYear()," VOROTEX. ",l_inf]})]})]})]})]})]})},tj=({isOpen:r,onClose:o,cart:d,onRemoveItem:c,onUpdateQuantity:h,navigate:m,onCheckout:y})=>{const u=d.reduce((N,b)=>N+b.price*b.quantity,0),f=N=>{o(),m(`/product/${N}`)},x=()=>{o(),y()};return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`fixed inset-0 bg-black/40 backdrop-blur-sm z-[60] transition-opacity duration-300 ${r?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:o}),t.jsxs("div",{className:`fixed top-0 right-0 h-full w-full max-w-md bg-white shadow-2xl z-[70] transform transition-transform duration-300 ease-out flex flex-col ${r?"translate-x-0":"translate-x-full"}`,children:[t.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-100",children:[t.jsxs("h2",{className:"text-xl font-black text-black uppercase tracking-wide flex items-center gap-2",children:[t.jsx(Jt,{className:"w-5 h-5 text-[#ff3b30]"})," ÐоÑзина",t.jsxs("span",{className:"text-gray-400 text-sm font-medium normal-case ml-1",children:[d.length," ÑоваÑов"]})]}),t.jsx("button",{onClick:o,className:"p-2 text-gray-400 hover:text-black hover:bg-gray-50 rounded-full transition-colors",children:t.jsx(xt,{className:"w-6 h-6"})})]}),t.jsx("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:d.length===0?t.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-gray-300 text-center",children:[t.jsx("div",{className:"w-20 h-20 bg-gray-50 rounded-full flex items-center justify-center mb-4",children:t.jsx(Jt,{className:"w-8 h-8 opacity-20"})}),t.jsx("p",{className:"text-lg font-bold text-gray-400 uppercase",children:"ÐоÑзина пÑÑÑа"}),t.jsx("p",{className:"text-sm mt-1 max-w-[200px]",children:"ÐеÑейдиÑе в каÑалог, ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹Ñи ÑÑо-Ñо инÑеÑеÑное"}),t.jsx("button",{onClick:o,className:"mt-6 text-[#ff3b30] font-bold text-sm uppercase hover:underline",children:"ÐеÑнÑÑÑÑÑ Ðº покÑпкам"})]}):d.map((N,b)=>t.jsxs("div",{className:"flex gap-4 group",children:[t.jsx("div",{onClick:()=>f(N.id),className:"w-24 h-24 rounded-xl overflow-hidden bg-white border border-gray-200 shrink-0 p-2 cursor-pointer hover:border-black transition-colors",children:t.jsx("img",{src:N.image,alt:N.name,className:"w-full h-full object-contain mix-blend-multiply"})}),t.jsxs("div",{className:"flex-1 flex flex-col justify-between py-1",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"flex justify-between items-start",children:[t.jsx("h3",{onClick:()=>f(N.id),className:"font-bold text-black text-sm uppercase leading-tight pr-4 cursor-pointer hover:text-[#ff3b30] transition-colors",children:N.name}),t.jsx("button",{onClick:()=>c(b),className:"text-gray-300 hover:text-red-500 transition-colors -mt-1 p-1",children:t.jsx(jt,{className:"w-4 h-4"})})]}),N.selectedOptions&&Object.keys(N.selectedOptions).length>0&&t.jsx("div",{className:"flex flex-wrap gap-2 mt-1.5",children:Object.entries(N.selectedOptions).map(([C,g])=>t.jsx("span",{className:"text-[10px] text-gray-500 bg-gray-50 px-1.5 py-0.5 rounded border border-gray-200",children:g},C))})]}),t.jsxs("div",{className:"flex items-center justify-between mt-3",children:[t.jsxs("div",{className:"flex items-center gap-1 bg-white rounded-lg border border-gray-300 shadow-sm h-8",children:[t.jsx("button",{onClick:()=>h(b,-1),className:"w-8 h-full flex items-center justify-center text-gray-600 hover:text-black hover:bg-gray-50 rounded-l-lg transition-colors border-r border-gray-100",children:t.jsx(eu,{className:"w-3 h-3"})}),t.jsx("span",{className:"text-sm font-black w-8 text-center text-black tabular-nums",children:N.quantity}),t.jsx("button",{onClick:()=>h(b,1),disabled:N.quantity>=N.stock,className:`w-8 h-full flex items-center justify-center rounded-r-lg transition-colors border-l border-gray-100 ${N.quantity>=N.stock?"text-gray-300 cursor-not-allowed":"text-gray-600 hover:text-black hover:bg-gray-50"}`,children:t.jsx(At,{className:"w-3 h-3"})})]}),t.jsxs("p",{className:"font-black text-black text-sm",children:[N.price.toLocaleStr
2987ing()," ",nt]})]})]})]},`${N.id}-${b}`))}),d.length>0&&t.jsxs("div",{className:"p-6 bg-gray-50 border-t border-gray-100",children:[t.jsxs("div",{className:"space-y-2 mb-6",children:[t.jsxs("div",{className:"flex justify-between text-sm text-gray-500",children:[t.jsxs("span",{children:["ТоваÑÑ (",d.reduce((N,b)=>N+b.quantity,0),")"]}),t.jsxs("span",{children:[u.toLocaleString()," ",nt]})]}),t.jsxs("div",{className:"flex justify-between items-end pt-2 border-t border-gray-200",children:[t.jsx("span",{className:"font-bold text-black uppercase",children:"ÐÑого"}),t.jsxs("span",{className:"text-2xl font-black text-black leading-none",children:[u.toLocaleString()," ",nt]})]})]}),d.some(N=>!N||N.stock<=0||N.quantity>N.stock)&&t.jsx("div",{className:"mt-3 mb-2 text-[12px] text-red-600 font-bold leading-snug text-center",children:"РкоÑзине еÑÑÑ ÑоваÑÑ, коÑоÑÑе законÑилиÑÑ Ð¸Ð»Ð¸ иÑ
менÑÑе, Ñем вÑбÑано. ÐолиÑеÑÑво бÑÐ´ÐµÑ ÑкоÑÑекÑиÑовано."}),t.jsx("div",{className:"mt-4 mb-2 text-[12px] text-gray-500 leading-snug text-center",children:["ÐÐ°Ð¶Ð¸Ð¼Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÑ Â«ÐÑоÑмиÑÑ Ð·Ð°ÐºÐ°Ð·Â», Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ ",t.jsx("a",{href:"/page/policy",className:"underline hover:text-black",children:"УÑловиÑми пÑодажи"})," и ",t.jsx("a",{href:"/page/privacy",className:"underline hover:text-black",children:"ÐолиÑикой конÑиденÑиалÑноÑÑи"}),"."]}),t.jsxs("button",{onClick:x,disabled:d.some(N=>!N||N.stock<=0||N.quantity>N.stock),className:`w-full py-4 font-bold text-sm uppercase rounded-xl transition-colors shadow-lg flex items-center justify-center gap-2 group ${d.some(N=>!N||N.stock<=0||N.quantity>N.stock)?"bg-gray-200 text-gray-400 cursor-not-allowed shadow-none":"bg-[#ff3b30] text-white hover:bg-red-600 shadow-red-500/20"}`,children:["ÐÑоÑмиÑÑ Ð·Ð°ÐºÐ°Ð· ",t.jsx(Cn,{className:"w-4 h-4 group-hover:translate-x-1 transition-transform"})]})]})]})]})},aj=({isOpen:r,onClose:o,cart:d,onClearCart:c,settings:h,currentUser:m,logoImage:y})=>{const[u,f]=j.useState("form"),[x,N]=j.useState(!1),[vxAgree,setVxAgree]=j.useState(!1),[vxCdekCity,setVxCdekCity]=j.useState(""),[vxCdekCities,setVxCdekCities]=j.useState([]),[vxCdekCityCode,setVxCdekCityCode]=j.useState(null),[vxCdekPvz,setVxCdekPvz]=j.useState([]),[vxCdekPvzCode,setVxCdekPvzCode]=j.useState(""),[vxCdekLoading,setVxCdekLoading]=j.useState(!1),[vxCdekCityOpen,setVxCdekCityOpen]=j.useState(!1),[b,C]=j.useState({lastName:"",firstName:"",middleName:"",phone:"",email:"",communicationMethod:"email",zip:"",city:"",street:"",pickupAddress:"",comment:""}),g=j.useMemo(()=>[b.lastName,b.firstName,b.middleName].map(K=>(K||"").trim()).filter(Boolean).join(" ").trim(),[b.lastName,b.firstName,b.middleName]),O=A=>{const K=(A||"").trim().split(/\s+/).filter(Boolean);return{lastName:K[0]||"",firstName:K[1]||"",middleName:K.slice(2).join(" ")||""}};j.useEffect(()=>{if(m){const A=O(m.name||"");C(K=>({...K,...A,email:m.email,phone:m.phone||K.phone,street:m.address||K.street}))}},[m]);const E=j.useMemo(()=>((h==null?void 0:h.deliveryMethods)||[]).filter(A=>A.enabled),[h]),_=j.useMemo(()=>((h==null?void 0:h.paymentMethods)||[]).filter(A=>A.enabled),[h]),[k,R]=j.useState(""),[D,te]=j.useState("");j.useEffect(()=>{E.length>0&&!k&&R(E[0].id)},[E]);const W=E.find(A=>A.id===k),$=(W==null?void 0:W.type)==="pickup",H=j.useMemo(()=>W?_.filter(A=>W.allowedPaymentIds.includes(A.id)):[],[W,_]),J=j.useMemo(()=>H.find(A=>A.id===D),[H,D]);const vxCdekOnCity=A=>{setVxCdekCity(A);setVxCdekCityCode(null);setVxCdekPvz([]);setVxCdekPvzCode("");C(K=>({...K,pickupAddress:""}));if(A.trim().length<2){setVxCdekCities([]);return}clearTimeout(window.__vxCdekCityTimer);window.__vxCdekCityTimer=setTimeout(()=>{fetch(`/api/get_cdek_cities.php?query=${encodeURIComponent(A)}`).then(v=>v.json()).then(v=>{if(v&&v.status==="success")setVxCdekCities(v.cities||[])}).catch(()=>{})},350)},vxCdekPickCity=v=>{setVxCdekCity(v.name);setVxCdekCityOpen(!1);setVxCdekCityCode(v.code);setVxCdekPvz([]);setVxCdekPvzCode("");C(K=>({...K,pickupAddress:""}));setVxCdekLoading(!0);fetch(`/api/get_cdek_pvz.php?city_code=${v.code}`).then(r=>r.json()).then(r=>{setVxCdekLoading(!1);if(r&&r.status==="success")setVxCdekPvz(r.points||[])}).catch(()=>{setVxCdekLoading(!1)})},vxCdekOnPvzSelect=A=>{setVxCdekPvzCode(A);const p=vxCdekPvz.find(v=>v.code===A);C(K=>({...K,pickupAddress:p?`[ÐÐРСÐÐÐ ${p.code}] ${p.address}${p.workTime?" ("+p.workTime+")":""}`:""}))};j.useEffect(()=>{setVxCdekCity("");setVxCdekCities([]);setVxCdekCityCode(null);setVxCdekPvz([]);setVxCdekPvzCode("");setVxCdekCityOpen(!1);C(K=>({...K,pickupAddress:""}))},[k]);j.useEffect(()=>{H.length>0?H.some(K=>K.id===D)||te(H[0].id):te("")},[H,D]);const Y=d.reduce((A,K)=>A+K.price*K.quantity,0),G=(W==null?void 0:(W.priceMode==="included"?0:W.price))||0,Z=J&&J.discount&&J.discount.enabled?(J.discount.type=="percent"?Math.min(Y,Math.max(0,Math.round(Y*(Number(J.discount.value)||0)/100))):Math.min(Y,Math.max(0,Math.round(Number(J.discount.value)||0)))):0,U=Y+G-Z,q=(h==null?void 0:h.minOrderSum)||0,P=Y>=q,pe=()=>{b.phone||C(A=>({...A,phone:"+7"}))},B=()=>{(b.phone==="+7"||b.phone==="+")&&C(A=>({...A,phone:""}))},z=A=>{const K=A.target.value;if(!K){C(M=>({...M,phone:""}));return}let w=K.replace(/\D/g,"");if(K.length<b.phone.length&&K==="+"){C(M=>({...M,phone:""}));return}if(w.length>0)w[0]==="7"||w[0]==="8"?w="7"+w.substring(1):w="7"+w;
2987else{C(M=>({...M,phone:"+7"}));return}w=w.substring(0,11);let V="";w.length>0&&(V+="+7"),w.length>1&&(V+=" ("+w.substring(1,4)),w.length>4&&(V+=") "+w.substring(4,7)),w.length>7&&(V+="-"+w.substring(7,9)),w.length>9&&(V+="-"+w.substring(9,11)),C(M=>({...M,phone:V}))},v=async A=>{var le;if(A.preventDefault(),!vxAgree){oe.error("ÐеобÑ
одимо ÑоглаÑие Ñ ÑÑловиÑми пÑодажи и полиÑикой конÑиденÑиалÑноÑÑи");return}if(!P){oe.error(`ÐинималÑÐ½Ð°Ñ ÑÑмма заказа: ${q} ${nt}`);return}if(!b.lastName.trim()||!b.firstName.trim()){oe.error("УкажиÑе Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ Ð¸ ÐмÑ");return}if(b.phone.length<12){oe.error("ÐведиÑе коÑÑекÑнÑй Ð½Ð¾Ð¼ÐµÑ ÑелеÑона");return}if(!b.email||!b.email.includes("@")){oe.error("ÐведиÑе коÑÑекÑнÑй Email");return}if($&&W.cdekEnabled&&(!vxCdekPvzCode||!b.pickupAddress)){oe.error("ÐÑбеÑиÑе пÑÐ½ÐºÑ Ð²ÑдаÑи СÐÐÐ");return}N(!0);let K="";$?K=`[ÐÐÐ] ${b.pickupAddress}`:K=`${b.zip}, г. ${b.city}, ${b.street}`;const w=(m==null?void 0:m.id)||"",M=(((le=h==null?void 0:h.notifications)==null?void 0:le.orderEmails)||[Bp[0].email]).join(","),X={id:0,userId:w,customer:{lastName:b.lastName.trim(),firstName:b.firstName.trim(),middleName:b.middleName.trim(),name:g,phone:b.phone,email:b.email,communicationMethod:b.communicationMethod==="phone"?"ТелеÑон":"Email",address:K,comment:b.comment},delivery:k,deliveryName:(W==null?void 0:W.name)||"",deliveryDescription:(W==null?void 0:W.description)||"",deliveryCost:G,payment:D,paymentName:(J==null?void 0:J.name)||"",paymentDescription:(J==null?void 0:J.description)||"",items:d.map(xe=>({id:xe.id,name:xe.name,variantId:xe.selectedVariantId,selectedOptions:xe.selectedOptions,quantity:xe.quantity,price:xe.price,image:xe.image})),itemsTotal:Y,total:U,status:"checking",date:new Date().toISOString(),_meta:{site:window.location.origin,logoUrl:y?new URL(y,window.location.origin).toString():""},emailPayload:{adminEmail:M,userEmail:b.email}};try{const xe=new AbortController,ge=setTimeout(()=>xe.abort(),15e3),je=await fetch("/api/create_order.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(X),signal:xe.signal});clearTimeout(ge);const Ne=je.headers.get("content-type");if(je.ok&&Ne&&Ne.includes("application/json")){const Ee=await je.json();if(Ee.status==="success"){const He=String(D||"").toLowerCase(),We=He==="card"||He==="yookassa"||He.includes("yoo")||He.includes("kassa")||He.includes("ÑкаÑÑа")||He.includes("Ñк");if(We){try{oe.loading("ÐеÑенапÑавлÑем на оплаÑÑ...",{duration:1500});const Ve=await fetch("/api/yookassa_create_payment.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({orderId:Ee.orderId,returnUrl:window.location.origin+"/?pay_return=1&orderId="+encodeURIComponent(String(Ee.orderId))})}),Me=Ve.headers.get("content-type")||"";if(!Ve.ok)throw new Error(`HTTP ${Ve.status}`);if(!Me.includes("application/json"))throw new Error("Not JSON");const Qe=await Ve.json();if(Qe.status!=="success"||!Qe.confirmation_url)throw new Error(Qe.message||"ÐÑибка оплаÑÑ");c(),window.location.href=String(Qe.confirmation_url);return}catch(ve){console.warn("YooKassa create payment failed:",ve),oe.error("Ðе ÑдалоÑÑ Ð¿ÐµÑейÑи к оплаÑе. ÐопÑобÑйÑе позже.")}}f("success"),c(),oe.success("ÐлагодаÑим за заказ! ÐÐ°Ñ Ð·Ð°ÐºÐ°Ð· бÑÐ´ÐµÑ Ð¾Ð±ÑабоÑан в ближайÑее вÑемÑ.",{duration:5e3}),Ee.userCreated&&oe.success("ÐккаÑÐ½Ñ Ñоздан. ÐаÑÐ¾Ð»Ñ Ð¾ÑпÑавлен на поÑÑÑ.",{duration:5e3})}else throw new Error("API Error")}else throw new Error("Server returned HTML or unreachable")}catch(xe){console.warn("Order API failed:",xe),oe.error("Ðе ÑдалоÑÑ Ð¾ÑоÑмиÑÑ Ð·Ð°ÐºÐ°Ð·. ÐопÑобÑйÑе позже.")}finally{N(!1)}},T=()=>{o(),setTimeout(()=>{f("form"),C({lastName:"",firstName:"",middleName:"",phone:"",email:"",communicationMethod:"email",zip:"",city:"",street:"",pickupAddress:"",comment:""}),setVxAgree(!1),setVxCdekCity(""),setVxCdekCities([]),setVxCdekCityCode(null),setVxCdekPvz([]),setVxCdekPvzCode(""),setVxCdekCityOpen(!1)},300)};return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`fixed inset-0 bg-black/60 backdrop-blur-sm z-[80] transition-opacity duration-300 ${r?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:T}),t.jsxs("div",{className:`fixed top-0 right-0 h-full w-full max-w-lg bg-white shadow-2xl z-[90] transform transition-transform duration-300 ease-out flex flex-col ${r?"translate-x-0":"translate-x-full"}`,children:[t.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-100",children:[t.jsxs("h2",{className:"text-xl font-black text-black uppercase tracking-wide flex items-center gap-2",children:[t.jsx(po,{className:"w-5 h-5 text-[#ff3b30]"})," ÐÑоÑмление"]}),t.jsx("button",{onClick:T,className:"p-2 text-gray-400 hover:text-black hover:bg-gray-50 rounded-full transition-colors",children:t.jsx(xt,{className:"w-6 h-6"})})]}),t.jsx("div",{className:"flex-1 overflow-y-auto p-6 custom-scrollbar",children:u==="form"?t.jsxs("form",{id:"checkout-form",onSubmit:v,className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"space-y-4",children:[t.jsx("h3",{className:"text-sm font-bold text-black uppercase",children:"ÐонÑакÑнÑе даннÑе"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ *"}),t.jsx("input",{required:!0,value:b.lastName,onChange:A=>C({...b,lastName:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400",placeholder:"Ðванов"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐÐ¼Ñ *"}),t.jsx("input",{required:!0,value:b.firstName,onChange:A=>C({...b,firstName:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400",placeholder:"Ðван"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐÑÑеÑÑво"}),t.jsx("input",{value:b.middleName,onChange:A=>C({...b,middleName:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400",placeholder:"ÐвановиÑ"})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ТелеÑон *"}),t.jsx("input",{required:!0,type:"tel",value:b.phone,onChange:z,onFocus:pe,onBlur:B,className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400 font-mono",placeholder:"+7 (999) 000-00-00",maxLength:18})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"Email *"}),t.jsx("input",{required:!0,type:"email",value:b.email,onChange:A=>C({...b,email:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400",placeholder:"[email protected]"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-2",children:"ÐÑиоÑиÑеÑнÑй ÑпоÑоб ÑвÑзи"}),t.jsxs("div",{className:"flex gap-6",children:[t.jsxs("label",{className:"flex items-center gap-2 cursor-pointer group",children:[t.jsx("div",{className:`w-4 h-4 rounded-full border flex items-center justify-center transition-colors ${b.communicationMethod==="email"?"border-black":"border-gray-300 group-hover:border-gray-400"}`,children:b.communicationMethod==="email"&&t.jsx("div",{className:"w-2 h-2 rounded-full bg-black"})}),t.jsx("input",{type:"radio",name:"commMethod",className:"hidden",checked:b.communicationMethod==="email",onChange:()=>C({...b,communicationMethod:"email"})}),t.jsx("span",{className:`text-sm ${b.communicationMethod==="email"?"font-bold text-black":"text-gray-600 group-hover:text-black"}`,children:"Email"})]}),t.jsxs("label",{className:"flex items-center gap-2 cursor-pointer group",children:[t.jsx("div",{className:`w-4 h-4 rounded-full border flex items-center justify-center transition-colors ${b.communicationMethod==="phone"?"border-black":"border-gray-300 group-hover:border-gray-400"}`,children:b.communicationMethod==="phone"&&t.jsx("div",{className:"w-2 h-2 rounded-full bg-black"})}),t.jsx("input",{type:"radio",name:"commMethod",className:"hidden",checked:b.communicationMethod==="phone",onChange:()=>C({...b,communicationMethod:"phone"})}),t.jsx("span",{className:`text-sm ${b.communicationMethod==="phone"?"font-bold text-black":"text-gray-600 group-hover:text-black"}`,children:"ТелеÑон"})]})]})]})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("h3",{className:"text-sm font-bold text-black uppercase flex items-center gap-2",children:[t.jsx(Pa,{className:"w-4 h-4"})," СпоÑоб доÑÑавки"]}),t.jsx("div",{className:"grid grid-cols-1 gap-3",children:E.length===0?t.jsx("div",{className:"text-sm text-gray-400 italic",children:"ÐÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
ÑпоÑобов доÑÑавки."}):E.map(A=>t.jsxs("div",{onClick:()=>R(A.id),className:`border rounded-lg p-3 cursor-pointer transition-all flex items-center justify-between ${k===A.id?"border-[#ff3b30] bg-red-50":"border-gray-200 hover:border-gray-400"}`,children:[t.jsxs("div",{children:[t.jsx("div",{className:"font-bold text-sm text-black",children:A.name}),A.description&&t.jsx("div",{className:"text-xs text-gray-500",children:A.description})]}),t.jsx("div",{className:"font-bold text-sm text-black",children:A.priceMode==="included"?"ÐеÑплаÑно":A.price===0?"0 â½":`${A.price} â½`})]},A.id))})]}),W&&t.jsxs("div",{className:"space-y-4 animate-fade-in bg-gray-50 p-4 rounded-xl border border-gray-100",children:[t.jsx("h3",{className:"text-sm font-bold text-black uppercase",children:$?"ÐдÑÐµÑ Ð¿ÑнкÑа вÑдаÑи":"ÐдÑÐµÑ Ð´Ð¾ÑÑавки"}),$?(W.cdekEnabled?t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"relative",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐоÑод *"}),t.jsx("input",{required:!0,autoComplete:"off",value:vxCdekCity,onChange:A=>{vxCdekOnCity(A.target.value);setVxCdekCityOpen(!0)},onFocus:()=>setVxCdekCityOpen(!0),onBlur:()=>setTimeout(()=>setVxCdekCityOpen(!1),200),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400",placeholder:"ÐаÑниÑе вводиÑÑ Ð³Ð¾Ñод"}),vxCdekCityOpen&&vxCdekCities.length>0&&t.jsx("div",{className:"absolute z-10 left-0 right-0 mt-1 bg-white border border-gray-300 rounded-lg shadow-lg max-h-52 overflow-y-auto",children:vxCdekCities.map(v=>t.jsxs("div",{onMouseDown:()=>vxCdekPickCity(v),className:"px-3 py-2 text-sm text-black hover:bg-gray-100 cursor-pointer border-b border-gray-100 last:border-b-0",children:[v.name,v.region&&t.jsxs("span",{className:"text-gray-400",children:[" â ",v.region]})]},v.code))}),vxCdekCityOpen&&vxCdekCity.trim().length>=2&&vxCdekCities.length===0&&!vxCdekLoading&&t.jsx("div",{className:"absolute z-10 left-0 right-0 mt-1 bg-white border border-gray-300 rounded-lg shadow-lg px-3 py-2 text-sm text-gray-400",children:"ÐоÑод не найден"})]}),!!vxCdekCityCode&&t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐÑÐ½ÐºÑ Ð²ÑдаÑи *"}),t.jsxs("select",{required:!0,value:vxCdekPvzCode,onChange:A=>vxCdekOnPvzSelect(A.target.value),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none",children:[t.jsx("option",{value:"",children:vxCdekLoading?"ÐагÑÑзка...":vxCdekPvz.length===0?"ÐÐµÑ Ð¿ÑнкÑов вÑдаÑи в ÑÑом гоÑоде":"ÐÑбеÑиÑе пÑÐ½ÐºÑ Ð²ÑдаÑи"}),vxCdekPvz.map(v=>t.jsx("option",{value:v.code,children:v.workTime?`${v.address} â ${v.workTime}`:v.address},v.code))]})]})]}):t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐдÑÐµÑ ÐÐÐ / ÐÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ *"}),t.jsx("input",{required:!0,value:b.pickupAddress,onChange:A=>C({...b,pickupAddress:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black focus:ring-0 outline-none placeholder-gray-400",placeholder:"ÐапÑимеÑ: г. ÐоÑква, Ñл. Ðенина 1, ÐÐРСÐÐÐ"})]})):t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[t.jsxs("div",{className:"col-span-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐндекÑ"}),t.jsx("input",{value:b.zip,onChange:A=>C({...b,zip:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black outline-none",placeholder:"101000"})]}),t.jsxs("div",{className:"col-span-2",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐоÑод *"}),t.jsx("input",{required:!0,value:b.city,onChange:A=>C({...b,city:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black outline-none",placeholder:"ÐоÑква"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"УлиÑа, дом, кваÑÑиÑа *"}),t.jsx("input",{required:!0,value:b.street,onChange:A=>C({...b,street:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black outline-none",placeholder:"Ñл. ÐÑÑкина, д. 10, кв. 5"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1 mt-3",children:"ÐомменÑаÑий к заказÑ"}),t.jsx("textarea",{value:b.comment,onChange:A=>C({...b,comment:A.target.value}),className:"w-full bg-white border border-gray-300 rounded p-2.5 text-sm text-black focus:border-black outline-none h-16 resize-none placeholder-gray-400",placeholder:"Ðод домоÑона, пожеланиÑ..."})]})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsx("h3",{className:"text-sm font-bold text-black uppercase",children:"ÐплаÑа"}),H.length===0?t.jsx("div",{className:"p-3 bg-gray-100 text-gray-500 text-xs rounded border border-gray-200",children:W?"ÐÐ»Ñ Ð²ÑбÑанного ÑпоÑоба доÑÑавки Ð½ÐµÑ Ð´Ð¾ÑÑÑпнÑÑ
меÑодов оплаÑÑ.":"СнаÑала вÑбеÑиÑе ÑпоÑоб доÑÑавки."}):t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:H.map(A=>t.jsxs("div",{onClick:()=>te(A.id),className:`border rounded-lg p-3 cursor-pointer transition-all ${D===A.id?"border-black bg-black text-white":"border-gray-200 text-gray-500 hover:border-black"}`,children:[t.jsxs("div",{className:"font-bold text-xs uppercase text-center mb-1 flex items-center justify-center gap-2 flex-wrap",children:[t.jsx("span",{children:A.name}),A.discount&&A.discount.enabled&&Number(A.discount.value||0)>0&&t.jsxs("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-black uppercase tracking-wider border ${D===A.id?"bg-white/10 text-white border-white/20":"bg-[#ff3b30]/10 text-[#ff3b30] border-[#ff3b30]/20"}`,children:["СÐÐÐÐÐ ",A.discount.type=="percent"?`${A.discount.value}%`:`${A.discount.value} â½`]} )]}),A.description&&t.jsx("div",{className:`text-[10px] text-center ${D===A.id,"text-gray-400"}`,children:A.description})]},A.id))})]}),J&&J.discount&&J.disco
2987unt.enabled&&Z>0&&t.jsx("div",{className:"mt-3 bg-[#ff3b30]/5 border border-[#ff3b30]/15 rounded-xl p-3 text-[12px] font-black uppercase tracking-wide text-black leading-snug",children:((J.discount.promoText||(`Скидка ${J.discount.type=="percent"?J.discount.value+"%":J.discount.value+" â½"} пÑи вÑбоÑе â${J.name}â`))+"" ).toUpperCase()}),t.jsxs("div",{className:"bg-gray-50 p-4 rounded-xl border border-gray-100 mt-auto",children:[t.jsxs("h3",{className:"text-xs font-bold text-gray-500 uppercase mb-3 flex items-center gap-2",children:[t.jsx(Jt,{className:"w-4 h-4"})," ÐÑог"]}),t.jsx("div",{className:"space-y-2 max-h-32 overflow-visible custom-scrollbar pr-2 mb-4 border-b border-gray-200 pb-2",children:d.map((A,K)=>t.jsxs("div",{className:"flex justify-between text-xs text-gray-600",children:[t.jsxs("span",{className:"truncate pr-4",children:[A.quantity,"x ",A.name]}),t.jsxs("span",{className:"font-bold whitespace-nowrap",children:[A.price.toLocaleString()," ",nt]})]},K))}),t.jsxs("div",{className:"space-y-1",children:[t.jsxs("div",{className:"flex justify-between text-sm text-gray-500",children:[t.jsx("span",{children:"ТоваÑÑ"}),t.jsxs("span",{children:[Y.toLocaleString()," ",nt]})]}),t.jsxs("div",{className:"flex justify-between text-sm text-gray-500",children:[t.jsx("span",{children:"ÐоÑÑавка"}),t.jsx("span",{className:G===0?"text-green-600 font-bold uppercase text-xs":"",children:G===0?"ÐеÑплаÑно":`${G.toLocaleString()} ${nt}`})]}),Z>0&&t.jsxs("div",{className:"flex justify-between text-sm text-gray-500",children:[t.jsx("span",{className:"font-bold uppercase text-[11px]",children:"Скидка (оплаÑа)"}),t.jsxs("span",{className:"font-bold text-[#ff3b30]",children:["- ",Z.toLocaleString()," ",nt]})]})]}),t.jsxs("div",{className:"border-t border-gray-200 mt-3 pt-3 flex justify-between items-center",children:[t.jsx("span",{className:"font-bold text-black uppercase",children:"ÐÑого к оплаÑе"}),t.jsxs("span",{className:"font-black text-xl text-[#ff3b30]",children:[U.toLocaleString()," ",nt]})]}),!P&&t.jsxs("div",{className:"mt-3 bg-red-50 text-red-600 text-xs p-2 rounded flex items-center gap-2 font-medium",children:[t.jsx(to,{className:"w-4 h-4"}),"ÐинималÑÐ½Ð°Ñ ÑÑмма заказа: ",q," ",nt]})]})]}):t.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center animate-fade-in",children:[t.jsx("div",{className:"w-24 h-24 bg-green-500 rounded-full flex items-center justify-center mb-6 shadow-xl shadow-green-200",children:t.jsx(wn,{className:"w-12 h-12 text-white"})}),t.jsx("h2",{className:"text-2xl font-black text-black uppercase mb-2",children:"Ðаказ пÑинÑÑ!"}),t.jsx("p",{className:"text-gray-500 max-w-xs mx-auto mb-8",children:"ÐлагодаÑим за заказ! ÐÐ°Ñ Ð·Ð°ÐºÐ°Ð· бÑÐ´ÐµÑ Ð¾Ð±ÑабоÑан в ближайÑее вÑемÑ. ÐодÑвеÑждение оÑпÑавлено на ваÑÑ Ð¿Ð¾ÑÑÑ."}),t.jsx("button",{onClick:T,className:"px-8 py-3 bg-black text-white font-bold uppercase rounded-xl hover:bg-[#ff3b30] transition-colors",children:"ÐеÑнÑÑÑÑÑ Ð² магазин"})]})}),u==="form"&&t.jsxs("div",{className:"p-6 bg-gray-50 border-t border-gray-200",children:[t.jsxs("label",{className:"flex items-start gap-2 mb-3 text-[12px] text-gray-600 leading-snug cursor-pointer select-none",children:[t.jsx("input",{type:"checkbox",checked:vxAgree,onChange:A=>setVxAgree(A.target.checked),className:"mt-0.5 w-4 h-4 accent-[#ff3b30] cursor-pointer shrink-0"}),t.jsxs("span",{children:["Я ÑоглаÑен Ñ ",t.jsx("a",{href:"/page/policy",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-black",children:"ÑÑловиÑми пÑодажи"})," и ",t.jsx("a",{href:"/page/privacy",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-black",children:"полиÑикой конÑиденÑиалÑноÑÑи"}),", вклÑÑÐ°Ñ Ð¾Ð±ÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
."]})]}),t.jsx("button",{type:"submit",form:"checkout-form",disabled:x||d.length===0||!P||!D||!vxAgree,className:"w-full py-4 bg-[#ff3b30] text-white font-bold text-sm uppercase rounded-xl hover:bg-red-600 transition-colors shadow-lg shadow-red-500/20 flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",children:x?t.jsx(so,{className:"w-5 h-5 animate-spin"}):"ÐодÑвеÑдиÑÑ Ð·Ð°ÐºÐ°Ð·"})]})]})]})},lj=({categories:r=[],navigate:o,showTitle:d=!0})=>{const c=m=>{switch(m){case 0:return"md:col-span-2 md:row-span-2";case 1:return"md:col-span-1 md:row-span-1";case 2:return"md:col-span-1 md:row-span-1";case 3:return"md:col-span-2 md:row-span-1";case 4:return"md:col-span-2 md:row-span-1";case 5:return"md:col-span-2 md:row-span-1";default:return"md:col-span-1 md:row-span-1"}},h=m=>{if(m.startsWith("/")){o(m),window.scrollTo(0,0);return}const y=document.getElementById(m);if(y){y.scrollIntoView({behavior:"smooth"});return}if(m.startsWith("http")){window.open(m,"_blank");return}o(`/search?q=${encodeURIComponent(m)}`)};return!r||r.length===0?null:t.jsxs("section",{id:"catalog",className:`max-w-[1400px] mx-auto px-4 ${d?"py-12":"py-2 md:py-8"}`,children:[d&&t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("h2",{className:"text-3xl font-bold text-black uppercase tracking-widest mb-2",children:"ÐаÑалог"}),t.jsx("div",{className:"w-16 h-1 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4 auto-rows-[320px] md:auto-rows-[320px]",children:r.map((m,y)=>t.jsxs("div",{onClick:()=>h(m.link),className:`${c(y)} relative group overflow-hidden rounded-2xl cursor-pointer`,children:[t.jsx("img",{src:m.image,className:"w-full h-full object-cover transition-transform duration-500 group-hover:scale-105",alt:m.name}),t.jsx("div",{className:"absolute inset-0 bg-black/30 group-hover:bg-black/20 transition-colors"}),t.jsx("span",{className:`absolute bottom-6 left-6 text-white font-bold uppercase tracking-wider drop-shadow-lg ${y===0?"text-3xl md:text-4xl":"text-2xl"}`,children:m.name})]},m.id))})]})},sj=({categories:r,products:o,onAddToCart:d,navigate:c,seo:h,enableSales:m,favorites:y=[],onToggleFavorite:u,compareList:f=[],onToggleCompare:x})=>{const[N,b]=j.useState("default"),C=j.useMemo(()=>{let g=[...o];switch(N){case"price-asc":return g.sort((O,E)=>(O.price||0)-(E.price||0));case"price-desc":return g.sort((O,E)=>(E.price||0)-(O.price||0));case"name-asc":return g.sort((O,E)=>O.name.localeCompare(E.name));case"name-desc":return g.sort((O,E)=>E.name.localeCompare(O.name));default:return g}},[o,N]);return j.useEffect(()=>{if(h){document.title=h.title||"ÐаÑалог | VOROTEX";const g=(D,te)=>{let W=document.querySelector(`meta[name="${D}"]`);W||(W=document.createElement("meta"),W.setAttribute("name",D),document.head.appendChild(W)),W.setAttribute("content",te)},O=(D,te)=>{let W=document.querySelector(`meta[property="${D}"]`);W||(W=document.createElement("meta"),W.setAttribute("property",D),document.head.appendChild(W)),W.setAttribute("content",te)},E=D=>{let te=document.querySelector('link[rel="canonical"]');
2987te||(te=document.createElement("link"),te.setAttribute("rel","canonical"),document.head.appendChild(te)),te.setAttribute("href",D)};g("description",h.description||""),h.keywords&&g("keywords",h.keywords),h.ogImage&&O("og:image",h.ogImage);const _=h.indexing!==!1?"index, follow":"noindex, nofollow";g("robots",_);const R=`${window.location.origin}/catalog`;E(R),O("og:type","website"),O("og:url",R),O("og:title",h.title||"ÐаÑалог | VOROTEX"),O("og:description",h.description||"")}},[h]),t.jsx("div",{className:"pt-28 md:pt-32 pb-20 min-h-screen bg-white",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4",children:[t.jsxs("button",{onClick:()=>c("/"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-4 transition-colors group font-medium text-xs md:text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-3 h-3 md:w-4 md:h-4 group-hover:-translate-x-1 transition-transform"})," Ðа главнÑÑ"]}),t.jsxs("div",{className:"mb-4 border-b border-gray-100 pb-2",children:[t.jsxs("h1",{className:"text-3xl md:text-6xl font-black uppercase text-black mb-2 tracking-tighter flex items-center gap-3 md:gap-4",children:[t.jsx(lo,{className:"w-8 h-8 md:w-16 md:h-16 text-[#ff3b30]"}),"ÐаÑалог"]}),t.jsx("p",{className:"text-sm md:text-lg text-gray-600 w-full md:whitespace-nowrap",children:"ÐолнÑй аÑÑоÑÑÐ¸Ð¼ÐµÐ½Ñ Ð¿ÑодÑкÑии VOROTEX. ÐÑбеÑиÑе каÑегоÑÐ¸Ñ Ð¸Ð»Ð¸ ÑмоÑÑиÑе вÑе ÑоваÑÑ Ð½Ð¸Ð¶Ðµ."})]}),t.jsx("div",{className:"mb-8 md:mb-12",children:t.jsx(lj,{categories:r,navigate:c,showTitle:!1})}),t.jsxs("div",{className:"mb-6 md:mb-8 flex flex-row items-center justify-between gap-4",children:[t.jsx("h2",{className:"text-lg md:text-2xl font-bold text-black uppercase tracking-wide",children:"ÐÑе ÑоваÑÑ"}),t.jsx("div",{className:"flex items-center gap-3",children:t.jsxs("div",{className:"relative group min-w-[140px] md:min-w-[200px]",children:[t.jsx(bp,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 md:w-4 md:h-4 text-gray-500 pointer-events-none group-hover:text-black transition-colors"}),t.jsxs("select",{value:N,onChange:g=>b(g.target.value),className:"appearance-none pl-9 md:pl-10 pr-8 py-2 md:py-2.5 bg-gray-50 border border-gray-200 text-black text-[10px] md:text-xs font-bold uppercase rounded-lg focus:ring-1 focus:ring-black focus:border-black block w-full outline-none cursor-pointer hover:bg-gray-100 transition-colors",children:[t.jsx("option",{value:"default",children:"Ðо ÑмолÑаниÑ"}),t.jsx("option",{value:"price-asc",children:"Цена: Ðо возÑаÑÑаниÑ"}),t.jsx("option",{value:"price-desc",children:"Цена: Ðо ÑбÑваниÑ"}),t.jsx("option",{value:"name-asc",children:"Ðазвание (Ð-Я)"}),t.jsx("option",{value:"name-desc",children:"Ðазвание (Я-Ð)"})]}),t.jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none",children:t.jsx(Y2,{className:"w-3 h-3 text-gray-400"})})]})})]}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:C.map(g=>t.jsx("div",{className:"h-[480px]",children:t.jsx(go,{product:g,onAddToCart:d,navigate:c,enableSales:m,isFavorite:y.some(O=>O.id===g.id),onToggleFavorite:u,isComparing:f.some(O=>O.id===g.id),onToggleCompare:x})},g.id))})]})})},rj=({products:r,category:o,filters:d,onFilterChange:c,isOpenMobile:h,onCloseMobile:m})=>{const[y,u]=j.useState({price:!0,colors:!0}),[f,x]=j.useState(!1),N=G=>G.replace(/\w\S*/g,U=>U.charAt(0).toUpperCase()+U.substring(1).toLowerCase()),S=G=>{let U=G&&typeof G.price=="number"?G.price:0;try{if(G&&Array.isArray(G.variants)&&G.variants.length){let q=null;for(let P=0;P<G.variants.length;P++){const pe=G.variants[P]&&G.variants[P].price;typeof pe=="number"&&!Number.isNaN(pe)&&(q=q===null?pe:Math.min(q,pe))}q!==null&&(U=q)}}catch(q){}return U},b=(G,U)=>{const q=G.trim();if(U){const P=U.groups.find(pe=>pe.variations.some(B=>B.toLowerCase()===q.toLowerCase()));if(P)return P.display}return N(q)},C=(G,U,q)=>{var P,pe,B;if(S(G)<U.priceRange[0]||S(G)>U.priceRange[1]||q!=="colors"&&U.colors.length>0&&!((P=G.options)==null?void 0:P.some(v=>v.type==="color"&&v.values.some(T=>U.colors.includes(T.name)))))return!1;for(const[z,v]of Object.entries(U.specs)){if(z===q||v.length===0)continue;const T=(pe=G.specs)==null?void 0:pe[z];if(!T)return!1;const A=(B=o.filterSettings)==null?void 0:B.find(V=>V.key===z);if(!T.split(/[,/]/).map(V=>V.trim()).some(V=>{const M=b(V,A);return v.includes(M)}))return!1}return!0},g=G=>{if(!G||G.length===0)return"transparent";if(G.length===1)return G[0];const U=100/G.length;return`conic-gradient(${G.map((P,pe)=>`${P} ${pe*U}% ${(pe+1)*U}%`).join(", ")})`},O=j.useMemo(()=>{let G=1/0,U=-1/0;return r.forEach(q=>{const P=S(q);P<G&&(G=P),P>U&&(U=P)}),{min:G===1/0?0:G,max:U===-1/0?1e4:U}},[r]);j.useEffect(()=>{!f&&O.max>0&&(d.priceRange[0]===0&&d.priceRange[1]===1e5&&c({...d,priceRange:[O.min,O.max]}),x(!0))},[O,d,c,f]);const E=j.useMemo(()=>{const G={},U={},q={},P=o.filterSettings||[],pe=["ÐеÑ","РазмеÑÑ","Ðлина кабелÑ","РабоÑий Ñок","ÐолиÑеÑÑво клавиÑ","РазÑеÑение даÑÑика","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ","ЧÑвÑÑвиÑелÑноÑÑÑ","ЧаÑÑоÑнÑй диапазон","ÐмпеданÑ","ÐикÑоÑон"],B=v=>(U[v]||(U[v]=new Map),U[v]);r.forEach(v=>{var T;C(v,d,"colors")&&((T=v.options)==null||T.forEach(A=>
2987{A.type==="color"&&A.values.forEach(K=>{K.colors?q[K.name]=K.colors:K.value&&(q[K.name]=K.value),G[K.name]=(G[K.name]||0)+1})}))});const z=new Set;return r.forEach(v=>{v.specs&&Object.keys(v.specs).forEach(T=>z.add(T))}),z.forEach(v=>{const T=P.find(K=>K.key===v);if(T&&!T.isVisible||!T&&pe.includes(v))return;const A=B(v);r.forEach(K=>{var w;if(C(K,d,v)){const V=(w=K.specs)==null?void 0:w[v];V&&V.split(/[,/]/).map(X=>X.trim()).forEach(X=>{if(X){const le=b(X,T);A.set(le,(A.get(le)||0)+1)}})}})}),{colorCounts:G,colorMap:q,specValuesMap:U}},[r,o,d]),_=G=>{u(U=>({...U,[G]:!U[G]}))},k=(G,U)=>{let q=parseInt(G.target.value)||0;U===0&&(q=Math.min(q,d.priceRange[1])),U===1&&(q=Math.max(q,d.priceRange[0]));const P=[...d.priceRange];P[U]=q,c({...d,priceRange:P})},R=(G,U)=>{const q=parseInt(G.target.value),P=[...d.priceRange];P[U]=q,P[0]>P[1]&&(U===0?P[0]=P[1]:P[1]=P[0]),c({...d,priceRange:P})},D=(G,U)=>{const q=d.specs[G]||[],P=q.includes(U)?q.filter(pe=>pe!==U):[...q,U];c({...d,specs:{...d.specs,[G]:P}})},te=G=>{const U=d.colors.includes(G)?d.colors.filter(q=>q!==G):[...d.colors,G];c({...d,colors:U})},W=()=>{c({priceRange:[O.min,O.max],specs:{},colors:[]})},$=(G,U,q,P,pe)=>t.jsx("label",{className:`flex items-center justify-between gap-3 cursor-pointer group py-1.5 select-none hover:bg-gray-50 rounded px-1 -mx-1 transition-colors ${pe===0&&!G?"opacity-50 pointer-events-none":""}`,children:t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:`w-5 h-5 border-2 rounded-md flex items-center justify-center transition-all duration-200 ${G?"bg-black border-black":"border-gray-300 bg-white group-hover:border-gray-400"}`,children:G&&t.jsx(eo,{className:"w-3.5 h-3.5 text-white stroke-[3px]"})}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:`text-sm font-medium ${G?"text-black":"text-gray-600 group-hover:text-black"}`,children:q}),P&&t.jsxs("div",{className:"relative group/tooltip",children:[t.jsx(av,{className:"w-3.5 h-3.5 text-gray-300 hover:text-black transition-colors"}),t.jsxs("div",{className:"absolute left-full top-1/2 -translate-y-1/2 ml-2 w-48 bg-black text-white text-[10px] p-2 rounded shadow-lg opacity-0 group-hover/tooltip:opacity-100 pointer-events-none transition-opacity z-50",children:[P,t.jsx("div",{className:"absolute right-full top-1/2 -translate-y-1/2 border-4 border-transparent border-r-black"})]})]})]})]})}),H=Math.min((d.priceRange[0]-O.min)/(O.max-O.min)*100,100),J=Math.min((d.priceRange[1]-O.min)/(O.max-O.min)*100,100),Y=` 2988 bg-white lg:bg-white 2989 fixed inset-y-0 left-0 z-[100] w-80 lg:w-auto lg:static lg:block 2990 transform transition-transform duration-300 ease-in-out lg:transform-none 2991 ${h?"translate-x-0 shadow-2xl":"-translate-x-full lg:shadow-none"} 2992 overflow-y-auto overscroll-behavior-contain custom-scrollbar 2993 lg:rounded-2xl lg:shadow-lg lg:border lg:border-gray-200 lg:p-6 p-6 2994 `;return t.jsxs(t.Fragment,{children:[h&&t.jsx("div",{className:"fixed inset-0 bg-black/60 backdrop-blur-sm z-[90] lg:hidden",onClick:m}),t.jsxs("aside",{className:Y,children:[t.jsx("style",{children:` 2995 .range-slider-thumb::-webkit-slider-thumb { 2996 pointer-events: all; 2997 width: 16px; 2998 height: 16px; 2999 -webkit-appearance: none; 3000 background-color: black; 3001 border: 2px solid white; 3002 border-radius: 50%; 3003 box-shadow: 0 0 2px rgba(0,0,0,0.5); 3004 cursor: pointer; 3005 } 3006 .range-slider-thumb::-moz-range-thumb { 3007 pointer-events: all; 3008 width: 16px; 3009 height: 16px; 3010 background-color: black; 3011 border: 2px solid white; 3012 border-radius: 50%; 3013 box-shadow: 0 0 2px rgba(0,0,0,0.5); 3014 cursor: pointer; 3015 } 3016 `}),t.jsxs("div",{className:"flex items-center justify-between mb-6 lg:hidden sticky top-0 bg-white z-10 pb-2 border-b border-gray-100",children:[t.jsxs("h2",{className:"text-xl font-black uppercase flex items-center gap-2",children:[t.jsx(pr,{className:"w-5 h-5 text-[#ff3b30]"})," ФилÑÑÑÑ"]}),t.jsx("button",{onClick:m,className:"p-2 -mr-2 hover:bg-gray-100 rounded-full transition-colors",children:t.jsx(xt,{className:"w-6 h-6 text-gray-900"})})]}),t.jsxs("div",{className:"flex flex-col gap-3 overflow-x-hidden",children:[t.jsxs("div",{className:"border-b border-gray-100 pb-4 mb-4 last:border-none",children:[t.jsxs("button",{className:"flex items-center justify-between w-full group",style:{minHeight:"44px",display:"flex",alignItems:"center",marginBottom:"4px"},onClick:()=>_("price"),children:[t.jsxs("span",{className:"font-black text-[15px] uppercase text-black group-hover:text-[#ff3b30] transition-colors",children:["Цена, ",nt]}),y.price?t.jsx(Ft,{className:"w-5 h-5 text-[#ff3b30]"}):t.jsx(Mt,{className:"w-5 h-5 text-gray-400"})]}),y.price&&t.jsxs("div",{className:"space-y-4 animate-fade-in bg-gray-50/50 p-3 rounded-lg border border-gray-100 mb-2",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("div",{className:"relative flex-1",children:[t.jsx("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-[10px] text-gray-400 font-bold uppercase",children:"оÑ"}),t.jsx("input",{type:"number",value:d.priceRange[0],onChange:G=>k(G,0),className:"w-full bg-white border border-gray-200 rounded-md py-1.5 pl-7 pr-2 text-xs font-bold text-black focus:ring-1 focus:ring-[#ff3b30] focus:border-[#ff3b30] transition-all outline-none",min:O.min,max:O.max})]}),t.jsx("span",{className:"text-gray-300",children:"â"}),t.jsxs("div",{className:"relative flex-1",children:[t.jsx("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-[10px] text-gray-400 font-bold uppercase",children:"до"}),t.jsx("input",{type:"number",value:d.priceRange[1],onChange:G=>k(G,1),className:"w-full bg-white border border-gray-200 rounded-md py-1.5 pl-7 pr-2 text-xs font-bold text-black focus:ring-1 focus:ring-[#ff3b30] focus:border-[#ff3b30] transition-all outline-none",min:O.min,max:O.max})]})]}),t.jsxs("div",{className:"relative w-full h-1 bg-gray-200 rounded-full mt-2 mx-1",children:[t.jsx("div",{className:"absolute h-full bg-[#ff3b30] rounded-full",style:{left:`${H}%`,width:`${Math.max(0,J-H)}%`}}),t.jsx("input",{type:"range",min:O.min,max:O.max,value:d.priceRange[0],onChange:G=>R(G,0),className:"absolute w-full h-full appearance-none bg-transparent pointer-events-none range-slider-thumb -top-[6px] left-0 z-20"}),t.jsx("input",{type:"range",min:O.min,max:O.max,value:d.priceRange[1],onChange:G=>R(G,1),className:"absolute w-full h-full appearance-none bg-transparent pointer-events-none range-slider-thumb -top-[6px] left-0 z-20"})]})]})]}),Object.keys(E.colorCounts).length>0&&t.jsxs("div",{className:"border-b border-gray-100 pb-4 mb-4 last:border-none",children:[t.jsxs("button",{className:"flex items-center justify-between w-full group",style:{minHeight:"44px",display:"flex",alignItems:"center",marginBottom:"4px"},onClick:()=>_("colors"),children:[t.jsx("span",{className:"font-black text-[15px] uppercase text-black group-hover:text-[#ff3b30] transition-colors",children:"ЦвеÑ"}),y.colors?t.jsx(Ft,{className:"w-4 h-4 text-gray-400"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}
3016),y.colors&&t.jsx("div",{className:"flex flex-wrap gap-2 animate-fade-in pb-6 mb-2",style:{paddingLeft:"12px",paddingTop:"8px",position:"relative",zIndex:"50",height:"auto",maxHeight:"none",overflow:"visible"},children:Object.entries(E.colorCounts).map(([G,U])=>{const q=d.colors.includes(G),P=E.colorMap[G],pe=Array.isArray(P)?{background:g(P)}:{backgroundColor:P},B=U===0;return t.jsxs("button",{onClick:()=>!B&&te(G),disabled:B,className:`w-9 h-9 rounded-full border-2 transition-all relative group flex items-center justify-center ${B?"opacity-30 cursor-not-allowed border-gray-200":q?"border-black ring-2 ring-black/10 scale-110 shadow-sm":"border-gray-200 hover:border-gray-400 hover:scale-105"}`,children:[t.jsxs("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-black text-white text-[9px] font-bold uppercase rounded shadow-2xl opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-[100]",children:[G,t.jsx("div",{className:"absolute top-full left-1/2 -translate-x-1/2 -mt-[1px] border-4 border-transparent border-t-black"})]}),t.jsx("div",{className:"absolute inset-1 rounded-full shadow-inner",style:pe}),q&&t.jsx(eo,{className:"w-4 h-4 text-white drop-shadow-md z-10 stroke-[3px]"})]},G)})})]}),Object.entries(E.specValuesMap).sort((G,U)=>{const q=o.filterSettings||[],P=q.findIndex(B=>B.key===G[0]),pe=q.findIndex(B=>B.key===U[0]);return P!==-1&&pe!==-1?P-pe:P!==-1?-1:pe!==-1?1:G[0].localeCompare(U[0])}).map(([G,U])=>{var B;const q=Array.from(U.entries()).map(([z,v])=>({val:z,count:v}));if(q.length===0)return null;const P=(B=o.filterSettings)==null?void 0:B.find(z=>z.key===G),pe=q.sort((z,v)=>{if(!P||P.groups.length===0)return z.val.localeCompare(v.val);const T=P.groups.findIndex(K=>K.display===z.val),A=P.groups.findIndex(K=>K.display===v.val);return T!==-1&&A!==-1?T-A:T!==-1?-1:A!==-1?1:z.val.localeCompare(v.val)});return t.jsxs("div",{className:"border-b border-gray-100 pb-6 last:border-none last:pb-0",children:[t.jsxs("button",{className:"flex items-center justify-between w-full group",style:{minHeight:"44px",display:"flex",alignItems:"center",marginBottom:"4px"},onClick:()=>_(G),children:[t.jsx("span",{className:"font-black text-[15px] uppercase text-black group-hover:text-[#ff3b30] transition-colors text-left",children:G}),y[G]?t.jsx(Ft,{className:"w-4 h-4 text-gray-400"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),y[G]&&t.jsx("div",{className:"flex flex-col gap-1.5 animate-fade-in pb-2",style:{height:"auto",maxHeight:"none",overflow:"visible"},children:pe.map(({val:z,count:v})=>{var K;const T=P==null?void 0:P.groups.find(w=>w.display===z),A=T==null?void 0:T.tooltip;return t.jsx("div",{onClick:()=>v>0&&D(G,z),children:$(((K=d.specs[G])==null?void 0:K.includes(z))||!1,()=>{},z,A,v)},z)})})]},G)}),t.jsx("button",{onClick:W,className:"w-full py-3 border border-gray-200 text-gray-500 rounded-lg text-xs font-bold uppercase hover:bg-gray-50 hover:text-black transition-colors",children:"СбÑоÑиÑÑ ÑилÑÑÑÑ"})]})]})]})},nj=({categories:r,products:o,onAddToCart:d,navigate:c,categorySlug:h,enableSales:m,favorites:y=[],onToggleFavorite:u,compareList:f=[],onToggleCompare:x})=>{const N=h,b=r.find(J=>J.slug===N),C=o.filter(J=>J.category===(b==null?void 0:b.id)),[g,O]=j.useState({priceRange:[0,1e5],specs:{},colors:[]}),[E,_]=j.useState(!1),[k,R]=j.useState("default"),D=(b==null?void 0:b.showFilters)!==!1,te=J=>J.replace(/\w\S*/g,Y=>Y.charAt(0).toUpperCase()+Y.substring(1).toLowerCase()),W=J=>{const Y=J%100,G=J%10;return Y>10&&Y<20?`Ðайдено ${J} ÑоваÑов`:G>1&&G<5?`Ðайдено ${J} ÑоваÑа`:G===1?`Ðайден ${J} ÑоваÑ`:`Ðайдено ${J} ÑоваÑов`},Q=Y=>{let G=Y&&typeof Y.price=="number"?Y.price:0;try{if(Y&&Array.isArray(Y.variants)&&Y.variants.length){let U=null;for(let q=0;q<Y.variants.length;q++){const P=Y.variants[q]&&Y.variants[q].price;typeof P=="number"&&!Number.isNaN(P)&&(U=U===null?P:Math.min(U,P))}U!==null&&(G=U)}}catch(U){}return G},$=j.useMemo(()=>{let J=[...C];switch(D&&(J=J.filter(Y=>Q(Y)>=g.priceRange[0]&&Q(Y)<=g.priceRange[1]),g.colors.length>0&&(J=J.filter(Y=>{var G;return(G=Y.options)==null?void 0:G.some(U=>U.type==="color"&&U.values.some(q=>g.colors.includes(q.name)))})),Object.keys(g.specs).length>0&&(J=J.filter(Y=>Y.specs?Object.entries(g.specs).every(([G,U])=>{var z;const q=U;if(q.length===0)return!0;const P=Y.specs[G];if(!P)return!1;const pe=(z=b==null?void 0:b.filterSettings)==null?void 0:z.find(v=>v.key===G);return P.split(/[,/]/).map(v=>v.trim()).some(v=>{const T=v.trim();let A=T;if(pe){const K=pe.groups.find(w=>w.variations.some(V=>V.toLowerCase()===T.toLowerCase()));K&&(A=K.display)}else A=te(T);return q.includes(A)})}):!1))),k){case"price-asc":J.sort((Y,G)=>(Q(Y)||0)-(Q(G)||0));break;case"price-desc":J.sort((Y,G)=>(Q(G)||0)-(Q(Y)||0));break;case"name-asc":J.sort((Y,G)=>Y.name.localeCompare(G.name));break;case"name-desc":J.sort((Y,G)=>G.name.localeCompare(Y.name));break}return J},[C,k,g,b,D]);j.useEffect(()=>{var J,Y,G,U,q,P,pe;
3016if(b){document.title=((J=b.seo)==null?void 0:J.title)||`${b.name} | VOROTEX`;const B=(V,M)=>{let X=document.querySelector(`meta[name="${V}"]`);X||(X=document.createElement("meta"),X.setAttribute("name",V),document.head.appendChild(X)),X.setAttribute("content",M)},z=(V,M)=>{let X=document.querySelector(`meta[property="${V}"]`);X||(X=document.createElement("meta"),X.setAttribute("property",V),document.head.appendChild(X)),X.setAttribute("content",M)},v=V=>{let M=document.querySelector('link[rel="canonical"]');M||(M=document.createElement("link"),M.setAttribute("rel","canonical"),document.head.appendChild(M)),M.setAttribute("href",V)},T=((Y=b.seo)==null?void 0:Y.description)||b.description||`${b.name} â ÑоваÑÑ VOROTEX`;B("description",T),(G=b.seo)!=null&&G.keywords&&B("keywords",b.seo.keywords);const A=((U=b.seo)==null?void 0:U.indexing)!==!1?"index, follow":"noindex, nofollow";B("robots",A);const w=`${window.location.origin}/category/${encodeURIComponent(b.slug||b.id)}`;v(w),z("og:type","website"),z("og:url",w),z("og:title",((q=b.seo)==null?void 0:q.title)||`${b.name} | VOROTEX`),z("og:description",T),((P=b.seo)!=null&&P.ogImage||b.image)&&z("og:image",((pe=b.seo)==null?void 0:pe.ogImage)||b.image)}},[b]);const H=g.colors.length>0||Object.values(g.specs).some(J=>J.length>0)||C.length>0&&(g.priceRange[0]>Math.min(...C.map(J=>Q(J)))||g.priceRange[1]<Math.max(...C.map(J=>Q(J))));return b?t.jsx("div",{className:"pt-32 pb-20 min-h-screen bg-white relative",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4",children:[t.jsxs("button",{onClick:()=>c("/catalog"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-8 transition-colors group font-medium text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"})," РкаÑалог"]}),t.jsxs("div",{className:"relative rounded-2xl overflow-hidden mb-8 bg-black h-[150px] md:h-[250px] group",children:[t.jsx("img",{src:b.image,alt:b.name,className:"w-full h-full object-cover opacity-60 group-hover:scale-105 transition-transform duration-700"}),t.jsxs("div",{className:"absolute inset-0 bg-gradient-to-r from-black/80 to-transparent flex flex-col justify-center px-8 md:px-16 pointer-events-none",children:[t.jsx("span",{className:"text-[#ff3b30] font-bold tracking-widest text-xs uppercase mb-2",children:"ÐаÑегоÑиÑ"}),t.jsx("h1",{className:"text-3xl md:text-5xl font-black uppercase text-white mb-2 tracking-tighter drop-shadow-xl",children:b.name}),b.description&&t.jsx("p",{className:"text-gray-200 text-xs md:text-base max-w-xl font-medium drop-shadow-md hidden md:block",children:b.description})]})]}),t.jsxs("div",{className:`flex flex-col ${D?"lg:flex-row":""} gap-8 relative`,children:[D&&t.jsx("div",{className:"flex-shrink-0 lg:w-72",children:t.jsx(rj,{products:C,category:b,filters:g,onFilterChange:O,isOpenMobile:E,onCloseMobile:()=>_(!1)})}),t.jsxs("div",{className:"flex-1",children:[t.jsxs("div",{className:"mb-6 flex flex-wrap items-center justify-between gap-4 border-b border-gray-100 pb-4",children:[D&&t.jsxs("button",{onClick:()=>_(!0),className:"lg:hidden flex items-center gap-2 px-4 py-2 bg-black text-white rounded text-sm font-bold uppercase",children:[t.jsx(pr,{className:"w-4 h-4"})," ФилÑÑÑÑ"]}),t.jsx("div",{className:"hidden md:block"}),t.jsx("div",{className:"flex items-center gap-3 ml-auto",children:t.jsxs("div",{className:"relative group",children:[t.jsx(bp,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500 pointer-events-none group-hover:text-black transition-colors"}),t.jsxs("select",{value:k,onChange:J=>R(J.target.value),className:"appearance-none pl-10 pr-8 py-2 bg-gray-50 border border-gray-200 text-black text-xs font-bold uppercase rounded-lg focus:ring-1 focus:ring-black focus:border-black block w-full outline-none cursor-pointer hover:bg-gray-100 transition-colors",children:[t.jsx("option",{value:"default",children:"СоÑÑиÑовка"}),t.jsx("option",{value:"price-asc",children:"Цена: Ðо возÑаÑÑаниÑ"}),t.jsx("option",{value:"price-desc",children:"Цена: Ðо ÑбÑваниÑ"}),t.jsx("option",{value:"name-asc",children:"Ðазвание (Ð-Я)"}),t.jsx("option",{value:"name-desc",children:"Ðазвание (Я-Ð)"})]})]})})]}),$.length>0?t.jsx("div",{className:`grid grid-cols-1 sm:grid-cols-2 ${D?"xl:gr
3016id-cols-3":"lg:grid-cols-3 xl:grid-cols-4"} gap-6`,children:$.map(J=>t.jsx("div",{className:"h-[480px]",children:t.jsx(go,{product:J,onAddToCart:d,navigate:c,enableSales:m,isFavorite:y.some(Y=>Y.id===J.id),onToggleFavorite:u,isComparing:f.some(Y=>Y.id===J.id),onToggleCompare:x})},J.id))}):t.jsxs("div",{className:"py-24 text-center text-gray-400 bg-gray-50 rounded-xl border border-gray-100 flex flex-col items-center justify-center",children:[t.jsx("div",{className:"w-16 h-16 rounded-full bg-gray-100 flex items-center justify-center mb-4 text-gray-300",children:t.jsx(Jd,{className:"w-8 h-8"})}),t.jsx("p",{className:"text-xl font-bold text-gray-500 uppercase",children:"ТоваÑÑ Ð½Ðµ найденÑ"}),t.jsx("p",{className:"text-sm mt-2 max-w-md mx-auto",children:"ÐопÑобÑйÑе измениÑÑ Ð¿Ð°ÑамеÑÑÑ ÑилÑÑÑаÑии или вÑбеÑиÑе дÑÑгÑÑ ÐºÐ°ÑегоÑиÑ."}),D&&t.jsx("button",{onClick:()=>O({priceRange:[0,1e5],specs:{},colors:[]}),className:"mt-6 px-6 py-2 bg-black text-white rounded text-sm font-bold uppercase hover:bg-[#ff3b30] transition-colors",children:"СбÑоÑиÑÑ ÑилÑÑÑÑ"})]})]})]}),H&&$.length>0&&t.jsx("div",{className:"fixed bottom-8 left-1/2 -translate-x-1/2 z-40 animate-fade-in-up",children:t.jsxs("button",{onClick:()=>{_(!1),window.scrollTo({top:400,behavior:"smooth"})},className:"flex items-center gap-2 bg-black text-white px-6 py-3 rounded-full shadow-2xl hover:bg-[#ff3b30] hover:scale-105 transition-all font-bold uppercase text-sm border border-white/10",children:[t.jsx(eo,{className:"w-4 h-4"}),W($.length)]})})]})}):t.jsxs("div",{className:"pt-32 pb-20 min-h-screen flex flex-col items-center justify-center text-black bg-white",children:[t.jsx(Jd,{className:"w-16 h-16 text-gray-300 mb-4"}),t.jsx("h2",{className:"text-2xl font-bold mb-2 uppercase",children:"ÐаÑегоÑÐ¸Ñ Ð½Ðµ найдена"}),t.jsx("button",{onClick:()=>c("/catalog"),className:"text-[#ff3b30] font-bold hover:underline",children:"ÐеÑнÑÑÑÑÑ Ð² каÑалог"})]})},ij=()=>{j.useEffect(()=>{const r=new IntersectionObserver(d=>{d.forEach(c=>{c.isIntersecting&&c.target.classList.add("reveal-visible")})},{threshold:.1});return document.querySelectorAll(".reveal-on-scroll").forEach(d=>r.observe(d)),()=>r.disconnect()})},Ux=r=>r?r.includes("youtube.com")||r.includes("youtu.be")?"youtube":r.startsWith("data:video")||r.match(/\.(mp4|webm|ogg)$/i)?"video":"image":"image",oj=r=>{const o=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/,d=r.match(o),c=d&&d[2].length===11?d[2]:null;return c?`https://www.youtube.com/embed/${c}`:r},qi=r=>Math.round(r).toLocaleString("ru-RU",{maximumFractionDigits:0}).replace(/\s/g," "),cj=({products:r,categories:o,onAddToCart:d,cart:c,onUpdateQuantity:h,onRemoveItem:m,navigate:y,productId:u,marketplaces:f,marketplacesContent:Mc,enableSales:x,isAdmin:N,isFavorite:b,onToggleFavorite:C,isComparing:g,onToggleCompare:O,reviews:E=[],supportSettings:_})=>{var Xt,Pe;const k=r.find(se=>se.id===u),[R,D]=j.useState({}),[te,W]=j.useState(""),[lightboxOpen,setLightboxOpen]=j.useState(!1),[lightboxIdx,setLightboxIdx]=j.useState(0),$=k?o.find(se=>se.id===k.category):null,H=j.useMemo(()=>!_||!k?[]:_.items.filter(se=>se.productId===k.id),[_,k]),J=j.useMemo(()=>k?r.filter(ye=>ye.id!==k.id).sort(()=>.5-Math.random()):[],[r,k]);ij(),j.useEffect(()=>{var se,ye,De,et,Me,tt,st,$t,Kt,He,dt;if(k){document.title=((se=k.seo)==null?void 0:se.title)||`${k.name} | VOROTEX`,window.scrollTo(0,0);try{fetch("/api/track_event.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"product_view",value:k.id})})}catch(Wv){}const Lt=(Be,Ot)=>{let Ze=document.querySelector(`meta[name="${Be}"]`);Ze||(Ze=document.createElement("meta"),Ze.setAttribute("name",Be),document.head.appendChild(Ze)),Ze.setAttribute("content",Ot)},bt=(Be,Ot)=>{let Ze=document.querySelector(`meta[property="${Be}"]`);Ze||(Ze=document.createElement("meta"),Ze.setAttribute("property",Be),document.head.appendChild(Ze)),Ze.setAttribute("content",Ot)},vl=Be=>{let Ot=document.querySelector('link[rel="canonical"]');Ot||(Ot=document.createElement("link"),Ot.setAttribute("rel","canonical"),document.head.appendChild(Ot)),Ot.setAttribute("href",Be)},Ta=((ye=k.seo)==null?void 0:ye.description)||k.description||`ÐÑпиÑÑ ${k.name}. ÐÑÑÑÐ°Ñ Ñена, гаÑанÑÐ¸Ñ ÐºÐ°ÑеÑÑва.`;Lt("description",Ta),(De=k.seo)!=null&&De.keywords&&Lt("keywords",k.seo.keywords);const ke=((et=k.seo)==null?void 0:et.indexing)!==!1?"index, follow":"noindex, nofollow";Lt("robots",ke);const We=`${window.location.origin}/product/${encodeURIComponent(k.id)}`;vl(We),bt("og:type","product"),bt("og:url",We),bt("og:title",((Me=k.seo)==null?void 0:Me.title)||`${k.name} | VOROTEX`),bt("og:description",Ta);const Re=((tt=k.seo)==null?void 0:tt.ogImage)||k.image||"";Re&&bt("og:image",Re);const Xe={};k.variants&&k.variants[0]&&k.variants[0].combination?Object.assign(Xe,k.variants[0].combination):k.options&&k.options.forEach(Be=>{Be.values.length>0&&(Xe[Be.id]=Be.values[0].id)}),D(Xe);const Ie=((Kt=($t=(st=k.variants)==null?void 0:st[0])==null?void 0:$t.images)==null?void 0:Kt[0])||((dt=(He=k.variants)==null?void 0:He[0])==null?void 0:dt.image)||k.image||"";W(Ie||"")}},[k]);const Y=j.useMemo(()=>!k||!k.variants||k.variants.length===0?null:k.variants.find(se=>Object.entries(R).every(([ye,De])=>
3016se.combination[ye]===De))||k.variants[0],[k,R]),G=(Y==null?void 0:Y.price)||(k==null?void 0:k.price)||0,U=(k==null?void 0:k.name)+(Y&&Y.combination?(()=>{const m=Object.entries(Y.combination).map(([i,v])=>{var o,l,q=k.options.find(z=>z.id==i);return q&&q.showInTitle&&(l=q.values.find(z=>z.id==v))?l.name:""}).filter(Boolean).join(" ");return m?" "+m:""})():""),q=Y&&Y.originalPrice!==void 0?Y.originalPrice:k==null?void 0:k.originalPrice,P=(k==null?void 0:k.variants)&&k.variants.length>0,pe=j.useMemo(()=>P?Y?Y.stock:0:(k==null?void 0:k.stock)||0,[P,Y,k]),B=j.useMemo(()=>{if(!c||!k)return 0;const se=c.find(ye=>ye.id!==k.id?!1:P?ye.selectedVariantId===(Y==null?void 0:Y.id):!0);return se?se.quantity:0},[c,k,Y,P]),z=pe-B,v=pe<=0,T=z<=0&&!v;if(j.useEffect(()=>{if(Y){const img=(Y.images&&Y.images.length>0)?Y.images[0]:Y.image;if(img)W(img)}},[Y,k]),!k)return t.jsxs("div",{className:"pt-32 pb-20 min-h-screen flex flex-col items-center justify-center bg-white text-black",children:[t.jsx("h2",{className:"text-2xl font-bold mb-4",children:"Ð¢Ð¾Ð²Ð°Ñ Ð½Ðµ найден"}),t.jsx("button",{onClick:()=>y("/catalog"),className:"text-[#ff3b30] underline font-bold",children:"ÐеÑнÑÑÑÑÑ Ð² каÑалог"})]});const A=()=>{navigator.clipboard.writeText(window.location.href),oe.success("СÑÑлка ÑкопиÑована!")},K=()=>{y(`/admin?tab=catalog&edit=${k.id}`)},w=(se,ye)=>{if(!k.variants)return!1;const De={...R,[se]:ye};return!k.variants.some(Me=>Object.entries(De).every(([tt,st])=>Me.combination[tt]===st))},V=(se,ye)=>{var Me,tt;const De={...R,[se]:ye};if((Me=k.variants)==null?void 0:Me.find(st=>Object.entries(De).every(([$t,Kt])=>st.combination[$t]===Kt)))D(De);else{const st=(tt=k.variants)==null?void 0:tt.find($t=>$t.combination[se]===ye);D(st?st.combination:De)}},M=c==null?void 0:c.findIndex(se=>se.id!==k.id?!1:k.variants&&k.variants.length>0?se.selectedVariantId===(Y==null?void 0:Y.id):!0),X=M!==void 0&&M>=0?c[M]:null,le=k.isSale,xe=k.isHit,ge=q&&q>G,je=le||ge,Ne=ge?Math.round((q-G)/q*100):0,Ee=se=>{const ye="w-8 h-8 md:w-10 md:h-10";switch(se){case"cpu":return t.jsx(hv,{className:ye});case"zap":return t.jsx(gu,{className:ye});case"settings":return t.jsx(yl,{className:ye});case"download":return t.jsx(pl,{className:ye});case"layers":return t.jsx(gr,{className:ye});case"monitor":return t.jsx(Nn,{className:ye});case"layout":return t.jsx(hr,{className:ye});case"target":return t.jsx(iw,{className:ye});case"mouse":return t.jsx(f2,{className:ye});case"shield":return t.jsx(io,{className:ye});case"volume":return t.jsx(kw,{className:ye});case"gamepad":return t.jsx(pu,{className:ye});case"smartphone":return t.jsx(Tp,{className:ye});case"laptop":return t.jsx(Zv,{className:ye});default:return t.jsx(Va,{className:ye})}},Ge=Y!=null&&Y.images&&Y.images.length>0?Y.images:Y!=null&&Y.image?[Y.image]:[],it=[...Ge.length>0?Ge:k.image?[k.image]:[],...k.videos||[]].filter(Boolean);j.useEffect(()=>{!te&&it.length>0&&W(it[0])},[it,te]);const Ua=(Mc==null||Mc.showProductMarketplaceLinks!==!1)&&k.marketplaceLinks&&Object.values(k.marketplaceLinks).some(se=>se&&se.length>0),[ce,ve]=j.useState(null),be=se=>{if(!se||se.length===0)return"transparent";if(se.length===1)return se[0];const ye=100/se.length;return`conic-gradient(${se.map((et,Me)=>`${et} ${Me*ye}% ${(Me+1)*ye}%`).join(", ")})`},Oe=se=>{var et,Me;const ye=se.theme==="dark",De=ye?"bg-[#0a0a0a] text-white":"bg-white text-black";switch(se.type){case"banner":return t.jsxs("section",{className:`py-10 md:py-32 px-4 relative overflow-hidden flex flex-col items-center justify-center text-center min-h-[400px] md:min-h-[600px] ${De} reveal-on-scroll`,children:[t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-20 pointer-events-none z-0"}),se.image&&t.jsxs("div",{className:"absolute inset-0 z-0 flex items-center justify-center",children:[t.jsx("div",{className:`absolute w-[80%] h-[80%] rounded-full blur-[100px] ${ye?"bg-white/10":"bg-black/5"}`}),t.jsx("img",{src:se.image,className:"w-full h-full md:w-[90%] md:h-[90%] object-contain relative z-10",style:{opacity:ye?.9:1}}),t.jsx("div",{className:`absolute inset-0 bg-gradient-to-t ${ye?"from-[#0a0a0a] via-[#0a0a0a]/30 to-transparent":"from-white via-white/30 to-transparent"}`}),t.jsx("div",{className:`absolute inset-0 bg-gradient-to-b ${ye?"from-[#0a0a0a] via-trans
3016parent to-transparent":"from-white via-transparent to-transparent"}`})]}),t.jsxs("div",{className:"relative z-10 max-w-5xl animate-fade-in-up",children:[t.jsx("h2",{className:"text-3xl md:text-6xl font-black uppercase mb-2 md:mb-6 drop-shadow-2xl tracking-tighter leading-none",dangerouslySetInnerHTML:{__html:se.title||""}}),se.subtitle&&t.jsx("p",{className:"text-sm md:text-xl font-medium opacity-90 max-w-2xl mx-auto leading-relaxed uppercase tracking-wider",dangerouslySetInnerHTML:{__html:se.subtitle}})]})]},se.id);case"features":return t.jsx("section",{className:`py-8 md:py-24 px-4 ${De} reveal-on-scroll`,children:t.jsxs("div",{className:"max-w-7xl mx-auto",children:[se.title&&t.jsxs("div",{className:"text-center mb-6 md:mb-20",children:[t.jsx("h2",{className:"text-3xl md:text-5xl font-black uppercase tracking-tighter mb-4",children:se.title}),t.jsx("div",{className:"w-16 md:w-24 h-1 md:h-1.5 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsx("div",{className:"flex flex-wrap justify-center gap-x-4 gap-y-8 md:gap-x-12 md:gap-y-16",children:(et=se.items)==null?void 0:et.map((He,dt)=>t.jsxs("div",{className:"group flex flex-col items-center text-center w-[45%] md:w-[30%] lg:w-[25%] max-w-[300px]",children:[t.jsxs("div",{className:`w-16 h-16 md:w-24 md:h-24 rounded-full flex items-center justify-center mb-4 md:mb-8 transition-all duration-500 relative group-hover:scale-110 ${ye?"bg-white/5 border border-white/10":"bg-gray-50 border border-gray-200"}`,children:[t.jsx("div",{className:`absolute inset-0 rounded-full opacity-0 group-hover:opacity-20 transition-opacity duration-500 blur-xl ${ye?"bg-[#ff3b30]":"bg-black"}`}),t.jsx("div",{className:`relative z-10 ${ye?"text-white":"text-black"} group-hover:text-[#ff3b30] transition-colors`,children:Ee(He.icon)})]}),t.jsx("h3",{className:"text-sm md:text-lg font-bold uppercase mb-2 md:mb-3 tracking-wide",children:He.title}),He.text&&t.jsx("p",{className:`text-xs md:text-sm leading-relaxed ${ye?"text-gray-400":"text-gray-600"}`,children:He.text})]},dt))})]})},se.id);case"text-image":const tt=se.alignment==="right";return t.jsx("section",{className:`py-8 md:py-24 px-4 overflow-hidden ${De} reveal-on-scroll`,children:t.jsxs("div",{className:"max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-6 md:gap-16 items-center",children:[t.jsxs("div",{className:`order-1 ${tt?"lg:order-1":"lg:order-2"} relative group`,children:[t.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[120%] h-[120%] bg-gradient-to-tr from-[#ff3b30]/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-700 blur-3xl rounded-full"}),t.jsx("img",{src:se.image,className:"w-full rounded-3xl shadow-xl md:shadow-2xl relative z-10 transform transition-transform duration-700 group-hover:scale-[1.02]"})]}),t.jsx("div",{className:`order-2 ${tt?"lg:order-2":"lg:order-1"}`,children:t.jsxs("div",{className:"flex flex-col gap-4 md:gap-6",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-2xl md:text-5xl font-black uppercase mb-2 md:mb-4 tracking-tighter leading-none",children:se.title}),se.subtitle&&t.jsx("h3",{className:"text-base md:text-xl font-bold text-[#ff3b30] uppercase tracking-wide",children:se.subtitle})]}),t.jsx("div",{className:`prose prose-sm md:prose-lg ${ye?"prose-invert":""} max-w-none font-medium leading-relaxed opacity-90`,children:t.jsx("div",{dangerouslySetInnerHTML:{__html:se.content||""}})})]})})]})},se.id);case"info-grid":return t.jsx("section",{className:`py-8 md:py-24 px-4 ${De} reveal-on-scroll`,children:t.jsxs("div",{className:"max-w-7xl mx-auto",children:[se.title&&t.jsxs("div",{className:"text-center mb-6 md:mb-12",children:[t.jsx("h2",{className:"text-2xl md:text-4xl font-black uppercase tracking-tighter mb-4",children:se.title}),se.subtitle&&t.jsx("p",{className:"text-gray-500 max-w-2xl mx-auto font-medium",children:se.subtitle})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:(Me=se.items)==null?void 0:Me.map((He,dt)=>t.jsxs("div",{className:"flex flex-col gap-4 group",children:[t.jsxs("div",{className:"relative aspect-[4/3] overflow-hidden rounded-2xl bg-gray-100 border border-white/10 shadow-lg",children:[He.image?t.jsx("img",{src:He.image,alt:He.title,className:"w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"}):t.jsx("div",{className:"w-full h-full flex items-center justify-center text-gray-300 bg-gray-800",children:t.jsx(fr,{className:"w-12 h-12 opacity-50"})}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-80"}),t.jsx("div",{className:"absolute bottom-6 left-6 right-6",children:t.jsx("h3",{className:"text-xl font-black text-white uppercase leading-tight drop-shadow-md tracking-wide",children:He.title})})]}),t.jsx("p",{className:`text-sm font-medium leading-relaxed ${ye?"text-gray-400":"text-gray-600"}`,children:He.text})]},dt))})]})},se.id);case"software":const st=H.length>0?H:se.items,$t=H.length>0&&H[0].description?H[0].description:se.subtitle;return!st||st.length===0?null:t.jsxs("section",{className:"py-8 md:py-24 px-4 bg-[#111] text-white relative overflow-hidden reveal-on-scroll",children:[t.jsx("div",{className:"absolute inset-0 bg-[url('https://www.transparenttextures.com/patterns/carbon-fibre.png')] opacity-10"}),t.jsx("div",{className:"absolute top-0 right-0 w-1/2 h-full bg-[#ff3b30]/5 blur-3xl skew-x-12"}),t.jsxs("div",{className:"max-w-6xl mx-auto relative z-10 grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-12 items-center",children:[t.jsxs("div",{className:"lg:col-span-5 order-2 lg:order-1",children:[t.jsx("div",{className:"inline-block px-3 py-1 border border-[#ff3b30] text-[#ff3b30] text-xs font-bold uppercase rounded mb-4 lg:mb-6",children:"Software Supported"}),t.jsx("h2",{className:"text-3xl md:text-6xl font-black uppercase mb-4 lg:mb-6 tracking-tighter leading-none",children:se.title}),t.jsx("p",{className:"text-sm md:text-xl text-gray-400 mb-8 lg:mb-10 leading-relaxed",children:$t}),t.jsx("div",{className:"space-y-4",children:st.map((He,dt)=>t.jsxs("div",{className:"flex items-center gap-4 bg-white/5 p-4 rounded-xl border border-white/10 hover:bg-white/10 transition-colors cursor-default",children:[t.jsx("div",{className:"w-12 h-12 bg-black rounded-lg flex items-center justify-center text-[#ff3b30] border border-white/10 shrink-0",children:He.version?t.jsx(pl,{className:"w-6 h-6"}):Ee(He.icon)}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("div",{className:"text-sm md:text-lg font-bold uppercase leading-none mb-1 truncate",children:He.name||He.title}),!!He.version&&!!He.description&&t.jsx("div",{className:"text-[11px] md:text-sm text-gray-300 leading-snug line-clamp-2 mb-1",children:He.description}),He.version?t.jsx("div",{className:"flex flex-col gap-1",children:t.jsxs("div",{className:"text-[10px] md:text-xs text-gray-500 font-mono uppercase flex gap-2",children:[t.jsx("span",{children:He.version}),t.jsx("span",{children:"â¢"}),t.jsx("span",{children:He.size})]})}):t.jsx("div",{className:"text-[10px] md:text-xs text-gray-500 font-mono uppercase",children:He.text})]}),He.link&&t.jsx("a",{href:He.link,target:"_blank",rel:"noopener noreferrer",className:"p-2 bg-[#ff3b30] rounded-lg text-white hover:bg-red-600 transition-colors",title:"СкаÑаÑÑ",children:t.jsx(pl,{className:"w-4 h-4"})})]},dt))})]}),t.jsxs("div",{className:"lg:col-span-7 relative order-1 lg:order-2",children:[t.jsx("div",{className:"absolute -inset-4 bg-[#ff3b30] opacity-20 blur-2xl rounded-full"}),t.jsx("img",{src:se.image,className:"w-full rounded-lg shadow-2xl border border-white/10 relative z-10 rotate-1 hover:rotate-0 transition-transform duration-500"})]})]})]},se.id);case"reviews":let Kt=E.filter(He=>He.productId===k.id);return Kt.length===0&&(Kt=[...Ap,...Dp,...zp].filter(dt=>dt.productId===k.id)),Kt.length===0?null:t.jsx("div",{className:"reveal-on-scroll",children:t.jsx(Up,{reviews:Kt,title:se.title,products:r,navigate:y})},se.id);default:return null}},Je=k.specs&&Object.keys(k.specs).length>0,gt=(Xt=k.sections)==null?void 0:Xt.some(se=>se.type==="software"),Fe=H.length>0&&!gt,Ht=Ux(te||it[0]||"");return t.jsxs("div",{className:"bg-white min-h-screen relative overflow-x-hidden",children:[lightboxOpen&&t.jsx("div",{className:"fixed inset-0 z-[9999] bg-black/95 flex items-center justify-center",onClick:()=>setLightboxOpen(!1),children:t.jsxs("div",{className:"relative w-full h-full flex items-center justify-center p-4",onClick:e=>e.stopPropagation(),children:[t.jsx("button",{className:"absolute top-4 right-4 text-white/80 hover:text-white z-50 p-2",onClick:()=>setLightboxOpen(!1),children:t.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),t.jsx("button",{className:"absolute left-4 top-1/2 -translate-y-1/2 text-white/80 hover:text-white z-50 p-2 bg-black/50 rounded-full hidden md:flex",onClick:e=>{e.stopPropagation();setLightboxIdx(i=>(i-1+it.length)%it.length)},children:t.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),t.jsx("button",{className:"absolute right-4 top-1/2 -translate-y-1/2 text-white/80 hover:text-white z-50 p-2 bg-black/50 rounded-full hidden md:flex",onClick:e=>{e.stopPropagation();setLightboxIdx(i=>(i+1)%it.length)},children:t.jsx("svg",{className:"w-8 h-8",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}
3016),t.jsx("img",{src:it[lightboxIdx],alt:"",className:"max-w-full max-h-full object-contain select-none",onClick:e=>e.stopPropagation(),onTouchStart:e=>{e.currentTarget.__touchX=e.touches[0].clientX},onTouchEnd:e=>{const startX=e.currentTarget.__touchX;if(!startX)return;const diff=e.changedTouches[0].clientX-startX;if(Math.abs(diff)>50){diff<0?setLightboxIdx(i=>(i+1)%it.length):setLightboxIdx(i=>(i-1+it.length)%it.length)}}}),it.length>1&&t.jsx("div",{className:"absolute bottom-8 left-1/2 -translate-x-1/2 z-[10000] flex items-center gap-2 px-3 py-2 rounded-full bg-gray-50/95 backdrop-blur-md border border-gray-200 shadow-xl",children:it.map((_,idx)=>{const isActive=idx===lightboxIdx;return t.jsx("button",{type:"button",onClick:e=>{e.stopPropagation(),setLightboxIdx(idx)},className:`w-2.5 h-2.5 rounded-full transition-all ${isActive?"bg-[#ff3b30] scale-125 shadow-[0_0_10px_rgba(255,59,48,0.5)]":"bg-gray-300 hover:bg-gray-400"}`,"aria-label":`ФоÑо ${idx+1} из ${it.length}`},idx)})})]})}),t.jsx("div",{className:"pt-28 pb-8 md:pt-32 md:pb-12 px-4 md:px-8 bg-gradient-to-b from-[#f8f9fa] to-white relative z-20 border-b border-gray-100",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto",children:[t.jsxs("div",{className:"hidden md:flex items-center gap-2 text-sm text-gray-400 mb-8 overflow-x-auto whitespace-nowrap",children:[t.jsxs("button",{onClick:()=>y("/"),className:"hover:text-black flex items-center gap-1 transition-colors",children:[t.jsx(Np,{className:"w-4 h-4"})," ÐлавнаÑ"]}),t.jsx(ys,{className:"w-4 h-4"}),t.jsx("button",{onClick:()=>y("/catalog"),className:"hover:text-black transition-colors",children:"ÐаÑалог"}),$&&t.jsxs(t.Fragment,{children:[t.jsx(ys,{className:"w-4 h-4"}),t.jsx("button",{onClick:()=>y($.link),className:"hover:text-black font-bold uppercase transition-colors",children:$.name})]}),t.jsx(ys,{className:"w-4 h-4"}),t.jsx("span",{className:"text-black font-bold uppercase truncate max-w-xs",children:U})]}),t.jsxs("div",{className:"lg:hidden mb-4",children:[t.jsx("div",{className:"mb-2 flex items-center gap-2",children:$?t.jsxs("button",{onClick:()=>y($.link),className:"flex items-center gap-1 text-[10px] font-bold bg-gray-100 px-2 py-1 rounded text-gray-500 uppercase tracking-wider hover:bg-gray-200 hover:text-black transition-colors",children:[t.jsx(Ca,{className:"w-3 h-3"}),$.name]}):t.jsx("span",{className:"text-[10px] font-bold bg-gray-100 px-2 py-1 rounded text-gray-500 uppercase tracking-wider",children:au[k.category]||k.category})}),t.jsx("h1",{className:"text-2xl font-black uppercase text-black leading-tight tracking-tighter",children:U}),t.jsxs("div",{className:"flex items-center gap-1 mt-2 flex-wrap",children:[[...Array(5)].map(function(se,ye){return t.jsx(Va,{className:"w-4 h-4 "+(ye<Math.round(k.rating)?"fill-[#ff3b30] text-[#ff3b30]":"text-gray-300")},ye)}),t.jsx("span",{className:"text-sm font-bold text-gray-600 ml-1",children:k.rating}),t.jsx("span",{className:"text-xs text-gray-400 ml-1",children:"на оÑнове "+(Math.floor((k.id||"x").split("").reduce(function(a,c){return a+c.charCodeAt(0)},0)*17%946)+55)+" оÑзÑвов на маÑкеÑплейÑаÑ
"})]})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-16",children:[t.jsxs("div",{className:"lg:col-span-7 flex flex-col md:flex-row gap-4 min-w-0",children:[it.length>1&&t.jsx("div",{className:"flex flex-row md:flex-col gap-3 order-2 md:order-1 overflow-x-auto md:overflow-visible w-full max-w-full py-2 md:py-0",style:{touchAction:"pan-x pan-y",WebkitOverflowScrolling:"touch",width:window.innerWidth>=768?"96px":"100%",flex:window.innerWidth>=768?"none":"1"},children:it.map((se,ye)=>{const De=Ux(se),et=De==="video"||De==="youtube",Me=et&&De==="youtube"?`https://img.youtube.com/vi/${se.split("embed/")[1]||se.split("v=")[1]||""}/0.jpg`:se;return t.jsxs("button",{onClick:()=>W(se),className:`w-20 h-20 md:w-24 md:h-24 flex-shrink-0 bg-gray-50 rounded-xl border-2 overflow-hidden transition-all relative ${te===se?"border-[#ff3b30] ring-2 ring-[#ff3b30]/20":"border-transparent hover:border-gray-200"}`,children:[et&&t.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/30 z-10",children:t.jsx("div",{className:"w-6 h-6 rounded-full bg-white/80 flex items-center justify-center",children:t.jsx(S2,{className:"w-3 h-3 text-black fill-black ml-0.5"})})}),De==="video"?t.jsx("video",{src:se,className:"w-full h-full object-cover"}):t.jsx(su,{src:Me,alt:`Thumbnail ${ye}`,className:"w-full h-full",imgClassName:`w-full h-full ${et?"object-cover":"object-contain mix-blend-multiply p-2"}`,skeletonClassName:"bg-gray-100"})]},ye)})}),t.jsxs("div",{className:"flex-1 bg-gray-50 rounded-[2rem] p-6 md:p-12 flex items-center justify-center relative group order-1 md:order-2 overflow-hidden cursor-zoom-in",style:{minHeight:window.innerWidth>=768?"600px":"300px",flex:"1"},onClick:()=>{const idx=it.indexOf(te);setLightboxIdx(idx>=0?idx:0);setLightboxOpen(!0)},onTouchStart:se=>ve(se.touches[0].clientX),onTouchEnd:se=>{if(!ce)return;const ye=se.changedTouches[0].clientX-ce;if(Math.abs(ye)<30)return;const et=it.indexOf(te),Me=et>=0?et:0,tt=ye<0?Math.min(Me+1,it.length-1):Math.max(Me-1,0);W(it[tt])},children:[t.jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[80%] h-[80%
3016] bg-gradient-to-b from-white to-transparent rounded-full blur-3xl opacity-0 group-hover:opacity-100 transition-opacity duration-700 pointer-events-none"}),Ht==="video"?t.jsx("video",{src:te||it[0]||k.image||"",controls:!0,className:"w-full h-full max-h-[600px] rounded-xl shadow-lg relative z-10 bg-black"}):Ht==="youtube"?t.jsx("iframe",{src:oj(te||it[0]||k.image||""),className:"w-full aspect-video rounded-xl shadow-lg relative z-10",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0}):t.jsx(su,{src:te||it[0]||k.image||"",alt:k.name,className:"w-full h-full max-h-[300px] md:max-h-[600px] relative z-10",imgClassName:"w-full h-full object-contain mix-blend-multiply drop-shadow-2xl transition-transform duration-700 group-hover:scale-105",skeletonClassName:"bg-gray-100 rounded-xl",loading:"eager"}),t.jsxs("div",{className:"absolute top-4 left-4 md:top-6 md:left-6 flex flex-col gap-2 z-20 pointer-events-none",children:[k.isNewArrival&&t.jsxs("span",{className:"bg-emerald-600 text-white text-[10px] md:text-xs font-bold px-3 py-1.5 rounded-full uppercase flex items-center gap-1 shadow-lg",children:[t.jsx(fu,{className:"w-3 h-3 fill-white"})," ÐÐÐÐÐÐÐ"]}),xe&&t.jsxs("span",{className:"bg-black text-white text-[10px] md:text-xs font-bold px-3 py-1.5 rounded-full uppercase flex items-center gap-1 shadow-lg",children:[t.jsx(Va,{className:"w-3 h-3 fill-white"})," Ð¥ÐТ"]}),le&&t.jsx("span",{className:"bg-[#ff3b30] text-white text-[10px] md:text-xs font-bold px-3 py-1.5 rounded-full uppercase shadow-lg animate-pulse",children:Ne>0?`Sale -${Ne}%`:"SALE"})]})]})]}),t.jsxs("div",{className:"lg:col-span-5 flex flex-col",children:[t.jsxs("div",{className:"mb-6 hidden lg:block",children:[t.jsx("div",{className:"flex items-center gap-2 mb-2",children:$?t.jsx("button",{onClick:()=>y($.link),className:"text-xs font-bold bg-gray-100 px-2 py-1 rounded text-gray-500 uppercase tracking-wider hover:bg-gray-200 hover:text-black transition-colors",children:$.name}):t.jsx("span",{className:"text-xs font-bold bg-gray-100 px-2 py-1 rounded text-gray-500 uppercase tracking-wider",children:au[k.category]||k.category})}),t.jsx("h1",{className:"text-2xl md:text-4xl font-black uppercase text-black leading-none tracking-tighter mb-2",children:U}),t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsxs("div",{className:"flex items-center gap-1",children:[[...Array(5)].map((se,ye)=>t.jsx(Va,{className:`w-4 h-4 ${ye<Math.round(k.rating)?"fill-[#ff3b30] text-[#ff3b30]":"text-gray-300"}`},ye)),t.jsx("span",{className:"text-sm font-bold text-gray-500 ml-1",children:k.rating}),t.jsx("span",{className:"text-xs text-gray-400 ml-1 font-normal",children:"на оÑнове "+(Math.floor((k.id||"x").split("").reduce(function(a,c){return a+c.charCodeAt(0)},0)*17%946)+55)+" оÑзÑвов на маÑкеÑплейÑÐ°Ñ "})]}),t.jsx("span",{className:"text-gray-300",children:"|"}),t.jsx("span",{className:`text-sm font-bold uppercase ${pe>0?"text-green-600":"text-red-500"}`,children:pe>0?"РналиÑии":"ÐÐµÑ Ð² налиÑии"})]})]}),k.options&&k.options.length>0&&t.jsx("div",{className:"mb-8 space-y-4 p-4 bg-gray-50 rounded-xl border border-gray-100",children:k.options.map(se=>{var ye,De,et;return t.jsxs("div",{children:[t.jsxs("span",{className:"text-xs font-bold text-gray-500 uppercase mb-2 block",children:[se.name,": ",t.jsx("span",{className:"text-black",children:(et=(De=(ye=k.options)==null?void 0:ye.find(Me=>Me.id===se.id))==null?void 0:De.values.find(Me=>Me.id===R[se.id]))==null?void 0:et.name})]}),t.jsx("div",{className:"flex flex-wrap gap-2",children:se.values.map(Me=>{const tt=R[se.id]===Me.id,st=w(se.id,Me.id),$t=se.type==="image";return t.jsxs("button",{onClick:()=>!st&&V(se.id,Me.id),disabled:st,className:` 3017 relative group transition-all 3018 ${se.type==="color"?`w-10 h-10 rounded-full border-2 ${tt?"border-black scale-110 shadow-md":"border-gray-200 hover:border-gray-400"}`:$t?`w-16 h-10 rounded-lg border p-0.5 overflow-hidden ${tt?"border-black ring-1 ring-black":"border-gray-200 hover:border-gray-400"}`:`px-4 py-2 rounded-lg text-sm font-bold border ${tt?"bg-black text-white border-black shadow-md":"bg-white text-gray-700 border-gray-200 hover:border-gray-400"}`} 3019 ${st?"opacity-20 cursor-not-allowed border-gray-100 bg-gray-50":""} 3020 `,title:st?"ÐедоÑÑÑпно в ÑÑой комбинаÑии":Me.name,children:[se.type==="color"&&(Me.colors?t.jsx("span",{className:"absolute inset-1 rounded-full",style:{background:be(Me.colors)}}):t.jsx("span",{className:"absolute inset-1 rounded-full",style:{backgroundColor:Me.value}})),se.type==="image"&&Me.image&&t.jsx("img",{src:Me.image,className:"w-full h-full object-cover rounded"}),se.type!=="color"&&se.type!=="image"&&Me.name]},Me.id)})})]},se.id)})}),t.jsxs("div",{className:"mt-auto pt-6 border-t border-gray-100",children:[t.jsxs("div",{className:"flex flex-col xl:flex-row xl:items-center justify-between gap-6",children:[t.jsxs("div",{className:"flex flex-col",children:[t.jsxs("div",{className:"flex items-baseline gap-4",children:[t.jsxs("span",{className:`text-3xl md:text-4xl font-black tracking-tighter whitespace-nowrap ${je?"text-[#ff3b30]":"text-black"}`,children:[qi(G)," ",nt]}),q&&(je||q>G)&&t.jsxs("span",{className:"text-xl text-gray-300 line-through font-bold decoration-2 whitespace-nowrap",children:[qi(q)," ",nt]}),q>G&&t.jsx("span",{className:"inline-flex items-center bg-[#ff3b30] text-white text-sm font-black px-2 py-1 rounded-md leading-none",children:"-"+Math.round((q-G)/q*100)+"%"})]}),!x&&t.jsx("span",{className:"text-[10px] text-gray-400 font-bold uppercase tracking-wide mt-1",children:"Ð ÐµÐºÐ¾Ð¼ÐµÐ½Ð´Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑозниÑÐ½Ð°Ñ Ñена"}),t.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-[10px] font-bold uppercase tracking-wider text-gray-500",children:[t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(kn,{className:"w-3.5 h-3.5 text-[#ff3b30]"})," ÐаÑанÑиÑ"]}
3020),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(Pa,{className:"w-3.5 h-3.5 text-[#ff3b30]"})," ÐоÑÑавка"]}),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(tu,{className:"w-3.5 h-3.5 text-[#ff3b30]"})," ÐозвÑаÑ"]})]})]}),t.jsxs("div",{className:"flex flex-nowrap items-center gap-2 w-full xl:w-auto",children:[x&&(X?t.jsxs("div",{className:"flex-1 xl:flex-none h-12 flex items-center justify-between bg-black text-white rounded-xl px-4 shadow-lg border border-black min-w-[120px]",children:[X.quantity<=1?t.jsx("button",{onClick:()=>m&&m(M),className:"w-8 h-full flex items-center justify-center hover:text-[#ff3b30] transition-colors",title:"УдалиÑÑ Ð¸Ð· коÑзинÑ",children:t.jsx(jt,{className:"w-4 h-4"})}):t.jsx("button",{onClick:()=>h&&h(M,-1),className:"w-8 h-full flex items-center justify-center hover:text-[#ff3b30] transition-colors",children:t.jsx(eu,{className:"w-4 h-4"})}),t.jsx("span",{className:"font-black text-lg font-mono",children:X.quantity}),t.jsx("button",{onClick:()=>h&&h(M,1),disabled:T,className:`w-8 h-full flex items-center justify-center transition-colors ${T?"text-gray-600 cursor-not-allowed":"hover:text-[#ff3b30]"}`,children:t.jsx(At,{className:"w-4 h-4"})})]}):t.jsxs("button",{onClick:()=>{var se;return d(k,!1,Y==null?void 0:Y.id,(se=k.options)==null?void 0:se.reduce((ye,De)=>{const et=R[De.id],Me=De.values.find(tt=>tt.id===et);return Me&&(ye[De.name]=Me.name),ye},{}))},disabled:v,className:`flex-1 xl:flex-none px-4 h-12 flex items-center justify-center gap-2 font-bold uppercase tracking-wide text-xs md:text-sm rounded-xl shadow-lg transition-all active:scale-95 group whitespace-nowrap min-w-[120px] ${v?"bg-gray-100 text-gray-400 cursor-not-allowed":"bg-black text-white hover:bg-[#ff3b30]"}`,children:[t.jsx(js,{className:"w-4 h-4 md:w-5 md:h-5"}),v?"ÐеÑ":"РкоÑзинÑ"]})),t.jsx("button",{onClick:()=>O&&O(k),className:`h-12 w-12 flex-shrink-0 flex items-center justify-center rounded-xl border-2 transition-all active:scale-95 ${g?"border-black bg-black text-white":"border-gray-200 text-gray-400 hover:border-black hover:text-black bg-white"}`,title:g?"Ð ÑÑавнении":"СÑавниÑÑ",children:t.jsx(br,{className:"w-5 h-5"})}),t.jsx("button",{onClick:()=>C&&C(k),className:`h-12 w-12 flex-shrink-0 flex items-center justify-center rounded-xl border-2 transition-all active:scale-95 ${b?"border-[#ff3b30] bg-[#ff3b30] text-white shadow-lg shadow-red-500/30":"border-gray-200 text-gray-400 hover:border-black hover:text-black bg-white"}`,title:b?"УбÑаÑÑ Ð¸Ð· избÑанного":"РизбÑанное",children:t.jsx(jn,{className:`w-5 h-5 ${b?"fill-current":""}`})})]})]}),Ua&&t.jsxs("div",{className:"flex flex-wrap items-center gap-3 mt-4 pt-4 border-t border-gray-100",children:[t.jsx("span",{className:"text-[10px] font-bold text-gray-400 uppercase tracking-wider",children:x?"ÐÑпиÑÑ Ð½Ð°:":"ÐÑпиÑÑ Ñо Ñкидкой на маÑкеÑплейÑаÑ
:"}),t.jsx("div",{className:"flex gap-2",children:Object.entries(k.marketplaceLinks).map(([se,ye])=>{const De=f.find(et=>et.id===se);return!De||!ye?null:t.jsx("a",{href:ye,target:"_blank",rel:"noopener noreferrer",className:"w-8 h-8 rounded-full overflow-hidden border border-gray-200 hover:scale-110 transition-transform shadow-sm hover:shadow-md",title:`ÐÑпиÑÑ Ð½Ð° ${De.name}`,children:t.jsx("img",{src:De.image,alt:De.name,className:"w-full h-full object-cover"})},se)})})]}),t.jsx("div",{className:"mt-4 flex justify-end",children:t.jsxs("button",{onClick:A,className:"flex items-center gap-2 text-xs font-bold uppercase text-gray-400 hover:text-black transition-colors",children:[t.jsx(X2,{className:"w-4 h-4"})," ÐоделиÑÑÑÑ"]})}),N&&t.jsx("div",{className:"mt-6 pt-4 border-t border-dashed border-gray-200",children:t.jsxs("button",{onClick:K,className:"w-full py-3 border-2 border-dashed border-gray-300 text-gray-400 font-bold uppercase text-xs rounded-xl hover:border-black hover:text-black hover:bg-gray-50 transition-colors flex items-center justify-center gap-2 group",children:[t.jsx(Ns,{className:"w-4 h-4 group-hover:scale-110 transition-transform"})," РедакÑиÑоваÑÑ ÑоваÑ"]})})]})]})]})]})}),t.jsxs("div",{className:"bg-white relative z-10",children:[t.jsx("section",{className:"py-12 px-4 bg-white border-b border-gray-100",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("h2",{className:"text-2xl font-black uppercase tracking-widest mb-2 text-black",children:"ÐпиÑание"}),t.jsx("div",{className:"w-12 h-1 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsx("p",{className:"text-gray-700 text-lg leading-relaxed font-medium text-ju
3020stify md:text-center",children:k.longDescription||k.description})]})}),(Pe=k.sections)==null?void 0:Pe.map(se=>Oe(se)),Je&&t.jsx("section",{className:"py-12 px-4 bg-gray-50 border-t border-gray-200",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("h2",{className:"text-2xl md:text-3xl font-black uppercase text-black tracking-tighter mb-2",children:"ХаÑакÑеÑиÑÑики"}),t.jsx("div",{className:"w-16 h-1 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsx("div",{className:"bg-white rounded-2xl shadow-sm border border-gray-200 overflow-hidden",children:t.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 border-t border-l border-gray-200",children:Object.entries(k.specs).map(([se,ye],De)=>t.jsxs("div",{className:"flex justify-between items-center p-3 md:p-4 border-b border-r border-gray-200 bg-white hover:bg-gray-50 transition-colors",children:[t.jsx("span",{className:"text-gray-500 font-bold uppercase text-[10px] md:text-xs tracking-widest mr-4",children:se}),t.jsx("span",{className:"text-black font-bold text-sm text-right leading-tight",children:ye})]},se))})})]})}),Fe&&t.jsx("section",{className:"py-20 px-4 bg-[#111] text-white",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl font-black uppercase tracking-tighter mb-4",children:"ÐÑогÑаммное обеÑпеÑение"}),t.jsxs("p",{className:"text-gray-400",children:["ÐÑиÑиалÑнÑе дÑайвеÑÑ Ð¸ ÑÑилиÑÑ Ð´Ð»Ñ ",k.name]})]}),t.jsx("div",{className:"space-y-4",children:H.map(se=>t.jsxs("div",{className:"flex items-center gap-4 bg-white/5 p-4 rounded-xl border border-white/10 hover:bg-white/10 transition-colors",children:[t.jsx("div",{className:"w-12 h-12 bg-black rounded-lg flex items-center justify-center text-[#ff3b30] border border-white/10 shrink-0",children:t.jsx(pl,{className:"w-6 h-6"})}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("div",{className:"text-sm md:text-lg font-bold uppercase leading-none mb-1 truncate",children:se.name}),!!se.description&&t.jsx("div",{className:"text-[11px] md:text-sm text-gray-300 leading-snug line-clamp-2 mb-1",children:se.description}),t.jsxs("div",{className:"text-[10px] md:text-xs text-gray-500 font-mono uppercase flex gap-2",children:[t.jsx("span",{children:se.version}),t.jsx("span",{children:"â¢"}),t.jsx("span",{children:se.size})]})]}),t.jsxs("a",{href:se.link,target:"_blank",rel:"noopener noreferrer",className:"p-3 bg-[#ff3b30] rounded-lg text-white hover:bg-red-600 transition-colors font-bold text-xs uppercase flex items-center gap-2",children:[t.jsx(pl,{className:"w-4 h-4"})," СкаÑаÑÑ"]})]},se.id))})]})})]}),J.length>0&&t.jsx("section",{className:"py-20 px-4 bg-gray-50 border-t border-gray-200",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto",children:[t.jsx("div",{className:"text-center mb-10",children:t.jsx("h3",{className:"text-2xl font-black uppercase text-black tracking-wide",children:"СмоÑÑиÑе Ñакже"})}),t.jsx(Lp,{products:J.slice(0,12),onAddToCart:d,navigate:y,enableSales:x,favorites:[],onToggleFavorite:C,compareList:[],onToggleCompare:O})]})}),x&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"h-24 md:hidden"}),t.jsx("div",{className:"fixed bottom-0 left-0 right-0 z-[55] md:hidden bg-white/95 backdrop-blur border-t border-gray-200 shadow-[0_-10px_30px_rgba(0,0,0,0.08)]",style:{paddingBottom:"env(safe-area-inset-bottom)"},children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4 py-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-center gap-4 text-[9px] font-black uppercase tracking-wider text-gray-500",children:[t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(kn,{className:"w-3 h-3 text-[#ff3b30]"})," ÐаÑанÑиÑ"]}),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(Pa,{className:"w-3 h-3 text-[#ff3b30]"})," ÐоÑÑавка"]}),t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(tu,{className:"w-3 h-3 text-[#ff3b30]"})," ÐозвÑаÑ"]})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-baseline gap-2",children:[t.jsxs("div",{className:`text-xl font-black tracking-tight whitespace-nowrap ${je?"text-[#ff3b30]":"text-black"}`,children:[qi(G)," ",nt]}),q&&(je||q>G)&&t.jsxs("div",{className:"text-lg text-gray-300 line-through font-bold decoration-2 whitespace-nowrap",children:[qi(q)," ",nt]})]}),t.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-500 truncate",children:v?"ÐÐµÑ Ð² налиÑии":z>0?"РналиÑии":"ÐгÑаниÑение по оÑÑаÑкÑ"})]}),X?t.jsxs("div",{className:"h-12 flex items-center justify-between bg-black text-white rounded-xl px-3 shadow-lg border border-black min-w-[150px]",children:[X.quantity<=1?t.jsx("button",{onClick:()=>m&&m(M),className:"w-10 h-full flex items-center justify-center hover:text-[#ff3b30] transition-colors",title:"УдалиÑÑ Ð¸Ð· коÑзин
3020Ñ",children:t.jsx(jt,{className:"w-4 h-4"})}):t.jsx("button",{onClick:()=>h&&h(M,-1),className:"w-10 h-full flex items-center justify-center hover:text-[#ff3b30] transition-colors",title:"УменÑÑиÑÑ",children:t.jsx(eu,{className:"w-4 h-4"})}),t.jsx("span",{className:"font-black text-lg font-mono",children:X.quantity}),t.jsx("button",{onClick:()=>h&&h(M,1),disabled:T,className:`w-10 h-full flex items-center justify-center transition-colors ${T?"text-gray-600 cursor-not-allowed":"hover:text-[#ff3b30]"}`,title:"УвелиÑиÑÑ",children:t.jsx(At,{className:"w-4 h-4"})})]}):t.jsxs("button",{onClick:()=>{var se;return d(k,!1,Y==null?void 0:Y.id,(se=k.options)==null?void 0:se.reduce((ye,De)=>{const et=R[De.id],Me=De.values.find(tt=>tt.id===et);return Me&&(ye[De.name]=Me.name),ye},{}))},disabled:v,className:`h-12 px-5 flex items-center justify-center gap-2 font-black uppercase tracking-wider text-xs rounded-xl shadow-lg transition-all active:scale-95 whitespace-nowrap ${v?"bg-gray-100 text-gray-400 cursor-not-allowed":"bg-black text-white hover:bg-[#ff3b30]"}`,children:[t.jsx(js,{className:"w-5 h-5"}),v?"ÐеÑ":"РкоÑзинÑ"]})]})]})})]})]})},dj=({products:r,onAddToCart:o,navigate:d,searchQuery:c,enableSales:h,favorites:m=[],onToggleFavorite:y,compareList:u=[],onToggleCompare:f})=>{const x=c||"";j.useEffect(()=>{document.title=x?`ÐоиÑк: ${x} | VOROTEX`:"ÐоиÑк | VOROTEX";const b=(E,_)=>{let k=document.querySelector(`meta[name="${E}"]`);k||(k=document.createElement("meta"),k.setAttribute("name",E),document.head.appendChild(k)),k.setAttribute("content",_)},C=E=>{let _=document.querySelector('link[rel="canonical"]');_||(_=document.createElement("link"),_.setAttribute("rel","canonical"),document.head.appendChild(_)),_.setAttribute("href",E)};b("robots","noindex, nofollow"),b("description",x?`РезÑлÑÑаÑÑ Ð¿Ð¾Ð¸Ñка по запÑоÑÑ: ${x}`:"ÐоиÑк по каÑÐ°Ð»Ð¾Ð³Ñ VOROTEX.");const g=window.location.origin,O=x?`${g}/search?q=${encodeURIComponent(x)}`:`${g}/search`;C(O)},[x]);const N=j.useMemo(()=>{if(!x)return[];const b=x.toLowerCase();return r.filter(C=>C.name.toLowerCase().includes(b)||C.description.toLowerCase().includes(b)||C.category.toLowerCase().includes(b)||(C.options||[]).some(o=>o.values.some(v=>v.name.toLowerCase().includes(b)))||(C.variants||[]).some(v=>v.externalId&&v.externalId.toLowerCase().includes(b)))},[x,r]);return t.jsxs("div",{className:"pt-32 pb-20 max-w-[1400px] mx-auto px-4 min-h-screen",children:[t.jsxs("button",{onClick:()=>d("/"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-8 transition-colors group font-medium text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"})," Ðа главнÑÑ"]}),t.jsxs("div",{className:"mb-10 border-b border-gray-200 pb-6",children:[t.jsxs("h1",{className:"text-3xl md:text-4xl font-black uppercase text-black mb-2 flex items-center gap-3",children:[t.jsx(xa,{className:"w-8 h-8 text-[#ff3b30]"}),"РезÑлÑÑаÑÑ Ð¿Ð¾Ð¸Ñка"]}),t.jsxs("p",{className:"text-gray-500 text-lg",children:["Ðо запÑоÑÑ: ",t.jsxs("span",{className:"font-bold text-black",children:['"',x,'"']})]})]}),N.length>0?t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:N.map(b=>t.jsx("div",{className:"h-[480px]",children:t.jsx(go,{product:b,onAddToCart:o,navigate:d,enableSales:h,isFavorite:m.some(C=>C.id===b.id),onToggleFavorite:y,isComparing:u.some(C=>C.id===b.id),onToggleCompare:f})},b.id))}):t.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-gray-400",children:[t.jsx(Jd,{className:"w-24 h-24 mb-6 text-gray-200"}),t.jsx("h3",{className:"text-2xl font-bold text-black mb-2",children:"ÐиÑего не найдено"}),t.jsx("p",{className:"max-w-md text-center mb-8",children:"ÐопÑобÑйÑе измениÑÑ Ð¿Ð¾Ð¸ÑковÑй запÑÐ¾Ñ Ð¸Ð»Ð¸ поÑмоÑÑиÑе Ð½Ð°Ñ ÐºÐ°Ñалог."}),t.jsx("button",{onClick:()=>d("/catalog"),className:"px-8 py-3 bg-black text-white font-bold uppercase rounded hover:bg-[#ff3b30] transition-colors",children:"ÐеÑейÑи в каÑалог"})]})]})},uj=({config:r,formType:o="contact"})=>{const[d,c]=j.useState(!1),[h]=j.useState(()=>Date.now()),[m,y]=j.useState({name:"",email:"",product:"",question:"",website:""}),u=async f=>{if(f.preventDefault(),c(!0),!r.emailTo){oe.error("Email полÑÑаÑÐµÐ»Ñ Ð½Ðµ наÑÑÑоен в наÑÑÑойкаÑ
ÑÑÑаниÑÑ"),c(!1);return}try{const x=await fetch("/api/send-mail.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:o,formTitle:r.title,to:r.emailTo,name:m.name,email:m.email,phone:"",product:m.product,question:m.question,website:m.website,page:window.location.pathname,_ts:h})});if(x.ok){const N=await x.json();if(N.status==="success")oe.success(r.successMessage),y({name:"",email:"",product:"",question:"",website:""});else throw new Error(N.message||"ÐÑибка ÑеÑвеÑа")}else if(x.status===404||x.status===405)console.warn("PHP script not found or not allowed. This is expected in local preview."),oe.error("ÐÑибка: СкÑÐ¸Ð¿Ñ Ð¾ÑпÑавки (send-mail.php) недоÑÑÑпен. УбедиÑеÑÑ, ÑÑо ÑÐ°Ð¹Ñ ÑазмеÑен на Ñ
оÑÑинге Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой PHP.");else throw new Error("ÐÑибка ÑеÑи или ÑеÑвеÑа")}catch(x){console.error("Email send error:",x),oe.error("Ðе ÑдалоÑÑ Ð¾ÑпÑавиÑÑ Ð¿Ð¸ÑÑмо. ÐопÑобÑйÑе позже.")}finally{c(!1)}};return t.jsxs("div",{className:"bg-gray-50 border border-gray-100 rounded-2xl p-8 md:p-10 mt-12",children:[t.jsx("h3",{className:"text-2xl font-black text-black uppercase mb-6",children:r.title}),t.jsxs("form",{onSubmit:u,className:"space-y-6",children:[t.jsxs("div",{className:"hidden","aria-hidden":"true",children:[t.jsx("label",{children:"Website"}),t.jsx("input",{value:m.website,onChange:f=>y({...m,website:f.target.value}),autoComplete:"off",tabIndex:-1})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-2",children:r.nameLabel}),t.jsx("input",{required:!0,type:"text",value:m.name,onChange:f=>y({...m,name:f.target.value}),className:"w-full bg-white border border-gray-200 rounded-lg p-4 text-black focus:border-black focus:ring-0 outline-none transition-colors",placeholder:r.namePlaceholder||"Ðван Ðванов"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-2",children:r.emailLabel}),t.jsx("input",{required:!0,type:"email",value:m.email,onChange:f=>y({...m,email:f.target.value}),className:"w-full bg-white border border-gray-200 rounded-lg p-4 text-black focus:border-black focus:ring-0 outline-none transition-colors",placeholder:r.emailPlaceholder||"[email protected]"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-2",children:r.productLabel}),t.jsx("input",{required:!0,type:"text",value:m.product,onChange:f=>y({...m,product:f.target.value}),className:"w-full bg-white border border-gray-200 rounded-lg p-4 text-black focus:border-black focus:ring-0 outline-none transition-colors",placeholder:r.productPlaceholder||"ÐапÑимеÑ: ÐÑÑÑ VOROTEX V1"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-2",children:r.questionLabel}),t.jsx("textarea",{required:!0,value:m.question,onChange:f=>y({...m,question:f.target.value}),className:"w-full bg-white border border-gray-200 rounded-lg p-4 text-black focus:border-black focus:ring-0 outline-none transition-colors min-h-[150px] resize-y",placeholder:r.questionPlaceholder||"ÐпиÑиÑе ваÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸Ð»Ð¸ вопÑоÑ..."})]}),t.jsxs("button",{type:"submit",disabled:d,className:"px-8 py-4 bg-[#ff3b30] text-white font-bold text-sm uppercase rounded hover:bg-red-700 transition-all shadow-lg flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",children:[d?t.jsx(so,{className:"w-5 h-5 animate-spin"}):t.jsx(fo,{className:"w-5 h-5"}),r.buttonText]})]})]})}
3020,mj=({pages:r,navigate:o,slug:d,internalShopSettings:c})=>{const h=r.find(f=>f.slug===d),[m,y]=j.useState(null);if(j.useEffect(()=>{var f,x,N,b,C,g,O;if(h){document.title=((f=h.seo)==null?void 0:f.title)||h.title;const E=(W,$)=>{let H=document.querySelector(`meta[name="${W}"]`);H||(H=document.createElement("meta"),H.setAttribute("name",W),document.head.appendChild(H)),H.setAttribute("content",$)},_=(W,$)=>{let H=document.querySelector(`meta[property="${W}"]`);H||(H=document.createElement("meta"),H.setAttribute("property",W),document.head.appendChild(H)),H.setAttribute("content",$)},k=W=>{let $=document.querySelector('link[rel="canonical"]');$||($=document.createElement("link"),$.setAttribute("rel","canonical"),document.head.appendChild($)),$.setAttribute("href",W)};(x=h.seo)!=null&&x.description?E("description",h.seo.description):E("description",""),(N=h.seo)!=null&&N.keywords&&E("keywords",h.seo.keywords),(b=h.seo)!=null&&b.ogImage&&_("og:image",h.seo.ogImage);const R=((C=h.seo)==null?void 0:C.indexing)!==!1?"index, follow":"noindex, nofollow";E("robots",R);const te=`${window.location.origin}/page/${encodeURIComponent(h.slug)}`;k(te),_("og:type","article"),_("og:url",te),_("og:title",((g=h.seo)==null?void 0:g.title)||h.title),_("og:description",((O=h.seo)==null?void 0:O.description)||"")}window.scrollTo(0,0)},[d,h]),!h)return t.jsxs("div",{className:"min-h-[60vh] flex flex-col items-center justify-center text-black pt-32",children:[t.jsx("h1",{className:"text-8xl font-black text-gray-200 mb-4",children:"404"}),t.jsx("p",{className:"text-xl font-bold mb-8",children:"СÑÑаниÑа не найдена"}),t.jsx("button",{onClick:()=>o("/"),className:"px-6 py-3 bg-black text-white rounded font-bold hover:bg-[#ff3b30] transition-colors",children:"ÐеÑнÑÑÑÑÑ Ð½Ð° главнÑÑ"})]});let u=h.contactForm;return c&&c.notifications&&(d==="contacts"&&c.notifications.contactForm&&(u=c.notifications.contactForm),d==="b2b"&&c.notifications.cooperationForm&&(u=c.notifications.cooperationForm)),t.jsxs("div",{className:"pt-32 pb-20 min-h-screen animate-fade-in relative bg-white",children:[h.image&&t.jsxs("div",{className:"w-full h-[300px] md:h-[400px] absolute top-0 left-0 z-0",children:[t.jsx("img",{src:h.image,alt:h.title,className:"w-full h-full object-cover opacity-30"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-white/0 via-white/50 to-white"})]}),t.jsxs("div",{className:"max-w-4xl mx-auto px-6 relative z-10",children:[t.jsxs("button",{onClick:()=>o("/"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-8 transition-colors group font-medium text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"})," Ðа главнÑÑ"]}),t.jsx("h1",{className:"text-4xl md:text-6xl font-black mb-12 text-black uppercase tracking-tighter border-l-8 border-[#ff3b30] pl-6 leading-none",children:h.title}),t.jsx("div",{className:"prose prose-lg max-w-none prose-headings:font-bold prose-headings:uppercase prose-a:text-[#ff3b30] prose-strong:text-black text-gray-700 leading-relaxed",children:t.jsx("div",{dangerouslySetInnerHTML:{__html:h.content}})}),h.faq&&h.faq.length>0&&t.jsxs("div",{className:"mt-16 space-y-4",children:[t.jsx("h2",{className:"text-2xl font-black text-black uppercase mb-6",children:"ЧаÑÑÑе вопÑоÑÑ"}),h.faq.map((f,x)=>{const N=m===x;return t.jsxs("div",{className:"border border-gray-200 rounded-xl overflow-hidden transition-all duration-300 hover:border-gray-400 bg-white",children:[t.jsxs("button",{onClick:()=>y(N?null:x),className:"w-full flex items-center justify-between p-6 text-left bg-gray-50 hover:bg-gray-100 transition-colors",children:[t.jsxs("h3",{className:"font-bold text-lg text-black flex items-center gap-3 pr-4",children:[t.jsx("span",{className:"text-[#ff3b30] font-black",children:"Q."}),f.question]}),N?t.jsx(Ft,{className:"w-5 h-5 text-gray-400 shrink-0"}):t.jsx(Mt,{className:"w-5 h-5 text-gray-400 shrink-0"})]}),t.jsx("div",{className:`transition-all duration-300 ease-in-out overflow-hidden ${N?"max-h-[500px] opacity-100":"max-h-0 opacity-0"}`,children:t.jsx("div",{className:"p-6 pt-2 text-gray-600 leading-relaxed border-t border-gray-100 bg-white",children:f.answer})})]},x)})]}),(u==null?void 0:u.enabled)&&t.jsx(uj,{config:u,formType:d==="b2b"?"cooperation":"contact"})]})]})},hj=({settings:r,navigate:o})=>{const[d,c]=j.useState("all"),[h,m]=j.useState("");j.useEffect(()=>{document.title=r.title;const f=(g,O)=>{let E=document.querySelector(`meta[name="${g}"]`);E||(E=document.createElement("meta"),E.setAttribute("name",g),document.head.appendChild(E)),E.setAttribute("content",O)},x=(g,O)=>{let E=document.querySelector(`meta[property="${g}"]`);E||(E=document.createElement("meta"),E.setAttribute("property",g),document.head.appendChild(E)),E.setAttribute("content",O)},N=g=>{let O=document.querySelector('link[rel="canonical"]');O||(O=document.createElement("link"),O.setAttribute("rel","canonical"),document.head.appendChild(O)),O.setAttribute("href",g)};f("description",r.description),r.ogImage&&x("og:image",r.ogImage);const C=`${window.location.origin}/support`;N(C),x("og:type","website"),x("og:url",C),x("og:title",r.title),x("og:description",r.description)},[r]);const y=[{id:"all",label:"ÐÑе ÑайлÑ",icon:t.jsx(lo,{className:"w-4 h-4"})},{id:"keyboard",label:"ÐлавиаÑÑÑÑ",icon:t.jsx(Cx,{className:"w-4 h-4"})},{id:"mini",label:"Ðини-клавиаÑÑÑÑ",icon:t.jsx(Cx,{className:"w-4 h-4"})},{id:"mouse",label:"ÐÑÑи",icon:t.jsx(b2,{className:"w-4 h-4"})},{id:"headset",label:"ÐаÑниÑÑÑÑ",icon:t.jsx(Bv,{className:"w-4 h-4"})}],u=r.items.filter(f=>{const x=d==="all"||f.category===d,N=f.name.toLowerCase().includes(h.toLowerCase())||f.description.toLowerCase().includes(h.toLowerCase());return x&&N});return t.jsx("div",{className:"pt-32 pb-20 min-h-screen bg-white text-black",children:t.jsxs("div",{className:"max-w-6xl mx-auto px-6",children:[t.jsxs("button",{onClick:()=>o("/"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-8 transition-colors group font-medium text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"})," Ðа главнÑÑ"]}),t.jsxs("div",{className:"mb-12",children:[t.jsx("h1",{className:"text-4xl md:text-5xl font-black uppercase text-black mb-4 tracking-tighter",children:r.title}),t.jsx("p",{className:"text-lg text-gray-600 max-w-3xl leading-relaxed",children:r.description})]}),t.jsxs("div",{className:"mb-10 flex flex-col md:flex-row gap-6 justify-between items-start md:items-center",children:[t.jsx("div",{className:"flex flex-wrap gap-2",children:y.map(f=>t.jsxs("button",{onClick:()=>c(f.id),className:`px-4 py-2 rounded-lg text-sm font-bold uppercase transition-all flex items-center gap-2 border ${d===f.id?"bg-black text-white border-black":"bg-white text-gray-500 border-gray-200 hover:border-gray-300 hover:text-black"}`,children:[f.icon,f.label]},f.id))}),t.jsxs("div",{className:"relative w-full md:w-64",children:[t.jsx("input",{type:"text",placeholder:"ÐоиÑк дÑайвеÑов...",value:h,onChange:f=>m(f.target.value),className:"w-full pl-9 pr-4 py-2 bg-gray-50 border border-gray-200 rounded-lg text-sm focus:outline-none focus:border-black focus:ring-0 transition-colors"}
3020),t.jsx(xa,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"})]})]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:u.length>0?u.map(f=>{var x;return t.jsxs("div",{className:"group border border-gray-200 rounded-xl p-6 hover:border-black hover:shadow-xl transition-all duration-300 bg-white flex flex-col h-full",children:[t.jsxs("div",{className:"flex items-start justify-between mb-4",children:[t.jsx("div",{className:"w-16 h-16 bg-gray-50 rounded-lg overflow-hidden border border-gray-100 p-2",children:f.image?t.jsx("img",{src:f.image,alt:f.name,className:"w-full h-full object-contain mix-blend-multiply"}):t.jsx("div",{className:"w-full h-full flex items-center justify-center text-gray-300",children:t.jsx(Nn,{className:"w-8 h-8"})})}),t.jsx("span",{className:"text-[10px] font-bold uppercase px-2 py-1 bg-gray-100 rounded text-gray-500",children:((x=y.find(N=>N.id===f.category))==null?void 0:x.label)||f.category})]}),t.jsx("h3",{className:"text-xl font-bold mb-1 leading-tight group-hover:text-[#ff3b30] transition-colors",children:f.name}),t.jsxs("div",{className:"flex items-center gap-3 text-xs font-mono text-gray-400 mb-4",children:[t.jsx("span",{children:f.version}),t.jsx("span",{children:"â¢"}),t.jsx("span",{children:f.size})]}),t.jsx("p",{className:"text-sm text-gray-600 mb-6 line-clamp-3 flex-grow",children:f.description}),t.jsxs("a",{href:f.link,target:"_blank",rel:"noopener noreferrer",className:"mt-auto w-full py-3 bg-gray-900 text-white text-xs font-bold uppercase rounded-lg flex items-center justify-center gap-2 hover:bg-[#ff3b30] transition-colors shadow-lg",children:[t.jsx(pl,{className:"w-4 h-4"})," СкаÑаÑÑ"]})]},f.id)}):t.jsxs("div",{className:"col-span-full py-12 text-center text-gray-400",children:[t.jsx(Nn,{className:"w-12 h-12 mx-auto mb-3 opacity-20"}),t.jsx("p",{children:"ÐÑогÑаммное обеÑпеÑение не найдено."})]})})]})})},Hx=({onAdminLogin:r,onUserLogin:o,navigate:d,initialMode:c="login",logoImage:h})=>{var pe;const[m,y]=j.useState(c==="register"),[u,f]=j.useState({name:"",email:"",password:"",confirmPassword:""}),[x,N]=j.useState(!1),[b,C]=j.useState(""),[g,O]=j.useState(!1),[E,_]=j.useState(!1),[k,R]=j.useState(""),[D,te]=j.useState(""),[W,$]=j.useState(""),[H,J]=j.useState(!1);j.useEffect(()=>{document.title=m?"РегиÑÑÑаÑÐ¸Ñ | VOROTEX":"ÐÑ
од | VOROTEX";const B=(v,T)=>{let A=document.querySelector(`meta[name="${v}"]`);A||(A=document.createElement("meta"),A.setAttribute("name",v),document.head.appendChild(A)),A.setAttribute("content",T)},z=v=>{let T=document.querySelector('link[rel="canonical"]');T||(T=document.createElement("link"),T.setAttribute("rel","canonical"),document.head.appendChild(T)),T.setAttribute("href",v)};B("robots","noindex, nofollow"),B("description",m?"РегиÑÑÑаÑÐ¸Ñ Ð°ÐºÐºÐ°ÑнÑа VOROTEX.":"ÐÑ
од в аккаÑÐ½Ñ VOROTEX."),z(`${window.location.origin}${m?"/register":"/login"}`)},[m]);const Y=B=>{f({...u,[B.target.name]:B.target.value}),C("")},G=B=>String(B).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),U=async()=>{if(te(""),$(""),!G(k)){te("ÐведиÑе коÑÑекÑнÑй Email");return}try{const B=await fetch("/api/user_reset_password.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:k})}),z=B.headers.get("content-type")||"";if(!B.ok)throw new Error(`HTTP ${B.status}`);if(!z.includes("application/json"))throw new Error("Not JSON");const v=await B.json();if(v.status==="success"){oe.success("ÐÑли email ÑÑÑеÑÑвÑÐµÑ â Ð¼Ñ Ð¾ÑпÑавили пиÑÑмо"),$("ÐÑли email ÑÑÑеÑÑвÑÐµÑ â Ð¼Ñ Ð¾ÑпÑавили пиÑÑмо Ñ Ð½Ð¾Ð²Ñм паÑолем.");return}throw new Error(v.message||"ÐÑибка")}catch{if(!JSON.parse(localStorage.getItem("vorotex_users")||"[]").find(T=>T.email.toLowerCase()===k.toLowerCase())){te("ÐолÑзоваÑÐµÐ»Ñ Ñ Ñаким Email не найден");return}te("СеÑÐ²Ð¸Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñеменно недоÑÑÑпен. ÐопÑобÑйÑе позже.")}},q=async B=>{if(B.preventDefault(),!m&&await r(u.email,u.password)){d("/admin");return}if(m){if(!u.name.trim()){C("ÐведиÑе ваÑе имÑ");return}if(!G(u.email)){C("ÐекоÑÑекÑнÑй ÑоÑÐ¼Ð°Ñ Email");return}if(u.password.length<8){C("ÐаÑÐ¾Ð»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑодеÑжаÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм 8 Ñимволов");return}if(u.password!==u.confirmPassword){C("ÐаÑоли не ÑовпадаÑÑ");return}if(!x){C("ÐеобÑ
одимо ÑоглаÑие на обÑабоÑÐºÑ Ð´Ð°Ð½Ð½ÑÑ
");return}try{const z=await fetch("/api/user_register.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:u.name,email:u.email,password:u.password})}),v=z.headers.get("content-type")||"";if(!z.ok)throw new Error(`HTTP ${z.status}`);if(!v.includes("application/json"))throw new Error("Not JSON");const T=await z.json();if(T.status==="success"&&T.user){T.csrf&&localStorage.setItem("vorotex_user_csrf",T.csrf),o(T.user),oe.success("РегиÑÑÑаÑÐ¸Ñ ÑÑпеÑна!"),d("/dashboard");return}throw new Error(T.message||"ÐÑибка ÑегиÑÑÑаÑии")}catch{const v=JSON.parse(localStorage.getItem("vorotex_users")||"[]");if(v.some(A=>A.email===u.email)){C("ÐолÑзоваÑÐµÐ»Ñ Ñ Ñаким Email Ñже ÑÑÑеÑÑвÑеÑ");return}const T={id:`usr-${Date.now()}`,name:u.name,email:u.email,password:u.password,registrationDate:new Date().toISOString()};localStorage.setItem("vorotex_users",JSON.stringify([...v,T])),o(T),oe.success("РегиÑÑÑаÑÐ¸Ñ (локалÑно)"),d("/dashboard");return}}else try{const z=await fetch("/api/user_login.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:u.email,password:u.password})}),v=z.headers.get("content-type")||"";if(!z.ok)throw new Error(`HTTP ${z.status}`);if(!v.includes("application/json"))throw new Error("Not JSON");const T=await z.json();if(T.status==="success"&&T.user){T.csrf&&localStorage.setItem("vorotex_user_csrf",T.csrf),o(T.user),oe.success(`С возвÑаÑением, ${T.user.name||"полÑзоваÑелÑ"}!`),d("/dashboard");return}throw new Error(T.message||"ÐÑибка вÑ
ода")}catch{const T=JSON.parse(localStorage.getItem("vorotex_users")||"[]").find(A=>A.email===u.email&&A.password===u.password);T?(o(T),oe.success(`С возвÑаÑением, ${T.name}!`),d("/dashboard")):C("ÐевеÑнÑй Email или паÑолÑ")}},P=((pe=lu.find(B=>B.slug==="privacy"))==null?void 0:pe.content)||"<p>ТекÑÑ Ð¿Ð¾Ð»Ð¸Ñики конÑиденÑиалÑноÑÑи не найден.</p>";return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"min-h-screen bg-[#0a0a0a] flex items-center justify-center p-4 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-10 pointer-events-none"}),t.jsx("div",{className:"absolute top-0 right-0 w-1/2 h-1/2 bg-[#ff3b30]/5 blur-[120px] rounded-full pointer-events-none"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-1/2 h-1/2 bg-blue-600/5 blur-[120px] rounded-full pointer-events-none"}),t.jsxs("div",{className:"w-full max-w-md bg-white rounded-2xl shadow-2xl overflow-hidden relative z-10 flex flex-col",children:[t.jsxs("div",{className:"bg-black p-8 text-center relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-tech-dots opacity-20"}),t.jsxs("div",{className:"relative z-10",children:[t.jsx("div",{className:"mb-4",children:t.jsx(_n,{isDarkText:!1,
3020customImage:h,className:"mx-auto"})}),t.jsx("h2",{className:"text-xl font-bold text-white uppercase tracking-wide",children:m?"РегиÑÑÑаÑиÑ":"ÐÑ
од в аккаÑнÑ"}),t.jsx("p",{className:"text-gray-400 text-xs mt-1",children:m?"СоздайÑе пÑоÑÐ¸Ð»Ñ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ°Ð·Ð°Ð¼Ð¸":"ÐвÑоÑизÑйÑеÑÑ Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к пÑоÑилÑ"})]})]}),t.jsxs("div",{className:"p-8 bg-white flex-1",children:[t.jsxs("form",{onSubmit:q,className:"space-y-5",children:[m&&t.jsxs("div",{className:"relative group",children:[t.jsx(Jl,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400 group-focus-within:text-black transition-colors"}),t.jsx("input",{name:"name",type:"text",value:u.name,onChange:Y,className:"w-full bg-gray-50 border border-gray-200 text-black pl-10 pr-4 py-3 rounded-xl focus:outline-none focus:border-black focus:ring-1 focus:ring-black transition-all",placeholder:"ÐаÑе ÐмÑ",required:m})]}),t.jsxs("div",{className:"relative group",children:[t.jsx("div",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400 group-focus-within:text-black transition-colors flex items-center justify-center",children:m?t.jsx(ro,{className:"w-full h-full"}):t.jsx(Jl,{className:"w-full h-full"})}),t.jsx("input",{name:"email",type:"text",value:u.email,onChange:Y,className:"w-full bg-gray-50 border border-gray-200 text-black pl-10 pr-4 py-3 rounded-xl focus:outline-none focus:border-black focus:ring-1 focus:ring-black transition-all",placeholder:"Email",required:!0})]}),t.jsxs("div",{className:"relative group",children:[t.jsx(Tx,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400 group-focus-within:text-black transition-colors"}),t.jsx("input",{name:"password",type:g?"text":"password",value:u.password,onChange:Y,className:"w-full bg-gray-50 border border-gray-200 text-black pl-10 pr-12 py-3 rounded-xl focus:outline-none focus:border-black focus:ring-1 focus:ring-black transition-all",placeholder:"ÐаÑолÑ",required:!0}),t.jsx("button",{type:"button",onClick:()=>O(B=>!B),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-black transition-colors p-1","aria-label":g?"СкÑÑÑÑ Ð¿Ð°ÑолÑ":"ÐоказаÑÑ Ð¿Ð°ÑолÑ",children:g?t.jsx(ao,{className:"w-4 h-4"}):t.jsx(xr,{className:"w-4 h-4"})})]}),m&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"relative group",children:[t.jsx(Tx,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400 group-focus-within:text-black transition-colors"}),t.jsx("input",{name:"confirmPassword",type:"password",value:u.confirmPassword,onChange:Y,className:"w-full bg-gray-50 border border-gray-200 text-black pl-10 pr-4 py-3 rounded-xl focus:outline-none focus:border-black focus:ring-1 focus:ring-black transition-all",placeholder:"ÐовÑоÑиÑе паÑолÑ",required:!0})]}),t.jsxs("div",{className:"flex items-start gap-3 pt-1",children:[t.jsx("input",{type:"checkbox",id:"consent",checked:x,onChange:B=>N(B.target.checked),className:"mt-1 w-4 h-4 rounded border-gray-300 text-black focus:ring-black cursor-pointer"}),t.jsxs("label",{htmlFor:"consent",className:"text-xs text-gray-500 leading-tight select-none cursor-pointer",children:["Я Ð´Ð°Ñ ÑоглаÑие на ",t.jsx("button",{type:"button",onClick:()=>J(!0),className:"text-black underline hover:no-underline font-bold",children:"обÑабоÑÐºÑ Ð¿ÐµÑÑоналÑнÑÑ
даннÑÑ
"})," и пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ñики конÑиденÑиалÑноÑÑи."]})]})]}),b&&t.jsxs("div",{className:"bg-red-50 border border-red-100 p-3 rounded-lg text-red-600 text-xs flex items-center gap-2 animate-fade-in",children:[t.jsx(to,{className:"w-4 h-4 shrink-0"})," ",b]}),!m&&t.jsx("div",{className:"flex justify-between items-center text-xs text-gray-500",children:t.jsx("button",{type:"button",onClick:()=>{_(!0),R(u.email||""),te(""),$("")},className:"text-black font-semibold hover:underline",children:"ÐабÑли паÑолÑ?"})}),t.jsx("button",{type:"submit",className:"w-full bg-[#ff3b30] hover:bg-red-600 text-white font-bold uppercase py-3.5 rounded-xl transition-all shadow-lg hover:shadow-red-500/30 flex justify-center items-center gap-2 mt-4",children:m?t.jsxs(t.Fragment,{children:["СоздаÑÑ Ð°ÐºÐºÐ°ÑÐ½Ñ ",t.jsx(Cn,{className:"w-4 h-4"})]}):t.jsxs(t.Fragment,{children:["ÐойÑи ",t.jsx(a2,{className:"w-4 h-4"})]})})]}),t.jsxs("div",{className:"mt-6 text-center",children:[t.jsx("p",{className:"text-gray-500 text-sm mb-3",children:m?"Уже еÑÑÑ Ð°ÐºÐºÐ°ÑнÑ?":"ÐÐµÑ Ð°ÐºÐºÐ°ÑнÑа?"}),t.jsx("button",{onClick:()=>{y(!m),C(""),N(!1)},className:"text-black font-bold uppercase text-xs border-b-2 border-black/10 hover:border-black transition-colors pb-0.5",children:m?"ÐойÑи в ÑиÑÑемÑ":"ÐаÑегиÑÑÑиÑоваÑÑÑÑ"})]})]}),t.jsx("div",{className:"bg-gray-50 p-4 border-t border-gray-100 flex justify-center",children:t.jsxs("button",{onClick:()=>d("/"),className:"flex items-center gap-2 text-gray-400 hover:text-black text-xs font-medium transition-colors",children:[t.jsx(Ca,{className:"w-3 h-3"})," ÐеÑнÑÑÑÑÑ Ð² магазин"]}
3020)})]}),H&&t.jsx("div",{className:"fixed inset-0 z-[200] bg-black/80 backdrop-blur-sm flex items-center justify-center p-4",onClick:()=>J(!1),children:t.jsxs("div",{className:"bg-white w-full max-w-2xl max-h-[80vh] rounded-2xl shadow-2xl flex flex-col overflow-hidden animate-fade-in-up",onClick:B=>B.stopPropagation(),children:[t.jsxs("div",{className:"p-6 border-b border-gray-100 flex justify-between items-center bg-gray-50",children:[t.jsx("h3",{className:"text-lg font-black text-black uppercase",children:"ÐолиÑика конÑиденÑиалÑноÑÑи"}),t.jsx("button",{onClick:()=>J(!1),className:"p-2 hover:bg-gray-200 rounded-full transition-colors text-black",children:t.jsx(xt,{className:"w-5 h-5"})})]}),t.jsx("div",{className:"p-6 overflow-y-auto custom-scrollbar text-black text-sm leading-relaxed prose prose-sm max-w-none",children:t.jsx("div",{dangerouslySetInnerHTML:{__html:P}})}),t.jsx("div",{className:"p-4 border-t border-gray-100 bg-gray-50 flex justify-end",children:t.jsx("button",{onClick:()=>J(!1),className:"px-6 py-2 bg-black text-white text-xs font-bold uppercase rounded-lg hover:bg-[#ff3b30] transition-colors",children:"ÐакÑÑÑÑ"})})]})})]}),E&&t.jsx("div",{className:"fixed inset-0 z-[200] bg-black/70 backdrop-blur-sm flex items-center justify-center p-4",onClick:()=>_(!1),children:t.jsxs("div",{className:"bg-white w-full max-w-md rounded-2xl shadow-2xl overflow-hidden animate-fade-in-up",onClick:B=>B.stopPropagation(),children:[t.jsxs("div",{className:"p-6 border-b border-gray-100 flex justify-between items-center bg-gray-50",children:[t.jsx("h3",{className:"text-lg font-black text-black uppercase",children:"ÐоÑÑÑановление паÑолÑ"}),t.jsx("button",{onClick:()=>_(!1),className:"p-2 hover:bg-gray-200 rounded-full transition-colors text-black",children:t.jsx(xt,{className:"w-5 h-5"})})]}),t.jsxs("div",{className:"p-6 space-y-4",children:[t.jsx("p",{className:"text-sm text-gray-600",children:"УкажиÑе email, на коÑоÑÑй ÑегиÑÑÑиÑовалиÑÑ. ÐÑ ÑбÑоÑим паÑÐ¾Ð»Ñ Ð¸ оÑпÑавим новÑй на поÑÑÑ."}),t.jsxs("div",{className:"relative group",children:[t.jsx(ro,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-400 group-focus-within:text-black transition-colors"}),t.jsx("input",{type:"email",value:k,onChange:B=>{R(B.target.value),te(""),$("")},className:"w-full bg-gray-50 border border-gray-200 text-black pl-10 pr-4 py-3 rounded-xl focus:outline-none focus:border-black focus:ring-1 focus:ring-black transition-all",placeholder:"Email"})]}),D&&t.jsxs("div",{className:"bg-red-50 border border-red-100 p-3 rounded-lg text-red-600 text-xs flex items-center gap-2",children:[t.jsx(to,{className:"w-4 h-4"})," ",D]}),W&&t.jsxs("div",{className:"bg-green-50 border border-green-100 p-3 rounded-lg text-green-700 text-xs flex items-center gap-2",children:[t.jsx(kn,{className:"w-4 h-4"})," ",W]})]}),t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50 flex justify-end gap-2",children:[t.jsx("button",{onClick:()=>_(!1),className:"px-5 py-2 text-xs font-bold uppercase rounded-lg border border-gray-200 hover:bg-gray-100 transition-colors text-black",children:"ÐÑмена"}),t.jsx("button",{onClick:U,disabled:!!W,className:`px-5 py-2 text-xs font-bold uppercase rounded-lg transition-colors ${W?"bg-gray-400 text-gray-200 cursor-not-allowed":"bg-black text-white hover:bg-[#ff3b30]"}`,children:W?"ÐÑпÑавлено":"СбÑоÑиÑÑ Ð¿Ð°ÑолÑ"})]})]})})]})},jr=(r,o=1200,d=.8)=>new Promise((c,h)=>{if(!r.type.startsWith("image/")){h(new Error("Файл не ÑвлÑеÑÑÑ Ð¸Ð·Ð¾Ð±Ñажением"));return}const m=new FileReader;m.readAsDataURL(r),m.onload=y=>{var f;const u=new Image;u.src=(f=y.target)==null?void 0:f.result,u.onload=()=>{const{width:x,height:N}=Hp(u.width,u.height,o),C=Xp(u,x,N).toDataURL("image/webp",d);c(C)},u.onerror=x=>h(x)},m.onerror=y=>h(y)}),bo=(r,o=2000,d=.95)=>new Promise((c,h)=>{if(!r.type.startsWith("image/")||r.type.includes("svg")){c(r);return}const m=new FileReader;m.readAsDataURL(r),m.onload=y=>{var f;const u=new Image;u.src=(f=y.target)==null?void 0:f.result,u.onload=()=>{const{width:x,height:N}=Hp(u.width,u.height,o);Xp(u,x,N).toBlob(C=>{if(C){const E=`${r.name.replace(/\.[^/.]+$/,"")}.webp`,_=new File([C],E,{type:"image/webp"});c(_)}else h(new Error("Compression failed"))},"image/webp",d)},u.onerror=x=>h(x)},m.onerror=y=>h(y)}),Hp=(r,o,d)=>{let c=r,h=o;return c>d&&(h=Math.round(h*d/c),c=d),{width:c,height:h}},Xp=(r,o,d)=>{const c=document.createElement("canvas");c.width=o,c.height=d;const h=c.getContext("2d");return h&&h.drawImage(r,0,0,o,d),c},Xx=()=>{const r=localStorage.getItem("vorotex_admin_token"),o=localStorage.getItem("vorotex_admin_csrf");return{...r?{"X-Admin-Token":r}:{},...o?{"X-CSRF-Token":o}:{}}},Wl={uploadFile:async r=>{const o=new FormData;o.append("file",r);try{const d=await fetch("/api/upload.php",{method:"POST",headers:Xx(),body:o});if(!d.ok)throw new Error(`Server error: ${d.status}`);const c=await d.json();if(c.status==="success")return c.url;throw new Error(c.message||"Upload failed")}catch(d){throw console.error("Upload Error:",d),d}},saveData:async r=>{try{const o=await fetch("/api/save_data.php",{method:"POST",headers:{"Content-Type":"application/json",...Xx()},body:JSON.stringify(r&&typeof r=="object"&&!Array.isArray(r)&&window.__vxRev!==void 0?{...r,__rev:window.__vxRev}:r)});if(o.status===409){let q="ÐаннÑе бÑли Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ñ Ð´ÑÑгим админиÑÑÑаÑоÑом. ÐбновиÑе ÑÑÑаниÑÑ (F5) и повÑоÑиÑе ÑоÑ
Ñанение.";try{const e=await o.json();e&&e.message&&(q=e.message)}catch{}throw new Error(q)}if(!o.ok){let q=`Server error: ${o.status}`;try{const e=await o.json();e&&(e.detail?q=`${e.message||"ÐÑибка"}: ${e.detail}`:e.message&&(q=e.message))}catch{}throw new Error(q)}const d=await o.json();if(d.status==="success"){if(d.revision!==void 0){try{window.__vxRev=d.revision}catch{}}return!0}throw new Error(d.message)}catch(o){throw console.error("Save Data Error:",o),o}}
3020,loadData:async()=>{try{const r=await fetch(`/api/get_data.php?t=${Date.now()}`,{headers:{...Xx()}});if(!r.ok)return null;const o=await r.text();try{const d=JSON.parse(o);if(d&&d.__rev!==void 0){try{window.__vxRev=d.__rev}catch{}}return d.status==="empty"?null:d}catch{return null}}catch{return console.warn("Could not load data from server (Offline or Dev mode)"),null}}},Ix=({product:r,onUpdateProduct:o,onBack:d})=>{const[c,h]=j.useState(null),m=r.sections||[],y=g=>{o({...r,sections:g})},u=g=>{const O={id:`sec-${Date.now()}`,type:g,title:g==="banner"?"ÐовÑй баннеÑ":g==="features"?"ÐÑобенноÑÑи":g==="reviews"?"ÐÑзÑÐ²Ñ Ð¾ ÑоваÑе":g==="software"?"ÐÑогÑаммное обеÑпеÑение":g==="info-grid"?"ÐнÑо СеÑка":"СекÑиÑ",content:"",theme:"light",items:g==="features"||g==="info-grid"?[{title:"Item 1",text:"Description"},{title:"Item 2",text:"Description"}]:[]};y([...m,O]),h(O.id)},f=g=>{confirm("УдалиÑÑ ÑÑÑ ÑекÑиÑ?")&&y(m.filter(O=>O.id!==g))},x=(g,O)=>{if(O==="up"&&g===0||O==="down"&&g===m.length-1)return;const E=[...m],_=O==="up"?g-1:g+1;[E[g],E[_]]=[E[_],E[g]],y(E)},N=(g,O)=>{y(m.map(E=>E.id===g?{...E,...O}:E))},b=async(g,O)=>{const E=oe.loading("ÐагÑÑзка...");try{const _=await bo(g);try{const k=await Wl.uploadFile(_);O(k),oe.success("ÐагÑÑжено на ÑеÑвеÑ",{id:E})}catch(k){console.warn("Server failed, using local",k);const R=await jr(g);O(R),oe.success("ÐагÑÑжено локалÑно",{id:E})}}catch{oe.error("ÐÑибка загÑÑзки",{id:E})}},C=g=>{switch(g){case"banner":return t.jsx(hr,{className:"w-4 h-4"});case"text-image":return t.jsx(Mx,{className:"w-4 h-4"});case"features":return t.jsx(lo,{className:"w-4 h-4"});case"info-grid":return t.jsx(Wd,{className:"w-4 h-4"});case"software":return t.jsx(pl,{className:"w-4 h-4"});case"reviews":return t.jsx(no,{className:"w-4 h-4"});default:return t.jsx(yl,{className:"w-4 h-4"})}};return t.jsxs("div",{className:"h-full flex flex-col bg-gray-50",children:[t.jsxs("div",{className:"p-4 border-b border-gray-200 bg-white flex items-center gap-3 shadow-sm z-10",children:[t.jsx("button",{onClick:d,className:"p-2 hover:bg-gray-100 rounded-full",children:t.jsx(Ca,{className:"w-5 h-5"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-bold text-sm uppercase text-black",children:"ÐонÑÑÑÑкÑÐ¾Ñ ÑÑÑаниÑÑ"}),t.jsx("p",{className:"text-xs text-gray-500",children:r.name})]})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto p-4 space-y-4",children:[m.length===0&&t.jsxs("div",{className:"text-center py-10 text-gray-400 border-2 border-dashed border-gray-200 rounded-xl",children:[t.jsx(hr,{className:"w-10 h-10 mx-auto mb-2 opacity-20"}),t.jsx("p",{className:"text-sm",children:"СекÑий пока неÑ. ÐобавÑÑе пеÑвÑÑ!"})]}),m.map((g,O)=>{var E;return t.jsxs("div",{className:`bg-white border rounded-lg overflow-hidden ${c===g.id?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("div",{className:"flex items-center p-3 bg-white gap-3 select-none",children:[t.jsx("div",{className:"p-2 bg-gray-100 rounded text-gray-500",children:C(g.type)}),t.jsxs("div",{className:"flex-1 min-w-0 cursor-pointer",onClick:()=>h(c===g.id?null:g.id),children:[t.jsx("div",{className:"font-bold text-sm uppercase truncate text-black",children:g.title||"Ðез названиÑ"}),t.jsx("div",{className:"text-xs text-gray-400 uppercase",children:g.type})]}),t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("button",{onClick:()=>x(O,"up"),disabled:O===0,className:"p-1 text-gray-400 hover:text-black disabled:opacity-20",children:t.jsx(vn,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>x(O,"down"),disabled:O===m.length-1,className:"p-1 text-gray-400 hover:text-black disabled:opacity-20",children:t.jsx(yn,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>f(g.id),className:"p-1 text-gray-400 hover:text-red-500 ml-1",children:t.jsx(jt,{className:"w-3 h-3"})})]})]}),c===g.id&&t.jsxs("div",{className:"p-4 bg-gray-50 border-t border-gray-100 space-y-4 text-xs animate-fade-in",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-1",children:"Ðаголовок"}),t.jsx("input",{value:g.title||"",onChange:_=>N(g.id,{title:_.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black focus:ring-1 focus:ring-black"})]}),["banner","text-image","software","info-grid"].includes(g.type)&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-1",children:"Ðодзаголовок / ÐпиÑание"}),t.jsx("textarea",{value:g.subtitle||"",onChange:_=>N(g.id,{subtitle:_.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 h-16 bg-white text-black focus:ring-1 focus:ring-black"})]}),["text-image"].includes(g.type)&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-1",children:"HTML ÐонÑÐµÐ½Ñ (ТекÑÑ)"}),t.jsx("textarea",{value:g.content||"",onChange:_=>N(g.id,{content:_.target.value}),className:"w-full border border-gray-300 rounded p-2 h-24 font-mono text-sm bg-white text-black focus:ring-1 focus:ring-black"})]}),["reviews"].includes(g.type)&&t.jsx("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded text-blue-800",children:t.jsx("p",{children:"ÐÑÐ¾Ñ Ð±Ð»Ð¾Ðº авÑомаÑиÑеÑки оÑобÑÐ°Ð·Ð¸Ñ Ð¾ÑзÑвÑ, пÑивÑзаннÑе к ÑÑÐ¾Ð¼Ñ ÑоваÑÑ Ð² наÑÑÑойкаÑ
."})}),["software"].includes(g.type)&&t.jsx("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded text-blue-800",children:t.jsxs("p",{children:[t.jsx("strong",{children:"ÐвÑомаÑиÑеÑкий блок:"}),' Ð¤Ð°Ð¹Ð»Ñ (дÑайвеÑÑ) бÑдÑÑ Ð¿Ð¾Ð´Ð³ÑÑÐ¶ÐµÐ½Ñ Ð°Ð²ÑомаÑиÑеÑки из Ñаздела "ÐоддеÑжка" в наÑÑÑойкаÑ
, еÑли они пÑивÑÐ·Ð°Ð½Ñ Ðº ÑÑÐ¾Ð¼Ñ ÑоваÑÑ.']})}),["banner","text-image","software"].includes(g.type)&&t.jsxs("div",{className:"bg-white p-2 rounded border border-gray-200",children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-1",children:"ÐзобÑажение"}),t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsxs("div",{className:"w-16 h-10 bg-gray-100 rounded overflow-hidden relative border border-gray-200 group cursor-pointer",children:[g.image?t.jsx("img",{src:g.image,className:"w-full h-full object-cover"}):t.jsx(fr,{className:"w-4 h-4 m-auto mt-3 text-gray-400"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:_=>{var k;return((k=_.target.files)==null?void 0:k[0])&&b(_.target.files[0],R=>N(g.id,{image:R}))}})]}),t.jsx("input",{value:g.image||"",onChange:_=>N(g.id,{image:_.target.value}),className:"flex-1 text-sm border border-gray-300 rounded p-1 bg-white text-black",placeholder:"URL каÑÑинки"})]}),t.jsxs("p",{className:"text-[10px] text-blue-600 mt-1 font-medium",children:["РекомендÑемÑй ÑазмеÑ: ",g.type==="banner"?"1920x800px (21:9)":"1000x800px (5:4)"]})]}),g.type!=="reviews"&&t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[["text-image","banner"].includes(g.type)&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-1",children:"ÐÑÑавнивание"}),t.jsxs("select",{value:g.alignment||"center",onChange:_=>N(g.id,{alignment:_.target.value}),className:"w-full text-sm border border-gray-300 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"left",children:"Слева"}),t.jsx("option",{value:"center",children:"Ðо ÑенÑÑÑ"}),t.jsx("option",{value:"right",children:"СпÑава"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-1",children:"Тема (Фон)"}
3020),t.jsxs("select",{value:g.theme||"light",onChange:_=>N(g.id,{theme:_.target.value}),className:"w-full text-sm border border-gray-300 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"light",children:"СвеÑлаÑ"}),t.jsx("option",{value:"dark",children:"ТемнаÑ"})]})]})]}),(g.type==="features"||g.type==="info-grid")&&t.jsxs("div",{className:"border-t border-gray-200 pt-3",children:[t.jsx("label",{className:"block text-xs font-bold text-gray-500 uppercase mb-2",children:"СпиÑок ÑлеменÑов"}),t.jsxs("div",{className:"space-y-2",children:[(E=g.items)==null?void 0:E.map((_,k)=>t.jsxs("div",{className:"flex gap-2 items-start bg-white p-2 rounded border border-gray-200 shadow-sm",children:[g.type==="info-grid"&&t.jsxs("div",{className:"w-10 h-10 bg-gray-100 rounded overflow-hidden relative border border-gray-200 flex-shrink-0 group/item cursor-pointer",children:[_.image?t.jsx("img",{src:_.image,className:"w-full h-full object-cover"}):t.jsx(fr,{className:"w-4 h-4 m-auto mt-3 text-gray-400"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:R=>{var D;return((D=R.target.files)==null?void 0:D[0])&&b(R.target.files[0],te=>{const W=[...g.items||[]];W[k].image=te,N(g.id,{items:W})})}})]}),t.jsxs("div",{className:"flex-1 space-y-1",children:[t.jsx("input",{value:_.title,onChange:R=>{const D=[...g.items||[]];D[k].title=R.target.value,N(g.id,{items:D})},className:"w-full text-sm border border-gray-200 rounded p-1 font-bold bg-white text-black",placeholder:"Ðаголовок"}),t.jsx("input",{value:_.text,onChange:R=>{const D=[...g.items||[]];D[k].text=R.target.value,N(g.id,{items:D})},className:"w-full text-sm border border-gray-200 rounded p-1 bg-white text-black",placeholder:"ТекÑÑ"}),g.type==="features"&&t.jsxs("select",{value:_.icon||"star",onChange:R=>{const D=[...g.items||[]];D[k].icon=R.target.value,N(g.id,{items:D})},className:"w-full text-sm border border-gray-200 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"star",children:"Star"}),t.jsx("option",{value:"zap",children:"Zap (Lightning)"}),t.jsx("option",{value:"settings",children:"Settings"}),t.jsx("option",{value:"cpu",children:"CPU (Chip)"}),t.jsx("option",{value:"layers",children:"Layers"}),t.jsx("option",{value:"download",children:"Download"}),t.jsx("option",{value:"volume",children:"Volume"})]})]}),t.jsx("button",{onClick:()=>{const R=[...g.items||[]];R.splice(k,1),N(g.id,{items:R})},className:"text-gray-400 hover:text-red-500 p-1",children:t.jsx(jt,{className:"w-3 h-3"})})]},k)),g.type==="info-grid"&&t.jsx("p",{className:"text-[10px] text-gray-400 mt-1 mb-2",children:"ÐÐ»Ñ Ð¸Ð½Ñо-ÑеÑки ÑекомендÑем каÑÑинки 4:3 (800x600px)"}),t.jsx("button",{onClick:()=>N(g.id,{items:[...g.items||[],{title:"New Item",text:"",icon:"star"}]}),className:"w-full py-2 border border-dashed border-gray-300 rounded text-gray-500 text-xs uppercase font-bold hover:bg-white hover:text-black",children:"+ ÐобавиÑÑ ÑлеменÑ"})]})]})]})]},g.id)}),t.jsxs("div",{className:"grid grid-cols-2 gap-2 pt-4",children:[t.jsxs("button",{onClick:()=>u("banner"),className:"py-3 bg-white border border-gray-200 rounded flex flex-col items-center justify-center gap-1 hover:border-black hover:text-[#ff3b30] transition-colors shadow-sm text-black",children:[t.jsx(hr,{className:"w-4 h-4"})," ",t.jsx("span",{className:"text-xs font-bold uppercase",children:"ÐаннеÑ"})]}),t.jsxs("button",{onClick:()=>u("text-image"),className:"py-3 bg-white border border-gray-200 rounded flex flex-col items-center justify-center gap-1 hover:border-black hover:text-[#ff3b30] transition-colors shadow-sm text-black",children:[t.jsx(Mx,{className:"w-4 h-4"})," ",t.jsx("span",{className:"text-xs font-bold uppercase",children:"ТекÑÑ + ФоÑо"})]}),t.jsxs("button",{onClick:()=>u("features"),className:"py-3 bg-white border border-gray-200 rounded flex flex-col items-center justify-center gap-1 hover:border-black hover:text-[#ff3b30] transition-colors shadow-sm text-black",children:[t.jsx(lo,{className:"w-4 h-4"})," ",t.jsx("span",{className:"text-xs font-bold uppercase",children:"СеÑка ÑиÑ"})]}),t.jsxs("button",{onClick:()=>u("info-grid"),className:"py-3 bg-white border border-gray-200 rounded flex flex-col items-center justify-center gap-1 hover:border-black hover:text-[#ff3b30] transition-colors shadow-sm text-black",children:[t.jsx(Wd,{className:"w-4 h-4"})," ",t.jsx("span",{className:"text-xs font-bold uppercase",children:"ÐнÑо СеÑка (3 Col)"})]}),t.jsxs("button",{onClick:()=>u("reviews"),className:"py-3 bg-white border border-gray-200 rounded flex flex-col items-center justify-center gap-1 hover:border-black hover:text-[#ff3b30] transition-colors shadow-sm text-black",children:[t.jsx(no,{className:"w-4 h-4"})," ",t.jsx("span",{className:"text-xs font-bold uppercase",children:"Ðлок ÐÑзÑвов"})]}),t.jsxs("button",{onClick:()=>u("software"),className:"py-3 bg-white border border-gray-200 rounded flex flex-col items-center justify-center gap-1 hover:border-black hover:text-[#ff3b30] transition-colors shadow-sm text-black",children:[t.jsx(pl,{className:"w-4 h-4"})," ",t.jsx("span",{className:"text-xs font-bold uppercase",children:"СоÑÑ"})]})]})]})]})},Yl=({children:r})=>t.jsx("label",{className:"text-[10px] font-bold text-gray-700 uppercase block mb-0.5 truncate",children:r}),xj=({product:r,categories:o,marketplaces:d,isEditing:c,onToggleEdit:h,onUpdate:m,onRemove:y,onOpenContentEditor:u,isPanel:f,navigate:x})=>{var U,q,P,pe,B,z;const N=async(v,T)=>{var w;const A=(w=v.target.files)==null?void 0:w[0];if(!A)return;const K=oe.loading("ÐбÑабоÑка и загÑÑзка...");try{const V=await bo(A);try{const M=await Wl.uploadFile(V);T(M),oe.success("ÐагÑÑжено (ÐпÑимизиÑовано)",{id:K})}catch(M){console.warn("Server upload failed, using local base64",M);const X=await jr(A);T(X),oe.success("ÐагÑÑжено локалÑно",{id:K})}}catch(V){console.error(V),oe.error("ÐÑибка загÑÑзки",{id:K})}},b=(v,T)=>{m({...r,[v]:T})},C=v=>{const T=isNaN(v)?0:v,A={...r,price:T};m(A)},g=v=>{const T=r.seo||{indexing:!0};b("seo",{...T,...v})},O=(v,T)=>{const A={...r.specs||{},[v]:T};b("specs",A)},E=(v,T)=>{const A={...r.marketplaceLinks||{},[v]:T};b("marketplaceLinks",A)},_=v=>{const T=v.trim();T&&b("videos",[...r.videos||[],T])},k=v=>{const T=[...r.videos||[]];T.splice(v,1),b("videos",T)},R=()=>{const v={id:`opt-${Date.now()}`,name:"ÐÐ¾Ð²Ð°Ñ Ð¾Ð¿ÑиÑ",type:"text",values:[]};b("options",[...r.options||[],v])},D=v=>{if(confirm("Удаление опÑии ÑбÑоÑÐ¸Ñ ÑаблиÑÑ Ð²Ð°ÑианÑов. ÐÑодолжиÑÑ?")){const T=[...r.options||[]];T.splice(v,1),m({...r,options:T,variants:[]})}},te=(v,T)=>{const A=[...r.options||[]];A[v]={...A[v],...T},b("options",A)},W=v=>{const T=[...r.options||[]],A={id:`val-${Date.now()}`,name:"ÐнаÑение"};T[v].values.push(A),b("options",T)},$=(v,T)=>{const A=[...r.options||[]];A[v].values.splice(T,1),b("options",A)},H=(v,T,A)=>{const K=[...r.options||[]];K[v].values[T]={...K[v].values[T],...A},b("options",K)},J=()=>{if(!r.options||r.options.length===0)return;
3020const existingVars=r.variants||[],v=r.options.map(V=>V.id),T=r.options.map(V=>V.values.map(M=>M.id)),w=(V=>V.reduce((M,X)=>M.flatMap(le=>X.map(xe=>[le,xe].flat())),[[]]))(T).map(V=>{const M={};V.forEach((le,xe)=>{M[v[xe]]=le});const found=existingVars.find(ev=>ev.combination&&Object.keys(M).length===Object.keys(ev.combination).length&&Object.keys(M).every(k=>ev.combination[k]===M[k]));if(found)return{...found,combination:M};const X=`var-${Date.now()}-${Math.random().toString(36).substr(2,5)}`;return{id:X,combination:M,price:r.price,originalPrice:r.originalPrice,stock:10,image:r.image,externalId:X}});b("variants",w),oe.success(`СгенеÑиÑовано ${w.length} ваÑианÑов`)},Y=(v,T)=>{const A=[...r.variants||[]];if(A[v]={...A[v],...T},T.stock!==void 0){const K=A.reduce((w,V)=>w+V.stock,0);m({...r,variants:A,stock:K})}else b("variants",A)},moveVar=(v,dir)=>{const A=[...r.variants||[]],newIdx=v+dir;if(newIdx<0||newIdx>=A.length)return;[A[v],A[newIdx]]=[A[newIdx],A[v]];m({...r,variants:A});oe.success("ÐоÑÑдок изменÑн. ÐажмиÑе СоÑ
ÑаниÑÑ!")},G=async(v,T)=>{if(!T){oe.error("СнаÑала введиÑе ID");return}const A=oe.loading("ÐоиÑк в пÑайÑ-лиÑÑе...");try{const w=await(await fetch("/api/sync_price.php")).json();if(w.status==="success"&&Array.isArray(w.data)){const V=w.data.find(M=>String(M.externalId)===String(T));V?(Y(v,{price:Math.round(Number(V.price)),stock:Math.round(Number(V.stock)),originalPrice:V.oldprice?Math.round(Number(V.oldprice)):void 0}),oe.success(`Ðайдено! Цена: ${Math.round(V.price)}, ÐÑÑаÑок: ${V.stock}`,{id:A})):oe.error("Ð¢Ð¾Ð²Ð°Ñ Ñ Ñаким ID не найден в XML",{id:A})}else throw new Error("ÐÑибка даннÑÑ
")}catch(K){console.error(K),oe.error("ÐÑибка ÑвÑзи Ñ ÑеÑвеÑом",{id:A})}};return t.jsxs("div",{id:`product-card-${r.id}`,className:`bg-white border rounded-lg transition-all duration-300 text-black ${c?"border-black shadow-lg ring-1 ring-black":"border-gray-200 hover:border-gray-400"}`,children:[t.jsxs("div",{className:"p-3 flex items-center justify-between gap-4 cursor-pointer bg-white rounded-t-lg select-none text-black",onClick:h,children:[t.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[t.jsx("div",{className:"w-10 h-10 bg-gray-100 rounded border border-gray-200 flex-shrink-0 overflow-hidden",children:t.jsx("img",{src:r.image,className:"w-full h-full object-contain p-1 mix-blend-multiply"})}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"font-bold text-sm text-black truncate",children:r.name}),t.jsx("div",{className:"text-[10px] text-gray-500 font-mono",children:r.id})]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("button",{onClick:v=>{v.stopPropagation(),x(`/product/${r.id}`)},className:"flex items-center gap-1 px-3 py-1.5 bg-blue-50 text-blue-700 hover:bg-blue-100 transition-colors rounded-full border border-blue-200 text-xs font-bold uppercase",title:"ÐÑкÑÑÑÑ ÑÑÑаниÑÑ ÑоваÑа",children:[t.jsx(xr,{className:"w-3 h-3"})," ÐÑкÑÑÑÑ"]}),t.jsxs("span",{className:`text-xs font-bold px-2 py-0.5 rounded border ${r.stock>0?"bg-green-50 text-green-700 border-green-200":"bg-red-50 text-red-700 border-red-200"}`,children:[r.stock," ÑÑ"]}),t.jsx(Mt,{className:`w-4 h-4 text-gray-400 transition-transform duration-300 ${c?"rotate-180":""}`})]})]}),c&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-6 animate-fade-in text-black",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx(Yl,{children:"Ðазвание ÑоваÑа"}),t.jsx("input",{value:r.name,onChange:v=>b("name",v.target.value),className:"w-full text-sm font-bold border border-gray-300 rounded p-2 bg-white text-black focus:ring-1 focus:ring-black"})]}),t.jsxs("div",{children:[t.jsx(Yl,{children:"Ðолное опиÑание (Ð´Ð»Ñ ÑÑÑаниÑÑ ÑоваÑа)"}),t.jsx("textarea",{value:r.longDescription||"",onChange:v=>b("longDescription",v.target.value),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black min-h-[120px]",placeholder:"ÐодÑобное опиÑание ÑоваÑа..."})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsxs("div",{children:[t.jsx(Yl,{children:"Цена (Base)"}),t.jsx("input",{type:"number",value:r.price,onChange:v=>C(parseFloat(v.target.value)),className:"w-full text-sm font-mono border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Yl,{children:"СÑаÑÐ°Ñ Ñена"}),t.jsx("input",{type:"number",value:r.originalPrice||"",onChange:v=>b("originalPrice",parseFloat(v.target.value)),className:"w-full text-sm font-mono border border-gray-300 rounded p-2 bg-white text-gray-500",placeholder:"-"})]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsxs("div",{children:[t.jsx(Yl,{children:"ÐаÑегоÑиÑ"}),t.jsx("select",{value:r.category,onChange:v=>b("category",v.target.value),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black",children:o.map(v=>t.jsx("option",{value:v.id,children:v.name},v.id))})]}),t.jsxs("div",{children:[t.jsx(Yl,{children:"ÐнеÑний код (ÐлавнÑй)"}),t.jsxs("div",{className:"relative",children:[t.jsx(ks,{className:"w-3 h-3 absolute left-2 top-1/2 -translate-y-1/2 text-gray-400"}),t.jsx("input",{value:r.externalId||"",onChange:v=>b("externalId",v.target.value),className:"w-full text-sm border border-gray-300 rounded p-2 pl-6 bg-white text-black font-mono placeholder-gray-400",placeholder:"ÐÐ»Ñ ÑоваÑов без ваÑианÑов"})]})]})]})]}),t.jsxs("div",{className:"space-y-3",children:[t.jsx(Yl,{children:"Ðлавное изобÑажение и Ðейджи"}),t.jsxs("div",{className:"flex gap-3",children:[t.jsxs("div",{className:"w-24 h-24 bg-white border border-gray-300 rounded flex items-center justify-center relative overflow-hidden group",children:[t.jsx("img",{src:r.image,className:"w-full h-full object-contain p-2"}),t.jsxs("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 flex items-center justify-center transition-opacity cursor-pointer",children:[t.jsx(Ka,{className:"w-6 h-6 text-white"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:v=>N(v,T=>b("image",T))})]})]}),t.jsxs("div",{className:"flex-1 space-y-2",children:[t.jsx("input",{value:r.
3020image,onChange:v=>b("image",v.target.value),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-gray-600 font-mono",placeholder:"Image URL"}),t.jsxs("div",{className:"flex flex-wrap gap-2",children:[t.jsxs("label",{className:"flex items-center gap-1.5 cursor-pointer bg-white border border-gray-300 px-2 py-1 rounded hover:bg-blue-50 hover:border-blue-300 transition-colors",children:[t.jsx("input",{type:"checkbox",checked:r.isNewArrival||!1,onChange:v=>b("isNewArrival",v.target.checked),className:"rounded text-blue-600 focus:ring-blue-600"}),t.jsxs("span",{className:"text-[10px] font-bold uppercase text-black flex items-center gap-1",children:[t.jsx(gu,{className:"w-3 h-3 text-blue-500"})," Ðовинка"]})]}),t.jsxs("label",{className:"flex items-center gap-1.5 cursor-pointer bg-white border border-gray-300 px-2 py-1 rounded hover:bg-yellow-50 hover:border-yellow-300 transition-colors",children:[t.jsx("input",{type:"checkbox",checked:r.isHit||!1,onChange:v=>b("isHit",v.target.checked),className:"rounded text-yellow-600 focus:ring-yellow-600"}),t.jsxs("span",{className:"text-[10px] font-bold uppercase text-black flex items-center gap-1",children:[t.jsx(Va,{className:"w-3 h-3 text-yellow-500"})," ХиÑ"]})]}),t.jsxs("label",{className:"flex items-center gap-1.5 cursor-pointer bg-white border border-gray-300 px-2 py-1 rounded hover:bg-red-50 hover:border-red-300 transition-colors",children:[t.jsx("input",{type:"checkbox",checked:r.isSale||!1,onChange:v=>b("isSale",v.target.checked),className:"rounded text-red-600 focus:ring-red-600"}),t.jsxs("span",{className:"text-[10px] font-bold uppercase text-black flex items-center gap-1",children:[t.jsx(Jt,{className:"w-3 h-3 text-red-500"})," Sale"]})]})]}),t.jsxs("div",{className:"flex items-center gap-1 bg-blue-50 text-blue-700 px-2 py-1 rounded text-xs font-bold border border-blue-100 w-fit",children:[t.jsx(rw,{className:"w-3 h-3"})," ID: ",r.id]})]})]})]})]}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx(Yl,{children:"ÐÑаÑкое опиÑание (Ð´Ð»Ñ ÐºÐ°ÑегоÑии)"}),t.jsxs("button",{onClick:u,className:"text-xs font-bold uppercase text-blue-600 hover:underline flex items-center gap-1",children:[t.jsx(yl,{className:"w-3 h-3"})," ÐонÑÑÑÑкÑÐ¾Ñ Ð»ÐµÐ½Ð´Ð¸Ð½Ð³Ð°"]})]}),t.jsx("textarea",{value:r.description,onChange:v=>b("description",v.target.value),className:"w-full text-sm border border-gray-300 rounded p-2 h-20 bg-white text-black resize-none",placeholder:"ÐÑаÑкое опиÑание Ð´Ð»Ñ ÐºÐ°ÑÑоÑки..."}),t.jsxs("div",{className:"space-y-2",children:[t.jsx(Yl,{children:"СÑÑлки на видео (YouTube/Vimeo)"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"url",onKeyDown:v=>{if(v.key==="Enter"){v.preventDefault();const T=v.target;_(T.value),T.value=""}},className:"flex-1 text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"https://youtu.be/..."}),t.jsx("button",{onClick:v=>{const T=v.currentTarget.previousElementSibling;T&&T.value.trim()&&(_(T.value),T.value="")},className:"bg-black text-white px-3 py-2 text-xs font-bold uppercase rounded hover:bg-[#ff3b30] transition-colors",children:"ÐобавиÑÑ"})]}),t.jsx("div",{className:"flex gap-2 flex-wrap",children:(r.videos||[]).map((v,T)=>t.jsxs("div",{className:"flex items-center gap-2 bg-white border border-gray-200 rounded px-2 py-1 text-xs text-black",children:[t.jsx("span",{className:"max-w-[200px] truncate",children:v}),t.jsx("button",{onClick:()=>k(T),className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]},T))})]})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200",children:[t.jsxs("h4",{className:"font-bold text-xs uppercase text-gray-500 mb-2 flex items-center gap-2",children:[t.jsx(yl,{className:"w-3 h-3"})," ХаÑакÑеÑиÑÑики"]}),t.jsxs("div",{className:"space-y-2 max-h-80 overflow-y-auto custom-scrollbar pr-1",children:[Object.entries(r.specs||{}).map(([v,T],A)=>t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:v,onCh
3020ange:K=>{const w={...r.specs};delete w[v],w[K.target.value]=T,b("specs",w)},className:"w-1/3 text-xs font-bold border-b border-gray-200 focus:border-black outline-none py-1 text-gray-600 bg-white"}),t.jsx("input",{value:T,onChange:K=>O(v,K.target.value),className:"flex-1 text-xs border-b border-gray-200 focus:border-black outline-none py-1 text-black bg-white"}),t.jsx("button",{onClick:()=>{const K=Object.entries(r.specs),w=K.findIndex(([M])=>M===v);if(w>0){const V=[...K];[V[w-1],V[w]]=[V[w],V[w-1]],b("specs",Object.fromEntries(V))}},className:"text-gray-300 hover:text-black text-[10px] ml-1",children:"â²"}),t.jsx("button",{onClick:()=>{const K=Object.entries(r.specs),w=K.findIndex(([M])=>M===v);if(w<K.length-1){const V=[...K];[V[w+1],V[w]]=[V[w],V[w+1]],b("specs",Object.fromEntries(V))}},className:"text-gray-300 hover:text-black text-[10px]",children:"â¼"}),t.jsx("button",{onClick:()=>{const K={...r.specs};delete K[v],b("specs",K)},className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]},A)),t.jsxs("button",{onClick:()=>O("New Spec",""),className:"w-full mt-2 py-1.5 border border-dashed border-gray-300 rounded text-gray-500 text-xs font-bold uppercase hover:bg-gray-50 hover:text-black flex items-center justify-center gap-1",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ"]})]})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200",children:[t.jsxs("h4",{className:"font-bold text-xs uppercase text-gray-500 mb-2 flex items-center gap-2",children:[t.jsx(vs,{className:"w-3 h-3"})," SEO ÐаÑÑÑойки"]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("input",{value:((U=r.seo)==null?void 0:U.title)||"",onChange:v=>g({title:v.target.value}),className:"w-full text-xs border border-gray-200 rounded p-1.5 bg-white text-black",placeholder:"Meta Title"}),t.jsx("textarea",{value:((q=r.seo)==null?void 0:q.description)||"",onChange:v=>g({description:v.target.value}),className:"w-full text-xs border border-gray-200 rounded p-1.5 h-16 resize-none bg-white text-black",placeholder:"Meta Description"})]})]}),t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200",children:[t.jsxs("h4",{className:"font-bold text-xs uppercase text-gray-500 mb-2 flex items-center gap-2",children:[t.jsx(Jt,{className:"w-3 h-3"})," СÑÑлки на маÑкеÑплейÑÑ"]}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-[10px] font-bold w-12 text-blue-600",children:"OZON"}),t.jsx("input",{value:((P=r.marketplaceLinks)==null?void 0:P.ozon)||"",onChange:v=>E("ozon",v.target.value),className:"flex-1 text-xs border border-gray-200 rounded p-1.5 bg-white text-black",placeholder:"https://ozon.ru/product/..."})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-[10px] font-bold w-12 text-purple-600",children:"WB"}),t.jsx("input",{value:((pe=r.marketplaceLinks)==null?void 0:pe.wb)||"",onChange:v=>E("wb",v.target.value),className:"flex-1 text-xs border border-gray-200 rounded p-1.5 bg-white text-black",placeholder:"https://wildberries.ru/catalog/..."})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-[10px] font-bold w-12 text-yellow-600",children:"Yandex"}),t.jsx("input",{value:((B=r.marketplaceLinks)==null?void 0:B.yandex)||"",onChange:v=>E("yandex",v.target.value),className:"flex-1 text-xs border border-gray-200 rounded p-1.5 bg-white text-black",placeholder:"https://market.yandex.ru/product/..."})]})]})]})]})]}),t.jsxs("div",{className:"border-t border-gray-200 pt-4",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase text-black flex items-center gap-2",children:[t.jsx(gr,{className:"w-4 h-4"})," ÐаÑианÑÑ Ð¸ ÐпÑии"]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:R,className:"bg-gray-100 text-black px-3 py-1.5 rounded text-xs font-bold uppercase hover:bg-gray-200",children:"+ ÐпÑиÑ"}),t.jsxs("button",{onClick:J,className:"bg-blue-600 text-white px-3 py-1.5 rounded text-xs font-bold uppercase hover:bg-blue-700 flex items-center gap-1",children:[t.jsx(Ya,{className:"w-3 h-3"})," ÐенеÑаÑиÑ"]}
3020)]})]}),t.jsx("div",{className:"space-y-3 mb-6",children:(z=r.options)==null?void 0:z.map((v,T)=>t.jsxs("div",{className:"bg-gray-50 p-3 rounded border border-gray-200",children:[t.jsxs("div",{className:"flex gap-2 mb-2 items-center",children:[t.jsx("input",{value:v.name,onChange:A=>te(T,{name:A.target.value}),className:"w-32 text-xs font-bold border border-gray-300 rounded p-1 bg-white text-black"}),t.jsxs("select",{value:v.type,onChange:A=>te(T,{type:A.target.value}),className:"text-xs border border-gray-300 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"text",children:"ТекÑÑ"}),t.jsx("option",{value:"color",children:"ЦвеÑ"}),t.jsx("option",{value:"image",children:"ÐаÑÑинка"})]}),t.jsxs("label",{className:"flex items-center gap-1 cursor-pointer ml-1",children:[t.jsx("input",{type:"checkbox",checked:v.showInTitle||!1,onChange:A=>te(T,{showInTitle:A.target.checked}),className:"w-3 h-3"}),t.jsx("span",{className:"text-[10px] text-gray-400 uppercase font-bold",children:"Рзаголовок"})]}),t.jsx("div",{className:"flex-1"}),t.jsx("button",{onClick:()=>D(T),className:"text-gray-400 hover:text-red-500",children:t.jsx(jt,{className:"w-3 h-3"})})]}),t.jsxs("div",{className:"flex flex-wrap gap-2",children:[v.values.map((A,K)=>t.jsxs("div",{className:"flex items-center gap-1 bg-white border border-gray-200 rounded px-2 py-1",children:[t.jsx("input",{value:A.name,onChange:w=>H(T,K,{name:w.target.value}),className:"w-20 text-xs border-none p-0 focus:ring-0 text-black bg-white",placeholder:"Value"}),v.type==="color"&&t.jsx("input",{type:"color",value:A.value||"#000000",onChange:w=>H(T,K,{value:w.target.value}),className:"w-4 h-4 p-0 border-0 rounded cursor-pointer"}),v.type==="image"&&t.jsxs("div",{className:"w-4 h-4 bg-gray-100 rounded overflow-hidden relative cursor-pointer group/optimg border border-gray-300",children:[A.image&&t.jsx("img",{src:A.image,className:"w-full h-full object-cover"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0",onChange:w=>N(w,V=>H(T,K,{image:V}))})]}),t.jsx("button",{onClick:()=>{if(K>0){const m=[...v.values];[m[K-1],m[K]]=[m[K],m[K-1]];te(T,{values:m})}},className:"text-gray-300 hover:text-black text-[10px] ml-1",children:"â"}),t.jsx("button",{onClick:()=>{if(K<v.values.length-1){const m=[...v.values];[m[K+1],m[K]]=[m[K],m[K+1]];te(T,{values:m})}},className:"text-gray-300 hover:text-black text-[10px]",children:"â¶"}),t.jsx("button",{onClick:()=>$(T,K),className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]},A.id)),t.jsx("button",{onClick:()=>W(T),className:"text-xs bg-gray-200 text-black px-2 py-1 rounded hover:bg-gray-300 font-bold",children:"+"})]})]},v.id))}),r.variants&&r.variants.length>0&&t.jsx("div",{className:"overflow-x-auto border border-gray-200 rounded-lg",children:t.jsxs("table",{className:"w-full text-left text-xs",children:[t.jsx("thead",{className:"bg-gray-100 text-gray-500 font-bold uppercase",children:t.jsxs("tr",{children:[t.jsx("th",{className:"p-2",children:"ÐаÑианÑ"}),t.jsx("th",{className:"p-2 w-20",children:"Цена"}),t.jsx("th",{className:"p-2 w-20",children:"СÑаÑаÑ"}),t.jsx("th",{className:"p-2 w-16",children:"СÑок"}),t.jsx("th",{className:"p-2 w-32",children:"ÐнеÑний код"}),t.jsx("th",{className:"p-2 w-32",children:"ФоÑо (до 8)"}),t.jsx("th",{className:"p-2 w-20"})]})}),t.jsx("tbody",{className:"divide-y divide-gray-100 bg-white text-black",children:r.variants.map((v,T)=>{var A;return t.jsxs("tr",{children:[t.jsx("td",{className:"p-2 font-mono text-gray-600",children:(A=r.options)==null?void 0:A.map(K=>{var V;const w=(V=K.values.find(M=>M.id===v.combination[K.id]))==null?void 0:V.name;return t.jsx("span",{className:"mr-2 bg-gray-50 px-1 rounded border border-gray-100",children:w},K.id)})}),t.jsx("td",{className:"p-2",children:t.jsx("input",{type:"number",value:v.price,onChange:K=>Y(T,{price:parseFloat(K.target.value)}),className:"w-full border border-gray-200 rounded p-1 text-black bg-white"})}),t.jsx("td",{className:"p-2",children:t.jsx("input",{type:"number",value:v.originalPrice||"",placeholder:"-",onChange:K=>
3020Y(T,{originalPrice:parseFloat(K.target.value)}),className:"w-full border border-gray-200 rounded p-1 text-gray-500 bg-white"})}),t.jsx("td",{className:"p-2",children:t.jsx("input",{type:"number",value:v.stock,onChange:K=>Y(T,{stock:parseInt(K.target.value)}),className:"w-full border border-gray-200 rounded p-1 text-black bg-white"})}),t.jsx("td",{className:"p-2",children:t.jsxs("div",{className:"flex gap-1",children:[t.jsx("input",{value:v.externalId||"",onChange:K=>Y(T,{externalId:K.target.value}),className:"w-full border border-gray-200 rounded p-1 text-black bg-white font-mono text-[10px]",placeholder:"XML ID"}),t.jsx("button",{onClick:()=>G(T,v.externalId||""),className:"p-1 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded border border-blue-200",title:"ÐÑовеÑиÑÑ Ð¸ обновиÑÑ Ð¿Ð¾ ID",children:t.jsx(Ya,{className:"w-3 h-3"})})]})}),t.jsx("td",{className:"p-2",children:t.jsxs("div",{className:"flex gap-2 flex-wrap",children:[(v.images||[]).map((K,w)=>t.jsxs("div",{className:"w-10 h-10 bg-gray-100 rounded relative overflow-hidden border border-gray-200 group",children:[t.jsx("img",{src:K,className:"w-full h-full object-cover"}),t.jsx("button",{onClick:()=>{const V=[...v.images||[]];V.splice(w,1),Y(T,{images:V})},className:"absolute -top-1 -right-1 bg-red-500 text-white rounded-full w-4 h-4 flex items-center justify-center text-[9px] z-10",children:"Ã"}),w>0&&t.jsx("button",{onClick:()=>{const V=[...v.images||[]];[V[w-1],V[w]]=[V[w],V[w-1]];Y(T,{images:V})},className:"absolute bottom-0 left-0 bg-black/70 text-white w-5 h-5 flex items-center justify-center text-[10px] opacity-0 group-hover:opacity-100 transition-opacity",title:"Ðлево",children:"â"}),w<(v.images||[]).length-1&&t.jsx("button",{onClick:()=>{const V=[...v.images||[]];[V[w],V[w+1]]=[V[w+1],V[w]];Y(T,{images:V})},className:"absolute bottom-0 right-0 bg-black/70 text-white w-5 h-5 flex items-center justify-center text-[10px] opacity-0 group-hover:opacity-100 transition-opacity",title:"ÐпÑаво",children:"â"})]},w)),(!v.images||v.images.length<8)&&t.jsxs("label",{className:"w-10 h-10 border-2 border-dashed border-gray-300 rounded flex items-center justify-center text-gray-400 hover:border-blue-500 hover:text-blue-500 cursor-pointer relative bg-white",children:[t.jsx(At,{className:"w-4 h-4"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:K=>N(K,w=>{const V=[...v.images||[]];V.push(w),Y(T,{images:V})})})]})]})}),t.jsx("td",{className:"p-2",children:t.jsxs("div",{className:"flex items-center gap-1 justify-center",children:[t.jsx("button",{onClick:()=>moveVar(T,-1),className:"text-gray-300 hover:text-blue-500 disabled:opacity-30",disabled:T===0,title:"ÐвеÑÑ
",children:t.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 15l7-7 7 7"})})}),t.jsx("button",{onClick:()=>moveVar(T,1),className:"text-gray-300 hover:text-blue-500 disabled:opacity-30",disabled:T===r.variants.length-1,title:"Ðниз",children:t.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})}),t.jsx("button",{onClick:()=>{const K=[...r.variants];K.splice(T,1),b("variants",K)},className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]})})]},v.id)})})]})})]}),t.jsxs("div",{className:"flex justify-between items-center pt-4 mt-4 border-t border-gray-200",children:[t.jsxs("button",{type:"button",onClick:y,className:"text-red-500 hover:text-red-700 text-xs font-bold uppercase flex items-center gap-1 px-3 py-2 hover:bg-red-50 rounded transition-colors",children:[t.jsx(jt,{className:"w-4 h-4"})," УдалиÑÑ ÑоваÑ"]}),t.jsx("div",{className:"flex gap-2",children:t.jsx("button",{onClick:h,className:"px-4 py-2 border border-gray-300 rounded text-xs font-bold uppercase hover:bg-gray-100 text-black",children:"ÐакÑÑÑÑ"})})]})]})]})},Bd=({children:r})=>t.jsx("label",{className:"text-xs font-bold text-gray-700 uppercase block mb-1.5",children:r}),Vd=({title:r,icon:o,subtitle:d})=>t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"p-2 rounded-lg bg-black text-white",children:t.jsx(o,{className:"w-5 h-5"})}),t.jsxs("div",{className:"text-left",children:[t.jsx("span",{className:"block font-bold text-sm uppercase text-black",children:r}),d&&t.jsx("span",{className:"text-xs text-gray-500 font-medium",children:d})]})]}),pj=({isOpen:r,onClose:o,isPanel:d=!1,catalogSeo:c,onUpdateCatalogSeo:h,products:m,onUpdateProducts:y,categories:u,onUpdateCategories:f,marketplaces:x,onResetDefaults:N,onExportConfig:b,onImportConfig:C,initialEditingProductId:g,navigate:O})=>{const[E,_]=j.useState("catalog_products"),[k,R]=j.useState(g||null),[D,te]=j.useState(null),[W,$]=j.useState(null),[H,J]=j.useState(""),[Y,G]=j.useState("all"),[U,q]=j.useState(null);j.useRef(null),j.useEffect(()=>{g&&(R(g),_("catalog_products"),setTimeout(()=>{const ce=document.getElementById(`product-card-${g}`);ce&&ce.scrollIntoView({behavior:"smooth",block:"center"})},300))},[g]);
3020const P=ce=>{_(E===ce?null:ce)},pe=async(ce,ve)=>{var Oe;const be=(Oe=ce.target.files)==null?void 0:Oe[0];if(be)try{const Je=await jr(be);ve(Je),oe.success("ÐзобÑажение загÑÑжено")}catch{oe.error("ÐÑибка обÑабоÑки изобÑажениÑ")}},B=()=>{const ce=u.length>0?u[0].id:"keyboards",ve={id:`prod-${Date.now()}`,name:"ÐовÑй ÑоваÑ",category:ce,price:0,stock:10,image:"/placeholder.svg",description:"ÐпиÑание ÑоваÑа...",features:["Ðовинка"],rating:5,specs:{},gallery:[],videos:[],options:[],variants:[],seo:{indexing:!0},isNewArrival:!1};y([ve,...m]),R(ve.id),oe.success("Ð¢Ð¾Ð²Ð°Ñ Ñоздан")},z=ce=>{window.confirm("УдалиÑÑ ÑоваÑ?")&&(y(m.filter(ve=>ve.id!==ce)),k===ce&&R(null),oe.success("Ð¢Ð¾Ð²Ð°Ñ Ñдален"))},v=ce=>{y(m.map(ve=>ve.id===ce.id?ce:ve))},T=()=>{const ce=`cat-${Date.now()}`,ve={id:ce,name:"ÐÐ¾Ð²Ð°Ñ ÐºÐ°ÑегоÑиÑ",slug:`new-category-${Date.now()}`,link:`/category/new-category-${Date.now()}`,image:"/placeholder.svg",specFields:[],seo:{indexing:!0}};f([ve,...u]),te(ce),oe.success("ÐаÑегоÑÐ¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð°")},A=ce=>{if(window.confirm("УдалиÑÑ ÐºÐ°ÑегоÑиÑ?")){const ve=[...u];ve.splice(ce,1),f(ve),te(null)}},K=(ce,ve)=>{const be=[...u];ve.slug&&(ve.link=`/category/${ve.slug}`),be[ce]={...be[ce],...ve},f(be)},w=ce=>{const ve=new Set;return m.filter(be=>be.category===ce).forEach(be=>{be.specs&&Object.keys(be.specs).forEach(Oe=>ve.add(Oe))}),Array.from(ve).sort()},V=(ce,ve)=>{var Oe;const be=(Oe=ce.filterSettings)==null?void 0:Oe.find(Je=>Je.key===ve);return be||{key:ve,isVisible:!0,groups:[]}},M=(ce,ve)=>{const Oe=[...u[ce].filterSettings||[]],Je=Oe.findIndex(gt=>gt.key===ve.key);Je>=0?Oe[Je]=ve:Oe.push(ve),K(ce,{filterSettings:Oe})},X=(ce,ve)=>{const be=u[ce],Oe=V(be,ve),Je=m.filter(Xt=>Xt.category===be.id),gt=new Set;Je.forEach(Xt=>{var se;const Pe=(se=Xt.specs)==null?void 0:se[ve];Pe&&Pe.split(",").map(ye=>ye.trim()).forEach(ye=>{ye&>.add(ye)})});const Fe=[...Oe.groups];let Ht=0;gt.forEach(Xt=>{Fe.some(se=>se.variations.some(ye=>ye.toLowerCase()===Xt.toLowerCase()))||(Fe.push({id:`grp-${Date.now()}-${Math.random()}`,display:Xt,variations:[Xt]}),Ht++)}),Ht>0?(M(ce,{...Oe,groups:Fe}),oe.success(`Ðобавлено ${Ht} новÑÑ
знаÑений`)):oe.success("ÐÑе знаÑÐµÐ½Ð¸Ñ Ñже наÑÑÑоенÑ")},le=(ce,ve,be,Oe)=>{const Je=u[ce],gt=V(Je,ve),Fe=[...gt.groups];Oe==="up"&&be>0?[Fe[be],Fe[be-1]]=[Fe[be-1],Fe[be]]:Oe==="down"&&be<Fe.length-1&&([Fe[be],Fe[be+1]]=[Fe[be+1],Fe[be]]),M(ce,{...gt,groups:Fe})},xe=(ce,ve,be,Oe)=>{const Je=u[ce],gt=V(Je,ve),Fe=[...gt.groups];Fe[be]={...Fe[be],...Oe},M(ce,{...gt,groups:Fe})},ge=(ce,ve,be)=>{if(!confirm("УдалиÑÑ ÑÑо знаÑение?"))return;const Oe=u[ce],Je=V(Oe,ve),gt=[...Je.groups];gt.splice(be,1),M(ce,{...Je,groups:gt})},je=ce=>{const ve={id:`spec-${Date.now()}`,name:"ÐÐ¾Ð²Ð°Ñ Ñ
аÑакÑеÑиÑÑика",placeholder:""},be=[...u];be[ce].specFields||(be[ce].specFields=[]),be[ce].specFields.unshift(ve),f(be)},Ne=(ce,ve,be)=>{const Oe=[...u];Oe[ce].specFields&&(Oe[ce].specFields[ve]={...Oe[ce].specFields[ve],...be},f(Oe))},Ee=(ce,ve)=>{const be=[...u];be[ce].specFields&&(be[ce].specFields.splice(ve,1),f(be))},Ge=m.filter(ce=>{const q=String(H||""),ve=q.trim().toLowerCase(),be=Y==="all"||ce.category===Y;let Oe=!0;if(ve){const ie=(ce.name||"").toLowerCase().includes(ve)||String(ce.id||"").toLowerCase().includes(ve)||String(ce.externalId||"").toLowerCase().includes(ve)||String(ce.externalId||"").toLowerCase().replace(/[-\s]/g,"").includes(ve.replace(/[-\s]/g,""));let Ne=!1;try{Array.isArray(ce.variants)&&ce.variants.length&&(Ne=ce.variants.some(Ee=>String(Ee.externalId||"").toLowerCase().includes(ve)||String(Ee.externalId||"").toLowerCase().replace(/[-\s]/g,"").includes(ve.replace(/[-\s]/g,""))))}catch(Ee){}Oe=ie||Ne}return Oe&&be});if(W){const ce=m.find(ve=>ve.id===W);if(ce)return d?t.jsx("div",{className:"h-full bg-white flex flex-col animate-fade-in text-black",children:t.jsx(Ix,{product:ce,onUpdateProduct:v,onBack:()=>$(null)})}):t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`fixed inset-0 bg-black/60 backdrop-blur-sm z-[100] ${r?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:o}),t.jsx("div",{className:`fixed top-0 right-0 h-full w-full md:w-[500px] bg-white text-black shadow-2xl z-[101] transform transition-transform duration-300 ease-out flex flex-col ${r?"translate-x-0":"translate-x-full"}`,children:t.jsx(Ix,{product:ce,onUpdateProduct:v,onBack:()=>$(null)})})]})}const it=d?"w-full h-full bg-transparent flex flex-col text-black":`fixed top-0 right-0 h-full w-full md:w-[500px] bg-white text-black shadow-2xl z-[101] transform transition-transform duration-300 ease-out flex flex-col ${r?"translate-x-0":"translate-x-full"}`,Ua=d?null:t.jsx("div",{className:`fixed inset-0 bg-black/60 backdrop-blur-sm z-[100] transition-opacity duration-300 ${r?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:o});return t.jsxs(t.Fragment,{children:[Ua,t.jsxs("div",{className:it,children:[!d&&t.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 bg-white z-10 text-black",children:[t.jsx("div",{children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("h2",{className:"text-2xl font-black text-black uppercase tracking-tighter flex items-center gap-2",children:[t.jsx(gr,{className:"w-6 h-6 text-[#ff3b30]"}),"ÐÐТÐÐÐÐ"]}),t.jsxs("span",{className:"flex items-center gap-1 text-[10px] bg-green-100 text-green-700 px-2 py-0.5 rounded-full font-bold uppercase border border-green-200",children:[t.jsx(Tn,{className:"w-3 h-3"})," Auto-saved"]})]})}),t.jsx("button",{onClick:o,className:"p-2 hover:bg-gray-100 rounded-full transition-colors",children:t.jsx(xt,{className:"w-6 h-6 text-gray-500"})})]}),t.jsx("div",{className:`flex-1 overflow-visible custom-scrollbar ${d?"":"pb-10"}`,children:t.jsxs("div",{className:d?"space-y-4":"px-4 space-y-4 py-6",children:[t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${E==="catalog_c
3020ategories"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>P("catalog_categories"),className:"w-full flex items-center justify-between p-4 bg-white text-black",children:[t.jsx(Vd,{title:"ÐаÑегоÑии и ФилÑÑÑÑ",icon:gr,subtitle:`${u.length} акÑивнÑÑ
`}),E==="catalog_categories"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),E==="catalog_categories"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsxs("button",{onClick:T,className:"w-full py-2 bg-black text-white text-xs font-bold uppercase rounded hover:bg-[#ff3b30] flex items-center justify-center gap-2",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ ÐºÐ°ÑегоÑиÑ"]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:u.map((ce,ve)=>t.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-3 relative group",children:[t.jsxs("div",{className:"flex justify-between items-center mb-2",children:[t.jsxs("div",{className:"flex gap-2 items-center cursor-pointer",onClick:()=>te(D===ce.id?null:ce.id),children:[t.jsx("div",{className:"w-8 h-8 bg-gray-100 rounded overflow-hidden relative border border-gray-200",children:t.jsx("img",{src:ce.image,className:"w-full h-full object-cover"})}),t.jsx("div",{className:"text-sm font-bold uppercase text-black",children:ce.name}),t.jsx(Mt,{className:`w-3 h-3 text-gray-400 transition-transform ${D===ce.id?"rotate-180":""}`})]}),t.jsx("button",{onClick:()=>A(ve),type:"button",className:"text-gray-400 hover:text-red-500 z-10 relative",children:t.jsx(jt,{className:"w-3 h-3"})})]}),D===ce.id&&t.jsxs("div",{className:"space-y-4 pt-3 mt-2 border-t border-gray-100 animate-fade-in text-black",children:[t.jsx("div",{children:t.jsxs("div",{className:"flex gap-3",children:[t.jsxs("div",{className:"w-16 h-16 bg-gray-100 rounded flex-shrink-0 overflow-hidden relative group/img cursor-pointer border border-gray-300",children:[t.jsx("img",{src:ce.image,className:"w-full h-full object-cover"}),t.jsxs("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover/img:opacity-100 flex items-center justify-center transition-opacity",children:[t.jsx(Ka,{className:"w-4 h-4 text-white"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:be=>pe(be,Oe=>K(ve,{image:Oe}))})]})]}),t.jsxs("div",{className:"flex-1 space-y-2",children:[t.jsx("input",{value:ce.name,onChange:be=>K(ve,{name:be.target.value}),className:"w-full text-sm font-bold border border-gray-300 rounded p-1.5 bg-white text-black",placeholder:"Ðазвание"}),t.jsx("input",{value:ce.slug,onChange:be=>K(ve,{slug:be.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-blue-600 font-mono",placeholder:"slug"})]})]})}),t.jsxs("div",{className:"bg-purple-50 p-3 rounded-lg border border-purple-100 text-black",children:[t.jsxs("div",{className:"mb-4",children:[t.jsx("label",{className:"text-[10px] font-bold text-purple-800 uppercase mb-1 block",children:"ÐÑбеÑиÑе паÑамеÑÑ Ð´Ð»Ñ Ð½Ð°ÑÑÑойки:"}),t.jsx("div",{className:"flex flex-wrap gap-2",children:w(ce.id).map(be=>{const Oe=V(ce,be);return t.jsx("button",{onClick:()=>q(U===be?null:be),className:`px-2 py-1 rounded text-[10px] font-bold uppercase border transition-all ${U===be?"bg-purple-600 text-white border-purple-600 shadow-md":Oe.isVisible?"bg-white border-purple-200 text-purple-800":"bg-gray-100 border-gray-300 text-gray-400 line-through"}`,children:be},be)})})]}),U&&t.jsxs("div",{className:"bg-white p-3 rounded border border-purple-200 animate-fade-in shadow-sm",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3 border-b border-purple-50 pb-2",children:[t.jsx("span",{className:"font-bold text-sm text-purple-900",children:U}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>M(ve,{...V(ce,U),isVisible:!V(ce,U).isVisible}),className:`p-1.5 rounded ${V(ce,U).isVisible?"text-green-600 bg-green-50 hover:bg-green-100":"text-red-500 bg-red-50 hover:bg-red-100"}`,children:V(ce,U).isVisible?t.jsx(xr,{className:"w-4 h-4"}):t.jsx(ao,{className:"w-4 h-4"})}),t.jsxs("button",{onClick:()=>X(ve,U),className:"flex items-center gap-1 px-2 py-1 bg-blue-50 text-blue-600 rounded text-[10px] font-bold uppercase hover:bg-blue-100",children:[t.jsx(Ya,{className:"w-3 h-3"})," СканиÑоваÑÑ"]})]})]}),t.jsx("div",{className:"space-y-2 max-h-[250px] overflow-visible custom-scrollbar pr-1",children:V(ce,U).groups.map((be,Oe)=>t.jsx("div",{className:"flex flex-col gap-1 p-2 bg-gray-50 rounded border border-gray-200 text-black",children:t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.jsx("button",{onClick:()=>le(ve,U,Oe,"up"),className:"p-0.5 text-gray-400 hover:text-black",children:t.jsx(vn,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>le(ve,U,Oe,"down"),className:"p-0.5 text-gray-400 hover:text-black",children:t.jsx(yn,{className:"w-3 h-3"})})]}),t.jsxs("div",{className:"flex-1 space-y-1",children:[t.jsx("input",{value:be.display,onChange:Je=>xe(ve,U,Oe,{display:Je.target.value}),className:"w-full text-xs font-bold border border-gray-300 rounded px-1.5 py-1 bg-white text-black"}),t.jsx("input",{value:be.variations.join(", "),onChange:Je=>xe(ve,U,Oe,{variations:Je.target.value.split(",").map(gt=>gt.trim())}),className:"w-full text-[10px] border border-gray-200 rounded px-1.5 py-1 text-gray-500 font-mono bg-white"})]}),t.jsx("button",{onClick:()=>ge(ve,U,Oe),className:"text-gray-300 hover:text-red-500 self-start p-1",children:t.jsx(xt,{className:"w-4 h-4"})})]})},Oe))}),t.jsx("button",{onClick:()=>{const be=V(ce,U);M(ve,{...be,groups:[...be.groups,{id:`new-${Date.now()}`,display:"Ðовое знаÑение",variations:[]}]})},className:"w-full mt-2 py-1.5 border border-dashed border-purple-300 text-purple-600 rounded text-xs font-bold uppercase hover:bg-purple-50",children:"+ ÐобавиÑÑ Ð·Ð½Ð°Ñение вÑÑÑнÑÑ"})]})]}),t.jsxs("div",{className:"bg-gray-50 p-3 rounded-lg border border-gray-200 text-black",children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx(Bd,{children:"ÐÐ¾Ð»Ñ Ñ
аÑакÑеÑиÑÑик"}),t.jsxs("button",{onClick:()=>je(ve),className:"text-xs bg-black text-white px-2 py-0.5 rounded hover:bg-gray-800 flex gap-1 items-center",children:[t.jsx(At,{className:"w-2 h-2"})," Ðоле"]})]}),t.jsx("div",{className:"space-y-2",children:ce.specFields&&ce.specFields.length>0?ce.specFields.map((be,Oe)=>t.jsxs("div",{className:"flex gap-1 items-center",children:[t.jsx("input",{value:be.name,onChange:Je=>Ne(ve,Oe,{name:Je.target.value}),className:"flex-1 text-sm border border-gray-300 rounded p-1 bg-white text-black",placeholder:"ÐаÐ
3020·Ð²Ð°Ð½Ð¸Ðµ"}),t.jsx("input",{value:be.placeholder||"",onChange:Je=>Ne(ve,Oe,{placeholder:Je.target.value}),className:"flex-1 text-sm border border-gray-300 rounded p-1 bg-white text-gray-500",placeholder:"ÐÑимеÑ"}),t.jsx("button",{onClick:()=>Ne(ve,Oe,{hideInComparison:!be.hideInComparison}),className:`p-1 ${be.hideInComparison?"text-gray-300":"text-blue-500"}`,children:be.hideInComparison?t.jsx(ao,{className:"w-3 h-3"}):t.jsx(xr,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>Ee(ve,Oe),className:"text-gray-400 hover:text-red-500 p-1",children:t.jsx(xt,{className:"w-3 h-3"})})]},be.id)):t.jsx("div",{className:"text-xs text-gray-400 italic",children:"ÐÐµÑ Ð¿Ð¾Ð»ÐµÐ¹."})})]})]})]},ce.id))})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${E==="catalog_products"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>P("catalog_products"),className:"w-full flex items-center justify-between p-4 bg-white text-black",children:[t.jsx(Vd,{title:"ТоваÑÑ",icon:Jt,subtitle:`${m.length} позиÑий`}),E==="catalog_products"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),E==="catalog_products"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsxs("div",{className:"flex gap-2 flex-wrap",children:[t.jsxs("div",{className:"relative flex-1 min-w-[150px]",children:[t.jsx("input",{value:H,onChange:ce=>J(ce.target.value),placeholder:"ÐоиÑк ÑоваÑа...",className:"w-full text-sm border border-gray-300 rounded pl-8 pr-2 py-2 bg-white text-black placeholder-gray-500"}),t.jsx(xa,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400"})]}),t.jsxs("div",{className:"relative min-w-[150px]",children:[t.jsxs("select",{value:Y,onChange:ce=>G(ce.target.value),className:"w-full text-sm border border-gray-300 rounded pl-8 pr-2 py-2 bg-white text-black appearance-none",children:[t.jsx("option",{value:"all",children:"ÐÑе каÑегоÑии"}),u.map(ce=>t.jsx("option",{value:ce.id,children:ce.name},ce.id))]}),t.jsx(pr,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400"})]}),t.jsx("button",{onClick:B,className:"bg-black text-white px-3 rounded hover:bg-[#ff3b30]",children:t.jsx(At,{className:"w-4 h-4"})})]}),t.jsxs("div",{className:"space-y-4 pr-1",children:[Ge.length===0&&t.jsx("div",{className:"col-span-full text-center py-8 text-gray-400 text-sm italic",children:"ТоваÑÑ Ð½Ðµ найденÑ"}),Ge.map(ce=>t.jsx(xj,{product:ce,categories:u,marketplaces:x,isEditing:k===ce.id,onToggleEdit:()=>R(k===ce.id?null:ce.id),onUpdate:v,onRemove:()=>z(ce.id),onOpenContentEditor:()=>$(ce.id),isPanel:d,navigate:O},ce.id))]})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${E==="catalog_seo"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>P("catalog_seo"),className:"w-full flex items-center justify-between p-4 bg-white text-black",children:[t.jsx(Vd,{title:"SEO ÐаÑалога",icon:xa}),E==="catalog_seo"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),E==="catalog_seo"&&t.jsx("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx(Bd,{children:"Title"}),t.jsx("input",{value:c.title,onChange:ce=>h({...c,title:ce.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Bd,{children:"Description"}),t.jsx("textarea",{value:c.description,onChange:ce=>h({...c,description:ce.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black h-16"})]})]})})]})]})})]})]})},Oa=({children:r})=>t.jsx("label",{className:"text-xs font-bold text-gray-500 uppercase block mb-1.5",children:r}),bs=({title:r,icon:o,subtitle:d})=>t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"p-2 rounded-lg bg-black text-white",children:t.jsx(o,{className:"w-5 h-5"})}),t.jsxs("div",{className:"text-left",children:[t.jsx("span",{className:"block font-bold text-sm uppercase text-black",children:r}),d&&t.jsx("span",{className:"text-xs text-gray-500 font-medium",children:d})]})]}),fj=({isOpen:r,onClose:o,isPanel:d=!1,seo:c,onUpdateSeo:h,heroSlides:m,onUpdateHeroSlides:y,logoImage:u,onLogoImageChange:f,navLinks:x,onUpdateNavLinks:N,marketplaces:b,onUpdateMarketplaces:C,marketplacesContent:g,onUpdateMarketplacesContent:O,carouselSettings:E,onUpdateCarouselSettings:_,internalShopSett
3020ings:k,onUpdateInternalShopSettings:R,reviews:D,onUpdateReviews:te,footerColumns:W,onUpdateFooterColumns:$,socialLinks:H,onUpdateSocialLinks:J,pages:Y,onUpdatePages:G,supportSettings:U,onUpdateSupportSettings:q,tickerSettings:P,onUpdateTickerSettings:pe,products:B,onResetDefaults:z,onExportConfig:v,onImportConfig:T,navigate:A,currentPath:K})=>{var ke,ie,We,Re,Xe,Ie,Be,Ot,Ze,_a,Ra,es,wl,jl,Nl;j.useRef(null);const[w,V]=j.useState("header"),[M,X]=j.useState(""),le=Z=>{V(w===Z?null:Z)},xe=(Z,me)=>{h({...c,[Z]:me})},ge=async(Z,me)=>{var yt;const fe=(yt=Z.target.files)==null?void 0:yt[0];if(!fe)return;const Ae=oe.loading("ÐбÑабоÑка и загÑÑзка...");try{const Nt=await bo(fe);try{const Tt=await Wl.uploadFile(Nt);me(Tt),oe.success("ÐагÑÑжено (ÐпÑимизиÑовано)",{id:Ae})}catch(Tt){console.warn("Server upload failed, falling back to base64",Tt);const Ma=await jr(fe);me(Ma),oe.success("ÐагÑÑжено локалÑно (Base64)",{id:Ae})}}catch(Nt){console.error(Nt),oe.error("ÐÑибка загÑÑзки",{id:Ae})}},je=()=>{const Z={id:`slide-${Date.now()}`,image:"/placeholder.svg",tagline:"ÐÐÐЫРСÐÐÐÐ",title:"ÐÐÐÐÐÐÐÐÐ <br/> ÐÐÐÐÐÐ Ð",subtitle:"ÐпиÑание пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ акÑии",buttonText:"ÐодÑобнее",link:"catalog"};y([Z,...m]),oe.success("Слайд добавлен")},Ne=Z=>{const me=[...m];me.splice(Z,1),y(me)},Ee=(Z,me)=>{if(me==="up"&&Z===0||me==="down"&&Z===m.length-1)return;const fe=[...m],Ae=me==="up"?Z-1:Z+1;[fe[Z],fe[Ae]]=[fe[Ae],fe[Z]],y(fe)},Ge=Z=>{const fe={...m[Z],id:`slide-${Date.now()}`},Ae=[...m];Ae.splice(Z+1,0,fe),y(Ae),oe.success("Слайд дÑблиÑован")},it=()=>{const Z={id:`mp-${Date.now()}`,name:"ÐовÑй ÐаÑкеÑплейÑ",image:"/placeholder.svg",link:"#"};C([Z,...b])},Ua=Z=>{const me=[...b];me.splice(Z,1),C(me)},ce=(Z,me)=>{const fe=[...b];fe[Z]={...fe[Z],...me},C(fe)},ve=()=>{const Z={id:`rev-${Date.now()}`,name:"ÐÐ¼Ñ ÐлиенÑа",source:"(OZON)",text:"ТекÑÑ Ð¾ÑзÑва...",product:"Ðазвание ÑоваÑа",stars:5};te([Z,...D])},be=Z=>{const me=[...D];me.splice(Z,1),te(me)},Oe=(Z,me)=>{const fe=[...D];fe[Z]={...fe[Z],...me},te(fe)},Je=()=>{const Z={id:`tick-${Date.now()}`,text:"ÐовÑй ÑекÑÑ Ð°ÐºÑии",isBold:!0,icon:"star"};pe({...P,items:[Z,...P.items]})},gt=Z=>{const me=[...P.items];me.splice(Z,1),pe({...P,items:me})},Fe=(Z,me)=>{const fe=[...P.items];fe[Z]={...fe[Z],...me},pe({...P,items:fe})},Ht=()=>{const Z={id:`soc-${Date.now()}`,platform:"telegram",url:"https://t.me"};J([Z,...H])},Xt=Z=>{const me=[...H];me.splice(Z,1),J(me)},Pe=(Z,me)=>{const fe=[...H];fe[Z]={...fe[Z],...me},J(fe)},se=()=>{const Z={id:`fc-${Date.now()}`,title:"ÐÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°",links:[]};$([Z,...W])},ye=Z=>{const me=[...W];me.splice(Z,1),$(me)},De=(Z,me)=>{const fe=[...W];fe[Z]={...fe[Z],...me},$(fe)},et=Z=>{const me=[...W];me[Z].links.unshift({id:`fl-${Date.now()}`,name:"ÐÐ¾Ð²Ð°Ñ ÑÑÑлка",url:"/"}),$(me)},Me=(Z,me)=>{const fe=[...W];fe[Z].links.splice(me,1),$(fe)},tt=(Z,me,fe)=>{const Ae=[...W];Ae[Z].links[me]={...Ae[Z].links[me],...fe},$(Ae)},st=()=>{const Z={id:`nav-${Date.now()}`,name:"ÐÐ¾Ð²Ð°Ñ ÑÑÑлка",target:"/"};N([Z,...x])},$t=Z=>{const me=[...x];me.splice(Z,1),N(me)},Kt=(Z,me)=>{const fe=[...x];fe[Z]={...fe[Z],...me},N(fe)},He=()=>{var fe;if(!M.includes("@")){oe.error("ÐекоÑÑекÑнÑй Email");return}const Z=((fe=k.notifications)==null?void 0:fe.orderEmails)||[];if(Z.includes(M)){oe.error("Email Ñже добавлен");return}const me={...k,notifications:{...k.notifications,orderEmails:[...Z,M]}};R(me),X(""),oe.success("Email добавлен")},dt=Z=>{var Ae;const me=((Ae=k.notifications)==null?void 0:Ae.orderEmails)||[],fe={...k,notifications:{...k.notifications,orderEmails:me.filter(yt=>yt!==Z)}};R(fe)},Lt=Z=>{const me={...k,notifications:{...k.notifications,contactForm:{...k.notifications.contactForm,...Z}}};R(me)},bt=Z=>{const me={...k,notifications:{...k.notifications,cooperationForm:{...k.notifications.cooperationForm,...Z}}};R(me)},Wt=Z=>{const me={...k,notifications:{...k.notifications,telegramWidget:{...((k.notifications||{}).telegramWidget||{}),...Z}}};R(me)},vl=d?"w-full h-full bg-transparent flex flex-col":`fixed top-0 right-0 h-full w-full md:w-[500px] bg-white text-black shadow-2xl z-[101] transform transition-transform duration-300 ease-out flex flex-col ${r?"translate-x-0":"translate-x-full"}`,Ta=d?null:t.jsx("div",{className:`fixed inset-0 bg-black/60 backdrop-blur-sm z-[100] transition-opacity duration-300 ${r?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:o});return t.jsxs(t.Fragment,{children:[Ta,t.jsxs("div",{className:vl,children:[!d&&t.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 bg-white z-10",children:[t.jsxs("h2",{className:"text-xl font-black text-black uppercase tracking-tighter flex items-center gap-2",children:[t.jsx(yl,{className:"w-5 h-5 text-[#ff3b30]"}),"ÐаÑÑÑойки"]}),t.jsx("button",{onClick:o,className:"p-2 hover:bg-gray-100 rounded-full transition-colors",children:t.jsx(xt,{className:"w-6 h-6 text-gray-500"})})]}),t.jsx("div",{className:`flex-1 overflow-visible custom-scrollbar ${d?"":"pb-10"}`,children:t.jsxs("div",{className:d?"space-y-4":"px-4 space-y-4 py-6",children:[t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="header"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("header"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"Шапка и SEO",icon:vs,subtitle:"Ðого, Ñавикон, менÑ"}),w==="header"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="header"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-6 animate-fade-in",children:[t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("div",{className:"w-12 h-12 bg-black rounded flex items-center justify-center overflow-hidden border border-gray-300 relative group cursor-pointer",children:[u?t.jsx("img",{src:u,className:"w-full h-full object-contain p-1"}):t.jsx("span",{className:"text-[8px] text-white",children:"LOGO"}),t.jsx("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 flex items-center justify-center transition-opacity",children:t.jsx(Ka,{className:"w-4 h-4 text-white"})}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:Z=>ge(Z,f)})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-xs font-bold uppercase text-gray-500 block",children:"ÐогоÑип ÑайÑа"}),t.jsx("p",{className:"text-[10px] text-blue-600 font-bold mt-0.5",children:"⨠PNG, ÐÑÑоÑа 40-60px"})]})]}),u&&t.jsx("button",{onClick:()=>f(""),className:"text-gray-400 hover:text-red-500",children:t.jsx(Rx,{className:"w-4 h-4"})})]}),t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("div",{className:"w-12 h-12 bg-white rounded flex items-center justify-center overflow-hidden border border-gray-300 relative group cursor-pointer",children:[c.favicon?t.jsx("img",{src:c.favicon,
3020className:"w-full h-full object-contain p-2"}):t.jsx("span",{className:"text-[8px] text-gray-400",children:"ICON"}),t.jsx("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 flex items-center justify-center transition-opacity",children:t.jsx(Ka,{className:"w-4 h-4 text-white"})}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:Z=>ge(Z,me=>xe("favicon",me))})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-xs font-bold uppercase text-gray-500 block",children:"Фавикон"}),t.jsx("p",{className:"text-[10px] text-blue-600 font-bold mt-0.5",children:"⨠ÐвадÑаÑ, PNG/ICO"})]})]}),c.favicon&&t.jsx("button",{onClick:()=>xe("favicon",""),className:"text-gray-400 hover:text-red-500",children:t.jsx(Rx,{className:"w-4 h-4"})})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("span",{className:"text-xs font-bold text-gray-500 uppercase",children:"ÐÐµÐ½Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñии"}),t.jsx("button",{onClick:st,className:"text-[10px] font-bold text-blue-600 hover:underline",children:"+ ÐобавиÑÑ ÑÑÑлкÑ"})]}),t.jsx("div",{className:"space-y-2",children:x.map((Z,me)=>t.jsxs("div",{className:"space-y-2 bg-white p-3 rounded border border-gray-200 shadow-sm",children:[t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsx(ks,{className:"w-3 h-3 text-gray-400 flex-shrink-0"}),t.jsx("input",{value:Z.name,onChange:fe=>Kt(me,{name:fe.target.value}),className:"w-1/3 text-xs font-bold border border-gray-300 rounded p-1 bg-white text-black",placeholder:"Ðазвание"}),t.jsx("input",{value:Z.target,onChange:fe=>Kt(me,{target:fe.target.value}),className:"flex-1 text-xs border border-gray-300 rounded p-1 bg-white text-blue-600",placeholder:"СÑÑлка (URL)"}),t.jsx("button",{onClick:()=>$t(me),className:"text-gray-300 hover:text-red-500 p-1",children:t.jsx(xt,{className:"w-3 h-3"})})]}),t.jsxs("div",{className:"pl-6 space-y-2 border-l-2 border-gray-100 mt-2",children:[(Z.children||[]).map((sub,si)=>t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsx("input",{value:sub.name,onChange:fe=>{const nc=[...Z.children];nc[si]={...sub,name:fe.target.value};Kt(me,{children:nc})},className:"w-1/3 text-[10px] font-bold border border-gray-200 rounded p-1 bg-gray-50 text-black",placeholder:"ÐодÑÑÑлка"}),t.jsx("input",{value:sub.target,onChange:fe=>{const nc=[...Z.children];nc[si]={...sub,target:fe.target.value};Kt(me,{children:nc})},className:"flex-1 text-[10px] border border-gray-200 rounded p-1 bg-gray-50 text-blue-600",placeholder:"URL"}),t.jsx("button",{onClick:()=>{const nc=Z.children.filter((_,idx)=>idx!==si);Kt(me,{children:nc})},className:"text-gray-300 hover:text-red-500 p-1",children:t.jsx(xt,{className:"w-2.5 h-2.5"})})]},sub.id)),t.jsx("button",{onClick:()=>Kt(me,{children:[...(Z.children||[]),{id:`sub-${Date.now()}`,name:"ÐÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´ÑÑÑлка",target:"/"}]}),className:"text-[9px] font-bold text-blue-500 hover:underline",children:"+ ÐодÑÑÑлка"})]})]},Z.id))})]}),t.jsxs("div",{className:"space-y-3 pt-3 border-t border-gray-200",children:[t.jsx("h4",{className:"text-xs font-bold text-black uppercase mb-1",children:"SEO (ÐлавнаÑ)"}),t.jsxs("div",{children:[t.jsx(Oa,{children:"Meta Title"}),t.jsx("input",{value:c.title,onChange:Z=>xe("title",Z.target.value),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"Meta Description"}),t.jsx("textarea",{value:c.description,onChange:Z=>xe("description",Z.target.value),className:"w-full text-sm border border-gray-300 rounded p-2 h-20 resize-none bg-white text-black"})]})]})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="notifications"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("notifications"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¸ ФоÑмÑ",icon:U1,subtitle:"Email заказов, конÑакÑÑ"}),w==="notifications"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="notifications"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-6 animate-fade-in",children:[t.jsx("hr",{className:"border-gray-200"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx("h4",{className:"text-xs font-bold uppercase text-black flex items-center gap-2",children:"Ð§Ð°Ñ Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой"}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:!!(((k.notifications||{}).telegramWidget||{}).enabled),onChange:Z=>Wt({enabled:Z.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:bg-green-500 peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all"})]})]}),t.jsxs("div",{className:"p-3 bg-white border border-gray-200 rounded-lg space-y-3",children:[t.jsxs("div",{children:[t.jsx(Oa,{children:"Ðаголовок ÑоÑмÑ"}),t.jsx("input",{value:(((k.notifications||{}).telegramWidget||{}).title)||"",onChange:Z=>Wt({title:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"Ð§Ð°Ñ Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ТекÑÑ Ð¿Ð¾Ñле оÑпÑавки"}),t.jsx("input",{value:(((k.notifications||{}).telegramWidget||{}).successMessage)||"",onChange:Z=>Wt({successMessage:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"СпаÑибо! ÐÑ Ð¾ÑвеÑим вам в ближайÑее вÑемÑ."})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"Email Ð´Ð»Ñ Ð´ÑблиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (необÑзаÑелÑно)"}),t.jsx("input",{value:(((k.notifications||{}).telegramWidget||{}).emailCopyTo)||"",onChange:Z=>Wt({emailCopyTo:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"[email protected]"}),t.jsx("p",{className:"text-[10px] text-gray-500",children:"СообÑение ÑÐ¹Ð´ÐµÑ Ð² Telegram и дополниÑелÑно на ÑÑÐ¾Ñ Email (еÑли Ñказан)."})]})]})]}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("h4",{className:"text-xs font-bold uppercase text-black flex items-center gap-2",children:[t.jsx(Jt,{className:"w-4 h-4"})," Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ заказаÑ
"]}),t.jsx("p",{className:"text-[10px] text-gray-500",children:"Ðа ÑÑи адÑеÑа бÑдÑÑ Ð¿ÑиÑ
одиÑÑ Ð¿Ð¸ÑÑма о новÑÑ
заказаÑ
."}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:M,onChange:Z=>X(Z.target.value),className:"flex-1 text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"[email protected]"}),t.jsx("button",{onClick:He,className:"bg-black text-white px-3 rounded text-xs font-bold uppercase",children:"ÐобавиÑÑ"})]}),t.jsx("div",{className:"flex flex-wrap gap-2",children:(((ke=k.notifications)==null?void 0:ke.orderEmails)||[]).map((Z,me)=>t.jsxs("div",{className:"flex items-center gap-2 bg-white border border-gray-200 px-3 py-1.5 rounded-full shadow-sm",children:[t.jsx("span",{className:"text-xs font-medium text-black",children:Z}),t.jsx("button",{onClick:()=>dt(Z),className:"text-gray-400 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]},me))})]}),t.jsx("hr",{className:"border-gray-200"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsxs("h4",{className:"text-xs font-bold uppercase text-black flex items-center gap-2",children:[t.jsx(ro,{className:"w-4 h-4"}),' ФоÑма "ÐонÑакÑÑ"']}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:(We=(ie=k.notifications)==null?void 0:ie.contactForm)==null?void 0:We.enabled,onChange:Z=>Lt({enabled:Z.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:bg-green-500 peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all"})]})]}),t.jsxs("div",{className:"p-3 bg-white border border-gray-200 rounded-lg space-y-3",children:[t.jsxs("div",{children:[t.jsx(Oa,{children:"Email полÑÑаÑелÑ"}),t.jsx("input",{value:((Xe=(Re=k.notifications)==null?void 0:Re.contactForm)==null?void 0:Xe.emailTo)||"",onChange:Z=>Lt({emailTo:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"Ðаголовок ÑоÑмÑ"}),t.jsx("input",{value:((Be=(Ie=k.notifications)==null?void 0:Ie.contactForm)==null?void 0:Be.title)||"",onChange:Z=>Lt({title:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"СообÑение об ÑÑпеÑ
е"}),t.jsx("input",{value:((Ze=(Ot=k.notifications)==null?void 0:Ot.contactForm)==null?void 0:Ze.successMessage)||"",onChange:Z=>Lt({successMessage:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsx("div",{className:"pt-2",children:t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-400",children:"ÐÐ¾Ð»Ñ ÑоÑмÑ"})}),t.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: ÐмÑ"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).nameLabel)||"",onChange:Z=>Lt({nameLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: ÐмÑ"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).namePlaceholder)||"",onChange:Z=>Lt({namePlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.namePlaceholder||"Ðван Ðванов"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: Email"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).emailLabel)||"",onChange:Z=>Lt({emailLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: Email"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).emailPlaceholder)||"",onChange:Z=>Lt({emailPlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.emailPlaceholder||"[email protected]"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: Тема"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).productLabel)||"",onChange:Z=>Lt({productLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: Тема"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).productPlaceholder)||"",onChange:Z=>Lt({productPlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.productPlaceholder||"ÐапÑимеÑ: ÐÑÑÑ VOROTEX V1"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: ÐопÑоÑ"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).questionLabel)||"",onChange:Z=>Lt({questionLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: ÐопÑоÑ"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).questionPlaceholder)||"",onChange:Z=>Lt({questionPlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.questionPlaceholder||"ÐпиÑиÑе ваÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸Ð»Ð¸ вопÑоÑ..."})]})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ТекÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸"}),t.jsx("input",{value:(((k.notifications||{}).contactForm||{}).buttonText)||"",onChange:Z=>Lt({buttonText:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"ÐÑпÑавиÑÑ ÑообÑение"})]})]})]}),t.jsx("hr",{className:"border-gray-200"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsxs("h4",{className:"text-xs font-bold uppercase text-black flex items-center gap-2",children:[t.jsx(G1,{className:"w-4 h-4"}),' ФоÑма "СоÑÑÑдниÑеÑÑво"']}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:(Ra=(_a=k.notifications)==null?void 0:_a.cooperationForm)==null?void 0:Ra.enabled,onChange:Z=>bt({enabled:Z.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:bg-green-500 peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all"})]})]}),t.jsxs("div",{className:"p-3 bg-white border border-gray-200 rounded-lg space-y-3",children:[t.jsxs("div",{children:[t.jsx(Oa,{children:"Email полÑÑаÑелÑ"}),t.jsx("input",{value:((wl=(es=k.notifications)==null?void 0:es.cooperationForm)==null?void 0:wl.emailTo)||"",onChange:Z=>bt({emailTo:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"Ðаголовок ÑоÑмÑ"}),t.jsx("input",{value:((Nl=(jl=k.notifications)==null?void 0:jl.cooperationForm)==null?void 0:Nl.title)||"",onChange:Z=>bt({title:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"СообÑение об ÑÑпеÑ
е"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).successMessage)||"",onChange:Z=>bt({successMessage:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsx("div",{className:"pt-2",children:t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-400",children:"ÐÐ¾Ð»Ñ ÑоÑмÑ"})}),t.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: ÐмÑ"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).nameLabel)||"",onChange:Z=>bt({nameLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: ÐмÑ"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).namePlaceholder)||"",onChange:Z=>bt({namePlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.namePlaceholder||"Ðван Ðванов"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: Email"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).emailLabel)||"",onChange:Z=>bt({emailLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: Email"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).emailPlaceholder)||"",onChange:Z=>bt({emailPlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.emailPlaceholder||"[email protected]"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: Ð
3020¢ÐµÐ¼Ð°"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).productLabel)||"",onChange:Z=>bt({productLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: Тема"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).productPlaceholder)||"",onChange:Z=>bt({productPlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.productPlaceholder||"ÐапÑимеÑ: ÐÑÑÑ VOROTEX V1"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐодпиÑÑ: ÐопÑоÑ"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).questionLabel)||"",onChange:Z=>bt({questionLabel:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ÐÑимеÑ: ÐопÑоÑ"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).questionPlaceholder)||"",onChange:Z=>bt({questionPlaceholder:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:r.questionPlaceholder||"ÐпиÑиÑе ваÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸Ð»Ð¸ вопÑоÑ..."})]})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ТекÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¸"}),t.jsx("input",{value:(((k.notifications||{}).cooperationForm||{}).buttonText)||"",onChange:Z=>bt({buttonText:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"ÐÑпÑавиÑÑ ÑообÑение"})]})]})]})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="hero"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("hero"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"ÐлавнÑй баннеÑ",icon:Op,subtitle:`${m.length} Ñлайдов`}),w==="hero"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="hero"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsxs("button",{onClick:je,className:"w-full py-2 bg-black text-white text-xs font-bold uppercase rounded hover:bg-[#ff3b30] flex items-center justify-center gap-2",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ Ñлайд"]}),t.jsx("div",{className:"space-y-4",children:m.map((Z,me)=>t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 relative group",children:[t.jsxs("div",{className:"flex justify-between mb-2",children:[t.jsxs("div",{className:"flex gap-1",children:[t.jsx("button",{onClick:()=>Ee(me,"up"),className:"p-1 hover:bg-gray-100 rounded text-gray-400 hover:text-black",children:t.jsx(vn,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>Ee(me,"down"),className:"p-1 hover:bg-gray-100 rounded text-gray-400 hover:text-black",children:t.jsx(yn,{className:"w-3 h-3"})})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>Ge(me),className:"text-gray-400 hover:text-blue-500",title:"ÐÑблиÑоваÑÑ",children:t.jsx(uv,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>Ne(me),className:"text-gray-400 hover:text-red-500",title:"УдалиÑÑ",children:t.jsx(jt,{className:"w-3 h-3"})})]})]}),t.jsxs("div",{className:"flex gap-4",children:[t.jsxs("div",{className:"w-24 h-16 bg-gray-100 rounded overflow-hidden relative border border-gray-300 group/img cursor-pointer shrink-0",children:[t.jsx("img",{src:Z.image,className:"w-full h-full object-cover"}),t.jsx("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover/img:opacity-100 flex items-center justify-center transition-opacity",children:t.jsx(Ka,{className:"w-4 h-4 text-white"})}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:fe=>ge(fe,Ae=>{const yt=[...m];yt[me]={...Z,image:Ae},y(yt)})})]}),t.jsxs("div",{className:"flex-1 space-y-2",children:[t.jsx("input",{value:Z.title,onChange:fe=>{const Ae=[...m];Ae[me]={...Z,title:fe.target.value},y(Ae)},className:"w-full text-sm font-bold border border-gray-300 rounded p-1.5 bg-white text-black",placeholder:"Ðаголовок (HTML)"}),t.jsx("input",{value:Z.subtitle,onChange:fe=>{const Ae=[...m];Ae[me]={...Z,subtitle:fe.target.value},y(Ae)},className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-black",placeholder:"Ðодзаголовок"}),t.jsx("input",{value:Z.tagline||"",onChange:fe=>{const Ae=[...m];Ae[me]={...Z,tagline:fe.target.value},y(Ae)},className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-black",placeholder:"Ðейдж (напÑимеÑ: ÐÐÐÐÐÐÐ 2025 / ÐеÑÑÑеллеÑ)"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:Z.buttonText,onChange:fe=>{const Ae=[...m];Ae[me]={...Z,buttonText:fe.target.value},y(Ae)},className:"w-1/2 text-xs border border-gray-300 rounded p-1.5 bg-white text-black",placeholder:"Ðнопка"}),t.jsx("input",{value:Z.link,onChange:fe=>{const Ae=[...m];Ae[me]={...Z,link:fe.target.value},y(Ae)},className:"w-1/2 text-xs border border-gray-300 rounded p-1.5 bg-white text-blue-600",placeholder:"СÑÑлка"})]})]})]})]}
3020,Z.id))})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="marketplaces"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("marketplaces"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"ÐаÑкеÑплейÑÑ",icon:Jt,subtitle:"СÑÑлки и баннеÑÑ"}),w==="marketplaces"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="marketplaces"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 space-y-2 mb-4",children:[t.jsx(Oa,{children:"Ðаголовок блока"}),t.jsxs("div",{className:"flex items-center justify-between gap-3 bg-gray-50 border border-gray-200 rounded p-2.5",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-600",children:"СÑÑлки на ÑоваÑ"}),t.jsx("div",{className:"text-[10px] text-gray-500",children:"ÐаÑÑово показаÑÑ/ÑкÑÑÑÑ ÑÑÑлки маÑкеÑплейÑов на ÑÑÑаниÑаÑ
ÑоваÑов"})]}),t.jsx("input",{type:"checkbox",checked:(g.showProductMarketplaceLinks!==!1),onChange:Z=>O({...g,showProductMarketplaceLinks:Z.target.checked}),className:"h-4 w-4"})]}),t.jsx("input",{value:g.titleMain,onChange:Z=>O({...g,titleMain:Z.target.value}),className:"w-full text-sm border border-gray-300 rounded p-1.5 bg-white text-black"}),t.jsx("input",{value:g.titleHighlight,onChange:Z=>O({...g,titleHighlight:Z.target.value}),className:"w-full text-sm border border-gray-300 rounded p-1.5 bg-white text-[#ff3b30]"}),t.jsx("textarea",{value:g.description,onChange:Z=>O({...g,description:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1.5 h-16 bg-white text-black",placeholder:"ÐпиÑание..."})]}),t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 space-y-2",children:[t.jsx(Oa,{children:"Фоновое изобÑажение блока"}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("div",{className:"w-24 h-14 bg-gray-100 rounded overflow-hidden relative border border-gray-300 group/img cursor-pointer shrink-0",children:[t.jsx("img",{src:g.backgroundImage||"/placeholder.svg",className:"w-full h-full object-cover"}),t.jsx("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover/img:opacity-100 flex items-center justify-center transition-opacity",children:t.jsx(Ka,{className:"w-4 h-4 text-white"})}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:Z=>ge(Z,me=>O({...g,backgroundImage:me}))})]}),t.jsxs("div",{className:"flex-1",children:[t.jsx("input",{value:g.backgroundImage||"",onChange:Z=>O({...g,backgroundImage:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-blue-600 font-mono",placeholder:"URL Ñона (или загÑÑзиÑе Ñайл Ñлева)"}),t.jsx("div",{className:"text-[10px] text-gray-500 mt-1",children:"СовеÑ: лÑÑÑе ÑиÑокое изобÑажение (минимÑм 1600px по ÑиÑине)."})]}),t.jsx("button",{onClick:()=>O({...g,backgroundImage:""}),className:"p-2 text-gray-400 hover:text-red-500",title:"УбÑаÑÑ Ñон",children:t.jsx(jt,{className:"w-4 h-4"})})]})]}),t.jsxs("button",{onClick:it,className:"w-full py-2 bg-black text-white text-xs font-bold uppercase rounded hover:bg-[#ff3b30] flex items-center justify-center gap-2",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ Ð¿Ð»Ð¾ÑадкÑ"]}),t.jsx("div",{className:"space-y-3",children:b.map((Z,me)=>t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 flex gap-3 items-center group",children:[t.jsxs("div",{className:"w-12 h-12 bg-gray-50 rounded border border-gray-200 overflow-hidden relative cursor-pointer group/img shrink-0",children:[t.jsx("img",{src:Z.image,className:"w-full h-full object-contain p-1"}),t.jsx("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover/img:opacity-100 flex items-center justify-center transition-opacity",children:t.jsx(Ka,{className:"w-3 h-3 text-white"})}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:fe=>ge(fe,Ae=>ce(me,{image:Ae}))})]}),t.jsxs("div",{className:"flex-1 space-y-1",children:[t.jsx("input",{value:Z.name,onChange:fe=>ce(me,{name:fe.target.value}),className:"w-full text-sm font-bold border border-gray-300 rounded p-1 bg-white text-black",placeholder:"ÐаÐ
3020·Ð²Ð°Ð½Ð¸Ðµ"}),t.jsx("input",{value:Z.link,onChange:fe=>ce(me,{link:fe.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1 bg-white text-blue-600",placeholder:"СÑÑлка на магазин"})]}),t.jsx("button",{onClick:()=>Ua(me),className:"text-gray-400 hover:text-red-500",children:t.jsx(jt,{className:"w-4 h-4"})})]},Z.id))})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="reviews"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("reviews"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"ÐÑзÑвÑ",icon:Va,subtitle:"Ðа главной"}),w==="reviews"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="reviews"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsxs("button",{onClick:ve,className:"w-full py-2 bg-black text-white text-xs font-bold uppercase rounded hover:bg-[#ff3b30] flex items-center justify-center gap-2",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ Ð¾ÑзÑв"]}),t.jsx("div",{className:"space-y-3",children:D.map((Z,me)=>t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 relative group",children:[t.jsx("button",{onClick:()=>be(me),className:"absolute top-2 right-2 text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})}),t.jsxs("div",{className:"space-y-2 pr-6",children:[t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:Z.name,onChange:fe=>Oe(me,{name:fe.target.value}),className:"flex-1 text-xs font-bold border border-gray-300 rounded p-1.5 bg-white text-black",placeholder:"ÐмÑ"}),t.jsx("input",{value:Z.source,onChange:fe=>Oe(me,{source:fe.target.value}),className:"w-20 text-xs border border-gray-300 rounded p-1.5 bg-white text-gray-500",placeholder:"(OZON)"}),t.jsx("input",{type:"number",min:"1",max:"5",value:Z.stars,onChange:fe=>Oe(me,{stars:parseInt(fe.target.value)}),className:"w-12 text-xs font-bold border border-gray-300 rounded p-1.5 text-center bg-white text-black"})]}),t.jsx("textarea",{value:Z.text,onChange:fe=>Oe(me,{text:fe.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1.5 h-14 resize-none bg-white text-black",placeholder:"ТекÑÑ Ð¾ÑзÑва..."}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-[10px] uppercase font-bold text-gray-400",children:"ТоваÑ:"}),t.jsxs("select",{value:Z.productId||"",onChange:fe=>{var Ae;return Oe(me,{productId:fe.target.value,product:((Ae=B.find(yt=>
3020yt.id===fe.target.value))==null?void 0:Ae.name)||"ТоваÑ"})},className:"flex-1 text-xs border border-gray-300 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"",children:"-- ÐÑбеÑиÑе ÑÐ¾Ð²Ð°Ñ --"}),B.map(fe=>t.jsx("option",{value:fe.id,children:fe.name},fe.id))]})]})]})]},Z.id))})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="ticker"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("ticker"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"ÐегÑÑÐ°Ñ ÑÑÑока",icon:_1,subtitle:"ÐкÑии и обÑÑвлениÑ"}),w==="ticker"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="ticker"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between bg-white p-3 rounded border border-gray-200",children:[t.jsx("span",{className:"text-xs font-bold uppercase text-gray-500",children:"ÐоказÑваÑÑ ÑÑÑокÑ"}),t.jsx("input",{type:"checkbox",checked:P.show,onChange:Z=>pe({...P,show:Z.target.checked}),className:"rounded text-black focus:ring-black"})]}),t.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-2",children:[t.jsxs("div",{children:[t.jsx(Oa,{children:"СкоÑоÑÑÑ (Ñек)"}),t.jsx("input",{type:"number",value:P.speed,onChange:Z=>pe({...P,speed:parseInt(Z.target.value)||40}),className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"Фон"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"color",value:P.backgroundColor,onChange:Z=>pe({...P,backgroundColor:Z.target.value}),className:"w-8 h-8 p-0 border-0 rounded cursor-pointer"}),t.jsx("input",{value:P.backgroundColor,onChange:Z=>pe({...P,backgroundColor:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-black font-mono"})]})]}),t.jsxs("div",{children:[t.jsx(Oa,{children:"ТекÑÑ"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"color",value:P.textColor,onChange:Z=>pe({...P,textColor:Z.target.value}),className:"w-8 h-8 p-0 border-0 rounded cursor-pointer"}),t.jsx("input",{value:P.textColor,onChange:Z=>pe({...P,textColor:Z.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1.5 bg-white text-black font-mono"})]})]})]}),t.jsxs("button",{onClick:Je,className:"w-full py-2 bg-black text-white text-xs font-bold uppercase rounded hover:bg-[#ff3b30] flex items-center justify-center gap-2",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ ÑлеменÑ"]}),t.jsx("div",{className:"space-y-2",children:P.items.map((Z,me)=>t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200 flex gap-2 items-center",children:[t.jsxs("div",{className:"flex-1 space-y-1",children:[t.jsx("input",{value:Z.text,onChange:fe=>Fe(me,{text:fe.target.value}),className:"w-full text-xs font-bold border border-gray-300 rounded p-1 bg-white text-black",placeholder:"ТекÑÑ (жиÑнÑй)"}),t.jsx("input",{value:Z.description||"",onChange:fe=>Fe(me,{description:fe.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1 bg-white text-black",placeholder:"ÐодпиÑÑ (мелкий ÑекÑÑ)"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("input",{type:"checkbox",checked:Z.isBold,onChange:fe=>Fe(me,{isBold:fe.target.checked}),className:"rounded text-black focus:ring-black"}),t.jsx("span",{className:"text-[11px] text-gray-500",children:"ÐиÑнÑй ÑекÑÑ"})]}),t.jsxs("select",{value:Z.icon,onChange:fe=>Fe(me,{icon:fe.target.value}),className:"w-full text-xs border border-gray-300 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"none",children:"Ðез иконки"}),t.jsx("option",{value:"truck",children:"ÐÑÑзовик"}),t.jsx("option",{value:"shield",children:"ЩиÑ"}),t.jsx("option",{value:"zap",children:"ÐолниÑ"}),t.jsx("option",{value:"star",children:"Ðвезда"}),t.jsx("option",{value:"globe",children:"ÐлобÑÑ"}),t.jsx("option",{value:"flame",children:"ÐгонÑ"})]})]}),t.jsx("button",{onClick:()=>gt(me),className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-4 h-4"})})]}
3020,Z.id))})]})]}),t.jsxs("div",{className:`bg-white border rounded-xl overflow-hidden ${w==="footer"?"border-black shadow-md":"border-gray-200"}`,children:[t.jsxs("button",{onClick:()=>le("footer"),className:"w-full flex items-center justify-between p-4 bg-white",children:[t.jsx(bs,{title:"ФÑÑÐµÑ Ð¸ СоÑÑеÑи",icon:iv}),w==="footer"?t.jsx(Ft,{className:"w-4 h-4"}):t.jsx(Mt,{className:"w-4 h-4 text-gray-400"})]}),w==="footer"&&t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50/50 space-y-4",children:[t.jsx("h4",{className:"text-xs font-bold uppercase text-black mb-2",children:"СоÑиалÑнÑе ÑеÑи"}),t.jsxs("div",{className:"space-y-2 mb-4",children:[H.map((Z,me)=>t.jsxs("div",{className:"flex gap-2 items-center bg-white p-2 rounded border border-gray-200",children:[t.jsxs("select",{value:Z.platform,onChange:fe=>Pe(me,{platform:fe.target.value}),className:"text-xs border border-gray-300 rounded p-1 bg-white text-black",children:[t.jsx("option",{value:"telegram",children:"Telegram"}),t.jsx("option",{value:"vk",children:"VK"}),t.jsx("option",{value:"youtube",children:"YouTube"}),t.jsx("option",{value:"discord",children:"Discord"}),t.jsx("option",{value:"twitter",children:"Twitter"}),t.jsx("option",{value:"instagram",children:"Instagram"})]}),t.jsx("input",{value:Z.url,onChange:fe=>Pe(me,{url:fe.target.value}),className:"flex-1 text-xs border border-gray-300 rounded p-1 bg-white text-blue-600",placeholder:"URL"}),t.jsx("button",{onClick:()=>Xt(me),className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]},Z.id)),t.jsx("button",{onClick:Ht,className:"text-xs font-bold text-blue-600 hover:underline flex items-center gap-1",children:"+ ÐобавиÑÑ ÑоÑÑеÑÑ"})]}),t.jsx("hr",{className:"border-gray-200 my-4"}),t.jsxs("div",{className:"space-y-2 mb-6",children:[t.jsx(Oa,{children:"ЮÑидиÑеÑÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ (в подвале)"}),t.jsx("textarea",{value:k.legalInfo||"",onChange:le=>R({...k,legalInfo:le.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 h-24 resize-none bg-white text-black font-medium",placeholder:"ÐапÑимеÑ: ÐÐÐ, ÐÐÐ Ð, ÑÑÑлки на пÑавила..."}),t.jsx("p",{className:"text-[10px] text-gray-500",children:"ÐÑÐ¾Ñ ÑекÑÑ Ð±ÑÐ´ÐµÑ Ð¾ÑобÑажаÑÑÑÑ Ð² Ñамом Ð½Ð¸Ð·Ñ ÑайÑа под годом. ÐоддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÐµÑÐµÐ½Ð¾Ñ ÑÑÑок."})]}),t.jsx("h4",{className:"text-xs font-bold uppercase text-black mb-2",children:"Ðолонки ÑÑÑеÑа"}),t.jsxs("div",{className:"space-y-4",children:[W.map((Z,me)=>t.jsxs("div",{className:"bg-white p-3 rounded border border-gray-200",children:[t.jsxs("div",{className:"flex justify-between mb-2",children:[t.jsx("input",{value:Z.title,onChange:fe=>De(me,{title:fe.target.value}),className:"text-xs font-bold border border-gray-300 rounded p-1 bg-white text-black"}),t.jsx("button",{onClick:()=>ye(me),className:"text-gray-300 hover:text-red-500",children:t.jsx(jt,{className:"w-3 h-3"})})]}),t.jsxs("div",{className:"space-y-1 pl-2 border-l-2 border-gray-100",children:[Z.links.map((fe,Ae)=>t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsx("input",{value:fe.name,onChange:yt=>tt(me,Ae,{name:yt.target.value}),className:"w-1/3 text-xs border border-gray-200 rounded p-1 bg-white text-black",placeholder:"Ðазвание"}),t.jsx("input",{value:fe.url,onChange:yt=>tt(me,Ae,{url:yt.target.value}),className:"flex-1 text-xs border border-gray-200 rounded p-1 bg-white text-blue-600",placeholder:"СÑÑлка"}),t.jsx("button",{onClick:()=>tt(me,Ae,{isVisible:fe.isVisible===!1?!0:!1}),className:`text-xs ${fe.isVisible===!1?"opacity-30":"opacity-100"}`,children:fe.isVisible===!1?"ð":"ðï¸"}),t.jsx("button",{onClick:()=>{if(Ae===0)return;const newCols=[...W];const links=[...newCols[me].links];[links[Ae],links[Ae-1]]=[links[Ae-1],links[Ae]];newCols[me]={...newCols[me],links:links};$(newCols)},className:"p-1 text-gray-300 hover:text-black disabled:opacity-10",disabled:Ae===0,children:t.jsx(vn,{className:"w-2.5 h-2.5"})}),t.jsx("button",{onClick:()=>
3020{if(Ae===Z.links.length-1)return;const newCols=[...W];const links=[...newCols[me].links];[links[Ae],links[Ae+1]]=[links[Ae+1],links[Ae]];newCols[me]={...newCols[me],links:links};$(newCols)},className:"p-1 text-gray-300 hover:text-black disabled:opacity-10",disabled:Ae===Z.links.length-1,children:t.jsx(yn,{className:"w-2.5 h-2.5"})}),t.jsx("button",{onClick:()=>Me(me,Ae),className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-3 h-3"})})]},fe.id)),t.jsx("button",{onClick:()=>et(me),className:"text-[10px] font-bold text-blue-500 hover:underline",children:"+ СÑÑлка"})]})]},Z.id)),t.jsx("button",{onClick:se,className:"w-full py-2 bg-gray-200 text-black text-xs font-bold uppercase rounded hover:bg-gray-300",children:"ÐобавиÑÑ ÐºÐ¾Ð»Ð¾Ð½ÐºÑ"})]})]})]})]})})]})]})},gj=({products:r,categories:o,onUpdateProducts:d,navigate:c})=>{const[h,m]=j.useState(""),[y,u]=j.useState(o.reduce((O,E)=>({...O,[E.id]:!0}),{}));j.useEffect(()=>{let O=!1;const E=r.map(_=>{if(!(_!=null&&_.variants)||_.variants.length===0)return _;let k=!1;const R=_.variants.map(D=>D.externalId||""?D:(k=!0,{...D,externalId:D.id}));return k?(O=!0,{..._,variants:R}):_});O&&(d(E),oe.success("Ðаполнили внеÑние ÐºÐ¾Ð´Ñ (XML) Ñ Ð²Ð°ÑианÑов по иÑ
SKU",{duration:3e3}))},[]);const f=O=>{u(E=>({...E,[O]:!E[O]}))},x=(O,E,_)=>{const k=r.map(R=>R.id===O?{...R,[E]:_}:R);d(k)},N=(O,E,_,k)=>{const R=r.map(D=>{if(D.id===O&&D.variants){const te=D.variants.map($=>$.id===E?{...$,[_]:k}:$),W=te.reduce(($,H)=>$+H.stock,0);return{...D,variants:te,stock:W}}return D});d(R)},b=(O,E)=>O.options?Object.entries(E.combination).map(([_,k])=>{var te;const R=(te=O.options)==null?void 0:te.find(W=>W.id===_),D=R==null?void 0:R.values.find(W=>W.id===k);return`${R==null?void 0:R.name}: ${(D==null?void 0:D.name)||k}`}).join(" / "):E.id,C=O=>{const E=`/admin?edit=${encodeURIComponent(O)}`;c?c(E):window.location.href=E},g=r.filter(O=>O.name.toLowerCase().includes(h.toLowerCase())||O.id.toLowerCase().includes(h.toLowerCase()));return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-20",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex flex-col md:flex-row justify-between items-center gap-4",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-black uppercase flex items-center gap-2",children:[t.jsx(ws,{className:"w-6 h-6 text-[#ff3b30]"})," Склад и ÐÑайÑ-лиÑÑ"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"УпÑавление оÑÑаÑками и Ñенами ÑоваÑов"})]}),t.jsxs("div",{className:"relative w-full md:w-96",children:[t.jsx("input",{type:"text",placeholder:"ÐоиÑк ÑоваÑа...",value:h,onChange:O=>m(O.target.value),className:"w-full pl-10 pr-4 py-2 bg-gray-50 border border-gray-300 rounded-lg text-sm text-black focus:ring-1 focus:ring-black focus:border-black"}),t.jsx(xa,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"})]})]}),o.map(O=>{const E=g.filter(k=>k.category===O.id);if(E.length===0&&h)return null;const _=y[O.id];return t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl overflow-hidden shadow-sm",children:[t.jsxs("div",{className:"bg-gray-50 p-4 flex items-center justify-between cursor-pointer hover:bg-gray-100 transition-colors",onClick:()=>f(O.id),children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"p-2 bg-white rounded border border-gray-200",children:t.jsx(gr,{className:"w-4 h-4 text-gray-600"})}),t.jsx("h3",{className:"font-bold text-lg uppercase text-black",children:O.name}),t.jsx("span",{className:"text-xs font-bold bg-black text-white px-2 py-0.5 rounded-full",children:E.length})]}),_?t.jsx(Ft,{className:"w-5 h-5 text-gray-400"}):t.jsx(Mt,{className:"w-5 h-5 text-gray-400"})]}),_&&t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full text-left border-collapse",children:[t.jsx("thead",{className:"bg-white border-b border-gray-200 text-xs font-bold uppercase text-gray-500 tracking-wider",children:t.jsxs("tr",{children:[t.jsx("th",{className:"p-4 w-[35%]",children:"Ðаименование"}),t.jsx("th",{className:"p-4 w-[15%] text-center",children:"ÐнеÑний код (XML)"}),t.jsx("th",{className:"p-4 w-[15%] text-center",children:"ÐÑÑаÑок (ШÑ)"}),t.jsxs("th",{className:"p-4 w-[15%] text-center",children:["Цена пÑодажи (",nt,")"]}),t.jsx("th",{className:"p-4 w-[10%] text-center",children:t.jsxs("div",{className:"flex items-center justify-center gap-1 group relative cursor-help",children:["СÑаÑаÑ",t.jsx(kp,{className:"w-3 h-3 text-gray-400"}),t.jsx("div",{className:"absolute bottom-full mb-2 bg-black text-white text-[10px] p-2 rounded opacity-0 group-hover:opacity-100 transition-opacity w-40 pointer-events-none z-10",children:"ÐаÑеÑкнÑÑÐ°Ñ Ñена. ÐÑли не заполнена, Ñкидки неÑ."})]})}),t.jsx("th",{className:"p-4 w-[10%] text-center",children:"СÑаÑÑÑ"})]})}),t.jsxs("tbody",{className:"divide-y divide-gray-100 text-sm",children:[E.map(k=>{const R=k.variants&&k.variants.length>0;return t.jsxs(oo.Fragment,{children:[t.jsxs("tr",{className:`hover:bg-blue-50/30 transition-colors ${R?"bg-gray-50/50":"bg-white"}`,children:[t.jsx("td",{className:"p-4",children:t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("button",{onClick:()=>C(k.id),className:"p-1.5 bg-gray-100 rounded text-gray-500 hover:text-blue-600 hover:bg-blue-50 transition-colors",title:"ÐоÑмоÑÑеÑÑ Ð½Ð° ÑайÑе",children:t.jsx(xr,{className:"w-4 h-4"})}),t.jsxs("div",{className:"flex flex-col gap-1 flex-1",children:[t.jsx("input",{value:k.name,onChange:D=>x(k.id,"name",D.target.value),className:"font-bold text-black bg-white border border-gray-300 rounded px-2 py-1
3020w-full focus:ring-1 focus:ring-blue-500 focus:border-blue-500"}),t.jsxs("span",{className:"text-[10px] text-gray-400 font-mono flex items-center gap-1",children:["ID: ",k.id,R&&t.jsx("span",{className:"text-blue-500 bg-blue-50 px-1 rounded ml-2",children:"ÐÑновной"})]})]})]})}),t.jsx("td",{className:"p-4 text-center",children:R?t.jsx("span",{className:"text-gray-400 text-xs",children:"â"}):t.jsx("input",{value:k.externalId||"",onChange:D=>x(k.id,"externalId",D.target.value),className:"w-full text-center font-mono text-xs bg-white border border-gray-300 rounded px-2 py-1 focus:ring-1 focus:ring-blue-500 text-black placeholder:text-gray-400",placeholder:"-"})}),t.jsx("td",{className:"p-4 text-center",children:R?t.jsxs("span",{className:"text-gray-500 font-mono text-xs bg-gray-200 px-2 py-1 rounded",children:["ÐÑего: ",k.stock]}):t.jsx("input",{type:"number",value:k.stock,onChange:D=>x(k.id,"stock",parseInt(D.target.value)||0),className:"w-20 text-center font-bold bg-white border border-gray-300 rounded px-2 py-1 focus:ring-1 focus:ring-blue-500 text-black"})}),t.jsx("td",{className:"p-4 text-center",children:R?t.jsx("span",{className:"text-gray-400 text-xs",children:"â"}):t.jsx("input",{type:"number",value:k.price,onChange:D=>x(k.id,"price",parseFloat(D.target.value)||0),className:"w-24 text-center font-bold bg-white border border-gray-300 rounded px-2 py-1 focus:ring-1 focus:ring-blue-500 text-black"})}),t.jsx("td",{className:"p-4 text-center",children:R?t.jsx("span",{className:"text-gray-400 text-xs",children:"â"}):t.jsx("input",{type:"number",value:k.originalPrice||"",placeholder:"â",onChange:D=>x(k.id,"originalPrice",parseFloat(D.target.value)||0),className:"w-20 text-center text-gray-500 bg-white border border-gray-300 rounded px-2 py-1 focus:ring-1 focus:ring-blue-500 text-xs"})}),t.jsx("td",{className:"p-4 text-center",children:R?t.jsxs("span",{className:"text-xs font-bold uppercase text-blue-600 bg-blue-100 px-2 py-1 rounded border border-blue-200 flex items-center justify-center gap-1",children:[t.jsx(gr,{className:"w-3 h-3"})," СоÑÑавной"]}):k.stock>0?t.jsxs("span",{className:"text-xs font-bold uppercase text-green-700 bg-green-100 px-2 py-1 rounded flex items-center justify-center gap-1",children:[t.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-green-500"})," РналиÑии"]}):t.jsxs("span",{className:"text-xs font-bold uppercase text-red-700 bg-red-100 px-2 py-1 rounded flex items-center justify-center gap-1",children:[t.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"})," ÐеÑ"]})})]}),R&&k.variants.map(D=>t.jsxs("tr",{className:"bg-white hover:bg-gray-50",children:[t.jsxs("td",{className:"p-4 pl-12 border-l-4 border-gray-200 relative",children:[t.jsx("div",{className:"absolute left-6 top-1/2 -translate-y-1/2 w-4 h-[1px] bg-gray-300"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-[10px] font-mono text-gray-400 select-all",children:D.id}),t.jsx("span",{className:"text-xs font-medium text-gray-600 uppercase bg-gray-100 px-2 py-0.5 rounded border border-gray-200",children:b(k,D)})]})]}),t.jsx("td",{className:"p-4 text-center",children:t.jsx("input",{value:D.externalId||D.id,onChange:te=>N(k.id,D.id,"externalId",te.target.value),onBlur:()=>{D.externalId||N(k.id,D.id,"externalId",D.id)},className:"w-full text-center font-mono text-xs bg-white border border-gray-300 rounded px-2 py-1 focus:ring-1 focus:ring-blue-500 text-black placeholder:text-gray-400",placeholder:"XML ID"})}),t.jsx("td",{className:"p-4 text-center",children:t.jsx("input",{type:"number",value:D.stock,onChange:te=>N(k.id,D.id,"stock",parseInt(te.target.value)||0),className:"w-20 text-center font-bold bg-white border border-gray-300 rounded px-2 py-1 text-sm focus:ring-1 focus:ring-blue-500 text-black"})}),t.jsx("td",{className:"p-4 text-center",children:t.jsx("input",{type:"number",value:D.price||k.price,onChange:te=>N(k.id,D.id,"price",parseFloat(te.target.value)||0),className:"w-24 text-center font-bold bg-white border border-gray-300 rounded px-2 py-1 text-sm focus:ring-1 focus:ring-blue-500 text-black"})}),t.jsx("td",{className:"p-4 text-center",children:t.jsx("div",{className:"relative group flex justify-center",children:t.jsx("input",{type:"number",value:D.originalPrice||"",placeholder:"â",onChange:te=>N(k.id,D.id,"originalPrice",parseFloat(te.target.value)||0),className:"w-20 text-center text-gray-500 bg-white border border-gray-200 rounded px-2 py-1 text-xs focus:ring-1 focus:ring-blue-500"})})}),t.jsx("td",{className:"p-4 text-center",children:D.stock>0?t.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-bold text-green-600 bg-green-50 px-2 py-1 rounded border border-green-100",children:[t.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-green-500"})," РналиÑии"]}):t.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-bold text-red-600 bg-red-50 px-2 py-1 rounded border border-red-100",children:[t.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"})," ÐеÑ"]})})]},D.id))]},k.id)}),E.length===0&&t.jsx("tr",{children:t.jsx("td",{colSpan:6,className:"p-8 text-center text-gray-400 italic",children:"ТоваÑÑ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð² ÑÑой каÑегоÑии"})})]})]})})]},O.id)})]})},bj=({categories:r,products:o,onUpdateCategories:d})=>{const[c,h]=j.useState(r.length>0?r[0].id:null),[m,y]=j.useState(null),u=r.find($=>
3020$.id===c),f=$=>{const H=new Set;return o.filter(J=>J.category===$).forEach(J=>{J.specs&&Object.keys(J.specs).forEach(Y=>H.add(Y))}),Array.from(H)},x=$=>{var J;return u?((J=u.filterSettings)==null?void 0:J.find(Y=>Y.key===$))||{key:$,isVisible:!0,groups:[]}:{key:$,isVisible:!0,groups:[]}},N=$=>{if(!u)return[];const H=x($),J=new Set;o.filter(U=>U.category===u.id).forEach(U=>{var P;const q=(P=U.specs)==null?void 0:P[$];q&&q.split(/[,/]/).map(pe=>pe.trim()).forEach(pe=>{pe&&J.add(pe)})});const G=[];return J.forEach(U=>{H.groups.some(P=>P.variations.some(pe=>pe.toLowerCase()===U.toLowerCase()))||G.push(U)}),G},b=$=>{if(!u)return;const H=r.map(J=>J.id===u.id?{...J,...$}:J);d(H)},C=$=>{if(!u)return;const H=[...u.filterSettings||[]],J=H.findIndex(Y=>Y.key===$.key);J>=0?H[J]=$:H.push($),b({filterSettings:H})},g=()=>{if(!u)return;const $=u.showFilters!==!1;b({showFilters:!$}),oe.success($?"ФилÑÑÑÑ ÑкÑÑÑÑ":"ФилÑÑÑÑ Ð²ÐºÐ»ÑÑенÑ")},O=$=>{const H=x($);C({...H,isVisible:!H.isVisible})},E=($,H)=>{if(!u)return;const J=f(u.id),Y=u.filterSettings||[];let G=[...Y,...J.filter(P=>!Y.find(pe=>pe.key===P)).map(P=>({key:P,isVisible:!0,groups:[]}))];const U=G.findIndex(P=>P.key===$);if(U===-1)return;const q=[...G];H==="up"&&U>0?[q[U],q[U-1]]=[q[U-1],q[U]]:H==="down"&&U<q.length-1&&([q[U],q[U+1]]=[q[U+1],q[U]]),b({filterSettings:q})},_=$=>{if(!u)return;const H=x($),J=o.filter(q=>q.category===u.id),Y=new Set;J.forEach(q=>{var pe;const P=(pe=q.specs)==null?void 0:pe[$];P&&P.split(/[,/]/).map(B=>B.trim()).forEach(B=>{B&&Y.add(B)})});const G=[...H.groups];let U=0;Y.forEach(q=>{G.some(pe=>pe.variations.some(B=>B.toLowerCase()===q.toLowerCase()))||(G.push({id:`grp-${Date.now()}-${Math.random()}`,display:q,variations:[q]}),U++)}),U>0?(C({...H,groups:G}),oe.success(`Ðобавлено ${U} новÑÑ
знаÑений`)):oe.success("ÐовÑÑ
знаÑений не найдено")},k=($,H,J)=>{const Y=x($),G=[...Y.groups];G[H]={...G[H],...J},C({...Y,groups:G})},R=($,H)=>{if(!confirm("УдалиÑÑ ÑÑо знаÑение?"))return;const J=x($),Y=J.groups.filter((G,U)=>U!==H);C({...J,groups:Y})},D=$=>{const H=x($),J=[...H.groups,{id:`new-${Date.now()}`,display:"Ðовое знаÑение",variations:[]}];C({...H,groups:J})},te=($,H,J)=>{const Y=x($),G=[...Y.groups];J==="up"&&H>0?[G[H],G[H-1]]=[G[H-1],G[H]]:J==="down"&&H<G.length-1&&([G[H],G[H+1]]=[G[H+1],G[H]]),C({...Y,groups:G})},W=()=>{if(!u)return[];const $=f(u.id),H=u.filterSettings||[];return[...H,...$.filter(Y=>!H.find(G=>G.key===Y)).map(Y=>({key:Y,isVisible:!0,groups:[]}))]};return t.jsxs("div",{className:"flex h-full bg-white rounded-lg overflow-hidden border border-gray-200 shadow-sm animate-fade-in",children:[t.jsxs("div",{className:"w-64 bg-gray-50 border-r border-gray-200 flex flex-col",children:[t.jsx("div",{className:"p-4 border-b border-gray-200 bg-white",children:t.jsx("h3",{className:"font-bold text-sm uppercase text-gray-500",children:"ÐаÑегоÑии"})}),t.jsx("div",{className:"flex-1 overflow-y-auto p-2 space-y-1",children:r.map($=>t.jsxs("button",{onClick:()=>{h($.id),y(null)},className:`w-full text-left px-4 py-3 rounded-lg text-sm font-medium transition-colors flex items-center justify-between ${c===$.id?"bg-black text-white shadow-md":"text-gray-700 hover:bg-gray-200"}`,children:[$.name,$.showFilters!==!1?t.jsx(eo,{className:"w-3 h-3"}):t.jsx(xt,{className:"w-3 h-3 opacity-50"})]},$.id))})]}),t.jsx("div",{className:"flex-1 flex flex-col min-w-0",children:u?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"p-6 border-b border-gray-200 bg-white flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-black uppercase text-black flex items-center gap-2",children:[t.jsx(pr,{className:"w-5 h-5 text-[#ff3b30]"}),u.name]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"ÐаÑÑÑойка ÑилÑÑÑов Ð´Ð»Ñ ÑÑой каÑегоÑии"})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("span",{className:"text-sm font-bold text-gray-700",children:"ФилÑÑÑÑ Ð½Ð° ÑайÑе:"}),t.jsx("button",{onClick:g,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${u.showFilters!==!1?"bg-green-500":"bg-gray-300"}`,children:t.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${u.showFilters!==!1?"translate-x-6":"translate-x-1"}`})}),t.jsx("span",{className:"text-xs font-bold uppercase w-12",children:u.showFilters!==!1?"ÐÐÐ":"ÐЫÐÐ"})]})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto p-6 bg-gray-50",children:[t.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm overflow-hidden mb-6",children:[t.jsx("div",{className:"px-4 py-3 border-b border-gray-100 bg-gray-50 flex justify-between items-center",children:t.jsx("h3",{className:"text-xs font-bold uppercase text-gray-500",children:"ХаÑакÑеÑиÑÑики (ÐоÑÑдок оÑобÑажениÑ)"})}),t.jsxs("div",{className:"divide-y divide-gray-100",children:[W().map(($,H)=>t.jsxs("div",{className:`flex items-center p-3 hover:bg-gray-50 ${m===$.key?"bg-blue-50":""}`,children:[t.jsxs("div",{className:"flex flex-col gap-0.5 mr-3",children:[t.jsx("button",{onClick:()=>E($.key,"up"),className:"text-gray-400 hover:text-black p-0.5",children:t.jsx(vn,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>E($.key,"down"),className:"text-gray-400 hover:text-black p-0.5",children:t.jsx(yn,{className:"w-3 h-3"})})]}),t.jsxs("div",{className:"flex-1 flex items-center gap-3",children:[t.jsx("button",{onClick:()=>O($.key),className:`p-1.5 rounded transition-colors ${$.isVisible?"text-green-600 bg-green-50":"text-red-400 bg-red-50 opacity-50"}`,title:$.isVisible?"ÐÑобÑажаеÑÑÑ":"СкÑÑÑо",children:$.isVisible?t.jsx(xr,{className:"w-4 h-4"}):t.jsx(ao,{className:"w-4 h-4"})}),t.jsx("span",{className:`text-sm font-bold ${$.isVisible?"text-black":"text-gray-400 line-through"}`,children:$.key}),$.groups.length>0&&t.jsxs("span",{className:"text-xs bg-gray-100 text-gray-500 px-2 py-0.5 rounded-full",children:[$.groups.length," знаÑений"]}),N($.key).length>0&&t.jsxs("span",{className:"text-[10px] bg-red-100 text-red-600 px-2 py-0.5 rounded-full font-bold flex items-center gap-1 animate-pulse",children:[t.jsx(Ql,{className:"w-3 h-3"})," ÐеÑаÑпÑеделеннÑе"]})]}),t.jsxs("button",{onClick:()=>y(m===$.key?null:$.key),className:`px-3 py-1.5 text-xs font-bold uppercase rounded border transition-all flex items-center gap-2 ${m===$.key?"bg-blue-600 text-white border-blue-600 shadow-md":"bg-white text-gray-600 border-gray-200 hover:border-black hover:text-black"}`,children:[t.jsx(Ns,{className:"w-3 h-3"})," ÐнаÑениÑ"]})]},$.key)),W().length===0&&t.jsx("div",{className:"p-8 text-center text-gray-400 text-sm",children:"Ð ÑÑой каÑегоÑии пока Ð½ÐµÑ Ñ
аÑакÑеÑиÑÑик. ÐобавÑÑе иÑ
в ÑоваÑаÑ
."})]})]}),m&&t.jsxs("div",{className:"bg-white rounded-xl border border-blue-200 shadow-lg overflow-hidden animate-fade-in-up",children:[t.jsxs("div",{className:"px-6 py-4 bg-blue-50 border-b border-blue-100 flex justify-between items-center",children:[t.jsxs("div",{children:[t.jsxs("h3",{className:"text-sm font-bold uppercase text-blue-900 flex items-center gap-2",children:[t.jsx(Ns,{className:"w-4 h-4"})," РедакÑиÑование знаÑений: ",t.jsx("span",{className:"text-black",children:m})]}),t.jsx("p",{className:"text-xs text-blue-600 mt-1",children:"ÐбÑединÑйÑе ÑазнÑе ваÑианÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð² Ð¾Ð´Ð½Ñ Ð³ÑÑÐ¿Ð¿Ñ Ð´Ð»Ñ ÑдобÑÑва ÑилÑÑÑаÑии."})]}),t.jsxs("button",{onClick:()=>_(m),className:"flex items-center gap-1 px-3 py-2 bg-white border border-blue-200 text-blue-700 rounded-lg text-xs font-bold uppercase hover:bg-blue-100 shadow-sm transition-all",children:[t.jsx(Ya,{className:"w-3 h-3"})," СканиÑоваÑÑ Ð½Ð¾Ð²Ñе"]})]}),m&&N(m).length>0&&t.jsxs("div",{className:"mx-6 mt-4 p-4 bg-red-50 border border-red-200 rounded-lg animate-fade-in",children:[t.jsxs("h4",{className:"text-xs font-bold text-red-700 uppercase mb-2 flex items-center gap-2",children:[t.jsx(Ql,{className:"w-4 h-4"})," ÐеÑаÑпÑеделеннÑе знаÑениÑ"]}),t.jsx("p",{className:"text-xs text-red-600 mb-3",children:"ÐÑи знаÑÐµÐ½Ð¸Ñ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð² ÑоваÑаÑ
, но не пÑивÑÐ·Ð°Ð½Ñ Ð½Ð¸ к одной гÑÑппе. Ðа ÑайÑе они оÑобÑажаÑÑÑÑ ÐºÐ°Ðº оÑделÑнÑе ÑилÑÑÑÑ."}),t.jsx("div",{className:"space-y-2",children:N(m).map($=>t.jsxs("div",{className:"flex items-center gap-2 bg-white p-2 rounded border border-red-100 shadow-sm",children:[t.jsx("span",{className:"text-xs font-bold bg-red-50 px-2 py-1 rounded text-red-800 border border-red-100 flex-1",children:$}),t.jsxs("div",{className:"flex items-center gap-2 bg-white rounded px-2 py-1 border border-gray-300 shadow-sm",children:[t.jsx("span",{className:"text-[10px] text-gray-700 uppercase font-bold",children:"ÐобавиÑÑ Ð²:"}),t.jsxs("select",{className:"text-xs border border-gray-300 rounded p-1 max-w-[150px] bg-white text-black font-bold focus:ring-1 focus:ring-black outline-none",onChange:H=>{if(H.target.value){const J=parseInt(H.target.value),Y=x(m).groups[J];k(m,J,{variations:[...Y.variations,$]}),oe.success(`Ðобавлено в "${Y.display}"`)}},value:"",children:[t.jsx("option",{value:"",children:"ÐÑбеÑиÑе гÑÑппÑ..."}),x(m).groups.map((H,J)=>t.jsx("option",{value:J,children:H.display}
3020,H.id))]})]}),t.jsx("span",{className:"text-gray-300",children:"|"}),t.jsx("button",{onClick:()=>{const H=x(m),J=[...H.groups,{id:`grp-${Date.now()}`,display:$,variations:[$]}];C({...H,groups:J}),oe.success("Создана Ð½Ð¾Ð²Ð°Ñ Ð³ÑÑппа")},className:"text-xs bg-black text-white px-3 py-1.5 rounded hover:bg-gray-800 font-bold uppercase shadow-sm",children:"СоздаÑÑ"})]},$))})]}),t.jsx("div",{className:"p-6",children:t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[x(m).groups.map(($,H)=>t.jsxs("div",{className:"border border-gray-200 rounded-lg p-3 bg-gray-50 flex flex-col gap-2 relative group hover:border-blue-300 hover:shadow-sm transition-all",children:[t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsxs("div",{className:"flex gap-1",children:[t.jsx("button",{onClick:()=>te(m,H,"up"),className:"text-gray-300 hover:text-black",children:t.jsx(vn,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>te(m,H,"down"),className:"text-gray-300 hover:text-black",children:t.jsx(yn,{className:"w-3 h-3"})})]}),t.jsx("button",{onClick:()=>R(m,H),className:"text-gray-300 hover:text-red-500",children:t.jsx(xt,{className:"w-4 h-4"})})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase mb-1 block",children:"ÐÑобÑажаемое имÑ"}),t.jsx("input",{value:$.display,onChange:J=>k(m,H,{display:J.target.value}),className:"w-full text-sm font-bold border border-gray-300 rounded p-1.5 bg-white focus:ring-1 focus:ring-blue-500 text-black"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase mb-1 block",children:"ÐодÑказка (Tooltip)"}),t.jsx("input",{value:$.tooltip||"",onChange:J=>k(m,H,{tooltip:J.target.value}),className:"w-full text-xs border border-gray-200 rounded p-1.5 bg-white text-black",placeholder:"ÐпиÑание Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ..."})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase mb-1 block",children:"ÐаÑианÑÑ (иÑÑ
однÑе знаÑениÑ)"}),t.jsx("textarea",{value:$.variations.join(", "),onChange:J=>k(m,H,{variations:J.target.value.split(",").map(Y=>Y.trim())}),className:"w-full text-xs border border-gray-200 rounded p-1.5 bg-white text-gray-600 font-mono resize-y min-h-[40px]",placeholder:"Red, red, ÐÑаÑнÑй..."})]})]},H)),t.jsxs("button",{onClick:()=>D(m),className:"border-2 border-dashed border-gray-300 rounded-lg flex flex-col items-center justify-center p-6 text-gray-400 hover:border-blue-400 hover:text-blue-500 hover:bg-blue-50 transition-all min-h-[150px]",children:[t.jsx(At,{className:"w-8 h-8 mb-2"}),t.jsx("span",{className:"text-xs font-bold uppercase",children:"ÐобавиÑÑ Ð·Ð½Ð°Ñение"})]})]})})]})]})]}):t.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center text-gray-400",children:[t.jsx(pr,{className:"w-16 h-16 mb-4 opacity-20"}),t.jsx("p",{children:"ÐÑбеÑиÑе каÑегоÑÐ¸Ñ Ñлева Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ÑилÑÑÑов."})]})})]})},Ld=({title:r,value:o,subValue:d,icon:c,colorClass:h})=>t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex items-start justify-between",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-xs font-bold text-gray-400 uppercase tracking-wider mb-1",children:r}),t.jsx("h3",{className:"text-2xl font-black text-black mb-1",children:o}),d&&t.jsx("p",{className:"text-xs text-gray-500 font-medium",children:d})]}),t.jsx("div",{className:`p-3 rounded-lg ${h}`,children:t.jsx(c,{className:"w-5 h-5"})})]}),yj=({products:r,settings:o,onUpdateSettings:d})=>{const[c,h]=j.useState([]);const[pv,Spv]=j.useState([]);j.useEffect(()=>{(async()=>{try{const res=await fetch("/api/get_analytics_stats.php",{headers:Yi()});const data=await res.json();if(data&&data.status==="success"){h(Array.isArray(data.searchTerms)?data.searchTerms:[]);Spv(Array.isArray(data.popularProducts)?data.popularProducts:[])}}catch(e){}})()},[]);const m=r.reduce((u,f)=>f.variants&&f.variants.length>0?u+f.variants.reduce((x,N)=>x+N.stock*(N.price||f.price),0):u+f.stock*f.price,0),y=r.filter(u=>u.variants&&u.variants.length>0?u.variants.every(f=>f.stock===0):u.stock===0).length;return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-10",children:[(o&&o.yookassa&&(!o.yookassa.secretKey||!o.yookassa.webhookToken))&&t.jsxs("div",{className:"bg-red-50 border-2 border-red-500 text-red-700 rounded-xl p-4 flex items-center gap-3",children:[t.jsx(Ql,{className:"w-6 h-6 shrink-0"}),t.jsxs("div",{children:[t.jsx("p",{className:"font-bold text-sm uppercase",children:"Ðнимание: наÑÑÑойки ЮKassa не заполненÑ"}),t.jsx("p",{className:"text-xs",children:"Secret Key или Webhook Token пÑÑÑÑе â онлайн-оплаÑа не бÑÐ´ÐµÑ ÑабоÑаÑÑ. ÐаполниÑе иÑ
в Ñазделе «ÐнÑегÑаÑии»."})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsx(Ld,{title:"ТоваÑÑ Ð² налиÑии",value:r.length,subValue:"ÐозиÑий в каÑалоге",icon:Cp,colorClass:"bg-blue-50 text-blue-600"}),t.jsx(Ld,{title:"ÐÑÑÑÑÑÑвÑÑÑ (Out of Stock)",value:y,subValue:"ТÑебÑÑÑ Ð¿Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ",icon:Ql,colorClass:"bg-red-50 text-red-600"})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm overflow-hidden flex flex-col",children:[t.jsxs("div",{className:"p-6 border-b border-gray-100 flex justify-between items-center",children:[t.jsx("h3",{className:"font-bold text-sm uppercase text-gray-800",children:"ÐопÑлÑÑнÑе ÑоваÑÑ (пÑоÑмоÑÑÑ, 7 дней)"}),t.jsx(xw,{className:"w-4 h-4 text-gray-400"})]}),t.jsx("div",{className:"overflow-x-auto flex-1",children:t.jsxs("table",{className:"w-full text-left",children:[t.jsx("thead",{className:"bg-gray-50 text-xs font-bold text-gray-500 uppercase",children:t.jsxs("tr",{children:[t.jsx("th",{className:"p-4 pl-6",children:"ТоваÑ"}),t.jsx("th",{className:"p-4 text-center",children:"ÐÑоÑмоÑÑÑ"}),t.jsx("th",{className:"p-4 pr-6 text-right",children:"Цена"})]})}),t.jsx("tbody",{className:"divide-y divide-gray-100 text-sm",children:(()=>{const list=pv.map(p=>({...p,product:r.find(x=>x.id===p.productId)})).filter(p=>p.product).slice(0,5);return list.length>0?list.map((p,f)=>t.jsxs("tr",{className:"hover:bg-gray-50",children:[t.jsxs("td",{className:"p-4 pl-6 font-bold text-black flex items-center gap-3",children:[t.jsxs("span",{className:"text-gray-300 font-mono text-xs w-4",children:["#",f+1]}),t.jsx("div",{className:"w-8 h-8 rounded bg-gray-100 border border-gray-200 overflow-hidden shrink-0",children:t.jsx("img",{src:p.product.image,className:"w-full h-full object-cover",alt:""})}),t.jsx("span",{className:"truncate max-w-[120px]",children:p.product.name})]}),t.jsx("td",{className:"p-4 text-center font-mono",children:p.count}),t.jsxs("td",{className:"p-4 pr-6 text-right font-mono font-bold",children:[p.product.price.toLocaleStr
3020ing()," ",nt]})]},p.productId)):t.jsx("tr",{children:t.jsx("td",{colSpan:3,className:"p-8 text-center text-gray-400 italic",children:"ÐÐµÑ Ð´Ð°Ð½Ð½ÑÑ
за поÑледние 7 дней"})})})()})]})})]}),t.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm overflow-hidden flex flex-col",children:[t.jsxs("div",{className:"p-6 border-b border-gray-100 flex justify-between items-center",children:[t.jsx("h3",{className:"font-bold text-sm uppercase text-gray-800",children:"ÐоиÑковÑе запÑоÑÑ (7 дней)"}),t.jsx(xa,{className:"w-4 h-4 text-gray-400"})]}),t.jsx("div",{className:"overflow-x-auto flex-1",children:t.jsxs("table",{className:"w-full text-left",children:[t.jsx("thead",{className:"bg-gray-50 text-xs font-bold text-gray-500 uppercase",children:t.jsxs("tr",{children:[t.jsx("th",{className:"p-4 pl-6",children:"ÐапÑоÑ"}),t.jsx("th",{className:"p-4 pr-6 text-right",children:"Ðол-во"})]})}),t.jsx("tbody",{className:"divide-y divide-gray-100 text-sm",children:c.length>0?c.map((u,f)=>t.jsxs("tr",{className:"hover:bg-gray-50",children:[t.jsxs("td",{className:"p-4 pl-6 font-bold text-black flex items-center gap-3",children:[t.jsx("span",{className:`font-mono text-xs w-5 h-5 flex items-center justify-center rounded ${f<3?"bg-black text-white":"bg-gray-100 text-gray-500"}`,children:f+1}),t.jsx("span",{className:"capitalize",children:u.term})]}),t.jsx("td",{className:"p-4 pr-6 text-right font-mono font-bold text-blue-600",children:u.count})]},f)):t.jsx("tr",{children:t.jsx("td",{colSpan:2,className:"p-8 text-center text-gray-400 italic",children:"ÐÐµÑ Ð´Ð°Ð½Ð½ÑÑ
за поÑледнÑÑ Ð½ÐµÐ´ÐµÐ»Ñ"})})})]})})]})]}),t.jsxs("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm overflow-hidden p-6",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[t.jsx("div",{className:"p-2 bg-yellow-100 text-yellow-600 rounded-lg",children:t.jsx(js,{className:"w-5 h-5"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-bold text-black uppercase",children:"ЯндекÑ.ÐеÑÑика"}),t.jsx("p",{className:"text-xs text-gray-500",children:"ÐодклÑÑение внеÑней аналиÑики"})]})]}),t.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg border border-gray-200 mb-4",children:[t.jsx("p",{className:"text-sm text-gray-600 mb-2",children:"ÐÑÑавÑÑе ÑÑда код ÑÑеÑÑика (HTML), полÑÑеннÑй в лиÑном кабинеÑе ЯндекÑ.ÐеÑÑики. Ðн бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки добавлен на вÑе ÑÑÑаниÑÑ ÑайÑа."}),t.jsx("textarea",{value:(o==null?void 0:o.yandexCounterHtml)||"",onChange:u=>d&&d({...o,yandexCounterHtml:u.target.value}),className:"w-full h-32 bg-white border border-gray-300 rounded-lg p-3 text-xs font-mono text-black focus:ring-1 focus:ring-black outline-none",placeholder:"<!-- Yandex.Metrika counter --> ..."})]})]})]})},Yi=()=>{const r=localStorage.getItem("vorotex_admin_token"),o=localStorage.getItem("vorotex_admin_csrf");return{...r?{"X-Admin-Token":r}:{},...o?{"X-CSRF-Token":o}:{}}},vj=({settings:r})=>{const[o,d]=j.useState([]),[c,h]=j.useState(!1),[m,y]=j.useState(""),[u,f]=j.useState(null),[x,N]=j.useState(!1),[b,C]=j.useState(!1),[g,O]=j.useState([]),E=(r==null?void 0:r.orderStatuses)||[],_=(r==null?void 0:r.deliveryMethods)||[],k=(r==null?void 0:r.paymentMethods)||[],R=async()=>{h(!0);try{const B=await fetch("/api/get_orders.php",{headers:Yi()}),z=B.headers.get("content-type")||"";if(!B.ok){if(z.includes("application/json")){const T=await B.json().catch(()=>null),A=T!=null&&T.message?String(T.message):`HTTP ${B.status}`,K=T!=null&&T.detail?`: ${String(T.detail)}`:"",w=T!=null&&T.requestId?` (id: ${String(T.requestId)})`:"";throw new Error(`${A}${K}${w}`)}throw new Error(`HTTP ${B.status}`)}if(!z.includes("application/json"))throw new Error("Not JSON");const v=await B.json();if(Array.isArray(v)){d(v);return}if((v==null?void 0:v.status)==="success"&&Array.isArray(v.orders)){d(v.orders);return}throw new Error((v==null?void 0:v.message)||"Bad payload")}catch(B){d([]),oe.error(`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð·Ð°ÐºÐ°Ð·Ñ: ${(B==null?void 0:B.message)||"оÑибка"}`)}finally{h(!1)}};j.useEffect(()=>{R()},[]);const D=B=>{f(JSON.parse(JSON.stringify(B))),N(!0),C(!1),O([])},te=()=>{f(null),N(!1),C(!1),O([])};j.useEffect(()=>{if(u){const B=u.items.reduce((v,T)=>v+T.price*T.quantity,0),z=B+(u.deliveryCost||0);(B!==u.itemsTotal||z!==u.total)&&f(v=>v?{...v,itemsTotal:B,total:z}:null)}},[u==null?void 0:u.items,u==null?void 0:u.deliveryCost]);const W=async()=>
3020{if(!u)return;const B=u.items.reduce((A,K)=>A+K.price*K.quantity,0),z=B+(u.deliveryCost||0),v={...u,itemsTotal:B,total:z},T=oe.loading(`СоÑ
ÑанÑем заказ #${v.id}...`);try{const A=await fetch("/api/update_order.php",{method:"POST",headers:{"Content-Type":"application/json",...Yi()},body:JSON.stringify({...v,notifyCustomer:b})}),K=A.headers.get("content-type")||"";if(!A.ok)throw new Error(`HTTP ${A.status}`);if(!K.includes("application/json"))throw new Error("Not JSON");const w=await A.json();if(w.status!=="success")throw new Error(w.message||"ÐÑибка ÑеÑвеÑа");const V=o.map(M=>M.id===v.id?v:M);d(V),oe.success(w.email==="sent"?"СоÑ
Ñанено и пиÑÑмо оÑпÑавлено":"СоÑ
Ñанено",{id:T}),te()}catch(A){oe.error(`ÐÑибка ÑоÑ
ÑанениÑ: ${(A==null?void 0:A.message)||"оÑибка"}`,{id:T})}},$=async B=>{if(confirm(`ÐÑ ÑвеÑенÑ, ÑÑо Ñ
оÑиÑе ÑдалиÑÑ Ð·Ð°ÐºÐ°Ð· #${B}?`))try{if((await fetch("/api/delete_order.php",{method:"POST",headers:{"Content-Type":"application/json",...Yi()},body:JSON.stringify({id:B})})).ok){const v=o.filter(T=>T.id!==B);d(v),oe.success(`Ðаказ #${B}
3020 Ñдален`),(u==null?void 0:u.id)===B&&te();return}}catch{oe.error("ÐÑибка ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ (API недоÑÑÑпно)")}},H=(B,z,v)=>{if(!u)return;const T=[...u.items];T[B]={...T[B],[z]:v},f({...u,items:T})},J=B=>{if(!u||!confirm("УдалиÑÑ ÑÑÐ¾Ñ ÑоваÑ?"))return;const z=u.items.filter((v,T)=>T!==B);f({...u,items:z})},Y=()=>{if(!u)return;const B={id:"custom-item",name:"ÐовÑй ÑоваÑ",price:0,quantity:1,variantId:"",image:""};f({...u,items:[...u.items,B]})},G=async B=>{const z=Number(B);if(!z){oe.error("ÐекоÑÑекÑнÑй ID заказа");return}try{const v=await fetch(`/api/get_order_audit.php?orderId=${encodeURIComponent(String(z))}`,{headers:Yi()}),T=v.headers.get("content-type")||"";if(!v.ok)throw new Error(`HTTP ${v.status}`);if(!T.includes("application/json"))throw new Error("Not JSON");const A=await v.json();if(A.status==="success"){O(Array.isArray(A.items)?A.items:[]),oe.success("ÐÑÑоÑÐ¸Ñ Ð·Ð°Ð³ÑÑжена");return}throw new Error(A.message||"ÐÑибка")}catch(v){oe.error(`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¸ÑÑоÑиÑ: ${(v==null?void 0:v.message)||"оÑибка"}`)}},U=B=>{const z=E.find(A=>A.id===B),v=z?z.color:"#999",T=z?z.label:B;return t.jsx("span",{className:"px-3 py-1 rounded-full text-[10px] font-bold uppercase flex items-center justify-center gap-1 text-white shadow-sm tracking-wide min-w-[80px] text-center whitespace-nowrap",style:{backgroundColor:v},children:T})},q=B=>{var z;return((z=_.find(v=>v.id===B))==null?void 0:z.name)||B},P=B=>{var z;return((z=k.find(v=>v.id===B))==null?void 0:z.name)||B},pe=o.filter(B=>{const z=B.id.toString(),v=B.customer.name.toLowerCase(),T=B.customer.email.toLowerCase(),A=(B.customer.phone||"").toLowerCase(),K=m.toLowerCase();return z.includes(K)||v.includes(K)||T.includes(K)||A.includes(K)});return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-10 text-black",children:[t.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center gap-4 bg-white p-4 md:p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-lg md:text-xl font-black text-black uppercase flex items-center gap-2",children:[t.jsx(ws,{className:"w-6 h-6 text-[#ff3b30]"})," ÐаказÑ"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"УпÑавление заказами"})]}),t.jsxs("div",{className:"flex gap-3 w-full md:w-auto",children:[t.jsxs("div",{className:"relative flex-1 md:w-64",children:[t.jsx("input",{type:"text",placeholder:"ID, Email или ÐмÑ...",value:m,onChange:B=>y(B.target.value),className:"w-full pl-9 pr-4 py-2 bg-gray-50 border border-gray-300 rounded-lg text-sm focus:ring-1 focus:ring-black outline-none text-black"}),t.jsx(xa,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"})]}),t.jsx("button",{onClick:R,className:"p-2 bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors",children:t.jsx(Ya,{className:`w-5 h-5 text-black ${c?"animate-spin":""}`})})]})]}),!x&&t.jsx("div",{className:"space-y-4",children:pe.length===0?t.jsxs("div",{className:"text-center py-12 text-gray-400 bg-white rounded-xl border border-dashed border-gray-200",children:[t.jsx(Jt,{className:"w-12 h-12 mx-auto mb-3 opacity-20"}),t.jsx("p",{children:"Ðаказов неÑ"})]}):pe.map(B=>t.jsx("div",{className:"bg-white border border-gray-200 rounded-xl overflow-hidden hover:border-gray-400 transition-all group shadow-sm hover:shadow-md relative",children:t.jsxs("div",{className:"p-4 flex flex-col md:flex-row items-start md:items-center gap-4 cursor-pointer",onClick:()=>D(B),children:[t.jsxs("div",{className:"flex items-center gap-3 w-full md:w-auto min-w-[150px]",children:[t.jsxs("div",{className:"w-12 h-12 bg-black text-white rounded-lg flex flex-col items-center justify-center font-bold shadow-md",children:[t.jsx("span",{className:"text-[9px] opacity-60 uppercase font-mono",children:"ORD"}),t.jsx("span",{className:"text-sm leading-none",children:B.id})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-xs font-bold text-gray-600",children:new Date(B.date).toLocaleDateString()}),t.jsx("div",{className:"text-[10px] text-gray-400 font-mono",children:new Date(B.date).toLocaleTimeString()})]})]}),t.jsxs("div",{className:"flex-1 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 w-full items-center",children:[t.jsxs("div",{children:[t.jsx("h4",{className:"font-bold text-sm text-black truncate",children:B.customer.name}),t.jsx("div",{className:"text-xs text-gray-500 truncate",children:B.customer.email})]}),t.jsxs("div",{className:"text-xs text-gray-600 flex flex-col justify-center gap-1",children:[t.jsxs("div",{className:"flex items-center gap-1 truncate",children:[t.jsx(Pa,{className:"w-3 h-3"})," ",q(B.delivery)]}),t.jsxs("div",{className:"flex items-center gap-1 truncate",children:[t.jsx(po,{className:"w-3 h-3"})," ",P(B.payment)]})]}),t.jsxs("div",{className:"text-left md:text-right",children:[t.jsxs("span",{className:"font-black text-lg text-black block",children:[B.total.toLocaleStr
3020ing()," ",nt]}),t.jsxs("span",{className:"text-xs text-gray-400",children:[B.items.length," ÑоваÑов"]})]})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center justify-between md:justify-end gap-3 w-full md:w-auto mt-4 md:mt-0 pt-4 md:pt-0 border-t md:border-t-0 border-gray-100 relative z-10",children:[t.jsx("div",{className:"flex-1 md:flex-none text-left sm:text-right flex justify-start sm:justify-end",children:U(B.status)}),t.jsx("div",{className:"h-8 w-px bg-gray-200 hidden md:block mx-1"}),t.jsx("button",{onClick:z=>{z.stopPropagation(),$(B.id)},className:"group/del p-2 rounded-lg text-gray-400 hover:text-red-600 hover:bg-red-50 border border-transparent hover:border-red-200 transition-all duration-200 flex-shrink-0",title:"УдалиÑÑ Ð·Ð°ÐºÐ°Ð·",children:t.jsx(jt,{className:"w-5 h-5 group-hover/del:scale-110 transition-transform"})})]})]})},B.id))}),x&&u&&t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl shadow-xl animate-fade-in",children:[t.jsxs("div",{className:"p-4 md:p-6 border-b border-gray-200 flex flex-col sm:flex-row justify-between items-start sm:items-center gap-3 bg-gray-50 rounded-t-xl sticky top-0 z-10",children:[t.jsxs("div",{className:"flex items-start sm:items-center gap-3",children:[t.jsx("button",{onClick:te,className:"p-2 hover:bg-white rounded-full transition-colors text-gray-500 hover:text-black",children:t.jsx(Ft,{className:"w-6 h-6 rotate-270"})}),t.jsx("div",{children:t.jsxs("h2",{className:"text-xl md:text-2xl font-black uppercase text-black flex items-center gap-2 flex-wrap",children:["Ðаказ #",u.id,t.jsx("span",{className:"text-xs font-normal text-gray-500 bg-white border px-2 py-1 rounded",children:new Date(u.date).toLocaleString()})]})})]}),t.jsxs("div",{className:"flex flex-wrap gap-2 w-full sm:w-auto",children:[t.jsxs("button",{onClick:()=>$(u.id),className:"px-4 py-2 bg-red-50 text-red-600 border border-red-100 font-bold uppercase rounded hover:bg-red-100 transition-colors flex items-center gap-2 text-xs justify-center",children:[t.jsx(jt,{className:"w-4 h-4"})," УдалиÑÑ"]}),t.jsxs("button",{onClick:()=>G(u.id),className:"px-4 py-2 bg-white border border-blue-200 text-blue-600 font-bold uppercase rounded hover:bg-blue-50 transition-colors flex items-center gap-2 text-xs justify-center",children:[t.jsx(Ex,{className:"w-4 h-4"})," ÐÑÑоÑиÑ"]}),t.jsxs("button",{onClick:W,className:"px-6 py-2 bg-green-600 text-white font-bold uppercase rounded hover:bg-green-700 transition-colors flex items-center gap-2 shadow-lg text-xs justify-center",children:[t.jsx(Tn,{className:"w-4 h-4"})," СоÑ
ÑаниÑÑ"]})]})]}),t.jsxs("div",{className:"p-4 md:p-6 grid grid-cols-1 lg:grid-cols-3 gap-6 md:gap-8",children:[t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-blue-50 p-5 rounded-xl border border-blue-100 shadow-sm",children:[t.jsxs("h3",{className:"font-bold text-xs uppercase text-blue-900 mb-3 flex items-center gap-2",children:[t.jsx(Ya,{className:"w-4 h-4"})," СÑаÑÑÑ Ð²ÑполнениÑ"]}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-blue-800 uppercase block mb-1.5",children:"СÑаÑÑÑ Ð·Ð°ÐºÐ°Ð·Ð°"}),t.jsx("select",{value:u.status,onChange:B=>f({...u,status:B.target.value}),className:"w-full p-2.5 bg-white border border-blue-200 rounded text-sm font-bold text-black focus:ring-2 focus:ring-blue-500 outline-none cursor-pointer",children:E.map(B=>t.jsx("option",{value:B.id,children:B.label},B.id))})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("input",{id:"notifyCustomer",type:"checkbox",checked:b,onChange:B=>C(B.target.checked),className:"rounded text-blue-600 focus:ring-blue-500"}),t.jsx("label",{htmlFor:"notifyCustomer",className:"text-xs text-blue-800",children:"УведомиÑÑ ÐºÐ»Ð¸ÐµÐ½Ñа по email"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-blue-800 uppercase block mb-1.5",children:"ТÑек-Ð½Ð¾Ð¼ÐµÑ (ÐÑÑлеживание)"}),t.jsxs("div",{className:"relative",children:[t.jsx(Pa,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),t.jsx("input",{value:u.trackingNumber||"",onChange:B=>f({...u,trackingNumber:B.target.value}),placeholder:"ÐапÑимеÑ: 1435667890",className:"w-full pl-10 p-2.5 bg-white border border-blue-200 rounded text-sm font-mono text-black focus:ring-2 focus:ring-blue-500 outline-none"})]})]})]})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-5 shadow-sm",children:[t.jsxs("h3",{className:"font-bold text-xs uppercase text-gray-500 mb-4 flex items-center gap-2",children:[t.jsx(jp,{className:"w-4 h-4"})," ÐогиÑÑика и ÐплаÑа"]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase block mb-1.5",children:"СпоÑоб ÐоÑÑавки"}),t.jsx("select",{value:u.delivery,onChange:B=>f({...u,delivery:B.target.value}),className:"w-full p-2 border border-gray-300 rounded text-sm text-black bg-gray-50",children:_.map(B=>t.jsx("option",{value:B.id,children:B.name},B.id))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase block mb-1.5",children:"СпоÑоб ÐплаÑÑ"}),t.jsx("select",{value:u.payment,onChange:B=>f({...u,payment:B.target.value}),className:"w-full p-2 border border-gray-300 rounded text-sm text-black bg-gray-50",children:k.map(B=>t.jsx("option",{value:B.id,children:B.name},B.id))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase block mb-1.5",children:"СÑоимоÑÑÑ Ð´Ð¾ÑÑавки"}),t.jsxs("div",{className:"relative",children:[t.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-500 font-bold text-xs",children:nt}),t.jsx("input",{type:"number",value:u.deliveryCost,onChange:B=>f({...u,deliveryCost:parseFloat(B.target.value)||0}),className:"w-full pl-8 p-2 border border-gray-300 rounded text-sm font-bold text-black bg-white focus:ring-1 focus:ring-black"})]})]})]})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-5 shadow-sm",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase mb-4 flex items-center gap-2",children:[t.jsx(Jl,{className:"w-4 h-4"})," ÐлиенÑ"]}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase text-gray-400 font-bold",children:"ÐмÑ"}),t.jsx("input",{value:u.customer.name,onChange:B=>f({...u,customer:{...u.customer,name:B.target.value}}),className:"w-full border-b border-gray-200 py-1 text-sm text-black bg-transparent focus:border-black outline-none"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase text-gray-400 font-bold",children:"ТелеÑон"}),t.jsx("input",{value:u.customer.phone,onChange:B=>f({...u,customer:{...u.customer,phone:B.target.value}}),className:"w-full border-b border-gray-200 py-1 text-sm text-black bg-transparent focus:border-black outline-none"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase text-gray-400 font-bold",children:"Email"}),t.jsx("input",{value:u.customer.email,onChange:B=>f({...u,customer:{...u.customer,email:B.target.value}}),className:"w-full border-b border-gray-200 py-1 text-sm text-black bg-transparent focus:border-black outline-none"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase text-gray-400 font-bold",children:"ÐÑиоÑиÑеÑнÑй ÑпоÑоб ÑвÑзи"}),t.jsx("div",{className:"w-full py-1 text-sm font-bold text-black",children:(u.customer.communicationMethod||"â")})]}),t.jsxs("div",{className:"pt-2",children:[t.jsx("label",{className:"text-[10px] uppercase text-gray-400 font-bold block mb-1",children:"ÐдÑÐµÑ Ð´Ð¾ÑÑавки"}),t.jsx("textarea",{value:u.customer.address,onChange:B=>f({...u,customer:{...u.customer,address:B.target.value}}),className:"w-full border border-gray-200 rounded p-2 text-sm text-black bg-gray-50 h-20 resize-none focus:border-black outline-none"})]})]})]}),t.jsxs("div",{className:"border border-yellow-200 bg-yellow-50 rounded-xl p-5",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase mb-2 flex items-center gap-2 text-yellow-800",children:[t.jsx(lw,{className:"w-4 h-4"})," ÐамеÑки (ÐнÑÑÑенние)"]}),t.jsx("textarea",{value:u.adminNotes||"",onChange:B=>f({...u,adminNotes:B.target.value}),className:"w-full h-24 bg-white border border-yellow-200 rounded p-2 text-sm text-black resize-none focus:ring-1 focus:ring-yellow-500 outline-none",placeholder:"ÐомменÑаÑий менеджеÑа..."})]}),g.length>0&&t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-5 shadow-sm",children:[t.jsxs("h3",{className:"font-bold text-xs uppercase text-gray-500 mb-3 flex items-center gap-2",children:[t.jsx(Ex,{className:"w-4 h-4"})," ÐÑÑоÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹"]}),t.jsx("div",{className:"space-y-2",children:g.slice(0,20).map(B=>t.jsxs("div",{className:"text-xs text-gray-600 flex items-center justify-between gap-3 border-b border-gray-100 pb-2 last:border-none last:pb-0",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"font-bold text-black truncate",children:B.action==="status_change"?`${B.old_status} â ${B.new_status}`:B.action}),t.jsx("div",{className:"text-[10px] text-gray-400 truncate",children:B.changed_by||""})]}),t.jsx("div",{className:"text-[10px] text-gray-400 flex-shrink-0",children:B.created_at?new Date(B.created_at).toLocaleStr
3020ing():""})]},B.id))})]})]}),t.jsx("div",{className:"lg:col-span-2 flex flex-col h-full",children:t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl flex-1 flex flex-col overflow-hidden shadow-sm",children:[t.jsxs("div",{className:"p-4 border-b border-gray-200 flex flex-col sm:flex-row gap-3 sm:gap-0 sm:justify-between sm:items-center bg-gray-50",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase flex items-center gap-2",children:[t.jsx(Jt,{className:"w-4 h-4"})," СоÑÑав заказа"]}),t.jsxs("button",{onClick:Y,className:"text-xs bg-black text-white px-3 py-1.5 rounded flex items-center gap-1 hover:bg-gray-800 transition-colors justify-center w-full sm:w-auto",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ Ð¿Ð¾Ð·Ð¸ÑиÑ"]})]}),t.jsx("div",{className:"flex-1 overflow-y-auto p-4 space-y-3 bg-gray-50/30 min-h-[300px]",children:u.items.map((B,z)=>t.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-3 flex flex-col md:flex-row gap-4 items-start md:items-center shadow-sm relative group hover:border-gray-400 transition-colors",children:[t.jsx("div",{className:"w-16 h-16 bg-gray-100 rounded border border-gray-100 flex-shrink-0 overflow-hidden",children:B.image?t.jsx("img",{src:B.image,className:"w-full h-full object-contain"}):t.jsx("div",{className:"w-full h-full flex items-center justify-center text-gray-300",children:t.jsx(Jt,{className:"w-6 h-6"})})}),t.jsxs("div",{className:"flex-1 min-w-0 grid grid-cols-1 gap-1",children:[t.jsx("input",{value:B.name,onChange:v=>H(z,"name",v.target.value),className:"font-bold text-sm text-black border-b border-transparent hover:border-gray-300 focus:border-black outline-none bg-transparent truncate w-full",placeholder:"Ðазвание ÑоваÑа"}),t.jsx("div",{className:"flex flex-wrap gap-2 text-xs",children:B.selectedOptions&&Object.entries(B.selectedOptions).map(([v,T])=>t.jsxs("span",{className:"bg-blue-50 text-blue-700 px-2 py-0.5 rounded border border-blue-100",children:[v,": ",T]},v))}),t.jsx("div",{className:"text-[10px] text-gray-400 font-mono",children:B.id})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-start sm:items-center gap-3 sm:gap-4 w-full sm:w-auto",children:[t.jsxs("div",{className:"flex items-center border border-gray-200 rounded-lg overflow-hidden bg-white",children:[t.jsx("button",{onClick:()=>H(z,"quantity",Math.max(1,B.quantity-1)),className:"px-2 py-1 hover:bg-gray-100 text-black font-bold",children:"-"}),t.jsx("input",{type:"number",value:B.quantity,onChange:v=>H(z,"quantity",parseInt(v.target.value)||1),className:"w-10 text-center text-sm font-bold outline-none text-black bg-white"}),t.jsx("button",{onClick:()=>H(z,"quantity",B.quantity+1),className:"px-2 py-1 hover:bg-gray-100 text-black font-bold",children:"+"})]}),t.jsxs("div",{className:"relative w-full sm:w-24",children:[t.jsx("input",{type:"number",value:B.price,onChange:v=>H(z,"price",parseFloat(v.target.value)||0),className:"w-full text-left sm:text-right font-black text-lg text-black border-b border-transparent hover:border-gray-300 focus:border-black outline-none bg-transparent"}),t.jsx("span",{className:"absolute right-full top-1/2 -translate-y-1/2 text-xs text-gray-400 mr-1",children:nt})]})]}),t.jsx("button",{onClick:()=>J(z),className:"text-gray-300 hover:text-red-500 p-2 rounded-full hover:bg-red-50 transition-colors",children:t.jsx(jt,{className:"w-4 h-4"})})]},z))}),t.jsx("div",{className:"p-6 border-t border-gray-200 bg-white",children:t.jsxs("div",{className:"flex flex-col gap-2 max-w-xs ml-auto",children:[t.jsxs("div",{className:"flex justify-between text-sm text-gray-500",children:[t.jsx("span",{children:"СÑмма ÑоваÑов:"}),t.jsxs("span",{children:[u.itemsTotal.toLocaleString()," ",nt]})]}),t.jsxs("div",{className:"flex justify-between text-sm text-gray-500",children:[t.jsx("span",{children:"ÐоÑÑавка:"}),t.jsxs("span",{children:[u.deliveryCost.toLocaleString()," ",nt]})]}),t.jsxs("div",{className:"flex justify-between items-end border-t border-gray-100 pt-4 mt-2",children:[t.jsx("span",{className:"font-bold text-xl uppercase text-black",children:"ÐÑого"}),t.jsxs("span",{className:"font-black text-3xl text-[#ff3b30]",children:[u.total.toLocaleStr
3020ing()," ",nt]})]})]})})]})})]})]})]})},cr=({children:r})=>t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:r}),wj=({settings:r,onUpdate:o})=>{const[d,c]=j.useState(null),[h,m]=j.useState(null),y=()=>{const g={id:`pay-${Date.now()}`,name:"ÐовÑй ÑпоÑоб оплаÑÑ",description:"",enabled:!0,discount:{enabled:!1,type:"percent",value:0,promoText:""}};o({...r,paymentMethods:[g,...r.paymentMethods||[]]}),m(g.id)},u=(g,O)=>{const E=(r.paymentMethods||[]).map(_=>_.id===g?{..._,...O}:_);o({...r,paymentMethods:E})},f=g=>{if(confirm("УдалиÑÑ ÑÑÐ¾Ñ ÑпоÑоб оплаÑÑ? Ðн иÑÑÐµÐ·Ð½ÐµÑ Ð¸Ð· вÑеÑ
доÑÑавок.")){const O=(r.paymentMethods||[]).filter(_=>_.id!==g),E=(r.deliveryMethods||[]).map(_=>({..._,allowedPaymentIds:_.allowedPaymentIds.filter(k=>k!==g)}));o({...r,paymentMethods:O,deliveryMethods:E}),h===g&&m(null)}},x=()=>{const g=(r.paymentMethods||[]).map(E=>E.id),O={id:`del-${Date.now()}`,name:"ÐовÑй ÑпоÑоб доÑÑавки",type:"address",price:0,description:"",enabled:!0,allowedPaymentIds:g};o({...r,deliveryMethods:[O,...r.deliveryMethods||[]]}),c(O.id)},N=(g,O)=>{const E=(r.deliveryMethods||[]).map(_=>_.id===g?{..._,...O}:_);o({...r,deliveryMethods:E})},b=g=>{if(confirm("УдалиÑÑ ÑÑÐ¾Ñ ÑпоÑоб доÑÑавки?")){const O=(r.deliveryMethods||[]).filter(E=>E.id!==g);o({...r,deliveryMethods:O}),d===g&&c(null)}},C=(g,O)=>{const E=r.deliveryMethods.find(R=>R.id===g);if(!E)return;const _=E.allowedPaymentIds||[],k=_.includes(O)?_.filter(R=>R!==O):[..._,O];N(g,{allowedPaymentIds:k})};const S=r.yookassa||{},A=g=>o({...r,yookassa:{...S,...g}}),vxCdekS=r.cdek||{},vxCdekSet=g=>o({...r,cdek:{...vxCdekS,...g}});return t.jsxs("div",{className:"space-y-8 animate-fade-in pb-20",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl shadow-sm border border-gray-200",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6 pb-4 border-b border-gray-100",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"p-2 bg-blue-50 text-blue-600 rounded-lg",children:t.jsx(po,{className:"w-5 h-5"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-black uppercase",children:"СпоÑÐ¾Ð±Ñ ÐплаÑÑ"}),t.jsx("p",{className:"text-xs text-gray-500",children:"ÐаÑÑÑойÑе ваÑианÑÑ Ð¿Ñиема плаÑежей"})]})]}),t.jsxs("button",{onClick:y,className:"flex items-center gap-2 bg-black text-white px-4 py-2 rounded-lg text-xs font-bold uppercase hover:bg-gray-800 transition-colors",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ"]})]}),t.jsx("div",{className:"space-y-4",children:(r.paymentMethods||[]).map(g=>t.jsxs("div",{className:`border rounded-xl p-4 transition-all ${h===g.id?"border-blue-500 bg-blue-50/50 shadow-md":"border-gray-200 bg-white"}`,children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:`w-3 h-3 rounded-full ${g.enabled?"bg-green-500":"bg-gray-300"}`}),t.jsx("span",{className:"font-bold text-sm text-black",children:g.name})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>m(h===g.id?null:g.id),className:"p-2 text-gray-500 hover:text-black hover:bg-gray-100 rounded-lg",children:t.jsx(Ns,{className:"w-4 h-4"})}),t.jsx("button",{onClick:()=>f(g.id),className:"p-2 text-gray-300 hover:text-red-500 hover:bg-red-50 rounded-lg",children:t.jsx(jt,{className:"w-4 h-4"})})]})]}),h===g.id&&t.jsxs("div",{className:"mt-4 pt-4 border-t border-gray-200/50 grid grid-cols-1 md:grid-cols-2 gap-4 animate-fade-in",children:[t.jsxs("div",{className:"md:col-span-2 flex items-center justify-between bg-white p-3 rounded border border-gray-200",children:[t.jsx("span",{className:"text-xs font-bold uppercase text-gray-500",children:"ÐкÑивноÑÑÑ"}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:g.enabled,onChange:O=>u(g.id,{enabled:O.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-green-500"})]})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"Ðазвание"}),t.jsx("input",{value:g.name,onChange:O=>u(g.id,{name:O.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black"})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"ÐпиÑание (Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñа)"}
3020),t.jsx("input",{value:g.description||"",onChange:O=>u(g.id,{description:O.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",placeholder:"ÐапÑимеÑ: Visa/Mastercard"})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"Скидка (вклÑÑиÑÑ)"}),t.jsx("input",{type:"checkbox",checked:!!(g.discount&&g.discount.enabled),onChange:O=>{const E=g.discount||{enabled:!1,type:"percent",value:0,promoText:""};u(g.id,{discount:{...E,enabled:O.target.checked}})},className:"h-4 w-4"})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"Скидка (Ñип)"}),t.jsxs("select",{value:(g.discount&&g.discount.type)||"percent",onChange:O=>{const E=g.discount||{enabled:!1,type:"percent",value:0,promoText:""};u(g.id,{discount:{...E,type:O.target.value}})},className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",children:[t.jsx("option",{value:"percent",children:"ÐÑоÑÐµÐ½Ñ (%)"}),t.jsx("option",{value:"amount",children:"СÑмма (â½)"})]})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"Скидка (знаÑение)"}),t.jsx("input",{type:"number",value:Number((g.discount&&g.discount.value)||0),onChange:O=>{const raw=Number(O.target.value||0);const E=g.discount||{enabled:!1,type:"percent",value:0,promoText:""};const v=E.type=="percent"?Math.min(100,Math.max(0,raw)):Math.max(0,raw);u(g.id,{discount:{...E,value:v}})},className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black"})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"ТекÑÑ Ð´Ð»Ñ Ð¿Ð¾ÐºÑпаÑелÑ"}),t.jsx("input",{value:(g.discount&&g.discount.promoText)||"",onChange:O=>{const E=g.discount||{enabled:!1,type:"percent",value:0,promoText:""};u(g.id,{discount:{...E,promoText:O.target.value}})},className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",placeholder:"ÐÐÐÐ ÐÐÐÐ : -3% ÐÐ Ð ÐÐÐÐТРÐÐРТÐÐ"})]})]})]},g.id))})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl shadow-sm border border-gray-200",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6 pb-4 border-b border-gray-100",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"p-2 bg-red-50 text-red-600 rounded-lg flex items-center justify-center w-9 h-9",children:"â½"}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-black uppercase",children:"ЮKassa (оплаÑа каÑÑой)"}),t.jsx("p",{className:"text-xs text-gray-500",children:"ShopID/SecretKey + паÑамеÑÑÑ Ð´Ð»Ñ 54âФР(ÑекÑеÑÑ Ð²Ð¸Ð´Ð½Ñ ÑолÑко в админке)"})]})]}),t.jsx("div",{className:"px-3 py-1 rounded-full text-[10px] font-black uppercase "+(S.enabled?"bg-green-100 text-green-700":"bg-gray-100 text-gray-600"),children:S.enabled?"ÐÐÐ":"ÐЫÐÐ"})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{className:"md:col-span-2 flex items-center justify-between bg-white p-3 rounded border border-gray-200",children:[t.jsx("span",{className:"text-xs font-bold uppercase text-gray-500",children:"ÐклÑÑиÑÑ Ð®Kassa"}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:!!S.enabled,onChange:e=>A({enabled:e.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-green-500"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Shop ID"}),t.jsx("input",{value:S.shopId||"",onChange:e=>A({shopId:e.target.value}),className:"w-full p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black font-mono focus:ring-1 focus:ring-black outline-none",placeholder:"ÐапÑимеÑ: 123456"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Secret Key"}),t.jsx("input",{type:"password",value:S.secretKey||"",onChange:e=>A({secretKey:e.target.value}),className:"w-full p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black font-mono focus:ring-1 focus:ring-black outline-none",placeholder:"test_..."})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"СиÑÑема Ð½Ð°Ð»Ð¾Ð³Ð¾Ð¾Ð±Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (54âФÐ)"}),t.jsxs("select",{value:String(S.taxSystemCode||3),onChange:e=>A({taxSystemCode:parseInt(e.target.value)||3}),className:"w-full p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black focus:ring-1 focus:ring-black outline-none",children:[t.jsx("option",{value:"1",children:"1 â ÐСÐ"}),t.jsx("option",{value:"2",children:"2 â УСРдоÑ
одÑ"}),t.jsx("option",{value:"3",children:"3 â УСРдоÑ
одÑ-ÑаÑÑ
Ð¾Ð´Ñ (ÐУСРдоÑ
одÑ-ÑаÑÑ
одÑ)"}),t.jsx("option",{value:"4",children:"4 â ÐÐÐÐ"}),t.jsx("option",{value:"5",children:"5 â ÐСÐ"}),t.jsx("option",{value:"6",children:"6 â ÐаÑенÑ"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"ÐÐС (54âФÐ)"}),t.jsxs("select",{value:String(S.vatCode||1),onChange:e=>A({vatCode:parseInt(e.target.value)||1}),className:"w-full p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black focus:ring-1 focus:ring-black outline-none",children:[t.jsx("option",{value:"1",children:"1 â без ÐÐС"}),t.jsx("option",{value:"2",children:"2 â ÐÐС 0%"}),t.jsx("option",{value:"3",children:"3 â ÐÐС 10%"}),t.jsx("option",{value:"4",children:"4 â ÐÐС 20%"})]})]}),t.jsxs("div",{className:"md:col-span-2",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Webhook token"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:S.webhookToken||"",onChange:e=>A({webhookToken:e.target.value}),className:"flex-1 p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black font-mono focus:ring-1 focus:ring-black outline-none",placeholder:"ÐажмиÑе 'СгенеÑиÑоваÑÑ'"}),t.jsx("button",{type:"button",onClick:()=>A({webhookToken:(window.crypto&&crypto.randomUUID)?crypto.randomUUID():Math.random().toString(36).slice(2)+Date.now()}),className:"px-3 py-2.5 bg-black text-white rounded-lg text-xs font-bold uppercase hover:bg-gray-800",children:"СгенеÑиÑоваÑÑ"})]}),t.jsx("div",{className:"mt-2 text-[11px] text-gray-500",children:"URL Ð´Ð»Ñ webhook бÑÐ´ÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½ ниже (добавÑÑе его в лиÑном кабинеÑе ЮKassa)"}),t.jsx("div",{className:"mt-2 bg-gray-50 border border-gray-200 rounded-lg p-2 font-mono text-[11px] text-gray-700 overflow-x-auto",children:window.location.origin+"/api/yookassa_webhook.php?token="+encodeURIComponent(String(S.webhookToken||""))})]})]})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl shadow-sm border border-gray-200",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6 pb-4 border-b border-gray-100",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"p-2 bg-orange-50 text-orange-600 rounded-lg",children:t.jsx(Pa,{className:"w-5 h-5"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-black uppercase",children:"ÐнÑегÑаÑÐ¸Ñ Ð¡ÐÐÐ (API)"}),t.jsx("p",{className:"text-xs text-gray-500",children:"Client ID / Client Secret из лиÑного кабинеÑа инÑегÑаÑоÑа СÐÐÐ â нÑÐ¶Ð½Ñ Ð´Ð»Ñ ÑпиÑка пÑнкÑов вÑдаÑи на ÑекаÑÑе"})]})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Client ID"}),t.jsx("input",{value:vxCdekS.clientId||"",onChange:e=>vxCdekSet({clientId:e.target.value}),className:"w-full p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black font-mono focus:ring-1 focus:ring-black outline-none",placeholder:"account"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Client Secret"}),t.jsx("input",{type:"password",value:vxCdekS.clientSecret||"",onChange:e=>vxCdekSet({clientSecret:e.target.value}),className:"w-full p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black font-mono focus:ring-1 focus:ring-black outline-none",placeholder:"secure password"})]})]})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl shadow-sm border border-gray-200",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6 pb-4 border-b border-gray-100",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"p-2 bg-orange-50 text-orange-600 rounded-lg",children:t.jsx(Pa,{className:"w-5 h-5"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-black uppercase",children:"СпоÑÐ¾Ð±Ñ ÐоÑÑавки"}),t.jsx("p",{className:"text-xs text-gray-500",children:"ÐаÑÑÑойка ваÑианÑов доÑÑавки и пÑивÑзка оплаÑÑ"})]})]}),t.jsxs("button",{onClick:x,className:"flex items-center gap-2 bg-black text-white px-4 py-2 rounded-lg text-xs font-bold uppercase hover:bg-gray-800 transition-colors",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ"]})]}),t.jsx("div",{className:"space-y-4",children:(r.deliveryMethods||[]).map(g=>t.jsxs("div",{className:`border rounded-xl p-4 transition-all ${d===g.id?"border-orange-500 bg-orange-50/50 shadow-md":"border-gray-200 bg-white"}`,children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:`w-3 h-3 rounded-full ${g.enabled?"bg-green-500":"bg-gray-300"}`}),t.jsxs("div",{children:[t.jsx("span",{className:"font-bold text-sm block text-black",children:g.name}),t.jsxs("span",{className:"text-xs text-gray-500",children:[g.price===0?"ÐеÑплаÑно":`${g.price} â½`," ⢠",g.type==="pickup"?"СамовÑвоз/ÐÐÐ":"ÐдÑеÑнаÑ"]})]})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>c(d===g.id?null:g.id),className:"p-2 text-gray-500 hover:text-black hover:bg-gray-100 rounded-lg",children:t.jsx(Ns,{className:"w-4 h-4"})}),t.jsx("button",{onClick:()=>b(g.id),className:"p-2 text-gray-300 hover:text-red-500 hover:bg-red-50 rounded-lg",children:t.jsx(jt,{className:"w-4 h-4"})})]})]}),d===g.id&&t.jsxs("div",{className:"mt-4 pt-4 border-t border-gray-200/50 grid grid-cols-1 md:grid-cols-2 gap-4 animate-fade-in",children:[t.jsxs("div",{className:"md:col-span-2 flex items-center justify-between bg-white p-3 rounded border border-gray-200",children:[t.jsx("span",{className:"text-xs font-bold uppercase text-gray-500",children:"ÐкÑивноÑÑÑ"}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:g.enabled,onChange:O=>N(g.id,{enabled:O.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-green-500"})]})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"Ðазвание"}),t.jsx("input",{value:g.name,onChange:O=>N(g.id,{name:O.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black"})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"Тип ÐоÑÑавки"}),t.jsxs("select",{value:g.type||"address",onChange:O=>N(g.id,{type:O.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",children:[t.jsx("option",{value:"address",children:"ÐдÑеÑÐ½Ð°Ñ Ð´Ð¾ÑÑавка (ÐндекÑ, УлиÑа)"}),t.jsx("option",{value:"pickup",children:"СамовÑвоз / ÐÐÐ (Ðдна ÑÑÑока)"})]})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"СÑоимоÑÑÑ (ÑÑб)"}),t.jsx("input",{type:"number",value:g.price,onChange:O=>N(g.id,{price:parseInt(O.target.value)||0}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",placeholder:"0 = ÐеÑплаÑно"})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"ÐÑобÑажение ÑÐµÐ½Ñ Ð´Ð»Ñ Ð¿Ð¾ÐºÑпаÑелÑ"}
3020),t.jsxs("select",{value:g.priceMode||"separate",onChange:O=>N(g.id,{priceMode:O.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",children:[t.jsx("option",{value:"separate",children:"ÐÑделÑной ÑÑÑокой (+ к Ñене ÑоваÑа)"}),t.jsx("option",{value:"included",children:"ÐклÑÑено в ÑÐµÐ½Ñ (беÑплаÑно Ð´Ð»Ñ Ð¿Ð¾ÐºÑпаÑелÑ)"})]})]}),(g.type==="pickup")&&t.jsxs("div",{className:"md:col-span-2 flex items-center justify-between bg-orange-50 border border-orange-200 p-3 rounded",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-xs font-bold uppercase text-orange-700 block",children:"СпиÑок ÐÐРСÐÐÐ (API)"}),t.jsx("span",{className:"text-[11px] text-orange-600",children:"ÐокÑпаÑÐµÐ»Ñ Ð²ÑбиÑÐ°ÐµÑ Ð¿ÑÐ½ÐºÑ Ð²ÑдаÑи из ÑпиÑка вмеÑÑо ввода адÑеÑа вÑÑÑнÑÑ. ÐÑÐ¶Ð½Ñ Client ID / Client Secret ниже."})]}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer shrink-0 ml-3",children:[t.jsx("input",{type:"checkbox",checked:!!g.cdekEnabled,onChange:O=>N(g.id,{cdekEnabled:O.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-orange-500"})]})]}),t.jsxs("div",{children:[t.jsx(cr,{children:"ÐпиÑание (Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½Ñа)"}),t.jsx("input",{value:g.description||"",onChange:O=>N(g.id,{description:O.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black",placeholder:"ÐапÑимеÑ: СÑок 3-5 дней"})]}),t.jsxs("div",{className:"md:col-span-2 mt-2",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2 text-gray-500",children:[t.jsx(ks,{className:"w-3 h-3"}),t.jsx("span",{className:"text-[10px] font-bold uppercase",children:"ÐоÑÑÑпнÑе ÑпоÑÐ¾Ð±Ñ Ð¾Ð¿Ð»Ð°ÑÑ"})]}),t.jsx("div",{className:"bg-white border border-gray-200 rounded-lg p-3 grid grid-cols-1 sm:grid-cols-2 gap-2",children:(r.paymentMethods||[]).map(O=>{if(!O.enabled)return null;const E=(g.allowedPaymentIds||[]).includes(O.id);return t.jsxs("div",{onClick:()=>C(g.id,O.id),className:`flex items-center gap-2 p-2 rounded cursor-pointer border transition-all ${E?"bg-green-50 border-green-200":"bg-gray-50 border-transparent hover:bg-gray-100"}`,children:[E?t.jsx(J2,{className:"w-4 h-4 text-green-600"}):t.jsx(ew,{className:"w-4 h-4 text-gray-400"}),t.jsx("span",{className:`text-sm ${E?"font-bold text-black":"text-gray-500"}`,children:O.name})]},O.id)})})]})]})]},g.id))})]})]})},jj=({children:r})=>t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:r}),Nj=({settings:r,onUpdate:o})=>{const[d,c]=j.useState(null),h=()=>{const u={id:`status-${Date.now()}`,label:"ÐовÑй СÑаÑÑÑ",color:"#000000",isSystem:!1};o({...r,orderStatuses:[u,...r.orderStatuses||[]]}),c(u.id)},m=(u,f)=>{const x=(r.orderStatuses||[]).map(N=>N.id===u?{...N,...f}:N);o({...r,orderStatuses:x})},y=u=>{if(confirm("УдалиÑÑ ÑÑÐ¾Ñ ÑÑаÑÑÑ? ÐÐ°ÐºÐ°Ð·Ñ Ñ ÑÑим ÑÑаÑÑÑом могÑÑ Ð¾ÑобÑажаÑÑÑÑ Ð½ÐµÐºÐ¾ÑÑекÑно.")){const f=(r.orderStatuses||[]).filter(x=>x.id!==u);o({...r,orderStatuses:f}),d===u&&c(null)}};return t.jsxs("div",{className:"space-y-8 animate-fade-in pb-20",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl shadow-sm border border-gray-200",children:[t.jsxs("div",{className:"flex items-center justify-between mb-6 pb-4 border-b border-gray-100",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"p-2 bg-purple-50 text-purple-600 rounded-lg",children:t.jsx(wn,{className:"w-5 h-5"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-black uppercase",children:"СÑаÑÑÑÑ Ðаказов"}),t.jsx("p",{className:"text-xs text-gray-500",children:"ÐаÑÑÑойÑе воÑÐ¾Ð½ÐºÑ Ð¿Ñодаж"})]})]}),t.jsxs("button",{onClick:h,className:"flex items-center gap-2 bg-black text-white px-4 py-2 rounded-lg text-xs font-bold uppercase hover:bg-gray-800 transition-colors",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ"]})]}),t.jsx("div",{className:"space-y-4",children:(r.orderStatuses||[]).map(u=>t.jsxs("div",{className:`border rounded-xl p-4 transition-all ${d===u.id?"border-purple-500 bg-purple-50/50 shadow-md":"border-gray-200 bg-white"}`,children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-6 h-6 rounded-full border-2 border-white shadow-sm flex items-center justify-center",style:{backgroundColor:u.color}}),t.jsxs("div",{children:[t.jsx("span",{className:"font-bold text-sm text-black block",children:u.label}),t.jsxs("span",{className:"text-[10px] text-gray-400 font-mono",children:["ID: ",u.id]})]}),u.isSystem&&t.jsx("span",{className:"text-[10px] bg-gray-100 text-gray-500 px-2 py-0.5 rounded border border-gray-200",children:"СиÑÑемнÑй"})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>c(d===u.id?null:u.id),className:"p-2 text-gray-500 hover:text-black hover:bg-gray-100 rounded-lg",children:t.jsx(Ns,{className:"w-4 h-4"})}),!u.isSystem&&t.jsx("button",{onClick:()=>y(u.id),className:"p-2 text-gray-300 hover:text-red-500 hover:bg-red-50 rounded-lg",children:t.jsx(jt,{className:"w-4 h-4"})})]})]}),d===u.id&&t.jsxs("div",{className:"mt-4 pt-4 border-t border-gray-200/50 grid grid-cols-1 md:grid-cols-2 gap-4 animate-fade-in",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Ðазвание"}),t.jsx("input",{value:u.label,onChange:f=>m(u.id,{label:f.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"Ð¦Ð²ÐµÑ Ð±ÐµÐ¹Ð´Ð¶Ð°"}),t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsx("input",{type:"color",value:u.color,onChange:f=>m(u.id,{color:f.target.value}),className:"w-10 h-9 rounded cursor-pointer border-0 p-0"}),t.jsx("input",{value:u.color,onChange:f=>m(u.id,{color:f.target.value}),className:"flex-1 text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black font-mono"})]})]}),!u.isSystem&&t.jsxs("div",{className:"md:col-span-2",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"СиÑÑемнÑй ID"}),t.jsx("input",{value:u.id,onChange:f=>m(u.id,{id:f.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 text-black bg-white focus:ring-1 focus:ring-black font-mono",placeholder:"unique-id"}),t.jsx("p",{className:"text-[10px] text-gray-400 mt-1",children:"ID иÑполÑзÑеÑÑÑ Ð² базе даннÑÑ
. ÐенÑйÑе Ñ Ð¾ÑÑоÑожноÑÑÑÑ."})]})]})]},u.id))})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsxs("h3",{className:"text-lg font-bold text-black uppercase mb-4 flex items-center gap-2",children:[t.jsx(Ql,{className:"w-5 h-5"})," ÐимиÑÑ"]}),t.jsxs("div",{children:[t.jsx(jj,{children:"ÐинималÑÐ½Ð°Ñ ÑÑмма заказа (ÑÑб)"}),t.jsx("input",{type:"number",value:r.minOrderSum||0,onChange:u=>o({...r,minOrderSum:parseInt(u.target.value)||0}),className:"w-full text-sm border border-gray-300 rounded p-2.5 bg-white text-black max-w-xs",placeholder:"0 = без огÑаниÑений"}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"ÐÐ»Ð¸ÐµÐ½Ñ Ð½Ðµ ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑоÑмиÑÑ Ð·Ð°ÐºÐ°Ð·, еÑли ÑÑмма коÑзин
3020Ñ Ð¼ÐµÐ½ÑÑе ÑÑого знаÑениÑ."})]})]})]})},kj=({admins:r,onUpdateAdmins:o,currentUserEmail:d})=>{const[c,h]=j.useState(!1),[m,y]=j.useState(null),[u,f]=j.useState({name:"",email:"",password:"",role:"manager"}),x=()=>{f({name:"",email:"",password:"",role:"manager"}),y(null),h(!1)},N=(g,O)=>{g.stopPropagation(),f({name:O.name,email:O.email,password:O.password,role:O.role}),y(O.id),h(!0);const E=document.getElementById("admin-form");E&&E.scrollIntoView({behavior:"smooth"})},b=()=>{if(!u.email||!u.password){oe.error("Email и паÑÐ¾Ð»Ñ Ð¾Ð±ÑзаÑелÑнÑ");return}if(r.some(O=>O.email.toLowerCase()===u.email.toLowerCase()&&O.id!==m)){oe.error("Такой Email Ñже еÑÑÑ");return}if(m){const O=r.map(E=>E.id===m?{...E,...u}:E);o(O),oe.success("ÐаннÑе админиÑÑÑаÑоÑа обновленÑ")}else{const O={id:`adm-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,...u,createdAt:new Date().toISOString()};o([...r,O]),oe.success("ÐдминиÑÑÑаÑÐ¾Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½")}x()},C=(g,O)=>{if(g.preventDefault(),g.stopPropagation(),window.confirm("УдалиÑÑ ÑÑого админиÑÑÑаÑоÑа?")){const E=r.filter(_=>_.id!==O);o(E),oe.success("ÐдминиÑÑÑаÑÐ¾Ñ Ñдален"),O===m&&x()}};return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-10",id:"admin-form",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex justify-between items-center",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-black uppercase text-black flex items-center gap-2",children:[t.jsx(io,{className:"w-6 h-6 text-[#ff3b30]"})," ÐдминиÑÑÑаÑоÑÑ"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"УпÑавление доÑÑÑпом к панели"})]}),!c&&t.jsxs("button",{onClick:()=>h(!0),className:"bg-black text-white px-4 py-2 rounded-lg text-xs font-bold uppercase hover:bg-[#ff3b30] transition-colors flex items-center gap-2",children:[t.jsx(At,{className:"w-4 h-4"})," ÐобавиÑÑ"]})]}),c&&t.jsxs("div",{className:"bg-gray-50 p-6 rounded-xl border border-gray-200 animate-fade-in-up relative",children:[t.jsx("button",{onClick:x,className:"absolute top-4 right-4 text-gray-400 hover:text-black",children:t.jsx(xt,{className:"w-4 h-4"})}),t.jsx("h3",{className:"font-bold text-sm uppercase mb-4 text-black",children:m?"РедакÑиÑование":"ÐовÑй полÑзоваÑелÑ"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐмÑ"}),t.jsx("input",{value:u.name,onChange:g=>f({...u,name:g.target.value}),className:"w-full p-2.5 border border-gray-300 rounded text-sm text-black bg-white",placeholder:"Ðван"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"Email (Ðогин)"}),t.jsx("input",{value:u.email,onChange:g=>f({...u,email:g.target.value}),className:"w-full p-2.5 border border-gray-300 rounded text-sm text-black bg-white",placeholder:"[email protected]"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐаÑолÑ"}),t.jsx("input",{value:u.password,onChange:g=>f({...u,password:g.target.value}),className:"w-full p-2.5 border border-gray-300 rounded text-sm text-black bg-white",placeholder:"â¢â¢â¢â¢â¢â¢"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"РолÑ"}),t.jsxs("select",{value:u.role,onChange:g=>f({...u,role:g.target.value}),className:"w-full p-2.5 border border-gray-300 rounded text-sm text-black bg-white",children:[t.jsx("option",{value:"manager",children:"ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ (ТолÑко заказÑ)"}),t.jsx("option",{value:"super_admin",children:"СÑпеÑ-Ðдмин (ÐолнÑй доÑÑÑп)"})]})]})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsxs("button",{onClick:b,className:"bg-green-600 text-white px-4 py-2 rounded text-xs font-bold uppercase hover:bg-green-700 shadow-sm flex items-center gap-2",children:[t.jsx(Tn,{className:"w-3 h-3"})," СоÑ
ÑаниÑÑ"]}),t.jsx("button",{onClick:x,className:"bg-white border border-gray-300 text-black px-4 py-2 rounded text-xs font-bold uppercase hover:bg-gray-50",children:"ÐÑмена"})]})]}),t.jsx("div",{className:"grid grid-cols-1 gap-4",children:r.map(g=>t.jsxs("div",{className:`bg-white border rounded-xl p-4 flex items-center justify-between group hover:border-gray-400 transition-colors shadow-sm relative overflow-hidden ${m===g.id?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"}`,children:[t.jsxs("div",{className:"flex items-center gap-4 relative z-10",children:[t.jsx("div",{className:`w-12 h-12 rounded-full flex items-center justify-center border-2 ${g.role==="super_admin"?"bg-[#ff3b30] text-white border-[#ff3b30]":"bg-gray-100 text-gray-500 border-gray-200"}`,children:t.jsx(Jl,{className:"w-6 h-6"})}),t.jsxs("div",{children:[t.jsxs("div",{className:"font-bold text-base text-black flex items-center gap-2",children:[g.name,g.email===d&&t.jsxs("span",{className:"text-[10px] bg-green-100 text-green-700 px-2 py-0.5 rounded-full flex items-center gap-1 uppercase tracking-wide",children:[t.jsx(wn,{className:"w-3 h-3"})," ÐÑ"]})]}),t.jsx("div",{className:"text-xs text-gray-500 font-mono",children:g.email})]})]}),t.jsxs("div",{className:"flex items-center gap-4 relative z-10",children:[t.jsx("span",{className:`text-[10px] font-bold uppercase px-3 py-1 rounded-full ${g.role==="super_admin"?"bg-red-50 text-red-600 border border-red-100":"bg-blue-50 text-blue-600 border border-blue-100"}`,children:g.role==="super_admin"?"Super Admin":"Manager"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{type:"button",onClick:O=>N(O,g),className:"p-2 bg-gray-100 text-gray-500 hover:text-white hover:bg-blue-600 rounded-lg transition-all shadow-sm z-20 relative",title:"РедакÑиÑоваÑÑ",children:t.jsx(N2,{className:"w-4 h-4 pointer-events-none"})}),g.email!==d&&t.jsx("button",{type:"button",onClick:O=>C(O,g.id),className:"p-2 bg-gray-100 text-gray-500 hover:text-white hover:bg-red-600 rounded-lg transition-all shadow-sm z-20 relative",title:"УдалиÑÑ",children:t.jsx(jt,{className:"w-4 h-4 pointer-events-none"})})]})]})]},g.id))})]})},Ud=()=>{const r=localStorage.getItem("vorotex_admin_token"),o=localStorage.getItem("vorotex_admin_csrf");return{...r?{"X-Admin-Token":r}:{},...o?{"X-CSRF-Token":o}:{}}},Sj=(r=12)=>{const o="ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789!@#$%";let d="";for(let c=0;c<r;c++)d+=o[Math.floor(Math.random()*o.length)];return d},Oj=({logoImage:r})=>{const[o,d]=j.useState([]),[c,h]=j.useState(!1),[m,y]=j.useState(""),[u,f]=j.useState(null),[x,N]=j.useState(""),b=j.useMemo(()=>{const E=m.trim().toLowerCase();return E?o.filter(_=>(_.email||"").toLowerCase().includes(E)||(_.name||"").toLowerCase().includes(E)||(_.phone||"").toLowerCase().includes(E)||(_.address||"").toLowerCase().includes(E)||(_.id||"").toLowerCase().includes(E)):o},[o,m]),C=async()=>{h(!0);try{const E=await fetch("/api/get_users.php",{headers:Ud()}),_=E.headers.get("content-type")||"";if(!E.ok){if(_.includes("application/json")){const R=await E.json().catch(()=>null),D=R!=null&&R.message?String(R.message):`HTTP ${E.status}`,te=R!=null&&R.detail?`: ${String(R.detail)}`:"",W=R!=null&&R.requestId?` (id: ${String(R.requestId)})`:"";throw new Error(`${D}${te}${W}`)}throw new Error(`HTTP ${E.status}`)}if(!_.includes("application/json"))throw new Error("Not JSON");const k=await E.json();if(k.status!=="success"||!Array.isArray(k.users))throw new Error(k.message||"ÐÑибка ÑеÑвеÑа");d(k.users)}catch(E){oe.error(`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿Ð¾ÐºÑпаÑелей: ${(E==null?void 0:E.message)||"оÑибка"}`)}finally{h(!1)}};j.useEffect(()=>{C()},[]);const g=async()=>
3020{if(!u)return;if(!u.email||!u.email.includes("@")){oe.error("ÐведиÑе коÑÑекÑнÑй Email");return}if(x&&x.length<8){oe.error("ÐаÑÐ¾Ð»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð½Ðµ коÑоÑе 8 Ñимволов");return}const E=oe.loading(`Ð¡Ð¾Ñ ÑанÑем покÑпаÑÐµÐ»Ñ #${u.id}...`);try{const _=await fetch("/api/update_user.php",{method:"POST",headers:{"Content-Type":"application/json",...Ud()},body:JSON.stringify({id:u.id,email:u.email,name:u.name,phone:u.phone,address:u.address,...x?{password:x}:{},_meta:{site:window.location.origin,logoUrl:r?new URL(r,window.location.origin).toString():""}})}),k=_.headers.get("content-type")||"";if(!_.ok)throw new Error(`HTTP ${_.status}`);if(!k.includes("application/json"))throw new Error("Not JSON");const R=await _.json();if(R.status!=="success")throw new Error(R.message||"ÐÑибка ÑеÑвеÑа");oe.success(x?"Ð¡Ð¾Ñ Ñанено. ÐаÑÐ¾Ð»Ñ Ð¾ÑпÑавлен на поÑÑÑ.":"Ð¡Ð¾Ñ Ñанено",{id:E}),f(null),N(""),await C()}catch(_){oe.error(`ÐÑибка ÑÐ¾Ñ ÑанениÑ: ${(_==null?void 0:_.message)||"оÑибка"}`,{id:E})}},O=async E=>{if(!window.confirm(`УдалиÑÑ Ð¿Ð¾ÐºÑпаÑÐµÐ»Ñ ${E.email||"#"+E.id}? 3021 3022Удаление бÑÐ´ÐµÑ Ð¼Ñгким: аккаÑÐ½Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð¼ÐµÑен как ÑдалÑннÑй, Ð·Ð°ÐºÐ°Ð·Ñ Ð¾ÑÑанÑÑÑÑ.`))return;const _=oe.loading(`УдалÑем покÑпаÑÐµÐ»Ñ #${E.id}...`);try{const k=await fetch("/api/delete_user.php",{method:"POST",headers:{"Content-Type":"application/json",...Ud()},body:JSON.stringify({id:E.id})}),R=k.headers.get("content-type")||"";if(!k.ok)throw new Error(`HTTP ${k.status}`);if(!R.includes("application/json"))throw new Error("Not JSON");const D=await k.json();if(D.status!=="success")throw new Error(D.message||"ÐÑибка ÑеÑвеÑа");oe.success("ÐокÑпаÑÐµÐ»Ñ ÑдалÑн",{id:_}),(u==null?void 0:u.id)===E.id&&f(null),await C()}catch(k){oe.error(`ÐÑибка ÑдалениÑ: ${(k==null?void 0:k.message)||"оÑибка"}`,{id:_})}};return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-10",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex flex-col md:flex-row md:items-center md:justify-between gap-4",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-black uppercase text-black flex items-center gap-2",children:[t.jsx(_p,{className:"w-6 h-6 text-[#ff3b30]"})," ÐокÑпаÑели"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"СпиÑок аккаÑнÑов покÑпаÑелей (ÑедакÑиÑование и мÑгкое Ñдаление)"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("div",{className:"relative",children:[t.jsx(xa,{className:"w-4 h-4 text-gray-400 absolute left-3 top-1/2 -translate-y-1/2"}),t.jsx("input",{value:m,onChange:E=>y(E.target.value),placeholder:"ÐоиÑк: email, имÑ, ÑелеÑон, id...",className:"pl-9 pr-3 py-2 border border-gray-200 rounded-lg text-sm text-black w-72 bg-white"})]}),t.jsxs("button",{onClick:C,className:"px-4 py-2 bg-black text-white rounded-lg text-xs font-bold uppercase hover:bg-[#ff3b30] transition-colors flex items-center gap-2",children:[t.jsx(Ya,{className:`w-4 h-4 ${c?"animate-spin":""}`})," ÐбновиÑÑ"]})]})]}),t.jsxs("div",{className:"grid grid-cols-1 gap-3",children:[b.map(E=>t.jsxs("div",{className:`bg-white border rounded-xl p-4 flex flex-col md:flex-row md:items-center md:justify-between gap-3 shadow-sm ${(u==null?void 0:u.id)===E.id?"border-[#ff3b30] ring-1 ring-[#ff3b30]/30":"border-gray-200"}`,children:[t.jsxs("div",{className:"min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[t.jsx("div",{className:"font-bold text-black",children:E.name||"â"}),t.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:["#",E.id]}),t.jsxs("span",{className:"text-[10px] bg-gray-100 text-gray-700 px-2 py-0.5 rounded-full font-bold uppercase",children:["Ðаказов: ",E.ordersCount]})]}),t.jsx("div",{className:"text-xs text-gray-600 mt-1 break-all",children:E.email||"â"}),t.jsx("div",{className:"text-xs text-gray-500 mt-1",children:E.phone||""}),E.address&&t.jsx("div",{className:"text-xs text-gray-500 mt-1",children:E.address})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>f({...E}),className:"px-3 py-2 text-xs font-bold uppercase rounded-lg bg-gray-100 text-black hover:bg-gray-200 transition-colors",children:"РедакÑиÑоваÑÑ"}),t.jsxs("button",{onClick:()=>O(E),className:"px-3 py-2 text-xs font-bold uppercase rounded-lg bg-red-50 text-red-600 hover:bg-red-100 transition-colors flex items-center gap-2",children:[t.jsx(jt,{className:"w-4 h-4"})," УдалиÑÑ"]})]})]},E.id)),b.length===0&&t.jsx("div",{className:"bg-white border border-gray-200 rounded-xl p-6 text-sm text-gray-500",children:"ÐокÑпаÑели не найденÑ"})]}),u&&t.jsx("div",{className:"fixed inset-0 z-[200] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",onClick:()=>{f(null),N("")},children:t.jsxs("div",{className:"bg-white w-full max-w-2xl rounded-2xl shadow-2xl overflow-hidden",onClick:E=>E.stopPropagation(),children:[t.jsxs("div",{className:"p-5 border-b border-gray-100 flex items-center justify-between bg-gray-50",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:["ÐокÑпаÑÐµÐ»Ñ #",u.id]}),t.jsx("div",{className:"text-lg font-black uppercase text-black",children:"РедакÑиÑование"})]}),t.jsx("button",{onClick:()=>{f(null),N("")},className:"p-2 hover:bg-gray-200 rounded-full transition-colors text-black",children:t.jsx(xt,{className:"w-5 h-5"})})]}),t.jsxs("div",{className:"p-6 space-y-4",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐÐ¼Ñ (ФÐÐ)"}),t.jsx("input",{value:u.name,onChange:E=>f({...u,name:E.target.value}),className:"w-full p-3 border border-gray-200 rounded-lg text-sm text-black bg-white",placeholder:"Ðванов Ðван ÐвановиÑ"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"Email"}),t.jsx("input",{value:u.email,onChange:E=>f({...u,email:E.target.value}),className:"w-full p-3 border border-gray-200 rounded-lg text-sm text-black bg-white",placeholder:"[email protected]"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ТелеÑон"}),t.jsx("input",{value:u.phone,onChange:E=>f({...u,phone:E.target.value}),className:"w-full p-3 border border-gray-200 rounded-lg text-sm text-black bg-white",placeholder:"+7 (999) 000-00-00"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1",children:"ÐдÑеÑ"}),t.jsx("input",{value:u.address,onChange:E=>f({...u,address:E.target.value}),className:"w-full p-3 border border-gray-200 rounded-lg text-sm text-black bg-white",placeholder:"ÐоÑод, ÑлиÑа, дом..."})]})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-4",children:[t.jsxs("div",{className:"flex items-center justify-between gap-3 mb-2",children:[t.jsxs("div",{className:"text-xs font-bold uppercase text-gray-500 flex items-center gap-2",children:[t.jsx(Kv,{className:"w-4 h-4"})," ÐовÑй паÑÐ¾Ð»Ñ (опÑионалÑно)"]}),t.jsxs("button",{type:"button",onClick:()=>N(Sj(12)),className:"text-xs font-bold uppercase text-blue-600 hover:underline flex items-center gap-2",children:[t.jsx(Ow,{className:"w-4 h-4"})," СгенеÑиÑоваÑÑ"]})]}),t.jsx("input",{value:x,onChange:E=>N(E.target.value),className:"w-full p-3 border border-gray-200 rounded-lg text-sm text-black bg-white",placeholder:"ÐÑли заполниÑÑ â паÑÐ¾Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑÑ Ð¸ пÑидÑÑ Ð¿Ð¸ÑÑмо покÑпаÑелÑ"}),t.jsx("div",{className:"text-[11px] text-gray-500 mt-2",children:"ÐÑли Ð²Ñ Ð¼ÐµÐ½ÑеÑе паÑÐ¾Ð»Ñ â покÑпаÑÐµÐ»Ñ Ð¿ÑидÑÑ Ð¿Ð¸ÑÑмо Ñ Ð½Ð¾Ð²Ñм паÑолем и ÑÑÑлкой на Ð²Ñ Ð¾Ð´."})]}),t.jsx("div",{className:"bg-gray-50 border border-gray-100 rounded-xl p-4 text-xs text-gray-600",children:"Ðаказ
3022Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ðµ ÑдалÑÑÑÑÑ. âУдалиÑÑâ = помеÑиÑÑ Ð°ÐºÐºÐ°ÑÐ½Ñ ÐºÐ°Ðº ÑдалÑннÑй и оÑклÑÑиÑÑ Ð²Ñ
од."})]}),t.jsxs("div",{className:"p-4 border-t border-gray-100 bg-gray-50 flex justify-end gap-2",children:[t.jsx("button",{onClick:()=>f(null),className:"px-5 py-2 text-xs font-bold uppercase rounded-lg border border-gray-200 hover:bg-gray-100 transition-colors text-black",children:"ÐÑмена"}),t.jsxs("button",{onClick:g,className:"px-5 py-2 text-xs font-bold uppercase rounded-lg bg-black text-white hover:bg-[#ff3b30] transition-colors flex items-center gap-2",children:[t.jsx(Tn,{className:"w-4 h-4"})," СоÑ
ÑаниÑÑ"]})]})]})})]})},Hd=({children:r})=>t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:r}),Ej=({settings:r,onUpdateSettings:o,products:d})=>{const[c,h]=j.useState(""),m=()=>{const N={id:`sw-${Date.now()}`,name:"ÐовÑй дÑайвеÑ",version:"v1.0",size:"10 MB",description:"ÐпиÑание пÑогÑаммного обеÑпеÑениÑ",link:"#",category:"keyboard",date:new Date().toISOString().slice(0,10),image:""};o({...r,items:[N,...r.items]}),oe.success("ÐÑÐ°Ð¹Ð²ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½")},y=N=>{window.confirm("УдалиÑÑ ÑÑÐ¾Ñ Ñайл?")&&(o({...r,items:r.items.filter(b=>b.id!==N)}),oe.success("Файл Ñдален"))},u=(N,b)=>{o({...r,items:r.items.map(C=>C.id===N?{...C,...b}:C)})},f=async(N,b)=>{var E;const C=(E=N.target.files)==null?void 0:E[0];if(!C)return;const g=(C.size/(1024*1024)).toFixed(1)+" MB",O=oe.loading("ÐагÑÑзка дÑайвеÑа...");try{try{const _=await Wl.uploadFile(C);u(b,{link:_,size:g}),oe.success("Файл загÑÑжен на ÑеÑвеÑ",{id:O})}catch(_){if(console.warn("Server upload failed for driver",_),C.size>5*1024*1024){oe.error("Файл ÑлиÑком болÑÑой Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ñного ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ (>5MB). ÐаÑÑÑойÑе PHP.",{id:O}),u(b,{size:g});return}const k=new FileReader;k.onload=R=>{var D;(D=R.target)!=null&&D.result&&(u(b,{link:R.target.result,size:g}),oe.success("Файл ÑоÑ
Ñанен локалÑно (Base64)",{id:O}))},k.readAsDataURL(C)}}catch{oe.error("ÐÑибка загÑÑзки",{id:O})}},x=r.items.filter(N=>N.name.toLowerCase().includes(c.toLowerCase())||N.id.toLowerCase().includes(c.toLowerCase()));return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-20",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex flex-col md:flex-row justify-between items-center gap-4",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-black uppercase flex items-center gap-2 text-black",children:[t.jsx(Rp,{className:"w-6 h-6 text-[#ff3b30]"})," ÐоддеÑжка (ÐÑайвеÑÑ)"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"УпÑавление Ñайлами и инÑÑÑÑкÑиÑми"})]}),t.jsxs("button",{onClick:m,className:"flex items-center gap-2 bg-black text-white px-4 py-2 rounded-lg text-xs font-bold uppercase hover:bg-gray-800 transition-colors",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ Ð´ÑайвеÑ"]})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsx("h3",{className:"font-bold text-sm uppercase mb-4 text-black",children:"ÐаÑÑÑойки ÑÑÑаниÑÑ"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx(Hd,{children:"Ðаголовок"}),t.jsx("input",{value:r.title,onChange:N=>o({...r,title:N.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Hd,{children:"ÐпиÑание"}),t.jsx("textarea",{value:r.description,onChange:N=>o({...r,description:N.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 h-20 bg-white text-black resize-none"})]})]})]}),t.jsxs("div",{className:"relative",children:[t.jsx("input",{type:"text",placeholder:"ÐоиÑк Ñайла...",value:c,onChange:N=>h(N.target.value),className:"w-full pl-10 pr-4 py-3 bg-white border border-gray-200 rounded-xl text-sm text-black focus:ring-1 focus:ring-black outline-none shadow-sm"}
3022),t.jsx(xa,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"})]}),t.jsx("div",{className:"space-y-4",children:x.map(N=>t.jsxs("div",{className:"bg-white p-4 rounded-xl border border-gray-200 shadow-sm relative group",children:[t.jsxs("div",{className:"flex flex-col md:flex-row gap-4 items-start md:items-center mb-4",children:[t.jsxs("div",{className:"flex-1 space-y-2 w-full",children:[t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:N.name,onChange:b=>u(N.id,{name:b.target.value}),className:"flex-1 font-bold text-sm border border-gray-300 rounded p-2 bg-white text-black",placeholder:"Ðазвание"}),t.jsxs("select",{value:N.category,onChange:b=>u(N.id,{category:b.target.value}),className:"w-32 text-xs border border-gray-300 rounded p-2 bg-white text-black",children:[t.jsx("option",{value:"keyboard",children:"ÐлавиаÑÑÑÑ"}),t.jsx("option",{value:"mouse",children:"ÐÑÑи"}),t.jsx("option",{value:"headset",children:"ÐаÑниÑÑÑÑ"}),t.jsx("option",{value:"mini",children:"Ðини-клавÑ"}),t.jsx("option",{value:"other",children:"ÐÑÑгое"})]})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{value:N.version,onChange:b=>u(N.id,{version:b.target.value}),className:"w-1/3 text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"ÐеÑÑÐ¸Ñ (v1.0)"}),t.jsx("input",{value:N.size,onChange:b=>u(N.id,{size:b.target.value}),className:"w-1/3 text-xs border border-gray-300 rounded p-2 bg-white text-black",placeholder:"Ð Ð°Ð·Ð¼ÐµÑ (10 MB)"}),t.jsx("input",{value:N.date,onChange:b=>u(N.id,{date:b.target.value}),className:"w-1/3 text-xs border border-gray-300 rounded p-2 bg-white text-gray-500",type:"date"})]})]}),t.jsx("div",{className:"flex gap-2 items-center w-full md:w-auto",children:t.jsxs("div",{className:"flex-1 md:w-64 relative",children:[t.jsx("input",{value:N.link,onChange:b=>u(N.id,{link:b.target.value}),className:"w-full pl-8 pr-8 py-2 border border-gray-300 rounded text-xs text-blue-600 bg-white",placeholder:"СÑÑлка на Ñайл"}),t.jsx(ks,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400"}),t.jsx("div",{className:"absolute right-1 top-1/2 -translate-y-1/2",children:t.jsxs("label",{className:"p-1.5 bg-gray-100 hover:bg-gray-200 rounded cursor-pointer block",title:"ÐагÑÑзиÑÑ Ñайл",children:[t.jsx(Ka,{className:"w-3 h-3 text-gray-600"}),t.jsx("input",{type:"file",className:"hidden",onChange:b=>f(b,N.id)})]})})]})})]}),t.jsxs("div",{className:"flex gap-4 items-center",children:[t.jsx("textarea",{value:N.description,onChange:b=>u(N.id,{description:b.target.value}),className:"flex-1 text-xs border border-gray-300 rounded p-2 h-16 resize-none bg-white text-black",placeholder:"ÐпиÑание..."}),t.jsxs("div",{className:"w-64",children:[t.jsx(Hd,{children:"ÐÑивÑзка к ÑоваÑÑ"}),t.jsxs("select",{value:N.productId||"",onChange:b=>u(N.id,{productId:b.target.value}),className:"w-full text-xs border border-gray-300 rounded p-2 bg-white text-black",children:[t.jsx("option",{value:"",children:"-- Ðе пÑивÑзан --"}),d.map(b=>t.jsx("option",{value:b.id,children:b.name},b.id))]})]})]}),t.jsx("button",{onClick:()=>y(N.id),className:"absolute top-2 right-2 text-gray-300 hover:text-red-500 p-2 rounded-full hover:bg-red-50 transition-colors",children:t.jsx(jt,{className:"w-4 h-4"})})]},N.id))})]})},dr=({children:r})=>t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:r}),Cj=({pages:r,onUpdatePages:o,navigate:d})=>{var te,W,$,H,J,Y,G;const[c,h]=j.useState(null),[m,y]=j.useState(!1),[u,f]=j.useState("editor"),x=r.find(U=>U.id===c),N=()=>{const U={id:`pg-${Date.now()}`,title:"ÐÐ¾Ð²Ð°Ñ ÑÑÑаниÑа",slug:`page-${Date.now()}`,content:"",date:new Date().toISOString(),seo:{indexing:!0,title:"",description:"",keywords:""},faq:[]};o([...r,U]),h(U.id),f("editor"),oe.success("СÑÑаниÑа Ñоздана")},b=U=>{confirm("УдалиÑÑ ÑÑÑаниÑÑ? ÐÑо дейÑÑвие нелÑÐ·Ñ Ð¾ÑмениÑÑ.")&&(o(r.filter(q=>q.id!==U)),c===U&&h(null),oe.success("СÑÑаниÑа Ñдалена"))},C=(U,q)=>{o(r.map(P=>P.id===U?{...P,...q}:P))},g=async(U,q)=>{var B;const P=(B=U.target.files)==null?void 0:B[0];if(!P)return;const pe=oe.loading("ÐагÑÑзка...");try{const z=await bo(P);try{const v=await Wl.uploadFile(z);q(v),oe.success("ÐагÑÑжено на ÑеÑвеÑ",{id:pe})}catch(v){console.warn("Server failed, using local",v);const T=await jr(P);q(T),oe.success("ÐагÑÑжено локалÑно",{id:pe})}}catch{oe.error("ÐÑибка загÑÑзки",{id:pe})}},O=(U,q)=>{const P=document.getElementById("content-editor");if(!P||!x)return;const pe=P.selectionStart,B=P.selectionEnd,z=x.content||"",v=z.substring(0,pe),T=z.substring(B),A=z.substring(pe,B),K=q?`${U}${A}${q}`:U,w=v+K+T;
3022C(x.id,{content:w}),setTimeout(()=>{P.focus(),P.setSelectionRange(pe+U.length,B+U.length)},0)},E=()=>{if(x!=null&&x.content&&x.content.length>20&&!confirm("ÐамениÑÑ ÑекÑÑий конÑÐµÐ½Ñ Ñаблоном?"))return;x&&C(x.id,{content:` 3023<h2>Ðаголовок ÑекÑии</h2> 3024<p class="text-lg">ÐÑÑÑпиÑелÑнÑй ÑекÑÑ, коÑоÑÑй пÑÐ¸Ð²Ð»ÐµÐºÐ°ÐµÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ ÑиÑаÑелÑ.</p> 3025 3026<hr class="my-8 border-gray-200" /> 3027 3028<h3>ÐаÑи пÑеимÑÑеÑÑва</h3> 3029<ul> 3030 <li><strong>ÐаÑеÑÑво:</strong> ÐÑ Ð¸ÑполÑзÑем ÑолÑко лÑÑÑие маÑеÑиалÑ.</li> 3031 <li><strong>СкоÑоÑÑÑ:</strong> ÐÑÑÑÑÐ°Ñ Ð´Ð¾ÑÑавка по вÑей ÑÑÑане.</li> 3032 <li><strong>ÐаÑанÑиÑ:</strong> 1 год на вÑÑ Ð¿ÑодÑкÑиÑ.</li> 3033</ul> 3034 3035<h3>ÐодÑобноÑÑи</h3> 3036<p>ÐдеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑазмеÑÑиÑÑ Ð¾Ñновной ÑекÑÑ ÑÑÑаниÑÑ. ÐÑполÑзÑйÑе абзаÑÑ Ð´Ð»Ñ ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼ÑÑлей.</p> 3037 3038<blockquote> 3039 "ЦиÑаÑа или Ð²Ð°Ð¶Ð½Ð°Ñ Ð¼ÑÑлÑ, коÑоÑÑÑ Ð½Ñжно вÑделиÑÑ." 3040</blockquote> 3041`.trim()}),oe.success("Шаблон загÑÑжен")},_=()=>{if(!x)return;const U=document.createElement("div");U.innerHTML=x.content||"";const q=U.textContent||"",P=q.slice(0,150).trim()+(q.length>150?"...":"");
3041C(x.id,{seo:{...x.seo,title:x.title,description:P,keywords:x.title.split(" ").join(", ")}}),oe.success("SEO даннÑе ÑгенеÑиÑованÑ")},k=()=>{if(!x)return;const U=[...x.faq||[],{question:"ÐовÑй вопÑоÑ",answer:"ÐÑÐ²ÐµÑ Ð½Ð° вопÑоÑ"}];C(x.id,{faq:U})},R=(U,q)=>{if(!x||!x.faq)return;const P=[...x.faq];P[U]={...P[U],...q},C(x.id,{faq:P})},D=U=>{if(!x||!x.faq||!confirm("УдалиÑÑ ÑÑÐ¾Ñ Ð²Ð¾Ð¿ÑоÑ?"))return;const q=x.faq.filter((P,pe)=>pe!==U);C(x.id,{faq:q})};return t.jsxs("div",{className:"h-full flex flex-col bg-gray-100",children:[!x&&t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex justify-between items-center",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-black uppercase text-black flex items-center gap-2",children:[t.jsx(mr,{className:"w-6 h-6 text-[#ff3b30]"})," СÑÑаниÑÑ (",r.length,")"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"Создание и ÑедакÑиÑование конÑенÑа"})]}),t.jsxs("button",{onClick:N,className:"bg-black text-white px-4 py-2 rounded-lg text-xs font-bold uppercase hover:bg-[#ff3b30] transition-colors flex items-center gap-2 shadow-lg",children:[t.jsx(At,{className:"w-3 h-3"})," ÐÐ¾Ð²Ð°Ñ ÑÑÑаниÑа"]})]}),t.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[r.map(U=>{var q;return t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-4 flex items-center justify-between hover:shadow-md transition-shadow group",children:[t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"w-12 h-12 bg-gray-50 rounded-lg flex items-center justify-center text-gray-400 border border-gray-100 group-hover:border-gray-300 transition-colors",children:t.jsx(mr,{className:"w-6 h-6"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-bold text-sm text-black uppercase",children:U.title||"Ðез названиÑ"}),t.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[t.jsxs("span",{className:"text-[10px] bg-gray-100 px-2 py-0.5 rounded text-gray-500 font-mono border border-gray-200",children:["/",U.slug]}),t.jsx("button",{onClick:()=>window.open(`/page/${U.slug}`,"_blank"),className:"text-gray-400 hover:text-blue-600 transition-colors",title:"ÐÑкÑÑÑÑ Ð½Ð° ÑайÑе",children:t.jsx(Qd,{className:"w-3 h-3"})}),((q=U.seo)==null?void 0:q.title)&&t.jsx("span",{className:"text-[9px] text-green-600 bg-green-50 px-1.5 rounded border border-green-100 font-bold",children:"SEO OK"}),U.faq&&U.faq.length>0&&t.jsxs("span",{className:"text-[9px] text-purple-600 bg-purple-50 px-1.5 rounded border border-purple-100 font-bold",children:["FAQ: ",U.faq.length]})]})]})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("button",{onClick:()=>C(U.id,{isVisible:U.isVisible===!1?!0:!1}),className:`p-2 rounded-lg border transition-colors ${U.isVisible!==!1?"bg-green-50 text-green-600 border-green-100 hover:bg-green-100":"bg-gray-50 text-gray-400 border-gray-200 hover:bg-gray-100"}`,title:U.isVisible!==!1?"ÐпÑбликовано (нажмиÑе ÑÑÐ¾Ð±Ñ ÑкÑÑÑÑ)":"СкÑÑÑо (нажмиÑе ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑбликоваÑÑ)",children:t.jsx(mr,{className:"w-4 h-4"})}),t.jsx("button",{onClick:()=>h(U.id),className:"px-4 py-2 bg-white border border-gray-300 text-black text-xs font-bold uppercase rounded hover:bg-black hover:text-white transition-colors",children:"РедакÑоÑ"}),t.jsx("button",{onClick:()=>b(U.id),className:"p-2 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded transition-colors",children:t.jsx(jt,{className:"w-4 h-4"})})]})]},U.id)}),r.length===0&&t.jsxs("div",{className:"text-center py-12 text-gray-400 border-2 border-dashed border-gray-200 rounded-xl bg-gray-50",children:[t.jsx(mr,{className:"w-12 h-12 mx-auto mb-2 opacity-20"}),t.jsx("p",{children:"СпиÑок ÑÑÑÐ°Ð½Ð¸Ñ Ð¿ÑÑÑ. СоздайÑе пеÑвÑÑ!"})]})]})]}),x&&t.jsxs("div",{className:"flex flex-col h-full bg-white border border-gray-200 rounded-xl overflow-hidden shadow-2xl animate-fade-in flex-1",children:[t.jsxs("div",{className:"h-16 border-b border-gray-200 bg-white flex items-center justify-between px-4 flex-shrink-0 z-20",children:[t.jsxs("div",{className:"flex items-center gap-4 w-1/3",children:[t.jsx("button",{onClick:()=>h(null),className:"p-2 hover:bg-gray-100 rounded-full text-gray-500 hover:text-black transition-colors",children:t.jsx(Ca,{className:"w-5 h-5"})}),t.jsxs("div",{className:"flex-1",children:[t.jsx("input",{value:x.title,onChange:U=>C(x.id,{title:U.target.value}),className:"bg-transparent border-none p-0 text-sm font-black uppercase text-black focus:ring-0 placeholder-gray-300 w-full",placeholder:"ÐÐÐÐÐÐÐÐРСТРÐÐÐЦЫ"}),t.jsxs("div",{className:"flex items-center gap-1 text-[10px] text-gray-400",children:[t.jsx("span",{children:"URL:"}),t.jsx("span",{className:"text-gray-300",children:"vorotex.com/page/"}),t.jsx("input",{value:x.slug,onChange:U=>C(x.id,{slug:U.target.value}),className:"bg-transparent border-none p-0 text-[10px] font-mono text-blue-600 focus:ring-0 w-32 h-4"})]})]})]}),t.jsxs("div",{className:"flex items-center justify-center gap-2 bg-gray-100 p-1 rounded-lg",children:[t.jsx("button",{onClick:()=>y(!1),className:`p-1.5 rounded transition-all ${m?"text-gray-400 hover:text-black":"bg-white text-black shadow-sm"}`,title:"Desktop",children:t.jsx(Nn,{className:"w-4 h-4"})}),t.jsx("button",{onClick:()=>y(!0),className:`p-1.5 rounded transition-all ${m?"bg-white text-black shadow-sm":"text-gray-400 hover:text-black"}`,title:"Mobile",children:t.jsx(Tp,{className:"w-4 h-4"})})]}),t.jsx("div",{className:"flex justify-end w-1/3 gap-2",children:t.jsxs("button",{onClick:()=>h(null),className:"px-6 py-2 bg-green-600 text-white rounded text-xs font-bold uppercase hover:bg-green-700 flex items-center gap-2 shadow-md transition-transform active:scale-95",children:[t.jsx(Tn,{className:"w-4 h-4"})," СоÑ
ÑаниÑÑ"]})})]}),t.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[t.jsxs("div",{className:"flex-1 flex flex-col min-w-0 border-r border-gray-200 bg-white max-w-[50%]",children:[t.jsxs("div",{className:"flex border-b border-gray-200",children:[t.jsxs("button",{onClick:()=>f("editor"),className:`flex-1 py-3 text-xs font-bold uppercase flex items-center justify-center gap-2 transition-colors ${u==="editor"?"text-[#ff3b30] border-b-2 border-[#ff3b30] bg-red-50/50":"text-gray-500 hover:bg-gray-50 hover:text-black"}`,children:[t.jsx(Ns,{className:"w-3 h-3"})," ÐонÑÐµÐ½Ñ (HTML)"]}),t.jsxs("button",{onClick:()=>f("faq"),className:`flex-1 py-3 text-xs font-bold uppercase flex items-center justify-center gap-2 transition-colors ${u==="faq"?"text-[#ff3b30] border-b-2 border-[#ff3b30] bg-red-50/50":"text-gray-500 hover:bg-gray-50 hover:text-black"}`,children:[t.jsx(zd,{className:"w-3 h-3"})," FAQ (ÐопÑоÑÑ)"]}),t.jsxs("button",{onClick:()=>f("seo"),className:`flex-1 py-3 text-xs font-bold uppercase flex items-center justify-center gap-2 transition-colors ${u==="seo"?"text-[#ff3b30] border-b-2 border-[#ff3b30] bg-red-50/50":"text-gray-500 hover:bg-gray-50 hover:text-black"}`,children:[t.jsx(vs,{className:"w-3 h-3"})," SEO"]})]}),u==="editor"&&t.jsxs("div",{className:"flex-1 flex flex-col relative bg-gray-50",children:[t.jsxs("div",{className:"flex items-center gap-1 p-2 bg-white border-b border-gray-200 overflow-x-auto custom-scrollbar flex-shrink-0",children:[t.jsx("button",{onClick:()=>O("<h2>","</h2>"),className:"p-1.5 hover:bg-gray-100 rounded text-gray-700 font-bold text-xs border border-gray-200",title:"H2",children:"H2"}),t.jsx("button",{onClick:()=>O("<h3>","</h3>
3041"),className:"p-1.5 hover:bg-gray-100 rounded text-gray-700 font-bold text-xs border border-gray-200",title:"H3",children:"H3"}),t.jsx("div",{className:"w-px bg-gray-300 h-4 mx-1"}),t.jsx("button",{onClick:()=>O("<strong>","</strong>"),className:"p-1.5 hover:bg-gray-100 rounded text-gray-700 border border-gray-200",title:"ÐиÑнÑй",children:t.jsx(X1,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>O("<p>","</p>"),className:"p-1.5 hover:bg-gray-100 rounded text-gray-700 border border-gray-200",title:"ÐаÑагÑаÑ",children:t.jsx(_x,{className:"w-3 h-3"})}),t.jsx("button",{onClick:()=>O(`<ul> 3042 <li>Item</li> 3043</ul>`),className:"p-1.5 hover:bg-gray-100 rounded text-gray-700 border border-gray-200",title:"СпиÑок",children:t.jsx(Wd,{className:"w-3 h-3"})}),t.jsx("div",{className:"w-px bg-gray-300 h-4 mx-1"}),t.jsx("button",{onClick:()=>O('<a href="#" class="text-[#ff3b30] hover:underline">',"</a>"),className:"p-1.5 hover:bg-gray-100 rounded text-gray-700 border border-gray-200",title:"СÑÑлка",children:t.jsx(ks,{className:"w-3 h-3"})}),t.jsx("div",{className:"flex-1"}),t.jsxs("button",{onClick:E,className:"text-[10px] uppercase font-bold text-[#ff3b30] hover:bg-red-50 px-2 py-1 rounded flex items-center gap-1 border border-red-100",children:[t.jsx(Op,{className:"w-3 h-3"})," Шаблон"]})]}),t.jsx("div",{className:"flex-1 relative",children:t.jsx("textarea",{id:"content-editor",value:x.content||"",onChange:U=>C(x.id,{content:U.target.value}),className:"absolute inset-0 w-full h-full p-6 font-mono text-sm leading-relaxed outline-none resize-none bg-gray-50 text-gray-900 border-none focus:ring-0 custom-scrollbar",placeholder:"<!-- ÐведиÑе HTML код здеÑÑ -->",spellCheck:!1})}),t.jsxs("div",{className:"h-6 bg-white border-t border-gray-200 text-gray-400 text-[10px] flex items-center px-4 font-mono flex-shrink-0 justify-between",children:[t.jsx("span",{children:"HTML EDITOR MODE"}),t.jsxs("span",{children:[(x.content||"").length," chars"]})]})]}),u==="faq"&&t.jsx("div",{className:"flex-1 overflow-y-auto p-6 bg-gray-50 space-y-6",children:t.jsxs("div",{className:"bg-white p-5 rounded-xl border border-gray-200 shadow-sm",children:[t.jsxs("div",{className:"flex items-center justify-between border-b border-gray-100 pb-4 mb-4",children:[t.jsxs("div",{children:[t.jsxs("h3",{className:"font-bold text-sm uppercase text-black flex items-center gap-2",children:[t.jsx(zd,{className:"w-4 h-4 text-purple-600"})," FAQ (ÐопÑоÑ-ÐÑвеÑ)"]}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"ÐобавÑÑе ÑаÑÑо задаваемÑе вопÑоÑÑ. Ðни оÑобÑазÑÑÑÑ Ð²Ð½Ð¸Ð·Ñ ÑÑÑаниÑÑ Ð² виде аккоÑдеона."})]}),t.jsxs("button",{onClick:k,className:"text-xs font-bold uppercase text-white bg-black px-4 py-2 rounded hover:bg-[#ff3b30] transition-colors flex items-center gap-2",children:[t.jsx(At,{className:"w-3 h-3"})," ÐобавиÑÑ"]})]}),!x.faq||x.faq.length===0?t.jsxs("div",{className:"text-center py-8 text-gray-400 border-2 border-dashed border-gray-100 rounded-lg",children:[t.jsx(zd,{className:"w-8 h-8 mx-auto mb-2 opacity-20"}),t.jsx("p",{className:"text-xs",children:"СпиÑок вопÑоÑов пÑÑÑ"})]}):t.jsx("div",{className:"space-y-4",children:x.faq.map((U,q)=>t.jsxs("div",{className:"border border-gray-200 rounded-lg p-4 bg-gray-50 group hover:border-gray-300 transition-colors relative",children:[t.jsx("button",{onClick:()=>D(q),className:"absolute top-2 right-2 p-1.5 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded-lg transition-colors opacity-0 group-hover:opacity-100",children:t.jsx(jt,{className:"w-4 h-4"})}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx(dr,{children:"ÐопÑоÑ"}),t.jsx("input",{value:U.question,onChange:P=>R(q,{question:P.target.value}),className:"w-full text-sm font-bold border border-gray-300 rounded p-2 bg-white text-black",placeholder:"ÐапÑимеÑ: Ðак оÑоÑмиÑÑ Ð²Ð¾Ð·Ð²ÑаÑ?"})]}),t.jsxs("div",{children:[t.jsx(dr,{children:"ÐÑвеÑ"}),t.jsx("textarea",{value:U.answer,onChange:P=>R(q,{answer:P.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2 h-20 resize-y bg-white text-black",placeholder:"ÐодÑобнÑй оÑвеÑ..."})]})]})]},q))})]})}),u==="seo"&&t.jsxs("div",{className:"flex-1 overflow-y-auto p-6 bg-gray-50 space-y-6",children:[t.jsxs("div",{className:"bg-white p-5 rounded-xl border border-gray-200 shadow-sm space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between border-b border-gray-100 pb-3",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase text-black flex items-center gap-2",children:[t.jsx(vs,{className:"w-4 h-4 text-blue-600"})," SEO ÐеÑа-Ñеги"]}),t.jsxs("button",{onClick:_,className:"text-[10px] font-bold uppercase text-blue-600 bg-blue-50 px-2 py-1 rounded hover:bg-blue-100 flex items-center gap-1",children:[t.jsx(fu,{className:"w-3 h-3"})," ÐвÑо-заполнение"]})]}),t.jsxs("div",{children:[t.jsx(dr,{children:"Meta Title (Ðаголовок в поиÑке)"}),t.jsx("input",{value:((te=x.seo)==null?void 0:te.title)||"",onChange:U=>C(x.id,{seo:{...x.seo,title:U.target.value}}),className:"w-full text-sm border border-gray-300 rounded-lg p-2.5 bg-white text-black focus:ring-1 focus:ring-black",placeholder:"Ðаголовок ÑÑÑаниÑÑ | Ðазвание ÑайÑа"})]}),t.jsxs("div",{children:[t.jsx(dr,{children:"Meta Description (ÐпиÑание)"}),t.jsx("textarea",{value:((W=x.seo)==null?void 0:W.description)||"",onChange:U=>C(x.id,{seo:{...x.seo,description:U.target.value}}),className:"w-full text-sm border border-gray-300 rounded-lg p-2.5 bg-white text-black h-24 resize-none focus:ring-1 focus:ring-black leading-relaxed",placeholder:"ÐÑаÑкое опиÑание ÑÑÑаниÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñковой вÑдаÑи (до 160 Ñимволов)..."})]}),t.jsxs("div",{children:[t.jsx(dr,{children:"Keywords (ÐлÑÑевÑе Ñлова)"}),t.jsx("input",{value:(($=x.seo)==null?void 0:$.keywords)||"",onChange:U=>C(x.id,{seo:{...x.seo,keywords:U.target.value}}),className:"w-full text-sm border border-gray-300 rounded-lg p-2.5 bg-white text-black focus:ring-1 focus:ring-black",placeholder:"Ñлово1, Ñлово2, ÑÑаза"})]})]}),t.jsxs("div",{className:"bg-white p-5 rounded-xl border border-gray-200 shadow-sm space-y-4",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase text-black border-b border-gray-100 pb-3 flex items-center gap-2",children:[t.jsx(fr,{className:"w-4 h-4 text-purple-600"})," СоÑиалÑнÑе ÑеÑи (OG Image)"]}),t.jsxs("div",{className:"flex gap-4 items-start",children:[t.jsxs("div",{className:"w-24 h-16 bg-gray-100 border border-gray-300 rounded-lg flex items-center justify-center overflow-hidden relative group cursor-pointer shrink-0",children:[(H=x.seo)!=null&&H.ogImage?t.jsx("img",{src:x.seo.ogImage,className:"w-full h-full object-cover"}):t.jsx(fr,{className:"w-6 h-6 text-gray-300"}),t.jsx("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 flex items-center justify-center transition-opacity",children:t.jsx(Ka,{className:"w-4 h-4 text-white"})}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:U=>g(U,q=>C(x.id,{seo:{...x.seo,ogImage:q}}))})]}),t.jsxs("div",{className:"flex-1",children:[t.jsx(dr,{children:"СÑÑлка на изобÑажение"}),t.jsx("input",{value:((J=x.seo)==null?void 0:J.ogImage)||"",onChange:U=>C(x.id,{seo:{...x.seo,ogImage:U.target.value}}),className:"w-full text-xs border border-gray-300 rounded-lg p-2 bg-white text-black focus:ring-1 focus:ring-black mb-2",placeholder:"https://..."}),t.jsx("p",{className:"text-[10px] text-gray-400",children:"РекомендÑемÑй ÑазмеÑ: 1200x630 пикÑелей."})]})]})]}),t.jsxs("div",{className:"bg-white p-4 rounded-xl border border-gray-200 shadow-sm flex items-center justify-between",children:[t.jsx("span",{className:"text-sm font-bold text-gray-700",children:"ÐндекÑаÑÐ¸Ñ Ð¿Ð¾Ð¸Ñковиками (Robots)"}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:((Y=x.seo)==null?void 0:Y.indexing)!==!1,onChange:U=>C(x.id,{seo:{...x.seo,indexing:U.target.checked}}),className:"sr-only peer"}),t.jsx("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-green-600"})]})]})]})]}),t.jsx("div",{className:`flex-1 bg-gray-200 overflow-y-auto relative ${m?"flex justify-center p-8":"block"}`,children:t.jsxs("div",{className:`bg-white shadow-2xl transition-all duration-300 overflow-hidden flex flex-col ${m?"w-[375px] h-[667px] rounded-[30px] border-[8px] border-gray-800 my-auto":"min-h-full w-full"}`,children:[!m&&t.jsxs("div",{className:"h-9 bg-gray-50 border-b border-gray-200 flex items-center px-4 gap-2 shrink-0",children:[t.jsxs("div",{className:"flex gap-1.5",children:[t.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-red-400"}),t.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-yellow-400"}),t.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-green-400"})]}),t.jsxs("div",{className:"flex-1 bg-white border border-gray-200 h-6 rounded text-[10px] text-gray-500 flex items-center px-3 font-mono mx-4",children:["https://vorotex.com/page/",x.slug]})]}),t.jsxs("div",{className:`flex-1 overflow-visible custom-scrollbar bg-white ${m?"p-4":"p-10 max-w-4xl mx-auto w-full"}`,children:[t.jsx("h1",{className:"text-3xl md:text-5xl font-black uppercase mb-8 text-black tracking-tighter leading-none",children:x.title||"Ðаголовок"}),x.content?t.jsx("div",{className:"prose prose-sm md:prose-lg max-w-none text-gray-800 prose-headings:font-bold prose-headings:uppercase prose-headings:text-black prose-p:text-gray-800 prose-li:text-gray-800 prose-strong:text-black prose-a:text-[#ff3b30] prose-a:no-underline hover:prose-a:underline prose-img:rounded-xl prose-blockquote:text-gray-700 prose-blockquote:border-l-4 prose-blockquote:border-black",dangerouslySetInnerHTML:{__html:x.content}}):t.jsxs("div",{className:"text-gray-300 italic text-center py-20 border-2 border-dashed border-gray-100 rounded-xl",children:[t.jsx(_x,{className:"w-12 h-12 mx-auto mb-2 opacity-20"}),t.jsx("p",{children:"ÐÑÑÑÐ°Ñ ÑÑÑаниÑа. ÐобавÑÑе конÑÐµÐ½Ñ Ñлева или загÑÑзиÑе Ñаблон."})]}),x.faq&&x.faq.length>0&&t.jsxs("div",{className:"mt-12 space-y-4",children:[t.jsx("h2",{className:"text-2xl font-black text-black uppercase mb-6 border-l-4 border-[#ff3b30] pl-4",children:"ЧаÑÑÑе вопÑоÑÑ"}),x.faq.map((U,q)=>t.jsxs("div",{className:"border border-gray-200 rounded-xl overflow-hidden bg-white",children:[t.jsx("div",{className:"w-full flex items-center justify-between p-4 bg-gray-50 border-b border-gray-100",children:t.jsxs("h3",{className:"font-bold text-black flex items-center gap-3",children:[t.jsx("span",{className:"text-[#ff3b30]",children:"Q."})," ",U.question]})}),t.jsx("div",{className:"p-4 text-gray-600 leading-relaxed text-sm",children:U.answer})]},q))]}),((G=x.contactForm)==null?void 0:G.enabled)&&t.jsxs("div",{className:"mt-12 p-6 bg-gray-50 border border-gray-200 rounded-xl opacity-80 grayscale",children:[t.jsx("h3",{className:"text-xl font-black uppercase mb-4 text-black",children:x.contactForm.title||"ÐапиÑиÑе нам"}),t.jsxs("div",{className:"space-y-3 pointer-events-none",children:[t.jsx("input",{className:"w-full p-3 border rounded bg-white",placeholder:"ÐаÑе имÑ",disabled:!0}),t.jsx("input",{className:"w-full p-3 border rounded bg-white",placeholder:"Email",disabled:!0}),t.jsx("textarea",{className:"w-full p-3 border rounded h-24 bg-white",placeholder:"СообÑение",disabled:!0}),t.jsx("button",{className:"px-6 py-3 bg-[#ff3b30] text-white font-bold uppercase rounded w-full",children:"ÐÑпÑавиÑÑ"})]}),t.jsx("p",{className:"text-center text-xs text-gray-400 mt-2 font-bold uppercase",children:"[ФоÑма обÑаÑной ÑвÑзи]"})]})]})]})})]})]})]})},Tj=({settings:r,onUpdateSettings:o,products:d,onUpdateProducts:c})=>{const[h,m]=j.useState(!1),[y,u]=j.useState(null),f=r.sync||{enabled:!1,url:"",intervalHours:3,mapping:{idTag:"id",priceTag:"price",stockTag:"rest"}},x=g=>{o({...r,sync:{...f,...g}})},N=(g,O)=>{o({...r,sync:{...f,mapping:{...f.mapping,[g]:O}}})},b=g=>{let O=0,E=0,_=0;return{newProducts:d.map(R=>{let D=!1,te=R.variants,W=R.stock,$=R.price,H=R.originalPrice;if(R.variants&&R.variants.length>0){let Y=!1;te=R.variants.map(G=>{const U=G.externalId||G.id;if(U){const q=g.find(P=>String(P.externalId)===String(U));if(q){_++;
3043const P=Number(q.stock),pe=Number(q.price),B=q.oldprice??q.originalPrice??q.oldPrice,z=B!=null&&Number(B)>0?Number(B):G.originalPrice;if(G.stock!==P||G.price!==pe||G.originalPrice!==z)return Y=!0,E++,{...G,stock:P,price:pe,originalPrice:z}}else if(G.stock!==0){Y=!0,E++;return {...G,stock:0}}}return G}),Y&&(D=!0,W=te.reduce((G,U)=>G+U.stock,0))}const J=R.externalId||R.id;if(J&&(!R.variants||R.variants.length===0)){const Y=g.find(G=>String(G.externalId)===String(J));if(Y){_++;const G=Number(Y.stock),U=Number(Y.price),q=Y.oldprice??Y.originalPrice??Y.oldPrice,P=q!=null&&Number(q)>0?Number(q):R.originalPrice;(R.stock!==G||R.price!==U||R.originalPrice!==P)&&(D=!0,W=G,$=U,H=P)}else if(R.stock!==0){D=!0,W=0}}return D?(O++,{...R,stock:W,price:$,originalPrice:H,variants:te}):R}),updatedProductsCount:O,updatedVariantsCount:E,matchedCount:_}},C=async()=>{if(!f.url){oe.error("УкажиÑе URL XML Ñайла");return}m(!0),u(null);try{const g=await fetch("/api/sync_price.php"),O=g.headers.get("content-type");if(g.ok&&O&&O.includes("application/json")){const _=await g.json();if(_.status==="error")throw new Error(_.message);if(Array.isArray(_.data)){const{newProducts:k,updatedProductsCount:R,updatedVariantsCount:D,matchedCount:te}=b(_.data),W=typeof _.total_found=="number"?_.total_found:Array.isArray(_.data)?_.data.length:0,$=R+D;$>0?(c(k),x({lastSync:new Date().toISOString()}),u(`УÑпеÑно! Ðайдено в XML: ${W}. СопоÑÑавлено: ${te}. Ðбновлено: ${$} (ÑоваÑÑ: ${R}, ваÑианÑÑ: ${D}).`),oe.success(`Ðбновлено: ${$}`)):(u(`СвÑÐ·Ñ Ñ ÑеÑвеÑом ÑÑÑановлена. Ðайдено в XML: ${W}. СопоÑÑавлено: ${te}. Ðзменений Ð½ÐµÑ (ÑенÑ/оÑÑаÑки Ñже акÑÑалÑнÑ).`),oe.success("ÐаннÑе акÑÑалÑнÑ"));return}}const E=await g.text().catch(()=>"");throw new Error(E?`API веÑнÑл не-JSON: ${E.slice(0,80)}`:"API недоÑÑÑпен или веÑнÑл оÑибкÑ")}catch(g){if(console.warn("Real sync failed, falling back to simulation if local.",g),window.location.hostname==="localhost"||window.location.hostname.includes("webcontainer")){await new Promise(k=>setTimeout(k,1e3));const O=[];d.forEach(k=>{var R;k.externalId&&O.push({externalId:k.externalId,stock:Math.floor(Math.random()*50),price:k.price}),(R=k.variants)==null||R.forEach(D=>{D.externalId&&O.push({externalId:D.externalId,stock:Math.floor(Math.random()*50),price:D.price||k.price})})});const{newProducts:E,updatedCount:_}=b(O);_>0?(c(E),x({lastSync:new Date().toISOString()}),u(`â ï¸ Ðемо-Ñежим (СеÑÐ²ÐµÑ Ð½Ðµ найден). СимÑлÑÑÐ¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ: ${_} ÑоваÑов.`),oe.success(`Ðемо-обновление: ${_} ÑÑ.`)):u("â ï¸ Ðемо-Ñежим. Ðе Ð½Ð°Ð¹Ð´ÐµÐ½Ñ ÑоваÑÑ Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ñм полем 'ÐнеÑний код'.")}else u(`ÐÑибка подклÑÑÐµÐ½Ð¸Ñ Ðº ÑеÑвеÑÑ: ${g.message}. УбедиÑеÑÑ, ÑÑо Ñайл api/sync_price.php загÑÑжен.`),oe.error("ÐÑибка ÑинÑ
ÑонизаÑии")}finally{m(!1)}};return t.jsxs("div",{className:"space-y-6 animate-fade-in pb-20",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex items-center gap-4",children:[t.jsx("div",{className:"p-3 bg-blue-50 text-blue-600 rounded-lg",children:t.jsx(ks,{className:"w-6 h-6"})}),t.jsxs("div",{children:[t.jsx("h2",{className:"text-xl font-black uppercase text-black",children:"ÐнÑегÑаÑÐ¸Ñ Ñ XML"}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"ÐвÑомаÑиÑеÑкое обновление Ñен и оÑÑаÑков из пÑайÑ-лиÑÑа"})]})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm space-y-6",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h3",{className:"font-bold text-sm uppercase text-black",children:"ÐаÑÑÑойки подклÑÑениÑ"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-xs font-bold text-gray-500 uppercase",children:"ÐвÑо-обновление"}),t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:f.enabled,onChange:g=>x({enabled:g.target.checked}),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-green-500"})]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"СÑÑлка на XML Ñайл"}),t.jsx("input",{value:f.url,onChange:g=>x({url:g.target.value}),className:"w-full p-3 border border-gray-300 rounded-lg text-sm bg-white text-black font-mono focus:ring-2 focus:ring-blue-500 outline-none",placeholder:"https://example.com/price.xml"}),t.jsx("div",{id:"sync-status-container",className:"mt-4 p-4 rounded-lg border border-blue-100 bg-blue-50/50 space-y-2",children:[t.jsx("div",{className:"flex items-center justify-between",children:[t.jsx("span",{className:"text-[10px] font-bold text-blue-600 uppercase",children:"СÑаÑÑÑ Ð¿Ð¾Ñледнего обновлениÑ"}),t.jsx("div",{id:"sync-indicator",className:"w-2 h-2 rounded-full bg-gray-300"})]}),t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsxs("div",{className:"flex justify-between text-xs",children:[t.jsx("span",{className:"text-gray-500",children:"ÐÑемÑ:"}),t.jsx("span",{id:"sync-time",className:"font-bold text-black",children:"â"})]}),t.jsxs("div",{className:"flex justify-between text-xs",children:[t.jsx("span",{className:"text-gray-500",children:"РезÑлÑÑаÑ:"}),t.jsx("span",{id:"sync-result",className:"font-bold text-black",children:"â"})]}),t.jsxs("div",{className:"flex justify-between text-xs",children:[t.jsx("span",{className:"text-gray-500",children:"ÐеÑали:"}
3043),t.jsx("span",{id:"sync-details",className:"font-bold text-black",children:"â"})]})]})]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"ÐнÑеÑвал (ЧаÑов)"}),t.jsxs("div",{className:"relative",children:[t.jsx(vp,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),t.jsx("input",{type:"number",min:"1",max:"24",value:f.intervalHours,onChange:g=>x({intervalHours:parseInt(g.target.value)||3}),className:"w-full pl-10 p-2.5 border border-gray-300 rounded-lg text-sm bg-white text-black focus:ring-1 focus:ring-black"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase block mb-1.5",children:"ÐоÑледнÑÑ ÑинÑ
ÑонизаÑиÑ"}),t.jsx("div",{className:"text-sm font-mono text-gray-600 bg-gray-50 p-2.5 rounded-lg border border-gray-200",children:f.lastSync?new Date(f.lastSync).toLocaleString():"Ðикогда"})]})]}),t.jsx("hr",{className:"border-gray-100"}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-bold text-xs uppercase text-gray-500 mb-3",children:"СопоÑÑавление полей XML"}),t.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase block mb-1",children:"ID ТоваÑа (Tag)"}),t.jsx("input",{value:f.mapping.idTag,onChange:g=>N("idTag",g.target.value),className:"w-full p-2 border border-gray-300 rounded text-xs bg-white text-black font-mono",placeholder:"id"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase block mb-1",children:"Цена (Tag)"}),t.jsx("input",{value:f.mapping.priceTag,onChange:g=>N("priceTag",g.target.value),className:"w-full p-2 border border-gray-300 rounded text-xs bg-white text-black font-mono",placeholder:"price"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-400 uppercase block mb-1",children:"ÐÑÑаÑок (Tag)"}),t.jsx("input",{value:f.mapping.stockTag,onChange:g=>N("stockTag",g.target.value),className:"w-full p-2 border border-gray-300 rounded text-xs bg-white text-black font-mono",placeholder:"rest"})]})]})]}),t.jsxs("button",{onClick:C,disabled:h,className:"w-full py-3 bg-black text-white rounded-lg font-bold uppercase text-xs hover:bg-blue-600 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",children:[t.jsx(Ya,{className:`w-4 h-4 ${h?"animate-spin":""}`}),h?"СинÑ
ÑонизаÑиÑ...":"ÐапÑÑÑиÑÑ Ð¿ÑинÑдиÑелÑно"]}),y&&t.jsx("div",{className:`p-4 rounded-lg text-xs border ${y.includes("УÑпеÑно")?"bg-green-50 border-green-200 text-green-800":y.includes("Ðемо")?"bg-yellow-50 border-yellow-200 text-yellow-800":"bg-red-50 border-red-200 text-red-800"}`,children:y})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-yellow-50 p-6 rounded-xl border border-yellow-200 shadow-sm text-yellow-900",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase mb-3 flex items-center gap-2",children:[t.jsx(kp,{className:"w-4 h-4"})," Ðажно: СеÑвеÑÐ½Ð°Ñ ÑаÑÑÑ"]}),t.jsx("p",{className:"text-sm mb-3 leading-relaxed",children:"ÐÐ»Ñ Ð°Ð²ÑомаÑиÑеÑкой ÑабоÑÑ ÑинÑ
ÑонизаÑии (напÑимеÑ, каждÑе 3 ÑаÑа), бÑаÑÐ·ÐµÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°ÐºÑÑÑ. ЧÑÐ¾Ð±Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ ÑабоÑало 24/7, необÑ
одимо загÑÑзиÑÑ ÑпеÑиалÑнÑй PHP ÑкÑÐ¸Ð¿Ñ Ð½Ð° Ð²Ð°Ñ Ñ
оÑÑинг и наÑÑÑоиÑÑ Cron (планиÑовÑик задаÑ)."}),t.jsxs("div",{className:"bg-white p-4 rounded border border-yellow-200 text-xs font-mono overflow-x-auto",children:[t.jsx("p",{className:"text-gray-500 mb-1",children:"// ÐÑÐ¸Ð¼ÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð»Ñ Cron (каждÑе 3 ÑаÑа):"}),t.jsx("code",{children:"0 */3 * * * /usr/bin/php /var/www/site/api/cron_sync.php"})]})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsxs("h3",{className:"font-bold text-sm uppercase mb-4 text-black flex items-center gap-2",children:[t.jsx(mr,{className:"w-4 h-4"}
3043)," ÐнÑÑÑÑкÑÐ¸Ñ Ð¿Ð¾ наÑÑÑойке"]}),t.jsxs("ol",{className:"list-decimal list-inside space-y-3 text-sm text-gray-600",children:[t.jsxs("li",{children:["УбедиÑеÑÑ, ÑÑо Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑоваÑа (или ваÑианÑа) в каÑалоге заполнено поле ",t.jsx("strong",{children:'"ÐнеÑний код (ID)"'}),". Ðн должен ÑовпадаÑÑ Ñ ID в XML Ñайле."]}),t.jsxs("li",{children:["СкаÑайÑе ÑкÑÐ¸Ð¿Ñ ",t.jsx("code",{children:"sync_cron.php"}),"."]}),t.jsxs("li",{children:["ÐагÑÑзиÑе его в Ð¿Ð°Ð¿ÐºÑ ",t.jsx("code",{children:"/api/"})," на ваÑем Ñ Ð¾ÑÑинге."]}),t.jsxs("li",{children:["Радмин-панели Ñ Ð¾ÑÑинга найдиÑе Ñаздел ",t.jsx("strong",{children:"CronTab (ÐланиÑовÑик)"}),"."]}),t.jsx("li",{children:"ÐобавÑÑе задаÑÑ Ð½Ð° вÑполнение ÑÑого ÑкÑипÑа Ñ Ð½ÑжнÑм инÑеÑвалом."})]}),t.jsxs("div",{className:"mt-6 p-4 bg-gray-100 rounded border border-gray-200",children:[t.jsx("p",{className:"text-xs font-bold text-gray-500 uppercase mb-2",children:"Ðак ÑвÑзаÑÑ ÑоваÑÑ?"}),t.jsxs("p",{className:"text-xs text-gray-600",children:["ÐайдиÑе в Ñаздел ",t.jsx("strong",{children:'"ÐаÑалог"'}),", оÑкÑойÑе ÑедакÑиÑование ÑоваÑа и вÑÑавÑÑе ID из пÑайÑ-лиÑÑа в поле ",t.jsx("strong",{children:'"ÐнеÑний код"'}),". ÐÑли Ñ ÑоваÑа еÑÑÑ Ð²Ð°ÑианÑÑ (ÑвеÑа), ÑаÑкÑойÑе ÑаблиÑÑ Ð²Ð°ÑианÑов и пÑопиÑиÑе ID Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾."]})]})]})]})]})]})},gn=()=>{const r=localStorage.getItem("vorotex_admin_token"),o=localStorage.getItem("vorotex_admin_csrf");return{...r?{"X-Admin-Token":r}:{},...o?{"X-CSRF-Token":o}:{}}},Xd=r=>{if(!r)return"";try{return new Date(r).toLocaleString()}catch{return r}},Gx=(r,o)=>{const d=o==null?void 0:o.formTitle;return typeof d=="string"&&d.trim()?d.trim():r==="cooperation"?"ÐаÑвка на ÑоÑÑÑдниÑеÑÑво":r==="contact"?"ÐбÑие вопÑоÑÑ":r==="support"?"ÐоддеÑжка":r||"ФоÑма"},_j=({settings:r,onUpdateSettings:o})=>{var z;const[d,c]=j.useState([]),[h,m]=j.useState(!1),[y,u]=j.useState(null),[f,x]=j.useState(null),[N,b]=j.useState([]),[C,g]=j.useState(""),[O,E]=j.useState("ÐÑÐ²ÐµÑ VOROTEX"),[_,k]=j.useState(""),[R,D]=j.useState("all"),[te,W]=j.useState(!1),$=((z=r==null?void 0:r.notifications)==null?void 0:z.messagesReply)||{},H=$.greeting||"ÐдÑавÑÑвÑйÑе!",J=$.signature||`С Ñважением, 3044команда VOROTEX`,Y=j.useMemo(()=>{const v=_.trim().toLowerCase(),T=d.filter(A=>R==="new"?(A.status||"open")==="open":R==="answered"?(A.status||"")==="answered":R==="important"?(A.is_important||0)===1:!0);return v?T.filter(A=>(A.email||"").toLowerCase().includes(v)||(A.name||"").toLowerCase().includes(v)||(A.subject||"").toLowerCase().includes(v)||(A.message||"").toLowerCase().includes(v)):T},[d,_,R]),G=async()=>{m(!0);try{const v=await fetch("/api/get_messages.php?limit=200",{headers:gn()}),T=v.headers.get("content-type")||"";if(!v.ok){if(T.includes("application/json")){const K=await v.json().catch(()=>null),w=K!=null&&K.message?String(K.message):`HTTP ${v.status}`,V=K!=null&&K.detail?`: ${String(K.detail)}`:"",M=K!=null&&K.requestId?` (id: ${String(K.requestId)})`:"";throw new Error(`${w}${V}${M}`)}throw new Error(`HTTP ${v.status}`)}if(!T.includes("application/json"))throw new Error("Not JSON");const A=await v.json();if(A.status!=="success"||!Array.isArray(A.data))throw new Error(A.message||"Bad payload");c(A.data)}catch(v){oe.error(`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑообÑениÑ: ${(v==null?void 0:v.message)||"оÑибка"}`),c([])}finally{m(!1)}},U=async v=>{u(v),x(null),b([]),g(""),E("ÐÑÐ²ÐµÑ VOROTEX");try{const T=await fetch(`/api/get_message.php?id=${encodeURIComponent(String(v))}`,{headers:gn()}),A=T.headers.get("content-type")||"";if(!T.ok){if(A.includes("application/json")){const w=await T.json().catch(()=>null),V=w!=null&&w.message?String(w.message):`HTTP ${T.status}`,M=w!=null&&w.detail?`: ${String(w.detail)}`:"",X=w!=null&&w.requestId?` (id: ${String(w.requestId)})`:"";throw new Error(`${V}${M}${X}`)}throw new Error(`HTTP ${T.status}`)}if(!A.includes("application/json"))throw new Error("Not JSON");const K=await T.json();if(K.status!=="success")throw new Error(K.message||"ÐÑибка ÑеÑвеÑа");x(K.message),b(Array.isArray(K.replies)?K.replies:[]),c(w=>w.map(V=>V.id===v?{...V,is_read:1}:V))}catch(T){oe.error(`Ðе ÑдалоÑÑ Ð¾ÑкÑÑÑÑ ÑообÑение: ${(T==null?void 0:T.message)||"оÑибка"}`)}},q=async(v,T)=>{try{const A=await fetch("/api/update_message.php",{method:"POST",headers:{"Content-Type":"application/json",...gn()},body:JSON.stringify({id:v,is_important:T?1:0})}),K=A.headers.get("content-type")||"";if(!A.ok)throw new Error(`HTTP ${A.status}`);if(!K.includes("application/json"))throw new Error("Not JSON");const w=await A.json();if(w.status!=="success")throw new Error(w.message||"ÐÑибка");c(V=>V.map(M=>M.id===v?{...M,is_important:T?1:0}:M)),x(V=>V&&V.id===v?{...V,is_important:T?1:0}:V)}catch(A){oe.error(`Ðе ÑдалоÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ: ${(A==null?void 0:A.message)||"оÑибка"}`)}},P=async v=>{if(!window.confirm("УдалиÑÑ ÑообÑение и вÑÑ Ð¿ÐµÑепиÑкÑ? ÐÑо дейÑÑвие необÑаÑимо."))return;const T=oe.loading("УдалÑем...");try{const A=await fetch("/api/delete_message.php",{method:"POST",headers:{"Content-Type":"application/json",...gn()},body:JSON.stringify({id:v})}),K=A.headers.get("content-type")||"";if(!A.ok)throw new Error(`HTTP ${A.status}`);if(!K.includes("application/json"))throw new Error("Not JSON");const w=await A.json();if(w.status!=="success")throw new Error(w.message||"ÐÑибка");oe.success("Удалено",{id:T}),c(V=>V.filter(M=>M.id!==v)),y===v&&(u(null),x(null),b([]))}catch(A){oe.error(`ÐÑибка ÑдалениÑ: ${(A==null?void 0:A.message)||"оÑибка"}`,{id:T})}}
3044,pe=v=>{const T={...r,notifications:{...r.notifications,messagesReply:{...r.notifications.messagesReply||{},...v}}};o(T)},B=async()=>{if(!y||!f)return;const v=C.trim();if(!v){oe.error("ÐведиÑе ÑекÑÑ Ð¾ÑвеÑа");return}const T=oe.loading("ÐÑпÑавлÑем оÑвеÑ...");try{const A=await fetch("/api/reply_message.php",{method:"POST",headers:{"Content-Type":"application/json",...gn()},body:JSON.stringify({contactId:y,subject:O.trim()||"ÐÑÐ²ÐµÑ VOROTEX",message:v})}),K=A.headers.get("content-type")||"";if(!A.ok)throw new Error(`HTTP ${A.status}`);if(!K.includes("application/json"))throw new Error("Not JSON");const w=await A.json();if(w.status!=="success")throw new Error(w.message||"ÐÑибка ÑеÑвеÑа");oe.success("ÐÑÐ²ÐµÑ Ð¾ÑпÑавлен",{id:T}),g(""),await U(y),c(V=>V.map(M=>M.id===y?{...M,status:"answered",reply_count:(M.reply_count||0)+1}:M))}catch(A){oe.error(`ÐÑибка оÑпÑавки: ${(A==null?void 0:A.message)||"оÑибка"}`,{id:T})}};return j.useEffect(()=>{G()},[]),t.jsxs("div",{className:"space-y-6 animate-fade-in pb-20",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm flex items-center justify-between gap-4",children:[t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"p-3 bg-red-50 text-[#ff3b30] rounded-lg",children:t.jsx(no,{className:"w-6 h-6"})}),t.jsxs("div",{children:[t.jsx("h2",{className:"text-xl font-black uppercase text-black",children:"СообÑениÑ"}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"ÐбÑаÑÐµÐ½Ð¸Ñ Ñ ÑоÑм ÑайÑа + оÑвеÑÑ (пеÑепиÑка)"})]})]}),t.jsxs("button",{onClick:G,className:"px-4 py-2 bg-black text-white rounded-lg text-xs font-bold uppercase hover:bg-[#ff3b30] transition-colors flex items-center gap-2",children:[t.jsx(Ya,{className:`w-4 h-4 ${h?"animate-spin":""}`})," ÐбновиÑÑ"]})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-6",children:[t.jsxs("div",{className:"lg:col-span-5 bg-white border border-gray-200 rounded-xl overflow-hidden shadow-sm",children:[t.jsxs("div",{className:"p-4 border-b border-gray-100 flex items-center gap-2",children:[t.jsx(xa,{className:"w-4 h-4 text-gray-400"}),t.jsx("input",{value:_,onChange:v=>k(v.target.value),className:"flex-1 text-sm bg-white text-black outline-none",placeholder:"ÐоиÑк по email/имени/Ñеме/ÑекÑÑÑ..."}),t.jsx("span",{className:"text-[10px] font-bold text-gray-400 uppercase",children:Y.length})]}),t.jsx("div",{className:"p-3 border-b border-gray-100 flex flex-wrap gap-2",children:[{id:"all",label:"ÐÑе"},{id:"new",label:"Ðовое"},{id:"answered",label:"ÐÑвеÑено"},{id:"important",label:"Ðажное"}].map(v=>t.jsx("button",{onClick:()=>D(v.id),className:`px-3 py-1.5 rounded-full text-[10px] font-black uppercase border transition-colors ${R===v.id?"bg-black text-white border-black":"bg-white text-gray-600 border-gray-200 hover:border-gray-400"}`,children:v.label},v.id))}),t.jsx("div",{className:"max-h-[70vh] overflow-visible custom-scrollbar",children:Y.length===0?t.jsx("div",{className:"p-6 text-center text-gray-400 text-sm",children:h?"ÐагÑÑзка...":"СообÑений пока неÑ"}):Y.map(v=>{const T=v.id===y,A=(v.is_read||0)===0,K=(v.is_important||0)===1;return t.jsx("button",{onClick:()=>U(v.id),className:`w-full text-left p-4 border-b border-gray-100 hover:bg-gray-50 transition-colors ${T?"bg-gray-50":""}`,children:t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[A?t.jsx("span",{className:"w-2 h-2 rounded-full bg-[#ff3b30]"}):t.jsx("span",{className:"w-2 h-2 rounded-full bg-gray-200"}),t.jsx("div",{className:"text-xs font-black uppercase text-black truncate",children:v.subject||"Ðез ÑемÑ"})]}),t.jsx("div",{className:"mt-1 flex items-center gap-2",children:t.jsx("span",{className:"text-[10px] font-bold uppercase px-2 py-0.5 rounded-full bg-gray-100 text-gray-700",children:Gx(v.type,v.meta)})}),t.jsxs("div",{className:"mt-1 text-xs text-gray-500 truncate flex items-center gap-2",children:[t.jsx(Jl,{className:"w-3 h-3"}),t.jsx("span",{className:"font-bold text-gray-700",children:v.name||v.email}),t.jsx("span",{className:"text-gray-400",children:v.email})]}),t.jsx("div",{className:"mt-2 text-xs text-gray-500 line-clamp-2",children:v.message||""})]}),t.jsxs("div",{className:"flex flex-col items-end gap-2 flex-shrink-0",children:[t.jsxs("div",{className:"text-[10px] text-gray-400 flex items-center gap-1",children:[t.jsx(vp,{className:"w-3 h-3"})," ",Xd(v.created_at)]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{type:"button",onClick:w=>{w.stopPropagation(),q(v.id,!K)},className:`p-1.5 rounded-lg border transition-colors ${K?"bg-yellow-50 border-yellow-200 text-yellow-600":"bg-white border-gray-200 text-gray-400 hover:text-yellow-600 hover:border-yellow-200"}`,title:K?"УбÑаÑÑ Ð¸Ð· важного":"ÐÑмеÑиÑÑ ÐºÐ°Ðº важное",children:t.jsx(Va,{className:`w-4 h-4 ${K?"fill-yellow-400 text-yellow-500":""}`})}),t.jsx("span",{className:`text-[9px] font-bold uppercase px-2 py-1 rounded border ${v.status==="answered"?"bg-green-50 border-green-200 text-green-700":v.status==="closed"?"bg-gray-50 border-gray-200 text-gray-600":"bg-yellow-50 border-yellow-200 text-yellow-800"}`,children:v.status==="answered"?"оÑвеÑено":v.status==="closed"?"закÑÑÑо":"новое"}),v.reply_count>0&&t.jsxs("span",{className:"text-[9px] font-bold uppercase px-2 py-1 rounded border bg-white border-gray-200 text-gray-600",children:[v.reply_count," оÑвеÑ(ов)"]})]})]})]})},v.id)})})]}),t.jsx("div",{className:"lg:col-span-7 bg-white border border-gray-200 rounded-xl overflow-hidden shadow-sm",children:f?t.jsxs("div",{className:"flex flex-col h-full",children:[t.jsx("div",{className:"p-5 border-b border-gray-100 bg-gray-50",children:t.jsxs("div",{className:"flex items-start justify-between gap-4",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-lg font-black uppercase text-black truncate",children:f.subject||"Ðез ÑемÑ"}),t.jsx("div",{className:"mt-2",children:t.jsx("span",{className:"text-[10px] font-bold uppercase px-2 py-0.5 rounded-full bg-gray-100 text-gray-700",children:Gx(f.type,f.meta)})}),t.jsxs("div",{className:"text-xs text-gray-500 mt-1",children:[t.jsx("span",{className:"font-bold text-black",children:f.name||f.email}),t.jsxs("span",{className:"text-gray-400",children:[" ⢠",f.email]}),f.phone?t.jsxs("span",{className:"text-gray-400",children:[" ⢠",f.phone]}):null]}),t.jsx("div",{className:"text-[10px] text-gray-400 mt-1",children:Xd(f.created_at)})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>q(f.id,!f.is_important),className:`p-2 rounded-xl border transition-colors ${(f.is_important||0)===1?"bg-yellow-50 border-yellow-200 text-yellow-700":"bg-white border-gray-200 text-gray-500 hover:border-yellow-200 hover:text-yellow-700"}`,title:"Ðажное",children:t.jsx(Va,{className:`w-4 h-4 ${(f.is_important||0)===1?"fill-yellow-400 text-yellow-600":""}`})}),t.jsx("button",{onClick:()=>P(f.id),className:"p-2 rounded-xl border border-gray-200 bg-white text-gray-500 hover:text-red-600 hover:border-red-200 transition-colors",title:"УдалиÑÑ",children:t.jsx(jt,{className:"w-4 h-4"})}),f.status==="answered"?t.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-bold text-green-700 bg-green-50 border border-green-200 px-2 py-1 rounded",children:[t.jsx(ev,{className:"w-4 h-4"})," ÐÑвеÑено"]}):t.jsxs("span",{className:"inline-flex items-center gap-1 text-xs font-bold text-yellow-800 bg-yellow-50 border border-yellow-200 px-2 py-1 rounded",children:[t.jsx(to,{className:"w-4 h-4"})," Ðовое"]})]})]})}),t.jsxs("div",{className:"p-5 space-y-4 overflow-visible custom-scrollbar max-h-[55vh]",children:[t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-4",children:[t.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-2",children:"СообÑение клиенÑа"}),t.jsx("div",{className:"text-sm text-gray-800 whitespace-pre-wrap",children:f.message||""})]}),N.map(v=>t.jsxs("div",{className:`rounded-xl p-4 border ${v.direction==="out"?"bg-black text-white border-black":"bg-white border-gray-200"}`,children:[t.jsxs("div",{className:"flex items-center justify-between gap-3 mb-2",children:[t.jsx("div",{className:"text-[10px] font-black uppercase tracking-wider opacity-80",children:v.direction==="out"?`ÐÑÐ²ÐµÑ Ð°Ð´Ð¼Ð¸Ð½Ð°${v.admin_email?` (${v.admin_email})`:""}`:"СообÑение"}),t.jsx("div",{className:"text-[10px] opacity-70",children:Xd(v.created_at)})]}),v.subject?t.jsx("div",{className:"text-xs font-bold mb-2 opacity-90",children:v.subject}):null,t.jsx("div",{className:"text-sm whitespace-pre-wrap",children:v.message||""})]},v.id))]}),t.jsxs("div",{className:"p-5 border-t border-gray-100 bg-white",children:[t.jsxs("button",{type:"button",onClick:()=>W(v=>!v),className:"mb-4 w-full flex items-center justify-between px-4 py-3 rounded-xl border border-gray-200 bg-gray-50 hover:bg-gray-100 transition-colors",children:[t.jsxs("div",{className:"flex items-center gap-2 text-xs font-black uppercase text-gray-700",children:[t.jsx(L2,{className:"w-4 h-4"})," ÐÑивеÑÑÑвие и подпиÑÑ"]}),t.jsx("span",{className:"text-[10px] font-bold text-gray-400 uppercase",children:te?"СкÑÑÑÑ":"ÐоказаÑÑ"})]}),te&&t.jsxs("div",{className:"mb-4 grid grid-cols-1 md:grid-cols-2 gap-3",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-500 mb-1",children:"ÐÑивеÑÑÑвие"}),t.jsx("textarea",{value:H,onChange:v=>pe({greeting:v.target.value}),className:"w-full text-sm border border-gray-300 rounded-lg p-3 bg-white text-black h-20 resize-none"})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-500 mb-1",children:"ÐодпиÑÑ"}),t.jsx("textarea",{value:J,onChange:v=>pe({signature:v.target.value}),className:"w-full text-sm border border-gray-300 rounded-lg p-3 bg-white text-black h-20 resize-none"})]}),t.jsx("div",{className:"md:col-span-2 text-[10px] text-gray-400",children:"ÐÑи Ð¿Ð¾Ð»Ñ ÑоÑ
ÑанÑÑÑÑÑ Ð² наÑÑÑойкаÑ
ÑайÑа и бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² пиÑÑмаÑ
-оÑвеÑаÑ
."})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3 mb-3",children:[t.jsxs("div",{className:"md:col-span-1",children:[t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-500 mb-1",children:"Тема оÑвеÑа"}),t.jsx("input",{value:O,onChange:v=>E(v.target.value),className:"w-full text-sm border border-gray-300 rounded-lg p-2 bg-white text-black",placeholder:"Тема пиÑÑма"})]}),t.jsx("div",{className:"md:col-span-2"})]}),t.jsx("div",{className:"text-[10px] font-bold uppercase text-gray-500 mb-1",children:"ÐÑвеÑ"}),t.jsx("textarea",{value:C,onChange:v=>g(v.target.value),className:"w-full text-sm border border-gray-300 rounded-lg p-3 bg-white text-black h-28 resize-none",placeholder:"ÐапиÑиÑе оÑÐ²ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ..."}),t.jsx("div",{className:"mt-3 flex justify-end",children:t.jsxs("button",{onClick:B,className:"px-5 py-3 bg-black text-white rounded-xl font-black uppercase tracking-wider text-xs hover:bg-[#ff3b30] transition-colors flex items-center gap-2",children:[t.jsx(fo,{className:"w-4 h-4"})," ÐÑпÑавиÑÑ"]})}),t.jsxs("div",{className:"mt-2 text-[10px] text-gray-400",children:["ÐиÑÑмо ÑйдÑÑ Ð½Ð° email клиенÑа. РпиÑÑме авÑомаÑиÑеÑки добавÑÑÑÑ Ð¿ÑивеÑÑÑвие/подпиÑÑ Ð¸ меÑка [TICKET:",y,"]."]})]})]}):t.jsxs("div",{className:"p-10 text-center text-gray-400",children:[t.jsx(ro,{className:"w-14 h-14 mx-auto mb-4 opacity-20"}),t.jsx("div",{className:"font-bold uppercase",children:"ÐÑбеÑиÑе ÑообÑение Ñлева"}),t.jsx("div",{className:"text-sm mt-2",children:"ÐдеÑÑ Ð¿Ð¾ÑвиÑÑÑ Ð¿ÐµÑепиÑка и ÑоÑма оÑвеÑа"})]})})]})]})},Rj="VOROTEX_DB",Mj=5,Pl="app_data",ze={open:()=>new Promise((r,o)=>{const d=indexedDB.open(Rj,Mj);d.onupgradeneeded=c=>{const h=c.target.result;h.objectStoreNames.contains(Pl)||h.createObjectStore(Pl)},d.onsuccess=()=>r(d.result),d.onerror=()=>{console.error("IDB Open Error:",d.error),o(d.error)}}),get:async(r,o)=>{try{const d=await ze.open();return new Promise((c,h)=>{const u=d.transaction(Pl,"readonly").objectStore(Pl).get(r);u.onsuccess=()=>
3044{if(u.result!==void 0){c(u.result);return}try{let f=window.localStorage.getItem(r),x="primary_ls";if(!f&&o&&(f=window.localStorage.getItem(o),x="legacy_ls"),f){const N=JSON.parse(f);console.log(`[Storage] Migrating data for ${r} from ${x} to IndexedDB`),ze.set(r,N).catch(b=>console.warn("Migration save failed",b)),c(N);return}}catch(f){console.warn(`[Storage] Migration check failed for ${r}`,f)}try{const b=window.localStorage.getItem(r);if(b){c(JSON.parse(b));return}}catch(b){}c(null)},u.onerror=()=>{console.error(`[Storage] Error getting ${r}`,u.error);try{const f=window.localStorage.getItem(r);if(f){c(JSON.parse(f));return}}catch(f){}h(u.error)}})}catch(d){console.error(`[Storage] Critical DB Failure for ${r}`,d);try{const c=window.localStorage.getItem(r);if(c)return JSON.parse(c)}catch{}return null}},set:async(r,o)=>{try{const c=JSON.stringify(o);c.length<4e6&&window.localStorage.setItem(r,c)}catch(e){console.warn("[Storage] LS backup failed",e)}try{const d=await ze.open();return new Promise((c,h)=>{const u=d.transaction(Pl,"readwrite").objectStore(Pl).put(o,r);u.onsuccess=()=>c(),u.onerror=()=>{console.error(`[Storage] Error setting ${r}`,u.error),h(u.error)}})}catch(d){console.error(`[Storage] Set failed completely for ${r}`,d)}},recoverLegacy:r=>{try{const o=Array.isArray(r)?r:[r];for(const d of o){const c=window.localStorage.getItem(d);if(c)return console.log(`[Storage] Found backup data in ${d}`),JSON.parse(c)}for(let d=0;d<localStorage.length;d++){const c=localStorage.key(d);if(c&&c.includes("vorotex_products"))return console.log(`[Storage] Found loose product key: ${c}`),JSON.parse(localStorage.getItem(c)||"null")}return null}catch(o){return console.error("Legacy Recovery Error:",o),null}},getStorageStats:async()=>{let r=0;try{const y=(await ze.open()).transaction(Pl,"readonly").objectStore(Pl).count();r=await new Promise(u=>{y.onsuccess=()=>u(y.result),y.onerror=()=>u(0)})}catch{}let o=0,d=0;for(let c in window.localStorage)window.localStorage.hasOwnProperty(c)&&(d++,o+=window.localStorage[c].length*2);return{dbItems:r,lsItems:d,lsSize:(o/1024/1024).toFixed(2)+" MB"}}};function $a(r,o){if(o==null)return r;if(typeof r!=typeof o)return o;if(Array.isArray(r)&&Array.isArray(o)){if(r.length>0&&typeof r[0]=="object"&&"id"in r[0]){const c=new Map;return r.forEach(h=>c.set(h.id,h)),o.forEach(h=>{if(!(!h||typeof h!="object"||!h.id))if(c.has(h.id)){const m=c.get(h.id);c.set(h.id,$a(m,h))}else c.set(h.id,h)}),Array.from(c.values())}return o}if(typeof o=="object"){const d={...r};for(const c in o)c in r?d[c]=$a(r[c],o[c]):d[c]=o[c];return d}return o}const Pi=({children:r})=>t.jsx("label",{className:"text-xs font-bold text-gray-500 uppercase block mb-1.5",children:r}),Aj=r=>Array.isArray(r)?r.map(o=>{if(!o)return o;const c=Array.isArray(o.variants)&&o.variants.length>0?o.variants.map(m=>({...m,externalId:(m==null?void 0:m.externalId)||(m==null?void 0:m.id)||""})):o.variants,h=o.externalId||o.id||"";return{...o,externalId:h,variants:c}}):r,Dj=r=>{const[o,d]=j.useState(r.initialTab||"statistics"),[c,h]=j.useState(0),[m,y]=j.useState(0),[u,f]=j.useState(!0),[x,N]=j.useState(!1),[b,C]=j.useState(!1),[g,O]=j.useState(0),[E,_]=j.useState(r.lastSaved||null),[k,R]=j.useState(()=>{try{return JSON.parse(localStorage.getItem("vorotex_auto_publish")||"true")}catch{return!0}}),[D,te]=j.useState("idle"),[W,$]=j.useState(!1),[H,J]=j.useState(!1),[Y,G]=j.useState(null),U=j.useRef(null);const vxRole=(()=>{try{const s=JSON.parse(localStorage.getItem("vorotex_admin_session")||"{}");return s.role||"admin"}catch(e){return"admin"}})();const vxIsManager=vxRole==="manager";j.useEffect(()=>{if(vxIsManager){const restricted=["stock","integration","filters","database","admin_users","support","content_pages","settings","seo"];if(restricted.includes(o))d("statistics");}},[o,vxIsManager]);j.useEffect(()=>{const w=document.querySelector('link[rel="icon"]');if(!w)return;const V=w.getAttribute("href")||"/favicon.svg";return w.setAttribute("href","/admin-favicon.svg"),()=>{w.setAttribute("href",V)}},[]),j.useEffect(()=>{r.initialTab&&d(r.initialTab)},[r.initialTab]);const q=()=>{C(!0),O(Date.now()),te("idle")},P={...r,onUpdateProducts:w=>{r.onUpdateProducts(w),q()},onUpdateCategories:w=>{r.onUpdateCategories(w),q()},onUpdateSeo:w=>{r.onUpdateSeo(w),q()},onUpdateCatalogSeo:w=>{r.onUpdateCatalogSeo(w),q()},onUpdateHeroSlides:w=>{r.onUpdateHeroSlides(w),q()},onUpdateNavLinks:w=>{r.onUpdateNavLinks(w),q()},onUpdateMarketplaces:w=>{r.onUpdateMarketplaces(w),q()},onUpdateMarketplacesContent:w=>{r.onUpdateMarketplacesContent(w),q()},onUpdateReviews:w=>{r.onUpdateReviews(w),q()},onLogoImageChange:w=>{r.onLogoImageChange(w),q()},onUpdateFooterColumns:w=>{r.onUpdateFooterColumns(w),q()},onUpdateSocialLinks:w=>{r.onUpdateSocialLinks(w),q()},onUpdatePages:w=>{r.onUpdatePages(w),q()},onUpdateCarouselSettings:w=>{r.onUpdateCarouselSettings(w),q()}
3044,onUpdateInternalShopSettings:w=>{r.onUpdateInternalShopSettings(w),q()},onUpdateSupportSettings:w=>{r.onUpdateSupportSettings(w),q()},onUpdateTickerSettings:w=>{r.onUpdateTickerSettings(w),q()},onUpdateAdmins:w=>{r.onUpdateAdmins(w),q()}};j.useEffect(()=>{o==="database"&&pe()},[o]),j.useEffect(()=>{let w=!0;const V=async()=>{try{const X=localStorage.getItem("vorotex_admin_token"),le=localStorage.getItem("vorotex_admin_csrf"),xe={...X?{"X-Admin-Token":X}:{},...le?{"X-CSRF-Token":le}:{}},[ge,je]=await Promise.all([fetch("/api/get_messages_stats.php",{headers:xe}),fetch("/api/get_orders_stats.php",{headers:xe})]),Ne=ge.headers.get("content-type")||"",Ee=je.headers.get("content-type")||"";if(ge.ok&&Ne.includes("application/json")){const Ge=await ge.json();(Ge==null?void 0:Ge.status)==="success"&&typeof Ge.unread=="number"&&w&&h(Ge.unread)}if(je.ok&&Ee.includes("application/json")){const Ge=await je.json();(Ge==null?void 0:Ge.status)==="success"&&typeof Ge.checking=="number"&&w&&y(Ge.checking)}}catch{}};V();const M=window.setInterval(V,3e4);return()=>{w=!1,window.clearInterval(M)}},[]),j.useEffect(()=>{["orders","delivery_payment","order_settings","sales","customers"].includes(o)&&$(!0)},[o]);const pe=()=>{ze.getStorageStats().then(G)},B=()=>{r.navigate("/")},z=w=>{w.preventDefault(),window.confirm("ÐÑйÑи из панели админиÑÑÑаÑоÑа?")&&(localStorage.removeItem("vorotex_admin_session"),r.navigate("/"),window.location.reload())},v=async w=>{N(!0);const V=!!(w!=null&&w.silent),M=V?null:oe.loading("СоÑ
Ñанение даннÑÑ
на ÑеÑвеÑ...");V&&te("saving");const X={products:Aj(r.products),categories:r.categories,seo:r.seo,catalogSeo:r.catalogSeo,heroSlides:r.heroSlides,navLinks:r.navLinks,marketplaces:r.marketplaces,marketplacesContent:r.marketplacesContent,reviews:r.reviews,logoImage:r.logoImage,footerColumns:r.footerColumns,socialLinks:r.socialLinks,pages:r.pages,carouselSettings:r.carouselSettings,internalShopSettings:r.internalShopSettings,supportSettings:r.supportSettings,tickerSettings:r.tickerSettings,admins:r.admins,updatedAt:new Date().toISOString()};try{await Wl.saveData(X),M&&oe.success("ÐÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑ
ÑÐ°Ð½ÐµÐ½Ñ Ð½Ð° ÑеÑвеÑе!",{id:M}),C(!1);const le=new Date().toISOString();_(le),V&&te("saved")}catch(le){console.error(le),M?oe.error(`ÐÑибка ÑоÑ
ÑанениÑ: ${le.message}`,{id:M}):(te("error"),oe.error(`ÐвÑоÑоÑ
Ñанение не ÑдалоÑÑ: ${(le==null?void 0:le.message)||"оÑибка"}`))}finally{N(!1)}};j.useEffect(()=>{if(!k||!b||x)return;const w=setTimeout(()=>{Date.now()-g<2500||v({silent:!0})},3500);return()=>clearTimeout(w)},[k,b,x,g]),j.useEffect(()=>{const w=V=>{b&&(V.preventDefault(),V.returnValue="")};return window.addEventListener("beforeunload",w),()=>window.removeEventListener("beforeunload",w)},[b]);const T=()=>{const w=r.onExportConfig(),V=JSON.parse(w),M=JSON.parse(localStorage.getItem("vorotex_demo_orders")||"[]"),X=JSON.parse(localStorage.getItem("vorotex_users")||"[]"),le=JSON.parse(localStorage.getItem("vorotex_admins")||"[]"),xe={...V,orders:M,users:X,admins:le,backupDate:new Date().toISOString()},ge=JSON.stringify(xe,null,2),je=new Blob([ge],{type:"application/json"}),Ne=URL.createObjectURL(je),Ee=document.createElement("a");Ee.href=Ne,Ee.download=`vorotex-FULL-BACKUP-${new Date().toISOString().slice(0,10)}.json`,document.body.appendChild(Ee),Ee.click(),document.body.removeChild(Ee),oe.success("ÐÐ¾Ð»Ð½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ (вклÑÑÐ°Ñ Ð·Ð°ÐºÐ°Ð·Ñ Ð¸ админов) ÑкаÑана!")},A=w=>{var X;const V=(X=w.target.files)==null?void 0:X[0];if(!V)return;const M=new FileReader;M.onload=le=>{var ge;const xe=(ge=le.target)==null?void 0:ge.result;try{const je=JSON.parse(xe);r.onImportConfig(xe)&&(je.orders&&localStorage.setItem("vorotex_demo_orders",JSON.stringify(je.orders)),je.users&&localStorage.setItem("vorotex_users",JSON.stringify(je.users)),je.admins&&(localStorage.setItem("vorotex_admins",JSON.stringify(je.admins)),r.onUpdateAdmins(je.admins)),oe.success("Ðаза даннÑÑ
ÑÑпеÑно воÑÑÑановлена!"),pe(),Wl.saveData(je).then(()=>window.location.reload()))}catch(je){oe.error("ÐÑибка ÑÑÐµÐ½Ð¸Ñ Ñайла ÑезеÑвной копии"),console.error(je)}},M.readAsText(V)},K=async(w,V)=>{var le;const M=(le=w.target.files)==null?void 0:le[0];if(!M)return;const X=oe.loading("ÐагÑÑзка...");try{try{const xe=await Wl.uploadFile(M);V(xe),oe.success("Файл загÑÑжен на ÑеÑвеÑ",{id:X})}catch(xe){console.warn("Server upload failed, falling back to base64",xe);const ge=await jr(M);V(ge),oe.success("ÐагÑÑжено локалÑно (Base64)",{id:X})}}catch{oe.error("ÐÑибка загÑÑзки",{id:X})}};return t.jsxs("div",{className:"flex h-screen bg-gray-100 overflow-hidden font-sans",children:[t.jsxs("aside",{className:`bg-[#111] text-white flex flex-col transition-all duration-300 ${u?"w-64":"w-20"} relative z-50`,children:[t.jsx("div",{className:"h-16 flex items-center justify-center border-b border-gray-800 px-4",children:u?t.jsxs("div",{className:"flex items-center gap-2 font-black text-xl tracking-tighter",children:[t.jsx("span",{className:"text-[#ff3b30]",children:"VOROTEX"})," ADMIN"]}):t.jsx("span",{className:"text-[#ff3b30] font-black text-xl",children:"V"})}),t.jsxs("div",{className:"flex-1 py-6 space-y-1 overflow-y-auto overscroll-contain custom-scrollbar",children:[t.jsxs("button",{onClick:()=>d("statistics"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="statistics"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(K1,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"СÑаÑиÑÑика"})]}),t.jsxs("button",{onClick:()=>d("catalog"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="c
3044atalog"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(Cp,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"ÐаÑалог"})]}),!vxIsManager&&t.jsxs("button",{onClick:()=>d("stock"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="stock"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(Dv,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"Склад (ÐÑайÑ)"})]}),t.jsxs("div",{children:[u?t.jsxs("button",{onClick:()=>$(!W),className:"w-full flex items-center justify-between px-6 py-3 text-gray-500 hover:text-white transition-colors",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(Jt,{className:"w-5 h-5"}),t.jsx("span",{className:"font-bold text-sm uppercase",children:"ÐÐ°ÐºÐ°Ð·Ñ Ð½Ð° ÑайÑе"}),m>0&&t.jsx("span",{className:"ml-1 inline-flex items-center justify-center min-w-[18px] h-[18px] px-1.5 rounded-full bg-[#ff3b30] text-white text-[10px] font-black",children:m>99?"99+":m})]}),W?t.jsx(Mt,{className:"w-4 h-4"}):t.jsx(ys,{className:"w-4 h-4"})]}):t.jsx("div",{className:"w-full flex justify-center py-3 text-gray-500 cursor-pointer hover:text-white",onClick:()=>{f(!0),$(!0)},children:t.jsx(Jt,{className:"w-5 h-5"})}),W&&u&&t.jsxs("div",{className:"bg-gray-900/50 border-l-2 border-gray-800 ml-6 my-1",children:[t.jsxs("button",{onClick:()=>d("orders"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="orders"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(ws,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"ÐаказÑ"})]}),t.jsxs("button",{onClick:()=>d("customers"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="customers"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(_p,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"ÐокÑпаÑели"})]}),t.jsxs("button",{onClick:()=>d("delivery_payment"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="delivery_payment"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(Pa,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"ÐоÑÑавка и ÐплаÑа"})]}),t.jsxs("button",{onClick:()=>d("order_settings"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="order_settings"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(yl,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"ÐимиÑÑ / СÑаÑÑÑÑ"})]}),t.jsxs("button",{onClick:()=>d("sales"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="sales"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(C2,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"ÐÐÐ/ÐЫÐÐ ÐÑодаж"})]})]})]}),!vxIsManager&&t.jsxs("div",{children:[u?t.jsxs("button",{onClick:()=>J(!H),className:"w-full flex items-center justify-between px-6 py-3 text-gray-500 hover:text-white transition-colors",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(hr,{className:"w-5 h-5"}),t.jsx("span",{className:"font-bold text-sm uppercase",children:"ÐонÑÐµÐ½Ñ Ð¸ Ðизайн"})]}),H?t.jsx(Mt,{className:"w-4 h-4"}):t.jsx(ys,{className:"w-4 h-4"})]}):t.jsx("div",{className:"w-full flex justify-center py-3 text-gray-500 cursor-pointer hover:text-white",onClick:()=>{f(!0),J(!0)},children:t.jsx(hr,{className:"w-5 h-5"})}),H&&u&&t.jsxs("div",{className:"bg-gray-900/50 border-l-2 border-gray-800 ml-6 my-1",children:[t.jsxs("button",{onClick:()=>d("content_pages"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="content_pages"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(mr,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"СÑÑаниÑÑ"})]}),t.jsxs("button",{onClick:()=>d("settings"),className:`w-full flex items-center px-4 py-2 hover:bg-gray-800 transition-colors ${o==="settings"?"text-[#ff3b30] font-bold":"text-gray-400"}`,children:[t.jsx(yl,{className:"w-4 h-4 mr-3"}),t.jsx("span",{className:"text-xs uppercase",children:"ÐаÑÑÑойки ÑайÑа"})]})]})]}),!vxIsManager&&t.jsxs("button",{onClick:()=>d("integration"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="integration"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(ks,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"ÐнÑегÑаÑии"})]}),t.jsxs("button",{onClick:()=>d("messages"),className:`relative w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="messages"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(no,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsxs("div",{className:"ml-3 flex items-center justify-between w-full",children:[t.jsx("span",{className:"font-bold text-sm uppercase",children:"СообÑениÑ"}),c>0&&t.jsx("span",{className:"inline-flex items-center justify-center min-w-[18px] h-[18px] px-1.5 rounded-full bg-[#ff3b30] text-white text-[10px] font-black",children:c>99?"99+":c})]}),!u&&c>0&&t.jsx("span",{className:"absolute right-2 top-2 inline-flex items-center justify-center min-w-[18px] h-[18px] px-1.5 rounded-full bg-[#ff3b30] text-white text-[10px] font-black",children:c>99?"99+":c})]}),!vxIsManager&&t.jsxs("button",{onClick:()=>d("filters"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="filters"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(pr,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"ФилÑÑÑÑ"})]}),!vxIsManager&&t.jsxs("button",{onClick:()=>d("database"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="database"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(wp,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"Ðаза ÐаннÑÑ
"})]}),!vxIsManager&&t.jsxs("button",{onClick:()=>d("admin_users"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="admin_users"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(io,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"ÐдминиÑÑÑаÑоÑÑ"})]}),!vxIsManager&&t.jsxs("button",{onClick:()=>d("support"),className:`w-full flex items-center px-6 py-3 hover:bg-gray-800 transition-colors ${o==="support"?"bg-[#ff3b30] text-white hover:bg-[#ff3b30]":"text-gray-400"}`,children:[t.jsx(Rp,{className:"w-5 h-5 min-w-[20px]"}),u&&t.jsx("span",{className:"ml-3 font-bold text-sm uppercase",children:"ÐоддеÑжка"})]})]}),t.jsxs("div",{className:"p-4 border-t border-gray-800",children:[t.jsx("button",{onClick:()=>f(!u),className:"w-full flex items-center justify-center p-2 text-gray-500 hover:text-white transition-colors",children:u?t.jsx(Fd,{className:"w-5 h-5"}):t.jsx(Fd,{className:"w-5 h-5"})}),t.jsxs("button",{onClick:B,className:`w-full mt-4 flex items-center justify-center py-2 bg-gray-800 rounded hover:bg-gray-700 transition-colors ${u?"":"px-0"}`,title:"ÐÑкÑÑÑÑ ÑайÑ",children:[t.jsx(vs,{className:"w-4 h-4"}),u&&t.jsx("span",{className:"ml-2 text-xs font-bold uppercase",children:"Ðа ÑайÑ"})]}),t.jsxs("button",{onClick:z,className:`w-full mt-2 flex items-center justify-center py-2 bg-red-900/20 text-red-500 rounded hover:bg-red-900/40 transition-colors ${u?"":"px-0"}`,title:"ÐÑйÑи",children:[t.jsx(Ep,{className:"w-4 h-4"}),u&&t.jsx("span",{className:"ml-2 text-xs font-bold uppercase",children:"ÐÑйÑи"})]})]})]}),t.jsxs("main",{className:"flex-1 overflow-auto bg-gray-100 p-8",children:[t.jsxs("header",{className:"flex items-center justify-between mb-8 pb-4 border-b border-gray-200",children:[t.jsxs("div",{children:[t.jsxs("h1",{className:"text-2xl font-black text-black uppercase tracking-tight",children:[o==="database"&&"УпÑавление Ðазой ÐаннÑÑ
",o==="settings"&&"ÐаÑÑÑойки СайÑа",o==="content_pages"&&"УпÑавление СÑÑаниÑами",o==="catalog"&&"ÐаÑалог ТоваÑов",o==="sales"&&"УпÑавление ÐÑодажами",o==="stock"&&"УпÑавление Складом",o==="filters"&&"ÐаÑÑÑойка ФилÑÑÑов",o==="statistics"&&"ÐналиÑика",o==="orders"&&"ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ Ðаказов",o==="delivery_payment"&&"ÐоÑÑавка и ÐплаÑа",o==="order_settings"&&"ÐаÑÑÑойки Ðаказа и ÐиджеÑа",o==="admin_users"&&"УпÑавление ÐдминиÑÑÑаÑоÑами",o==="customers"&&"ÐокÑпаÑели",o==="support"&&"ФайловÑй ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ (ÐÑайвеÑÑ)",o==="integration"&&"ÐнÑегÑаÑÐ¸Ñ Ñ XML (ÐÑайÑ-лиÑÑ)",o==="messages"&&"СообÑениÑ"]}),t.jsx("p",{className:"text-sm text-gray-500 mt-1 font-medium",children:"ÐÐ°Ð½ÐµÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑа VOROTEX"})]}),t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsxs("div",{className:"hidden md:flex items-center gap-2 text-xs font-bold uppercase",children:[t.jsx("button",{type:"button",onClick:()=>{const w=!k;R(w),localStorage.setItem("vorotex_auto_publish",JSON.stringify(w)),oe.success(w?"ÐвÑоÑоÑ
Ñанение вклÑÑено":"ÐвÑоÑоÑ
Ñанение вÑклÑÑено")},className:`px-3 py-2 rounded-lg border transition-colors ${k?"border-green-300 bg-green-50 text-green-700":"border-gray-200 bg-white text-gray-600"}`,title:"ÐÑли вклÑÑено â Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑоÑ
ÑанÑÑÑÑÑ Ð°Ð²ÑомаÑиÑеÑки ÑеÑез неÑколÑко ÑекÑнд поÑле пÑавок",children:k?"ÐвÑоÑоÑ
Ñанение: ÐÐÐ":"ÐвÑоÑоÑ
Ñанение: ÐЫÐÐ"}),t.jsx("span",{className:"text-gray-500",children:x||D==="saving"?"СоÑ
ÑанÑемâ¦":b?"ÐÑÑÑ Ð½ÐµÑоÑ
ÑанÑннÑе изменениÑ":"ÐÑÑ ÑоÑ
Ñанено"}),E&&!b&&t.jsxs("span",{className:"text-gray-400 font-mono",children:["(",new Date(E).toLocaleTimeString(),")"]})]}),t.jsxs("button",{onClick:()=>v(),disabled:x,className:"px-6 py-3 bg-green-600 text-white rounded-lg font-bold uppercase text-xs tracking-wide hover:bg-green-700 transition-all flex items-center gap-2 shadow-lg disabled:opacity-50 disabled:cursor-not-allowed",children:[x?t.jsx(Ya,{className:"w-4 h-4 animate-spin"}):t.jsx(rv,{className:"w-4 h-4"}),x?"СоÑ
Ñанение...":b?"ÐÐУÐÐÐÐÐÐÐТЬ (еÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ)":"ÐÐУÐÐÐÐÐÐÐТЬ"]}),r.lastSaved&&t.jsxs("span",{className:"text-xs text-gray-400 font-mono",children:["Last saved: ",new Date(r.lastSaved).toLocaleTimeString()]})]})]}),t.jsxs("div",{className:"max-w-7xl mx-auto h-full flex flex-col",children:[o==="database"&&t.jsxs("div",{className:"space-y-6 animate-fade-in",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-8",children:[t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsx("h3",{className:"text-xs font-bold text-gray-400 uppercase tracking-wider mb-2",children:"ÐбÑекÑов в ÐÐ"}),t.jsx("p",{className:"text-3xl font-black text-black",children:(Y==null?void 0:Y.dbItems)||0})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsx("h3",{className:"text-xs font-bold text-gray-400 uppercase tracking-wider mb-2",children:"ÐбÑекÑов в LocalStorage"}),t.jsx("p",{className:"text-3xl font-black text-black",children:(Y==null?void 0:Y.lsItems)||0})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsx("h3",{className:"text-xs font-bold text-gray-400 uppercase tracking-wider mb-2",children:"Ð Ð°Ð·Ð¼ÐµÑ Ñ
ÑанилиÑа"}),t.jsx("p",{className:"text-3xl font-black text-black",children:(Y==null?void 0:Y.lsSize)||"0 MB"})]})]}),t.jsx("div",{className:"bg-white p-8 rounded-xl border border-gray-200 shadow-sm space-y-6",children:t.jsxs("div",{children:[t.jsx("h3",{className:"text-lg font-bold text-black uppercase mb-4",children:"РезеÑвное копиÑование (Ðолное)"}),t.jsx("p",{className:"text-sm text-gray-500 mb-4",children:"СоÑ
ÑанÑÐµÑ Ð²Ñе наÑÑÑойки, ÑоваÑÑ, заказÑ, полÑзоваÑелей и ÑпиÑок админиÑÑÑаÑоÑов в один Ñайл."}),t.jsxs("div",{className:"flex flex-wrap gap-4",children:[t.jsxs("button",{onClick:T,className:"flex items-center gap-2 px-6 py-3 bg-black text-white font-bold uppercase rounded hover:bg-gray-800 transition-colors",children:[t.jsx(pl,{className:"w-4 h-4"})," СкаÑаÑÑ ÐолнÑй Backup (JSON)"]}),t.jsxs("div",{className:"relative",children:[t.jsxs("button",{onClick:()=>{var w;return(w=U.current)==null?void 0:w.click()},className:"flex items-center gap-2 px-6 py-3 bg-white border-2 border-black text-black font-bold uppercase rounded hover:bg-gray-50 transition-colors",children:[t.jsx(Ka,{className:"w-4 h-4"})," ÐоÑÑÑановиÑÑ Ð¸Ð· Ñайла"]}),t.jsx("input",{ref:U,type:"file",accept:".json",onChange:A,className:"absolute inset-0 opacity-0 cursor-pointer"})]})]})]})})]}
3044),o==="integration"&&t.jsx(Tj,{settings:r.internalShopSettings,onUpdateSettings:P.onUpdateInternalShopSettings,products:r.products,onUpdateProducts:P.onUpdateProducts}),o==="messages"&&t.jsx(_j,{settings:r.internalShopSettings,onUpdateSettings:P.onUpdateInternalShopSettings}),o==="support"&&t.jsx(Ej,{settings:r.supportSettings,onUpdateSettings:P.onUpdateSupportSettings,products:r.products}),o==="admin_users"&&t.jsx(kj,{admins:r.admins,onUpdateAdmins:P.onUpdateAdmins,currentUserEmail:r.currentUserEmail}),o==="customers"&&t.jsx(Oj,{logoImage:r.logoImage}),o==="content_pages"&&t.jsx("div",{className:"h-[calc(100vh-140px)]",children:t.jsx(Cj,{pages:r.pages,onUpdatePages:P.onUpdatePages,navigate:r.navigate})}),o==="settings"&&t.jsx(fj,{isOpen:!0,onClose:()=>{},isPanel:!0,...P,currentPath:"/admin"}),o==="catalog"&&t.jsx(pj,{isOpen:!0,onClose:()=>{},isPanel:!0,catalogSeo:r.catalogSeo,onUpdateCatalogSeo:P.onUpdateCatalogSeo,products:r.products,onUpdateProducts:P.onUpdateProducts,categories:r.categories,onUpdateCategories:P.onUpdateCategories,marketplaces:r.marketplaces,onResetDefaults:r.onResetDefaults,onExportConfig:r.onExportConfig,onImportConfig:r.onImportConfig,initialEditingProductId:r.targetProductId,navigate:r.navigate}),o==="stock"&&t.jsx(gj,{products:r.products,categories:r.categories,onUp
3044dateProducts:P.onUpdateProducts,navigate:r.navigate}),o==="filters"&&t.jsx("div",{className:"h-[calc(100vh-200px)]",children:t.jsx(bj,{categories:r.categories,products:r.products,onUpdateCategories:P.onUpdateCategories})}),o==="statistics"&&t.jsx(yj,{products:r.products,settings:r.internalShopSettings,onUpdateSettings:P.onUpdateInternalShopSettings}),o==="sales"&&t.jsxs("div",{className:"bg-white p-8 rounded-xl border border-gray-200 shadow-sm animate-fade-in",children:[t.jsxs("div",{className:"flex items-center justify-between mb-8",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-2xl font-black text-black uppercase",children:"УпÑавление ÐÑодажами"}),t.jsx("p",{className:"text-gray-500 text-sm mt-1",children:"ÐдеÑÑ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полноÑÑÑÑ Ð¾ÑклÑÑиÑÑ ÑÑнкÑÐ¸Ñ Ð¿Ð¾ÐºÑпок на ÑайÑе."})]}),t.jsx("div",{className:`px-4 py-2 rounded-full font-bold uppercase text-sm ${r.internalShopSettings.enableSales?"bg-green-100 text-green-700":"bg-red-100 text-red-700"}`,children:r.internalShopSettings.enableSales?"ÐÑодажи ÐÐÐЮЧÐÐЫ":"ÐÑодажи ÐТÐÐЮЧÐÐЫ"})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[t.jsxs("div",{className:`border-2 rounded-xl p-8 cursor-pointer transition-all shadow-md hover:shadow-lg ${r.internalShopSettings.enableSales?"border-green-500 bg-green-50":"border-gray-300 bg-white hover:border-gray-400"}`,onClick:()=>P.onUpdateInternalShopSettings({...r.internalShopSettings,enableSales:!r.internalShopSettings.enableSales}),children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("div",{className:`p-3 rounded-full ${r.internalShopSettings.enableSales?"bg-green-200":"bg-gray-200"}`,children:t.jsx(Jt,{className:`w-8 h-8 ${r.internalShopSettings.enableSales?"text-green-700":"text-gray-500"}`})}),t.jsx("div",{className:`w-12 h-6 rounded-full relative transition-colors ${r.internalShopSettings.enableSales?"bg-green-500":"bg-gray-300"}`,children:t.jsx("div",{className:`absolute top-1 w-4 h-4 rounded-full bg-white shadow-sm transition-transform ${r.internalShopSettings.enableSales?"left-7":"left-1"}`})})]}),t.jsx("h3",{className:"font-black text-xl text-black uppercase mb-2",children:r.internalShopSettings.enableSales?"ÐÐÐ ÐÐÐÐ ÐÐТÐÐÐÐ":"ÐÐÐ ÐÐÐРСÐРЫТÐ"}),t.jsx("p",{className:"text-sm text-gray-600 font-medium",children:r.internalShopSettings.enableSales?"ÐоÑеÑиÑели видÑÑ ÑенÑ, ÐºÐ½Ð¾Ð¿ÐºÑ 'РкоÑзинÑ' и могÑÑ Ð¾ÑоÑмлÑÑÑ Ð·Ð°ÐºÐ°Ð·Ñ.":"Ð¡Ð°Ð¹Ñ ÑабоÑÐ°ÐµÑ Ð² Ñежиме каÑалога. Ð¦ÐµÐ½Ñ Ð¸ кнопка 'РкоÑзинÑ' ÑкÑÑÑÑ."})]}),t.jsxs("div",{className:`border-2 rounded-xl p-8 cursor-pointer transition-all shadow-md hover:shadow-lg ${r.internalShopSettings.maintenanceMode?"border-orange-500 bg-orange-50":"border-gray-300 bg-white hover:border-gray-400"}`,onClick:()=>P.onUpdateInternalShopSettings({...r.internalShopSettings,maintenanceMode:!r.internalShopSettings.maintenanceMode}),children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("div",{className:`p-3 rounded-full ${r.internalShopSettings.maintenanceMode?"bg-orange-200":"bg-gray-200"}`,children:t.jsx(io,{className:`w-8 h-8 ${r.internalShopSettings.maintenanceMode?"text-orange-700":"text-gray-500"}`})}),t.jsx("div",{className:`w-12 h-6 rounded-full relative transition-colors ${r.internalShopSettings.maintenanceMode?"bg-orange-500":"bg-gray-300"}`,children:t.jsx("div",{className:`absolute top-1 w-4 h-4 rounded-full bg-white shadow-sm transition-transform ${r.internalShopSettings.maintenanceMode?"left-7":"left-1"}`})})]}),t.jsx("h3",{className:"font-black text-xl text-black uppercase mb-2",children:r.internalShopSettings.maintenanceMode?"ТÐÐ¥. Ð ÐÐÐТЫ ÐÐÐ":"СÐÐТ Ð ÐÐÐТÐÐТ"}),t.jsx("p",{className:"text-sm text-gray-600 font-medium",children:"ÐакÑÑÑÑ Ð´Ð¾ÑÑÑп к ÑайÑÑ Ð´Ð»Ñ Ð¿Ð¾ÑеÑиÑелей (заглÑÑка). ÐÑ (как админ) пÑодолжиÑе видеÑÑ ÑайÑ."})]})]})]}
3044),o==="orders"&&t.jsx(vj,{settings:r.internalShopSettings}),o==="delivery_payment"&&t.jsx(wj,{settings:r.internalShopSettings,onUpdate:P.onUpdateInternalShopSettings}),o==="order_settings"&&t.jsxs("div",{className:"space-y-6 animate-fade-in",children:[t.jsx(Nj,{settings:r.internalShopSettings,onUpdate:P.onUpdateInternalShopSettings}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsxs("h3",{className:"text-lg font-bold text-black uppercase mb-4 flex items-center gap-2",children:[t.jsx(Jt,{className:"w-5 h-5"})," ÐÐ¸Ð´Ð¶ÐµÑ Ðагазина"]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx(Pi,{children:"Ðазвание магазина (в виджеÑе)"}),t.jsx("input",{value:r.internalShopSettings.title,onChange:w=>r.onUpdateInternalShopSettings({...r.internalShopSettings,title:w.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2.5 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Pi,{children:"Ðодзаголовок"}),t.jsx("input",{value:r.internalShopSettings.subtitle,onChange:w=>r.onUpdateInternalShopSettings({...r.internalShopSettings,subtitle:w.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2.5 bg-white text-black"})]}),t.jsxs("div",{children:[t.jsx(Pi,{children:"СÑÑлка виджеÑа (пÑи клике)"}),t.jsx("input",{value:r.internalShopSettings.link,onChange:w=>r.onUpdateInternalShopSettings({...r.internalShopSettings,link:w.target.value}),className:"w-full text-sm border border-gray-300 rounded p-2.5 bg-white text-blue-600"})]})]}),t.jsxs("div",{className:"flex flex-col items-center justify-center bg-gray-50 rounded-xl border border-dashed border-gray-300 p-6",children:[t.jsxs("div",{className:"w-24 h-24 bg-white rounded-full flex items-center justify-center shadow-sm mb-4 relative overflow-hidden group",children:[r.internalShopSettings.image?t.jsx("img",{src:r.internalShopSettings.image,className:"w-full h-full object-contain p-2"}):t.jsx(Jt,{className:"w-10 h-10 text-gray-300"}),t.jsxs("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 flex items-center justify-center transition-opacity cursor-pointer",children:[t.jsx(fr,{className:"w-6 h-6 text-white"}),t.jsx("input",{type:"file",className:"absolute inset-0 opacity-0 cursor-pointer",onChange:w=>K(w,V=>r.onUpdateInternalShopSettings({...r.internalShopSettings,image:V}))})]})]}),t.jsx("p",{className:"text-xs font-bold uppercase text-gray-500",children:"ÐогоÑип магазина"})]})]})]}),t.jsxs("div",{className:"bg-white p-6 rounded-xl border border-gray-200 shadow-sm",children:[t.jsxs("h3",{className:"text-lg font-bold text-black uppercase mb-4 flex items-center gap-2",children:[t.jsx(Ql,{className:"w-5 h-5"})," ÐимиÑÑ"]}),t.jsxs("div",{children:[t.jsx(Pi,{children:"ÐинималÑÐ½Ð°Ñ ÑÑмма заказа (ÑÑб)"}),t.jsx("input",{type:"number",value:r.internalShopSettings.minOrderSum||0,onChange:w=>r.onUpdateInternalShopSettings({...r.internalShopSettings,minOrderSum:parseInt(w.target.value)||0}),className:"w-full text-sm border border-gray-300 rounded p-2.5 bg-white text-black max-w-xs",placeholder:"0 = без огÑаниÑений"}),t.jsx("p",{className:"text-xs text-gray-500 mt-1",children:"ÐÐ»Ð¸ÐµÐ½Ñ Ð½Ðµ ÑÐ¼Ð¾Ð¶ÐµÑ Ð¾ÑоÑмиÑÑ Ð·Ð°ÐºÐ°Ð·, еÑли ÑÑмма коÑÐ·Ð¸Ð½Ñ Ð¼ÐµÐ½ÑÑе ÑÑого знаÑениÑ."})]})]})]})]})]})]})},zj=({navigate:r,logoImage:o})=>(j.useEffect(()=>{document.title="ТеÑ
ниÑеÑкие ÑабоÑÑ | VOROTEX";const d=(c,h)=>{let m=document.querySelector(`meta[name="${c}"]`);m||(m=document.createElement("meta"),m.setAttribute("name",c),document.head.appendChild(m)),m.setAttribute("content",h)};d("robots","noindex, nofollow"),d("description","Ð¡Ð°Ð¹Ñ Ð²Ñеменно недоÑÑÑпен изâза ÑеÑ
ниÑеÑкиÑ
ÑабоÑ. ÐопÑобÑйÑе позже.")},[]),t.jsxs("div",{className:"min-h-screen bg-[#050505] text-white flex flex-col items-center justify-center p-4 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-20 pointer-events-none"}),t.jsx("div",{className:"absolute top-0 right-0 w-[50vw] h-[50v
3044w] bg-[#ff3b30] opacity-5 rounded-full blur-[150px] animate-pulse-slow"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-[40vw] h-[40vw] bg-blue-600 opacity-5 rounded-full blur-[150px] animate-pulse-slow delay-1000"}),t.jsxs("div",{className:"relative z-10 max-w-2xl text-center",children:[t.jsxs("div",{className:"mb-12 relative inline-block",children:[t.jsx("div",{className:"absolute inset-0 bg-[#ff3b30] blur-2xl opacity-20 rounded-full animate-pulse"}),t.jsx(_n,{isDarkText:!1,customImage:o,className:"scale-150 relative z-10"})]}),t.jsxs("h1",{className:"text-4xl md:text-6xl font-black uppercase tracking-tighter mb-6",children:[t.jsx("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-white to-gray-500",children:"СиÑÑема"})," ",t.jsx("span",{className:"text-[#ff3b30]",children:"ÐбновлÑеÑÑÑ"})]}),t.jsx("p",{className:"text-gray-400 text-lg md:text-xl font-medium mb-12 max-w-lg mx-auto leading-relaxed border-l-2 border-[#ff3b30] pl-6",children:"ÐÑ Ð¿Ñоводим плановое ÑеÑ
ниÑеÑкое обÑлÑживание ÑеÑвеÑов и обновлÑем каÑалог. Ð¡Ð°Ð¹Ñ ÑкоÑо веÑнеÑÑÑ Ñ Ð½Ð¾Ð²Ñми ÑиÑами и дÑопами."}),t.jsxs("div",{className:"inline-flex items-center gap-3 bg-white/5 border border-white/10 px-6 py-3 rounded-full mb-12",children:[t.jsx("div",{className:"w-3 h-3 bg-yellow-500 rounded-full animate-ping"}),t.jsx("div",{className:"w-3 h-3 bg-yellow-500 rounded-full absolute"}),t.jsx("span",{className:"text-sm font-mono text-yellow-500 uppercase tracking-widest",children:"Work in Progress"})]}),t.jsxs("div",{className:"mt-8 border-t border-white/10 pt-8 flex items-center justify-center gap-6",children:[t.jsx("a",{href:"#",className:"text-gray-500 hover:text-white transition-colors",children:t.jsx(fo,{className:"w-5 h-5"})}),t.jsx("a",{href:"#",className:"text-gray-500 hover:text-white transition-colors",children:t.jsx(Mp,{className:"w-5 h-5"})}),t.jsx("a",{href:"#",className:"text-gray-500 hover:text-white transition-colors",children:t.jsx(pu,{className:"w-5 h-5"})})]})]}),t.jsxs("div",{className:"absolute bottom-8 right-8 flex items-center gap-2 opacity-30 font-mono text-xs",children:[t.jsx(yl,{className:"w-4 h-4 animate-spin",style:{animationDuration:"3s"}}),t.jsx("span",{children:"V.2.5.0 BUILD_992"})]}),r&&t.jsx("button",{onClick:()=>r("/login"),className:"absolute top-8 right-8 p-2 text-gray-700 hover:text-white transition-colors z-50 opacity-20 hover:opacity-100",title:"Admin Login",children:t.jsx(Sp,{className:"w-5 h-5"})})]})),Bj=({categories:r,products:o,pages:d,navigate:c})=>{j.useEffect(()=>{document.title="ÐаÑÑа ÑайÑа (Sitemap) | VOROTEX",window.scrollTo(0,0),((y,u)=>{let f=document.querySelector(`meta[name="${y}"]`);f||(f=document.createElement("meta"),f.setAttribute("name",y),document.head.appendChild(f)),f.setAttribute("content",u)})("robots","noindex, follow")},[]);const h=m=>{m.startsWith("http")?window.open(m,"_blank"):c(m)};return t.jsx("div",{className:"pt-32 pb-20 min-h-screen bg-white text-black",children:t.jsxs("div",{className:"max-w-4xl mx-auto px-6",children:[t.jsxs("button",{onClick:()=>c("/"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-8 transition-colors group font-medium text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"})," Ðа главнÑÑ"]}),t.jsxs("h1",{className:"text-4xl font-black uppercase mb-12 flex items-center gap-4",children:[t.jsx(c2,{className:"w-10 h-10 text-[#ff3b30]"})," ÐаÑÑа ÑайÑа"]}),t.jsxs("div",{className:"space-y-12",children:[t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-bold uppercase mb-4 pb-2 border-b border-gray-200 flex items-center gap-2 text-gray-500",children:[t.jsx(Sv,{className:"w-5 h-5"})," ÐÑновнÑе ÑазделÑ"]}),t.jsxs("ul",{className:"grid grid-cols-1 md:grid-cols-2 gap-2",children:[t.jsx("li",{children:t.jsx("button",{onClick:()=>
3044h("/"),className:"hover:text-[#ff3b30] hover:underline",children:"ÐлавнаÑ"})}),t.jsx("li",{children:t.jsx("button",{onClick:()=>h("/catalog"),className:"hover:text-[#ff3b30] hover:underline",children:"ÐаÑалог"})}),t.jsx("li",{children:t.jsx("button",{onClick:()=>h("/support"),className:"hover:text-[#ff3b30] hover:underline",children:"ÐоддеÑжка"})})]})]}),t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-bold uppercase mb-4 pb-2 border-b border-gray-200 flex items-center gap-2 text-gray-500",children:[t.jsx(ws,{className:"w-5 h-5"})," ÐаÑегоÑии ÑоваÑов"]}),t.jsx("ul",{className:"grid grid-cols-1 md:grid-cols-2 gap-2",children:r.map(m=>t.jsx("li",{children:t.jsx("button",{onClick:()=>h(m.link),className:"hover:text-[#ff3b30] hover:underline font-bold",children:m.name})},m.id))})]}),t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-bold uppercase mb-4 pb-2 border-b border-gray-200 flex items-center gap-2 text-gray-500",children:[t.jsx(ws,{className:"w-5 h-5"})," ТоваÑÑ"]}),t.jsx("ul",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:o.map(m=>{var y;return t.jsx("li",{children:t.jsxs("button",{onClick:()=>h(`/product/${m.id}`),className:"hover:text-[#ff3b30] hover:underline text-sm flex flex-col items-start",children:[t.jsx("span",{className:"font-bold",children:m.name}),t.jsx("span",{className:"text-xs text-gray-400 uppercase",children:(y=r.find(u=>u.id===m.category))==null?void 0:y.name})]})},m.id)})})]}),t.jsxs("div",{children:[t.jsxs("h2",{className:"text-xl font-bold uppercase mb-4 pb-2 border-b border-gray-200 flex items-center gap-2 text-gray-500",children:[t.jsx(mr,{className:"w-5 h-5"})," ÐнÑоÑмаÑиÑ"]}),t.jsx("ul",{className:"grid grid-cols-1 md:grid-cols-2 gap-2",children:d.map(m=>m.isVisible!==!1&&m.isVisible!==!1&&t.jsx("li",{children:t.jsx("button",{onClick:()=>h(`/page/${m.slug}`),className:"hover:text-[#ff3b30] hover:underline",children:m.title})},m.id))})]})]})]})})},Vj=({isOpen:r,onClose:o,favorites:d,onToggleFavorite:c,onAddToCart:h,enableSales:m,compareList:y=[],onToggleCompare:u,navigate:N})=>t.jsxs(t.Fragment,{children:[t.jsx("div",{className:`fixed inset-0 bg-black/60 backdrop-blur-sm z-[60] transition-opacity duration-300 ${r?"opacity-100":"opacity-0 pointer-events-none"}`,onClick:o}),t.jsx("div",{className:`fixed top-0 right-0 h-full w-full max-w-md bg-white border-l border-gray-100 shadow-2xl z-[70] transform transition-transform duration-300 ease-out ${r?"translate-x-0":"translate-x-full"}`,children:t.jsxs("div",{className:"flex flex-col h-full",children:[t.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-100",children:[t.jsxs("h2",{className:"text-2xl font-black text-black uppercase tracking-tighter flex items-center gap-2",children:[t.jsx(jn,{className:"text-[#ff3b30] fill-current"})," ÐзбÑанное"]}),t.jsx("button",{onClick:o,className:"text-gray-400 hover:text-black transition-colors",children:t.jsx(xt,{className:"w-6 h-6"})})]}),t.jsx("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:d.length===0?t.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-gray-400 opacity-50",children:[t.jsx(jn,{className:"w-16 h-16 mb-4"}),t.jsx("p",{className:"text-lg font-bold uppercase",children:"СпиÑок пÑÑÑ"}),t.jsx("p",{className:"text-xs",children:"ÐобавлÑйÑе ÑоваÑÑ, ÑÑÐ¾Ð±Ñ Ð½Ðµ поÑеÑÑÑÑ"})]}):d.map(f=>t.jsxs("div",{className:"flex gap-4 bg-gray-50 p-3 rounded-xl border border-gray-100 group relative",children:[t.jsx("div",{className:"w-20 h-20 rounded-lg overflow-hidden bg-white shrink-0 border border-gray-200 cursor-pointer hover:border-black transition-colors",onClick:()=>{o();N(`/product/${f.id}`)},children:t.jsx("img",{src:f.image,alt:f.name,className:"w-full h-full object-contain p-1"})}),t.jsxs("div",{className:"flex-1 flex flex-col justify-between",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"font-bold text-black text-sm uppercase pr-6 cursor-pointer hover:text-[#ff3b30] transition-colors",onClick:()=>{o();N(`/product/${f.id}`)},children:f.name}),t.jsxs("p",{className:"text-gray-500 font-bold text-xs mt-1",children:[f.price.toLocaleStr
3044ing()," ",nt]})]}),t.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[m&&t.jsxs("button",{onClick:()=>{h(f)},className:"text-xs font-bold uppercase bg-black text-white py-1.5 px-3 rounded hover:bg-[#ff3b30] transition-colors flex items-center gap-2 w-fit",children:[t.jsx(js,{className:"w-3 h-3"})," РкоÑзинÑ"]}),u&&t.jsx("button",{onClick:()=>u(f),className:`text-xs font-bold uppercase py-1.5 px-2 rounded border border-gray-300 transition-colors flex items-center gap-2 w-fit ${y.some(x=>x.id===f.id)?"bg-gray-200 text-black":"text-gray-500 hover:text-black hover:border-black"}`,title:"СÑавниÑÑ",children:t.jsx(br,{className:"w-3 h-3"})})]})]}),t.jsx("button",{onClick:()=>c(f),className:"absolute top-3 right-3 text-red-500 hover:text-red-700 bg-white rounded-full p-1.5 shadow-sm opacity-0 group-hover:opacity-100 transition-opacity",title:"УдалиÑÑ Ð¸Ð· избÑанного",children:t.jsx(jt,{className:"w-4 h-4"})})]},f.id))})]})})]}),$x=["ÐÑгономиÑнÑй дизайн","Тип клавиаÑÑÑÑ","ÐонÑÑÑÑкÑиÑ","ÐолиÑеÑÑво клавиÑ","РаÑкладка","ÐаÑеÑиал коÑпÑÑа","ÐаÑеÑиал клавиÑ","Тип кейкапов","СвиÑÑи","Тип ÑвиÑÑей","ÐикÑопеÑеклÑÑаÑели","РеÑÑÑÑ ÐºÐ»Ð°Ð²Ð¸Ñ","СкоÑоÑÑÑ Ð¾Ñклика","СенÑоÑ","DPI","ÐолиÑеÑÑво кнопок","ÐакÑималÑное ÑÑкоÑение","ЧаÑÑоÑа опÑоÑа","ÐеÑ","ÐиÑплей","РегÑлÑÑÐ¾Ñ Ð³ÑомкоÑÑи","ÐодÑвеÑка","ÐодклÑÑение","ÐмкоÑÑÑ Ð°ÐºÐºÑмÑлÑÑоÑа","ÐиÑиевÑй аккÑмÑлÑÑоÑ","РабоÑий Ñок","РазмеÑÑ","Ðлина кабелÑ","ÐоддеÑжка ÐС","ÐалиÑие ÑоÑÑа"],Lj=({products:r,categories:o,onRemove:d,onAddToCart:c,navigate:h,enableSales:m})=>{var C;j.useEffect(()=>{document.title="СÑавнение ÑоваÑов | VOROTEX";const g=(E,_)=>{let k=document.querySelector(`meta[name="${E}"]`);k||(k=document.createElement("meta"),k.setAttribute("name",E),document.head.appendChild(k)),k.setAttribute("content",_)},O=E=>{let _=document.querySelector('link[rel="canonical"]');_||(_=document.createElement("link"),_.setAttribute("rel","canonical"),document.head.appendChild(_)),_.setAttribute("href",E)};g("robots","noindex, nofollow"),g("description","СÑавнение ÑоваÑов VOROTEX."),O(`${window.location.origin}/compare`)},[]);const y=j.useMemo(()=>{const g=new Set(r.map(O=>O.category));return o.filter(O=>g.has(O.id))},[r,o]),[u,f]=j.useState(null);j.useEffect(()=>{y.length>0?(!u||!y.find(g=>g.id===u))&&f(y[0].id):f(null)},[y,u]);const x=j.useMemo(()=>u?r.filter(g=>g.category===u):[],[r,u]),N=((C=o.find(g=>g.id===u))==null?void 0:C.name)||"ТоваÑÑ",b=j.useMemo(()=>{const g=new Set;x.forEach(R=>{R.specs&&Object.keys(R.specs).forEach(D=>g.add(D))});const O=Array.from(g),E=o.find(R=>R.id===u),_=new Set;return E!=null&&E.specFields&&E.specFields.forEach(R=>{R.hideInComparison&&(_.add(R.name),_.add(R.id))}),O.filter(R=>!_.has(R)).sort((R,D)=>{const te=$x.indexOf(R),W=$x.indexOf(D);return te!==-1&&W!==-1?te-W:te!==-1?-1:W!==-1?1:R.localeCompare(D)})},[x,o,u]);return r.length===0?t.jsxs("div",{className:"pt-32 pb-20 min-h-screen flex flex-col items-center justify-center bg-white text-black px-6 text-center",children:[t.jsx(br,{className:"w-16 h-16 text-gray-300 mb-4 mx-auto"}),t.jsx("h2",{className:"text-2xl font-bold uppercase mb-2",children:"СпиÑок ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿ÑÑÑ"}),t.jsx("p",{className:"text-gray-500 mb-6",children:"ÐобавÑÑе ÑоваÑÑ Ð¸Ð· каÑалога, ÑÑÐ¾Ð±Ñ ÑÑавниÑÑ Ð¸Ñ
Ñ
аÑакÑеÑиÑÑики."}),t.jsx("button",{onClick:()=>h("/catalog"),className:"px-6 py-3 bg-black text-white rounded font-bold hover:bg-[#ff3b30] transition-colors",children:"ÐеÑейÑи в каÑалог"})]}):t.jsx("div",{className:"pt-32 pb-20 min-h-screen bg-white",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4",children:[t.jsxs("div",{className:"mb-8",children:[t.jsxs("button",{onClick:()=>h("/catalog"),className:"flex items-center gap-2 text-gray-500 hover:text-black mb-4 transition-colors group font-medium text-sm uppercase tracking-wide",children:[t.jsx(Ca,{className:"w-4 h-4 group-hover:-translate-x-1 transition-transform"})," ÐеÑнÑÑÑÑÑ Ð² каÑалог"]}),t.jsxs("h1",{className:"text-3xl md:text-4xl font-black uppercase text-black tracking-tighter flex items-center gap-3",children:[t.jsx(br,{className:"w-8 h-8 md:w-10 md:h-10 text-[#ff3b30]"}),"СÑавнение"]})]}),t.jsx("div",{className:"flex flex-wrap gap-3 mb-8 border-b border-gray-200 pb-4 overflow-x-auto",children:y.map(g=>{const O=r.filter(E=>E.category===g.id).length;return t.jsxs("button",{onClick:()=>f(g.id),className:`px-4 py-2 rounded-full text-sm font-bold uppercase transition-all flex items-center gap-2 border whitespace-nowrap ${u===g.id?"bg-black text-white border-black shadow-lg":"bg-white text-gray-500 border-gray-200 hover:border-black hover:text-black"}`,children:[g.name,t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded-full font-mono ${u===g.id?"bg-white text-black":"bg-gray-100 text-gray-600"}`,children:O})]},g.id)})}),t.jsx("div",{className:"overflow-x-auto pb-4 custom-scrollbar animate-fade-in",children:t.jsx("div",{className:"min-w-[800px]",children:t.jsxs("div",{className:"grid",style:{gridTemplateColumns:`250px repeat(${x.length}, minmax(200px, 1fr))`},children:[t.jsx("div",{className:"p-4 flex items-end font-bold text-gray-400 text-sm uppercase border-b border-gray-200",children:N}),x.map(g=>t.jsxs("div",{className:"p-4 border-b border-gray-200 border-l border-gray-100 relative group bg-white hover:bg-gray-50 transition-colors",children:[t.jsx("button",{onClick:()=>d(g),className:"absolute top-2 right-2 text-gray-300 hover:text-red-500 transition-colors",title:"УбÑаÑÑ Ð¸Ð· ÑÑавнениÑ",children:t.jsx(xt,{className:"w-5 h-5"})}),t.jsx("div",{className:"aspect-[4/3] mb-4 flex items-center justify-center p-2 cursor-pointer",onClick:()=>h(`/product/${g.id}`),children:t.jsx("img",{src:g.image,alt:g.name,className:"w-full h-full object-contain mix-blend-multiply"})}),t.jsx("h3",{className:"font-bold text-lg uppercase mb-2 cursor-pointer hover:text-[#ff3b30] transition-colors",onClick:()=>h(`/product/${g.id}`),children:g.name}),t.jsxs("div",{className:"flex items-center justify-between mt-auto",children:[t.jsxs("div",{className:"font-bold text-xl",children:[g.price.toLocaleStr
3044ing()," ",nt]}),m&&t.jsx("button",{onClick:()=>c(g),className:"w-10 h-10 bg-black text-white rounded-lg flex items-center justify-center hover:bg-[#ff3b30] transition-colors shadow-sm",title:"РкоÑзинÑ",children:t.jsx(js,{className:"w-4 h-4"})})]})]},g.id)),b.map((g,O)=>t.jsxs(oo.Fragment,{children:[t.jsx("div",{className:`p-4 text-sm font-bold text-gray-600 uppercase flex items-center ${O%2===0?"bg-gray-50":"bg-white"}`,children:g.replace(/_/g," ")}),x.map(E=>{var _;return t.jsx("div",{className:`p-4 text-sm text-black border-l border-gray-100 flex items-center ${O%2===0?"bg-gray-50":"bg-white"}`,children:((_=E.specs)==null?void 0:_[g])||"-"},`${E.id}-${g}`)})]},g)),b.length===0&&x.length>0&&t.jsxs("div",{className:"col-span-full py-12 text-center text-gray-400",children:[t.jsx(Ql,{className:"w-8 h-8 mx-auto mb-2 opacity-50"}),"ÐÐµÑ Ð¾Ð±ÑиÑ
Ñ
аÑакÑеÑиÑÑик Ð´Ð»Ñ Ð¾ÑобÑажениÑ"]})]})})})]})})},Uj=({navigate:r})=>{const[o,d]=j.useState(1),[c,h]=j.useState(!1),[m,y]=j.useState(!0),[u,f]=j.useState(!1),[x,N]=j.useState(null),[b,C]=j.useState({db_host:"localhost",db_name:"",db_user:"",db_pass:"",admin_login:"admin",admin_pass:""});j.useEffect(()=>{(async()=>{try{const _=new AbortController,k=setTimeout(()=>_.abort(),5e3),R=await fetch("/api/status.php",{signal:_.signal});clearTimeout(k);const D=await R.text();try{const te=JSON.parse(D);f(!0),te.installed&&(oe.error("СиÑÑема Ñже ÑÑÑановлена!"),r("/"))}catch{console.warn("Server status check failed (Invalid JSON):",D),N(D.substring(0,100)),f(!1)}}catch{f(!1)}finally{y(!1)}})()},[r]);const g=E=>{C({...b,[E.target.name]:E.target.value})},O=async()=>{if(!u){h(!0),setTimeout(()=>{h(!1),d(3),oe.success("УÑÑановка завеÑÑена (Режим ÑимÑлÑÑии)",{icon:"ð",duration:4e3})},2e3);return}h(!0);try{const E=await fetch("/api/install.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),_=await E.text();console.log("Raw Server Response:",_);let k;try{k=JSON.parse(_)}catch{const D=_.length>200?_.substring(0,200)+"...":_;throw new Error(`ÐÑÐ²ÐµÑ ÑеÑвеÑа не JSON (ÐÑибка PHP): ${D}`)}if(E.ok&&k.status==="success"){d(3);const R=JSON.parse(localStorage.getItem("vorotex_admins")||"[]");oe.success("УÑÑановка ÑÑпеÑно завеÑÑена!")}else throw new Error(k.message||"ÐÑибка ÑÑÑановки")}catch(E){oe.error(E.message||"ÐÑибка ÑоединениÑ",{duration:6e3})}finally{h(!1)}};return m?t.jsxs("div",{className:"min-h-screen bg-[#050505] flex flex-col items-center justify-center text-white",children:[t.jsx(so,{className:"w-12 h-12 animate-spin text-[#ff3b30] mb-4"}),t.jsx("p",{className:"text-gray-500 font-mono text-sm uppercase tracking-widest",children:"Checking System Environment..."})]}):t.jsxs("div",{className:"min-h-screen bg-[#050505] text-white flex flex-col items-center justify-center p-4 relative overflow-hidden font-sans",children:[t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-20 pointer-events-none"}),t.jsx("div",{className:"absolute top-0 right-0 w-1/2 h-full bg-[#ff3b30]/5 blur-[100px] pointer-events-none"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-1/2 h-full bg-blue-600/5 blur-[100px] pointer-events-none"}),t.jsxs("div",{className:"w-full max-w-3xl bg-[#111] border border-gray-800 rounded-2xl shadow-2xl overflow-hidden relative z-10 transition-all duration-500",children:[t.jsxs("div",{className:"bg-black p-8 border-b border-gray-800 flex flex-col md:flex-row items-center justify-between gap-6",children:[t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"p-3 bg-white/5 rounded-xl border border-white/10 shadow-lg shadow-red-500/10",children:t.jsx(cw,{className:"w-8 h-8 text-[#ff3b30]"})}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-2xl font-black uppercase tracking-wide text-white",children:"VOROTEX INSTALLER"}),t.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[u?t.jsxs("span",{className:"text-[10px] font-bold text-black bg-green-500 px-2 py-0.5 rounded uppercase flex items-center gap-1",children:[t.jsx(wn,{className:"w-3 h-3"})," Server Online (PHP)"]}):t.jsxs("span",{className:"text-[10px] font-bold text-black bg-yellow-500 px-2 py-0.5 rounded uppercase flex items-center gap-1",children:[t.jsx(Cw,{className:"w-3 h-3"})," ",x?"PHP Error":"Offline Demo"]}),t.jsx("span",{className:"text-[10px] text-gray-600 font-mono",children:"v2.5.2"})]})]})]}),t.jsx("div",{className:"opacity-80 scale-90 grayscale hover:grayscale-0 transition-all duration-500",children:t.jsx(_n,{isDarkText:!1})})]}),t.jsxs("div",{className:"flex border-b border-gray-800 bg-[#0a0a0a]",children:[t.jsx("div",{className:`flex-1 py-4 text-center text-xs font-bold uppercase tracking-widest transition-colors duration-300 ${o>=1?"text-[#ff3b30] bg-white/5":"text-gray-600"}`,children:"1. Ðаза ÐаннÑÑ
"}),t.jsx("div",{className:"w-px bg-gray-800"}),t.jsx("div",{className:`flex-1 py-4 text-center text-xs font-bold uppercase tracking-widest transition-colors duration-300 ${o>=2?"text-[#ff3b30] bg-white/5":"text-gray-600"}`,children:"2. ÐдминиÑÑÑаÑоÑ"}),t.jsx("div",{className:"w-px bg-gray-800"}),t.jsx("div",{className:`flex-1 py-4 text-center text-xs font-bold uppercase tracking-widest transition-colors duration-300 ${o>=3?"text-green-500 bg-green-500/10":"text-gray-600"}`,children:"3. ÐоÑово"})]}),t.jsxs("div",{className:"p-8 md:p-12 min-h-[420px] flex flex-col relative",children:[x&&o<3&&t.jsxs("div",{className:"mb-8 bg-red-900/10 border border-red-700/30 p-4 rounded-xl text-red-500 text-xs flex items-start gap-3",children:[t.jsx(Ql,{className:"w-5 h-5 shrink-0 mt-0.5"}),t.jsxs("div",{className:"leading-relaxed font-mono break-all",children:[t.jsx("strong",{className:"block uppercase mb-1 font-sans",children:"ÐÑибка ÑеÑвеÑа (api/status.php)"}),x]})]}),o===1&&t.jsxs("div",{className:"space-y-6 animate-fade-in flex-1",children:[t.jsx("div",{className:"bg-blue-900/20 border border-blue-800/30 p-4 rounded-xl mb-6",children:t.jsxs("p",{className:"text-blue-400 text-xs leading-relaxed",children:[t.jsx("strong",{children:"Ðажно:"})," ÐведиÑе даннÑе Ð¾Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
MySQL, коÑоÑÑе вам пÑедоÑÑавил Ñ
оÑÑинг. ",t.jsx("br",{}),"ÐÑо ",t.jsx("strong",{children:"ÐÐ"})," логин и паÑÐ¾Ð»Ñ Ð¾Ñ Ð²Ð°Ñей поÑÑÑ Ð¸Ð»Ð¸ админки ÑайÑа."]})}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase ml-1",children:"ХоÑÑ ÐÐ (ÐбÑÑно localhost)"}),t.jsxs("div",{className:"relative group",children:[t.jsx(B2,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500 group-focus-within:text-[#ff3b30] transition-colors"}),t.jsx("input",{name:"db_host",value:b.db_host,onChange:g,className:"w-full bg-[#050505] border border-gray-700 rounded-xl py-3.5 pl-11 pr-4 text-sm text-white focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] outline-none transition-all placeholder-gray-700 font-mono",placeholder:"localhost"})]})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase ml-1",children:"ÐÐ¼Ñ ÐÐ°Ð·Ñ ÐаннÑÑ
"}),t.jsxs("div",{className:"relative group",children:[t.jsx(wp,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500 group-focus-within:text-[#ff3b30] transition-colors"}),t.jsx("input",{name:"db_name",value:b.db_name,onChange:g,className:"w-full bg-[#050505] border border-gray-700 rounded-xl py-3.5 pl-11 pr-4 text-sm text-white focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] outline-none transition-all placeholder-gray-700 font-mono",placeholder:"u12345_vorotex"})]})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase ml-1",children:"ÐолÑзоваÑÐµÐ»Ñ ÐÐ (ÐÑ Ñ
оÑÑинга)"}),t.jsxs("div",{className:"relative group",children:[t.jsx(Jl,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500 group-focus-within:text-[#ff3b30] transition-colors"}
3044),t.jsx("input",{name:"db_user",value:b.db_user,onChange:g,className:"w-full bg-[#050505] border border-gray-700 rounded-xl py-3.5 pl-11 pr-4 text-sm text-white focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] outline-none transition-all placeholder-gray-700 font-mono",placeholder:"u12345_user"})]})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase ml-1",children:"ÐаÑÐ¾Ð»Ñ ÐолÑзоваÑÐµÐ»Ñ ÐÐ"}),t.jsxs("div",{className:"relative group",children:[t.jsx(Sp,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500 group-focus-within:text-[#ff3b30] transition-colors"}),t.jsx("input",{name:"db_pass",type:"password",value:b.db_pass,onChange:g,className:"w-full bg-[#050505] border border-gray-700 rounded-xl py-3.5 pl-11 pr-4 text-sm text-white focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] outline-none transition-all placeholder-gray-700 font-mono",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢â¢â¢â¢â¢"})]})]})]}),t.jsx("div",{className:"flex justify-end pt-8 mt-auto",children:t.jsxs("button",{onClick:()=>{if(!b.db_name&&u){oe.error("ÐведиÑе ÐÐ¼Ñ ÐÐ°Ð·Ñ ÐаннÑÑ
");return}d(2)},className:"bg-white text-black px-8 py-3.5 rounded-xl font-black uppercase text-xs tracking-wider hover:bg-[#ff3b30] hover:text-white transition-all hover:scale-105 active:scale-95 flex items-center gap-2 shadow-lg",children:["Ðалее ",t.jsx(Cn,{className:"w-4 h-4"})]})})]}),o===2&&t.jsxs("div",{className:"space-y-6 animate-fade-in flex-1",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("h2",{className:"text-2xl font-black text-white mb-2 uppercase",children:"Создание ÐдминиÑÑÑаÑоÑа"}),t.jsx("p",{className:"text-gray-500 text-sm max-w-sm mx-auto",children:"ÐÑи даннÑе Ð²Ñ Ð±ÑдеÑе иÑполÑзоваÑÑ Ð´Ð»Ñ Ð²Ñ
ода в админ-Ð¿Ð°Ð½ÐµÐ»Ñ ÑайÑа."})]}),t.jsxs("div",{className:"space-y-4 max-w-md mx-auto",children:[t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase ml-1",children:"Ðогин (Email)"}),t.jsx("input",{name:"admin_login",value:b.admin_login,onChange:g,className:"w-full bg-[#050505] border border-gray-700 rounded-xl py-3.5 px-6 text-sm text-white focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] outline-none transition-all text-center font-bold"})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-[10px] font-bold text-gray-500 uppercase ml-1",children:"ÐаÑолÑ"}),t.jsx("input",{name:"admin_pass",type:"password",value:b.admin_pass,onChange:g,className:"w-full bg-[#050505] border border-gray-700 rounded-xl py-3.5 px-6 text-sm text-white focus:border-[#ff3b30] focus:ring-1 focus:ring-[#ff3b30] outline-none transition-all text-center font-bold",placeholder:"â¢â¢â¢â¢â¢â¢"})]})]}),t.jsxs("div",{className:"flex justify-between pt-8 mt-auto",children:[t.jsx("button",{onClick:()=>d(1),className:"text-gray-500 hover:text-white font-bold uppercase text-xs transition-colors px-4 py-2",children:"Ðазад"}),t.jsx("button",{onClick:O,disabled:c,className:"bg-[#ff3b30] text-white px-8 py-3.5 rounded-xl font-black uppercase text-xs tracking-wider hover:bg-red-600 transition-all hover:scale-105 active:scale-95 flex items-center gap-2 shadow-lg disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-800",children:c?t.jsx(so,{className:"w-4 h-4 animate-spin"}):"УÑÑановиÑÑ"})]})]}),o===3&&t.jsxs("div",{className:"flex flex-col items-center justify-center flex-1 animate-fade-in text-center",children:[t.jsx("div",{className:"w-24 h-24 bg-green-500 rounded-full flex items-center justify-center mb-8 shadow-[0_0_50px_rgba(34,197,94,0.4)] animate-bounce",children:t.jsx(wn,{className:"w-12 h-12 text-black"})}),t.jsx("h2",{className:"text-3xl font-black text-white mb-4 uppercase",children:"УÑÑановка завеÑÑена!"}),t.jsx("p",{className:"text-gray-400 max-w-md mb-8 leading-relaxed",children:u?"Ð¡Ð°Ð¹Ñ ÑÑпеÑно наÑÑÑоен. Файл config.php Ñоздан. ТепеÑÑ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе войÑи в Ð¿Ð°Ð½ÐµÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑа, иÑполÑзÑÑ ÑозданнÑй логин.":"ÐемонÑÑÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÑÑановка завеÑÑена. Ð ÑеалÑнÑÑ
ÑÑловиÑÑ
здеÑÑ Ð±Ñл Ð±Ñ Ñоздан Ñайл конÑигÑÑаÑии."}),t.jsx("button",{onClick:()=>{window.location.href="/",window.location.reload()},className:"bg-white text-black px-10 py-4 rounded-xl font-black uppercase text-sm tracking-wider hover:bg-green-500 hover:text-white transition-all shadow-xl hover:shadow-green-500/20",children:"ÐеÑейÑи на ÑайÑ"})]})]})]})]})},Hj=({navigate:r})=>{const[o,d]=j.useState(!1);j.useEffect(()=>{if(!localStorage.getItem("vorotex_cookie_consent")){const u=setTimeout(()=>{d(!0)},1e3);return()=>clearTimeout(u)}},[]);const c=()=>{localStorage.setItem("vorotex_cookie_consent","true"),d(!1)},h=()=>{d(!1)},m=y=>{y.preventDefault(),r&&r("/page/privacy")};return o?t.jsx("div",{className:"fixed bottom-0 left-0 right-0 z-[100] p-4 animate-fade-in-up",children:t.jsxs("div",{className:"max-w-7xl mx-auto bg-white border border-gray-200 shadow-2xl rounded-2xl p-4 md:p-6 flex flex-col md:flex-row items-center justify-between gap-4 md:gap-8 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-32 h-32 bg-gray-50 rounded-full blur-3xl -translate-y-1/2 translate-x-1/2 -z-10"}),t.jsxs("div",{className:"flex items-start gap-4",children:[t.jsx("div",{className:"p-3 bg-black text-white rounded-xl flex-shrink-0",children:t.jsx(cv,{className:"w-6 h-6"})}),t.jsxs("div",{children:[t.jsx("h4",{className:"text-sm font-bold uppercase text-black mb-1",children:"Ð¤Ð°Ð¹Ð»Ñ Cookie"}),t.jsxs("p",{className:"text-xs md:text-sm text-gray-600 leading-relaxed max-w-2xl",children:["ÐÑÐ¾Ð´Ð¾Ð»Ð¶Ð°Ñ Ð¸ÑполÑзоваÑÑ ÑайÑ, Ð²Ñ ÑоглаÑаеÑеÑÑ Ñ Ð½Ð°Ñей ",t.jsx("a",{href:"/page/privacy",onClick:m,className:"text-[#ff3b30] font-bold hover:underline transition-colors",children:"ÐолиÑикой конÑиденÑиалÑноÑÑи"})," и обÑабоÑкой пеÑÑоналÑнÑÑ
даннÑÑ
."]})]})]}),t.jsxs("div",{className:"flex items-center gap-3 w-full md:w-auto",children:[t.jsx("button",{onClick:c,className:"flex-1 md:flex-none px-6 py-3 bg-black text-white text-xs font-bold uppercase rounded-xl hover:bg-[#ff3b30] transition-colors shadow-lg min-w-[140px] text-center",children:"ХоÑоÑо, пÑинимаÑ"}),t.jsx("button",{onClick:h,className:"p-3 text-gray-400 hover:text-black hover:bg-gray-100 rounded-xl transition-colors",title:"ÐакÑÑÑÑ",children:t.jsx(xt,{className:"w-5 h-5"})})]})]})}):null},Xj=({settings:r})=>{if(!r.show||r.items.length===0)return null;const o=c=>{const h="w-4 h-4 flex-shrink-0";switch(c){case"truck":return t.jsx(Pa,{className:h});case"shield":return t.jsx(kn,{className:h});case"zap":return t.jsx(gu,{className:h});case"globe":return t.jsx(vs,{className:h});case"star":return t.jsx(Va,{className:h});case"flame":return t.jsx(Nv,{className:h});default:return null}},d=[...r.items,...r.items,...r.items,...r.items];return t.jsx("div",{className:"overflow-hidden relative border-y border-black/5 z-10 select-none",style:{backgroundColor:r.backgroundColor,color:r.textColor},children:t.jsx("div",{className:"flex animate-marquee whitespace-nowrap items-center py-3 transform-gpu",style:{animationDuration:`${(window.innerWidth<768?Math.max(6,r.speed*0.3):r.speed)}s`},children:d.map((c,h)=>t.jsxs("div",{className:"flex items-center gap-3 mx-8",children:[o(c.icon),t.jsxs("div",{className:"flex flex-col justify-center leading-none",children:[t.jsx("span",{className:`text-xs md:text-sm uppercase tracking-widest ${c.isBold?"font-black":"font-medium"}`,children:c.text}),c.description&&t.jsx("span",{className:"text-[10px] opacity-80 uppercase tracking-wider font-medium",children:c.description})]}),t.jsx("span",{className:"ml-8 opacity-30",children:"â¢"})]},`${c.id}-${h}`))})})},Ij=({user:r,onLogout:o,navigate:d,statuses:c=Vp})=>{const[h,m]=j.useState([]);j.useEffect(()=>{(async()=>
3044{try{const f=await fetch("/api/get_my_orders.php"),x=f.headers.get("content-type")||"";if(!f.ok)throw new Error(`HTTP ${f.status}`);if(!x.includes("application/json"))throw new Error("Not JSON");const N=await f.json();if(N.status==="success"&&Array.isArray(N.orders)){m(N.orders);return}throw new Error(N.message||"ÐÑибка")}catch{const N=JSON.parse(localStorage.getItem("vorotex_demo_orders")||"[]").filter(b=>{var C;return b.userId===r.id||((C=b.customer)==null?void 0:C.email)===r.email});m(N)}})()},[r]);const y=u=>c.find(x=>x.id===u)||{label:u,color:"#999"};return t.jsx("div",{className:"pt-32 pb-20 min-h-screen bg-gray-50",children:t.jsxs("div",{className:"max-w-5xl mx-auto px-6",children:[t.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center mb-8 gap-4",children:[t.jsxs("div",{children:[t.jsx("h1",{className:"text-3xl font-black uppercase text-black",children:"ÐиÑнÑй кабинеÑ"}),t.jsxs("p",{className:"text-gray-500 mt-1",children:["ÐобÑо пожаловаÑÑ, ",r.name,"!"]})]}),t.jsxs("button",{onClick:o,className:"flex items-center gap-2 px-4 py-2 bg-gray-100 border border-gray-300 rounded-lg hover:bg-gray-200 text-black text-sm font-bold uppercase transition-colors shadow-sm",children:[t.jsx(Ep,{className:"w-4 h-4"})," ÐÑйÑи"]})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:[t.jsxs("div",{className:"bg-white p-6 rounded-2xl border border-gray-200 shadow-sm h-fit",children:[t.jsxs("h2",{className:"text-sm font-bold uppercase text-gray-400 mb-4 flex items-center gap-2",children:[t.jsx(Jl,{className:"w-4 h-4"})," ÐÑоÑилÑ"]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase font-bold text-gray-400",children:"ÐмÑ"}),t.jsx("div",{className:"text-black font-bold",children:r.name})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase font-bold text-gray-400",children:"Email"}),t.jsx("div",{className:"text-black font-bold",children:r.email})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] uppercase font-bold text-gray-400",children:"ÐаÑа ÑегиÑÑÑаÑии"}),t.jsx("div",{className:"text-black text-sm",children:new Date(r.registrationDate).toLocaleDateString()})]})]})]}),t.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[t.jsxs("h2",{className:"text-xl font-bold uppercase text-black flex items-center gap-2",children:[t.jsx(ws,{className:"w-5 h-5"})," Ðои заказÑ"]}),h.length===0?t.jsxs("div",{className:"bg-white p-12 rounded-2xl border border-gray-200 text-center text-gray-400",children:[t.jsx(ws,{className:"w-12 h-12 mx-auto mb-3 opacity-20"}),t.jsx("p",{children:"У Ð²Ð°Ñ Ð¿Ð¾ÐºÐ° Ð½ÐµÑ Ð·Ð°ÐºÐ°Ð·Ð¾Ð²"}),t.jsx("button",{onClick:()=>d("/catalog"),className:"mt-4 text-[#ff3b30] font-bold uppercase hover:underline text-sm",children:"ÐеÑейÑи в каÑалог"})]}):h.map(u=>{const f=y(u.status),x=u.itemsTotal||u.items.reduce((b,C)=>b+C.price*C.quantity,0),N=u.deliveryCost||0;return t.jsxs("div",{className:"bg-white rounded-2xl border border-gray-200 overflow-hidden shadow-sm hover:shadow-md transition-shadow",children:[t.jsxs("div",{className:"p-4 border-b border-gray-100 flex flex-wrap justify-between items-center bg-gray-50/50 gap-2",children:[t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsxs("span",{className:"font-bold text-black text-lg",children:["Ðаказ #",u.id]}),t.jsx("span",{className:"text-xs text-gray-500",children:new Date(u.date).toLocaleDateString()})]}),t.jsx("span",{className:"px-3 py-1 rounded-full text-xs font-bold uppercase text-white shadow-sm",style:{backgroundColor:f.color},children:f.label})]}),t.jsxs("div",{className:"p-4",children:[t.jsx("div",{className:"space-y-3 mb-4",children:u.items.map((b,C)=>t.jsxs("div",{className:"flex items-center gap-4",children:[t.jsx("div",{className:"w-12 h-12 bg-gray-100 rounded border border-gray-100 overflow-hidden shrink-0",children:t.jsx("img",{src:b.image,className:"w-full h-full object-cover"})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-bold text-black truncate",children:b.name}),b.selectedOptions&&t.jsx("div",{className:"text-[10px] text-gray-400",children:Object.values(b.selectedOptions).join(" / ")})]}),t.jsxs("div",{className:"text-right text-sm",children:[t.jsxs("div",{className:"font-bold text-black",children:[b.price.toLocaleStr
3044ing()," ",nt]}),t.jsxs("div",{className:"text-xs text-gray-400",children:["x ",b.quantity]})]})]},C))}),t.jsxs("div",{className:"flex flex-wrap gap-4 mb-4 pt-4 border-t border-gray-100 text-xs text-gray-600",children:[u.delivery&&t.jsxs("div",{className:"flex items-center gap-1 bg-gray-50 px-2 py-1 rounded border border-gray-200",children:[t.jsx(Pa,{className:"w-3 h-3"}),t.jsx("span",{className:"uppercase font-bold",children:u.delivery})]}),u.payment&&t.jsxs("div",{className:"flex items-center gap-1 bg-gray-50 px-2 py-1 rounded border border-gray-200",children:[t.jsx(po,{className:"w-3 h-3"}),t.jsx("span",{className:"uppercase font-bold",children:u.payment})]}),u.trackingNumber&&t.jsxs("div",{className:"flex items-center gap-1 bg-blue-50 text-blue-700 px-2 py-1 rounded border border-blue-100",children:[t.jsx(i2,{className:"w-3 h-3"}),t.jsx("span",{className:"font-mono font-bold",children:u.trackingNumber})]})]}),t.jsxs("div",{className:"flex flex-col gap-1 border-t border-gray-100 pt-3 items-end text-sm",children:[t.jsxs("div",{className:"flex justify-between w-48 text-gray-500",children:[t.jsx("span",{children:"ТоваÑÑ:"}),t.jsxs("span",{children:[x.toLocaleString()," ",nt]})]}),t.jsxs("div",{className:"flex justify-between w-48 text-gray-500",children:[t.jsx("span",{children:"ÐоÑÑавка:"}),t.jsx("span",{children:N>0?`${N} ${nt}`:"ÐеÑплаÑно"})]}),t.jsxs("div",{className:"flex justify-between w-48 text-black font-black text-lg mt-1",children:[t.jsx("span",{children:"ÐÑого:"}),t.jsxs("span",{children:[u.total.toLocaleString()," ",nt]})]})]})]})]},u.id)})]})]})]})})},Gj=({navigate:r})=>(j.useEffect(()=>{document.title="404 â СÑÑаниÑа не найдена | VOROTEX";const o=(d,c)=>{let h=document.querySelector(`meta[name="${d}"]`);h||(h=document.createElement("meta"),h.setAttribute("name",d),document.head.appendChild(h)),h.setAttribute("content",c)};o("robots","noindex, nofollow"),o("description","СÑÑаниÑа не найдена.")},[]),t.jsxs("div",{className:"min-h-screen bg-[#0a0a0a] text-white flex flex-col items-center justify-center p-4 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-cyber-net opacity-10 pointer-events-none"}),t.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-transparent via-[#ff3b30] to-transparent opacity-50 animate-pulse"}),t.jsx("div",{className:"absolute bottom-0 right-0 w-1/2 h-1/2 bg-blue-600/10 blur-[150px] rounded-full pointer-events-none"}),t.jsx("div",{className:"absolute top-1/4 left-1/4 w-64 h-64 bg-[#ff3b30]/10 blur-[120px] rounded-full pointer-events-none"}),t.jsxs("div",{className:"relative z-10 text-center max-w-2xl",children:[t.jsxs("div",{className:"relative mb-8 select-none",children:[t.jsx("h1",{className:"text-[150px] md:text-[200px] font-black leading-none tracking-tighter text-transparent bg-clip-text bg-gradient-to-b from-white to-gray-800 opacity-20 absolute top-0 left-1/2 -translate-x-1/2 blur-sm",children:"404"}),t.jsxs("h1",{className:"text-[100px] md:text-[150px] font-black leading-none tracking-tighter text-white relative z-10 drop-shadow-[0_0_15px_rgba(255,59,48,0.5)]",children:["4",t.jsx("span",{className:"text-[#ff3b30] inline-block animate-pulse",children:"0"}),"4"]})]}),t.jsxs("div",{className:"bg-white/5 backdrop-blur-md border border-white/10 p-8 rounded-2xl shadow-2xl transform hover:scale-105 transition-transform duration-500",children:[t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx("div",{className:"p-4 bg-black rounded-full border border-gray-800 shadow-inner",children:t.jsx(_v,{className:"w-10 h-10 text-[#ff3b30]"})})}),t.jsx("h2",{className:"text-2xl md:text-3xl font-black uppercase mb-4 tracking-wide",children:"УÑÐ¾Ð²ÐµÐ½Ñ Ð½Ðµ найден"}),t.jsx("p",{className:"text-gray-400 text-lg mb-8 leading-relaxed",children:"ÐоÑ
оже, Ð²Ñ Ð·Ð°Ñли в запÑеÑнÑÑ Ð·Ð¾Ð½Ñ Ð¸Ð»Ð¸ ÑÑа ÑÑÑаниÑа бÑла Ñдалена админиÑÑÑаÑоÑом ÑеÑвеÑа. ÐеÑниÑеÑÑ Ð½Ð° базÑ, пока Ð²Ð°Ñ Ð½Ðµ обнаÑÑжили."}),t.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[t.jsxs("button",{onClick:()=>r("/"),className:"w-full sm:w-auto px-8 py-3.5 bg-[#ff3b30] text-white font-bold uppercase rounded-xl hover:bg-red-600 transition-all shadow-[0_0_20px_rgba(255,59,48,0.3)] flex items-center justify-center gap-2 group",children:[t.jsx(Np,{className:"w-4 h-4 group-hover:scale-110 transition-transform"}),"Ðа главнÑÑ"]}),t.jsxs("button",{onClick:()=>window.history.back(),className:"w-full sm:w-auto px-8 py-3.5 bg-transparent border border-white/20 text-white font-bold uppercase rounded-xl hover:bg-white hover:text-black transition-all flex items-center justify-center gap-2",children:[t.jsx(Ca,{className:"w-4 h-4"}),"Ðазад"]})]})]}),t.jsxs("div",{className:"mt-12 flex flex-col sm:flex-row items-center justify-center gap-2 text-[#ff3b30] font-mono text-[11px] sm:text-xs opacity-80 uppercase tracking-widest text-center px-6 pb-4",children:[t.jsx(Ql,{className:"w-4 h-4 sm:w-3 sm:h-3"})," System Error: Page_Not_Found_Exception"]})]})]})),$j=()=>{var r;if(typeof window>"u")return!1;try{if(!(((r=window.location)==null?void 0:r.pathname)||"").startsWith("/admin"))return!1;const d=localStorage.getItem("vorotex_admin_session");if(!d)return!1;const c=JSON.parse(d);return!!(c&&typeof c=="object"&&c.email)}catch{return!1}},Kj=async r=>{try{const o=await fetch("/api/sync_price.php"),d=o.headers.get("content-type");if(!o.ok||!d||!d.includes("application/json"))return console.warn("Sync Service: Backend unavailable or not returning JSON."),r;const c=await o.json();if(c.status!=="success"||!Array.isArray(c.data))return console.warn("Sync Service: Invalid data format",c),r;const h=c.data;let m=0;const y=r.map(u=>{let f=!1,x=u.variants&&u.variants.length>0;if(x){const b=u.variants.map(C=>{const g=C.externalId||C.id?String(C.externalId||C.id):"";if(g){const O=h.find(E=>String(E.externalId)===g);if(O){const E=O.price>0?Math.round(Number(O.price)):C.price,_=O.stock>=0?Number(O.stock):C.stock;let k=C.originalPrice;const R=O.oldprice||O.originalPrice;if(R&&Number(R)>0?k=Math.round(Number(R)):R===0&&(k=void 0),C.price!==E||C.stock!==_||C.originalPrice!==k)return f=!0,m++,{...C,price:E,stock:_,originalPrice
3044:k}}}return C});if(f){const C=b.reduce((g,O)=>g+O.stock,0);return{...u,variants:b,stock:C}}}const N=u.externalId||u.id;if(N&&!x){const b=h.find(C=>String(C.externalId)===String(N));if(b){const C=b.price>0?Math.round(Number(b.price)):u.price,g=b.stock>=0?Number(b.stock):u.stock;let O=u.originalPrice;const E=b.oldprice||b.originalPrice;if(E&&Number(E)>0?O=Math.round(Number(E)):E===0&&(O=void 0),u.price!==C||u.stock!==g||u.originalPrice!==O)return f=!0,m++,{...u,price:C,originalPrice:O,stock:g}}}return u});return m>0&&$j()&&oe.success(`Ð¦ÐµÐ½Ñ Ð¸ оÑÑаÑки Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ñ (${m} позиÑий)`,{icon:"ð",style:{background:"#333",color:"#fff"},duration:4e3}),y}catch(o){return console.error("Sync Service Error:",o),r}},Kx="/placeholder.svg",Ba=r=>{if(!r)return Kx;const o=r.toLowerCase();return o.includes("placehold.co")||o.includes("unsplash.com")||o.includes("images.unsplash.com")?Kx:r},ur=r=>r.map(o=>({...o,externalId:o.externalId||o.id,image:Ba(o.image),gallery:o.gallery?o.gallery.map(Ba):[],variants:o.variants?o.variants.map(d=>({...d,externalId:d.externalId||d.id,image:d.image?Ba(d.image):void 0,images:d.images?d.images.map(Ba):[]})):[],sections:o.sections?o.sections.map(d=>({...d,image:d.image?Ba(d.image):d.image,secondaryImage:d.secondaryImage?Ba(d.secondaryImage):d.secondaryImage})):o.sections})),Id=r=>r.map(o=>({...o,image:Ba(o.image)})),Gd=r=>r.map(o=>({...o,image:o.image?Ba(o.image):o.image})),$d=r=>r.map(o=>({...o,image:Ba(o.image)})),qx={"00-00001948":"00-00001900","00-00001946":"00-00001657","00-00001947":"00-00001656","00-00001950":"00-00001658","00-00001951":"00-00001849"},qj=r=>(r||[]).map(o=>{const d=o==null?void 0:o.selectedVariantId;return d&&qx[d]?{...o,selectedVariantId:qx[d]}:o}),Yj=r=>{const{id:o}=du(),d=o||"",c=Array.isArray(r.favorites)?r.favorites:[],h=Array.isArray(r.compareList)?r.compareList:[],m=c.some(u=>(u==null?void 0:u.id)===d),y=h.some(u=>(u==null?void 0:u.id)===d);return t.jsx(cj,{...r,productId:d,isFavorite:m,isComparing:y})},Pj=r=>{const{slug:o}=du();return t.jsx(nj,{...r,categorySlug:o})},Zj=r=>{const{slug:o}=du();return t.jsx(mj,{...r,slug:o})},Qj=r=>{const[o]=fp(),d=o.get("q")||"";return t.jsx(dj,{...r,searchQuery:d})},Jj=r=>{const[o]=fp(),d=o.get("tab"),c=o.get("edit"),h=d||(c?"catalog":"statistics");return t.jsx(Dj,{...r,initialTab:h,targetProductId:c||void 0})},Wj=({heroSlides:r,categories:o,products:d,onAddToCart:c,navigate:h,marketplaces:m,marketplacesContent:y,reviews:u,logoImage:f,carouselSettings:x,internalShopSettings:N,tickerSettings:b,favorites:C,onToggleFavorite:g,compareList:O,onToggleCompare:E})=>t.jsxs("div",{className:"pt-20",children:[t.jsx(Dw,{onCtaClick:h,slides:r}),t.jsx(Xj,{settings:b}),t.jsx(zw,{categories:o,navigate:h}),x.show&&t.jsx("section",{id:"new-arrivals",className:"py-16 bg-gray-50 border-y border-gray-200",children:t.jsxs("div",{className:"max-w-[1400px] mx-auto px-4",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-3xl font-bold text-black uppercase tracking-widest mb-2",children:x.title}),t.jsx("div",{className:"w-16 h-1 bg-[#ff3b30] mx-auto rounded-full"})]}),t.jsx(Lp,{products:d.filter(_=>_.isNewArrival),onAddToCart:c,navigate:h,enableSales:N.enableSales,favorites:C,onToggleFavorite:g,compareList:O,onToggleCompare:E})]})}),t.jsx(Fw,{marketplaces:m,content:y,logoImage:f,internalShopSettings:N}),t.jsx(Up,{reviews:u,products:d,navigate:h})]}),Fj=()=>{const r=ho(),o=Za(),d=o.pathname,[c,h]=j.useState(ur(fn)),[m,y]=j.useState(Id(Ax)),[u,f]=j.useState(Bx),[x,N]=j.useState({title:"ÐаÑалог",description:"ÐолнÑй каÑалог ÑоваÑов"}),[b,C]=j.useState($d(Yw)),[g,O]=j.useState(qw),[E,_]=j.useState(Pw),[k,R]=j.useState(Zw),[D,te]=j.useState(Dx),[W,$]=j.useState(""),[H,J]=j.useState(Qw),[Y,G]=j.useState(Jw),[U,q]=j.useState(Gd(lu)),[P,pe]=j.useState(Ww),[B,z]=j.useState(zx),[v,T]=j.useState(Vx),[A,K]=j.useState(Lx),[w,V]=j.useState(Bp),[M,X]=j.useState(!0),[le,xe]=j.useState([]),[ge,je]=j.useState([]),[Ne,Ee]=j.useState([]),[Ge,it]=j.useState(!1),[Ua,ce]=j.useState(!1),qR=j.useEffect(()=>{if(!(Ge||Ua))return;xe(Re=>{let Xe=!1,Ie=0,Be=0,Ot=[];for(const Ze of Re){const _a=c.find(Qa=>Qa.id===Ze.id);if(!_a){Ie++,Xe=!0;continue}let gn=(_a.stock||0),Yi=Ze.price,Vi=Ze.image,Lu=_a.variants;try{if(Ze.selectedVariantId&&Array.isArray(_a.variants)&&_a.variants.length){const Qa=_a.variants.find(kn=>kn.id===Ze.selectedVariantId);Qa&&(gn=Qa.stock||0,Yi=(Qa.price||_a.price||Yi),Vi=(Qa.image||_a.image||Vi))}}catch(Qa){}if(gn<=0){Ie++,Xe=!0;continue}let kn=Ze.quantity||0;if(kn>gn){kn=gn,Be++,Xe=!0}Ot.push({...Ze,stock:gn,price:Yi,image:Vi,variants:Lu,quantity:kn})}if(Xe){setTimeout(()=>{try{ft.error(`ÐоÑзина обновлена: ${Ie?`Ñдалено ${Ie}`:""}${Ie&&Be?", ":""}${Be?`кол-во ÑкоÑÑекÑиÑовано Ñ ${Be}`:""}`.trim(),{duration:4e3})}catch(Qa){}},0);return Ot}return Re})},[c,Ge,Ua]),[ve,be]=j.useState(!1),[Oe,Je]=j.useState(()=>!!localStorage.getItem("vorotex_admin_session")),[gt,Fe]=j.useState(""),[Ht,Xt]=j.useState(null),Pe=ke=>{if(ke.startsWith("http"))window.open(ke,"_blank");else if(ke.startsWith("#"))if(o.pathname!=="/")r("/"),setTimeout(()=>{const ie=document.getElementById(ke.substring(1));ie&&ie.scrollIntoView({behavior:"smooth"})},100);else{const ie=document.getElementById(ke.substring(1));ie&&ie.scrollIntoView({behavior:"smooth"})}else r(ke),window.scrollTo(0,0)};j.useEffect(()=>{const ke=(Xe,Ie)=>{let Be=document.querySelector(`meta[name="${Xe}"]`);Be||(Be=document.createElement("meta"),Be.setAttribute("name",Xe),document.head.appendChild(Be)),Be.setAttribute("content",Ie)},ie=(Xe,Ie)=>{let Be=document.querySelector(`meta[property="${Xe}"]`);Be||(Be=document.createElement("meta"),Be.setAttribute("property",Xe),document.head.appendChild(Be)),Be.setAttribute("content",Ie)},We=Xe=>{let Ie=document.querySelector('link[rel="canonical"]');Ie||(Ie=document.createElement("link"),Ie.setAttribute("rel","canonical"),document.head.appendChild(Ie)),Ie.setAttribute("href",Xe)};let Re=document.querySelector("link[rel~='icon']");if(Re||(Re=document.createElement("link"),Re.rel="icon",document.head.appendChild(Re)),Re.href=u.favicon||"/favicon.svg",o.pathname==="/"){document.title=u.title||"VOROTEX",ke("description",u.description||""),u.keywords&&ke("keywords",u.keywords),ke("robots",u.indexing!==!1?"index, follow":"noindex, nofollow");const Ie=`${window.location.origin}/`;We(Ie),ie("og:type","website"),ie("og:url",Ie),ie("og:title",u.title||"VOROTEX"),ie("og:description",u.description||"");const Be=u.ogImage||"";Be&&ie("og:image",Be)}},[u,o.pathname]),j.useEffect(()=>{(async()=>{X(!0);const ie=await Wl.loadData(),We=await ze.get("vorotex_products","vorotex_products_v2"),Re=await ze.get("vorotex_categories");let Xe=fn;if(ie)void 0,ie.products&&h(ur(ie.products)),ie.categories&&y(Id(ie.categories)),ie.seo&&f(ie.seo),ie.heroSlides&&C($d(ie.heroSlides)),ie.navLinks&&O(ie.navLinks),ie.marketplaces&&_(ie.marketplaces),ie.marketplacesContent&&R(ie.marketplacesContent),ie.reviews&&te(ie.reviews),ie.logoImage&&$(Ba(ie.logoImage)),ie.footerColumns&&J(ie.footerColumns),ie.socialLinks&&G(ie.socialLinks),ie.pages&&q(Gd(ie.pages)),ie.carouselSettings&&pe(ie.carouselSettings),ie.internalShopSett
3044ings&&z(ie.internalShopSettings),ie.supportSettings&&T(ie.supportSettings),ie.tickerSettings&&K(ie.tickerSettings),ie.admins&&V(ie.admins),ie.catalogSeo&&N(ie.catalogSeo),Xe=ur(ie.products||fn);else if(We){void 0,h(ur($a(fn,We))),Re&&y(Id($a(Ax,Re)));const _a=await ze.get("vorotex_seo");_a&&f($a(Bx,_a));const Ra=await ze.get("vorotex_catalog_seo");Ra&&N(Ra);const es=await ze.get("vorotex_hero");es&&C($d(es));const wl=await ze.get("vorotex_nav");wl&&O(wl);const jl=await ze.get("vorotex_marketplaces");jl&&_(jl);const Nl=await ze.get("vorotex_mp_content");Nl&&R(Nl);const Z=await ze.get("vorotex_reviews");Z&&te($a(Dx,Z));const me=await ze.get("vorotex_logo");me&&$(Ba(me));const fe=await ze.get("vorotex_footer");fe&&J(fe);const Ae=await ze.get("vorotex_social");Ae&&G(Ae);const yt=await ze.get("vorotex_pages");yt&&q(Gd($a(lu,yt)));const Nt=await ze.get("vorotex_carousel");Nt&&pe(Nt);const Tt=await ze.get("vorotex_internal_shop");Tt&&z($a(zx,Tt));const Ma=await ze.get("vorotex_support");Ma&&T($a(Vx,Ma));const Ss=await ze.get("vorotex_ticker");Ss&&K($a(Lx,Ss));const Rn=await ze.get("vorotex_admins");Rn&&V(Rn),Xe=ur(We||fn)}const Ie=await Kj(Xe);h(ur(Ie));const Be=await ze.get("vorotex_cart");Be&&xe(qj(Be));const Ot=await ze.get("vorotex_favorites");Ot&&je(Ot);const Ze=await ze.get("vorotex_compare");Ze&&Ee(Ze),X(!1)})()},[]),j.useEffect(()=>{(async()=>{try{const ie=await fetch("/api/user_me.php"),We=ie.headers.get("content-type")||"";if(!ie.ok||!We.includes("application/json"))return;const Re=await ie.json();Re.status==="success"&&Re.user&&(Re.csrf&&localStorage.setItem("vorotex_user_csrf",Re.csrf),Xt(Re.user))}catch{}})()},[]),j.useEffect(()=>{ze.set("vorotex_products",c)},[c]),j.useEffect(()=>{ze.set("vorotex_categories",m)},[m]),j.useEffect(()=>{ze.set("vorotex_seo",u)},[u]),j.useEffect(()=>{ze.set("vorotex_catalog_seo",x)},[x]),j.useEffect(()=>{ze.set("vorotex_hero",b)},[b]),j.useEffect(()=>{ze.set("vorotex_nav",g)},[g]),j.useEffect(()=>{ze.set("vorotex_marketplaces",E)},[E]),j.useEffect(()=>{ze.set("vorotex_mp_content",k)},[k]),j.useEffect(()=>{ze.set("vorotex_reviews",D)},[D]),j.useEffect(()=>{ze.set("vorotex_logo",W)},[W]),j.useEffect(()=>{ze.set("vorotex_footer",H)},[H]),j.useEffect(()=>{ze.set("vorotex_social",Y)},[Y]),j.useEffect(()=>{ze.set("vorotex_pages",U)},[U]),j.useEffect(()=>{ze.set("vorotex_carousel",P)},[P]),j.useEffect(()=>{ze.set("vorotex_internal_shop",B)},[B]),j.useEffect(()=>{ze.set("vorotex_support",v)},[v]),j.useEffect(()=>{ze.set("vorotex_ticker",A)},[A]),j.useEffect(()=>{ze.set("vorotex_admins",w)},[w]),j.useEffect(()=>{if(le.length===0){try{const _ls=localStorage.getItem("vorotex_cart");if(_ls&&JSON.parse(_ls).length>0)return}catch(e){}}ze.set("vorotex_cart",le)},[le]),j.useEffect(()=>{if(ge.length===0){try{const _ls=localStorage.getItem("vorotex_favorites");if(_ls&&JSON.parse(_ls).length>0)return}catch(e){}}ze.set("vorotex_favorites",ge)},[ge]),j.useEffect(()=>{if(Ne.length===0){try{const _ls=localStorage.getItem("vorotex_compare");if(_ls&&JSON.parse(_ls).length>0)return}catch(e){}}ze.set("vorotex_compare",Ne)},[Ne]);const se=(ke,ie=!0,We,Re)=>{xe(Xe=>{const Ie=Xe.find(Ze=>ke.variants&&ke.variants.length>0?Ze.id===ke.id&&Ze.selectedVariantId===We:Ze.id===ke.id);if(Ie)return ft.success("ÐолиÑеÑÑво обновлено"),Xe.map(Ze=>Ze===Ie?{...Ze,quantity:Ze.quantity+1}:Ze);let Be=ke.price,Ot=ke.image;if(We&&ke.variants){const Ze=ke.variants.find(_a=>_a.id===We);Ze&&(Be=Ze.price||ke.price,Ot=(Ze.images&&Ze.images.length>0?Ze.images[0]:null)||(Ze.image&&!Ze.image.includes("placeholder")?Ze.image:null)||ke.image)}return ft.success("Ðобавлено в коÑзинÑ"),[...Xe,{...ke,price:Be,image:Ot,quantity:1,selectedVariantId:We,selectedOptions:Re}]}),ie&&it(!0)},ye=(ke,ie)=>{xe(We=>{const Re=[...We],Xe=Re[ke],Ie=Xe.quantity+ie;if(Ie<1)Re.splice(ke,1);else{let Be=Xe.stock;if(Xe.selectedVariantId&&Xe.variants){const Ot=Xe.variants.find(Ze=>Ze.id===Xe.selectedVariantId);Ot&&(Be=Ot.stock)}if(Ie>Be)return ft.error(`ÐоÑÑÑпно ÑолÑко ${Be} ÑÑ.`),We;Re[ke]={...Xe,quantity:Ie}}return Re})},De=ke=>{xe(ie=>ie.filter((We,Re)=>Re!==ke))},et=()=>{xe([]),ce(!1)},Me=()=>{it(!1),ce(!0)},tt=ke=>{je(ie=>ie.find(Re=>Re.id===ke.id)?(ft("Удалено из избÑанного",{icon:"ð"}),ie.filter(Re=>Re.id!==ke.id)):(ft("Ðобавлено в избÑанное",{icon:"â¤ï¸"}),[...ie,ke]))},st=ke=>{Ee(ie=>ie.find(Re=>Re.id===ke.id)?ie.filter(Re=>Re.id!==ke.id):ie.length>=4?(ft.error("ÐакÑимÑм 4 ÑоваÑа Ð´Ð»Ñ ÑÑавнениÑ"),ie):(ft.success("Ðобавлено к ÑÑавнениÑ"),[...ie,ke]))},$t=async(ke,ie)=>{try{const Re=await fetch("/api/login.php",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:ke,password:ie})}),Xe=Re.headers.get("content-type")||"";
3044if(Re.ok&&Xe.includes("application/json")){const Ie=await Re.json();if(Ie.status==="success")return Je(!0),Fe(Ie.email||ke),localStorage.setItem("vorotex_admin_session",JSON.stringify({email:Ie.email||ke,role:Ie.role||"admin"})),Ie.token&&localStorage.setItem("vorotex_admin_token",Ie.token),Ie.csrf&&localStorage.setItem("vorotex_admin_csrf",Ie.csrf),!0}}catch{}const We=w.find(Re=>Re.email===ke&&Re.password===ie);return We?(Je(!0),Fe(We.email),localStorage.setItem("vorotex_admin_session",JSON.stringify({email:We.email,role:We.role})),!0):!1},Kt=ke=>{Xt(ke)},He=async()=>{try{const ke=localStorage.getItem("vorotex_user_csrf");await fetch("/api/user_logout.php",{method:"POST",headers:{"Content-Type":"application/json",...ke?{"X-CSRF-Token":ke}:{}}})}catch{}localStorage.removeItem("vorotex_user_csrf"),Xt(null)},dt=()=>JSON.stringify({products:c,categories:m,seo:u,heroSlides:b,navLinks:g,marketplaces:E,marketplacesContent:k,reviews:D,logoImage:W,footerColumns:H,socialLinks:Y,pages:U,carouselSettings:P,internalShopSettings:B,supportSettings:v,tickerSettings:A,admins:w,catalogSeo:x},null,2),Lt=ke=>{try{const ie=JSON.parse(ke);return ie.products&&h(ie.products),ie.categories&&y(ie.categories),ie.seo&&f(ie.seo),ie.heroSlides&&C(ie.heroSlides),ie.navLinks&&O(ie.navLinks),ie.marketplaces&&_(ie.marketplaces),ie.marketplacesContent&&R(ie.marketplacesContent),ie.reviews&&te(ie.reviews),ie.logoImage&&$(ie.logoImage),ie.footerColumns&&J(ie.footerColumns),ie.socialLinks&&G(ie.socialLinks),ie.pages&&q(ie.pages),ie.carouselSettings&&pe(ie.carouselSettings),ie.internalShopSettings&&z(ie.internalShopSettings),ie.supportSettings&&T(ie.supportSettings),ie.tickerSettings&&K(ie.tickerSettings),ie.admins&&V(ie.admins),ie.catalogSeo&&N(ie.catalogSeo),!0}catch(ie){return console.error(ie),!1}},bt=()=>{window.confirm("СбÑоÑиÑÑ Ð²Ñе наÑÑÑойки к заводÑким? ÐÑо дейÑÑвие необÑаÑимо.")&&(localStorage.clear(),window.location.reload())},vl=o.pathname.startsWith("/admin")||o.pathname.startsWith("/install")||o.pathname==="/login"||o.pathname==="/register",Ta=B.maintenanceMode&&!Oe;return M?t.jsx("div",{className:"min-h-screen flex items-center justify-center bg-black text-white",children:t.jsxs("div",{className:"text-center space-y-3",children:[t.jsx("div",{className:"text-sm uppercase tracking-[0.3em] text-gray-400",children:"VOROTEX"}),t.jsx("div",{className:"text-xl font-bold",children:"ÐагÑÑжаем даннÑе..."})]})}):t.jsxs(t.Fragment,{children:[t.jsx(Wb,{position:"top-center",toastOptions:{style:{background:"#333",color:"#fff"}}}),!vl&&!Ta&&t.jsx(Aw,{cart:le,onOpenCart:()=>it(!0),onOpenSettings:()=>Pe("/admin"),onOpenCatalog:()=>Pe("/catalog"),onScrollToSection:ke=>{const ie=document.getElementById(ke);ie&&ie.scrollIntoView({behavior:"smooth"})},logoImage:W,navLinks:g,navigate:Pe,currentPath:d,isAdmin:Oe,enableSales:B.enableSales,favoritesCount:ge.length,onOpenFavorites:()=>be(!0),compareCount:Ne.length,isUserLoggedIn:!!Ht,onUserIconClick:()=>Pe(Oe?"/admin":Ht?"/dashboard":"/login"),products:c}),t.jsxs($y,{children:[t.jsx(Qt,{path:"/install",element:t.jsx(Uj,{navigate:Pe})}),t.jsx(Qt,{path:"/login",element:t.jsx(Hx,{onAdminLogin:$t,onUserLogin:Kt,navigate:Pe,logoImage:W})}),Ta?t.jsx(Qt,{path:"*",element:t.jsx(zj,{navigate:Pe,logoImage:W})}):t.jsxs(t.Fragment,{children:[t.jsx(Qt,{path:"/",element:t.jsx(Wj,{heroSlides:b,categories:m,products:c,onAddToCart:se,navigate:Pe,marketplaces:E,marketplacesContent:k,reviews:D,logoImage:W,carouselSettings:P,internalShopSettings:B,tickerSettings:A,favorites:ge,onToggleFavorite:tt,compareList:Ne,onToggleCompare:st})}),t.jsx(Qt,{path:"/catalog",element:t.jsx(sj,{categories:m,products:c,onAddToCart:se,navigate:Pe,seo:x,enableSales:B.enableSales,favorites:ge,onToggleFavorite:tt,compareList:Ne,onToggleCompare:st})}),t.jsx(Qt,{path:"/category/:slug",element:t.jsx(Pj,{categories:m,products:c,onAddToCart:se,navigate:Pe,enableSales:B.enableSales,favorites:ge,onToggleFavorite:tt,compareList:Ne,onToggleCompare:st})}),t.jsx(Qt,{path:"/product/:id",element:t.jsx(Yj,{products:c,categories:m,onAddToCart:se,cart:le,onUpdateQuantity:ye,onRemoveItem:De,navigate:Pe,marketplaces:E,marketplacesContent:k,enableSales:B.enableSales,isAdmin:Oe,favorites:ge,onToggleFavorite:tt,compareList:Ne,onToggleCompare:st,reviews:D,supportSettings:v})}),t.jsx(Qt,{path:"/search",element:t.jsx(Qj,{products:c,onAddToCart:se,navigate:Pe,enableSales:B.enableSales,favorites:ge,onToggleFavorite:tt,compareList:Ne,onToggleCompare:st})}),t.jsx(Qt,{path:"/page/:slug",element:t.jsx(Zj,{pages:U.filter(m=>
3044m.isVisible!==!1),navigate:Pe,internalShopSettings:B})}),t.jsx(Qt,{path:"/support",element:t.jsx(hj,{settings:v,navigate:Pe})}),t.jsx(Qt,{path:"/compare",element:t.jsx(Lj,{products:Ne,categories:m,onRemove:st,onAddToCart:se,navigate:Pe,enableSales:B.enableSales})}),t.jsx(Qt,{path:"/keyboard-test",element:t.jsx(class extends j.Component{componentDidMount(){var self=this;this._tested=new Set();this._ff="full";this._down=function(e){e.preventDefault();var code=e.code,root=document.getElementById("vx-kb-root");if(!root)return;var nm=root.querySelector("#kbt-key-name"),cd=root.querySelector("#kbt-key-code"),disp=root.querySelector("#kbt-display");if(nm)nm.textContent=e.key===" "?"Space":e.key;if(cd)cd.textContent=code;if(disp)disp.classList.add("kbt-active-key");root.querySelectorAll("[data-code=\""+code+"\"]").forEach(function(k){k.classList.add("kbt-pressed");});if(!self._tested.has(code)){self._tested.add(code);root.querySelectorAll("[data-code=\""+code+"\"]").forEach(function(k){k.classList.add("kbt-tested");});self._updateStats();}};this._up=function(e){var root=document.getElementById("vx-kb-root");if(!root)return;root.querySelectorAll("[data-code=\""+e.code+"\"]").forEach(function(k){k.classList.remove("kbt-pressed");});var disp=root.querySelector("#kbt-display");if(disp)disp.classList.remove("kbt-active-key");};this._updateStats=function(){var root=document.getElementById("vx-kb-root");if(!root)return;var layout=root.querySelector("#kbl-"+self._ff);if(!layout)return;var codes=new Set();layout.querySelectorAll("[data-code]").forEach(function(k){if(k.dataset.code)codes.add(k.dataset.code);});var tot=codes.size,done=0;codes.forEach(function(c){if(self._tested.has(c))done++;});var pct=tot>0?Math.round(done/tot*100):0,e;e=root.querySelector("#kbt-count");if(e)e.textContent=done;e=root.querySelector("#kbt-total");if(e)e.textContent=tot;e=root.querySelector("#kbt-pct");if(e)e.textContent=pct+"%";e=root.querySelector("#kbt-bar-fill");if(e)e.style.width=pct+"%";};document.addEventListener("keydown",this._down);document.addEventListener("keyup",this._up);var root=document.getElementById("vx-kb-root");if(root){root.querySelectorAll(".kbt-ff-tab").forEach(function(tab){tab.addEventListener("click",function(){self._ff=tab.dataset.ff;root.querySelectorAll(".kbt-ff-tab").forEach(function(b){b.classList.remove("kbt-active");});tab.classList.add("kbt-active");root.querySelectorAll(".kbt-layout").forEach(function(l){l.style.display="none";});var lo=root.querySelector("#kbl-"+self._ff);if(lo)lo.style.display="block";self._updateStats();});});var rb=root.querySelector("#kbt-reset");if(rb)rb.addEventListener("click",function(){self._tested.clear();root.querySelectorAll("[data-code]").forEach(function(k){k.classList.remove("kbt-tested","kbt-pressed");});var nm=root.querySelector("#kbt-key-name");if(nm)nm.textContent="ÐажмиÑе клавиÑÑ";var cd=root.querySelector("#kbt-key-code");if(cd)cd.textContent="";self._updateStats();});root.querySelectorAll(".kbt-faq-item").forEach(function(item){var q=item.querySelector(".kbt-faq-q");if(q)q.addEventListener("click",function(){item.classList.toggle("kbt-open");var icon=item.querySelector(".kbt-faq-icon");if(icon)icon.textContent=item.classList.contains("kbt-open")?"â":"+";});});self._updateStats();var darkBtn=root.querySelector("#kbt-dark-toggle");if(darkBtn)darkBtn.addEventListener("click",function(){root.classList.toggle("kbt-dark");darkBtn.textContent=root.classList.contains("kbt-dark")?"\u2600\ufe0f \u0421\u0432\u0435\u0442\u043b\u0430\u044f":"\ud83c\udf19 \u0422\u0451\u043c\u043d\u0430\u044f";darkBtn.classList.toggle("kbt-active",root.classList.contains("kbt-dark"));});self._lang="en";var langBtn=root.querySelector("#kbt-lang-toggle");if(langBtn)langBtn.addEventListener("click",function(){self._lang=self._lang==="en"?"ru":"en";langBtn.textContent=self._lang==="ru"?"RU":"EN";langBtn.classList.toggle("kbt-active",self._lang==="en");root.querySelectorAll("[data-en]").forEach(function(el){el.textContent=self._lang==="ru"?(el.dataset.ru||el.dataset.en):el.dataset.en;});});self._oldTitle=document.title;document.title="\u0422\u0435\u0441\u0442 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b \u043e\u043d\u043b\u0430\u0439\u043d \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u0441\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 | VOROTEX";var _md=document.querySelector("meta[name=description]");if(!_md){_md=document.createElement("meta");_md.name="description";document.head.appendChild(_md);}self._oldDesc=_md.getAttribute("content")||"";_md.setAttribute("content","\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043e\u043d\u043b\u0430\u0439\u043d \u0442\u0435\u0441\u0442 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b VOROTEX. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043a\u0430\u0436\u0434\u0443\u044e \u043a\u043b\u0430\u0432\u0438\u0448\u0443: 100%, TKL, 75%, 65%, 60% \u0444\u043e\u0440\u043c-\u0444\u0430\u043a\u0442\u043e\u0440\u044b. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 EN/RU \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438.");self._metaDesc=_md;}}componentWillUnmount(){document.removeEventListener("keydown",this._down);document.removeEventListener("keyup",this._up);document.title=this._oldTitle||"VOROTEX";if(this._metaDesc)this._metaDesc.setAttribute("content",this._oldDesc||"");}render(){return t.jsx("div",{id:"vx-kb-root",dangerouslySetInnerHTML:{__html:"<style>#vx-kb-root{background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:112px 0 64px;min-height:60vh}#vx-kb-root *{box-sizing:border-box}.kbt-container{max-width:1100px;margin:0 auto;padding:0 20px}.kbt-hero{text-align:center;padding:0 0 28px}.kbt-hero h1{font-size:clamp(22px,4vw,36px);font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.kbt-hero h1 span{color:#ff3b30}.kbt-hero p{color:#666;font-size:14px}.kbt-stats{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.kbt-stat{background:#f5f5f5;border-radius:10px;padding:10px 22px;text-align:center}.kbt-stat-val{font-size:28px;font-weight:900;color:#ff3b30;line-height:1}.kbt-stat-lbl{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.1em;margin-top:2px}.kbt-progress{height:5px;background:#eee;border-radius:3px;margin-bottom:16px;overflow:hidden}.kbt-progress-fill{height:100%;background:#ff3b30;border-radius:3px;width:0;transition:width .3s}.kbt-key-display{background:#f8f8f8;border:1.5px solid #eee;border-radius:12px;padding:14px 24px;text-align:center;margin-bottom:16px;transition:border-color .15s}.kbt-key-display.kbt-active-key{border-color:#ff3b30}.kbt-kd-main{font-size:26px;font-weight:900;min-height:34px}.kbt-kd-sub{font-size:11px;color:#aaa;font-family:monospace;margin-top:2px;min-height:16px}.kbt-ff-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.kbt-ff-tab{padding:7px 16px;border:1.5px solid #ddd;border-radius:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#666;background:#fff;cursor:pointer;transition:all .18s}.kbt-ff-tab:hover{border-color:#ff3b30;color:#ff3b30}.kbt-ff-tab.kbt-active{background:#ff3b30;border-color:#ff3b30;color:#fff}.kbt-kb-wrap{background:#f0f0f0;border-radius:14px;padding:18px 20px;margin-bottom:14px;overflow-x:auto}.kbt-layout{display:none}
3044.kbt-layout.kbt-show{display:block}.kbt-row{display:flex;gap:4px;margin-bottom:4px;align-items:flex-end}.kbt-k{height:42px;flex:1 1 0;min-width:0;border-radius:6px;background:#fff;border:1px solid #d0d0d0;box-shadow:0 2px 0 #bbb;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#333;cursor:default;transition:background .06s,box-shadow .06s,transform .06s;user-select:none;text-align:center;line-height:1.3;padding:0 4px}.kbt-k.kbt-tested{background:#fff0ef;border-color:#ff3b30;color:#ff3b30;box-shadow:0 2px 0 #e5a0a0}.kbt-k.kbt-pressed{background:#ff3b30!important;border-color:#cc2a20!important;color:#fff!important;box-shadow:none!important;transform:translateY(2px)}.kbt-wfn{flex:0.9 1 0}.kbt-w15{flex:1.5 1 0}.kbt-w175{flex:1.75 1 0}.kbt-w2{flex:2 1 0}.kbt-w225{flex:2.25 1 0}.kbt-w275{flex:2.75 1 0}.kbt-w35{flex:3.5 1 0}.kbt-w625{flex:6.25 1 0}.kbt-wspc{flex:6.25 1 0}.kbt-actions{display:flex;gap:10px;align-items:center;margin-bottom:32px;flex-wrap:wrap}.kbt-btn-reset{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:#fff;border:1.5px solid #ddd;border-radius:8px;font-size:13px;font-weight:700;color:#444;cursor:pointer;transition:all .18s}.kbt-btn-reset:hover{border-color:#ff3b30;color:#ff3b30}.kbt-hint{font-size:13px;color:#999}.kbt-divider{height:1px;background:#eee;margin:28px 0}.kbt-section-title{font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}.kbt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:28px}.kbt-card{background:#f8f8f8;border-radius:10px;padding:18px}.kbt-card-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#ff3b30;margin-bottom:6px}.kbt-card-text{font-size:13px;color:#555;line-height:1.55}.kbt-faq-item{border-bottom:1px solid #eee}.kbt-faq-q{padding:14px 0;font-weight:700;font-size:14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.kbt-faq-icon{font-size:20px;color:#ff3b30;flex-shrink:0;line-height:1}.kbt-faq-a{display:none;padding-bottom:14px;font-size:13px;color:#555;line-height:1.6}.kbt-faq-item.kbt-open .kbt-faq-a{display:block}.kbt-w125{flex:1.25 1 0}.kbt-numpad{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,42px);gap:3px}.kbt-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.kbt-k-span2r{grid-row:span 2;height:auto!important;min-height:87px}.kbt-k-span2c{grid-column:span 2}.kbt-dark .kbt-kb-wrap{background:#2a2a2e}.kbt-dark .kbt-k{background:#3c3c44;border-color:#55555f;color:#e0e0e8;box-shadow:0 2px 0 #111}.kbt-dark .kbt-k.kbt-tested{background:#1a4a2a;border-color:#2d7a4a}.kbt-dark .kbt-k.kbt-pressed{background:#ff3b30;border-color:#ff3b30;color:#fff;box-shadow:none}.kbt-dark .kbt-stat{background:#2a2a2e;border:1px solid #44444e}.kbt-dark .kbt-stat-val{color:#e0e0e8}.kbt-dark .kbt-key-display{background:#2a2a2e;border-color:#55555f;color:#e0e0e8}.kbt-dark .kbt-progress{background:#333}.kbt-dark .kbt-hero h1{color:#e0e0e8}.kbt-dark .kbt-hero p{color:#aaa}.kbt-toggles{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.kbt-toggle-btn{padding:6px 14px;border:1.5px solid #ddd;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;background:#fff;color:#555;transition:all .18s;user-select:none}.kbt-toggle-btn:hover{border-color:#ff3b30;color:#ff3b30}.kbt-toggle-btn.kbt-active{background:#ff3b30;border-color:#ff3b30;color:#fff}.kbt-dark .kbt-toggle-btn{background:#3c3c44;border-color:#55555f;color:#bbb}.kbt-dark .kbt-toggle-btn.kbt-active{background:#ff3b30;border-color:#ff3b30;color:#fff}</style><div class=\"kbt-container\"><div class=\"kbt-hero\"><h1>ТеÑÑ <span>клавиаÑÑÑÑ</span></h1><p>ÐажимайÑе клавиÑи â ÐºÐ°Ð¶Ð´Ð°Ñ Ð½Ð°Ð¶Ð°ÑÐ°Ñ ÑÑÐ°Ð½ÐµÑ ÐºÑаÑной. ÐÑбеÑиÑе ÑоÑм-ÑакÑÐ¾Ñ Ð²Ð°Ñей клавиаÑÑÑÑ.</p></div><div class=\"kbt-stats\"><div class=\"kbt-stat\"><div class=\"kbt-stat-val\" id=\"kbt-count\">0</div><div class=\"kbt-stat-lbl\">ÐÑоÑеÑÑиÑовано</div></div><div class=\"kbt-stat\"><div class=\"kbt-stat-val\" id=\"kbt-total\">0</div><div class=\"kbt-stat-lbl\">ÐÑего клавиÑ</div></div><div class=\"kbt-stat\"><div class=\"kbt-stat-val\" id=\"kbt-pct\">0%</div><div class=\"kbt-stat-lbl\">ÐавеÑÑено</div></div></div><div class=\"kbt-progress\"><div class=\"kbt-progress-fill\" id=\"kbt-bar-fill\"></div></div>
3044<div class=\"kbt-key-display\" id=\"kbt-display\"><div class=\"kbt-kd-main\" id=\"kbt-key-name\">ÐажмиÑе клавиÑÑ</div><div class=\"kbt-kd-sub\" id=\"kbt-key-code\"></div></div><div class=\"kbt-ff-tabs\"><button class=\"kbt-ff-tab kbt-active\" data-ff=\"full\">100%</button><button class=\"kbt-ff-tab\" data-ff=\"tkl\">TKL 87%</button><button class=\"kbt-ff-tab\" data-ff=\"75\">75%</button><button class=\"kbt-ff-tab\" data-ff=\"65\">65%</button><button class=\"kbt-ff-tab\" data-ff=\"60\">60%</button></div><div class=\"kbt-toggles\"><button class=\"kbt-toggle-btn\" id=\"kbt-dark-toggle\">ð ТÑÐ¼Ð½Ð°Ñ Ñема</button><button class=\"kbt-toggle-btn kbt-active\" id=\"kbt-lang-toggle\">EN</button></div><div class=\"kbt-kb-wrap\"><div id=\"kbl-full\" class=\"kbt-layout kbt-show\"><div class=\"kbt-row\"><div class=\"kbt-k kbt-wfn\" data-code=\"Escape\">Esc</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k kbt-wfn\" data-code=\"F1\">F1</div><div class=\"kbt-k kbt-wfn\" data-code=\"F2\">F2</div><div class=\"kbt-k kbt-wfn\" data-code=\"F3\">F3</div><div class=\"kbt-k kbt-wfn\" data-code=\"F4\">F4</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k kbt-wfn\" data-code=\"F5\">F5</div><div class=\"kbt-k kbt-wfn\" data-code=\"F6\">F6</div><div class=\"kbt-k kbt-wfn\" data-code=\"F7\">F7</div><div class=\"kbt-k kbt-wfn\" data-code=\"F8\">F8</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k kbt-wfn\" data-code=\"F9\">F9</div><div class=\"kbt-k kbt-wfn\" data-code=\"F10\">F10</div><div class=\"kbt-k kbt-wfn\" data-code=\"F11\">F11</div><div class=\"kbt-k kbt-wfn\" data-code=\"F12\">F12</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k\" data-code=\"PrintScreen\">Prt</div><div class=\"kbt-k\" data-code=\"ScrollLock\">Scr</div><div class=\"kbt-k\" data-code=\"Pause\">Brk</div></div><div style=\"height:6px\"></div><div style=\"display:flex;gap:12px;align-items:stretch\"><div style=\"flex:1\"><div class=\"kbt-row\"><div class=\"kbt-k\" data-code=\"Backquote\" data-en=\"`~\" data-ru=\"Ñ\">`~</div><div class=\"kbt-k\" data-code=\"Digit1\">1</div><div class=\"kbt-k\" data-code=\"Digit2\">2</div><div class=\"kbt-k\" data-code=\"Digit3\">3</div><div class=\"kbt-k\" data-code=\"Digit4\">4</div><div class=\"kbt-k\" data-code=\"Digit5\">5</div><div class=\"kbt-k\" data-code=\"Digit6\">6</div><div class=\"kbt-k\" data-code=\"Digit7\">7</div><div class=\"kbt-k\" data-code=\"Digit8\">8</div><div class=\"kbt-k\" data-code=\"Digit9\">9</div><div class=\"kbt-k\" data-code=\"Digit0\">0</div><div class=\"kbt-k\" data-code=\"Minus\">-</div><div class=\"kbt-k\" data-code=\"Equal\">=</div><div class=\"kbt-k kbt-w2\" data-code=\"Backspace\">Bksp</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w15\" data-code=\"Tab\">Tab</div><div class=\"kbt-k\" data-code=\"KeyQ\" data-en=\"Q\" data-ru=\"й\">Q</div><div class=\"kbt-k\" data-code=\"KeyW\" data-en=\"W\" data-ru=\"Ñ\">W</div><div class=\"kbt-k\" data-code=\"KeyE\" data-en=\"E\" data-ru=\"Ñ\">E</div><div class=\"kbt-k\" data-code=\"KeyR\" data-en=\"R\" data-ru=\"к\">R</div><div class=\"kbt-k\" data-code=\"KeyT\" data-en=\"T\" data-ru=\"е\">T</div><div class=\"kbt-k\" data-code=\"KeyY\" data-en=\"Y\" data-ru=\"н\">Y</div><div class=\"kbt-k\" data-code=\"KeyU\" data-en=\"U\" data-ru=\"г\">U</div><div class=\"kbt-k\" data-code=\"KeyI\" data-en=\"I\" data-ru=\"Ñ\">I</div><div class=\"kbt-k\" data-code=\"KeyO\" data-en=\"O\" data-ru=\"Ñ\">O</div><div class=\"kbt-k\" data-code=\"KeyP\" data-en=\"P\" data-ru=\"з\">P</div><div class=\"kbt-k\" data-code=\"BracketLeft\" data-en=\"[\" data-ru=\"Ñ
\">[</div><div class=\"kbt-k\" data-code=\"BracketRight\" data-en=\"]\" data-ru=\"Ñ\">]</div><div class=\"kbt-k kbt-w15\" data-code=\"Backslash\" data-en=\"\\\" data-ru=\"\\\">\\</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w175\" data-code=\"CapsLock\">Caps</div><div class=\"kbt-k\" data-code=\"KeyA\" data-en=\"A\" data-ru=\"Ñ\">A</div><div class=\"kbt-k\" data-code=\"KeyS\" data-en=\"S\" data-ru=\"Ñ\">S</div><div class=\"kbt-k\" data-code=\"KeyD\" data-en=\"D\" data-ru=\"в\">D</div><div class=\"kbt-k\" data-code=\"KeyF\" data-en=\"F\" data-ru=\"а\">F</div><div class=\"kbt-k\" data-code=\"KeyG\" data-en=\"G\" data-ru=\"п\">
3044G</div><div class=\"kbt-k\" data-code=\"KeyH\" data-en=\"H\" data-ru=\"Ñ\">H</div><div class=\"kbt-k\" data-code=\"KeyJ\" data-en=\"J\" data-ru=\"о\">J</div><div class=\"kbt-k\" data-code=\"KeyK\" data-en=\"K\" data-ru=\"л\">K</div><div class=\"kbt-k\" data-code=\"KeyL\" data-en=\"L\" data-ru=\"д\">L</div><div class=\"kbt-k\" data-code=\"Semicolon\" data-en=\";\" data-ru=\"ж\">;</div><div class=\"kbt-k\" data-code=\"Quote\" data-en=\"'\" data-ru=\"Ñ\">'</div><div class=\"kbt-k kbt-w225\" data-code=\"Enter\">Enter</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w225\" data-code=\"ShiftLeft\">Shift</div><div class=\"kbt-k\" data-code=\"KeyZ\" data-en=\"Z\" data-ru=\"Ñ\">Z</div><div class=\"kbt-k\" data-code=\"KeyX\" data-en=\"X\" data-ru=\"Ñ\">X</div><div class=\"kbt-k\" data-code=\"KeyC\" data-en=\"C\" data-ru=\"Ñ\">C</div><div class=\"kbt-k\" data-code=\"KeyV\" data-en=\"V\" data-ru=\"м\">V</div><div class=\"kbt-k\" data-code=\"KeyB\" data-en=\"B\" data-ru=\"и\">B</div><div class=\"kbt-k\" data-code=\"KeyN\" data-en=\"N\" data-ru=\"Ñ\">N</div><div class=\"kbt-k\" data-code=\"KeyM\" data-en=\"M\" data-ru=\"Ñ\">M</div><div class=\"kbt-k\" data-code=\"Comma\" data-en=\",\" data-ru=\"б\">,</div><div class=\"kbt-k\" data-code=\"Period\" data-en=\".\" data-ru=\"Ñ\">.</div><div class=\"kbt-k\" data-code=\"Slash\" data-en=\"/\" data-ru=\".\">/</div><div class=\"kbt-k kbt-w275\" data-code=\"ShiftRight\">Shift</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w125\" data-code=\"ControlLeft\">Ctrl</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaLeft\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"AltLeft\">Alt</div><div class=\"kbt-k kbt-wspc\" data-code=\"Space\">Space</div><div class=\"kbt-k kbt-w125\" data-code=\"AltRight\">Alt</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaRight\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"ContextMenu\">Menu</div><div class=\"kbt-k kbt-w125\" data-code=\"ControlRight\">Ctrl</div></div></div><div style=\"display:flex;flex-direction:column;justify-content:space-between;width:134px\"><div style=\"display:flex;flex-direction:column;gap:4px\"><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" data-code=\"Insert\">Ins</div><div class=\"kbt-k\" data-code=\"Home\">Home</div><div class=\"kbt-k\" data-code=\"PageUp\">PgUp</div></div><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" data-code=\"Delete\">Del</div><div class=\"kbt-k\" data-code=\"End\">End</div><div class=\"kbt-k\" data-code=\"PageDown\">PgDn</div></div></div><div style=\"display:flex;flex-direction:column;gap:4px\"><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" style=\"visibility:hidden\"></div><div class=\"kbt-k\" data-code=\"ArrowUp\">â</div><div class=\"kbt-k\" style=\"visibility:hidden\"></div></div><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" data-code=\"ArrowLeft\">â</div><div class=\"kbt-k\" data-code=\"ArrowDown\">â</div><div class=\"kbt-k\" data-code=\"ArrowRight\">â</div></div></div></div><div style=\"display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,42px);gap:4px;width:180px\"><div class=\"kbt-k\" data-code=\"NumLock\">Num</div><div class=\"kbt-k\" data-code=\"NumpadDivide\">/</div><div class=\"kbt-k\" data-code=\"NumpadMultiply\">*</div><div class=\"kbt-k\" data-code=\"NumpadSubtract\">-</div><div class=\"kbt-k\" data-code=\"Numpad7\">7</div><div class=\"kbt-k\" data-code=\"Numpad8\">8</div><div class=\"kbt-k\" data-code=\"Numpad9\">9</div><div class=\"kbt-k\" data-code=\"NumpadAdd\" style=\"grid-row:span 2;height:auto\">+</div><div class=\"kbt-k\" data-code=\"Numpad4\">4</div><div class=\"kbt-k\" data-code=\"Numpad5\">5</div><div class=\"kbt-k\" data-code=\"Numpad6\">6</div><div class=\"kbt-k\" data-code=\"Numpad1\">1</div><div class=\"kbt-k\" data-code=\"Numpad2\">2</div><div class=\"kbt-k\" data-code=\"Numpad3\">3</div><div class=\"kbt-k\" data-code=\"NumpadEnter\" style=\"grid-row:span 2;height:auto\">Ent</div><div class=\"kbt-k\" data-code=\"Numpad0\" style=\"grid-column:span 2\">0</div><div class=\"kbt-k\" data-code=\"NumpadDecimal\">.</div></div></div></div><div id=\"kbl-tkl\" class=\"kbt-layout\"><div class=\"kbt-row\"><div class=\"kbt-k kbt-wfn\" data-code=\"Escape\">Esc</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k kbt-wfn\" data-code=\"F1\">F1</div><div class=\"kbt-k kbt-wfn\" data-code=\"F2\">F2</div><div class=\"kbt-k kbt-wfn\" data-code=\"F3\">F3</div><div class=\"kbt-k kbt-wfn\" data-code=\"F4\">F4</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k kbt-wfn\" data-code=\"F5\">F5</div><div class=\"kbt-k kbt-wfn\" data-code=\"F6\">F6</div><div class=\"kbt-k kbt-wfn\" data-code=\"F7\">F7</div><div class=\"kbt-k kbt-wfn\" data-code=\"F8\">F8</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k kbt-wfn\" data-code=\"F9\">F9</div><div class=\"kbt-k kbt-wfn\" data-code=\"F10\">F10</div><div class=\"kbt-k kbt-wfn\" data-code=\"F11\">F11</div><div class=\"kbt-k kbt-wfn\" data-code=\"F12\">F12</div><div style=\"width:8px;flex-shrink:0\"></div><div class=\"kbt-k\" data-code=\"PrintScreen\">Prt</div><div class=\"kbt-k\" data-code=\"ScrollLock\">Scr</div><div class=\"kbt-k\" data-code=\"Pause\">Brk</div></div><div style=\"height:6px\"></div><div style=\"display:flex;gap:12px;align-items:stretch\"><div style=\"flex:1\"><div class=\"kbt-row\"><div class=\"kbt-k\" data-code=\"Backquote\" data-en=\"`~\" data-ru=\"Ñ\">`~</div><div class=\"kbt-k\" data-code=\"Digit1\">1</div><div class=\"kbt-k\" data-code=\"Digit2\">2</div><div class=\"kbt-k\" data-code=\"Digit3\">3</div><div class=\"kbt-k\" data-code=\"Digit4\">4</div><div class=\"kbt-k\" data-code=\"Digit5\">5</div><div class=\"kbt-k\" data-code=\"Digit6\">6</div><div class=\"kbt-k\" data-code=\"Digit7\">7</div><div class=\"kbt-k\" data-code=\"Digit8\">8</div><div class=\"kbt-k\" data-code=\"Digit9\">9</div><div class=\"kbt-k\" data-code=\"Digit0\">0</div><div class=\"kbt-k\" data-code=\"Minus\">-</div><div class=\"kbt-k\" data-code=\"Equal\">=</div><div class=\"kbt-k kbt-w2\" data-code=\"Backspace\">Bksp</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w15\" data-code=\"Tab\">Tab</div><div class=\"kbt-k\" data-code=\"KeyQ\" data-en=\"Q\" data-ru=\"й\">Q</div><div class=\"kbt-k\" data-code=\"KeyW\" data-en=\"W\" data-ru=\"Ñ\">W</div><div class=\"kbt-k\" data-code=\"KeyE\" data-en=\"E\" data-ru=\"Ñ\">E</div><div class=\"kbt-k\" data-code=\"KeyR\" data-en=\"R\" data-ru=\"к\">R</div><div class=\"kbt-k\" data-code=\"KeyT\" data-en=\"T\" data-ru=\"е\">T</div><div class=\"kbt-k\" data-code=\"KeyY\" data-en=\"Y\" data-ru=\"н\">Y</div><div class=\"kbt-k\" data-code=\"KeyU\" data-en=\"U\" data-ru=\"г\">U</div><div class=\"kbt-k\" data-code=\"KeyI\" data-en=\"I\" data-ru=\"Ñ\">I</div><div class=\"kbt-k\" data-code=\"KeyO\" data-en=\"O\" data-ru=\"Ñ\">O</div><div class=\"kbt-k\" data-code=\"KeyP\" data-en=\"P\" data-ru=\"з\">P</div><div class=\"kbt-k\" data-code=\"BracketLeft\" data-en=\"[\" data-ru=\"Ñ
\">[</div><div class=\"kbt-k\" data-code=\"BracketRight\" data-en=\"]\" data-ru=\"Ñ\">]</div><div class=\"kbt-k kbt-w15\" data-code=\"Backslash\" data-en=\"\\\" data-ru=\"\\\">\\</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w175\" data-code=\"CapsLock\">Caps</div><div class=\"kbt-k\" data-code=\"KeyA\" data-en=\"A\" data-ru=\"Ñ\">A</div><div class=\"kbt-k\" data-code=\"KeyS\" data-en=\"S\" data-ru=\"Ñ\">S</div><div class=\"kbt-k\" data-code=\"KeyD\" data-en=\"D\" data-ru=\"в\">D</div><div class=\"kbt-k\" data-code=\"KeyF\" data-en=\"F\" data-ru=\"а\">F</div><div class=\"kbt-k\" data-code=\"KeyG\" data-en=\"G\" data-ru=\"п\">
3044G</div><div class=\"kbt-k\" data-code=\"KeyH\" data-en=\"H\" data-ru=\"Ñ\">H</div><div class=\"kbt-k\" data-code=\"KeyJ\" data-en=\"J\" data-ru=\"о\">J</div><div class=\"kbt-k\" data-code=\"KeyK\" data-en=\"K\" data-ru=\"л\">K</div><div class=\"kbt-k\" data-code=\"KeyL\" data-en=\"L\" data-ru=\"д\">L</div><div class=\"kbt-k\" data-code=\"Semicolon\" data-en=\";\" data-ru=\"ж\">;</div><div class=\"kbt-k\" data-code=\"Quote\" data-en=\"'\" data-ru=\"Ñ\">'</div><div class=\"kbt-k kbt-w225\" data-code=\"Enter\">Enter</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w225\" data-code=\"ShiftLeft\">Shift</div><div class=\"kbt-k\" data-code=\"KeyZ\" data-en=\"Z\" data-ru=\"Ñ\">Z</div><div class=\"kbt-k\" data-code=\"KeyX\" data-en=\"X\" data-ru=\"Ñ\">X</div><div class=\"kbt-k\" data-code=\"KeyC\" data-en=\"C\" data-ru=\"Ñ\">C</div><div class=\"kbt-k\" data-code=\"KeyV\" data-en=\"V\" data-ru=\"м\">V</div><div class=\"kbt-k\" data-code=\"KeyB\" data-en=\"B\" data-ru=\"и\">B</div><div class=\"kbt-k\" data-code=\"KeyN\" data-en=\"N\" data-ru=\"Ñ\">N</div><div class=\"kbt-k\" data-code=\"KeyM\" data-en=\"M\" data-ru=\"Ñ\">M</div><div class=\"kbt-k\" data-code=\"Comma\" data-en=\",\" data-ru=\"б\">,</div><div class=\"kbt-k\" data-code=\"Period\" data-en=\".\" data-ru=\"Ñ\">.</div><div class=\"kbt-k\" data-code=\"Slash\" data-en=\"/\" data-ru=\".\">/</div><div class=\"kbt-k kbt-w275\" data-code=\"ShiftRight\">Shift</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w125\" data-code=\"ControlLeft\">Ctrl</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaLeft\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"AltLeft\">Alt</div><div class=\"kbt-k kbt-wspc\" data-code=\"Space\">Space</div><div class=\"kbt-k kbt-w125\" data-code=\"AltRight\">Alt</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaRight\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"ContextMenu\">Menu</div><div class=\"kbt-k kbt-w125\" data-code=\"ControlRight\">Ctrl</div></div></div><div style=\"display:flex;flex-direction:column;justify-content:space-between;width:134px\"><div style=\"display:flex;flex-direction:column;gap:4px\"><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" data-code=\"Insert\">Ins</div><div class=\"kbt-k\" data-code=\"Home\">Home</div><div class=\"kbt-k\" data-code=\"PageUp\">PgUp</div></div><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" data-code=\"Delete\">Del</div><div class=\"kbt-k\" data-code=\"End\">End</div><div class=\"kbt-k\" data-code=\"PageDown\">PgDn</div></div></div><div style=\"display:flex;flex-direction:column;gap:4px\"><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" style=\"visibility:hidden\"></div><div class=\"kbt-k\" data-code=\"ArrowUp\">â</div><div class=\"kbt-k\" style=\"visibility:hidden\"></div></div><div style=\"display:flex;gap:4px\"><div class=\"kbt-k\" data-code=\"ArrowLeft\">â</div><div class=\"kbt-k\" data-code=\"ArrowDown\">â</div><div class=\"kbt-k\" data-code=\"ArrowRight\">â</div></div></div></div></div></div><div id=\"kbl-75\" class=\"kbt-layout\"><div class=\"kbt-row\"><div class=\"kbt-k kbt-wfn\" data-code=\"Escape\">Esc</div><div class=\"kbt-k kbt-wfn\" data-code=\"F1\">F1</div><div class=\"kbt-k kbt-wfn\" data-code=\"F2\">F2</div><div class=\"kbt-k kbt-wfn\" data-code=\"F3\">F3</div><div class=\"kbt-k kbt-wfn\" data-code=\"F4\">F4</div><div class=\"kbt-k kbt-wfn\" data-code=\"F5\">F5</div><div class=\"kbt-k kbt-wfn\" data-code=\"F6\">F6</div><div class=\"kbt-k kbt-wfn\" data-code=\"F7\">F7</div><div class=\"kbt-k kbt-wfn\" data-code=\"F8\">F8</div><div class=\"kbt-k kbt-wfn\" data-code=\"F9\">F9</div><div class=\"kbt-k kbt-wfn\" data-code=\"F10\">F10</div><div class=\"kbt-k kbt-wfn\" data-code=\"F11\">F11</div><div class=\"kbt-k kbt-wfn\" data-code=\"F12\">F12</div><div class=\"kbt-k\" data-code=\"Delete\">Del</div></div><div class=\"kbt-row\"><div class=\"kbt-k\" data-code=\"Backquote\" data-en=\"`~\" data-ru=\"Ñ\">`~</div><div class=\"kbt-k\" data-code=\"Digit1\">1</div><div class=\"kbt-k\" data-code=\"Digit2\">2</div><div class=\"kbt-k\" data-code=\"Digit3\">3</div><div class=\"kbt-k\" data-code=\"Digit4\">4</div><div class=\"kbt-k\" data-code=\"Digit5\">5</div><div class=\"kbt-k\" data-code=\"Digit6\">6</div><div class=\"kbt-k\" data-code=\"Digit7\">7</div><div class=\"kbt-k\" data-code=\"Digit8\">8</div><div class=\"kbt-k\" data-code=\"Digit9\">9</div><div class=\"kbt-k\" data-code=\"Digit0\">0</div><div class=\"kbt-k\" data-code=\"Minus\">-</div><div class=\"kbt-k\" data-code=\"Equal\">=</div><div class=\"kbt-k kbt-w2\" data-code=\"Backspace\">Bksp</div><div class=\"kbt-k\" data-code=\"PageUp\">PgUp</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w15\" data-code=\"Tab\">Tab</div><div class=\"kbt-k\" data-code=\"KeyQ\" data-en=\"Q\" data-ru=\"й\">Q</div><div class=\"kbt-k\" data-code=\"KeyW\" data-en=\"W\" data-ru=\"Ñ\">W</div><div class=\"kbt-k\" data-code=\"KeyE\" data-en=\"E\" data-ru=\"Ñ\">E</div><div class=\"kbt-k\" data-code=\"KeyR\" data-en=\"R\" data-ru=\"к\">R</div><div class=\"kbt-k\" data-code=\"KeyT\" data-en=\"T\" data-ru=\"е\">T</div><div class=\"kbt-k\" data-code=\"KeyY\" data-en=\"Y\" data-ru=\"н\">Y</div><div class=\"kbt-k\" data-code=\"KeyU\" data-en=\"U\" data-ru=\"г\">U</div><div class=\"kbt-k\" data-code=\"KeyI\" data-en=\"I\" data-ru=\"Ñ\">I</div><div class=\"kbt-k\" data-code=\"KeyO\" data-en=\"O\" data-ru=\"Ñ\">O</div><div class=\"kbt-k\" data-code=\"KeyP\" data-en=\"P\" data-ru=\"з\">P</div><div class=\"kbt-k\" data-code=\"BracketLeft\" data-en=\"[\" data-ru=\"Ñ
\">[</div><div class=\"kbt-k\" data-code=\"BracketRight\" data-en=\"]\" data-ru=\"Ñ\">]</div><div class=\"kbt-k kbt-w15\" data-code=\"Backslash\" data-en=\"\\\" data-ru=\"\\\">\\</div><div class=\"kbt-k\" data-code=\"PageDown\">PgDn</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w175\" data-code=\"CapsLock\">Caps</div><div class=\"kbt-k\" data-code=\"KeyA\" data-en=\"A\" data-ru=\"Ñ\">A</div><div class=\"kbt-k\" data-code=\"KeyS\" data-en=\"S\" data-ru=\"Ñ\">S</div><div class=\"kbt-k\" data-code=\"KeyD\" data-en=\"D\" data-ru=\"в\">D</div><div class=\"kbt-k\" data-code=\"KeyF\" data-en=\"F\" data-ru=\"а\">F</div><div class=\"kbt-k\" data-code=\"KeyG\" data-en=\"G\" data-ru=\"п\">
3044G</div><div class=\"kbt-k\" data-code=\"KeyH\" data-en=\"H\" data-ru=\"Ñ\">H</div><div class=\"kbt-k\" data-code=\"KeyJ\" data-en=\"J\" data-ru=\"о\">J</div><div class=\"kbt-k\" data-code=\"KeyK\" data-en=\"K\" data-ru=\"л\">K</div><div class=\"kbt-k\" data-code=\"KeyL\" data-en=\"L\" data-ru=\"д\">L</div><div class=\"kbt-k\" data-code=\"Semicolon\" data-en=\";\" data-ru=\"ж\">;</div><div class=\"kbt-k\" data-code=\"Quote\" data-en=\"'\" data-ru=\"Ñ\">'</div><div class=\"kbt-k kbt-w225\" data-code=\"Enter\">Enter</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w225\" data-code=\"ShiftLeft\">Shift</div><div class=\"kbt-k\" data-code=\"KeyZ\" data-en=\"Z\" data-ru=\"Ñ\">Z</div><div class=\"kbt-k\" data-code=\"KeyX\" data-en=\"X\" data-ru=\"Ñ\">X</div><div class=\"kbt-k\" data-code=\"KeyC\" data-en=\"C\" data-ru=\"Ñ\">C</div><div class=\"kbt-k\" data-code=\"KeyV\" data-en=\"V\" data-ru=\"м\">V</div><div class=\"kbt-k\" data-code=\"KeyB\" data-en=\"B\" data-ru=\"и\">B</div><div class=\"kbt-k\" data-code=\"KeyN\" data-en=\"N\" data-ru=\"Ñ\">N</div><div class=\"kbt-k\" data-code=\"KeyM\" data-en=\"M\" data-ru=\"Ñ\">M</div><div class=\"kbt-k\" data-code=\"Comma\" data-en=\",\" data-ru=\"б\">,</div><div class=\"kbt-k\" data-code=\"Period\" data-en=\".\" data-ru=\"Ñ\">.</div><div class=\"kbt-k\" data-code=\"Slash\" data-en=\"/\" data-ru=\".\">/</div><div class=\"kbt-k kbt-w175\" data-code=\"ShiftRight\">Shift</div><div class=\"kbt-k\" data-code=\"ArrowUp\">â</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w125\" data-code=\"ControlLeft\">Ctrl</div><div class=\"kbt-k\" data-code=\"\">Fn</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaLeft\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"AltLeft\">Alt</div><div class=\"kbt-k kbt-wspc\" data-code=\"Space\">Space</div><div class=\"kbt-k kbt-w125\" data-code=\"AltRight\">Alt</div><div class=\"kbt-k kbt-w125\" data-code=\"ControlRight\">Ctrl</div><div class=\"kbt-k\" data-code=\"ArrowLeft\">â</div><div class=\"kbt-k\" data-code=\"ArrowDown\">â</div><div class=\"kbt-k\" data-code=\"ArrowRight\">â</div></div></div><div id=\"kbl-65\" class=\"kbt-layout\"><div class=\"kbt-row\"><div class=\"kbt-k\" data-code=\"Backquote\" data-en=\"`~\" data-ru=\"Ñ\">`~</div><div class=\"kbt-k\" data-code=\"Digit1\">1</div><div class=\"kbt-k\" data-code=\"Digit2\">2</div><div class=\"kbt-k\" data-code=\"Digit3\">3</div><div class=\"kbt-k\" data-code=\"Digit4\">4</div><div class=\"kbt-k\" data-code=\"Digit5\">5</div><div class=\"kbt-k\" data-code=\"Digit6\">6</div><div class=\"kbt-k\" data-code=\"Digit7\">7</div><div class=\"kbt-k\" data-code=\"Digit8\">8</div><div class=\"kbt-k\" data-code=\"Digit9\">9</div><div class=\"kbt-k\" data-code=\"Digit0\">0</div><div class=\"kbt-k\" data-code=\"Minus\">-</div><div class=\"kbt-k\" data-code=\"Equal\">=</div><div class=\"kbt-k kbt-w2\" data-code=\"Backspace\">Bksp</div><div class=\"kbt-k\" data-code=\"Delete\">Del</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w15\" data-code=\"Tab\">Tab</div><div class=\"kbt-k\" data-code=\"KeyQ\" data-en=\"Q\" data-ru=\"й\">Q</div><div class=\"kbt-k\" data-code=\"KeyW\" data-en=\"W\" data-ru=\"Ñ\">W</div><div class=\"kbt-k\" data-code=\"KeyE\" data-en=\"E\" data-ru=\"Ñ\">E</div><div class=\"kbt-k\" data-code=\"KeyR\" data-en=\"R\" data-ru=\"к\">R</div><div class=\"kbt-k\" data-code=\"KeyT\" data-en=\"T\" data-ru=\"е\">T</div><div class=\"kbt-k\" data-code=\"KeyY\" data-en=\"Y\" data-ru=\"н\">Y</div><div class=\"kbt-k\" data-code=\"KeyU\" data-en=\"U\" data-ru=\"г\">U</div><div class=\"kbt-k\" data-code=\"KeyI\" data-en=\"I\" data-ru=\"Ñ\">I</div><div class=\"kbt-k\" data-code=\"KeyO\" data-en=\"O\" data-ru=\"Ñ\">O</div><div class=\"kbt-k\" data-code=\"KeyP\" data-en=\"P\" data-ru=\"з\">P</div><div class=\"kbt-k\" data-code=\"BracketLeft\" data-en=\"[\" data-ru=\"Ñ
\">[</div><div class=\"kbt-k\" data-code=\"BracketRight\" data-en=\"]\" data-ru=\"Ñ\">]</div><div class=\"kbt-k kbt-w15\" data-code=\"Backslash\" data-en=\"\\\" data-ru=\"\\\">\\</div><div class=\"kbt-k\" data-code=\"PageUp\">PgUp</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w175\" data-code=\"CapsLock\">Caps</div><div class=\"kbt-k\" data-code=\"KeyA\" data-en=\"A\" data-ru=\"Ñ\">A</div><div class=\"kbt-k\" data-code=\"KeyS\" data-en=\"S\" data-ru=\"Ñ\">S</div><div class=\"kbt-k\" data-code=\"KeyD\" data-en=\"D\" data-ru=\"в\">D</div><div class=\"kbt-k\" data-code=\"KeyF\" data-en=\"F\" data-ru=\"а\">F</div><div class=\"kbt-k\" data-code=\"KeyG\" data-en=\"G\" data-ru=\"п\">
3044G</div><div class=\"kbt-k\" data-code=\"KeyH\" data-en=\"H\" data-ru=\"Ñ\">H</div><div class=\"kbt-k\" data-code=\"KeyJ\" data-en=\"J\" data-ru=\"о\">J</div><div class=\"kbt-k\" data-code=\"KeyK\" data-en=\"K\" data-ru=\"л\">K</div><div class=\"kbt-k\" data-code=\"KeyL\" data-en=\"L\" data-ru=\"д\">L</div><div class=\"kbt-k\" data-code=\"Semicolon\" data-en=\";\" data-ru=\"ж\">;</div><div class=\"kbt-k\" data-code=\"Quote\" data-en=\"'\" data-ru=\"Ñ\">'</div><div class=\"kbt-k kbt-w225\" data-code=\"Enter\">Enter</div><div class=\"kbt-k\" data-code=\"PageDown\">PgDn</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w225\" data-code=\"ShiftLeft\">Shift</div><div class=\"kbt-k\" data-code=\"KeyZ\" data-en=\"Z\" data-ru=\"Ñ\">Z</div><div class=\"kbt-k\" data-code=\"KeyX\" data-en=\"X\" data-ru=\"Ñ\">X</div><div class=\"kbt-k\" data-code=\"KeyC\" data-en=\"C\" data-ru=\"Ñ\">C</div><div class=\"kbt-k\" data-code=\"KeyV\" data-en=\"V\" data-ru=\"м\">V</div><div class=\"kbt-k\" data-code=\"KeyB\" data-en=\"B\" data-ru=\"и\">B</div><div class=\"kbt-k\" data-code=\"KeyN\" data-en=\"N\" data-ru=\"Ñ\">N</div><div class=\"kbt-k\" data-code=\"KeyM\" data-en=\"M\" data-ru=\"Ñ\">M</div><div class=\"kbt-k\" data-code=\"Comma\" data-en=\",\" data-ru=\"б\">,</div><div class=\"kbt-k\" data-code=\"Period\" data-en=\".\" data-ru=\"Ñ\">.</div><div class=\"kbt-k\" data-code=\"Slash\" data-en=\"/\" data-ru=\".\">/</div><div class=\"kbt-k kbt-w175\" data-code=\"ShiftRight\">Shift</div><div class=\"kbt-k\" data-code=\"ArrowUp\">â</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w125\" data-code=\"ControlLeft\">Ctrl</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaLeft\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"AltLeft\">Alt</div><div class=\"kbt-k kbt-wspc\" data-code=\"Space\">Space</div><div class=\"kbt-k kbt-w125\" data-code=\"AltRight\">Alt</div><div class=\"kbt-k\" data-code=\"\">Fn</div><div class=\"kbt-k kbt-w125\" data-code=\"ControlRight\">Ctrl</div><div class=\"kbt-k\" data-code=\"ArrowLeft\">â</div><div class=\"kbt-k\" data-code=\"ArrowDown\">â</div><div class=\"kbt-k\" data-code=\"ArrowRight\">â</div></div></div><div id=\"kbl-60\" class=\"kbt-layout\"><div class=\"kbt-row\"><div class=\"kbt-k\" data-code=\"Escape\">Esc</div><div class=\"kbt-k\" data-code=\"Digit1\">1</div><div class=\"kbt-k\" data-code=\"Digit2\">2</div><div class=\"kbt-k\" data-code=\"Digit3\">3</div><div class=\"kbt-k\" data-code=\"Digit4\">4</div><div class=\"kbt-k\" data-code=\"Digit5\">5</div><div class=\"kbt-k\" data-code=\"Digit6\">6</div><div class=\"kbt-k\" data-code=\"Digit7\">7</div><div class=\"kbt-k\" data-code=\"Digit8\">8</div><div class=\"kbt-k\" data-code=\"Digit9\">9</div><div class=\"kbt-k\" data-code=\"Digit0\">0</div><div class=\"kbt-k\" data-code=\"Minus\">-</div><div class=\"kbt-k\" data-code=\"Equal\">=</div><div class=\"kbt-k kbt-w2\" data-code=\"Backspace\">Bksp</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w15\" data-code=\"Tab\">Tab</div><div class=\"kbt-k\" data-code=\"KeyQ\" data-en=\"Q\" data-ru=\"й\">Q</div><div class=\"kbt-k\" data-code=\"KeyW\" data-en=\"W\" data-ru=\"Ñ\">W</div><div class=\"kbt-k\" data-code=\"KeyE\" data-en=\"E\" data-ru=\"Ñ\">E</div><div class=\"kbt-k\" data-code=\"KeyR\" data-en=\"R\" data-ru=\"к\">R</div><div class=\"kbt-k\" data-code=\"KeyT\" data-en=\"T\" data-ru=\"е\">T</div><div class=\"kbt-k\" data-code=\"KeyY\" data-en=\"Y\" data-ru=\"н\">Y</div><div class=\"kbt-k\" data-code=\"KeyU\" data-en=\"U\" data-ru=\"г\">U</div><div class=\"kbt-k\" data-code=\"KeyI\" data-en=\"I\" data-ru=\"Ñ\">I</div><div class=\"kbt-k\" data-code=\"KeyO\" data-en=\"O\" data-ru=\"Ñ\">O</div><div class=\"kbt-k\" data-code=\"KeyP\" data-en=\"P\" data-ru=\"з\">P</div><div class=\"kbt-k\" data-code=\"BracketLeft\" data-en=\"[\" data-ru=\"Ñ
\">[</div><div class=\"kbt-k\" data-code=\"BracketRight\" data-en=\"]\" data-ru=\"Ñ\">]</div><div class=\"kbt-k kbt-w15\" data-code=\"Backslash\" data-en=\"\\\" data-ru=\"\\\">\\</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w175\" data-code=\"CapsLock\">Caps</div><div class=\"kbt-k\" data-code=\"KeyA\" data-en=\"A\" data-ru=\"Ñ\">A</div><div class=\"kbt-k\" data-code=\"KeyS\" data-en=\"S\" data-ru=\"Ñ\">S</div><div class=\"kbt-k\" data-code=\"KeyD\" data-en=\"D\" data-ru=\"в\">D</div><div class=\"kbt-k\" data-code=\"KeyF\" data-en=\"F\" data-ru=\"а\">F</div><div class=\"kbt-k\" data-code=\"KeyG\" data-en=\"G\" data-ru=\"п\">
3044G</div><div class=\"kbt-k\" data-code=\"KeyH\" data-en=\"H\" data-ru=\"Ñ\">H</div><div class=\"kbt-k\" data-code=\"KeyJ\" data-en=\"J\" data-ru=\"о\">J</div><div class=\"kbt-k\" data-code=\"KeyK\" data-en=\"K\" data-ru=\"л\">K</div><div class=\"kbt-k\" data-code=\"KeyL\" data-en=\"L\" data-ru=\"д\">L</div><div class=\"kbt-k\" data-code=\"Semicolon\" data-en=\";\" data-ru=\"ж\">;</div><div class=\"kbt-k\" data-code=\"Quote\" data-en=\"'\" data-ru=\"Ñ\">'</div><div class=\"kbt-k kbt-w225\" data-code=\"Enter\">Enter</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w225\" data-code=\"ShiftLeft\">Shift</div><div class=\"kbt-k\" data-code=\"KeyZ\" data-en=\"Z\" data-ru=\"Ñ\">Z</div><div class=\"kbt-k\" data-code=\"KeyX\" data-en=\"X\" data-ru=\"Ñ\">X</div><div class=\"kbt-k\" data-code=\"KeyC\" data-en=\"C\" data-ru=\"Ñ\">C</div><div class=\"kbt-k\" data-code=\"KeyV\" data-en=\"V\" data-ru=\"м\">V</div><div class=\"kbt-k\" data-code=\"KeyB\" data-en=\"B\" data-ru=\"и\">B</div><div class=\"kbt-k\" data-code=\"KeyN\" data-en=\"N\" data-ru=\"Ñ\">N</div><div class=\"kbt-k\" data-code=\"KeyM\" data-en=\"M\" data-ru=\"Ñ\">M</div><div class=\"kbt-k\" data-code=\"Comma\" data-en=\",\" data-ru=\"б\">,</div><div class=\"kbt-k\" data-code=\"Period\" data-en=\".\" data-ru=\"Ñ\">.</div><div class=\"kbt-k\" data-code=\"Slash\" data-en=\"/\" data-ru=\".\">/</div><div class=\"kbt-k kbt-w275\" data-code=\"ShiftRight\">Shift</div></div><div class=\"kbt-row\"><div class=\"kbt-k kbt-w15\" data-code=\"ControlLeft\">Ctrl</div><div class=\"kbt-k kbt-w125\" data-code=\"MetaLeft\">Win</div><div class=\"kbt-k kbt-w125\" data-code=\"AltLeft\">Alt</div><div class=\"kbt-k kbt-w625\" data-code=\"Space\">Space</div><div class=\"kbt-k kbt-w125\" data-code=\"AltRight\">Alt</div><div class=\"kbt-k kbt-w125\" data-code=\"\">Fn</div><div class=\"kbt-k kbt-w15\" data-code=\"ControlRight\">Ctrl</div></div></div></div><div class=\"kbt-actions\"><button class=\"kbt-btn-reset\" id=\"kbt-reset\">↻ СбÑоÑиÑÑ ÑеÑÑ</button><span class=\"kbt-hint\">ÐлавиÑи <span style=\"color:#ff3b30;font-weight:700\">кÑаÑнÑе</span> â пÑоÑеÑÑиÑованÑ</span></div><div class=\"kbt-divider\"></div><div class=\"kbt-section-title\">ЧаÑÑÑе пÑоблемÑ</div><div class=\"kbt-cards\"><div class=\"kbt-card\"><div class=\"kbt-card-title\">ÐлавиÑа не ÑÑабаÑÑваеÑ</div><div class=\"kbt-card-text\">ÐÑовеÑÑÑе пеÑеклÑÑаÑÐµÐ»Ñ â возможно заÑоÑилÑÑ. ÐзвлекиÑе кейкап и оÑмоÑÑиÑе ÑвиÑÑ, попÑобÑйÑе нажаÑÑ Ð½ÐµÑколÑко Ñаз Ñ Ñазной Ñилой.</div></div><div class=\"kbt-card\"><div class=\"kbt-card-title\">Ðвойное нажаÑие (chattering)</div><div class=\"kbt-card-text\">СвиÑÑ Ð¿Ð¾ÑÑÐ»Ð°ÐµÑ Ñигнал Ð´Ð²Ð°Ð¶Ð´Ñ Ð¿Ñи одном нажаÑии. РеÑаеÑÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¾Ð¹ пеÑеклÑÑаÑÐµÐ»Ñ Ð¸Ð»Ð¸ обновлением пÑоÑивки клавиаÑÑÑÑ.</div></div><div class=\"kbt-card\"><div class=\"kbt-card-title\">ÐеÑколÑко ÐºÐ»Ð°Ð²Ð¸Ñ Ð½Ðµ ÑабоÑаÑÑ</div><div class=\"kbt-card-text\">Ðозможна пÑоблема Ñ Ð¼Ð°ÑÑиÑей. ÐопÑобÑйÑе дÑÑгой USB-поÑÑ, пÑовеÑÑÑе ÐºÐ°Ð±ÐµÐ»Ñ Ð¸Ð»Ð¸ пеÑеÑÑÑановиÑе дÑайвеÑÑ.</div></div><div class=\"kbt-card\"><div class=\"kbt-card-title\">ÐÐµÑ N-Key Rollover</div><div class=\"kbt-card-text\">Ðез NKRO одновÑеменное нажаÑие неÑколÑкиÑ
ÐºÐ»Ð°Ð²Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑегиÑÑÑиÑоваÑÑÑÑ. ÐÑиÑиÑно Ð´Ð»Ñ Ð¸Ð³ÑовÑÑ
комбо.</div></div></div><div class=\"kbt-divider\"></div><div class=\"kbt-section-title\">ЧаÑÑо задаваемÑе вопÑоÑÑ</div><div id=\"kbt-faq\"><div class=\"kbt-faq-item\"><div class=\"kbt-faq-q\">ÐаÑем ÑеÑÑиÑоваÑÑ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ?<span class=\"kbt-faq-icon\">+</span></div><div class=\"kbt-faq-a\">ТеÑÑ Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ ÑбедиÑÑÑÑ ÑÑо вÑе клавиÑи ÑабоÑаÑÑ ÐºÐ¾ÑÑекÑно â Ð½ÐµÑ Ð´Ð²Ð¾Ð¹Ð½ÑÑ
нажаÑий, пÑопÑÑков или залипаний. ÐÑобенно важно пÑи покÑпке новой клавиаÑÑÑÑ.</div></div><div class=\"kbt-faq-item\"><div class=\"kbt-faq-q\">ЧÑо Ñакое N-Key Rollover?<span class=\"kbt-faq-icon\">+</span></div><div class=\"kbt-faq-a\">NKRO â возможноÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно ÑегиÑÑÑиÑоваÑÑ Ð»Ñбое колиÑеÑÑво нажаÑÑÑ
клавиÑ. ÐÑиÑиÑно Ð´Ð»Ñ Ð¸Ð³Ñоков, иÑполнÑÑÑиÑ
ÑложнÑе комбинаÑии.</div></div><div class=\"kbt-faq-item\"><div class=\"kbt-faq-q\">Ðак вÑбÑаÑÑ ÑоÑм-ÑакÑÐ¾Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ?<span class=\"kbt-faq-icon\">+</span></div><div class=\"kbt-faq-a\">100% â макÑимÑм ÑÑнкÑий Ñ Ð½Ñмпадом. TKL â без нÑмпада, компакÑнее. 75% â Ñ F-ÑÑдом без нÑмпада. 65% â без F-ÑÑда Ñо ÑÑÑелками. 60% â ÑÐ°Ð¼Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð°ÐºÑнаÑ.</div></div><div class=\"kbt-faq-item\"><div class=\"kbt-faq-q\">ÐеÑ
аника vs мембÑана?<span class=\"kbt-faq-icon\">+</span></div><div class=\"kbt-faq-a\">ÐеÑ
аниÑеÑкие ÑвиÑÑи долговеÑнее (50-100 млн нажаÑий), даÑÑ ÑакÑилÑнÑй оÑклик. ÐембÑаннÑе ÑиÑе и деÑевле, но бÑÑÑÑее изнаÑиваÑÑÑÑ.</div></div></div></div>"}});}},{})}),t.jsx(Qt,{path:"/sitemap",element:t.jsx(Bj,{categories:m,products:c,pages:U,navigate:Pe})}),t.jsx(Qt,{path:"/register",element:t.jsx(Hx,{onAdminLogin:$t,onUserLogin:Kt,navigate:Pe,logoImage:W,initialMode:"register"})}),t.jsx(Qt,{path:"/dashboard",element:Ht?t.jsx(Ij,{user:Ht,onLogout:He,navigate:Pe,statuses:B.orderStatuses}):t.jsx(kx,{to:"/login"})}),t.jsx(Qt,{path:"/admin",element:Oe?t.jsx(Jj,{seo:u,onUpdateSeo:f,catalogSeo:x,onUpdateCatalogSeo:N,heroSlides:b,onUpdateHeroSlides:C,categories:m,onUpdateCategories:y,products:c,onUpdateProducts:h,navLinks:g,onUpdateNavLinks:O,marketplaces:E,onUpdateMarketplaces:_,marketplacesContent:k,onUpdateMarketplacesContent:R,reviews:D,onUpdateReviews:te,logoImage:W,onLogoImageChange:$,footerColumns:H,onUpdateFooterColumns:J,socialLinks:Y,onUpdateSocialLinks:G,pages:U,onUpdatePages:q,carouselSettings:P,onUpdateCarouselSettings:pe,internalShopSett
3044ings:B,onUpdateInternalShopSettings:z,supportSettings:v,onUpdateSupportSettings:T,tickerSettings:A,onUpdateTickerSettings:K,onResetDefaults:bt,onExportConfig:dt,onImportConfig:Lt,navigate:Pe,lastSaved:new Date().toISOString(),admins:w,onUpdateAdmins:V,currentUserEmail:gt}):t.jsx(kx,{to:"/login"})}),t.jsx(Qt,{path:"*",element:t.jsx(Gj,{navigate:Pe})})]})]}),!vl&&!Ta&&t.jsx(ej,{logoImage:W,columns:H,socialLinks:Y,navigate:Pe,legalInfo:B.legalInfo}),t.jsx(tj,{isOpen:Ge,onClose:()=>it(!1),cart:le,onRemoveItem:De,onUpdateQuantity:ye,navigate:Pe,onCheckout:Me}),t.jsx(aj,{isOpen:Ua,onClose:()=>ce(!1),cart:le,onClearCart:et,settings:B,currentUser:Ht,logoImage:W}),t.jsx(Vj,{isOpen:ve,onClose:()=>be(!1),favorites:ge,onToggleFavorite:tt,onAddToCart:se,enableSales:B.enableSales,compareList:Ne,onToggleCompare:st,navigate:Pe}),!Ta&&t.jsx(Hj,{navigate:Pe})]})},Ip=document.getElementById("root");if(!Ip)throw new Error("Could not find root element to mount to");const eN=db.createRoot(Ip);eN.render(t.jsx(oo.StrictMode,{children:t.jsx(x1,{children:t.jsx(Fj,{})})})); 3045
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.