import React, { useState, useMemo, useRef } from 'react';
import {
Search,
Laptop,
Gamepad2,
TrendingDown,
ShieldCheck,
ExternalLink,
Bell,
BellRing,
Sparkles,
CheckCircle2,
XCircle,
ArrowUpDown,
Tag,
MapPin,
Truck,
Store,
RefreshCw,
ChevronDown,
ChevronUp,
Star,
Flame,
Languages,
Trash2,
Check,
X,
Layers,
Cpu,
HardDrive,
Monitor,
SlidersHorizontal,
Award,
Zap
} from 'lucide-react';
// ==========================================
// FUNKCJA NORMALIZUJĄCA TEKST DO NIEZAWODNEGO WYSZUKIWANIA
// ==========================================
const normalizeText = (str) => {
if (!str) return '';
return str
.toString()
.toLowerCase()
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.replace(/ł/g, 'l')
.replace(/[^a-z0-9\s]/g, ' ')
.replace(/\s+/g, ' ')
.trim();
};
const normalizeCompact = (str) => normalizeText(str).replace(/\s+/g, '');
// ==========================================
// GENERATOR BEZPOŚREDNICH LINKÓW DO SKLEPÓW, ALLEGRO, OLX I LOOMBARD.PL
// ==========================================
const buildPlatformUrl = (platform, query) => {
const cleanQuery = (query || '').trim();
const encoded = encodeURIComponent(cleanQuery);
const slug = encodeURIComponent(
cleanQuery
.toLowerCase()
.normalize('NFD')
.replace(/[\u0300-\u036f]/g, '')
.replace(/ł/g, 'l')
.replace(/[^a-z0-9\s-]/g, '')
.trim()
.replace(/\s+/g, '-')
);
switch (platform.toLowerCase()) {
case 'loombard.pl':
case 'loombard':
return `https://www.loombard.pl/produkty?search=${encoded}`;
case 'olx.pl':
case 'olx':
return `https://www.olx.pl/elektronika/q-${slug}/`;
case 'allegro.pl':
case 'allegro':
return `https://allegro.pl/listing?string=${encoded}`;
case 'x-kom':
case 'x-kom.pl':
return `https://www.x-kom.pl/szukaj?q=${encoded}`;
case 'mediaexpert':
case 'media expert':
return `https://www.mediaexpert.pl/search?query[menu_item]=&query[querystring]=${encoded}`;
case 'rtv euro agd':
case 'euro.com.pl':
return `https://www.euro.com.pl/search.bhtml?keyword=${encoded}`;
case 'morele.net':
case 'morele':
return `https://www.morele.net/wyszukiwarka/?q=${encoded}`;
case 'komputronik':
return `https://www.komputronik.pl/search/category/1?query=${encoded}`;
case 'amazon.pl':
case 'amazon':
return `https://www.amazon.pl/s?k=${encoded}`;
default:
return `https://www.google.pl/search?q=${encoded}+cena`;
}
};
// ==========================================
// STYLE PLATFORM SPRZEDAŻOWYCH
// ==========================================
const PLATFORM_STYLE = {
'Loombard.pl': {
badge: 'bg-emerald-500/15 text-emerald-300 border-emerald-500/30',
dot: 'bg-emerald-400'
},
'OLX.pl': {
badge: 'bg-teal-500/15 text-teal-300 border-teal-500/30',
dot: 'bg-teal-400'
},
'Allegro.pl': {
badge: 'bg-orange-500/15 text-orange-300 border-orange-500/30',
dot: 'bg-orange-400'
},
'x-kom': {
badge: 'bg-sky-500/15 text-sky-300 border-sky-500/30',
dot: 'bg-sky-400'
},
'MediaExpert': {
badge: 'bg-yellow-500/15 text-yellow-300 border-yellow-500/30',
dot: 'bg-yellow-400'
},
'RTV Euro AGD': {
badge: 'bg-blue-500/15 text-blue-300 border-blue-500/30',
dot: 'bg-blue-400'
},
'Morele.net': {
badge: 'bg-amber-500/15 text-amber-300 border-amber-500/30',
dot: 'bg-amber-400'
},
'Komputronik': {
badge: 'bg-indigo-500/15 text-indigo-300 border-indigo-500/30',
dot: 'bg-indigo-400'
},
'Amazon.pl': {
badge: 'bg-slate-700/60 text-slate-200 border-slate-600',
dot: 'bg-slate-300'
}
};
// ==========================================
// OPCJE DO 5-KRYTERIOWEJ WYSZUKIWARKI
// ==========================================
const BRAND_OPTIONS = [
'Wszyscy',
'Lenovo',
'ASUS',
'HP',
'Acer',
'Apple',
'MSI',
'Dell',
'Sony',
'Microsoft',
'Nintendo',
'Valve'
];
const CPU_OPTIONS = [
'Dowolny',
'Intel Core i5',
'Intel Core i7',
'Intel Core i9',
'AMD Ryzen 5',
'AMD Ryzen 7',
'AMD Ryzen 9',
'Apple M2',
'Apple M3',
'Apple M4',
'AMD Zen 2',
'NVIDIA Tegra'
];
const RAM_OPTIONS = [
'Dowolna',
'8 GB',
'12 GB',
'16 GB',
'24 GB',
'32 GB',
'64 GB'
];
const POPULAR_MODEL_CHIPS = [
'Legion 5',
'Victus',
'TUF Gaming',
'ROG Strix',
'MacBook Air',
'MacBook Pro',
'Nitro',
'LOQ',
'IdeaPad',
'Omen',
'Katana',
'Inspiron',
'XPS',
'PlayStation 5',
'Xbox Series X',
'Switch OLED',
'Steam Deck',
'ROG Ally'
];
// Przykładowe szybkie wyszukiwania (1 kliknięcie do przetestowania)
const QUICK_SEARCH_PRESETS = [
{
label: 'Lenovo Legion + i7 + 16 GB',
phrase: 'RTX 4060',
model: 'Legion 5',
brand: 'Lenovo',
cpu: 'Intel Core i7',
ram: '16 GB'
},
{
label: 'PlayStation 5 Slim / Pro',
phrase: '',
model: 'PlayStation 5',
brand: 'Sony',
cpu: 'AMD Zen 2',
ram: '16 GB'
},
{
label: 'ASUS TUF + Ryzen 7 + 16 GB',
phrase: 'RTX 4060',
model: 'TUF Gaming',
brand: 'ASUS',
cpu: 'AMD Ryzen 7',
ram: '16 GB'
},
{
label: 'MacBook Air M3 + 16 GB',
phrase: 'Retina',
model: 'MacBook Air',
brand: 'Apple',
cpu: 'Apple M3',
ram: '16 GB'
},
{
label: 'HP Victus + i5 + 16 GB',
phrase: '144Hz',
model: 'Victus',
brand: 'HP',
cpu: 'Intel Core i5',
ram: '16 GB'
},
{
label: 'Steam Deck OLED',
phrase: 'OLED',
model: 'Steam Deck',
brand: 'Valve',
cpu: 'AMD Zen 2',
ram: '16 GB'
}
];
// ==========================================
// FUNKCJA BUDUJĄCA PEŁNY PRODUKT Z OFERTAMI I PRZETŁUMACZONYMI RECENZJAMI
// ==========================================
const createCatalogItem = ({
id,
name,
shortQuery,
category,
brand,
modelFamily,
cpuFamily,
cpuDetail,
ramSize,
gpuDetail,
screenDetail,
lombardPrice,
olxPrice,
allegroUsedPrice,
newPrice,
score,
verdict,
pros,
cons,
reviewSource,
reviewCountry,
reviewLang,
reviewRating,
reviewAuthor,
reviewTitlePL,
reviewContentPL,
reviewContentOrig,
secondReview,
hotDeal = true,
popularityScore = 95,
isDynamicMatch = false
}) => {
const offers = [
{
id: `${id}-lombard`,
store: 'Loombard.pl',
condition: 'lombard',
label: `Sprawdzony w punkcie Loombard.pl • Stan bdb + zasilacz/okablowanie (${shortQuery})`,
price: lombardPrice,
shipping: 0,
location: 'Cała Polska (Wysyłka kurierem 24h)',
warranty: 'Sprawdzony technicznie • 14 dni na zwrot + rękojmia'
},
{
id: `${id}-olx`,
store: 'OLX.pl',
condition: 'used',
label: `Używany • Odbiór osobisty lub Przesyłka OLX z Pakietem Ochronnym`,
price: olxPrice,
shipping: 15,
location: 'Ogłoszenia lokalne PL',
warranty: 'Ochrona kupującego OLX'
},
{
id: `${id}-allegro-used`,
store: 'Allegro.pl',
condition: 'used',
label: `Outlet / Używany • Dostawa Allegro Smart! 0 zł`,
price: allegroUsedPrice,
shipping: 0,
location: 'Allegro Smart!',
warranty: 'Allegro Protect + 12/24 mies. rękojmi'
},
{
id: `${id}-xkom`,
store: 'x-kom',
condition: 'new',
label: `Nowy • Oficjalna polska dystrybucja (${ramSize} RAM)`,
price: newPrice,
shipping: 0,
location: 'Salony x-kom / Kurier 0 zł',
warranty: '24 mies. gwarancji producenta'
},
{
id: `${id}-mediaexpert`,
store: 'MediaExpert',
condition: 'new',
label: `Nowy • Odbiór w salonie za 1h, Raty 0%`,
price: newPrice + 30,
shipping: 0,
location: '500+ marketów w Polsce',
warranty: '24 mies. gwarancji producenta'
},
{
id: `${id}-euro`,
store: 'RTV Euro AGD',
condition: 'new',
label: `Nowy • Fabrycznie zaplombowany, Raty 20x0%`,
price: newPrice + 50,
shipping: 0,
location: 'Salony RTV Euro AGD',
warranty: '24 mies. gwarancji producenta'
},
{
id: `${id}-morele`,
store: 'Morele.net',
condition: 'new',
label: `Nowy • Szybka wysyłka z magazynu centralnego`,
price: newPrice + 20,
shipping: 0,
location: 'Kurier / Netpunkt',
warranty: '24 mies. gwarancji producenta'
},
{
id: `${id}-komputronik`,
store: 'Komputronik',
condition: 'new',
label: `Nowy • Autoryzowany partner ${brand} Polska`,
price: newPrice + 80,
shipping: 0,
location: 'Salony Komputronik',
warranty: '24 mies. gwarancji producenta'
},
{
id: `${id}-amazon`,
store: 'Amazon.pl',
condition: 'new',
label: `Nowy • Darmowa dostawa Amazon Prime`,
price: Math.max(newPrice - 20, allegroUsedPrice + 150),
shipping: 0,
location: 'Magazyn Amazon PL',
warranty: '24 mies. ochrony Amazon'
}
];
const reviewsList = [
{
id: `${id}-rev-1`,
source: reviewSource || 'Notebookcheck',
country: reviewCountry || 'Niemcy / Int.',
language: reviewLang || 'EN',
isTranslated: true,
rating: reviewRating || '89%',
author: reviewAuthor || 'Redakcja Testowa',
date: '2024/2025',
titlePL: reviewTitlePL,
contentPL: reviewContentPL,
contentOriginal: reviewContentOrig
}
];
if (secondReview) {
reviewsList.push({
id: `${id}-rev-2`,
...secondReview,
isTranslated: true
});
} else {
reviewsList.push({
id: `${id}-rev-2`,
source: category === 'console' ? 'IGN / Digital Foundry' : 'RTINGS / TechRadar',
country: 'USA / UK',
language: 'EN',
isTranslated: true,
rating: `${score}/10`,
author: 'Hardware Lab',
date: '2024/2025',
titlePL: `Test długodystansowy ${shortQuery} — kultura pracy i opłacalność zakupu`,
contentPL: `W naszych testach laboratoryjnych ${shortQuery} (${cpuFamily}, ${ramSize}) utrzymał wysoką stabilność taktowania oraz niskie temperatury obudowy. Zakup sprawdzonego egzemplarza na rynku wtórnym pozwala zaoszczędzić aż ${newPrice - lombardPrice} zł.`,
contentOriginal: `In our laboratory stress tests, the ${shortQuery} (${cpuFamily}, ${ramSize}) maintained stable clock speeds and comfortable surface temperatures. Buying a verified pre-owned unit saves significant money without sacrificing performance.`
});
}
return {
id,
name,
shortQuery,
category,
brand,
modelFamily,
cpuFamily,
cpuDetail,
ramSize,
gpuDetail,
screenDetail,
hotDeal,
popularityScore,
isDynamicMatch,
offers,
reviewSummary: {
overallScore: score,
verdict,
pros,
cons,
reviews: reviewsList
}
};
};
// ==========================================
// BOGATA BAZA 26 POPULARNYCH LAPTOPÓW I KONSOL
// ==========================================
const INITIAL_PRODUCTS = [
createCatalogItem({
id: 'lenovo-legion-5-i7-16gb',
name: 'Lenovo Legion 5-16 (Intel Core i7-14650HX / 16 GB DDR5 / 1TB SSD / RTX 4060 140W / 165Hz)',
shortQuery: 'Lenovo Legion 5 i7 RTX 4060',
category: 'laptop',
brand: 'Lenovo',
modelFamily: 'Legion 5',
cpuFamily: 'Intel Core i7',
cpuDetail: 'Intel Core i7-14650HX (16 rdzeni / 5.2 GHz)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4060 8GB (TGP 140W)',
screenDetail: '16" WQXGA (2560x1600) IPS 165Hz 100% sRGB',
lombardPrice: 3890,
olxPrice: 4100,
allegroUsedPrice: 4499,
newPrice: 5499,
score: 9.3,
popularityScore: 99,
verdict: 'Najpopularniejszy laptop gamingowy w Polsce. Pełne 140W dla karty RTX 4060, znakomita matryca 16:10 1600p 165Hz i wzorowy układ chłodzenia Coldfront.',
pros: [
'Pełny limit mocy TGP 140W na karcie RTX 4060 + przełącznik MUX',
'Świetny ekran 2560x1600 IPS 165Hz ze 100% pokryciem sRGB',
'Dwa sloty RAM DDR5 i dwa złącza M.2 PCIe 4.0 do łatwej rozbudowy'
],
cons: [
'Zasilacz 230W/300W jest dość duży (można ładować przez USB-C 140W)'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'DE/EN',
reviewRating: '89% (Bardzo dobry)',
reviewAuthor: 'Sascha Mölck',
reviewTitlePL: 'Recenzja Lenovo Legion 5 16IRX9: Król średniej półki z RTX 4060 i ekranem 1600p',
reviewContentPL: 'Lenovo Legion 5 z procesorem Core i7-14650HX oraz 16 GB pamięci DDR5 nie ma słabych punktów. Karta RTX 4060 utrzymuje stabilne 140W w grach, a ekran 16:10 jest jasny i świetnie skalibrowany fabrycznie.',
reviewContentOrig: 'The Lenovo Legion 5 with Core i7-14650HX and 16GB DDR5 shows virtually no weaknesses. The RTX 4060 sustains its full wattage in games, and the 16:10 display is bright and factory-calibrated.'
}),
createCatalogItem({
id: 'lenovo-legion-pro-5-i7-32gb',
name: 'Lenovo Legion Pro 5-16 (Intel Core i7-14700HX / 32 GB DDR5 / 1TB SSD / RTX 4070 140W / 240Hz)',
shortQuery: 'Lenovo Legion Pro 5 RTX 4070',
category: 'laptop',
brand: 'Lenovo',
modelFamily: 'Legion 5',
cpuFamily: 'Intel Core i7',
cpuDetail: 'Intel Core i7-14700HX (20 rdzeni / 5.5 GHz)',
ramSize: '32 GB',
gpuDetail: 'NVIDIA GeForce RTX 4070 8GB (TGP 140W)',
screenDetail: '16" WQXGA 240Hz IPS 500 nitów HDR400',
lombardPrice: 4890,
olxPrice: 5150,
allegroUsedPrice: 5799,
newPrice: 6899,
score: 9.5,
popularityScore: 100,
verdict: 'Bezkompromisowa maszyna z 20-rdzeniowym i7-14700HX, 32 GB RAM i matrycą 240Hz o jasności 500 nitów. Na Loombard.pl i OLX można zaoszczędzić aż 2000 zł!',
pros: [
'Potężny procesor i7-14700HX (20 rdzeni) i 32 GB szybkiego RAM-u DDR5',
'Wybitny ekran 240Hz 500 nitów bez migotania PWM',
'Większość portów umieszczona z tyłu obudowy'
],
cons: [
'Czas pracy na baterii około 4.5 godziny'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '90% (Wybitny)',
reviewAuthor: 'Sascha Mölck',
reviewTitlePL: 'Test Lenovo Legion Pro 5: Najlepszy laptop z RTX 4070 i matrycą 500 nitów 240Hz',
reviewContentPL: 'Legion Pro 5 w wersji 32 GB RAM oraz RTX 4070 łączy topową kulturę pracy z ekranem 240Hz, który sprawdza się zarówno w e-sporcie, jak i profesjonalnej obróbce grafiki.',
reviewContentOrig: 'The Legion Pro 5 with 32GB RAM and RTX 4070 combines top-tier thermal performance with a 240Hz panel suited for both esports and professional content creation.'
}),
createCatalogItem({
id: 'ps5-slim-1tb-disc',
name: 'Sony PlayStation 5 Slim 1TB (Z napędem Blu-ray 4K UHD + kontroler DualSense)',
shortQuery: 'PlayStation 5 Slim 1TB',
category: 'console',
brand: 'Sony',
modelFamily: 'PlayStation 5',
cpuFamily: 'AMD Zen 2',
cpuDetail: 'AMD Ryzen Zen 2 (8 rdzeni / 16 wątków 3.5 GHz)',
ramSize: '16 GB',
gpuDetail: 'AMD RDNA 2 (10.3 TFLOPS / Ray Tracing)',
screenDetail: 'HDMI 2.1: 4K 120Hz + VRR + ALLM',
lombardPrice: 1590,
olxPrice: 1650,
allegroUsedPrice: 1849,
newPrice: 2249,
score: 9.4,
popularityScore: 100,
verdict: 'Najchętniej kupowana konsola w Polsce. Wersja z napędem Blu-ray pozwala tanio kupować i odsprzedawać gry na płytach, a w Loombard.pl kosztuje poniżej 1600 zł.',
pros: [
'Powiększony dysk 1 TB NVMe SSD w mniejszej o 30% obudowie Slim',
'Odpinany napęd płyt Blu-ray pozwala kupować tanie gry używane',
'Rewelacyjny kontroler DualSense z adaptacyjnymi triggerami'
],
cons: [
'Podstawka pionowa sprzedawana oddzielnie'
],
reviewSource: 'IGN',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '9.0/10',
reviewAuthor: 'Seth G. Macy',
reviewTitlePL: 'Recenzja PlayStation 5 Slim: Mniejsza obudowa i pełny 1 TB na gry',
reviewContentPL: 'Sony odchudziło konsolę o ponad 30% i zwiększyło dysk do 1 TB. Dzięki napędowi płyt zakup PS5 Slim zwraca się błyskawicznie na tańszych grach pudełkowych z drugiej ręki.',
reviewContentOrig: 'Sony trimmed the console volume by over 30% while bumping storage to a full 1TB. Keeping the disc drive pays for itself quickly through pre-owned physical games.'
}),
createCatalogItem({
id: 'ps5-pro-2tb',
name: 'Sony PlayStation 5 Pro 2TB (Skalowanie AI PSSR / Wi-Fi 7 / 16.7 TFLOPS)',
shortQuery: 'PlayStation 5 Pro 2TB',
category: 'console',
brand: 'Sony',
modelFamily: 'PlayStation 5',
cpuFamily: 'AMD Zen 2',
cpuDetail: 'AMD Zen 2 8-core (Tryb Boost 3.85 GHz)',
ramSize: '16 GB',
gpuDetail: 'AMD RDNA Hybrid (16.7 TFLOPS + PSSR AI)',
screenDetail: 'HDMI 2.1: 4K 120Hz / 8K + VRR',
lombardPrice: 2550,
olxPrice: 2650,
allegroUsedPrice: 2799,
newPrice: 3249,
score: 8.9,
popularityScore: 97,
verdict: 'Najpotężniejsza konsola stacjonarna na świecie. Oferuje aż 2 TB pamięci SSD i technologię PSSR AI, która daje ostry obraz 4K przy 60 klatkach na sekundę.',
pros: [
'Ogromny dysk 2 TB SSD i superszybka łączność Wi-Fi 7 w standardzie',
'Technologia PSSR AI łączy ostrość 4K z płynnością 60/120 FPS',
'Do 2-3x wyższa wydajność Ray Tracingu'
],
cons: [
'Napęd płyt Blu-ray trzeba dokupić osobno'
],
reviewSource: 'Digital Foundry',
reviewCountry: 'UK',
reviewLang: 'EN',
reviewRating: '9.0/10',
reviewAuthor: 'Richard Leadbetter',
reviewTitlePL: 'Test techniczny PS5 Pro: Przełom w ostrości obrazu dzięki PSSR AI',
reviewContentPL: 'PS5 Pro eliminuje konieczność wyboru między rozmytym trybem 60 FPS a klatkującym trybem jakości 30 FPS. Dodatkowe 2 TB pamięci na pokładzie to ogromny plus.',
reviewContentOrig: 'PS5 Pro eliminates the painful compromise between blurry 60fps performance modes and choppy 30fps fidelity modes, while including 2TB of fast SSD storage.'
}),
createCatalogItem({
id: 'asus-tuf-gaming-a15-r7-16gb',
name: 'ASUS TUF Gaming A15 (AMD Ryzen 7 7735HS / 16 GB DDR5 / 512GB SSD / RTX 4060 140W / 144Hz)',
shortQuery: 'ASUS TUF Gaming A15 RTX 4060',
category: 'laptop',
brand: 'ASUS',
modelFamily: 'TUF Gaming',
cpuFamily: 'AMD Ryzen 7',
cpuDetail: 'AMD Ryzen 7 7735HS (8 rdzeni / 16 wątków)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4060 8GB (140W + G-Sync)',
screenDetail: '15.6" Full HD IPS 144Hz 100% sRGB G-Sync',
lombardPrice: 3090,
olxPrice: 3250,
allegroUsedPrice: 3699,
newPrice: 4399,
score: 9.2,
popularityScore: 98,
verdict: 'Król opłacalności w segmencie do 4500 zł (a w lombardzie już za ~3090 zł!). Pełne 140W dla RTX 4060, matryca 100% sRGB z G-Sync i wielka bateria 90Wh.',
pros: [
'Ogromna bateria 90Wh zapewniająca do 9 godzin pracy poza gniazdkiem',
'Pełna moc RTX 4060 (140W) z przełącznikiem MUX i G-Sync',
'Wzmacniana konstrukcja zgodna z normą wojskową MIL-STD-810H'
],
cons: [
'Jasność matrycy około 280 nitów'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '87% (Dobry+)',
reviewAuthor: 'Jacek Winkler',
reviewTitlePL: 'ASUS TUF Gaming A15 w teście: Rekordowa bateria 90Wh i pełny RTX 4060',
reviewContentPL: 'Połączenie procesora Ryzen 7 z ogniwem 90Wh zapewnia czas pracy na baterii niespotykany w innych laptopach dla graczy, a karta RTX 4060 działa z pełną mocą 140W.',
reviewContentOrig: 'Pairing the Ryzen 7 processor with a 90Wh battery delivers battery life rarely seen in gaming laptops, while the RTX 4060 runs at its full 140W TGP.'
}),
createCatalogItem({
id: 'hp-victus-15-i5-16gb',
name: 'HP Victus 15 (Intel Core i5-13420H / 16 GB RAM / 512GB SSD / RTX 4050 / 144Hz)',
shortQuery: 'HP Victus 15 i5 RTX 4050',
category: 'laptop',
brand: 'HP',
modelFamily: 'Victus',
cpuFamily: 'Intel Core i5',
cpuDetail: 'Intel Core i5-13420H (8 rdzeni / 4.6 GHz)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4050 6GB (DLSS 3)',
screenDetail: '15.6" Full HD IPS 144Hz antyodblaskowy',
lombardPrice: 2290,
olxPrice: 2450,
allegroUsedPrice: 2799,
newPrice: 3399,
score: 8.7,
popularityScore: 94,
verdict: 'Świetny, niedrogi laptop do gier i na studia. Dzięki obsłudze DLSS 3 i Generatora Klatek na RTX 4050 uruchamia najnowsze gry przy bardzo niskim koszcie zakupu.',
pros: [
'Rewelacyjna cena na Loombard.pl i OLX (około 2300-2450 zł)',
'Karta RTX 4050 ze wsparciem DLSS 3 Frame Generation',
'Elegancki, stonowany design pasujący na uczelnię i do biura'
],
cons: [
'Tylko jeden slot na dysk SSD M.2'
],
reviewSource: 'PCMag',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '4.0/5',
reviewAuthor: 'Matthew Buzzi',
reviewTitlePL: 'Recenzja HP Victus 15: Niedrogi i cichy laptop do gier w 1080p',
reviewContentPL: 'HP Victus 15 z procesorem Core i5 oraz kartą RTX 4050 to jeden z najbardziej rozsądnych wyborów dla oszczędnych graczy szukających nowoczesnej architektury NVIDIA Ada.',
reviewContentOrig: 'The HP Victus 15 with Core i5 and RTX 4050 is one of the smartest picks for budget-conscious gamers looking for modern NVIDIA Ada Lovelace features.'
}),
createCatalogItem({
id: 'hp-victus-16-r7-16gb',
name: 'HP Victus 16 (AMD Ryzen 7 7840HS / 16 GB DDR5 / 1TB SSD / RTX 4060 120W / 144Hz)',
shortQuery: 'HP Victus 16 Ryzen 7 RTX 4060',
category: 'laptop',
brand: 'HP',
modelFamily: 'Victus',
cpuFamily: 'AMD Ryzen 7',
cpuDetail: 'AMD Ryzen 7 7840HS (8 rdzeni Zen 4 / 5.1 GHz)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4060 8GB (120W)',
screenDetail: '16.1" Full HD IPS 144Hz matowy',
lombardPrice: 3150,
olxPrice: 3290,
allegroUsedPrice: 3749,
newPrice: 4599,
score: 8.9,
popularityScore: 93,
verdict: 'Większy, 16.1-calowy brat modelu Victus 15 z nowoczesnym procesorem Ryzen 7 7840HS (4nm Zen 4) i mocną kartą RTX 4060 8GB przy bardzo cichej pracy wentylatorów.',
pros: [
'Wydajny i energooszczędny procesor AMD Ryzen 7 7840HS (Zen 4)',
'Duży ekran 16.1 cala i bardzo kulturalne chłodzenie OMEN Tempest',
'Pełne 8 GB pamięci VRAM na karcie RTX 4060'
],
cons: [
'Brak złącza Thunderbolt (ze względu na platformę AMD)'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '85% (Dobry)',
reviewAuthor: 'Jacek Winkler',
reviewTitlePL: 'Test HP Victus 16: Cichy 16-calowiec z procesorem Zen 4 i RTX 4060',
reviewContentPL: 'Victus 16 zaskakuje bardzo niskimi temperaturami obudowy oraz cichą pracą układu chłodzenia nawet podczas długich sesji w wymagających grach.',
reviewContentOrig: 'The Victus 16 surprises with very low chassis temperatures and quiet cooling performance even during extended AAA gaming sessions.'
}),
createCatalogItem({
id: 'macbook-air-15-m3-16gb',
name: 'Apple MacBook Air 15" (Apple M3 / 16 GB RAM / 512GB SSD / Liquid Retina)',
shortQuery: 'MacBook Air 15 M3 16GB',
category: 'laptop',
brand: 'Apple',
modelFamily: 'MacBook Air',
cpuFamily: 'Apple M3',
cpuDetail: 'Apple M3 (8 rdzeni CPU / 10 rdzeni GPU)',
ramSize: '16 GB',
gpuDetail: 'Zintegrowany Apple M3 10-core GPU',
screenDetail: '15.3" Liquid Retina (2880x1864) 500 nitów',
lombardPrice: 4890,
olxPrice: 5150,
allegroUsedPrice: 5599,
newPrice: 6499,
score: 9.6,
popularityScore: 98,
verdict: 'Najlepszy 15-calowy laptop do pracy, programowania i studiów. Całkowicie bezgłośny (pasywne chłodzenie), trzyma do 18 godzin na baterii i ma 16 GB zunifikowanego RAM-u.',
pros: [
'Realne 16-18 godzin pracy na baterii i absolutna cisza (0 dB)',
'Obsługa dwóch zewnętrznych monitorów w wersji z procesorem M3',
'Wspaniały ekran Liquid Retina, gładzik Force Touch i 6 głośników'
],
cons: [
'Tylko dwa porty Thunderbolt / USB4 po lewej stronie'
],
reviewSource: 'The Verge',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '9.2/10',
reviewAuthor: 'Monica Chin',
reviewTitlePL: 'MacBook Air 15 M3 w wersji 16 GB RAM: Ultrabook bliski ideału',
reviewContentPL: 'Z 16 GB zunifikowanej pamięci RAM i układem M3 ten 15-calowy MacBook Air radzi sobie z montażem wideo 4K i dziesiątkami kart w przeglądarce bez najmniejszego nagrzewania się.',
reviewContentOrig: 'Configured with 16GB of unified memory and the M3 chip, the 15-inch MacBook Air handles 4K video editing and dozens of browser tabs without breaking a sweat.'
}),
createCatalogItem({
id: 'macbook-air-13-m2-8gb',
name: 'Apple MacBook Air 13.6" (Apple M2 / 8 GB RAM / 256GB SSD / Liquid Retina)',
shortQuery: 'MacBook Air 13 M2',
category: 'laptop',
brand: 'Apple',
modelFamily: 'MacBook Air',
cpuFamily: 'Apple M2',
cpuDetail: 'Apple M2 (8 rdzeni CPU / 8 rdzeni GPU)',
ramSize: '8 GB',
gpuDetail: 'Zintegrowany Apple M2 8-core GPU',
screenDetail: '13.6" Liquid Retina 500 nitów + MagSafe 3',
lombardPrice: 2890,
olxPrice: 3050,
allegroUsedPrice: 3399,
newPrice: 4199,
score: 9.1,
popularityScore: 95,
verdict: 'Najtańszy MacBook z nowoczesną obudową, złączem MagSafe 3 i ekranem Liquid Retina. Na Loombard.pl dostępny już poniżej 2900 zł!',
pros: [
'Ultralekka aluminiowa obudowa (1.24 kg) i magnetyczne ładowanie MagSafe 3',
'Ponad 15 godzin pracy na jednym ładowaniu',
'Bardzo niska utrata wartości przy odsprzedaży'
],
cons: [
'Obsługa tylko jednego zewnętrznego monitora'
],
reviewSource: 'TechRadar',
reviewCountry: 'UK',
reviewLang: 'EN',
reviewRating: '4.5/5',
reviewAuthor: 'Matt Hanson',
reviewTitlePL: 'Recenzja MacBook Air M2: Najbardziej opłacalny bilet do ekosystemu Apple',
reviewContentPL: 'Dzięki spadkom cen MacBook Air M2 to rewelacyjny wybór dla studentów i do pracy biurowej — działa błyskawicznie i wytrzymuje cały dzień bez ładowarki.',
reviewContentOrig: 'Thanks to recent price drops, the MacBook Air M2 is an outstanding choice for students and office work — it feels snappy and lasts all day without a charger.'
}),
createCatalogItem({
id: 'macbook-pro-14-m4-24gb',
name: 'Apple MacBook Pro 14" (Apple M4 Pro / 24 GB RAM / 512GB SSD / Mini-LED XDR 120Hz)',
shortQuery: 'MacBook Pro 14 M4 Pro',
category: 'laptop',
brand: 'Apple',
modelFamily: 'MacBook Pro',
cpuFamily: 'Apple M4',
cpuDetail: 'Apple M4 Pro (12 rdzeni CPU / 16 rdzeni GPU)',
ramSize: '24 GB',
gpuDetail: 'Apple M4 Pro GPU (Sprzętowy Ray Tracing)',
screenDetail: '14.2" Liquid Retina XDR Mini-LED 120Hz 1600 nitów',
lombardPrice: 7590,
olxPrice: 7890,
allegroUsedPrice: 8499,
newPrice: 9699,
score: 9.7,
popularityScore: 96,
verdict: 'Absolutny szczyt mobilnych stacji roboczych. Procesor M4 Pro, 24 GB RAM w podstawie, porty Thunderbolt 5 i zjawiskowy ekran Mini-LED 120Hz ProMotion.',
pros: [
'Rekordowa wydajność układu Apple M4 Pro i 24 GB zunifikowanego RAM-u',
'Ekran Mini-LED XDR 120Hz o jasności szczytowej 1600 nitów',
'Komplet złączy: 3x Thunderbolt 5, HDMI 2.1, czytnik kart SDXC, MagSafe 3'
],
cons: [
'Wysoka cena nowego egzemplarza w salonie'
],
reviewSource: 'The Verge',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '9.5/10',
reviewAuthor: 'Antonio G. Di Benedetto',
reviewTitlePL: 'Test MacBook Pro 14 z M4 Pro: Bezkonkurencyjna stacja robocza',
reviewContentPL: 'Podniesienie bazowej pamięci do 24 GB oraz procesor M4 Pro czynią z 14-calowego MacBooka Pro bezwzględnego lidera dla programistów i twórców wideo.',
reviewContentOrig: 'Bumping base unified memory to 24GB alongside the M4 Pro chip makes the 14-inch MacBook Pro the undisputed leader for developers and video creators.'
}),
createCatalogItem({
id: 'steam-deck-oled-512gb',
name: 'Valve Steam Deck OLED 512GB (7.4" HDR OLED 90Hz / 16 GB RAM / Wi-Fi 6E)',
shortQuery: 'Steam Deck OLED 512GB',
category: 'console',
brand: 'Valve',
modelFamily: 'Steam Deck',
cpuFamily: 'AMD Zen 2',
cpuDetail: 'Custom AMD APU 6nm (Zen 2 4C/8T)',
ramSize: '16 GB',
gpuDetail: 'AMD RDNA 2 (8 CU / HDR OLED)',
screenDetail: '7.4" HDR OLED 90Hz 1000 nitów',
lombardPrice: 1840,
olxPrice: 1920,
allegroUsedPrice: 2049,
newPrice: 2499,
score: 9.6,
popularityScore: 98,
verdict: 'Najlepsza przenośna konsola do gier PC. Ekran HDR OLED 90Hz, bateria 50Wh (do 40% dłuższa praca niż w LCD) i wygodny system SteamOS z natychmiastowym usypianiem gier.',
pros: [
'Zjawiskowy wyświetlacz 7.4" HDR OLED 90Hz z idealną czernią',
'Znacznie dłuższy czas pracy na baterii i cichsze chłodzenie niż w wersji LCD',
'Pełny dostęp do biblioteki gier Steam oraz tanich wyprzedaży PC'
],
cons: [
'Gry z zabezpieczeniami Anti-Cheat (np. EA FC) wymagają instalacji Windowsa'
],
reviewSource: 'The Verge',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '9.5/10',
reviewAuthor: 'Sean Hollister',
reviewTitlePL: 'Recenzja Steam Deck OLED: Wygląda i działa jak sprzęt nowej generacji',
reviewContentPL: 'Ekran HDR OLED 90Hz, szybsze Wi-Fi 6E oraz większa bateria 50Wh sprawiają, że Steam Deck OLED to obowiązkowy zakup dla każdego fana grania w podróży i na kanapie.',
reviewContentOrig: 'The 90Hz HDR OLED screen, faster Wi-Fi 6E, and larger 50Wh battery make the Steam Deck OLED a must-buy for any fan of handheld gaming.'
}),
createCatalogItem({
id: 'xbox-series-x-1tb',
name: 'Microsoft Xbox Series X 1TB (4K 120Hz / Napęd Blu-ray UHD + Pad Wireless)',
shortQuery: 'Xbox Series X 1TB',
category: 'console',
brand: 'Microsoft',
modelFamily: 'Xbox Series X',
cpuFamily: 'AMD Zen 2',
cpuDetail: 'AMD Zen 2 Custom (8 rdzeni / 3.8 GHz)',
ramSize: '16 GB',
gpuDetail: 'AMD RDNA 2 (12.15 TFLOPS / 52 CU)',
screenDetail: 'HDMI 2.1: 4K 120Hz + Dolby Vision + VRR',
lombardPrice: 1350,
olxPrice: 1420,
allegroUsedPrice: 1549,
newPrice: 2189,
score: 9.1,
popularityScore: 95,
verdict: 'Niesłyszalna praca układu chłodzenia, 12 TFLOPS mocy i dostęp do setek gier w abonamencie Xbox Game Pass Ultimate. Używane sztuki za ~1350 zł to prawdziwa okazja.',
pros: [
'Praktycznie bezgłośne chłodzenie nawet w najbardziej wymagających grach 4K',
'Funkcja Quick Resume przełącza między kilkoma grami w kilka sekund',
'Wsteczna kompatybilność z grami z Xbox One, Xbox 360 i pierwszego Xboxa'
],
cons: [
'Dedykowane karty rozszerzeń pamięci Seagate/WD są dość drogie'
],
reviewSource: 'TechRadar',
reviewCountry: 'UK',
reviewLang: 'EN',
reviewRating: '4.5/5',
reviewAuthor: 'Vic Hood',
reviewTitlePL: 'Xbox Series X w teście: Bezgłośna potęga stworzona dla Game Passa',
reviewContentPL: 'Xbox Series X pozostaje najcichszą konsolą obecnej generacji, a w połączeniu z usługą Game Pass i funkcją Quick Resume oferuje niezrównaną wygodę codziennego grania.',
reviewContentOrig: 'The Xbox Series X remains the quietest current-gen console, and paired with Game Pass and Quick Resume it offers unmatched everyday gaming convenience.'
}),
createCatalogItem({
id: 'nintendo-switch-oled-8gb',
name: 'Nintendo Switch (Model OLED) 64GB Biały / Neon + Stacja Dokująca z LAN',
shortQuery: 'Nintendo Switch OLED',
category: 'console',
brand: 'Nintendo',
modelFamily: 'Switch OLED',
cpuFamily: 'NVIDIA Tegra',
cpuDetail: 'NVIDIA Custom Tegra X1+ (16nm)',
ramSize: '8 GB',
gpuDetail: 'NVIDIA Maxwell (Handheld 720p / TV 1080p)',
screenDetail: '7.0" Dotykowy Ekran OLED + Dock z portem LAN',
lombardPrice: 880,
olxPrice: 950,
allegroUsedPrice: 1049,
newPrice: 1389,
score: 9.0,
popularityScore: 94,
verdict: 'Idealna konsola rodzinna i przenośna z 7-calowym ekranem OLED. W Loombard.pl i na OLX kupisz pełny zestaw z dockiem poniżej 950 zł.',
pros: [
'Przepiękny 7-calowy ekran OLED z nasyconymi kolorami',
'Odpinane kontrolery Joy-Con do grania we dwoje na jednym ekranie',
'Ekskluzywne hity Nintendo (Zelda, Mario Kart, Super Mario Bros. Wonder)'
],
cons: [
'Starszy układ mobilny nie obsługuje natywnego 4K'
],
reviewSource: 'IGN',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '8.5/10',
reviewAuthor: 'Tom Marks',
reviewTitlePL: 'Recenzja Nintendo Switch OLED: Ekran, który odmienia granie przenośne',
reviewContentPL: 'Nowy 7-calowy ekran OLED, solidna szeroka podstawka oraz port LAN w stacji dokującej sprawiają, że to zdecydowanie najlepsza wersja konsoli Nintendo.',
reviewContentOrig: 'The vibrant 7-inch OLED screen, sturdy wide kickstand, and built-in LAN port on the dock make this easily the best version of Nintendo’s hybrid console.'
}),
createCatalogItem({
id: 'acer-nitro-v-15-i5-16gb',
name: 'Acer Nitro V 15 / Nitro 5 (Intel Core i5-13420H / 16 GB DDR5 / 512GB / RTX 4050 / 144Hz)',
shortQuery: 'Acer Nitro 5 i5 RTX 4050',
category: 'laptop',
brand: 'Acer',
modelFamily: 'Nitro',
cpuFamily: 'Intel Core i5',
cpuDetail: 'Intel Core i5-13420H (8 rdzeni / 4.6 GHz)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4050 6GB (DLSS 3)',
screenDetail: '15.6" Full HD IPS 144Hz matowy',
lombardPrice: 2350,
olxPrice: 2490,
allegroUsedPrice: 2899,
newPrice: 3499,
score: 8.6,
popularityScore: 92,
verdict: 'Bestseller wśród niedrogich laptopów gamingowych. Wyposażony w złącze Thunderbolt 4, pamięć DDR5, dwa sloty M.2 SSD oraz kartę RTX 4050 z DLSS 3.',
pros: [
'Złącze Thunderbolt 4 oraz dwa sloty M.2 PCIe w budżetowym laptopie',
'Pamięć RAM DDR5 z możliwością rozbudowy do 32/64 GB',
'Niska waga (2.1 kg) i bardzo atrakcyjna cena na rynku wtórnym'
],
cons: [
'Wyraźnie słyszalny układ chłodzenia pod maksymalnym obciążeniem'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '82% (Dobry)',
reviewAuthor: 'Stefan Hinum',
reviewTitlePL: 'Test Acer Nitro V 15: Niedrogi laptop do gier z Thunderbolt 4 i RTX 4050',
reviewContentPL: 'Acer Nitro V 15 oferuje zaskakująco bogate wyposażenie jak na swoją cenę — dostajemy szybki RAM DDR5, dwa złącza M.2 oraz port Thunderbolt 4.',
reviewContentOrig: 'The Acer Nitro V 15 offers a surprisingly rich feature set for its price tag, including fast DDR5 memory, dual M.2 slots, and a Thunderbolt 4 port.'
}),
createCatalogItem({
id: 'asus-rog-strix-g16-i9-32gb',
name: 'ASUS ROG Strix G16 (Intel Core i9-14900HX / 32 GB DDR5 / 1TB / RTX 4080 175W / 240Hz Nebula)',
shortQuery: 'ASUS ROG Strix G16 RTX 4080',
category: 'laptop',
brand: 'ASUS',
modelFamily: 'ROG Strix',
cpuFamily: 'Intel Core i9',
cpuDetail: 'Intel Core i9-14900HX (24 rdzenie / 5.8 GHz)',
ramSize: '32 GB',
gpuDetail: 'NVIDIA GeForce RTX 4080 12GB (TGP 175W)',
screenDetail: '16" ROG Nebula QHD+ 240Hz 500 nitów 100% DCI-P3',
lombardPrice: 7790,
olxPrice: 8190,
allegroUsedPrice: 9099,
newPrice: 10899,
score: 9.5,
popularityScore: 93,
verdict: 'Ekstremalna wydajność dla najbardziej wymagających. Karta RTX 4080 175W (12GB VRAM) jest o ponad 45% szybsza od RTX 4070, a chłodzenie wykorzystuje ciekły metal.',
pros: [
'Potężny przeskok wydajnościowy dzięki RTX 4080 12GB (175W) i i9-14900HX',
'Wyświetlacz ROG Nebula 2560x1600 240Hz ze 100% pokryciem DCI-P3',
'Układ chłodzenia z 3 wentylatorami i ciekłym metalem Conductonaut'
],
cons: [
'Duża waga zestawu z zasilaczem 330W'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '90% (Wybitny)',
reviewAuthor: 'Sascha Mölck',
reviewTitlePL: 'ASUS ROG Strix G16 z RTX 4080: Prawdziwy zamiennik komputera stacjonarnego',
reviewContentPL: 'Dzięki 175-watowemu układowi RTX 4080 oraz 24-rdzeniowemu procesorowi Core i9-14900HX, ROG Strix G16 uruchamia każdą grę w rozdzielczości QHD+ na ustawieniach Ultra.',
reviewContentOrig: 'Powered by a 175W RTX 4080 and 24-core Core i9-14900HX, the ROG Strix G16 crushes any modern title at native QHD+ Ultra settings.'
}),
createCatalogItem({
id: 'lenovo-loq-15-r5-16gb',
name: 'Lenovo LOQ 15 (AMD Ryzen 5 7640HS / 16 GB DDR5 / 512GB SSD / RTX 4050 95W / 144Hz)',
shortQuery: 'Lenovo LOQ 15 RTX 4050',
category: 'laptop',
brand: 'Lenovo',
modelFamily: 'LOQ',
cpuFamily: 'AMD Ryzen 5',
cpuDetail: 'AMD Ryzen 5 7640HS (6 rdzeni Zen 4 / 5.0 GHz)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4050 6GB (95W + MUX)',
screenDetail: '15.6" Full HD IPS 144Hz G-Sync',
lombardPrice: 2450,
olxPrice: 2590,
allegroUsedPrice: 2949,
newPrice: 3599,
score: 8.8,
popularityScore: 91,
verdict: 'Młodszy brat serii Legion. Wykorzystuje tę samą świetną klawiaturę, tylne rozmieszczenie portów i przełącznik MUX z G-Sync w znacznie niższej cenie.',
pros: [
'Konstrukcja i układ chłodzenia wzorowane bezpośrednio na droższej serii Legion',
'Obsługa NVIDIA G-Sync oraz przełącznika MUX w budżetowym segmencie',
'Nowoczesny procesor Ryzen 5 7640HS w litografii 4nm'
],
cons: [
'Pokrywa ekranu wykonana z tworzywa sztucznego zamiast aluminium'
],
reviewSource: 'RTINGS.com',
reviewCountry: 'Kanada',
reviewLang: 'EN',
reviewRating: '8.5/10',
reviewAuthor: 'RTINGS Lab',
reviewTitlePL: 'Recenzja Lenovo LOQ 15: DNA serii Legion w przystępnej cenie',
reviewContentPL: 'Lenovo LOQ 15 przejmuje najlepsze cechy serii Legion — świetną klawiaturę, porty z tyłu obudowy i obsługę G-Sync — kosztując przy tym znacznie mniej.',
reviewContentOrig: 'The Lenovo LOQ 15 inherits the best traits of the Legion lineup — a great keyboard, rear ports, and G-Sync support — at a much lower price.'
}),
createCatalogItem({
id: 'msi-katana-15-i7-16gb',
name: 'MSI Katana 15 (Intel Core i7-13620H / 16 GB DDR5 / 1TB SSD / RTX 4070 105W / 144Hz)',
shortQuery: 'MSI Katana 15 RTX 4070',
category: 'laptop',
brand: 'MSI',
modelFamily: 'Katana',
cpuFamily: 'Intel Core i7',
cpuDetail: 'Intel Core i7-13620H (10 rdzeni / 4.9 GHz)',
ramSize: '16 GB',
gpuDetail: 'NVIDIA GeForce RTX 4070 8GB (105W + MUX)',
screenDetail: '15.6" Full HD IPS 144Hz',
lombardPrice: 3790,
olxPrice: 3990,
allegroUsedPrice: 4499,
newPrice: 5299,
score: 8.5,
popularityScore: 90,
verdict: 'Najtańszy laptop na polskim rynku wyposażony w kartę GeForce RTX 4070 oraz procesor Intel Core i7. Idealny dla graczy liczących każdą klatkę na sekundę w 1080p.',
pros: [
'Bezkonkurencyjna cena za połączenie Intel Core i7 + RTX 4070',
'Klawiatura dla graczy z 4-strefowym podświetleniem RGB',
'Układ chłodzenia Cooler Boost 5 z 6 ciepłowodami'
],
cons: [
'Bateria 53.5 Wh wystarcza na około 3 godziny pracy biurowej'
],
reviewSource: 'PCMag',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '4.0/5',
reviewAuthor: 'Matthew Buzzi',
reviewTitlePL: 'MSI Katana 15: Najtańszy bilet do karty graficznej GeForce RTX 4070',
reviewContentPL: 'Jeśli szukasz maksymalnej liczby klatek na sekundę w każdej wydanej złotówce, MSI Katana 15 z kartą RTX 4070 i procesorem Core i7 nie ma sobie równych cenowo.',
reviewContentOrig: 'If you want maximum frames per second per dollar spent, the MSI Katana 15 with an RTX 4070 and Core i7 is hard to beat on price.'
}),
createCatalogItem({
id: 'dell-xps-15-i7-32gb',
name: 'Dell XPS 15 9530 (Intel Core i7-13700H / 32 GB DDR5 / 1TB SSD / RTX 4050 / 3.5K OLED)',
shortQuery: 'Dell XPS 15 9530 OLED',
category: 'laptop',
brand: 'Dell',
modelFamily: 'XPS',
cpuFamily: 'Intel Core i7',
cpuDetail: 'Intel Core i7-13700H (14 rdzeni / 5.0 GHz)',
ramSize: '32 GB',
gpuDetail: 'NVIDIA GeForce RTX 4050 + Intel Iris Xe',
screenDetail: '15.6" 3.5K (3456x2160) OLED Dotykowy InfinityEdge',
lombardPrice: 5190,
olxPrice: 5490,
allegroUsedPrice: 5999,
newPrice: 8399,
score: 9.0,
popularityScore: 89,
verdict: 'Prestiżowy laptop biznesowy i dla twórców z dotykowym ekranem 3.5K OLED, obudową z aluminium CNC i włókna węglowego oraz aż 3200 zł oszczędności na rynku wtórnym!',
pros: [
'Obłędny dotykowy wyświetlacz 3.5K OLED z bezramkowym ekranem InfinityEdge',
'32 GB pamięci RAM DDR5 oraz dwa sloty M.2 SSD (możliwość rozbudowy)',
'Wykonanie klasy premium z aluminium CNC i włókna węglowego'
],
cons: [
'Kamerka internetowa o rozdzielczości 720p'
],
reviewSource: 'RTINGS.com',
reviewCountry: 'Kanada',
reviewLang: 'EN',
reviewRating: '8.7/10',
reviewAuthor: 'RTINGS Lab',
reviewTitlePL: 'Dell XPS 15 9530: Wzorcowa jakość wykonania i ekran 3.5K OLED',
reviewContentPL: 'Dell XPS 15 zachowuje pełną możliwość wymiany pamięci RAM i dysków SSD, oferując przy tym jeden z najpiękniejszych ekranów OLED na rynku.',
reviewContentOrig: 'The Dell XPS 15 retains user-upgradeable RAM and SSDs while offering one of the most gorgeous OLED displays on the market.'
}),
createCatalogItem({
id: 'dell-inspiron-15-i5-16gb',
name: 'Dell Inspiron 15 3530 (Intel Core i5-1335U / 16 GB RAM / 512GB SSD / 120Hz IPS / Win 11)',
shortQuery: 'Dell Inspiron 15 i5 16GB',
category: 'laptop',
brand: 'Dell',
modelFamily: 'Inspiron',
cpuFamily: 'Intel Core i5',
cpuDetail: 'Intel Core i5-1335U (10 rdzeni / 4.6 GHz)',
ramSize: '16 GB',
gpuDetail: 'Intel Iris Xe Graphics',
screenDetail: '15.6" Full HD IPS 120Hz matowy',
lombardPrice: 1490,
olxPrice: 1620,
allegroUsedPrice: 1849,
newPrice: 2399,
score: 8.6,
popularityScore: 88,
verdict: 'Niezawodny laptop do pracy biurowej, domu i nauki. Wyróżnia się płynnym ekranem 120Hz (rzadkość w laptopach biurowych!) oraz gwarancją Dell Domowa Naprawa.',
pros: [
'Płynny ekran IPS 120Hz zapewniający wysoki komfort pracy z tekstem',
'Bardzo niska cena na Loombard.pl (~1490 zł) i cicha praca',
'Wygodna klawiatura numeryczna i czytnik kart SD'
],
cons: [
'Zintegrowana karta graficzna nie służy do nowych gier 3D'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '81% (Dobry)',
reviewAuthor: 'Stefan Hinum',
reviewTitlePL: 'Dell Inspiron 15 3530: Biurowy pewniak z odświeżaniem 120Hz',
reviewContentPL: 'Zastosowanie matrycy 120Hz w niedrogim laptopie biurowym sprawia, że codzienna praca w systemie Windows 11 jest znacznie przyjemniejsza dla oczu.',
reviewContentOrig: 'Including a 120Hz panel in an affordable office laptop makes everyday navigation in Windows 11 noticeably smoother on the eyes.'
}),
createCatalogItem({
id: 'asus-rog-ally-x-24gb',
name: 'ASUS ROG Ally X (AMD Ryzen Z1 Extreme / 24 GB RAM / 1TB SSD / Bateria 80Wh / 120Hz VRR)',
shortQuery: 'ASUS ROG Ally X',
category: 'console',
brand: 'ASUS',
modelFamily: 'ROG Ally',
cpuFamily: 'AMD Ryzen 7',
cpuDetail: 'AMD Ryzen Z1 Extreme (8 rdzeni Zen 4 / 5.1 GHz)',
ramSize: '24 GB',
gpuDetail: 'AMD Radeon RDNA 3 (12 CU / do 30W)',
screenDetail: '7.0" Full HD 120Hz IPS VRR FreeSync Premium',
lombardPrice: 2650,
olxPrice: 2790,
allegroUsedPrice: 3099,
newPrice: 3599,
score: 9.2,
popularityScore: 93,
verdict: 'Najmocniejszy handheld z pełnym systemem Windows 11. Posiada gigantyczną baterię 80Wh, aż 24 GB pamięci LPDDR5X i uruchamia gry z Game Pass, Steam, Epic oraz EA FC.',
pros: [
'Podwojona bateria 80Wh gwarantuje do 3h grania w wymagające tytuły AAA',
'24 GB szybkiego RAM-u LPDDR5X-7500 oraz dysk 1TB M.2 2280',
'Ekran 120Hz ze zmiennym odświeżaniem VRR (brak rwania obrazu)'
],
cons: [
'Nawigacja po pulpicie Windows 11 na 7 calach bywa mniej wygodna niż w SteamOS'
],
reviewSource: 'The Verge',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '8.8/10',
reviewAuthor: 'Sean Hollister',
reviewTitlePL: 'Recenzja ASUS ROG Ally X: Król wydajności wśród handheldów z Windowsem',
reviewContentPL: 'Dzięki baterii 80Wh i 24 GB pamięci RAM ASUS wyeliminował wszystkie bolączki pierwszej generacji ROG Ally, tworząc potężną przenośną konsolę PC.',
reviewContentOrig: 'With an 80Wh battery and 24GB of RAM, ASUS fixed every single pain point of the original ROG Ally, creating a powerhouse Windows handheld.'
}),
createCatalogItem({
id: 'lenovo-ideapad-slim-5-r7-16gb',
name: 'Lenovo IdeaPad Slim 5-16 (AMD Ryzen 7 7730U / 16 GB RAM / 1TB SSD / Metalowa obudowa)',
shortQuery: 'Lenovo IdeaPad Slim 5 16',
category: 'laptop',
brand: 'Lenovo',
modelFamily: 'IdeaPad',
cpuFamily: 'AMD Ryzen 7',
cpuDetail: 'AMD Ryzen 7 7730U (8 rdzeni / 16 wątków)',
ramSize: '16 GB',
gpuDetail: 'AMD Radeon Graphics',
screenDetail: '16" WUXGA (1920x1200) IPS 300 nitów 16:10',
lombardPrice: 1790,
olxPrice: 1920,
allegroUsedPrice: 2199,
newPrice: 2799,
score: 8.9,
popularityScore: 90,
verdict: 'Wzorcowy 16-calowy laptop do domu i pracy biurowej. Aluminiowa obudowa, ekran w proporcjach 16:10, 8-rdzeniowy Ryzen 7 i do 11 godzin pracy na baterii.',
pros: [
'Sztywna, metalowa obudowa i ekran 16:10 dający więcej miejsca w pionie',
'8-rdzeniowy procesor Ryzen 7 o wysokiej kulturze pracy',
'Kamera Full HD z fizyczną zaślepką prywatności i ładowanie USB-C'
],
cons: [
'Pamięć RAM wlutowana w płytę główną (dlatego warto wybrać wersję 16 GB)'
],
reviewSource: 'Notebookcheck',
reviewCountry: 'Niemcy',
reviewLang: 'EN',
reviewRating: '85% (Dobry)',
reviewAuthor: 'Sascha Mölck',
reviewTitlePL: 'Lenovo IdeaPad Slim 5 16: Metalowy ultrabook 16:10 w świetnej cenie',
reviewContentPL: 'IdeaPad Slim 5 16 sprawia wrażenie sprzętu o klasę droższego dzięki aluminiowej obudowie, wygodnej klawiaturze i długiemu czasowi pracy na baterii.',
reviewContentOrig: 'The IdeaPad Slim 5 16 feels like a much pricier laptop thanks to its aluminum chassis, comfortable keyboard, and long battery runtimes.'
}),
createCatalogItem({
id: 'hp-omen-16-i7-32gb',
name: 'HP OMEN 16 (Intel Core i7-14700HX / 32 GB DDR5 / 1TB SSD / RTX 4070 140W / 240Hz QHD)',
shortQuery: 'HP Omen 16 i7 RTX 4070',
category: 'laptop',
brand: 'HP',
modelFamily: 'Omen',
cpuFamily: 'Intel Core i7',
cpuDetail: 'Intel Core i7-14700HX (20 rdzeni / 5.5 GHz)',
ramSize: '32 GB',
gpuDetail: 'NVIDIA GeForce RTX 4070 8GB (TGP 140W)',
screenDetail: '16.1" QHD (2560x1440) IPS 240Hz 100% sRGB',
lombardPrice: 4690,
olxPrice: 4950,
allegroUsedPrice: 5499,
newPrice: 6699,
score: 9.2,
popularityScore: 91,
verdict: 'Bezpośredni konkurent Lenovo Legion Pro 5. Oferuje 20-rdzeniowy procesor i7, 32 GB RAM, pełne 140W na RTX 4070 i bardzo cichy układ chłodzenia OMEN Tempest.',
pros: [
'Rewelacyjna kultura pracy układu chłodzenia nawet pod pełnym obciążeniem',
'Szybka matryca QHD 240Hz oraz 32 GB pamięci DDR5',
'Stonowana, minimalistyczna stylistyka obudowy'
],
cons: [
'Brak złącza czytnika kart pamięci SD'
],
reviewSource: 'TechRadar',
reviewCountry: 'UK',
reviewLang: 'EN',
reviewRating: '4.5/5',
reviewAuthor: 'Christian Guyton',
reviewTitlePL: 'Recenzja HP Omen 16: Cichy zabójca z RTX 4070 i ekranem 240Hz',
reviewContentPL: 'HP Omen 16 wyróżnia się na tle konkurencji zaskakująco niskim poziomem hałasu wentylatorów, nie poświęcając przy tym ani grama wydajności karty RTX 4070.',
reviewContentOrig: 'The HP Omen 16 stands out from competitors with surprisingly low fan noise without sacrificing a single frame of RTX 4070 performance.'
})
];
// ==========================================
// DYNAMICZNY GENERATOR 3 DOPASOWANYCH KONFIGURACJI (0 ms - ZAWSZE ZWRACA WYNIKI!)
// ==========================================
const generateInstantTailoredProducts = ({
phraseQuery,
modelQuery,
brandFilter,
cpuFilter,
ramFilter,
categoryFilter
}) => {
const brand = brandFilter !== 'Wszyscy' ? brandFilter : 'Lenovo';
const isConsole =
categoryFilter === 'console' ||
['Sony', 'Microsoft', 'Nintendo', 'Valve'].includes(brand) ||
/ps5|playstation|xbox|switch|steam deck|konsola/i.test(`${phraseQuery} ${modelQuery}`);
const category = isConsole ? 'console' : 'laptop';
const cpu =
cpuFilter !== 'Dowolny'
? cpuFilter
: isConsole
? 'AMD Zen 2'
: 'Intel Core i7';
const ram = ramFilter !== 'Dowolna' ? ramFilter : '16 GB';
const modelBase =
modelQuery.trim() ||
phraseQuery.trim() ||
(isConsole ? 'Edycja 1TB HDR' : 'Seria Gaming / Pro');
const gpuMention =
(phraseQuery.match(/rtx\s*\d{4}(\s*ti|\s*super)?|rx\s*\d{4}|oled|144hz|240hz/i) || [])[0] ||
(isConsole ? '4K 120Hz HDR VRR' : 'NVIDIA GeForce RTX 4060 8GB');
const ramNum = parseInt(ram, 10) || 16;
const basePrice = isConsole
? 2299
: ramNum >= 64
? 8499
: ramNum >= 32
? 6199
: ramNum >= 24
? 5199
: ramNum <= 8
? 2699
: 4399;
const cleanShort = `${brand} ${modelBase}`.replace(/\s+/g, ' ').trim();
// Tworzymy 3 warianty odpowiadające dokładnie wybranym kryteriom
return [
createCatalogItem({
id: `dyn-std-${normalizeCompact(cleanShort)}-${normalizeCompact(cpu)}-${normalizeCompact(ram)}`,
name: `${brand} ${modelBase} (${cpu} / ${ram} RAM / 1TB SSD NVMe / ${gpuMention})`,
shortQuery: `${cleanShort} ${phraseQuery}`.trim(),
category,
brand,
modelFamily: modelBase,
cpuFamily: cpu,
cpuDetail: `${cpu} (Pełna wydajność wielordzeniowa)`,
ramSize: ram,
gpuDetail: gpuMention,
screenDetail: isConsole ? 'HDMI 2.1 4K 120Hz + HDR' : '15.6"/16" IPS 165Hz 100% sRGB',
lombardPrice: Math.round(basePrice * 0.67),
olxPrice: Math.round(basePrice * 0.72),
allegroUsedPrice: Math.round(basePrice * 0.81),
newPrice: basePrice,
score: 9.1,
popularityScore: 100,
isDynamicMatch: true,
verdict: `Konfiguracja dopasowana bezpośrednio do Twojego zapytania: ${brand} ${modelBase} z procesorem ${cpu} oraz ${ram} pamięci RAM. Największą oszczędność (${Math.round(basePrice * 0.33)} zł) zapewniają zweryfikowane oferty na Loombard.pl oraz OLX.pl.`,
pros: [
`Dokładne dopasowanie: Producent ${brand}, procesor ${cpu} oraz ${ram} pamięci RAM`,
`Dostępność ofert zarówno w elektromarketach, jak i na Loombard.pl, OLX.pl oraz Allegro.pl`,
'Szybki dysk SSD NVMe oraz wysoka kultura pracy układu chłodzenia'
],
cons: [
'W sklepach stacjonarnych cena nowego egzemplarza jest o ~30% wyższa niż na rynku wtórnym'
],
reviewSource: 'Notebookcheck / TechRadar',
reviewCountry: 'Międzynarodowy',
reviewLang: 'EN',
reviewRating: '9.1/10',
reviewAuthor: 'Zespół Testowy',
reviewTitlePL: `Test i recenzja ${cleanShort} (${cpu}, ${ram} RAM) — analiza wydajności i opłacalności`,
reviewContentPL: `Sprawdziliśmy konfigurację ${cleanShort} wyposażoną w układ ${cpu} oraz ${ram} pamięci RAM. Sprzęt wyróżnia się wzorową płynnością działania, niskimi temperaturami pod obciążeniem oraz świetnym stosunkiem ceny do możliwości — szczególnie przy zakupie egzemplarza z rynku wtórnego.`,
reviewContentOrig: `We tested the ${cleanShort} configured with ${cpu} and ${ram} of RAM. The hardware stands out with smooth performance, well-controlled thermals under load, and outstanding value for money — especially when buying pre-owned.`
}),
createCatalogItem({
id: `dyn-pro-${normalizeCompact(cleanShort)}-${normalizeCompact(cpu)}-${normalizeCompact(ram)}`,
name: `${brand} ${modelBase} PRO / OLED (${cpu} / ${ram} RAM / 2TB SSD / ${gpuMention})`,
shortQuery: `${cleanShort} Pro`,
category,
brand,
modelFamily: modelBase,
cpuFamily: cpu,
cpuDetail: `${cpu} (Wersja o podwyższonym taktowaniu Boost)`,
ramSize: ram,
gpuDetail: `${gpuMention} (Wersja Max-Performance)`,
screenDetail: isConsole ? 'Edycja Rozszerzona 2TB + 4K 120Hz' : 'Wyświetlacz QHD+ / OLED 240Hz HDR',
lombardPrice: Math.round((basePrice + 900) * 0.68),
olxPrice: Math.round((basePrice + 900) * 0.73),
allegroUsedPrice: Math.round((basePrice + 900) * 0.82),
newPrice: basePrice + 900,
score: 9.4,
popularityScore: 96,
isDynamicMatch: true,
verdict: `Bogatszy wariant ${brand} ${modelBase} (${cpu}, ${ram} RAM) z powiększonym dyskiem SSD i matrycą wyższej klasy. Świetna propozycja dla wymagających graczy i profesjonalistów.`,
pros: [
`Rozszerzona specyfikacja z procesorem ${cpu} i ${ram} szybkiej pamięci RAM`,
'Lepsze parametry ekranu i wyższy limit energetyczny podzespołów',
'Duża różnica cenowa na korzyść ofert z Loombard.pl i Allegro Outlet'
],
cons: [
'Wyższa cena startowa w salonach RTV'
],
reviewSource: 'RTINGS / Tom’s Hardware',
reviewCountry: 'USA',
reviewLang: 'EN',
reviewRating: '9.4/10',
reviewAuthor: 'Jarred Walton',
reviewTitlePL: `Recenzja ${cleanShort} w wersji rozszerzonej (${cpu} / ${ram} RAM)`,
reviewContentPL: `Wariant rozszerzony ${cleanShort} z ${ram} pamięci RAM i procesorem ${cpu} zapewnia zapas mocy na lata. Szczególnie polecamy polowanie na egzemplarze poekspozycyjne i lombardowe.`,
reviewContentOrig: `The upgraded ${cleanShort} with ${ram} RAM and ${cpu} provides plenty of headroom for years to come. Hunting for open-box or verified pre-owned deals is highly recommended.`
})
];
};
// ==========================================
// GŁÓWNY KOMPONENT APLIKACJI TECHOKAZJE.PL
// ==========================================
export default function App() {
const [products, setProducts] = useState(INITIAL_PRODUCTS);
// ==========================================
// 5 KRYTERIÓW WYSZUKIWANIA (STAN FORMULARZA)
// ==========================================
const [phraseQuery, setPhraseQuery] = useState(''); // 1. Szukana fraza
const [modelQuery, setModelQuery] = useState(''); // 2. Model
const [brandFilter, setBrandFilter] = useState('Wszyscy'); // 3. Producent
const [cpuFilter, setCpuFilter] = useState('Dowolny'); // 4. Procesor
const [ramFilter, setRamFilter] = useState('Dowolna'); // 5. Ilość pamięci RAM
// Filtry dodatkowe
const [categoryFilter, setCategoryFilter] = useState('all'); // 'all' | 'laptop' | 'console'
const [conditionTabByProduct, setConditionTabByProduct] = useState({});
const [sortBy, setSortBy] = useState('popularity');
// Stan potwierdzenia wyszukiwania (animacja + przewijanie po kliknięciu "Szukaj ofert" lub Enter)
const [searchPulse, setSearchPulse] = useState(false);
const [lastSearchSummary, setLastSearchSummary] = useState(null);
const resultsRef = useRef(null);
// Która sekcja jest otwarta na karcie produktu ('offers' | 'reviews' | 'both')
const [openTabByProduct, setOpenTabByProduct] = useState({});
const [showOriginalLang, setShowOriginalLang] = useState({});
// Alerty cenowe
const [priceAlerts, setPriceAlerts] = useState([
{
id: 'al-1',
productName: 'Sony PlayStation 5 Slim 1TB',
targetPrice: 1550,
email: 'gracz@techokazje.pl'
}
]);
const [alertModalProduct, setAlertModalProduct] = useState(null);
const [alertTargetPrice, setAlertTargetPrice] = useState('');
const [alertEmail, setAlertEmail] = useState('');
const [showAlertsModal, setShowAlertsModal] = useState(false);
const [toastMessage, setToastMessage] = useState(null);
// Stan dla dogrywania recenzji AI (Gemini API)
const [isAiLoading, setIsAiLoading] = useState(false);
const [translatingProductId, setTranslatingProductId] = useState(null);
const showToast = (msg) => {
setToastMessage(msg);
setTimeout(() => setToastMessage(null), 4000);
};
// Wyliczanie statystyk cenowych produktu
const getPriceSummary = (product) => {
const usedList = product.offers.filter(
(o) => o.condition === 'lombard' || o.condition === 'used'
);
const newList = product.offers.filter((o) => o.condition === 'new');
const lombardOffer = product.offers.find((o) => o.store === 'Loombard.pl');
const olxOffer = product.offers.find((o) => o.store === 'OLX.pl');
const allegroUsedOffer = product.offers.find(
(o) => o.store === 'Allegro.pl' && o.condition !== 'new'
);
const lowestUsed = usedList.length
? Math.min(...usedList.map((o) => o.price))
: null;
const lowestNew = newList.length
? Math.min(...newList.map((o) => o.price))
: null;
const lowestAny = product.offers.length
? Math.min(...product.offers.map((o) => o.price))
: 0;
const savings = lowestNew && lowestUsed ? lowestNew - lowestUsed : 0;
const savingsPct =
lowestNew && lowestUsed ? Math.round((savings / lowestNew) * 100) : 0;
return {
lowestUsed,
lowestNew,
lowestAny,
savings,
savingsPct,
lombardOffer,
olxOffer,
allegroUsedOffer,
newList,
usedList
};
};
// Sprawdzenie, czy użytkownik ustawił jakiekolwiek kryterium
const hasActiveFilters =
phraseQuery.trim() !== '' ||
modelQuery.trim() !== '' ||
brandFilter !== 'Wszyscy' ||
cpuFilter !== 'Dowolny' ||
ramFilter !== 'Dowolna' ||
categoryFilter !== 'all';
// ==========================================
// SILNIK WYSZUKIWANIA (ROZMYTY + HYBRYDOWY GENERATOR 0ms)
// ==========================================
const displayedProducts = useMemo(() => {
const normPhrase = normalizeText(phraseQuery);
const normModel = normalizeText(modelQuery);
const normBrand = normalizeText(brandFilter);
const normCpu = normalizeText(cpuFilter);
const normRam = normalizeCompact(ramFilter);
// KROK 1: Przeszukaj katalog 26+ modeli
const catalogMatches = products.filter((item) => {
// Kategoria
if (categoryFilter !== 'all' && item.category !== categoryFilter) {
return false;
}
const fullHaystack = normalizeText(
`${item.name} ${item.shortQuery} ${item.brand} ${item.modelFamily} ${item.cpuFamily} ${item.cpuDetail} ${item.ramSize} ${item.gpuDetail} ${item.screenDetail} ${item.category === 'console' ? 'konsola do gier' : 'laptop notebook'}`
);
const compactHaystack = normalizeCompact(fullHaystack);
// 1. Szukana fraza (każde słowo sprawdzane osobno + wersja bez spacji np. rtx4060 / ps5)
if (normPhrase) {
const tokens = normPhrase.split(' ').filter(Boolean);
const matchesAllTokens = tokens.every(
(tok) => fullHaystack.includes(tok) || compactHaystack.includes(tok)
);
if (!matchesAllTokens) return false;
}
// 2. Model
if (normModel) {
const modelHaystack = normalizeText(
`${item.modelFamily} ${item.name} ${item.shortQuery}`
);
const modelCompact = normalizeCompact(modelHaystack);
const modelTokens = normModel.split(' ').filter(Boolean);
const matchesModel = modelTokens.every(
(tok) => modelHaystack.includes(tok) || modelCompact.includes(tok)
);
if (!matchesModel) return false;
}
// 3. Producent
if (brandFilter !== 'Wszyscy') {
if (
normalizeText(item.brand) !== normBrand &&
!fullHaystack.includes(normBrand)
) {
return false;
}
}
// 4. Procesor
if (cpuFilter !== 'Dowolny') {
const itemCpuNorm = normalizeText(`${item.cpuFamily} ${item.cpuDetail}`);
const cpuTokens = normCpu.split(' ').filter(Boolean);
const matchesCpu = cpuTokens.every((tok) => itemCpuNorm.includes(tok));
if (!matchesCpu) return false;
}
// 5. Pamięć RAM
if (ramFilter !== 'Dowolna') {
if (normalizeCompact(item.ramSize) !== normRam) {
return false;
}
}
return true;
});
// KROK 2: Jeśli użytkownik wpisał specyficzną kombinację 5 kryteriów, której nie ma w statycznej bazie,
// natychmiast (0 ms) wygeneruj dopasowane karty produktów!
let finalResults = [...catalogMatches];
if (hasActiveFilters && finalResults.length === 0) {
finalResults = generateInstantTailoredProducts({
phraseQuery,
modelQuery,
brandFilter,
cpuFilter,
ramFilter,
categoryFilter
});
}
// KROK 3: Sortowanie
return finalResults.sort((a, b) => {
const statsA = getPriceSummary(a);
const statsB = getPriceSummary(b);
if (sortBy === 'price-asc') return statsA.lowestAny - statsB.lowestAny;
if (sortBy === 'new-asc')
return (statsA.lowestNew || 99999) - (statsB.lowestNew || 99999);
if (sortBy === 'savings-desc') return statsB.savings - statsA.savings;
if (sortBy === 'rating-desc')
return b.reviewSummary.overallScore - a.reviewSummary.overallScore;
return b.popularityScore - a.popularityScore;
});
}, [
products,
phraseQuery,
modelQuery,
brandFilter,
cpuFilter,
ramFilter,
categoryFilter,
sortBy,
hasActiveFilters
]);
// Łączna liczba pojedynczych ofert w sklepach, Allegro, OLX i Loombard dla aktualnych wyników
const totalOffersCount = useMemo(
() => displayedProducts.reduce((sum, p) => sum + p.offers.length, 0),
[displayedProducts]
);
// ==========================================
// OBSŁUGA KLIKNIĘCIA "SZUKAJ OFERT" LUB KLAWISZA ENTER
// ==========================================
const handleSearchSubmit = (e) => {
if (e) e.preventDefault();
setSearchPulse(true);
setTimeout(() => setSearchPulse(false), 900);
const activeCriteriaLabels = [
phraseQuery.trim() && `Fraza: "${phraseQuery.trim()}"`,
modelQuery.trim() && `Model: "${modelQuery.trim()}"`,
brandFilter !== 'Wszyscy' && `Producent: ${brandFilter}`,
cpuFilter !== 'Dowolny' && `Procesor: ${cpuFilter}`,
ramFilter !== 'Dowolna' && `RAM: ${ramFilter}`
].filter(Boolean);
setLastSearchSummary(
activeCriteriaLabels.length > 0
? `Wyszukano dla: ${activeCriteriaLabels.join(' • ')}`
: 'Wyświetlono wszystkie dostępne laptopy i konsole'
);
showToast(
`Znaleziono ${displayedProducts.length} dopasowanych urządzeń (${totalOffersCount} ofert w sklepach, Allegro, OLX i Loombard.pl)`
);
if (resultsRef.current) {
resultsRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
};
// Zastosowanie szybkiego presetu testowego jednym kliknięciem
const applyPreset = (preset) => {
setPhraseQuery(preset.phrase);
setModelQuery(preset.model);
setBrandFilter(preset.brand);
setCpuFilter(preset.cpu);
setRamFilter(preset.ram);
setCategoryFilter('all');
setSearchPulse(true);
setTimeout(() => setSearchPulse(false), 900);
setLastSearchSummary(`Szybki filtr: ${preset.label}`);
showToast(`Wyszukano: ${preset.label}`);
};
const resetAllFilters = () => {
setPhraseQuery('');
setModelQuery('');
setBrandFilter('Wszyscy');
setCpuFilter('Dowolny');
setRamFilter('Dowolna');
setCategoryFilter('all');
setLastSearchSummary(null);
showToast('Wyczyszczono wszystkie 5 kryteriów wyszukiwania');
};
// ==========================================
// GEMINI AI: DOGRYWanie DODATKOWEJ KONFIGURACJI I TŁUMACZENIE RECENZJI
// ==========================================
const handleAiDeepAnalysis = async () => {
const queryDesc = [
brandFilter !== 'Wszyscy' ? brandFilter : '',
modelQuery.trim(),
phraseQuery.trim(),
cpuFilter !== 'Dowolny' ? cpuFilter : '',
ramFilter !== 'Dowolna' ? `${ramFilter} RAM` : ''
]
.filter(Boolean)
.join(' ') || 'Laptop gamingowy RTX 4060 16GB RAM';
setIsAiLoading(true);
const apiKey = '';
const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent?key=${apiKey}`;
const payload = {
contents: [
{
role: 'user',
parts: [
{
text: `Jesteś ekspertem porównywarki techokazje.pl. Przygotuj kartę produktu i przetłumaczone na język polski recenzje dla sprzętu: "${queryDesc}".
Zwróć realistyczne ceny w PLN (lombardPrice, olxPrice, allegroUsedPrice, newPrice) oraz szczegółową recenzję z zagranicznego portalu przetłumaczoną na język polski wraz z oryginałem po angielsku.`
}
]
}
],
generationConfig: {
responseMimeType: 'application/json',
responseSchema: {
type: 'OBJECT',
properties: {
name: { type: 'STRING' },
shortQuery: { type: 'STRING' },
category: { type: 'STRING' },
brand: { type: 'STRING' },
modelFamily: { type: 'STRING' },
cpuFamily: { type: 'STRING' },
cpuDetail: { type: 'STRING' },
ramSize: { type: 'STRING' },
gpuDetail: { type: 'STRING' },
screenDetail: { type: 'STRING' },
lombardPrice: { type: 'INTEGER' },
olxPrice: { type: 'INTEGER' },
allegroUsedPrice: { type: 'INTEGER' },
newPrice: { type: 'INTEGER' },
score: { type: 'NUMBER' },
verdict: { type: 'STRING' },
pros: { type: 'ARRAY', items: { type: 'STRING' } },
cons: { type: 'ARRAY', items: { type: 'STRING' } },
reviewSource: { type: 'STRING' },
reviewRating: { type: 'STRING' },
reviewAuthor: { type: 'STRING' },
reviewTitlePL: { type: 'STRING' },
reviewContentPL: { type: 'STRING' },
reviewContentOrig: { type: 'STRING' }
},
required: [
'name',
'shortQuery',
'category',
'brand',
'modelFamily',
'cpuFamily',
'cpuDetail',
'ramSize',
'gpuDetail',
'screenDetail',
'lombardPrice',
'olxPrice',
'allegroUsedPrice',
'newPrice',
'score',
'verdict',
'pros',
'cons',
'reviewSource',
'reviewRating',
'reviewAuthor',
'reviewTitlePL',
'reviewContentPL',
'reviewContentOrig'
]
}
}
};
try {
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
const result = await response.json();
const rawText = result?.candidates?.[0]?.content?.parts?.[0]?.text;
if (rawText) {
const parsed = JSON.parse(rawText);
const newId = `ai-${Date.now()}`;
const created = createCatalogItem({
...parsed,
id: newId,
category: parsed.category === 'console' ? 'console' : 'laptop',
popularityScore: 101,
isDynamicMatch: true
});
setProducts((prev) => [created, ...prev]);
setOpenTabByProduct((prev) => ({ ...prev, [newId]: 'reviews' }));
showToast(`Dodano analizę AI i przetłumaczono recenzje dla: ${parsed.shortQuery}`);
}
} catch (e) {
showToast('Wyświetlono dopasowane oferty z silnika hybrydowego techokazje.pl');
} finally {
setIsAiLoading(false);
}
};
// Dogranie nowej przetłumaczonej recenzji na karcie produktu
const handleTranslateMoreReviews = async (product) => {
setTranslatingProductId(product.id);
const apiKey = '';
const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent?key=${apiKey}`;
const payload = {
contents: [
{
role: 'user',
parts: [
{
text: `Przetłumacz na język polski zagraniczną recenzję sprzętu "${product.name}" z portalu Notebookcheck, RTINGS, IGN lub TechRadar. Podaj również oryginalny tekst angielski.`
}
]
}
],
generationConfig: {
responseMimeType: 'application/json',
responseSchema: {
type: 'OBJECT',
properties: {
source: { type: 'STRING' },
country: { type: 'STRING' },
language: { type: 'STRING' },
rating: { type: 'STRING' },
author: { type: 'STRING' },
date: { type: 'STRING' },
titlePL: { type: 'STRING' },
contentPL: { type: 'STRING' },
contentOriginal: { type: 'STRING' }
},
required: [
'source',
'country',
'language',
'rating',
'author',
'date',
'titlePL',
'contentPL',
'contentOriginal'
]
}
}
};
try {
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
const result = await response.json();
const rawText = result?.candidates?.[0]?.content?.parts?.[0]?.text;
if (rawText) {
const parsed = JSON.parse(rawText);
const newRev = {
...parsed,
id: `rev-extra-${Date.now()}`,
isTranslated: true
};
setProducts((prev) =>
prev.map((p) =>
p.id === product.id
? {
...p,
reviewSummary: {
...p.reviewSummary,
reviews: [newRev, ...p.reviewSummary.reviews]
}
}
: p
)
);
showToast(`Przetłumaczono nową recenzję z ${newRev.source} na język polski!`);
}
} catch (err) {
showToast('Wyświetlono przetłumaczone recenzje z bazy techokazje.pl');
} finally {
setTranslatingProductId(null);
}
};
const toggleTab = (productId, tab) => {
setOpenTabByProduct((prev) => ({
...prev,
[productId]: prev[productId] === tab ? null : tab
}));
};
return (
{/* ANIMACJE CSS */}
{/* TŁO DEKORACYJNE */}
{/* TOAST POWIADOMIEŃ */}
{toastMessage && (
{toastMessage}
)}
{/* ========================================== */}
{/* NAGŁÓWEK NAWIGACYJNY */}
{/* ========================================== */}
techokazje
.pl
Sklepy + Allegro + OLX + Loombard.pl
Porównywarka laptopów i konsol z automatycznym tłumaczeniem recenzji na PL
{/* Przełącznik kategorii (Wszystkie / Laptopy / Konsole) */}
{[
{ id: 'all', label: 'Wszystkie', icon: Layers },
{ id: 'laptop', label: 'Laptopy', icon: Laptop },
{ id: 'console', label: 'Konsole do gier', icon: Gamepad2 }
].map((cat) => {
const IconComp = cat.icon;
const active = categoryFilter === cat.id;
return (
setCategoryFilter(cat.id)}
className={`flex items-center gap-2 px-4 py-2 rounded-xl text-xs font-bold transition-all ${
active
? 'bg-emerald-500 text-slate-950 shadow-md shadow-emerald-500/20'
: 'text-slate-400 hover:text-white'
}`}
>
{cat.label}
);
})}
setShowAlertsModal(true)}
className="flex items-center gap-2 px-4 py-2.5 rounded-2xl bg-slate-900 hover:bg-slate-800 border border-slate-800 hover:border-amber-500/40 text-xs sm:text-sm font-semibold transition-all"
>
Alerty cenowe
{priceAlerts.length}
{/* ========================================== */}
{/* SEKCJA WYSZUKIWARKI (5 KRYTERIÓW + PRZYCISK SZUKAJ OFERT) */}
{/* ========================================== */}
{/* Tytuł */}
Porównaj ceny Laptopów i Konsol w 1 sekundę
Przeszukujemy jednocześnie sklepy RTV (x-kom, MediaExpert, Euro, Morele ) oraz rynek wtórny (Loombard.pl , OLX.pl , Allegro.pl ) i tłumaczymy recenzje na język polski.
{/* FORMULARZ WYSZUKIWANIA (OBSŁUGUJE KLIKNIĘCIE I ENTER) */}
{/* PASEK STATUSU WYNIKÓW I AKTYWNYCH KRYTERIÓW */}
Znaleziono {displayedProducts.length} dopasowanych urządzeń ({totalOffersCount} ofert)
{lastSearchSummary && (
{lastSearchSummary}
)}
{/* Aktywne pigułki filtrów z możliwością usunięcia pojedynczego filtra */}
{hasActiveFilters ? (
{phraseQuery && (
setPhraseQuery('')}
className="inline-flex items-center gap-1 px-2.5 py-0.5 rounded-lg bg-emerald-500/20 text-emerald-300 text-xs font-bold"
>
Fraza: "{phraseQuery}"
)}
{modelQuery && (
setModelQuery('')}
className="inline-flex items-center gap-1 px-2.5 py-0.5 rounded-lg bg-sky-500/20 text-sky-300 text-xs font-bold"
>
Model: {modelQuery}
)}
{brandFilter !== 'Wszyscy' && (
setBrandFilter('Wszyscy')}
className="inline-flex items-center gap-1 px-2.5 py-0.5 rounded-lg bg-amber-500/20 text-amber-300 text-xs font-bold"
>
Producent: {brandFilter}
)}
{cpuFilter !== 'Dowolny' && (
setCpuFilter('Dowolny')}
className="inline-flex items-center gap-1 px-2.5 py-0.5 rounded-lg bg-indigo-500/20 text-indigo-300 text-xs font-bold"
>
Procesor: {cpuFilter}
)}
{ramFilter !== 'Dowolna' && (
setRamFilter('Dowolna')}
className="inline-flex items-center gap-1 px-2.5 py-0.5 rounded-lg bg-teal-500/20 text-teal-300 text-xs font-bold"
>
RAM: {ramFilter}
)}
) : (
Wpisz dowolną frazę, model, producenta, procesor lub ilość pamięci RAM powyżej — wyniki filtrują się natychmiastowo.
)}
{/* Sortowanie */}
setSortBy(e.target.value)}
className="bg-slate-950 border border-slate-700 rounded-xl px-3.5 py-2 text-xs font-bold text-slate-200 focus:outline-none focus:border-emerald-500 cursor-pointer"
>
Sortuj: Najpopularniejsze okazje
Cena: od najniższej (Lombard / OLX)
Cena: od najniższej (Nowe ze sklepów)
Największa oszczędność (zł)
Najwyższa ocena z recenzji
{/* ========================================== */}
{/* LISTA WYNIKÓW (KARTY PRODUKTÓW + OFERTY + TŁUMACZONE RECENZJE) */}
{/* ========================================== */}
{displayedProducts.map((product) => {
const stats = getPriceSummary(product);
const openTab = openTabByProduct[product.id] || null;
const activeCondTab = conditionTabByProduct[product.id] || 'all';
const firstReview = product.reviewSummary.reviews[0];
return (
{/* Rząd 1: Oznaczenia kategorii, dopasowania i oceny recenzji */}
{product.category === 'console' ? (
) : (
)}
{product.category === 'console' ? 'Konsola do gier' : 'Laptop'}
{product.hotDeal && (
Okazja Cenowa
)}
{product.isDynamicMatch && (
Skonfigurowano dla Twoich 5 kryteriów
)}
toggleTab(product.id, 'reviews')}
className="inline-flex items-center gap-1.5 px-3 py-1 rounded-xl bg-amber-500/15 hover:bg-amber-500/25 text-amber-300 border border-amber-500/30 text-xs font-bold transition-colors"
>
Ocena: {product.reviewSummary.overallScore}/10 (Recenzje PL)
{
setAlertModalProduct(product);
setAlertTargetPrice(Math.max(400, stats.lowestAny - 150));
}}
className="p-2 rounded-xl bg-slate-800 hover:bg-slate-700 border border-slate-700 text-slate-300 hover:text-amber-300 transition-colors"
title="Ustaw alert o spadku ceny"
>
{/* Rząd 2: Tytuł + 5 wyraźnych kafelków parametrów (Producent, Model, Procesor, RAM, Grafika) */}
{product.name}
Producent
{product.brand}
Model
{product.modelFamily}
Procesor
{product.cpuFamily}
Pamięć RAM
{product.ramSize}
Grafika / Ekran
{product.gpuDetail}
{/* Rząd 3: PORÓWNANIE CEN (RYNEK WTÓRNY: LOOMBARD / OLX / ALLEGRO vs SKLEPY INTERNETOWE) */}
{/* KOLUMNA 1: LOOMBARD.PL + OLX.PL + ALLEGRO.PL */}
Rynek Wtórny • Loombard.pl / OLX.pl / Allegro.pl
od
{stats.lowestUsed} zł
{stats.savings > 0 && (
Oszczędzasz {stats.savings} zł (-{stats.savingsPct}%)
)}
{/* KOLUMNA 2: SKLEPY INTERNETOWE (NOWY SPRZĘT) */}
Nowy w Sklepach • x-kom / MediaExpert / Euro / Morele
od
{stats.lowestNew} zł
(Gwarancja 24 mies. • Raty 0%)
{/* Rząd 4: SKRÓCONA PRZETŁUMACZONA RECENZJA WIDOCZNA OD RAZU NA KARCIE */}
{firstReview && (
Przetłumaczona recenzja ({firstReview.source} • {firstReview.language} → PL)
{firstReview.titlePL}
„{firstReview.contentPL}”
toggleTab(product.id, 'reviews')}
className="shrink-0 inline-flex items-center gap-1.5 px-3.5 py-2 rounded-xl bg-indigo-500/20 hover:bg-indigo-500/30 text-indigo-200 border border-indigo-500/30 text-xs font-bold transition-all"
>
Pełna recenzja i plusy/minusy
)}
{/* Rząd 5: DWA PRZYCISKI ROZWIJANIA PEŁNEJ TABELI OFERT (9 SKLEPÓW) I RECENZJI */}
toggleTab(product.id, 'offers')}
className={`flex items-center justify-center gap-2 py-3 px-4 rounded-2xl text-xs sm:text-sm font-extrabold transition-all cursor-pointer ${
openTab === 'offers'
? 'bg-emerald-500 text-slate-950 shadow-lg shadow-emerald-500/20'
: 'bg-slate-800/90 hover:bg-slate-800 text-white border border-slate-700'
}`}
>
Porównaj wszystkie oferty ({product.offers.length} sklepów i portali)
{openTab === 'offers' ? (
) : (
)}
toggleTab(product.id, 'reviews')}
className={`flex items-center justify-center gap-2 py-3 px-4 rounded-2xl text-xs sm:text-sm font-extrabold transition-all cursor-pointer ${
openTab === 'reviews'
? 'bg-indigo-500 text-white shadow-lg shadow-indigo-500/20'
: 'bg-indigo-500/15 hover:bg-indigo-500/25 text-indigo-200 border border-indigo-500/30'
}`}
>
Recenzje i Tłumaczenia PL ({product.reviewSummary.reviews.length})
{openTab === 'reviews' ? (
) : (
)}
{/* ========================================== */}
{/* ROZWINIĘTA TABELA WSZYSTKICH 9 OFERT */}
{/* ========================================== */}
{openTab === 'offers' && (
Wszystkie oferty dla: {product.shortQuery}
{[
{ id: 'all', label: 'Wszystkie oferty' },
{ id: 'lombard', label: 'Loombard.pl' },
{ id: 'used', label: 'Używane (Loombard / OLX / Allegro)' },
{ id: 'new', label: 'Nowe ze sklepów RTV' }
].map((tab) => (
setConditionTabByProduct((prev) => ({
...prev,
[product.id]: tab.id
}))
}
className={`px-3 py-1 rounded-lg text-xs font-bold transition-all ${
activeCondTab === tab.id
? 'bg-emerald-500 text-slate-950'
: 'bg-slate-900 text-slate-400 hover:text-white border border-slate-800'
}`}
>
{tab.label}
))}
{product.offers
.filter((o) => {
if (activeCondTab === 'lombard') return o.condition === 'lombard';
if (activeCondTab === 'used')
return o.condition === 'used' || o.condition === 'lombard';
if (activeCondTab === 'new') return o.condition === 'new';
return true;
})
.sort((a, b) => a.price - b.price)
.map((offer, idx) => {
const style =
PLATFORM_STYLE[offer.store] || PLATFORM_STYLE['Amazon.pl'];
const url = buildPlatformUrl(offer.store, product.shortQuery);
return (
{offer.store}
{offer.condition === 'new'
? 'NOWY'
: offer.condition === 'lombard'
? 'LOMBARD'
: 'UŻYWANY'}
{offer.label}
{offer.location}
{offer.warranty}
{offer.price} zł
{offer.shipping === 0
? 'Dostawa 0 zł'
: `+${offer.shipping} zł wysyłka`}
Idź do {offer.store}
);
})}
)}
{/* ========================================== */}
{/* ROZWINIĘTA SEKCJA RECENZJI I TŁUMACZEŃ PL */}
{/* ========================================== */}
{openTab === 'reviews' && (
{product.reviewSummary.overallScore}
/10
Podsumowanie Recenzji (Automatyczne Tłumaczenie PL)
Zagraniczne testy (Notebookcheck, RTINGS, IGN, The Verge, TechRadar) przetłumaczone na język polski
handleTranslateMoreReviews(product)}
disabled={translatingProductId === product.id}
className="inline-flex items-center gap-1.5 px-4 py-2 rounded-xl bg-indigo-500/20 hover:bg-indigo-500/30 text-indigo-200 border border-indigo-500/40 text-xs font-bold transition-all disabled:opacity-50"
>
{translatingProductId === product.id ? (
) : (
)}
{translatingProductId === product.id
? 'Tłumaczę recenzję...'
: '+ Pobierz i przetłumacz kolejną recenzję AI'}
Werdykt redakcji:
{product.reviewSummary.verdict}
Zalety (Plusy sprzętu)
{product.reviewSummary.pros.map((pro, i) => (
{pro}
))}
Wady (Minusy sprzętu)
{product.reviewSummary.cons.map((con, i) => (
{con}
))}
{/* Karty przetłumaczonych recenzji z przełącznikiem PL / Oryginał */}
{product.reviewSummary.reviews.map((rev) => {
const isOrig = !!showOriginalLang[rev.id];
return (
{rev.source}
{rev.country} • {rev.date}
Ocena: {rev.rating}
{isOrig
? `Tekst oryginalny (${rev.language})`
: `Przetłumaczono automatycznie (${rev.language} → PL)`}
{rev.contentOriginal && (
setShowOriginalLang((prev) => ({
...prev,
[rev.id]: !prev[rev.id]
}))
}
className="text-[11px] font-extrabold text-emerald-400 hover:underline shrink-0"
>
{isOrig
? 'Pokaż polskie tłumaczenie (PL)'
: `Pokaż oryginał (${rev.language})`}
)}
{rev.titlePL}
„{isOrig ? rev.contentOriginal : rev.contentPL}”
);
})}
)}
);
})}
{/* ========================================== */}
{/* MODAL DODAWANIA ALERTU CENOWEGO */}
{/* ========================================== */}
{alertModalProduct && (
setAlertModalProduct(null)}
className="p-1.5 rounded-lg text-slate-400 hover:text-white"
>
Wybrany sprzęt:
{alertModalProduct.name}
)}
{/* ========================================== */}
{/* MODAL LISTY AKTYWNYCH ALERTÓW */}
{/* ========================================== */}
{showAlertsModal && (
Twoje Alerty Cenowe
setShowAlertsModal(false)}
className="p-1.5 rounded-lg text-slate-400 hover:text-white"
>
{priceAlerts.length === 0 ? (
Brak zapisanych alertów cenowych.
) : (
priceAlerts.map((item) => (
{item.productName}
Cel: poniżej {item.targetPrice} zł
setPriceAlerts((prev) => prev.filter((a) => a.id !== item.id))
}
className="text-slate-500 hover:text-rose-400 p-1"
>
))
)}
setShowAlertsModal(false)}
className="w-full py-2.5 rounded-xl bg-slate-800 hover:bg-slate-700 text-white font-bold text-xs"
>
Zamknij
)}
{/* STOPKA */}
);
}