user_circles: Show deactivated icon in sidebars, inbox, recents.

This commit is contained in:
Karl Stolley
2025-02-24 14:01:32 -06:00
committed by Tim Abbott
parent 7cdcf72c9a
commit d7ac4aa651
9 changed files with 18 additions and 23 deletions

View File

@@ -0,0 +1,3 @@
<svg viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg">
<path fill="#000000" d="m 1.6109127,1.6109127 a 5.5,5.5 11.43398 0 0 0,7.7781746 5.5,5.5 11.43398 0 0 7.7781746,0 5.5,5.5 11.43398 0 0 0,-7.7781746 5.5,5.5 11.43398 0 0 -7.7781746,0 z M 2.4947962,2.4947962 A 4.25,4.25 0 0 1 7.9265363,2.0128035 L 2.0169467,7.9223931 A 4.25,4.25 0 0 1 2.4947962,2.4947962 Z M 3.0776069,8.9830533 8.9830533,3.0776069 A 4.25,4.25 0 0 1 8.5052038,8.5052038 4.25,4.25 0 0 1 3.0776069,8.9830533 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -63,8 +63,9 @@ export function clear_for_testing(): void {
export let update_presence_indicators = (): void => {
$("[data-presence-indicator-user-id]").each(function () {
const user_id = Number.parseInt($(this).attr("data-presence-indicator-user-id") ?? "", 10);
const is_deactivated = !people.is_active_user_for_popover(user_id || 0);
assert(!Number.isNaN(user_id));
const user_circle_class = buddy_data.get_user_circle_class(user_id);
const user_circle_class = buddy_data.get_user_circle_class(user_id, is_deactivated);
const user_circle_class_with_icon = `${user_circle_class} zulip-icon-${user_circle_class}`;
$(this)
.removeClass(

View File

@@ -298,8 +298,12 @@ function format_dm(
let user_circle_class: string | false | undefined;
let is_bot = false;
if (recipient_ids.length === 1 && recipient_ids[0] !== undefined) {
is_bot = people.get_by_user_id(recipient_ids[0]).is_bot;
user_circle_class = is_bot ? false : buddy_data.get_user_circle_class(recipient_ids[0]);
const user_id = recipient_ids[0];
const is_deactivated = !people.is_active_user_for_popover(user_id);
is_bot = people.get_by_user_id(user_id).is_bot;
user_circle_class = is_bot
? false
: buddy_data.get_user_circle_class(recipient_ids[0], is_deactivated);
}
const has_unread_mention = unread.num_unread_mentions_for_user_ids_strings(user_ids_string) > 0;

View File

@@ -97,7 +97,7 @@ export function get_conversations(search_string = ""): DisplayObject[] {
if (!is_group) {
const user_id = Number.parseInt(user_ids_string, 10);
user_circle_class = buddy_data.get_user_circle_class(user_id);
user_circle_class = buddy_data.get_user_circle_class(user_id, is_deactivated);
const recipient_user_obj = people.get_by_user_id(user_id);
if (recipient_user_obj.is_bot) {

View File

@@ -718,12 +718,13 @@ function format_conversation(conversation_data: ConversationData): ConversationC
let user_circle_class;
if (!is_group) {
const user_id = Number.parseInt(last_msg.to_user_ids, 10);
const is_deactivated = !people.is_active_user_for_popover(user_id);
const user = people.get_by_user_id(user_id);
if (user.is_bot) {
// We display the bot icon rather than a user circle for bots.
is_bot = true;
} else {
user_circle_class = buddy_data.get_user_circle_class(user_id);
user_circle_class = buddy_data.get_user_circle_class(user_id, is_deactivated);
}
}

View File

@@ -155,12 +155,6 @@
line-height: 1;
/* ...which is approximately 8px at 15px/1em in Vlad's design. */
font-size: 0.5333em;
&.user-circle-deactivated {
color: var(--color-user-circle-offline);
/* TODO: Check this font-size value. */
font-size: 0.85em;
}
}
.user_sidebar_entry.with_avatar {

View File

@@ -15,3 +15,7 @@
.user-circle-offline {
color: var(--color-user-circle-offline);
}
.user-circle-deactivated {
color: var(--color-user-circle-deactivated);
}

View File

@@ -4,12 +4,8 @@
{{#if is_group}}
<span class="conversation-partners-icon zulip-icon zulip-icon-dm-groups-3"></span>
{{else}}
{{#if is_deactivated}}
<span class="conversation-partners-icon fa fa-ban {{user_circle_class}} user_circle"></span>
{{else}}
<span class="conversation-partners-icon zulip-icon zulip-icon-{{user_circle_class}} {{user_circle_class}} user-circle"></span>
{{/if}}
{{/if}}
<a href="{{url}}" class="conversation-partners">
<span class="conversation-partners-list">{{recipients}}</span>

View File

@@ -1,11 +1,7 @@
<li data-user-id="{{user_id}}" data-name="{{name}}" class="user_sidebar_entry {{#if user_list_style.WITH_AVATAR}}with_avatar{{/if}} {{#if has_status_text}}with_status{{/if}} {{#if is_current_user}}user_sidebar_entry_me {{/if}} narrow-filter {{#if faded}} user-fade {{/if}}">
<div class="selectable_sidebar_block">
{{#if user_list_style.WITH_STATUS}}
{{#if (eq user_circle_class "user-circle-deactivated")}}
<span class="fa fa-ban {{user_circle_class}} user-circle"></span>
{{else}}
<span class="zulip-icon zulip-icon-{{user_circle_class}} {{user_circle_class}} user-circle"></span>
{{/if}}
<a class="user-presence-link" href="{{href}}">
<div class="user-name-and-status-wrapper">
<div class="user-name-and-status-emoji">
@@ -19,11 +15,7 @@
<div class="user-profile-picture-container">
<div class="user-profile-picture avatar-preload-background">
<img loading="lazy" src="{{profile_picture}}"/>
{{#if (eq user_circle_class "user-circle-deactivated")}}
<span class="fa fa-ban {{user_circle_class}} user-circle"></span>
{{else}}
<span class="zulip-icon zulip-icon-{{user_circle_class}} {{user_circle_class}} user-circle"></span>
{{/if}}
</div>
</div>
<a class="user-presence-link" href="{{href}}">