diff --git a/components/wifi-manager/code.js b/components/wifi-manager/code.js
index e7b512e1..8acbb4da 100644
--- a/components/wifi-manager/code.js
+++ b/components/wifi-manager/code.js
@@ -1,14 +1,14 @@
// First, checks if it isn't implemented yet.
if (!String.prototype.format) {
- String.prototype.format = function() {
- var args = arguments;
- return this.replace(/{(\d+)}/g, function(match, number) {
- return typeof args[number] != 'undefined'
- ? args[number]
- : match
- ;
- });
- };
+ String.prototype.format = function() {
+ var args = arguments;
+ return this.replace(/{(\d+)}/g, function(match, number) {
+ return typeof args[number] != 'undefined'
+ ? args[number]
+ : match
+ ;
+ });
+ };
}
var releaseURL = 'https://api.github.com/repos/sle118/squeezelite-esp32/releases';
@@ -30,149 +30,149 @@ var RefreshAPIIntervalActive = false;
var output = '';
function stopCheckStatusInterval(){
- if(checkStatusInterval != null){
- clearTimeout(checkStatusInterval);
- checkStatusInterval = null;
- }
- StatusIntervalActive = false;
+ if(checkStatusInterval != null){
+ clearTimeout(checkStatusInterval);
+ checkStatusInterval = null;
+ }
+ StatusIntervalActive = false;
}
function stopRefreshAPInterval(){
- if(refreshAPInterval != null){
- clearTimeout(refreshAPInterval);
- refreshAPInterval = null;
- }
- RefreshAPIIntervalActive = false;
+ if(refreshAPInterval != null){
+ clearTimeout(refreshAPInterval);
+ refreshAPInterval = null;
+ }
+ RefreshAPIIntervalActive = false;
}
function startCheckStatusInterval(){
- StatusIntervalActive = true;
- checkStatusInterval = setTimeout(checkStatus, 3000);
+ StatusIntervalActive = true;
+ checkStatusInterval = setTimeout(checkStatus, 3000);
}
function startRefreshAPInterval(){
- RefreshAPIIntervalActive = true;
- refreshAPInterval = setTimeout(refreshAP, 2800);
+ RefreshAPIIntervalActive = true;
+ refreshAPInterval = setTimeout(refreshAP, 2800);
}
function RepeatCheckStatusInterval(){
- if(StatusIntervalActive)
- startCheckStatusInterval();
+ if(StatusIntervalActive)
+ startCheckStatusInterval();
}
function RepeatRefreshAPInterval(){
- if(RefreshAPIIntervalActive)
- startRefreshAPInterval();
+ if(RefreshAPIIntervalActive)
+ startRefreshAPInterval();
}
$(document).ready(function(){
- $("#wifi-status").on("click", ".ape", function() {
- $( "#wifi" ).slideUp( "fast", function() {});
- $( "#connect-details" ).slideDown( "fast", function() {});
- });
+ $("#wifi-status").on("click", ".ape", function() {
+ $( "#wifi" ).slideUp( "fast", function() {});
+ $( "#connect-details" ).slideDown( "fast", function() {});
+ });
- $("#manual_add").on("click", ".ape", function() {
- selectedSSID = $(this).text();
- $( "#ssid-pwd" ).text(selectedSSID);
- $( "#wifi" ).slideUp( "fast", function() {});
- $( "#connect_manual" ).slideDown( "fast", function() {});
- $( "#connect" ).slideUp( "fast", function() {});
+ $("#manual_add").on("click", ".ape", function() {
+ selectedSSID = $(this).text();
+ $( "#ssid-pwd" ).text(selectedSSID);
+ $( "#wifi" ).slideUp( "fast", function() {});
+ $( "#connect_manual" ).slideDown( "fast", function() {});
+ $( "#connect" ).slideUp( "fast", function() {});
- //update wait screen
- $( "#loading" ).show();
- $( "#connect-success" ).hide();
- $( "#connect-fail" ).hide();
- });
+ //update wait screen
+ $( "#loading" ).show();
+ $( "#connect-success" ).hide();
+ $( "#connect-fail" ).hide();
+ });
- $("#wifi-list").on("click", ".ape", function() {
- selectedSSID = $(this).text();
- $( "#ssid-pwd" ).text(selectedSSID);
- $( "#wifi" ).slideUp( "fast", function() {});
- $( "#connect_manual" ).slideUp( "fast", function() {});
- $( "#connect" ).slideDown( "fast", function() {});
-
- //update wait screen
- $( "#loading" ).show();
- $( "#connect-success" ).hide();
- $( "#connect-fail" ).hide();
- });
-
- $("#cancel").on("click", function() {
- selectedSSID = "";
- $( "#connect" ).slideUp( "fast", function() {});
- $( "#connect_manual" ).slideUp( "fast", function() {});
- $( "#wifi" ).slideDown( "fast", function() {});
- });
+ $("#wifi-list").on("click", ".ape", function() {
+ selectedSSID = $(this).text();
+ $( "#ssid-pwd" ).text(selectedSSID);
+ $( "#wifi" ).slideUp( "fast", function() {});
+ $( "#connect_manual" ).slideUp( "fast", function() {});
+ $( "#connect" ).slideDown( "fast", function() {});
- $("#manual_cancel").on("click", function() {
- selectedSSID = "";
- $( "#connect" ).slideUp( "fast", function() {});
- $( "#connect_manual" ).slideUp( "fast", function() {});
- $( "#wifi" ).slideDown( "fast", function() {});
- });
-
- $("#join").on("click", function() {
- performConnect();
- });
+ //update wait screen
+ $( "#loading" ).show();
+ $( "#connect-success" ).hide();
+ $( "#connect-fail" ).hide();
+ });
- $("#manual_join").on("click", function() {
- performConnect($(this).data('connect'));
- });
-
- $("#ok-details").on("click", function() {
- $( "#connect-details" ).slideUp( "fast", function() {});
- $( "#wifi" ).slideDown( "fast", function() {});
-
- });
-
- $("#ok-credits").on("click", function() {
- $( "#credits" ).slideUp( "fast", function() {});
- $( "#app" ).slideDown( "fast", function() {});
- });
-
- $("#acredits").on("click", function(event) {
- event.preventDefault();
- $( "#app" ).slideUp( "fast", function() {});
- $( "#credits" ).slideDown( "fast", function() {});
- });
-
- $("#ok-connect").on("click", function() {
- $( "#connect-wait" ).slideUp( "fast", function() {});
- $( "#wifi" ).slideDown( "fast", function() {});
- });
-
- $("#disconnect").on("click", function() {
- $( "#connect-details-wrap" ).addClass('blur');
- $( "#diag-disconnect" ).slideDown( "fast", function() {});
- });
-
- $("#no-disconnect").on("click", function() {
- $( "#diag-disconnect" ).slideUp( "fast", function() {});
- $( "#connect-details-wrap" ).removeClass('blur');
- });
-
- $("#yes-disconnect").on("click", function() {
- stopCheckStatusInterval();
- selectedSSID = "";
-
- $( "#diag-disconnect" ).slideUp( "fast", function() {});
- $( "#connect-details-wrap" ).removeClass('blur');
-
- $.ajax({
- url: '/connect.json',
- dataType: 'json',
- method: 'DELETE',
- cache: false,
- data: { 'timestamp': Date.now()}
- });
+ $("#cancel").on("click", function() {
+ selectedSSID = "";
+ $( "#connect" ).slideUp( "fast", function() {});
+ $( "#connect_manual" ).slideUp( "fast", function() {});
+ $( "#wifi" ).slideDown( "fast", function() {});
+ });
- startCheckStatusInterval();
-
- $( "#connect-details" ).slideUp( "fast", function() {});
- $( "#wifi" ).slideDown( "fast", function() {})
- });
-
- $("#autoexec-cb").on("click", function() {
+ $("#manual_cancel").on("click", function() {
+ selectedSSID = "";
+ $( "#connect" ).slideUp( "fast", function() {});
+ $( "#connect_manual" ).slideUp( "fast", function() {});
+ $( "#wifi" ).slideDown( "fast", function() {});
+ });
+
+ $("#join").on("click", function() {
+ performConnect();
+ });
+
+ $("#manual_join").on("click", function() {
+ performConnect($(this).data('connect'));
+ });
+
+ $("#ok-details").on("click", function() {
+ $( "#connect-details" ).slideUp( "fast", function() {});
+ $( "#wifi" ).slideDown( "fast", function() {});
+
+ });
+
+ $("#ok-credits").on("click", function() {
+ $( "#credits" ).slideUp( "fast", function() {});
+ $( "#app" ).slideDown( "fast", function() {});
+ });
+
+ $("#acredits").on("click", function(event) {
+ event.preventDefault();
+ $( "#app" ).slideUp( "fast", function() {});
+ $( "#credits" ).slideDown( "fast", function() {});
+ });
+
+ $("#ok-connect").on("click", function() {
+ $( "#connect-wait" ).slideUp( "fast", function() {});
+ $( "#wifi" ).slideDown( "fast", function() {});
+ });
+
+ $("#disconnect").on("click", function() {
+ $( "#connect-details-wrap" ).addClass('blur');
+ $( "#diag-disconnect" ).slideDown( "fast", function() {});
+ });
+
+ $("#no-disconnect").on("click", function() {
+ $( "#diag-disconnect" ).slideUp( "fast", function() {});
+ $( "#connect-details-wrap" ).removeClass('blur');
+ });
+
+ $("#yes-disconnect").on("click", function() {
+ stopCheckStatusInterval();
+ selectedSSID = "";
+
+ $( "#diag-disconnect" ).slideUp( "fast", function() {});
+ $( "#connect-details-wrap" ).removeClass('blur');
+
+ $.ajax({
+ url: '/connect.json',
+ dataType: 'json',
+ method: 'DELETE',
+ cache: false,
+ data: { 'timestamp': Date.now()}
+ });
+
+ startCheckStatusInterval();
+
+ $( "#connect-details" ).slideUp( "fast", function() {});
+ $( "#wifi" ).slideDown( "fast", function() {})
+ });
+
+ $("#autoexec-cb").on("click", function() {
autoexec = (this.checked)?1:0;
$.ajax({
url: '/config.json',
@@ -193,9 +193,9 @@ $(document).ready(function(){
});
});
- $("#save-autoexec1").on("click", function() {
+ $("#save-autoexec1").on("click", function() {
autoexec1 = $("#autoexec1").val();
-
+
$.ajax({
url: '/config.json',
dataType: 'json',
@@ -207,7 +207,7 @@ $(document).ready(function(){
console.log('sent config JSON with headers:', autoexec1);
});
- $("#save-gpio").on("click", function() {
+ $("#save-gpio").on("click", function() {
var headers = {};
$("input.gpio").each(function() {
var id = $(this)[0].id;
@@ -227,7 +227,7 @@ $(document).ready(function(){
console.log('sent config JSON with headers:', JSON.stringify(headers));
});
- $("#flash").on("click", function() {
+ $("#flash").on("click", function() {
var url = $("#fwurl").val();
$.ajax({
url: '/config.json',
@@ -239,7 +239,7 @@ $(document).ready(function(){
});
});
- $("#generate-command").on("click", function() {
+ $("#generate-command").on("click", function() {
var commandLine = commandHeader + '-n ' + $("#player").val();
if (output == 'bt') {
@@ -253,7 +253,7 @@ $(document).ready(function(){
commandLine += ' ' + $("#optional").val();
}
$("#autoexec1").val(commandLine);
- });
+ });
$('[name=audio]').on("click", function(){
if (this.id == 'bt') {
@@ -266,7 +266,7 @@ $(document).ready(function(){
$("#btsinkdiv").hide(200);
output = 'i2s';
}
- });
+ });
$('#fwcheck').on("click", function(){
$("#releaseTable").html("");
@@ -280,262 +280,262 @@ $(document).ready(function(){
});
var [ver, idf, cfg, branch] = release.name.split('#');
var body = release.body.replace(/\\n/ig, "
").replace(/\'/ig, "\"");
- var [date, time] = release.created_at.split('T');
- if (ver.match(/esp-idf/)) return; //TODO delete
- $("#releaseTable").append(
- "
Your IP address now is: " + text(data["ip"]) + "
"); - $( "#connect-success" ).show(); - $( "#connect-fail" ).hide(); + function refreshAP(){ + if (!enableAPTimer) return; + $.getJSON( "/ap.json", function( data ) { + if(data.length > 0){ + //sort by signal strength + data.sort(function (a, b) { + var x = a["rssi"]; var y = b["rssi"]; + return ((x < y) ? 1 : ((x > y) ? -1 : 0)); + }); + apList = data; + refreshAPHTML(apList); + } + }); + } + function refreshAPHTML(data){ + var h = ""; + data.forEach(function(e, idx, array) { + h += 'Your IP address now is: " + text(data["ip"]) + "
"); + $( "#connect-success" ).show(); + $( "#connect-fail" ).hide(); + + enableAPTimer = false; + if (!recovery) enableStatusTimer = false; + } + else if(data["urc"] === 1){ + //failed attempt + $("#connected-to span").text(''); + $("#connect-details h1").text(''); + $("#ip").text('0.0.0.0'); + $("#netmask").text('0.0.0.0'); + $("#gw").text('0.0.0.0'); + $("span#foot-wifi").html(""); + + //don't show any connection + $("#wifi-status").slideUp( "fast", function() {}); + + //unlock the wait screen + $( "#ok-connect" ).prop("disabled",false); + + //update wait screen + $( "#loading" ).hide(); + $( "#connect-fail" ).show(); + $( "#connect-success" ).hide(); + + enableAPTimer = true; + enableStatusTimer = true; + } + } + else if(data.hasOwnProperty('urc') && data['urc'] === 0){ + //ESP32 is already connected to a wifi without having the user do anything + if( !($("#wifi-status").is(":visible")) ){ + $("#connected-to span").text(data["ssid"]); + $("#connect-details h1").text(data["ssid"]); + $("#ip").text(data["ip"]); + $("#netmask").text(data["netmask"]); + $("#gw").text(data["gw"]); + $("#wifi-status").slideDown( "fast", function() {}); + $("span#foot-wifi").html(", SSID: "+data["ssid"]+", IP: "+data["ip"]+""); + } enableAPTimer = false; if (!recovery) enableStatusTimer = false; - } - else if(data["urc"] === 1){ - //failed attempt - $("#connected-to span").text(''); - $("#connect-details h1").text(''); - $("#ip").text('0.0.0.0'); - $("#netmask").text('0.0.0.0'); - $("#gw").text('0.0.0.0'); - $("span#foot-wifi").html(""); - - //don't show any connection - $("#wifi-status").slideUp( "fast", function() {}); - - //unlock the wait screen - $( "#ok-connect" ).prop("disabled",false); - - //update wait screen - $( "#loading" ).hide(); - $( "#connect-fail" ).show(); - $( "#connect-success" ).hide(); - - enableAPTimer = true; - enableStatusTimer = true; - } - } - else if(data.hasOwnProperty('urc') && data['urc'] === 0){ - //ESP32 is already connected to a wifi without having the user do anything - if( !($("#wifi-status").is(":visible")) ){ - $("#connected-to span").text(data["ssid"]); - $("#connect-details h1").text(data["ssid"]); - $("#ip").text(data["ip"]); - $("#netmask").text(data["netmask"]); - $("#gw").text(data["gw"]); - $("#wifi-status").slideDown( "fast", function() {}); - $("span#foot-wifi").html(", SSID: "+data["ssid"]+", IP: "+data["ip"]); - } - enableAPTimer = false; - if (!recovery) enableStatusTimer = false; - } - } - else if(data.hasOwnProperty('urc') && data['urc'] === 2){ - //that's a manual disconnect - if($("#wifi-status").is(":visible")){ - $("#wifi-status").slideUp( "fast", function() {}); - $("span#foot-wifi").html(""); - } - enableAPTimer = true; - enableStatusTimer = true; - } - if(data.hasOwnProperty('project_name') && data['project_name'] != ''){ - pname = data['project_name']; - } - if(data.hasOwnProperty('version') && data['version'] != ''){ - ver = data['version']; - $("span#foot-fw").html("fw: "+ver+", mode: "+pname); - } - if(data.hasOwnProperty('ota_pct') && data['ota_pct'] != 0){ - otapct = data['ota_pct']; - $('.progress-bar').css('width', otapct+'%').attr('aria-valuenow', otapct); - $('.progress-bar').html(otapct+'%'); - } - blockAjax = false; - }) - .fail(function() { - //don't do anything, the server might be down while esp32 recalibrates radio - }); -} - -function getConfig() { - $.getJSON("/config.json", function(data) { - if (data.hasOwnProperty('autoexec')) { - if (data["autoexec"] === 1) { - console.log('turn on autoexec'); - $("#autoexec-cb")[0].checked=true; - } else { - console.log('turn off autoexec'); - $("#autoexec-cb")[0].checked=false; - } - } - if (data.hasOwnProperty('recovery')) { - if (data["recovery"] === 1) { - recovery = true; - $("#otadiv").show(); - enableStatusTimer = true; - } else { - recovery = false; - $("#otadiv").hide(); - } - } - if (data.hasOwnProperty('list')) { - data.list.forEach(function(line) { - let key = Object.keys(line)[0]; - let val = Object.values(line)[0]; - console.log(key, val); - if (key == 'autoexec1') { - $("#autoexec1").val(val); } + } + else if(data.hasOwnProperty('urc') && data['urc'] === 2){ + //that's a manual disconnect + if($("#wifi-status").is(":visible")){ + $("#wifi-status").slideUp( "fast", function() {}); + $("span#foot-wifi").html(""); + } + enableAPTimer = true; + enableStatusTimer = true; + } + if(data.hasOwnProperty('project_name') && data['project_name'] != ''){ + pname = data['project_name']; + } + if(data.hasOwnProperty('version') && data['version'] != ''){ + ver = data['version']; + $("span#foot-fw").html("fw: "+ver+", mode: "+pname+""); + } + if(data.hasOwnProperty('ota_pct') && data['ota_pct'] != 0){ + otapct = data['ota_pct']; + $('.progress-bar').css('width', otapct+'%').attr('aria-valuenow', otapct); + $('.progress-bar').html(otapct+'%'); + } + blockAjax = false; + }) + .fail(function() { + //don't do anything, the server might be down while esp32 recalibrates radio }); - } - }) - .fail(function() { - console.log("failed to fetch config!"); - }); -} + } + + function getConfig() { + $.getJSON("/config.json", function(data) { + if (data.hasOwnProperty('autoexec')) { + if (data["autoexec"] === 1) { + console.log('turn on autoexec'); + $("#autoexec-cb")[0].checked=true; + } else { + console.log('turn off autoexec'); + $("#autoexec-cb")[0].checked=false; + } + } + if (data.hasOwnProperty('recovery')) { + if (data["recovery"] === 1) { + recovery = true; + $("#otadiv").show(); + enableStatusTimer = true; + } else { + recovery = false; + $("#otadiv").hide(); + } + } + if (data.hasOwnProperty('list')) { + data.list.forEach(function(line) { + let key = Object.keys(line)[0]; + let val = Object.values(line)[0]; + console.log(key, val); + if (key == 'autoexec1') { + $("#autoexec1").val(val); + } + }); + } + }) + .fail(function() { + console.log("failed to fetch config!"); + }); + } diff --git a/components/wifi-manager/style.css b/components/wifi-manager/style.css index 7bd1bd59..a574e881 100644 --- a/components/wifi-manager/style.css +++ b/components/wifi-manager/style.css @@ -2,6 +2,8 @@ body { border: 0; margin: 0; margin-bottom:50px; + padding-left: 12px; + padding-right: 12px; } a { color: darkblue; @@ -25,7 +27,6 @@ button:focus { filter: blur(2px); } .ape { - margin-left: 20px; padding: 10px 0px 10px 10px; background-color: #444; } @@ -79,21 +80,18 @@ h3 { #manual_ssid { border: none; width: 80%; - margin-left: 35px; padding: 10px 0px 10px 10px; display: block } #manual_pwd { border: none; width: 80%; - margin-left: 35px; padding: 10px 0px 10px 10px; display: block } #pwd { border: none; width: 80%; - margin-left: 35px; padding: 10px 0px 10px 10px; display: block } @@ -108,7 +106,6 @@ h3 { } #yes-disconnect { display: inline-block; - margin-left: 20px; } #no-disconnect { display: inline-block; @@ -220,9 +217,12 @@ input.gpio { height: 1.8em; } +.custom-switch { + margin-left: 8px; +} + .custom-switch, .custom-radio { padding-left: 2.25rem; - margin-left: 12px; padding-bottom: 1rem; } @@ -273,7 +273,6 @@ textarea#autoexec1, textarea#fwurl { } input, textarea { - margin-left: 10px; border-radius: 3px; border: 1px solid transparent; border-top: none; @@ -281,10 +280,6 @@ input, textarea { box-shadow: inset 0 1px 2px rgba(0,0,0,.39), 0 -1px 1px #FFF, 0 1px 0 #FFF; } -.form-group { - margin-left: 10px; -} - #otadiv { display: none; } @@ -299,7 +294,6 @@ input, textarea { } #progress { - margin-left: 13px; width: 60%; }