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

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

View file

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

View file

@ -135,7 +135,7 @@
<script src="<%=resource%>/xhr.js"></script> <script src="<%=resource%>/xhr.js"></script>
</head> </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> <header>
<div class="container"> <div class="container">