+ return
- {sLink.title}
+ {link?.icon && } {sLink.title}
})}
diff --git a/themes/hexo/components/SideBar.js b/themes/hexo/components/SideBar.js
index 3f259de5..6f0fc4e9 100644
--- a/themes/hexo/components/SideBar.js
+++ b/themes/hexo/components/SideBar.js
@@ -1,4 +1,6 @@
import BLOG from '@/blog.config'
+import { useRouter } from 'next/router'
+import MenuGroupCard from './MenuGroupCard'
import { MenuListSide } from './MenuListSide'
/**
@@ -10,19 +12,22 @@ import { MenuListSide } from './MenuListSide'
*/
const SideBar = (props) => {
const { siteInfo } = props
-
+ const router = useRouter()
return (
-
-
-
- {/* eslint-disable-next-line @next/next/no-img-element */}
-

-
{siteInfo?.title}
-
{siteInfo?.description}
-
-
-
-
+
+
+
+
{ router.push('/') }}
+ className='justify-center items-center flex hover:rotate-45 py-6 hover:scale-105 dark:text-gray-100 transform duration-200 cursor-pointer'>
+ {/* eslint-disable-next-line @next/next/no-img-element */}
+

+
+
+
+
+
+
+
)
}
diff --git a/themes/hexo/components/SideBarDrawer.js b/themes/hexo/components/SideBarDrawer.js
new file mode 100644
index 00000000..629889b9
--- /dev/null
+++ b/themes/hexo/components/SideBarDrawer.js
@@ -0,0 +1,51 @@
+import { useRouter } from 'next/router'
+import React from 'react'
+
+/**
+ * 侧边栏抽屉面板,可以从侧面拉出
+ * @returns {JSX.Element}
+ * @constructor
+ */
+const SideBarDrawer = ({ children, isOpen, onOpen, onClose, className }) => {
+ const router = useRouter()
+ React.useEffect(() => {
+ const sideBarDrawerRouteListener = () => {
+ switchSideDrawerVisible(false)
+ }
+ router.events.on('routeChangeComplete', sideBarDrawerRouteListener)
+ return () => {
+ router.events.off('routeChangeComplete', sideBarDrawerRouteListener)
+ }
+ }, [router.events])
+
+ // 点击按钮更改侧边抽屉状态
+ const switchSideDrawerVisible = (showStatus) => {
+ if (showStatus) {
+ onOpen && onOpen()
+ } else {
+ onClose && onClose()
+ }
+ const sideBarDrawer = window.document.getElementById('sidebar-drawer')
+ const sideBarDrawerBackground = window.document.getElementById('sidebar-drawer-background')
+
+ if (showStatus) {
+ sideBarDrawer.classList.replace('-mr-72', 'mr-0')
+ sideBarDrawerBackground.classList.replace('hidden', 'block')
+ } else {
+ sideBarDrawer.classList.replace('mr-0', '-mr-72')
+ sideBarDrawerBackground.classList.replace('block', 'hidden')
+ }
+ }
+
+ return