1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-26 09:45:28 +03:00

Redesign of Firmware section at Setup tab (#3770)

* Redesign of Firmware section

* layout change

* popup work

* change branch

* more popup

* also main

* Final

* Final..

* removed popup.js - not needed

* with grid, missing center in frame

* missing center in frame

* Final

* Grid without table

* Fix quality gate issue

* Simple and synamic gris, and dark theme supported

* Update help

* Update help

* Update src/js/tabs/setup.js as suggested

Co-authored-by: Mark Haslinghuis <mark@numloq.nl>

---------

Co-authored-by: nerdCopter <56646290+nerdCopter@users.noreply.github.com>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
This commit is contained in:
HThuren 2024-02-16 16:04:26 +01:00 committed by GitHub
parent b362ed32c3
commit c289445d53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 105 additions and 44 deletions

View file

@ -208,8 +208,7 @@ setup.initialize = function (callback) {
// Firmware info
msp_api_e = $('.api-version'),
build_date_e = $('.build-date'),
build_info_e = $('.build-info'),
build_opt_e = $('.build-options');
build_info_e = $('.build-info');
// DISARM FLAGS
// We add all the arming/disarming flags available, and show/hide them if needed.
@ -417,35 +416,63 @@ setup.initialize = function (callback) {
}
};
function showDialogBuildInfo(title, message) {
const dialog = $('.dialogBuildInfo')[0];
$('.dialogBuildInfo-title').html(title);
$('.dialogBuildInfo-content').html(message);
if ( ! dialog.hasAttribute('open')) {
dialog.showModal();
$('.dialogBuildInfo-closebtn').on('click', function() {
dialog.close();
});
}
}
const showFirmwareInfo = function() {
// Firmware info
msp_api_e.text([FC.CONFIG.apiVersion]);
build_date_e.text([FC.CONFIG.buildInfo]);
if (FC.CONFIG.buildKey.length === 32) {
const buildRoot = `https://build.betaflight.com/api/builds/${FC.CONFIG.buildKey}`;
const buildConfig = `<span class="buildInfoBtn" title="${i18n.getMessage('initialSetupInfoBuildInfoConfig')}: ${buildRoot}/json">
<a href="${buildRoot}/json" target="_blank"><strong>${i18n.getMessage('initialSetupInfoBuildInfoConfig')}</a></strong></span>`;
const buildLog = `<span class="buildInfoBtn" title="${i18n.getMessage('initialSetupInfoBuildInfoLog')}: ${buildRoot}/log">
<a href="${buildRoot}/log" target="_blank"><strong>${i18n.getMessage('initialSetupInfoBuildInfoLog')}</a></strong></span>`;
build_info_e.html(`${buildConfig} &nbsp &nbsp ${buildLog}`);
$('.build-info a').removeClass('disabled');
} else {
$('.build-info a').addClass('disabled');
}
if (navigator.onLine) {
let buildOptionList = "";
if (FC.CONFIG.buildOptions.length) {
let buildOptions = "";
build_opt_e.text = "";
for (const buildOption of FC.CONFIG.buildOptions) {
buildOptions = `${buildOptions} &nbsp ${buildOption}`;
if (FC.CONFIG.buildOptions.length) {
buildOptionList = `<div class="dialogBuildInfoGrid-container">`;
for (const buildOptionElement of FC.CONFIG.buildOptions) {
buildOptionList += `<div class="dialogBuildInfoGrid-item">${buildOptionElement}</div>`;
}
buildOptionList += `</div>`;
build_info_e.html(`<span class="buildInfoBtn" title="${i18n.getMessage('initialSetupInfoBuildOption')}">
<a class="buildOptions" href=#"><strong>${i18n.getMessage('initialSetupInfoBuildOptionsList')}</strong></a></span>`);
} else {
build_info_e.html(i18n.getMessage(navigator.onLine ? 'initialSetupInfoBuildOptionsEmpty' : 'initialSetupNotOnline'));
}
if (FC.CONFIG.buildKey.length === 32) {
const buildRoot = `https://build.betaflight.com/api/builds/${FC.CONFIG.buildKey}`;
const buildConfig = `<span class="buildInfoBtn" title="${i18n.getMessage('initialSetupInfoBuildConfig')}: ${buildRoot}/json">
<a href="${buildRoot}/json" target="_blank"><strong>${i18n.getMessage('initialSetupInfoBuildConfig')}</strong></a></span>`;
const buildLog = `<span class="buildInfoBtn" title="${i18n.getMessage('initialSetupInfoBuildLog')}: ${buildRoot}/log">
<a href="${buildRoot}/log" target="_blank"><strong>${i18n.getMessage('initialSetupInfoBuildLog')}</strong></a></span>`;
const buildOptions = `<span class="buildInfoBtn" title="${i18n.getMessage('initialSetupInfoBuildOptionList')}">
<a class="buildOptions disabled" href=#"><strong>${i18n.getMessage('initialSetupInfoBuildOptions')}</strong></a></span>`;
build_info_e.html(`${buildConfig} ${buildLog} &nbsp; &nbsp; ${buildOptions}`);
$('a.buildOptions').on('click', async function() {
showDialogBuildInfo(`<h3>${i18n.getMessage('initialSetupInfoBuildOptionList')}</h3>`, buildOptionList);
});
$('.build-info a').removeClass('disabled');
} else {
build_info_e.html(i18n.getMessage('initialSetupInfoBuildEmpty'));
$('.build-info a').addClass('disabled');
}
build_opt_e.html(`<span class="buildInfoClassOptions"
title="${i18n.getMessage('initialSetupInfoBuildOptions')}${buildOptions}">
<strong>${i18n.getMessage('initialSetupInfoBuildOptionsList')}</strong></span>`);
} else {
build_opt_e.html(i18n.getMessage(navigator.onLine ? 'initialSetupInfoBuildOptionsEmpty' : 'initialSetupNotOnline'));
build_info_e.html(i18n.getMessage('initialSetupNotOnline'));
$('.build-info a').addClass('disabled');
}
};
@ -477,6 +504,8 @@ setup.initialize = function (callback) {
if (semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_46) && FC.CONFIG.cpuTemp) {
cputemp_e.html(`${FC.CONFIG.cpuTemp.toFixed(0)} &#8451;`);
} else {
cputemp_e.text(i18n.getMessage('initialSetupCpuTempNotSupported'));
}
// GPS info is acquired in the background using update_live_status() in serial_backend.js