Replace stale ownership/list labels across pages and components, add
lib/collection-vocabulary.js as the single copy source, document the
taxonomy in AGENTS.md, and gate retired strings in CI.
Co-authored-by: Cursor <cursoragent@cursor.com>
🐛 Database Schema Fixes:
- Removed non-existent 'updated_at' column from collection_cards operations
- Fixed SQL queries in card ownership API and seeding scripts
- Resolved column does not exist errors
🚫 Hide System Collections from Selection:
- Added 'excludeSystem' parameter to /api/collections endpoint
- Updated CollectionSelectionModal to exclude system collections
- 'All My Cards' no longer appears in card addition modals
✨ Enhanced System Collection Styling:
- Upgraded system collection badge with gradient styling
- Added 🔒 SYSTEM badge with blue-purple gradient
- Added informative tooltip: 'Automatically syncs with your owned cards'
- Made system collections visually distinct and educational
🎯 User Experience Improvements:
- System collections are now clearly identified as special
- Users understand they can't manually add cards to system collections
- Better visual hierarchy and information architecture
- Automatic sync behavior is now clearly communicated
Card ownership should now work without errors! 🚀
🐛 Authentication Issue Resolution:
- Removed incorrect Authorization header from collections API call
- Modal was using 'auth_token' header when API uses development fallback
- Updated to match successful pattern used by collections page
📡 API Call Corrections:
- Collections fetch: Removed Authorization header (uses dev fallback)
- Add to collection: Removed Authorization header (middleware handles auth)
- Fixed response data handling (API returns array directly)
- Added better error handling and logging
🔍 Root Cause Analysis:
- CollectionSelectionModal used localStorage.getItem('auth_token')
- But /api/collections works without auth headers in development
- Other successful pages (collections.js, collection/[id].js) don't send auth headers
- Development middleware provides fallback admin user automatically
✅ Expected Behavior:
- Collections modal should now load user's collections properly
- Batch adding cards to collections should work correctly
- Consistent with authentication pattern used throughout app
- Better error messages for debugging
The 'Add to Collections' modal should now properly display collections! 📚✨
✨ New CollectionSelectionModal Component:
- Multi-select collection interface with search functionality
- Visual card previews showing selected cards to add
- Select all/deselect all functionality for bulk operations
- Real-time collection filtering and search
- Professional modal design with dark mode support
🔗 Integration with Cards Page:
- Bulk selection toolbar now opens collection modal
- Individual card actions trigger collection modal
- Success feedback with detailed results
- Automatic selection clearing after successful additions
🎮 Enhanced Card Detail Page:
- Replaced old single-select dropdown with new modal
- Multi-collection support for single cards
- Automatic refresh of card collections after additions
- Consistent UI across all card interaction points
🎨 User Experience Features:
- Visual card thumbnails in modal header
- Collection metadata display (card count, public status)
- Loading states and error handling
- Responsive design for all screen sizes
Ready for seamless card-to-collection workflow! 📦✨