navbar-dropdowns: Use specific classes for everything.

Replaced element selectors with specific selectors, those that
remain are intentionally left.

This is to avoid inner-most selectors as element selectors.
The reason being is that browsers evaluate selectors from right
to left, meaning that every time a selector ends in an element,
the browser has to work that much harder whenever and wherever
on a page it encounters the element.
This commit is contained in:
Aman Agrawal
2023-10-19 18:44:47 +00:00
committed by Tim Abbott
parent 2efc2a5eb5
commit af271be1bd
3 changed files with 138 additions and 138 deletions

View File

@@ -1147,7 +1147,7 @@ ul {
}
.text-item,
.link-item a {
.link-item .navbar-dropdown-menu-link {
display: flex;
flex-flow: row nowrap;
align-items: center;
@@ -1156,7 +1156,7 @@ ul {
font-size: 15px;
line-height: 16px;
& i {
.navbar-dropdown-icon {
width: 16px;
height: 16px;
font-size: 16px;
@@ -1177,11 +1177,11 @@ ul {
background: var(--color-background-hover-dropdown-menu);
}
& i {
.navbar-dropdown-icon {
color: var(--color-icon-purple);
}
& a {
.navbar-dropdown-menu-link {
color: var(--color-text-dropdown-menu) !important;
text-decoration: none;
display: flex;
@@ -1249,7 +1249,7 @@ ul {
background: var(--color-background-hover-dropdown-menu);
}
& a {
.navbar-dropdown-menu-link {
padding: 2px 0;
flex-grow: 1;
text-align: center;
@@ -1278,7 +1278,7 @@ ul {
}
.org-name,
.org-plan a {
.org-plan .navbar-dropdown-menu-link {
color: var(--color-text-dropdown-menu);
}
@@ -1314,18 +1314,18 @@ ul.navbar-dropdown-menu-outer-list {
list-style: none;
margin: 0;
& > li {
li.navbar-dropdown-menu-outer-list-item {
border-bottom: solid 1px var(--color-border-popover-menu);
&:last-child {
border-bottom: none;
& > ul {
ul.navbar-dropdown-menu-inner-list {
padding-bottom: 0;
}
}
& > ul {
ul.navbar-dropdown-menu-inner-list {
margin: 0;
padding: 4px 0;
list-style: none;

View File

@@ -1,186 +1,186 @@
<div class="navbar-dropdown-menu" id="gear-menu-dropdown" aria-labelledby="settings-dropdown" data-simplebar>
<ul class="navbar-dropdown-menu-outer-list">
<li class="org-info">
<ul>
<li class="org-name">{{realm_name}}</li>
<li class="org-url">{{realm_url}}</li>
<li class="org-info navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="org-name navbar-dropdown-menu-inner-list-item">{{realm_name}}</li>
<li class="org-url navbar-dropdown-menu-inner-list-item">{{realm_url}}</li>
{{#if is_self_hosted }}
<li class="org-version">
<a href="#about-zulip" class="navigate-link-on-enter">{{version_display_string}}</a>
<li class="org-version navbar-dropdown-menu-inner-list-item">
<a href="#about-zulip" class="navigate-link-on-enter navbar-dropdown-menu-link">{{version_display_string}}</a>
</li>
{{#if server_needs_upgrade }}
<li class="org-upgrade">
<a href="https://zulip.readthedocs.io/en/stable/production/upgrade.html" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">{{t 'Upgrade to the latest release' }}</a>
<li class="org-upgrade navbar-dropdown-menu-inner-list-item">
<a href="https://zulip.readthedocs.io/en/stable/production/upgrade.html" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">{{t 'Upgrade to the latest release' }}</a>
</li>
{{/if}}
{{else}}
<li class="org-plan hidden-for-spectators">
<li class="org-plan navbar-dropdown-menu-inner-list-item hidden-for-spectators">
{{#if is_plan_limited }}
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">Zulip Cloud Free</a>
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">Zulip Cloud Free</a>
{{else if is_plan_standard}}
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">Zulip Cloud Standard</a>
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">Zulip Cloud Standard</a>
{{else if is_plan_standard_sponsored_for_free}}
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">Zulip Cloud Standard (sponsored)</a>
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">Zulip Cloud Standard (sponsored)</a>
{{/if}}
</li>
{{/if}}
{{#if (and is_plan_limited is_owner) }}
<li class="org-upgrade">
<a href="/upgrade/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">{{t "Upgrade to {standard_plan_name}" }}</a>
<li class="org-upgrade navbar-dropdown-menu-inner-list-item">
<a href="/upgrade/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">{{t "Upgrade to {standard_plan_name}" }}</a>
</li>
{{/if}}
{{#if is_plan_limited }}
{{#if is_education_org }}
<li class="org-upgrade">
<a href="/upgrade/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">{{t 'Request education pricing' }}</a>
<li class="org-upgrade navbar-dropdown-menu-inner-list-item">
<a href="/upgrade/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">{{t 'Request education pricing' }}</a>
</li>
{{else if (not is_business_org) }}
<li class="org-upgrade">
<a href="/upgrade/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">{{t 'Request sponsorship' }}</a>
<li class="org-upgrade navbar-dropdown-menu-inner-list-item">
<a href="/upgrade/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">{{t 'Request sponsorship' }}</a>
</li>
{{/if}}
{{/if}}
</ul>
</li>
<li>
<ul>
<li class="link-item hidden-for-spectators">
<a href="#streams/subscribed" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-hash" aria-hidden="true"></i> {{t 'Manage streams' }}
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="link-item navbar-dropdown-menu-inner-list-item hidden-for-spectators">
<a href="#streams/subscribed" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-hash" aria-hidden="true"></i> {{t 'Manage streams' }}
</a>
</li>
<li class="link-item hidden-for-spectators">
<a href="#settings" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-tool" aria-hidden="true"></i> {{t 'Personal settings' }}
<li class="link-item navbar-dropdown-menu-inner-list-item hidden-for-spectators">
<a href="#settings" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-tool" aria-hidden="true"></i> {{t 'Personal settings' }}
</a>
</li>
<li class="link-item admin-menu-item hidden-for-spectators">
<a href="#organization" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-building" aria-hidden="true"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item admin-menu-item hidden-for-spectators">
<a href="#organization" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-building" aria-hidden="true"></i>
<span>{{t 'Organization settings' }}</span>
</a>
</li>
{{#unless is_guest}}
<li class="link-item hidden-for-spectators">
<a href="/stats" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-bar-chart" aria-hidden="true"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item hidden-for-spectators">
<a href="/stats" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-bar-chart" aria-hidden="true"></i>
<span>{{t 'Usage statistics' }}</span>
</a>
</li>
{{/unless}}
<li class="link-item only-visible-for-spectators">
<a tabindex="0" class="change-language-spectator">
<i class="zulip-icon zulip-icon-f-globe" aria-hidden="true"></i> {{t 'Select language' }}
<li class="link-item navbar-dropdown-menu-inner-list-item only-visible-for-spectators">
<a tabindex="0" class="change-language-spectator navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-f-globe" aria-hidden="true"></i> {{t 'Select language' }}
</a>
</li>
<li class="link-item gear-menu-select-dark-theme only-visible-for-spectators">
<a tabindex="0" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-moon" aria-hidden="true"></i> {{t 'Switch to dark theme' }}
<li class="link-item navbar-dropdown-menu-inner-list-item gear-menu-select-dark-theme only-visible-for-spectators">
<a tabindex="0" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-moon" aria-hidden="true"></i> {{t 'Switch to dark theme' }}
</a>
</li>
<li class="link-item gear-menu-select-light-theme only-visible-for-spectators">
<a tabindex="0" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-sun" aria-hidden="true"></i> {{t 'Switch to light theme' }}
<li class="link-item navbar-dropdown-menu-inner-list-item gear-menu-select-light-theme only-visible-for-spectators">
<a tabindex="0" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-sun" aria-hidden="true"></i> {{t 'Switch to light theme' }}
</a>
</li>
</ul>
</li>
<li>
<ul>
<li class="link-item">
<a href="/help/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-help" aria-hidden="true"></i> {{t 'Help center' }}
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="/help/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-help" aria-hidden="true"></i> {{t 'Help center' }}
</a>
</li>
<li class="link-item">
<a tabindex="0" class="navigate-link-on-enter" data-overlay-trigger="keyboard-shortcuts">
<i class="zulip-icon zulip-icon-keyboard" aria-hidden="true"></i> {{t 'Keyboard shortcuts' }} <span class="hotkey-hint">(?)</span>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a tabindex="0" class="navigate-link-on-enter navbar-dropdown-menu-link" data-overlay-trigger="keyboard-shortcuts">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-keyboard" aria-hidden="true"></i> {{t 'Keyboard shortcuts' }} <span class="hotkey-hint">(?)</span>
</a>
</li>
<li class="link-item hidden-for-spectators">
<a tabindex="0" class="navigate-link-on-enter" data-overlay-trigger="message-formatting">
<i class="zulip-icon zulip-icon-edit" aria-hidden="true"></i> {{t 'Message formatting' }}
<li class="link-item navbar-dropdown-menu-inner-list-item hidden-for-spectators">
<a tabindex="0" class="navigate-link-on-enter navbar-dropdown-menu-link" data-overlay-trigger="message-formatting">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-edit" aria-hidden="true"></i> {{t 'Message formatting' }}
</a>
</li>
<li class="link-item">
<a tabindex="0" class="navigate-link-on-enter" data-overlay-trigger="search-operators">
<i class="zulip-icon zulip-icon-manage-search" aria-hidden="true"></i> {{t 'Search filters' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a tabindex="0" class="navigate-link-on-enter navbar-dropdown-menu-link" data-overlay-trigger="search-operators">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-manage-search" aria-hidden="true"></i> {{t 'Search filters' }}
</a>
</li>
<li class="link-item" id="gear_menu_about_zulip">
<a href="#about-zulip" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-info"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item" id="gear_menu_about_zulip">
<a href="#about-zulip" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-info"></i>
{{t "About Zulip" }}
</a>
</li>
{{#if corporate_enabled}}
<li class="link-item">
<a href="/help/contact-support" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-life-buoy" aria-hidden="true"></i> {{t 'Contact support' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="/help/contact-support" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-life-buoy" aria-hidden="true"></i> {{t 'Contact support' }}
</a>
</li>
{{/if}}
</ul>
</li>
<li class="hidden-for-spectators">
<ul>
<li class="link-item">
<a href="{{ apps_page_url }}" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-monitor" aria-hidden="true"></i> {{t 'Desktop & mobile apps' }}
<li class="hidden-for-spectators navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="{{ apps_page_url }}" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-monitor" aria-hidden="true"></i> {{t 'Desktop & mobile apps' }}
</a>
</li>
<li class="link-item">
<a href="/integrations/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-git-pull-request" aria-hidden="true"></i> {{t 'Integrations' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="/integrations/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-git-pull-request" aria-hidden="true"></i> {{t 'Integrations' }}
</a>
</li>
<li class="link-item">
<a href="/api" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-file-text" aria-hidden="true"></i> {{t 'API documentation' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="/api" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-file-text" aria-hidden="true"></i> {{t 'API documentation' }}
</a>
</li>
{{#if show_billing}}
<li class="link-item">
<a href="/billing/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-credit-card" aria-hidden="true"></i> {{t 'Billing' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="/billing/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-credit-card" aria-hidden="true"></i> {{t 'Billing' }}
</a>
</li>
{{/if}}
{{#if promote_sponsoring_zulip}}
<li class="link-item">
<a href="https://zulip.com/help/support-zulip-project" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-heart" aria-hidden="true"></i> {{t 'Support Zulip' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="https://zulip.com/help/support-zulip-project" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-heart" aria-hidden="true"></i> {{t 'Support Zulip' }}
</a>
</li>
{{/if}}
{{#if show_plans}}
<li class="link-item">
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter">
<i class="fa fa-rocket" aria-hidden="true"></i> {{t 'Plans and pricing' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="/plans/" target="_blank" rel="noopener noreferrer" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon fa fa-rocket" aria-hidden="true"></i> {{t 'Plans and pricing' }}
</a>
</li>
{{/if}}
</ul>
</li>
<li>
<ul>
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
{{#if (or can_invite_users_by_email can_create_multiuse_invite)}}
<li class="link-item">
<a tabindex="0" class="invite-user-link">
<i class="zulip-icon zulip-icon-user-plus" aria-hidden="true"></i> {{t 'Invite users' }}
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a tabindex="0" class="invite-user-link navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-user-plus" aria-hidden="true"></i> {{t 'Invite users' }}
</a>
</li>
{{/if}}
{{#if show_webathena}}
<li class="link-item" title="{{t 'Grant Zulip the Kerberos tickets needed to run your Zephyr mirror via Webathena' }}" id="webathena_login_menu">
<a href="#webathena" class="webathena_login">
<i class="fa fa-bolt" aria-hidden="true"></i>{{t 'Link with Webathena' }}
<li class="link-item navbar-dropdown-menu-inner-list-item" title="{{t 'Grant Zulip the Kerberos tickets needed to run your Zephyr mirror via Webathena' }}" id="webathena_login_menu">
<a href="#webathena" class="webathena_login navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon fa fa-bolt" aria-hidden="true"></i>{{t 'Link with Webathena' }}
</a>
</li>
{{/if}}
<li class="link-item only-visible-for-spectators">
<a href="{{login_link}}" class="navigate-link-on-enter">
<i class="zulip-icon zulip-icon-power" aria-hidden="true"></i> {{t 'Log in' }}
<li class="link-item navbar-dropdown-menu-inner-list-item only-visible-for-spectators">
<a href="{{login_link}}" class="navigate-link-on-enter navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-power" aria-hidden="true"></i> {{t 'Log in' }}
</a>
</li>
</ul>

View File

@@ -16,18 +16,18 @@
</header>
<section class="dropdown-menu-list-section personal-menu-actions" data-user-id="{{user_id}}">
<ul class="navbar-dropdown-menu-outer-list">
<li>
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="text-item hidden-for-spectators">
<i class="zulip-icon zulip-icon-clock"></i>
<li class="text-item hidden-for-spectators navbar-dropdown-menu-inner-list-item">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-clock"></i>
{{#tr}}{user_time} local time{{/tr}}
</li>
</ul>
</li>
<li>
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
{{#if status_content_available}}
<li class="text-item">
<li class="text-item navbar-dropdown-menu-inner-list-item">
<span>
{{#if status_emoji_info}}
{{#if status_emoji_info.emoji_alt_code}}
@@ -42,79 +42,79 @@
{{status_text}}
</span>
</span>
<a href="" class="clear_status" aria-label="{{t 'Clear status'}}" data-tippy-content="{{t 'Clear your status' }}">
<i class="zulip-icon zulip-icon-x-circle"></i>
<a href="" class="clear_status navbar-dropdown-menu-link" aria-label="{{t 'Clear status'}}" data-tippy-content="{{t 'Clear your status' }}">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-x-circle"></i>
</a>
</li>
<li class="link-item">
<a href="" class="update_status_text">
<i class="zulip-icon zulip-icon-smile"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="" class="update_status_text navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-smile"></i>
{{#tr}}Edit status{{/tr}}
</a>
</li>
{{else}}
<li class="link-item hidden-for-spectators">
<a href="" class="update_status_text">
<i class="zulip-icon zulip-icon-smile"></i>
<li class="link-item hidden-for-spectators navbar-dropdown-menu-inner-list-item">
<a href="" class="update_status_text navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-smile"></i>
{{#tr}}Set status{{/tr}}
</a>
</li>
{{/if}}
{{#if invisible_mode}}
<li class="link-item hidden-for-spectators">
<a href="" class="invisible_mode_turn_off">
<i class="zulip-icon zulip-icon-play-circle"></i>
<li class="link-item hidden-for-spectators navbar-dropdown-menu-inner-list-item">
<a href="" class="invisible_mode_turn_off navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-play-circle"></i>
{{#tr}}Turn off invisible mode{{/tr}}
</a>
</li>
{{else}}
<li class="link-item hidden-for-spectators">
<a href="" class="invisible_mode_turn_on">
<i class="zulip-icon zulip-icon-stop-circle"></i>
<li class="link-item hidden-for-spectators navbar-dropdown-menu-inner-list-item">
<a href="" class="invisible_mode_turn_on navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-stop-circle"></i>
{{#tr}}Go invisible{{/tr}}
</a>
</li>
{{/if}}
</ul>
</li>
<li>
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="link-item">
<a tabindex="0" class="view_full_user_profile">
<i class="zulip-icon zulip-icon-account"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a tabindex="0" class="view_full_user_profile navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-account"></i>
{{#tr}}View your profile{{/tr}}
</a>
</li>
<li class="link-item">
<a href="" class="narrow-self-direct-message">
<i class="zulip-icon zulip-icon-users"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="" class="narrow-self-direct-message navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-users"></i>
{{#tr}}View messages with yourself{{/tr}}
</a>
</li>
<li class="link-item">
<a href="" class="narrow-messages-sent">
<i class="zulip-icon zulip-icon-message-square"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="" class="narrow-messages-sent navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-message-square"></i>
{{#tr}}View messages sent{{/tr}}
</a>
</li>
</ul>
</li>
<li>
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="link-item">
<a href="#settings/profile" class="open-profile-settings">
<i class="zulip-icon zulip-icon-tool"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a href="#settings/profile" class="open-profile-settings navbar-dropdown-menu-link">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-tool"></i>
{{#tr}}Settings{{/tr}}
</a>
</li>
</ul>
</li>
<li>
<li class="navbar-dropdown-menu-outer-list-item">
<ul class="navbar-dropdown-menu-inner-list">
<li class="link-item">
<a class="logout_button hidden-for-spectators" tabindex="0">
<i class="zulip-icon zulip-icon-power" aria-hidden="true"></i>
<li class="link-item navbar-dropdown-menu-inner-list-item">
<a class="logout_button hidden-for-spectators navbar-dropdown-menu-link" tabindex="0">
<i class="navbar-dropdown-icon zulip-icon zulip-icon-power" aria-hidden="true"></i>
{{t 'Log out' }}
</a>
</li>