\n'
diff --git a/webapp_create_post.py b/webapp_create_post.py
index 36ddd295..a2ac21f7 100644
--- a/webapp_create_post.py
+++ b/webapp_create_post.py
@@ -15,8 +15,9 @@ from utils import getImageFormats
from utils import getMediaFormats
from webapp_utils import getBannerFile
from webapp_utils import htmlHeaderWithExternalStyles
+from webapp_utils import htmlHeaderBanner
from webapp_utils import htmlFooter
-from webapp_headerbuttons import headerButtonsTimeline, headerNewsTabs
+from webapp_headerbuttons import headerButtonsTimeline
from posts import isModerator
@@ -574,38 +575,16 @@ def htmlNewPost(cssCache: {}, mediaInstance: bool, translate: {},
usersPath = '/users/' + nickname
- newPostForm += '\n'
+ # 'authorized' is assumed to be True if this function is being called
+ # TODO: Confirm this assumption
+ newPostForm += htmlHeaderBanner(defaultTimeline, 'inbox', baseDir, usersPath,
+ True, translate, userPages, bannerFile)
mentionsStr = ''
for m in mentions:
diff --git a/webapp_frontscreen.py b/webapp_frontscreen.py
index 802885c8..2b93861f 100644
--- a/webapp_frontscreen.py
+++ b/webapp_frontscreen.py
@@ -12,11 +12,10 @@ from utils import getDomainFromActor
from utils import getConfigParam
from person import personBoxJson
from webapp_utils import htmlHeaderWithExternalStyles
-from webapp_utils import htmlFooter
+from webapp_utils import htmlHeaderBanner, htmlFooter
from webapp_utils import getBannerFile
from webapp_utils import htmlPostSeparator
from webapp_utils import headerButtonsFrontScreen
-from webapp_headerbuttons import headerNewsTabs
from webapp_column_left import getLeftColumnContent
from webapp_column_right import getRightColumnContent
from webapp_post import individualPostAsHtml
@@ -111,21 +110,9 @@ def htmlFrontScreen(rssIconAtTop: bool,
# If this is the news account then show a different banner
bannerFile, bannerFilename = getBannerFile(baseDir, nickname, domain)
- profileHeaderStr = '\n'
+ # NOTE: This currently more-or-less assumes being run only if 'news' instance
+ profileHeaderStr = htmlHeaderBanner(defaultTimeline, 'frontpage', baseDir, '/users/news',
+ authorized, translate, None, bannerFile);
# TODO: Should probably use a more generic class, easier to re-use and help simplify CSS
# NOTE: Related also to class "page" added to 'webapp_create_post.py'
@@ -164,8 +151,11 @@ def htmlFrontScreen(rssIconAtTop: bool,
profileStr += '
\n'
licenseStr = ''
- bannerFile, bannerFilename = \
- getBannerFile(baseDir, nickname, domain, theme)
+
+# NOTE: Redundant
+# bannerFile, bannerFilename = \
+# getBannerFile(baseDir, nickname, domain)
+
profileStr += \
_htmlFrontScreenPosts(recentPostsCache, maxRecentPosts,
translate,
diff --git a/webapp_headerbuttons.py b/webapp_headerbuttons.py
index fea632a6..8e7799fe 100644
--- a/webapp_headerbuttons.py
+++ b/webapp_headerbuttons.py
@@ -361,61 +361,3 @@ def headerButtonsTimeline(defaultTimeline: str,
tlStr += '\t
\n'
return tlStr
-
-
-def headerNewsTabs(boxName: str,
- translate: {},
- usersPath: str,
- baseDir: str,
- authorized: bool,
- userPages: []) -> str:
- navTabList = []
-
- navTabList.append(('tlfeatures',
- {'pageRef': '/tlfeatures',
- 'translateText': 'Features'}
- ))
- navTabList.append(('newswiremobile',
- {'pageRef': '/newswiremobile',
- 'translateText': 'Newswire',
- 'class': 'tab-news'}
- ))
-# navTabList.append(('calendar',
-# {'pageRef': '/calendar',
-# 'translateText': 'Calendar'}
-# ))
- navTabList.append(('linksmobile',
- {'pageRef': '/linksmobile',
- 'translateText': 'Links',
- 'class': 'tab-links'}
- ))
-
- if authorized:
- navTabList.append(('inbox',
- {'pageRef': '/inbox',
- 'translateText': 'User'}
- ))
-
- navStr = '\t\t
\n'
- navStr += '\t\t\t
\n'
-
- for name, config in navTabList:
- classStr = ''
-
- if name == boxName:
- classStr = 'tab-highlight'
- elif name == 'inbox' and userPages and boxName in userPages:
- classStr = 'tab-highlight'
-
- if 'class' in config:
- classStr += ' ' + config['class']
-
- textStr = translate[config['translateText']]
-
- navStr += (f"\t\t\t\t\n"
- f'\t\t\t\t\t- {textStr}
\n'
- f'\t\t\t\t\n')
-
- navStr += '\t\t\t
\n\t\t
\n'
-
- return navStr
diff --git a/webapp_profile.py b/webapp_profile.py
index 2f87e7d2..fd60171f 100644
--- a/webapp_profile.py
+++ b/webapp_profile.py
@@ -44,6 +44,7 @@ from webapp_frontscreen import htmlFrontScreen
from webapp_utils import scheduledPostsExist
from webapp_utils import getPersonAvatarUrl
from webapp_utils import htmlHeaderWithExternalStyle, htmlHeaderWithExternalStyles
+from webapp_utils import htmlHeaderBanner
from webapp_utils import htmlFooter
from webapp_utils import addEmojiToDisplayName
from webapp_utils import getBannerFile
@@ -51,7 +52,7 @@ from webapp_utils import htmlPostSeparator
from webapp_utils import getBlogAddress
from webapp_post import individualPostAsHtml
from webapp_timeline import htmlIndividualShare
-from webapp_headerbuttons import headerButtonsTimeline, headerNewsTabs
+from webapp_headerbuttons import headerButtonsTimeline
def htmlProfileAfterSearch(cssCache: {},
@@ -1205,37 +1206,15 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
usersPath = '/users/' + nickname
- # top banner
- editProfileForm += '\n'
+ # Safe to assume this function would not be called if user was not authorized
+ # TODO: Confirm this assumption
+ editProfileForm += htmlHeaderBanner(defaultTimeline, 'editprofile', baseDir, usersPath,
+ True, translate, userPages, bannerFile)
# TODO: Place form inside a "page" div for 'News' instances
# NOTE: Duplicate of code from webapp_create_post.py
diff --git a/webapp_timeline.py b/webapp_timeline.py
index 3d0607f9..b2c63f91 100644
--- a/webapp_timeline.py
+++ b/webapp_timeline.py
@@ -17,14 +17,14 @@ from person import isPersonSnoozed
from webapp_utils import htmlPostSeparator
from webapp_utils import getBannerFile
from webapp_utils import htmlHeaderWithExternalStyle, htmlHeaderWithExternalStyles
-from webapp_utils import htmlFooter
+from webapp_utils import htmlHeaderBanner, htmlFooter
from webapp_utils import sharesTimelineJson
from webapp_utils import htmlHighlightLabel
from webapp_post import preparePostFromHtmlCache
from webapp_post import individualPostAsHtml
from webapp_column_left import getLeftColumnContent
from webapp_column_right import getRightColumnContent
-from webapp_headerbuttons import headerButtonsTimeline, headerNewsTabs
+from webapp_headerbuttons import headerButtonsTimeline
from posts import isModerator
@@ -141,45 +141,18 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
if defaultTimeline == 'tlfeatures':# and boxName == 'tlfeatures':
newsHeader = True
- # Banner and "profile toggle" link
-
- tlStr += '\n'
-
- elif fullWidthTimelineButtonHeader:
- # Close banner div
- tlStr += '
\n'
+ tlStr += htmlHeaderBanner(defaultTimeline, boxName, baseDir, usersPath,
+ authorized, translate, userPages, bannerFile);
+ if not newsHeader and fullWidthTimelineButtonHeader:
tlStr += \
headerButtonsTimeline(defaultTimeline, boxName, pageNumber,
translate, usersPath,
@@ -188,9 +161,6 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
baseDir, nickname,
domain, timelineStartTime,
iconsAsButtons, userPages)
- else:
- # Close banner div
- tlStr += '