diff --git a/locales/en/messages.json b/locales/en/messages.json index 1e3817c9d2..196ac70e08 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -2757,6 +2757,13 @@ "firmwareFlasherFailedToLoadOnlineFirmware": { "message": "Failed to load remote firmware" }, + "firmwareFlasherFailedToLoadUnifiedConfig": { + "message": "Failed to load remote config for {{remote_file}}" + }, + "firmwareFlasherLegacyLabel": { + "message": "{{target}} (Legacy)", + "description": "If we have a Unified target and a old style target available, we are labeling the older one" + }, "firmwareFlasherNoFirmwareSelected": { "message": "No firmware selected to load" }, diff --git a/src/js/tabs/firmware_flasher.js b/src/js/tabs/firmware_flasher.js index 0494cdcf67..8475bca31e 100644 --- a/src/js/tabs/firmware_flasher.js +++ b/src/js/tabs/firmware_flasher.js @@ -250,6 +250,7 @@ TABS.firmware_flasher.initialize = function (callback) { let releases = {}; let unifiedConfigs = {}; let items = {}; + let baseTargets = {}; data.forEach(function(target) { let targetName = target.name; if (targetName.endsWith('.config')) { @@ -258,16 +259,23 @@ TABS.firmware_flasher.initialize = function (callback) { return; } unifiedConfigs[targetName]=target.download_url; - items[targetName] = target.download_url; + items[targetName] = "something"; }); Object.keys(builds).forEach(function (key) { + // unifiedTargets is our list above of 4 targets if (unifiedTargets.includes(key)) { items[key] = "something"; releases[key] = builds[key]; } else { var legacyKey = key + " (Legacy)"; - items[legacyKey] = "something"; - releases[legacyKey] = builds[key]; + if (unifiedConfigs[key] === undefined) { + items[key] = "something"; + releases[key] = builds[key]; + } else { + items[legacyKey] = "i18nplz"; + baseTargets[legacyKey] = key; + releases[legacyKey] = builds[key]; + } } }); $('select[name="board"]').empty() @@ -281,7 +289,10 @@ TABS.firmware_flasher.initialize = function (callback) { Object.keys(items) .sort() .forEach(function(target, i) { - var select_e = $("".format(target)); + //console.log(items);console.log('target', items[target]); + var select_e = $("".format(target, + items[target] === "i18nplz" ? i18n.getMessage("firmwareFlasherLegacyLabel", + {target: baseTargets[target]}) : target)); boards_e.append(select_e); }); TABS.firmware_flasher.releases = releases; @@ -462,7 +473,9 @@ TABS.firmware_flasher.initialize = function (callback) { targetConfig = undefined; isConfigLocal = false; unifiedConfig= undefined; - GUI.log('failed to load a unified config'); + let baseFileName = TABS.firmware_flasher.unifiedConfigs[target].reverse()[0]; + GUI.log(i18n.getMessage('firmwareFlasherFailedToLoadUnifiedConfig', + {remote_file: baseFileName})); }); } else { console.log('We have the config cached for', target);