luci-theme-material: do not infer login state from url ()

Checking for `;` in the url is no good indicator whether a user is logged in,
instead query the dispatcher and set a `logged-in` CSS class on the `<body>`
element if a session exists.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
This commit is contained in:
Jo-Philipp Wich 2015-10-22 21:07:40 +02:00
parent 6c4341ee01
commit f9e590aa47
2 changed files with 3 additions and 4 deletions
themes/luci-theme-material
htdocs/luci-static/material/js
luasrc/view/themes/material

View file

@ -144,11 +144,10 @@
function getCurrentNodeByUrl() {
var ret = false;
var getUrlNode = function (href){
var linkPos = href.indexOf(";");
if (linkPos == -1){
if (!$('body').hasClass('logged-in')){
return "login";
}else{
linkPos = href.indexOf("/", linkPos);
var linkPos = href.indexOf("/", linkPos);
if (linkPos == -1){
return "overview";
}else{

View file

@ -135,7 +135,7 @@
<script src="<%=resource%>/xhr.js"></script>
</head>
<body class="lang_<%=luci.i18n.context.lang%> <%- if node then %><%= striptags( node.title ) %><%- end %>">
<body class="lang_<%=luci.i18n.context.lang%> <%- if node then %><%= striptags( node.title ) %><%- end %> <% if luci.dispatcher.context.authsession then %>logged-in<% end %>">
<header>
<div class="container">