@tmlmobilidade/emails
Version:
40 lines (39 loc) • 2.37 kB
JavaScript
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,
});
};