"use client"; import { usePoll } from "@/lib/use-poll"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { CardSkeleton } from "@/components/skeleton"; import { EmptyState } from "@/components/empty-state"; interface CalEvent { summary: string; date: string; time: string; location?: string; start: string; } export function CalendarCard() { const { data } = usePoll<{ events: CalEvent[]; total?: number }>("/api/calendar", 300000); // 5min return (
Calendar {data?.total != null && ( {data.total} upcoming )}
{!data ? ( ) : data.events.length === 0 ? ( ) : (
{data.events.map((event, i) => (

{event.date.split(" ")[0]}

{event.date.split(" ")[1]}

{event.summary}

{event.time}

{event.location && (

{event.location}

)}
))}
)}
); }