mcwaddams-site/src/data/flair-config.json
Ryan Malloy 5ae7040496 Add flair badge gamification system with custom SVG badges
- Create 12 Office Space themed SVG badges (extraction, basement, printer,
  coffee, tps, bobs, memo, oface, stapler, conclusions, spreadsheet, flair-badge)
- Implement FlairBadge.astro component with localStorage persistence
- Add 15-second timer per page to earn flair
- Create floating counter, modal flair board, toast notifications
- Override Starlight Footer to inject flair system globally
- Add name capture dialog on first flair earned

Features:
- Badges glow golden when earned, grayscale when locked
- Progress persists across browser sessions
- Stan quote: "We need to talk about your document processing..."
2026-01-11 14:24:39 -07:00

105 lines
3.0 KiB
JSON

{
"requiredTime": 15,
"storageKey": "mcwaddams-flair-collection",
"flairs": [
{
"id": "first-extraction",
"path": "/",
"name": "I Was Told There Would Be Extraction",
"placeholder": "📄",
"image": "/flair/extraction.svg",
"description": "Started your mcwaddams journey"
},
{
"id": "backstory",
"path": "/backstory/",
"name": "Basement Dweller",
"placeholder": "🔴",
"image": "/flair/basement.svg",
"description": "Learned about Milton and the legacy documents"
},
{
"id": "installation",
"path": "/installation/",
"name": "PC Load Letter",
"placeholder": "🖨️",
"image": "/flair/printer.svg",
"description": "Successfully installed mcwaddams"
},
{
"id": "quickstart",
"path": "/quickstart/",
"name": "Case of the Mondays",
"placeholder": "☕",
"image": "/flair/coffee.svg",
"description": "Completed the quick start guide"
},
{
"id": "reference",
"path": "/reference/tools/",
"name": "TPS Report Expert",
"placeholder": "📋",
"image": "/flair/tps.svg",
"description": "Read the complete tools reference"
},
{
"id": "architecture",
"path": "/explanation/architecture/",
"name": "The Bobs Approved",
"placeholder": "👔",
"image": "/flair/bobs.svg",
"description": "Understood the architecture"
},
{
"id": "dashboard",
"path": "/tps/dashboard/",
"name": "Did You Get The Memo?",
"placeholder": "📝",
"image": "/flair/memo.svg",
"description": "Checked the test dashboard"
},
{
"id": "torture",
"path": "/tps/torture/",
"name": "O Face",
"placeholder": "😮",
"image": "/flair/oface.svg",
"description": "Witnessed the torture test results"
},
{
"id": "credits",
"path": "/community/credits/",
"name": "I Have Your Stapler",
"placeholder": "🔴",
"image": "/flair/stapler.svg",
"description": "Found the credits and attributions"
},
{
"id": "tutorial",
"path": "/tutorials/first-extraction/",
"name": "Jump to Conclusions",
"placeholder": "🎲",
"image": "/flair/conclusions.svg",
"description": "Completed your first extraction tutorial"
},
{
"id": "tables",
"path": "/how-to/extract-tables/",
"name": "Spreadsheet Survivor",
"placeholder": "📊",
"image": "/flair/spreadsheet.svg",
"description": "Mastered table extraction"
},
{
"id": "collector",
"path": "/community/leaderboard/",
"name": "37 Pieces of Flair",
"placeholder": "🎖️",
"image": "/flair/flair-badge.svg",
"description": "Discovered the flair leaderboard"
}
],
"completionMessage": "You've got more than the minimum 15 pieces of flair!",
"stanQuote": "We need to talk about your document processing..."
}