Ajustes Gerais
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
enviadoPor: Id<'usuarios'>;
|
||||
criadoEm: number;
|
||||
enviadoEm: number | undefined;
|
||||
erroDetalhes?: string;
|
||||
destinatarioInfo: Doc<'usuarios'> | null;
|
||||
templateInfo: Doc<'templatesMensagens'> | null;
|
||||
}
|
||||
@@ -55,10 +56,11 @@
|
||||
const emailIdsArray = $derived(
|
||||
Array.from(emailIdsRastreados).map((id) => id as Id<'notificacoesEmail'>)
|
||||
);
|
||||
// Usar função para evitar execução quando array está vazio
|
||||
const emailsStatusQuery = useQuery(api.email.buscarEmailsPorIds, () =>
|
||||
// Usar $derived para calcular argumentos da query condicionalmente
|
||||
const emailsStatusArgs = $derived(
|
||||
emailIdsArray.length === 0 ? 'skip' : { emailIds: emailIdsArray }
|
||||
);
|
||||
const emailsStatusQuery = useQuery(api.email.buscarEmailsPorIds, emailsStatusArgs);
|
||||
|
||||
// Queries para agendamentos
|
||||
const agendamentosEmailQuery = useQuery(api.email.listarAgendamentosEmail, {});
|
||||
@@ -248,9 +250,21 @@
|
||||
variaveis: Record<string, string>
|
||||
): string {
|
||||
const textoComVariaveis = renderizarTemplate(template, variaveis);
|
||||
// Remove quaisquer tags HTML que possam ter sido inseridas por engano
|
||||
const textoPuro = textoComVariaveis.replace(/<[^>]*>/g, '');
|
||||
return textoPuro;
|
||||
// Remove todas as tags HTML (incluindo quebras de linha HTML)
|
||||
let textoPuro = textoComVariaveis.replace(/<[^>]*>/g, '');
|
||||
// Converte entidades HTML comuns para texto normal
|
||||
textoPuro = textoPuro
|
||||
.replace(/ /g, ' ')
|
||||
.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, "'")
|
||||
.replace(/'/g, "'")
|
||||
.replace(/&[a-zA-Z0-9#]+;/g, ''); // Remove outras entidades HTML
|
||||
// Normaliza espaços múltiplos (mas preserva quebras de linha reais)
|
||||
textoPuro = textoPuro.replace(/[ \t]+/g, ' ').replace(/[ \t]*\n[ \t]*/g, '\n');
|
||||
return textoPuro.trim();
|
||||
}
|
||||
|
||||
// Função para mostrar mensagens
|
||||
@@ -726,9 +740,10 @@
|
||||
});
|
||||
|
||||
if (conversaId) {
|
||||
// Para chat, sempre remover HTML dos templates
|
||||
const mensagem =
|
||||
usarTemplate && templateSelecionado
|
||||
? renderizarTemplate(templateSelecionado.corpo, {
|
||||
? renderizarTemplateChatLocal(templateSelecionado.corpo, {
|
||||
nome: destinatario.nome,
|
||||
matricula: destinatario.matricula || ''
|
||||
})
|
||||
@@ -1999,6 +2014,7 @@
|
||||
</svg>
|
||||
<span>Para enviar emails, certifique-se de configurar o SMTP em Configurações de Email.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modal Novo Template -->
|
||||
|
||||
Reference in New Issue
Block a user