Add edit RSVP modal, plus-one tracking, and unified signup form

Merge RSVP + slot claim into a single form. Add plus_one field to RSVPs.
Add clickable RSVP names that open a modal to edit name/note/plus_one.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 23:11:11 -04:00
parent fe5cdd92a1
commit 6e3fc9721a
12 changed files with 415 additions and 186 deletions
+38
View File
@@ -372,6 +372,40 @@
text-decoration: underline;
}
.btn-danger:hover { color: #a00; }
.modal-backdrop {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.45);
z-index: 90;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
}
.modal-card {
background: white;
border: var(--border-w) solid var(--border);
box-shadow: 5px 5px 0 var(--ink);
padding: 24px;
max-width: 480px;
width: 100%;
animation: fadeUp 0.2s ease both;
}
.btn-cancel {
background: none;
border: none;
font-family: 'DM Mono', monospace;
font-size: 0.78rem;
cursor: pointer;
text-decoration: underline;
color: #888;
}
.btn-cancel:hover { color: var(--ink); }
.rsvp-name-link {
cursor: pointer;
text-decoration: none;
}
.rsvp-name-link:hover { text-decoration: underline; }
@keyframes fadeUp {
from { opacity: 0; transform: translateY(16px); }
to { opacity: 1; transform: translateY(0); }
@@ -438,6 +472,10 @@ document.addEventListener('click', (e) => {
}
});
document.addEventListener('DOMContentLoaded', initEmojiPickers);
document.body.addEventListener('closeModal', function() {
document.getElementById('edit-modal').innerHTML = '';
});
</script>
<div id="edit-modal"></div>
</body>
</html>{{end}}