664 lines
50 KiB
JavaScript
664 lines
50 KiB
JavaScript
<!-- no-design-system -->
|
||
var PRODUCTS=[
|
||
{id:1,name:"Meta Quest 3",cat:"vr",brand:"Meta",price:299990,rating:4.8,specs:"128GB, Snapdragon XR2 Gen 2, Full HD+",img:"https://picsum.photos/seed/quest3/400/300",desc_kk:"VR көзілдіріктің ең жаңа нұсқасы. Жоғары сапалы виртуалды шындық тәжірибесі.",desc_ru:"Новейшая версия VR очков. Высококачественный опыт виртуальной реальности."},
|
||
{id:2,name:"Meta Quest Pro",cat:"vr",brand:"Meta",price:799990,rating:4.6,specs:"256GB, Snapdragon XR2+, Mixed Reality",img:"https://picsum.photos/seed/questpro/400/300",desc_kk:"Кәсіби деңгейдегі VR/MR көзілдірік.",desc_ru:"VR/MR очки профессионального уровня."},
|
||
{id:3,name:"PlayStation VR2",cat:"vr",brand:"Sony",price:349990,rating:4.5,specs:"OLED, 4K HDR, Eye Tracking",img:"https://picsum.photos/seed/psvr2/400/300",desc_kk:"PlayStation 5 үшін арналған VR көзілдірік.",desc_ru:"VR очки для PlayStation 5."},
|
||
{id:4,name:"Samsung Galaxy AI Glasses",cat:"ai",brand:"Samsung",price:449990,rating:4.4,specs:"AI Assistant, AR Display, Camera",img:"https://picsum.photos/seed/samsungai/400/300",desc_kk:"AI функциялары бар ақылды көзілдірік.",desc_ru:"Умные очки с функциями AI."},
|
||
{id:5,name:"Apple Vision Pro",cat:"ai",brand:"Apple",price:1999990,rating:4.9,specs:"M2 chip, 4K micro-OLED, Spatial Computing",img:"https://picsum.photos/seed/visionpro/400/300",desc_kk:"Ең озық кеңістіктік компьютер.",desc_ru:"Самый продвинутый пространственный компьютер."},
|
||
{id:6,name:"Ray-Ban Meta Smart Glasses",cat:"ai",brand:"Meta",price:179990,rating:4.3,specs:"AI, Camera, Speakers, Meta AI",img:"https://picsum.photos/seed/raybanmeta/400/300",desc_kk:"AI функциялары бар ақылды көзілдірік.",desc_ru:"Умные очки с функциями AI."},
|
||
{id:7,name:"NVIDIA RTX 4090",cat:"gpu",brand:"NVIDIA",price:899990,rating:4.9,specs:"24GB GDDR6X, 16384 CUDA, 450W",img:"https://picsum.photos/seed/rtx4090/400/300",desc_kk:"Ең қуатты ойын видеокартасы.",desc_ru:"Самая мощная игровая видеокарта."},
|
||
{id:8,name:"NVIDIA RTX 4070 Ti Super",cat:"gpu",brand:"NVIDIA",price:499990,rating:4.7,specs:"16GB GDDR6X, 8448 CUDA, 285W",img:"https://picsum.photos/seed/rtx4070tis/400/300",desc_kk:"Жоғары өнімділік, қолайлы баға.",desc_ru:"Высокая производительность, доступная цена."},
|
||
{id:9,name:"AMD Radeon RX 7900 XTX",cat:"gpu",brand:"AMD",price:699990,rating:4.6,specs:"24GB GDDR6, 6144 SP, 355W",img:"https://picsum.photos/seed/rx7900xtx/400/300",desc_kk:"AMD-дің ең қуатты видеокартасы.",desc_ru:"Самая мощная видеокарта от AMD."},
|
||
{id:10,name:"Intel Core i9-14900K",cat:"cpu",brand:"Intel",price:349990,rating:4.8,specs:"24 ядро, 32 ағын, 6.0 GHz",img:"https://picsum.photos/seed/i914900k/400/300",desc_kk:"Intel-дің ең жылдам процессоры.",desc_ru:"Самый быстрый процессор Intel."},
|
||
{id:11,name:"AMD Ryzen 9 7950X",cat:"cpu",brand:"AMD",price:329990,rating:4.7,specs:"16 ядро, 32 ағын, 5.7 GHz",img:"https://picsum.photos/seed/r97950x/400/300",desc_kk:"AMD-дің флагмандық процессоры.",desc_ru:"Флагманский процессор AMD."},
|
||
{id:12,name:"Intel Core i5-14600K",cat:"cpu",brand:"Intel",price:179990,rating:4.5,specs:"14 ядро, 20 ағын, 5.3 GHz",img:"https://picsum.photos/seed/i514600k/400/300",desc_kk:"Ойын үшін ең тиімді процессор.",desc_ru:"Самый эффективный процессор для игр."},
|
||
{id:13,name:"Corsair Vengeance DDR5 32GB",cat:"ram",brand:"Corsair",price:89990,rating:4.6,specs:"DDR5-6000, CL30, 2x16GB",img:"https://picsum.photos/seed/corsair32/400/300",desc_kk:"Жоғары жылдамдықты DDR5 жад.",desc_ru:"Высокоскоростная DDR5 память."},
|
||
{id:14,name:"G.Skill Trident Z5 64GB",cat:"ram",brand:"G.Skill",price:189990,rating:4.8,specs:"DDR5-6400, CL32, 2x32GB",img:"https://picsum.photos/seed/gskill64/400/300",desc_kk:"Кәсіби деңгейдегі жедел жад.",desc_ru:"Оперативная память профессионального уровня."},
|
||
{id:15,name:"Samsung 990 Pro 2TB",cat:"ssd",brand:"Samsung",price:129990,rating:4.9,specs:"NVMe M.2, 7450 MB/s оқу",img:"https://picsum.photos/seed/990pro/400/300",desc_kk:"Ең жылдам NVMe SSD.",desc_ru:"Самый быстрый NVMe SSD."},
|
||
{id:16,name:"WD Black SN850X 1TB",cat:"ssd",brand:"Western Digital",price:79990,rating:4.7,specs:"NVMe M.2, 7300 MB/s оқу",img:"https://picsum.photos/seed/sn850x/400/300",desc_kk:"Ойынға арналған жылдам SSD.",desc_ru:"Быстрый SSD для игр."},
|
||
{id:17,name:"ASUS ROG Strix G16",cat:"laptop",brand:"ASUS",price:899990,rating:4.7,specs:"RTX 4070, i9-14900HX, 32GB, 16\" 240Hz",img:"https://picsum.photos/seed/rogstrix/400/300",desc_kk:"Ойын ноутбугының флагманы.",desc_ru:"Флагманский игровой ноутбук."},
|
||
{id:18,name:"MSI Titan 18 HX",cat:"laptop",brand:"MSI",price:1999990,rating:4.8,specs:"RTX 4090, i9-14900HX, 64GB, 18\" 4K",img:"https://picsum.photos/seed/msititan/400/300",desc_kk:"Ең қуатты ойын ноутбугы.",desc_ru:"Самый мощный игровой ноутбук."},
|
||
{id:19,name:"Sony DualSense Edge",cat:"accessory",brand:"Sony",price:109990,rating:4.5,specs:"PS5, Adaptive Triggers, Haptic Feedback",img:"https://picsum.photos/seed/dualsense/400/300",desc_kk:"PlayStation 5 үшін премиум контроллер.",desc_ru:"Премиум контроллер для PlayStation 5."},
|
||
{id:20,name:"Corsair K100 RGB",cat:"accessory",brand:"Corsair",price:129990,rating:4.6,specs:"Mechanical, OPX Switches, iCUE",img:"https://picsum.photos/seed/k100/400/300",desc_kk:"Премиум механикалық пернетақта.",desc_ru:"Премиум механическая клавиатура."},
|
||
{id:21,name:"PlayStation 5 Pro",cat:"console",brand:"Sony",price:399990,rating:4.8,specs:"Custom AMD, 2TB SSD, 8K Support",img:"https://picsum.photos/seed/ps5pro/400/300",desc_kk:"Sony-дің ең озық консолі.",desc_ru:"Самая продвинутая консоль Sony."},
|
||
{id:22,name:"NVIDIA RTX 4080 Super",cat:"gpu",brand:"NVIDIA",price:649990,rating:4.7,specs:"16GB GDDR6X, 10240 CUDA, 320W",img:"https://picsum.photos/seed/rtx4080s/400/300",desc_kk:"Жоғары деңгейдегі ойын видеокартасы.",desc_ru:"Высококлассная игровая видеокарта."},
|
||
{id:23,name:"AMD Ryzen 7 7800X3D",cat:"cpu",brand:"AMD",price:229990,rating:4.9,specs:"8 ядро, 16 ағын, 5.0 GHz, 3D V-Cache",img:"https://picsum.photos/seed/7800x3d/400/300",desc_kk:"Ойын үшін ең үздік процессор.",desc_ru:"Лучший процессор для игр."},
|
||
{id:24,name:"Meta Quest 3S",cat:"vr",brand:"Meta",price:149990,rating:4.4,specs:"128GB, Snapdragon XR2 Gen 2",img:"https://picsum.photos/seed/quest3s/400/300",desc_kk:"Қолайлы бағадағы VR көзілдірік.",desc_ru:"VR очки по доступной цене."}
|
||
];
|
||
|
||
var BUILDER_STEPS=[
|
||
{key:"cpu",label_kk:"Процессор",label_ru:"Процессор",icon:"⚡",cat:"cpu"},
|
||
{key:"mobo",label_kk:"Аналық плата",label_ru:"Материнская плата",icon:"🔲",cat:"mobo"},
|
||
{key:"gpu",label_kk:"Видеокарта",label_ru:"Видеокарта",icon:"🎮",cat:"gpu"},
|
||
{key:"ram",label_kk:"Жедел жад",label_ru:"Оперативная память",icon:"💾",cat:"ram"},
|
||
{key:"ssd",label_kk:"SSD / HDD",label_ru:"SSD / HDD",icon:"💿",cat:"ssd"},
|
||
{key:"psu",label_kk:"Блок питания",label_ru:"Блок питания",icon:"🔌",cat:"psu"},
|
||
{key:"cool",label_kk:"Салқындату жүйесі",label_ru:"Система охлаждения",icon:"❄️",cat:"cool"},
|
||
{key:"case",label_kk:"Корпус",label_ru:"Корпус",icon:"🖥️",cat:"case"}
|
||
];
|
||
|
||
var MOBOS=[
|
||
{id:101,name:"ASUS ROG Maximus Z790",brand:"ASUS",price:299990,socket:"LGA1700",specs:"DDR5, PCIe 5.0, WiFi 7",img:"https://picsum.photos/seed/rogz790/100/100"},
|
||
{id:102,name:"MSI MEG X670E ACE",brand:"MSI",price:349990,socket:"AM5",specs:"DDR5, PCIe 5.0, 10GbE",img:"https://picsum.photos/seed/msix670e/100/100"},
|
||
{id:103,name:"Gigabyte B650 AORUS Elite",brand:"Gigabyte",price:129990,socket:"AM5",specs:"DDR5, PCIe 4.0, WiFi 6E",img:"https://picsum.photos/seed/b650aorus/100/100"},
|
||
{id:104,name:"ASRock B760M Pro RS",brand:"ASRock",price:79990,socket:"LGA1700",specs:"DDR5, PCIe 4.0",img:"https://picsum.photos/seed/b760m/100/100"}
|
||
];
|
||
var PSUS=[
|
||
{id:201,name:"Corsair RM1000x",brand:"Corsair",price:109990,watt:1000,specs:"80+ Gold, Full Modular",img:"https://picsum.photos/seed/rm1000x/100/100"},
|
||
{id:202,name:"Seasonic PRIME TX-1300",brand:"Seasonic",price:199990,watt:1300,specs:"80+ Titanium, Full Modular",img:"https://picsum.photos/seed/tx1300/100/100"},
|
||
{id:203,name:"be quiet! Dark Power 850W",brand:"be quiet!",price:89990,watt:850,specs:"80+ Platinum, Fully Modular",img:"https://picsum.photos/seed/dp850/100/100"},
|
||
{id:204,name:"EVGA SuperNOVA 750 G7",brand:"EVGA",price:69990,watt:750,specs:"80+ Gold, Full Modular",img:"https://picsum.photos/seed/evga750/100/100"}
|
||
];
|
||
var COOLERS=[
|
||
{id:301,name:"NZXT Kraken X73",brand:"NZXT",price:129990,type:"AIO",specs:"360mm, RGB, 280W TDP",img:"https://picsum.photos/seed/krakenx73/100/100"},
|
||
{id:302,name:"Noctua NH-D15",brand:"Noctua",price:69990,type:"Tower",specs:"250W TDP, Ultra Quiet",img:"https://picsum.photos/seed/nhd15/100/100"},
|
||
{id:303,name:"Corsair iCUE H150i Elite",brand:"Corsair",price:149990,type:"AIO",specs:"360mm, LCD Display, 280W TDP",img:"https://picsum.photos/seed/h150i/100/100"},
|
||
{id:304,name:"DeepCool AK620",brand:"DeepCool",price:39990,type:"Tower",specs:"200W TDP, Dual Fan",img:"https://picsum.photos/seed/ak620/100/100"}
|
||
];
|
||
var CASES=[
|
||
{id:401,name:"Lian Li O11 Dynamic EVO",brand:"Lian Li",price:109990,specs:"Mid Tower, Tempered Glass, ATX",img:"https://picsum.photos/seed/o11evo/100/100"},
|
||
{id:402,name:"NZXT H9 Elite",brand:"NZXT",price:129990,specs:"Mid Tower, Dual Chamber, ATX",img:"https://picsum.photos/seed/h9elite/100/100"},
|
||
{id:403,name:"Fractal Design Torrent",brand:"Fractal",price:149990,specs:"Mid Tower, High Airflow, ATX",img:"https://picsum.photos/seed/torrent/100/100"},
|
||
{id:404,name:"Corsair 4000D Airflow",brand:"Corsair",price:69990,specs:"Mid Tower, Airflow, ATX",img:"https://picsum.photos/seed/4000d/100/100"}
|
||
];
|
||
|
||
var lang=localStorage.getItem('cybervr-lang')||'kk';
|
||
var favorites=JSON.parse(localStorage.getItem('cybervr-favs')||'[]');
|
||
var cart=JSON.parse(localStorage.getItem('cybervr-cart')||'[]');
|
||
var buildSelections={};
|
||
var currentCat='all';
|
||
var builds=JSON.parse(localStorage.getItem('cybervr-builds')||'[]');
|
||
var compareList=JSON.parse(localStorage.getItem('cybervr-compare')||'[]');
|
||
|
||
var T={
|
||
kk:{
|
||
nav_home:"Басты бет",nav_catalog:"Каталог",nav_vrai:"VR & AI",nav_builder:"Компьютер құрастыру",
|
||
nav_compare:"Салыстыру",nav_ai:"AI көмекші",nav_favs:"Таңдаулылар",nav_cart:"Себет",nav_profile:"Профиль",
|
||
hero_badge:"Жаңа буын технологиялар",
|
||
hero_title:'Болашақ технологиялары — <span class="neon">қазір қолжетімді</span>',
|
||
hero_sub:"VR, AI және ойын технологияларын бір жерден зерттеңіз, салыстырыңыз және өзіңізге лайық шешімді таңдаңыз.",
|
||
hero_cta1:"Каталогты көру",hero_cta2:"Компьютер құрастыру",
|
||
cat_title:'Негізгі <span class="neon">бағыттар</span>',cat_sub:"Өзіңізге қызықты бағытты таңдаңыз",
|
||
cat_vr:"VR құрылғылары",cat_vr_desc:"Виртуалды шындық әлеміне еніңіз.",
|
||
cat_ai:"AI құрылғылары",cat_ai_desc:"Күнделікті өмірге арналған жаңа буын AI технологиялары.",
|
||
cat_gaming:"Gaming",cat_gaming_desc:"Ойынға арналған заманауи құрылғылар мен аксессуарлар.",
|
||
cat_builder:"PC Builder",cat_builder_desc:"Өзіңізге қажетті компьютерді жинаңыз.",
|
||
pop_title:'Танымал <span class="neon">өнімдер</span>',pop_sub:"Ең көп сатылатын құрылғылар",
|
||
feat_title:'Неліктен <span class="neon">CYBER VR</span>?',
|
||
feat1_title:"Жылдам жеткізу",feat1_desc:"Қазақстан бойынша тегін жеткізу",
|
||
feat2_title:"Кепілдік",feat2_desc:"Барлық өнімдерге 2 жыл кепілдік",
|
||
feat3_title:"AI көмекші",feat3_desc:"Таңдауға көмектесетін ақылды жүйе",
|
||
feat4_title:"PC Builder",feat4_desc:"Компьютерді өзіңіз жинаңыз",
|
||
catalog_title:"Каталог",catalog_sub:"Барлық құрылғылар бір жерде",
|
||
cat_all:"Барлығы",search_ph:"Өнімді іздеу...",filter_brand:"Бренд",filter_price:"Баға",filter_rating:"Рейтинг",
|
||
no_results:"Нәтиже табылмады",no_results_desc:"Басқа сөздермен іздеп көріңіз",
|
||
vrai_title:"технологиялары",vrai_sub:"Виртуалды шындық және жасанды интеллект құрылғылары",
|
||
builder_title:'Компьютер <span class="neon">құрастыру</span>',builder_sub:"Өзіңізге қажетті компьютерді жинаңыз",
|
||
builder_your:"Сіздің жинағыңыз",compat_ok:"Компоненттер үйлесімді",
|
||
compat_warn:"Кейбір компоненттер арасында үйлесімділік мәселесі болуы мүмкін",
|
||
total_price:"Жалпы баға:",builder_save:"Құрастыруды сақтау",builder_clear:"Құрастыруды тазарту",
|
||
builder_buy:"Сатып алу",builder_select:"Таңдау",
|
||
compare_title:'Құрылғыларды <span class="neon">салыстыру</span>',compare_sub:"Бірнеше өнімді салыстырыңыз",
|
||
ai_desc:"Сізге қажетті технологияны таңдауға көмектесетін ақылды көмекші.",
|
||
ai_welcome:"Сәлеметсіз бе! Мен CYBER AI көмекшісімін. Сізге қандай құрылғы керек екенін айтыңыз, мен көмектесемін. 🎮",
|
||
ai_sug1:"600 000 ₸ ойын компьютері",ai_sug2:"VR көзілдірік таңдау",ai_sug3:"Видеокарта салыстыру",
|
||
ai_ph:"Сұрағыңызды жазыңыз...",ai_send:"Жіберу",
|
||
fav_title:"Таңдаулылар",fav_sub:"Сіз сақтаған өнімдер",fav_empty:"Таңдаулылар бос",
|
||
fav_empty_desc:"Каталогтан ұнаған өнімдерді қосыңыз",go_catalog:"Каталогқа өту",
|
||
cart_title:"Себет",cart_empty:"Себет бос",cart_empty_desc:"Каталогтан өнімдерді қосыңыз",
|
||
cart_order:"Тапсырыс беру",cart_remove:"Өшіру",
|
||
profile_title:"Менің профилім",my_builds:"Менің жинақтарым",my_compares:"Салыстырулар",
|
||
buy_history:"Сатып алу тарихы",settings:"Баптаулар",
|
||
details:"Толығырақ",add_cart:"Себетке қосу",added_cart:"Себетке қосылды!",
|
||
added_fav:"Таңдаулыларға қосылды!",removed_fav:"Таңдаулылардан алынды",
|
||
build_saved:"Жинақ сақталды!",build_cleared:"Жинақ тазартылды",
|
||
build_empty:"Компоненттерді таңдаңыз",build_bought:"Тапсырыс рәсімделді!",
|
||
compare_empty:"Салыстыру үшін өнімдерді қосыңыз",compare_add:"Салыстыруға қосу",compare_remove:"Салыстырудан алу",
|
||
footer_desc:"Қазақстандағы VR, AI және ойын технологияларының ең үлкен платформасы.",
|
||
footer_catalog:"Каталог",footer_services:"Қызметтер",footer_contact:"Байланыс",
|
||
footer_addr:"Алматы, Қазақстан",footer_rights:"Барлық құқықтар қорғалған.",
|
||
footer_made:"Қазақстанда жасалған 🇰🇿",
|
||
price:"Баға",rating:"Рейтинг",specs:"Сипаттамалар",brand_l:"Бренд",
|
||
qty:"Саны",total:"Жалпы",socket_t:"Сокет",watt_t:"Қуат",type_t:"Тип",
|
||
profile_favs:"Таңдаулылар",profile_builds:"Менің жинақтарым",no_builds:"Жинақтар жоқ",
|
||
no_history:"Сатып алу тарихы бос",select_component:"Компонентті таңдаңыз"
|
||
},
|
||
ru:{
|
||
nav_home:"Главная",nav_catalog:"Каталог",nav_vrai:"VR & AI",nav_builder:"Сборка ПК",
|
||
nav_compare:"Сравнение",nav_ai:"AI помощник",nav_favs:"Избранное",nav_cart:"Корзина",nav_profile:"Профиль",
|
||
hero_badge:"Технологии нового поколения",
|
||
hero_title:'Технологии будущего — <span class="neon">доступны уже сейчас</span>',
|
||
hero_sub:"Исследуйте, сравнивайте и выбирайте VR, AI и игровые технологии в одном месте.",
|
||
hero_cta1:"Смотреть каталог",hero_cta2:"Собрать компьютер",
|
||
cat_title:'Основные <span class="neon">направления</span>',cat_sub:"Выберите интересующее направление",
|
||
cat_vr:"VR устройства",cat_vr_desc:"Погрузитесь в мир виртуальной реальности.",
|
||
cat_ai:"AI устройства",cat_ai_desc:"Технологии AI нового поколения для повседневной жизни.",
|
||
cat_gaming:"Gaming",cat_gaming_desc:"Современные игровые устройства и аксессуары.",
|
||
cat_builder:"PC Builder",cat_builder_desc:"Соберите нужный вам компьютер.",
|
||
pop_title:'Популярные <span class="neon">товары</span>',pop_sub:"Самые продаваемые устройства",
|
||
feat_title:'Почему <span class="neon">CYBER VR</span>?',
|
||
feat1_title:"Быстрая доставка",feat1_desc:"Бесплатная доставка по Казахстану",
|
||
feat2_title:"Гарантия",feat2_desc:"2 года гарантии на все товары",
|
||
feat3_title:"AI помощник",feat3_desc:"Умная система для помощи в выборе",
|
||
feat4_title:"PC Builder",feat4_desc:"Соберите компьютер сами",
|
||
catalog_title:"Каталог",catalog_sub:"Все устройства в одном месте",
|
||
cat_all:"Все",search_ph:"Поиск товаров...",filter_brand:"Бренд",filter_price:"Цена",filter_rating:"Рейтинг",
|
||
no_results:"Ничего не найдено",no_results_desc:"Попробуйте другие слова",
|
||
vrai_title:"технологии",vrai_sub:"Устройства виртуальной реальности и искусственного интеллекта",
|
||
builder_title:'Сборка <span class="neon">компьютера</span>',builder_sub:"Соберите нужный вам компьютер",
|
||
builder_your:"Ваша сборка",compat_ok:"Компоненты совместимы",
|
||
compat_warn:"Возможны проблемы совместимости некоторых компонентов",
|
||
total_price:"Итого:",builder_save:"Сохранить сборку",builder_clear:"Очистить сборку",
|
||
builder_buy:"Купить",builder_select:"Выбрать",
|
||
compare_title:'<span class="neon">Сравнение</span> устройств',compare_sub:"Сравните несколько товаров",
|
||
ai_desc:"Умный помощник для выбора нужной вам технологии.",
|
||
ai_welcome:"Здравствуйте! Я CYBER AI помощник. Расскажите, какое устройство вам нужно, и я помогу. 🎮",
|
||
ai_sug1:"Игровой ПК за 600 000 ₸",ai_sug2:"Выбрать VR очки",ai_sug3:"Сравнить видеокарты",
|
||
ai_ph:"Напишите ваш вопрос...",ai_send:"Отправить",
|
||
fav_title:"Избранное",fav_sub:"Сохранённые вами товары",fav_empty:"Избранное пусто",
|
||
fav_empty_desc:"Добавьте понравившиеся товары из каталога",go_catalog:"Перейти в каталог",
|
||
cart_title:"Корзина",cart_empty:"Корзина пуста",cart_empty_desc:"Добавьте товары из каталога",
|
||
cart_order:"Оформить заказ",cart_remove:"Удалить",
|
||
profile_title:"Мой профиль",my_builds:"Мои сборки",my_compares:"Сравнения",
|
||
buy_history:"История покупок",settings:"Настройки",
|
||
details:"Подробнее",add_cart:"В корзину",added_cart:"Добавлено в корзину!",
|
||
added_fav:"Добавлено в избранное!",removed_fav:"Удалено из избранного",
|
||
build_saved:"Сборка сохранена!",build_cleared:"Сборка очищена",
|
||
build_empty:"Выберите компоненты",build_bought:"Заказ оформлен!",
|
||
compare_empty:"Добавьте товары для сравнения",compare_add:"Добавить к сравнению",compare_remove:"Убрать из сравнения",
|
||
footer_desc:"Крупнейшая платформа VR, AI и игровых технологий в Казахстане.",
|
||
footer_catalog:"Каталог",footer_services:"Услуги",footer_contact:"Контакты",
|
||
footer_addr:"Алматы, Казахстан",footer_rights:"Все права защищены.",
|
||
footer_made:"Сделано в Казахстане 🇰🇿",
|
||
price:"Цена",rating:"Рейтинг",specs:"Характеристики",brand_l:"Бренд",
|
||
qty:"Количество",total:"Итого",socket_t:"Сокет",watt_t:"Мощность",type_t:"Тип",
|
||
profile_favs:"Избранное",profile_builds:"Мои сборки",no_builds:"Нет сборок",
|
||
no_history:"История покупок пуста",select_component:"Выберите компонент"
|
||
}
|
||
};
|
||
|
||
function t(key){return(T[lang]&&T[lang][key])||T.kk[key]||key}
|
||
|
||
function setLang(l){
|
||
lang=l;localStorage.setItem('cybervr-lang',l);
|
||
document.documentElement.lang=l==='kk'?'kk':'ru';
|
||
document.querySelectorAll('.lang-switch button').forEach(function(b){
|
||
var txt=b.textContent.trim();
|
||
b.classList.toggle('active',(l==='kk'&&txt==='KZ')||(l==='ru'&&txt==='RU')||(l==='kk'&&txt==='Қазақша')||(l==='ru'&&txt==='Русский'));
|
||
});
|
||
applyLang();
|
||
}
|
||
|
||
function applyLang(){
|
||
document.querySelectorAll('[data-i18n]').forEach(function(el){
|
||
var key=el.getAttribute('data-i18n');
|
||
if(T[lang]&&T[lang][key])el.innerHTML=T[lang][key];
|
||
});
|
||
document.querySelectorAll('[data-i18n-placeholder]').forEach(function(el){
|
||
var key=el.getAttribute('data-i18n-placeholder');
|
||
if(T[lang]&&T[lang][key])el.placeholder=T[lang][key];
|
||
});
|
||
renderPopular();
|
||
var activePage=document.querySelector('.page.active');
|
||
if(activePage){
|
||
var pid=activePage.id.replace('page-','');
|
||
if(pid==='catalog')filterCatalog();
|
||
if(pid==='builder')renderBuilder();
|
||
if(pid==='compare')renderCompare();
|
||
if(pid==='favorites')renderFavorites();
|
||
if(pid==='cart')renderCart();
|
||
if(pid==='profile')renderProfile();
|
||
if(pid==='vrai')filterVRAI('all');
|
||
}
|
||
}
|
||
|
||
function fmt(n){return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g,' ')+' ₸'}
|
||
|
||
function navigateTo(page,extra){
|
||
document.querySelectorAll('.page').forEach(function(p){p.classList.remove('active')});
|
||
var el=document.getElementById('page-'+page);
|
||
if(el)el.classList.add('active');
|
||
document.querySelectorAll('.nav a,.mobile-nav a').forEach(function(a){
|
||
a.classList.toggle('active',a.getAttribute('data-page')===page);
|
||
});
|
||
window.scrollTo(0,0);closeMobile();
|
||
if(page==='catalog'){filterCatalog(extra)}
|
||
if(page==='vrai')filterVRAI('all');
|
||
if(page==='builder')renderBuilder();
|
||
if(page==='compare')renderCompare();
|
||
if(page==='favorites')renderFavorites();
|
||
if(page==='cart')renderCart();
|
||
if(page==='profile')renderProfile();
|
||
if(page==='home')renderPopular();
|
||
}
|
||
|
||
function toggleMobile(){document.getElementById('mobileNav').classList.toggle('open')}
|
||
function closeMobile(){document.getElementById('mobileNav').classList.remove('open')}
|
||
|
||
window.addEventListener('scroll',function(){
|
||
document.getElementById('header').classList.toggle('scrolled',window.scrollY>20);
|
||
});
|
||
|
||
function toast(msg){
|
||
var d=document.createElement('div');d.className='toast';d.textContent=msg;
|
||
document.getElementById('toastContainer').appendChild(d);
|
||
setTimeout(function(){d.remove()},3000);
|
||
}
|
||
|
||
function toggleFav(id){
|
||
var i=favorites.indexOf(id);
|
||
if(i>-1){favorites.splice(i,1);toast(t('removed_fav'))}
|
||
else{favorites.push(id);toast(t('added_fav'))}
|
||
localStorage.setItem('cybervr-favs',JSON.stringify(favorites));
|
||
updateBadges();
|
||
var ap=document.querySelector('.page.active');
|
||
if(ap){var pid=ap.id.replace('page-','');
|
||
if(pid==='catalog')filterCatalog();
|
||
if(pid==='favorites')renderFavorites();
|
||
if(pid==='profile')renderProfile();
|
||
if(pid==='vrai')filterVRAI('all');
|
||
}
|
||
}
|
||
function isFav(id){return favorites.indexOf(id)>-1}
|
||
|
||
function addToCart(id){
|
||
var found=cart.find(function(c){return c.id===id});
|
||
if(found)found.qty++;else cart.push({id:id,qty:1});
|
||
localStorage.setItem('cybervr-cart',JSON.stringify(cart));
|
||
updateBadges();toast(t('added_cart'));
|
||
}
|
||
function removeFromCart(id){
|
||
cart=cart.filter(function(c){return c.id!==id});
|
||
localStorage.setItem('cybervr-cart',JSON.stringify(cart));
|
||
updateBadges();renderCart();
|
||
}
|
||
function changeQty(id,d){
|
||
var item=cart.find(function(c){return c.id===id});
|
||
if(item){item.qty=Math.max(1,item.qty+d);localStorage.setItem('cybervr-cart',JSON.stringify(cart));renderCart()}
|
||
}
|
||
function getProduct(id){return PRODUCTS.find(function(p){return p.id===id})}
|
||
|
||
function updateBadges(){
|
||
var fb=document.getElementById('favBadge');
|
||
var cb=document.getElementById('cartBadge');
|
||
if(favorites.length>0){fb.style.display='flex';fb.textContent=favorites.length}else fb.style.display='none';
|
||
var totalItems=cart.reduce(function(s,c){return s+c.qty},0);
|
||
if(totalItems>0){cb.style.display='flex';cb.textContent=totalItems}else cb.style.display='none';
|
||
}
|
||
|
||
function renderProductCard(p){
|
||
var favClass=isFav(p.id)?' active':'';
|
||
return '<div class="product-card">'+
|
||
'<img class="product-img" src="'+p.img+'" alt="'+p.name+'" loading="lazy">'+
|
||
'<div class="product-body">'+
|
||
'<span class="product-cat">'+p.cat.toUpperCase()+'</span>'+
|
||
'<div class="product-name">'+p.name+'</div>'+
|
||
'<div class="product-specs">'+p.specs+'</div>'+
|
||
'<div class="product-bottom">'+
|
||
'<span class="product-price">'+fmt(p.price)+'</span>'+
|
||
'<span class="product-rating">★ '+p.rating+'</span>'+
|
||
'</div>'+
|
||
'</div>'+
|
||
'<div class="product-actions">'+
|
||
'<button class="btn btn-primary btn-sm" onclick="showProduct('+p.id+')">'+t('details')+'</button>'+
|
||
'<button class="btn btn-ghost btn-sm" onclick="addToCart('+p.id+')">'+t('add_cart')+'</button>'+
|
||
'<button class="fav-btn'+favClass+'" onclick="toggleFav('+p.id+')">♡</button>'+
|
||
'</div>'+
|
||
'</div>';
|
||
}
|
||
|
||
function showProduct(id){
|
||
var p=getProduct(id);if(!p)return;
|
||
var desc=lang==='kk'?p.desc_kk:p.desc_ru;
|
||
document.getElementById('modalTitle').textContent=p.name;
|
||
document.getElementById('modalBody').innerHTML=
|
||
'<img src="'+p.img+'" alt="'+p.name+'" style="width:100%;border-radius:12px;margin-bottom:16px">'+
|
||
'<p style="color:var(--cyber-text2);margin-bottom:12px">'+desc+'</p>'+
|
||
'<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px">'+
|
||
'<div style="padding:10px;background:rgba(255,255,255,0.03);border-radius:8px"><span style="color:var(--cyber-text2);font-size:12px">'+t('brand_l')+'</span><br><strong>'+p.brand+'</strong></div>'+
|
||
'<div style="padding:10px;background:rgba(255,255,255,0.03);border-radius:8px"><span style="color:var(--cyber-text2);font-size:12px">'+t('rating')+'</span><br><strong>★ '+p.rating+'</strong></div>'+
|
||
'<div style="padding:10px;background:rgba(255,255,255,0.03);border-radius:8px;grid-column:span 2"><span style="color:var(--cyber-text2);font-size:12px">'+t('specs')+'</span><br><strong>'+p.specs+'</strong></div>'+
|
||
'</div>'+
|
||
'<div style="font-size:24px;font-weight:800;color:var(--cyber-neon);margin-bottom:16px">'+fmt(p.price)+'</div>'+
|
||
'<div style="display:flex;gap:8px">'+
|
||
'<button class="btn btn-primary" onclick="addToCart('+p.id+');closeModal(\'productModal\')">'+t('add_cart')+'</button>'+
|
||
'<button class="btn btn-ghost" onclick="toggleFav('+p.id+')">'+(isFav(p.id)?'♥':'♡')+'</button>'+
|
||
'<button class="btn btn-ghost" onclick="addToCompare('+p.id+')">'+t('compare_add')+'</button>'+
|
||
'</div>';
|
||
document.getElementById('productModal').classList.add('open');
|
||
}
|
||
function closeModal(id){document.getElementById(id).classList.remove('open')}
|
||
document.querySelectorAll('.modal-overlay').forEach(function(m){
|
||
m.addEventListener('click',function(e){if(e.target===m)m.classList.remove('open')});
|
||
});
|
||
|
||
function filterCatalog(catOverride){
|
||
if(catOverride&&typeof catOverride==='string')currentCat=catOverride;
|
||
var search=(document.getElementById('searchInput').value||'').toLowerCase();
|
||
var brand=document.getElementById('filterBrand').value;
|
||
var priceRange=document.getElementById('filterPrice').value;
|
||
var minRating=parseFloat(document.getElementById('filterRating').value)||0;
|
||
document.querySelectorAll('#catalogTabs .tab-btn').forEach(function(b){
|
||
b.classList.toggle('active',b.getAttribute('data-cat')===currentCat);
|
||
});
|
||
var filtered=PRODUCTS.filter(function(p){
|
||
if(currentCat!=='all'&&p.cat!==currentCat)return false;
|
||
if(search&&p.name.toLowerCase().indexOf(search)===-1&&p.specs.toLowerCase().indexOf(search)===-1)return false;
|
||
if(brand&&p.brand!==brand)return false;
|
||
if(priceRange){var parts=priceRange.split('-');if(p.price<parseInt(parts[0])||p.price>parseInt(parts[1]))return false}
|
||
if(minRating&&p.rating<minRating)return false;
|
||
return true;
|
||
});
|
||
var grid=document.getElementById('catalogProducts');
|
||
var empty=document.getElementById('catalogEmpty');
|
||
if(filtered.length===0){grid.innerHTML='';empty.style.display='block'}
|
||
else{empty.style.display='none';grid.innerHTML=filtered.map(renderProductCard).join('')}
|
||
}
|
||
|
||
function filterVRAI(type){
|
||
var filtered=PRODUCTS.filter(function(p){return p.cat==='vr'||p.cat==='ai'});
|
||
if(type!=='all')filtered=filtered.filter(function(p){return p.cat===type});
|
||
document.querySelectorAll('#page-vrai .tab-btn').forEach(function(b,i){
|
||
b.classList.toggle('active',(i===0&&type==='all')||(i===1&&type==='vr')||(i===2&&type==='ai'));
|
||
});
|
||
document.getElementById('vraiProducts').innerHTML=filtered.map(renderProductCard).join('');
|
||
}
|
||
|
||
function renderPopular(){
|
||
var popular=PRODUCTS.filter(function(p){return p.rating>=4.7}).slice(0,8);
|
||
var el=document.getElementById('popularProducts');
|
||
if(el)el.innerHTML=popular.map(renderProductCard).join('');
|
||
}
|
||
|
||
function renderBuilder(){
|
||
var container=document.getElementById('builderSteps');
|
||
var html='';
|
||
BUILDER_STEPS.forEach(function(step,i){
|
||
var selected=buildSelections[step.key];
|
||
var statusClass=selected?' completed':(i===getActiveStep()?' active':'');
|
||
var label=lang==='kk'?step.label_kk:step.label_ru;
|
||
html+='<div class="builder-step'+statusClass+'" id="step-'+step.key+'">'+
|
||
'<div class="builder-step-header" onclick="toggleStep(\''+step.key+'\')">'+
|
||
'<div class="step-num">'+(selected?'✓':(i+1))+'</div>'+
|
||
'<div class="step-title">'+step.icon+' '+label+'</div>'+
|
||
(selected?'<div class="step-selected">'+selected.name+' — '+fmt(selected.price)+'</div>':'')+
|
||
'<div class="step-arrow">▼</div>'+
|
||
'</div>'+
|
||
'<div class="step-options" id="opts-'+step.key+'">'+getOptionsHTML(step)+'</div>'+
|
||
'</div>';
|
||
});
|
||
container.innerHTML=html;
|
||
updateSummary();
|
||
}
|
||
|
||
function getActiveStep(){
|
||
for(var i=0;i<BUILDER_STEPS.length;i++){if(!buildSelections[BUILDER_STEPS[i].key])return i}
|
||
return 0;
|
||
}
|
||
function toggleStep(key){
|
||
var el=document.getElementById('step-'+key);
|
||
document.querySelectorAll('.builder-step').forEach(function(s){if(s.id!=='step-'+key)s.classList.remove('active')});
|
||
el.classList.toggle('active');
|
||
}
|
||
|
||
function getOptionsHTML(step){
|
||
var items=[];
|
||
if(step.cat==='cpu')items=PRODUCTS.filter(function(p){return p.cat==='cpu'});
|
||
else if(step.cat==='gpu')items=PRODUCTS.filter(function(p){return p.cat==='gpu'});
|
||
else if(step.cat==='ram')items=PRODUCTS.filter(function(p){return p.cat==='ram'});
|
||
else if(step.cat==='ssd')items=PRODUCTS.filter(function(p){return p.cat==='ssd'});
|
||
else if(step.cat==='mobo')items=MOBOS;
|
||
else if(step.cat==='psu')items=PSUS;
|
||
else if(step.cat==='cool')items=COOLERS;
|
||
else if(step.cat==='case')items=CASES;
|
||
return items.map(function(item){
|
||
var sel=buildSelections[step.key]&&buildSelections[step.key].id===item.id?' selected':'';
|
||
return '<div class="option-card'+sel+'" onclick="selectComponent(\''+step.key+'\','+item.id+',\''+step.cat+'\')">'+
|
||
'<div class="option-img">🔧</div>'+
|
||
'<div class="option-info"><div class="option-name">'+item.name+'</div><div class="option-spec">'+(item.specs||'')+'</div></div>'+
|
||
'<div class="option-price">'+fmt(item.price)+'</div>'+
|
||
'</div>';
|
||
}).join('');
|
||
}
|
||
|
||
function selectComponent(stepKey,itemId,cat){
|
||
var item;
|
||
if(cat==='mobo')item=MOBOS.find(function(i){return i.id===itemId});
|
||
else if(cat==='psu')item=PSUS.find(function(i){return i.id===itemId});
|
||
else if(cat==='cool')item=COOLERS.find(function(i){return i.id===itemId});
|
||
else if(cat==='case')item=CASES.find(function(i){return i.id===itemId});
|
||
else item=PRODUCTS.find(function(i){return i.id===itemId});
|
||
if(item)buildSelections[stepKey]=item;
|
||
renderBuilder();
|
||
}
|
||
|
||
function updateSummary(){
|
||
var container=document.getElementById('summaryItems');
|
||
var total=0;var html='';
|
||
BUILDER_STEPS.forEach(function(step){
|
||
var sel=buildSelections[step.key];
|
||
var label=lang==='kk'?step.label_kk:step.label_ru;
|
||
if(sel){total+=sel.price;html+='<div class="summary-item"><span class="summary-label">'+step.icon+' '+label+'</span><span class="summary-value">'+fmt(sel.price)+'</span></div>'}
|
||
else{html+='<div class="summary-item"><span class="summary-label" style="opacity:0.5">'+step.icon+' '+label+'</span><span class="summary-value" style="opacity:0.3">—</span></div>'}
|
||
});
|
||
container.innerHTML=html;
|
||
document.getElementById('totalPrice').textContent=fmt(total);
|
||
var cpu=buildSelections.cpu;var mobo=buildSelections.mobo;
|
||
var status=document.getElementById('compatStatus');
|
||
if(cpu&&mobo){
|
||
var cpuSocket=cpu.brand==='Intel'?'LGA1700':'AM5';
|
||
if(mobo.socket!==cpuSocket){
|
||
status.className='compat-status compat-err';
|
||
status.innerHTML='⚠ '+(lang==='kk'?'Таңдалған аналық плата бұл процессормен үйлесімді емес.':'Выбранная материнская плата несовместима с этим процессором.');
|
||
}else{status.className='compat-status compat-ok';status.innerHTML='✓ '+t('compat_ok')}
|
||
}else if(Object.keys(buildSelections).length>0){status.className='compat-status compat-ok';status.innerHTML='✓ '+t('compat_ok')}
|
||
}
|
||
|
||
function saveBuild(){
|
||
if(Object.keys(buildSelections).length===0){toast(t('build_empty'));return}
|
||
builds.push(JSON.parse(JSON.stringify(buildSelections)));
|
||
localStorage.setItem('cybervr-builds',JSON.stringify(builds));
|
||
toast(t('build_saved'));
|
||
}
|
||
function clearBuild(){buildSelections={};renderBuilder();toast(t('build_cleared'))}
|
||
function buyBuild(){
|
||
if(Object.keys(buildSelections).length===0){toast(t('build_empty'));return}
|
||
Object.keys(buildSelections).forEach(function(key){
|
||
var item=buildSelections[key];
|
||
if(item&&item.id){var found=cart.find(function(c){return c.id===item.id});if(found)found.qty++;else cart.push({id:item.id,qty:1})}
|
||
});
|
||
localStorage.setItem('cybervr-cart',JSON.stringify(cart));
|
||
updateBadges();toast(t('build_bought'));navigateTo('cart');
|
||
}
|
||
|
||
function addToCompare(id){
|
||
if(compareList.indexOf(id)>-1)return;
|
||
if(compareList.length>=4){toast(lang==='kk'?'4 құрылғыға дейін салыстыруға болады':'Можно сравнить до 4 устройств');return}
|
||
compareList.push(id);localStorage.setItem('cybervr-compare',JSON.stringify(compareList));
|
||
toast(t('compare_add'));renderCompare();
|
||
}
|
||
function removeFromCompare(id){
|
||
compareList=compareList.filter(function(c){return c!==id});
|
||
localStorage.setItem('cybervr-compare',JSON.stringify(compareList));renderCompare();
|
||
}
|
||
function renderCompare(){
|
||
var container=document.getElementById('compareContent');
|
||
if(compareList.length===0){
|
||
container.innerHTML='<div class="empty-state"><div class="icon">⚖️</div><h3>'+t('compare_empty')+'</h3>'+
|
||
'<p style="margin-bottom:16px">'+(lang==='kk'?'Каталогтан өнімдерді салыстыруға қосыңыз':'Добавьте товары из каталога для сравнения')+'</p>'+
|
||
'<button class="btn btn-primary" onclick="navigateTo(\'catalog\')">'+t('go_catalog')+'</button></div>';
|
||
return;
|
||
}
|
||
var products=compareList.map(getProduct).filter(Boolean);
|
||
if(products.length<2){
|
||
container.innerHTML='<div class="empty-state"><div class="icon">⚖️</div><h3>'+(lang==='kk'?'Кемінде 2 өнім қосыңыз':'Добавьте минимум 2 товара')+'</h3></div>';
|
||
return;
|
||
}
|
||
var fields=[
|
||
{label:t('price'),key:'price',fmt:fmt},
|
||
{label:t('brand_l'),key:'brand'},
|
||
{label:t('rating'),key:'rating',prefix:'★ '},
|
||
{label:t('specs'),key:'specs'}
|
||
];
|
||
var html='<div class="compare-table-wrap"><table class="compare-table"><thead><tr><th></th>';
|
||
products.forEach(function(p){
|
||
html+='<th class="product-col-header"><img src="'+p.img+'" alt="'+p.name+'"><div class="name">'+p.name+'</div><div class="price">'+fmt(p.price)+'</div>'+
|
||
'<button class="btn btn-danger btn-sm" style="margin-top:8px" onclick="removeFromCompare('+p.id+')">'+t('compare_remove')+'</button></th>';
|
||
});
|
||
html+='</tr></thead><tbody>';
|
||
fields.forEach(function(f){
|
||
html+='<tr><td style="color:var(--cyber-text2);font-weight:600">'+f.label+'</td>';
|
||
products.forEach(function(p){
|
||
var val=p[f.key];if(f.fmt)val=f.fmt(val);if(f.prefix)val=f.prefix+val;
|
||
html+='<td>'+val+'</td>';
|
||
});
|
||
html+='</tr>';
|
||
});
|
||
html+='</tbody></table></div>';
|
||
container.innerHTML=html;
|
||
}
|
||
|
||
function renderFavorites(){
|
||
var container=document.getElementById('favProducts');
|
||
var empty=document.getElementById('favEmpty');
|
||
var items=favorites.map(getProduct).filter(Boolean);
|
||
if(items.length===0){container.innerHTML='';empty.style.display='block'}
|
||
else{empty.style.display='none';container.innerHTML=items.map(renderProductCard).join('')}
|
||
}
|
||
|
||
function renderCart(){
|
||
var container=document.getElementById('cartContent');
|
||
if(cart.length===0){
|
||
container.innerHTML='<div class="cart-empty"><div class="empty-icon">🛒</div><h3>'+t('cart_empty')+'</h3><p>'+t('cart_empty_desc')+'</p>'+
|
||
'<button class="btn btn-primary" style="margin-top:16px" onclick="navigateTo(\'catalog\')">'+t('go_catalog')+'</button></div>';
|
||
return;
|
||
}
|
||
var total=0;var html='';
|
||
cart.forEach(function(ci){
|
||
var p=getProduct(ci.id);if(!p)return;
|
||
var lineTotal=p.price*ci.qty;total+=lineTotal;
|
||
html+='<div class="cart-item">'+
|
||
'<div class="cart-img">📦</div>'+
|
||
'<div class="cart-info"><div class="cart-name">'+p.name+'</div><div class="cart-spec">'+p.specs+'</div></div>'+
|
||
'<div class="cart-qty">'+
|
||
'<button onclick="changeQty('+p.id+',-1)">−</button>'+
|
||
'<span>'+ci.qty+'</span>'+
|
||
'<button onclick="changeQty('+p.id+',1)">+</button>'+
|
||
'</div>'+
|
||
'<div class="cart-price">'+fmt(lineTotal)+'</div>'+
|
||
'<button class="cart-remove" onclick="removeFromCart('+p.id+')">✕</button>'+
|
||
'</div>';
|
||
});
|
||
html+='<div class="cart-total-bar"><span class="total-label">'+t('total')+':</span><span class="total-price">'+fmt(total)+'</span></div>';
|
||
html+='<div style="margin-top:16px;text-align:right"><button class="btn btn-primary btn-lg" onclick="placeOrder()">'+t('cart_order')+'</button></div>';
|
||
container.innerHTML=html;
|
||
}
|
||
|
||
function placeOrder(){
|
||
toast(t('build_bought'));cart=[];
|
||
localStorage.setItem('cybervr-cart',JSON.stringify(cart));
|
||
updateBadges();renderCart();
|
||
}
|
||
|
||
function renderProfile(){showProfileTab('favorites')}
|
||
|
||
function showProfileTab(tab){
|
||
var content=document.getElementById('profileContent');
|
||
document.querySelectorAll('.profile-menu a').forEach(function(a,i){
|
||
var tabs=['favorites','builds','compares','history','settings'];
|
||
a.classList.toggle('active',tabs[i]===tab);
|
||
});
|
||
if(tab==='favorites'){
|
||
var items=favorites.map(getProduct).filter(Boolean);
|
||
content.innerHTML='<h2>'+t('profile_favs')+'</h2>'+
|
||
(items.length?'<div class="products-grid">'+items.map(renderProductCard).join('')+'</div>':
|
||
'<div class="empty-state"><div class="icon">♡</div><h3>'+t('fav_empty')+'</h3></div>');
|
||
}else if(tab==='builds'){
|
||
content.innerHTML='<h2>'+t('profile_builds')+'</h2>'+
|
||
(builds.length?builds.map(function(b,i){
|
||
var total=0;var items='';
|
||
BUILDER_STEPS.forEach(function(step){if(b[step.key]){total+=b[step.key].price;items+='<div>'+step.icon+' '+b[step.key].name+'</div>'}});
|
||
return '<div style="padding:16px;background:rgba(255,255,255,0.03);border:1px solid var(--cyber-border);border-radius:12px;margin-bottom:12px">'+
|
||
'<div style="display:flex;justify-content:space-between;margin-bottom:8px"><strong>'+(lang==='kk'?'Жинақ':'Сборка')+' #'+(i+1)+'</strong><span style="color:var(--cyber-neon);font-weight:700">'+fmt(total)+'</span></div>'+items+'</div>';
|
||
}).join(''):'<div class="empty-state"><div class="icon">🖥️</div><h3>'+t('no_builds')+'</h3></div>');
|
||
}else if(tab==='compares'){
|
||
var citems=compareList.map(getProduct).filter(Boolean);
|
||
content.innerHTML='<h2>'+t('my_compares')+'</h2>'+
|
||
(citems.length?'<div class="products-grid">'+citems.map(renderProductCard).join('')+'</div>':
|
||
'<div class="empty-state"><div class="icon">⚖️</div><h3>'+t('compare_empty')+'</h3></div>');
|
||
}else if(tab==='history'){
|
||
content.innerHTML='<h2>'+t('buy_history')+'</h2><div class="empty-state"><div class="icon">📦</div><h3>'+t('no_history')+'</h3></div>';
|
||
}else if(tab==='settings'){
|
||
content.innerHTML='<h2>'+t('settings')+'</h2>'+
|
||
'<div style="max-width:400px">'+
|
||
'<div style="margin-bottom:16px"><label style="display:block;margin-bottom:6px;color:var(--cyber-text2);font-size:14px">Email</label><input value="user@cybervr.kz" style="width:100%;padding:10px 14px;background:rgba(255,255,255,0.05);border:1px solid var(--cyber-border);border-radius:10px;color:var(--cyber-text);font-size:14px"></div>'+
|
||
'<div style="margin-bottom:16px"><label style="display:block;margin-bottom:6px;color:var(--cyber-text2);font-size:14px">'+(lang==='kk'?'Аты':'Имя')+'</label><input value="Пайдаланушы" style="width:100%;padding:10px 14px;background:rgba(255,255,255,0.05);border:1px solid var(--cyber-border);border-radius:10px;color:var(--cyber-text);font-size:14px"></div>'+
|
||
'<div style="margin-bottom:16px"><label style="display:block;margin-bottom:6px;color:var(--cyber-text2);font-size:14px">'+(lang==='kk'?'Тіл':'Язык')+'</label>'+
|
||
'<div class="lang-switch" style="display:inline-flex"><button class="'+(lang==='kk'?'active':'')+'" onclick="setLang(\'kk\')">Қазақша</button><button class="'+(lang==='ru'?'active':'')+'" onclick="setLang(\'ru\')">Русский</button></div></div>'+
|
||
'<button class="btn btn-primary" style="margin-top:8px">'+(lang==='kk'?'Сақтау':'Сохранить')+'</button>'+
|
||
'</div>';
|
||
}
|
||
}
|
||
|
||
// AI Chat
|
||
var AI_RESPONSES={
|
||
kk:{
|
||
gaming_pc:'600 000 ₸ бюджетке мынадай жинақ ұсынамын:\n\n⚡ Процессор: AMD Ryzen 7 7800X3D — 229 990 ₸\n🎮 Видеокарта: NVIDIA RTX 4070 Ti Super — 499 990 ₸\n💾 Жад: Corsair Vengeance DDR5 32GB — 89 990 ₸\n💿 SSD: WD Black SN850X 1TB — 79 990 ₸\n\nБұл жинақ барлық заманауи ойындарды жоғары сапада ойнатуға мүмкіндік береді. Толық жинақты «Компьютер құрастыру» бөлімінен жасай аласыз!',
|
||
vr_pick:'VR көзілдірік таңдау үшін бірнеше нұсқа бар:\n\n🥇 Meta Quest 3 — 299 990 ₸ (ең танымал, сымсыз)\n🥈 Meta Quest 3S — 149 990 ₸ (бюджет нұсқасы)\n🥉 PlayStation VR2 — 349 990 ₸ (PS5 үшін)\n\nЕгер жаңадан бастасаңыз, Meta Quest 3 ұсынамын — ол сымсыз және өте ыңғайлы.',
|
||
gpu_compare:'Видеокарта салыстыру:\n\n🏆 NVIDIA RTX 4090 — 899 990 ₸ (ең қуатты)\n⭐ NVIDIA RTX 4080 Super — 649 990 ₸ (жоғары деңгей)\n💎 NVIDIA RTX 4070 Ti Super — 499 990 ₸ (тиімді)\n🔴 AMD RX 7900 XTX — 699 990 ₸ (AMD флагманы)\n\nОйын үшін RTX 4070 Ti Super ең тиімді. Жұмыс үшін RTX 4090.',
|
||
default:'Сұрағыңызға рахмет! Мен келесі тақырыптарда көмектесе аламын:\n\n• VR және AI көзілдірік таңдау\n• Ойын компьютерін жинау\n• Видеокарта және процессор салыстыру\n• Бюджетке сай құрылғылар\n\nНақты сұрақ қойыңыз!'
|
||
},
|
||
ru:{
|
||
gaming_pc:'Для бюджета 600 000 ₸ рекомендую такую сборку:\n\n⚡ Процессор: AMD Ryzen 7 7800X3D — 229 990 ₸\n🎮 Видеокарта: NVIDIA RTX 4070 Ti Super — 499 990 ₸\n💾 Память: Corsair Vengeance DDR5 32GB — 89 990 ₸\n💿 SSD: WD Black SN850X 1TB — 79 990 ₸\n\nЭта сборка позволит играть во все современные игры на высоких настройках. Полную сборку можно сделать в разделе «Сборка ПК»!',
|
||
vr_pick:'Для выбора VR очков есть несколько вариантов:\n\n🥇 Meta Quest 3 — 299 990 ₸ (самый популярный, беспроводной)\n🥈 Meta Quest 3S — 149 990 ₸ (бюджетный вариант)\n🥉 PlayStation VR2 — 349 990 ₸ (для PS5)\n\nЕсли вы новичок, рекомендую Meta Quest 3 — он беспроводной и очень удобный.',
|
||
gpu_compare:'Сравнение видеокарт:\n\n🏆 NVIDIA RTX 4090 — 899 990 ₸ (самая мощная)\n⭐ NVIDIA RTX 4080 Super — 649 990 ₸ (высокий уровень)\n💎 NVIDIA RTX 4070 Ti Super — 499 990 ₸ (выгодная)\n🔴 AMD RX 7900 XTX — 699 990 ₸ (флагман AMD)\n\nДля игр лучшая по цене — RTX 4070 Ti Super. Для работы — RTX 4090.',
|
||
default:'Спасибо за вопрос! Я могу помочь с:\n\n• Выбором VR и AI очков\n• Сборкой игрового компьютера\n• Сравнением видеокарт и процессоров\n• Устройствами под бюджет\n\nЗадайте конкретный вопрос!'
|
||
}
|
||
};
|
||
|
||
function sendAI(){
|
||
var input=document.getElementById('aiInput');
|
||
var msg=input.value.trim();if(!msg)return;
|
||
addAIMsg(msg,'user');input.value='';
|
||
setTimeout(function(){
|
||
var response=AI_RESPONSES[lang].default;
|
||
var ml=msg.toLowerCase();
|
||
if(ml.indexOf('600')>-1||ml.indexOf('ойын')>-1||ml.indexOf('компьютер')>-1||ml.indexOf('игров')>-1||ml.indexOf('пк')>-1||ml.indexOf('сборк')>-1)
|
||
response=AI_RESPONSES[lang].gaming_pc;
|
||
else if(ml.indexOf('vr')>-1||ml.indexOf('көзілдірік')>-1||ml.indexOf('очки')>-1)
|
||
response=AI_RESPONSES[lang].vr_pick;
|
||
else if(ml.indexOf('видео')>-1||ml.indexOf('gpu')>-1||ml.indexOf('rtx')>-1||ml.indexOf('карта')>-1)
|
||
response=AI_RESPONSES[lang].gpu_compare;
|
||
addAIMsg(response,'bot');
|
||
},800);
|
||
}
|
||
|
||
function aiSuggest(btn){
|
||
var msg=btn.textContent;
|
||
document.getElementById('aiInput').value=msg;
|
||
sendAI();
|
||
}
|
||
|
||
function addAIMsg(text,type){
|
||
var container=document.getElementById('aiMessages');
|
||
var div=document.createElement('div');
|
||
div.className='ai-msg '+type;
|
||
var avatar=type==='bot'?'🧠':'👤';
|
||
div.innerHTML='<div class="avatar">'+avatar+'</div><div class="bubble">'+text.replace(/\n/g,'<br>')+'</div>';
|
||
container.appendChild(div);
|
||
container.scrollTop=container.scrollHeight;
|
||
}
|
||
|
||
// Init
|
||
document.addEventListener('DOMContentLoaded',function(){
|
||
setLang(lang);
|
||
updateBadges();
|
||
renderPopular();
|
||
|
||
// Scroll reveal
|
||
var io=new IntersectionObserver(function(entries){
|
||
entries.forEach(function(e){if(e.isIntersecting)e.target.classList.add('in')});
|
||
},{threshold:0.15});
|
||
document.querySelectorAll('.reveal').forEach(function(el){io.observe(el)});
|
||
});
|