mirror of
https://github.com/vercel/commerce.git
synced 2025-07-22 12:24:18 +00:00
bug: fix show featured blogs
This commit is contained in:
@@ -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, {
|
||||
|
@@ -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 = [];
|
||||
|
@@ -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,
|
||||
|
@@ -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>
|
||||
)
|
||||
})
|
||||
|
Reference in New Issue
Block a user