mirror of
https://github.com/alexhopeoconnor/WiFiManager.git
synced 2026-10-16 07:51:36 +10:00
moved http strings to include, added token flags
This commit is contained in:
+40
-65
@@ -11,6 +11,7 @@
|
||||
**************************************************************/
|
||||
|
||||
#include "WiFiManager.h"
|
||||
#include "strings_en.h"
|
||||
|
||||
// PARAMETERS
|
||||
|
||||
@@ -585,7 +586,7 @@ void WiFiManager::handleWifi(boolean scan) {
|
||||
DEBUG_WM("<- HTTP Wifi");
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Config ESP");
|
||||
page.replace("{v}", "Config ESP"); // @token titlewifi
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
@@ -623,7 +624,7 @@ String WiFiManager::getScanItemOut(){
|
||||
DEBUG_WM(F("Scan done"));
|
||||
if (n == 0) {
|
||||
DEBUG_WM(F("No networks found"));
|
||||
page += F("No networks found. Refresh to scan again.");
|
||||
page += F("No networks found. Refresh to scan again."); // @token scannotfound
|
||||
} else {
|
||||
|
||||
//sort networks
|
||||
@@ -720,7 +721,7 @@ String WiFiManager::getStaticOut(){
|
||||
item.replace("{i}", "ip");
|
||||
item.replace("{n}", "ip");
|
||||
item.replace("{p}", "{t}");
|
||||
item.replace("{t}", "Static IP");
|
||||
item.replace("{t}", "Static IP"); // @token staticip
|
||||
item.replace("{l}", "15");
|
||||
item.replace("{v}", (_sta_static_ip ? _sta_static_ip.toString() : ""));
|
||||
item.replace("{c}", "");
|
||||
@@ -735,7 +736,7 @@ String WiFiManager::getStaticOut(){
|
||||
item.replace("{i}", "gw");
|
||||
item.replace("{n}", "gw");
|
||||
item.replace("{p}", "{t}");
|
||||
item.replace("{t}", "Static Gateway");
|
||||
item.replace("{t}", "Static Gateway"); // @token staticgateway
|
||||
item.replace("{l}", "15");
|
||||
item.replace("{v}", (_sta_static_gw ? _sta_static_gw.toString() : ""));
|
||||
item.replace("{c}", "");
|
||||
@@ -750,7 +751,7 @@ String WiFiManager::getStaticOut(){
|
||||
item.replace("{i}", "sn");
|
||||
item.replace("{n}", "sn");
|
||||
item.replace("{p}", "{t}");
|
||||
item.replace("{t}", "Subnet");
|
||||
item.replace("{t}", "Subnet"); // @token subnet
|
||||
item.replace("{l}", "15");
|
||||
item.replace("{v}", (_sta_static_sn ? _sta_static_sn.toString() : ""));
|
||||
item.replace("{c}", "");
|
||||
@@ -880,7 +881,7 @@ void WiFiManager::handleWifiSave() {
|
||||
}
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Credentials Saved");
|
||||
page.replace("{v}", "Credentials Saved"); // @token titlewifisaved
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
@@ -903,7 +904,7 @@ void WiFiManager::handleInfo() {
|
||||
DEBUG_WM(F("<- HTTP Info"));
|
||||
|
||||
String page = FPSTR(HTTP_HEAD);
|
||||
page.replace("{v}", "Info");
|
||||
page.replace("{v}", "Info"); // @token titleinfo
|
||||
page += FPSTR(HTTP_SCRIPT);
|
||||
page += FPSTR(HTTP_STYLE);
|
||||
page += _customHeadElement;
|
||||
@@ -916,39 +917,39 @@ void WiFiManager::handleInfo() {
|
||||
page += F("<h3>esp8266</h3><hr><dl>");
|
||||
|
||||
// subject to rollover!
|
||||
page += F("<dt>Uptime</dt><dd>");
|
||||
page += (String)(system_get_time() / 1000000 / 60) + " mins ";
|
||||
page += (String)((system_get_time() / 1000000)%60) + " secs";
|
||||
page += F("<dt>Uptime</dt><dd>"); // @token uptime
|
||||
page += (String)(system_get_time() / 1000000 / 60) + " mins "; // @token mins
|
||||
page += (String)((system_get_time() / 1000000)%60) + " secs"; // @token secs
|
||||
|
||||
page += F("<dt>Chip ID</dt><dd>");
|
||||
page += F("<dt>Chip ID</dt><dd>"); // @token chipid
|
||||
page += WIFI_getChipId();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Flash Chip ID</dt><dd>");
|
||||
page += F("<dt>Flash Chip ID</dt><dd>"); // @token flashid
|
||||
page += ESP.getFlashChipId();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>IDE Flash Size</dt><dd>");
|
||||
page += F("<dt>IDE Flash Size</dt><dd>"); // @token flashsize
|
||||
page += ESP.getFlashChipSize();
|
||||
page += F(" bytes</dd>");
|
||||
|
||||
page += F("<dt>Actual Flash Size</dt><dd>");
|
||||
page += F("<dt>Actual Flash Size</dt><dd>"); // @token actualflashsize
|
||||
page += ESP.getFlashChipRealSize();
|
||||
page += F(" bytes</dd>");
|
||||
|
||||
page += F("<dt>SDK Version</dt><dd>");
|
||||
page += F("<dt>SDK Version</dt><dd>"); // @token sdkver
|
||||
page += system_get_sdk_version();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Core Version</dt><dd>");
|
||||
page += F("<dt>Core Version</dt><dd>"); // @token corever
|
||||
page += ESP.getCoreVersion();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Boot Version</dt><dd>");
|
||||
page += F("<dt>Boot Version</dt><dd>"); // @token boot ver
|
||||
page += system_get_boot_version();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>CPU Frequency</dt><dd>");
|
||||
page += F("<dt>CPU Frequency</dt><dd>"); // @token cpufreq
|
||||
page += ESP.getCpuFreqMHz();
|
||||
page += F("MHz</dd>");
|
||||
|
||||
@@ -962,12 +963,12 @@ void WiFiManager::handleInfo() {
|
||||
// page += "<br/><progress value='" + (String)((heapstart)-ESP.getFreeHeap()) + "' max='" + (String)(heapstart) + "'></progress>";
|
||||
// page += F("</dd>");
|
||||
|
||||
page += F("<dt>Memory - Free Heap</dt><dd>");
|
||||
page += F("<dt>Memory - Free Heap</dt><dd>"); // @token freeheap
|
||||
page += ESP.getFreeHeap();
|
||||
page += F(" bytes available</dd>");
|
||||
page += F(" bytes available</dd>"); // @token bytesavail
|
||||
|
||||
page += F("<dt>Memory - Sketch Size</dt><dd>");
|
||||
page += F("Used/Total bytes<br/>");
|
||||
page += F("<dt>Memory - Sketch Size</dt><dd>"); // @token sketchsize
|
||||
page += F("Used/Total bytes<br/>"); // @token usedtotal
|
||||
page += (ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace();
|
||||
page += "/";
|
||||
page += (ESP.getSketchSize()+ESP.getFreeSketchSpace());
|
||||
@@ -977,15 +978,15 @@ void WiFiManager::handleInfo() {
|
||||
page += (String)(ESP.getSketchSize()+ESP.getFreeSketchSpace());
|
||||
page += F("'></progress></dd>");
|
||||
|
||||
page += F("<dt>Last reset reason</dt><dd>");
|
||||
page += F("<dt>Last reset reason</dt><dd>"); // @token resetreason
|
||||
page += ESP.getResetReason();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<br/><h3>WiFi</h3><hr><dt>Access Point IP</dt><dd>");
|
||||
page += F("<br/><h3>WiFi</h3><hr><dt>Access Point IP</dt><dd>"); // @token apip
|
||||
page += WiFi.softAPIP().toString();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Access Point MAC</dt><dd>");
|
||||
page += F("<dt>Access Point MAC</dt><dd>"); // @token apmac
|
||||
page += WiFi.softAPmacAddress();
|
||||
page += F("</dd>");
|
||||
|
||||
@@ -997,71 +998,45 @@ void WiFiManager::handleInfo() {
|
||||
page += WiFi.BSSIDstr();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Station IP</dt><dd>");
|
||||
page += F("<dt>Station IP</dt><dd>"); // @token staip
|
||||
page += WiFi.localIP().toString();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Station Gateway</dt><dd>");
|
||||
page += F("<dt>Station Gateway</dt><dd>"); // @token stagw
|
||||
page += WiFi.gatewayIP().toString();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Station Subnet</dt><dd>");
|
||||
page += F("<dt>Station Subnet</dt><dd>"); // @token stasub
|
||||
page += WiFi.subnetMask().toString();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>DNS Server</dt><dd>");
|
||||
page += F("<dt>DNS Server</dt><dd>"); // @token dnss
|
||||
page += WiFi.dnsIP().toString();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Hostname</dt><dd>");
|
||||
page += F("<dt>Hostname</dt><dd>"); // @token hostname
|
||||
page += WiFi.hostname();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Station MAC</dt><dd>");
|
||||
page += F("<dt>Station MAC</dt><dd>"); // @stamac
|
||||
page += WiFi.macAddress();
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Connected</dt><dd>");
|
||||
page += WiFi.isConnected() ? "Yes" : "No";
|
||||
page += F("<dt>Connected</dt><dd>"); // @token connected
|
||||
page += WiFi.isConnected() ? "Yes" : "No"; //@token Y,N
|
||||
page += F("</dd>");
|
||||
|
||||
page += F("<dt>Autoconnect</dt><dd>");
|
||||
page += WiFi.getAutoConnect() ? "Enabled" : "Disabled";
|
||||
page += WiFi.getAutoConnect() ? "Enabled" : "Disabled"; // @token enabled,disabled
|
||||
page += F("</dd>");
|
||||
page += F("</dl>");
|
||||
|
||||
page += "<br/><form action='/erase' method='get'><button>Erase WiFi Config</button></form>";
|
||||
page += "<br/><form action='/erase' method='get'><button>";
|
||||
page += "Erase WiFi Config"; // @token erasewifi
|
||||
page += "</button></form>";
|
||||
|
||||
page += FPSTR(HTTP_HELP);
|
||||
|
||||
page += F("<br/><h3>Available Pages</h3><hr>");
|
||||
page += F("<table class='table'>");
|
||||
page += F("<thead><tr><th>Page</th><th>Function</th></tr></thead><tbody>");
|
||||
|
||||
page += F("<tr><td><a href='/'>/</a></td>");
|
||||
page += F("<td>Menu page.</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/wifi'>/wifi</a></td>");
|
||||
page += F("<td>Show WiFi scan results and enter WiFi configuration.</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/wifisave'>/wifisave</a></td>");
|
||||
page += F("<td>Save WiFi configuration information and configure device. Needs variables supplied.</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/close'>/close</a></td>");
|
||||
page += F("<td>Close the configuration server and configuration WiFi network.</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/i'>/i</a></td>");
|
||||
page += F("<td>Information page</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/exit'>/exit</a></td>");
|
||||
page += F("<td>Exit Config Portal, configportal will close</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/r'>/r</a></td>");
|
||||
page += F("<td>Reboot the device</td></tr>");
|
||||
|
||||
page += F("<tr><td><a href='/erase'>/erase</a></td>");
|
||||
page += F("<td>Erase WiFi configuration and reboot Device. Device will not reconnect to a network until new WiFi configuration data is entered.</td></tr>");
|
||||
// @todo add callback here
|
||||
page += F("</table>");
|
||||
page += F("<p/>More information about WiFiManager at <a href=\"https://github.com/tzapu/WiFiManager\">https://github.com/tzapu/WiFiManager</a>.");
|
||||
page += FPSTR(HTTP_END);
|
||||
|
||||
server->sendHeader("Content-Length", String(page.length()));
|
||||
|
||||
+1
-37
@@ -30,43 +30,7 @@
|
||||
#define WIFI_getChipId() ESP.getChipId()
|
||||
#define WIFI_AUTH_OPEN ENC_TYPE_NONE
|
||||
|
||||
const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang='en'><head><meta name='format-detection' content='telephone=no'><meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no'/><title>{v}</title>";
|
||||
// const char HTTP_STYLE[] PROGMEM = "<style>.c{text-align: center;} div,input{padding:5px;font-size:1em;} input{width:95%;} body{text-align: center;font-family:verdana;} button{border:0;border-radius:0.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%;} .q{float: right;width: 64px;text-align: right;} .l{background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==') no-repeat left center;background-size: 1em;}</style>";
|
||||
const char HTTP_STYLE[] PROGMEM = "<style>"
|
||||
".c,body{text-align:center;font-family:verdana}div,input{padding:5px;font-size:1em}input{width:95%;margin:5px 0}button{border:0;border-radius:.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%}"
|
||||
".wrap {text-align:left;display:inline-block;min-width:260px}"
|
||||
// links
|
||||
"a{color:#000;font-weight:700;text-decoration:none}a:hover{color:#1fa3ec;text-decoration:underline}"
|
||||
// quality icons
|
||||
".q{height:16px;margin:0;padding:0 5px;text-align:right;min-width:38px;float:right}.q.q-0:after{background-position-x:0}.q.q-1:after{background-position-x:-16px}.q.q-2:after{background-position-x:-32px}.q.q-3:after{background-position-x:-48px}.q.q-4:after{background-position-x:-64px}.q.l:before{background-position-x:-80px;padding-right:5px}.ql .q{float:left}.qinv .q{-webkit-filter:invert(1);filter:invert(1)}.q:after,.q:before{content:'';width:16px;height:16px;display:inline-block;background-repeat:no-repeat;background-position: 16px 0;"
|
||||
"background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAQCAMAAADeZIrLAAAAJFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHJj5lAAAAC3RSTlMAIjN3iJmqu8zd7vF8pzcAAABsSURBVHja7Y1BCsAwCASNSVo3/v+/BUEiXnIoXkoX5jAQMxTHzK9cVSnvDxwD8bFx8PhZ9q8FmghXBhqA1faxk92PsxvRc2CCCFdhQCbRkLoAQ3q/wWUBqG35ZxtVzW4Ed6LngPyBU2CobdIDQ5oPWI5nCUwAAAAASUVORK5CYII=');}"
|
||||
// icons @2x media query (32px rescaled)
|
||||
"@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.q:before,.q:after {"
|
||||
"background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAAgCAMAAACfM+KhAAAALVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAESIzRGZ3iJmqu8zd7gKjCLQAAACmSURBVHgB7dDBCoMwEEXRmKlVY3L//3NLhyzqIqSUggy8uxnhCR5Mo8xLt+14aZ7wwgsvvPA/ofv9+44334UXXngvb6XsFhO/VoC2RsSv9J7x8BnYLW+AjT56ud/uePMdb7IP8Bsc/e7h8Cfk912ghsNXWPpDC4hvN+D1560A1QPORyh84VKLjjdvfPFm++i9EWq0348XXnjhhT+4dIbCW+WjZim9AKk4UZMnnCEuAAAAAElFTkSuQmCC');"
|
||||
"background-size: 95px 16px;}}"
|
||||
// msg callouts
|
||||
".msg{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px;border-left-color:#777}.msg h4{margin-top:0;margin-bottom:5px}.msg.P{border-left-color:#1fa3ec}.msg.P h4{color:#1fa3ec}.msg.D{border-left-color:#d9534f}.msg.D h4{color:#d9534f}"
|
||||
// lists
|
||||
"dt{font-weight:bold}dd{margin:0;padding:0 0 0.5em 0}"
|
||||
"</style>";
|
||||
|
||||
const char HTTP_SCRIPT[] PROGMEM = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();}</script>";
|
||||
const char HTTP_HEAD_END[] PROGMEM = "</head><body><div class='wrap'>";
|
||||
const char HTTP_PORTAL_OPTIONS[] PROGMEM = "<form action='/wifi' method='GET'><button>Configure WiFi</button></form><br/><form action='/0wifi' method='GET'><button>Configure WiFi (No Scan)</button></form><br/><form action='/i' method='GET'><button>Info</button></form><br/><form action='/r' method='GET'><button>Restart</button></form><br/><form action='/exit' method='GET'><button>Quit</button></form>";
|
||||
const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a><div role='img' aria-label='{r}%' title='{r}%' class='q q-{q} {i}'></div></div>";
|
||||
// const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a> {R} {r}% {q} {e}</div>"; // test all tokens
|
||||
//const char HTTP_ITEM_PADLOCK[] PROGMEM = "<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==' width='13px'/>";
|
||||
const char HTTP_FORM_START[] PROGMEM = "<form method='POST' action='wifisave'><label for='s'>SSID</label><input id='s' name='s' maxlength=32 placeholder='{v}'><br/><label for='p'>Password</label><input id='p' name='p' maxlength='64' type='password' placeholder=''><br/>";
|
||||
const char HTTP_FORM_END[] PROGMEM = "<br/><button type='submit'>Save</button></form>";
|
||||
const char HTTP_FORM_LABEL[] PROGMEM = "<label for='{i}'>{t}</label>";
|
||||
const char HTTP_FORM_PARAM_START[] PROGMEM = "<hr>";
|
||||
const char HTTP_FORM_PARAM[] PROGMEM = "<br/><input id='{i}' name='{n}' maxlength={l} placeholder='' value='{v}' {c}>";
|
||||
const char HTTP_FORM_PARAM_END[] PROGMEM = "<br/>";
|
||||
const char HTTP_SCAN_LINK[] PROGMEM = "<br/><form action='/wifi' method='get'><button>Refresh</button></form>";
|
||||
const char HTTP_SAVED[] PROGMEM = "<div class='msg'>Saving Credentials<br/>Trying to connect ESP to network.<br />If it fails reconnect to AP to try again</div>";
|
||||
const char HTTP_END[] PROGMEM = "</div></body></html>";
|
||||
|
||||
#define WIFI_MANAGER_MAX_PARAMS 5
|
||||
#define WIFI_MANAGER_MAX_PARAMS 5 // params will autoincrement and realloc by this amount when max is reached
|
||||
|
||||
#define WFM_LABEL_BEFORE 1
|
||||
#define WFM_LABEL_AFTER 2
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
const char HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang='en'><head><meta name='format-detection' content='telephone=no'><meta name='viewport' content='width=device-width, initial-scale=1, user-scalable=no'/><title>{v}</title>";
|
||||
const char HTTP_SCRIPT[] PROGMEM = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();}</script>";
|
||||
const char HTTP_HEAD_END[] PROGMEM = "</head><body><div class='wrap'>";
|
||||
const char HTTP_PORTAL_OPTIONS[] PROGMEM = "<form action='/wifi' method='GET'><button>Configure WiFi</button></form><br/><form action='/0wifi' method='GET'><button>Configure WiFi (No Scan)</button></form><br/><form action='/i' method='GET'><button>Info</button></form><br/><form action='/r' method='GET'><button>Restart</button></form><br/><form action='/exit' method='GET'><button>Quit</button></form>";
|
||||
const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a><div role='img' aria-label='{r}%' title='{r}%' class='q q-{q} {i}'></div></div>";
|
||||
// const char HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a> {R} {r}% {q} {e}</div>"; // test all tokens
|
||||
const char HTTP_FORM_START[] PROGMEM = "<form method='POST' action='wifisave'><label for='s'>SSID</label><input id='s' name='s' maxlength=32 placeholder='{v}'><br/><label for='p'>Password</label><input id='p' name='p' maxlength='64' type='password' placeholder=''><br/>";
|
||||
const char HTTP_FORM_END[] PROGMEM = "<br/><button type='submit'>Save</button></form>";
|
||||
const char HTTP_FORM_LABEL[] PROGMEM = "<label for='{i}'>{t}</label>";
|
||||
const char HTTP_FORM_PARAM_START[] PROGMEM = "<hr>";
|
||||
const char HTTP_FORM_PARAM[] PROGMEM = "<br/><input id='{i}' name='{n}' maxlength={l} placeholder='' value='{v}' {c}>";
|
||||
const char HTTP_FORM_PARAM_END[] PROGMEM = "<br/>";
|
||||
const char HTTP_SCAN_LINK[] PROGMEM = "<br/><form action='/wifi' method='get'><button>Refresh</button></form>";
|
||||
const char HTTP_SAVED[] PROGMEM = "<div class='msg'>Saving Credentials<br/>Trying to connect ESP to network.<br />If it fails reconnect to AP to try again</div>";
|
||||
const char HTTP_END[] PROGMEM = "</div></body></html>";
|
||||
|
||||
const char HTTP_STYLE[] PROGMEM = "<style>"
|
||||
".c,body{text-align:center;font-family:verdana}div,input{padding:5px;font-size:1em}input{width:95%;margin:5px 0}button{cursor:pointer;border:0;border-radius:.3rem;background-color:#1fa3ec;color:#fff;line-height:2.4rem;font-size:1.2rem;width:100%}"
|
||||
".wrap {text-align:left;display:inline-block;min-width:260px}"
|
||||
// links
|
||||
"a{color:#000;font-weight:700;text-decoration:none}a:hover{color:#1fa3ec;text-decoration:underline}"
|
||||
// quality icons
|
||||
".q{height:16px;margin:0;padding:0 5px;text-align:right;min-width:38px;float:right}.q.q-0:after{background-position-x:0}.q.q-1:after{background-position-x:-16px}.q.q-2:after{background-position-x:-32px}.q.q-3:after{background-position-x:-48px}.q.q-4:after{background-position-x:-64px}.q.l:before{background-position-x:-80px;padding-right:5px}.ql .q{float:left}.qinv .q{-webkit-filter:invert(1);filter:invert(1)}.q:after,.q:before{content:'';width:16px;height:16px;display:inline-block;background-repeat:no-repeat;background-position: 16px 0;"
|
||||
"background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAQCAMAAADeZIrLAAAAJFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHJj5lAAAAC3RSTlMAIjN3iJmqu8zd7vF8pzcAAABsSURBVHja7Y1BCsAwCASNSVo3/v+/BUEiXnIoXkoX5jAQMxTHzK9cVSnvDxwD8bFx8PhZ9q8FmghXBhqA1faxk92PsxvRc2CCCFdhQCbRkLoAQ3q/wWUBqG35ZxtVzW4Ed6LngPyBU2CobdIDQ5oPWI5nCUwAAAAASUVORK5CYII=');}"
|
||||
// icons @2x media query (32px rescaled)
|
||||
"@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.q:before,.q:after {"
|
||||
"background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAAgCAMAAACfM+KhAAAALVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAESIzRGZ3iJmqu8zd7gKjCLQAAACmSURBVHgB7dDBCoMwEEXRmKlVY3L//3NLhyzqIqSUggy8uxnhCR5Mo8xLt+14aZ7wwgsvvPA/ofv9+44334UXXngvb6XsFhO/VoC2RsSv9J7x8BnYLW+AjT56ud/uePMdb7IP8Bsc/e7h8Cfk912ghsNXWPpDC4hvN+D1560A1QPORyh84VKLjjdvfPFm++i9EWq0348XXnjhhT+4dIbCW+WjZim9AKk4UZMnnCEuAAAAAElFTkSuQmCC');"
|
||||
"background-size: 95px 16px;}}"
|
||||
// msg callouts
|
||||
".msg{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px;border-left-color:#777}.msg h4{margin-top:0;margin-bottom:5px}.msg.P{border-left-color:#1fa3ec}.msg.P h4{color:#1fa3ec}.msg.D{border-left-color:#d9534f}.msg.D h4{color:#d9534f}"
|
||||
// lists
|
||||
"dt{font-weight:bold}dd{margin:0;padding:0 0 0.5em 0}"
|
||||
"</style>";
|
||||
|
||||
const char HTTP_HELP[] PROGMEM =
|
||||
"<br/><h3>Available Pages</h3><hr>"
|
||||
"<table class='table'>"
|
||||
"<thead><tr><th>Page</th><th>Function</th></tr></thead><tbody>"
|
||||
"<tr><td><a href='/'>/</a></td>"
|
||||
"<td>Menu page.</td></tr>"
|
||||
"<tr><td><a href='/wifi'>/wifi</a></td>"
|
||||
"<td>Show WiFi scan results and enter WiFi configuration.(/0wifi noscan)</td></tr>"
|
||||
"<tr><td><a href='/wifisave'>/wifisave</a></td>"
|
||||
"<td>Save WiFi configuration information and configure device. Needs variables supplied.</td></tr>"
|
||||
"<tr><td><a href='/close'>/close</a></td>"
|
||||
"<td>Close the configuration server and configuration WiFi network.</td></tr>"
|
||||
"<tr><td><a href='/i'>/i</a></td>"
|
||||
"<td>Information page</td></tr>"
|
||||
"<tr><td><a href='/exit'>/exit</a></td>"
|
||||
"<td>Exit Config Portal, configportal will close</td></tr>"
|
||||
"<tr><td><a href='/r'>/r</a></td>"
|
||||
"<td>Reboot the device</td></tr>"
|
||||
"<tr><td><a href='/erase'>/erase</a></td>"
|
||||
"<td>Erase WiFi configuration and reboot Device. Device will not reconnect to a network until new WiFi configuration data is entered.</td></tr>"
|
||||
"</table>"
|
||||
"<p/>More information about WiFiManager at <a href='https://github.com/tzapu/WiFiManager'>https://github.com/tzapu/WiFiManager</a>.";
|
||||
Reference in New Issue
Block a user