import { MapPin, StickyNote } from "lucide-react"; import type { CalendarShareData, EventShareData } from "../server/share-queries"; function formatEventTime(startAt: string, endAt: string, allDay: boolean): string { const start = new Date(startAt); const end = new Date(endAt); if (allDay) { return start.toLocaleDateString(undefined, { weekday: "short", month: "long", day: "numeric" }); } const dateStr = start.toLocaleDateString(undefined, { weekday: "short", month: "long", day: "numeric", }); const startTime = start.toLocaleTimeString(undefined, { hour: "numeric", minute: "2-digit" }); const endTime = end.toLocaleTimeString(undefined, { hour: "numeric", minute: "2-digit" }); return `${dateStr} · ${startTime}–${endTime}`; } export function EventSharedView({ data }: { data: EventShareData }) { return (

{data.calendarName}

{data.title}

{formatEventTime(data.startAt, data.endAt, data.allDay)}

{data.location && (
{data.location}
)} {data.notes && (

{data.notes}

)}
); } export function CalendarSharedView({ data }: { data: CalendarShareData }) { return (

{data.name}

Upcoming events — next 90 days

{data.events.length === 0 ? (

No upcoming events.

) : ( )}
); }