diff options
author | Steven Barth <steven@midlink.org> | 2008-05-31 08:04:49 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-05-31 08:04:49 +0000 |
commit | 2623e2880c69e5e19891ad06759dcbb8ad62f91b (patch) | |
tree | eaf893bff49979028a11f3624ccb5914a07bf633 /themes/openwrt.org | |
parent | 464f6ed4566f6711bf5a3fa28d780cb8d71c0014 (diff) |
* Core translation part 1
* Introduced new default theme "OpenWRT.org"
* Minor tweaks
Diffstat (limited to 'themes/openwrt.org')
4 files changed, 444 insertions, 0 deletions
diff --git a/themes/openwrt.org/Makefile b/themes/openwrt.org/Makefile new file mode 100644 index 0000000000..81a96f6a83 --- /dev/null +++ b/themes/openwrt.org/Makefile @@ -0,0 +1,2 @@ +include ../../build/config.mk +include ../../build/module.mk
\ No newline at end of file diff --git a/themes/openwrt.org/luasrc/view/themes/openwrt.org/footer.htm b/themes/openwrt.org/luasrc/view/themes/openwrt.org/footer.htm new file mode 100644 index 0000000000..6fc2f6089e --- /dev/null +++ b/themes/openwrt.org/luasrc/view/themes/openwrt.org/footer.htm @@ -0,0 +1,8 @@ + </div> + <div class="clear"></div> +</div></div> +</div> + +<div class="separator black whitetext bold"><a href="<%=controller%>/about"><%=require("luci").__appname__ .. " " .. luci.__version__%> - Lua Configuration Interface</a></div> +</body> +</html>
\ No newline at end of file diff --git a/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm b/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm new file mode 100644 index 0000000000..2ab67ecf49 --- /dev/null +++ b/themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm @@ -0,0 +1,136 @@ +<% +require("luci.sys") +local load1, load5, load15 = luci.sys.loadavg() +local request = require("luci.dispatcher").request +local category = request[1] +local tree = luci.dispatcher.node() +local cattree = category and luci.dispatcher.node(category) +local node = luci.dispatcher.dispatched + +local c = tree +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 + +require("luci.i18n").loadc("default") + +require("luci.http").prepare_content("text/html") +%><?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" /> + <% if node and node.css then %><link rel="stylesheet" type="text/css" href="<%=resource%>/<%=node.css%>" /><% end %> + <meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> + <meta http-equiv="content-script-type" content="text/javascript" /> + <title>LuCI - Lua Configuration Interface - <%=node.title%></title> +</head> +<body> +<div id="header"> + <div class="whitetext smalltext bold right"> + <%=luci.config.brand.firmware%><br /> + <%=luci.config.brand.distro%><br /> + <%:load Last%>: <%=load1%> <%=load5%> <%=load15%><br /> + <%:hostname Hostname%>: <%=luci.sys.hostname()%> + </div> + <div> + <span class="headertitle"><%=luci.config.brand.title%></span><br /> + <span class="whitetext bold"><%=luci.config.brand.subtitle%></span> + </div> +</div> + +<div class="separator black whitetext bold"> +<%:path Pfad%>: <% +local c = tree +local url = controller +for k,v in pairs(request) do + if c.nodes and c.nodes[v] then + c = c.nodes[v] + url = url .. "/" .. v + %><a href="<%=url%>"><%=c.title or v%></a> <% if k ~= #request then %>» <% end + end +end +%> +</div> + +<div id="page"> +<div id="columns"><div id="columnswrapper"> + <div class="sidebar left"> +<% +local function submenu(prefix, node) + if not node._menu_selected or not node.nodes then + return false + end + local index = {} + for k, n in pairs(node.nodes) do + table.insert(index, {name=k, order=n.order or 100}) + end + + table.sort(index, function(a, b) return a.order < b.order end) +%> + <ul> + <% for j, v in pairs(index) do + local nnode = node.nodes[v.name]%> + <li> + <span<% if nnode._menu_selected then %> class="blacktext"<%end%>><a href="<%=controller .. prefix .. v.name%>"><%=nnode.title%></a></span> + <% submenu(prefix .. v.name .. "/", nnode) %> + </li> + <% end %> + </ul> +<% +end + +if cattree and cattree.nodes then + local index = {} + for k, node in pairs(cattree.nodes) do + table.insert(index, {name=k, order=node.order or 100}) + end + + table.sort(index, function(a, b) return a.order < b.order end) + + for i, k in ipairs(index) do + node = cattree.nodes[k.name] + if node.title then %> + <div<% if node._menu_selected then %> class="blacktext"<%end%>><a href="<%=controller%>/<%=category%>/<%=k.name%>"><%=node.title%></a> + <%submenu("/" .. category .. "/" .. k.name .. "/", node)%> + </div> +<% end + end +end +%> + </div> + <div class="sidebar right"> + <div><%:webui Weboberfläche%> + <ul><% + for k,node in pairs(tree.nodes) do + if node.title then %> + <li<% if request[1] == k then %> class="blacktext"<%end%>><a href="<%=controller%>/<%=k%>"><%=node.title%></a></li> +<% end + end%> + </ul> + </div> + <% + if "admin" == request[1] then + require("luci.model.uci") + local ucic = luci.model.uci.changes() + if ucic then + ucic = #luci.util.split(ucic) + end + %> + <div><%:config Konfiguration%> + <ul> + <% if ucic then %> + <li><a href="<%=controller%>/admin/uci/changes"><%:changes Änderungen%>: <%=ucic%></a></li> + <li><a href="<%=controller%>/admin/uci/apply"><%:apply Anwenden%></a></li> + <li><a href="<%=controller%>/admin/uci/revert"><%:revert Verwerfen%></a></li> + <% else %> + <li><%:changes Änderungen%>: 0</li> + <% end %> + </ul> + </div> + <% end %> + </div> + <div id="content">
\ No newline at end of file diff --git a/themes/openwrt.org/root/www/luci-static/openwrt.org/cascade.css b/themes/openwrt.org/root/www/luci-static/openwrt.org/cascade.css new file mode 100644 index 0000000000..6469b8f235 --- /dev/null +++ b/themes/openwrt.org/root/www/luci-static/openwrt.org/cascade.css @@ -0,0 +1,298 @@ +@charset "utf-8"; + +body { + font-family: Verdana, Arial, sans-serif; + background-color: #557788; +} + +h1 { + margin: 0%; + font-size: 1.4em; + font-weight: bold; + margin-bottom: 0.5em; +} + +h2 { + margin: 0%; + font-size: 1.2em; + font-weight: bold; +} + +h3 { + margin: 0%; +} + +#page { + background-color: #d4dce0; + border-left: 3px solid #000000; + border-right: 3px solid #000000; +} + +#header { + padding: 0.2em; + height: 4.5em; + padding-left: 1.2em; +} + +#columns { + border-left: 10.1em solid #ccd6db; + border-right: 10.1em solid #ccd6db; + display: block; + padding: 0.1em; +} + +#columnswrapper { + display: block; + margin-left: -10em; + margin-right: -10em; +} + +#content { + margin-left: 14em; + margin-right: 14em; + display: block; + position: relative; + padding: 2px; + font-size: 0.8em; +} + +.headerlogo { + height: 4em; + padding: 5px; +} + +.headerlogo img { + height: 100%; +} + +.headertitle { + font-size: 2.4em; + color: black; + font-weight: bold; + letter-spacing: 0.6em; + text-transform: lowercase; +} + +.separator { + padding-left: 0.25em; + font-weight: bold; + font-size: 0.8em; + line-height: 1.4em; +} + +.whitetext { + color: white; +} + +.blacktext { + color: #000000; +} + +.magentatext { + color: #dc0065; +} + +.inheritcolor { + color: inherit; +} + +.smalltext { + font-size: 0.8em; +} + +.black { + background-color: #000000; +} + +.nodeco { + text-decoration: none; +} + +.redhover:hover { + color: red; +} + +.bold { + font-weight: bold; +} + +.sidebar { + position: relative; + padding: 0.25em; + color: gray; + width: 9em; + font-weight: bold; +} + +.separator a, .sidebar a { + color: inherit; + text-decoration: inherit; +} + +.separator a:hover, .sidebar a:hover { + color: red; +} + +.sidebar div { + padding-bottom: 0.5em; +} + +.sidebar ul { + font-size: 0.8em; + color: white; + list-style-type: none; + padding-left: 1em; + margin-top: 0%; +} + +.table { + display: table; +} + +.table-row { + display: table-row; +} + +.table-cell { + display: table-cell; +} + +.left { + float: left; + text-align: left; +} + +.right { + float: right; + text-align: right; +} + +.clear { + clear: both; +} + +.hidden { + display: none; +} + +.inline { + display: inline; +} + +.code { + background: #f7f7f7; + border: 1px solid #d7d7d7; + margin: 1em 1.75em; + padding: 1em; +} + +code { + display: block; + background: #f7f7f7; + border: 1px solid #d7d7d7; + margin: 1em 1.75em; + padding: 1em; + overflow: auto; + white-space: pre; +} + +.cbi-section { + margin-top: 1em; +} + +.cbi-section-remove { + text-align: right; +} + +.cbi-value { + display: table-row; +} + +.cbi-value-title { + display: table-cell; + line-height: 1.75em; + font-weight: bold; + padding: 0.25em; +} + +.cbi-value-field { + display: table-cell; + text-align: left; + padding: 0.25em; + line-height: 1.75em; +} + +.cbi-value-field input, .cbi-value-field select, +.cbi-optionals select, .cbi-optionals input, +.cbi-section-remove input, .cbi-section-create input { + font-size: 0.8em; + margin: 0%; +} + +.cbi-section-descr { + padding-bottom: 1em; +} + +.cbi-value-description { + display: inline; + font-style: italic; + font-size: 0.8em; + padding: 0.25em; + margin-bottom: 0.5em; +} + +.cbi-form-separator { + margin-top: 1em; +} + +.cbi-section-node { + display: table; + padding: 0.25em; + border: 1px solid #000000; +} + +.cbi-section-row { + display: table-row; +} + +.cbi-section-row-head { + display: table-cell; + font-weight: bold; + padding: 0.25em; +} + +.cbi-section-row-descr { + display: table-cell; + padding: 0.25em; + font-size: 0.8em; +} + +.cbi-section-node h3 { + margin-bottom: 0.5em; +} + +.cbi-error { + color: red; + font-weight: bold; + font-size: 0.8em; + margin-bottom: 0.75em; +} + +.cbi-optionals { + margin-top: 1em; + display: table-cell; +} + +.cbi-optionals option { + font-size: 0.8em; +} + +.error { + color: red; + font-weight: bold; +} + +.ok { + color: green; + font-weight: bold; +}
\ No newline at end of file |