All files / emails pro-account-status.tsx

100% Statements 3/3
100% Branches 10/10
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110                                      21x 21x       21x                                                                                                                                                                          
/** @jsxImportSource react */
import { Button, Section, Text } from "@react-email/components";
import { EmailLayout, styles } from "./components";
 
export type ProAccountStatusProps = {
	proName: string;
	businessName: string;
	status: "published" | "archived";
	marketplaceUrl?: string;
	portalUrl?: string;
};
 
export function ProAccountStatusEmail({
	proName,
	businessName,
	status,
	marketplaceUrl,
	portalUrl,
}: ProAccountStatusProps) {
	const isPublished = status === "published";
	const ctaUrl = isPublished
		? marketplaceUrl || "https://interioring.com"
		: portalUrl || "https://portal.interioring.com";
 
	return (
		<EmailLayout
			preview={
				isPublished
					? `${businessName} is now live on Interioring!`
					: `Your Interioring account has been archived`
			}
		>
			<Section style={styles.section}>
				<Text style={styles.paragraph}>Hi {proName},</Text>
 
				{isPublished ? (
					<>
						<Text style={styles.paragraph}>
							Congratulations! Your profile for <strong>{businessName}</strong>{" "}
							is now live on the Interioring marketplace.
						</Text>
						<Section
							style={{
								backgroundColor: "#DCFCE7",
								borderRadius: "8px",
								padding: "20px",
								margin: "24px 0",
								borderLeft: "4px solid #10B981",
							}}
						>
							<Text style={{ ...styles.paragraph, margin: "0" }}>
								<strong>Your profile is published</strong> — clients can now
								discover {businessName} and reach out with inquiries.
							</Text>
						</Section>
						<Text style={styles.paragraph}>
							Make the most of your listing by keeping your projects up to date
							and responding to inquiries promptly.
						</Text>
						<Section style={{ textAlign: "center", margin: "32px 0" }}>
							<Button href={ctaUrl} style={styles.button}>
								View Your Listing
							</Button>
						</Section>
					</>
				) : (
					<>
						<Text style={styles.paragraph}>
							Your profile for <strong>{businessName}</strong> has been archived
							and is no longer visible on the Interioring marketplace.
						</Text>
						<Section
							style={{
								backgroundColor: "#FEF3C7",
								borderRadius: "8px",
								padding: "20px",
								margin: "24px 0",
								borderLeft: "4px solid #F59E0B",
							}}
						>
							<Text style={{ ...styles.paragraph, margin: "0" }}>
								<strong>Your profile is archived</strong> — it is not currently
								accepting new inquiries.
							</Text>
						</Section>
						<Text style={styles.paragraph}>
							If you believe this was done in error or would like to reactivate
							your account, please visit your portal and contact our support
							team.
						</Text>
						<Section style={{ textAlign: "center", margin: "32px 0" }}>
							<Button href={ctaUrl} style={styles.button}>
								Go to Portal
							</Button>
						</Section>
					</>
				)}
 
				<Text style={styles.paragraph}>
					Best regards,
					<br />
					The Interioring Team
				</Text>
			</Section>
		</EmailLayout>
	);
}
 
export default ProAccountStatusEmail;