// src/novu/emails/welcome.tsx
import {
Body,
Container,
Head,
Html,
Preview,
Section,
Text,
Link,
Img,
Row,
Column,
render,
} from "@react-email/components";
import * as React from "react";
const baseUrl = process.env.IMAGE_BASE_URL;
export const TwitchWelcomeEmail = ({
subject,
body,
linkText,
body2,
}: {
subject: string;
body: string;
linkText: string;
body2: string;
}) => (
<Html>
<Head />
<Preview>{subject}</Preview>
<Body style={main}>
<Container style={container}>
<Section style={logo}>
<Img width={114} src={`${baseUrl}/twitch-logo.png`} />
</Section>
<Section style={content}>
<Text style={paragraph}>{body}</Text>
<Section style={center}>
<Link href="https://www.twitch.tv" style={link}>
{linkText}
</Link>
</Section>
<Text style={paragraph}>{body2}</Text>
</Section>
</Container>
</Body>
</Html>
);
const main = { backgroundColor: "#efeef1", fontFamily: "Helvetica, Arial, sans-serif" };
const paragraph = { lineHeight: 1.5, fontSize: 14 };
const container = { maxWidth: 580, margin: "30px auto", backgroundColor: "#ffffff" };
const content = { padding: "5px 20px 10px 20px" };
const logo = { display: "flex", justifyContent: "center", padding: 30 };
const center = { display: "flex", justifyContent: "center" };
const link: React.CSSProperties = {
background: "#9147ff",
color: "#fff",
borderRadius: 3,
display: "inline-block",
fontSize: 18,
padding: "10px 30px",
textDecoration: "none",
};
export async function renderEmail(
subject: string,
body: string,
linkText: string,
body2: string
) {
return render(
<TwitchWelcomeEmail
subject={subject}
body={body}
linkText={linkText}
body2={body2}
/>
);
}