<%# Material is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI luci-theme-material Copyright 2015 Lutty Yang luci-theme-neobird Copyright 2021 2smile luci-theme-design Copyright 2023 2smile Have a bug? Please create an issue here on GitHub! https://github.com/gngpp/luci-theme-design luci-theme-bootstrap: Copyright 2008 Steven Barth Copyright 2008 Jo-Philipp Wich Copyright 2012 David Menting MUI: https://github.com/muicss/mui Licensed to the public under the Apache License 2.0 -%> <% local ver = require "luci.version" local sys = require "luci.sys" local util = require "luci.util" local http = require "luci.http" local disp = require "luci.dispatcher" local uci = require 'luci.model.uci'.cursor() local fs = require "nixio.fs" local boardinfo = util.ubus("system", "board") local boardinfo={} boardinfo.hostname=sys.hostname() local request = disp.context.path local request2 = disp.context.request local category = request[1] local cattree = category and disp.node(category) local leaf = request2[#request2] local tree = disp.node() local node = disp.context.dispatched local categories = disp.node_childs(tree) local c = tree local i, r -- tag all nodes leading to this page for i, r in ipairs(request) do if c.nodes and c.nodes[r] then c = c.nodes[r] c._menu_selected = true end end -- send as HTML5 http.prepare_content("text/html") local function nodeurl(prefix, name, query) local url = controller .. prefix .. name .. "/" if query then url = url .. http.build_querystring(query) end return pcdata(url) end local function subtree(prefix, node, level) if not level then level = 1 end local childs = disp.node_childs(node) if #childs > 0 then if level > 2 then %>
    <% end local selected_node local selected_name local i, v for i, v in ipairs(childs) do local nnode = node.nodes[v] if nnode._menu_selected then selected_node = nnode selected_name = v end if level > 2 then %>
  • <%=striptags(translate(nnode.title))%>
  • <% end end if level > 2 then %>
<% end if selected_node then subtree(prefix .. selected_name .. "/", selected_node, level + 1) end end end -- Custom settings local mode = 'normal' local navbar = 'display' local navbar_proxy = 'shadowsocksr' if fs.access('/etc/config/design') then mode = uci:get_first('design', 'global', 'mode') navbar = uci:get_first('design', 'global', 'navbar') navbar_proxy = uci:get_first('design', 'global', 'navbar_proxy') end -%> <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI "> "> <% if node and node.css then %> <% end -%> <% if css then %> <% end -%> data-theme = "<%= mode %>" <% end -%> >
<% if mode == 'normal' then %> <% end -%> <% if navbar == 'display' then %>
<%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%>

<%:No password set!%>

<%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%>
"><%:Go to password configuration...%>
<%- end -%> <% if category then subtree("/" .. category .. "/", cattree) end %>