import React, { useState } from 'react'; import { useQuery } from '@apollo/client'; import { useRouter } from 'next/router'; import { GET_LAXIMO_QUICK_DETAIL } from '@/lib/graphql/laximo'; interface VinQuickProps { quickGroup: any; catalogCode: string; vehicleId: string; ssd: string; onBack: () => void; onNodeSelect: (unit: any) => void; } const VinQuick: React.FC = ({ quickGroup, catalogCode, vehicleId, ssd, onBack, onNodeSelect }) => { const router = useRouter(); const { data, loading, error } = useQuery(GET_LAXIMO_QUICK_DETAIL, { variables: { catalogCode, vehicleId, quickGroupId: quickGroup.quickgroupid, ssd }, skip: !quickGroup || !quickGroup.quickgroupid }); const quickDetail = data?.laximoQuickDetail; const handleUnitClick = (unit: any) => { onNodeSelect({ ...unit, unitid: unit.unitid, name: unit.name, catalogCode, vehicleId, ssd: unit.ssd || ssd // Используем SSD узла, а не родительский }); }; const handleDetailClick = (detail: any) => { if (detail.oem) { // Переходим на страницу выбора бренда const url = `/vehicle-search/${catalogCode}/${vehicleId}/part/${detail.oem}/brands?detailName=${encodeURIComponent(detail.name || '')}`; router.push(url); } }; return (
{/* */} {loading ? (
Загружаем детали...
) : error ? (
Ошибка загрузки деталей: {error.message}
) : quickDetail && quickDetail.units ? ( quickDetail.units.map((unit: any) => (
{unit.imageurl || unit.largeimageurl ? ( {unit.name} { (e.currentTarget as HTMLImageElement).src = '/images/image-44.jpg'; }} onClick={() => handleUnitClick(unit)} style={{ cursor: 'pointer' }} /> ) : ( Нет изображения )}

{unit.name}

{unit.details && unit.details.length > 0 && unit.details.map((detail: any, index: number) => (
{detail.oem}
{detail.name}
{ e.preventDefault(); handleDetailClick(detail); }}>Показать цены
))} { e.preventDefault(); handleUnitClick(unit); }}>Подробнее
)) ) : (
Нет деталей для этой группы
)}
); }; export default VinQuick;