fix: update dependencies and improve chat component structure

- Updated `lucide-svelte` dependency to version 0.552.0 across multiple files for consistency.
- Refactored chat components to enhance structure and readability, including adjustments to the Sidebar, ChatList, and MessageInput components.
- Improved notification handling in chat components to ensure better user experience and responsiveness.
- Added type safety enhancements in various components to ensure better integration with backend data models.
This commit is contained in:
2025-11-05 11:52:01 -03:00
parent 1774b135b3
commit 6cb7414dcc
15 changed files with 377 additions and 408 deletions

View File

@@ -369,6 +369,7 @@ export const enviarMensagem = mutation({
await ctx.db.patch(args.conversaId, {
ultimaMensagem: args.conteudo.substring(0, 100),
ultimaMensagemTimestamp: Date.now(),
ultimaMensagemRemetenteId: usuarioAtual._id, // Guardar ID do remetente da última mensagem
});
// Criar notificações para participantes (com tratamento de erro)
@@ -1815,10 +1816,10 @@ export const listarAgendamentosChat = query({
return mensagensEnriquecidas
.filter((m): m is NonNullable<typeof m> => m !== null)
.sort((a, b) => {
const dataA = a.agendadaPara ?? 0;
const dataB = b.agendadaPara ?? 0;
return dataA - dataB;
});
const dataA = a.agendadaPara ?? 0;
const dataB = b.agendadaPara ?? 0;
return dataA - dataB;
});
},
});
@@ -2071,7 +2072,7 @@ export const buscarMensagens = query({
// Filtrar por remetente (já verificado acima, mas garantir novamente)
if (args.remetenteId) {
if (m.remetenteId !== args.remetenteId) {
return false;
return false;
}
// Verificar novamente se o remetente é participante da conversa específica desta mensagem
if (!conversaDaMensagem.participantes.includes(args.remetenteId)) {
@@ -2269,6 +2270,7 @@ export const enviarMensagensAgendadas = internalMutation({
await ctx.db.patch(mensagem.conversaId, {
ultimaMensagem: mensagem.conteudo.substring(0, 100),
ultimaMensagemTimestamp: agora,
ultimaMensagemRemetenteId: mensagem.remetenteId, // Guardar ID do remetente
});
// Criar notificações para outros participantes