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
|
||||
|
||||
|
||||
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,
|
||||
recentPostsCache: {}, maxRecentPosts: int,
|
||||
translate: {}, pageNumber: int,
|
||||
|
@ -513,78 +588,10 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
|||
iconsAsButtons, usersPath, translate)
|
||||
|
||||
# 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
|
||||
# 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)
|
||||
tlStr += \
|
||||
_htmlTimelineKeyboard(moderator, textModeBanner, usersPath, nickname,
|
||||
newCalendarEvent, newDM, newReply, newShare,
|
||||
followApprovals, accessKeys, translate)
|
||||
|
||||
# banner and row of buttons
|
||||
tlStr += \
|
||||
|
|
Loading…
Reference in New Issue