Add RSVP support and Open Graph meta tags

People can now RSVP without claiming a slot. OG tags show
event title, date/time/location, and headcount in link previews.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 10:18:36 -04:00
parent 2b08f81c8d
commit d51e7fe867
9 changed files with 238 additions and 5 deletions
+21
View File
@@ -1,4 +1,6 @@
{{define "slots-inner"}}
<div class="section-label">What's needed</div>
<div class="slots-grid">
{{range .Slots}}
<div class="slot-card{{if .IsFull}} full{{end}}">
<div class="slot-info">
@@ -28,6 +30,25 @@
</div>
</div>
{{end}}
</div>
<div class="section-label">Going ({{len .Rsvps}})</div>
<div class="rsvp-list">
{{if .Rsvps}}
{{range .Rsvps}}
<span class="claim-chip">
{{.Name}}{{if .Note}} <small style="color:#888">({{.Note}})</small>{{end}}
<button hx-delete="/e/{{$.Event.Slug}}/rsvp/{{.ID}}"
hx-target="#slots-container"
hx-swap="innerHTML settle:0.1s"
hx-confirm="Remove {{.Name}}?"
title="Remove">&#215;</button>
</span>
{{end}}
{{else}}
<span class="nobody">no one yet</span>
{{end}}
</div>
{{end}}
{{define "slots.html"}}{{template "slots-inner" .}}{{end}}