mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
status_emoji: Show status emoji in message_body.
Previously the emoji_status set by the user would only be seen a few places, it was decided that it would be useful to show the emoji_status in a few additional other places as well. Use the status_emoji template to show the status emoji in the message_body and also implement live update behavior. With refactor and minor edits by Yash RE. Co-authored-by: YashRE42 <33805964+YashRE42@users.noreply.github.com>
This commit is contained in:
committed by
Tim Abbott
parent
e1fd47a692
commit
8da5edb7af
@@ -148,6 +148,7 @@ run_test("update_messages", () => {
|
|||||||
sender_id: 32,
|
sender_id: 32,
|
||||||
sent_by_me: false,
|
sent_by_me: false,
|
||||||
starred: false,
|
starred: false,
|
||||||
|
status_emoji_info: undefined,
|
||||||
stream: denmark.name,
|
stream: denmark.name,
|
||||||
stream_id: denmark.stream_id,
|
stream_id: denmark.stream_id,
|
||||||
topic: "lunch",
|
topic: "lunch",
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import * as people from "./people";
|
|||||||
import * as pm_conversations from "./pm_conversations";
|
import * as pm_conversations from "./pm_conversations";
|
||||||
import * as recent_senders from "./recent_senders";
|
import * as recent_senders from "./recent_senders";
|
||||||
import * as stream_topic_history from "./stream_topic_history";
|
import * as stream_topic_history from "./stream_topic_history";
|
||||||
|
import * as user_status from "./user_status";
|
||||||
import * as util from "./util";
|
import * as util from "./util";
|
||||||
|
|
||||||
export function process_new_message(message) {
|
export function process_new_message(message) {
|
||||||
@@ -31,6 +32,7 @@ export function process_new_message(message) {
|
|||||||
if (sender) {
|
if (sender) {
|
||||||
message.sender_full_name = sender.full_name;
|
message.sender_full_name = sender.full_name;
|
||||||
message.sender_email = sender.email;
|
message.sender_email = sender.email;
|
||||||
|
message.status_emoji_info = user_status.get_status_emoji(message.sender_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert topic even for PMs, as legacy code
|
// Convert topic even for PMs, as legacy code
|
||||||
|
|||||||
@@ -43,3 +43,8 @@ export function update_avatar(user_id, avatar_url) {
|
|||||||
message_store.update_property("small_avatar_url", url, {user_id});
|
message_store.update_property("small_avatar_url", url, {user_id});
|
||||||
rerender_messages_view_for_user(user_id);
|
rerender_messages_view_for_user(user_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function update_user_status_emoji(user_id, status_emoji_info) {
|
||||||
|
message_store.update_property("status_emoji_info", status_emoji_info, {user_id});
|
||||||
|
rerender_messages_view_for_user(user_id);
|
||||||
|
}
|
||||||
|
|||||||
@@ -124,6 +124,13 @@ export function update_property(property, value, info) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "status_emoji_info":
|
||||||
|
for (const msg of stored_messages.values()) {
|
||||||
|
if (msg.sender_id && msg.sender_id === info.user_id) {
|
||||||
|
msg[property] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import * as message_events from "./message_events";
|
|||||||
import * as message_flags from "./message_flags";
|
import * as message_flags from "./message_flags";
|
||||||
import * as message_list from "./message_list";
|
import * as message_list from "./message_list";
|
||||||
import * as message_lists from "./message_lists";
|
import * as message_lists from "./message_lists";
|
||||||
|
import * as message_live_update from "./message_live_update";
|
||||||
import * as muted_topics_ui from "./muted_topics_ui";
|
import * as muted_topics_ui from "./muted_topics_ui";
|
||||||
import * as muted_users_ui from "./muted_users_ui";
|
import * as muted_users_ui from "./muted_users_ui";
|
||||||
import * as narrow_state from "./narrow_state";
|
import * as narrow_state from "./narrow_state";
|
||||||
@@ -771,6 +772,10 @@ export function dispatch_normal_event(event) {
|
|||||||
user_status.set_status_emoji(event);
|
user_status.set_status_emoji(event);
|
||||||
activity.redraw_user(event.user_id);
|
activity.redraw_user(event.user_id);
|
||||||
pm_list.update_private_messages();
|
pm_list.update_private_messages();
|
||||||
|
message_live_update.update_user_status_emoji(
|
||||||
|
event.user_id,
|
||||||
|
user_status.get_status_emoji(event.user_id),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "realm_export":
|
case "realm_export":
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
{{#if include_sender}}
|
{{#if include_sender}}
|
||||||
<span title="{{t 'View user profile' }} (u)">
|
<span title="{{t 'View user profile' }} (u)">
|
||||||
{{> message_avatar ~}}
|
{{> message_avatar ~}}
|
||||||
<span class="sender_name auto-select" role="button" tabindex="0">{{msg/sender_full_name}}</span>
|
<span class="sender_name auto-select" role="button" tabindex="0">{{msg/sender_full_name}}{{> status_emoji msg/status_emoji_info}}</span>
|
||||||
{{#if sender_is_bot}}
|
{{#if sender_is_bot}}
|
||||||
<i class="zulip-icon zulip-icon-bot" aria-label="{{t 'Bot' }}"></i>
|
<i class="zulip-icon zulip-icon-bot" aria-label="{{t 'Bot' }}"></i>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
Reference in New Issue
Block a user