setIsHovered(true)}
+ onMouseLeave={() => setIsHovered(false)}
+ onMouseMove={handleMouseMove}
+ >
Memory
- {percent}%
+ {formatBytes(used)} / {formatBytes(total)} ({percent}%)
@@ -113,7 +129,7 @@ export function MemoryGraph({ used, total, percent }: MemoryGraphProps) {
Used
- {formatBytes(used)}
+ {formatBytes(used)} ({percent}%)
Total
@@ -121,7 +137,7 @@ export function MemoryGraph({ used, total, percent }: MemoryGraphProps) {
Free
- {formatBytes(total - used)}
+ {formatBytes(total - used)} ({total > 0 ? Math.round(((total - used) / total) * 100) : 0}%)
diff --git a/src/components/StatusBar.tsx b/src/components/StatusBar.tsx
index 0180316..19abb56 100644
--- a/src/components/StatusBar.tsx
+++ b/src/components/StatusBar.tsx
@@ -1,3 +1,5 @@
+import { useState, useEffect } from 'react';
+
interface StatusBarProps {
filter: string;
onFilterChange: (filter: string) => void;
@@ -6,6 +8,15 @@ interface StatusBarProps {
}
export function StatusBar({ filter, onFilterChange, refreshRate, onRefreshRateChange }: StatusBarProps) {
+ const [statusActive, setStatusActive] = useState(true);
+
+ useEffect(() => {
+ const interval = setInterval(() => {
+ setStatusActive((prev) => !prev);
+ }, 1000);
+ return () => clearInterval(interval);
+ }, []);
+
const shortcuts = [
{ key: 'F1', label: 'Help' },
{ key: 'F2', label: 'Setup' },
@@ -19,6 +30,10 @@ export function StatusBar({ filter, onFilterChange, refreshRate, onRefreshRateCh
return (