website/blog/index.tsx

39 lines
1,005 B
TypeScript
Raw Normal View History

2023-08-05 14:46:03 -04:00
export const title = "Blog";
export const description = "Hello, stranger. Stay a while and listen.";
2023-08-05 14:46:03 -04:00
2024-09-06 11:05:02 -04:00
export default function ({ nav, comp }: Lume.Data) {
2023-08-26 21:26:19 -04:00
const { PostListItem } = comp;
2023-08-05 14:46:03 -04:00
if (!nav.menu("/blog/posts")) {
return (
<div className="no-posts">
2024-03-05 18:38:42 -05:00
<img
src="https://static.fosterhangdaan.com/icons/tabler-icons/v2.47.0/svg/coffee.svg"
2024-03-05 18:38:42 -05:00
className="icon"
alt=""
/>
<h2>No posts yet</h2>
2024-03-05 18:38:42 -05:00
<p>
Foster is on a coffee break.<br />Check back later.
</p>
2023-08-05 14:46:03 -04:00
</div>
);
}
return (
<ul className="post-list">
2024-09-06 11:05:02 -04:00
{nav.menu("/blog/posts")?.children?.sort((a, b) => {
let result = 0;
if (a.data && b.data) {
if (a.data.date < b.data.date) {
result = 1;
} else if (a.data.date > b.data.date) {
result = -1;
}
}
return result;
}).map((post, index) => <PostListItem key={index} post={post} />)}
2023-08-05 14:46:03 -04:00
</ul>
);
}