---
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);
---