feat: allow a single activity proposition and add optional location field

Senders no longer need to fill in two activities to publish; one is
now enough (still capped at 5). Each activity can also specify a
place, which flows into the generated Google Calendar link and .ics
file when the recipient picks a slot.
This commit is contained in:
2026-07-29 20:45:24 +02:00
parent 80bb4c9474
commit 6ea31e8ac0
9 changed files with 55 additions and 18 deletions
+1
View File
@@ -23,6 +23,7 @@ async function encryptPayload(key: string, data: ProposalFormData) {
data.activities.map(async (a) => ({
title: await encryptField(key, a.title),
description: await encryptOptional(key, a.description),
location: await encryptOptional(key, a.location),
emoji: a.emoji,
slots: await Promise.all(
a.slots.map(async (s) => ({