This commit is contained in:
MacRimi 2025-02-18 11:50:54 +01:00
parent ead9c6a119
commit b7534ac94c
2 changed files with 36 additions and 34 deletions

View File

@ -1,15 +1,17 @@
import type React from "react" import type { ReactNode } from "react"
import DocSidebar from "@/components/DocSidebar" import DocSidebar from "@/components/doc-sidebar"
import Footer from "@/components/footer"
export default function DocsLayout({ children }: { children: React.ReactNode }) { interface LayoutProps {
children: ReactNode
}
export default function DocsLayout({ children }: LayoutProps) {
return ( return (
<div className="flex flex-col min-h-screen bg-white text-gray-900"> <div className="flex flex-col lg:flex-row min-h-screen bg-white">
<div className="flex flex-col md:flex-row flex-1 pt-16 md:pt-0">
<DocSidebar /> <DocSidebar />
<main className="flex-1 p-4 md:p-6">{children}</main> <main className="flex-1 p-4 lg:p-8 pt-24 lg:pt-8 overflow-y-auto">
</div> <div className="max-w-3xl mx-auto lg:mx-0 lg:mr-auto">{children}</div>
<Footer /> </main>
</div> </div>
) )
} }

View File

@ -67,7 +67,7 @@ export default function DocSidebar() {
useEffect(() => { useEffect(() => {
const handleResize = () => { const handleResize = () => {
if (window.innerWidth >= 768) { if (window.innerWidth >= 1024) {
setIsMobileMenuOpen(false) setIsMobileMenuOpen(false)
} }
} }
@ -128,8 +128,7 @@ export default function DocSidebar() {
return ( return (
<> <>
<div className="lg:hidden fixed top-16 left-0 right-0 z-40 bg-gray-100 border-b border-gray-200">
<div className="md:hidden fixed top-16 left-0 right-0 z-40 bg-gray-100 border-b border-gray-200">
<button <button
className="w-full p-4 text-left flex items-center justify-between" className="w-full p-4 text-left flex items-center justify-between"
onClick={toggleMobileMenu} onClick={toggleMobileMenu}
@ -139,13 +138,12 @@ return (
{isMobileMenuOpen ? <X className="h-6 w-6" /> : <Menu className="h-6 w-6" />} {isMobileMenuOpen ? <X className="h-6 w-6" /> : <Menu className="h-6 w-6" />}
</button> </button>
</div> </div>
<nav <nav
className={`fixed md:static top-[104px] left-0 w-full md:min-w-[260px] md:max-w-[260px] h-[calc(100vh-104px)] md:h-auto bg-gray-100 p-4 md:p-6 transform ${ className={`fixed lg:sticky lg:top-16 left-0 w-full lg:w-64 h-[calc(100vh-104px)] lg:h-[calc(100vh-64px)] bg-gray-100 p-4 lg:p-6 transform ${
isMobileMenuOpen ? "translate-y-0" : "-translate-y-full" isMobileMenuOpen ? "translate-y-0" : "-translate-y-full"
} md:translate-y-0 transition-transform duration-300 ease-in-out overflow-y-auto z-30`} } lg:translate-y-0 transition-transform duration-300 ease-in-out overflow-y-auto z-30`}
> >
<h2 className="text-lg font-semibold mb-4 text-gray-900 md:mt-0 sr-only md:not-sr-only">Documentation</h2> <h2 className="text-lg font-semibold mb-4 text-gray-900 lg:mt-0 sr-only lg:not-sr-only">Documentation</h2>
<ul className="space-y-2">{sidebarItems.map(renderMenuItem)}</ul> <ul className="space-y-2">{sidebarItems.map(renderMenuItem)}</ul>
</nav> </nav>
</> </>
@ -153,3 +151,5 @@ return (
} }