diff --git a/src/views/components/retrospective-slides.tsx b/src/views/components/retrospective-slides.tsx
index 30af17e..5fddf07 100644
--- a/src/views/components/retrospective-slides.tsx
+++ b/src/views/components/retrospective-slides.tsx
@@ -29,28 +29,25 @@ export function RetrospectiveSlides() {
error: errorSystems,
} = useMetricsBySystems(cpf, ano);
- // Calcula slides baseado nos dados disponíveis
const slides: number[] = [];
- slides.push(0); // Slide inicial
- if (metricsPortal && metricsPortal.length > 0) slides.push(1); // Slide com portal principal
+ slides.push(0);
+ if (metricsPortal && metricsPortal.length > 0) slides.push(1);
if (
(metricsPortal && metricsPortal.length > 0) ||
(metricsSystems && metricsSystems.length > 0)
) {
- slides.push(2); // Slide com podio de aplicações
+ slides.push(2);
}
- slides.push(3); // Slide final
+ slides.push(3);
const isLoading = isLoadingPortal || isLoadingSystems;
const hasError = errorPortal || errorSystems;
- // Extrai total de acessos
const totalAcessos = [
...(metricsPortal || []),
...(metricsSystems || []),
].reduce((acc, item) => acc + item.totalAcessos, 0);
- // Top sistemas/portais por acessos
const topItems = [...(metricsPortal || []), ...(metricsSystems || [])]
.filter((item) => (item.nomeSistema || '').toLowerCase() !== 'agportal')
.sort((a, b) => b.totalAcessos - a.totalAcessos)
@@ -89,247 +86,249 @@ export function RetrospectiveSlides() {
<>
-
-
-
-
+
+
+
+
+
-
- Sua Retrospectiva
-
- Ágape {ano}
-
+
+ Sua Retrospectiva
+
+ Ágape {ano}
+
-
- Um ano de conquistas, eficiência e transparência na gestão
- pública
-
+
+ Um ano de conquistas, eficiência e transparência na gestão
+ pública
+
-
- Transparência
- •
- Eficiência
- •
- Parceria
-
+
+ Transparência
+ •
+ Eficiência
+ •
+ Parceria
+
+
{metricsPortal && metricsPortal.length > 0 && (
<>
- {/* Slide 1: Acessos no AgPortal */}
- {/* Decoração de fundo sutil */}
-
-
+
+
-
+ transition={{ duration: 0.6 }}>
+
+
+
+
+
+
+ AgPortal
+ Sua Porta de Entrada Digital
+
+
+
+
+ O AgPortal é o hub central que conecta todos os
+ colaboradores às ferramentas, sistemas e informações
+ necessárias para o dia a dia de trabalho.
+
-
-
- AgPortal
- Sua Porta de Entrada Digital
-
-
+
+
+
+
+ {metricsPortal
+ .reduce((acc, p) => acc + p.totalAcessos, 0)
+ .toLocaleString('pt-BR')}
+
- {/* Descrição */}
-
- O AgPortal é o hub central que conecta todos os
- colaboradores às ferramentas, sistemas e informações
- necessárias para o dia a dia de trabalho.
-
-
-
-
-
-
-
- {metricsPortal
- .reduce((acc, p) => acc + p.totalAcessos, 0)
- .toLocaleString('pt-BR')}
+
+
+ Acessos em {ano}
+
+
-
-
-
- Acessos em {ano}
-
-
-
-
+
+
- {/* Slide 2: Top 5 Aplicativos com Horas */}
-
-
-
-
-
-
- Top 5 Aplicativos
-
-
+
+
+
+
+
+
+
+ Top 5 Aplicativos
+
+
-
- Aplicativos mais acessados
-
+
+ Aplicativos mais acessados
+
-
- Aqui estão as 5 aplicações com mais acessos e o total
- de horas registradas nelas durante o ano.
-
-
-
+
+ Aqui estão as 5 aplicações com mais acessos e o
+ total de horas registradas nelas durante o ano.
+
+
+
-
-
- {topItems.slice(0, 5).map((item, index) => {
- const medalColors = [
- 'bg-yellow-400 text-yellow-900',
- 'bg-gray-300 text-gray-900',
- 'bg-orange-400 text-orange-900',
- 'bg-blue-400/20 text-blue-300',
- 'bg-purple-400/20 text-purple-300',
- ];
- const isMedal = index < 3;
- const medalColor =
- medalColors[index] || 'bg-white/20';
-
- return (
-
-
- {index === 0 && '🥇'}
- {index === 1 && '🥈'}
- {index === 2 && '🥉'}
- {index >= 3 && `#${index + 1}`}
-
-
-
-
- {item.nomeSistema}
-
-
- {item.totalAcessos.toLocaleString('pt-BR')}{' '}
- acessos •{' '}
- {Math.round(
- item.horasLogadas || 0,
- ).toLocaleString('pt-BR')}{' '}
- h
-
-
+
+
+ {topItems.slice(0, 5).map((item, index) => {
+ const medalColors = [
+ 'bg-yellow-400 text-yellow-900',
+ 'bg-gray-300 text-gray-900',
+ 'bg-orange-400 text-orange-900',
+ 'bg-blue-400/20 text-blue-300',
+ 'bg-purple-400/20 text-purple-300',
+ ];
+ const isMedal = index < 3;
+ const medalColor =
+ medalColors[index] || 'bg-white/20';
+ return (
-
- {(
- (item.totalAcessos / (totalAcessos || 1)) *
- 100
- ).toFixed(0)}
- %
-
-
-
+
+ {index === 0 && '🥇'}
+ {index === 1 && '🥈'}
+ {index === 2 && '🥉'}
+ {index >= 3 && `#${index + 1}`}
+
+
+
+ {item.nomeSistema}
+
+
+ {item.totalAcessos.toLocaleString('pt-BR')}{' '}
+ acessos •{' '}
+ {Math.round(
+ item.horasLogadas || 0,
+ ).toLocaleString('pt-BR')}{' '}
+ h
+
+
+
+
+
+ {(
+ (item.totalAcessos / (totalAcessos || 1)) *
+ 100
+ ).toFixed(0)}
+ %
+
+
+
+
+
-
- );
- })}
+ );
+ })}
+
@@ -338,59 +337,60 @@ export function RetrospectiveSlides() {
)}
-
-
-
-
-
+
+
+
+
+
+
-
- A Ágape deseja a você um {ano + 1} repleto de sucesso!
-
+
+ A Ágape deseja a você um {ano + 1} repleto de sucesso!
+
-
- Obrigado por fazer parte desta jornada de transformação
- digital na gestão pública. Sua dedicação é essencial para
- construirmos um serviço público mais eficiente e
- transparente.
-
-
-
- © {ano} Ágape Sistemas e Tecnologia
-
- O Futuro da Gestão Pública começa aqui!
+
+ Obrigado por fazer parte desta jornada de transformação
+ digital na gestão pública. Sua dedicação é essencial para
+ construirmos um serviço público mais eficiente e
+ transparente.
-
-
-
-
-
console.log('Contact clicked')}
- />
+
+ © {ano} Ágape Sistemas e Tecnologia
+
+ O Futuro da Gestão Pública começa aqui!
+
+
+
+
+
+
+
console.log('Contact clicked')}
+ />
+
@@ -400,4 +400,4 @@ export function RetrospectiveSlides() {
)}
);
-}
+}
\ No newline at end of file