From c068715fc1db03826b206fcc5138b5986b97d64c Mon Sep 17 00:00:00 2001
From: killer-cf
Date: Sat, 13 Dec 2025 10:50:57 -0300
Subject: [PATCH] refactor: remove ActionGuard and MenuProtection components,
simplifying permission checks in various dashboard routes and enhancing
footer with privacy policy link
---
.../web/src/lib/components/ActionGuard.svelte | 75 ------
apps/web/src/lib/components/Footer.svelte | 5 +
.../src/lib/components/MenuProtection.svelte | 123 ----------
.../src/routes/(dashboard)/+layout.server.ts | 6 +-
.../(dashboard)/abrir-chamado/+page.server.ts | 3 +
.../(dashboard)/alterar-senha/+page.server.ts | 3 +
.../(dashboard)/compras/+page.server.ts | 3 +
.../(dashboard)/compras/atas/+page.server.ts | 3 +
.../compras/objetos/+page.server.ts | 3 +
.../(dashboard)/comunicacao/+page.server.ts | 3 +
.../configuracoes/setores/+page.server.ts | 3 +
.../configuracoes/setores/+page.svelte | 121 +++++----
.../(dashboard)/controladoria/+page.server.ts | 3 +
.../(dashboard)/financeiro/+page.server.ts | 3 +
.../routes/(dashboard)/fluxos/+page.server.ts | 3 +
.../routes/(dashboard)/fluxos/+page.svelte | 39 ++-
.../fluxos/[id]-fluxo/+page.server.ts | 3 +
.../fluxos/[id]-fluxo/+page.svelte | 201 +++++++--------
.../fluxos/[id]/editor/+page.server.ts | 3 +
.../fluxos/instancias/+page.server.ts | 3 +
.../fluxos/instancias/+page.svelte | 39 ++-
.../gestao-pessoas/+page.server.ts | 3 +
.../gestao-ausencias/+page.server.ts | 3 +
.../(dashboard)/juridico/+page.server.ts | 3 +
.../(dashboard)/licitacoes/+page.server.ts | 3 +
.../licitacoes/contratos/+page.server.ts | 3 +
.../licitacoes/contratos/[id]/+page.server.ts | 3 +
.../licitacoes/contratos/novo/+page.server.ts | 3 +
.../licitacoes/empresas/+page.server.ts | 3 +
.../licitacoes/fluxos/+page.svelte | 39 ++-
.../licitacoes/fluxos/[id]/+page.server.ts | 3 +
.../licitacoes/fluxos/[id]/+page.svelte | 231 ++++++++----------
.../(dashboard)/pedidos/+page.server.ts | 3 +
.../(dashboard)/pedidos/[id]/+page.server.ts | 3 +
.../pedidos/aceite/+page.server.ts | 3 +
.../pedidos/minhas-analises/+page.server.ts | 3 +
.../(dashboard)/pedidos/novo/+page.server.ts | 3 +
.../routes/(dashboard)/perfil/+page.server.ts | 3 +
.../perfil/chamados/+page.server.ts | 3 +
.../perfil/privacidade/+page.server.ts | 3 +
.../privacidade/meus-dados/+page.svelte | 0
.../programas-esportivos/+page.server.ts | 3 +
.../acoes/+page.server.ts | 3 +
.../atestados-licencas/+page.server.ts | 3 +
.../ausencias/+page.server.ts | 3 +
.../controle-ponto/+page.server.ts | 4 +
.../banco-horas/+page.server.ts | 3 +
.../controle-ponto/dispensa/+page.server.ts | 3 +
.../homologacao/+page.server.ts | 3 +
.../recursos-humanos/ferias/+page.server.ts | 3 +
.../funcionarios/+page.server.ts | 3 +
.../[funcionarioId]/+page.server.ts | 3 +
.../funcionarios/cadastro/+page.server.ts | 3 +
.../funcionarios/excluir/+page.server.ts | 3 +
.../funcionarios/relatorios/+page.server.ts | 3 +
.../recursos-humanos/simbolos/+page.server.ts | 3 +
.../[simboloId]/editar/+page.server.ts | 3 +
.../simbolos/cadastro/+page.server.ts | 3 +
.../secretaria-executiva/+page.server.ts | 3 +
.../gestao-ausencias/+page.server.ts | 3 +
.../termo-consentimento/+page.server.ts | 3 +
.../esqueci-senha/+page.svelte | 0
.../src/routes/(public)/login/+page.svelte | 3 +-
.../privacidade/+page.svelte | 56 +++--
64 files changed, 504 insertions(+), 585 deletions(-)
delete mode 100644 apps/web/src/lib/components/ActionGuard.svelte
delete mode 100644 apps/web/src/lib/components/MenuProtection.svelte
create mode 100644 apps/web/src/routes/(dashboard)/abrir-chamado/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/alterar-senha/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/compras/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/compras/atas/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/compras/objetos/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/comunicacao/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/configuracoes/setores/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/controladoria/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/financeiro/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/fluxos/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/fluxos/[id]/editor/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/fluxos/instancias/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/gestao-pessoas/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/juridico/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/licitacoes/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/licitacoes/contratos/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/licitacoes/contratos/[id]/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/licitacoes/contratos/novo/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/pedidos/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/pedidos/[id]/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/pedidos/aceite/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/pedidos/minhas-analises/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/pedidos/novo/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/perfil/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/perfil/chamados/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/perfil/privacidade/+page.server.ts
rename apps/web/src/routes/(dashboard)/{ => perfil}/privacidade/meus-dados/+page.svelte (100%)
create mode 100644 apps/web/src/routes/(dashboard)/programas-esportivos/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/programas-esportivos/acoes/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/banco-horas/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/dispensa/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/homologacao/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/ferias/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/[funcionarioId]/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/cadastro/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/excluir/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/relatorios/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/[simboloId]/editar/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/cadastro/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/secretaria-executiva/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.server.ts
create mode 100644 apps/web/src/routes/(dashboard)/termo-consentimento/+page.server.ts
rename apps/web/src/routes/{(dashboard) => (public)}/esqueci-senha/+page.svelte (100%)
rename apps/web/src/routes/{(dashboard) => (public)}/privacidade/+page.svelte (93%)
diff --git a/apps/web/src/lib/components/ActionGuard.svelte b/apps/web/src/lib/components/ActionGuard.svelte
deleted file mode 100644
index ba8086b..0000000
--- a/apps/web/src/lib/components/ActionGuard.svelte
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-{#if verificando}
-
-
-
-
Verificando permissões...
-
-
-{:else if permitido}
- {@render children?.()}
-{:else}
-
-
-
-
-
-
Acesso Negado
-
Você não tem permissão para acessar esta ação.
-
-
-{/if}
diff --git a/apps/web/src/lib/components/Footer.svelte b/apps/web/src/lib/components/Footer.svelte
index 850978c..684ca51 100644
--- a/apps/web/src/lib/components/Footer.svelte
+++ b/apps/web/src/lib/components/Footer.svelte
@@ -25,6 +25,11 @@
class="hover:text-primary transition-colors">Portal do Governo
+
+ Política de Privacidade
+
Suporte
- import { useQuery } from 'convex-svelte';
- import { api } from '@sgse-app/backend/convex/_generated/api';
- import { onMount } from 'svelte';
- import { goto } from '$app/navigation';
- import { resolve } from '$app/paths';
-
- interface MenuProtectionProps {
- menuPath: string;
- requireGravar?: boolean;
- children?: any;
- redirectTo?: string;
- }
-
- let {
- menuPath,
- requireGravar = false,
- children,
- redirectTo = '/'
- }: MenuProtectionProps = $props();
-
- let verificando = $state(true);
- let temPermissao = $state(false);
- let motivoNegacao = $state('');
-
- // Usuário atual (para autenticação básica)
- const currentUser = useQuery(api.auth.getCurrentUser, {});
-
- onMount(() => {
- verificarPermissoes();
- });
-
- $effect(() => {
- // Re-verificar quando o status do usuário atual mudar
- verificarPermissoes();
- });
-
- function verificarPermissoes() {
- // Dashboard e abertura de chamados são públicos
- if (menuPath === '/' || menuPath === '/abrir-chamado') {
- verificando = false;
- temPermissao = true;
- return;
- }
-
- // Se não está autenticado
- if (!currentUser?.data) {
- verificando = false;
- temPermissao = false;
- motivoNegacao = 'auth_required';
-
- // Redirecionar para a página de login e salvar rota de redirecionamento
- const currentPath = window.location.pathname;
- goto(`${resolve('/login')}?redirect=${encodeURIComponent(currentPath)}`, {
- replaceState: true,
- noScroll: true
- });
- return;
- }
-
- // Se está autenticado, permitir acesso (component está sem verificação de menu específica no momento)
- verificando = false;
- temPermissao = true;
- }
-
-
-{#if verificando}
-
-
- {#if motivoNegacao === 'auth_required'}
-
-
Acesso Restrito
-
- Esta área requer autenticação.
- Por favor, faça login para continuar.
-
- {:else}
-
-
Verificando permissões...
- {/if}
-
-
-{:else if temPermissao}
- {@render children?.()}
-{:else}
-
-
-
-
Acesso Negado
-
Você não tem permissão para acessar esta página.
-
-
-{/if}
diff --git a/apps/web/src/routes/(dashboard)/+layout.server.ts b/apps/web/src/routes/(dashboard)/+layout.server.ts
index 0239185..af4e7b3 100644
--- a/apps/web/src/routes/(dashboard)/+layout.server.ts
+++ b/apps/web/src/routes/(dashboard)/+layout.server.ts
@@ -3,16 +3,16 @@ import { api } from '@sgse-app/backend/convex/_generated/api';
import { error, redirect } from '@sveltejs/kit';
import type { FunctionReference } from 'convex/server';
-export const load = async ({ locals }) => {
+export const load = async ({ locals, url }) => {
if (!locals.token) {
- throw redirect(302, '/login');
+ throw redirect(302, '/login?redirect=' + url.pathname);
}
try {
const client = createConvexHttpClient({ token: locals.token });
const currentUser = await client.query(api.auth.getCurrentUser as FunctionReference<'query'>);
if (!currentUser) {
- throw redirect(302, '/login');
+ throw redirect(302, '/login?redirect=' + url.pathname);
}
return { currentUser };
} catch {
diff --git a/apps/web/src/routes/(dashboard)/abrir-chamado/+page.server.ts b/apps/web/src/routes/(dashboard)/abrir-chamado/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/abrir-chamado/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/alterar-senha/+page.server.ts b/apps/web/src/routes/(dashboard)/alterar-senha/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/alterar-senha/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/compras/+page.server.ts b/apps/web/src/routes/(dashboard)/compras/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/compras/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/compras/atas/+page.server.ts b/apps/web/src/routes/(dashboard)/compras/atas/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/compras/atas/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/compras/objetos/+page.server.ts b/apps/web/src/routes/(dashboard)/compras/objetos/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/compras/objetos/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/comunicacao/+page.server.ts b/apps/web/src/routes/(dashboard)/comunicacao/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/comunicacao/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.server.ts b/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.svelte b/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.svelte
index 36c9437..9a42760 100644
--- a/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/configuracoes/setores/+page.svelte
@@ -2,7 +2,6 @@
import { api } from '@sgse-app/backend/convex/_generated/api';
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
import { useConvexClient, useQuery } from 'convex-svelte';
- import ActionGuard from '$lib/components/ActionGuard.svelte';
const client = useConvexClient();
@@ -232,25 +231,23 @@
-
-
-
+
@@ -307,52 +304,48 @@
{formatDate(setor.createdAt)} |
-
-
-
- openDeleteModal(setor)}
- aria-label="Excluir setor {setor.nome}"
+
+
+
+ openDeleteModal(setor)}
+ aria-label="Excluir setor {setor.nome}"
+ >
+
-
-
-
-
-
+
+
+
|
diff --git a/apps/web/src/routes/(dashboard)/controladoria/+page.server.ts b/apps/web/src/routes/(dashboard)/controladoria/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/controladoria/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/financeiro/+page.server.ts b/apps/web/src/routes/(dashboard)/financeiro/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/financeiro/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/fluxos/+page.server.ts b/apps/web/src/routes/(dashboard)/fluxos/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/fluxos/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/fluxos/+page.svelte b/apps/web/src/routes/(dashboard)/fluxos/+page.svelte
index 153a956..41b48a0 100644
--- a/apps/web/src/routes/(dashboard)/fluxos/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/fluxos/+page.svelte
@@ -3,7 +3,6 @@
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
import { useConvexClient, useQuery } from 'convex-svelte';
import { goto } from '$app/navigation';
- import ActionGuard from '$lib/components/ActionGuard.svelte';
const client = useConvexClient();
@@ -164,26 +163,24 @@
-
-
-
-
-
- Novo Template
-
-
+
+
+
+
+ Novo Template
+
diff --git a/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.server.ts b/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.svelte b/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.svelte
index 5ace5bf..a2a4d1e 100644
--- a/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/fluxos/[id]-fluxo/+page.svelte
@@ -4,7 +4,6 @@
import { useConvexClient, useQuery } from 'convex-svelte';
import { resolve } from '$app/paths';
import { page } from '$app/stores';
- import ActionGuard from '$lib/components/ActionGuard.svelte';
const client = useConvexClient();
let instanceId = $derived($page.params.id as Id<'flowInstances'>);
@@ -416,26 +415,24 @@
{#if instance.status === 'active'}
-
- (showCancelModal = true)}>
-
-
-
- Cancelar Fluxo
-
-
+ (showCancelModal = true)}>
+
+
+
+ Cancelar Fluxo
+
{/if}
@@ -616,67 +613,59 @@
{#if instance.status === 'active'}
{#if step.status === 'pending'}
-
- handleStartStep(step._id)}
- disabled={isProcessing}
- >
- Iniciar
-
-
+
handleStartStep(step._id)}
+ disabled={isProcessing}
+ >
+ Iniciar
+
{:else if step.status === 'in_progress'}
-
- handleCompleteStep(step._id)}
- disabled={isProcessing}
- >
- Concluir
-
- handleBlockStep(step._id)}
- disabled={isProcessing}
- >
- Bloquear
-
-
+
handleCompleteStep(step._id)}
+ disabled={isProcessing}
+ >
+ Concluir
+
+
handleBlockStep(step._id)}
+ disabled={isProcessing}
+ >
+ Bloquear
+
{:else if step.status === 'blocked'}
-
- handleStartStep(step._id)}
- disabled={isProcessing}
- >
- Desbloquear
-
-
+
handleStartStep(step._id)}
+ disabled={isProcessing}
+ >
+ Desbloquear
+
{/if}
-
- openReassignModal(step)}
- aria-label="Reatribuir responsável"
+ openReassignModal(step)}
+ aria-label="Reatribuir responsável"
+ >
+
-
-
-
-
-
+
+
+
-
- openUploadModal(step)}
- aria-label="Upload de documento"
+ openUploadModal(step)}
+ aria-label="Upload de documento"
+ >
+
-
-
-
-
-
+
+
+
{/if}
@@ -759,15 +746,13 @@
/>
{doc.name}
-
- handleDeleteDocument(doc._id)}
- aria-label="Excluir documento {doc.name}"
- >
- ×
-
-
+ handleDeleteDocument(doc._id)}
+ aria-label="Excluir documento {doc.name}"
+ >
+ ×
+
{/each}
diff --git a/apps/web/src/routes/(dashboard)/fluxos/[id]/editor/+page.server.ts b/apps/web/src/routes/(dashboard)/fluxos/[id]/editor/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/fluxos/[id]/editor/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.server.ts b/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.svelte b/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.svelte
index 30794f0..1d62555 100644
--- a/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/fluxos/instancias/+page.svelte
@@ -3,7 +3,6 @@
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
import { useConvexClient, useQuery } from 'convex-svelte';
import { goto } from '$app/navigation';
- import ActionGuard from '$lib/components/ActionGuard.svelte';
const client = useConvexClient();
@@ -148,26 +147,24 @@
-
-
-
-
-
- Nova Instância
-
-
+
+
+
+
+ Nova Instância
+
diff --git a/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.server.ts b/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/gestao-pessoas/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.server.ts b/apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/gestao-pessoas/gestao-ausencias/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/juridico/+page.server.ts b/apps/web/src/routes/(dashboard)/juridico/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/juridico/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/+page.server.ts b/apps/web/src/routes/(dashboard)/licitacoes/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/contratos/+page.server.ts b/apps/web/src/routes/(dashboard)/licitacoes/contratos/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/contratos/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/contratos/[id]/+page.server.ts b/apps/web/src/routes/(dashboard)/licitacoes/contratos/[id]/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/contratos/[id]/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/contratos/novo/+page.server.ts b/apps/web/src/routes/(dashboard)/licitacoes/contratos/novo/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/contratos/novo/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.server.ts b/apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/empresas/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/fluxos/+page.svelte b/apps/web/src/routes/(dashboard)/licitacoes/fluxos/+page.svelte
index 29bc7d6..7f6341c 100644
--- a/apps/web/src/routes/(dashboard)/licitacoes/fluxos/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/licitacoes/fluxos/+page.svelte
@@ -3,7 +3,6 @@
import type { Id } from '@sgse-app/backend/convex/_generated/dataModel';
import { useConvexClient, useQuery } from 'convex-svelte';
import { goto } from '$app/navigation';
- import ActionGuard from '$lib/components/ActionGuard.svelte';
const client = useConvexClient();
@@ -148,26 +147,24 @@
-
-
-
-
-
- Novo Fluxo
-
-
+
+
+
+
+ Novo Fluxo
+
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.server.ts b/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.svelte b/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.svelte
index b5c5eeb..339982a 100644
--- a/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/licitacoes/fluxos/[id]/+page.svelte
@@ -5,7 +5,6 @@
import { goto } from '$app/navigation';
import { resolve } from '$app/paths';
import { page } from '$app/stores';
- import ActionGuard from '$lib/components/ActionGuard.svelte';
import RelogioPrazo from '$lib/components/RelogioPrazo.svelte';
const client = useConvexClient();
@@ -651,26 +650,24 @@
{#if instance.status === 'active'}
-
- (showCancelModal = true)}>
-
-
-
- Cancelar Fluxo
-
-
+ (showCancelModal = true)}>
+
+
+
+ Cancelar Fluxo
+
{/if}
@@ -867,68 +864,60 @@
{#if instance.status === 'active'}
{#if step.status === 'pending'}
-
- handleStartStep(step._id)}
- disabled={isProcessing}
- >
- Iniciar
-
-
+
handleStartStep(step._id)}
+ disabled={isProcessing}
+ >
+ Iniciar
+
{:else if step.status === 'in_progress'}
-
- handleCompleteStep(step._id)}
- disabled={isProcessing}
- >
- Concluir
-
- handleBlockStep(step._id)}
- disabled={isProcessing}
- >
- Bloquear
-
-
+
handleCompleteStep(step._id)}
+ disabled={isProcessing}
+ >
+ Concluir
+
+
handleBlockStep(step._id)}
+ disabled={isProcessing}
+ >
+ Bloquear
+
{:else if step.status === 'blocked'}
-
- handleStartStep(step._id)}
- disabled={isProcessing}
- >
- Desbloquear
-
-
+
handleStartStep(step._id)}
+ disabled={isProcessing}
+ >
+ Desbloquear
+
{/if}
-
- openReassignModal(step)}
- aria-label="Reatribuir responsável"
- title="Reatribuir responsável"
+ openReassignModal(step)}
+ aria-label="Reatribuir responsável"
+ title="Reatribuir responsável"
+ >
+
-
-
-
-
-
+
+
+
{/if}
@@ -1104,30 +1093,28 @@
{/if}
{#if instance.status === 'active'}
-
- openUploadModal(step)}
- aria-label="Upload de documento"
+ openUploadModal(step)}
+ aria-label="Upload de documento"
+ >
+
-
-
-
- Enviar
-
-
+
+
+ Enviar
+
{/if}
@@ -1158,29 +1145,27 @@
{#if instance.status === 'active'}
-
- handleDeleteDocument(doc._id)}
- aria-label="Excluir documento {doc.name}"
+ handleDeleteDocument(doc._id)}
+ aria-label="Excluir documento {doc.name}"
+ >
+
-
-
-
-
-
+
+
+
{/if}
{/each}
diff --git a/apps/web/src/routes/(dashboard)/pedidos/+page.server.ts b/apps/web/src/routes/(dashboard)/pedidos/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/pedidos/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/pedidos/[id]/+page.server.ts b/apps/web/src/routes/(dashboard)/pedidos/[id]/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/pedidos/[id]/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/pedidos/aceite/+page.server.ts b/apps/web/src/routes/(dashboard)/pedidos/aceite/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/pedidos/aceite/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/pedidos/minhas-analises/+page.server.ts b/apps/web/src/routes/(dashboard)/pedidos/minhas-analises/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/pedidos/minhas-analises/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/pedidos/novo/+page.server.ts b/apps/web/src/routes/(dashboard)/pedidos/novo/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/pedidos/novo/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/perfil/+page.server.ts b/apps/web/src/routes/(dashboard)/perfil/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/perfil/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/perfil/chamados/+page.server.ts b/apps/web/src/routes/(dashboard)/perfil/chamados/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/perfil/chamados/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/perfil/privacidade/+page.server.ts b/apps/web/src/routes/(dashboard)/perfil/privacidade/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/perfil/privacidade/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/privacidade/meus-dados/+page.svelte b/apps/web/src/routes/(dashboard)/perfil/privacidade/meus-dados/+page.svelte
similarity index 100%
rename from apps/web/src/routes/(dashboard)/privacidade/meus-dados/+page.svelte
rename to apps/web/src/routes/(dashboard)/perfil/privacidade/meus-dados/+page.svelte
diff --git a/apps/web/src/routes/(dashboard)/programas-esportivos/+page.server.ts b/apps/web/src/routes/(dashboard)/programas-esportivos/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/programas-esportivos/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/programas-esportivos/acoes/+page.server.ts b/apps/web/src/routes/(dashboard)/programas-esportivos/acoes/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/programas-esportivos/acoes/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/atestados-licencas/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/ausencias/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/+page.server.ts
new file mode 100644
index 0000000..d5152b0
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/+page.server.ts
@@ -0,0 +1,4 @@
+export const load = async ({ parent }) => {
+ const { currentUser } = await parent();
+ console.log(currentUser);
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/banco-horas/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/banco-horas/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/banco-horas/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/dispensa/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/dispensa/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/dispensa/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/homologacao/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/homologacao/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/controle-ponto/homologacao/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/ferias/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/ferias/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/ferias/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/[funcionarioId]/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/[funcionarioId]/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/[funcionarioId]/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/cadastro/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/cadastro/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/cadastro/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/excluir/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/excluir/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/excluir/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/relatorios/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/relatorios/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/funcionarios/relatorios/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/[simboloId]/editar/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/[simboloId]/editar/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/[simboloId]/editar/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/cadastro/+page.server.ts b/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/cadastro/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/simbolos/cadastro/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.server.ts b/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/secretaria-executiva/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.server.ts b/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/secretaria-executiva/gestao-ausencias/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/termo-consentimento/+page.server.ts b/apps/web/src/routes/(dashboard)/termo-consentimento/+page.server.ts
new file mode 100644
index 0000000..166f51d
--- /dev/null
+++ b/apps/web/src/routes/(dashboard)/termo-consentimento/+page.server.ts
@@ -0,0 +1,3 @@
+export const load = async ({ parent }) => {
+ await parent();
+};
diff --git a/apps/web/src/routes/(dashboard)/esqueci-senha/+page.svelte b/apps/web/src/routes/(public)/esqueci-senha/+page.svelte
similarity index 100%
rename from apps/web/src/routes/(dashboard)/esqueci-senha/+page.svelte
rename to apps/web/src/routes/(public)/esqueci-senha/+page.svelte
diff --git a/apps/web/src/routes/(public)/login/+page.svelte b/apps/web/src/routes/(public)/login/+page.svelte
index a00edc1..2aabd1b 100644
--- a/apps/web/src/routes/(public)/login/+page.svelte
+++ b/apps/web/src/routes/(public)/login/+page.svelte
@@ -63,7 +63,6 @@
}
const gpsPromise = coletarGPS();
-
const result = await authClient.signIn.email(
{ email: matricula.trim(), password: senha },
{
@@ -158,7 +157,7 @@
}
})();
- await goto(resolve(redirectAfterLogin as any), { replaceState: true });
+ await goto(resolve(redirectAfterLogin as string), { replaceState: true });
} else {
erroLogin = result.error?.message || 'Erro ao fazer login';
}
diff --git a/apps/web/src/routes/(dashboard)/privacidade/+page.svelte b/apps/web/src/routes/(public)/privacidade/+page.svelte
similarity index 93%
rename from apps/web/src/routes/(dashboard)/privacidade/+page.svelte
rename to apps/web/src/routes/(public)/privacidade/+page.svelte
index a905b4b..aef4f9a 100644
--- a/apps/web/src/routes/(dashboard)/privacidade/+page.svelte
+++ b/apps/web/src/routes/(public)/privacidade/+page.svelte
@@ -3,6 +3,10 @@
import { Shield, FileText, Mail, Phone, Calendar } from 'lucide-svelte';
import { useQuery } from 'convex-svelte';
import { api } from '@sgse-app/backend/convex/_generated/api';
+ import { useAuth } from '@mmailaender/convex-better-auth-svelte/svelte';
+
+ const auth = useAuth();
+ const isAuthenticated = $derived(auth.isAuthenticated);
const configLGPD = useQuery(api.lgpd.obterConfiguracaoLGPD, {});
@@ -66,7 +70,7 @@
-
+
Dados de Identificação
@@ -76,7 +80,7 @@
-
+
Dados de Contato
@@ -85,7 +89,7 @@
-
+
Dados Profissionais
@@ -95,7 +99,7 @@
-
+
Dados de Saúde
@@ -105,7 +109,7 @@
-
+
Dados de Acesso
@@ -346,15 +350,17 @@
-
+ {#if isAuthenticated}
+
+ {/if}
@@ -420,15 +426,17 @@
-
+ {#if isAuthenticated}
+
+ {/if}