import React from "react";
import { Container, Img } from "@react-email/components";
import { build } from "@server/build";
// EmailContainer: Wraps the entire email layout
export function EmailContainer({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
// EmailLetterHead: For branding with logo on dark background
export function EmailLetterHead() {
return (
);
}
// EmailHeading: For the primary message or headline
export function EmailHeading({ children }: { children: React.ReactNode }) {
return (
{children}
);
}
export function EmailGreeting({ children }: { children: React.ReactNode }) {
return (
);
}
// EmailText: For general text content
export function EmailText({
children,
className
}: {
children: React.ReactNode;
className?: string;
}) {
return (
);
}
// EmailSection: For visually distinct sections (like OTP)
export function EmailSection({
children,
className
}: {
children: React.ReactNode;
className?: string;
}) {
return (
{children}
);
}
// EmailFooter: For closing or signature
export function EmailFooter({ children }: { children: React.ReactNode }) {
return (
<>
{build === "saas" && (
{children}
For any questions or support, please contact us at:
support@fossorial.io
© {new Date().getFullYear()} Fossorial, Inc. All
rights reserved.
)}
>
);
}
export function EmailSignature() {
return (
Best regards,
The Fossorial Team
);
}
// EmailInfoSection: For structured key-value info (like resource details)
export function EmailInfoSection({
title,
items
}: {
title?: string;
items: { label: string; value: React.ReactNode }[];
}) {
return (
{title && (
{title}
)}
{items.map((item, idx) => (
{item.label}
|
{item.value}
|
))}
);
}