From 43140d3efd86618f74ec2fedbe6136ab686e129a Mon Sep 17 00:00:00 2001 From: z3d <z3d@mail.i2p> Date: Sat, 8 Aug 2009 15:34:58 +0000 Subject: [PATCH] Overhaul of sidepanel layout, with concommitant tweaks and fudges to the css. --- .../src/net/i2p/router/web/SummaryHelper.java | 16 +-- apps/routerconsole/jsp/summaryframe.jsp | 2 +- apps/routerconsole/jsp/summarynoframe.jsp | 100 +++++++------ history.txt | 10 ++ .../themes/console/classic/console.css | 108 +++++++++----- .../themes/console/classic/ieshim.css | 104 +++++++++++++- .../resources/themes/console/dark/console.css | 133 ++++++++++++++++-- .../themes/console/light/console.css | 91 +++++++++++- .../src/net/i2p/router/RouterVersion.java | 2 +- 9 files changed, 462 insertions(+), 104 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index 10169ac9f0..90c8eee03d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -341,32 +341,32 @@ public class SummaryHelper extends HelperBase { Collections.sort(clients, new AlphaComparator()); StringBuilder buf = new StringBuilder(512); - buf.append("<u><b>Local destinations</b></u><br />"); + buf.append("<h3>Local destinations</h3><hr><table>"); for (Iterator iter = clients.iterator(); iter.hasNext(); ) { Destination client = (Destination)iter.next(); String name = getName(client); - buf.append("<b>*</b> "); - buf.append("<a href=\"tunnels.jsp#").append(client.calculateHash().toBase64().substring(0,4)); + buf.append("<tr><td align=\"right\"><b>*</b></td>"); + buf.append("<td align=\"left\"><a href=\"tunnels.jsp#").append(client.calculateHash().toBase64().substring(0,4)); buf.append("\" target=\"_top\" title=\"Show tunnels\">"); if (name.length() < 16) buf.append(name); else buf.append(name.substring(0,15)).append("…"); - buf.append("</a><br />\n"); + buf.append("</a></td></tr>\n"); LeaseSet ls = _context.netDb().lookupLeaseSetLocally(client.calculateHash()); if (ls != null) { long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now(); if (timeToExpire < 0) { - buf.append("<i>expired ").append(DataHelper.formatDuration(0-timeToExpire)); - buf.append(" ago</i><br />\n"); + buf.append("<tr><td colspan=\"2\"><i>expired ").append(DataHelper.formatDuration(0-timeToExpire)); + buf.append(" ago</i></td></tr>\n"); } } else { - buf.append("<i>No leases</i><br />\n"); + buf.append("<tr><td> </td><td align=\"left\"><i>No leases</i></td></tr>\n"); } } - // buf.append("<hr />\n"); + // buf.append("</table><hr />\n"); return buf.toString(); } diff --git a/apps/routerconsole/jsp/summaryframe.jsp b/apps/routerconsole/jsp/summaryframe.jsp index d19ea12794..71eef1de20 100644 --- a/apps/routerconsole/jsp/summaryframe.jsp +++ b/apps/routerconsole/jsp/summaryframe.jsp @@ -69,7 +69,7 @@ out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n"); out.print("<button type=\"submit\">Disable " + d + "s Refresh</button>\n"); } - out.print("</form></p>\n"); + out.print("</form></p><hr />\n"); } %> </div> diff --git a/apps/routerconsole/jsp/summarynoframe.jsp b/apps/routerconsole/jsp/summarynoframe.jsp index 1713a63364..bca587926f 100644 --- a/apps/routerconsole/jsp/summarynoframe.jsp +++ b/apps/routerconsole/jsp/summarynoframe.jsp @@ -15,8 +15,8 @@ <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="uhelper" scope="request" /> <jsp:setProperty name="uhelper" property="*" /> <jsp:setProperty name="uhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> -<center><a href="index.jsp" target="_top"><img src="/themes/console/images/i2plogo.png" alt="I2P Router Console" title="I2P Router Console"/></a></center><hr /> -<center> +<a href="index.jsp" target="_top"><img src="/themes/console/images/i2plogo.png" alt="I2P Router Console" title="I2P Router Console"/></a><hr /> + <% java.io.File lpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "docs/toolbar.html"); // you better have target="_top" for the links in there... if (lpath.exists()) { %> @@ -25,12 +25,17 @@ <jsp:setProperty name="linkhelper" property="maxLines" value="100" /> <jsp:getProperty name="linkhelper" property="content" /> <% } else { %> -<u><b>I2P Services</b></u><br /> -<a href="susidns/index.jsp" target="_blank">Addressbook</a> +<h3>I2P Services</h3><hr> +<table> +<tr> +<td><a href="susidns/index.jsp" target="_blank">Addressbook</a> <a href="i2psnark/" target="_blank">Torrents</a> <a href="susimail/susimail" target="blank">Webmail</a> -<a href="http://127.0.0.1:7658/" target="_blank">Webserver</a><hr /> -<u><b>I2P Internals</b></u><br /> +<a href="http://127.0.0.1:7658/" target="_blank">Webserver</a></td> +</tr></table><hr> +<h3>I2P Internals</h3><hr> +<table><tr> +<td> <a href="i2ptunnel/index.jsp" target="_blank">I2PTunnel</a> <a href="tunnels.jsp" target="_top">Tunnels</a> <a href="profiles.jsp" target="_top">Profiles</a> @@ -41,14 +46,24 @@ <a href="oldstats.jsp" target="_top">Stats</a> <a href="config.jsp" target="_top">Configuration</a> <a href="help.jsp" target="_top">Help</a></b> +</td></tr></table> <% } %> -</center> -<hr /> -<u><b>General</b></u><br /> -<b>Ident:</b> (<a title="Your router identity is <jsp:getProperty name="helper" property="ident" />, never reveal it to anyone" href="netdb.jsp?r=." target="_top">view</a>)<br /> -<b>Version:</b> <jsp:getProperty name="helper" property="version" /><br /> -<b>Uptime:</b> <jsp:getProperty name="helper" property="uptime" /><br /> -<b>Reachability:</b> <a href="config.jsp#help" target="_top"><jsp:getProperty name="helper" property="reachability" /></a> + +<hr> +<h3>General</h3><hr> +<h4> +<a title="Your router identity is <jsp:getProperty name="helper" property="ident" />, never reveal it to anyone" href="netdb.jsp?r=." target="_top">Local Identity</a></h4> +<hr> +<table><tr> +<td align="left"> +<b>Version:</b></td> +<td align="right"><jsp:getProperty name="helper" property="version" /></td></tr> +<tr> +<td align="left"> +<b>Uptime:</b></td> +<td align="right"><jsp:getProperty name="helper" property="uptime" /></td></tr></table> +<hr><h4><a href="config.jsp#help" target="_top"><jsp:getProperty name="helper" property="reachability" /></a></h4> +<hr> <% if (helper.updateAvailable()) { // display all the time so we display the final failure message @@ -63,24 +78,24 @@ if (prev != null) System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev); System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+""); String uri = request.getRequestURI(); - out.print("<p><center><form action=\"" + uri + "\" method=\"GET\">\n"); + out.print("<p><form action=\"" + uri + "\" method=\"GET\">\n"); out.print("<input type=\"hidden\" name=\"updateNonce\" value=\"" + nonce + "\" />\n"); - out.print("<input type=\"submit\" value=\"Download " + uhelper.getUpdateVersion() + " Update\" /></form></center></p>\n"); + out.print("<input type=\"submit\" value=\"Download " + uhelper.getUpdateVersion() + " Update\" /></form></p>\n"); } } %> -<p><center> +<p> <%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%> -</center></p> +</p> <hr /> -<u><b><a href="peers.jsp" target="_top">Peers</a></b></u><br /> -<b>Active:</b> <jsp:getProperty name="helper" property="activePeers" />/<jsp:getProperty name="helper" property="activeProfiles" /><br /> -<b>Fast:</b> <jsp:getProperty name="helper" property="fastPeers" /><br /> -<b>High capacity:</b> <jsp:getProperty name="helper" property="highCapacityPeers" /><br /> -<b>Well integrated:</b> <jsp:getProperty name="helper" property="wellIntegratedPeers" /><br /> -<b>Known:</b> <jsp:getProperty name="helper" property="allPeers" /><br /><% +<h3><a href="peers.jsp" target="_top">Peers</a></h3><hr><table> +<tr><td align="left"><b>Active:</b></td><td align="right"><jsp:getProperty name="helper" property="activePeers" />/<jsp:getProperty name="helper" property="activeProfiles" /></td></tr> +<tr><td align="left"><b>Fast:</b></td><td align="right"><jsp:getProperty name="helper" property="fastPeers" /></td></tr> +<tr><td align="left"><b>High capacity:</b></td><td align="right"><jsp:getProperty name="helper" property="highCapacityPeers" /></td></tr> +<tr><td align="left"><b>Integrated:</b></td><td align="right"><jsp:getProperty name="helper" property="wellIntegratedPeers" /></td></tr> +<tr><td align="left"><b>Known:</b></td><td align="right"><jsp:getProperty name="helper" property="allPeers" /></td></tr></table><hr><% if (helper.getActivePeers() <= 0) { - %><b><a href="config.jsp" target="_top">check your NAT/firewall</a></b><br /><% + %><h4><a href="config.jsp" target="_top">check your NAT/firewall</a></h4><% } // If showing the reseed link is allowed if (helper.allowReseed()) { @@ -107,22 +122,25 @@ } } %><hr /> -<u><b><a href="config.jsp" title="Configure the bandwidth limits" target="_top">Bandwidth in/out</a></b></u><br /> -<b>1s:</b> <jsp:getProperty name="helper" property="inboundSecondKBps" />/<jsp:getProperty name="helper" property="outboundSecondKBps" />KBps<br /> -<b>5m:</b> <jsp:getProperty name="helper" property="inboundFiveMinuteKBps" />/<jsp:getProperty name="helper" property="outboundFiveMinuteKBps" />KBps<br /> -<b>Total:</b> <jsp:getProperty name="helper" property="inboundLifetimeKBps" />/<jsp:getProperty name="helper" property="outboundLifetimeKBps" />KBps<br /> -<b>Used:</b> <jsp:getProperty name="helper" property="inboundTransferred" />/<jsp:getProperty name="helper" property="outboundTransferred" /><br /> -<hr /> -<u><b>Tunnels in/out</b></u><br /> -<b>Exploratory:</b> <jsp:getProperty name="helper" property="inboundTunnels" />/<jsp:getProperty name="helper" property="outboundTunnels" /><br /> -<b>Client:</b> <jsp:getProperty name="helper" property="inboundClientTunnels" />/<jsp:getProperty name="helper" property="outboundClientTunnels" /><br /> -<b>Participating:</b> <jsp:getProperty name="helper" property="participatingTunnels" /><br /> -<hr /> -<u><b>Congestion</b></u><br /> -<b>Job lag:</b> <jsp:getProperty name="helper" property="jobLag" /><br /> -<b>Message delay:</b> <jsp:getProperty name="helper" property="messageDelay" /><br /> -<b>Tunnel lag:</b> <jsp:getProperty name="helper" property="tunnelLag" /><br /> -<b>Handle backlog:</b> <jsp:getProperty name="helper" property="inboundBacklog" /><br /> -<b><jsp:getProperty name="helper" property="tunnelStatus" /></b><br /> +<h3><a href="config.jsp" title="Configure the bandwidth limits" target="_top">Bandwidth in/out</a></h3><hr> +<table> +<tr><td align="left"><b>1s:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundSecondKBps" />/<jsp:getProperty name="helper" property="outboundSecondKBps" />K/s</td></tr> +<tr><td align="left"><b>5m:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundFiveMinuteKBps" />/<jsp:getProperty name="helper" property="outboundFiveMinuteKBps" />K/s</td></tr> +<tr><td align="left"><b>Total:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundLifetimeKBps" />/<jsp:getProperty name="helper" property="outboundLifetimeKBps" />K/s</td></tr> +<tr><td align="left"><b>Used:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTransferred" />/<jsp:getProperty name="helper" property="outboundTransferred" /></td></tr></table> <hr /> +<h3>Tunnels in/out</h3><hr> +<table><tr> +<td align="left"><b>Exploratory:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTunnels" />/<jsp:getProperty name="helper" property="outboundTunnels" /></td></tr> +<tr><td align="left"><b>Client:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundClientTunnels" />/<jsp:getProperty name="helper" property="outboundClientTunnels" /></td></tr> +<tr><td align="left"><b>Participating:</b></td><td align="right"><jsp:getProperty name="helper" property="participatingTunnels" /></td></tr></table> +<hr> +<h3>Congestion</h3><hr> +<table><tr> +<td align="left"><b>Job lag:</b></td><td align="right"><jsp:getProperty name="helper" property="jobLag" /></td></tr> +<tr><td align="left"><b>Message delay:</b></td><td align="right"><jsp:getProperty name="helper" property="messageDelay" /></td></tr> +<tr><td align="left"><b>Tunnel lag:</b></td><td align="right"><jsp:getProperty name="helper" property="tunnelLag" /></td></tr> +<tr><td align="left"><b>Backlog:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundBacklog" /></td></tr><table> +<hr><h4><jsp:getProperty name="helper" property="tunnelStatus" /></h4> +<hr> <jsp:getProperty name="helper" property="destinations" /> diff --git a/history.txt b/history.txt index 8fbb6eebd3..4f369f0baa 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,13 @@ +2009-08-07 dr|z3d + * summarynoframe.jsp + - Main content now tabulated for better presentation + - Headings now more prominent + - Pruning where necessary of text strings + * Console themes (light/dark/classic) + - Ensure functionality with new sidepanel layout + - Custom hacks for IE/classic + - Enhanced form/button presentation + 2009-08-07 zzz * build.xml: - Try to automate the release process diff --git a/installer/resources/themes/console/classic/console.css b/installer/resources/themes/console/classic/console.css index 3231ef874e..c6f75327f4 100644 --- a/installer/resources/themes/console/classic/console.css +++ b/installer/resources/themes/console/classic/console.css @@ -1,14 +1,11 @@ /* Optimised for less capable browers and system specifications */ body { - margin: 0; + margin: 2px 0 0 2px; padding: 0; text-align: left; background: #bbf; color: #000; -/* - font: 10pt/140% Verdana, Tahoma, Helvetica, sans-serif; -*/ font: 9pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; } @@ -89,7 +86,7 @@ div.toolbar { div.routersummaryouter { float: left; - width: 200px; + width: 205px; margin: 0; padding: 0; border: 0; @@ -101,7 +98,7 @@ div.routersummary { width: 190px; color: inherit; margin: 0; - padding: 7px 0 0 0px; + padding: 7px 1px; text-align: center !important; border: 5px solid #bbf; font-size: 9pt; @@ -110,13 +107,63 @@ div.routersummary { -moz-box-shadow: inset 0px 0px 0px 1px #99f; } +div.routersummary input[type=text] { + text-align: right !important; +} + div.routersummary hr { - color: #bbf; - background: #bbf; + color: #eef; + background: #eef; height: 2px; - border-bottom: 1px inset #bbf; - margin: 5px 1px 4px 1px; - -moz-box-shadow: inset 0px -1px 0px 1px #99f; + border-bottom: 1px solid #eef; + margin: 8px 1px 7px 1px; + -moz-box-shadow: inset 0px 1px 1px 1px #99f; +} + +div.routersummary h3 { + border: 0px solid #f00; +/* border-bottom: 1px solid #99f !important;*/ + font-size: 10pt; + letter-spacing: 0.05em; + margin: -7px 1px -7px 1px; + padding: 5px 0px 5px 0px; + background: #c5d5fb; + text-transform: uppercase; +} + +div.routersummary h4 { + border: 0px solid #f00; + border-bottom: 0 !important; + font-size: 9pt; + letter-spacing: 0.05em; + margin: -7px 1px -7px 1px !important; + padding: 2px 3px 3px 3px; + background: #c1d1f7; + text-transform: capitalize; + text-decoration: none !important; + color: #2b2; +} + +div.routersummary table { + border: 0; + text-align: center !important; + margin: -5px 5px; + width: 180px !important; + overflow: hidden; + font-size: 8pt; + padding: 0px -10px; + background-image: none !important; + background-color: transparent !important; +} + +div.routersummary tr { + background-image: none !important; + background-color: transparent !important; + border: 0 !important; +} + +div.routersummary form { + margin-top: 8px; } div.routersummary p { @@ -132,33 +179,20 @@ div.routersummary a:hover { color: #f60; } -div.routersummary input[type=text] { - text-align: right !important; +div.routersummary td { + padding: 2px 4px; + background-image: none !important; + border: 0 !important; } -div.warning { - margin: 20px 20px 10px 260px; - padding: 0px 20px 20px 75px; - background: #ffd; - border: 5px solid #fb7; - text-align: left; - color: inherit; - background-image:url("../images/errortriangle.png"); - background-position: 17px center; - background-repeat:no-repeat; - -moz-border-radius: 15px; - -moz-box-shadow: inset 0px 0px 0px 2px #f60; - -kthml-border-radius: 15px; - -khtml-box-shadow: inset 0px 0px 0px 2px #f60; +div.routersummary tr:nth-child(even) { + background-color: #f60; + background-image: none !important; } -div.warning hr { - color: #fb7; - background: #fb7; - height: 5px; - border: 0px solid #fb7; - margin: 5px 0; - margin: 20px 0; +div.routersummarytr:nth-child(odd) { + background-color: #f00; + background-image: none !important; } div.warning h3 { @@ -167,7 +201,7 @@ div.warning h3 { } div.main { - margin: 0px 0px 0px 195px; + margin: 0px 0px 0px 196px; padding: 15px 15px 15px 15px; background: #eef; border: 5px solid #bbf; @@ -193,7 +227,7 @@ div.main textarea { } div.news { - margin: -5px 0px 0 195px; + margin: -5px 0px 0 196px; padding: -10px 15px 8px 15px; background: #ffffc0; border: 5px solid #bbf; @@ -300,7 +334,7 @@ h1 { text-align: center; border: 5px solid #bbf; padding: 13px 10px 12px 10px; - margin: 0 0px 0 195px; + margin: 0 0px 0 196px; line-height: 93%; text-transform: uppercase; letter-spacing: 0.3em; diff --git a/installer/resources/themes/console/classic/ieshim.css b/installer/resources/themes/console/classic/ieshim.css index 9fff032b16..0651274293 100644 --- a/installer/resources/themes/console/classic/ieshim.css +++ b/installer/resources/themes/console/classic/ieshim.css @@ -36,9 +36,9 @@ div.configure table { } h1 { - padding: 15px 10px 16px -10px !important; - margin: 0 0px 0 175px !important; - background-color: #bbf !important; + padding: 15px 10px 16px 10px !important; + margin: 0 0px 0 17 5px !important; + background-color: #bbf !important; /* background page color to fix overflow issue */ color: #001; } @@ -97,6 +97,8 @@ div.routersummary { color: #001; padding-left: 0px; border-left: 5px solid #bbf; + text-align: center !important; + overflow: hidden; /* prevents IE from borking the sidepanel */ } div.routersummary submit { @@ -104,6 +106,102 @@ div.routersummary submit { margin-bottom: 5px; } +div.routersummary input[type=text] { + text-align: right !important; +} + +div.routersummary hr { + color: #eef; + background: #eef; + height: 2px; + border-bottom: 1px solid #eef; + margin: 8px 1px 7px 1px; + -moz-box-shadow: inset 0px 1px 1px 1px #99f; +} + +div.routersummary h3 { + border: 0px solid #f00; + text-align: center !important; + font-size: 10pt; + letter-spacing: 0.05em; + margin: -14px 0px -15px 1px; + padding: 5px 0px 5px 0px; + background: #c5d5fb; + text-transform: uppercase; +} + +div.routersummary h4 { + border: 0px solid #f00; + border-bottom: 0 !important; + font-size: 9pt; + letter-spacing: 0.05em; + margin: -14px 0px -15px 1px !important; + padding: 2px 3px 3px 3px; + background: #c1d1f7; + text-transform: capitalize; + text-decoration: none !important; + color: #2b2; + text-align: center !important; +} + +div.routersummary table { + border: 0; + text-align: center !important; + margin: -5px 5px; + width: 175px !important; + overflow: hidden; + font-size: 8pt; + padding: 0px -10px; + background-image: none !important; + background-color: transparent !important; +} + +div.routersummary tr { + background-image: none !important; + background-color: transparent !important; + border: 0 !important; +} + +div.routersummary form { + margin-top: -25px !important; + margin-bottom: -25px !important; + text-align: center !important; +} + +div.routersummary p { + padding: 0; +} + +div.routersummary img { + margin: 5px -10px -5px -10px; + overflow: hidden; +} + +div.routersummary a:link, div.routersummary a:visited { + text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.3); +} + +div.routersummary a:hover { + text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7); + color: #f60; +} + +div.routersummary td { + padding: 2px 4px; + background-image: none !important; + border: 0 !important; +} + +div.routersummary tr:nth-child(even) { + background-color: #f60; + background-image: none !important; +} + +div.routersummarytr:nth-child(odd) { + background-color: #f00; + background-image: none !important; +} + div.news li { padding-top: 0px 0px !important; margin-bottom: -23px !important; diff --git a/installer/resources/themes/console/dark/console.css b/installer/resources/themes/console/dark/console.css index 5c561e94a9..5e5e026023 100644 --- a/installer/resources/themes/console/dark/console.css +++ b/installer/resources/themes/console/dark/console.css @@ -38,6 +38,8 @@ div.logo { background: #003 url('images/darkbluebg.png'); width: 175px; -moz-box-shadow: inset 0px 0px 1px 0px #009; + -khtml-box-shadow: inset 0px 0px 1px 0px #009; + box-shadow: inset 0px 0px 1px 0px #009; } div.toolbar { @@ -100,28 +102,103 @@ div.routersummary { border-radius: 4px; float: left; -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; } div.routersummary input[type=text] { text-align: right !important; -moz-box-shadow: inset 1px 1px 1px 0px #000; + -khtml-box-shadow: inset 1px 1px 1px 0px #000; + box-shadow: inset 1px 1px 1px 0px #000; } div.routersummary hr { color: #99f; background: #99f; - height: 1px; - border-bottom: 1px outset #bbf; - margin: 5px -10px 4px -10px; -} - -div.routersummary hr { - color: #bbf; - background: #bbf; height: 2px; - border-bottom: 1px outset #bbf; + border-bottom: 1px solid #99f; margin: 8px -10px 7px -10px; - -moz-box-shadow: inset 0px -4px 2px 1px #001; + -moz-box-shadow: inset 0px 1px 1px 1px #001; +} + +div.routersummary h3 { + border: 0px solid #f00; +/* border-bottom: 1px solid #99f !important;*/ + font-size: 10pt; + letter-spacing: 0.05em; + margin: -7px -9px -10px -9px; + padding: 5px 0px 5px 0px; + background: #007; + text-transform: uppercase; + -moz-border-radius: 0; + -khtml-border-radius: 0; + border-radius: 0; +} + +div.routersummary h4 { + border: 0px solid #f00; + border-bottom: 0 !important; + font-size: 9pt; + letter-spacing: 0.05em; + margin: -7px -9px -10px -9px !important; + padding: 2px 3px 5px 3px; + background: #005; + text-transform: capitalize; + text-decoration: none !important; + color: #2b2; +} + +div.routersummary table { + border: 0; + text-align: center !important; + margin: -5px -5px; + width: 185px !important; + overflow: hidden; + font-size: 8pt; + padding: 0px -10px; + background-image: none !important; + background-color: transparent !important; +} + +div.routersummary tr { + background-image: none !important; + background-color: transparent !important; + border: 0 !important; +} + +div.routersummary form { + margin-top: 8px; +} + +div.routersummary p { + padding: 0; +} + +div.routersummary a:link, div.routersummary a:visited { + text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.3); +} + +div.routersummary a:hover { + text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7); + color: #f60; +} + +div.routersummary td { + padding: 2px 4px; + background-image: none !important; + border: 0 !important; +} + + +div.routersummary tr:nth-child(even) { + background-color: #f60; + background-image: none !important; +} + +div.routersummarytr:nth-child(odd) { + background-color: #f00; + background-image: none !important; } div.warning { @@ -139,6 +216,8 @@ div.warning { background-position:15px center; background-repeat:no-repeat; -moz-box-shadow: inset 0px 0px 0px 1px #f00; + -khtml-box-shadow: inset 0px 0px 0px 1px #f00; + box-shadow: inset 0px 0px 0px 1px #f00; word-wrap: break-word; } @@ -170,6 +249,8 @@ div.news { -khtml-border-radius: 4px; text-align: justify; -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; } div.news li { @@ -193,6 +274,8 @@ div.confignav { font-weight: bold !important; line-height: 160% !important; -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; } div.configure { @@ -205,6 +288,8 @@ div.configure { border: 1px solid #99f; background: #003 url(images/darkbluebg.png); -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; } div.messages { @@ -216,6 +301,8 @@ div.messages { border: 1px solid #99f; background: #008 url('images/lightbluetile.png'); -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; } div.messages span.error { @@ -245,6 +332,8 @@ div.graphspanel { border: 1px solid #99f; background: #003 url(images/darkbluebg.png); -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; } div.graphspanel img { @@ -254,6 +343,8 @@ div.graphspanel img { text-align: center !important; background: #002; -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; opacity: 0.9; } @@ -264,6 +355,8 @@ div.graphspanel img:hover { text-align: center !important; background: #002; -moz-box-shadow: inset 0px 0px 1px 1px #f60; + -khtml-box-shadow: inset 0px 0px 1px 1px #f60; + box-shadow: inset 0px 0px 1px 1px #f60; opacity: 1; } table { @@ -412,6 +505,8 @@ h1 { white-space: normal; background: #004 url('images/darkbluebg.png'); -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; border: 1px solid #99f; border-radius: 4px; -moz-border-radius: 4px; @@ -434,6 +529,8 @@ h2 { vertical-align: middle; margin: 25px 0 20px 0 !important; -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; word-wrap: break-word; } @@ -483,6 +580,8 @@ button, button:visited { vertical-align: middle; min-width: 76px; -moz-box-shadow: inset 0px 1px 1px 0px #55f; + -khtml-box-shadow: inset 0px 1px 1px 0px #55f; + box-shadow: inset 0px 1px 1px 0px #55f; background: #003; color: #99f; } @@ -490,6 +589,8 @@ button, button:visited { button:hover { border: 1px solid #f60; -moz-box-shadow: inset 0px 1px 1px 0px #eef; + -khtml-box-shadow: inset 0px 1px 1px 0px #eef; + box-shadow: inset 0px 1px 1px 0px #eef; background: #001; color: #f60; } @@ -499,6 +600,8 @@ button:active { background: #f60; color: #fff; -moz-box-shadow: inset 0px 0px 0px 0px #f60; + -khtml-box-shadow: inset 0px 0px 0px 0px #f60; + box-shadow: inset 0px 0px 0px 0px #f60; } .underline { @@ -533,6 +636,8 @@ sidebarlogo { input { border: 1px outset #55f; -moz-box-shadow: inset 0px 1px 1px 0px #55f; + -khtml-box-shadow: inset 0px 1px 1px 0px #55f; + box-shadow: inset 0px 1px 1px 0px #55f; background: #003; color: #99f; margin: 5px; @@ -550,6 +655,8 @@ input:hover { color: #f60; border: 1px solid #f60; -moz-box-shadow: inset 0px 1px 1px 0px #eef; + -khtml-box-shadow: inset 0px 1px 1px 0px #eef; + box-shadow: inset 0px 1px 1px 0px #eef; } input:active { @@ -576,6 +683,8 @@ input[type=text] { -moz-border-radius: 4px; -khtml-border-radius: 4px; -moz-box-shadow: inset 1px 1px 1px 0px #000; + -khtml-box-shadow: inset 1px 1px 1px 0px #000; + box-shadow: inset 1px 1px 1px 0px #000; } input[type=text]:active, input[type=text]:hover { @@ -641,6 +750,8 @@ form {} padding: 7px; background: #004; -moz-box-shadow: inset 0px 0px 0px 1px #009; + -khtml-box-shadow: inset 0px 0px 0px 1px #009; + box-shadow: inset 0px 0px 0px 1px #009; } .joblog { @@ -655,6 +766,8 @@ form {} -khtml-border-radius: 4px; text-align: justify; -moz-box-shadow: inset 0px 0px 1px 0px #eef; + -khtml-box-shadow: inset 0px 0px 1px 0px #eef; + box-shadow: inset 0px 0px 1px 0px #eef; overflow-x: scroll; /* Opera fix */ } diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css index 26f8b40c5c..be4f6a3d6a 100644 --- a/installer/resources/themes/console/light/console.css +++ b/installer/resources/themes/console/light/console.css @@ -79,10 +79,10 @@ div.routersummaryouter { float: left; width: 215px; margin: 0 0 10px 20px; - padding: 0px 0 0 0; + padding: 0; border: 0; clear: left;/* fixes a bug in Opera */ - text-align: center; + text-align: center !important; display: block; } @@ -90,7 +90,7 @@ div.routersummary { /* margin: 0px 20px 20px 0px; */ width: 175px; padding: 10px; - text-align: center; + text-align: center !important; border: 1px solid #000033; background: #ddf url('images/lightbluetile.png'); color: #000; @@ -118,6 +118,82 @@ div.routersummary hr { -moz-box-shadow: inset 0px 1px 1px 1px #001; } +div.routersummary h3 { + border: 0px solid #f00; +/* border-bottom: 1px solid #99f !important;*/ + font-size: 10pt; + letter-spacing: 0.05em; + margin: -7px -9px -7px -9px; + padding: 5px 0px 5px 0px; + background: #c5d5fb; + text-transform: uppercase; +} + +div.routersummary h4 { + border: 0px solid #f00; + border-bottom: 0 !important; + font-size: 9pt; + letter-spacing: 0.05em; + margin: -7px -9px -7px -9px !important; + padding: 2px 3px 3px 3px; + background: #c1d1f7; + text-transform: capitalize; + text-decoration: none !important; + color: #2b2; +} + +div.routersummary table { + border: 0; + text-align: center !important; + margin: -5px -5px; + width: 185px !important; + overflow: hidden; + font-size: 8pt; + padding: 0px -10px; + background-image: none !important; + background-color: transparent !important; +} + +div.routersummary tr { + background-image: none !important; + background-color: transparent !important; + border: 0 !important; +} + +div.routersummary form { + margin-top: 8px; +} + +div.routersummary p { + padding: 0; +} + +div.routersummary a:link, div.routersummary a:visited { + text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.3); +} + +div.routersummary a:hover { + text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7); + color: #f60; +} + +div.routersummary td { + padding: 2px 4px; + background-image: none !important; + border: 0 !important; +} + + +div.routersummary tr:nth-child(even) { + background-color: #f60; + background-image: none !important; +} + +div.routersummarytr:nth-child(odd) { + background-color: #f00; + background-image: none !important; +} + div.warning { margin: 5px 20px 10px 240px; padding: 0px 25px 20px 75px; @@ -143,6 +219,7 @@ div.main { text-align: left; color: #001; width: auto; + min-width: 500px; } div.main hr, hr { @@ -216,6 +293,13 @@ div.news li { opacity: 0.8; } +div.news h4 { + border-bottom: 0px; + padding: 0; + margin: 0 0 -10px 0; + font-size: 11pt; +} + div.confignav { padding: 15px 10px !important; margin: 0 0 25px 0; @@ -228,6 +312,7 @@ div.confignav { font-weight: bold !important; line-height: 160% !important; -moz-box-shadow: inset 0px 0px 1px 0px #002; + min-width: 400px; } div.configure { diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 0116da7368..f47a425fd4 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 8; + public final static long BUILD = 9; /** for example "-test" */ public final static String EXTRA = ""; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA; -- GitLab