From ca0de5ffb349d4a9b54719d6818fbf38331a52cf Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 21 Oct 2008 01:38:26 +0000 Subject: [PATCH] * luci/themes/openwrt-light: sync layout and code to openwrt.org theme --- .../luci-static/openwrt-light/cascade.css | 477 ++++++++++++------ .../htdocs/luci-static/openwrt-light/ie6.css | 71 +++ .../htdocs/luci-static/openwrt-light/ie7.css | 13 + .../view/themes/openwrt-light/footer.htm | 7 +- .../view/themes/openwrt-light/header.htm | 189 +++---- 5 files changed, 498 insertions(+), 259 deletions(-) create mode 100644 themes/openwrt-light/htdocs/luci-static/openwrt-light/ie6.css create mode 100644 themes/openwrt-light/htdocs/luci-static/openwrt-light/ie7.css diff --git a/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css b/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css index a78326c79..93b0a32ea 100644 --- a/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css +++ b/themes/openwrt-light/htdocs/luci-static/openwrt-light/cascade.css @@ -1,149 +1,329 @@ -* { - margin: 0; - padding: 0; -} +@charset "utf-8"; +@media all { + +html, body { background-color: #4a6b7c; color: #ffffff; +} + +body { font-family: Verdana, Arial, sans-serif; - font-size: 100%; + font-size: 101%; line-height: 100%; } +* { + margin: 0; + padding: 0; +} + +abbr, +acronym { + font-style: normal; + font-variant: normal; +} + +abbr[title], +acronym[title] { + border-bottom: 1px dotted; + cursor: help; +} + +a:link abbr[title], +a:visited abbr[title], +a:link acronym[title], +a:visited acronym[title] { + cursor: pointer; +} + code { font-family: monospace; white-space: pre; } -div#maincontent ul { +#maincontent ul { margin-left: 2em; } .warning { - color: red !important; + color: red; + background-color: white; font-weight: bold; } .clear { clear: both; - height: 1px; } +.skiplink, +.navigation, .hidden { - display: none; + position: absolute; + left: -1000px; + top: -1000px; + width: 0px; + height: 0px; + overflow: hidden; + display: inline; } .error { color: #ff0000; + background-color: white; } #header { background-color: #557788; + color: #ffffff; text-align: right; + padding: 0.5em; } -#header .info { - padding: 1em 1em; +#header h1 { + display: inline; +} + +#header p { + display: inline; +} + +#header h1, +#header p { font-size: 70%; + font-weight: normal; line-height: 160%; + text-align: right; } -#header .title { - display: none; +ul.dropdowns { + float: left; + margin: 0; + padding: 0; + width: auto; + list-style: none; } -.pathbar { - display: none; +html>body ul.dropdowns { + position: relative; } -.menubar { - width: 100%; - min-height: 1.8em; - background: #000000; - color: #ffffff; +ul.dropdowns li, +ul.dropdowns ul { + margin: 0; + padding: 0; + list-style: none; } -.mainmenu { +ul.dropdowns li { float: left; - width: auto; - min-height: 1.8em; + position: relative; + white-space: nowrap; +} + +ul.dropdowns li ul { + position: absolute; + z-index: 1000; + top: auto; + min-width: 10em; +} + +ul.dropdowns li li { + float: none; + position: relative; +} + +ul.dropdowns li a { + display: block; +} + +ul.dropdowns ul li ul { + top: 0; +} + +ul.dropdowns li ul, +ul.dropdowns li.over ul ul, +ul.dropdowns li.focus ul ul, +ul.dropdowns li:hover ul ul, +ul.dropdowns li.over ul ul ul, +ul.dropdowns li.focus ul ul ul, +ul.dropdowns li:hover ul ul ul, +ul.dropdowns li.over ul ul ul ul, +ul.dropdowns li.focus ul ul ul ul, +ul.dropdowns li:hover ul ul ul ul { + left: -3000px; +} + +ul.dropdowns li.over ul, +ul.dropdowns li.focus ul, +ul.dropdowns li:hover ul { + left: 0; +} + +ul.dropdowns ul li.over ul, +ul.dropdowns ul li.focus ul, +ul.dropdowns ul li:hover ul, +ul.dropdowns ul ul li.over ul, +ul.dropdowns ul ul li.focus ul, +ul.dropdowns ul ul li:hover ul, +ul.dropdowns ul ul ul li.over ul, +ul.dropdowns ul ul ul li.focus ul, +ul.dropdowns ul ul ul li:hover ul { + left: 100%; +} + +#menubar { + position: relative; + width: 100%; background: #000000; color: #ffffff; } -.mainmenu div { - float: left; +#menubar .warning { + color: red; + background-color: #557788; } -.mainmenu li { - white-space: nowrap; +#menubar ul.dropdowns { + min-height: 1.8em; + background: #000000; + color: #ffffff; } -.mainmenu div ul { - display: none; - position: absolute; +#menubar ul.dropdowns li ul { background: #000000; color: #ffffff; border-width: 0 1px 1px 1px; border-style: solid; border-color: #444444; - list-style-type: none; } -.mainmenu ul li:hover > ul, -.mainmenu div:hover > ul { - display: block; -} - -.mainmenu ul li > ul { - left: 100%; - margin-top: -1.8em; +#menubar ul.dropdowns ul li ul { border-width: 1px; } -.modemenu a, -.mainmenu a { +html #menubar a:link, +html #menubar a:visited { + position: relative; display: block; padding: 0.5em; + background: #000000; color: #ffffff; text-decoration: none; font-size: 80%; + font-weight: normal; } -.mainmenu .active a, -.modemenu .active a { + +html #menubar a:link:hover, +html #menubar a:visited:hover, +html #menubar a:link:active, +html #menubar a:visited:active, +#menubar a:link:focus, +#menubar a:visited:focus { + background: #000000; color: #ffff00; font-weight: bold; } -.mainmenu li:hover > span > a, -.mainmenu div:hover > a { +html #menubar a:link.active, +html #menubar a:visited.active, +html #menubar a:link.preactive, +html #menubar a:visited.preactive { + background: #000000; + color: #ffff00; font-weight: bold; } -.modemenu a:hover, -.modemenu a:focus, -.mainmenu a:hover, -.mainmenu a:focus { - color: #ffff00; +html #menubar a:link.warning, +html #menubar a:visited.warning { + background: #000000; + color: red; font-weight: bold; } -.mainmenu div.preactive > a { - color: #ffff00; +#menubar ul.dropdowns li.over>a, +#menubar ul.dropdowns li.focus>a, +#menubar ul.dropdowns li:hover>a { font-weight: bold; } -.modemenu ul { +.lang_de #submenu_mini_system { min-width: 13.3em; } +* html .lang_de #submenu_mini_system { width: 13.3em; } + +.lang_pt-br #submenu_mini_network { min-width: 14em; } +* html .lang_pt-br #submenu_mini_network { width: 14em; } + +.lang_pt-br #submenu_mini_system { min-width: 11.5em; } +* html .lang_pt-br #submenu_mini_system { width: 11.5em; } + +.lang_ru #submenu_mini_system { min-width: 18em; } +* html .lang_ru #submenu_mini_system { width: 18em; } + +.lang_pt-br #submenu_admin_index { min-width: 11em; } +* html .lang_pt-br #submenu_admin_index { width: 11em; } + +.lang_ru #submenu_admin_index { min-width: 15.5em; } +* html .lang_ru #submenu_admin_index { width: 15.5em; } + +.lang_ru #submenu_admin_status { min-width: 10.5em; } +* html .lang_ru #submenu_admin_status { width: 10.5em; } + +.lang_de #submenu_admin_system { min-width: 13.3em; } +* html .lang_de #submenu_admin_system { width: 13.3em; } + +.lang_fr #submenu_admin_system { min-width: 14.5em; } +* html .lang_fr #submenu_admin_system { width: 14.5em; } + +.lang_pt-br #submenu_admin_system { min-width: 11.5em; } +* html .lang_pt-br #submenu_admin_system { width: 11.5em; } + +.lang_ru #submenu_admin_system { min-width: 18em; } +* html .lang_ru #submenu_admin_system { width: 18em; } + +#submenu_admin_services_chillispot { min-width: 15.5em; } +* html #submenu_admin_services_chillispot { width: 15.5em; } + +#submenu_admin_services_coovachilli { min-width: 15em; } +* html #submenu_admin_services_coovachilli { width: 15em; } + +.lang_ru #submenu_admin_network_routes { min-width: 15.3em; } +* html .lang_ru #submenu_admin_network_routes { width: 15.3em; } + +#submenu_admin_network_firewall { min-width: 14em; } +* html #submenu_admin_network_firewall { width: 14em; } + +.lang_de #submenu_admin_network_firewall { min-width: 16.5em; } +* html .lang_de #submenu_admin_network_firewall { width: 16.5em; } + +.lang_pt-br #submenu_admin_network_firewall { min-width: 15em; } +* html .lang_pt-br #submenu_admin_network_firewall { width: 15em; } + +#modemenu { width: auto; background: #000000; color: #ffffff; - list-style-type: none; + list-style: none; + margin-right: 1px; } -.modemenu li { +#modemenu li { float: right; + list-style: none; +} + +#savemenu { + float: right; + margin-right: 2em; +} + +.lang_de #submenu_admin_uci { + width: 12em; +} + +.lang_ru #submenu_admin_uci { + width: 11.5em; } #maincontent { @@ -181,6 +361,7 @@ div#maincontent ul { padding: 0.5em 1em; border: 1px dotted #555555; background-color: #ffffff; + color: #000000; } .cbi-section legend { @@ -188,6 +369,7 @@ div#maincontent ul { font-weight: bold; height: 1em; padding: 0 0.25em; + background-color: transparent; color: #555555; } @@ -196,9 +378,11 @@ div#maincontent ul { } .cbi-section h3 { - height: 1.5em; - font-size: 90%; - color: #555555; + text-decoration: none !important; + font-weight: bold !important; + color: #555555 !important; + margin: 0.25em !important; + font-size: 100% !important; } .cbi-section-descr { @@ -214,10 +398,13 @@ div#maincontent ul { background-color: inherit; } +ul.cbi-apply { + font-size: 90%; +} + input[type=submit], input[type=reset], -input[type=image], -label { +input[type=image] { cursor: pointer; } @@ -242,6 +429,7 @@ select:hover, textarea:focus, textarea:hover { background-color: #ffffff; + color: #000000; } select, @@ -259,24 +447,28 @@ td input[type=password] { input.cbi-input-user { background: url('../resources/cbi/user.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; } input.cbi-input-password { background: url('../resources/cbi/key.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; } input.cbi-input-find { background: url('../resources/cbi/find.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; } input.cbi-input-reload { background: url('../resources/cbi/reload.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; } @@ -284,6 +476,7 @@ input.cbi-input-add, input.cbi-button-add { background: url('../resources/cbi/add.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; padding-right: 1px; } @@ -292,6 +485,7 @@ input.cbi-input-fieldadd, input.cbi-button-fieldadd { background: url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; padding-right: 1px; } @@ -300,6 +494,7 @@ input.cbi-input-reset, input.cbi-button-reset { background: url('../resources/cbi/reset.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; padding-right: 1px; } @@ -308,6 +503,7 @@ input.cbi-input-save, input.cbi-button-save { background: url('../resources/cbi/save.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; padding-right: 1px; } @@ -316,6 +512,7 @@ input.cbi-input-apply, input.cbi-button-apply { background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; padding-right: 1px; } @@ -324,6 +521,7 @@ input.cbi-input-remove, div.cbi-section-remove input { background: url('../resources/cbi/remove.gif') no-repeat scroll 1px center; background-color: inherit; + color: #000000; padding-left: 17px; padding-right: 1px; } @@ -343,8 +541,14 @@ form > div > input[type=reset] { margin-left: 0.5em; } +table td, +table th { + color: #000000; +} + table.smalltext { background: #f5f5f5; + color: #000000; border-top: 1px solid #666666; border-right: 1px solid #666666; border-bottom: 1px solid #666666; @@ -357,6 +561,7 @@ table.smalltext { table.smalltext tr:hover td { background-color: #bbddee; + color: #000000; } table.smalltext tr th { @@ -371,12 +576,19 @@ table.smalltext tr td { border-left: 1px solid #666666; } -.cbi-rowstyle-1 { +table.cbi-section-table .cbi-rowstyle-1, +table.cbi-section-table .cbi-rowstyle-1 * { background-color: #eeeeff; + color: #000000; } -.cbi-rowstyle-2 { +.cbi-section .cbi-rowstyle-1 h3 { + background-color: #eeeeff; + color: #555555; +} +.cbi-rowstyle-2 { + color: #000000; } div.cbi-value { @@ -388,37 +600,42 @@ div.cbi-value { div.cbi-value:hover { background: #f8f8f8; -} - -div.cbi-value:last-child { - border: none; + color: #000000; } .cbi-value-title { float: left; width: 40%; + line-height: 1.8em; } div.cbi-value-field { width: 58%; - margin: 0.25em 0 0.25em 40%; + margin-left: 40%; + padding: 0.25em 0; } div.cbi-value-description { font-size: 90%; + display: inline; } -div.cbi-value-field > div.cbi-value-description { - display: none; +div.cbi-section-create { + clear: left; + white-space: nowrap; + vertical-align: top; } -div.cbi-value:hover div.cbi-value-field > div.cbi-value-description { - display: block; +div.cbi-tblsection-create { + border-bottom: 1px dotted #bbbbbb; } -div.cbi-section-create { - clear: left; - white-space: nowrap; +div.cbi-section-create .cbi-button { + margin: 0.25em; +} + +input.cbi-section-create-name { + margin-right: -0.25em; } div.cbi-map-descr { @@ -426,8 +643,8 @@ div.cbi-map-descr { } div.cbi-optionals { - margin: 0.5em 0; - padding: 0 0.25em; + padding: 0.25em; + border-bottom: 1px dotted #bbbbbb; } div.cbi-section-remove { @@ -436,8 +653,16 @@ div.cbi-section-remove { .cbi-section-node { clear: both; - border: 1px dotted #bbbbbb; + border-top: 1px dotted #bbbbbb; + border-left: 1px dotted #bbbbbb; + border-right: 1px dotted #bbbbbb; + border-bottom: none; + padding-bottom: 0; +} + +.cbi-section-node table div { padding-bottom: 0; + border-bottom: none; } .cbi-section-node div.cbi-section-table-row { @@ -471,31 +696,29 @@ td.cbi-section-table-optionals { div.cbi-error { font-size: 95%; font-weight: bold; - color: #FF0000; + color: #ff0000; + background-color: #ffffff; } td.cbi-value-error { - border-color: red !important; + border-color: red; } .cbi-value-error input, .cbi-value-error select { - color: red !important; - background-color: #FFCCCC; + color: red; + background-color: #ffcccc; } .cbi-section-error { color: red; + background-color: white; font-size: 95%; border: 1px dotted red; margin: 3px; padding: 3px; } -ul.cbi-apply { - font-size: 90%; -} - .right { text-align: right; } @@ -507,7 +730,9 @@ ul.cbi-apply { text-align: right; } -.luci a { +.luci a:link, +.luci a:visited { + background-color: transparent; color: #666666; text-decoration: none; font-size: 70%; @@ -519,85 +744,39 @@ ul.cbi-apply { .error500 { white-space: normal; - border: 1px dotted #FF0000; - background-color: #FFFFFF; + border: 1px dotted #ff0000; + background-color: #ffffff; + color: #000000; padding: 0.5em; } #memorybar { - width:200px; - height:8px; - border:1px solid #bbb; - background-color:red + width: 200px; + height: 8px; + border: 1px solid #bbb; + color: black; + background-color: red; } #memfree, #membuffers, #memcached { - float:right; - border:1px solid #bbb; - height:6px; + float: right; + border: 1px solid #bbb; + height: 6px; } #memfree { - background-color:green; + background-color: green; + color: black; } #membuffers { - background-color:yellow; + background-color: yellow; + color: black; } #memcached { - background-color:orange; -} - - -/* obligatory IE6 Voodoo Code */ -* html body { - padding-left: 50% !important; -} - -* html div#header { - margin-left: -100% !important; -} - -* html div.menubar { - margin-left: -100% !important; - width: 200% !important; -} - -* html div#maincontent { - margin-left: -80% !important; - width: 160% !important; -} - -* html div.mainmenu div.hover ul, -* html div.mainmenu div li.hover ul, -* html div.mainmenu div li li.hover ul, -* html div.mainmenu div li li li.hover ul, -* html div.mainmenu div li li li li.hover ul { - display: block !important; - margin-left: 3em; -} - -* html div.mainmenu div.hover ul { - margin-left: 0; -} - -* html div.mainmenu .hover ul ul, -* html div.mainmenu .hover ul ul ul, -* html div.mainmenu .hover ul ul ul ul, -* html div.mainmenu .hover ul ul ul ul ul { - display: none !important; -} - -* html div.mainmenu li { - height: 1em !important; - width: 10em !important; + background-color: #ffa500; + color: black; } -* html .mainmenu { - height: 1.8em; -} - -* html div.cbi-value-description { - margin-left: 40%; } diff --git a/themes/openwrt-light/htdocs/luci-static/openwrt-light/ie6.css b/themes/openwrt-light/htdocs/luci-static/openwrt-light/ie6.css new file mode 100644 index 000000000..d65da4a19 --- /dev/null +++ b/themes/openwrt-light/htdocs/luci-static/openwrt-light/ie6.css @@ -0,0 +1,71 @@ +/* obligatory IE6 Voodoo Code */ + +* html body { + padding-left: 50% !important; +} + +* html div#header { + margin-left: -100% !important; +} + +* html div#menubar { + margin-left: -100% !important; + width: 200% !important; +} + +* html ul.dropdowns li ul { + width: 10em; +} + +* html ul.dropdowns li li { + clear: both; + float: left; +} + +* html ul.dropdowns li li { + width: 100%; +} + +* html ul.dropdowns li li a { + height: 1%; +} + +* html div#maincontent { + margin-left: -80% !important; + width: 160% !important; +} + +* html div.cbi-value-description { + width: auto !important; +} + +* html div.cbi-value-field { + margin-left: 0 !important; + width: 100% !important; +} + +* html .cbi-input-text, +* html .cbi-input-user, +* html .cbi-input-select, +* html .cbi-input-password { + width: 50% !important; +} + +* html .cbi-section legend { + background-color: #ffffff; + color: #555555; +} + +* html table.cbi-section-table td .cbi-input-text, +* html table.cbi-section-table td .cbi-input-select { + width: 100% !important; +} + +* html div.cbi-page-actions { + text-align: right !important; +} + +* html div.cbi-value-field input, +* html div.cbi-value-field select { + font-size: 90% !important; +} diff --git a/themes/openwrt-light/htdocs/luci-static/openwrt-light/ie7.css b/themes/openwrt-light/htdocs/luci-static/openwrt-light/ie7.css new file mode 100644 index 000000000..c410f11ff --- /dev/null +++ b/themes/openwrt-light/htdocs/luci-static/openwrt-light/ie7.css @@ -0,0 +1,13 @@ +div.cbi-value-field { + margin-left: 0 !important; +} + +.cbi-section legend { + background-color: #ffffff; + color: #555555; +} + +table.cbi-section-table td .cbi-input-text, +table.cbi-section-table td .cbi-input-select { + width: 95% !important; +} diff --git a/themes/openwrt-light/luasrc/view/themes/openwrt-light/footer.htm b/themes/openwrt-light/luasrc/view/themes/openwrt-light/footer.htm index d1a8d43fe..f8ea5ad57 100644 --- a/themes/openwrt-light/luasrc/view/themes/openwrt-light/footer.htm +++ b/themes/openwrt-light/luasrc/view/themes/openwrt-light/footer.htm @@ -12,11 +12,10 @@ You may obtain a copy of the License at $Id$ -%> -
- - +
-
Powered by <%= luci.__appname__ .. " " .. luci.__version__%>
+

Powered by <%= luci.__appname__ .. " " .. luci.__version__%>

+ diff --git a/themes/openwrt-light/luasrc/view/themes/openwrt-light/header.htm b/themes/openwrt-light/luasrc/view/themes/openwrt-light/header.htm index cbfdba14e..7972c93f9 100644 --- a/themes/openwrt-light/luasrc/view/themes/openwrt-light/header.htm +++ b/themes/openwrt-light/luasrc/view/themes/openwrt-light/header.htm @@ -31,69 +31,48 @@ for i,r in ipairs(request) do end require("luci.i18n").loadc("default") -require("luci.http").prepare_content("text/html") +require("luci.http").prepare_content("application/xhtml+xml") -%> - + - - <% if node and node.css then %><% end %> - - - <%=striptags( hostname .. ( (node and node.title) and ' - ' .. node.title or '')) %> - LuCI - - + + + + + +<% if node and node.css then %> +<% end -%> + + + +<%=striptags( hostname .. ( (node and node.title) and ' - ' .. node.title or '')) %> - LuCI - - + -
-<%:path%>: <% -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 - %><%=c.title or v%> <% if k ~= #request then %>» <% end - end -end -%> + + + -
-- 2.25.1