diff --git a/AppImage/components/storage-overview.tsx b/AppImage/components/storage-overview.tsx index 6aa818b..fc0b60e 100644 --- a/AppImage/components/storage-overview.tsx +++ b/AppImage/components/storage-overview.tsx @@ -327,6 +327,49 @@ export function StorageOverview() { return `~${remainingYears.toFixed(1)} years` } + const getDiskHealthBreakdown = () => { + if (!storageData || !storageData.disks) { + return { normal: 0, warning: 0, critical: 0 } + } + + let normal = 0 + let warning = 0 + let critical = 0 + + storageData.disks.forEach((disk) => { + if (disk.temperature === 0) { + // Si no hay temperatura, considerarlo normal + normal++ + return + } + + const diskType = getDiskType(disk.name, disk.rotation_rate) + + switch (diskType) { + case "NVMe": + if (disk.temperature <= 70) normal++ + else if (disk.temperature <= 80) warning++ + else critical++ + break + case "SSD": + if (disk.temperature <= 59) normal++ + else if (disk.temperature <= 70) warning++ + else critical++ + break + case "HDD": + default: + if (disk.temperature <= 45) normal++ + else if (disk.temperature <= 55) warning++ + else critical++ + break + } + }) + + return { normal, warning, critical } + } + + const diskHealthBreakdown = getDiskHealthBreakdown() + if (loading) { return (
- {storageData.warning_disks > 0 && ( - {storageData.warning_disks} warning +
+ {diskHealthBreakdown.normal} normal + {diskHealthBreakdown.warning > 0 && ( + <> + {", "} + {diskHealthBreakdown.warning} warning + > )} - {storageData.critical_disks > 0 && ( - {storageData.critical_disks} critical + {diskHealthBreakdown.critical > 0 && ( + <> + {", "} + {diskHealthBreakdown.critical} critical + > )} - {storageData.warning_disks === 0 && storageData.critical_disks === 0 && "All disks healthy"}