feat(broker): branded react-email template for mesh invite
Some checks failed
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled

Replaces the plain-text invite email with a standalone react-email
template (apps/broker/src/emails/mesh-invitation.tsx) using
@react-email/components + Tailwind. Rendered on demand in
handleCliMeshInvite and sent as both HtmlBody and TextBody via
Postmark (or html+text via Resend).

Self-contained — no dependency on @turbostarter/email, i18n, or ui
packages. Adds react, react-dom, @react-email/components, @react-email/render
to broker deps. Enables tsconfig jsx: react-jsx and .tsx includes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-04-15 02:04:28 +01:00
parent 2f27a5eef4
commit 77ee1d0d80
5 changed files with 2331 additions and 1235 deletions

View File

@@ -17,6 +17,8 @@
"dependencies": {
"@anthropic-ai/sdk": "0.71.2",
"@qdrant/js-client-rest": "1.17.0",
"@react-email/components": "0.3.2",
"@react-email/render": "1.3.2",
"@turbostarter/db": "workspace:*",
"@turbostarter/shared": "workspace:*",
"drizzle-orm": "0.44.7",
@@ -24,6 +26,8 @@
"libsodium-wrappers": "0.7.15",
"minio": "8.0.7",
"neo4j-driver": "6.0.1",
"react": "19.2.0",
"react-dom": "19.2.0",
"ws": "8.20.0",
"zod": "catalog:"
},
@@ -33,6 +37,8 @@
"@turbostarter/tsconfig": "workspace:*",
"@turbostarter/vitest-config": "workspace:*",
"@types/libsodium-wrappers": "0.7.14",
"@types/react": "19.2.0",
"@types/react-dom": "19.2.0",
"@types/ws": "8.5.13",
"eslint": "catalog:",
"prettier": "catalog:",