Commit a046bd7
Changed files (2)
src
layouts
src/layouts/GlobalLayout.astro
@@ -1,7 +1,11 @@
---
-import { profileConfig, siteConfig } from '@/config';
+import { profileConfig, searchConfig, siteConfig } from '@/config';
import '@/styles/global.css';
import type { Favicon } from '@/types/config';
+import Navbar from '@components/Navbar.astro';
+import PageFooter from '@components/PageFooter.astro';
+import Search from '@components/Search.astro';
+import SideToolBar from '@components/SideToolBar.astro';
import { defaultFavicons } from '@constants/icon';
interface Props {
@@ -71,7 +75,15 @@ const favicons: Favicon[] =
<slot name="head" />
</head>
<body class="bg-base-100 text-base-content flex min-h-screen flex-col">
- <slot />
+ <SideToolBar />
+ <Navbar>
+ <slot name="header" />
+ <div id="body-wrap" class="w-full items-center md:px-4">
+ <slot />
+ </div>
+ </Navbar>
+ {searchConfig.enable && <Search />}
+ <PageFooter />
</body>
</html>
src/layouts/MainLayout.astro
@@ -1,9 +1,4 @@
---
-import { searchConfig } from '@/config';
-import Navbar from '@components/Navbar.astro';
-import PageFooter from '@components/PageFooter.astro';
-import Search from '@components/Search.astro';
-import SideToolBar from '@components/SideToolBar.astro';
import GlobalLayout from './GlobalLayout.astro';
interface Props {
@@ -16,27 +11,20 @@ const { title, description, lang } = Astro.props;
<GlobalLayout title={title} description={description} lang={lang}>
<slot slot="head" name="head" />
- <SideToolBar />
- <Navbar>
- <slot name="header" />
- <div id="body-wrap" class="w-full items-center md:px-4">
- <!-- Main content -->
- <main class="mx-auto flex max-w-(--breakpoint-xl) flex-col gap-4">
- <slot name="header-content" />
- <div class="flex gap-4">
- <div id="main-content" class="my-4 w-full">
- <slot />
- </div>
- <div id="aside-content" class="my-4 flex w-96 flex-col gap-4 max-xl:hidden">
- <slot name="aside-fixed" />
- <div class="sticky top-20 flex flex-col gap-4">
- <slot name="aside-sticky" />
- </div>
- </div>
+ <slot slot="header" name="header" />
+ <!-- Main content -->
+ <main class="mx-auto flex max-w-(--breakpoint-xl) flex-col gap-4">
+ <slot name="header-content" />
+ <div class="flex gap-4">
+ <div id="main-content" class="my-4 w-full">
+ <slot />
+ </div>
+ <div id="aside-content" class="my-4 flex w-96 flex-col gap-4 max-xl:hidden">
+ <slot name="aside-fixed" />
+ <div class="sticky top-20 flex flex-col gap-4">
+ <slot name="aside-sticky" />
</div>
- </main>
+ </div>
</div>
- </Navbar>
- {searchConfig.enable && <Search />}
- <PageFooter />
+ </main>
</GlobalLayout>