content calendar fixed
This commit is contained in:
@@ -290,8 +290,10 @@ export default function Approved() {
|
||||
})
|
||||
});
|
||||
|
||||
if (response.success && response.data?.results?.[0]?.success) {
|
||||
const result = response.data.results[0];
|
||||
// Note: fetchAPI unwraps the response, so response IS the data object
|
||||
// Response format: { success: true, results: [{ success: true, url: '...', external_id: '...' }] }
|
||||
if (response.success && response.results?.[0]?.success) {
|
||||
const result = response.results[0];
|
||||
|
||||
// Phase 3: Processing (50-75%)
|
||||
setSinglePublishState(prev => prev ? { ...prev, progress: 50, statusMessage: 'Processing response...' } : null);
|
||||
@@ -313,7 +315,7 @@ export default function Approved() {
|
||||
|
||||
loadContent();
|
||||
} else {
|
||||
throw new Error(response.error || 'Failed to publish');
|
||||
throw new Error(response.error || response.results?.[0]?.error || 'Failed to publish');
|
||||
}
|
||||
} catch (error: any) {
|
||||
console.error('Publish error:', error);
|
||||
@@ -412,6 +414,8 @@ export default function Approved() {
|
||||
|
||||
try {
|
||||
const contentIds = selectedIds.map(id => parseInt(id));
|
||||
// Note: fetchAPI unwraps success_response, so response IS the data object
|
||||
// Response format: { scheduled_count: N, schedule_preview: [...], site_settings: {...} }
|
||||
const response = await fetchAPI('/v1/writer/content/bulk_schedule_preview/', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
@@ -420,11 +424,13 @@ export default function Approved() {
|
||||
})
|
||||
});
|
||||
|
||||
if (response.success) {
|
||||
setBulkSchedulePreview(response.data);
|
||||
// fetchAPI throws on error, so if we get here, response is successful
|
||||
// Response is the unwrapped data object
|
||||
if (response && response.schedule_preview) {
|
||||
setBulkSchedulePreview(response);
|
||||
setShowBulkSchedulePreviewModal(true);
|
||||
} else {
|
||||
throw new Error(response.error || 'Failed to generate preview');
|
||||
throw new Error('Invalid response from server');
|
||||
}
|
||||
} catch (error: any) {
|
||||
toast.error(`Failed to generate schedule preview: ${error.message}`);
|
||||
@@ -437,6 +443,7 @@ export default function Approved() {
|
||||
|
||||
try {
|
||||
const contentIds = selectedIds.map(id => parseInt(id));
|
||||
// Note: fetchAPI unwraps success_response, so response IS the data object
|
||||
const response = await fetchAPI('/v1/writer/content/bulk_schedule/', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
@@ -446,14 +453,15 @@ export default function Approved() {
|
||||
})
|
||||
});
|
||||
|
||||
if (response.success) {
|
||||
toast.success(`Scheduled ${response.data.scheduled_count} item(s)`);
|
||||
// fetchAPI throws on error, so if we get here, response is successful
|
||||
if (response && response.scheduled_count !== undefined) {
|
||||
toast.success(`Scheduled ${response.scheduled_count} item(s)`);
|
||||
setShowBulkSchedulePreviewModal(false);
|
||||
setBulkSchedulePreview(null);
|
||||
setSelectedIds([]);
|
||||
loadContent();
|
||||
} else {
|
||||
throw new Error(response.error || 'Failed to schedule');
|
||||
throw new Error('Invalid response from server');
|
||||
}
|
||||
} catch (error: any) {
|
||||
toast.error(`Failed to schedule: ${error.message}`);
|
||||
@@ -568,9 +576,10 @@ export default function Approved() {
|
||||
})
|
||||
});
|
||||
|
||||
// Handle response
|
||||
if (response.success && response.data?.results?.[0]?.success) {
|
||||
const result = response.data.results[0];
|
||||
// Handle response - fetchAPI unwraps the data object
|
||||
// Response format: { success: true, results: [{ success: true, url: '...', external_id: '...' }] }
|
||||
if (response.success && response.results?.[0]?.success) {
|
||||
const result = response.results[0];
|
||||
|
||||
// Animate to completion
|
||||
setBulkPublishQueue(prev => prev.map((item, idx) =>
|
||||
@@ -589,7 +598,7 @@ export default function Approved() {
|
||||
} : item
|
||||
));
|
||||
} else {
|
||||
throw new Error(response.error || 'Unknown error');
|
||||
throw new Error(response.error || response.results?.[0]?.error || 'Unknown error');
|
||||
}
|
||||
} catch (error: any) {
|
||||
console.error(`Error publishing content ${queue[i].contentId}:`, error);
|
||||
|
||||
Reference in New Issue
Block a user