UNPKG

@tmlmobilidade/emails

Version:
40 lines (39 loc) 2.37 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; /* * */ import { DebugCode } from '../components/DebugCode/index.js'; import { Greeting } from '../components/Greeting/index.js'; import { MainButton } from '../components/MainButton/index.js'; import { Paragraph } from '../components/Paragraph/index.js'; import { Span } from '../components/Span/index.js'; import { Wrapper } from '../components/Wrapper/index.js'; import { emailProvider } from '../email.provider.js'; import { Dates } from '@tmlmobilidade/dates'; import { render } from 'react-email'; /* * */ export const planApprovedSubject = 'Plano Aprovado'; /* * */ export default function PlanApprovedTemplate({ createdBy, endDate, firstName, planId, planUrl, startDate }) { return (_jsxs(Wrapper, { previewMessage: "Plano aprovado com sucesso", children: [_jsx(Greeting, { text: `${firstName},` }), _jsxs(Paragraph, { children: ["O plano", _jsx(Span, { spaceAfter: true, spaceBefore: true, weight: "bold", children: planId }), "foi aprovado por", _jsx(Span, { spaceAfter: true, spaceBefore: true, weight: "bold", children: createdBy }), "e est\u00E1 agora em processamento."] }), _jsxs(Paragraph, { children: [_jsx(Span, { spaceAfter: true, spaceBefore: true, weight: "bold", children: "In\u00EDcio: " }), Dates.fromOperationalDate(startDate, 'Europe/Lisbon').toLocaleString(Dates.FORMATS.DATE_FULL_WITH_YEAR, 'pt-PT')] }), _jsxs(Paragraph, { children: [_jsx(Span, { spaceAfter: true, spaceBefore: true, weight: "bold", children: "Fim: " }), Dates.fromOperationalDate(endDate, 'Europe/Lisbon').toLocaleString(Dates.FORMATS.DATE_FULL_WITH_YEAR, 'pt-PT')] }), _jsx(MainButton, { href: planUrl, label: "Ver detalhes do plano" }), _jsx(DebugCode, { label: "Plan ID", value: planId })] })); } ; /* * */ PlanApprovedTemplate.PreviewProps = { createdBy: 'Maria Adelaide', endDate: '20260131', firstName: 'Josué', planId: 'YUA81A', planUrl: 'https://go.tmlmobilidade.pt/plans/YUA81A', startDate: '20250101', }; /* * */ export const renderPlanApprovedTemplate = async (props) => { return await render(_jsx(PlanApprovedTemplate, { ...props })); }; /* * */ export const sendPlanApprovedEmail = async ({ data, to }) => { await emailProvider.send({ html: await renderPlanApprovedTemplate(data), subject: planApprovedSubject, to: to, }); };