Add persistent all-time download counter, session vs total stats

- Track totalDownloadedAllTime in settings (persists across restarts)
- Track sessionDownloadedBytes for current app session
- Status bar shows both: Session + Gesamt
- Statistics section shows Heruntergeladen (Session) + (Gesamt)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sucukdeluxe
2026-03-02 19:00:17 +01:00
co-authored by Claude Opus 4.6
parent 4ea3a75dc0
commit 3c510fc265
6 changed files with 18 additions and 3 deletions
+8 -2
View File
@@ -51,6 +51,7 @@ interface LinkPopupState {
const emptyStats = (): DownloadStats => ({
totalDownloaded: 0,
totalDownloadedAllTime: 0,
totalFiles: 0,
totalPackages: 0,
sessionStartedAt: 0
@@ -2124,9 +2125,13 @@ export function App(): ReactElement {
<span className="stat-value">{snapshot.speedText.replace("Geschwindigkeit: ", "")}</span>
</div>
<div className="stat-item">
<span className="stat-label">Gesamt heruntergeladen</span>
<span className="stat-label">Heruntergeladen (Session)</span>
<span className="stat-value">{humanSize(snapshot.stats.totalDownloaded)}</span>
</div>
<div className="stat-item">
<span className="stat-label">Heruntergeladen (Gesamt)</span>
<span className="stat-value">{humanSize(snapshot.stats.totalDownloadedAllTime)}</span>
</div>
<div className="stat-item">
<span className="stat-label">Fertige Dateien</span>
<span className="stat-value">{snapshot.stats.totalFiles}</span>
@@ -2476,7 +2481,8 @@ export function App(): ReactElement {
<footer className="status-bar">
<span>Pakete: {snapshot.stats.totalPackages}</span>
<span>Links: {Object.keys(snapshot.session.items).length}</span>
<span>Gesamt geladen: {humanSize(snapshot.stats.totalDownloaded)}</span>
<span>Session: {humanSize(snapshot.stats.totalDownloaded)}</span>
<span>Gesamt: {humanSize(snapshot.stats.totalDownloadedAllTime)}</span>
<span>Hoster: {configuredProviders.length}</span>
<span>{snapshot.speedText}</span>
<span>{snapshot.etaText}</span>