@tmlmobilidade/emails
Version:
38 lines (37 loc) • 2.55 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
/* * */
import { EmailWrapper, InfoBox, styles } from '../components/index.js';
import { Button, Hr, Section, Text } from '@react-email/components';
import { getAppConfig } from '@tmlmobilidade/lib';
import { Dates } from '@tmlmobilidade/utils';
export function PlanApprovalRequestEmail({ solicited_by, validation, }) {
const validation_url = getAppConfig('plans', 'frontend_url') + '/validations/' + validation._id;
return (_jsx(EmailWrapper, { preview: "Pedido de aprova\u00E7\u00E3o de plano", children: _jsxs(Section, { children: [_jsx(Text, { style: styles.text, children: "\uD83D\uDC4B Ol\u00E1," }), _jsx(Text, { style: styles.text, children: "Foi solicitada a aprova\u00E7\u00E3o para o seguinte plano" }), _jsx(Hr, { style: { margin: '24px 0' } }), _jsxs(InfoBox, { variant: "info", children: [_jsx(Text, { style: { ...styles.text, margin: '0 0 12px 0' }, children: _jsx("strong", { children: "\uD83D\uDCCB Detalhes do Plano" }) }), _jsxs(Text, { style: { ...styles.text, margin: '8px 0' }, children: [_jsx("strong", { children: "ID da valida\u00E7\u00E3o:" }), ' ', validation._id, _jsx("br", {}), _jsx("strong", { children: "Ag\u00EAncia:" }), validation.gtfs_agency?.agency_name || 'Não especificada', _jsx("br", {}), _jsx("strong", { children: "Data de Cria\u00E7\u00E3o:" }), ' ', Dates.fromUnixTimestamp(validation.created_at).setZone('Europe/Lisbon', 'offset_only').toLocaleString(Dates.FORMATS.DATETIME_SHORT, 'pt-PT')] })] }), _jsx(Button, { href: validation_url, style: styles.button, children: "Ver plano" }), _jsx(Hr, { style: { margin: '24px 0' } }), _jsxs(Text, { style: styles.textStyles.muted, children: [_jsx("strong", { children: "Solicitado por:" }), ' ', solicited_by, _jsx("br", {}), _jsx("strong", { children: "Data do pedido:" }), ' ', new Date().toLocaleDateString('pt-PT')] })] }) }));
}
;
const mockValidation = {
_id: 'ABC123',
created_at: 1753885477000,
feeder_status: 'complete',
file_id: '64f8b2a3c1d2e3f4a5b6c7d9',
gtfs_agency: {
agency_id: 'TML001',
agency_name: 'Viação Alvorada',
agency_timezone: 'Europe/Lisbon',
},
gtfs_feed_info: {
feed_lang: 'pt',
},
notification_sent: false,
summary: {
messages: [],
total_errors: 0,
total_warnings: 2,
},
updated_at: 1753885477000,
};
PlanApprovalRequestEmail.PreviewProps = {
solicited_by: 'Josué Monteiro',
validation: mockValidation,
};
export default PlanApprovalRequestEmail;