mirror of https://gitlab.com/bashrc2/epicyon
Keyboard navigation function
parent
e3ce871226
commit
db9d74aacf
|
@ -270,6 +270,81 @@ def _htmlTimelineModerationButtons(moderator: bool, boxName: str,
|
||||||
return tlStr
|
return tlStr
|
||||||
|
|
||||||
|
|
||||||
|
def _htmlTimelineKeyboard(moderator: bool, textModeBanner: str, usersPath: str,
|
||||||
|
nickname: str, newCalendarEvent: bool,
|
||||||
|
newDM: bool, newReply: bool, newShare: bool,
|
||||||
|
followApprovals: bool,
|
||||||
|
accessKeys: {}, translate: {}) -> str:
|
||||||
|
"""Returns html for timeline keyboard navigation
|
||||||
|
"""
|
||||||
|
calendarStr = translate['Calendar']
|
||||||
|
if newCalendarEvent:
|
||||||
|
calendarStr = '<strong>' + calendarStr + '</strong>'
|
||||||
|
dmStr = translate['DM']
|
||||||
|
if newDM:
|
||||||
|
dmStr = '<strong>' + dmStr + '</strong>'
|
||||||
|
repliesStr = translate['Replies']
|
||||||
|
if newReply:
|
||||||
|
repliesStr = '<strong>' + repliesStr + '</strong>'
|
||||||
|
sharesStr = translate['Shares']
|
||||||
|
if newShare:
|
||||||
|
sharesStr = '<strong>' + sharesStr + '</strong>'
|
||||||
|
menuProfile = \
|
||||||
|
htmlHideFromScreenReader('👤') + ' ' + \
|
||||||
|
translate['Switch to profile view']
|
||||||
|
menuInbox = \
|
||||||
|
htmlHideFromScreenReader('📥') + ' ' + translate['Inbox']
|
||||||
|
menuOutbox = \
|
||||||
|
htmlHideFromScreenReader('📤') + ' ' + translate['Sent']
|
||||||
|
menuSearch = \
|
||||||
|
htmlHideFromScreenReader('🔍') + ' ' + \
|
||||||
|
translate['Search and follow']
|
||||||
|
menuCalendar = \
|
||||||
|
htmlHideFromScreenReader('📅') + ' ' + calendarStr
|
||||||
|
menuDM = \
|
||||||
|
htmlHideFromScreenReader('📩') + ' ' + dmStr
|
||||||
|
menuReplies = \
|
||||||
|
htmlHideFromScreenReader('📨') + ' ' + repliesStr
|
||||||
|
menuBookmarks = \
|
||||||
|
htmlHideFromScreenReader('🔖') + ' ' + translate['Bookmarks']
|
||||||
|
menuShares = \
|
||||||
|
htmlHideFromScreenReader('🤝') + ' ' + sharesStr
|
||||||
|
menuBlogs = \
|
||||||
|
htmlHideFromScreenReader('📝') + ' ' + translate['Blogs']
|
||||||
|
menuNewswire = \
|
||||||
|
htmlHideFromScreenReader('📰') + ' ' + translate['Newswire']
|
||||||
|
menuLinks = \
|
||||||
|
htmlHideFromScreenReader('🔗') + ' ' + translate['Links']
|
||||||
|
menuNewPost = \
|
||||||
|
htmlHideFromScreenReader('➕') + ' ' + translate['Create a new post']
|
||||||
|
menuModeration = \
|
||||||
|
htmlHideFromScreenReader('⚡️') + ' ' + translate['Mod']
|
||||||
|
navLinks = {
|
||||||
|
menuProfile: '/users/' + nickname,
|
||||||
|
menuInbox: usersPath + '/inbox#timelineposts',
|
||||||
|
menuSearch: usersPath + '/search',
|
||||||
|
menuNewPost: usersPath + '/newpost',
|
||||||
|
menuCalendar: usersPath + '/calendar',
|
||||||
|
menuDM: usersPath + '/dm#timelineposts',
|
||||||
|
menuReplies: usersPath + '/tlreplies#timelineposts',
|
||||||
|
menuOutbox: usersPath + '/outbox#timelineposts',
|
||||||
|
menuBookmarks: usersPath + '/tlbookmarks#timelineposts',
|
||||||
|
menuShares: usersPath + '/tlshares#timelineposts',
|
||||||
|
menuBlogs: usersPath + '/tlblogs#timelineposts',
|
||||||
|
menuNewswire: usersPath + '/newswiremobile',
|
||||||
|
menuLinks: usersPath + '/linksmobile'
|
||||||
|
}
|
||||||
|
navAccessKeys = {}
|
||||||
|
for variableName, key in accessKeys.items():
|
||||||
|
if not locals().get(variableName):
|
||||||
|
continue
|
||||||
|
navAccessKeys[locals()[variableName]] = key
|
||||||
|
if moderator:
|
||||||
|
navLinks[menuModeration] = usersPath + '/moderation#modtimeline'
|
||||||
|
return htmlKeyboardNavigation(textModeBanner, navLinks, navAccessKeys,
|
||||||
|
None, usersPath, translate, followApprovals)
|
||||||
|
|
||||||
|
|
||||||
def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
||||||
recentPostsCache: {}, maxRecentPosts: int,
|
recentPostsCache: {}, maxRecentPosts: int,
|
||||||
translate: {}, pageNumber: int,
|
translate: {}, pageNumber: int,
|
||||||
|
@ -513,78 +588,10 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
||||||
iconsAsButtons, usersPath, translate)
|
iconsAsButtons, usersPath, translate)
|
||||||
|
|
||||||
# keyboard navigation
|
# keyboard navigation
|
||||||
calendarStr = translate['Calendar']
|
tlStr += \
|
||||||
if newCalendarEvent:
|
_htmlTimelineKeyboard(moderator, textModeBanner, usersPath, nickname,
|
||||||
calendarStr = '<strong>' + calendarStr + '</strong>'
|
newCalendarEvent, newDM, newReply, newShare,
|
||||||
dmStr = translate['DM']
|
followApprovals, accessKeys, translate)
|
||||||
if newDM:
|
|
||||||
dmStr = '<strong>' + dmStr + '</strong>'
|
|
||||||
repliesStr = translate['Replies']
|
|
||||||
if newReply:
|
|
||||||
repliesStr = '<strong>' + repliesStr + '</strong>'
|
|
||||||
sharesStr = translate['Shares']
|
|
||||||
if newShare:
|
|
||||||
sharesStr = '<strong>' + sharesStr + '</strong>'
|
|
||||||
menuProfile = \
|
|
||||||
htmlHideFromScreenReader('👤') + ' ' + \
|
|
||||||
translate['Switch to profile view']
|
|
||||||
menuInbox = \
|
|
||||||
htmlHideFromScreenReader('📥') + ' ' + translate['Inbox']
|
|
||||||
menuOutbox = \
|
|
||||||
htmlHideFromScreenReader('📤') + ' ' + translate['Sent']
|
|
||||||
menuSearch = \
|
|
||||||
htmlHideFromScreenReader('🔍') + ' ' + \
|
|
||||||
translate['Search and follow']
|
|
||||||
menuCalendar = \
|
|
||||||
htmlHideFromScreenReader('📅') + ' ' + calendarStr
|
|
||||||
menuDM = \
|
|
||||||
htmlHideFromScreenReader('📩') + ' ' + dmStr
|
|
||||||
menuReplies = \
|
|
||||||
htmlHideFromScreenReader('📨') + ' ' + repliesStr
|
|
||||||
menuBookmarks = \
|
|
||||||
htmlHideFromScreenReader('🔖') + ' ' + \
|
|
||||||
translate['Bookmarks']
|
|
||||||
menuShares = \
|
|
||||||
htmlHideFromScreenReader('🤝') + ' ' + sharesStr
|
|
||||||
# menuEvents = \
|
|
||||||
# htmlHideFromScreenReader('🎫') + ' ' + translate['Events']
|
|
||||||
menuBlogs = \
|
|
||||||
htmlHideFromScreenReader('📝') + ' ' + translate['Blogs']
|
|
||||||
menuNewswire = \
|
|
||||||
htmlHideFromScreenReader('📰') + ' ' + translate['Newswire']
|
|
||||||
menuLinks = \
|
|
||||||
htmlHideFromScreenReader('🔗') + ' ' + translate['Links']
|
|
||||||
menuNewPost = \
|
|
||||||
htmlHideFromScreenReader('➕') + ' ' + \
|
|
||||||
translate['Create a new post']
|
|
||||||
menuModeration = \
|
|
||||||
htmlHideFromScreenReader('⚡️') + ' ' + \
|
|
||||||
translate['Mod']
|
|
||||||
navLinks = {
|
|
||||||
menuProfile: '/users/' + nickname,
|
|
||||||
menuInbox: usersPath + '/inbox#timelineposts',
|
|
||||||
menuSearch: usersPath + '/search',
|
|
||||||
menuNewPost: usersPath + '/newpost',
|
|
||||||
menuCalendar: usersPath + '/calendar',
|
|
||||||
menuDM: usersPath + '/dm#timelineposts',
|
|
||||||
menuReplies: usersPath + '/tlreplies#timelineposts',
|
|
||||||
menuOutbox: usersPath + '/outbox#timelineposts',
|
|
||||||
menuBookmarks: usersPath + '/tlbookmarks#timelineposts',
|
|
||||||
menuShares: usersPath + '/tlshares#timelineposts',
|
|
||||||
menuBlogs: usersPath + '/tlblogs#timelineposts',
|
|
||||||
menuNewswire: usersPath + '/newswiremobile',
|
|
||||||
menuLinks: usersPath + '/linksmobile'
|
|
||||||
}
|
|
||||||
navAccessKeys = {}
|
|
||||||
for variableName, key in accessKeys.items():
|
|
||||||
if not locals().get(variableName):
|
|
||||||
continue
|
|
||||||
navAccessKeys[locals()[variableName]] = key
|
|
||||||
if moderator:
|
|
||||||
navLinks[menuModeration] = usersPath + '/moderation#modtimeline'
|
|
||||||
tlStr += htmlKeyboardNavigation(textModeBanner, navLinks, navAccessKeys,
|
|
||||||
None, usersPath, translate,
|
|
||||||
followApprovals)
|
|
||||||
|
|
||||||
# banner and row of buttons
|
# banner and row of buttons
|
||||||
tlStr += \
|
tlStr += \
|
||||||
|
|
Loading…
Reference in New Issue