mirror of
https://github.com/d0zingcat/NotionNext.git
synced 2026-05-13 23:16:47 +00:00
78 lines
2.2 KiB
JavaScript
78 lines
2.2 KiB
JavaScript
import Live2D from '@/components/Live2D'
|
||
import dynamic from 'next/dynamic'
|
||
import { AnalyticsCard } from './AnalyticsCard'
|
||
import Card from './Card'
|
||
import Catalog from './Catalog'
|
||
import { InfoCard } from './InfoCard'
|
||
import LatestPostsGroupMini from './LatestPostsGroupMini'
|
||
import TagGroups from './TagGroups'
|
||
import TouchMeCard from './TouchMeCard'
|
||
|
||
const FaceBookPage = dynamic(
|
||
() => {
|
||
let facebook = <></>
|
||
try {
|
||
facebook = import('@/components/FacebookPage')
|
||
} catch (err) {
|
||
console.error(err)
|
||
}
|
||
return facebook
|
||
},
|
||
{ ssr: false }
|
||
)
|
||
|
||
/**
|
||
* Hexo主题右侧栏
|
||
* @param {*} props
|
||
* @returns
|
||
*/
|
||
export default function SideRight(props) {
|
||
const { post, tagOptions, currentTag, rightAreaSlot } = props
|
||
|
||
// 只摘取标签的前60个,防止右侧过长
|
||
const sortedTags = tagOptions?.slice(0, 60) || []
|
||
|
||
return (
|
||
<div id='sideRight' className='hidden xl:block w-72 space-y-4 h-full'>
|
||
<InfoCard {...props} className='w-72 wow fadeInUp' />
|
||
|
||
<div className='sticky top-20 space-y-4'>
|
||
{/* 文章页显示目录 */}
|
||
{post && post.toc && post.toc.length > 0 && (
|
||
<Card className='bg-white dark:bg-[#1e1e1e] wow fadeInUp'>
|
||
<Catalog toc={post.toc} />
|
||
</Card>
|
||
)}
|
||
|
||
{/* 联系交流群 */}
|
||
<div className='wow fadeInUp'>
|
||
<TouchMeCard />
|
||
</div>
|
||
|
||
{/* 最新文章列表 */}
|
||
<div
|
||
className={
|
||
'border wow fadeInUp hover:border-indigo-600 dark:hover:border-yellow-600 duration-200 dark:border-gray-700 dark:bg-[#1e1e1e] dark:text-white rounded-xl lg:p-6 p-4 hidden lg:block bg-white'
|
||
}>
|
||
<LatestPostsGroupMini {...props} />
|
||
</div>
|
||
|
||
{rightAreaSlot}
|
||
|
||
<FaceBookPage />
|
||
<Live2D />
|
||
|
||
{/* 标签和成绩 */}
|
||
<Card
|
||
className={
|
||
'bg-white dark:bg-[#1e1e1e] dark:text-white hover:border-indigo-600 dark:hover:border-yellow-600 duration-200'
|
||
}>
|
||
<TagGroups tags={sortedTags} currentTag={currentTag} />
|
||
<hr className='mx-1 flex border-dashed relative my-4' />
|
||
<AnalyticsCard {...props} />
|
||
</Card>
|
||
</div>
|
||
</div>
|
||
)
|
||
}
|