From 5b5aeec0d2684c7933c29b11a40a4a8ec490af15 Mon Sep 17 00:00:00 2001 From: Quangnhankie Date: Wed, 20 Oct 2021 10:56:34 +0700 Subject: [PATCH] bug: fix show featured blogs --- framework/vendure/api/operations/get-all-blogs.ts | 6 +++++- pages/blog/[slug].tsx | 8 ++++---- pages/blogs.tsx | 14 ++++++++++++-- .../modules/blogs/BlogsList/BlogsList.tsx | 15 ++++++++++----- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/framework/vendure/api/operations/get-all-blogs.ts b/framework/vendure/api/operations/get-all-blogs.ts index d3998aa59..37857f488 100644 --- a/framework/vendure/api/operations/get-all-blogs.ts +++ b/framework/vendure/api/operations/get-all-blogs.ts @@ -6,7 +6,8 @@ import { getAllBlogsQuery } from '../../utils/queries/get-all-blog-query' export type BlogVariables = { excludeBlogIds?: string[], take?: number, - skip?:number + skip?:number, + isFeatured?:{eq?:Boolean}, } export default function getAllBlogsOperation({ @@ -35,6 +36,9 @@ export default function getAllBlogsOperation({ options: { take: vars.take, skip: vars.skip, + filter: { + isFeatured: vars.isFeatured + } }, } const { data } = await config.fetch(query, { diff --git a/pages/blog/[slug].tsx b/pages/blog/[slug].tsx index f09e91375..26325f5be 100644 --- a/pages/blog/[slug].tsx +++ b/pages/blog/[slug].tsx @@ -10,9 +10,9 @@ import { BlogCardProps } from 'src/components/common/CardBlog/CardBlog'; import { REVALIDATE_TIME } from 'src/utils/constanst.utils' interface Props { blog:{blogDetail?: BlogCardProps}, - relevantBlogs:{blogDetail?:BlogCardProps[]} + relevant:{relevantBlogs?:BlogCardProps[]} } -export default function BlogDetailPage({blog,relevantBlogs}:Props) { +export default function BlogDetailPage({blog,relevant}:Props) { let date = new Date(blog?.blogDetail?.createdAt ?? '' ); let fullDate = date.toLocaleString('en-us', { month: 'long' }) + " " + date.getDate()+","+date.getFullYear(); @@ -27,7 +27,7 @@ export default function BlogDetailPage({blog,relevantBlogs}:Props) { authorName={blog?.blogDetail?.authorName} date={fullDate} /> - {relevantBlogs.relevantBlogs?.length> 0 && } + {relevant.relevantBlogs?.length> 0 && } ) } @@ -64,7 +64,7 @@ export async function getStaticProps({ config, preview, }) - promisesWithKey.push({ key: 'relevantBlogs', promise: relevantBlogs}) + promisesWithKey.push({ key: 'relevant', promise: relevantBlogs}) }else { props.relevantBlogs = []; diff --git a/pages/blogs.tsx b/pages/blogs.tsx index 7c3483a94..8f07e2d5b 100644 --- a/pages/blogs.tsx +++ b/pages/blogs.tsx @@ -46,7 +46,12 @@ export async function getStaticProps({ const {featuredBlogs} = await commerce.getFeaturedBlog({ variables: { - take: DEFAULT_BLOG_PAGE_SIZE + take: DEFAULT_BLOG_PAGE_SIZE, + filter: { + isFeatured: { + eq:true + } + } }, config, preview, @@ -57,7 +62,12 @@ export async function getStaticProps({ const blogsPromise = commerce.getAllBlogs({ variables: { excludeBlogIds: [idFeaturedBlog], - take: DEFAULT_BLOG_PAGE_SIZE + take: DEFAULT_BLOG_PAGE_SIZE, + filter: { + isFeatured: { + eq:false + } + } }, config, preview, diff --git a/src/components/modules/blogs/BlogsList/BlogsList.tsx b/src/components/modules/blogs/BlogsList/BlogsList.tsx index dd88d073b..a5f26b3f7 100644 --- a/src/components/modules/blogs/BlogsList/BlogsList.tsx +++ b/src/components/modules/blogs/BlogsList/BlogsList.tsx @@ -22,7 +22,12 @@ const BlogsList = ({ blogList,total,idFeatured }:BlogsListProps) => { const DEFAULT_BLOGS_ARGS = { excludeBlogIds: [idFeatured], options:{ - skip: 1, take: DEFAULT_BLOG_PAGE_SIZE + take: DEFAULT_BLOG_PAGE_SIZE, + filter: { + isFeatured: { + eq:false + } + } } } @@ -34,6 +39,7 @@ const BlogsList = ({ blogList,total,idFeatured }:BlogsListProps) => { + const onPageChange = (page:number) => { router.push({ pathname: ROUTE.BLOGS, @@ -65,7 +71,6 @@ const BlogsList = ({ blogList,total,idFeatured }:BlogsListProps) => { data = blogs } - return (
@@ -73,10 +78,10 @@ const BlogsList = ({ blogList,total,idFeatured }:BlogsListProps) => {
{ - data?.map((product,index)=> { + data?.map((blog,index)=> { return( -
- {product.isPublish && } +
+ {blog.isPublish && !blog.isFeatured && }
) })