From 96ef34eb77c9f4177f98aac417f2b8c297e5ca28 Mon Sep 17 00:00:00 2001 From: Bob Mottram 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 24f94156..4a7df439 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 168e2e66..55c63991 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
- 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 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 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)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+yQLVQjy{D4^000SaNLh0L z01ejw01ejxLMWSf00007bV*G`2jd4C2`K_}8Er2B009F@L_t(|+U=T262l-21R=#2 zc_ojGuQ>!SFi2p!&k1`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`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)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&wgjJ_!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)Fksxz=Br+s=`J-+Hg?kz~Nx%U_M&Tlcx5;vISKfv7|?uZB=m z=^wSrl!(z+W`V2*L{*ItX-`d`0RRBNUq6qA+{{$TOn8`^DPicHuDt0o55lf z9(@FU`e`x<0RR91003<;K>PA)r`6l|eq9ZsL@@99&p{E4II=3UfD8Zt05qCu#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 51e95f04..482d2c49 100644 --- a/webinterface.py +++ b/webinterface.py @@ -92,8 +92,20 @@ def htmlNewPost(baseDir: str,path: str) -> str: '' \ ' ' \ '' \ - ' ' \ + ' ' \ '
' \ '' newPostForm+=htmlFooter() @@ -399,8 +411,7 @@ def htmlTimeline(session,baseDir: str,wfRequest: {},personCache: {}, \ '
' \ '
' \ '
\n' \ - '
'+ \ - newPostStr+ \ + '
'+newPostStr+ \ ' ' \ ' ' \ ' ' \