diff --git a/AppImage/components/hardware.tsx b/AppImage/components/hardware.tsx
index e5a584e..b584017 100644
--- a/AppImage/components/hardware.tsx
+++ b/AppImage/components/hardware.tsx
@@ -674,6 +674,7 @@ export default function Hardware() {
)
})}
+
Click on a device for detailed hardware information
)}
@@ -1035,6 +1036,7 @@ export default function Hardware() {
))}
+ Click on a device for detailed hardware information
)}
@@ -1144,41 +1146,6 @@ export default function Hardware() {
)}
- {/* Fans */}
- {hardwareData?.fans && hardwareData.fans.length > 0 && (
-
-
-
-
System Fans
-
- {hardwareData.fans.length} fans
-
-
-
-
- {hardwareData.fans.map((fan, index) => {
- const isPercentage = fan.unit === "percent" || fan.unit === "%"
- const percentage = isPercentage ? fan.speed : Math.min((fan.speed / 5000) * 100, 100)
-
- return (
-
-
- {fan.name}
-
- {isPercentage ? `${fan.speed.toFixed(0)} percent` : `${fan.speed.toFixed(0)} ${fan.unit}`}
-
-
-
- {fan.adapter &&
{fan.adapter}}
-
- )
- })}
-
-
- )}
-
{/* UPS */}
{hardwareData?.ups && Array.isArray(hardwareData.ups) && hardwareData.ups.length > 0 && (
@@ -1263,6 +1230,7 @@ export default function Hardware() {
)
})}
+ Click on a device for detailed hardware information
)}
@@ -1461,6 +1429,41 @@ export default function Hardware() {
+ {/* Fans */}
+ {hardwareData?.fans && hardwareData.fans.length > 0 && (
+
+
+
+
System Fans
+
+ {hardwareData.fans.length} fans
+
+
+
+
+ {hardwareData.fans.map((fan, index) => {
+ const isPercentage = fan.unit === "percent" || fan.unit === "%"
+ const percentage = isPercentage ? fan.speed : Math.min((fan.speed / 5000) * 100, 100)
+
+ return (
+
+
+ {fan.name}
+
+ {isPercentage ? `${fan.speed.toFixed(0)} percent` : `${fan.speed.toFixed(0)} ${fan.unit}`}
+
+
+
+ {fan.adapter &&
{fan.adapter}}
+
+ )
+ })}
+
+
+ )}
+
{/* Network Summary - Clickable */}
{hardwareData?.pci_devices &&
hardwareData.pci_devices.filter((d) => d.type.toLowerCase().includes("network")).length > 0 && (
@@ -1559,29 +1562,45 @@ export default function Hardware() {
- {hardwareData.storage_devices.map((device, index) => (
-
setSelectedDisk(device)}
- className="cursor-pointer rounded-lg border border-border/30 bg-background/50 p-3 transition-colors hover:bg-background/80"
- >
-
-
{device.name}
-
- {device.type}
-
+ {hardwareData.storage_devices.map((device, index) => {
+ const getDiskTypeBadgeColor = (type: string) => {
+ const lowerType = type.toLowerCase()
+ if (lowerType.includes("nvme")) {
+ return "bg-purple-500/10 text-purple-500 border-purple-500/20"
+ }
+ if (lowerType.includes("ssd")) {
+ return "bg-cyan-500/10 text-cyan-500 border-cyan-500/20"
+ }
+ if (lowerType.includes("hdd")) {
+ return "bg-blue-500/10 text-blue-500 border-blue-500/20"
+ }
+ return "bg-gray-500/10 text-gray-500 border-gray-500/20"
+ }
+
+ return (
+
setSelectedDisk(device)}
+ className="cursor-pointer rounded-lg border border-border/30 bg-background/50 p-3 transition-colors hover:bg-background/80"
+ >
+
+ {device.name}
+
+ {device.type}
+
+
+ {device.size &&
{formatMemory(device.size)}
}
+ {device.model && (
+
{device.model}
+ )}
+ {device.driver && (
+
Driver: {device.driver}
+ )}
- {device.size &&
{formatMemory(device.size)}
}
- {device.model && (
-
{device.model}
- )}
- {device.driver && (
-
Driver: {device.driver}
- )}
-
- ))}
+ )
+ })}
-
Click on a device for detailed hardware information
+
Click on a storage device for detailed information
)}