import { Heading, Preview, Text } from "@react-email/components"; import * as React from "react"; 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.MAGIC_LINK] & CommonEmailProps; export const MagicLink = async ({ url, locale }: Props) => { const { t } = await getTranslation({ locale, ns: "auth" }); const origin = getOrigin(url); return ( {t("login.magicLink.email.preview")} {t("login.magicLink.email.subject")} {t("login.magicLink.email.body")} {t("login.magicLink.email.or")} {url} {t("login.magicLink.email.disclaimer")} ); }; MagicLink.subject = async ({ locale }: CommonEmailProps) => { const { t } = await getTranslation({ locale, ns: "auth" }); return t("login.magicLink.email.subject"); }; MagicLink.PreviewProps = { url: "http://localhost:3000/api/auth/magic-link/verify?token=123&callbackURL=/dashboard", locale: "en", }; export default MagicLink;