import React from "react"; import "../styles/global.css"; import { GetServerSideProps } from "next"; import Layout from "../components/Layout"; import Post from "../components/Post"; import { PostProps } from "./blog/[id]"; import { client, e } from "../client"; type Props = { feed: PostProps[]; }; const Blog: React.FC = (props) => { return (

Published posts

{props.feed.length ? ( props.feed.map((post) => (
)) ) : (

No blog posts yet.

)}
); }; export const getServerSideProps: GetServerSideProps = async () => { const feed = await e .select(e.Post, (post) => ({ id: true, title: true, content: true, authorName: true, publishedISO: true, filter: e.op("exists", post.published), })) .run(client); return { props: { feed }, }; }; export default Blog;