|
import { siteConfig } from '@/lib/config' |
|
import Link from 'next/link' |
|
import { checkContainHttp, sliceUrlFromHttp } from '@/lib/utils' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const BlogPostArchive = ({ posts = [], archiveTitle }) => { |
|
if (!posts || posts.length === 0) { |
|
return <></> |
|
} else { |
|
return ( |
|
<div> |
|
<div |
|
className="pt-16 pb-4 text-3xl dark:text-gray-300" |
|
id={archiveTitle} |
|
> |
|
{archiveTitle} |
|
</div> |
|
<ul> |
|
{posts?.map(post => { |
|
const url = checkContainHttp(post.slug) ? sliceUrlFromHttp(post.slug) : `${siteConfig('SUB_PATH', '')}/${post.slug}` |
|
|
|
return <li |
|
key={post.id} |
|
className="border-l-2 p-1 text-xs md:text-base items-center hover:scale-x-105 hover:border-gray-500 dark:hover:border-gray-300 dark:border-gray-400 transform duration-500" |
|
> |
|
<div id={post?.publishDay}> |
|
<span className="text-gray-500">{post.date?.start_date}</span>{' '} |
|
|
|
<Link |
|
href={url} |
|
passHref |
|
className="dark:text-gray-400 dark:hover:text-gray-300 overflow-x-hidden hover:underline cursor-pointer text-gray-600"> |
|
|
|
{post.title} |
|
|
|
</Link> |
|
</div> |
|
</li> |
|
})} |
|
</ul> |
|
</div> |
|
) |
|
} |
|
} |
|
|
|
export default BlogPostArchive |
|
|