diff --git a/apps/web/src/routes/(dashboard)/+error.svelte b/apps/web/src/routes/(dashboard)/+error.svelte new file mode 100644 index 0000000..89d736d --- /dev/null +++ b/apps/web/src/routes/(dashboard)/+error.svelte @@ -0,0 +1,71 @@ + + +
+
+
+ {#if is404} +
+
+ +
+
+

404

+

Página não encontrada

+

+ A página que você está procurando não existe ou foi movida. +

+ {:else if is500} +
+
+ +
+
+

500

+

Erro interno do servidor

+

+ Ocorreu um erro inesperado. Nossa equipe foi notificada e está trabalhando para resolver o problema. +

+ {:else} +
+
+ +
+
+

{status}

+

Erro

+

+ {errorMessage || 'Ocorreu um erro inesperado.'} +

+ {/if} + +
+ + +
+
+
+
+ diff --git a/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte b/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte index 19e70b7..70a6c55 100644 --- a/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte +++ b/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.svelte @@ -14,6 +14,7 @@ import ExcelJS from 'exceljs'; import logoGovPE from '$lib/assets/logo_governo_PE.png'; import { toast } from 'svelte-sonner'; + import UserAvatar from '$lib/components/chat/UserAvatar.svelte'; const client = useConvexClient(); const currentUser = useQuery(api.auth.getCurrentUser, {}); @@ -672,8 +673,17 @@ {#each ausenciasFiltradas as ausencia} - - {ausencia.funcionario?.nome || 'N/A'} + +
+ + + {ausencia.funcionario?.nome || 'N/A'} + +
{#if ausencia.time} diff --git a/apps/web/src/routes/+error.svelte b/apps/web/src/routes/+error.svelte new file mode 100644 index 0000000..af4381e --- /dev/null +++ b/apps/web/src/routes/+error.svelte @@ -0,0 +1,71 @@ + + +
+
+
+ {#if is404} +
+
+ +
+
+

404

+

Página não encontrada

+

+ A página que você está procurando não existe ou foi movida. +

+ {:else if is500} +
+
+ +
+
+

500

+

Erro interno do servidor

+

+ Ocorreu um erro inesperado. Nossa equipe foi notificada e está trabalhando para resolver o problema. +

+ {:else} +
+
+ +
+
+

{status}

+

Erro

+

+ {errorMessage || 'Ocorreu um erro inesperado.'} +

+ {/if} + +
+ + +
+
+
+
+ diff --git a/packages/backend/convex/ausencias.ts b/packages/backend/convex/ausencias.ts index 1f1cc44..3f1665a 100644 --- a/packages/backend/convex/ausencias.ts +++ b/packages/backend/convex/ausencias.ts @@ -29,9 +29,26 @@ export const listarTodas = query({ time = await ctx.db.get(membroTime.timeId); } + // Buscar usuário do funcionário para obter fotoPerfilUrl + let fotoPerfilUrl: string | null = null; + if (funcionario) { + const usuario = await ctx.db + .query('usuarios') + .withIndex('by_funcionarioId', (q) => q.eq('funcionarioId', funcionario._id)) + .first(); + if (usuario?.fotoPerfil) { + fotoPerfilUrl = await ctx.storage.getUrl(usuario.fotoPerfil); + } + } + return { ...s, - funcionario, + funcionario: funcionario + ? { + ...funcionario, + fotoPerfilUrl + } + : null, time }; })