import * as React from "react"; import { Client } from "@shared/types"; import env from "@server/env"; import logger from "@server/logging/Logger"; import BaseEmail, { EmailProps } from "./BaseEmail"; import Body from "./components/Body"; import Button from "./components/Button"; import EmailTemplate from "./components/EmailLayout"; import EmptySpace from "./components/EmptySpace"; import Footer from "./components/Footer"; import Header from "./components/Header"; import Heading from "./components/Heading"; type Props = EmailProps & { token: string; teamUrl: string; client: Client; }; /** * Email sent to a user when they request a magic sign-in link. */ export default class SigninEmail extends BaseEmail> { protected subject() { return "Magic signin link"; } protected preview(): string { return `Here’s your link to signin to ${env.APP_NAME}.`; } protected renderAsText({ token, teamUrl, client }: Props): string { return ` Use the link below to signin to ${env.APP_NAME}: ${this.signinLink(token, client)} If your magic link expired you can request a new one from your team’s signin page at: ${teamUrl} `; } protected render({ token, client, teamUrl }: Props) { if (env.isDevelopment) { logger.debug("email", `Sign-In link: ${this.signinLink(token, client)}`); } return (
Magic Sign-in Link

Click the button below to sign in to {env.APP_NAME}.

If your magic link expired you can request a new one from your team’s sign-in page at: {teamUrl}