- API-Handler `getSystemspannung5VplusHandler.ts` erstellt - JSON-Daten werden aus dem Verzeichnis `mocks/device-cgi-simulator/chartsData/systemspannung5Vplus/` geladen - unterstützt die Parameter DIA0, DIA1, DIA2 für unterschiedliche Datenfrequenzen - Fehlerbehandlung bei ungültigen Typen und fehlenden Dateien eingebaut - API getestet unter `/api/cpl/getSystemspannung5VplusHandler?typ=DIA0`
34 lines
953 B
TypeScript
34 lines
953 B
TypeScript
// components/main/system/SystemOverviewGrid.tsx
|
|
import React from "react";
|
|
|
|
type Props = {
|
|
voltages: Record<string, number>;
|
|
onOpenDetail: (key: string) => void;
|
|
};
|
|
|
|
export const SystemOverviewGrid = ({ voltages, onOpenDetail }: Props) => {
|
|
const formatValue = (value: number) => value.toFixed(2);
|
|
|
|
return (
|
|
<div className="grid grid-cols-2 gap-4 mb-8">
|
|
{Object.entries(voltages).map(([key, value]) => {
|
|
const unit = key.includes("Temp") ? "°C" : "V";
|
|
return (
|
|
<div key={key} className="p-4 border rounded shadow">
|
|
<h2 className="font-semibold">{key}</h2>
|
|
<p>
|
|
{formatValue(value)} {unit}
|
|
<button
|
|
onClick={() => onOpenDetail(key)}
|
|
className="ml-2 text-blue-600 hover:underline text-sm"
|
|
>
|
|
Details
|
|
</button>
|
|
</p>
|
|
</div>
|
|
);
|
|
})}
|
|
</div>
|
|
);
|
|
};
|