@@ -436,20 +364,7 @@
{#if notificacoes.length === 0 && notificacoesFerias.length === 0 && notificacoesAusencias.length === 0}
-
-
-
+
Nenhuma notificação
{/if}
diff --git a/apps/web/src/lib/components/ti/StatsCard.svelte b/apps/web/src/lib/components/ti/StatsCard.svelte
index 8e879ae..8d17419 100644
--- a/apps/web/src/lib/components/ti/StatsCard.svelte
+++ b/apps/web/src/lib/components/ti/StatsCard.svelte
@@ -1,39 +1,42 @@
-
-
-
-
-
- {#if icon}
-
- {@html icon}
-
- {/if}
-
-
{title}
-
{value}
- {#if description}
-
{description}
- {/if}
- {#if trend}
-
- {trend.isPositive ? '↗︎' : '↘︎'} {Math.abs(trend.value)}%
-
- {/if}
-
-
-
-
+
+
+
+
+
+ {#if Icon}
+
+ {:else if icon}
+
+ {@html icon}
+
+ {/if}
+
+
{title}
+
{value}
+ {#if description}
+
{description}
+ {/if}
+ {#if trend}
+
+ {trend.isPositive ? '↗︎' : '↘︎'} {Math.abs(trend.value)}%
+
+ {/if}
+
+
diff --git a/apps/web/src/routes/(dashboard)/+page.svelte b/apps/web/src/routes/(dashboard)/+page.svelte
index fe42423..c3eb11c 100644
--- a/apps/web/src/routes/(dashboard)/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/+page.svelte
@@ -1,582 +1,579 @@
-
-
-
-
- {#if showAlert}
- {@const alertData = getAlertMessage()}
-
-
-
{alertData.icon}
-
-
{alertData.title}
-
{alertData.message}
- {#if alertType === "access_denied"}
-
- {/if}
-
-
✕
-
-
- {/if}
-
-
-
-
-
-
- {getSaudacao()}! 👋
-
-
- Bem-vindo ao Sistema de Gerenciamento da Secretaria de Esportes
-
-
- {currentTime.toLocaleDateString("pt-BR", {
- weekday: "long",
- year: "numeric",
- month: "long",
- day: "numeric",
- })}
- {" - "}
- {currentTime.toLocaleTimeString("pt-BR")}
-
-
-
-
Sistema Online
-
Atualizado
-
-
-
-
-
- {#if statsQuery.isLoading}
-
-
-
- {:else if statsQuery.data}
-
-
-
-
-
-
-
-
-
-
-
- {#if activityQuery.data}
-
- {/if}
-
-
-
- {#if statusSistemaQuery.data && atividadeBDQuery.data && distribuicaoQuery.data}
- {@const status = statusSistemaQuery.data}
- {@const atividade = atividadeBDQuery.data}
- {@const distribuicao = distribuicaoQuery.data}
-
-
-
-
-
-
Monitoramento em Tempo Real
-
- Atualizado a cada segundo • {new Date(status.ultimaAtualizacao).toLocaleTimeString('pt-BR')}
-
-
-
-
-
- LIVE
-
-
-
-
-
-
-
-
-
-
-
Usuários Online
-
{status.usuariosOnline}
-
sessões ativas
-
-
-
-
-
-
-
-
-
-
-
-
Total Registros
-
{status.totalRegistros.toLocaleString('pt-BR')}
-
no banco de dados
-
-
-
-
-
-
-
-
-
-
-
-
Tempo Resposta
-
{status.tempoMedioResposta}ms
-
média atual
-
-
-
-
-
-
-
-
-
-
-
Uso do Sistema
-
-
-
- CPU
- {status.cpuUsada}%
-
-
-
-
-
- Memória
- {status.memoriaUsada}%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Atividade do Banco de Dados
-
Entradas e saídas em tempo real (último minuto)
-
-
-
- Atualizando
-
-
-
-
-
-
- {#each [10, 8, 6, 4, 2, 0] as val}
- {val}
- {/each}
-
-
-
-
-
- {#each Array.from({length: 6}) as _, i}
-
- {/each}
-
-
-
- {#each atividade.historico as ponto, idx}
- {@const maxAtividade = Math.max(...atividade.historico.map(p => Math.max(p.entradas, p.saidas)))}
-
-
-
-
-
-
-
-
-
↑ {ponto.entradas} entradas
-
↓ {ponto.saidas} saídas
-
-
- {/each}
-
-
-
-
-
-
-
-
- -60s
- -30s
- agora
-
-
-
-
-
-
-
-
-
-
-
-
-
Tipos de Operações
-
-
-
- Queries (Leituras)
- {distribuicao.queries}
-
-
-
-
-
- Mutations (Escritas)
- {distribuicao.mutations}
-
-
-
-
-
-
-
-
-
-
Operações no Banco
-
-
-
- Leituras
- {distribuicao.leituras}
-
-
-
-
-
- Escritas
- {distribuicao.escritas}
-
-
-
-
-
-
-
-
- {/if}
-
-
-
-
-
-
-
Status do Sistema
-
-
- Banco de Dados
- Online
-
-
- API
- Operacional
-
-
- Backup
- Atualizado
-
-
-
-
-
-
-
-
-
-
Informações
-
-
- Versão: 1.0.0
-
-
- Última Atualização: {new Date().toLocaleDateString("pt-BR")}
-
-
- Suporte: TI SGSE
-
-
-
-
-
- {/if}
-
-
-
+
+
+
+
+ {#if showAlert}
+ {@const alertData = getAlertMessage()}
+
+
+
{alertData.icon}
+
+
{alertData.title}
+
{alertData.message}
+ {#if alertType === "access_denied"}
+
+ {/if}
+
+
✕
+
+
+ {/if}
+
+
+
+
+
+
+ {getSaudacao()}! 👋
+
+
+ Bem-vindo ao Sistema de Gerenciamento da Secretaria de Esportes
+
+
+ {currentTime.toLocaleDateString("pt-BR", {
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "numeric",
+ })}
+ {" - "}
+ {currentTime.toLocaleTimeString("pt-BR")}
+
+
+
+
Sistema Online
+
Atualizado
+
+
+
+
+
+ {#if statsQuery.isLoading}
+
+
+
+ {:else if statsQuery.data}
+
+
+
+
+
+
+
+
+
+
+
+ {#if activityQuery.data}
+
+ {/if}
+
+
+
+ {#if statusSistemaQuery.data && atividadeBDQuery.data && distribuicaoQuery.data}
+ {@const status = statusSistemaQuery.data}
+ {@const atividade = atividadeBDQuery.data}
+ {@const distribuicao = distribuicaoQuery.data}
+
+
+
+
+
+
Monitoramento em Tempo Real
+
+ Atualizado a cada segundo • {new Date(status.ultimaAtualizacao).toLocaleTimeString('pt-BR')}
+
+
+
+
+
+ LIVE
+
+
+
+
+
+
+
+
+
+
+
Usuários Online
+
{status.usuariosOnline}
+
sessões ativas
+
+
+
+
+
+
+
+
+
+
+
+
Total Registros
+
{status.totalRegistros.toLocaleString('pt-BR')}
+
no banco de dados
+
+
+
+
+
+
+
+
+
+
+
+
Tempo Resposta
+
{status.tempoMedioResposta}ms
+
média atual
+
+
+
+
+
+
+
+
+
+
+
Uso do Sistema
+
+
+
+ CPU
+ {status.cpuUsada}%
+
+
+
+
+
+ Memória
+ {status.memoriaUsada}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Atividade do Banco de Dados
+
Entradas e saídas em tempo real (último minuto)
+
+
+
+ Atualizando
+
+
+
+
+
+
+ {#each [10, 8, 6, 4, 2, 0] as val}
+ {val}
+ {/each}
+
+
+
+
+
+ {#each Array.from({length: 6}) as _, i}
+
+ {/each}
+
+
+
+ {#each atividade.historico as ponto, idx}
+ {@const maxAtividade = Math.max(...atividade.historico.map(p => Math.max(p.entradas, p.saidas)))}
+
+
+
+
+
+
+
+
+
↑ {ponto.entradas} entradas
+
↓ {ponto.saidas} saídas
+
+
+ {/each}
+
+
+
+
+
+
+
+
+ -60s
+ -30s
+ agora
+
+
+
+
+
+
+
+
+
+
+
+
+
Tipos de Operações
+
+
+
+ Queries (Leituras)
+ {distribuicao.queries}
+
+
+
+
+
+ Mutations (Escritas)
+ {distribuicao.mutations}
+
+
+
+
+
+
+
+
+
+
Operações no Banco
+
+
+
+ Leituras
+ {distribuicao.leituras}
+
+
+
+
+
+ Escritas
+ {distribuicao.escritas}
+
+
+
+
+
+
+
+
+ {/if}
+
+
+
+
+
+
+
Status do Sistema
+
+
+ Banco de Dados
+ Online
+
+
+ API
+ Operacional
+
+
+ Backup
+ Atualizado
+
+
+
+
+
+
+
+
+
+
Informações
+
+
+ Versão: 1.0.0
+
+
+ Última Atualização: {new Date().toLocaleDateString("pt-BR")}
+
+
+ Suporte: TI SGSE
+
+
+
+
+
+ {/if}
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/compras/+page.svelte b/apps/web/src/routes/(dashboard)/compras/+page.svelte
index d2964d2..619c5c0 100644
--- a/apps/web/src/routes/(dashboard)/compras/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/compras/+page.svelte
@@ -1,48 +1,43 @@
-
-
-
-
-
-
-
-
-
-
Compras
-
Gestão de compras e aquisições
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo de Compras está sendo desenvolvido e em breve estará disponível com funcionalidades completas para gestão de compras e aquisições.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Compras
+
Gestão de compras e aquisições
+
+
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo de Compras está sendo desenvolvido e em breve estará disponível com funcionalidades completas para gestão de compras e aquisições.
+
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/comunicacao/+page.svelte b/apps/web/src/routes/(dashboard)/comunicacao/+page.svelte
index 31165c4..9caada5 100644
--- a/apps/web/src/routes/(dashboard)/comunicacao/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/comunicacao/+page.svelte
@@ -1,48 +1,43 @@
-
-
-
-
-
-
-
-
-
-
Comunicação
-
Gestão de comunicação institucional
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo de Comunicação está sendo desenvolvido e em breve estará disponível com funcionalidades completas de gestão de comunicação institucional.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Comunicação
+
Gestão de comunicação institucional
+
+
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo de Comunicação está sendo desenvolvido e em breve estará disponível com funcionalidades completas de gestão de comunicação institucional.
+
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/controladoria/+page.svelte b/apps/web/src/routes/(dashboard)/controladoria/+page.svelte
index f74e3be..440da96 100644
--- a/apps/web/src/routes/(dashboard)/controladoria/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/controladoria/+page.svelte
@@ -1,99 +1,88 @@
-
-
-
-
-
-
-
-
-
-
-
-
Controladoria
-
Controle e auditoria interna da secretaria
-
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo de Controladoria está sendo desenvolvido e em breve estará disponível com funcionalidades completas de controle e auditoria.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
-
-
Funcionalidades Previstas
-
-
-
-
-
Controle e verificação de processos internos
-
-
-
-
-
-
-
Conformidade com normas e regulamentos
-
-
-
-
-
-
-
-
Indicadores de Gestão
-
-
Monitoramento de KPIs e métricas
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Controladoria
+
Controle e auditoria interna da secretaria
+
+
+
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo de Controladoria está sendo desenvolvido e em breve estará disponível com funcionalidades completas de controle e auditoria.
+
+
+
+
+
+
+
+
+
Funcionalidades Previstas
+
+
+
+
+
+
+
+
Auditoria Interna
+
+
Controle e verificação de processos internos
+
+
+
+
+
+
+
Conformidade com normas e regulamentos
+
+
+
+
+
+
+
+
+
+
Indicadores de Gestão
+
+
Monitoramento de KPIs e métricas
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/financeiro/+page.svelte b/apps/web/src/routes/(dashboard)/financeiro/+page.svelte
index 6852168..daf2763 100644
--- a/apps/web/src/routes/(dashboard)/financeiro/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/financeiro/+page.svelte
@@ -1,99 +1,88 @@
-
-
-
-
-
-
-
-
-
-
-
-
Financeiro
-
Gestão financeira e orçamentária da secretaria
-
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo Financeiro está sendo desenvolvido e em breve estará disponível com funcionalidades completas de gestão financeira e orçamentária.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
-
-
Funcionalidades Previstas
-
-
-
-
-
-
Controle Orçamentário
-
-
Gestão e acompanhamento do orçamento anual
-
-
-
-
-
-
-
Controle de entradas e saídas financeiras
-
-
-
-
-
-
-
-
Relatórios Financeiros
-
-
Geração de relatórios e demonstrativos
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Financeiro
+
Gestão financeira e orçamentária da secretaria
+
+
+
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo Financeiro está sendo desenvolvido e em breve estará disponível com funcionalidades completas de gestão financeira e orçamentária.
+
+
+
+
+
+
+
+
+
Funcionalidades Previstas
+
+
+
+
+
+
+
+
Controle Orçamentário
+
+
Gestão e acompanhamento do orçamento anual
+
+
+
+
+
+
+
Controle de entradas e saídas financeiras
+
+
+
+
+
+
+
+
+
+
Relatórios Financeiros
+
+
Geração de relatórios e demonstrativos
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/juridico/+page.svelte b/apps/web/src/routes/(dashboard)/juridico/+page.svelte
index 486f80d..b82f26f 100644
--- a/apps/web/src/routes/(dashboard)/juridico/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/juridico/+page.svelte
@@ -1,48 +1,43 @@
-
-
-
-
-
-
-
-
-
-
Jurídico
-
Assessoria jurídica e gestão de processos
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo Jurídico está sendo desenvolvido e em breve estará disponível com funcionalidades completas de assessoria jurídica e gestão de processos.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Jurídico
+
Assessoria jurídica e gestão de processos
+
+
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo Jurídico está sendo desenvolvido e em breve estará disponível com funcionalidades completas de assessoria jurídica e gestão de processos.
+
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/licitacoes/+page.svelte b/apps/web/src/routes/(dashboard)/licitacoes/+page.svelte
index c4255aa..6075af1 100644
--- a/apps/web/src/routes/(dashboard)/licitacoes/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/licitacoes/+page.svelte
@@ -1,99 +1,88 @@
-
-
-
-
-
-
-
-
-
-
-
-
Licitações
-
Gestão de processos licitatórios
-
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo de Licitações está sendo desenvolvido e em breve estará disponível com funcionalidades completas para gestão de processos licitatórios.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
-
-
Funcionalidades Previstas
-
-
-
-
-
-
Processos Licitatórios
-
-
Cadastro e acompanhamento de licitações
-
-
-
-
-
-
-
Cadastro e gestão de fornecedores
-
-
-
-
-
-
-
Gestão de documentos e editais
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Licitações
+
Gestão de processos licitatórios
+
+
+
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo de Licitações está sendo desenvolvido e em breve estará disponível com funcionalidades completas para gestão de processos licitatórios.
+
+
+
+
+
+
+
+
+
Funcionalidades Previstas
+
+
+
+
+
+
+
+
Processos Licitatórios
+
+
Cadastro e acompanhamento de licitações
+
+
+
+
+
+
+
Cadastro e gestão de fornecedores
+
+
+
+
+
+
+
Gestão de documentos e editais
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte b/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte
index 356f023..47809cc 100644
--- a/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/programas-esportivos/+page.svelte
@@ -1,48 +1,43 @@
-
-
-
-
-
-
-
-
-
-
Programas Esportivos
-
Gestão de programas e projetos esportivos
-
-
-
-
-
-
-
-
-
Módulo em Desenvolvimento
-
- O módulo de Programas Esportivos está sendo desenvolvido e em breve estará disponível com funcionalidades completas para gestão de programas e projetos esportivos.
-
-
-
-
-
- Em Desenvolvimento
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Programas Esportivos
+
Gestão de programas e projetos esportivos
+
+
+
+
+
+
+
+
+
Módulo em Desenvolvimento
+
+ O módulo de Programas Esportivos está sendo desenvolvido e em breve estará disponível com funcionalidades completas para gestão de programas e projetos esportivos.
+
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/+page.svelte b/apps/web/src/routes/(dashboard)/recursos-humanos/+page.svelte
index 90cf160..f3e9bec 100644
--- a/apps/web/src/routes/(dashboard)/recursos-humanos/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/recursos-humanos/+page.svelte
@@ -1,281 +1,253 @@
-
-
-
-
-
-
Recursos Humanos
-
- Gerencie funcionários, símbolos e visualize relatórios do departamento
-
-
-
-
- {#if statsQuery.data}
-
-
-
-
-
Total
-
{statsQuery.data.totalFuncionarios}
-
Funcionários cadastrados
-
-
-
-
-
-
-
Ativos
-
{statsQuery.data.funcionariosAtivos}
-
Funcionários ativos
-
-
-
-
-
-
-
Símbolos
-
{statsQuery.data.totalSimbolos}
-
Cargos e funções
-
-
-
-
-
-
-
CC / FG
-
{statsQuery.data.cargoComissionado} / {statsQuery.data.funcaoGratificada}
-
Distribuição
-
-
-
- {/if}
-
-
-
- {#each menuItems as categoria}
-
-
-
-
-
-
- {@html categoria.icon}
-
-
-
-
- {categoria.categoria}
-
-
{categoria.descricao}
-
-
-
-
-
-
-
- {/each}
-
-
-
-
-
-
-
-
-
Precisa de ajuda?
-
- Entre em contato com o suporte técnico ou consulte a documentação do sistema para mais informações sobre as funcionalidades de Recursos Humanos.
-
-
-
-
-
-
+
+
+
+
+
+
Recursos Humanos
+
+ Gerencie funcionários, símbolos e visualize relatórios do departamento
+
+
+
+
+ {#if statsQuery.data}
+
+
+
+
+
+
+
Total
+
{statsQuery.data.totalFuncionarios}
+
Funcionários cadastrados
+
+
+
+
+
+
+
+
+
Ativos
+
{statsQuery.data.funcionariosAtivos}
+
Funcionários ativos
+
+
+
+
+
+
+
+
+
Símbolos
+
{statsQuery.data.totalSimbolos}
+
Cargos e funções
+
+
+
+
+
+
+
+
+
CC / FG
+
{statsQuery.data.cargoComissionado} / {statsQuery.data.funcaoGratificada}
+
Distribuição
+
+
+
+ {/if}
+
+
+
+ {#each menuItems as categoria}
+
+
+
+
+
+
+
+
+
+ {categoria.categoria}
+
+
{categoria.descricao}
+
+
+
+
+
+
+
+ {/each}
+
+
+
+
+
+
+
Precisa de ajuda?
+
+ Entre em contato com o suporte técnico ou consulte a documentação do sistema para mais informações sobre as funcionalidades de Recursos Humanos.
+
+
+
+
+
+
diff --git a/apps/web/src/routes/(dashboard)/ti/painel-administrativo/+page.svelte b/apps/web/src/routes/(dashboard)/ti/painel-administrativo/+page.svelte
index 0349c24..d005651 100644
--- a/apps/web/src/routes/(dashboard)/ti/painel-administrativo/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/ti/painel-administrativo/+page.svelte
@@ -2,6 +2,7 @@
import { useQuery, useConvexClient } from "convex-svelte";
import { api } from "@sgse-app/backend/convex/_generated/api";
import StatsCard from "$lib/components/ti/StatsCard.svelte";
+ import { BarChart3, Users, CheckCircle2, Ban, Clock, Plus, Layers, FileText, Info } from "lucide-svelte";
const client = useConvexClient();
const usuariosQuery = useQuery(api.usuarios.listar, {});
@@ -45,9 +46,7 @@
Dashboard Administrativo TI
@@ -62,7 +61,7 @@
@@ -70,7 +69,7 @@
title="Usuários Ativos"
value={stats.ativos}
description="{stats.total > 0 ? ((stats.ativos / stats.total) * 100).toFixed(1) + '% do total' : '0% do total'}"
- icon='
'
+ Icon={CheckCircle2}
color="success"
/>
@@ -78,7 +77,7 @@
title="Usuários Bloqueados"
value={stats.bloqueados}
description="Requerem atenção"
- icon='
'
+ Icon={Ban}
color="error"
/>
@@ -86,7 +85,7 @@
title="Usuários Inativos"
value={stats.inativos}
description="Desativados"
- icon='
'
+ Icon={Clock}
color="warning"
/>
@@ -102,23 +101,17 @@
Ações Rápidas
@@ -127,9 +120,7 @@
-
-
-
+
Sistema de Gestão da Secretaria de Esportes - Versão 2.0 com controle avançado de acesso
diff --git a/apps/web/src/routes/(dashboard)/ti/perfis/+page.svelte b/apps/web/src/routes/(dashboard)/ti/perfis/+page.svelte
index e61b8e5..0da0cea 100644
--- a/apps/web/src/routes/(dashboard)/ti/perfis/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/ti/perfis/+page.svelte
@@ -6,6 +6,7 @@
import type { Id } from "@sgse-app/backend/convex/_generated/dataModel";
import { format } from "date-fns";
import { ptBR } from "date-fns/locale";
+ import { Users, Shield, AlertTriangle, Info, Building2 } from "lucide-svelte";
type Role = {
_id: Id<"roles">;
@@ -174,35 +175,35 @@
diff --git a/apps/web/src/routes/(dashboard)/ti/solicitacoes-acesso/+page.svelte b/apps/web/src/routes/(dashboard)/ti/solicitacoes-acesso/+page.svelte
index 1034330..43dfb7f 100644
--- a/apps/web/src/routes/(dashboard)/ti/solicitacoes-acesso/+page.svelte
+++ b/apps/web/src/routes/(dashboard)/ti/solicitacoes-acesso/+page.svelte
@@ -6,6 +6,7 @@
import StatsCard from "$lib/components/ti/StatsCard.svelte";
import { format } from "date-fns";
import { ptBR } from "date-fns/locale";
+ import { FileText, Clock, CheckCircle2, XCircle } from "lucide-svelte";
type StatusSolicitacao = "pendente" | "aprovado" | "rejeitado";
@@ -294,7 +295,7 @@
@@ -302,7 +303,7 @@
title="Pendentes"
value={stats.pendentes}
description="{stats.total > 0 ? ((stats.pendentes / stats.total) * 100).toFixed(1) + '% do total' : '0% do total'}"
- icon='
'
+ Icon={Clock}
color="warning"
/>
@@ -310,7 +311,7 @@
title="Aprovadas"
value={stats.aprovadas}
description="{stats.total > 0 ? ((stats.aprovadas / stats.total) * 100).toFixed(1) + '% do total' : '0% do total'}"
- icon='
'
+ Icon={CheckCircle2}
color="success"
/>
@@ -318,7 +319,7 @@
title="Rejeitadas"
value={stats.rejeitadas}
description="{stats.total > 0 ? ((stats.rejeitadas / stats.total) * 100).toFixed(1) + '% do total' : '0% do total'}"
- icon='
'
+ Icon={XCircle}
color="error"
/>