fuwari/src/layouts/MainGridLayout.astro

44 lines
1.4 KiB
Plaintext
Raw Normal View History

---
import Layout from "./Layout.astro";
import Navbar from "@components/Navbar.astro";
import SideBar from "@components/widget/SideBar.astro";
import {pathsEqual} from "@utils/url-utils";
import Footer from "@components/Footer.astro";
import BackToTop from "@components/control/BackToTop.astro";
import {siteConfig} from "@/config";
interface Props {
title: string;
banner?: string;
}
2024-02-18 18:13:43 +08:00
const { title, banner } = Astro.props
2024-02-18 18:24:00 +08:00
const isHomePage = pathsEqual(Astro.url.pathname, '/')
2024-02-18 18:13:43 +08:00
const enableBanner = siteConfig.banner.enable
---
<Layout title={title} banner={banner}>
2024-02-18 18:13:43 +08:00
<div class="max-w-[var(--page-width)] min-h-screen grid grid-cols-[17.5rem_auto] grid-rows-[auto_auto_1fr_auto] lg:grid-rows-[auto_1fr_auto]
mx-auto gap-4 relative px-0 md:px-4"
>
<div id="top-row" class="col-span-2 grid-rows-1 z-50" class:list={[""]}>
<Navbar></Navbar>
</div>
<SideBar class="row-start-3 row-end-4 col-span-2 lg:row-start-2 lg:row-end-3 lg:col-span-1 lg:max-w-[17.5rem]"></SideBar>
<div class="row-start-2 row-end-3 col-span-2 lg:col-span-1 overflow-hidden">
<!-- the overflow-hidden here prevent long text break the layout-->
<main id="swup" class="transition-fade">
<slot></slot>
</main>
</div>
<div class="grid-rows-3 col-span-2 mt-4">
<Footer></Footer>
</div>
<BackToTop></BackToTop>
</div>
</Layout>