支持公安备案号配置

This commit is contained in:
tangly1024.com
2024-10-29 14:49:17 +08:00
parent 0ac8b7afc4
commit 3f31a27823
15 changed files with 369 additions and 135 deletions

30
components/GongAnBeiAn.js Normal file
View File

@@ -0,0 +1,30 @@
import { siteConfig } from '@/lib/config'
import LazyImage from './LazyImage'
/**
* 公安备案号组件
* @returns
*/
export const GongAnBeiAn = () => {
const BEI_AN_GONGAN = siteConfig(
'BEI_AN_GONGAN',
'京公网安备 11010102000001号'
)
// 从BEI_AN_GONGAN 字段中利用正则匹配提取出纯数字部分
const codeMatch = BEI_AN_GONGAN.match(/\d+/) // 匹配纯数字
const code = codeMatch ? codeMatch[0] : null // 如果匹配成功则取出数字部分
const href = `https://beian.mps.gov.cn/#/query/webSearch?code=${code}` // 动态生成链接
if (!BEI_AN_GONGAN) {
return null
}
return (
<div className='flex flex-nowrap items-center gap-1'>
<LazyImage src='/images/gongan.png' width={15} height={15} />
<a href={href} target='_blank' rel='noopener noreferrer'>
{BEI_AN_GONGAN}
</a>
</div>
)
}

BIN
public/images/gongan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,3 +1,4 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
import Link from 'next/link'
import CONFIG from '../config'
@@ -234,6 +235,7 @@ const Footer = props => {
</a>
</>
)}
<GongAnBeiAn />
</div>
</div>
</div>

View File

@@ -1,26 +1,46 @@
import DarkModeButton from '@/components/DarkModeButton'
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
export const Footer = (props) => {
export const Footer = props => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return <footer className="z-10 relative w-full bg-white px-6 border-t dark:border-hexo-black-gray dark:bg-hexo-black-gray ">
<DarkModeButton className='text-center pt-4'/>
return (
<footer className='z-10 relative w-full bg-white px-6 border-t dark:border-hexo-black-gray dark:bg-hexo-black-gray '>
<DarkModeButton className='text-center pt-4' />
<div className="container mx-auto max-w-4xl py-6 md:flex flex-wrap md:flex-no-wrap md:justify-between items-center text-sm">
<div className='text-center'> &copy;{`${copyrightDate}`} {siteConfig('AUTHOR')}. All rights reserved.</div>
<div className="md:p-0 text-center md:text-right text-xs">
{/* 右侧链接 */}
{/* <a href="#" className="text-black no-underline hover:underline">Privacy Policy</a> */}
{siteConfig('BEI_AN') && (<a href="https://beian.miit.gov.cn/" className="text-black dark:text-gray-200 no-underline hover:underline ml-4">{siteConfig('BEI_AN')} </a>)}
<span className='dark:text-gray-200 no-underline ml-4'>
Powered by
<a href="https://github.com/tangly1024/NotionNext" className=' hover:underline'> NotionNext {siteConfig('VERSION')} </a>
</span>
</div>
<div className='container mx-auto max-w-4xl py-6 md:flex flex-wrap md:flex-no-wrap md:justify-between items-center text-sm'>
<div className='text-center'>
{' '}
&copy;{`${copyrightDate}`} {siteConfig('AUTHOR')}. All rights
reserved.
</div>
<div className='md:p-0 text-center md:text-right text-xs'>
{/* 右侧链接 */}
{/* <a href="#" className="text-black no-underline hover:underline">Privacy Policy</a> */}
{siteConfig('BEI_AN') && (
<a
href='https://beian.miit.gov.cn/'
className='text-black dark:text-gray-200 no-underline hover:underline ml-4'>
{siteConfig('BEI_AN')}{' '}
</a>
)}
<GongAnBeiAn />
<span className='dark:text-gray-200 no-underline ml-4'>
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className=' hover:underline'>
{' '}
NotionNext {siteConfig('VERSION')}{' '}
</a>
</span>
</div>
</div>
</footer>
)
}

View File

@@ -1,25 +1,55 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
function SiteInfo ({ title }) {
function SiteInfo({ title }) {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return (
<footer
className='relative leading-6 justify-start w-full text-gray-600 dark:text-gray-300 text-xs '
>
<span> © {`${copyrightDate}`} <span> <a href={siteConfig('LINK')}> <i className='mx-1 animate-pulse fas fa-heart'/> {siteConfig('AUTHOR')}</a>. <br /></span>
{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br/></>}
<span className='hidden busuanzi_container_site_pv'> <i className='fas fa-eye' /><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'> <i className='fas fa-users' /> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
<footer className='relative leading-6 justify-start w-full text-gray-600 dark:text-gray-300 text-xs '>
<span>
© {`${copyrightDate}`}
<span>
<a href={siteConfig('LINK')}>
<i className='mx-1 animate-pulse fas fa-heart' />
{siteConfig('AUTHOR')}
</a>
. <br />
</span>
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<br />
<span className='text-xs font-serif'> Powered by <a href='https://github.com/tangly1024/NotionNext' className='underline'>NotionNext {siteConfig('VERSION')}</a></span><br /></span>
<h1>{title}</h1>
</footer>
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>
</span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users' />
<span className='px-1 busuanzi_value_site_uv'> </span>
</span>
<br />
<span className='text-xs font-serif'>
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className='underline'>
NotionNext {siteConfig('VERSION')}
</a>
</span>
<br />
</span>
<h1>{title}</h1>
</footer>
)
}
export default SiteInfo

View File

@@ -1,3 +1,4 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
import SocialButton from './SocialButton'
/**
@@ -35,6 +36,7 @@ const Footer = ({ siteInfo }) => {
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<GongAnBeiAn />
<br />
</>
)}

View File

@@ -1,3 +1,4 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
import SocialButton from './SocialButton'
@@ -47,6 +48,7 @@ const Footer = ({ title }) => {
</a>
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />

View File

@@ -1,28 +1,57 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
const Footer = ({ title }) => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return (
<footer
className='relative z-10 dark:bg-black flex-shrink-0 bg-hexo-light-gray justify-center text-center m-auto w-full leading-6 text-gray-600 dark:text-gray-100 text-sm p-6'
>
<footer className='relative z-10 dark:bg-black flex-shrink-0 bg-hexo-light-gray justify-center text-center m-auto w-full leading-6 text-gray-600 dark:text-gray-100 text-sm p-6'>
{/* <DarkModeButton/> */}
<i className='fas fa-copyright' /> {`${copyrightDate}`} <span><i className='mx-1 animate-pulse fas fa-heart'/> <a href={siteConfig('LINK')} className='underline font-bold dark:text-gray-300 '>{siteConfig('AUTHOR')}</a>.<br/>
{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br/></>}
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye'/><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users'/> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
<h1 className='text-xs pt-4 text-light-400 dark:text-gray-400'>{title} {siteConfig('BIO') && <>|</>} {siteConfig('BIO')}</h1>
<p className='text-xs pt-2 text-light-500 dark:text-gray-500'>Powered by <a href='https://github.com/tangly1024/NotionNext' className='dark:text-gray-300'>NotionNext {siteConfig('VERSION')}</a>.</p></span><br/>
<i className='fas fa-copyright' /> {`${copyrightDate}`}
<span>
<i className='mx-1 animate-pulse fas fa-heart' />
<a
href={siteConfig('LINK')}
className='underline font-bold dark:text-gray-300 '>
{siteConfig('AUTHOR')}
</a>
.<br />
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<br />
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>
</span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users' />
<span className='px-1 busuanzi_value_site_uv'> </span>
</span>
<h1 className='text-xs pt-4 text-light-400 dark:text-gray-400'>
{title} {siteConfig('BIO') && <>|</>} {siteConfig('BIO')}
</h1>
<p className='text-xs pt-2 text-light-500 dark:text-gray-500'>
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className='dark:text-gray-300'>
NotionNext {siteConfig('VERSION')}
</a>
.
</p>
</span>
<br />
</footer>
)
}

View File

@@ -1,4 +1,5 @@
import DarkModeButton from '@/components/DarkModeButton'
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import LazyImage from '@/components/LazyImage'
import { siteConfig } from '@/lib/config'
import { useGlobal } from '@/lib/global'
@@ -75,16 +76,17 @@ const Footer = ({ title }) => {
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />{' '}
<i className='fas fa-shield-alt' />
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<br />
</>
)}
<GongAnBeiAn />
<div className='text-sm font-serif'>
Powered by{' '}
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className='underline justify-start text-white'>
@@ -101,11 +103,11 @@ const Footer = ({ title }) => {
<div>
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>{' '}
<span className='px-1 busuanzi_value_site_pv'> </span>
</span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users' />{' '}
<span className='px-1 busuanzi_value_site_uv'> </span>{' '}
<i className='fas fa-users' />
<span className='px-1 busuanzi_value_site_uv'> </span>
</span>
</div>
<SocialButton />

View File

@@ -1,3 +1,4 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
const Footer = ({ title }) => {
@@ -36,6 +37,7 @@ const Footer = ({ title }) => {
<br />
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>{' '}

View File

@@ -1,28 +1,56 @@
import DarkModeButton from '@/components/DarkModeButton'
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
const Footer = ({ title }) => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return (
<footer
className='z-10 dark:bg-hexo-black-gray flex-shrink-0 justify-center text-center m-auto w-full leading-6 text-sm p-6 relative'
>
<DarkModeButton/>
<i className='fas fa-copyright' /> {`${copyrightDate}`} <span><i className='mx-1 animate-pulse fas fa-heart'/> <a href={siteConfig('LINK')} className='underline font-bold text-gray-500 dark:text-gray-300 '>{siteConfig('AUTHOR')}</a>.<br/>
{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt'/> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br/></>}
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye'/><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users'/> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
<br/>
<footer className='z-10 dark:bg-hexo-black-gray flex-shrink-0 justify-center text-center m-auto w-full leading-6 text-sm p-6 relative'>
<DarkModeButton />
<i className='fas fa-copyright' /> {`${copyrightDate}`}
<span>
<i className='mx-1 animate-pulse fas fa-heart' />
<a
href={siteConfig('LINK')}
className='underline font-bold text-gray-500 dark:text-gray-300 '>
{siteConfig('AUTHOR')}
</a>
.<br />
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<br />
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>
</span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users' />
<span className='px-1 busuanzi_value_site_uv'> </span>
</span>
<br />
<h1>{title}</h1>
<span className='text-xs font-serif'>Powered by <a href='https://github.com/tangly1024/NotionNext' className='underline text-gray-500 dark:text-gray-300'>NotionNext {siteConfig('VERSION')}</a>.</span></span>
<span className='text-xs font-serif'>
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className='underline text-gray-500 dark:text-gray-300'>
NotionNext {siteConfig('VERSION')}
</a>
.
</span>
</span>
</footer>
)
}

View File

@@ -1,26 +1,44 @@
import DarkModeButton from '@/components/DarkModeButton'
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
export const Footer = (props) => {
export const Footer = props => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return <footer className="z-10 relative w-full bg-white px-6 border-t dark:border-hexo-black-gray dark:bg-hexo-black-gray ">
<DarkModeButton className='text-center pt-4'/>
return (
<footer className='z-10 relative w-full bg-white px-6 border-t dark:border-hexo-black-gray dark:bg-hexo-black-gray '>
<DarkModeButton className='text-center pt-4' />
<div className="container mx-auto max-w-4xl py-6 md:flex flex-wrap md:flex-no-wrap md:justify-between items-center text-sm">
<div className='text-center'> &copy;{`${copyrightDate}`} {siteConfig('AUTHOR')}. All rights reserved.</div>
<div className="md:p-0 text-center md:text-right text-xs">
{/* 右侧链接 */}
{/* <a href="#" className="text-black no-underline hover:underline">Privacy Policy</a> */}
{siteConfig('BEI_AN') && (<a href="https://beian.miit.gov.cn/" className="text-black dark:text-gray-200 no-underline hover:underline ml-4">{siteConfig('BEI_AN')} </a>)}
<span className='dark:text-gray-200 no-underline ml-4'>
Powered by
<a href="https://github.com/tangly1024/NotionNext" className=' hover:underline'> NotionNext {siteConfig('VERSION')} </a>
</span>
</div>
<div className='container mx-auto max-w-4xl py-6 md:flex flex-wrap md:flex-no-wrap md:justify-between items-center text-sm'>
<div className='text-center'>
&copy;{`${copyrightDate}`} {siteConfig('AUTHOR')}. All rights
reserved.
</div>
<div className='md:p-0 text-center md:text-right text-xs'>
{/* 右侧链接 */}
{/* <a href="#" className="text-black no-underline hover:underline">Privacy Policy</a> */}
{siteConfig('BEI_AN') && (
<a
href='https://beian.miit.gov.cn/'
className='text-black dark:text-gray-200 no-underline hover:underline ml-4'>
{siteConfig('BEI_AN')}
</a>
)}
<GongAnBeiAn />
<span className='dark:text-gray-200 no-underline ml-4'>
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className=' hover:underline'>
NotionNext {siteConfig('VERSION')}
</a>
</span>
</div>
</div>
</footer>
)
}

View File

@@ -1,33 +1,60 @@
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
const Footer = ({ siteInfo }) => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return (
<footer
className='z-20 pt-2 pb-5 bg:white dark:bg-hexo-black-gray justify-center text-center w-full text-xs relative'
>
{/* <hr className='pb-2' /> */}
<footer className='z-20 pt-2 pb-5 bg:white dark:bg-hexo-black-gray justify-center text-center w-full text-xs relative'>
{/* <hr className='pb-2' /> */}
<div className='flex justify-center'>
<div><i className='text-xs mx-1 animate-pulse fas fa-heart' /><a href={siteConfig('LINK')} className='underline font-bold text-gray-500 dark:text-gray-300 '>{siteConfig('AUTHOR')}</a>.<br /></div>
© {`${copyrightDate}`}
</div>
<div className='flex justify-center'>
<div>
<i className='text-xs mx-1 animate-pulse fas fa-heart' />
<a
href={siteConfig('LINK')}
className='underline font-bold text-gray-500 dark:text-gray-300 '>
{siteConfig('AUTHOR')}
</a>
.<br />
</div>
© {`${copyrightDate}`}
</div>
<div className='text-xs font-serif py-1'>Powered By <a href='https://github.com/tangly1024/NotionNext' className='underline text-gray-500 dark:text-gray-300'>NotionNext {siteConfig('VERSION')}</a></div>
<div className='text-xs font-serif py-1'>
Powered By{' '}
<a
href='https://github.com/tangly1024/NotionNext'
className='underline text-gray-500 dark:text-gray-300'>
NotionNext {siteConfig('VERSION')}
</a>
</div>
{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br /></>}
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />{' '}
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<br />
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='text-xs fas fa-eye' /><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='text-xs fas fa-users' /> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
{/* <h1 className='pt-1'>{siteConfig('TITLE')}</h1> */}
</footer>
<span className='hidden busuanzi_container_site_pv'>
<i className='text-xs fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>{' '}
</span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='text-xs fas fa-users' />{' '}
<span className='px-1 busuanzi_value_site_uv'> </span>{' '}
</span>
{/* <h1 className='pt-1'>{siteConfig('TITLE')}</h1> */}
</footer>
)
}

View File

@@ -1,33 +1,57 @@
import { siteConfig } from '@/lib/config'
import DarkModeButton from '@/components/DarkModeButton'
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
const Footer = ({ title }) => {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return (
<footer
className='relative z-10 dark:bg-gray-800 flex-shrink-0 justify-center text-center m-auto w-full leading-6 text-sm p-6 bg-white dark:text-gray-400'
>
<span>
<DarkModeButton />
<i className='fas fa-copyright' /> {`${copyrightDate}`} <span className='mx-1 animate-pulse'><i className='fas fa-heart' /></span> <a href={siteConfig('LINK')} className='underline font-bold '>{siteConfig('AUTHOR')}</a>.<br />
{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a><br /></>}
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' /><span className='px-1 busuanzi_value_site_pv'> </span> </span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users' /> <span className='px-1 busuanzi_value_site_uv'> </span> </span>
<br />
<h1>{title}</h1>
<span className='text-xs font-serif text-gray-500 dark:text-gray-300 '>Powered by <a href='https://github.com/tangly1024/NotionNext' className='underline '>NotionNext {siteConfig('VERSION')}</a>.</span>
</span>
</footer>
<footer className='relative z-10 dark:bg-gray-800 flex-shrink-0 justify-center text-center m-auto w-full leading-6 text-sm p-6 bg-white dark:text-gray-400'>
<span>
<DarkModeButton />
<i className='fas fa-copyright' /> {`${copyrightDate}`}{' '}
<span className='mx-1 animate-pulse'>
<i className='fas fa-heart' />
</span>{' '}
<a href={siteConfig('LINK')} className='underline font-bold '>
{siteConfig('AUTHOR')}
</a>
.<br />
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />{' '}
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
<br />
</>
)}
<GongAnBeiAn />
<span className='hidden busuanzi_container_site_pv'>
<i className='fas fa-eye' />
<span className='px-1 busuanzi_value_site_pv'> </span>{' '}
</span>
<span className='pl-2 hidden busuanzi_container_site_uv'>
<i className='fas fa-users' />{' '}
<span className='px-1 busuanzi_value_site_uv'> </span>{' '}
</span>
<br />
<h1>{title}</h1>
<span className='text-xs font-serif text-gray-500 dark:text-gray-300 '>
Powered by{' '}
<a
href='https://github.com/tangly1024/NotionNext'
className='underline '>
NotionNext {siteConfig('VERSION')}
</a>
.
</span>
</span>
</footer>
)
}

View File

@@ -1,4 +1,5 @@
import DarkModeButton from '@/components/DarkModeButton'
import { GongAnBeiAn } from '@/components/GongAnBeiAn'
import { siteConfig } from '@/lib/config'
/**
@@ -6,26 +7,43 @@ import { siteConfig } from '@/lib/config'
* @param {*} props
* @returns
*/
export default function Footer (props) {
export default function Footer(props) {
const d = new Date()
const currentYear = d.getFullYear()
const since = siteConfig('SINCE')
const copyrightDate = parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
const copyrightDate =
parseInt(since) < currentYear ? since + '-' + currentYear : currentYear
return <footer className="relative w-full bg-black px-6 border-t">
<DarkModeButton className='text-center pt-4'/>
return (
<footer className='relative w-full bg-black px-6 border-t'>
<DarkModeButton className='text-center pt-4' />
<div className="text-yellow-300 container mx-auto max-w-4xl py-6 md:flex flex-wrap md:flex-no-wrap md:justify-between items-center text-sm">
<div className='text-center'> &copy;{`${copyrightDate}`} {siteConfig('AUTHOR')}. All rights reserved.</div>
<div className="md:p-0 text-center md:text-right text-xs">
{/* 右侧链接 */}
{/* <a href="#" className="text-black no-underline hover:underline">Privacy Policy</a> */}
{siteConfig('BEI_AN') && (<a href="https://beian.miit.gov.cn/" className="text-black dark:text-gray-200 no-underline hover:underline ml-4">{siteConfig('BEI_AN')} </a>)}
<span className='no-underline ml-4'>
Powered by
<a href="https://github.com/tangly1024/NotionNext" className=' hover:underline'> NotionNext {siteConfig('VERSION')} </a>
</span>
</div>
<div className='text-yellow-300 container mx-auto max-w-4xl py-6 md:flex flex-wrap md:flex-no-wrap md:justify-between items-center text-sm'>
<div className='text-center'>
&copy;{`${copyrightDate}`} {siteConfig('AUTHOR')}. All rights
reserved.
</div>
<div className='md:p-0 text-center md:text-right text-xs'>
{/* 右侧链接 */}
{/* <a href="#" className="text-black no-underline hover:underline">Privacy Policy</a> */}
{siteConfig('BEI_AN') && (
<a
href='https://beian.miit.gov.cn/'
className='text-black dark:text-gray-200 no-underline hover:underline ml-4'>
{siteConfig('BEI_AN')}
</a>
)}
<GongAnBeiAn />
<span className='no-underline ml-4'>
Powered by
<a
href='https://github.com/tangly1024/NotionNext'
className=' hover:underline'>
NotionNext {siteConfig('VERSION')}
</a>
</span>
</div>
</div>
</footer>
)
}