Every project card in the Level 3 grid is driven by a single plain JavaScript array defined at the top of the Projects page component. There is no external database or CMS — adding a new project cartridge is as simple as appending an object to that array, choosing the right filter category, and rebuilding the bundle. This page walks you through every field, explains the filter system, and shows you how to wire up the LOAD GAME and VIEW SOURCE hover buttons so they open real URLs.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev-arcade/llms.txt
Use this file to discover all available pages before exploring further.
The Project Interface
Each entry in the projects array must conform to the following shape:
Locate the projects array
Open the Projects page component — this is the Level 3 route in the SPA. Look for the array declared before the
Projects component function itself. It will be named something like projectsData or similar. The existing entries look like this:Add a new entry
Append a new object to the array. Assign a unique The
id that does not clash with any existing entry. Here is a complete example:ProjectCard component renders each field as follows:| Field | Rendered as |
|---|---|
title | Lime-neon heading in font-arcade |
type | Magenta badge in the card’s top-right corner |
desc | Small monospace paragraph in gray |
tech | TECH: {value} in electric-purple font-pixel |
sampleData | Yellow ⚠ SAMPLE DATA badge when true |
Choose the correct `type`
The Projects page renders a row of filter buttons at the top. Clicking a button hides every card whose
If your project does not fit any of these categories, use a new string value — for example
type does not match. The current valid values and their corresponding buttons are:type value | Filter button |
|---|---|
| (any) | ALL |
'APP' | APP |
'ECOMMERCE' | ECOMMERCE |
'DASHBOARD' | DASHBOARD |
'SOCIAL' | SOCIAL |
'GAME' — and add a matching filter button to the filter row inside the Projects component so users can select it.Set `sampleData`
Set
sampleData: true if the live or demo version of the project is populated with placeholder or generated data rather than real content. When this flag is true, ProjectCard renders a yellow warning badge on the card so visitors know the demo is not production data. Set it to false for projects with live, real data.Wiring Up the LOAD GAME and VIEW SOURCE Buttons
The hover overlay on eachProjectCard already renders two buttons — LOAD GAME and VIEW SOURCE — but they currently have no href or onClick handler attached. To make them navigate to real URLs, you need to extend the Project interface with two optional fields and update the button elements in ProjectCard.
Step 1 — Extend the interface
AddliveUrl and sourceUrl as optional strings:
Step 2 — Update the ProjectCard component
InsideProjectCard, find the two button elements in the hover overlay and replace them with anchor tags (or add onClick handlers that call window.open()):
Step 3 — Add URLs to your project entries
The
id field on every project entry must be unique. React uses it as the key prop when rendering the grid, so duplicate IDs will cause rendering bugs and React warnings in the console.Projects Page
Learn how the Level 3 route renders the cartridge grid and manages filter state.
ProjectCard Component
See how each field is mapped to styled elements inside the card, including the hover overlay.