Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed May 8, 2024
2 parents 17ae337 + 4bda12d commit cef662b
Show file tree
Hide file tree
Showing 8 changed files with 442 additions and 303 deletions.
191 changes: 7 additions & 184 deletions components/Sakura.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion lib/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export const siteConfig = (key, defaultVal = null, extendConfig = null) => {
if (global) {
val = global.NOTION_CONFIG?.[key]
siteInfo = global.siteInfo
// console.log('当前变量', key, val)
}

if (!val) {
Expand Down
186 changes: 186 additions & 0 deletions public/js/sakura.js

Large diffs are not rendered by default.

Binary file added public/qrcode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
290 changes: 199 additions & 91 deletions themes/commerce/components/Footer.js
Original file line number Diff line number Diff line change
@@ -1,121 +1,229 @@
import { siteConfig } from '@/lib/config'
import Link from 'next/link'
import CONFIG from '../config'

/**
* 页脚
* @param {*} param0
* @returns
*/
const Footer = (props) => {
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
const { categoryOptions, customMenu } = props

return <footer id="footer-wrapper" className='relative bg-[#2A2A2A] justify-center w-full leading-6 text-gray-300 text-sm p-10'>

<div id='footer-container' className='w-full mx-auto max-w-screen-xl'>

<div className='flex'>
<div className='hidden md:flex flex-grow my-6 space-x-20 text-lg '>
return (
<footer
id='footer-wrapper'
className='relative bg-[#2A2A2A] justify-center w-full leading-6 text-gray-300 text-sm p-10'>
<div id='footer-container' className='w-full mx-auto max-w-screen-xl'>
<div className='flex'>
{/* 页脚左侧菜单组 */}
<div className='hidden md:flex flex-grow my-6 space-x-20 text-lg '>
{/* 分类菜单 */}
<div>
<div className='font-bold mb-4 text-white'>
{siteConfig('COMMERCE_TEXT_FOOTER_MENU_1', 'Product Center')}
</div>
<nav
id='home-nav-button'
className={'flex flex-col space-y-2 text-start'}>
{categoryOptions?.map(category => {
return (
<Link
key={`${category.name}`}
title={`${category.name}`}
href={`/category/${category.name}`}
passHref>
{category.name}
</Link>
)
})}
</nav>
</div>

{/* 分类菜单 */}
{/* 系统菜单 */}
<div>
<div className='font-bold mb-4 text-white'>
{siteConfig('COMMERCE_TEXT_FOOTER_MENU_2', 'About US')}
</div>
<nav
id='home-nav-button'
className={'flex flex-col space-y-2 text-start'}>
{customMenu?.map(menu => {
return (
<Link
key={`${menu.name}`}
title={`${menu.name}`}
href={`${menu.to}`}
passHref>
{menu.name}
</Link>
)
})}
</nav>
</div>
</div>

{/* 页脚中部联系方式 */}
{
<div className='md:border-l pl-4 border-gray-600 my-6 whitespace-pre-line text-left flex-grow'>
<div className='font-bold text-l text-white mb-6'>
{siteConfig('COMMERCE_TEXT_FOOTER_TITLE', 'Contact US', CONFIG)}
</div>
<div className='space-y-4'>
<div className='flex space-x-4 text-2xl'>
{JSON.parse(
siteConfig('COMMERCE_CONTACT_WHATSAPP_SHOW', null, CONFIG),
true
) && (
<div>
<div className='font-bold mb-4 text-white'>{siteConfig('COMMERCE_TEXT_FOOTER_MENU_1', 'Product Center')}</div>
<nav id='home-nav-button' className={'flex flex-col space-y-2 text-start'}>
{categoryOptions?.map(category => {
return (
<Link
key={`${category.name}`}
title={`${category.name}`}
href={`/category/${category.name}`}
passHref>
{category.name}
</Link>
)
})}
</nav>
{
<a
target='_blank'
rel='noreferrer'
href={siteConfig('CONTACT_WHATSAPP', '#', CONFIG)}
title={'telegram'}>
<i className='transform hover:scale-125 duration-150 fa-brands fa-whatsapp dark:hover:text-red-400 hover:text-red-600' />
</a>
}
</div>
)}

{/* 系统菜单 */}
{JSON.parse(
siteConfig('COMMERCE_CONTACT_TELEGRAM_SHOW', true, CONFIG)
) && (
<div>
<div className='font-bold mb-4 text-white'>{siteConfig('COMMERCE_TEXT_FOOTER_MENU_2', 'About US')}</div>
<nav id='home-nav-button' className={'flex flex-col space-y-2 text-start'}>
{customMenu?.map(menu => {
return (
<Link
key={`${menu.name}`}
title={`${menu.name}`}
href={`${menu.to}`}
passHref>
{menu.name}
</Link>
)
})}
</nav>
{
<a
target='_blank'
rel='noreferrer'
href={siteConfig('CONTACT_TELEGRAM', '#', CONFIG)}
title={'telegram'}>
<i className='transform hover:scale-125 duration-150 fab fa-telegram dark:hover:text-red-400 hover:text-red-600' />
</a>
}
</div>
)}
</div>

{<div className='md:border-l pl-4 border-gray-600 my-6 whitespace-pre-line text-left flex-grow'>
<div className='font-bold text-l text-white mb-6'>{siteConfig('COMMERCE_TEXT_FOOTER_TITLE', 'Contact US')}</div>
<div className='space-y-4'>
<div className='flex space-x-4 text-2xl'>
{JSON.parse(siteConfig('COMMERCE_CONTACT_WHATSAPP_SHOW'), true) && <div>
{<a target='_blank' rel='noreferrer' href={siteConfig('CONTACT_WHATSAPP', '#')} title={'telegram'} >
<i className='transform hover:scale-125 duration-150 fa-brands fa-whatsapp dark:hover:text-red-400 hover:text-red-600' />
</a>}
</div>
}

{JSON.parse(siteConfig('COMMERCE_CONTACT_TELEGRAM_SHOW', true)) && <div>
{<a target='_blank' rel='noreferrer' href={siteConfig('CONTACT_TELEGRAM', '#')} title={'telegram'} >
<i className='transform hover:scale-125 duration-150 fab fa-telegram dark:hover:text-red-400 hover:text-red-600' />
</a>}
</div>}

</div>
<div className='text-lg'> {siteConfig('CONTACT_EMAIL') && <a target='_blank' rel='noreferrer' title={'email'} href={`mailto:${siteConfig('CONTACT_EMAIL')}`} >
<i className='transform hover:scale-125 duration-150 fas fa-envelope dark:hover:text-red-400 hover:text-red-600' /> {siteConfig('CONTACT_EMAIL')}
</a>}</div>
<div className='text-lg'> {siteConfig('CONTACT_PHONE') && <div>
<i className='transform hover:scale-125 duration-150 fas fa-user dark:hover:text-red-400 hover:text-red-600' /> {siteConfig('CONTACT_PHONE')}
</div>}</div>
</div>
</div>}
</div>

{/* 底部版权相关 */}
<div id='footer-copyright-wrapper' className='flex flex-col md:flex-row justify-between border-t border-gray-600 pt-8'>
<div className='text-start space-y-1'>

{/* 网站所有者 */}
<div> Copyright <i className='fas fa-copyright' /> {`${copyrightDate}`} <a href={siteConfig('LINK')} className='underline font-bold dark:text-gray-300 '>{siteConfig('AUTHOR')}</a> All Rights Reserved.</div>

{/* 技术支持 */}
<div className='text-xs text-light-500 dark:text-gray-700'>Powered by <a href='https://github.com/tangly1024/NotionNext' className='dark:text-gray-300'>NotionNext {siteConfig('VERSION')}</a>.</div>

{/* 站点统计 */}
<div className='text-lg'>
{' '}
{siteConfig('CONTACT_EMAIL') && (
<a
target='_blank'
rel='noreferrer'
title={'email'}
href={`mailto:${siteConfig('CONTACT_EMAIL', CONFIG)}`}>
<i className='transform hover:scale-125 duration-150 fas fa-envelope dark:hover:text-red-400 hover:text-red-600' />{' '}
{siteConfig('CONTACT_EMAIL')}
</a>
)}
</div>
<div className='text-lg'>
{' '}
{siteConfig('CONTACT_PHONE', null, CONFIG) && (
<div>
<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>
<i className='transform hover:scale-125 duration-150 fas fa-user dark:hover:text-red-400 hover:text-red-600' />{' '}
{siteConfig('CONTACT_PHONE', null, CONFIG)}
</div>
)}
</div>
</div>
</div>
}

{/* 页脚右侧图片二维码和文字描述 */}
{
<div className='pl-4 border-gray-600 my-6 whitespace-pre-line text-center flex-grow'>
<div className='font-bold text-l text-white mb-6 text-center'>
{/* eslint-disable-next-line @next/next/no-img-element */}
<img
className='h-36'
src={siteConfig(
'COMMERCE_FOOTER_RIGHT_IMG_URL',
null,
CONFIG
)}></img>
</div>
<div className='space-y-4'>
<div
className='flex space-x-4 text-center'
dangerouslySetInnerHTML={{
__html: siteConfig(
'COMMERCE_FOOTER_RIGHT_TEXT',
null,
CONFIG
)
}}></div>
</div>
</div>
}
</div>

{/* 右边公司名字 */}
<div className='md:text-right'>
<h1 className='text-xs pt-4 text-light-400 dark:text-gray-400'>{siteConfig('TITLE')} {siteConfig('BIO')}</h1>
<h2> {siteConfig('DESCRIPTION')}</h2>
{/* 可选备案信息 */}
{siteConfig('BEI_AN') && <><i className='fas fa-shield-alt' /> <a href='https://beian.miit.gov.cn/' className='mr-2'>{siteConfig('BEI_AN')}</a></>}
</div>
{/* 底部版权相关 */}
<div
id='footer-copyright-wrapper'
className='flex flex-col md:flex-row justify-between border-t border-gray-600 pt-8'>
<div className='text-start space-y-1'>
{/* 网站所有者 */}
<div>
{' '}
Copyright <i className='fas fa-copyright' /> {`${copyrightDate}`}{' '}
<a
href={siteConfig('LINK')}
className='underline font-bold dark:text-gray-300 '>
{siteConfig('AUTHOR')}
</a>{' '}
All Rights Reserved.
</div>

</div>
{/* 技术支持 */}
<div className='text-xs text-light-500 dark:text-gray-700'>
Powered by{' '}
<a
href='https://github.com/tangly1024/NotionNext'
className='dark:text-gray-300'>
NotionNext {siteConfig('VERSION')}
</a>
.
</div>

</footer >
{/* 站点统计 */}
<div>
<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>
</div>
</div>

{/* 右边公司名字 */}
<div className='md:text-right'>
<h1 className='text-xs pt-4 text-light-400 dark:text-gray-400'>
{siteConfig('TITLE')} {siteConfig('BIO')}
</h1>
<h2> {siteConfig('DESCRIPTION')}</h2>
{/* 可选备案信息 */}
{siteConfig('BEI_AN') && (
<>
<i className='fas fa-shield-alt' />{' '}
<a href='https://beian.miit.gov.cn/' className='mr-2'>
{siteConfig('BEI_AN')}
</a>
</>
)}
</div>
</div>
</div>
</footer>
)
}

export default Footer
52 changes: 35 additions & 17 deletions themes/commerce/components/ProductCenter.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { siteConfig } from '@/lib/config'
import CONFIG from '../config'
import ProductCard from './ProductCard'
import ProductCategories from './ProductCategories'

Expand All @@ -9,25 +10,42 @@ import ProductCategories from './ProductCategories'
*/
export default function ProductCenter(props) {
const { allNavPages } = props
const posts = allNavPages.slice(0, parseInt(siteConfig('COMMERCE_HOME_POSTS_COUNT', 9)))

return <div className='w-full my-4 mx-4'>
<div className='w-full text-center text-4xl font-bold'>{siteConfig('COMMERCE_TEXT_CENTER_TITLE', 'Product Center')}</div>
{siteConfig('COMMERCE_TEXT_CENTER_DESCRIPTION') && <div className='w-full text-center text-lg my-3 text-gray-500'>{siteConfig('COMMERCE_TEXT_CENTER_DESCRIPTION')}</div>}

<div className='flex'>

<ProductCategories {...props} />
const posts = allNavPages.slice(
0,
parseInt(siteConfig('COMMERCE_HOME_POSTS_COUNT', 9))
)
const COMMERCE_TEXT_CENTER_TITLE = siteConfig(
'COMMERCE_TEXT_CENTER_TITLE',
'Product Center',
CONFIG
)
return (
<div className='w-full my-4 mx-4'>
<div className='w-full text-center text-4xl font-bold'>
{COMMERCE_TEXT_CENTER_TITLE}
</div>
{siteConfig('COMMERCE_TEXT_CENTER_DESCRIPTION') && (
<div className='w-full text-center text-lg my-3 text-gray-500'>
{siteConfig('COMMERCE_TEXT_CENTER_DESCRIPTION')}
</div>
)}

<div className='w-full p-4 mx-2'>
{/* 文章列表 */}
<div className="grid md:grid-cols-3 grid-cols-2 gap-5">
{posts?.map(post => (
<ProductCard index={posts.indexOf(post)} key={post.id} post={post} />
))}
</div>
<div className='flex'>
<ProductCategories {...props} />

</div>
<div className='w-full p-4 mx-2'>
{/* 文章列表 */}
<div className='grid md:grid-cols-3 grid-cols-2 gap-5'>
{posts?.map(post => (
<ProductCard
index={posts.indexOf(post)}
key={post.id}
post={post}
/>
))}
</div>
</div>
</div>
</div>
)
}
Loading

0 comments on commit cef662b

Please sign in to comment.