/** @jsxRuntime automatic @jsxImportSource react */ import { render } from "react-email"; import { plural } from "../emails/_components/format"; import type { PlanLoss } from "../emails/_components/plan-loss"; import CancellationScheduledEmail, { CANCELLATION_SCHEDULED_SUBJECT, } from "../emails/cancellation-scheduled"; import MemberRemovedEmail, { type MemberRemovedProps, memberRemovedSubject, } from "../emails/member-removed"; import PlanDowngradedEmail, { type PlanDowngradedProps, planDowngradedSubject, } from "../emails/plan-downgraded"; import PlanEndingSoonEmail, { type PlanEndingSoonProps, planEndingSoonSubject, } from "../emails/plan-ending-soon"; import TrialEndingEmail, { type TrialEndingProps, trialEndingSubject, } from "../emails/trial-ending"; import { sendBatchEmailHtml, sendEmail } from "./send"; const RAW_FROM = "Thibault from openstatus "; // Signed hybrid: personal name on the system subdomain, replies to a real inbox. const SIGNED_FROM = "Thibault from openstatus "; const SIGNED_REPLY_TO = "thibault@openstatus.dev"; const SYSTEM_FROM = "openstatus "; const SUPPORT_EMAIL = "ping@openstatus.dev"; const DAY_MS = 86_400_000; export const REMINDER_LEAD_DAYS = 3; const RESEND_MAX_SCHEDULE_DAYS = 30; const RESEND_BATCH_SIZE = 100; /** `stripe::