diff --git a/AppImage/components/network-metrics.tsx b/AppImage/components/network-metrics.tsx index 6370e49..decedb0 100644 --- a/AppImage/components/network-metrics.tsx +++ b/AppImage/components/network-metrics.tsx @@ -155,6 +155,7 @@ export function NetworkMetrics() { const [timeframe, setTimeframe] = useState<"hour" | "day" | "week" | "month" | "year">("day") const [modalTimeframe, setModalTimeframe] = useState<"hour" | "day" | "week" | "month" | "year">("day") const [networkTotals, setNetworkTotals] = useState<{ received: number; sent: number }>({ received: 0, sent: 0 }) + const [interfaceTotals, setInterfaceTotals] = useState<{ received: number; sent: number }>({ received: 0, sent: 0 }) const { data: interfaceHistoricalData } = useSWR(`/api/node/metrics?timeframe=${timeframe}`, fetcher, { refreshInterval: 30000, @@ -633,13 +634,13 @@ export function NetworkMetrics() { {/* Interface Details Modal */} setSelectedInterface(null)}> - + - -
- - {selectedInterface?.name} - Interface Details -
+ + + {selectedInterface?.name} - Interface Details + +
- +
{selectedInterface && ( @@ -788,74 +789,80 @@ export function NetworkMetrics() { )} - {/* Traffic Statistics */} -
-

Traffic since last boot

-
-
-
Bytes Received
-
{formatBytes(selectedInterface.bytes_recv)}
-
-
-
Bytes Sent
-
{formatBytes(selectedInterface.bytes_sent)}
-
-
-
Packets Received
-
{selectedInterface.packets_recv?.toLocaleString() || "N/A"}
-
-
-
Packets Sent
-
{selectedInterface.packets_sent?.toLocaleString() || "N/A"}
-
-
-
Errors In
-
{selectedInterface.errors_in || 0}
-
-
-
Errors Out
-
{selectedInterface.errors_out || 0}
-
-
-
Drops In
-
{selectedInterface.drops_in || 0}
-
-
-
Drops Out
-
{selectedInterface.drops_out || 0}
-
- {selectedInterface.packet_loss_in !== undefined && ( +
+ {/* Traffic Statistics - Left Column */} +
+

Traffic since last boot

+
-
Packet Loss In
-
1 ? "text-red-500" : "text-green-500"}`} - > - {selectedInterface.packet_loss_in}% +
Bytes Received
+
+ {formatStorage(interfaceTotals.received * 1024 * 1024 * 1024)}
- )} - {selectedInterface.packet_loss_out !== undefined && (
-
Packet Loss Out
-
1 ? "text-red-500" : "text-green-500"}`} - > - {selectedInterface.packet_loss_out}% +
Bytes Sent
+
+ {formatStorage(interfaceTotals.sent * 1024 * 1024 * 1024)}
- )} +
+
Packets Received
+
{selectedInterface.packets_recv?.toLocaleString() || "N/A"}
+
+
+
Packets Sent
+
{selectedInterface.packets_sent?.toLocaleString() || "N/A"}
+
+
+
Errors In
+
{selectedInterface.errors_in || 0}
+
+
+
Errors Out
+
{selectedInterface.errors_out || 0}
+
+
+
Drops In
+
{selectedInterface.drops_in || 0}
+
+
+
Drops Out
+
{selectedInterface.drops_out || 0}
+
+ {selectedInterface.packet_loss_in !== undefined && ( +
+
Packet Loss In
+
1 ? "text-red-500" : "text-green-500"}`} + > + {selectedInterface.packet_loss_in}% +
+
+ )} + {selectedInterface.packet_loss_out !== undefined && ( +
+
Packet Loss Out
+
1 ? "text-red-500" : "text-green-500"}`} + > + {selectedInterface.packet_loss_out}% +
+
+ )} +
-
- {/* Network Traffic Chart for the selected interface */} -
-

Network Traffic History

-
- {}} - /> + {/* Network Traffic Chart - Right Column */} +
+

Network Traffic History

+
+ +