* chore: Add replexica for AI i18n * Add write permission * moved i18n to repo root * Added checkout to i18n job * Added contents:read * Added actions: write for testing * Updated contents: write * feat: add missing translations * Checking out the i18n files from PR head sha * Added the rest of the languages * Added i18n to list of required checks * Added a comment explaining the custom common.json checkout * Commented out languages to not crush Replexica usage * Add a fetch-depth: 2 * Supporting fetch of external fork branch * Put back the dynamic sha * Added a check for null so this can run manually and not just on PRs * Removed comments * feat: update translations * Reverted de and fr to re-run with new settings * feat: update translations * Reverted de and fr to re-run with new settings * feat: update translations * Removed crowdin * Limited languages to major ones for 1st pass * feat: update translations * Fixing es test * Reverted yarn.lock changes --------- Co-authored-by: Replexica <support@replexica.com>
JSX email templates
componentsHolds reusable patternstemplatesA template equals a type of email sent
Usage
import { renderEmail } from "@calcom/emails";
await renderEmail("TeamInviteEmail", {
language: t,
from: "teampro@example.com",
to: "pro@example.com",
teamName: "Team Pro",
joinLink: "https://cal.com",
});
The first argument is the template name as defined inside templates/index.ts. The second argument are the template props.
Development
You can use an API endpoint to preview the email HTML, there's already one on /apps/web/pages/api/email.ts feel free to change the template to the one you're currently working on.