Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/neocities-dev/llms.txt
Use this file to discover all available pages before exploring further.
FakeBrowserChrome wraps the entire application in a simulated browser window that mimics the look of Netscape Navigator 4. It is the outermost visual container in the component tree — everything the user sees, including FrameNav and all page content, is rendered inside its scrollable viewport area.
Props
The application subtree to render inside the browser’s “viewport” area. In the portfolio, this receives the layout shell that contains
FrameNav and the React Router <Outlet />.Usage
Inassets/main.js, the App component mounts FakeBrowserChrome as the root visual wrapper, with CustomCursor rendered alongside it as a sibling:
CustomCursor is rendered outside FakeBrowserChrome so its fixed-positioned overlay covers the entire viewport, including the browser chrome itself.
Structure
FakeBrowserChrome renders three distinct layers stacked vertically inside a bevel-window flex column, itself wrapped in a min-h-screen bg-black p-2 md:p-4 flex flex-col outer div.
1. Title bar
Abg-gradient-to-r from-[#000080] to-[#1084d0] div (classic Win98 navy-to-blue gradient) containing:
- A Lucide
Globeicon (size={14}) intext-y2k-cyan - The window title:
"Netscape Navigator - [ Portfolio.exe ]"infont-sans text-sm font-semibold - Three decorative
w-4 h-4bevel-buttonsquares on the right (minimize/maximize/close — no handlers)
2. Navigation toolbar
Abg-y2k-panel border-b-2 border-y2k-panelDark p-2 strip that uses flex flex-col md:flex-row gap-2 items-center to stack vertically on mobile and lay out as a row on desktop. It contains two children:
Button group — four icon buttons with bevel-button p-1 styling:
| Icon | Lucide component | Purpose |
|---|---|---|
| Back arrow | ArrowLeft (size 16) | Decorative back navigation |
| Forward arrow | ArrowRight (size 16) | Decorative forward navigation |
| Refresh | RefreshCw (size 16) | Decorative reload |
| Home | House (size 16) | Decorative home |
flex-1 div that grows to fill the remaining toolbar width, displaying:
bg-white text-black background with an inset box-shadow (shadow-[inset_2px_2px_0_rgba(0,0,0,0.5)]) to simulate a pressed input field. The URL is static — it does not update as the user navigates.
3. Viewport / content area
Thechildren prop is rendered here inside:
bg-grid-pattern class applies a subtle dot-grid background, and animate-bg-drift slowly drifts the background position to create a living, ambient effect behind the page content.
Full structural overview
All navigation buttons in the toolbar are decorative only — they have no
onClick handlers. Actual page navigation is handled by React Router NavLink elements inside FrameNav.