From b8e795ab19047124c40bf63e4b4add139b45816c Mon Sep 17 00:00:00 2001 From: FrenchBen Date: Mon, 20 Jul 2015 17:13:55 -0400 Subject: [PATCH] Added proper about page with tools versions Signed-off-by: FrenchBen --- images/banner.png | Bin 0 -> 7571 bytes images/banner@2x.png | Bin 0 -> 7571 bytes src/components/About.react.js | 67 ++++++++++++++++++++++++++++++++++ src/menutemplate.js | 13 ++++++- src/routes.js | 2 + 5 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 images/banner.png create mode 100644 images/banner@2x.png create mode 100644 src/components/About.react.js diff --git a/images/banner.png b/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca04897cf5a7d47e174f29a35236780ce673566 GIT binary patch literal 7571 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 pZY2Z%RQ2n@Rzb8Da)(Nfn?0T{69Pb)K~xj literal 0 HcmV?d00001 diff --git a/images/banner@2x.png b/images/banner@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca04897cf5a7d47e174f29a35236780ce673566 GIT binary patch literal 7571 zcmb`MRa6w-_x4HY66x+P89-8`ky5%tO1g7MC6pA9Zlq&|hM~K=TXN_aKyn6Nzy5CD z%m2;U=i=;h_IcJiXRZBwzJE|x#KWe6V!)DNHl87a__W#kxxyqe5w1BK}R_W3YQF{DP1YUj9uO8j@e8c0+F!@7HNJc zuKFiT28K{(ZsuwR94s_UQF>g$q8YYtW+ilBe~J@iD!fCl#*1CK?lJ3XDfZ zaMt8e&xmP!*+eoU!A1exp^0$Nt`6}+|A_v0cC zDw&JIh4WBxDA5>1oxsz~EH z7bJM9I90_O|0k*7mU0XZE!NS|*n`kAOEE}e5~6SrDFL7aQl+{2EhqRB%kvx#dlsRD zCnbFNQa(IJbpu1PFlDQMS~wDY6M)X&wjGL>&)j0}z&%$D?+w}ev{rravs+KE266W) zu$e{vZ8}UiRUo*pmjZ7z$Af6U;^R;m{9JUH_Mf1kDAMM0X}Qf7gCd)TkZL5)TAg=C z>|PBl1v39mxx_^t9p4W2U6n9%gXxaxa*PY!&%Pw9GkFmi5lMzN0p3U;MJ<>6TX~pt z9E16vF_oymCRGwyURY|&`)rRB!yj+Lkp31?7>jiK_Rc@uWu-p*pa3`vO^hT#x6IG~ ziou2I5Vx8cxt%ohZ($#O9*Npjw!l0tL{9pM+bjOvSM~oXsD&ocGNq?7Dom18ByM?Y z{m~~7w%u>74i|CRXd?hvu(kY(6Du#Qt#xl9Hu3bcwcY28)Y4rDs)!;QPD|7HY_-1+3tm}42t&yxvKD{xtRH1&JQ8x*)G!5iKW$KaHbH9n z`J%m}>`;!izJ#A@Fj-&_uQs1+s?l&{YSYD!g71t#bc9$Di8elD(C>BY#&0+h?TL^Z zGjT9y--fH}LE6T~#`@qRf~3ee7?q$ejLL(xud8)T!jKZjj@jmCvd@;EVIeN&5zav8 z0?FrgJqSML@$s>(K>V#~pOP5fqNS&91`Pps)+!C@mXo z-IHf$pVv24vz0!Yn4EI)f%O?YJEE{UuqR!-7<-NCX%;W13d3cjpa)~3U5UX`v z^M1W@+SQb`&Ga~w`(=T>CN4xf?g~5LNPDPvCS8!qnBp?wp&8T(2D^Y#OGcFWTBsJc ziOVC5FXhGeXw|e#3H4tGLVczbG-aiFT;vnL*Ad#UcUXk{e-{>{=LOK+`d3&RN#(kv zlryAWlXhg$@Wrn)FLz51?#Eqkn1c(9yrRhk#pkU$>tG8IQ4? zfy0+bC_m-Ow0~TTy+%+J*SyG$o0c-Ytt?X@CEQdwM)0JH38Xlq#2$9K7ErnPeN-O4 z=a*X`i=^Qrhcg|g2gT8hYjYUQOwDKyG?>PE1Wa4??hWcWY;30dhE9^$Sc$XK1I*2lvRvD?zj~zXDK34>qRjD3BxTHsjrwDZ zJLr0`PTXo(l$`V=7GVK>Cz;&Iq~fWv@R{Wb*4$BZ|N45UGpG2Z$;-R(S+Bf>d<@QV zg7{iC!Vz3cxakov+vikf2rjdeB5mJ0)=IYJ>;!@KeAj>+fqSr1^J?e4mz~eecknWI z)89+(;;a4%5#;MPPo z;>8Jjs4SW`dJO$h&7OX^_YUcfOKvu_yUFVJ;9vL^bgA7!CsutP?Th)GQl53mh8L>h zhIpG%>DB)2S^TojnI90(0bChTrX-7>;?n|skPh>DO5qZ~hK(zK{C>4+PnD?=U!Uz| z*>N)T$@^aB&$6cr4Q?IX&5+%qrJcry>dZ}dtjuBRH^I?3xYLP)*Yz4KJy$H8~g7gjK1O2@h`|E zN88*kb-55RBeKJbt}nJThI6~;jQ>8gu1kI)wPW2S36#s8nuwj`oAWr-?Gf@rdgyQS zWHUBXot~H2uHo$L1UL-9F>?o;T{8Lu+;_DE5X~;RdvqG|PxQuolO0-VG|Ha6?KuUB zkr(tvF3Z~Fg(HK<=RlLwQ;iZ%jpX0+)7~P*Tu%ZzqI()IQ7*ponyyLcHG+WAE^_e) zxvVmY3EgA$8DHoYlYy*N3hsr8sSZs$8SGVz<1It_g}TE_inX7{RLr}I7;?2LpJoi7 zY1>aT@cpz+rE_G|W=Num z_0=iFwFmhhgm=>nb}f%7GcpQSRVSoI{L8DH3^B<@YdxuCO3eGW2L{j+9uBI+TOJwf zm!E{xcr0tFX=gY0ZH;Vno?OAsYr{(_AVjS?URPwFvmLu7j!ik3>29@y@Ns$cF;61-TMge7cv zBNt%{+ZOfRmIh*HA&}~$5FlO{l+$p13xp`*hZ&-NX-@Hxxt4s>G>^0>4f6eY8&%P5 zvWCjHqf#L9KD;pU&Yote6KLx&(*t;2({rq7ryX6vxbX$PKD37J3AGeh#DD=ksS{2) zjylI7eolIM2r1=*qjzwXqcILbqbH6XLRo2=Yr>9~2*vp<89EauMa^5e?2~2s974*E>)he#O z))Dx~P=vihFJrVg%8{{S{_%s(UKiV9Uq8P0qJb>~Z}-tO6(N}A&GwC!JEDkq5FPcd z#C#1Sd*-`}E;y?$Y1Zi@rE7OgMJsA(XNcn1rn#)_m3w|2)uufnjV5@lwU@nf78ftr z%)5`VowFC#9*@s(uDdQGgxY2BgVC=qSQBn2P#L6+W;Jj;IQB;w2$)_!*2R`=p7 z=(yR5DJRDRadIay??Ha~NcaJdZ>&aVdD=@{d^M;4{_2k!Pt$hUy{_l-QjI>H4Rk&* zwCmW?FEYM%TQJ^*dEW1_iyuhKB{{3+(=GJ%hs~ibUyQ%;qi69eqBX;(Tn=y1@j<}r zXPt~$Y;jBsCJA0L6#y`7Fd3BcMfF>7Vv0cI=%E4m~PkQ)3DPTwq0p`*8#%n-F%(Vt_e0IjVYmdlb|7gV$I}ioMZfzU#;Dsg?`y zDQ2Zch{|(Ub4iNVf65V0ok&|j_Y6DyXqtPzGj;GC_PNL}Y8Sp;c4f0WMqqsowL=pN z`|W9W54`$oq_ zjHEMRV%eZp&J`7L=o_G!JXa45pr{$V~{= zWJ_(P%w+45P-bFwOV zaj_=vk0H|VjiPInW*%eK+Q| z{MIe1xnaJdVN3Z-U4oMoE)hVX@zDN*onp_53fb7FC{$xglK$2>Ie2M8)vg#D-X1PQ zSdO(gK+V@dUrf-EdV0)$zu$-2)>Bj=FXpYmK&Enn$agqwRR-iBi>Ot;@hpx&qV?88 zt)4a>)Y7}`wi%^UP?R1fa7^3sN@&DmRfuQu8xDe@ykU8X#%bW!v1ifO+EX=Ft)rhM zEWlAQ5O8%ypK>4$e%2RW95fDd?S@}+YBLH>{$_PKN7$;~~F5I22a15&B}?#%SJQ zG;Mh@IqmL(Hz&@D~%eu|?b?#FAIcfb47PNauB#q3s+&TAj=l1i*O zWv?|4yn>!<3nT<-oZvw;lci)z$Wj^WIU)LtzN*)J1!Ctte>_>8`tXLOqzwOqDP z-dP2h1c={d-A&%L?e4?3do8?@QlVPBwov@VOU9niwY6ohb^xc}51t{*utsjE}T&mABX!vRc01&*6^leFy*vFtk&DYgm_kH2#H?dCT zad0Sjk42pCtQ&LRi>X7^UaNJsfA~||geUy$6H$a;KQu0`>X$DT16e6MOWVN&dj91r zx;s@afk;QlOAkg$c_hB2(CH*xnzq4Ms;*l#bngg;p42ZBb}ackTzlQh3@u6hLrs?- zY*v*De?)&F$Lv=D@L0ytFc;zgs;o}k^7LmL;^)7EV?yqtd1{CVi!9!Dw#+r!QyBBO z>#D4VAW#aD(c3;?=B@^xoH@oHqHpB`sU=InD__VsJ+z!c9F8J81sri zmVcF8HDflC&IWfP-qUX$Sx-&PUD9>!;4Cd6p3SL1jUAhgNF&Vxoeoz)q;%_$V?^FH zO*KWCH;|U-1EsyVr87j|cp{)?TCyoB%$MfTot6Cb;-WitBhl_Lzja22#H7iln4QAo zdc>sF+8w7JrqsLW)zGv|IRSIkDB(rnK@c$NfxhOqGus7rH{!Rg25Zf{7D=ZqUek); zo^?GpA)7Sq|E9P&O>j=+ujXmmLDPG>yfQTh$4`+P_hJ&~=N_=n_?;Jb8Kv&H0QZ^- ze%JUlbqkB!^@-~&7TDW+^3c)I*klzHFw&f9J-YEBfJ*fYrRh-8R&R88iEqwXS7qH1 zT!F{;5^Z=7mlu@u=spnrndg|~r0fo^y?^&g+r5F?aPBpR$a0i+0JbEZTb`R9)bwwI zyeM5A_G92Ku}d-Iz6hp}3`jo=b-O!}bKvbgChd|g#XT-Lxrymd0}qf*m<)LY5PTZ# z0=ufUGPOwM=%n*rKipMpUYS6W%{?I!6TXuY^TdoMJS7u+-(B89jav-it_}6Yt_`m) zxk;JG19)G=91t_m_C|>ng}!gLitDOOvHq6YCXgWycN_L34w7(G6p$z8-boh{8s|Io zhx-(YOUvX>A(=K~tj)hyTVGvmrE0}N2!h6QcS?hzk<5a>k9q`-q?=Z}xj4*d3PhLM zcTF?7VFR{M^O3N6qs=CFIuKc8<3u zF;i1XIomHqH;X*m6>J)oC_Tn)-Ey}c2Q{l(lB@?CIuz>mcN2>{^QGr?u$H|&Hu z8(+V8kF2>5wMQ^LHfFjPf1uC&fxO3dS z$27Oa_%NQlTW@sYPvEh^jta9tCc^5tox`=9oeiZ?Oo$U3hh)!*;g)w2DO9o86BzZA zO0o19NiUT;tmB8<>3d((2@mU`UzuBNA3r-?cJ18V*Q8|ymG`m{gnMvdiz~%481!8vCZQERo zH)_J$J`52N5|T5V^`!OE{rWy9sPhVO&go91c0+jZ*8mDJvF*q$M-SWf3QE(|$*B(r za%&**_L)H&lI#6eNdF`sr)>LW+1Jl}W!vE~40eSj1Uvi3sY8BBb*GX}k)Ph7xt*i5f+$k4x---+NPQ zw%^3oIN!H$A-qf{9P3d?;MvJ>XnRFYh$+znq-0SXN$bv;u9$eZ-^MJt!`%#7CS%B;7HUee)a z>ULF%E~zr=9MJ(@>IM(Yc6d#h2V%yymW~C%tI$-atT_9@q2k%NRZ;=de1S~{d zsEQd+yEgYESP;#7_7KYY6c>VMVH=bYEg1h_BR-Lde(adAk1PA|>#h0xCv?(QIJ@Z1 z(pthrt9!C#5F1(_4zFo|LIQY~cTDyEQjVPoxcdcm+$z4}67Q_BoYuQOE(H-_m5>F{ z=?$7K*BhljNt3Hk<_@d2j>JNF85UZq|5W$Ck0zD&(N>ckRRoF~i6|#mf3_5oa*OuR zlT36>B$Af4*lUPZd z=nj3UuHJ5~F}bnEl!twg0OAD-Gf8=jWbGH7@xr0aKWN9PsT{X=Kc&CE^`?yKd49ZD zs4}`O`Z!-+Yprt38}KJK=w=m$Y~p9&7d}&NBQ6Eej+jq7j>%h&3A&1K9730UTH+TZ z9hJ8pzH>-Bzc8)+!jX^~xSri)AcpHnzD~SvCzZD@$bW&$dxX4q+1Y*( zBxyRopZ4dv{?@|WvwYS$v}*#%$wpk*~#p)lPW7>WaLmNTY)raVQY->Vh|YK2)#2Jag0>A8+?D!8^| zJ4wXyM+El(&c*eeD|aVk2}?T%u0DvKpE(EOjsE7d=*a@hF zXcFh%qLe6!A@gH5``xLeQV+7UA;72T^dDx7t9P&{A9|klJE9S{4Vk}u~XPcM)ieRS>0UV>y=_*tp7mR5CFx{eB2EPF+YAi z{$}xBIlJf#!pk+f>G%e#9}m|53efH2h3CHky;7t1hl}bmEyEl8&`ET}R~{g7fa0 pZY2Z%RQ2n@Rzb8Da)(Nfn?0T{69Pb)K~xj literal 0 HcmV?d00001 diff --git a/src/components/About.react.js b/src/components/About.react.js new file mode 100644 index 0000000000..914b24a338 --- /dev/null +++ b/src/components/About.react.js @@ -0,0 +1,67 @@ +import React from 'react/addons'; +import metrics from '../utils/MetricsUtil'; +import utils from '../utils/Util'; +import Router from 'react-router'; +import RetinaImage from 'react-retina-image'; +var packages; + +try { + packages = utils.packagejson(); +} catch (err) { + packages = {}; +} + +var Preferences = React.createClass({ + mixins: [Router.Navigation], + getInitialState: function () { + return { + metricsEnabled: metrics.enabled() + }; + }, + handleGoBackClick: function () { + this.goBack(); + metrics.track('Went Back From About'); + }, + render: function () { + return ( +
+
+ Go Back + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APP NAMEVERSION
{packages.name}{packages.version}
Docker{packages["docker-version"]}
Docker Machine{packages["docker-machine-version"]}
Docker Compose{packages["docker-compose-version"]}
VirtualBox{packages["virtualbox-version"]}
+
+
+ ); + } +}); + +module.exports = Preferences; diff --git a/src/menutemplate.js b/src/menutemplate.js index df41ffa201..5365cd827c 100644 --- a/src/menutemplate.js +++ b/src/menutemplate.js @@ -17,7 +17,13 @@ var MenuTemplate = function () { submenu: [ { label: 'About Kitematic', - selector: 'orderFrontStandardAboutPanel:' + //selector: 'orderFrontStandardAboutPanel:' + click: function () { + metrics.track('Opened About', { + from: 'menu' + }); + router.get().transitionTo('about'); + } }, { type: 'separator' @@ -94,6 +100,11 @@ var MenuTemplate = function () { { label: 'File', submenu: [ + { + label: 'Open File', + accelerator: util.CommandOrCtrl() + '+O', + selector: 'openDocument:' + }, { type: 'separator' }, diff --git a/src/routes.js b/src/routes.js index 086c34347d..bce15a611a 100644 --- a/src/routes.js +++ b/src/routes.js @@ -13,6 +13,7 @@ import ContainerSettingsPorts from './components/ContainerSettingsPorts.react'; import ContainerSettingsVolumes from './components/ContainerSettingsVolumes.react'; import ContainerSettingsAdvanced from './components/ContainerSettingsAdvanced.react'; import Preferences from './components/Preferences.react'; +import About from './components/About.react'; import NewContainerSearch from './components/NewContainerSearch.react'; import NewContainerPull from './components/NewContainerPull.react'; import Router from 'react-router'; @@ -51,6 +52,7 @@ var routes = ( +