diff --git a/locales/en/messages.json b/locales/en/messages.json index cfe9785500..304026f496 100755 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -1183,6 +1183,12 @@ "initialSetupInfoBuildConfig": { "message": "Config" }, + "initialSetupInfoBuildDownload": { + "message": "Download" + }, + "initialSetupInfoBuildFirmware": { + "message": "Firmware:" + }, "initialSetupInfoBuildLog": { "message": "Log" }, @@ -1196,7 +1202,7 @@ "message": "Local Build - no Cloud information" }, "initialSetupInfoBuildType": { - "message": "Build type" + "message": "Build type:" }, "initialSetupInfoBuildLocal": { "message": "Local Build" diff --git a/src/js/tabs/setup.js b/src/js/tabs/setup.js index c6e73e923d..4ded4201ab 100644 --- a/src/js/tabs/setup.js +++ b/src/js/tabs/setup.js @@ -212,7 +212,7 @@ setup.initialize = function (callback) { build_date_e = $(".build-date"), build_type_e = $(".build-type"), build_info_e = $(".build-info"), - build_options_e = $(".build-options"); + build_firmware_e = $(".build-firmware"); // DISARM FLAGS // We add all the arming/disarming flags available, and show/hide them if needed. @@ -364,80 +364,104 @@ setup.initialize = function (callback) { } } + // Gets the build root base URI for build.betaflight.com + const getBuildRootBaseUri = function () { + return `https://build.betaflight.com/api/builds/${FC.CONFIG.buildKey}`; + }; + + // Fills in the "Build info" part of the "Firmware info" box const showBuildInfo = function () { - const supported = FC.CONFIG.buildKey.length === 32; + const isIspConnected = ispConnected(); + const buildKeyValid = FC.CONFIG.buildKey.length === 32; - if (supported && ispConnected()) { - const buildRoot = `https://build.betaflight.com/api/builds/${FC.CONFIG.buildKey}`; + if (buildKeyValid && isIspConnected) { + const buildRoot = getBuildRootBaseUri(); + + // Creates the "Config" button const buildConfig = ` - ${i18n.getMessage( + ${i18n.getMessage( "initialSetupInfoBuildConfig", )}`; + + // Creates the "Log" button const buildLog = ` - ${i18n.getMessage( + ${i18n.getMessage( "initialSetupInfoBuildLog", )}`; - build_info_e.html(` - ${i18n.getMessage( - "initialSetupInfoBuildOptionList", - )}`); + + // Shows the "Config" and "Log" buttons build_info_e.html(`${buildConfig} ${buildLog}`); } else { build_info_e.html( - supported ? i18n.getMessage("initialSetupNotOnline") : i18n.getMessage("initialSetupNoBuildInfo"), + isIspConnected + ? i18n.getMessage("initialSetupNoBuildInfo") + : i18n.getMessage("initialSetupNotOnline"), ); } }; - const showBuildOptions = function () { - const supported = - ((semver.eq(FC.CONFIG.apiVersion, API_VERSION_1_45) && ispConnected()) || + // Fills in the "Firmware" part of the "Firmware info" box + const showBuildFirmware = function () { + const isIspConnected = ispConnected(); + const buildOptionsValid = + ((semver.eq(FC.CONFIG.apiVersion, API_VERSION_1_45) && isIspConnected) || semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_46)) && FC.CONFIG.buildOptions.length; - - if (supported) { - let buildOptionList = `