@tmlmobilidade/emails
Version:
41 lines (40 loc) • 2.69 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 planApprovalRequestSubject = 'Pedido de aprovação de plano';
/* * */
export default function PlanApprovalRequestTemplate({ agencyName, endDate, firstName, gtfsValidationId, gtfsValidationUrl, requestedBy, startDate }) {
return (_jsxs(Wrapper, { previewMessage: "Pedido de aprova\u00E7\u00E3o de plano", children: [_jsx(Greeting, { text: `${firstName},` }), _jsxs(Paragraph, { children: ["Ap\u00F3s uma valida\u00E7\u00E3o de GTFS com sucesso,", _jsx(Span, { spaceAfter: true, spaceBefore: true, weight: "bold", children: requestedBy }), "pede a respetiva aprova\u00E7\u00E3o para plano."] }), _jsxs(Paragraph, { children: [_jsx(Span, { spaceAfter: true, spaceBefore: true, weight: "bold", children: "Operador: " }), agencyName] }), _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: gtfsValidationUrl, label: "Ver detalhes da valida\u00E7\u00E3o" }), _jsx(DebugCode, { label: "GTFS Validation ID", value: gtfsValidationId })] }));
}
;
/* * */
PlanApprovalRequestTemplate.PreviewProps = {
agencyName: 'Viação Alvorada',
endDate: '20250131',
firstName: 'Josué',
gtfsValidationId: 'ABC123',
gtfsValidationUrl: 'https://www.tmlmobilidade.pt/validations/ABC123',
requestedBy: 'Maria Adelaide',
startDate: '20250101',
};
/* * */
export const renderPlanApprovalRequestTemplate = async (props) => {
return await render(_jsx(PlanApprovalRequestTemplate, { ...props }));
};
/* * */
export const sendPlanApprovalRequestEmail = async ({ data, to }) => {
await emailProvider.send({
html: await renderPlanApprovalRequestTemplate(data),
subject: planApprovalRequestSubject,
to: to,
});
};