feat: redesigned add-event modal with calendar selector (Даниил/Света)
Some checks failed
Deploy / deploy (push) Has been cancelled
Some checks failed
Deploy / deploy (push) Has been cancelled
This commit is contained in:
@@ -105,7 +105,7 @@ export async function GET(req: Request) {
|
||||
|
||||
export async function POST(req: Request) {
|
||||
const body = await req.json()
|
||||
const { title, date, startTime, endTime, allDay } = body
|
||||
const { title, date, startTime, endTime, allDay, owner } = body
|
||||
|
||||
const auth = getAuth(false)
|
||||
if (!auth) return NextResponse.json({ error: 'not_configured' }, { status: 500 })
|
||||
@@ -113,6 +113,15 @@ export async function POST(req: Request) {
|
||||
const calendarClient = google.calendar({ version: 'v3', auth: auth as any })
|
||||
|
||||
const daniilCalendarId = process.env.DANIIL_CALENDAR_ID || 'daniilklimov25@gmail.com'
|
||||
const svetaCalendarId = process.env.SVETA_CALENDAR_ID || ''
|
||||
|
||||
const calendars: Record<string, { id: string; name: string; color: string }> = {
|
||||
daniil: { id: daniilCalendarId, name: 'Даниил', color: '#6366f1' },
|
||||
...(svetaCalendarId ? { sveta: { id: svetaCalendarId, name: 'Света', color: '#ec4899' } } : {}),
|
||||
}
|
||||
|
||||
const selectedOwner = owner && calendars[owner] ? owner : 'daniil'
|
||||
const cal = calendars[selectedOwner]
|
||||
|
||||
let start: any, end: any
|
||||
if (allDay) {
|
||||
@@ -125,7 +134,7 @@ export async function POST(req: Request) {
|
||||
|
||||
try {
|
||||
const res = await calendarClient.events.insert({
|
||||
calendarId: daniilCalendarId,
|
||||
calendarId: cal.id,
|
||||
requestBody: { summary: title, start, end },
|
||||
})
|
||||
const e = res.data
|
||||
@@ -136,9 +145,9 @@ export async function POST(req: Request) {
|
||||
start: e.start?.dateTime || e.start?.date,
|
||||
end: e.end?.dateTime || e.end?.date,
|
||||
allDay: !e.start?.dateTime,
|
||||
owner: 'daniil',
|
||||
ownerName: 'Даниил',
|
||||
color: '#6366f1',
|
||||
owner: selectedOwner,
|
||||
ownerName: cal.name,
|
||||
color: cal.color,
|
||||
}
|
||||
})
|
||||
} catch (err: any) {
|
||||
|
||||
Reference in New Issue
Block a user