Skip to content

Commit 3c9aa2d

Browse files
fix: Address problems where lighting clients don't properly show the available DMX devices
1 parent a2e155f commit 3c9aa2d

File tree

1 file changed

+33
-11
lines changed

1 file changed

+33
-11
lines changed

src/components/client/lighting.tsx

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,35 @@ const Lighting: React.FC<{
9090
"dmx_autoActivate",
9191
false,
9292
);
93-
const [dmxWebDevice, setDMXWebDevice] = React.useState<{serialNumber: string, productName: string}>();
93+
const [dmxWebDevices, setDMXWebDevices] = React.useState<
94+
{
95+
serialNumber: string;
96+
productName: string;
97+
}[]
98+
>();
9499
React.useEffect(() => {
95-
window.thorium.getDMXDeviceList?.().then((res: { serialNumber: string, productName: string }) => {
96-
setDMXWebDevice({serialNumber: res?.serialNumber || "", productName: res?.productName || ""});
97-
setDmxDevice((dmxDevice: string) => {
98-
if (!dmxDevice && res?.serialNumber) return res?.serialNumber;
99-
return dmxDevice;
100-
});
101-
});
100+
window.thorium.getDMXDeviceList?.().then(
101+
(
102+
res: {
103+
serialNumber: string;
104+
productName: string;
105+
deviceName: string;
106+
}[],
107+
) => {
108+
console.log(res);
109+
setDMXWebDevices(
110+
res.map(res => ({
111+
serialNumber: res?.serialNumber || "",
112+
productName: res?.productName || res?.deviceName || "",
113+
})),
114+
);
115+
setDmxDevice((dmxDevice: string) => {
116+
if (!dmxDevice && res?.[0]?.serialNumber)
117+
return res?.[0]?.serialNumber;
118+
return dmxDevice;
119+
});
120+
},
121+
);
102122
}, [setDmxDevice]);
103123

104124
React.useEffect(() => {
@@ -221,9 +241,11 @@ const Lighting: React.FC<{
221241
setDmxDevice(e.target.value);
222242
}}
223243
>
224-
<option key={dmxWebDevice?.serialNumber} value={dmxWebDevice?.serialNumber}>
225-
{dmxWebDevice?.productName}
226-
</option>
244+
{dmxWebDevices?.map(d => (
245+
<option key={d?.serialNumber} value={d?.serialNumber}>
246+
{d?.productName}
247+
</option>
248+
))}
227249
</Input>
228250
</label>
229251
)}

0 commit comments

Comments
 (0)