UpcomingMeetingsWidget.tsx

deepspace-crm · ui, calendar-integration, google-calendar, scheduling, crm, integration

UpcomingMeetingsWidget — read-only list of upcoming Google Calendar meetings with a contact (or any of a deal's contacts), with reschedule / cancel actions. Mirrors EmailListWidget: same card look + OAuth-recovery behavior. Reads via `useUpcomingMeetings` (calendar.events scope

/**
 * UpcomingMeetingsWidget — read-only list of upcoming Google Calendar meetings
 * with a contact (or any of a deal's contacts), with reschedule / cancel
 * actions.
 *
 * Mirrors EmailListWidget: same card look + OAuth-recovery behavior. Reads via
 * `useUpcomingMeetings` (calendar.events scope). Cancel rides
 * `google/calendar-delete-event`; reschedule is delegated to the parent (which
 * opens ScheduleMeetingDialog in edit mode) so the create/edit form lives in
 * one place.
 */

import { useCallback, useState } from 'react'
import { CalendarClock, Video, ExternalLink, X, Pencil, Users } from 'lucide-react'
import {
  useUpcomingMeetings, useCalendarWrite, eventStartMs, type CalendarEvent,
} from '../platform/useCalendar'
import { awaitConsent } from '../platform/googleConsent'
imp

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key