import { ThemeProvider } from '@material-tailwind/react' import { PreviewSuspense } from '@sanity/preview-kit' import IndexPage from 'components/IndexPage' import { getAllPosts, getSettings } from 'lib/sanity.client' import { Post, Settings } from 'lib/sanity.queries' import { GetStaticProps } from 'next' import { lazy } from 'react' const PreviewIndexPage = lazy(() => import('components/PreviewIndexPage')) interface PageProps { posts: Post[] settings: Settings preview: boolean token: string | null } interface Query { [key: string]: string } interface PreviewData { token?: string } export default function Page(props: PageProps) { const { posts, settings, preview, token } = props if (preview) { return ( } > ) } return } export const getStaticProps: GetStaticProps< PageProps, Query, PreviewData > = async (ctx) => { const { preview = false, previewData = {} } = ctx const [settings, posts = []] = await Promise.all([ getSettings(), getAllPosts(), ]) return { props: { posts, settings, preview, token: previewData.token ?? null, }, } }