webapp/src/pages/topic/[slug].astro

22 lines
726 B
Plaintext
Raw Normal View History

2022-09-09 11:53:35 +00:00
---
2022-09-22 09:37:49 +00:00
import { Root } from '../../components/Root'
import Zine from '../../main.astro'
2022-09-09 11:53:35 +00:00
import { apiClient } from '../../utils/apiClient'
import { PRERENDERED_ARTICLES_COUNT } from '../../components/Views/Topic'
2022-09-09 11:53:35 +00:00
const slug = Astro.params.slug?.toString() || ''
const shouts = await apiClient.getArticlesForTopics({ topicSlugs: [slug], limit: PRERENDERED_ARTICLES_COUNT })
const topic = shouts[0].topics.find(({ slug: topicSlug }) => topicSlug === slug)
2022-09-09 11:53:35 +00:00
2022-09-23 18:27:05 +00:00
import { initRouter } from '../../stores/router'
const { pathname, search } = Astro.url
initRouter(pathname, search)
2022-09-09 11:53:35 +00:00
Astro.response.headers.set('Cache-Control', 's-maxage=1, stale-while-revalidate')
---
<Zine>
<Root shouts={shouts} topic={topic} client:load />
2022-09-09 11:53:35 +00:00
</Zine>