feat: Integration von IndexedDB-Datenzugriff in Dashboard-Komponente
- Ersetzt `window`-Zugriff durch `IndexedDB` in der `Dashboard`-Komponente, um Produktionsprobleme zu lösen. - Aktualisiert `KabelModulStatus`, um Alarm- und Fehlerstatus für jeden Slot über IndexedDB zu beziehen. - Fügt zusätzliche States für Alarme (`kueAlarm1`, `kueAlarm2`) und Erdungsfehler (`kueGroundFault`) hinzu und lädt diese aus IndexedDB. - Verbesserte Stabilität und Wartbarkeit durch den Einsatz asynchroner IndexedDB-Aufrufe statt globaler Variablen.
This commit is contained in:
@@ -1,4 +1,12 @@
|
||||
const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
|
||||
const KabelModulStatus = ({
|
||||
slot,
|
||||
kueCableBreak,
|
||||
kueAlarm1,
|
||||
kueAlarm2,
|
||||
kueGroundFault,
|
||||
isOnline,
|
||||
moduleVersion,
|
||||
}) => {
|
||||
if (!isOnline) {
|
||||
return (
|
||||
<div className="border border-gray-400 w-10 h-20 flex items-center justify-center bg-gray-200">
|
||||
|
||||
@@ -23,6 +23,9 @@ function Dashboard() {
|
||||
const [error, setError] = useState(null);
|
||||
const [kueCableBreak, setKueCableBreak] = useState([]);
|
||||
const [appVersion, setAppVersion] = useState("");
|
||||
const [kueAlarm1, setKueAlarm1] = useState([]);
|
||||
const [kueAlarm2, setKueAlarm2] = useState([]);
|
||||
const [kueGroundFault, setKueGroundFault] = useState([]);
|
||||
const router = useRouter();
|
||||
|
||||
const parseMessages = (messages) => {
|
||||
@@ -69,6 +72,9 @@ function Dashboard() {
|
||||
const kueCableBreakData = await getFromIndexedDB("kueCableBreak");
|
||||
const kueOnlineData = await getFromIndexedDB("kueOnline");
|
||||
const kueVersionData = await getFromIndexedDB("kueVersion");
|
||||
const kueAlarm1Data = await getFromIndexedDB("kueAlarm1");
|
||||
const kueAlarm2Data = await getFromIndexedDB("kueAlarm2");
|
||||
const kueGroundFaultData = await getFromIndexedDB("kueGroundFault");
|
||||
|
||||
// Setze die States mit den geladenen Daten
|
||||
setLast20Messages(parseMessages(last20MessagesData || ""));
|
||||
@@ -83,6 +89,17 @@ function Dashboard() {
|
||||
Array.isArray(kueOnlineData) ? kueOnlineData.map(Number) : []
|
||||
);
|
||||
setKueVersion(Array.isArray(kueVersionData) ? kueVersionData : []);
|
||||
setKueAlarm1(
|
||||
Array.isArray(kueAlarm1Data) ? kueAlarm1Data.map(Number) : []
|
||||
);
|
||||
setKueAlarm2(
|
||||
Array.isArray(kueAlarm2Data) ? kueAlarm2Data.map(Number) : []
|
||||
);
|
||||
setKueGroundFault(
|
||||
Array.isArray(kueGroundFaultData)
|
||||
? kueGroundFaultData.map(Number)
|
||||
: []
|
||||
);
|
||||
setLoading(false);
|
||||
} catch (error) {
|
||||
console.error("Fehler beim Laden der Daten aus IndexedDB:", error);
|
||||
@@ -127,6 +144,9 @@ function Dashboard() {
|
||||
isOnline={isSlotOnline}
|
||||
moduleVersion={moduleVersion}
|
||||
kueCableBreak={kueCableBreak}
|
||||
kueAlarm1={kueAlarm1}
|
||||
kueAlarm2={kueAlarm2}
|
||||
kueGroundFault={kueGroundFault}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user