Overview
The Game Catalog is a centralized master list of games available across all companies. It provides:- Consistent game names across companies
- Official game platform links
- Auto-fill functionality when adding games to companies
- Dropdown options in the game credential editor
The catalog is independent from company game assignments. Modifying the catalog does NOT affect existing games already added to companies.
Accessing the Catalog
The catalog is accessed via the 📋 Catálogo button in the navbar.Authenticate
A password modal appears asking for the admin password (
superctrl2023).operapedia/app.js
Catalog Data Structure
Games are stored in Firebase atgameCatalog/:
- id: Unique numeric identifier
- name: Display name of the game
- link: Official game platform URL
Managing the Catalog
Adding New Games
Fill in Game Details
A new empty row appears with three fields:
- Order #: Auto-incremented (editable)
- Name: Enter the official game name
- Link: Enter the complete game platform URL
Editing Existing Games
All fields in the catalog are editable:- Name: Click to edit the game name
- Link: Click to edit the URL
- Order: Change the sort order
Deleting Games
Catalog Usage in Companies
When adding a game to a company’s credentials:Dropdown Auto-Population
- In edit mode on the Credenciales tab, click the add game card
- A dropdown selector shows all catalog games
- Select a game from the list
- The link field auto-fills with the catalog’s official URL
- Enter the username manually
- Save the game to the company
Custom Games (Not in Catalog)
If a game isn’t in the catalog:- Select “✏️ Otro” from the dropdown
- Manually enter:
- Game name
- Username
- Link
- Save to company
Bulk Loading: Seed Catalog
For initial setup, Operapedia includes a bulk seed utility.seed-catalog.html
This standalone HTML file (~/workspace/source/operapedia/seed-catalog.html) can load the entire catalog in one operation:
The seed utility is typically used once during initial setup. After that, use the catalog modal for individual additions/edits.
Firebase Integration
The catalog uses Firebase Realtime Database with the modular SDK:Loading Catalog
operapedia/app.js
Saving Catalog
operapedia/app.js
Catalog vs Company Games
| Aspect | Game Catalog | Company Games |
|---|---|---|
| Location | gameCatalog/ | companies/{id}/games/ |
| Purpose | Master reference list | Actual credentials per company |
| Fields | id, name, link | id, name, username, link, active, lastModified |
| Independence | Changes don’t affect companies | Independent per company |
| Usage | Dropdown source | Credentials storage |
Why Separation Matters
- Link Updates: If a game platform changes domains, updating the catalog doesn’t break existing company games
- Custom Games: Companies can have games not in the catalog (using “Otro” option)
- Flexibility: Different companies may have different URLs for the same game (regional variants)
Search and Filtering
The catalog modal doesn’t have built-in search, but you can:- Use browser search (Ctrl+F / Cmd+F) within the modal
- Sort by name or ID using the order column
- Scroll through the full list (typically 74+ games)
Best Practices
Game Naming
Game Naming
- Use official game names (check the game platform)
- Maintain consistent capitalization (e.g., “JetX” not “Jetx”)
- Avoid regional suffixes unless truly different games
- Use English names for international games
Link Accuracy
Link Accuracy
- Always use complete URLs with
https:// - Test links before adding to catalog
- Use the official platform URL (not third-party aggregators)
- Update links if platforms migrate domains
Catalog Maintenance
Catalog Maintenance
- Periodically review and remove defunct games
- Add new popular games as they launch
- Fix typos immediately to prevent propagation
- Document platform changes in company Notes tabs
Order Management
Order Management
- Keep popular games at the top (lower IDs)
- Group similar games together
- Maintain alphabetical order within categories
- Re-number after major additions/deletions
Troubleshooting
Catalog Button Not Visible
Catalog Button Not Visible
Cannot Save Catalog Changes
Cannot Save Catalog Changes
If Guardar catálogo fails:
- Check Firebase connection in browser console
- Verify Firebase rules allow write to
gameCatalog/ - Ensure all game objects have
id,name, andlinkfields - Check for duplicate IDs in the catalog
Games Not Appearing in Dropdown
Games Not Appearing in Dropdown
If catalog games don’t show when adding to a company:
- Verify the catalog loaded successfully (check browser console)
- Refresh the Operapedia page to reload catalog
- Check that
gameCatalogarray is populated in memory - Verify Firebase listener is attached to
gameCatalogRef
Link Auto-Fill Not Working
Link Auto-Fill Not Working
If selecting a catalog game doesn’t fill the link:
- Ensure the catalog entry has a valid
linkfield - Check that the link field isn’t read-only or disabled
- Verify JavaScript isn’t throwing errors (check console)
- Try refreshing and re-entering edit mode
Migration from Data.js
Original Operapedia versions used a hardcodeddata.js file. The catalog system replaced this with:
- Before: Games hardcoded in
operapedia/data.js - After: Games stored in Firebase at
gameCatalog/ - Migration: Use
migration.htmltool to import data.js to Firebase
- ✅ Real-time updates without code deployments
- ✅ Multi-user editing without merge conflicts
- ✅ No need to redeploy when adding games
- ✅ Centralized source of truth