content calendar fixed
This commit is contained in:
@@ -192,52 +192,45 @@ export default function ContentCalendar() {
|
||||
|
||||
// IMPORTANT: Since content is ordered by -created_at, we need to fetch items by specific site_status
|
||||
// Otherwise old scheduled/failed items will be on later pages and won't load
|
||||
// NOTE: fetchAPI doesn't support params object - must use URL query strings
|
||||
|
||||
const siteId = activeSite.id;
|
||||
|
||||
console.log('[ContentCalendar] ========== SITE FILTERING DEBUG ==========');
|
||||
console.log('[ContentCalendar] Active site ID:', activeSite.id);
|
||||
console.log('[ContentCalendar] Active site ID:', siteId);
|
||||
console.log('[ContentCalendar] Active site name:', activeSite.name);
|
||||
console.log('[ContentCalendar] Fetching content with multiple targeted queries...');
|
||||
|
||||
// Fetch scheduled items (all of them, regardless of page)
|
||||
const scheduledResponse = await fetchAPI('/v1/writer/content/', {
|
||||
params: {
|
||||
site_id: activeSite.id,
|
||||
page_size: 1000,
|
||||
site_status: 'scheduled', // Filter specifically for scheduled
|
||||
}
|
||||
});
|
||||
const scheduledResponse = await fetchAPI(
|
||||
`/v1/writer/content/?site_id=${siteId}&page_size=1000&site_status=scheduled`
|
||||
);
|
||||
|
||||
// Fetch failed items (all of them)
|
||||
const failedResponse = await fetchAPI('/v1/writer/content/', {
|
||||
params: {
|
||||
site_id: activeSite.id,
|
||||
page_size: 1000,
|
||||
site_status: 'failed', // Filter specifically for failed
|
||||
}
|
||||
});
|
||||
const failedResponse = await fetchAPI(
|
||||
`/v1/writer/content/?site_id=${siteId}&page_size=1000&site_status=failed`
|
||||
);
|
||||
|
||||
// Fetch approved items (for sidebar drag-drop)
|
||||
const approvedResponse = await fetchAPI('/v1/writer/content/', {
|
||||
params: {
|
||||
site_id: activeSite.id,
|
||||
page_size: 100,
|
||||
status: 'approved', // Approved workflow status
|
||||
}
|
||||
});
|
||||
// Fetch review items (for review count display)
|
||||
const reviewResponse = await fetchAPI(
|
||||
`/v1/writer/content/?site_id=${siteId}&page_size=100&status=review`
|
||||
);
|
||||
|
||||
// Fetch published items (with external_id) for display
|
||||
const publishedResponse = await fetchAPI('/v1/writer/content/', {
|
||||
params: {
|
||||
site_id: activeSite.id,
|
||||
page_size: 100,
|
||||
ordering: '-updated_at', // Most recently published first
|
||||
}
|
||||
});
|
||||
// Fetch approved items (for sidebar drag-drop) - not yet published to site
|
||||
const approvedResponse = await fetchAPI(
|
||||
`/v1/writer/content/?site_id=${siteId}&page_size=100&status=approved&site_status=not_published`
|
||||
);
|
||||
|
||||
// Fetch published items (site_status=published) for display
|
||||
const publishedResponse = await fetchAPI(
|
||||
`/v1/writer/content/?site_id=${siteId}&page_size=100&site_status=published&ordering=-updated_at`
|
||||
);
|
||||
|
||||
// Combine all results, removing duplicates by ID
|
||||
const allItems = [
|
||||
...(scheduledResponse.results || []),
|
||||
...(failedResponse.results || []),
|
||||
...(reviewResponse.results || []),
|
||||
...(approvedResponse.results || []),
|
||||
...(publishedResponse.results || []),
|
||||
];
|
||||
@@ -251,6 +244,7 @@ export default function ContentCalendar() {
|
||||
console.log('[ContentCalendar] ========== DATA LOAD DEBUG ==========');
|
||||
console.log('[ContentCalendar] Scheduled query returned:', scheduledResponse.results?.length, 'items');
|
||||
console.log('[ContentCalendar] Failed query returned:', failedResponse.results?.length, 'items');
|
||||
console.log('[ContentCalendar] Review query returned:', reviewResponse.results?.length, 'items');
|
||||
console.log('[ContentCalendar] Approved query returned:', approvedResponse.results?.length, 'items');
|
||||
console.log('[ContentCalendar] Published query returned:', publishedResponse.results?.length, 'items');
|
||||
console.log('[ContentCalendar] Total unique items after deduplication:', uniqueItems.length);
|
||||
|
||||
Reference in New Issue
Block a user