---
import Base from '@eratic/core/layouts/Base.astro';
import EntryList from '@eratic/core/components/EntryList.astro';
import { allIssues, issuePath, issueTitle } from '../lib/entries';
const issues = await allIssues();
const listed = issues.map((issue) => ({
path: issuePath(issue),
title: issueTitle(issue),
summary: issue.data.summary,
pubDate: issue.data.pubDate,
kicker: `${issue.data.links.length} thing${issue.data.links.length === 1 ? '' : 's'}`,
}));
---
<Base site="io" path="/">
<header class="intro">
<h1>io</h1>
<p class="intro__text">
What came in this week: read, watched, listened to. One issue, every
week, with credit to whoever sent me there.
</p>
</header>
<EntryList entries={listed} empty="The first issue goes out soon." />
</Base>
<style>
.intro {
margin-block: var(--space-xl) var(--space-2xl);
display: flex;
flex-direction: column;
gap: var(--space-2xs);
}
.intro h1 {
font-family: var(--font-prose);
font-size: var(--step-4);
font-weight: 600;
line-height: 1.05;
letter-spacing: -0.022em;
font-optical-sizing: auto;
}
.intro__text {
font-family: var(--font-prose);
font-size: var(--step-1);
color: var(--ink-muted);
text-wrap: pretty;
max-inline-size: var(--measure);
}
</style>