--- import { getCollection, getEntry } from 'astro:content'; import AppLayout from '../../layouts/AppLayout.astro'; import { fmtDate, renderMd } from '../../lib/markdown'; import { getAttendanceSummary, getUserAttendance, setAttendance } from '../../lib/db'; const user = Astro.locals.user; const { slug } = Astro.params; const meeting = await getEntry('meetings', slug as string); if (!meeting) return Astro.redirect('/calendar'); const isPast = new Date(meeting.data.date) < new Date(); // Handle attendance POST if (Astro.request.method === 'POST') { const data = await Astro.request.formData(); const status = data.get('status') as 'yes' | 'no' | null; if (status === 'yes' || status === 'no') { setAttendance(user.id, meeting.slug, status); } return Astro.redirect(`/calendar/${slug}`); } const { Content } = await meeting.render(); const attendance = getAttendanceSummary(meeting.slug); const myStatus = getUserAttendance(user.id, meeting.slug); ---

{meeting.data.title}

Time
{meeting.data.time}
Location
{meeting.data.location}
{meeting.data.attendees && (
Attendees
{meeting.data.attendees}
)}
{!isPast && ( )}