layout.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { DocsMobileNav } from "@/components/docs-mobile-nav";
  2. import { DocsSidebar } from "@/components/docs-sidebar";
  3. import { CopyPageButton } from "@/components/copy-page-button";
  4. import { TableOfContents } from "@/components/table-of-contents";
  5. export default function DocsLayout({
  6. children,
  7. }: {
  8. children: React.ReactNode;
  9. }) {
  10. return (
  11. <>
  12. <DocsMobileNav />
  13. <div className="max-w-7xl mx-auto px-6 py-8 lg:py-12 flex gap-12">
  14. {/* Sidebar */}
  15. <aside className="w-48 shrink-0 hidden lg:block sticky top-28 h-[calc(100vh-7rem)] overflow-y-auto">
  16. <DocsSidebar />
  17. </aside>
  18. {/* Content */}
  19. <div className="flex-1 min-w-0 max-w-2xl pb-20">
  20. <div className="flex justify-end mb-4">
  21. <CopyPageButton />
  22. </div>
  23. <article>{children}</article>
  24. </div>
  25. {/* On this page */}
  26. <aside className="w-44 shrink-0 hidden xl:block sticky top-28 h-[calc(100vh-7rem)] overflow-y-auto">
  27. <TableOfContents />
  28. </aside>
  29. </div>
  30. </>
  31. );
  32. }