Files
NotionNext/themes/nobelium/LayoutBase.js
2023-03-08 20:10:23 +08:00

48 lines
1.3 KiB
JavaScript

import CommonHead from '@/components/CommonHead'
import React from 'react'
import Nav from './components/Nav'
import { Footer } from './components/Footer'
import JumpToTopButton from './components/JumpToTopButton'
import Live2D from '@/components/Live2D'
/**
* 基础布局 采用左右两侧布局,移动端使用顶部导航栏
* @returns {JSX.Element}
* @constructor
*/
const LayoutBase = props => {
const { children, meta, post } = props
const fullWidth = post?.fullWidth ?? false
return (
<div id='theme-nobelium' className='nobelium relative dark:text-gray-300 w-full bg-white dark:bg-black min-h-screen'>
<CommonHead meta={meta} />
{/* 顶部导航栏 */}
<Nav {...props} />
<main className={`relative m-auto flex-grow w-full transition-all ${
!fullWidth ? 'max-w-2xl px-4' : 'px-4 md:px-24'
}`}>
{children}
</main>
<Footer {...props} />
<div className='fixed right-4 bottom-4'>
<JumpToTopButton />
</div>
{/* 左下角悬浮 */}
<div className="bottom-4 -left-14 fixed justify-end z-40">
<Live2D />
</div>
</div>
)
}
export default LayoutBase