import Head from "next/head"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import { useQuery } from "@apollo/client"; import Header from "@/components/Header"; import Footer from "@/components/Footer"; import MobileMenuBottomSection from "@/components/MobileMenuBottomSection"; import { DOC_FIND_OEM } from "@/lib/graphql"; import { LaximoDocFindOEMResult } from "@/types/laximo"; import MetaTags from "@/components/MetaTags"; import { getMetaByPath } from "@/lib/meta-config"; const InfoArticleSearch = () => (
Главная
Поиск деталей по артикулу

Поиск деталей по артикулу

); const ArticleSearchPage = () => { const router = useRouter(); const { article } = router.query; const [searchQuery, setSearchQuery] = useState(""); useEffect(() => { if (article && typeof article === 'string') { setSearchQuery(article.trim().toUpperCase()); } }, [article]); const { data, loading, error } = useQuery(DOC_FIND_OEM, { variables: { oemNumber: searchQuery }, skip: !searchQuery, errorPolicy: 'all' }); const handleFindOffers = (articleNumber: string, brand: string) => { router.push(`/search-result?article=${encodeURIComponent(articleNumber)}&brand=${encodeURIComponent(brand)}`); }; const result: LaximoDocFindOEMResult | null = data?.laximoDocFindOEM || null; const hasResults = result && result.details && result.details.length > 0; const metaData = getMetaByPath('/article-search'); return ( <>
{loading && (

Поиск деталей по артикулу...

)} {error && !loading && (

Ошибка поиска

Произошла ошибка при поиске деталей. Попробуйте еще раз.

)} {!hasResults && !loading && !error && (

Детали не найдены

По артикулу {searchQuery} детали не найдены.

Попробуйте изменить запрос или проверьте правильность написания артикула.

)} {hasResults && (

Поиск деталей по артикулу: {searchQuery}

Выберите нужную деталь

{result.details.map((detail, index) => (
))}
)}
); }; export default ArticleSearchPage;