--- import Layout from '@layouts/Layout.astro'; import { SITE_URL } from '@constants'; import PageHero from '@components/base/PageHero.astro'; import BlogCategories from '@components/blog/BlogCategories.astro'; import BlogCard from '@components/blog/BlogCard.astro'; import Pagination from '@components/base/Pagination.astro'; import CTA from '@components/base/CTA.astro'; import SearchModal from '@components/base/SearchModal.astro'; import { getCollection } from 'astro:content'; const posts = await getCollection('blog'); // Сортируем посты по дате (новые сверху) const sortedPosts = posts.sort((a, b) => b.data.date.getTime() - a.data.date.getTime()); const POSTS_PER_PAGE = 6; const currentPage = 1; const totalPages = Math.ceil(sortedPosts.length / POSTS_PER_PAGE); const startIndex = 0; const endIndex = POSTS_PER_PAGE; const paginatedPosts = sortedPosts.slice(startIndex, endIndex); // Форматируем дату const formatDate = (date: Date) => { return date.toLocaleDateString('ru-RU', { day: 'numeric', month: 'long', year: 'numeric' }); }; // Категории const categories = ['Все', ...new Set(posts.map((post: any) => post.data.category))]; ---
{paginatedPosts.map((post: any) => (
))}