import { Body, Button, Column, Container, Head, Heading, Html, Img, Link, Preview, Row, Section, Tailwind, Text, } from '@react-email/components'; import { EmailFooter } from './emailFooter'; interface InviteUserEmailProps { inviteLink: string; baseUrl: string; host: { email: string; name?: string; avatarUrl?: string; }, recipient: { name?: string; }, orgName: string; orgImageUrl?: string; } export const InviteUserEmail = ({ baseUrl, host, recipient, orgName, orgImageUrl, inviteLink, }: InviteUserEmailProps) => { const previewText = `Join ${host.name ?? host.email} on Sourcebot`; return ( {previewText}
Sourcebot Logo
Join {orgName} on Sourcebot {`Hello${recipient.name ? ` ${recipient.name.split(' ')[0]}` : ''},`} has invited you to the {orgName} organization on{' '} Sourcebot.
invited you to
or copy and paste this URL into your browser:{' '} {inviteLink}
); }; const InvitedByText = ({ email, name }: { email: string, name?: string }) => { const emailElement = {email}; if (name) { const firstName = name.split(' ')[0]; return {firstName} ({emailElement}); } return emailElement; } InviteUserEmail.PreviewProps = { baseUrl: 'http://localhost:3000', host: { name: 'Alan Turing', email: 'alan.turing@example.com', // avatarUrl: `http://localhost:3000/arrow.png`, }, recipient: { // name: 'alanturing', }, orgName: 'Enigma', orgImageUrl: `http://localhost:3000/arrow.png`, inviteLink: 'https://localhost:3000/redeem?invite_id=1234', } satisfies InviteUserEmailProps; export default InviteUserEmail;