🚀 Auto-deploy: BrainKP atualizado em 25/07/2026 19:45:08

This commit is contained in:
2026-07-25 19:45:08 +00:00
parent 15845d9be0
commit 6ebb16634a
+15 -6
View File
@@ -359,18 +359,21 @@ function renderBackupList(items) {
list.innerHTML = '<div class="empty"><div class="empty-icon">📭</div>Nenhum backup encontrado</div>'; list.innerHTML = '<div class="empty"><div class="empty-icon">📭</div>Nenhum backup encontrado</div>';
return; return;
} }
list.innerHTML = items.map(item => ` list.innerHTML = items.map(item => {
const appName = getAppBaseName(item.name);
return `
<div class="backup-item"> <div class="backup-item">
<div class="bi-left"> <div class="bi-left" style="flex: 1; display: flex; align-items: center; gap: 12px; min-width: 0;">
<span class="bi-name">${item.name}</span> <span class="badge yellow" style="min-width: 100px; max-width: 120px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" title="${appName}">${appName}</span>
<span class="bi-date">${formatDateTime(item.modified)}</span> <span class="bi-name" style="flex: 1; min-width: 0;">${item.name}</span>
<span class="bi-date" style="white-space: nowrap; margin-right: 10px;">${formatDateTime(item.modified)}</span>
</div> </div>
<div class="bi-right"> <div class="bi-right">
<span class="bi-size">${formatSize(item.size)}</span> <span class="bi-size" style="min-width: 60px; text-align: right;">${formatSize(item.size)}</span>
<button class="restore-btn" onclick="openRestoreModal('${currentTab}', '${item.name}', '${item.size}')">Restaurar</button> <button class="restore-btn" onclick="openRestoreModal('${currentTab}', '${item.name}', '${item.size}')">Restaurar</button>
</div> </div>
</div> </div>
`).join(''); `}).join('');
} }
function renderRepos(grouped) { function renderRepos(grouped) {
@@ -659,6 +662,12 @@ function getTypeLabel(type) {
return {apps:'📦 Apps', bd:'🗄️ Banco de Dados', git:'🐙 Git Full', repos:'📁 Repositórios'}[type] || type; return {apps:'📦 Apps', bd:'🗄️ Banco de Dados', git:'🐙 Git Full', repos:'📁 Repositórios'}[type] || type;
} }
function getAppBaseName(filename) {
const match = filename.match(/(.*?)(?:-\d{8}_\d{6})/);
if (match) return match[1];
return filename.split('-')[0];
}
// Auto-refresh every 30s // Auto-refresh every 30s
setInterval(() => { setInterval(() => {
if (document.getElementById('app').style.display !== 'none') { if (document.getElementById('app').style.display !== 'none') {