From 96ef34eb77c9f4177f98aac417f2b8c297e5ca28 Mon Sep 17 00:00:00 2001 From: Bob Mottram <bob@freedombone.net> Date: Fri, 26 Jul 2019 11:30:13 +0100 Subject: [PATCH] Add scope icons --- daemon.py | 16 ++++++++++++ epicyon-profile.css | 48 ++++++++++++++++++++++++++++++++-- img/icons/download.png | Bin 0 -> 740 bytes img/icons/like.png | Bin 0 -> 3982 bytes img/icons/like_inactive.png | Bin 0 -> 811 bytes img/icons/scope_dm.png | Bin 0 -> 775 bytes img/icons/scope_followers.png | Bin 0 -> 6882 bytes img/icons/scope_public.png | Bin 0 -> 3253 bytes img/icons/scope_unlisted.png | Bin 0 -> 794 bytes webinterface.py | 17 +++++++++--- 10 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 img/icons/download.png create mode 100644 img/icons/like.png create mode 100644 img/icons/like_inactive.png create mode 100644 img/icons/scope_dm.png create mode 100644 img/icons/scope_followers.png create mode 100644 img/icons/scope_public.png create mode 100644 img/icons/scope_unlisted.png diff --git a/daemon.py b/daemon.py index 24f94156c..4a7df439b 100644 --- a/daemon.py +++ b/daemon.py @@ -464,6 +464,22 @@ class PubServer(BaseHTTPRequestHandler): return self._404() return + # icon images + # Note that this comes before the busy flag to avoid conflicts + if '/icons/' in self.path: + if self.path.endswith('.png'): + mediaStr=self.path.split('/icons/')[1] + mediaFilename= \ + self.server.baseDir+'/img/icons/'+mediaStr + if os.path.isfile(mediaFilename): + if mediaFilename.endswith('.png'): + self._set_headers('image/png') + with open(mediaFilename, 'rb') as avFile: + mediaBinary = avFile.read() + self.wfile.write(mediaBinary) + return + self._404() + return # show avatar or background image # Note that this comes before the busy flag to avoid conflicts if '/users/' in self.path: diff --git a/epicyon-profile.css b/epicyon-profile.css index 168e2e66c..55c639919 100644 --- a/epicyon-profile.css +++ b/epicyon-profile.css @@ -241,16 +241,17 @@ input[type=text], select, textarea { } input[type=submit] { - background-color: #4CAF50; + background-color: #555; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; + font-size: 18px; } input[type=submit]:hover { - background-color: #45a049; + background-color: #555; } .vertical-center { @@ -261,3 +262,46 @@ input[type=submit]:hover { min-width: 600px; margin: 0 auto; } + +.dropbtn { + background-color: #555; + color: white; + padding: 12px 20px; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 18px; +} + +/* The container <div> - needed to position the dropdown content */ +.dropdown { + position: relative; + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #f1f1f1; + min-width: 260px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: black; + padding: 12px 16px; + text-decoration: none; + display: block; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover {background-color: #ddd;} + +/* Show the dropdown menu on hover */ +.dropdown:hover .dropdown-content {display: block;} + +/* Change the background color of the dropdown button when the dropdown content is shown */ +.dropdown:hover .dropbtn {background-color: #3e8e41;} diff --git a/img/icons/download.png b/img/icons/download.png new file mode 100644 index 0000000000000000000000000000000000000000..03b2c4ce750729ccad74328ef753a4a437732a92 GIT binary patch literal 740 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJZrCPdtWfLAvShy?0G2}?#>VOumrC}LY4?el1pK)ozk{uRY>sZ<C z#a8p_o!e!#gRAKQdq?-`$&0$D{Mf(bg3__($8~#lf8SBf&e6*ie0E)-!&M#SxgFg% z@2rxjaAgquk|d(oIrCSH*3_2gKX$eEuP-;8_q6uidBLDhYRolCA9XJCc2_i4R9(Jg z`Chm^(le;zeCKhVT?!wSucuDGZy_!#R*`n&#FFQohmRy}Y<|j@rs}LZPpMC9mD^9J zYpJcD#nQJ1C9kdiB+mBv)+wXwnS6?kt~!dWf<{>yi<!6$qfCQ*mSoz$d)ROBPh@9G z(bR({Ha2L5c=XBt;jb&t7E@Edvm`<0Mcu}?{fP=2xJ_Pf`&*lH`>gPR|2#37x%FEa z&(utc%g?^3yr5os$Bw-0PjUr2nR)D9PExd-G=Euu2E+UGFTR!u55!(X7guM$ef)*- zL_qjS=?4!4Bs7D*?K-}@+N%2Zcc0b!<zo&M&C4rHm<Nm&wj^(N7l!{JxM1({$v_d# z0*}aIU<_UdVMZs7*%d%R_7YEDSN6y3Qk*(+viV0<fkF>GT^vIyZoR#Eu$Re^$K_(9 zjBF~qrHX;mg|ey9pZ<Rrz3m^P5ic$%DCqlk>A!}K9me(huTA>b|NiBDpl(!fgV|^Q z$I!Pq?6;E-XL9U5?3tBo$*Q<nYU%T3c`a{J!ZvL$RSbF4n%cZrdSRB1Zfr~}$5ija zpHJ4ft(bRGb@py9$3o=^va+iLL)e90UR}!NSSc%2FEyDtMc_*RcE&df7IOKlKiCg` zt*}0z&vEYfc7__~0{eZu4>%V-{`l7QNbRd#E-ogEK9)23C4(FWbhF^a19r<NhFE^p RQfdMTdAj<!taD0e0sv;OHaGwP literal 0 HcmV?d00001 diff --git a/img/icons/like.png b/img/icons/like.png new file mode 100644 index 0000000000000000000000000000000000000000..2ffba4282025df16af3c2afea3bd8b189049fb48 GIT binary patch literal 3982 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 literal 0 HcmV?d00001 diff --git a/img/icons/like_inactive.png b/img/icons/like_inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..696562781bf32a5ca4b34e85d4a0b7b7037ea46e GIT binary patch literal 811 zcmV+`1JwM9P)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF0004mX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iQ>7{u2RoGFkfAzR5fyRNDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_7;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDA1=5kLgJ7(-ZQmN6$uNpu`v_we!cF2=JupZjz4t2v7SK9P8q8KzCVK|H-_ z8=UuvL#!yP#OK7LCS8#Dk?V@bZ=4G*3p_Jqrc?98A!4!6#!4HrqNx#25l2-`r+gvf zvC4UivsSLM<~{ifgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9Y7#T)#vvg<K^t zax9<%4YKP8|AXJ%TKUNdFDV!Yx?ddUV;BhR0*#vEd>=bb;{@<O16O*>U#SB#pQP7X zTJ#7Q*aj}HTbi;5T<!qjCqp)6SMt*o@_FF>jJ_!g4Bi5LYhG{7eVjf3Y3eF@0~{Oz zBL&J{@9^%P_TK(I)9mjDf1GlxcqL=D00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliru;|CfEFEs7>UoZdw0VqjCK~#9!?V7<3gdhw=#qf)K zr5~v$lf7(&rFPoo&CSF_na;EfVcP%z0BF!!J6mg~@*noqi%^u+|9n1<qo4o?Si}O~ z8lS=jC?HDpRVqLMk*cpy0b>vg1e3qF4NySD>U*jH1w^gBmkLmTqN;CVR52yn0<Fox z0vTm)X^oQE?-o6wt6^j%p{F5scg$=g^iG4Jk&%Ujkx@9j4~R~J$vz+}3BPQcr}o)V zh?vO>(?LT`!faSFNm?orERv#G)bu97Dkhs|Z7&im&j>gchXCU6+D#A(Kma{p?VTVN zPzM>+{lFVFf^_d^g_Ydn@KeRT?-5j0)t}z;QbUcha1{}I#KpfAeccpb{nKx%!Sqnn pYou9zcaK{2DBl7A006-M;sRfYlw`ML^_2hs002ovPDHLkV1nydUIqXF literal 0 HcmV?d00001 diff --git a/img/icons/scope_dm.png b/img/icons/scope_dm.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8fa62701671172418ce61bd05b2353f4d119a9 GIT binary patch literal 775 zcmV+i1Ni)jP)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF0004nX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iQ>7{u5j#k6$WX<>f~bh2R-p(LO0CeUgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pw7gr}m7b)?7NufoI2gm(*ckglc4iM^PrkWk&fT~$W zDjpLv*;O&{iU7js#whwFX6kdvWCEV!>mEM7-bHzq_qjhuuaYwv;1h{wnQmCb8^qI_ zmd<&fIK+yQLVQj<X3zzRAGt2O{KmQ9u)s4zMmjZ593mDAZ7jDjD;g^C6mdjRHOdz< zE-Re3IIHC<Yu=N;FqqR;mbp%I2yrZ82}y{MQAG)5ScuZ9kzyi6`!NrH*zqUHC6lWJ zMvetkph9x|;D7MDTQfg7;U)!RK<A5Xe+&bGU7%63?eAmTZkz!AXW&X}`73o`=9BbV zON$%<ecQmrbxV`?fXf|V@JW{p$&vgtg?t`(KcjET0t2@|&zjp?b04P<K$^Nr+yDoM zz(|3z*FE0d)!y5`XPW)}0ADw9pNVC8$p8QV24YJ`L;(K){{a7>y{D4^000SaNLh0L z01ejw01ejxLMWSf00007bV*G`2jd4C2`K_}8Er2B009F@L_t(|+U=T262l-21R=#2 zc_ojGuQ>!SFi2p!&k1<iVsjA!00000>`A=yqnz`1#c-vR*d<`q;7>%vw}-!y5O)ZF zCgHRDB!~b6h?kWWmcFhEm{~&0v!$MnW?3zIUP@AQ>?J}`jgN*vEvUz^sP*~uWi&UU zdH~Dd(v6TuHH?rhX>fEksM`P6j`YFRA}rdI?gW*?!fK8g)=6uCk-<$*gDutIv9g$S zcoobl`0z<kwR5xV-}E?qCz$oNIt62DW$$&KaQh(g8`$$ynSvuT9H;pth5!U0009U< z00Izz00bZa0SG|AesE3h>`z-?lzfAT749?v0001h7Y9Z*q*O;0_L%?x002ovPDHLk FV1fbCMvDLd literal 0 HcmV?d00001 diff --git a/img/icons/scope_followers.png b/img/icons/scope_followers.png new file mode 100644 index 0000000000000000000000000000000000000000..623cad92d070bc13aa888ac6948dfb2a90d48628 GIT binary patch literal 6882 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 literal 0 HcmV?d00001 diff --git a/img/icons/scope_public.png b/img/icons/scope_public.png new file mode 100644 index 0000000000000000000000000000000000000000..fd999f7c3547b9739bfada4dd93e273b3a90eda5 GIT binary patch literal 3253 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 literal 0 HcmV?d00001 diff --git a/img/icons/scope_unlisted.png b/img/icons/scope_unlisted.png new file mode 100644 index 0000000000000000000000000000000000000000..2b82a5602e7152a99bf836518553535588f23dbb GIT binary patch literal 794 zcmV+#1LgdQP)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF0004mX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iQ>7{u2P;T%$j~}j5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|;_9U6A|?JWDYS_7;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDA1=5kMHdh+;@)mN6$uNpu`v_we!cF2=JupZjz4t2v7SK9P8q8KzCVK|H-_ z8=UuvL#!yP#OK6gCS8#Dk?V@bZ=4G*3p_Jqrc?98A!4!6#!4HrqNx#25l2)_r+gvf zvC4UivsSLM<~{ifgE@U=nd>x1kia6AAVGwJDoQBBMvPXS6bmWZk9Y8gUB5&wg<K^t zax9<%4YKP8|AXJ%TKUNdFDV!Yx?ddUBMJm|fkw@7zK<QJaRT_Cfh)b`uhfB=Ptt2G zEph}5Yy%h9Elt@2E_Z<8Cqp)6SMt*o@_FF>jJ_!g4Bi5LYhG{7eVjf3Y3eF@0~{Oz zqXo)d@9^%P_TK(I)9mjDVXktZ**-y{00006VoOIv0RI600RN!9r;`8x010qNS#tmY z4c7nw4c7reD4Tcy000McNliru;|CfECk1r=)dBzj0T)R`K~#9!?V3vtgD?z4ag-}^ zN)Fksx<N%iAY;dQvy8-No{epkEDM@j=JC*VT|fWUw{5eu0FF!_Nd?2A8CQd_$mSIg zEV}vL5NrhVJt3Hv`MsIe>z=Br+s=`J-+Hg?kz~Nx%U_M&Tlcx5;vISKfv7|?uZB=m z=^wSrl!(z+W`V2*L{*ItX-`d`0RRBN<Z3Eh>Uq6qA+{{$TOn8`^DPicHuDt0o55lf z9(@FU`e`x<0RR91003<;K>PA)r`6l|eq9ZsL@@99&p{E4II=3UfD8Zt05qC<dz=io z5n1&h<aS1A+ELisFf{-G000000PtcP9DUQ2PavbIF6RSAJqLIuj>u#xd|9&;A%wc= Y3#wp*f`G0duK)l507*qoM6N<$f)xl-LjV8( literal 0 HcmV?d00001 diff --git a/webinterface.py b/webinterface.py index 51e95f04d..482d2c497 100644 --- a/webinterface.py +++ b/webinterface.py @@ -92,8 +92,20 @@ def htmlNewPost(baseDir: str,path: str) -> str: '' \ ' <textarea id="message" name="message" placeholder="Write something..." style="height:200px"></textarea>' \ '' \ - ' <input type="submit" value="Cencel">' \ + ' <div class="container">' \ + ' <input type="submit" value="Cancel">' \ ' <input type="submit" value="Submit">' \ + ' <div class="dropdown">' \ + ' <button class="dropbtn">Scope</button>' \ + ' <div class="dropdown-content">' \ + ' <a href="#"><img="/icons/scope_public.png"/><b>Public</b><br>Visible to anyone</a>' \ + ' <a href="#"><img="/icons/scope_unlisted.png"/><b>Unlisted</b><br>Not shown on public timeline</a>' \ + ' <a href="#"><img="/icons/scope_followers.png"/><b>Followers Only</b><br>Only sent to followers</a>' \ + ' <a href="#"><img="/icons/scope_dm.png"/><b>Direct Message</b><br>Sent only to mentioned people</a>' \ + ' <a href="#"><img="/icons/scope_offer.png"/><b>Offer</b><br>Describe a shared item</a>' \ + ' </div>' \ + ' </div>' \ + ' </div>' \ ' </div>' \ '</form>' newPostForm+=htmlFooter() @@ -399,8 +411,7 @@ def htmlTimeline(session,baseDir: str,wfRequest: {},personCache: {}, \ '<div class="timeline-banner">' \ '</div>' \ '<div class="container">\n' \ - ' <center>'+ \ - newPostStr+ \ + ' <center>'+newPostStr+ \ ' <a href="'+actor+'/inbox"><button class="'+localButton+'"><span>Local </span></button></a>' \ ' <a href="'+actor+'/outbox"><button class="'+personalButton+'"><span>Personal </span></button></a>' \ ' <a href="'+actor+'/federated"><button class="'+federatedButton+'"><span>Federated </span></button></a>' \