🔧 Fix Collections Not Loading in Add to Collections Modal
🐛 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! 📚✨
This commit is contained in:
parent
9a5561c2c8
commit
2f2c915da1
1 changed files with 7 additions and 9 deletions
|
|
@ -23,20 +23,19 @@ export default function CollectionSelectionModal({
|
|||
const fetchCollections = async () => {
|
||||
setLoading(true);
|
||||
try {
|
||||
const response = await fetch('/api/collections', {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${localStorage.getItem('auth_token')}`
|
||||
}
|
||||
});
|
||||
const response = await fetch('/api/collections');
|
||||
|
||||
if (response.ok) {
|
||||
const data = await response.json();
|
||||
setCollections(data.collections || []);
|
||||
// The API returns an array directly, not wrapped in collections property
|
||||
setCollections(Array.isArray(data) ? data : data.collections || []);
|
||||
} else {
|
||||
console.error('Failed to fetch collections');
|
||||
console.error('Failed to fetch collections:', response.status, response.statusText);
|
||||
setCollections([]);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching collections:', error);
|
||||
setCollections([]);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
|
@ -94,8 +93,7 @@ export default function CollectionSelectionModal({
|
|||
const response = await fetch(`/api/collections/${collectionId}/cards`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': `Bearer ${localStorage.getItem('auth_token')}`
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({
|
||||
cardId: card.id,
|
||||
|
|
|
|||
Loading…
Reference in a new issue