From 2b6aa8e86f00d3e36b888fa618fd4d5d01be0f0e Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 29 Jul 2019 19:48:23 +0100 Subject: [PATCH] follow approvals --- epicyon-profile.css | 46 +++++++++++++++++++++++++++++++++++++++++--- img/icons/new.png | Bin 0 -> 3982 bytes webinterface.py | 37 ++++++++++++++++++++++++++++++++++- 3 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 img/icons/new.png diff --git a/epicyon-profile.css b/epicyon-profile.css index 555717bb..16bb3c3c 100644 --- a/epicyon-profile.css +++ b/epicyon-profile.css @@ -33,6 +33,10 @@ body, html { color: white; } +.highlight { + width: 2%; +} + .roles { text-align: center; left: 35%; @@ -73,7 +77,7 @@ body, html { text-align: center; font-size: 18px; padding: 10px; - width: 20%; + width: 25%; max-width: 200px; min-width: 100px; transition: all 0.5s; @@ -81,6 +85,42 @@ body, html { margin: 5px; } +.followApprove { + border-radius: 4px; + background-color: darkgreen; + border: none; + color: #FFFFFF; + text-align: center; + font-size: 18px; + padding: 10px; + width: 15%; + max-width: 150px; + min-width: 100px; + cursor: pointer; + margin: 0 15px; + float: right; +} + +.followDeny { + border-radius: 4px; + background-color: darkred; + border: none; + color: #FFFFFF; + text-align: center; + font-size: 18px; + padding: 10px; + width: 15%; + max-width: 150px; + min-width: 100px; + cursor: pointer; + margin: 0 15px; + float: right; +} + +.followRequestHandle { + padding: 0px 20px; +} + .button span { cursor: pointer; display: inline-block; @@ -116,7 +156,7 @@ body, html { padding: 10px; width: 20%; max-width: 200px; - min-width: 100px; + min-width: 140px; transition: all 0.5s; cursor: pointer; margin: 5px; @@ -169,7 +209,7 @@ body, html { .container img { float: left; max-width: 60px; - width: 100%; + width: 10%; margin-right: 20px; border-radius: 10%; } diff --git a/img/icons/new.png b/img/icons/new.png new file mode 100644 index 0000000000000000000000000000000000000000..2ffba4282025df16af3c2afea3bd8b189049fb48 GIT binary patch literal 3982 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: + # show a star on the followers tab + followApprovals='' + break + if selected=='followers': + if len(followApprovals)>0: + with open(followRequestsFilename,'r') as f: + for followerHandle in f: + if len(line)>0: + if '://' in followerHandle: + followerActor=followerHandle + else: + followerActor=httpPrefix+'://'+followerHandle.split('@')[1]+'/users/'+followerHandle.split('@')[0] + basePath=httpPrefix+'://'+domainFull+'/users/'+nickname + followApprovalsSection+='
' + followApprovalsSection+='' + followApprovalsSection+=''+followerHandle+'' + followApprovalsSection+='' + followApprovalsSection+='' + followApprovalsSection+='' + followApprovalsSection+='' + followApprovalsSection+='
' + actor=profileJson['id'] profileStr= \ '
' \ @@ -313,13 +346,15 @@ def htmlProfile(baseDir: str,httpPrefix: str,authorized: bool, \ '
' \ ' ' \ ' ' \ - ' ' \ + ' ' \ ' ' \ ' ' \ ' ' \ '
' \ '
' + profileStr+=followApprovalsSection + with open(baseDir+'/epicyon-profile.css', 'r') as cssFile: profileStyle = cssFile.read().replace('image.png',actor+'/image.png')