feat: add tab navigation and content management for notifications page, allowing users to switch between Enviar Notificação, Gerenciar Templates, and Agendamentos for improved organization and usability
This commit is contained in:
@@ -121,15 +121,38 @@ async function registrarNotificacoes(
|
||||
) {
|
||||
const { ticket, titulo, mensagem, usuarioEvento } = params;
|
||||
|
||||
// Obter URL do sistema
|
||||
let urlSistema = process.env.FRONTEND_URL || "http://localhost:5173";
|
||||
if (!urlSistema.match(/^https?:\/\//i)) {
|
||||
urlSistema = `http://${urlSistema}`;
|
||||
}
|
||||
|
||||
// Notificar solicitante
|
||||
if (ticket.solicitanteEmail) {
|
||||
await ctx.runMutation(api.email.enfileirarEmail, {
|
||||
destinatario: ticket.solicitanteEmail,
|
||||
destinatarioId: ticket.solicitanteId,
|
||||
assunto: `${titulo} - Chamado ${ticket.numero}`,
|
||||
corpo: `${mensagem}\n\n---\nCentral de Chamados SGSE - Sistema de Gerenciamento de Secretaria`,
|
||||
enviadoPor: usuarioEvento,
|
||||
});
|
||||
// Tentar usar template, senão usar envio direto
|
||||
try {
|
||||
await ctx.runAction(api.email.enviarEmailComTemplate, {
|
||||
destinatario: ticket.solicitanteEmail,
|
||||
destinatarioId: ticket.solicitanteId,
|
||||
templateCodigo: "chamado_atualizado",
|
||||
variaveis: {
|
||||
solicitante: ticket.solicitanteNome || "Usuário",
|
||||
numeroTicket: ticket.numero,
|
||||
mensagem: mensagem,
|
||||
urlSistema,
|
||||
},
|
||||
enviadoPor: usuarioEvento,
|
||||
});
|
||||
} catch (error) {
|
||||
// Fallback para envio direto
|
||||
await ctx.runMutation(api.email.enfileirarEmail, {
|
||||
destinatario: ticket.solicitanteEmail,
|
||||
destinatarioId: ticket.solicitanteId,
|
||||
assunto: `${titulo} - Chamado ${ticket.numero}`,
|
||||
corpo: `${mensagem}\n\n---\nCentral de Chamados SGSE - Sistema de Gerenciamento de Secretaria`,
|
||||
enviadoPor: usuarioEvento,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await ctx.db.insert("notificacoes", {
|
||||
@@ -147,13 +170,30 @@ async function registrarNotificacoes(
|
||||
if (ticket.responsavelId && ticket.responsavelId !== ticket.solicitanteId) {
|
||||
const responsavel = await ctx.db.get(ticket.responsavelId);
|
||||
if (responsavel?.email) {
|
||||
await ctx.runMutation(api.email.enfileirarEmail, {
|
||||
destinatario: responsavel.email,
|
||||
destinatarioId: ticket.responsavelId,
|
||||
assunto: `${titulo} - Chamado ${ticket.numero}`,
|
||||
corpo: `${mensagem}\n\n---\nCentral de Chamados SGSE - Sistema de Gerenciamento de Secretaria`,
|
||||
enviadoPor: usuarioEvento,
|
||||
});
|
||||
// Tentar usar template, senão usar envio direto
|
||||
try {
|
||||
await ctx.runAction(api.email.enviarEmailComTemplate, {
|
||||
destinatario: responsavel.email,
|
||||
destinatarioId: ticket.responsavelId,
|
||||
templateCodigo: "chamado_atualizado",
|
||||
variaveis: {
|
||||
solicitante: ticket.solicitanteNome || "Usuário",
|
||||
numeroTicket: ticket.numero,
|
||||
mensagem: mensagem,
|
||||
urlSistema,
|
||||
},
|
||||
enviadoPor: usuarioEvento,
|
||||
});
|
||||
} catch (error) {
|
||||
// Fallback para envio direto
|
||||
await ctx.runMutation(api.email.enfileirarEmail, {
|
||||
destinatario: responsavel.email,
|
||||
destinatarioId: ticket.responsavelId,
|
||||
assunto: `${titulo} - Chamado ${ticket.numero}`,
|
||||
corpo: `${mensagem}\n\n---\nCentral de Chamados SGSE - Sistema de Gerenciamento de Secretaria`,
|
||||
enviadoPor: usuarioEvento,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await ctx.db.insert("notificacoes", {
|
||||
|
||||
Reference in New Issue
Block a user