--- import { Image } from 'astro:assets'; import type { CollectionEntry } from 'astro:content'; import FormattedDate from '~/components/FormattedDate.astro'; import BaseLayout from '~/layouts/BaseLayout.astro'; import { type Locale, SITE } from '~/consts'; import { getPostsByCategory, postSlug } from '~/i18n/posts'; import { localizePath, t } from '~/i18n/ui'; interface Props { locale: Locale; category: CollectionEntry<'categories'>; } const { locale, category } = Astro.props; const posts = await getPostsByCategory(category); const pageTitle = `${category.data.name} — ${SITE[locale].title}`; const pageDescription = category.data.description ?? `${t(locale, 'category.postsIn')} ${category.data.name}`; ---

{category.data.name}

{category.data.description &&

{category.data.description}

}

{t(locale, 'category.postsIn')} {category.data.name}

{ posts.length === 0 ? (

{t(locale, 'category.noPosts')}

) : ( ) }