diff --git a/src/app/(protected)/administrativo/(client)/clientes/[id]/page.tsx b/src/app/(protected)/administrativo/(client)/clientes/[id]/page.tsx
index 8f9fe33..e38fd79 100644
--- a/src/app/(protected)/administrativo/(client)/clientes/[id]/page.tsx
+++ b/src/app/(protected)/administrativo/(client)/clientes/[id]/page.tsx
@@ -671,6 +671,39 @@ export default function ClientePage() {
Arquivos de Backup
+
+ {/** Lista os backups mais recentes */}
+ {logBackup?.latest_backups && (
+
+
+ Backup mais recente ({logBackup.latest_backups.data})
+
+
+
+
+
+ | Arquivo |
+ Hora |
+ Tamanho |
+ Caminho |
+
+
+
+ {logBackup.latest_backups.arquivos.map((item) => (
+
+ | {item.nome_arquivo} |
+ {item.dados.hora} |
+ {item.dados.tamanho} |
+ {item.dados.caminho} |
+
+ ))}
+
+
+
+ )}
+
+
+
diff --git a/src/packages/administrativo/hooks/Log/useLogBackupHook.ts b/src/packages/administrativo/hooks/Log/useLogBackupHook.ts
index 3b4af10..837805e 100644
--- a/src/packages/administrativo/hooks/Log/useLogBackupHook.ts
+++ b/src/packages/administrativo/hooks/Log/useLogBackupHook.ts
@@ -15,19 +15,42 @@ export const useLogBackupHook = () => {
try {
const response = await LogBackupService(client_id);
- // Verifica se a API retorna no formato esperado
- //console.log(' Resposta bruta do LogBackupService:', response);
-
// Se a estrutura for { success, message, data }, use response.data
const logData =
response?.data && response.data.backup ? response.data : response;
- setLog(logData); // Armazena só a parte relevante
- setResponse(response); // Mantém o contexto global
+ // --- ETAPA 1: ordenar backups por data ---
+ if (logData.backup) {
+ // Converte o objeto de backups em array [nomeArquivo, dados]
+ const sortedBackups = Object.entries(logData.backup).sort(([, a], [, b]) => {
+ const dateA = a.data.split('/').reverse().join('-');
+ const dateB = b.data.split('/').reverse().join('-');
+ return new Date(dateB).getTime() - new Date(dateA).getTime(); // Mais recente primeiro
+ });
- //console.log(' LogBackup armazenado no estado:', logData);
+ // Reconstrói o objeto ordenado
+ logData.backup = Object.fromEntries(sortedBackups);
+
+ // --- ETAPA 2: obter a data mais recente ---
+ const latestDate = sortedBackups[0][1].data;
+
+ // --- ETAPA 3: filtrar todos os backups dessa data ---
+ const latestBackups = sortedBackups
+ .filter(([, dados]) => dados.data === latestDate)
+ .map(([nome_arquivo, dados]) => ({ nome_arquivo, dados }));
+
+ // --- ETAPA 4: adicionar campo customizado no JSON ---
+ logData.latest_backups = {
+ data: latestDate,
+ arquivos: latestBackups,
+ };
+ }
+
+ // Armazena os dados atualizados no estado
+ setLog(logData);
+ setResponse(response);
} catch (error) {
- console.error(' Erro ao buscar informação do servidor por ID:', error);
+ console.error('Erro ao buscar informação do servidor por ID:', error);
}
};