// Dependencies import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { sanityImage } from 'site/components/sanity/utils.mjs' // Hooks import { useTranslation } from 'next-i18next' import { useSanityPagination } from 'site/hooks/use-sanity-pagination.mjs' // Components import Link from 'next/link' import { TimeAgo } from 'shared/components/wrappers/mdx.mjs' import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' import { Pagination } from 'shared/components/navigation/pagination.mjs' // Translation namespaces used on this page const namespaces = [...new Set(['designs', ...pageNs])] const textShadow = { style: { textShadow: '1px 1px 1px #000000, -1px -1px 1px #000000, 1px -1px 1px #000000, -1px 1px 1px #000000, 2px 2px 1px #000000', }, } const Preview = ({ post, t }) => (
{post.title}
) /* * Each page MUST be wrapped in the PageWrapper component. * You also MUST spread props.page into this wrapper component * when path and locale come from static props (as here) * or set them manually. */ const BlogIndexPage = (props) => { const { t } = useTranslation() const { posts, page, totalPages, setPage } = useSanityPagination('blog', props.page.locale) return (
{posts.map((post) => ( ))}
) } export default BlogIndexPage export async function getStaticProps({ locale }) { return { props: { ...(await serverSideTranslations(locale, namespaces)), page: { locale, // title: 'Freesewing Blog', path: ['blog'], }, }, } }