34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
import Badge from '@/components/Badge'
|
|
import NotionIcon from '@/components/NotionIcon'
|
|
import { siteConfig } from '@/lib/config'
|
|
import SmartLink from '@/components/SmartLink'
|
|
import { useRouter } from 'next/router'
|
|
|
|
const BlogPostCard = ({ post, className }) => {
|
|
const router = useRouter()
|
|
const currentSelected =
|
|
decodeURIComponent(router.asPath.split('?')[0]) === post?.href
|
|
|
|
return (
|
|
<SmartLink href={post?.href} passHref>
|
|
<div
|
|
key={post.id}
|
|
className={`${className} relative py-1.5 cursor-pointer px-1.5 rounded-md hover:bg-gray-50
|
|
${currentSelected ? 'text-green-500 dark:bg-yellow-100 dark:text-yellow-600 font-semibold' : ' dark:hover:bg-yellow-100 dark:hover:text-yellow-600'}`}>
|
|
<div className='w-full select-none'>
|
|
{siteConfig('POST_TITLE_ICON') && (
|
|
<NotionIcon icon={post?.pageIcon} />
|
|
)}{' '}
|
|
{post.title}
|
|
</div>
|
|
{/* 最新文章加個紅點 */}
|
|
{post?.isLatest && siteConfig('GITBOOK_LATEST_POST_RED_BADGE') && (
|
|
<Badge />
|
|
)}
|
|
</div>
|
|
</SmartLink>
|
|
)
|
|
}
|
|
|
|
export default BlogPostCard
|