fix(backup-history): show Total + Other so per-row sums match the count
The "Content Backed Up" panel in Backup History only counted two categories (Photos + Archives), so a 3-file backup that landed all 3 in business-docs (Ralf's case after the storage truncation + restore tonight) showed: Photos (0 of 0) Archives (0) → total: 3 files The discrepancy made admins wonder where the 3 files actually went. Adds two rows: - "Business documents & other" = files_processed - photos - archives - "Total files" = files_processed So the math adds up regardless of which Stage B path the files came from. Properly per-path-category breakdown requires backend-side per-path counters (separate follow-up); this commit closes the visible-discrepancy gap without that schema change. i18n: en + de added; other locales fall back to en until reviewed.
This commit is contained in:
@@ -281,7 +281,16 @@ export const BackupHistory = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Content Backed Up */}
|
{/* Content Backed Up
|
||||||
|
Stage B's config-driven walker covers 7 path categories
|
||||||
|
(events/active, events/archived, thumbnails, previews,
|
||||||
|
heroes, uploads, business-docs). This pane historically
|
||||||
|
only counted 2 of them (photos + archives), so the
|
||||||
|
per-row sums never matched the total — Ralf 2026-05-30
|
||||||
|
flagged a 3 files total with 0+0 visible breakdown.
|
||||||
|
Adds an explicit Total + an "Other" bucket so the
|
||||||
|
arithmetic adds up even when the backend doesn't yet
|
||||||
|
expose per-path counts. */}
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<h4 className="font-medium text-neutral-900 dark:text-neutral-100">{t('backup.history.details.contentBackedUp')}</h4>
|
<h4 className="font-medium text-neutral-900 dark:text-neutral-100">{t('backup.history.details.contentBackedUp')}</h4>
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
@@ -301,6 +310,28 @@ export const BackupHistory = () => {
|
|||||||
Archives ({stats.archives_backed_up || 0})
|
Archives ({stats.archives_backed_up || 0})
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
{(() => {
|
||||||
|
const total = Number(stats.files_processed) || 0;
|
||||||
|
const accounted =
|
||||||
|
(Number(stats.photos_backed_up) || 0)
|
||||||
|
+ (Number(stats.archives_backed_up) || 0);
|
||||||
|
const other = Math.max(total - accounted, 0);
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="flex items-center space-x-2">
|
||||||
|
<FileArchive className={`h-4 w-4 ${other > 0 ? 'text-green-500' : 'text-neutral-300 dark:text-neutral-600'}`} />
|
||||||
|
<span className="text-sm text-neutral-700 dark:text-neutral-300">
|
||||||
|
{t('backup.history.details.otherFiles', 'Business documents & other')} ({other})
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center space-x-2 pt-1 border-t border-neutral-200 dark:border-neutral-700">
|
||||||
|
<span className="text-xs uppercase tracking-wide text-neutral-500 dark:text-neutral-400">
|
||||||
|
{t('backup.history.details.totalFiles', 'Total files')}: {total}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
})()}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -475,7 +475,9 @@
|
|||||||
"completed": "Abgeschlossen",
|
"completed": "Abgeschlossen",
|
||||||
"contentBackedUp": "Gesicherter Inhalt",
|
"contentBackedUp": "Gesicherter Inhalt",
|
||||||
"errorDetails": "Fehlerdetails",
|
"errorDetails": "Fehlerdetails",
|
||||||
"manifest": "Manifest"
|
"manifest": "Manifest",
|
||||||
|
"otherFiles": "Geschäftsdokumente & sonstige",
|
||||||
|
"totalFiles": "Gesamtdateien"
|
||||||
},
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"showing": "Zeige {{from}}-{{to}} von {{total}} Backups",
|
"showing": "Zeige {{from}}-{{to}} von {{total}} Backups",
|
||||||
|
|||||||
@@ -2366,7 +2366,9 @@
|
|||||||
"completed": "Completed",
|
"completed": "Completed",
|
||||||
"contentBackedUp": "Content Backed Up",
|
"contentBackedUp": "Content Backed Up",
|
||||||
"errorDetails": "Error Details",
|
"errorDetails": "Error Details",
|
||||||
"manifest": "Manifest"
|
"manifest": "Manifest",
|
||||||
|
"otherFiles": "Business documents & other",
|
||||||
|
"totalFiles": "Total files"
|
||||||
},
|
},
|
||||||
"pagination": {
|
"pagination": {
|
||||||
"showing": "Showing {{from}}-{{to}} of {{total}} backups",
|
"showing": "Showing {{from}}-{{to}} of {{total}} backups",
|
||||||
|
|||||||
Reference in New Issue
Block a user