From fe394b0b46a1549b47623ead1458f382d44d4983 Mon Sep 17 00:00:00 2001 From: z3d <z3d@mail.i2p> Date: Tue, 21 Jul 2009 04:33:13 +0000 Subject: [PATCH] Add a preliminary undercoat to I2PSnark UI. --- .../src/org/klomp/snark/SnarkManager.java | 2 +- .../org/klomp/snark/web/I2PSnarkServlet.java | 93 ++------------ apps/i2psnark/snark.css | 93 ++++++++++++++ installer/resources/themes/console/snark.css | 114 ++++++++++++++++++ 4 files changed, 221 insertions(+), 81 deletions(-) create mode 100644 apps/i2psnark/snark.css create mode 100644 installer/resources/themes/console/snark.css diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 733c54fdff..ccdfb14608 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -702,7 +702,7 @@ public class SnarkManager implements Snark.CompleteListener { // , "mastertracker", "http://VzXD~stRKbL3MOmeTn1iaCQ0CFyTmuFHiKYyo0Rd~dFPZFCYH-22rT8JD7i-C2xzYFa4jT5U2aqHzHI-Jre4HL3Ri5hFtZrLk2ax3ji7Qfb6qPnuYkuiF2E2UDmKUOppI8d9Ye7tjdhQVCy0izn55tBaB-U7UWdcvSK2i85sauyw3G0Gfads1Rvy5-CAe2paqyYATcDmGjpUNLoxbfv9KH1KmwRTNH6k1v4PyWYYnhbT39WfKMbBjSxVQRdi19cyJrULSWhjxaQfJHeWx5Z8Ev4bSPByBeQBFl2~4vqy0S5RypINsRSa3MZdbiAAyn5tr5slWR6QdoqY3qBQgBJFZppy-3iWkFqqKgSxCPundF8gdDLC5ddizl~KYcYKl42y9SGFHIukH-TZs8~em0~iahzsqWVRks3zRG~tlBcX2U3M2~OJs~C33-NKhyfZT7-XFBREvb8Szmd~p66jDxrwOnKaku-G6DyoQipJqIz4VHmY9-y5T8RrUcJcM-5lVoMpAAAA.i2p/announce.php=http://tracker.mastertracker.i2p/" // , "Galen", "http://5jpwQMI5FT303YwKa5Rd38PYSX04pbIKgTaKQsWbqoWjIfoancFdWCShXHLI5G5ofOb0Xu11vl2VEMyPsg1jUFYSVnu4-VfMe3y4TKTR6DTpetWrnmEK6m2UXh91J5DZJAKlgmO7UdsFlBkQfR2rY853-DfbJtQIFl91tbsmjcA5CGQi4VxMFyIkBzv-pCsuLQiZqOwWasTlnzey8GcDAPG1LDcvfflGV~6F5no9mnuisZPteZKlrv~~TDoXTj74QjByWc4EOYlwqK8sbU9aOvz~s31XzErbPTfwiawiaZ0RUI-IDrKgyvmj0neuFTWgjRGVTH8bz7cBZIc3viy6ioD-eMQOrXaQL0TCWZUelRwHRvgdPiQrxdYQs7ixkajeHzxi-Pq0EMm5Vbh3j3Q9kfUFW3JjFDA-MLB4g6XnjCbM5J1rC0oOBDCIEfhQkszru5cyLjHiZ5yeA0VThgu~c7xKHybv~OMXION7V8pBKOgET7ZgAkw1xgYe3Kkyq5syAAAA.i2p/tr/announce.php=http://galen.i2p/tr/" , "crstrack", "http://b4G9sCdtfvccMAXh~SaZrPqVQNyGQbhbYMbw6supq2XGzbjU4NcOmjFI0vxQ8w1L05twmkOvg5QERcX6Mi8NQrWnR0stLExu2LucUXg1aYjnggxIR8TIOGygZVIMV3STKH4UQXD--wz0BUrqaLxPhrm2Eh9Hwc8TdB6Na4ShQUq5Xm8D4elzNUVdpM~RtChEyJWuQvoGAHY3ppX-EJJLkiSr1t77neS4Lc-KofMVmgI9a2tSSpNAagBiNI6Ak9L1T0F9uxeDfEG9bBSQPNMOSUbAoEcNxtt7xOW~cNOAyMyGydwPMnrQ5kIYPY8Pd3XudEko970vE0D6gO19yoBMJpKx6Dh50DGgybLQ9CpRaynh2zPULTHxm8rneOGRcQo8D3mE7FQ92m54~SvfjXjD2TwAVGI~ae~n9HDxt8uxOecAAvjjJ3TD4XM63Q9TmB38RmGNzNLDBQMEmJFpqQU8YeuhnS54IVdUoVQFqui5SfDeLXlSkh4vYoMU66pvBfWbAAAA.i2p/tracker/announce.php=http://crstrack.i2p/tracker/" - , "Postman2", "http://tracker2.postman.i2p/announce.php=http://tracker2.postman.i2p/" + , "PaTracker", "http://tracker2.postman.i2p/announce.php=http://tracker2.postman.i2p/" }; /** comma delimited list of name=announceURL=baseURL for the trackers to be displayed */ diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 85497d4f73..40f5e61cc1 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -83,12 +83,9 @@ public class I2PSnarkServlet extends HttpServlet { out.write("<meta http-equiv=\"refresh\" content=\"60;" + req.getRequestURI() + peerString + "\">\n"); out.write(HEADER); - out.write("<table border=\"0\" width=\"100%\">\n"); - out.write("<tr><td width=\"20%\" class=\"snarkTitle\" valign=\"top\" align=\"left\">"); - out.write("I2PSnark<br />\n"); - out.write("<table border=\"0\" width=\"100%\">\n"); - out.write("<tr><td><a href=\"" + req.getRequestURI() + peerString + "\" class=\"snarkRefresh\">Refresh</a>\n"); - out.write("<td><a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\">Forum</a>\n"); +out.write("<div class=\"page\"><table border=\"0\" width=\"100%\"><tr><td align=\"center\" valign=\"top\" class=\"snarkTitle\">I2PSnark<br>Anonymous BitTorrent Client for I2P<hr /></hr></td></tr>"); + out.write("<tr><td align=\"center\"><a href=\"" + req.getRequestURI() + peerString + "\" class=\"snarkRefresh\">Refresh</a>"); + out.write(" | <a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\">Forum</a>\n"); int count = 0; Map trackers = _manager.getTrackers(); for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) { @@ -100,19 +97,19 @@ public class I2PSnarkServlet extends HttpServlet { continue; baseURL = baseURL.substring(e + 1); if (count++ % 2 == 0) - out.write("<tr>"); - out.write("<td><a href=\"" + baseURL + "\" class=\"snarkRefresh\">" + name + "</a>\n"); + out.write(""); + out.write(" | <a href=\"" + baseURL + "\" class=\"snarkRefresh\">" + name + "</a>"); } if (count % 2 == 1) - out.write("<td> \n"); + out.write(""); out.write("</table>\n"); - out.write("</td><td width=\"80%\" class=\"snarkMessages\" valign=\"top\" align=\"left\"><pre>"); + out.write("<div class=\"snarkMessages\"><table><tr><td valign=\"top\" align=\"left\"><pre>"); List msgs = _manager.getMessages(); for (int i = msgs.size()-1; i >= 0; i--) { String msg = (String)msgs.get(i); out.write(msg + "\n"); } - out.write("</pre></td></tr></table>\n"); + out.write("</pre></td></tr></table></div>\n"); List snarks = getSortedSnarks(req); String uri = req.getRequestURI(); @@ -791,72 +788,8 @@ public class I2PSnarkServlet extends HttpServlet { "<head>\n" + "<title>I2PSnark - anonymous bittorrent</title>\n"; - private static final String HEADER = "<style>\n" + - "body {\n" + - " background-color: #C7CFB4;\n" + - "}\n" + - ".snarkTitle {\n" + - " text-align: left;\n" + - " float: left;\n" + - " margin: 0px 0px 5px 5px;\n" + - " display: inline;\n" + - " font-size: 16pt;\n" + - " font-weight: bold;\n" + - "}\n" + - ".snarkRefresh {\n" + - " font-size: 10pt;\n" + - "}\n" + - ".snarkMessages {\n" + - " border: none;\n" + - " background-color: #CECFC6;\n" + - " font-family: monospace;\n" + - " font-size: 10pt;\n" + - " font-weight: 100;\n" + - " width: 100%;\n" + - " text-align: left;\n" + - " margin: 0px 0px 0px 0px;\n" + - " border: 0px;\n" + - " padding: 5px;\n" + - " border-width: 0px;\n" + - " border-spacing: 0px;\n" + - "}\n" + - "table {\n" + - " margin: 0px 0px 0px 0px;\n" + - " border: 0px;\n" + - " padding: 0px;\n" + - " border-width: 0px;\n" + - " border-spacing: 0px;\n" + - "}\n" + - "th {\n" + - " background-color: #C7D5D5;\n" + - " padding: 0px 7px 0px 3px;\n" + - "}\n" + - "td {\n" + - " padding: 0px 7px 0px 3px;\n" + - "}\n" + - ".snarkTorrentEven {\n" + - " background-color: #E7E7E7;\n" + - "}\n" + - ".snarkTorrentOdd {\n" + - " background-color: #DDDDCC;\n" + - "}\n" + - ".snarkNewTorrent {\n" + - " font-size: 10pt;\n" + - "}\n" + - ".snarkAddInfo {\n" + - " font-size: 10pt;\n" + - "}\n" + - ".snarkConfigTitle {\n" + - " font-size: 12pt;\n" + - " font-weight: bold;\n" + - "}\n" + - ".snarkConfig {\n" + - " font-size: 10pt;\n" + - "}\n" + - "</style>\n" + - "</head>\n" + - "<body>\n"; - + private static final String HEADER = "<link href=\"../themes/console/snark.css\" rel=\"stylesheet\" type=\"text/css\" />"; + private static final String TABLE_HEADER = "<table border=\"0\" class=\"snarkTorrents\" width=\"100%\" cellpadding=\"0 10px\">\n" + "<thead>\n" + @@ -871,12 +804,12 @@ public class I2PSnarkServlet extends HttpServlet { " <th align=\"right\" valign=\"top\">Up Rate</th>\n"; private static final String TABLE_EMPTY = "<tr class=\"snarkTorrentEven\">" + - "<td class=\"snarkTorrentEven\" align=\"left\"" + - " valign=\"top\" colspan=\"8\">No torrents</td></tr>\n"; + "<td class=\"snarkTorrentEven\" align=\"center\"" + + " valign=\"top\" colspan=\"8\"><i>No torrents</i></td></tr>\n"; private static final String TABLE_FOOTER = "</table>\n"; - private static final String FOOTER = "</body></html>"; + private static final String FOOTER = "</div></div></body></html>"; /** inner class, don't bother reindenting */ private static class FetchAndAdd implements Runnable { diff --git a/apps/i2psnark/snark.css b/apps/i2psnark/snark.css new file mode 100644 index 0000000000..40817a68d9 --- /dev/null +++ b/apps/i2psnark/snark.css @@ -0,0 +1,93 @@ +body { + background-color: #eef; + color:#001; + font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; +} + +.snarkTitle { + text-align: left; + float: left; + margin: 0px 0px 5px 5px; + display: inline; + font-size: 16pt; + font-weight: bold; +} +.snarkRefresh { + font-size: 10pt; +} +.snarkMessages { + border: none; + background-color: #ddf; + font-family: monospace; + font-size: 10pt; + font-weight: 100; + width: 100%; + text-align: left; + margin: 0px 0px 15px 15px; + border: 0px; + padding: 5px; + border-width: 0px; + border-spacing: 0px; + -moz-border-radius: 4px; + -khtml-border-radius: 4px; + border-radius: 4px; + border: 1px solid #001; +} +table { + margin: 0px 0px 0px 0px; + border: 0px; + padding: 0px; + border-width: 0px; + border-spacing: 0px; +} +th { + background-color: #C7D5D5; + padding: 5px; + font-size: 9pt; +} +td { + padding: 5px; +} +.snarkTorrentEven { + background-color: #E7E7E7; +} +.snarkTorrentOdd { + background-color: #DDDDCC; +} +.snarkNewTorrent { + font-size: 10pt; +} +.snarkAddInfo { + font-size: 10pt; + line-height: 130% !important; +} +.snarkConfigTitle { + font-size: 11pt; + font-weight: bold; +} +.snarkConfig { + font-size: 10pt; +} + +.page { + background-color: #fff; + color:#001; + margin: 20px; + padding: 20px 20px 0 20px; + -moz-border-radius: 4px; + -khtml-border-radius: 4px; + border-radius: 4px; + border: 1px solid #001; + font-size: 9pt !important; + line-height: 160% !important; + -moz-box-shadow: inset 0px 0px 1px 0px #002; + text-align: center; +} + +form { + line-height: 300% +} + +p { + line-height: 150% +} \ No newline at end of file diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css new file mode 100644 index 0000000000..a6a66852ab --- /dev/null +++ b/installer/resources/themes/console/snark.css @@ -0,0 +1,114 @@ +body { + background-color: #eef; + color:#001; + font-family:"Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif; + font-size: 9pt; +} + +/* +.snarkTitle { + text-align: left; + float: left; + margin: 0px 0px 5px 5px; + display: inline; + font-size: 16pt; + font-weight: bold; +} +*/ + +.snarkTitle { + font-size: 16pt; + font-weight: bold; + text-align: center; +} + +.snarkRefresh { + font-size: 9pt; +} + +.snarkMessages { + border: none; + background-color: #9f9; + font-family: monospace; + font-size: 10pt; + font-weight: bold; +/* width: 100%; */ + text-align: left; + margin: 0 0 15px 0; + border: 0px; + padding: 5px; + border-width: 0px; + border-spacing: 0px; + -moz-border-radius: 4px; + -khtml-border-radius: 4px; + border-radius: 4px; + border: 2px inset #770; + overflow-x: scroll; +} + +table { + margin: 0px 0px 20px 0px; + border: 0px; + padding: 0px; + border-width: 0px; + border-spacing: 0px; +} +th { + background-color: #C7D5D5; + padding: 5px; + font-size: 9pt; +} +td { + padding: 5px; +} +.snarkTorrentEven { + background-color: #bbf; + font-size: 8pt; +} +.snarkTorrentOdd { + background-color: #ddf; + font-size: 8pt; +} +.snarkNewTorrent { + font-size: 10pt; +} +.snarkAddInfo { + font-size: 10pt; + line-height: 130% !important; +} +.snarkConfigTitle { + font-size: 11pt; + font-weight: bold; + text-decoration: underline; +} + +.snarkConfig { + font-size: 10pt; +} + +.page { + background-color: #fff; + color:#001; + margin: 20px; + padding: 20px 20px 0 20px; + -moz-border-radius: 4px; + -khtml-border-radius: 4px; + border-radius: 4px; + border: 1px solid #001; + font-size: 9pt !important; + line-height: 160% !important; + -moz-box-shadow: inset 0px 0px 1px 0px #002; + text-align: center; +} + +form { + line-height: 300% +} + +p { + line-height: 150% +} + +a:link { + padding 5px; +} \ No newline at end of file -- GitLab