From 62d596bade5a3bc7ed570dcbebf6c2404b2b1a93 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 24 Jul 2019 13:02:28 +0100 Subject: [PATCH] Show timeline banner --- daemon.py | 12 ++++++++++- epicyon-profile.css | 9 ++++++++ img/banner.png | Bin 0 -> 40995 bytes person.py | 2 ++ webinterface.py | 49 ++++++++++++++++++++++++++++++++++---------- 5 files changed, 60 insertions(+), 12 deletions(-) create mode 100644 img/banner.png diff --git a/daemon.py b/daemon.py index a15211755..96f586d50 100644 --- a/daemon.py +++ b/daemon.py @@ -704,6 +704,9 @@ class PubServer(BaseHTTPRequestHandler): True,self.server.ocapAlways) if inboxFeed: if 'text/html' in self.headers['Accept']: + nickname=self.path.replace('/users/','').replace('/inbox','') + if '?page=' in nickname: + nickname=nickname.split('?page=')[0] if 'page=' not in self.path: # if no page was specified then show the first inboxFeed=personBoxJson(self.server.baseDir, \ @@ -712,11 +715,13 @@ class PubServer(BaseHTTPRequestHandler): self.path+'?page=1', \ self.server.httpPrefix, \ maxPostsInFeed, 'inbox', \ - True,self.server.ocapAlways) + True,self.server.ocapAlways) self._set_headers('text/html') self.wfile.write(htmlInbox(self.server.session, \ + self.server.baseDir, \ self.server.cachedWebfingers, \ self.server.personCache, \ + nickname, \ self.server.domain, \ inboxFeed).encode('utf-8')) else: @@ -744,6 +749,9 @@ class PubServer(BaseHTTPRequestHandler): self.server.ocapAlways) if outboxFeed: if 'text/html' in self.headers['Accept']: + nickname=self.path.replace('/users/','').replace('/outbox','') + if '?page=' in nickname: + nickname=nickname.split('?page=')[0] if 'page=' not in self.path: # if a page wasn't specified then show the first one outboxFeed=personBoxJson(self.server.baseDir,self.server.domain, \ @@ -755,8 +763,10 @@ class PubServer(BaseHTTPRequestHandler): self._set_headers('text/html') self.wfile.write(htmlOutbox(self.server.session, \ + self.server.baseDir, \ self.server.cachedWebfingers, \ self.server.personCache, \ + nickname, \ self.server.domain, \ outboxFeed).encode('utf-8')) else: diff --git a/epicyon-profile.css b/epicyon-profile.css index 6ef53a1e3..c5d1a3395 100644 --- a/epicyon-profile.css +++ b/epicyon-profile.css @@ -6,6 +6,15 @@ body, html { margin: 0 auto; } +.timeline-banner { + background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("banner.png"); + height: 10%; + background-position: center; + background-repeat: no-repeat; + background-size: cover; + position: relative; +} + .hero-image { background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("image.png"); height: 50%; diff --git a/img/banner.png b/img/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..9e90513d22d38ac25a517bec17a4ad751928671d GIT binary patch literal 40995 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'+postJsonObject['object']['published']+'\n'+ \ '\n' -def htmlTimeline(session,wfRequest: {},personCache: {}, \ - domain: str,timelineJson: {}) -> str: +def htmlTimeline(session,baseDir: str,wfRequest: {},personCache: {}, \ + nickname: str,domain: str,timelineJson: {},boxName: str) -> str: """Show the timeline as html """ if not timelineJson.get('orderedItems'): return "" - tlStr=htmlHeader() + + with open(baseDir+'/epicyon-profile.css', 'r') as cssFile: + profileStyle = \ + cssFile.read().replace('banner.png', \ + '/users/'+nickname+'/banner.png') + + localButton='button' + personalButton='button' + federatedButton='button' + if boxName=='inbox': + localButton='buttonselected' + elif boxName=='outbox': + personalButton='buttonselected' + elif boxName=='federated': + federatedButton='buttonselected' + + actor='/users/'+nickname + tlStr=htmlHeader(profileStyle) + tlStr+= \ + '
' \ + '
' \ + '
\n' \ + '
' \ + ' ' \ + ' ' \ + ' ' \ + '
' \ + '
' for item in timelineJson['orderedItems']: if item['type']=='Create': tlStr+=individualPostAsHtml(session,wfRequest,personCache, \ @@ -298,19 +325,19 @@ def htmlTimeline(session,wfRequest: {},personCache: {}, \ tlStr+=htmlFooter() return tlStr -def htmlInbox(session,wfRequest: {},personCache: {}, \ - domain: str,inboxJson: {}) -> str: +def htmlInbox(session,baseDir: str,wfRequest: {},personCache: {}, \ + nickname: str,domain: str,inboxJson: {}) -> str: """Show the inbox as html """ - return htmlTimeline(session,wfRequest,personCache, \ - domain,inboxJson) + return htmlTimeline(session,baseDir,wfRequest,personCache, \ + nickname,domain,inboxJson,'inbox') -def htmlOutbox(session,wfRequest: {},personCache: {}, \ - domain: str,outboxJson: {}) -> str: +def htmlOutbox(session,baseDir: str,wfRequest: {},personCache: {}, \ + nickname: str,domain: str,outboxJson: {}) -> str: """Show the Outbox as html """ - return htmlTimeline(session,wfRequest,personCache, \ - domain,outboxJson) + return htmlTimeline(session,baseDir,wfRequest,personCache, \ + nickname,domain,outboxJson,'outbox') def htmlIndividualPost(session,wfRequest: {},personCache: {}, \ domain: str,postJsonObject: {}) -> str: