From 772a1ea02e69836e12bd95611538f91b63b8b70a Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 24 Sep 2021 18:26:21 +0100 Subject: [PATCH] Show page number buttons on timeline --- epicyon-profile.css | 4 ++++ webapp_timeline.py | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/epicyon-profile.css b/epicyon-profile.css index ab86fb93d..0cd168d60 100644 --- a/epicyon-profile.css +++ b/epicyon-profile.css @@ -1687,6 +1687,8 @@ div.container { .columnIcons img { float: right; } + .pageslist { + } } @media screen and (min-width: 2200px) { @@ -2362,4 +2364,6 @@ div.container { float: right; margin-right: 1vw; } + .pageslist { + } } diff --git a/webapp_timeline.py b/webapp_timeline.py index 3ea999f78..9f33e1567 100644 --- a/webapp_timeline.py +++ b/webapp_timeline.py @@ -395,6 +395,29 @@ def _htmlTimelineEnd(baseDir: str, nickname: str, domainFull: str, return tlStr +def _pageNumberButtons(usersPath: str, boxName: str, pageNumber: int) -> str: + """Shows selactable page numbers at the bottom of the screen + """ + pagesWidth = 4 + pagesStr = '
' + minPageNumber = pageNumber - pagesWidth + if minPageNumber < 1: + minPageNumber = 1 + maxPageNumber = minPageNumber + 1 + (pagesWidth * 2) + numStr = '' + for page in range(minPageNumber, maxPageNumber + 1): + if numStr: + numStr += ' • ' + pageStr = str(page) + if page == pageNumber: + pageStr = '' + str(page) + '' + numStr += \ + '' + pageStr + '' + pagesStr += '
' + return pagesStr + + def htmlTimeline(cssCache: {}, defaultTimeline: str, recentPostsCache: {}, maxRecentPosts: int, translate: {}, pageNumber: int, @@ -807,6 +830,7 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, # page up arrow if pageNumber > 1: tlStr += textModeSeparator + tlStr += _pageNumberButtons(usersPath, boxName, pageNumber) tlStr += \ '
\n' + \ ' \n' + \ '
\n' + tlStr += _pageNumberButtons(usersPath, boxName, pageNumber) tlStr += textModeSeparator elif itemCtr == 0: tlStr += _getHelpForTimeline(baseDir, boxName)