73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
'use client'
|
|
|
|
import SmartLink from '@/components/SmartLink'
|
|
import { useGlobal } from '@/lib/global'
|
|
import TagItemMini from '../components/TagItemMini'
|
|
|
|
/**
|
|
* 分類列表
|
|
*/
|
|
const LayoutCategoryIndex = props => {
|
|
const { categoryOptions } = props
|
|
const { locale } = useGlobal()
|
|
return (
|
|
<>
|
|
<div className='bg-white dark:bg-gray-700 py-10'>
|
|
<div className='dark:text-gray-200 mb-5'>
|
|
<i className='mr-4 fas fa-th' />
|
|
{locale.COMMON.CATEGORY}:
|
|
</div>
|
|
<div id='category-list' className='duration-200 flex flex-wrap'>
|
|
{categoryOptions?.map(category => {
|
|
return (
|
|
<SmartLink
|
|
key={category.name}
|
|
href={`/category/${category.name}`}
|
|
passHref
|
|
legacyBehavior>
|
|
<div
|
|
className={
|
|
'hover:text-black dark:hover:text-white dark:text-gray-300 dark:hover:bg-gray-600 px-5 cursor-pointer py-2 hover:bg-gray-100'
|
|
}>
|
|
<i className='mr-4 fas fa-folder' />
|
|
{category.name}({category.count})
|
|
</div>
|
|
</SmartLink>
|
|
)
|
|
})}
|
|
</div>
|
|
</div>
|
|
</>
|
|
)
|
|
}
|
|
|
|
/**
|
|
* 標籤列表
|
|
*/
|
|
const LayoutTagIndex = props => {
|
|
const { tagOptions } = props
|
|
const { locale } = useGlobal()
|
|
|
|
return (
|
|
<>
|
|
<div className='bg-white dark:bg-gray-700 py-10'>
|
|
<div className='dark:text-gray-200 mb-5'>
|
|
<i className='mr-4 fas fa-tag' />
|
|
{locale.COMMON.TAGS}:
|
|
</div>
|
|
<div id='tags-list' className='duration-200 flex flex-wrap'>
|
|
{tagOptions?.map(tag => {
|
|
return (
|
|
<div key={tag.name} className='p-2'>
|
|
<TagItemMini key={tag.name} tag={tag} />
|
|
</div>
|
|
)}
|
|
})}
|
|
</div>
|
|
</div>
|
|
</>
|
|
)
|
|
}
|
|
|
|
export { LayoutCategoryIndex, LayoutTagIndex }
|