Merge branch 'firmware_mismatch' into pending_changes

This commit is contained in:
Carter 2026-06-24 12:13:50 -06:00
commit 6b07859d00
2 changed files with 20 additions and 0 deletions

View file

@ -22,6 +22,14 @@ class VersionChip extends React.Component<Props, State> {
variant="outlined" variant="outlined"
label={firmwareVersionHelper.description} label={firmwareVersionHelper.description}
icon={firmwareVersionHelper.icon} icon={firmwareVersionHelper.icon}
sx={
firmwareVersionHelper.colour
? {
borderColor: firmwareVersionHelper.colour,
color: firmwareVersionHelper.colour
}
: undefined
}
/> />
</Tooltip> </Tooltip>
); );

View file

@ -9,6 +9,7 @@ export interface FirmwareVersionHelper {
const oldFirmwareColour = "var(--status-warning)"; const oldFirmwareColour = "var(--status-warning)";
const currentFirmwareColour = "var(--status-ok)"; const currentFirmwareColour = "var(--status-ok)";
const unknownFirmwareColour = "var(--status-warning)";
export function getFirmwareVersionHelper( export function getFirmwareVersionHelper(
version: string, version: string,
@ -17,24 +18,35 @@ export function getFirmwareVersionHelper(
const firmwareIcon = <FirmwareIcon />; const firmwareIcon = <FirmwareIcon />;
const oldFirmwareIcon = <FirmwareIcon style={{ color: oldFirmwareColour }} />; const oldFirmwareIcon = <FirmwareIcon style={{ color: oldFirmwareColour }} />;
const currentFirmwareIcon = <FirmwareIcon style={{ color: currentFirmwareColour }} />; const currentFirmwareIcon = <FirmwareIcon style={{ color: currentFirmwareColour }} />;
const unknownFirmwareIcon = <FirmwareIcon style={{ color: unknownFirmwareColour }} />;
let helper = {} as FirmwareVersionHelper; let helper = {} as FirmwareVersionHelper;
if (!version || version === "") { if (!version || version === "") {
helper.description = "Unknown version"; helper.description = "Unknown version";
helper.icon = oldFirmwareIcon; helper.icon = oldFirmwareIcon;
helper.tooltip = "We don't know what version your device is, it may behave unexpectedly"; helper.tooltip = "We don't know what version your device is, it may behave unexpectedly";
helper.colour = oldFirmwareColour;
} else if (version.startsWith("!")) {
const cleanVersion = version.substring(1);
helper.description = cleanVersion;
helper.icon = unknownFirmwareIcon;
helper.tooltip = "Firmware " + cleanVersion + " was reported by the device but is missing from the firmware list";
helper.colour = unknownFirmwareColour;
} else if (available !== "" && version !== available) { } else if (available !== "" && version !== available) {
helper.description = version; helper.description = version;
helper.icon = oldFirmwareIcon; helper.icon = oldFirmwareIcon;
helper.tooltip = helper.tooltip =
"A firmware upgrade is available, some features may be disabled for out-of-date devices"; "A firmware upgrade is available, some features may be disabled for out-of-date devices";
helper.colour = oldFirmwareColour;
} else if (available === "") { } else if (available === "") {
helper.description = version; helper.description = version;
helper.icon = firmwareIcon; helper.icon = firmwareIcon;
helper.tooltip = "Running version " + version; helper.tooltip = "Running version " + version;
helper.colour = "";
} else { } else {
helper.description = version; helper.description = version;
helper.icon = currentFirmwareIcon; helper.icon = currentFirmwareIcon;
helper.tooltip = "Your device is running the latest firmware"; helper.tooltip = "Your device is running the latest firmware";
helper.colour = currentFirmwareColour;
} }
return helper; return helper;
} }