--- import Layout from '@layouts/Layout.astro'; import { SITE_URL } from '@constants'; import BlogCard from '@components/blog/BlogCard.astro'; import SearchModal from '@components/base/SearchModal.astro'; import { getCollection } from 'astro:content'; const posts = await getCollection('blog'); // Получаем параметр поиска из URL const url = new URL(Astro.request.url); const searchQuery = url.searchParams.get('q') || ''; const breadcrumbsItems = [ { label: 'Главная', href: '/' }, { label: 'Блог', href: '/blog' }, { label: searchQuery ? `Поиск: "${searchQuery}"` : 'Поиск' } ]; // Функция поиска по статьям function searchArticles(query: string, allPosts: typeof posts) { if (!query.trim()) return []; const lowerQuery = query.toLowerCase(); return allPosts.filter(post => { const titleMatch = post.data.title.toLowerCase().includes(lowerQuery); const descriptionMatch = post.data.description.toLowerCase().includes(lowerQuery); const categoryMatch = post.data.category.toLowerCase().includes(lowerQuery); return titleMatch || descriptionMatch || categoryMatch; }); } const searchResults = searchArticles(searchQuery, posts); // Форматируем дату const formatDate = (date: Date) => { return date.toLocaleDateString('ru-RU', { day: 'numeric', month: 'long', year: 'numeric' }); }; --- {searchQuery ? `Результаты поиска` : 'Поиск статей'} {searchQuery && ( По запросу: "{searchQuery}" {searchResults.length === 0 ? 'Ничего не найдено' : `Найдено статей: ${searchResults.length}`} )} Изменить запрос {searchQuery && searchResults.length > 0 ? ( {searchResults.map((post: any) => ( ))} ) : searchQuery ? ( По вашему запросу ничего не найдено Попробуйте изменить запрос или посмотрите все статьи в блоге Вернуться в блог ) : ( Введите запрос для поиска статей )}
По запросу: "{searchQuery}"
{searchResults.length === 0 ? 'Ничего не найдено' : `Найдено статей: ${searchResults.length}`}
Попробуйте изменить запрос или посмотрите все статьи в блоге
Введите запрос для поиска статей