feat: lunch reminder + recap email templates

Adds sendLunchReminderEmail and sendLunchRecapEmail. Templates use
Intl.DateTimeFormat with Europe/Monaco zone. Reuses existing
escapeHtml helper.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt
2026-04-29 02:37:17 +02:00
parent a671bb853c
commit 05b0412534
3 changed files with 148 additions and 8 deletions

View File

@@ -8,6 +8,7 @@ import {
uid,
} from '../helpers'
import { lunchRouter } from '@/server/routers/lunch'
import type { UserRole } from '@prisma/client'
const programIds: string[] = []
const userIds: string[] = []
@@ -77,7 +78,7 @@ async function setupTeam(opts: {
return { program, lead, member, admin, project, attendingMember: am, dish, event }
}
function callerFor(user: { id: string; email: string; role: string }) {
function callerFor(user: { id: string; email: string; role: UserRole }) {
return createCaller(lunchRouter, user)
}