Mystery Haunting is a Vite-built single-page application whose compiled output lives directly in the repository root. After the build step, Vite emits a single JavaScript bundle and a single CSS file intoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/mystery-haunting/llms.txt
Use this file to discover all available pages before exploring further.
assets/, while the React source — components, page logic, routing — is fully compiled into those two files. The pages/ directory holds pre-rendered static HTML shells that allow each portfolio route to be deep-linked directly, even from static hosting providers such as GitHub Pages.
Directory Tree
Top-Level File and Directory Reference
| File / Directory | Purpose |
|---|---|
index.html | HTML entry point loaded by the browser. Imports assets/main.js as a module and pre-loads the three component files. The React root is mounted onto <div id="root">. |
assets/main.js | The compiled React application bundle produced by Vite. Contains all page components, routing logic, Framer Motion animations, and third-party dependencies. |
assets/main.css | The compiled Tailwind CSS output. Includes all utility classes used by the app, custom spooky theme tokens, and keyframe animation definitions. |
components/Layout.js | The persistent sidebar navigation wrapper. Renders the nav rail with all nine route links, wraps page content in the AnimatePresence + motion.div transition context, and mounts the GlobalEffects sub-components. |
components/GlobalEffects.js | Ambient atmospheric effect layer. Exports five independent effect components — cursor trail, fog drift, lightning flash, floating bats, and corner cobwebs — each rendered as fixed overlays above page content. |
components/Icons.js | Custom SVG icon components used throughout the app: GhostIcon, TombstoneIcon, HouseIcon, EyeIcon, and BatIcon. Each accepts className and style props for Tailwind-based sizing and coloring. |
pages/ | One HTML file per route. Each file is a full HTML document that loads the same assets/main.js bundle but injects a window.__STATIC_PAGE_ROUTE__ script tag so the app can boot into the correct route on first load. |
.nojekyll | Empty file that tells GitHub Pages not to run Jekyll processing on the repository, ensuring files and directories beginning with underscores are served correctly. |
Static Page Exports in pages/
Each file in pages/ is a standalone HTML document that bootstraps the React app into a specific route. When the page loads, a small inline <script> block sets window.__STATIC_PAGE_ROUTE__ to the route path and writes it into window.location.hash if no hash is already present:
pages/About.html directly in a browser — or via a GitHub Pages URL — boots the React app with the hash already set to #/about, so React Router renders the About page component immediately instead of defaulting to the landing route.
All nine portfolio routes have a corresponding static export in
pages/. If you add a new route to the app, create a matching HTML file in pages/ with the correct window.__STATIC_PAGE_ROUTE__ value to keep deep-linking functional.The Compiled Bundle
The React source — all page components, routing configuration, Framer Motion animation variants, and imported libraries — is compiled by Vite into a singleassets/main.js ES module. The index.html entry point loads this module via:
components/ (Layout.js, GlobalEffects.js, Icons.js) are referenced as modulepreload hints in index.html and are imported directly by assets/main.js at runtime. They are not compiled into the main bundle — they remain as separate ES modules that the browser can cache independently.