import Link from 'next/link' import { notFound } from 'next/navigation' import { formatDate, type ThemeRouteContext } from 'ampless' import { ampless } from '@/lib/ampless' import { admin } from '@/lib/admin' import { SiteHeader } from '@/components/site-chrome/site-header' import { SiteSidebar } from '@/components/site-chrome/site-sidebar' import { SiteFooter } from '@/components/site-chrome/site-footer' import { CollapsibleSidebar } from '@/components/site-chrome/collapsible-sidebar' export default async function DocsTag({ params }: ThemeRouteContext<{ tag: string }>) { const { tag } = await params const decodedTag = decodeURIComponent(tag) const [{ items: posts }, settings, theme] = await Promise.all([ ampless.listPostsByTag(decodedTag, { limit: 50 }), ampless.loadSiteSettings(), ampless.loadThemeConfig(), ]) if (posts.length === 0) notFound() return ( <>

{admin.t('public.tagLabel')}

#{decodedTag}

    {posts.map((post) => (
  • {post.title}
    {post.publishedAt && ( )} {post.excerpt && (

    {post.excerpt}

    )}
  • ))}
© {new Date().getFullYear()} {settings.site.name} } /> ) }