Add bandwidth statistics tab with live chart

- Add new Statistics tab between Downloads and Settings
- Implement real-time bandwidth chart using Canvas (60s history)
- Add session overview with 8 stats cards (speed, downloaded, files, packages, etc.)
- Add provider statistics with progress bars
- Add getSessionStats IPC endpoint
- Support dark/light theme in chart rendering
This commit is contained in:
Sucukdeluxe
2026-03-01 15:56:57 +01:00
parent f5d7ee4d1a
commit a0cdac87e8
11 changed files with 597 additions and 3 deletions
+2
View File
@@ -2,6 +2,7 @@ import type {
AddLinksPayload,
AppSettings,
DuplicatePolicy,
SessionStats,
StartConflictEntry,
StartConflictResolutionResult,
UiSnapshot,
@@ -35,6 +36,7 @@ export interface ElectronApi {
toggleClipboard: () => Promise<boolean>;
pickFolder: () => Promise<string | null>;
pickContainers: () => Promise<string[]>;
getSessionStats: () => Promise<SessionStats>;
onStateUpdate: (callback: (snapshot: UiSnapshot) => void) => () => void;
onClipboardDetected: (callback: (links: string[]) => void) => () => void;
onUpdateInstallProgress: (callback: (progress: UpdateInstallProgress) => void) => () => void;