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:
@@ -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,
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user