open releases in new tab
This commit is contained in:
parent
2f2bebe506
commit
6e3940c8eb
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h2>WLED Software Update</h2>Installed version: ##VERSION##<br>Download the latest binary: <a
|
<h2>WLED Software Update</h2>Installed version: ##VERSION##<br>Download the latest binary: <a
|
||||||
href="https://github.com/Aircoookie/WLED/releases"><img
|
href="https://github.com/Aircoookie/WLED/releases" target="_blank"><img
|
||||||
src="https://img.shields.io/github/release/Aircoookie/WLED.svg?style=flat-square"></a><br>
|
src="https://img.shields.io/github/release/Aircoookie/WLED.svg?style=flat-square"></a><br>
|
||||||
<form method='POST' action='/update' enctype='multipart/form-data'><input type='file' class="bt" name='update'
|
<form method='POST' action='/update' enctype='multipart/form-data'><input type='file' class="bt" name='update'
|
||||||
required><br><input type='submit' class="bt" value='Update!'></form><button type="button" class="bt"
|
required><br><input type='submit' class="bt" value='Update!'></form><button type="button" class="bt"
|
||||||
|
@ -41,7 +41,7 @@ const char PAGE_update[] PROGMEM = R"=====(<!DOCTYPE html><html><head><meta cont
|
|||||||
.bt{background:#333;color:#fff;font-family:Verdana,sans-serif;border:.3ch solid #333;display:inline-block;font-size:20px;margin:8px;margin-top:12px}input[type=file]{font-size:16px}body{font-family:Verdana,sans-serif;text-align:center;background:#222;color:#fff;line-height:200%}
|
.bt{background:#333;color:#fff;font-family:Verdana,sans-serif;border:.3ch solid #333;display:inline-block;font-size:20px;margin:8px;margin-top:12px}input[type=file]{font-size:16px}body{font-family:Verdana,sans-serif;text-align:center;background:#222;color:#fff;line-height:200%}
|
||||||
</style></head><body><h2>WLED Software Update</h2>Installed version: 0.10.2<br>
|
</style></head><body><h2>WLED Software Update</h2>Installed version: 0.10.2<br>
|
||||||
Download the latest binary: <a
|
Download the latest binary: <a
|
||||||
href="https://github.com/Aircoookie/WLED/releases"><img
|
href="https://github.com/Aircoookie/WLED/releases" target="_blank"><img
|
||||||
src="https://img.shields.io/github/release/Aircoookie/WLED.svg?style=flat-square">
|
src="https://img.shields.io/github/release/Aircoookie/WLED.svg?style=flat-square">
|
||||||
</a><br><form method="POST" action="/update" enctype="multipart/form-data">
|
</a><br><form method="POST" action="/update" enctype="multipart/form-data">
|
||||||
<input type="file" class="bt" name="update" required><br><input type="submit"
|
<input type="file" class="bt" name="update" required><br><input type="submit"
|
||||||
|
@ -167,163 +167,163 @@ const char PAGE_settings_dmx[] PROGMEM = R"=====()=====";
|
|||||||
// Autogenerated from wled00/data/settings_ui.htm, do not edit!!
|
// Autogenerated from wled00/data/settings_ui.htm, do not edit!!
|
||||||
const char PAGE_settings_ui[] PROGMEM = R"=====(<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport"
|
const char PAGE_settings_ui[] PROGMEM = R"=====(<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport"
|
||||||
content="width=500"><title>UI Settings</title><script>var d = document;
|
content="width=500"><title>UI Settings</title><script>var d = document;
|
||||||
var initial_ds, initial_st;
|
var initial_ds, initial_st;
|
||||||
var sett = null;
|
var sett = null;
|
||||||
var l = {
|
var l = {
|
||||||
"comp":{
|
"comp":{
|
||||||
"labels":"Show button labels",
|
"labels":"Show button labels",
|
||||||
"colors":{
|
"colors":{
|
||||||
"LABEL":"Color selection methods",
|
"LABEL":"Color selection methods",
|
||||||
"picker": "Color Wheel",
|
"picker": "Color Wheel",
|
||||||
"rgb": "RGB sliders",
|
"rgb": "RGB sliders",
|
||||||
"quick": "Quick color selectors",
|
"quick": "Quick color selectors",
|
||||||
"hex": "HEX color input"
|
"hex": "HEX color input"
|
||||||
},
|
},
|
||||||
"pcmbot": "Show bottom tab bar in PC mode"
|
"pcmbot": "Show bottom tab bar in PC mode"
|
||||||
},
|
},
|
||||||
"theme":{
|
"theme":{
|
||||||
"alpha": {
|
"alpha": {
|
||||||
"bg":"Background opacity",
|
"bg":"Background opacity",
|
||||||
"tab":"Button opacity"
|
"tab":"Button opacity"
|
||||||
},
|
},
|
||||||
"bg":{
|
"bg":{
|
||||||
"url":"BG image URL"
|
"url":"BG image URL"
|
||||||
},
|
},
|
||||||
"color":{
|
"color":{
|
||||||
"bg":"BG HEX color"
|
"bg":"BG HEX color"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
function gId(s)
|
function gId(s)
|
||||||
{
|
{
|
||||||
return d.getElementById(s);
|
return d.getElementById(s);
|
||||||
}
|
}
|
||||||
function isObject(item) {
|
function isObject(item) {
|
||||||
return (item && typeof item === 'object' && !Array.isArray(item));
|
return (item && typeof item === 'object' && !Array.isArray(item));
|
||||||
}
|
}
|
||||||
function set(path, obj, val) {
|
function set(path, obj, val) {
|
||||||
var tar = obj;
|
var tar = obj;
|
||||||
var pList = path.split('_');
|
var pList = path.split('_');
|
||||||
var len = pList.length;
|
var len = pList.length;
|
||||||
for(var i = 0; i < len-1; i++) {
|
for(var i = 0; i < len-1; i++) {
|
||||||
var elem = pList[i];
|
var elem = pList[i];
|
||||||
if( !tar[elem] ) tar[elem] = {}
|
if( !tar[elem] ) tar[elem] = {}
|
||||||
tar = tar[elem];
|
tar = tar[elem];
|
||||||
}
|
}
|
||||||
|
|
||||||
tar[pList[len-1]] = val;
|
tar[pList[len-1]] = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
function addRec(s, path = "", label = null)
|
function addRec(s, path = "", label = null)
|
||||||
{
|
{
|
||||||
var str = "";
|
var str = "";
|
||||||
for (i in s)
|
for (i in s)
|
||||||
{
|
{
|
||||||
var fk = path + (path?'_':'') + i;
|
var fk = path + (path?'_':'') + i;
|
||||||
if (isObject(s[i])) {
|
if (isObject(s[i])) {
|
||||||
if (label && label[i] && label[i]["LABEL"]) str += `<h3>${label[i]["LABEL"]}</h3>`;
|
if (label && label[i] && label[i]["LABEL"]) str += `<h3>${label[i]["LABEL"]}</h3>`;
|
||||||
str += addRec(s[i], fk, label? label[i] : null);
|
str += addRec(s[i], fk, label? label[i] : null);
|
||||||
} else {
|
} else {
|
||||||
var lb = fk;
|
var lb = fk;
|
||||||
if (label && label[i]) lb = label[i];
|
if (label && label[i]) lb = label[i];
|
||||||
else if (s[i+'LABEL']) lb = s[i+'LABEL'];
|
else if (s[i+'LABEL']) lb = s[i+'LABEL'];
|
||||||
if (i.indexOf('LABEL') > 0) continue;
|
if (i.indexOf('LABEL') > 0) continue;
|
||||||
var t = typeof s[i];
|
var t = typeof s[i];
|
||||||
if (gId(fk)) { //already exists
|
if (gId(fk)) { //already exists
|
||||||
if(t === 'boolean')
|
if(t === 'boolean')
|
||||||
{
|
{
|
||||||
gId(fk).checked = s[i];
|
gId(fk).checked = s[i];
|
||||||
} else {
|
} else {
|
||||||
gId(fk).value = s[i];
|
gId(fk).value = s[i];
|
||||||
}
|
}
|
||||||
if (gId(fk).previousElementSibling.matches('.l')) {
|
if (gId(fk).previousElementSibling.matches('.l')) {
|
||||||
gId(fk).previousElementSibling.innerHTML = lb;
|
gId(fk).previousElementSibling.innerHTML = lb;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(t === 'boolean')
|
if(t === 'boolean')
|
||||||
{
|
{
|
||||||
str += `${lb}: <input class="agi cb" type="checkbox" id=${fk} ${s[i]?"checked":""}><br>`;
|
str += `${lb}: <input class="agi cb" type="checkbox" id=${fk} ${s[i]?"checked":""}><br>`;
|
||||||
} else if (t === 'number')
|
} else if (t === 'number')
|
||||||
{
|
{
|
||||||
str += `${lb}: <input class="agi" type="number" id=${fk} value=${s[i]}><br>`;
|
str += `${lb}: <input class="agi" type="number" id=${fk} value=${s[i]}><br>`;
|
||||||
} else if (t === 'string')
|
} else if (t === 'string')
|
||||||
{
|
{
|
||||||
str += `${lb}:<br><input class="agi" id=${fk} value=${s[i]}><br>`;
|
str += `${lb}:<br><input class="agi" id=${fk} value=${s[i]}><br>`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
function genForm(s) {
|
function genForm(s) {
|
||||||
var str = "";
|
var str = "";
|
||||||
str = addRec(s,"",l);
|
str = addRec(s,"",l);
|
||||||
|
|
||||||
gId('gen').innerHTML = str;
|
gId('gen').innerHTML = str;
|
||||||
}
|
}
|
||||||
function GetLS()
|
function GetLS()
|
||||||
{
|
{
|
||||||
sett = localStorage.getItem('wledUiCfg');
|
sett = localStorage.getItem('wledUiCfg');
|
||||||
if (!sett) gId('lserr').style.display = "inline";
|
if (!sett) gId('lserr').style.display = "inline";
|
||||||
try {
|
try {
|
||||||
sett = JSON.parse(sett);
|
sett = JSON.parse(sett);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
sett = {};
|
sett = {};
|
||||||
gId('lserr').style.display = "inline";
|
gId('lserr').style.display = "inline";
|
||||||
gId('lserr').innerHTML = "⚠ Settings JSON parsing failed. (" + e + ")";
|
gId('lserr').innerHTML = "⚠ Settings JSON parsing failed. (" + e + ")";
|
||||||
}
|
}
|
||||||
genForm(sett);
|
genForm(sett);
|
||||||
gId('dm').checked = (gId('theme_base').value === 'light');
|
gId('dm').checked = (gId('theme_base').value === 'light');
|
||||||
}
|
}
|
||||||
|
|
||||||
function SetLS()
|
function SetLS()
|
||||||
{
|
{
|
||||||
var l = d.querySelectorAll('.agi');
|
var l = d.querySelectorAll('.agi');
|
||||||
for (var i = 0; i < l.length; i++) {
|
for (var i = 0; i < l.length; i++) {
|
||||||
var e = l[i];
|
var e = l[i];
|
||||||
var val = e.classList.contains('cb') ? e.checked : e.value;
|
var val = e.classList.contains('cb') ? e.checked : e.value;
|
||||||
set(e.id, sett, val);
|
set(e.id, sett, val);
|
||||||
console.log(`${e.id} set to ${val}`);
|
console.log(`${e.id} set to ${val}`);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
localStorage.setItem('wledUiCfg', JSON.stringify(sett));
|
localStorage.setItem('wledUiCfg', JSON.stringify(sett));
|
||||||
gId('lssuc').style.display = "inline";
|
gId('lssuc').style.display = "inline";
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
gId('lssuc').style.display = "none";
|
gId('lssuc').style.display = "none";
|
||||||
gId('lserr').style.display = "inline";
|
gId('lserr').style.display = "inline";
|
||||||
gId('lserr').innerHTML = "⚠ Settings JSON saving failed. (" + e + ")";
|
gId('lserr').innerHTML = "⚠ Settings JSON saving failed. (" + e + ")";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Save() {
|
function Save() {
|
||||||
SetLS();
|
SetLS();
|
||||||
if (d.Sf.DS.value != initial_ds || d.Sf.ST.checked != initial_st) d.Sf.submit();
|
if (d.Sf.DS.value != initial_ds || d.Sf.ST.checked != initial_st) d.Sf.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
function S()
|
function S()
|
||||||
{
|
{
|
||||||
GetV();
|
GetV();
|
||||||
initial_ds = d.Sf.DS.value;
|
initial_ds = d.Sf.DS.value;
|
||||||
initial_st = d.Sf.ST.checked;
|
initial_st = d.Sf.ST.checked;
|
||||||
GetLS();
|
GetLS();
|
||||||
}
|
}
|
||||||
function H()
|
function H()
|
||||||
{
|
{
|
||||||
window.open("https://github.com/Aircoookie/WLED/wiki/Settings#user-interface-settings");
|
window.open("https://github.com/Aircoookie/WLED/wiki/Settings#user-interface-settings");
|
||||||
}
|
}
|
||||||
function B()
|
function B()
|
||||||
{
|
{
|
||||||
window.open("/settings","_self");
|
window.open("/settings","_self");
|
||||||
}
|
}
|
||||||
function UI()
|
function UI()
|
||||||
{
|
{
|
||||||
gId('idonthateyou').style.display = (gId('dm').checked) ? 'inline':'none';
|
gId('idonthateyou').style.display = (gId('dm').checked) ? 'inline':'none';
|
||||||
var f = gId('theme_base');
|
var f = gId('theme_base');
|
||||||
if (f) f.value = (gId('dm').checked) ? 'light':'dark';
|
if (f) f.value = (gId('dm').checked) ? 'light':'dark';
|
||||||
}
|
}
|
||||||
function GetV() {var d=document;
|
function GetV() {var d=document;
|
||||||
%CSS%%SCSS%</head><body onload="S()">
|
%CSS%%SCSS%</head><body onload="S()">
|
||||||
<form id="form_s" name="Sf" method="post"><div
|
<form id="form_s" name="Sf" method="post"><div
|
||||||
style="position:sticky;top:0;background-color:#222"><div class="helpB"><button
|
style="position:sticky;top:0;background-color:#222"><div class="helpB"><button
|
||||||
|
2933
wled00/html_ui.h
2933
wled00/html_ui.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user