diff --git a/epicyon-profile.css b/epicyon-profile.css index 66426d365..5392a9161 100644 --- a/epicyon-profile.css +++ b/epicyon-profile.css @@ -199,11 +199,6 @@ body, html { margin: 10px 0; } -.darker { - border-color: #ccc; - background-color: #ddd; -} - .container::after { content: ""; clear: both; @@ -218,6 +213,27 @@ body, html { border-radius: 10%; } +.containericons { + border: 0px solid #dedede; + background-color: #f1f1f1; + border-radius: 5px; + padding: 10px; + margin: 10px 0; +} + +.darker { + border-color: #ccc; + background-color: #ddd; +} + +.containericons img { + float: right; + max-width: 35px; + width: 5%; + margin-right: 50px; + border-radius: 10%; +} + .container img.attachment { max-width: 100%; margin-left: 25%; @@ -229,15 +245,22 @@ body, html { margin-left: 20px; margin-right:0; } +.containericons img.right { + float: right; + margin-left: 20px; + margin-right:0; +} .time-right { float: right; color: #aaa; + margin:10px 30px; } .time-left { float: left; color: #999; + margin:10px 0px; } .post-title { diff --git a/img/icons/repeat.png b/img/icons/repeat.png new file mode 100644 index 000000000..ee20b01e0 Binary files /dev/null and b/img/icons/repeat.png differ diff --git a/img/icons/repeat_inactive.png b/img/icons/repeat_inactive.png new file mode 100644 index 000000000..b58913c91 Binary files /dev/null and b/img/icons/repeat_inactive.png differ diff --git a/img/icons/reply.png b/img/icons/reply.png new file mode 100644 index 000000000..e048ec0a0 Binary files /dev/null and b/img/icons/reply.png differ diff --git a/webinterface.py b/webinterface.py index 867653db3..60ee3f121 100644 --- a/webinterface.py +++ b/webinterface.py @@ -198,7 +198,7 @@ def htmlProfilePosts(baseDir: str,httpPrefix: str, \ if item['type']=='Create': profileStr+= \ individualPostAsHtml(baseDir,session,wfRequest,personCache, \ - nickname,domain,port,item) + nickname,domain,port,item,False) return profileStr def htmlProfileFollowing(baseDir: str,httpPrefix: str, \ @@ -412,14 +412,17 @@ def individualFollowAsHtml(session,wfRequest: {}, \ def individualPostAsHtml(baseDir: str, \ session,wfRequest: {},personCache: {}, \ nickname: str,domain: str,port: int, \ - postJsonObject: {}) -> str: + postJsonObject: {}, \ + showIcons=False) -> str: avatarPosition='' containerClass='container' + containerClassIcons='containericons' timeClass='time-right' actorNickname=getNicknameFromActor(postJsonObject['actor']) actorDomain,actorPort=getDomainFromActor(postJsonObject['actor']) titleStr='@'+actorNickname+'@'+actorDomain if postJsonObject['object']['inReplyTo']: + containerClassIcons='containericons darker' containerClass='container darker' avatarPosition=' class="right"' timeClass='time-left' @@ -490,13 +493,21 @@ def individualPostAsHtml(baseDir: str, \ ' ' \ ' ' + footerStr=''+postJsonObject['object']['published']+'\n' + if showIcons: + footerStr='
' + footerStr+='' + footerStr+='' + footerStr+='' + footerStr+=''+postJsonObject['object']['published']+'' + footerStr+='
' + return \ '
\n'+ \ avatarDropdown+ \ '

'+titleStr+'

'+ \ postJsonObject['object']['content']+'\n'+ \ - attachmentStr+ \ - ''+postJsonObject['object']['published']+'\n'+ \ + attachmentStr+footerStr+ \ '
\n' def htmlTimeline(session,baseDir: str,wfRequest: {},personCache: {}, \ @@ -517,6 +528,10 @@ def htmlTimeline(session,baseDir: str,wfRequest: {},personCache: {}, \ sentButton='buttonselected' actor='/users/'+nickname + showIndividualPostIcons=True + if boxName=='inbox': + showIndividualPostIcons=True + followApprovals='' followRequestsFilename=baseDir+'/accounts/'+nickname+'@'+domain+'/followrequests.txt' if os.path.isfile(followRequestsFilename): @@ -542,7 +557,7 @@ def htmlTimeline(session,baseDir: str,wfRequest: {},personCache: {}, \ for item in timelineJson['orderedItems']: if item['type']=='Create': tlStr+=individualPostAsHtml(baseDir,session,wfRequest,personCache, \ - nickname,domain,port,item) + nickname,domain,port,item,showIndividualPostIcons) tlStr+=htmlFooter() return tlStr @@ -566,7 +581,7 @@ def htmlIndividualPost(baseDir: str,session,wfRequest: {},personCache: {}, \ """ return htmlHeader()+ \ individualPostAsHtml(baseDir,session,wfRequest,personCache, \ - nickname,domain,port,postJsonObject)+ \ + nickname,domain,port,postJsonObject,False)+ \ htmlFooter() def htmlPostReplies(postJsonObject: {}) -> str: