refactor: integrate current user data across components

- Replaced instances of `authStore` with `currentUser` to streamline user authentication handling.
- Updated permission checks and user-related data retrieval to utilize the new `useQuery` for better performance and clarity.
- Cleaned up component structures and improved formatting for consistency and readability.
- Enhanced error handling and user feedback mechanisms in various components to improve user experience.
This commit is contained in:
2025-11-08 10:52:33 -03:00
parent 01138b3e1c
commit 9a5f2b294d
28 changed files with 2312 additions and 1235 deletions

View File

@@ -3,7 +3,6 @@
import { api } from "@sgse-app/backend/convex/_generated/api";
import { format } from "date-fns";
import { ptBR } from "date-fns/locale";
import { authStore } from "$lib/stores/auth.svelte";
import type { Id, Doc } from "@sgse-app/backend/convex/_generated/dataModel";
// Tipos para agendamentos
@@ -44,6 +43,7 @@
| { tipo: "chat"; dados: AgendamentoChat };
const client = useConvexClient();
const currentUser = useQuery(api.auth.getCurrentUser, {});
// Queries
const templatesQuery = useQuery(api.templatesMensagens.listarTemplates, {});
@@ -580,7 +580,7 @@
}
async function salvarNovoTemplate() {
if (!authStore.usuario) {
if (!currentUser?.data) {
mostrarMensagem(
"error",
"Você precisa estar autenticado para criar templates.",
@@ -622,7 +622,7 @@
titulo: tituloTemplate.trim(),
corpo: corpoTemplate.trim(),
variaveis: variaveis.length > 0 ? variaveis : undefined,
criadoPorId: authStore.usuario._id as Id<"usuarios">,
criadoPorId: currentUser.data._id as Id<"usuarios">,
},
);
@@ -749,12 +749,13 @@
);
if (conversaId) {
const mensagem = usarTemplate && templateSelecionado
? renderizarTemplate(templateSelecionado.corpo, {
nome: destinatario.nome,
matricula: destinatario.matricula || "",
})
: mensagemPersonalizada;
const mensagem =
usarTemplate && templateSelecionado
? renderizarTemplate(templateSelecionado.corpo, {
nome: destinatario.nome,
matricula: destinatario.matricula || "",
})
: mensagemPersonalizada;
if (agendadaPara) {
// Agendar mensagem
@@ -843,7 +844,7 @@
nome: destinatario.nome,
matricula: destinatario.matricula,
},
enviadoPor: authStore.usuario._id as Id<"usuarios">,
enviadoPor: currentUser.data._id as Id<"usuarios">,
agendadaPara: agendadaPara,
},
);
@@ -894,7 +895,7 @@
destinatarioId: destinatario._id as Id<"usuarios">,
assunto: "Notificação do Sistema",
corpo: mensagemPersonalizada,
enviadoPor: authStore.usuario._id as Id<"usuarios">,
enviadoPor: currentUser.data._id as Id<"usuarios">,
agendadaPara: agendadaPara,
},
);
@@ -1008,12 +1009,13 @@
if (conversaId) {
// Renderizar template com variáveis do destinatário
const mensagem = usarTemplate && templateSelecionado
? renderizarTemplate(templateSelecionado.corpo, {
nome: destinatario.nome,
matricula: destinatario.matricula || "",
})
: mensagemPersonalizada;
const mensagem =
usarTemplate && templateSelecionado
? renderizarTemplate(templateSelecionado.corpo, {
nome: destinatario.nome,
matricula: destinatario.matricula || "",
})
: mensagemPersonalizada;
if (agendadaPara) {
await client.mutation(api.chat.agendarMensagem, {
@@ -1096,7 +1098,7 @@
nome: destinatario.nome,
matricula: destinatario.matricula || "",
},
enviadoPor: authStore.usuario._id as Id<"usuarios">,
enviadoPor: currentUser.data._id as Id<"usuarios">,
agendadaPara: agendadaPara,
},
);
@@ -1150,7 +1152,7 @@
destinatarioId: destinatario._id as Id<"usuarios">,
assunto: "Notificação do Sistema",
corpo: mensagemPersonalizada,
enviadoPor: authStore.usuario._id as Id<"usuarios">,
enviadoPor: currentUser.data?._id as Id<"usuarios">,
agendadaPara: agendadaPara,
},
);