From 321d88e795fa8d753ee79a7ed45355645aaf90ee Mon Sep 17 00:00:00 2001 From: z3d <z3d@mail.i2p> Date: Sun, 19 Sep 2010 03:20:43 +0000 Subject: [PATCH] I2PSnark: Add icons to relevant parts of the UI; rejigging of UI to minimise space wastage; create new snark directory in console/themes/ .. snark dir will need to be ignored when router scans directory for theme dirs. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 40 +++++++++--------- .../themes/console/images/snark_add.png | Bin 3521 -> 0 bytes .../themes/console/images/snark_create.png | Bin 1445 -> 0 bytes .../{snark_favicon.ico => snark/favicon.ico} | Bin .../console/snark/images/arrow_refresh.png | Bin 0 -> 631 bytes .../themes/console/snark/images/config.png | Bin 0 -> 584 bytes .../themes/console/snark/images/create.png | Bin 0 -> 570 bytes .../themes/console/snark/images/details.png | Bin 0 -> 778 bytes .../themes/console/snark/images/eta.png | Bin 0 -> 561 bytes .../console/{ => snark}/images/graytile.png | Bin .../themes/console/{ => snark}/images/hat.png | Bin .../themes/console/snark/images/snark_add.png | Bin 0 -> 3562 bytes .../console/snark/images/snark_create.png | Bin 0 -> 1087 bytes .../{ => snark}/images/snark_thead.png | Bin .../console/{ => snark}/images/snarknav.png | Bin .../{ => snark}/images/snarknav_on.png | Bin .../themes/console/{ => snark}/snark.css | 0 17 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 installer/resources/themes/console/images/snark_add.png delete mode 100644 installer/resources/themes/console/images/snark_create.png rename installer/resources/themes/console/{snark_favicon.ico => snark/favicon.ico} (100%) create mode 100644 installer/resources/themes/console/snark/images/arrow_refresh.png create mode 100644 installer/resources/themes/console/snark/images/config.png create mode 100644 installer/resources/themes/console/snark/images/create.png create mode 100644 installer/resources/themes/console/snark/images/details.png create mode 100644 installer/resources/themes/console/snark/images/eta.png rename installer/resources/themes/console/{ => snark}/images/graytile.png (100%) rename installer/resources/themes/console/{ => snark}/images/hat.png (100%) create mode 100644 installer/resources/themes/console/snark/images/snark_add.png create mode 100644 installer/resources/themes/console/snark/images/snark_create.png rename installer/resources/themes/console/{ => snark}/images/snark_thead.png (100%) rename installer/resources/themes/console/{ => snark}/images/snarknav.png (100%) rename installer/resources/themes/console/{ => snark}/images/snarknav_on.png (100%) rename installer/resources/themes/console/{ => snark}/snark.css (100%) 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 cfe5c54571..3633f9a4ed 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -169,7 +169,7 @@ public class I2PSnarkServlet extends Default { PrintWriter out = resp.getWriter(); out.write("<html>\n" + - "<head><link rel=\"shortcut icon\" href=\"/themes/console/snark_favicon.ico\">\n" + + "<head><link rel=\"shortcut icon\" href=\"/themes/console/snark/favicon.ico\">\n" + "<title>"); out.write(_("I2PSnark - Anonymous BitTorrent Client")); out.write("</title>\n"); @@ -190,7 +190,7 @@ public class I2PSnarkServlet extends Default { out.write("<div class=\"snarknavbar\"><a href=\"" + req.getRequestURI() + peerString + "\" title=\""); out.write(_("Refresh page")); out.write("\" class=\"snarkRefresh\">"); - out.write(_("I2PSnark")); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/arrow_refresh.png\"> I2PSnark")); out.write("</a> <a href=\"http://forum.i2p/viewforum.php?f=21\" class=\"snarkRefresh\" target=\"_blank\">"); out.write(_("Forum")); out.write("</a>\n"); @@ -253,15 +253,15 @@ public class I2PSnarkServlet extends Default { out.write("</th>\n<th align=\"left\">"); out.write(_("Torrent")); out.write("</th>\n<th align=\"center\">"); - out.write(_("ETA")); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/eta.png\" title=\"Estimated Download Time\">ETA")); out.write("</th>\n<th align=\"center\">"); - out.write(_("RX")); + out.write(_("<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Data Downloaded\">RX")); out.write("</th>\n<th align=\"center\">"); - out.write(_("TX")); + out.write(_("<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"Data Uploaded\">TX")); out.write("</th>\n<th align=\"center\">"); - out.write(_("RX Rate")); + out.write(_("<img border=\"0\" src=\"/themes/console/images/inbound.png\" title=\"Download Speed\">Rate")); out.write("</th>\n<th align=\"center\">"); - out.write(_("TX Rate")); + out.write(_("<img border=\"0\" src=\"/themes/console/images/outbound.png\" title=\"Upload Speed\">Rate")); out.write("</th>\n"); out.write("<th align=\"center\">"); @@ -745,10 +745,10 @@ public class I2PSnarkServlet extends Default { if (e < 0) continue; baseURL = baseURL.substring(e + 1); - out.write(" » <a href=\"" + baseURL + "details.php?dllist=1&filelist=1&info_hash="); + out.write(" <a href=\"" + baseURL + "details.php?dllist=1&filelist=1&info_hash="); out.write(TrackerClient.urlencode(snark.meta.getInfoHash())); - out.write("\" title=\"" + name + ' ' + _("Tracker") + "\">"); - out.write(_("Details")); + out.write("\" title=\"" + name + ' ' + _("Tracker") + "\" target=\"_blank\">"); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/details.png\">")); out.write("</a>"); break; } @@ -924,13 +924,13 @@ public class I2PSnarkServlet extends Default { out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" >\n"); out.write("<input type=\"hidden\" name=\"action\" value=\"Add\" >\n"); out.write("<div class=\"addtorrentsection\"><span class=\"snarkConfigTitle\">"); - out.write(_("Add Torrent")); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/add.png\">Add Torrent")); out.write("</span><hr>\n<table border=\"0\"><tr><td>"); out.write(_("From URL")); out.write(":<td><input type=\"text\" name=\"newURL\" size=\"80\" value=\"" + newURL + "\" > \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) - //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n"); - out.write("<tr><td> <td><input type=\"submit\" value=\""); + //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>"); + out.write("<input type=\"submit\" value=\""); out.write(_("Add torrent")); out.write("\" name=\"foo\" ><br>\n"); out.write("<tr><td> <td><span class=\"snarkAddInfo\">"); @@ -955,7 +955,7 @@ public class I2PSnarkServlet extends Default { out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" >\n"); out.write("<input type=\"hidden\" name=\"action\" value=\"Create\" >\n"); out.write("<span class=\"snarkConfigTitle\">"); - out.write(_("Create Torrent")); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/create.png\">Create Torrent")); out.write("</span><hr>\n<table border=\"0\"><tr><td>"); //out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n"); out.write(_("Data to seed")); @@ -979,12 +979,12 @@ public class I2PSnarkServlet extends Default { out.write("\t<option value=\"" + announceURL + "\">" + name + "</option>\n"); } out.write("</select>\n"); - out.write(_("or")); - out.write("<tr><td> <td><input type=\"text\" name=\"announceURLOther\" size=\"50\" value=\"http://\" " + + out.write(_("or ")); + out.write("<input type=\"text\" name=\"announceURLOther\" size=\"50\" value=\"http://\" " + "title=\""); out.write(_("Specify custom tracker announce URL")); out.write("\" > "); - out.write("<tr><td> <td><input type=\"submit\" value=\""); + out.write("<input type=\"submit\" value=\""); out.write(_("Create torrent")); out.write("\" name=\"foo\" ></table>\n"); out.write("</form>\n</span></div>"); @@ -1003,7 +1003,7 @@ public class I2PSnarkServlet extends Default { out.write("<input type=\"hidden\" name=\"nonce\" value=\"" + _nonce + "\" >\n"); out.write("<input type=\"hidden\" name=\"action\" value=\"Save\" >\n"); out.write("<span class=\"snarkConfigTitle\">"); - out.write(_("Configuration")); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/config.png\">Configuration")); out.write("</span><hr>\n"); out.write("<table border=\"0\"><tr><td>"); out.write(_("Data directory")); @@ -1130,7 +1130,7 @@ public class I2PSnarkServlet extends Default { private void writeConfigLink(PrintWriter out) throws IOException { out.write("<div class=\"configsection\"><span class=\"snarkConfig\">\n"); out.write("<span class=\"snarkConfigTitle\"><a href=\"configure\">"); - out.write(_("Configuration")); + out.write(_("<img border=\"0\" src=\"/themes/console/snark/images/config.png\">Configuration")); out.write("</a></span></span></div>\n"); } @@ -1203,7 +1203,7 @@ public class I2PSnarkServlet extends Default { return buf.toString(); } - private static final String HEADER = "<link href=\"/themes/console/snark.css\" rel=\"stylesheet\" type=\"text/css\" >"; + private static final String HEADER = "<link href=\"/themes/console/snark/snark.css\" rel=\"stylesheet\" type=\"text/css\" >"; private static final String TABLE_HEADER = "<table border=\"0\" class=\"snarkTorrents\" width=\"100%\" cellpadding=\"0 10px\">\n" + diff --git a/installer/resources/themes/console/images/snark_add.png b/installer/resources/themes/console/images/snark_add.png deleted file mode 100644 index e11574930b8d3c214644a006583a1c0edf4c787a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3521 zcmeAS@N?(olHy`uVBq!ia0y~yV8{hw4kiW$29;SAj0_A6oCO|{#S9F5he4R}c>anM z1_s_@PZ!6KiaBrRzMORXnBej1w1No_HnwjG3fs1%H^p;WjAr;#?>L3^55Aveei9ti zryV-&Y1bo<sH~lP93IV3ZmxD{h|%K^ywmdk(If?ire^u-UDbRE7y0Y|G4kDt+VPU< zPydSp8|7pzt}SLhURClSqMuLZ^~J_yTdRUK?(BVE(ImGl;|@@|9#?Q|#p|Da`r<a# zi6ysY2<%<@{hZ%yz1W?zo@i8hMyz{#A~oH}d!As|_QgN=56nKp%E9*N)!(NlAAerF zd2w6Uo*>?WDQaeWW&G@7JUcYkOc1}+(2{T5G*O~}kEwCNy5gUocRzga<ly!6x%;;M zKD7SQI!mt(`MR3ZIr8lHeM2HNo^`S`Fz7Y0Dy}vbb=X;xq_jZt&9naF_P6V{->&-e zW?|whYrEE<iSOstZr`lmt-y8rdgF%#)@kP-G6(JqoF#1_U&A$pv0Ltvi!XPvPmb1W z)8+$OsYk_GUh7?FlW$XSDd*=YUjFUJ&%5;rj?uNnR`CWWvzUL{P32!SF>k;1%(D{Z z76wcai@9^YY+T68R^0OOu)BKvt`D!b?%s2}+_u_4h^<F$Gq2*ZNx#4IwDhi1*kuwO zd4Fjl*Disk#5MJD7UvHAcRG46VE5+ZufNYPk+tsIo+clA*>8>Cjs^13V$UBv{_*P; zpVLm;Sw<I}^A$KaB+D#{pYqM{nDXS)<u@l?C#&tW?sF`eR;apV_UG#5-+$R=hN|CP z*VioZcR{_3%k&GEoU*ys_OZWL?wjIOu4${;s=zp@FgD>?uu6-9%*2--LjV3hcyUg= z>2t=<oA2f9DnBT!TJTA;!&K3sfoD<8G)30rEw365?we%tm?N-1`21Jtp1Zq0_s=n! zSCAv=_UNg?#sfU_Ph87a$(%eV_<HPf!+l$%vf{hv+;z=Xnx|Ab`)#H86`tcK1iP+C zggc0ovnZLQ_1mmHyYmLqDW^B)?>SCA`*k+#$h00c_K0IU_6N-V+@GD~9dyuDr2Acy z)Z62+%z<l~b}WyX-E%!MCvejo38g!d-aS`l*gi}0-ZkkylTvG`=C8i1A@?R5pVV<! zF7VhYuB%v{cdO<98S5`*>CJS!<DT?1>x}(0hco8+Q^Jz{szYXqnue@z%_`S)xytZ< zlA+V)uU2)sPCnD~FGpWoBX#ER;qZA5XUsZlmhO{Qke1pX$8}-CwU4PCt2GvF&<^Kr z+naP&ul-*|*qzI>^(%~e8cmZTayMVT<a_zWmMoivxt6=W9g_3AVtSFML)u=V)LAFp z(zQd|A*&&JXYL8fo;kc+dpNwMdAu9azV(*`+gsY_m7d|X+vRuF(yK}S|HtkHHD~R- za$H#qT2m@kU)a4_X4&V`T2I*v(FL#9<xe?cELPU2u;AU3EUse-2K(yk{(SgY>$IwR zXP3;|hd*Au&6k?mU6IV*R$-y5RJZ)tv<^xAkmrXMKJ72$idCLdR(M)O<JL^WfMV94 z**j#m>*>2szWM0r>*G@c!=6<9ea+sh#3FUROTzQobW^cYQ}W~jHyo@f4ZD0Y!1lte z3tfGaWcu<V5?Gj$n>rn9j~x_uaE<Wex$$IP_7_`zyIKkRU%MV9M2hxZJ{a(Wr~J## z#|7Kg#jOuE3_bJvh(MBFw~B)QwqFW7jyqDf-kMcu%GO`RqVwl3E8Du_e#yVDwZFeO z^17sli+z34v2V`>FD0g(U+w6!>aSSvQ5%<*tnB>;$J8JH{Cf4r3U`O>K$i>);Wnn@ zC2~^}Oy-1JSBUnV`7X2l(H~aMk6SKhXFkl2<GGMo>gOiX=d*hC_Q17k55C-5Tb7f! z__$!2XX%40iC4BR7qtvqd3~O+!xfI7mtTkL`tqL=yqS6{j_oM3TA10a+j2`km0M?( z-`*9-XXv|kvPbc)S9`5$O_tBQ_28sa<uiw?K5}-ugTLl}ablIeEHU|mSWH6S#)K&? z!nYfC%6zB^yO<yH@I=#0UI)qQqOvfV)BVlN=lfT3S-h5e&Qzl5GO<}Bp4VsImvcpr zJ6>&AG^twaqUWABDygEKdpQl0&&9XZ_lH?;Q<hccPfI(oN;h_i!<qENw{!e*Hm6D) zd;4kC+fN@vl7wU*b<Lcmo|0%TzCe-R&@$o&bBe&`$E)3&m-ef>NBj~y;W$NKc8Y02 z#Dkm7TQ#<qm*$={tnIiHy)@+XW0s>KhV7>Of?NXK(`Hm$eQM+R_uiN0t{YtQvrD5S z?po#KoGx7XDJ@%R!_vnrGq<MwEYmwJ`19;*T|;)mzhCnjI2cl2GYLB7u`6B)lPMNf z>Js>@F1-E`7t;x4fm63spHJ9ymo3TCG9+TfqPM@!hB>zcb)3?i>U2g{VA|Zn+XSv} zxv~A)w7<5Vyl1W-oOD_5o7OZ(kyGn~w2$cD+r6*U{@o;AE$!*M6-7F{rY%ls-QLQv zy*a|*_z#V(OMZMkGIP?6O_{4^$av;(8UA<O-niqIir|{pF*jXIkIa;2`l8jr)hhJ8 zYO$)=^2n9X=EyC2W3DZF|D0a-sp=_@o+)<8xSS}9_7gSVe&niMq3sdN^6gePx2{rt zujv$$ZK5G?`ER&sl)}yWsjBOEb+UB>b$*D?`4OXfZpPfQZ)&PrOP;OlEDTWWQaW-b z;PLaA#j0^z*%oc$+_YY-vg78*&#ddcr&?@_zL?6gzvfqgrDW{w%|{MSJt}r${wfUz z9kXMMMK7!LW{K(sPH}44Dv%vMwJP_7*o%$=zyH79JzwfO?cytmhc{+7Jl?i6*_NsB znq`-U#0;64bDzFi;}o-Q;i~&Lt_XQ6Oe^5|=J!T}&uDMm@*VfpRvp?{dquuhW(r^L z8C!R|MNb=T{jUEvshF=PKl|=``ItGg?oJg*PF-N`Uuf1g!?X9Y%k762)4%km?ROV5 z<JS9svt)_p)gxQiKbtJPS$a?8OX0^;oy&h+escf%y(=nhu1Vhe)4wQ9le+XvW#5gf zOnX(!BN!(ZDss=BruZg7{OGc+siAXZ0u1Bs*Vp_zeZOwg%EztY^WB;cR~6ZAWwVgt zoWOnb{&e=(%Q3EDY=(Rnob%1TESq$*Y3C=w+&!PvPqUw0?XDv`@x_eq9^rPz0>X0V z{U)4?74W^>;=m)*R$;()q^bD9-o>)lvNi9T=-u1%=eqs<b5C!!hWm0k)D^6(JXh%G z)W&eAp?X1fW=b@t;b|7vf{#|KFPP2Slrtms#4_(_PQ^V-1?MIm7I64D=kteI@AB@y zdUwg*ZPM1?KfkX(KK<~;2d6eZ*R)vY5+1<3wadA6he&kL{250URkaEzS<MqnlY4z& zM#ka?LIM1Vyz}a-1AlIae)@36gvp<ce>N0E^-KG`{@DC`PKDAQgUNwf;$o9$a;$%R z{cyF~60K$pFDCCruM_-sOrB;@syuO{J9kRy=e~@V6H>hwLmodnye%y;|3HAjX_?<r zRsUWsisH{(a_iY_&t-4x1gvgpm;HEqeET_-l}SmaE)&z<o_1nX6FR_?Sb1<x$DHpT z_QI2Rza2cd*Ez|55#w|f^>xc<S9u>l!tUhQ<~9HDXY=!G&xM(%XQbVW)3ereI<wq@ z)pNI+%0AhSN#CCAwqB&pX5{gChUwQrgXwI|$B&xKnAa4OnDOlLb@634@6>G04UL-X zJ^5`@K*Y+(38F03?Jt{NO=(S99(ljDBfp?|gYuCZ?0x<I?_}-w^lx8rZsn}m?z`@( zFFX0|mBV9pjpY1{8OP-R{ZQH^IJL%_Uwz7^3#q4@S@dpyRq8W(m>HRS*yQ{?yH%|T zOWfWHGEDmTdyfB^?Ga`ZCGT-6ymjcb`KovI$)0C2N2GrXb4Qsn-0hIs;}`sP;vUl@ zwZXwMSL<#@JKs^Z_PO%ntMN{~(?%WT$K_`C7&ooodPMZ*kGfSGEsC8>#U}7S{JqZY zy*0DB;~wjUY2`BBMZ0_zy6(KIUfp)Pm9^vO$4k2xroHzsR6b&TxM=#f72nQIaX$0C zcllm3)mz&|ipsxbl-#;`AV~8_iZ{<kvvV6iM(=*tw>VE~hQcD&Se@(hY(I*ho~H3> z8i!>?cGP8#meAL(2Sm5*uF5UDRkix)q2Ckv{(MXj>B*a)Wh*;T`RuEQWzsWib5iH_ zd9^>1Qhcy$Ww_k))!x><*VFy?|N8PRyp-wS1U6;f`F{d;E$ijw{37@ARJv@YvEX^F z0}{$A6WS)8Kg_*-F=NKbnfCQxOJ*;e8nq?3&!|<U&C~KS%fh;!EKRK6#U6;Vd!OC5 zPPk21Cr#q~BI!<UzBi9%9}i2vI^)8-EwBH4T%A9^w&r`CfrQIr#)}qHwl&Uv#&%72 z$<~HqkvqJ%T|Z6EzqjX3QOzp7x3iSho?J8+ce!j=|HGxR`oP?TZw&_?a>QE{bafh? z5a*ey#4;^y_LlN{OO>ZrF>#*p`Sj}Q`|m7DCRgWGR($+=^YQ18PYbMMZcdIYncwh1 zajtszH05OieKpm>c`tJf({He=SiU;8{r=vJJL;>l*2Jzjr}&}y|F4Y`_|xs;Z*ZS4 zb?q_TbJ&<Ym`OI+FJ@zc`ttAoa<(_LJ2t5QuXkHE?bAiuv;U+|B^gaFkoCMa&-!!g z9j${ichvrR)EJYuVa4h#;xgTnCdM9n@GtW6(;E@(|FuK$_iFf1yFB}U?O5k`H|q9& Q1_lNOPgg&ebxsLQ0GWxp@Bjb+ diff --git a/installer/resources/themes/console/images/snark_create.png b/installer/resources/themes/console/images/snark_create.png deleted file mode 100644 index 2f41beb048d855e0bb41f0043e18d387045f3c14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1445 zcmeAS@N?(olHy`uVBq!ia0y~yV8{hw4kiW$29;SAj0_A6oCO|{#S9F5he4R}c>anM z1_st}PZ!6KiaBrZzV(j|l{xV7{@$1>&0Jm9D6U-gW>zMTX**wV3!BM{Z9bB@=<K9c z*V^4PbkYoubx!_a;rnH3^}_nb_Z6o19j?4kQ4U;wV%jGK>Dg<h91mEayR?5EQ}!*V z*I|C|ZJ*!y?5ntUq3-^gq8)qp3TVx-E0n7E?H5wb;P$Am0u$Xj94Ij9)Op8h&Ew0& z>Tj)clCS>Ox;x9yC0+CQhqjWBj~8lrM@$kDuWA<;*Sb2dYoE#&L-XvIIp#G#&p!BD z{p?uU{`4zh5BSWg3lh&QxKeRt%jSBSAN!8RY`s}op(vr@ZvTw+-G@^%4PDt5ubJ|A zqWbe+`+lTW?_Ov3<L7nzm|Zn%7iSlqx3>BEMduc?hPi?&=ls|=ZYh_8r@1&){BC}| zH{aIYG;nUUvf|CZclN8t&+9sVWZSu=*8d||7~AT~c;jrh?2KG?>dq3?-am=%)8F#` z_d2>KzrQx#NHga5#*gRkzq<cBg(G*C?nD0jm1+0VLrQ`+owllTiFln|v~PA^%c<<O z3+J=(N%>CnXwg5s=9JZJ>&w!czxysssN6Suk?rE=%eMaC&G)6HuWaSyWYaDm5BH#F z$AS(jAKw_gHGB2St5y$Jeyse-UmDi`;a8P(;rCLxH)SQJYflx$ObuM2cinKNz#ZFp zUzY7NTJ^?e%e2=We6@Z%)!*_q9(I4Ox5qvv_AviW`BiJ4OL}@;vA%Zk`TBjbB1fM* z^}c&ga&pw<i&y)STkXpJ9JxDL|8AK~g!62x*qR^V&(}_LQrD@N`BujMSkj}nCto$L zZolyKXt?_GG~Zm=(+3;!zGu7KoA>mc{Ng}EDb3$6?mo`nS9a=4#1h-{H@ix%Udsya zUY+tdF!<VQ$thRGxYoS>_iL}+9>q$xwWqsZoQOG5o}N5)<MSB*>lgLj_mt<RuKjX( zQuMmTI_i0SH-tWZu{ztWA^l|Y^K(%;VxE(t<nymuq^^7Hw!((lFn{W@Q=j)f&ozrS znPqk0$rRUr_pbhJ+r4(}*%Tv59_!~fQzFauzq|HkpHaE3UCQJ7e)H|-)^qqg=Fau` z6dJiC*+y=E;a|4pKH*E03r@Z1DrfPVd2ydiW3XMu{=Ng6+Yde9m?Jb@S!79xOi53F zpS!Zoe4%5{I4U*%*45Y7@85Y%=5~jnPv>R9vcO+8`}XbIH+8D0qeu>)^x-KpWEGo@ zI6b%Dwzaj@<ybjcHYeEYfBj^4{Y{cPKfRpF`Toe6Gd#DxRPBAKe^dHx0l(Ahg+Vp( zqKEg(ZFgRMDJJpT`rph88E$#E9ZuX9p1M*-@oRWi)8%JZI8r%f9lfV4EoC_yFzt@u z7RQw>${7toitaZS<!mt1S+CcANb#G-)MA&;MK9JA8+oo=p}fI+<rZZFua!;88$4F_ zDI2)2oTa?Mb>%W;1DBPXls7o7+^1~d=-Hxt!QZn>Il#|zg7O6)&uPjw3t~R$Uv%}H zqns1C>s3ri;G`EEB0)m0IJN{%dd(3MDD;-&OTeUe98&^<9&nfhTzbfHBsl0XM@sOe zCmbxnLC-jr1YLU0;Sv<|lH*C>rB@s+fkAILR01!(<v0=$^qwOnVABH*mH?wi99hAe z9&@Y;GJ4AKDsa;?4y{0=7aUmun_hBs1slEQI2E+%4F^|{(K`;Wz)kNtx&pEe33~aj z6m{1yT-qkHaLSZhMJ-KJsv_n2M1KCiWcr+=Qse6)J3$|j|1%_>FV<M;^UCg0Y;<V% zI`(GASf_N6?_c@Uq)J<OPF-VO`_}jE?^+Wb<3OoJHs6kHG!i^qZJk+eo7c`NxI=l} g4&`~6=pVDo;pK)?(hk=%FfcH9y85}Sb4q9e041rqm;e9( diff --git a/installer/resources/themes/console/snark_favicon.ico b/installer/resources/themes/console/snark/favicon.ico similarity index 100% rename from installer/resources/themes/console/snark_favicon.ico rename to installer/resources/themes/console/snark/favicon.ico diff --git a/installer/resources/themes/console/snark/images/arrow_refresh.png b/installer/resources/themes/console/snark/images/arrow_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..26b8dff1b53bd996a6110e7dbcfc7f61cfbc7497 GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0y~yVBlw9U=ZYBV_;xl;`+9bfq{Xuz$3Dlfr0NZ2s0kf zUy;JVz@+Kv;uumfr+2ciN2sI7@p|Jn&&IBc?1G|A8M#7AS`)k`-kPCzCOc3_<%{B_ zMf@69=6v^&U*frI#gU#jtezs7lIuPRMqE2&a!`X?B_pwW$^s3ScbR*_m236x<-B`n z|NZ-X<L7f4S-pEQg@WgA4v5cL`Ex<Wm3!eUCZ0X9G3rTxHIK!LrO6$a7x&DH6A`;S zsr6Nc!`>Tw>p~x`eQ_s!*AuNm{!;;ucTeasFu8JeW`;b^(*>`s0{`AlIJxHTl&$Y{ z)Ykp)G0I)KVXNTXutvQKooB&|*t<Jb7VnOFaGLAMA#eNMEu2d<dT#IWmn^>Fz0s<I zdHWYBo0HA6!u%&YL<*Gd<uW=pb6-qf-9FAa)~8bHd-ayt28#0?dg1oul%UFluTf1M z66!MEtw&{YKmFr>SD*F%kM-T)(kc}(iLHqz`1hqoRcIaTzPqGzMuO*@FZ(BJZd-qP z|L?y2laiXg_KVm@d^<jGPtk?;<3`C%cl&SFO)y$jcsXbGq_-h^&dz@wAF@nsli!(@ zUWRkoFC5;vZ^q5lQ#0SVamgJl(7Ll`2LIi2QynhGUinyF=8zTOy!_!|sT&_9KfS)X zrkLqhn7GaD<~h3IS3}ndag;8|>VB~N+uBFzdO5~1ww=|N0-q(luiu<2&-z?{;l1e! z+0_@1p55`#t7JQ~aqouPn||{aeVAjU{%ens>wW(>1@|{AYrIzcs<>*efT_TtSW_lj s>$i&wlC|F0A5OR@X83er>#z8YU(Zgq>zKcZfq{X+)78&qol`;+0CCqUtN;K2 literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/config.png b/installer/resources/themes/console/snark/images/config.png new file mode 100644 index 0000000000000000000000000000000000000000..565a9330e0a156dff5bed2c9fad8c95a44344ba4 GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGf$^57i(`nz>8X=<X9ow$ z9RFNz;i1XrCo3CUD&nZax3sxqa{1&-S!aJI%2g#NCCPD^U3<lPRBbJ1U~*nul8Hc) zQ7UI+j%15M#ZvkD@D{FG6<NOLN1y-xJ@38cai)l6TT86gs!Tqar!>*v(Z?Mh|KAI- znChj;<kxms@$ttQ878MXSy<lju`#<X7W`Q=ufU?ls4+q(ZN}B;wPLGQO*^|a!Jy;* z`{U0)O9rzZ`SiYSzyH=KRS~XQE*7R;%QC-I+1|<f{*h^-$CIXrd#_8ZOr&_bjw-b} zH5TpkSsHZkWl0%-d;HxH^_kMT8*{F_E}eB&EiHca)eEI_gI2a2emLVsj@eU%J*Ba! z*ST(**5%w=bT@DE>8Bs6_Es-TU72;`?YDJTvqJgWc4QtZe|TH0rj~Kmp&uuO<ocg4 zKmBx;{h7D_R5q{Kv{`LKgS`BK-@h+Za7my3Q#Ai~O^DzB2dY!wXqn7E+^&$*eZg8i zM0i3R%j=ud-MMXcFWa<NslaU&+k>?|<!=@oSF9Ahc0S|y-6^eCQh#h>blv#pnc0(f zoHD{cxbDonzHF~B_r&gi>6_nqU43IUMcz5aCH#5Z`A-*hY;5kEH2>nBCg=D@Xw95? socH)I?)(tjBy_r%Y5pupv)l6bCjNN&?mEkK1_lNOPgg&ebxsLQ02NXT(*OVf literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/create.png b/installer/resources/themes/console/snark/images/create.png new file mode 100644 index 0000000000000000000000000000000000000000..44ccbf812879c42cb1f9587d865bcfc337ce6361 GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGf$@x|i(`nz>8X<rdMhPL z9NQl(az!zzBsFsBVWHDPii*27tk8VbWOdE=%{)oh>9OCow7s|(?eTm8-@K@msU3G6 zm%UgJa_rPLogM$UO>29M+dtgQSG(2S_w*sV{^yU?_olZiGMot3NIz%zG$(KA{o4$g z_s&Js&q!Z<>gDY=L+{I%L#noZN;%MM@qKb<lhRq4mD9TeRF11hZM_>b(c4!4!581K zy<U#L_cE^i$~w1OV}-@dh4<Bu`7+<wsedCZaAKVE-X{zHo_(Cs@4k3bPgtqw++R#j z<QGrqKY8u}pNjjo%Mpi8)-lamw($1bM~||(UVW8HY5bF9;lsS*%cRAjs|C7`2CTon zaFy1qvudk$2WHgUIsJ3fIDFZ>VQR|qM<J>cJrw5pEsoGx6r=YzBfatD{L-KE3iaeC z>0aipm}j2Sf4td2p`pTt@2O3f^~E;pM5dzF8@}E(Q|{)O|EaUr5$oPpIy-ky`kv$> zXFG+N`xsBA2(>yLoKR~gZ_(HMZ*J%NnHn!XpJkLxta-uN;i7cn`Dfct%065(|D8IR zAh0urPj5PR-1_bAax5oPj54<0F0h)*(dy)U@;`IdRw=KglLBuTY!VdUYd8P8d2QJ1 d3!Bc_2k>m(%FnpIjDdlH!PC{xWt~$(69Dqb15N+{ literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/details.png b/installer/resources/themes/console/snark/images/details.png new file mode 100644 index 0000000000000000000000000000000000000000..12cd1aef900803abba99b26920337ec01ad5c267 GIT binary patch literal 778 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^zbpD<_bdda}R zAX(xXQ4*Y=R#Ki=l*-_klAn~S;F+74o*I;zm{M7IGS!BGfoYDXi(`nz>7|oTXI}}I zIci_-vnIty&5&zmr&<5S6&e`}JA-sMj`}JFS%)|-(u*mXnkyRfQ=Ws%E^Ob1r6sf0 zwMNaF(spi<^vq)hSC5$VUz9LDsq**io%egczjpGd*&=OwT0h=S#^Sj|=+oMe&(9Q# zOHFhS%7%;kg{|FU!K<;5<KeRMhvy#L^q1TBD?hIE!_lb|d$tyBR9<*;-ZnR>YwH*j z6pMI7=M~gfRkAJqyYut>)cZ^_`{ta#;gKhED@^?U-Kg_d<}BSI@UVH(ifCu8jeUnU z8!_A4$1H0L-pSp*S-at$_jha8I~NwN{dncuw5p<H)j7i7wwN|*)%TrEPHKxi`Sp)+ z{Ilh|TQf~+X6-Kf63FAw^!jzig)4n2%!gZ_-#DRk)#3ed&#K+Q9l|+RC(YNnxX;k> z`n9$xZkN~vm^a*;f8+YSGZBTHf{snc*^l=h7EWnb-;lKN+$Is%p7VM|3Hj2;ZV78^ z-Z-(%?CSM^8JZ9GxbIn@c%giQFl(FpvWo%?&V_js*Ih}w;=Xn@-zqWQuHX&pygtkm znDXaw<-fHSdrB)lS`=DnuVCDh&dN}imABKWc#qg(LlcdI)p2S|DhgQyn<9ih@>gt% zI5xvzE7yj1*AnU`ZSyVUV4PEwQg3Z-pR*`0R`;*_Hw7gNL8~Ys9^SvaFV<dF3tMzs zng3M$^2xm`=dJVoGj0Bp-|_B0zuk*pVG+XI_37d_-Ja=Ul~eS6q<8#{nz+lqe)`3t zr^lYhzw0Z{Tl4(j<H)r6(>e7vEZo?a8$C->U$^jmd;B!Rt;>s;@2A{fRrG!1Yso8d zKJUHM_}_S6-czT$z$SKu!H?e>!aoo77;gM`=fKQ2^?8g7p0C!<46T>pRp*>4W|GjO o$z;x3^t`{Z_`m(K@{8On?3=11w<+#qU|?YIboFyt=akR{07JHBGXMYp literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/eta.png b/installer/resources/themes/console/snark/images/eta.png new file mode 100644 index 0000000000000000000000000000000000000000..f4c3f99d90440da920da4cce9ad8b5a21e0bdc59 GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0y~yVBi5^4mJh`hOp9@=L`%CoCO|{#S9F5he4R}c>anM z1_s8*o-U3d6?0+(eY1rFMQlGC&E$M*v2aFPfLE&?kH~IAt{{P3Q!j08Qb=34-;rmE zzzXZ>@0g?hJ9d@@HwSPX6<fO2SGBEUaiP)A8T~%O>Cbx0O+-H)sJ&Be@%~=%eNlsB zWrfja?wxsN{q@}4f79<R`h2+aX4~g`IkQr8<E!IbF7}r=m0XFt7PLqwukM!B-g|d) zqn4#@GGOtJnPBTVaZ=god&Ru9OFNdg3514Ce)Z1tY0AR5wcGzr{68b>47Y%h;vrc> zxoV}=pSIk)$bUbvzO%6XxpcmCxPAC*EBTKxoJ)DxVuS?z+%3N!y0gLlimJzT5sk`g z*<aq(|Nn6Ii(6e|jnw0bmlRu8YIN>Uc+e`5bWI@ryUXj<I}^6&o;zT6-o8Qk%!PtN zq5BI~dk1nJv=vXE?z%el?-RS1%6BDroU~Xbx!5l9<K>H6CcsuO<3{c`zf{*Km87X# zr0a90Jp0IhZNs)#2gFLZ^v_^>+xmJ(mQTX#6vfv64s)FLe|^Jod==wjnYWI6nr~Zg zp0U@ck#la?W;ul$T}KL!<g<R@Hoc;^@6c;!?rWFcA3d9(<{EfXX|}iW-RX*~F4eIm zPm^orSRFWckD*!gQP2Lh(>Lm<O{nnTUsXKgb=rhX-=t5xrIi9ZEw2A%+K_O)Ni<fn Rl7WGN!PC{xWt~$(69B79{>A_R literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/graytile.png b/installer/resources/themes/console/snark/images/graytile.png similarity index 100% rename from installer/resources/themes/console/images/graytile.png rename to installer/resources/themes/console/snark/images/graytile.png diff --git a/installer/resources/themes/console/images/hat.png b/installer/resources/themes/console/snark/images/hat.png similarity index 100% rename from installer/resources/themes/console/images/hat.png rename to installer/resources/themes/console/snark/images/hat.png diff --git a/installer/resources/themes/console/snark/images/snark_add.png b/installer/resources/themes/console/snark/images/snark_add.png new file mode 100644 index 0000000000000000000000000000000000000000..f02fe118c860535d700c098325c2f3008c9f6de0 GIT binary patch literal 3562 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 literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/snark_create.png b/installer/resources/themes/console/snark/images/snark_create.png new file mode 100644 index 0000000000000000000000000000000000000000..1e767b9b2210b179316c02a86627570cd3d44bd6 GIT binary patch literal 1087 zcmeAS@N?(olHy`uVBq!ia0y~yU<e0c4mJh`hQbp!a~K#HI14-?iy0XB4ude`@%$Aj z3=GU4JzX3_D(1YMW1kW1C~@HZ-j*B7G<h#67H;766WS!gZhq8prJLuHPK%e5T&+B( zb6r~dZmEd6AX5;F;)R8m77B>yZ1G<CC?i`oi`&)X)`dUSb@#KCR{AFU#=rZ|Z})CT zxuX33n0vc-e;0Bxk?M6@d@;ksCNc8JSu1u)1IHzqQ%}yVV!k5pB$zN`vdN4#$5jDr z4zHv;*aPHSx5=-KW0CJ@_p1^LklrgTAa>++*m72jYpk_y8PC*p6i%~mio1FwDaW~{ zX-E4d>0e)OrA~}#O*Y<YmY*ztHvYlSYg!Yt6*M`%GM&o1bzW)ug9^4s;zt@o6|)15 zWj@!|QP95o>BqyDkELDs+zr<5S;FunHm`DzOJ38BDWwjF0_q*L^;Hi9yF352IUUo& zvSeq(a|Q0>>%WK^EqcE3+=U#eQod=T{vWgXjhg~B^aIX&xxINA(Q31Od5VRy#^l{= ziYGDc_!ZASQ-9%~plF|*h8+9XdzLUQaZ{X@$YS68>22n@{l&$_aZ)=u`8jHNxLdT# z?kc^j@4dHj<;veTbGA)6nKJLf$$$ihXGbr8la-h6Z@h8p)TyqmTegH;ZR$_j^83)q zlP4o=<m%Z&i}Ul(=V?zreeK${YZ*FXvkSExCuUZ=pMLytMs02Fk@w#x&zmQ=`|R5? z=|+cysQw4ex8izrb#!WY*_!7oPxM%{d-v@XVXK#fXbE06;az{d+FGjj-I;Ue^sHyD z$(WP5ay9GrXJ>wMM144EvB`5WtNHPbvIe?8Ec){Fw+X!|+S%6L*0$;M=g-o9`_#`{ z>?^<R^Woh)J<sKr-SnnQd#X*AUvR#B`TgncR+|j(Y3vBlkXRYgm6MkzblAW~z%!Jk z{LMP&*bhgJ99ety>eY3>wER>L=IYn~Z{|3n<YK?>iPORfvdzuSKN}kxA8y>Zv0tPp zfvNX*>TQAdib4g2pI4bQW!~)x2{Jfqz4sL7vRdg_&4W7g0t4I(R<k=y5jgYdrPNE- z&2=T7SqIlVRl3CW%u!EiX+qo+rAwU8JoS{OCfs|Xbcy3xpk9&7hkyU}-PM?t5cgE6 zo<+RdRgv|xj<{fy!TTb?MAmKvalxPs8byK+S-Mrk1-&+86bUA>bZdwUI&D}{B>0ZC zTSxq1)P@&Df_bc`6~rF~ZO|zae8+NHMf{=HhMXe7JeJcM;t!oRtSJ(F)|5J}+dx!j zcTCI71koo-J}j%1#24yCsO~(`+2niKM@@*+oprUEc&3&_LCl7(B0;UD(5c-eF&j=5 zP3+^kR{zKEgwzq<j-xep_xJDH7ngs0|7R{okKf8JvmWT%mMiGYKOfH7ez-qET}4{s shkA?HZN;ic^#vC*z`4)Tct2yqw3!~a3z&8>FfcH9y85}Sb4q9e0H~zoZ2$lO literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/snark_thead.png b/installer/resources/themes/console/snark/images/snark_thead.png similarity index 100% rename from installer/resources/themes/console/images/snark_thead.png rename to installer/resources/themes/console/snark/images/snark_thead.png diff --git a/installer/resources/themes/console/images/snarknav.png b/installer/resources/themes/console/snark/images/snarknav.png similarity index 100% rename from installer/resources/themes/console/images/snarknav.png rename to installer/resources/themes/console/snark/images/snarknav.png diff --git a/installer/resources/themes/console/images/snarknav_on.png b/installer/resources/themes/console/snark/images/snarknav_on.png similarity index 100% rename from installer/resources/themes/console/images/snarknav_on.png rename to installer/resources/themes/console/snark/images/snarknav_on.png diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark/snark.css similarity index 100% rename from installer/resources/themes/console/snark.css rename to installer/resources/themes/console/snark/snark.css -- GitLab