snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled

This commit is contained in:
upstream-mirror
2026-09-15 15:05:30 +05:00
commit 64898b2c79
8999 changed files with 1757358 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
<li>
{{~!-- Render each link identically to how it appears inline in
message content, reusing the markdown link templates. --~}}
{{~#if is_message_link~}}
{{> ../../channel_message_link stream=stream channel_name=channel_name topic_display_name_html=topic_display_name_html is_empty_string_topic=is_empty_string_topic href=url}}
{{~else~}}
{{> ../../topic_link channel_id=channel_id stream=stream channel_name=channel_name topic_display_name_html=topic_display_name_html is_empty_string_topic=is_empty_string_topic href=url}}
{{~/if~}}
</li>

View File

@@ -0,0 +1,37 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
{{#if is_home_view}}
{{#if unread_messages_present}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link mark_all_messages_as_read" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-read" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark messages as read" }}</span>
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link toggle_display_unread_message_count" tabindex="0">
{{#if show_unread_count}}
<i class="popover-menu-icon zulip-icon zulip-icon-hide" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Hide unread counter" }}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-eye" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Show unread counter" }}</span>
{{/if}}
</a>
</li>
{{else}}
<li role="none" class="link-item popover-menu-list-item no-auto-hide-left-sidebar-overlay">
<a role="menuitem" class="set-home-view popover-menu-link" data-view-code="{{view_code}}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-house" aria-hidden="true"></i>
<span class="popover-menu-label">
{{#tr}}
Make <z-highlight>combined feed</z-highlight> my home view
{{#*inline "z-highlight"}}<b class="highlighted-element">{{> @partial-block}}</b>{{/inline}}
{{/tr}}
</span>
</a>
</li>
{{/if}}
</ul>
</div>

View File

@@ -0,0 +1,10 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" id="delete_all_drafts_sidebar" class="popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-trash" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Delete all drafts" }}</span>
</a>
</li>
</ul>
</div>

View File

@@ -0,0 +1,18 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" id="folder_popover_view_channels" class="popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-hash" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "View channels" }}</span>
</a>
</li>
{{#if can_manage_folder}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" id="folder_popover_manage_folder" class="popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-folder-cog" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Manage folder" }}</span>
</a>
</li>
{{/if}}
</ul>
</div>

View File

@@ -0,0 +1,37 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
{{#if is_home_view}}
{{#if unread_messages_present}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link mark_all_messages_as_read" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-read" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark messages as read" }}</span>
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link toggle_display_unread_message_count" tabindex="0">
{{#if show_unread_count}}
<i class="popover-menu-icon zulip-icon zulip-icon-hide" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Hide unread counter" }}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-eye" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Show unread counter" }}</span>
{{/if}}
</a>
</li>
{{else}}
<li role="none" class="link-item popover-menu-list-item no-auto-hide-left-sidebar-overlay">
<a role="menuitem" class="set-home-view popover-menu-link" data-view-code="{{view_code}}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-house" aria-hidden="true"></i>
<span class="popover-menu-label">
{{#tr}}
Make <z-highlight>inbox</z-highlight> my home view
{{#*inline "z-highlight"}}<b class="highlighted-element">{{> @partial-block}}</b>{{/inline}}
{{/tr}}
</span>
</a>
</li>
{{/if}}
</ul>
</div>

View File

@@ -0,0 +1,37 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
{{#if is_home_view}}
{{#if unread_messages_present}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link mark_all_messages_as_read" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-read" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark messages as read" }}</span>
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link toggle_display_unread_message_count" tabindex="0">
{{#if show_unread_count}}
<i class="popover-menu-icon zulip-icon zulip-icon-hide" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Hide unread counter" }}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-eye" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Show unread counter" }}</span>
{{/if}}
</a>
</li>
{{else}}
<li role="none" class="link-item popover-menu-list-item no-auto-hide-left-sidebar-overlay">
<a role="menuitem" class="set-home-view popover-menu-link" data-view-code="{{view_code}}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-house" aria-hidden="true"></i>
<span class="popover-menu-label">
{{#tr}}
Make <z-highlight>recent conversations</z-highlight> my home view
{{#*inline "z-highlight"}}<b class="highlighted-element">{{> @partial-block}}</b>{{/inline}}
{{/tr}}
</span>
</a>
</li>
{{/if}}
</ul>
</div>

View File

@@ -0,0 +1,23 @@
<div class="popover-menu no-auto-hide-left-sidebar-overlay" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
{{#if show_unstar_all_button}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" id="unstar_all_messages" class="popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-star" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Unstar all messages" }}</span>
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" id="toggle_display_starred_msg_count" class="popover-menu-link" tabindex="0">
{{#if starred_message_counts}}
<i class="popover-menu-icon zulip-icon zulip-icon-hide" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Hide starred message count" }}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-eye" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Show starred message count" }}</span>
{{/if}}
</a>
</li>
</ul>
</div>

View File

@@ -0,0 +1,95 @@
<div class="popover-menu no-auto-hide-left-sidebar-overlay" id="stream-actions-menu-popover" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list" data-stream-id="{{ stream.stream_id }}" data-name="{{ stream.name }}">
<li role="none" class="popover-stream-header text-item popover-menu-list-item">
<span class="stream-privacy-original-color-{{stream.stream_id}} stream-privacy filter-icon" style="color: {{stream.color}}">
{{> ../../stream_privacy
invite_only=stream.invite_only
is_web_public=stream.is_web_public }}
</span>
<span class="popover-stream-name">{{stream.name}}</span>
</li>
<li role="separator" class="popover-menu-separator"></li>
{{#if has_unread_messages}}
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="mark_stream_as_read popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-read" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark all messages as read"}}</span>
</a>
</li>
{{else}}
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="mark_stream_as_unread popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-unread" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark all messages as unread"}}</span>
</a>
</li>
{{/if}}
{{#if show_go_to_channel_feed}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="stream-popover-go-to-channel-feed popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-all-messages" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Go to channel feed" }}</span>
</a>
</li>
{{/if}}
{{#if show_go_to_list_of_topics}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" href="{{stream.list_of_topics_view_url}}" class="stream-popover-go-to-list-of-topics navigate-link-on-enter popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-topic-list" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Go to list of topics" }}</span>
{{../popover_hotkey_hints "Y"}}
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="copy_stream_link popover-menu-link" data-clipboard-text="{{ stream.url }}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-link-alt" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Copy link to channel" }}</span>
</a>
</li>
<li role="separator" class="popover-menu-separator hidden-for-spectators"></li>
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" href="{{stream_edit_hash}}" class="open_stream_settings navigate-link-on-enter popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-gear" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Channel settings" }}</span>
</a>
</li>
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="pin_to_top popover-menu-link" tabindex="0">
{{#if stream.pin_to_top}}
<i class="popover-menu-icon zulip-icon zulip-icon-unpin" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Unpin channel from top"}}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-pin" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Pin channel to top"}}</span>
{{/if}}
</a>
</li>
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="toggle_stream_muted popover-menu-link" tabindex="0">
{{#if stream.is_muted}}
<i class="popover-menu-icon zulip-icon zulip-icon-unmute" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Unmute channel"}}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-mute" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mute channel"}}</span>
{{/if}}
</a>
</li>
{{#unless stream.is_archived}}
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="popover_sub_unsub_button popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-circle-x" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Unsubscribe"}}</span>
</a>
</li>
<li role="separator" class="popover-menu-separator hidden-for-spectators"></li>
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="choose_stream_color popover-menu-link" data-stream-id="{{ stream.stream_id }}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-pipette" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Change color"}}</span>
</a>
</li>
{{/unless}}
</ul>
</div>

View File

@@ -0,0 +1,16 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
<li role="none" class="link-item popover-menu-list-item">
<a href="#channels/available" role="menuitem" class="popover-menu-link navigate_and_close_popover" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-browse-channels" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Browse channels" }}</span>
</a>
</li>
<li role="none" class="link-item popover-menu-list-item">
<a href="#channels/new" role="menuitem" class="popover-menu-link navigate_and_close_popover" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-square-plus" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Create a channel" }}</span>
</a>
</li>
</ul>
</div>

View File

@@ -0,0 +1,132 @@
<div class="popover-menu no-auto-hide-left-sidebar-overlay" id="topic-actions-menu-popover" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list">
<li role="none" class="popover-topic-header text-item popover-menu-list-item">
<span class="popover-topic-name {{#if is_empty_string_topic}}empty-topic-display{{/if}}">{{topic_display_name}}</span>
</li>
{{!-- Group 1 --}}
{{#unless is_spectator}}
{{#unless stream_archived}}
<li role="separator" class="popover-menu-separator"></li>
<li role="none" class="popover-menu-list-item">
<div role="group" class="tab-picker popover-menu-tab-group" aria-label="{{t 'Topic visibility' }}">
<input type="radio" id="sidebar-topic-muted-policy" class="tab-option" name="sidebar-topic-visibility-select" data-visibility-policy="{{all_visibility_policies.MUTED}}" {{#if (eq visibility_policy all_visibility_policies.MUTED)}}checked{{/if}} />
<label role="menuitemradio" class="tab-option-content tippy-zulip-delayed-tooltip" for="sidebar-topic-muted-policy" aria-label="{{t 'Mute' }}" data-tippy-content="{{t 'Mute' }}" tabindex="0">
<i class="zulip-icon zulip-icon-mute" aria-hidden="true"></i>
</label>
<input type="radio" id="sidebar-topic-inherit-policy" class="tab-option" name="sidebar-topic-visibility-select" data-visibility-policy="{{all_visibility_policies.INHERIT}}" {{#if (eq visibility_policy all_visibility_policies.INHERIT)}}checked{{/if}} />
<label role="menuitemradio" class="tab-option-content tippy-zulip-delayed-tooltip" for="sidebar-topic-inherit-policy" aria-label="{{t 'Default' }}" data-tippy-content="{{t 'Default' }}" tabindex="0">
<i class="zulip-icon zulip-icon-inherit" aria-hidden="true"></i>
</label>
{{#if (or stream_muted topic_unmuted)}}
<input type="radio" id="sidebar-topic-unmuted-policy" class="tab-option" name="sidebar-topic-visibility-select" data-visibility-policy="{{all_visibility_policies.UNMUTED}}" {{#if (eq visibility_policy all_visibility_policies.UNMUTED)}}checked{{/if}} />
<label role="menuitemradio" class="tab-option-content tippy-zulip-delayed-tooltip" for="sidebar-topic-unmuted-policy" aria-label="{{t 'Unmute' }}" data-tippy-content="{{t 'Unmute' }}" tabindex="0">
<i class="zulip-icon zulip-icon-unmute" aria-hidden="true"></i>
</label>
{{/if}}
<input type="radio" id="sidebar-topic-followed-policy" class="tab-option" name="sidebar-topic-visibility-select" data-visibility-policy="{{all_visibility_policies.FOLLOWED}}" {{#if (eq visibility_policy all_visibility_policies.FOLLOWED)}}checked{{/if}} />
<label role="menuitemradio" class="tab-option-content tippy-zulip-delayed-tooltip" for="sidebar-topic-followed-policy" aria-label="{{t 'Follow' }}" data-tippy-content="{{t 'Follow' }}" tabindex="0">
<i class="zulip-icon zulip-icon-follow" aria-hidden="true"></i>
</label>
<span class="slider"></span>
</div>
</li>
{{/unless}}
{{/unless}}
{{#if is_topic_empty}}
<li role="separator" class="popover-menu-separator"></li>
<li role="none" class="popover-menu-list-item text-item italic">
<span class="popover-menu-label">{{t "There are no messages in this topic." }}</span>
</li>
{{else}}
{{!-- Group 2 --}}
<li role="separator" class="popover-menu-separator"></li>
{{#if (and show_ai_features can_summarize_topics)}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-popover-summarize-topic popover-menu-link" tabindex="0">
<i class="popover-menu-icon fa fa-magic" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Summarize recent messages"}}</span>
</a>
</li>
{{/if}}
{{#if has_starred_messages}}
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="sidebar-popover-unstar-all-in-topic popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-star" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Unstar all messages in topic" }}</span>
</a>
</li>
{{/if}}
{{#if has_unread_messages}}
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="sidebar-popover-mark-topic-read popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-read" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark all messages as read" }}</span>
</a>
</li>
{{else}}
<li role="none" class="link-item popover-menu-list-item hidden-for-spectators">
<a role="menuitem" class="sidebar-popover-mark-topic-unread popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-unread" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark all messages as unread" }}</span>
</a>
</li>
{{/if}}
{{#if has_topic_links}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-open-topic-links popover-menu-link" data-clipboard-text="{{ url }}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-link-2" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "View links" }}</span>
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-popover-copy-link-to-topic popover-menu-link" data-clipboard-text="{{ url }}" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-link-alt" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Copy link to topic" }}</span>
</a>
</li>
{{!-- Group 3 --}}
{{#if (or can_move_topic can_rename_topic is_realm_admin)}}
{{#unless stream_archived}}
<li role="separator" class="popover-menu-separator"></li>
{{/unless}}
{{/if}}
{{#if can_move_topic}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-popover-move-topic-messages popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-move-alt" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Move topic" }}</span>
</a>
</li>
{{else if can_rename_topic}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-popover-rename-topic-messages popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-rename" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Rename topic" }}</span>
</a>
</li>
{{/if}}
{{#if (and can_resolve_topic (not is_empty_string_topic))}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-popover-toggle-resolved popover-menu-link" tabindex="0">
{{# if topic_is_resolved }}
<i class="popover-menu-icon zulip-icon zulip-icon-check-x" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark as unresolved"}}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-check" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark as resolved"}}</span>
{{/if}}
</a>
</li>
{{/if}}
{{#if (and is_realm_admin (not stream_archived))}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="sidebar-popover-delete-topic-messages popover-menu-link" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-trash" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Delete topic"}}</span>
</a>
</li>
{{/if}}
{{/if}}
</ul>
</div>

View File

@@ -0,0 +1,32 @@
<div class="popover-menu no-auto-hide-left-sidebar-overlay" id="topic-links-menu-popover" data-simplebar data-simplebar-tab-index="-1">
{{#if has_links_from_narrow}}
<div class="topic-links-menu-link-list">
<p class="topic-links-menu-title">
<i class="zulip-icon zulip-icon-arrow-up-right"></i>
{{t "Links to"}}
{{> ../../help_link_widget link="/help/link-to-a-message-or-conversation#view-links-to-and-from-a-conversation" }}
</p>
<div role="separator" class="popover-menu-separator"></div>
<ul class="popover-topic-links-list">
{{#each links_from_narrow}}
{{> ./cross_conversation_link this}}
{{/each}}
</ul>
</div>
{{/if}}
{{#if has_links_to_narrow}}
<div class="topic-links-menu-link-list">
<p class="topic-links-menu-title">
<i class="zulip-icon zulip-icon-arrow-down-left"></i>
{{t "Linked from"}}
{{> ../../help_link_widget link="/help/link-to-a-message-or-conversation#view-links-to-and-from-a-conversation" }}
</p>
<div role="separator" class="popover-menu-separator"></div>
<ul class="popover-topic-links-list">
{{#each links_to_narrow}}
{{> ./cross_conversation_link this}}
{{/each}}
</ul>
</div>
{{/if}}
</div>

View File

@@ -0,0 +1,18 @@
<li role="none" class="link-item popover-menu-list-item views-popover-menu-{{css_class_suffix}}">
<a href="#{{fragment}}" role="menuitem" class="popover-menu-link tippy-left-sidebar-tooltip" data-tooltip-template-id="{{tooltip_template_id}}" tabindex="0">
<i class="popover-menu-icon zulip-icon {{icon}}" aria-hidden="true"></i>
{{#if has_unread_count}}
<span class="label-and-unread-wrapper">
<span class="popover-menu-label">{{name}}</span>
<span class="unread_count {{unread_count_type}}">{{#unless (eq unread_count 0)}}{{unread_count}}{{/unless}}</span>
{{#if supports_masked_unread}}
<span class="masked_unread_count">
<i class="zulip-icon zulip-icon-masked-unread"></i>
</span>
{{/if}}
</span>
{{else}}
<span class="popover-menu-label">{{name}}</span>
{{/if}}
</a>
</li>

View File

@@ -0,0 +1,29 @@
<div class="popover-menu" data-simplebar data-simplebar-tab-index="-1">
<ul role="menu" class="popover-menu-list condensed-views-popover-menu">
{{#each views}}
{{> left_sidebar_view_popover_item .}}
{{/each}}
{{#unless is_home_view_active}}
<li role="separator" class="popover-menu-separator"></li>
{{#if unread_messages_present}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link mark_all_messages_as_read" tabindex="0">
<i class="popover-menu-icon zulip-icon zulip-icon-mark-as-read" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Mark messages as read" }}</span>
</a>
</li>
{{/if}}
<li role="none" class="link-item popover-menu-list-item">
<a role="menuitem" class="popover-menu-link toggle_display_unread_message_count" tabindex="0">
{{#if show_unread_count}}
<i class="popover-menu-icon zulip-icon zulip-icon-hide" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Hide unread counter" }}</span>
{{else}}
<i class="popover-menu-icon zulip-icon zulip-icon-eye" aria-hidden="true"></i>
<span class="popover-menu-label">{{t "Show unread counter" }}</span>
{{/if}}
</a>
</li>
{{/unless}}
</ul>
</div>