mirror of https://gitlab.com/bashrc2/epicyon
Emoji icons for keyboard menus
parent
7e9a41ee40
commit
ca77dd959a
|
@ -41,6 +41,7 @@ from filters import isFiltered
|
|||
from follow import isFollowerOfPerson
|
||||
from webapp_frontscreen import htmlFrontScreen
|
||||
from webapp_utils import htmlKeyboardNavigation
|
||||
from webapp_utils import htmlHideFromScreenReader
|
||||
from webapp_utils import scheduledPostsExist
|
||||
from webapp_utils import getPersonAvatarUrl
|
||||
from webapp_utils import htmlHeaderWithExternalStyle
|
||||
|
@ -712,15 +713,31 @@ def htmlProfile(rssIconAtTop: bool,
|
|||
# keyboard navigation
|
||||
userPathStr = '/users/' + nickname
|
||||
deft = defaultTimeline
|
||||
menuTimeline = \
|
||||
htmlHideFromScreenReader('🏠 ') + translate['Switch to timeline view']
|
||||
menuEdit = \
|
||||
htmlHideFromScreenReader('✍ ') + translate['Edit']
|
||||
menuFollowing = \
|
||||
htmlHideFromScreenReader('👥 ') + translate['Following']
|
||||
menuFollowers = \
|
||||
htmlHideFromScreenReader('👪 ') + translate['Followers']
|
||||
menuRoles = \
|
||||
htmlHideFromScreenReader('🤚 ') + translate['Roles']
|
||||
menuSkills = \
|
||||
htmlHideFromScreenReader('🛠️') + translate['Skills']
|
||||
menuShares = \
|
||||
htmlHideFromScreenReader('🤝️') + translate['Shares']
|
||||
menuLogout = \
|
||||
htmlHideFromScreenReader('❎️') + translate['Logout']
|
||||
navLinks = {
|
||||
translate['Switch to timeline view']: userPathStr + '/' + deft,
|
||||
translate['Edit']: userPathStr + '/editprofile',
|
||||
translate['Following']: userPathStr + '/following#timeline',
|
||||
translate['Followers']: userPathStr + '/followers#timeline',
|
||||
translate['Roles']: userPathStr + '/roles#timeline',
|
||||
translate['Skills']: userPathStr + '/skills#timeline',
|
||||
translate['Shares']: userPathStr + '/shares#timeline',
|
||||
translate['Logout']: '/logout'
|
||||
menuTimeline: userPathStr + '/' + deft,
|
||||
menuEdit: userPathStr + '/editprofile',
|
||||
menuFollowing: userPathStr + '/following#timeline',
|
||||
menuFollowers: userPathStr + '/followers#timeline',
|
||||
menuRoles: userPathStr + '/roles#timeline',
|
||||
menuSkills: userPathStr + '/skills#timeline',
|
||||
menuShares: userPathStr + '/shares#timeline',
|
||||
menuLogout: '/logout'
|
||||
}
|
||||
profileStr = htmlKeyboardNavigation(textModeBanner, navLinks)
|
||||
|
||||
|
@ -1347,9 +1364,13 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
|||
# keyboard navigation
|
||||
userPathStr = '/users/' + nickname
|
||||
userTimalineStr = '/users/' + nickname + '/' + defaultTimeline
|
||||
menuTimeline = \
|
||||
htmlHideFromScreenReader('🏠 ') + translate['Switch to timeline view']
|
||||
menuProfile = \
|
||||
htmlHideFromScreenReader('👤 ') + translate['Switch to profile view']
|
||||
navLinks = {
|
||||
translate['Switch to profile view']: userPathStr,
|
||||
translate['Switch to timeline view']: userTimalineStr
|
||||
menuProfile: userPathStr,
|
||||
menuTimeline: userTimalineStr
|
||||
}
|
||||
editProfileForm += htmlKeyboardNavigation(textModeBanner, navLinks)
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ from utils import removeIdEnding
|
|||
from follow import followerApprovalActive
|
||||
from person import isPersonSnoozed
|
||||
from webapp_utils import htmlKeyboardNavigation
|
||||
from webapp_utils import htmlHideFromScreenReader
|
||||
from webapp_utils import htmlPostSeparator
|
||||
from webapp_utils import getBannerFile
|
||||
from webapp_utils import htmlHeaderWithExternalStyle
|
||||
|
@ -378,21 +379,49 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
|||
sharesStr = translate['Shares']
|
||||
if newShare:
|
||||
sharesStr = '*' + sharesStr + '*'
|
||||
menuProfile = \
|
||||
htmlHideFromScreenReader('👤 ') + translate['Switch to profile view']
|
||||
menuInbox = \
|
||||
htmlHideFromScreenReader('📥 ') + translate['Inbox']
|
||||
menuOutbox = \
|
||||
htmlHideFromScreenReader('📤 ') + translate['Outbox']
|
||||
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']
|
||||
navLinks = {
|
||||
translate['Switch to profile view']: '/users/' + nickname,
|
||||
translate['Inbox']: usersPath + '/inbox#timeline',
|
||||
translate['Search and follow']: usersPath + '/search',
|
||||
translate['Create a new post']: usersPath + '/newpost',
|
||||
calendarStr: usersPath + '/calendar',
|
||||
dmStr: usersPath + '/dm#timeline',
|
||||
repliesStr: usersPath + '/tlreplies#timeline',
|
||||
translate['Outbox']: usersPath + '/inbox#timeline',
|
||||
translate['Bookmarks']: usersPath + '/tlbookmarks#timeline',
|
||||
sharesStr: usersPath + '/tlshares#timeline',
|
||||
translate['Blogs']: usersPath + '/tlblogs#timeline',
|
||||
translate['Events']: usersPath + '/tlevents#timeline',
|
||||
translate['Skip to Newswire']: '#newswire',
|
||||
translate['Skip to Links']: '#links'
|
||||
menuProfile: '/users/' + nickname,
|
||||
menuInbox: usersPath + '/inbox#timeline',
|
||||
menuSearch: usersPath + '/search',
|
||||
menuNewPost: usersPath + '/newpost',
|
||||
menuCalendar: usersPath + '/calendar',
|
||||
menuDM: usersPath + '/dm#timeline',
|
||||
menuReplies: usersPath + '/tlreplies#timeline',
|
||||
menuOutbox: usersPath + '/inbox#timeline',
|
||||
menuBookmarks: usersPath + '/tlbookmarks#timeline',
|
||||
menuShares: usersPath + '/tlshares#timeline',
|
||||
menuBlogs: usersPath + '/tlblogs#timeline',
|
||||
menuEvents: usersPath + '/tlevents#timeline',
|
||||
menuNewswire: '#newswire',
|
||||
menuLinks: '#links'
|
||||
}
|
||||
if moderator:
|
||||
navLinks[translate['Mod']] = usersPath + '/moderation'
|
||||
|
|
|
@ -880,6 +880,12 @@ def getAvatarImageUrl(session,
|
|||
return avatarUrl
|
||||
|
||||
|
||||
def htmlHideFromScreenReader(htmlStr: str) -> str:
|
||||
"""Returns html which is hidden from screen readers
|
||||
"""
|
||||
return '<span aria-hidden="true">' + htmlStr + '</span>'
|
||||
|
||||
|
||||
def htmlKeyboardNavigation(banner: str, links: {},
|
||||
usersPath=None, translate=None,
|
||||
followApprovals=False) -> str:
|
||||
|
|
Loading…
Reference in New Issue