feat: anonymous read-only public link + QR code for meal plans (v0.68.0)
Mirrors shopping lists' isPublic pattern but read-only only -- no
publicEditable equivalent, since anonymous editing of someone's
weekly meal schedule isn't a real use case the way collaborative
shopping-list editing is. New PATCH /api/v1/meal-plans/{weekStart}
toggles it (lazily creates the week's plan row if missing, same
pattern as the existing POST). Public page at /m/[id] renders the
week grouped by day, linking through to public/unlisted recipes and
just showing the title otherwise.
ShareMealPlanButton gained the same public-link toggle UI as its
shopping-list sibling, plus a QR code (generated client-side via the
already-installed `qrcode` package) for the link once enabled --
handing someone a printed or screenshotted plan doesn't require
typing a URL.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -982,6 +982,9 @@
|
||||
"print": "Print",
|
||||
"shareTitle": "Share this week's plan",
|
||||
"shareDescription": "Invite household members to view or edit this week's meal plan.",
|
||||
"publicLinkReadOnlyDescription": "Anyone with the link can view this week's plan (read-only) — no account needed.",
|
||||
"qrCodeAlt": "QR code linking to this week's public meal plan",
|
||||
"noEntriesPublic": "Nothing planned for this week yet.",
|
||||
"sharedWithYou": "Shared with you",
|
||||
"sharedPlanOf": "{name}'s plan",
|
||||
"weekOf": "Week of {date}",
|
||||
|
||||
@@ -973,6 +973,9 @@
|
||||
"print": "Imprimer",
|
||||
"shareTitle": "Partager le planning de cette semaine",
|
||||
"shareDescription": "Invitez des membres du foyer à voir ou modifier le planning repas de cette semaine.",
|
||||
"publicLinkReadOnlyDescription": "Toute personne ayant le lien peut voir le planning de cette semaine (lecture seule) — aucun compte requis.",
|
||||
"qrCodeAlt": "Code QR menant au planning repas public de cette semaine",
|
||||
"noEntriesPublic": "Rien de prévu pour cette semaine pour l'instant.",
|
||||
"sharedWithYou": "Partagé avec vous",
|
||||
"sharedPlanOf": "Planning de {name}",
|
||||
"weekOf": "Semaine du {date}",
|
||||
|
||||
Reference in New Issue
Block a user