diff --git a/src/pages/CalendarPage.tsx b/src/pages/CalendarPage.tsx index b94f91b..6606b74 100644 --- a/src/pages/CalendarPage.tsx +++ b/src/pages/CalendarPage.tsx @@ -252,6 +252,17 @@ export default function CalendarPage() { const detail = err.response?.data?.detail if (typeof detail === 'string' && detail.toLowerCase().includes('overlap')) { setError(`⚠️ Overlap conflict: ${detail}`) + } else if (detail && typeof detail === 'object') { + const message = typeof detail.message === 'string' ? detail.message : 'Save failed' + const conflicts = Array.isArray(detail.conflicts) ? detail.conflicts : [] + if (conflicts.length > 0) { + const summary = conflicts + .map((conflict: any) => `${conflict.slot_type || 'slot'} at ${conflict.scheduled_at || 'unknown time'}`) + .join(', ') + setError(`⚠️ ${message}: ${summary}`) + } else { + setError(`⚠️ ${message}`) + } } else { setError(detail || 'Save failed') }