Additional CSS optimisations.
This commit is contained in:
parent
602d04af82
commit
93378406c3
@ -164,21 +164,20 @@ button {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.slider-icon
|
||||
{
|
||||
.slider-icon {
|
||||
transform: translate(6px,3px);
|
||||
color: var(--c-d);
|
||||
}
|
||||
|
||||
.e-icon
|
||||
{
|
||||
.e-icon {
|
||||
transform: translateY(3px);
|
||||
color: var(--c-d);
|
||||
}
|
||||
|
||||
.sel-icon {
|
||||
cursor: pointer;
|
||||
transform: translateX(3px);
|
||||
}
|
||||
|
||||
.e-icon, .sel-icon, .slider-icon {
|
||||
cursor: pointer;
|
||||
color: var(--c-d);
|
||||
}
|
||||
|
||||
@ -595,16 +594,13 @@ input[type=range]::-moz-range-thumb {
|
||||
}
|
||||
.btn-i {}
|
||||
.btn-icon {
|
||||
margin: -4px 8px 0 0;
|
||||
margin: -4px 4px 0 0;
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
}
|
||||
.btna-icon {
|
||||
margin: 0px;
|
||||
}
|
||||
.btn-n {
|
||||
width: 230px;
|
||||
margin-right: 8px;
|
||||
margin: 0 8px 10px 0;
|
||||
}
|
||||
.btn-p {
|
||||
width: 120px;
|
||||
@ -763,16 +759,23 @@ input[type=number]::-webkit-outer-spin-button {
|
||||
}
|
||||
|
||||
.xxs {
|
||||
width: 40px;
|
||||
margin: 6px;
|
||||
border: 2px solid var(--c-e) !important;
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
margin: 5px;
|
||||
text-shadow: -1px -1px 0 var(--c-6), 1px -1px 0 var(--c-6), -1px 1px 0 var(--c-6), 1px 1px 0 var(--c-6);
|
||||
}
|
||||
|
||||
.xxs-w {
|
||||
border-width: 5px !important;
|
||||
margin: 2px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.psts {
|
||||
background-color: var(--c-3);
|
||||
color: var(--c-f);
|
||||
cursor: pointer;
|
||||
padding: 2px 0 0 0;
|
||||
height: 40px;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.pwr {
|
||||
@ -954,18 +957,22 @@ input[type=number]::-webkit-outer-spin-button {
|
||||
|
||||
.lstI.selected {
|
||||
background: var(--c-5);
|
||||
top: 142px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.lstI.sticky {
|
||||
top: 100px;
|
||||
}
|
||||
|
||||
.lstI.sticky, .lstI.selected {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#fxlist .lstI.sticky {
|
||||
top: 99px;
|
||||
}
|
||||
|
||||
#fxlist .lstI.selected {
|
||||
top: 142px;
|
||||
}
|
||||
|
||||
#pallist .lstI.selected {
|
||||
top: 84px;
|
||||
}
|
||||
|
@ -91,13 +91,13 @@
|
||||
<div class="qcs" onclick="pC('rnd');" title="Random" style="background-color:var(--c-3); padding: 4px 8px; transform: translateY(-10px);">R</div>
|
||||
</div>
|
||||
<div id="csl">
|
||||
<button class="xxs btn" onclick="selectSlot(0);">1</button>
|
||||
<button class="xxs btn" onclick="selectSlot(1);">2</button>
|
||||
<button class="xxs btn" onclick="selectSlot(2);">3</button>
|
||||
<button class="btn xxs" onclick="selectSlot(0);">1</button>
|
||||
<button class="btn xxs" onclick="selectSlot(1);">2</button>
|
||||
<button class="btn xxs" onclick="selectSlot(2);">3</button>
|
||||
</div>
|
||||
<div id="hexw">
|
||||
<input id="hexc" type="text" class="noslide" onkeydown="hexEnter(this)" autocomplete="off" maxlength="8" />
|
||||
<button id="hexcnf" class="xxs btn" onclick="fromHex();"><i class="icons btna-icon"></i></button>
|
||||
<button id="hexcnf" class="btn btn-xs" onclick="fromHex();"><i class="icons btn-icon"></i></button>
|
||||
</div>
|
||||
<p class="labels"><i class="icons sel-icon" onclick="tglHex()"></i> Color palette</p>
|
||||
<div class="il">
|
||||
|
@ -515,7 +515,7 @@ function populateQL()
|
||||
pQL.sort((a,b) => (a[0]>b[0]));
|
||||
cn += `<p class="labels">Quick load</p>`;
|
||||
for (var key of (pQL||[])) {
|
||||
cn += `<button class="xxs btn psts" id="p${key[0]}qlb" title="${key[2]?key[2]:''}" onclick="setPreset(${key[0]});">${key[1]}</button>`;
|
||||
cn += `<button class="btn btn-xs psts" id="p${key[0]}qlb" title="${key[2]?key[2]:''}" onclick="setPreset(${key[0]});">${key[1]}</button>`;
|
||||
}
|
||||
}
|
||||
gId('pql').innerHTML = cn;
|
||||
@ -759,7 +759,7 @@ function populateNodes(i,n)
|
||||
for (var x=0;x<n.nodes.length;x++) {
|
||||
var o = n.nodes[x];
|
||||
if (o.name) {
|
||||
var url = `<button class="btn btna-icon tab" title="${o.ip}" onclick="location.assign('http://${o.ip}');">${bname(o)}</button>`;
|
||||
var url = `<button class="btn tab" title="${o.ip}" onclick="location.assign('http://${o.ip}');">${bname(o)}</button>`;
|
||||
urows += inforow(url,`${btype(o.type)}<br><i>${o.vid==0?"N/A":o.vid}</i>`);
|
||||
nnodes++;
|
||||
}
|
||||
@ -1804,13 +1804,15 @@ function selectSlot(b)
|
||||
csel = b;
|
||||
var cd = gId('csl').children;
|
||||
for (let i = 0; i < cd.length; i++) {
|
||||
cd[i].style.border="2px solid var(--c-e)";
|
||||
cd[i].style.margin="5px";
|
||||
cd[i].style.width="42px";
|
||||
//cd[i].style.borderWidth="2px";
|
||||
//cd[i].style.margin="5px";
|
||||
//cd[i].style.width="42px";
|
||||
cd[i].classList.remove('xxs-w');
|
||||
}
|
||||
cd[csel].style.border="5px solid var(--c-e)";
|
||||
cd[csel].style.margin="2px";
|
||||
cd[csel].style.width="50px";
|
||||
//cd[csel].style.borderWidth="5px";
|
||||
//cd[csel].style.margin="2px";
|
||||
//cd[csel].style.width="50px";
|
||||
cd[csel].classList.add('xxs-w');
|
||||
cpick.color.set(cd[csel].style.backgroundColor);
|
||||
gId('sliderW').value = whites[csel];
|
||||
updateTrail(gId('sliderW'));
|
||||
|
@ -472,6 +472,12 @@ input[type=range]::-moz-range-thumb {
|
||||
border: 1px solid var(--c-4);
|
||||
}
|
||||
|
||||
.btn-xs {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
#fxBtn, #palBtn {
|
||||
background-color: var(--c-2);
|
||||
border: 1px solid var(--c-2);
|
||||
@ -487,10 +493,6 @@ input[type=range]::-moz-range-thumb {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btna-icon {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.qcs {
|
||||
padding: 14px;
|
||||
margin: 2px;
|
||||
@ -546,16 +548,23 @@ input[type=number]::-webkit-outer-spin-button {
|
||||
}
|
||||
|
||||
.xxs {
|
||||
border: 2px solid var(--c-e) !important;
|
||||
width: 44px;
|
||||
margin: 6px;
|
||||
height: 44px;
|
||||
margin: 5px;
|
||||
text-shadow: -1px -1px 0 var(--c-6), 1px -1px 0 var(--c-6), -1px 1px 0 var(--c-6), 1px 1px 0 var(--c-6);
|
||||
}
|
||||
|
||||
.xxs-w {
|
||||
border-width: 4px !important;
|
||||
margin: 2px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.psts {
|
||||
background-color: var(--c-3);
|
||||
color: var(--c-f);
|
||||
cursor: pointer;
|
||||
padding: 2px 0 0 0;
|
||||
height: 44px;
|
||||
margin: 6px;
|
||||
}
|
||||
|
||||
.pwr {
|
||||
|
@ -422,7 +422,7 @@ function populateQL()
|
||||
if (pQL.length > 0) {
|
||||
pQL.sort((a,b) => (a[0]>b[0]));
|
||||
for (var key of (pQL||[])) {
|
||||
cn += `<button class="xxs btn psts" id="p${key[0]}qlb" title="${key[2]?key[2]:''}" onclick="setPreset(${key[0]});">${key[1]}</button>`;
|
||||
cn += `<button class="btn btn-xs psts" id="p${key[0]}qlb" title="${key[2]?key[2]:''}" onclick="setPreset(${key[0]});">${key[1]}</button>`;
|
||||
}
|
||||
}
|
||||
gId('pql').innerHTML = cn;
|
||||
@ -594,7 +594,7 @@ function populateNodes(i,n)
|
||||
for (var x=0;x<n.nodes.length;x++) {
|
||||
var o = n.nodes[x];
|
||||
if (o.name) {
|
||||
var url = `<button class="btn btna-icon tab" title="${o.ip}" onclick="location.assign('http://${o.ip}');">${bname(o)}</button>`;
|
||||
var url = `<button class="btn tab" title="${o.ip}" onclick="location.assign('http://${o.ip}');">${bname(o)}</button>`;
|
||||
urows += inforow(url,`${btype(o.type)}<br><i>${o.vid==0?"N/A":o.vid}</i>`);
|
||||
nnodes++;
|
||||
}
|
||||
@ -1150,13 +1150,9 @@ function selectSlot(b)
|
||||
csel = b;
|
||||
var cd = gId('csl').children;
|
||||
for (let i = 0; i < cd.length; i++) {
|
||||
cd[i].style.border="2px solid var(--c-e)";
|
||||
cd[i].style.margin="5px";
|
||||
cd[i].style.width="46px";
|
||||
cd[i].classList.remove('xxs-w');
|
||||
}
|
||||
cd[csel].style.border="5px solid var(--c-e)";
|
||||
cd[csel].style.margin="2px";
|
||||
cd[csel].style.width="54px";
|
||||
cd[csel].classList.add('xxs-w');
|
||||
cpick.color.set(cd[csel].style.backgroundColor);
|
||||
gId('sliderW').value = whites[csel];
|
||||
updateTrail(gId('sliderW'));
|
||||
|
3561
wled00/html_simple.h
3561
wled00/html_simple.h
File diff suppressed because it is too large
Load Diff
4444
wled00/html_ui.h
4444
wled00/html_ui.h
File diff suppressed because it is too large
Load Diff
@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
// version code in format yymmddb (b = daily build)
|
||||
#define VERSION 2108101
|
||||
#define VERSION 2108111
|
||||
|
||||
//uncomment this if you have a "my_config.h" file you'd like to use
|
||||
//#define WLED_USE_MY_CONFIG
|
||||
|
@ -26,6 +26,7 @@ void handleUpload(AsyncWebServerRequest *request, String filename, size_t index,
|
||||
if (final) {
|
||||
request->_tempFile.close();
|
||||
request->send(200, "text/plain", F("File Uploaded!"));
|
||||
cacheInvalidate++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -286,6 +287,7 @@ bool handleIfNoneMatchCacheHeader(AsyncWebServerRequest* request)
|
||||
void setStaticContentCacheHeaders(AsyncWebServerResponse *response)
|
||||
{
|
||||
char tmp[12];
|
||||
// https://medium.com/@codebyamir/a-web-developers-guide-to-browser-caching-cc41f3b73e7c
|
||||
#ifndef WLED_DEBUG
|
||||
response->addHeader(F("Cache-Control"),"max-age=604800"); // 7 day caching
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user