From 08739ba2f5172254aece045b3e8127079648150f Mon Sep 17 00:00:00 2001 From: Cosmo Date: Wed, 22 Apr 2026 20:12:12 +0000 Subject: [PATCH] fix: add missing updateEvent function to CalendarTab --- components/CalendarTab.tsx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/components/CalendarTab.tsx b/components/CalendarTab.tsx index 5ebc452..5c024a9 100644 --- a/components/CalendarTab.tsx +++ b/components/CalendarTab.tsx @@ -609,6 +609,30 @@ export default function CalendarTab() { } catch (e: any) { alert(e.message || 'Ошибка удаления') } } + const updateEvent = async (event: CalendarEvent, updates: Partial) => { + const startStr = updates.start || event.start + const endStr = updates.end || event.end + const body = { + eventId: event.id, + title: updates.title || event.title, + date: startStr.split('T')[0], + startTime: updates.allDay ? null : formatTime(startStr), + endTime: updates.allDay ? null : formatTime(endStr), + allDay: updates.allDay ?? event.allDay, + } + const r = await fetch('/api/calendar', { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) }) + const d = await r.json() + if (d.error) throw new Error(d.error) + setEvents(prev => prev.map(e => e.id === event.id ? { + ...e, + title: updates.title || e.title, + start: d.event.start || e.start, + end: d.event.end || e.end, + allDay: d.event.allDay ?? e.allDay, + } : e)) + setSelectedEvent(null) + } + const calendarOwners = useMemo(() => { const map = new Map() events.forEach(e => {