mirror of
https://github.com/henrygd/beszel.git
synced 2025-12-17 10:46:16 +01:00
fix S.M.A.R.T. wrong disk is renderer in the DiskSheet table #1336
This commit is contained in:
@@ -89,18 +89,25 @@ function formatCapacity(bytes: number): string {
|
|||||||
|
|
||||||
// Function to convert SmartData to DiskInfo
|
// Function to convert SmartData to DiskInfo
|
||||||
function convertSmartDataToDiskInfo(smartDataRecord: Record<string, SmartData>): DiskInfo[] {
|
function convertSmartDataToDiskInfo(smartDataRecord: Record<string, SmartData>): DiskInfo[] {
|
||||||
|
const unknown = "Unknown"
|
||||||
return Object.entries(smartDataRecord).map(([key, smartData]) => ({
|
return Object.entries(smartDataRecord).map(([key, smartData]) => ({
|
||||||
device: smartData.dn || key,
|
device: smartData.dn || key,
|
||||||
model: smartData.mn || "Unknown",
|
model: smartData.mn || unknown,
|
||||||
serialNumber: smartData.sn || "Unknown",
|
serialNumber: smartData.sn || unknown,
|
||||||
firmwareVersion: smartData.fv || "Unknown",
|
firmwareVersion: smartData.fv || unknown,
|
||||||
capacity: smartData.c ? formatCapacity(smartData.c) : "Unknown",
|
capacity: smartData.c ? formatCapacity(smartData.c) : unknown,
|
||||||
status: smartData.s || "Unknown",
|
status: smartData.s || unknown,
|
||||||
temperature: smartData.t || 0,
|
temperature: smartData.t || 0,
|
||||||
deviceType: smartData.dt || "Unknown",
|
deviceType: smartData.dt || unknown,
|
||||||
// These fields need to be extracted from SmartAttribute if available
|
// These fields need to be extracted from SmartAttribute if available
|
||||||
powerOnHours: smartData.a?.find(attr => attr.n.toLowerCase().includes("poweronhours") || attr.n.toLowerCase().includes("power_on_hours"))?.rv,
|
powerOnHours: smartData.a?.find(attr => {
|
||||||
powerCycles: smartData.a?.find(attr => attr.n.toLowerCase().includes("power") && attr.n.toLowerCase().includes("cycle"))?.rv,
|
const name = attr.n.toLowerCase();
|
||||||
|
return name.includes("poweronhours") || name.includes("power_on_hours");
|
||||||
|
})?.rv,
|
||||||
|
powerCycles: smartData.a?.find(attr => {
|
||||||
|
const name = attr.n.toLowerCase();
|
||||||
|
return (name.includes("power") && name.includes("cycle")) || name.includes("startstopcycles");
|
||||||
|
})?.rv,
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -365,7 +372,7 @@ export default function DisksTable({ systemId }: { systemId: string }) {
|
|||||||
</Table>
|
</Table>
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
<DiskSheet disk={activeDisk} smartData={activeDisk && smartData ? Object.values(smartData).find(sd => sd.dn === activeDisk.device || sd.mn === activeDisk.model) : undefined} open={sheetOpen} onOpenChange={setSheetOpen} />
|
<DiskSheet disk={activeDisk} smartData={smartData?.[activeDisk?.serialNumber ?? ""]} open={sheetOpen} onOpenChange={setSheetOpen} />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user