Merge branch 'upgrade_device' into staging_environment
This commit is contained in:
commit
7799c6e887
2 changed files with 28 additions and 3 deletions
|
|
@ -17,7 +17,7 @@ import {
|
||||||
// import { createStyles, makeStyles, Theme } from "@material-ui/core/styles";
|
// import { createStyles, makeStyles, Theme } from "@material-ui/core/styles";
|
||||||
import UpdateIcon from "@mui/icons-material/Update";
|
import UpdateIcon from "@mui/icons-material/Update";
|
||||||
import { useDeviceAPI, useFirmwareAPI, usePrevious, useSnackbar } from "hooks";
|
import { useDeviceAPI, useFirmwareAPI, usePrevious, useSnackbar } from "hooks";
|
||||||
import { Device, latestFirmwareVersion, Upgrade } from "models";
|
import { Device, Firmware, latestFirmwareVersion, Upgrade } from "models";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { getContextKeys, getContextTypes } from "pbHelpers/Context";
|
import { getContextKeys, getContextTypes } from "pbHelpers/Context";
|
||||||
import { useGlobalState } from "providers";
|
import { useGlobalState } from "providers";
|
||||||
|
|
@ -50,14 +50,16 @@ export default function UpgradeDevice(props: Props) {
|
||||||
const deviceAPI = useDeviceAPI();
|
const deviceAPI = useDeviceAPI();
|
||||||
const { success, error } = useSnackbar();
|
const { success, error } = useSnackbar();
|
||||||
const firmwareAPI = useFirmwareAPI();
|
const firmwareAPI = useFirmwareAPI();
|
||||||
const [{ firmware }] = useGlobalState();
|
// const [{ firmware }] = useGlobalState();
|
||||||
const prevFirmware = usePrevious(firmware);
|
|
||||||
const { device } = props;
|
const { device } = props;
|
||||||
const prevDevice = usePrevious(device);
|
const prevDevice = usePrevious(device);
|
||||||
const [open, setOpen] = useState<boolean>(false);
|
const [open, setOpen] = useState<boolean>(false);
|
||||||
const prevOpen = usePrevious(open);
|
const prevOpen = usePrevious(open);
|
||||||
const [upgrade, setUpgrade] = useState<Upgrade>(Upgrade.create());
|
const [upgrade, setUpgrade] = useState<Upgrade>(Upgrade.create());
|
||||||
const [gettingStatus, setGettingStatus] = useState(0);
|
const [gettingStatus, setGettingStatus] = useState(0);
|
||||||
|
const [firmware, setFirmware] = useState<Map<string, Firmware>>(new Map())
|
||||||
|
const [firmwareLoading, setFirmwareLoading] = useState(false)
|
||||||
|
const prevFirmware = usePrevious(firmware);
|
||||||
|
|
||||||
const progress = useCallback(() => {
|
const progress = useCallback(() => {
|
||||||
return upgrade.status.progress;
|
return upgrade.status.progress;
|
||||||
|
|
@ -75,11 +77,32 @@ export default function UpgradeDevice(props: Props) {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (firmwareLoading) return
|
||||||
|
// if (firmware.size > 0) return
|
||||||
|
setFirmwareLoading(true)
|
||||||
|
firmwareAPI.getAllLatestFirmware().then(resp => {
|
||||||
|
let versions: Map<string, Firmware> = new Map();
|
||||||
|
if (resp && resp.data && resp.data.firmware) {
|
||||||
|
resp.data.firmware.forEach((raw: any) => {
|
||||||
|
let firmware = Firmware.any(raw);
|
||||||
|
let key = firmware.settings.platform + ":" + firmware.settings.channel;
|
||||||
|
versions.set(key, firmware);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// dispatch({ key: "firmware", value: versions });
|
||||||
|
setFirmware(versions)
|
||||||
|
}).finally(() => {
|
||||||
|
setFirmwareLoading(false)
|
||||||
|
})
|
||||||
|
}, [])
|
||||||
|
|
||||||
const upgradeVersion = () => {
|
const upgradeVersion = () => {
|
||||||
return upgrade.settings.version;
|
return upgrade.settings.version;
|
||||||
};
|
};
|
||||||
|
|
||||||
const available = () => {
|
const available = () => {
|
||||||
|
if (firmware.size < 1) return false
|
||||||
return currentFirmware() !== latestFirmware();
|
return currentFirmware() !== latestFirmware();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ export function latestFirmwareVersion(
|
||||||
channel: pond.UpgradeChannel
|
channel: pond.UpgradeChannel
|
||||||
): string {
|
): string {
|
||||||
const firmware = versions.get(platform + ":" + channel);
|
const firmware = versions.get(platform + ":" + channel);
|
||||||
|
// console.log(platform + ":" + channel)
|
||||||
|
// console.log(versions)
|
||||||
if (firmware) {
|
if (firmware) {
|
||||||
return firmware.settings.version;
|
return firmware.settings.version;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue