summaryrefslogtreecommitdiff
path: root/frontend/components/drive/StorageUsage.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/components/drive/StorageUsage.tsx')
-rw-r--r--frontend/components/drive/StorageUsage.tsx38
1 files changed, 13 insertions, 25 deletions
diff --git a/frontend/components/drive/StorageUsage.tsx b/frontend/components/drive/StorageUsage.tsx
index 1f963ce..2cb5d5d 100644
--- a/frontend/components/drive/StorageUsage.tsx
+++ b/frontend/components/drive/StorageUsage.tsx
@@ -18,7 +18,7 @@ export function StorageUsage({ data }: StorageUsageProps) {
18 return ( 18 return (
19 <div className="bg-card rounded-lg border p-4"> 19 <div className="bg-card rounded-lg border p-4">
20 <div className="flex items-center justify-between mb-2"> 20 <div className="flex items-center justify-between mb-2">
21 <span className="text-sm font-medium">Storage Usage</span> 21 <span className="text-sm font-medium">Disk Usage</span>
22 <span className="text-sm text-muted-foreground">Loading...</span> 22 <span className="text-sm text-muted-foreground">Loading...</span>
23 </div> 23 </div>
24 <div className="w-full h-2 bg-gray-200 rounded-full" /> 24 <div className="w-full h-2 bg-gray-200 rounded-full" />
@@ -26,47 +26,35 @@ export function StorageUsage({ data }: StorageUsageProps) {
26 ) 26 )
27 } 27 }
28 28
29 const { activeDriveUsage, totalDiskCapacity, totalDiskUsed } = data 29 const { totalDiskCapacity, totalDiskUsed } = data
30 30
31 // Calculate percentages based on total disk capacity 31 // Calculate percentage of disk used
32 const activeDrivePercentage = totalDiskCapacity > 0 ? (activeDriveUsage / totalDiskCapacity) * 100 : 0 32 const diskUsedPercentage = totalDiskCapacity > 0 ? (totalDiskUsed / totalDiskCapacity) * 100 : 0
33 const totalUsedPercentage = totalDiskCapacity > 0 ? (totalDiskUsed / totalDiskCapacity) * 100 : 0 33 const availableSpace = totalDiskCapacity - totalDiskUsed
34 34
35 return ( 35 return (
36 <div className="bg-card rounded-lg border p-4"> 36 <div className="bg-card rounded-lg border p-4">
37 <div className="flex items-center justify-between mb-2"> 37 <div className="flex items-center justify-between mb-2">
38 <span className="text-sm font-medium">Storage Usage</span> 38 <span className="text-sm font-medium">Disk Usage</span>
39 <span className="text-sm text-muted-foreground"> 39 <span className="text-sm text-muted-foreground">
40 {formatFileSize(activeDriveUsage)} active / {formatFileSize(totalDiskUsed)} total of {formatFileSize(totalDiskCapacity)} 40 {formatFileSize(totalDiskUsed)} used of {formatFileSize(totalDiskCapacity)}
41 </span> 41 </span>
42 </div> 42 </div>
43 43
44 {/* Custom two-color progress bar */} 44 {/* Simple progress bar showing disk usage */}
45 <div className="relative w-full h-2 bg-gray-200 rounded-full overflow-hidden"> 45 <div className="relative w-full h-2 bg-gray-200 rounded-full overflow-hidden">
46 {/* Total disk usage (gray background layer) */}
47 <div
48 className="absolute top-0 left-0 h-full bg-gray-400 rounded-full transition-all duration-300"
49 style={{ width: `${Math.min(totalUsedPercentage, 100)}%` }}
50 />
51 {/* Active drive usage (blue foreground layer) */}
52 <div 46 <div
53 className="absolute top-0 left-0 h-full bg-blue-600 rounded-full transition-all duration-300" 47 className="absolute top-0 left-0 h-full bg-blue-600 rounded-full transition-all duration-300"
54 style={{ width: `${Math.min(activeDrivePercentage, 100)}%` }} 48 style={{ width: `${Math.min(diskUsedPercentage, 100)}%` }}
55 /> 49 />
56 </div> 50 </div>
57 51
58 <div className="flex justify-between text-xs text-muted-foreground mt-2"> 52 <div className="flex justify-between text-xs text-muted-foreground mt-2">
59 <div className="flex items-center gap-4"> 53 <div className="flex items-center gap-1">
60 <div className="flex items-center gap-1"> 54 <div className="w-2 h-2 bg-blue-600 rounded-full" />
61 <div className="w-2 h-2 bg-blue-600 rounded-full" /> 55 <span>Used: {formatFileSize(totalDiskUsed)}</span>
62 <span>Active Drive: {formatFileSize(activeDriveUsage)}</span>
63 </div>
64 <div className="flex items-center gap-1">
65 <div className="w-2 h-2 bg-gray-400 rounded-full" />
66 <span>Other Usage: {formatFileSize(totalDiskUsed - activeDriveUsage)}</span>
67 </div>
68 </div> 56 </div>
69 <span>{formatFileSize(totalDiskCapacity - totalDiskUsed)} available</span> 57 <span>{formatFileSize(availableSpace)} available</span>
70 </div> 58 </div>
71 </div> 59 </div>
72 ) 60 )