fix(在渲染期间调用React HOOK的问题):

(cherry picked from commit 668462b46150a0173db9fefc2700ed4f03c2b9c7)
This commit is contained in:
anime
2024-12-03 19:05:29 +08:00
parent dc0a8d8f27
commit 244be5fca0
3 changed files with 35 additions and 27 deletions

View File

@@ -8,6 +8,7 @@ import SocialButton from './SocialButton'
* @returns * @returns
*/ */
const Footer = () => { const Footer = () => {
const BEI_AN = siteConfig('BEI_AN')
return ( return (
<footer className='relative flex-shrink-0 bg-white dark:bg-[#1a191d] justify-center text-center m-auto w-full leading-6 text-gray-600 dark:text-gray-100 text-sm'> <footer className='relative flex-shrink-0 bg-white dark:bg-[#1a191d] justify-center text-center m-auto w-full leading-6 text-gray-600 dark:text-gray-100 text-sm'>
{/* 颜色过度区 */} {/* 颜色过度区 */}
@@ -33,7 +34,7 @@ const Footer = () => {
</div> </div>
<div id='footer-bottom-right'> <div id='footer-bottom-right'>
{siteConfig('BEI_AN') && ( {BEI_AN && (
<> <>
<i className='fas fa-shield-alt' />{' '} <i className='fas fa-shield-alt' />{' '}
<a href='https://beian.miit.gov.cn/' className='mr-2'> <a href='https://beian.miit.gov.cn/' className='mr-2'>

View File

@@ -15,12 +15,9 @@ export default function LatestPostsGroupMini({ latestPosts, siteInfo }) {
// 获取当前路径 // 获取当前路径
const currentPath = useRouter().asPath const currentPath = useRouter().asPath
const { locale } = useGlobal() const { locale } = useGlobal()
const SUB_PATH = siteConfig('SUB_PATH', '')
if (!latestPosts) { return latestPosts ? (
return <></>
}
return (
<> <>
<div className=' mb-2 px-1 flex flex-nowrap justify-between'> <div className=' mb-2 px-1 flex flex-nowrap justify-between'>
<div> <div>
@@ -30,7 +27,7 @@ export default function LatestPostsGroupMini({ latestPosts, siteInfo }) {
</div> </div>
{latestPosts.map(post => { {latestPosts.map(post => {
const selected = const selected =
currentPath === `${siteConfig('SUB_PATH', '')}/${post.slug}` currentPath === `${SUB_PATH}/${post.slug}`
const headerImage = post?.pageCoverThumbnail const headerImage = post?.pageCoverThumbnail
? post.pageCoverThumbnail ? post.pageCoverThumbnail
: siteInfo?.pageCover : siteInfo?.pageCover
@@ -63,5 +60,5 @@ export default function LatestPostsGroupMini({ latestPosts, siteInfo }) {
) )
})} })}
</> </>
) ) : null
} }

View File

@@ -6,73 +6,83 @@ import { siteConfig } from '@/lib/config'
* @constructor * @constructor
*/ */
const SocialButton = () => { const SocialButton = () => {
const CONTACT_GITHUB = siteConfig('CONTACT_GITHUB')
const CONTACT_TWITTER = siteConfig('CONTACT_TWITTER')
const CONTACT_TELEGRAM = siteConfig('CONTACT_TELEGRAM')
const CONTACT_LINKEDIN = siteConfig('CONTACT_LINKEDIN')
const CONTACT_WEIBO = siteConfig('CONTACT_WEIBO')
const CONTACT_INSTAGRAM = siteConfig('CONTACT_INSTAGRAM')
const CONTACT_EMAIL = siteConfig('CONTACT_EMAIL')
const ENABLE_RSS = siteConfig('ENABLE_RSS')
const CONTACT_BILIBILI = siteConfig('CONTACT_BILIBILI')
const CONTACT_YOUTUBE = siteConfig('CONTACT_YOUTUBE')
return ( return (
<div className='w-full justify-center flex-wrap flex'> <div className='w-full justify-center flex-wrap flex'>
<div className='space-x-12 text-3xl text-gray-600 dark:text-gray-300 '> <div className='space-x-12 text-3xl text-gray-600 dark:text-gray-300 '>
{siteConfig('CONTACT_GITHUB') && ( {CONTACT_GITHUB && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'github'} title={'github'}
href={siteConfig('CONTACT_GITHUB')}> href={CONTACT_GITHUB}>
<i className='transform hover:scale-125 duration-150 fab fa-github dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-github dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_TWITTER') && ( {CONTACT_TWITTER && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'twitter'} title={'twitter'}
href={siteConfig('CONTACT_TWITTER')}> href={CONTACT_TWITTER}>
<i className='transform hover:scale-125 duration-150 fab fa-twitter dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-twitter dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_TELEGRAM') && ( {CONTACT_TELEGRAM && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
href={siteConfig('CONTACT_TELEGRAM')} href={CONTACT_TELEGRAM}
title={'telegram'}> title={'telegram'}>
<i className='transform hover:scale-125 duration-150 fab fa-telegram dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-telegram dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_LINKEDIN') && ( {CONTACT_LINKEDIN && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
href={siteConfig('CONTACT_LINKEDIN')} href={CONTACT_LINKEDIN}
title={'linkIn'}> title={'linkIn'}>
<i className='transform hover:scale-125 duration-150 fab fa-linkedin dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-linkedin dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_WEIBO') && ( {CONTACT_WEIBO && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'weibo'} title={'weibo'}
href={siteConfig('CONTACT_WEIBO')}> href={CONTACT_WEIBO}>
<i className='transform hover:scale-125 duration-150 fab fa-weibo dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-weibo dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_INSTAGRAM') && ( {CONTACT_INSTAGRAM && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'instagram'} title={'instagram'}
href={siteConfig('CONTACT_INSTAGRAM')}> href={CONTACT_INSTAGRAM}>
<i className='transform hover:scale-125 duration-150 fab fa-instagram dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-instagram dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_EMAIL') && ( {CONTACT_EMAIL && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'email'} title={'email'}
href={`mailto:${siteConfig('CONTACT_EMAIL')}`}> href={`mailto:${CONTACT_EMAIL}`}>
<i className='transform hover:scale-125 duration-150 fas fa-envelope dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fas fa-envelope dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{JSON.parse(siteConfig('ENABLE_RSS')) && ( {JSON.parse(ENABLE_RSS) && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
@@ -81,21 +91,21 @@ const SocialButton = () => {
<i className='transform hover:scale-125 duration-150 fas fa-rss dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fas fa-rss dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_BILIBILI') && ( {CONTACT_BILIBILI && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'bilibili'} title={'bilibili'}
href={siteConfig('CONTACT_BILIBILI')}> href={CONTACT_BILIBILI}>
<i className='transform hover:scale-125 duration-150 fab fa-bilibili dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-bilibili dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}
{siteConfig('CONTACT_YOUTUBE') && ( {CONTACT_YOUTUBE && (
<a <a
target='_blank' target='_blank'
rel='noreferrer' rel='noreferrer'
title={'youtube'} title={'youtube'}
href={siteConfig('CONTACT_YOUTUBE')}> href={CONTACT_YOUTUBE}>
<i className='transform hover:scale-125 duration-150 fab fa-youtube dark:hover:text-indigo-400 hover:text-indigo-600' /> <i className='transform hover:scale-125 duration-150 fab fa-youtube dark:hover:text-indigo-400 hover:text-indigo-600' />
</a> </a>
)} )}