fix(amp): the KPA was missing from the status-bar chip

The chip read a.spe ?? a.acom ?? a.pgxl, so a KPA fell through to the
not-connected fallback: red on a working amplifier, and a click that opened the
settings instead of switching to STANDBY. Reported from a KPA500 whose panel
showed band, SWR and temperature at the same time.

The card's offline text also borrowed the Acom's string, so a KPA that dropped
its link announced itself as an Acom.
This commit is contained in:
2026-08-27 18:55:55 +02:00
parent fa1c41388d
commit b8796369ba
4 changed files with 14 additions and 8 deletions
+7 -3
View File
@@ -8423,9 +8423,13 @@ export default function App() {
STANDBY, red = offline. CLICK toggles OPERATE STANDBY (optimistic
flip, the 2s poll reconciles); offline click opens the settings. */}
{ampSts.map((a: any) => {
const isPGXL = !a.spe && !a.acom;
// Every brand must be listed here. A KPA was not, so its chip
// read the fallback — permanently red on a connected amplifier,
// and clicking it opened the settings instead of switching to
// STANDBY.
const isPGXL = !a.spe && !a.acom && !a.kpa;
const viaFlex = isPGXL && !!flexAmp?.amp_available;
const raw = a.spe ?? a.acom ?? a.pgxl ?? { connected: false };
const raw = a.spe ?? a.acom ?? a.kpa ?? a.pgxl ?? { connected: false };
const connected = !!raw.connected || viaFlex;
const operate = viaFlex ? !!flexAmp.amp_operate : !!raw.operate;
const dot = !connected ? 'bg-danger' : operate ? 'bg-success' : 'bg-warning';
@@ -8435,7 +8439,7 @@ export default function App() {
const want = !operate;
if (viaFlex) setFlexAmp((f: any) => ({ ...f, amp_operate: want }));
else setAmpSts((l) => l.map((x: any) => x.id === a.id
? { ...x, spe: x.spe && { ...x.spe, operate: want }, acom: x.acom && { ...x.acom, operate: want }, pgxl: x.pgxl && { ...x.pgxl, operate: want } }
? { ...x, spe: x.spe && { ...x.spe, operate: want }, acom: x.acom && { ...x.acom, operate: want }, kpa: x.kpa && { ...x.kpa, operate: want }, pgxl: x.pgxl && { ...x.pgxl, operate: want } }
: x));
(viaFlex ? FlexAmpOperate(want) : AmpOperate(a.id, want)).catch(() => {});
};