From 6306d96d3a65282b743ceda1f8417d2221fb0891 Mon Sep 17 00:00:00 2001 From: Traxus Date: Sat, 22 Apr 2023 00:45:13 -0400 Subject: [PATCH] Signed-off-by: Traxus --- src/lib/datocms-bypass.ts | 2 +- src/pages/blog/index.tsx | 44 ++++++++++++++++++++++++++++++++------- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/lib/datocms-bypass.ts b/src/lib/datocms-bypass.ts index 628ca34..deed987 100644 --- a/src/lib/datocms-bypass.ts +++ b/src/lib/datocms-bypass.ts @@ -268,7 +268,7 @@ function getBlogJsonDirectoryPath() { function pluckBlogPostData(json : any) { - let plucked = {}; + let plucked : BlogPostRecord = {}; if('data' in json){ if('blogPost' in json.data) { diff --git a/src/pages/blog/index.tsx b/src/pages/blog/index.tsx index 8702de1..46291ea 100644 --- a/src/pages/blog/index.tsx +++ b/src/pages/blog/index.tsx @@ -11,7 +11,7 @@ import { */ import { - getBlogPosts, + getBlogPosts } from 'lib/blog' import { @@ -23,11 +23,10 @@ import { import { InferGetStaticPropsType } from 'next' import { useRouter } from 'next/router' -//import { Fragment, useCallback, useMemo } from 'react' -import { useCallback, useMemo } from 'react' +import { Fragment, useCallback, useMemo } from 'react' import { useInfiniteQuery } from 'react-query' -//import { BlogCard } from '~/components/common/card' +import { BlogCard } from '~/components/common/card' import { Meta } from '~/components/common/meta' import { Button, ButtonLink } from '~/components/primitives/button' import Hero from '~/components/sections/blog/hero' @@ -63,7 +62,11 @@ const BlogIndexPage = ({ - + + {initialBlogPosts.data.map((post, postIdx) => ( + + ))} + ) @@ -116,7 +119,29 @@ const BlogIndexPage = ({ } ) - const hasResults = !!queriedPosts?.pages[0]?.data?.length + function queriedPostsHasResults(queriedPosts) { + + if ('pages' in queriedPosts === true) { + if (0 in queriedPosts.pages === true) { + if ('pagination' in queriedPosts.pages[0]) { + if ('total' in queriedPosts.pages[0].pagination) { + if (queriedPosts.pages[0].pagination.total > 0) { + return true; + } + } + } + } + } + return false; + + } + + //const hasResults = !!queriedPosts?.pages[0]?.data?.length + const hasResults = queriedPostsHasResults(queriedPosts); + +//console.log(queriedPosts); +//console.log(queriedPosts.pages[0]); +//console.log(queriedPosts.pages[0].data); return ( @@ -159,7 +184,11 @@ const BlogIndexPage = ({ {!isLoading ? ( hasResults ? ( queriedPosts?.pages?.map((page, pageIdx) => ( - + + {page.data.map((post, postIdx) => ( + + ))} + )) ) : (

No results.

@@ -218,6 +247,7 @@ export const getStaticProps = async () => { //===== \/ START NEXT_PUBLIC_DATOCMS_BYPASS \/ ==================================================== + //function getInitialBlogPostsDataProp(allBlogPosts : object) { function getInitialBlogPostsDataProp(allBlogPosts : any) { let initialBlogPostsDataProp = {};