From cc957467785264062a1d2f73c3b607bd0b936744 Mon Sep 17 00:00:00 2001 From: Rosy Song Date: Thu, 25 Oct 2018 11:29:18 +0800 Subject: theme: add initial commit for rosy theme Signed-off-by: Rosy Song Signed-off-by: Yan Lan Shen --- .../luasrc/view/themes/rosy/footer.htm | 50 ++++ .../luasrc/view/themes/rosy/header.htm | 304 +++++++++++++++++++++ 2 files changed, 354 insertions(+) create mode 100755 themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm create mode 100644 themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm (limited to 'themes/luci-theme-rosy/luasrc/view') diff --git a/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm b/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm new file mode 100755 index 000000000..3795d37cb --- /dev/null +++ b/themes/luci-theme-rosy/luasrc/view/themes/rosy/footer.htm @@ -0,0 +1,50 @@ +<%# + Rosy is a theme for LuCI. It is based on luci-theme-bootstrap + luci-theme-rosy + Copyright 2018 Rosy Song + Copyright 2018 Yan Lan Shen + + Have a bug? Please create an issue here on GitHub! + https://github.com/rosywrt/luci-theme-rosy/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008 Jo-Philipp Wich + Copyright 2012 David Menting + + Licensed to the public under the Apache License 2.0 + +-%> + +<% + local ver = require "luci.version" + local disp = require "luci.dispatcher" + local request = disp.context.path + local category = request[1] + local tree = disp.node() + local categories = disp.node_childs(tree) +%> + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm b/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm new file mode 100644 index 000000000..62a34c04b --- /dev/null +++ b/themes/luci-theme-rosy/luasrc/view/themes/rosy/header.htm @@ -0,0 +1,304 @@ +<%# + Rosy is a theme for LuCI. It is based on luci-theme-bootstrap + luci-theme-rosy + Copyright 2018 Rosy Song + Copyright 2018 Yan Lan Shen + + Have a bug? Please create an issue here on GitHub! + https://github.com/rosywrt/luci-theme-rosy/issues + + luci-theme-bootstrap: + Copyright 2008 Steven Barth + Copyright 2008 Jo-Philipp Wich + Copyright 2012 David Menting + + Licensed to the public under the Apache License 2.0 + +-%> + +<% + local sys = require "luci.sys" + local util = require "luci.util" + local http = require "luci.http" + local disp = require "luci.dispatcher" + + local boardinfo = util.ubus("system", "board") + + 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 u = url(prefix, name) + if query then + u = u .. http.build_querystring(query) + end + return pcdata(u) + end + + local function render_tabmenu(prefix, node, level) + if not level then + level = 1 + end + + local childs = disp.node_childs(node) + if #childs > 0 then + if level > 2 then + write('
    ') + 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 + write('
  • %s
  • ' %{ + v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', + nodeurl(prefix, v, nnode.query), + striptags(translate(nnode.title)) + }) + end + end + + if level > 2 then + write('
') + end + + if selected_node then + render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) + end + end + end + + local function render_submenu(prefix, node) + local childs = disp.node_childs(node) + if #childs > 0 then + write('
    ') + + for i, r in ipairs(childs) do + local nnode = node.nodes[r] + local title = pcdata(striptags(translate(nnode.title))) + + write('
  • %s
  • ' %{ + title, + nodeurl(prefix, r, nnode.query), + title + }) + end + + write('
') + end + end + + local function render_topmenu() + local childs = disp.node_childs(cattree) + if #childs > 0 then + write('') + end + end + + local function render_logout() + local childs = disp.node_childs(cattree) + if #childs > 0 then + + for i, r in ipairs(childs) do + local nnode = cattree.nodes[r] + local grandchildren = disp.node_childs(nnode) + + if #grandchildren > 0 then + + else + local title = pcdata(striptags(translate(nnode.title))) + + write('%s' %{ + title, + nodeurl(category, r, nnode.query), + title + }) + end + end + + end + end + + + local function render_changes() + -- calculate the number of unsaved changes + if tree.nodes[category] and tree.nodes[category].ucidata then + local ucichanges = 0 + + for i, j in pairs(require("luci.model.uci").cursor():changes()) do + for k, l in pairs(j) do + for m, n in pairs(l) do + ucichanges = ucichanges + 1; + end + end + end + + if ucichanges > 0 then + write('%s: %d' %{ + url(category, 'uci/changes'), + http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), + translate('Unsaved Changes'), + ucichanges + }) + end + end + end +-%> + + + + + + + <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - + LuCI + + + + + + + + + + + + + - LuCI"> + - LuCI"> + + + + + + + <% if node and node.css then %> + + <% end -%> + <% if css then %> + + <% end -%> + + + + + +
+
+
+ + <%=boardinfo.hostname or "?"%> +
+ <% render_changes() %> + + <% render_logout() %> +
+
+
+
+
+
+
+ +
Loading... +
+
+ +
+
+
+
+ + <%- 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.%> +

+ +
+ <%- end -%> + + + + <% if category then render_tabmenu(category, cattree) end %> -- cgit v1.2.3