AppLayout is the single wrapper applied to every page in Y2K Webring. It establishes the three-column layout and conditionally activates Home-only decorative elements —Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/y2k-webring/llms.txt
Use this file to discover all available pages before exploring further.
SparkleTrail and RightWebring — while always rendering LeftNav and wrapping page content in PageTransitionBar.
Layout Structure
The outer container usesmin-h-screen p-4 md:p-8 max-w-7xl mx-auto flex flex-col lg:flex-row gap-6 relative to build a responsive shell. On large screens the three columns appear side by side; on smaller screens they stack vertically.
Props
The page component to render inside the
<main> content area. AppLayout wraps this value in PageTransitionBar before rendering it.Conditional Elements
Some elements only mount when the visitor is on the Home page (pathname === '/'). Others are always present.
| Element | When Shown |
|---|---|
SparkleTrail | Only when pathname === '/' |
RightWebring | Only when pathname === '/' |
LeftNav | Always |
PageTransitionBar | Always (wraps children) |
useLocation() hook inside AppLayout — no prop is required to toggle Home-only elements.
Usage
Wrap each top-level route component withAppLayout in your router configuration:
LeftNav and PageTransitionBar are rendered unconditionally, every page automatically receives navigation and route-transition animation without any extra setup.
Responsive Behavior
AppLayout uses Tailwind’s responsive prefix to switch between a vertical and horizontal layout:- Below
lg(< 1024 px) — the flex direction isflex-col, soLeftNav,<main>, andRightWebringstack vertically from top to bottom. - At
lgand above (≥ 1024 px) — the flex direction switches tolg:flex-row, placing the three columns side by side.
Because
RightWebring is conditionally rendered only on the Home page, the layout is effectively two columns (LeftNav + <main>) on all inner pages.