feat: sort private pages by alphabet

This commit is contained in:
Lewis Wynne 2026-02-07 02:41:44 +00:00
parent c10ebb3c1d
commit 629983ea77
3 changed files with 9 additions and 8 deletions

View file

@ -34,7 +34,7 @@ const related = post.data.related ? resolveRelatedPosts(post.data.related, allPo
{related.length > 0 && (
<details open>
<summary>related</summary>
<pre set:html={related.map(p => formatListItem(p.dates.created, `/draft/${getSlug(p.id)}`, p.data.title)).join('\n')} />
<pre set:html={related.map(p => formatListItem(p.dates.created, `/private/${getSlug(p.id)}`, p.data.title)).join('\n')} />
</details>
)}
</Layout>

View file

@ -13,19 +13,19 @@ if (!session) return Astro.redirect('/api/auth/signin');
const rawPosts = await getCollection('md', ({ data }) => data.draft === true);
const posts = enrichPostsWithDates(rawPosts);
const { grouped, categories: sortedCategories } = organizePostsByCategory(posts);
const { grouped, categories: sortedCategories } = organizePostsByCategory(posts, { sortAlphabetically: true });
---
<Layout title="drafts - lewis m.w.">
<Layout title="private - lewis m.w.">
<p class="muted">logged in as {session.user?.name} <a href="/api/auth/signout">sign out</a></p>
{sortedCategories.length === 0 ? (
<p class="muted">no drafts</p>
<p class="muted">nothing here</p>
) : (
sortedCategories.map(category => (
<details open>
<summary>{category}</summary>
<pre set:html={grouped[category].map(post => formatListItem(post.dates.created, `/draft/${getSlug(post.id)}`, post.data.title, { pinned: post.data.pinned })).join('\n')} />
<pre set:html={grouped[category].map(post => formatListItem(post.dates.created, `/private/${getSlug(post.id)}`, post.data.title, { pinned: post.data.pinned })).join('\n')} />
</details>
))
)}