import React from 'react'; import { useRouter } from 'next/router'; import { LaximoVehicleSearchResult, LaximoCatalogInfo } from '@/types/laximo'; interface VehicleSearchResultsProps { results: LaximoVehicleSearchResult[]; catalogInfo: LaximoCatalogInfo; } const VehicleSearchResults: React.FC = ({ results, catalogInfo }) => { const router = useRouter(); const handleSelectVehicle = (vehicle: LaximoVehicleSearchResult) => { console.log('🚗 handleSelectVehicle вызвана для:', vehicle); // Формируем SSD из данных vehicle или берем из router query const routerSsd = Array.isArray(router.query.ssd) ? router.query.ssd[0] : router.query.ssd; const ssd = vehicle.ssd || routerSsd || ''; const brand = router.query.brand || catalogInfo.code; console.log('🚗 Selected vehicle:', vehicle); console.log('🔧 Vehicle SSD:', vehicle.ssd ? `${vehicle.ssd.substring(0, 50)}...` : 'отсутствует'); console.log('🔧 Router SSD:', routerSsd ? `${routerSsd.substring(0, 50)}...` : 'отсутствует'); console.log('🔧 Final SSD to pass:', ssd ? `${ssd.substring(0, 50)}...` : 'отсутствует'); console.log('🔧 SSD length:', ssd.length); console.log('🔧 Brand для навигации:', brand); console.log('🔧 Vehicle ID:', vehicle.vehicleid); // Переходим на страницу автомобиля с SSD if (ssd && ssd.trim() !== '') { // Всегда используем localStorage для SSD, так как VW SSD очень длинные console.log('💾 Сохраняем SSD в localStorage для безопасной передачи'); const vehicleKey = `vehicle_ssd_${brand}_${vehicle.vehicleid}`; console.log('💾 Ключ localStorage:', vehicleKey); localStorage.setItem(vehicleKey, ssd); console.log('💾 SSD сохранен в localStorage'); const targetUrl = `/vehicle-search/${brand}/${vehicle.vehicleid}?use_storage=1&ssd_length=${ssd.length}`; console.log('🔗 Переходим по URL:', targetUrl); router.push(targetUrl); } else { console.log('⚠️ SSD отсутствует, переходим без него'); router.push(`/vehicle-search/${brand}/${vehicle.vehicleid}`); } }; // Функция для условного отображения атрибута const renderAttribute = (label: string, value: string | undefined) => { if (!value || value === '' || value === 'undefined') return null return (
{label}: {value}
) } if (results.length === 0) { return null; } return (

Найдено автомобилей: {results.length}

{results.map((vehicle, index) => (
handleSelectVehicle(vehicle)} > {/* Заголовок автомобиля */}

{vehicle.name || `${vehicle.brand} ${vehicle.model}`}

{vehicle.modification} ({vehicle.year})

{/* Основные характеристики */}
Основные характеристики
{renderAttribute('Марка', vehicle.brand)} {renderAttribute('Модель', vehicle.model)} {renderAttribute('Год', vehicle.year)} {renderAttribute('Кузов', vehicle.bodytype)} {renderAttribute('Двигатель', vehicle.engine)} {renderAttribute('Трансмиссия', vehicle.transmission)}
{/* Дополнительные характеристики */}
Дополнительные характеристики
{renderAttribute('Класс', vehicle.grade)} {renderAttribute('Цвет кузова', vehicle.framecolor)} {renderAttribute('Цвет салона', vehicle.trimcolor)} {renderAttribute('Рынок', vehicle.market)} {renderAttribute('Регион производства', vehicle.creationregion)} {renderAttribute('Регион назначения', vehicle.destinationregion)}
{/* Технические характеристики */}
Технические характеристики
{renderAttribute('Информация о двигателе', vehicle.engine_info)} {renderAttribute('Номер двигателя', vehicle.engineno)} {renderAttribute('Дата производства', vehicle.date)} {renderAttribute('Произведен', vehicle.manufactured)} {renderAttribute('Период производства', vehicle.prodPeriod)} {renderAttribute('Диапазон производства', vehicle.prodRange)}
{/* Даты и периоды */}
Даты и периоды
{renderAttribute('Дата с', vehicle.datefrom)} {renderAttribute('Дата по', vehicle.dateto)} {renderAttribute('Модельный год с', vehicle.modelyearfrom)} {renderAttribute('Модельный год по', vehicle.modelyearto)}
{/* Опции и описание */} {(vehicle.options || vehicle.description || vehicle.notes) && (
Опции и описание
{renderAttribute('Опции', vehicle.options)} {renderAttribute('Описание', vehicle.description)} {renderAttribute('Примечания', vehicle.notes)}
)} {/* Системная информация */}
ID: {vehicle.vehicleid}
{vehicle.catalog &&
Каталог: {vehicle.catalog}
} {vehicle.ssd && (
SSD: {vehicle.ssd.length > 50 ? `${vehicle.ssd.substring(0, 50)}...` : vehicle.ssd}
)}
{/* Debug информация (только в development) */} {process.env.NODE_ENV === 'development' && (
Debug Info:
                  {JSON.stringify(vehicle, null, 2)}
                
)}
))}
); }; export default VehicleSearchResults;