Обновлены условия пропуска запросов в компонентах, чтобы учитывать случаи, когда vehicleId может быть undefined или null. Исправлены проверки в следующих компонентах: CatalogGroupsSection, CategoriesSection, GroupDetailsSection, QuickGroupsSection, UnitDetailsSection, UnitsSection, KnotIn, VinCategory, VinLeftbar, VehicleDetailsPage и PartDetailPage.
This commit is contained in:
@ -208,7 +208,7 @@ const CatalogGroupsSection: React.FC<CatalogGroupsSectionProps> = ({
|
|||||||
vehicleId,
|
vehicleId,
|
||||||
...(ssd && ssd.trim() !== '' && { ssd })
|
...(ssd && ssd.trim() !== '' && { ssd })
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId || catalogType !== 'quickGroups',
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || catalogType !== 'quickGroups',
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -33,7 +33,7 @@ const CategoriesSection: React.FC<CategoriesSectionProps> = ({
|
|||||||
vehicleId,
|
vehicleId,
|
||||||
...(ssd && ssd.trim() !== '' && { ssd })
|
...(ssd && ssd.trim() !== '' && { ssd })
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -187,13 +187,13 @@ const GroupDetailsSection: React.FC<GroupDetailsSectionProps> = ({
|
|||||||
const { data, loading, error } = useQuery<{ laximoQuickDetail: LaximoQuickDetail }>(
|
const { data, loading, error } = useQuery<{ laximoQuickDetail: LaximoQuickDetail }>(
|
||||||
GET_LAXIMO_QUICK_DETAIL,
|
GET_LAXIMO_QUICK_DETAIL,
|
||||||
{
|
{
|
||||||
variables: {
|
variables: quickGroupId ? {
|
||||||
catalogCode,
|
catalogCode,
|
||||||
vehicleId,
|
vehicleId,
|
||||||
quickGroupId,
|
quickGroupId,
|
||||||
ssd
|
ssd
|
||||||
},
|
} : undefined,
|
||||||
skip: !catalogCode || !vehicleId || !quickGroupId || !ssd,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !quickGroupId || !ssd || ssd.trim() === '',
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -154,13 +154,13 @@ const QuickDetailSection: React.FC<QuickDetailSectionProps> = ({
|
|||||||
const { data: quickDetailData, loading: quickDetailLoading, error: quickDetailError } = useQuery<{ laximoQuickDetail: LaximoQuickDetail }>(
|
const { data: quickDetailData, loading: quickDetailLoading, error: quickDetailError } = useQuery<{ laximoQuickDetail: LaximoQuickDetail }>(
|
||||||
GET_LAXIMO_QUICK_DETAIL,
|
GET_LAXIMO_QUICK_DETAIL,
|
||||||
{
|
{
|
||||||
variables: {
|
variables: selectedGroup?.quickgroupid ? {
|
||||||
catalogCode,
|
catalogCode,
|
||||||
vehicleId,
|
vehicleId,
|
||||||
quickGroupId: selectedGroup.quickgroupid,
|
quickGroupId: selectedGroup.quickgroupid,
|
||||||
ssd
|
ssd
|
||||||
},
|
} : undefined,
|
||||||
skip: !catalogCode || !vehicleId || !selectedGroup.quickgroupid || !ssd,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !selectedGroup?.quickgroupid || !ssd || ssd.trim() === '',
|
||||||
errorPolicy: 'all',
|
errorPolicy: 'all',
|
||||||
fetchPolicy: 'cache-and-network' // Принудительно запрашиваем данные
|
fetchPolicy: 'cache-and-network' // Принудительно запрашиваем данные
|
||||||
}
|
}
|
||||||
@ -169,11 +169,28 @@ const QuickDetailSection: React.FC<QuickDetailSectionProps> = ({
|
|||||||
const quickDetail = quickDetailData?.laximoQuickDetail;
|
const quickDetail = quickDetailData?.laximoQuickDetail;
|
||||||
|
|
||||||
// Добавляем отладочную информацию
|
// Добавляем отладочную информацию
|
||||||
console.log('🔍 QuickDetailSection Debug:');
|
console.log('🔍 QuickDetailSection Debug:', {
|
||||||
console.log('📊 quickDetailData:', quickDetailData);
|
catalogCode,
|
||||||
console.log('📋 quickDetail:', quickDetail);
|
vehicleId,
|
||||||
console.log('🏗️ quickDetail.units:', quickDetail?.units);
|
vehicleIdType: typeof vehicleId,
|
||||||
console.log('⚙️ Variables:', { catalogCode, vehicleId, quickGroupId: selectedGroup.quickgroupid, ssd });
|
quickGroupId: selectedGroup?.quickgroupid,
|
||||||
|
quickGroupIdType: typeof selectedGroup?.quickgroupid,
|
||||||
|
ssd: ssd ? `${ssd.substring(0, 30)}...` : 'отсутствует',
|
||||||
|
ssdType: typeof ssd,
|
||||||
|
ssdLength: ssd?.length,
|
||||||
|
hasData: !!quickDetailData,
|
||||||
|
hasQuickDetail: !!quickDetail,
|
||||||
|
unitsCount: quickDetail?.units?.length || 0,
|
||||||
|
loading: quickDetailLoading,
|
||||||
|
error: quickDetailError?.message,
|
||||||
|
skipCondition: !catalogCode || vehicleId === undefined || vehicleId === null || !selectedGroup?.quickgroupid || !ssd,
|
||||||
|
skipDetails: {
|
||||||
|
noCatalogCode: !catalogCode,
|
||||||
|
noVehicleId: vehicleId === undefined || vehicleId === null,
|
||||||
|
noQuickGroupId: !selectedGroup?.quickgroupid,
|
||||||
|
noSsd: !ssd
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Если выбран узел для детального просмотра, показываем UnitDetailsSection
|
// Если выбран узел для детального просмотра, показываем UnitDetailsSection
|
||||||
if (selectedUnit) {
|
if (selectedUnit) {
|
||||||
@ -213,6 +230,20 @@ const QuickDetailSection: React.FC<QuickDetailSectionProps> = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (quickDetailError) {
|
if (quickDetailError) {
|
||||||
|
console.error('🚨 QuickDetailSection Error Details:', {
|
||||||
|
message: quickDetailError.message,
|
||||||
|
graphQLErrors: quickDetailError.graphQLErrors,
|
||||||
|
networkError: quickDetailError.networkError,
|
||||||
|
extraInfo: quickDetailError.extraInfo,
|
||||||
|
selectedGroup: selectedGroup,
|
||||||
|
variables: selectedGroup?.quickgroupid ? {
|
||||||
|
catalogCode,
|
||||||
|
vehicleId,
|
||||||
|
quickGroupId: selectedGroup.quickgroupid,
|
||||||
|
ssd
|
||||||
|
} : 'undefined (no variables sent)'
|
||||||
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-4">
|
<div className="space-y-4">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
@ -231,6 +262,33 @@ const QuickDetailSection: React.FC<QuickDetailSectionProps> = ({
|
|||||||
<h3 className="text-lg font-medium text-red-600 mb-2">Ошибка загрузки деталей</h3>
|
<h3 className="text-lg font-medium text-red-600 mb-2">Ошибка загрузки деталей</h3>
|
||||||
<p className="text-red-700">Не удалось загрузить детали для группы "{selectedGroup.name}"</p>
|
<p className="text-red-700">Не удалось загрузить детали для группы "{selectedGroup.name}"</p>
|
||||||
<p className="text-sm text-red-600 mt-2">Ошибка: {quickDetailError.message}</p>
|
<p className="text-sm text-red-600 mt-2">Ошибка: {quickDetailError.message}</p>
|
||||||
|
|
||||||
|
{/* Отладочная информация */}
|
||||||
|
<details className="mt-4">
|
||||||
|
<summary className="text-sm text-red-700 cursor-pointer hover:text-red-800">
|
||||||
|
🔧 Показать отладочную информацию
|
||||||
|
</summary>
|
||||||
|
<div className="mt-2 p-3 bg-red-100 rounded text-xs">
|
||||||
|
<div><strong>Catalog Code:</strong> {catalogCode}</div>
|
||||||
|
<div><strong>Vehicle ID:</strong> {vehicleId} (type: {typeof vehicleId})</div>
|
||||||
|
<div><strong>Quick Group ID:</strong> {selectedGroup?.quickgroupid} (type: {typeof selectedGroup?.quickgroupid})</div>
|
||||||
|
<div><strong>SSD:</strong> {ssd ? `${ssd.substring(0, 100)}...` : 'отсутствует'} (length: {ssd?.length})</div>
|
||||||
|
<div className="mt-2">
|
||||||
|
<strong>GraphQL Errors:</strong>
|
||||||
|
<pre className="mt-1 text-xs overflow-auto">
|
||||||
|
{JSON.stringify(quickDetailError.graphQLErrors, null, 2)}
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
{quickDetailError.networkError && (
|
||||||
|
<div className="mt-2">
|
||||||
|
<strong>Network Error:</strong>
|
||||||
|
<pre className="mt-1 text-xs overflow-auto">
|
||||||
|
{JSON.stringify(quickDetailError.networkError, null, 2)}
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</details>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@ -464,7 +522,7 @@ const QuickGroupsSection: React.FC<QuickGroupsSectionProps> = ({
|
|||||||
vehicleId,
|
vehicleId,
|
||||||
...(ssd && ssd.trim() !== '' && { ssd })
|
...(ssd && ssd.trim() !== '' && { ssd })
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -39,7 +39,7 @@ const UnitDetailsSection: React.FC<UnitDetailsSectionProps> = ({
|
|||||||
unitId,
|
unitId,
|
||||||
ssd: ssd || ''
|
ssd: ssd || ''
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId || !unitId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !unitId,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -54,7 +54,7 @@ const UnitDetailsSection: React.FC<UnitDetailsSectionProps> = ({
|
|||||||
unitId,
|
unitId,
|
||||||
ssd: ssd || ''
|
ssd: ssd || ''
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId || !unitId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !unitId,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -69,7 +69,7 @@ const UnitDetailsSection: React.FC<UnitDetailsSectionProps> = ({
|
|||||||
unitId,
|
unitId,
|
||||||
ssd: ssd || ''
|
ssd: ssd || ''
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId || !unitId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !unitId,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -59,7 +59,7 @@ const UnitsSection: React.FC<UnitsSectionProps> = ({
|
|||||||
categoryId,
|
categoryId,
|
||||||
...(ssd && ssd.trim() !== '' && { ssd })
|
...(ssd && ssd.trim() !== '' && { ssd })
|
||||||
},
|
},
|
||||||
skip: !catalogCode || !vehicleId || !categoryId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !categoryId,
|
||||||
errorPolicy: 'all',
|
errorPolicy: 'all',
|
||||||
fetchPolicy: 'no-cache', // Полностью отключаем кэширование для гарантии свежих данных
|
fetchPolicy: 'no-cache', // Полностью отключаем кэширование для гарантии свежих данных
|
||||||
notifyOnNetworkStatusChange: true
|
notifyOnNetworkStatusChange: true
|
||||||
|
@ -47,7 +47,7 @@ const KnotIn: React.FC<KnotInProps> = ({ catalogCode, vehicleId, ssd, unitId, un
|
|||||||
GET_LAXIMO_UNIT_INFO,
|
GET_LAXIMO_UNIT_INFO,
|
||||||
{
|
{
|
||||||
variables: { catalogCode, vehicleId, unitId, ssd: ssd || '' },
|
variables: { catalogCode, vehicleId, unitId, ssd: ssd || '' },
|
||||||
skip: !catalogCode || !vehicleId || !unitId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !unitId,
|
||||||
errorPolicy: 'all',
|
errorPolicy: 'all',
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -56,7 +56,7 @@ const KnotIn: React.FC<KnotInProps> = ({ catalogCode, vehicleId, ssd, unitId, un
|
|||||||
GET_LAXIMO_UNIT_IMAGE_MAP,
|
GET_LAXIMO_UNIT_IMAGE_MAP,
|
||||||
{
|
{
|
||||||
variables: { catalogCode, vehicleId, unitId, ssd: ssd || '' },
|
variables: { catalogCode, vehicleId, unitId, ssd: ssd || '' },
|
||||||
skip: !catalogCode || !vehicleId || !unitId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || !unitId,
|
||||||
errorPolicy: 'all',
|
errorPolicy: 'all',
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -12,7 +12,7 @@ interface VinCategoryProps {
|
|||||||
const VinCategory: React.FC<VinCategoryProps> = ({ catalogCode, vehicleId, ssd, onNodeSelect }) => {
|
const VinCategory: React.FC<VinCategoryProps> = ({ catalogCode, vehicleId, ssd, onNodeSelect }) => {
|
||||||
const { data: categoriesData, loading: categoriesLoading, error: categoriesError } = useQuery(GET_LAXIMO_CATEGORIES, {
|
const { data: categoriesData, loading: categoriesLoading, error: categoriesError } = useQuery(GET_LAXIMO_CATEGORIES, {
|
||||||
variables: { catalogCode, vehicleId, ssd },
|
variables: { catalogCode, vehicleId, ssd },
|
||||||
skip: !catalogCode || !vehicleId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null,
|
||||||
errorPolicy: "all",
|
errorPolicy: "all",
|
||||||
});
|
});
|
||||||
const categories = categoriesData?.laximoCategories || [];
|
const categories = categoriesData?.laximoCategories || [];
|
||||||
|
@ -25,7 +25,7 @@ const VinLeftbar: React.FC<VinLeftbarProps> = ({ vehicleInfo, onSearchResults, o
|
|||||||
|
|
||||||
const { data: categoriesData, loading: categoriesLoading, error: categoriesError } = useQuery(GET_LAXIMO_CATEGORIES, {
|
const { data: categoriesData, loading: categoriesLoading, error: categoriesError } = useQuery(GET_LAXIMO_CATEGORIES, {
|
||||||
variables: { catalogCode, vehicleId, ssd },
|
variables: { catalogCode, vehicleId, ssd },
|
||||||
skip: !catalogCode || !vehicleId,
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
});
|
});
|
||||||
const categories = categoriesData?.laximoCategories || [];
|
const categories = categoriesData?.laximoCategories || [];
|
||||||
@ -88,7 +88,7 @@ const VinLeftbar: React.FC<VinLeftbarProps> = ({ vehicleInfo, onSearchResults, o
|
|||||||
}, [searchResults, searchQuery, onSearchResults]);
|
}, [searchResults, searchQuery, onSearchResults]);
|
||||||
|
|
||||||
// --- Новый блок: вычисляем доступность поиска ---
|
// --- Новый блок: вычисляем доступность поиска ---
|
||||||
const isSearchAvailable = !!catalogCode && !!vehicleId && !!ssd && ssd.trim() !== '';
|
const isSearchAvailable = !!catalogCode && vehicleId !== undefined && vehicleId !== null && !!ssd && ssd.trim() !== '';
|
||||||
const showWarning = !isSearchAvailable;
|
const showWarning = !isSearchAvailable;
|
||||||
const showError = !!error && isSearchAvailable && searchQuery.trim();
|
const showError = !!error && isSearchAvailable && searchQuery.trim();
|
||||||
const showNotFound = isSearchAvailable && searchQuery.trim() && !loading && data && searchResults && searchResults.details && searchResults.details.length === 0;
|
const showNotFound = isSearchAvailable && searchQuery.trim() && !loading && data && searchResults && searchResults.details && searchResults.details.length === 0;
|
||||||
@ -98,7 +98,7 @@ const VinLeftbar: React.FC<VinLeftbarProps> = ({ vehicleInfo, onSearchResults, o
|
|||||||
const [selectedQuickGroup, setSelectedQuickGroup] = useState<any | null>(null);
|
const [selectedQuickGroup, setSelectedQuickGroup] = useState<any | null>(null);
|
||||||
const { data: quickGroupsData, loading: quickGroupsLoading, error: quickGroupsError } = useQuery(GET_LAXIMO_QUICK_GROUPS, {
|
const { data: quickGroupsData, loading: quickGroupsLoading, error: quickGroupsError } = useQuery(GET_LAXIMO_QUICK_GROUPS, {
|
||||||
variables: { catalogCode, vehicleId, ssd },
|
variables: { catalogCode, vehicleId, ssd },
|
||||||
skip: !catalogCode || !vehicleId || activeTab !== 'manufacturer',
|
skip: !catalogCode || vehicleId === undefined || vehicleId === null || activeTab !== 'manufacturer',
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
});
|
});
|
||||||
const quickGroups = quickGroupsData?.laximoQuickGroups || [];
|
const quickGroups = quickGroupsData?.laximoQuickGroups || [];
|
||||||
@ -136,12 +136,30 @@ const VinLeftbar: React.FC<VinLeftbarProps> = ({ vehicleInfo, onSearchResults, o
|
|||||||
const skipQuickDetail =
|
const skipQuickDetail =
|
||||||
!selectedQuickGroup ||
|
!selectedQuickGroup ||
|
||||||
!catalogCode ||
|
!catalogCode ||
|
||||||
!vehicleId ||
|
vehicleId === undefined ||
|
||||||
!selectedQuickGroup.quickgroupid ||
|
vehicleId === null ||
|
||||||
!ssd;
|
!selectedQuickGroup?.quickgroupid ||
|
||||||
|
!ssd ||
|
||||||
|
ssd.trim() === '';
|
||||||
|
|
||||||
|
console.log('QuickDetail QUERY VARS', {
|
||||||
|
catalogCode,
|
||||||
|
vehicleId,
|
||||||
|
quickGroupId: selectedQuickGroup?.quickgroupid,
|
||||||
|
ssd: ssd ? `${ssd.substring(0, 30)}...` : 'отсутствует'
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('QuickDetail SKIP CONDITIONS', {
|
||||||
|
hasSelectedQuickGroup: !!selectedQuickGroup,
|
||||||
|
hasCatalogCode: !!catalogCode,
|
||||||
|
hasVehicleId: vehicleId !== undefined && vehicleId !== null,
|
||||||
|
hasQuickGroupId: !!selectedQuickGroup?.quickgroupid,
|
||||||
|
hasSsd: !!ssd && ssd.trim() !== '',
|
||||||
|
skipQuickDetail
|
||||||
|
});
|
||||||
|
|
||||||
const { data: quickDetailData, loading: quickDetailLoading, error: quickDetailError } = useQuery(GET_LAXIMO_QUICK_DETAIL, {
|
const { data: quickDetailData, loading: quickDetailLoading, error: quickDetailError } = useQuery(GET_LAXIMO_QUICK_DETAIL, {
|
||||||
variables: selectedQuickGroup ? {
|
variables: selectedQuickGroup?.quickgroupid && !skipQuickDetail ? {
|
||||||
catalogCode,
|
catalogCode,
|
||||||
vehicleId,
|
vehicleId,
|
||||||
quickGroupId: selectedQuickGroup.quickgroupid,
|
quickGroupId: selectedQuickGroup.quickgroupid,
|
||||||
|
@ -123,7 +123,7 @@ const VehicleDetailsPage = () => {
|
|||||||
...(finalSsd && { ssd: finalSsd }),
|
...(finalSsd && { ssd: finalSsd }),
|
||||||
localized: true
|
localized: true
|
||||||
},
|
},
|
||||||
skip: !brand || !vehicleId,
|
skip: !brand || vehicleId === undefined || vehicleId === null,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -194,8 +194,9 @@ const VehicleDetailsPage = () => {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Если vehicleId невалидный (например, '0'), показываем предупреждение и не рендерим поиск
|
// Если vehicleId отсутствует или пустой, показываем предупреждение
|
||||||
if (!vehicleId || vehicleId === '0') {
|
// Важно: vehicleId может быть '0' для некоторых автомобилей, найденных по VIN
|
||||||
|
if (!vehicleId || vehicleId === '') {
|
||||||
return (
|
return (
|
||||||
<main className="min-h-screen bg-yellow-50 flex items-center justify-center">
|
<main className="min-h-screen bg-yellow-50 flex items-center justify-center">
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
@ -214,7 +215,8 @@ const VehicleDetailsPage = () => {
|
|||||||
|
|
||||||
// Гарантируем, что vehicleId — строка
|
// Гарантируем, что vehicleId — строка
|
||||||
const vehicleIdStr = Array.isArray(vehicleId) ? (vehicleId[0] || '') : (vehicleId || '');
|
const vehicleIdStr = Array.isArray(vehicleId) ? (vehicleId[0] || '') : (vehicleId || '');
|
||||||
const fallbackVehicleId = (vehicleIdStr !== '0' ? vehicleIdStr : '');
|
// Для Laximo API vehicleId может быть '0' для автомобилей, найденных по VIN
|
||||||
|
const fallbackVehicleId = vehicleIdStr;
|
||||||
|
|
||||||
let vehicleInfo = vehicleData?.laximoVehicleInfo || {
|
let vehicleInfo = vehicleData?.laximoVehicleInfo || {
|
||||||
vehicleid: fallbackVehicleId,
|
vehicleid: fallbackVehicleId,
|
||||||
@ -225,8 +227,8 @@ const VehicleDetailsPage = () => {
|
|||||||
attributes: [] as never[]
|
attributes: [] as never[]
|
||||||
};
|
};
|
||||||
|
|
||||||
// Если вдруг с сервера пришёл vehicleid: '0', подменяем на корректный
|
// Убеждаемся, что vehicleid соответствует параметру из URL
|
||||||
if (vehicleInfo.vehicleid === '0' && fallbackVehicleId) {
|
if (vehicleInfo.vehicleid !== fallbackVehicleId && fallbackVehicleId) {
|
||||||
vehicleInfo = { ...vehicleInfo, vehicleid: fallbackVehicleId };
|
vehicleInfo = { ...vehicleInfo, vehicleid: fallbackVehicleId };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,12 +74,12 @@ const PartDetailPage = () => {
|
|||||||
oemNumber: oemNumber,
|
oemNumber: oemNumber,
|
||||||
ssd: finalSsd
|
ssd: finalSsd
|
||||||
},
|
},
|
||||||
skip: !brand || !vehicleId || !oemNumber || !finalSsd,
|
skip: !brand || vehicleId === undefined || vehicleId === null || !oemNumber || !finalSsd,
|
||||||
errorPolicy: 'all'
|
errorPolicy: 'all'
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!brand || !vehicleId || !oemNumber) {
|
if (!brand || vehicleId === undefined || vehicleId === null || !oemNumber) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Head>
|
<Head>
|
||||||
|
Reference in New Issue
Block a user