// Dependencies import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import { sanitySiteImage, numPerPage, sanityLoader } from 'site/components/sanity/utils.mjs' // Hooks import { useTranslation } from 'next-i18next' // Components import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' import Link from 'next/link' import { Pagination } from 'shared/components/navigation/pagination.mjs' import { siteConfig } from 'site/site.config.mjs' // Translation namespaces used on this page const namespaces = [...new Set(['common', 'designs', ...pageNs])] export const PreviewTile = ({ img, slug, title }) => (

{title}

) // const DesignPosts = ({ design, posts }) => { // const { t } = useTranslation(['patterns']) // return ( //
//

// // {t(`${design}.t`)} // //

//
// ) // } const Posts = ({ posts }) => { const previews = [] posts.forEach((post) => { // for (const design of post.designs) { // if (typeof designs[design] === 'undefined') designs[design] = [] // designs[design].push(post) // } previews.push( ) }) return (
{previews}
) } const ShowcaseIndexPage = ({ posts, page, current, total }) => { const { t } = useTranslation() // const designKeys = useMemo(() => Object.keys(designs).sort(), [designs]) return (
) } export default ShowcaseIndexPage export async function getStaticProps({ locale, params }) { const allPosts = await sanityLoader({ language: locale, type: 'showcase', order: 'date desc', filters: '{_id, date, slug, title, maker, image}', }) const pageNum = parseInt(params.page) return { props: { // designs, posts: allPosts.slice(numPerPage * (pageNum - 1), numPerPage * pageNum), current: pageNum, total: allPosts.length, ...(await serverSideTranslations(locale, namespaces)), page: { locale, path: ['showcase'], }, }, } } export const getStaticPaths = async () => { const numPosts = await sanityLoader({ query: `count(*[_type == "showcaseen"])` }) const numPages = Math.ceil(numPosts / numPerPage) const paths = [] for (let i = 0; i < numPages; i++) { const pathName = `/showcase/page/${i + 1}` siteConfig.languages.forEach((l) => paths.push(`${l.length ? '/' : ''}${l}${pathName}`)) } return { paths, fallback: false, } }