From 1722f3f8324c79631aab162edc9164ebe4611ee6 Mon Sep 17 00:00:00 2001 From: Yann Stepienik Date: Wed, 17 May 2023 12:44:14 +0100 Subject: [PATCH] [release] version 0.5.0-unstable25 --- changelog.md | 10 +- client/src/assets/images/wallpaper.jpg | Bin 74924 -> 0 bytes client/src/assets/images/wallpaper2.jpg | Bin 0 -> 31481 bytes client/src/assets/images/wallpaper2_light.jpg | Bin 0 -> 38175 bytes client/src/pages/config/routeConfigPage.jsx | 4 - client/src/pages/config/users/proxyman.jsx | 14 --- client/src/pages/home/index.jsx | 74 ++++++++++----- .../pages/servapps/containers/newService.jsx | 12 ++- .../servapps/containers/newServiceForm.jsx | 87 ++++++++++-------- .../pages/servapps/containers/overview.jsx | 4 +- client/src/pages/servapps/servapps.jsx | 20 ++-- package.json | 2 +- 12 files changed, 129 insertions(+), 98 deletions(-) delete mode 100644 client/src/assets/images/wallpaper.jpg create mode 100644 client/src/assets/images/wallpaper2.jpg create mode 100644 client/src/assets/images/wallpaper2_light.jpg diff --git a/changelog.md b/changelog.md index b56600a..99eb3c8 100644 --- a/changelog.md +++ b/changelog.md @@ -1,13 +1,15 @@ ## Version 0.5.0 - Add Terminal to containers - - Add Create Container + - Add "Create ServApp" - Add support for importing Docker Compose + - Improved icon fetching + - Change Home background and style (especially fixing the awckward light theme) - Fixed 2 bugs with the smart shield, that made it too strict - Fixed issues that prevented from login in with different hostnames - - Added more infoon the shield when blocking someone - - Fixed home background image + - Added more info on the shield when blocking someone - Fixed issue where the UI would have missing icon images - - Improved icon fetching for apps by following redirections + - Fixed Homepage showing stopped containers + - Fixed bug where you can't save changes on the URLs Screen ## Version 0.4.3 - Fix for exposing routes from the details page diff --git a/client/src/assets/images/wallpaper.jpg b/client/src/assets/images/wallpaper.jpg deleted file mode 100644 index 887fee18dd136350b3db8e2e8ac0d25de0015392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74924 zcmeFZcU)6Tw?DiCp%>{!1f^F40TK`dq(kV09*Tq{KTc zSo3|900^?PgH#|0;)FP0LJ%tm!N3oKi9>AbVF>bvZT%4rhADmHVF5fE5V%6y!5IzH zTn~$Ya7GdZf`7|<9^A(v?l18Wq$u$HZcK{sCrdd7MbILsK@pKsni^^vQcCWWa8krx zsxqXB($vyJVe~XKq%?H(FdBMj6etCPSW94k%2&ejy$&|0g!OxvWq6$vg4kiK-+0-7 zZVOE2&$hr+er^j3?0Xq7O_m>J^X&dso)x$Qtw8JduXn$`f_T?kvB%U7f_;4r@vp}q zQaqFI>pkcw#LLOa$;HXb#lv?-e7z0{azc2Z9heNnA_!v@gnfMg8p-|j77R2C#s*tI zfWXXy6@szA+1NQaxwv_N0sJ))2C=YyPZWS)a2P8KoP~{pos*4~R|_Nxvcjc>G}w%t z2*NT^hc($nGR|Exk(Cq0-SF2!M<!>oFFk%sq+-NM8;&TLWx0^dZaI1PE_k#e78SAG#PZ%i%4CRHXD9Uz`$rbmu4D-56R}*svCbH;$n-e&a zN4geUw54aHcL?d--22Gg(SRcVKyT*P;*zhBXU)zMSE|j98O8fkLG@!(65R>QZAs~L zH>&c&+IXP~EcaG|NZ|cct|OM`%>|Ob{GNL|hle6-E1A!}h_)t55uu zSGfpBK)y^@RZ7%W>zqUC#yOVL#|_JTJ39{>9U@YolT~+iI6e(exp+!Zxs?_3srgvv zEyXUzc*K0M?A&4+1N#iSY#Vn(H!;4(c{EfeVt??q1J#}#9_Uh0|IZ~I(`25dFoM`w#f9@gFC`cmEU}p#a!5<%*|0g zi~b{P+kqLEJ;{jOrB~)~Pv8qOhiV$WLSKiMXJ((VFIo>X%AXlr>Ch47zVsmFk>~5i zz6MnPqG&p!Z&1V9*1cc z41F|R=A0xZd+K^0&RpDxW`C3DJ1sHsR^Bb-Q&Z zX|KEL;@#)-#@n!sbDDpoa4x&ms~XnNT@HrUs<$0G>vrzw7qR(8kNS~EtplRQCv5D_tVauCJhhI9Wc(R-mit1FAV2VRaHf1@}oGq1XH>kMotZv zTYuI#bjZ@*bw4%w>4N2LTu=WHE&jo;(0NY>$IFY`T&^31vs}Kq{p$$7p_YoUuf*BS z(FLCv`wZ(fwnLYaJclTML^3c334P)_BRBz(;AGlj!bpo&FQ5 zHt#D=|1uMB`Qyza@0K}+yF(6Kw>f2|P%8Lg+kEb~}M}2v`ByhrW zv1?`T}y?+t4 z=zqC5*s?vtez3J@XzAz|+@tinry4R21^wppQZK}OYME^CV$WI)zuoUqpFTso+0Oog@7c?4$P==w%<#I87k=TjnEdZsHOfDWyv@}c z%?|rI+SB^-!Y7xP%iL$O-7wY9Vny#iqooH>Lay;Bs#f@)c;K9OAh%r0!b@9c=45aC z%S6Pc-Eyx6dL{Jh_P4v~1g6(qsT}7|Q+!s*=7K+>rTkm5Q_W|)a_ITaoV{Di^v0y? zXLM1`QE_4Y??>Ez+k9Ce|M0X+TytbQa??FfAE>%PCLP??6&E~(XiE--mXjfy+wES2#@%(d&4dCJ+$ zR<5@^PdIwa_}`!(nH-LK>*eljQ$>|_Y89&=EsD5|_aDuqnb%Yb>F6ptONbQ2L=7eT z&`ldpj=pHaEMkLUF+Or`SyH**}r@=uXrrDUW9#Y!Oba7u$V!#bla&^tv&ON+*5t&AkYl z2u(Ye+GKidmi<8VMWc(2QVQp_efFi+Q=;C$*jC4a&fV`t$pUWC}+ zRt|``5L?c=UX=?KSHHQiCe-bMcyn||(N~CJC$wl^%tpJNBbK+d>Q@@eR3;uD^IpX& zAYD&*R_;iI@Lr={zWb_ju`1fMd-;8wYihr*UglIAai#M=F-^+L@z=lonk7hI_~LI5 zEML|y`P@E(%so4IYmL*o{>bq+&(XO3AFnrlalN@sil`ssEaGt`@OR(q_oOm7P0Lm$ z(%dd0oiya;F8EdD+Ufqgs>sSAr?)xF= z%^>ICAB10Tz~+;i6{_U$QuB}R;HWv=zn+!&k~5`HymiDXG{rN&fyj2& z7@+1!G6G#&-H`l2RQ{8jIo9649eN(wT>ELyncveybl+IFFBwNX)yT=y7Y%jmJU>C$ z^l7o}lKpxY_&Pv@w2 zEiVU`cn=O7o!R;uppDU!jDuUv@t} zCGO= z>njoaKb?OqH59bd1ZxLpP8lF*lLQP8v2K;OlmJr;=ImlUO@2L1U|{Ie!SmhMxY#0N z>MyW$+OMbSt*6a`s{lBePC5kfL`GA>X%2K+B%KDL%$W@2NToUZM?{3Kb6~@1WO6t? zjG4d;Gw-IM(aiX!^}NoMeM}A$3XPeEnY>XZIoh5OMs_jxZ~>%^$~H1MMn^;hIFo7g zNC*F5B1q(g9HD3^0{j9XDaaWjLo|pEMKX(mxFdgXgV=g8CZV+OZxZqP(WAN?bO3#8ip zh?qu)oBkOIr~MhR^$(@~NU;y3#r%kvhlQH`hyXqQS+of;B=DOeHnarcEKN*-G|U+$ zgd<5wks|2+MiGyg(e=YJI{d%TOhW%FpGh>y#WkE}A&U!TKHDFMNhnF`@8~#cC~ckY zxG&TQ_k*1~hD@YIM4J(41ZE4?g>(#bq<*&wW|+wg?o6>ETXMigG5=Dn3z)$EUA4}{ z&<(m{G||YDS;G1uK#Y!vbPpnfhYKu}5+3+nef-P>9FWN*f<}u73yla5{Fa6HdkRy8 zpXhww={QPY(9a1x-xGjrKlqt_h4s~j3>(u}V0RnSTG)C&Qdm#p|5hou?T-J}`}o#r z%>KD;opZ}y5+T)*>R)+tQO|3+Ca^CO5u%%1i2Zx7aaX7b-Aef@t)Th|3Av+VEvki`h} zOK^VE+csus9ah-rx8lqwt0lN>NY9KyOvqw=eBy%kLIfxj{35|U5{wtoAo*M8S!exz z`H9BN`2+O$p8mI){v0ZxaC#_nL}QMw?EVq-a1!-jdMc5o0n*k7WTtulupvPF7aN33 ze%R`U7`Pv%xZWssYAA(Brn-gNGCLFOFZHmkrvb7MI62lMShJt%;s}h6phy0N#2yh% z38efOC(WIir8}(CKpA`lIxWJI98QiV(8we}fLvlDzYp`=8_Y}!GX)zKC2Z;TKAY+IGATWP0os|NB zSP%%)z)4*XfhjvA^1pCML7EV1{baiC>puU+?3n|CgDSw^*T;e(K{Q&Vp1OKCRgJ*h zT%bmb2vgrjh*Z~5L#adhyZ1#Bh#_Q}ls_5F9t~vPT=`W-ib67wamU!9>>^FcK@_XF zXtHyhy$dlegs4lB*=;DLzfW&pSY#NPMv&SU78*{~+h-uNUbr3zGs)^QQtK?V5CfU@ z<$oy;J4Y$gh-k8uwi*gaM4>dLbad4;w9#7Hs2x&ZTLVfRrKzr=g+yuSp>*^#HKo2C zGN86-Qh*-L%;H;JAZ8%*tx2D0&I&;Gmrt2ZZsh*@<*|MtE=yfB;pUgNHB$6ubf0wCx?>5$l)|9 z(5nWs`Rj#7e&5LPBgHH~$7?dblNL4LCcBAsbK%={aDi4;KuW&A0gmVbbj|4tnOl1w1$ zB6W1pDCACb00yZ+(jucZwa7X;M9uHgYydxm(4R|XN<{)CYN9YiGzQ3mBJI>bV*Eil z1T^R}0VH$)nV=bf)&aeo*~yu9sAol?f`=UYts6R%qrQbgDN^gEr$-<%A$0>8BGVkm zB$;ny%HQbY->Ugr{=EPQ{vXX`qjqXU0BtWJnrs{hboalSq56L(Je3ghKZ~wS(9qPv z>?9&JcIsk~;IV2W{fQ`TBtes`f!ayd)FEMj&1}f@Uq#mhO4mc9znkrUBKo(oi9v+$ zKr$Gg)n)$k#%Q3(}hakCAjSui!e{?gFRPMM``z~BE5BOcRS*46Nn zqwt*sybosZhudTL-97o|{*MO!(ZD|%_(uc(Xy6|W{QpP;e*!1uaNv#a1+d81C%hhD zs<_7y=U{=gHD5=0c&%(H;Snrghd~(F0>qpp=25j=?Ks)LNp0rO<|FQ z@K^}iXfrbxB=lb<@9X4^%m0}86W{+7WIo%C^kt{@X9g4N|C9D-&Od1prC>u0*!aVm z{wK{pAA(wsK@ei*Pnui_01S^pP|MIy?GalCJrG*3I7W`^HT}`VYZ)2Um($}wlxv-o9Q5Gs?edi5iigS@7(xYQGSm4YX8`v(k2_V8- zply&Wqy!-W?yCdsf{Y+@$Qp8hTp&-#7a{`eI1Fr#+6x_k4nv91Nhlr4feN6rP&rf$ z)k6(XD|8jQ0d+xr&@eOs-Gd%Mv(O7@33?BG2H!k!!1!Rour09dFnO3NOcS;fW(YHf z*}`xzPnaJp5Ec%j!w$fXz)r$4VFj>ruxi*PSR3pHtOqs%n}$7xEx_KvKC!T}@Un=o zNU|ufsI%;3F=nx0abfXc31o?4iDNm+lE#w9Qp!@x(!z3srH^HTZHGnmm^$=?^Yc6XkYdvc_Yd7l{>m$~etZQ&~xG-D_j)d=mTftr7 zM0gbZ5IhB506!0Jf!~6U!5_ny;D503u}QG0vgxs5**w?++4iy}vgNW>vNf~aW}9G} zWqZ%g&MwBT$gaa~#qP--%)XyJh5Zcs1@`OgBkWJvS2;L1ws5F&7;rdn5IATYi5&SH zwH&{4jB?C!eB|We+|H@VX~Bu-4ChSX%;l`%yv8}o`JD4JmjIVMmmZe`7l|vD>l9Zx zS3B1b*DTj(Zb5EEZUb%??qKf2+p-!Qv!mPrw!luGR;UmK3!ncKIMc73YMX(~lA}2-a zLbbL?4NcsV(MPLbhaVY2ETb94@XR?j*ifyjc9U_{*&#TX$_GZcX0Wuysa) zMM6aaC$V3mOrl?6RdSo8rDUXJzGSE5%WY!YjJ5@D%ieZv+roC??S|Va+q1X-x_wbf zRLWQ?R4PyEmei88gtV13UHY8#p!8=MMHyF_1epsm4`jJzcghCHX3O4`U6R`_XD4?+ zjv+TA&n3T8K1lwwe7F1u1w{pSg(QVmg?UAUB33a@k)e2BiBD;_Qj}7u(zr6a@=oOt zKWCM9c(*vcZBaK-7$saMH(YxkPPHwH8C|?wFI?R zwb$x$>Ui}G^=|b)P#9DwsvLDsLrB9~BSE8G?Y z={4xR*@fH{va4p-yuPA7S-)KWsez0E!Qh<1BSR@eKf@BkN4uqW6Ly#GeqtnRL^7&0 zdTy+29Bf=`{MrO%5^d6K^1)Qk^q}c=GgdQ8vt+YDb0KqA^8)jS7BUur77U9eON`}y z%j;HbRyI}{R#R9>ED>9cU9#4(K4^W*hS$c~roiTjt%_~5ZMz+dowZ$--FlcQ6i(;Q9%cL3MzEbP3;xyJdui;2rAmwT>Cu5{O%Zkyb^ z-KyO_xSP3Wx2 zz8!lu?IG-G^kegL_p9;yLU16I5?1}O{zd*vL{s8v;tP@yDVwxFHXvt`p9dHOWCqL! z8U$tqE(Glk$_;u+F{Knx-UeF*pAG&H;t*05@-@^w^gSdY;aHjg{O7vs&$1#R6g)txZy6tV;C%7+sUw^Dh z?1|XtaTakE`{DbE`)?kQK5+QJN*;|r`t+FPF-9VPVszqE(ypYl$Kl5*#|KYnoyb4&M=~k7_ay3M?#VAH z#FXAtjnurqvHCrl4nnz{Zv9JxqHs? zTuZ4!X>J*NSxnhnxm$U6#m*!ze|%1HVro$cQ)2H$u|`>3pXdXz*=HkmRf^aA6@pm zJkn;}cC&p~d-D~wD^*veuNHQQcAUD#eeLMAufN9qx_UkG`pX-EH=f?ybMs!ON9Xu0 zr(1)!ZEoM`vgqpUHtzoQj=`O)J$gNDy*qnb`?UL7`Z4{@1DJv4LG8hoA)TSi!@9%m zBl;uPMt6_i7&9B|8pn?JP1sM2OuA0qo${V~beD8@emZpe?M%$f=X>$@+3qJl5O|RL zP~u_fZ_2-2c%=QPo(?^2exELW|dS8lF4u0DJp_WtvS_CIX?xc@Z_Y|nlTNv|)Xf(2u6fDgC@SXo#%)_R!) zaIAk=%?^jd+2HJKZ0ua@;N;uz$=H?aPT|d6vHX{Feg@M-|A1@z5KmhR{ zepr1Id|1sg%m%T-z?aAyA6DOjQh|T_moKWp2i4%abmk}38)Vo|9uY_aDFWa-W>)42 zzH8q|g$c3hwxJ2^?S0p?^F?(52OIcX=z!hT6i_;y;?Soz-PdZJaAj5$&c&In z7AML-kgpgBZAJwc`ovyq!Mu)|s_GJp)ltapWAHpfCfN*K85-@5+0`(r*YF^>#*1O0 zQP;)hC!Ls4+6MG*mnEH2!O68?;AGu~vdE}7(3PNHhsb@YLo8pxv)949xP!XHj`?*N z3C!V?b0RCr(j^7)O$82Eih4Ue0i9p<7TVSj9kPs{Bab%hrX?+>k?nSP{WbCTrbgVc+sbF zw3LC5sK%yL;NTWh$IZS?Isbso6L+C}FI9hZ=ET!iv2h+RvzwaZ^I(aIi7CMfkT7ZZ zV{Y%=oZh=QL{v6Uc~jc`&(sA;*Q|+Ud&7Fedi%66-IY{@lh$%O^1|?5`{M%I1KLsb zBANN8I~m!F&lcudJjD_S6|u@$bB4q_)2UMVE;&UrQLk=axqYRt$}pn^&&n5a$|1z5 zNycp0W?H>2b?@V$k!SRw;v-sBYA>&>4fd-mw{JG77VE-Wg)e=$_RGPjm??FW8P_M5 zFCdD`Y1W+8B`Fp3(urmY67OXWv0G*=tLBGC-#vpk3fZ@e{44oi#6esmyv(a{SwHY!3DZ+v0YQ&X;IBhdhWCG$xJM1^Yt>F4 z#bXtnMf5JXw^sVrzF_dDg%Cn*9(#B9@dV?7nv^=tLQiW z)2i@B;r{-s?N>k9XCAAwcM94$JVJj}@N%HIIKp%G{=0^X&1Gu+gID#)W%eCg&Rh-L zD={kF%5gB(w=VY3nW$BTI?Z2oEH$L7)GZB18norP2QVY8%B^16d0p_s@O*erQh$r$ z9-Y04fx6zuY@EC#(J<%@B)IW{=$A@e$ymbW8?q16RMsiO^a1J9rWwezKwQ_1Aex?^wElPq;d z1`gOf#oVfo4lqm37(45nwfAJWK^rDEW^N)kYeK{lFV^y63NxYFZCIqE@2)?ghxc#r z^*w%-?*AdWIBCmtuYSgZ<uxmo8-n(OT7Hr}<(11;`1KhmgY zBpx7W)YG@-pCeC%_68!QGGi?61XHK`TE*UMw&}jo*Q7(V2?@UEUWQ*RxOzcYs$WRk zD(8d|MOiGZNN;KJxq6=cq0>ptk6*>cu%?!RT6q&Qss$(H3F?DNxZvNJ< zm`kd8??iZ8qNjTX$$@J34b(Zjp3|=V;?;eHZ(_kKu6}iYjrEeBN%_kH+X6YYXersw zIekHN+VF$i6Qw~-Ep;c2xP>9r6cJhFlpu}6;+jDUM-V6rUX%r=ow&vk(2iaarJW%x zx#?$Ytp!-66BE(spm8>~eTNQwc;TCP!Tf^9I3$&8Ur}BYV_zwcR4OSUx|MGA2*Fo} zAsZ$a8%9+Nz3Xx=UK6|daZh2H&_{Qnj53e4AqV}Kw?mdY(EYW~9xQ+QP4U{*;;H^u z^@i2-vI+yVYelS&$9U=81~pSbt-LvNAv36{sQ}4`;lqT`iHLEc8?UG)V%V>MSKtOO z$`r1Vx&4i!G9Q(xP} zkluNWhv|hmTTCiv`G;;6indqC#2)8{>hP)J=uUiRwrb9DoaVL7Cj-X!Y1f}%7zn#! zEb@X5Fpjl#4chx<1;B-1jy%>XbxKVoV(~~3Ry*5zHzhYO(caNfaa@SA*~A%zv+4W3 z}nIk&(^N^Wpp9Dm<|t7h2Y!^hm(n;+IOY$#zI1N$n& zG{N|l?<~vGi0*&$XjT7><-o33o2N+Odc#w)SDtrJZ@qqWKP^j4NC6A<%vY;0v z?B-1wvk|rm&8=3Hq?*&GYj$bukJ_&h7uj^dWO@PF_R06qaazMn90OmlUG?#y@HE_) zL+$=A4=_oRd8zNP%6(qUKq0sghOI;RZsE%3pGfq{mB=*$dZ1SYY$G{-9TBSSB6@5TN*x#$vt6XG;stT6zhv8d$*$&W_Rrye64lm z=&Ps2*J9_N7ZTC^vHSrSA#1$#nZ}kl`zqW-Zf#R;?IOOKp;uhHNJlCeWh!QMs_wpAT5NG_zES1ql?ffn6&v5l z%ACX$R&4U@L{h}o2ekrMYP$OpusAq$M$Hlot}&+c^>Z z!AET6-ed>WC%?m^Lt;F`Y}`j|V!}@T3bLYnm0Z43e4<*<$u_==>s(G!&f_QfEq!H$ zRYfnJy?VM!*M3lU@wuLE9}&}ENwn%p;f5;2a&vH5X3fgTGY)QX@(rVOqW^UlJ+75WU*yRN5oCpeH2oN&d&JpPX1~d~# znkns{FVq<_objdzuEb>XcZ<*C+JHBNsx*7tc>A~A^2OeB0nN>nkcHf6OWl-{3Veb& zNlGpCC*!8-_E%n^#x;f%>_{y7T>?yQ(?&<*)K1pGOfIrPyzzpm(wY~CE!~rCyz7oF z&37`g7)8L{V>afA7x$cgDjz}$R&8u!gvWD(PE?@)dQ+VIFR10UCoKyP!uada6m$^E zuhW`PCJv7mO%X>=HXAs*HILNMUw_*ATSeU`cb`

?n=SqPLBzVh_$ugq?L=^>Ufi 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 n_+Q;4OO>xHH=TZdcj}b(vS { routeConfig={currentRoute} /> }, - { - title: 'Permissions', - children:

WIP
- }, ]}/>} {!config &&
diff --git a/client/src/pages/config/users/proxyman.jsx b/client/src/pages/config/users/proxyman.jsx index 0f4ec6e..1a195f0 100644 --- a/client/src/pages/config/users/proxyman.jsx +++ b/client/src/pages/config/users/proxyman.jsx @@ -215,20 +215,6 @@ const ProxyManagement = () => { disableElevation fullWidth onClick={() => { - if(routes.some((route, key) => { - let errors = ValidateRoute(route, config); - if (errors && errors.length > 0) { - errors = errors.map((err) => { - return `${route.Name}: ${err}`; - }); - setSubmitErrors(errors); - return true; - } - })) { - return; - } else { - setSubmitErrors([]); - } API.config.set(cleanRoutes(updateRoutes(routes))).then(() => { setNeedSave(false); setOpenModal(true); diff --git a/client/src/pages/home/index.jsx b/client/src/pages/home/index.jsx index cc836e0..fcd5320 100644 --- a/client/src/pages/home/index.jsx +++ b/client/src/pages/home/index.jsx @@ -3,7 +3,8 @@ import Back from "../../components/back"; import { Alert, Box, CircularProgress, Grid, Stack, useTheme } from "@mui/material"; import { useEffect, useState } from "react"; import * as API from "../../api"; -import wallpaper from '../../assets/images/wallpaper.jpg'; +import wallpaper from '../../assets/images/wallpaper2.jpg'; +import wallpaperLight from '../../assets/images/wallpaper2_light.jpg'; import Grid2 from "@mui/material/Unstable_Grid2/Grid2"; import { getFaviconURL } from "../../utils/routes"; import { Link } from "react-router-dom"; @@ -13,28 +14,48 @@ import IsLoggedIn from "../../isLoggedIn"; const HomeBackground = () => { const theme = useTheme(); + const isDark = theme.palette.mode === 'dark'; return ( - - Cosmos + + Cosmos ); }; -const blockStyle = { - margin: 0, - whiteSpace: 'nowrap', - overflow: 'hidden', - textOverflow: 'ellipsis', - maxWidth: '78%', - verticalAlign: 'middle', -} - const HomePage = () => { const { routeName } = useParams(); const [serveApps, setServeApps] = useState([]); const [config, setConfig] = useState(null); const [coStatus, setCoStatus] = useState(null); const [containers, setContainers] = useState(null); + const theme = useTheme(); + const isDark = theme.palette.mode === 'dark'; + + const blockStyle = { + margin: 0, + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', + maxWidth: '78%', + verticalAlign: 'middle', + } + + const appColor = isDark ? { + color: 'white', + background: 'rgba(0,0,0,0.35)', + } : { + color: 'black', + background: 'rgba(255,255,255,0.35)', + } + + const backColor = isDark ? '0,0,0' : '255,255,255'; + const textColor = isDark ? 'white' : 'dark'; + const refreshStatus = () => { API.getStatus().then((res) => { @@ -64,18 +85,19 @@ const HomePage = () => { @@ -144,8 +172,8 @@ const HomePage = () => { } } return !skip && - - + + @@ -162,7 +190,7 @@ const HomePage = () => { {config && config.HTTPConfig.ProxyConfig.Routes.length === 0 && ( - +

No Apps

diff --git a/client/src/pages/servapps/containers/newService.jsx b/client/src/pages/servapps/containers/newService.jsx index 3ce1e94..65c9b55 100644 --- a/client/src/pages/servapps/containers/newService.jsx +++ b/client/src/pages/servapps/containers/newService.jsx @@ -19,6 +19,7 @@ import VolumeContainerSetup from './volumes'; import DockerTerminal from './terminal'; import { Link } from 'react-router-dom'; import { smartDockerLogConcat, tryParseProgressLog } from '../../../utils/docker'; +import { LoadingButton } from '@mui/lab'; const preStyle = { backgroundColor: '#000', @@ -64,7 +65,9 @@ const NewDockerService = ({service, refresh}) => { }, []); const create = () => { - setLog([]) + setLog([ + 'Creating Service... ', + ]) API.docker.createService(service, (newlog) => { setLog((old) => smartDockerLogConcat(old, newlog)); preRef.current.scrollTop = preRef.current.scrollHeight; @@ -75,7 +78,7 @@ const NewDockerService = ({service, refresh}) => { }); } - const needsRestart = service && service.service && service.service.some((c) => { + const needsRestart = service && service.services && Object.values(service.services).some((c) => { return c.routes && c.routes.length > 0; }); @@ -83,13 +86,14 @@ const NewDockerService = ({service, refresh}) => { - {!isDone && } + >Create} {isDone && Service Created! {needsRestart && Cosmos needs to be restarted to apply changes to the URLs} diff --git a/client/src/pages/servapps/containers/newServiceForm.jsx b/client/src/pages/servapps/containers/newServiceForm.jsx index 8587ebd..1f15a04 100644 --- a/client/src/pages/servapps/containers/newServiceForm.jsx +++ b/client/src/pages/servapps/containers/newServiceForm.jsx @@ -1,7 +1,7 @@ import * as React from 'react'; import MainCard from '../../../components/MainCard'; import RestartModal from '../../config/users/restart'; -import { Alert, Button, Chip, Divider, Stack, useMediaQuery } from '@mui/material'; +import { Alert, Button, Checkbox, Chip, Divider, Stack, useMediaQuery } from '@mui/material'; import HostChip from '../../../components/hostChip'; import { RouteMode, RouteSecurity } from '../../../components/routeComponents'; import { getFaviconURL } from '../../../utils/routes'; @@ -56,7 +56,7 @@ const NewDockerServiceForm = () => { }); let service = { - Services: { + services: { container_name : { container_name: containerInfo.Name, image: containerInfo.Config.Image, @@ -72,7 +72,7 @@ const NewDockerServiceForm = () => { acc[cur] = {}; return acc; }, {}), - Routes: [containerInfo.Route] + routes: containerInfo.CreateRoute ? [containerInfo.Route] : [], } }, } @@ -164,40 +164,53 @@ const NewDockerServiceForm = () => { { title: 'URL', disabled: maxTab < 1, - children: { - const newValues = { - ...containerInfo, - Route: newRoute, - } - setContainerInfo(newValues); - }} - up={() => {}} - down={() => {}} - deleteRoute={() => {}} - noControls - lockTarget - />{nav()} + children: + + { + const newValues = { + ...containerInfo, + CreateRoute: e.target.checked, + } + setContainerInfo(newValues); + }} + />Create a URL to access this ServApp + + {containerInfo.CreateRoute && { + const newValues = { + ...containerInfo, + Route: newRoute, + } + setContainerInfo(newValues); + }} + up={() => {}} + down={() => {}} + deleteRoute={() => {}} + noControls + lockTarget + />}{nav()} }, { title: 'Network', diff --git a/client/src/pages/servapps/containers/overview.jsx b/client/src/pages/servapps/containers/overview.jsx index 34998fd..9822372 100644 --- a/client/src/pages/servapps/containers/overview.jsx +++ b/client/src/pages/servapps/containers/overview.jsx @@ -123,7 +123,7 @@ const ContainerOverview = ({ containerInfo, config, refresh }) => { disabled={isUpdating} onChange={(e) => { setIsUpdating(true); - API.docker.secure(Name, e.target.checked).then(() => { + API.docker.secure(Name.replace('/', ''), e.target.checked).then(() => { setTimeout(() => { refreshAll(); }, 3000); @@ -137,7 +137,7 @@ const ContainerOverview = ({ containerInfo, config, refresh }) => { disabled={isUpdating} onChange={(e) => { setIsUpdating(true); - API.docker.autoUpdate(Name, e.target.checked).then(() => { + API.docker.autoUpdate(Name.replace('/', ''), e.target.checked).then(() => { setTimeout(() => { refreshAll(); }, 3000); diff --git a/client/src/pages/servapps/servapps.jsx b/client/src/pages/servapps/servapps.jsx index e1623b7..79e33b4 100644 --- a/client/src/pages/servapps/servapps.jsx +++ b/client/src/pages/servapps/servapps.jsx @@ -226,7 +226,7 @@ const ServeApps = () => { })} - {isUpdating[app.Id] ?
+ {isUpdating[app.Names[0].replace('/', '')] ?
: @@ -239,14 +239,15 @@ const ServeApps = () => { checked={app.Labels['cosmos-force-network-secured'] === 'true'} disabled={app.State !== 'running'} onChange={(e) => { - setIsUpdatingId(app.Id, true); - API.docker.secure(app.Id, e.target.checked).then(() => { + const name = app.Names[0].replace('/', ''); + setIsUpdatingId(name, true); + API.docker.secure(name, e.target.checked).then(() => { setTimeout(() => { - setIsUpdatingId(app.Id, false); + setIsUpdatingId(name, false); refreshServeApps(); }, 3000); }).catch(() => { - setIsUpdatingId(app.Id, false); + setIsUpdatingId(name, false); refreshServeApps(); }) }} @@ -257,14 +258,15 @@ const ServeApps = () => { checked={app.Labels['cosmos-auto-update'] === 'true'} disabled={app.State !== 'running'} onChange={(e) => { - setIsUpdatingId(app.Id, true); - API.docker.autoUpdate(app.Id, e.target.checked).then(() => { + const name = app.Names[0].replace('/', ''); + setIsUpdatingId(name, true); + API.docker.autoUpdate(name, e.target.checked).then(() => { setTimeout(() => { - setIsUpdatingId(app.Id, false); + setIsUpdatingId(name, false); refreshServeApps(); }, 3000); }).catch(() => { - setIsUpdatingId(app.Id, false); + setIsUpdatingId(name, false); refreshServeApps(); }) }} diff --git a/package.json b/package.json index f1eef0a..9b30817 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cosmos-server", - "version": "0.5.0-unstable24", + "version": "0.5.0-unstable25", "description": "", "main": "test-server.js", "bugs": {