Place admin controls before terminal selector
This commit is contained in:
+2
-2
@@ -162,10 +162,10 @@ static const char s_index_html[] =
|
||||
"</section>\n"
|
||||
"<section class=\"panel terminal-panel\" aria-label=\"Terminal workspace\">\n"
|
||||
"<div class=\"terminal-toolbar\"><span id=\"terminal-title\" class=\"terminal-title\">Live serial stream</span>"
|
||||
"<button id=\"admin-toggle\" class=\"button\" type=\"button\" hidden>Open admin</button>"
|
||||
"<div id=\"terminal-selector\" hidden role=\"group\" aria-label=\"Selected terminal\">"
|
||||
"<button id=\"select-serial\" class=\"button\" type=\"button\" aria-pressed=\"true\">Serial</button> "
|
||||
"<button id=\"select-admin\" class=\"button\" type=\"button\" aria-pressed=\"false\">Admin</button></div>"
|
||||
"<button id=\"admin-toggle\" class=\"button\" type=\"button\" hidden>Open admin</button></div>\n"
|
||||
"<button id=\"select-admin\" class=\"button\" type=\"button\" aria-pressed=\"false\">Admin</button></div></div>\n"
|
||||
"<p id=\"admin-detail\" class=\"connection-detail\" aria-live=\"polite\" hidden>Admin closed. Serial stays connected.</p>\n"
|
||||
"<p id=\"output-detail\" class=\"connection-detail\" aria-live=\"polite\">Scrollback: 5000 lines per terminal; oldest lines expire.</p>\n"
|
||||
"<div id=\"terminal\" class=\"terminal-host\"></div>\n"
|
||||
|
||||
@@ -74,6 +74,10 @@ esp_err_t httpd_resp_send(httpd_req_t *, const char *, ssize_t);
|
||||
assert "frame-ancestors 'none'" in csp and "connect-src 'self'" in csp
|
||||
assert rendered['html'].index('<script>') < rendered['html'].index('/assets/xterm.js')
|
||||
assert '<a href="/login">' in rendered['html']
|
||||
# Keep the mode selector last/rightmost when admin actions are visible.
|
||||
assert (rendered['html'].index('id="terminal-title"') <
|
||||
rendered['html'].index('id="admin-toggle"') <
|
||||
rendered['html'].index('id="terminal-selector"'))
|
||||
for forbidden in ('localStorage', 'sessionStorage', 'document.cookie', 'console.log', 'innerHTML', 'Authorization'):
|
||||
assert forbidden not in rendered['script'] + rendered['loader'], forbidden
|
||||
(tmp / 'rendered.json').write_text(json.dumps(rendered))
|
||||
|
||||
Reference in New Issue
Block a user