From 624badfb5f7201cfc7f6d3e45a572a367a1ab74b Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Fri, 11 Nov 2011 02:50:55 +0000
Subject: [PATCH]   * Console:     - Less magic and fix img sizes, for speed
 and less artifacts while rendering     - CSS tweaks

---
 .../i2p/router/web/SummaryBarRenderer.java    |   8 +++--
 apps/routerconsole/jsp/index.jsp              |  32 +++++++++---------
 .../themes/console/light/console.css          |  27 +++++++--------
 .../themes/console/light/images/snowcamo.png  | Bin 2276 -> 2248 bytes
 4 files changed, 35 insertions(+), 32 deletions(-)

diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
index 6ec79bea80..db2ba21df5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
@@ -28,14 +28,18 @@ public class SummaryBarRenderer {
         StringBuilder buf = new StringBuilder(8*1024);
         String theme = _context.getProperty(CSSHelper.PROP_THEME_NAME, CSSHelper.DEFAULT_THEME);
         
-        buf.append("<a href=\"/\" target=\"_top\"><img src=\"")
+        // TODO - the bar would render more cleanly if we specified the img height and width here,
+        // but unfortunately the images in the different themes are different sizes.
+        // They range in height from 37 to 43 px. But there's a -2 bottom margin...
+        // So put it in a div.
+        buf.append("<div style=\"height: 36px;\"><a href=\"/\" target=\"_top\"><img src=\"")
            .append(CSSHelper.BASE_THEME_PATH)
            .append(theme)
            .append("/images/i2plogo.png\" alt=\"")
            .append(_("I2P Router Console"))
            .append("\" title=\"")
            .append(_("I2P Router Console"))
-           .append("\"></a><hr>")
+           .append("\"></a></div><hr>")
            
            .append("<h3><a href=\"/help\" target=\"_top\" title=\"")
            .append(_("I2P Router Help &amp; FAQ"))
diff --git a/apps/routerconsole/jsp/index.jsp b/apps/routerconsole/jsp/index.jsp
index 59cfc7dddc..33db27fa70 100644
--- a/apps/routerconsole/jsp/index.jsp
+++ b/apps/routerconsole/jsp/index.jsp
@@ -36,22 +36,22 @@
  <jsp:useBean class="net.i2p.router.web.ContentHelper" id="contenthelper" scope="request" />
  <div class="welcome">
   <div class="langbox">
-    <a href="/?lang=en&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=us" title="English" alt="English"></a> 
-    <a href="/?lang=ar&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=lang_ar" title="عربية" alt="عربية"></a>
-    <a href="/?lang=zh&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=cn" title="中文" alt="中文"></a> 
-    <a href="/?lang=da&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=dk" title="Danish" alt="Danish"></a> 
-    <a href="/?lang=de&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> 
-    <a href="/?lang=es&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=es" title="Español" alt="Español"></a> 
-    <a href="/?lang=fi&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=fi" title="Suomi" alt="Suomi"></a> 
-    <a href="/?lang=fr&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=fr" title="Français" alt="Français"></a><br>
-    <a href="/?lang=it&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=it" title="Italiano" alt="Italiano"></a> 
-    <a href="/?lang=nl&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=nl" title="Nederlands" alt="Nederlands"></a> 
-    <a href="/?lang=pl&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=pl" title="Polski" alt="Polski"></a> 
-    <a href="/?lang=pt&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=pt" title="Português" alt="Português"></a> 
-    <a href="/?lang=ru&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=ru" title="Русский" alt="Русский"></a> 
-    <a href="/?lang=sv&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=se" title="Svenska" alt="Svenska"></a>
-    <a href="/?lang=uk&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=ua" title="Ukrainian" alt="Ukrainian"></a>
-    <a href="/?lang=vi&amp;consoleNonce=<%=consoleNonce%>"><img style="padding: 0 2px;" src="/flags.jsp?c=vn" title="Tiếng Việt" alt="Tiếng Việt"></a>
+    <a href="/?lang=en&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=us" title="English" alt="English"></a> 
+    <a href="/?lang=ar&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=lang_ar" title="عربية" alt="عربية"></a>
+    <a href="/?lang=zh&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=cn" title="中文" alt="中文"></a> 
+    <a href="/?lang=da&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=dk" title="Danish" alt="Danish"></a> 
+    <a href="/?lang=de&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> 
+    <a href="/?lang=es&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=es" title="Español" alt="Español"></a> 
+    <a href="/?lang=fi&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=fi" title="Suomi" alt="Suomi"></a> 
+    <a href="/?lang=fr&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=fr" title="Français" alt="Français"></a><br>
+    <a href="/?lang=it&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=it" title="Italiano" alt="Italiano"></a> 
+    <a href="/?lang=nl&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=nl" title="Nederlands" alt="Nederlands"></a> 
+    <a href="/?lang=pl&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=pl" title="Polski" alt="Polski"></a> 
+    <a href="/?lang=pt&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=pt" title="Português" alt="Português"></a> 
+    <a href="/?lang=ru&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ru" title="Русский" alt="Русский"></a> 
+    <a href="/?lang=sv&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=se" title="Svenska" alt="Svenska"></a>
+    <a href="/?lang=uk&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=ua" title="Ukrainian" alt="Ukrainian"></a>
+    <a href="/?lang=vi&amp;consoleNonce=<%=consoleNonce%>"><img height="11" width="16" style="padding: 0 2px;" src="/flags.jsp?c=vn" title="Tiếng Việt" alt="Tiếng Việt"></a>
   </div>
   <a name="top"></a>
   <h2><%=intl._("Welcome to I2P")%></h2>
diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css
index 73e57a9e19..2e9b0500b2 100644
--- a/installer/resources/themes/console/light/console.css
+++ b/installer/resources/themes/console/light/console.css
@@ -5,10 +5,9 @@
 body {
      margin: 10px 0px -10px 10px;
      text-align: center;
-     background: #ffe url('images/snowcamo.png');
      color: #000;
      font: 10pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background: #99f url('images/magic.png') center bottom;
+     background: #9696ff url('images/snowcamo.png');
 }
 
 .hide {
@@ -97,10 +96,10 @@ div.routersummary {
      color: #000;
      font-size: 8pt;
      clear: left;/* fixes a bug in Opera */
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #ffe url('images/magic.png') center bottom;
+     -moz-border-radius: 8px;
+     -khtml-border-radius: 8px;
+     border-radius: 8px;
+     background: #f0f0f0;
      -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
      -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
      box-shadow: inset 0px 0px 1px 1px #bbf;
@@ -162,7 +161,7 @@ div.routersummary h4 {
      letter-spacing: 0.02em;
      margin: -6px -6px -7px !important;
      padding: 3px 3px 5px 3px;
-     background: #ddf url(images/magic.png);
+     background: #dbdbf5;
      text-transform: capitalize;
      text-decoration: none !important;
      color: #2b2;
@@ -312,7 +311,6 @@ div.sorry hr {
 div.main {
      margin: 10px 10px 20px 207px;
      padding: 0 15px 15px 15px;
-     background: #ffe;
      text-align: left;
      color: #001;
      width: auto;
@@ -324,7 +322,8 @@ div.main {
      -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
      -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
      box-shadow: inset 0px 0px 1px 1px #bbf;
-     background: #ffe url('images/magic.png') center bottom;}
+     background: #f0f0f0;
+}
 
 div.main hr, hr {
      color: #113;
@@ -358,7 +357,7 @@ div.news {
      -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
      -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
      box-shadow: inset 0px 0px 1px 1px #bbf;
-     background: #ffe url('images/magic.png') center bottom;
+     background: #f0f0f0;
      min-width: 490px;
 }
 
@@ -716,11 +715,11 @@ h1 {
      -khtml-box-shadow: inset 0px 0px 1px 1px #bbf;
      box-shadow: inset 0px 0px 1px 1px #bbf;
      white-space: normal;
-     background: #ffe url('images/magic.png') center center repeat;
+     background: #f0f0f0;
      border: 1px solid #447;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
+     border-radius: 8px 8px 4px 4px;
+     -moz-border-radius: 8px 8px 4px 4px;
+     -khtml-border-radius: 8px 8px 4px 4px;
      min-width: 500px;
 }
 
diff --git a/installer/resources/themes/console/light/images/snowcamo.png b/installer/resources/themes/console/light/images/snowcamo.png
index 4c645d52e207b79f5f89b8666f2ff25317894caa..a536c222542846f4df3949f666f745c9c3aad927 100644
GIT binary patch
delta 2236
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
KMNUMnLSTYw%2z%B

delta 2264
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

-- 
GitLab