2020-05-20 01:13:35 +02:00
|
|
|
import Container from "@/components/container";
|
|
|
|
import MoreStories from "@/components/more-stories";
|
|
|
|
import HeroPost from "@/components/hero-post";
|
|
|
|
import Intro from "@/components/intro";
|
|
|
|
import Layout from "@/components/layout";
|
|
|
|
import { getAllPostsForHome } from "@/lib/api";
|
2020-03-09 11:51:08 +01:00
|
|
|
import Head from "next/head";
|
2020-05-20 01:13:35 +02:00
|
|
|
import { CMS_NAME } from "@/lib/constants";
|
2020-03-09 11:51:08 +01:00
|
|
|
|
|
|
|
export default function Index({ allPosts }) {
|
|
|
|
const heroPost = allPosts[0];
|
|
|
|
const morePosts = allPosts.slice(1);
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Layout>
|
|
|
|
<Head>
|
2023-02-23 16:21:03 +01:00
|
|
|
<title>{`Next.js Blog Example with ${CMS_NAME}`}</title>
|
2020-03-09 11:51:08 +01:00
|
|
|
</Head>
|
|
|
|
<Container>
|
|
|
|
<Intro />
|
|
|
|
{heroPost && (
|
|
|
|
<HeroPost
|
|
|
|
title={heroPost.title}
|
|
|
|
coverImage={heroPost.coverImage}
|
|
|
|
date={heroPost.date}
|
|
|
|
author={heroPost.author}
|
|
|
|
slug={heroPost.slug}
|
|
|
|
excerpt={heroPost.excerpt}
|
|
|
|
/>
|
|
|
|
)}
|
|
|
|
{morePosts.length > 0 && <MoreStories posts={morePosts} />}
|
|
|
|
</Container>
|
|
|
|
</Layout>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2020-05-13 20:13:14 +02:00
|
|
|
export async function getStaticProps({ preview = false }) {
|
2020-03-12 14:09:12 +01:00
|
|
|
const allPosts = (await getAllPostsForHome(preview)) || [];
|
2020-03-09 11:51:08 +01:00
|
|
|
return {
|
|
|
|
props: { allPosts },
|
|
|
|
};
|
|
|
|
}
|