bug: fix show featured blogs

This commit is contained in:
Quangnhankie
2021-10-20 10:56:34 +07:00
parent 7ea734d0ad
commit 5b5aeec0d2
4 changed files with 31 additions and 12 deletions

View File

@@ -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<GetAllBlogsQuery>(query, {

View File

@@ -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 && <RelevantBlogPosts data={relevantBlogs.relevantBlogs} title="You will like also" bgcolor="cream"/>}
{relevant.relevantBlogs?.length> 0 && <RelevantBlogPosts data={relevant.relevantBlogs} title="You will like also" bgcolor="cream"/>}
</>
)
}
@@ -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 = [];

View File

@@ -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,

View File

@@ -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 (
<section>
<div className={s.wrapper}>
@@ -73,10 +78,10 @@ const BlogsList = ({ blogList,total,idFeatured }:BlogsListProps) => {
<div className={s.list}>
{
data?.map((product,index)=> {
data?.map((blog,index)=> {
return(
<div className={s.card} key={`${product.title}-${index}`}>
{product.isPublish && <CardBlog {...product} /> }
<div className={s.card} key={`${blog.title}-${index}`}>
{blog.isPublish && !blog.isFeatured && <CardBlog {...blog} /> }
</div>
)
})