Overhaul of sidepanel layout, with concommitant tweaks and fudges to the css.

This commit is contained in:
z3d
2009-08-08 15:34:58 +00:00
parent 69fdfb0635
commit 43140d3efd
9 changed files with 462 additions and 104 deletions

View File

@ -341,32 +341,32 @@ public class SummaryHelper extends HelperBase {
Collections.sort(clients, new AlphaComparator()); Collections.sort(clients, new AlphaComparator());
StringBuilder buf = new StringBuilder(512); 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(); ) { for (Iterator iter = clients.iterator(); iter.hasNext(); ) {
Destination client = (Destination)iter.next(); Destination client = (Destination)iter.next();
String name = getName(client); String name = getName(client);
buf.append("<b>*</b> "); buf.append("<tr><td align=\"right\"><b>*</b></td>");
buf.append("<a href=\"tunnels.jsp#").append(client.calculateHash().toBase64().substring(0,4)); buf.append("<td align=\"left\"><a href=\"tunnels.jsp#").append(client.calculateHash().toBase64().substring(0,4));
buf.append("\" target=\"_top\" title=\"Show tunnels\">"); buf.append("\" target=\"_top\" title=\"Show tunnels\">");
if (name.length() < 16) if (name.length() < 16)
buf.append(name); buf.append(name);
else else
buf.append(name.substring(0,15)).append("&hellip;"); buf.append(name.substring(0,15)).append("&hellip;");
buf.append("</a><br />\n"); buf.append("</a></td></tr>\n");
LeaseSet ls = _context.netDb().lookupLeaseSetLocally(client.calculateHash()); LeaseSet ls = _context.netDb().lookupLeaseSetLocally(client.calculateHash());
if (ls != null) { if (ls != null) {
long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now(); long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now();
if (timeToExpire < 0) { if (timeToExpire < 0) {
buf.append("<i>expired ").append(DataHelper.formatDuration(0-timeToExpire)); buf.append("<tr><td colspan=\"2\"><i>expired ").append(DataHelper.formatDuration(0-timeToExpire));
buf.append(" ago</i><br />\n"); buf.append(" ago</i></td></tr>\n");
} }
} else { } else {
buf.append("<i>No leases</i><br />\n"); buf.append("<tr><td>&nbsp;</td><td align=\"left\"><i>No leases</i></td></tr>\n");
} }
} }
// buf.append("<hr />\n"); // buf.append("</table><hr />\n");
return buf.toString(); return buf.toString();
} }

View File

@ -69,7 +69,7 @@
out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n"); out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n");
out.print("<button type=\"submit\">Disable " + d + "s Refresh</button>\n"); out.print("<button type=\"submit\">Disable " + d + "s Refresh</button>\n");
} }
out.print("</form></p>\n"); out.print("</form></p><hr />\n");
} }
%> %>
</div> </div>

View File

@ -15,8 +15,8 @@
<jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="uhelper" scope="request" /> <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="uhelper" scope="request" />
<jsp:setProperty name="uhelper" property="*" /> <jsp:setProperty name="uhelper" property="*" />
<jsp:setProperty name="uhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <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 /> <a href="index.jsp" target="_top"><img src="/themes/console/images/i2plogo.png" alt="I2P Router Console" title="I2P Router Console"/></a><hr />
<center>
<% java.io.File lpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "docs/toolbar.html"); <% 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... // you better have target="_top" for the links in there...
if (lpath.exists()) { %> if (lpath.exists()) { %>
@ -25,12 +25,17 @@
<jsp:setProperty name="linkhelper" property="maxLines" value="100" /> <jsp:setProperty name="linkhelper" property="maxLines" value="100" />
<jsp:getProperty name="linkhelper" property="content" /> <jsp:getProperty name="linkhelper" property="content" />
<% } else { %> <% } else { %>
<u><b>I2P Services</b></u><br /> <h3>I2P Services</h3><hr>
<a href="susidns/index.jsp" target="_blank">Addressbook</a> <table>
<tr>
<td><a href="susidns/index.jsp" target="_blank">Addressbook</a>
<a href="i2psnark/" target="_blank">Torrents</a> <a href="i2psnark/" target="_blank">Torrents</a>
<a href="susimail/susimail" target="blank">Webmail</a> <a href="susimail/susimail" target="blank">Webmail</a>
<a href="http://127.0.0.1:7658/" target="_blank">Webserver</a><hr /> <a href="http://127.0.0.1:7658/" target="_blank">Webserver</a></td>
<u><b>I2P Internals</b></u><br /> </tr></table><hr>
<h3>I2P Internals</h3><hr>
<table><tr>
<td>
<a href="i2ptunnel/index.jsp" target="_blank">I2PTunnel</a> <a href="i2ptunnel/index.jsp" target="_blank">I2PTunnel</a>
<a href="tunnels.jsp" target="_top">Tunnels</a> <a href="tunnels.jsp" target="_top">Tunnels</a>
<a href="profiles.jsp" target="_top">Profiles</a> <a href="profiles.jsp" target="_top">Profiles</a>
@ -41,14 +46,24 @@
<a href="oldstats.jsp" target="_top">Stats</a> <a href="oldstats.jsp" target="_top">Stats</a>
<a href="config.jsp" target="_top">Configuration</a> <a href="config.jsp" target="_top">Configuration</a>
<a href="help.jsp" target="_top">Help</a></b> <a href="help.jsp" target="_top">Help</a></b>
</td></tr></table>
<% } %> <% } %>
</center>
<hr /> <hr>
<u><b>General</b></u><br /> <h3>General</h3><hr>
<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 /> <h4>
<b>Version:</b> <jsp:getProperty name="helper" property="version" /><br /> <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>
<b>Uptime:</b> <jsp:getProperty name="helper" property="uptime" /><br /> <hr>
<b>Reachability:</b> <a href="config.jsp#help" target="_top"><jsp:getProperty name="helper" property="reachability" /></a> <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()) { if (helper.updateAvailable()) {
// display all the time so we display the final failure message // 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); if (prev != null) System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev);
System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+""); System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+"");
String uri = request.getRequestURI(); 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=\"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"))%> <%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%>
</center></p> </p>
<hr /> <hr />
<u><b><a href="peers.jsp" target="_top">Peers</a></b></u><br /> <h3><a href="peers.jsp" target="_top">Peers</a></h3><hr><table>
<b>Active:</b> <jsp:getProperty name="helper" property="activePeers" />/<jsp:getProperty name="helper" property="activeProfiles" /><br /> <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>
<b>Fast:</b> <jsp:getProperty name="helper" property="fastPeers" /><br /> <tr><td align="left"><b>Fast:</b></td><td align="right"><jsp:getProperty name="helper" property="fastPeers" /></td></tr>
<b>High capacity:</b> <jsp:getProperty name="helper" property="highCapacityPeers" /><br /> <tr><td align="left"><b>High capacity:</b></td><td align="right"><jsp:getProperty name="helper" property="highCapacityPeers" /></td></tr>
<b>Well integrated:</b> <jsp:getProperty name="helper" property="wellIntegratedPeers" /><br /> <tr><td align="left"><b>Integrated:</b></td><td align="right"><jsp:getProperty name="helper" property="wellIntegratedPeers" /></td></tr>
<b>Known:</b> <jsp:getProperty name="helper" property="allPeers" /><br /><% <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) { 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 showing the reseed link is allowed
if (helper.allowReseed()) { if (helper.allowReseed()) {
@ -107,22 +122,25 @@
} }
} }
%><hr /> %><hr />
<u><b><a href="config.jsp" title="Configure the bandwidth limits" target="_top">Bandwidth in/out</a></b></u><br /> <h3><a href="config.jsp" title="Configure the bandwidth limits" target="_top">Bandwidth in/out</a></h3><hr>
<b>1s:</b> <jsp:getProperty name="helper" property="inboundSecondKBps" />/<jsp:getProperty name="helper" property="outboundSecondKBps" />KBps<br /> <table>
<b>5m:</b> <jsp:getProperty name="helper" property="inboundFiveMinuteKBps" />/<jsp:getProperty name="helper" property="outboundFiveMinuteKBps" />KBps<br /> <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>
<b>Total:</b> <jsp:getProperty name="helper" property="inboundLifetimeKBps" />/<jsp:getProperty name="helper" property="outboundLifetimeKBps" />KBps<br /> <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>
<b>Used:</b> <jsp:getProperty name="helper" property="inboundTransferred" />/<jsp:getProperty name="helper" property="outboundTransferred" /><br /> <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>
<hr /> <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>
<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 />
<hr /> <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" /> <jsp:getProperty name="helper" property="destinations" />

View File

@ -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 2009-08-07 zzz
* build.xml: * build.xml:
- Try to automate the release process - Try to automate the release process

View File

@ -1,14 +1,11 @@
/* Optimised for less capable browers and system specifications */ /* Optimised for less capable browers and system specifications */
body { body {
margin: 0; margin: 2px 0 0 2px;
padding: 0; padding: 0;
text-align: left; text-align: left;
background: #bbf; background: #bbf;
color: #000; color: #000;
/*
font: 10pt/140% Verdana, Tahoma, Helvetica, sans-serif;
*/
font: 9pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", 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 { div.routersummaryouter {
float: left; float: left;
width: 200px; width: 205px;
margin: 0; margin: 0;
padding: 0; padding: 0;
border: 0; border: 0;
@ -101,7 +98,7 @@ div.routersummary {
width: 190px; width: 190px;
color: inherit; color: inherit;
margin: 0; margin: 0;
padding: 7px 0 0 0px; padding: 7px 1px;
text-align: center !important; text-align: center !important;
border: 5px solid #bbf; border: 5px solid #bbf;
font-size: 9pt; font-size: 9pt;
@ -110,13 +107,63 @@ div.routersummary {
-moz-box-shadow: inset 0px 0px 0px 1px #99f; -moz-box-shadow: inset 0px 0px 0px 1px #99f;
} }
div.routersummary input[type=text] {
text-align: right !important;
}
div.routersummary hr { div.routersummary hr {
color: #bbf; color: #eef;
background: #bbf; background: #eef;
height: 2px; height: 2px;
border-bottom: 1px inset #bbf; border-bottom: 1px solid #eef;
margin: 5px 1px 4px 1px; margin: 8px 1px 7px 1px;
-moz-box-shadow: inset 0px -1px 0px 1px #99f; -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 { div.routersummary p {
@ -132,33 +179,20 @@ div.routersummary a:hover {
color: #f60; color: #f60;
} }
div.routersummary input[type=text] { div.routersummary td {
text-align: right !important; padding: 2px 4px;
background-image: none !important;
border: 0 !important;
} }
div.warning { div.routersummary tr:nth-child(even) {
margin: 20px 20px 10px 260px; background-color: #f60;
padding: 0px 20px 20px 75px; background-image: none !important;
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.warning hr { div.routersummarytr:nth-child(odd) {
color: #fb7; background-color: #f00;
background: #fb7; background-image: none !important;
height: 5px;
border: 0px solid #fb7;
margin: 5px 0;
margin: 20px 0;
} }
div.warning h3 { div.warning h3 {
@ -167,7 +201,7 @@ div.warning h3 {
} }
div.main { div.main {
margin: 0px 0px 0px 195px; margin: 0px 0px 0px 196px;
padding: 15px 15px 15px 15px; padding: 15px 15px 15px 15px;
background: #eef; background: #eef;
border: 5px solid #bbf; border: 5px solid #bbf;
@ -193,7 +227,7 @@ div.main textarea {
} }
div.news { div.news {
margin: -5px 0px 0 195px; margin: -5px 0px 0 196px;
padding: -10px 15px 8px 15px; padding: -10px 15px 8px 15px;
background: #ffffc0; background: #ffffc0;
border: 5px solid #bbf; border: 5px solid #bbf;
@ -300,7 +334,7 @@ h1 {
text-align: center; text-align: center;
border: 5px solid #bbf; border: 5px solid #bbf;
padding: 13px 10px 12px 10px; padding: 13px 10px 12px 10px;
margin: 0 0px 0 195px; margin: 0 0px 0 196px;
line-height: 93%; line-height: 93%;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.3em; letter-spacing: 0.3em;

View File

@ -36,9 +36,9 @@ div.configure table {
} }
h1 { h1 {
padding: 15px 10px 16px -10px !important; padding: 15px 10px 16px 10px !important;
margin: 0 0px 0 175px !important; margin: 0 0px 0 17 5px !important;
background-color: #bbf !important; background-color: #bbf !important; /* background page color to fix overflow issue */
color: #001; color: #001;
} }
@ -97,6 +97,8 @@ div.routersummary {
color: #001; color: #001;
padding-left: 0px; padding-left: 0px;
border-left: 5px solid #bbf; border-left: 5px solid #bbf;
text-align: center !important;
overflow: hidden; /* prevents IE from borking the sidepanel */
} }
div.routersummary submit { div.routersummary submit {
@ -104,6 +106,102 @@ div.routersummary submit {
margin-bottom: 5px; 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 { div.news li {
padding-top: 0px 0px !important; padding-top: 0px 0px !important;
margin-bottom: -23px !important; margin-bottom: -23px !important;

View File

@ -38,6 +38,8 @@ div.logo {
background: #003 url('images/darkbluebg.png'); background: #003 url('images/darkbluebg.png');
width: 175px; width: 175px;
-moz-box-shadow: inset 0px 0px 1px 0px #009; -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 { div.toolbar {
@ -100,28 +102,103 @@ div.routersummary {
border-radius: 4px; border-radius: 4px;
float: left; float: left;
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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] { div.routersummary input[type=text] {
text-align: right !important; text-align: right !important;
-moz-box-shadow: inset 1px 1px 1px 0px #000; -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 { div.routersummary hr {
color: #99f; color: #99f;
background: #99f; background: #99f;
height: 1px; height: 2px;
border-bottom: 1px outset #bbf; border-bottom: 1px solid #99f;
margin: 5px -10px 4px -10px; margin: 8px -10px 7px -10px;
-moz-box-shadow: inset 0px 1px 1px 1px #001;
} }
div.routersummary hr { div.routersummary h3 {
color: #bbf; border: 0px solid #f00;
background: #bbf; /* border-bottom: 1px solid #99f !important;*/
height: 2px; font-size: 10pt;
border-bottom: 1px outset #bbf; letter-spacing: 0.05em;
margin: 8px -10px 7px -10px; margin: -7px -9px -10px -9px;
-moz-box-shadow: inset 0px -4px 2px 1px #001; 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 { div.warning {
@ -139,6 +216,8 @@ div.warning {
background-position:15px center; background-position:15px center;
background-repeat:no-repeat; background-repeat:no-repeat;
-moz-box-shadow: inset 0px 0px 0px 1px #f00; -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; word-wrap: break-word;
} }
@ -170,6 +249,8 @@ div.news {
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
text-align: justify; text-align: justify;
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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 { div.news li {
@ -193,6 +274,8 @@ div.confignav {
font-weight: bold !important; font-weight: bold !important;
line-height: 160% !important; line-height: 160% !important;
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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 { div.configure {
@ -205,6 +288,8 @@ div.configure {
border: 1px solid #99f; border: 1px solid #99f;
background: #003 url(images/darkbluebg.png); background: #003 url(images/darkbluebg.png);
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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 { div.messages {
@ -216,6 +301,8 @@ div.messages {
border: 1px solid #99f; border: 1px solid #99f;
background: #008 url('images/lightbluetile.png'); background: #008 url('images/lightbluetile.png');
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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 { div.messages span.error {
@ -245,6 +332,8 @@ div.graphspanel {
border: 1px solid #99f; border: 1px solid #99f;
background: #003 url(images/darkbluebg.png); background: #003 url(images/darkbluebg.png);
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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 { div.graphspanel img {
@ -254,6 +343,8 @@ div.graphspanel img {
text-align: center !important; text-align: center !important;
background: #002; background: #002;
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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; opacity: 0.9;
} }
@ -264,6 +355,8 @@ div.graphspanel img:hover {
text-align: center !important; text-align: center !important;
background: #002; background: #002;
-moz-box-shadow: inset 0px 0px 1px 1px #f60; -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; opacity: 1;
} }
table { table {
@ -412,6 +505,8 @@ h1 {
white-space: normal; white-space: normal;
background: #004 url('images/darkbluebg.png'); background: #004 url('images/darkbluebg.png');
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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: 1px solid #99f;
border-radius: 4px; border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
@ -434,6 +529,8 @@ h2 {
vertical-align: middle; vertical-align: middle;
margin: 25px 0 20px 0 !important; margin: 25px 0 20px 0 !important;
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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; word-wrap: break-word;
} }
@ -483,6 +580,8 @@ button, button:visited {
vertical-align: middle; vertical-align: middle;
min-width: 76px; min-width: 76px;
-moz-box-shadow: inset 0px 1px 1px 0px #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; background: #003;
color: #99f; color: #99f;
} }
@ -490,6 +589,8 @@ button, button:visited {
button:hover { button:hover {
border: 1px solid #f60; border: 1px solid #f60;
-moz-box-shadow: inset 0px 1px 1px 0px #eef; -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; background: #001;
color: #f60; color: #f60;
} }
@ -499,6 +600,8 @@ button:active {
background: #f60; background: #f60;
color: #fff; color: #fff;
-moz-box-shadow: inset 0px 0px 0px 0px #f60; -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 { .underline {
@ -533,6 +636,8 @@ sidebarlogo {
input { input {
border: 1px outset #55f; border: 1px outset #55f;
-moz-box-shadow: inset 0px 1px 1px 0px #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; background: #003;
color: #99f; color: #99f;
margin: 5px; margin: 5px;
@ -550,6 +655,8 @@ input:hover {
color: #f60; color: #f60;
border: 1px solid #f60; border: 1px solid #f60;
-moz-box-shadow: inset 0px 1px 1px 0px #eef; -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 { input:active {
@ -576,6 +683,8 @@ input[type=text] {
-moz-border-radius: 4px; -moz-border-radius: 4px;
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
-moz-box-shadow: inset 1px 1px 1px 0px #000; -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 { input[type=text]:active, input[type=text]:hover {
@ -641,6 +750,8 @@ form {}
padding: 7px; padding: 7px;
background: #004; background: #004;
-moz-box-shadow: inset 0px 0px 0px 1px #009; -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 { .joblog {
@ -655,6 +766,8 @@ form {}
-khtml-border-radius: 4px; -khtml-border-radius: 4px;
text-align: justify; text-align: justify;
-moz-box-shadow: inset 0px 0px 1px 0px #eef; -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 */ overflow-x: scroll; /* Opera fix */
} }

View File

@ -79,10 +79,10 @@ div.routersummaryouter {
float: left; float: left;
width: 215px; width: 215px;
margin: 0 0 10px 20px; margin: 0 0 10px 20px;
padding: 0px 0 0 0; padding: 0;
border: 0; border: 0;
clear: left;/* fixes a bug in Opera */ clear: left;/* fixes a bug in Opera */
text-align: center; text-align: center !important;
display: block; display: block;
} }
@ -90,7 +90,7 @@ div.routersummary {
/* margin: 0px 20px 20px 0px; */ /* margin: 0px 20px 20px 0px; */
width: 175px; width: 175px;
padding: 10px; padding: 10px;
text-align: center; text-align: center !important;
border: 1px solid #000033; border: 1px solid #000033;
background: #ddf url('images/lightbluetile.png'); background: #ddf url('images/lightbluetile.png');
color: #000; color: #000;
@ -118,6 +118,82 @@ div.routersummary hr {
-moz-box-shadow: inset 0px 1px 1px 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 -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 { div.warning {
margin: 5px 20px 10px 240px; margin: 5px 20px 10px 240px;
padding: 0px 25px 20px 75px; padding: 0px 25px 20px 75px;
@ -143,6 +219,7 @@ div.main {
text-align: left; text-align: left;
color: #001; color: #001;
width: auto; width: auto;
min-width: 500px;
} }
div.main hr, hr { div.main hr, hr {
@ -216,6 +293,13 @@ div.news li {
opacity: 0.8; opacity: 0.8;
} }
div.news h4 {
border-bottom: 0px;
padding: 0;
margin: 0 0 -10px 0;
font-size: 11pt;
}
div.confignav { div.confignav {
padding: 15px 10px !important; padding: 15px 10px !important;
margin: 0 0 25px 0; margin: 0 0 25px 0;
@ -228,6 +312,7 @@ div.confignav {
font-weight: bold !important; font-weight: bold !important;
line-height: 160% !important; line-height: 160% !important;
-moz-box-shadow: inset 0px 0px 1px 0px #002; -moz-box-shadow: inset 0px 0px 1px 0px #002;
min-width: 400px;
} }
div.configure { div.configure {

View File

@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */ /** deprecated */
public final static String ID = "Monotone"; public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION; public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 8; public final static long BUILD = 9;
/** for example "-test" */ /** for example "-test" */
public final static String EXTRA = ""; public final static String EXTRA = "";
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;