import { Heading, Preview, Text } from "@react-email/components"; import * as React from "react"; import { Trans } from "@turbostarter/i18n"; import { getTranslation } from "@turbostarter/i18n/server"; import { getOrigin } from "@turbostarter/shared/utils"; import { Button } from "../_components/button"; import { Layout } from "../_components/layout/layout"; import type { EmailVariables, EmailTemplate, CommonEmailProps, } from "../../types"; type Props = EmailVariables[typeof EmailTemplate.ORGANIZATION_INVITATION] & CommonEmailProps; export const OrganizationInvitation = async ({ url, inviter, organization, locale, }: Props) => { const { t } = await getTranslation({ locale, ns: "organization" }); const origin = getOrigin(url); return ( {t("members.invite.email.preview", { inviter })} {t("members.invite.email.subject")} , }} /> {t("members.invite.email.or")} {url} {t("members.invite.email.disclaimer")} ); }; OrganizationInvitation.subject = async ({ locale }: CommonEmailProps) => { const { t } = await getTranslation({ locale, ns: "organization" }); return t("members.invite.email.subject"); }; OrganizationInvitation.PreviewProps = { url: "http://localhost:3000/auth/join?invitationId=h4zI2pKJrQkP5NQljdA8W57wG0V8LHrv", locale: "en", inviter: "John Doe", organization: "Acme Inc", }; export default OrganizationInvitation;