--- import MainLayout from "@/layouts/MainLayout.astro" import Header from "@/components/Header.astro" import NewsList from "@/components/cards/NewsList.astro"; import { getCollection, getEntry } from "astro:content"; import FooterSection from "@/components/section/FooterSection.astro"; import { createTranslator } from '@/i18n'; const tl = createTranslator(Astro.currentLocale); const newsItems = await getCollection("news", (post)=>{ const currentLocale = Astro.currentLocale; return post.data.locale == currentLocale }); const sortedPosts = [...newsItems] .sort((a, b) => { const dateDiff = new Date(b.data.date).getTime() - new Date(a.data.date).getTime() if (dateDiff !== 0) return dateDiff return (a.data.order ?? 0) - (b.data.order ?? 0) }); const allTags = [...new Set( sortedPosts .filter(p => p.data.tags && p.data.tags.length > 0) .flatMap(p => p.data.tags) .filter((tag): tag is string => tag !== undefined) )].sort(); --- {tl("news.title")} {tl("news.text")} {allTags.length > 0 && ( {tl("news.all")} {allTags.map((tag) => ( {tag} ))} )} { sortedPosts.map((item) => ( )) }