From 7f8f7d8ad169e8c1037ab8cc61061f10525b4eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sun, 23 Jul 2017 18:22:57 +0200 Subject: [PATCH] all accessible and nice, also added icons --- html_orig/_pages.php | 32 +++-- html_orig/css/app.css | 120 ++++++++++++++++-- html_orig/fontello/fontello-9ba19eb0.zip | Bin 0 -> 48080 bytes html_orig/js/app.js | 42 +++++- html_orig/jssrc/appcommon.js | 29 ++++- html_orig/jssrc/utils.js | 13 ++ html_orig/lang/en.php | 19 +++ html_orig/pages/_cfg_menu.php | 17 ++- html_orig/pages/cfg_admin.php | 34 +++++ html_orig/pages/cfg_app.php | 10 +- html_orig/pages/cfg_network.php | 24 ++-- html_orig/pages/cfg_wifi.php | 38 +++--- html_orig/sass/_fontello-embedded.scss | 57 +++++++++ html_orig/sass/app.scss | 2 + html_orig/sass/form/_buttons.scss | 11 +- html_orig/sass/form/_fancy_button_mixins.scss | 2 +- html_orig/sass/form/_form_elements.scss | 5 +- html_orig/sass/layout/_box.scss | 5 + html_orig/sass/layout/_menu.scss | 20 ++- html_orig/sass/layout/_modal.scss | 4 +- 20 files changed, 400 insertions(+), 84 deletions(-) create mode 100644 html_orig/fontello/fontello-9ba19eb0.zip create mode 100644 html_orig/pages/cfg_admin.php create mode 100644 html_orig/sass/_fontello-embedded.scss diff --git a/html_orig/_pages.php b/html_orig/_pages.php index 2db1299..47ae0f2 100644 --- a/html_orig/_pages.php +++ b/html_orig/_pages.php @@ -4,34 +4,40 @@ $pages = []; if (! function_exists('pg')) { /** Add a page */ - function pg($key, $bc, $path, $titleKey = null) + function pg($key, $bc, $icon, $path, $titleKey = null) { global $pages; $pages[$key] = (object) [ 'key' => $key, 'bodyclass' => $bc, 'path' => $path, + 'icon' => $icon ? "icn-$icon" : '', 'label' => tr("menu.$key"), 'title' => $titleKey ? tr($titleKey) : tr("menu.$key"), ]; } } -pg('cfg_wifi', 'cfg', '/cfg/wifi'); -pg('cfg_wifi_conn', '', '/cfg/wifi/connecting'); -pg('wifi_connstatus', 'api', '/cfg/wifi/connstatus'); -pg('wifi_set', 'api', '/cfg/wifi/set'); -pg('wifi_scan', 'api', '/cfg/wifi/scan'); +pg('cfg_wifi', 'cfg', 'wifi', '/cfg/wifi'); +pg('cfg_wifi_conn', '', '', '/cfg/wifi/connecting'); +pg('wifi_connstatus', 'api', '', '/cfg/wifi/connstatus'); +pg('wifi_set', 'api', '', '/cfg/wifi/set'); +pg('wifi_scan', 'api', '', '/cfg/wifi/scan'); -pg('cfg_network', 'cfg', '/cfg/network'); -pg('network_set', 'api', '/cfg/network/set'); +pg('cfg_network', 'cfg', 'network', '/cfg/network'); +pg('network_set', 'api', '', '/cfg/network/set'); -pg('cfg_app', 'cfg', '/cfg/app'); -pg('app_set', 'api', '/cfg/app/set'); +pg('cfg_app', 'cfg', 'terminal', '/cfg/app'); +pg('app_set', 'api', '', '/cfg/app/set'); -pg('help', 'cfg page-help', '/help'); -pg('about', 'cfg page-about', '/about'); -pg('term', 'term', '/', 'title.term'); +pg('cfg_admin', 'cfg', 'persist', '/cfg/admin'); +pg('write_defaults', 'api', '', '/cfg/admin/write_defaults'); +pg('restore_defaults', 'api', '', '/cfg/admin/restore_defaults'); +pg('restore_hard', 'api', '', '/cfg/admin/restore_hard'); + +pg('help', 'cfg page-help', 'help', '/help'); +pg('about', 'cfg page-about', 'about', '/about'); +pg('term', 'term', '', '/', 'title.term'); // ajax API diff --git a/html_orig/css/app.css b/html_orig/css/app.css index bf34372..5baf098 100644 --- a/html_orig/css/app.css +++ b/html_orig/css/app.css @@ -308,6 +308,87 @@ td, th { padding: 0; } +@font-face { + font-family: 'fontello'; + src: url("data:application/octet-stream;base64,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") format("woff"), url("data:application/octet-stream;base64,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I7AEQ2CwASuwBSVhsAUlsAJiILAAUFiwQGBZZrABY7AEJmEgsAQlYGQjsAMlYGRQWCEbIyFZIyAgsAQmI0ZhOFktsDcssAAWICAgsAUmIC5HI0cjYSM8OC2wOCywABYgsAgjQiAgIEYjR7ABKyNhOC2wOSywABawAyWwAiVHI0cjYbAAVFguIDwjIRuwAiWwAiVHI0cjYSCwBSWwBCVHI0cjYbAGJbAFJUmwAiVhuQgACABjYyMgWGIbIVljuAQAYiCwAFBYsEBgWWawAWNgIy4jICA8ijgjIVktsDossAAWILAIQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbA7LCMgLkawAiVGUlggPFkusSsBFCstsDwsIyAuRrACJUZQWCA8WS6xKwEUKy2wPSwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xKwEUKy2wPiywNSsjIC5GsAIlRlJYIDxZLrErARQrLbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=") format("truetype"); } +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'fontello'; + src: url('../font/fontello.svg?60007293#fontello') format('svg'); + } +} +*/ +[class^="icn-"]:before, [class*=" icn-"]:before { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ } + +.icn-persist:before { + content: '\e800'; } + +/* '' */ +.icn-ok:before { + content: '\e801'; } + +/* '' */ +.icn-donate:before { + content: '\e802'; } + +/* '' */ +.icn-back:before { + content: '\e80b'; } + +/* '' */ +.icn-about:before { + content: '\e81f'; } + +/* '' */ +.icn-help:before { + content: '\e826'; } + +/* '' */ +.icn-network:before { + content: '\e82e'; } + +/* '' */ +.icn-restore:before { + content: '\e836'; } + +/* '' */ +.icn-terminal:before { + content: '\f108'; } + +/* '' */ +.icn-github:before { + content: '\f113'; } + +/* '' */ +.icn-wifi:before { + content: '\f1eb'; } + +/* '' */ html { box-sizing: border-box; } @@ -416,14 +497,17 @@ ul > * { #menu a.selected { position: relative; box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); } + #menu a:focus { + outline-color: #ff0099; } #menu a::before { - content: "▸"; - padding-right: .5rem; - position: relative; - top: -0.1rem; } + vertical-align: -2px; + margin-left: 0; + margin-right: 15px; } @media screen and (max-width: 544px) { #menu a { - display: none; } } + display: none; } + #menu a::before { + margin-left: 10px; } } #menu.expanded a { display: block; } @media screen and (min-width: 545px) and (max-width: 1000px) { @@ -495,6 +579,8 @@ ul > * { @media screen and (max-width: 544px) { .Box { margin-top: 0.61805rem; } } + .Box h1, .Box h2 { + overflow: hidden; } h1 + .Box { margin-top: 0; } .Box h2 { @@ -512,6 +598,7 @@ ul > * { @media screen and (max-width: 544px) { .Box.str .Row.buttons { right: 1rem; + top: 1.8em; margin: 1rem auto; } } @media screen and (min-width: 545px) { .Box.str .Row.buttons { @@ -586,7 +673,9 @@ ul > * { background: #1c1c1e; border-left: 6px solid #2972ba; border-right: 6px solid #2972ba; - box-shadow: 0 0 2px 0 #434349, 0 0 6px 0 black; + border-top: 1px solid #2972ba; + border-bottom: 1px solid #2972ba; + box-shadow: 0 0 6px 0 black; border-radius: 6px; } .Dialog h1, .Dialog h2 { margin-top: 0; } @@ -625,7 +714,6 @@ button, input[type=submit], .button { border-radius: 2px; padding: 0 0.6em; border: 0 none; - outline: 0 none !important; line-height: 1.8em; font-size: 1.1em; margin-bottom: 3px; @@ -634,7 +722,7 @@ button, input[type=submit], .button { -moz-user-select: none; -ms-user-select: none; user-select: none; - text-shadow: 1.5px 1.5px 2px rgba(0, 0, 0, 0.6); + text-shadow: 1.5px 1.5px 2px rgba(0, 0, 0, 0.4); background-color: #3983cd; box-shadow: 0 3px 0 #265f98; text-decoration: none !important; } @@ -643,6 +731,9 @@ button, input[type=submit], .button { top: 2px; } button.narrow, input[type=submit].narrow, .button.narrow { min-width: initial; } + button::before, input[type=submit]::before, .button::before { + vertical-align: -1px; + margin-left: 0; } button, button:link, button:visited, input[type=submit], input[type=submit]:link, input[type=submit]:visited, .button, .button:link, .button:visited { color: #FEFEFE; } button:hover, button:active, button.active, button.selected, input[type=submit]:hover, input[type=submit]:active, input[type=submit].active, input[type=submit].selected, .button:hover, .button:active, .button.active, .button.selected { @@ -652,6 +743,8 @@ button, input[type=submit], .button { box-shadow: 0 3px 0 #154c80; } button:active, input[type=submit]:active, .button:active { box-shadow: 0 1px 0 #154c80; } + button:focus, input[type=submit]:focus, .button:focus { + outline-color: #ff0099; } button, input[type=submit], .button { text-align: center; @@ -660,7 +753,6 @@ button, input[type=submit], .button { border-radius: 2px; padding: 0 0.6em; border: 0 none; - outline: 0 none !important; line-height: 1.8em; font-size: 1.1em; margin-bottom: 3px; @@ -669,7 +761,7 @@ button, input[type=submit], .button { -moz-user-select: none; -ms-user-select: none; user-select: none; - text-shadow: 1.5px 1.5px 2px rgba(0, 0, 0, 0.6); + text-shadow: 1.5px 1.5px 2px rgba(0, 0, 0, 0.4); background-color: #3983cd; box-shadow: 0 3px 0 #265f98; text-decoration: none !important; } @@ -678,6 +770,9 @@ button, input[type=submit], .button { top: 2px; } button.narrow, input[type=submit].narrow, .button.narrow { min-width: initial; } + button::before, input[type=submit]::before, .button::before { + vertical-align: -1px; + margin-left: 0; } button, button:link, button:visited, input[type=submit], input[type=submit]:link, input[type=submit]:visited, .button, .button:link, .button:visited { color: #FEFEFE; } button:hover, button:active, button.active, button.selected, input[type=submit]:hover, input[type=submit]:active, input[type=submit].active, input[type=submit].selected, .button:hover, .button:active, .button.active, .button.selected { @@ -687,6 +782,8 @@ button, input[type=submit], .button { box-shadow: 0 3px 0 #154c80; } button:active, input[type=submit]:active, .button:active { box-shadow: 0 1px 0 #154c80; } + button:focus, input[type=submit]:focus, .button:focus { + outline-color: #ff0099; } input[type="number"], input[type="password"], input[type="text"], textarea, select { border: 0 none; @@ -695,8 +792,6 @@ input[type="number"], input[type="password"], input[type="text"], textarea, sele color: white; padding: 6px; line-height: 1em; - outline: 0 none !important; - -moz-outline: 0 none !important; font-weight: normal; } input[type="number"]:focus, input[type="number"]:hover, input[type="password"]:focus, input[type="password"]:hover, input[type="text"]:focus, input[type="text"]:hover, textarea:focus, textarea:hover, select:focus, select:hover { border-bottom-color: #2ea1f9; } @@ -704,6 +799,7 @@ input[type="number"], input[type="password"], input[type="text"], textarea, sele .Row.checkbox { line-height: 27px; } .Row.checkbox .box { + overflow: hidden; width: 27px; height: 27px; border: 1px solid #808080; diff --git a/html_orig/fontello/fontello-9ba19eb0.zip b/html_orig/fontello/fontello-9ba19eb0.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c9259782ac3234b0cc8bd759b9f50d618fbf84b GIT binary patch literal 48080 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 550) { + qsa('.Box h2').forEach(function (x) { + x.removeAttribute('tabindex'); + }); + + qs('#brand').removeAttribute('tabindex'); + } }); $._loader = function(vis) { diff --git a/html_orig/jssrc/appcommon.js b/html_orig/jssrc/appcommon.js index ee4569c..0a97d82 100644 --- a/html_orig/jssrc/appcommon.js +++ b/html_orig/jssrc/appcommon.js @@ -7,18 +7,30 @@ $.ready(function () { $(box).toggleClass('checked', inp.value); - $(x).on('click', function() { + var hdl = function() { inp.value = 1 - inp.value; $(box).toggleClass('checked', inp.value) - }); + }; + + $(x).on('click', hdl).on('keypress', cr(hdl)); }); // Expanding boxes on mobile $('.Box.mobcol').forEach(function(x) { var h = x.querySelector('h2'); - $(h).on('click', function() { + + var hdl = function() { $(x).toggleClass('expanded'); - }); + }; + $(h).on('click', hdl).on('keypress', cr(hdl)); + }); + + qsa('form').forEach(function(x) { + $(x).on('keypress', function(e) { + if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey) { + x.submit(); + } + }) }); // loader dots... @@ -81,6 +93,15 @@ $.ready(function () { Modal.init(); Notify.init(); + + // remove tabindixes from h2 if wide + if (window.innerWidth > 550) { + qsa('.Box h2').forEach(function (x) { + x.removeAttribute('tabindex'); + }); + + qs('#brand').removeAttribute('tabindex'); + } }); $._loader = function(vis) { diff --git a/html_orig/jssrc/utils.js b/html_orig/jssrc/utils.js index bf6d114..6fa4b7d 100755 --- a/html_orig/jssrc/utils.js +++ b/html_orig/jssrc/utils.js @@ -12,6 +12,19 @@ function bool(x) { return (x === 1 || x === '1' || x === true || x === 'true'); } +/** + * Filter 'spacebar' and 'return' from keypress handler, + * and when they're pressed, fire the callback. + * use $(...).on('keypress', cr(handler)) + */ +function cr(hdl) { + return function(e) { + if (e.which == 10 || e.which == 13 || e.which == 32) { + hdl(); + } + }; +} + /** Extend an objects with options */ function extend(defaults, options) { var target = {}; diff --git a/html_orig/lang/en.php b/html_orig/lang/en.php index 3c5c115..269e678 100644 --- a/html_orig/lang/en.php +++ b/html_orig/lang/en.php @@ -9,6 +9,7 @@ return [ 'menu.about' => 'About ESPTerm', 'menu.help' => 'Quick Reference', 'menu.term' => 'Back to Terminal', + 'menu.cfg_admin' => 'Reset & Restore', 'menu.cfg_wifi_conn' => 'Connecting to External Network', 'title.term' => 'Terminal', @@ -93,6 +94,7 @@ return [ 'wifi.sta_active_pw' => '🔒', 'wifi.sta_active_nopw' => '🔓 Open access', 'wifi.connected_ip_is' => 'Connected, IP is ', + 'wifi.sta_password' => 'Password:', 'wifi.scanning' => 'Scanning', 'wifi.scan_now' => 'Start scanning!', @@ -109,6 +111,23 @@ return [ 'wifi.conn.working' => "Connecting to selected AP", 'wifi.conn.fail' => "Connection failed, check settings & try again. Cause: ", + 'admin.confirm_restore' => 'Restore all settings to their default values?', + 'admin.confirm_restore_hard' => + 'Restore to firmware default settings? This will reset ' . + 'all active settings and switch to AP mode with the default SSID.', + 'admin.confirm_store_defaults' => + 'Enter admin password to confirm you want to store the current settings as defaults.', + 'admin.password' => 'Admin password:', + 'admin.restore_defaults' => 'Reset to default settings', + 'admin.write_defaults' => 'Save current settings as default', + 'admin.restore_hard' => 'Reset to firmware default settings', + 'admin.explain' => ' + ESPTerm contains two persistent memory banks, one for default and + one for active settings. Active settings can be stored as defaults + by the administrator. Use the following button to revert all + active settings to their stored default values. + ', + 'apply' => 'Apply!', 'enabled' => 'Enabled', 'disabled' => 'Disabled', diff --git a/html_orig/pages/_cfg_menu.php b/html_orig/pages/_cfg_menu.php index 569ae99..c96af23 100644 --- a/html_orig/pages/_cfg_menu.php +++ b/html_orig/pages/_cfg_menu.php @@ -1,16 +1,19 @@ - + + diff --git a/html_orig/pages/cfg_admin.php b/html_orig/pages/cfg_admin.php new file mode 100644 index 0000000..986f83e --- /dev/null +++ b/html_orig/pages/cfg_admin.php @@ -0,0 +1,34 @@ +
+
+ +
+ +
+ + + +
+ +
+ +
+ +
+ + + +
+
+ + diff --git a/html_orig/pages/cfg_app.php b/html_orig/pages/cfg_app.php index f030da4..d967641 100644 --- a/html_orig/pages/cfg_app.php +++ b/html_orig/pages/cfg_app.php @@ -1,10 +1,6 @@ -
+

-
- -
-
@@ -68,4 +64,8 @@ + +
+ +
diff --git a/html_orig/pages/cfg_network.php b/html_orig/pages/cfg_network.php index 9e687a1..fd24f36 100644 --- a/html_orig/pages/cfg_network.php +++ b/html_orig/pages/cfg_network.php @@ -2,12 +2,8 @@ $ipmask='pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$"'; ?> -
-

- -
- -
+ +

@@ -38,14 +34,14 @@ $ipmask='pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$"'; required>
-
- -
-

- +
+
+ +
+

@@ -53,7 +49,7 @@ $ipmask='pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$"';
+ -->
@@ -71,6 +67,10 @@ $ipmask='pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$"'; required>
+ +
+ +
diff --git a/html_orig/pages/cfg_wifi.php b/html_orig/pages/cfg_wifi.php index 43fa995..7b8a495 100644 --- a/html_orig/pages/cfg_wifi.php +++ b/html_orig/pages/cfg_wifi.php @@ -1,13 +1,9 @@ -
-

- -
- -
+ +

+ -->
@@ -37,21 +33,21 @@
+ -->
-
- -
-

- +
+
+ +
+

+ -->
@@ -68,7 +64,7 @@
- × + ×
@@ -78,11 +74,15 @@
-
+
+ +
+ +