Skip to content

Commit abf5c3b

Browse files
committed
refactor
1 parent d5597eb commit abf5c3b

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/shared/mentionable_text_input.rs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -551,24 +551,26 @@ impl MentionableTextInput {
551551
// Special case for @room mention
552552
let mut room_avatar_shown = false;
553553

554-
if let Some(room_id) = &self.room_id {
555-
if let Some(known_room) = get_client().and_then(|c| c.get_room(room_id)) {
556-
if let Some(mxc_uri) = known_room.avatar_url() {
557-
let owned_mxc = mxc_uri.to_owned();
558-
if let AvatarCacheEntry::Loaded(avatar_data) = get_or_fetch_avatar(cx, owned_mxc) {
559-
let _ = avatar.show_image(cx, None, |cx, img| {
560-
utils::load_png_or_jpg(&img, cx, &avatar_data)
561-
});
562-
room_avatar_shown = true;
563-
}
564-
}
565-
}
554+
if let Some(avatar_data) = self.room_id
555+
.as_ref()
556+
.and_then(|room_id| get_client().and_then(|c| c.get_room(room_id)))
557+
.and_then(|known_room| known_room.avatar_url())
558+
.map(|mxc_uri| mxc_uri.to_owned())
559+
.and_then(|owned_mxc| match get_or_fetch_avatar(cx, owned_mxc) {
560+
AvatarCacheEntry::Loaded(data) => Some(data),
561+
_ => None,
562+
}) {
563+
// show room avatar
564+
let _ = avatar.show_image(cx, None, |cx, img| {
565+
utils::load_png_or_jpg(&img, cx, &avatar_data)
566+
});
567+
room_avatar_shown = true;
566568
}
567569

568570
// If room avatar couldn't be shown, display the text avatar with red background
569571
if !room_avatar_shown {
570572
avatar.show_text(cx, None, "Room");
571-
// Set avatar background to red for @room mentions
573+
// Set the text view's background color to red
572574
avatar.view(id!(text_view)).apply_over(cx, live! {
573575
draw_bg: {
574576
background_color: #e24d4d

0 commit comments

Comments
 (0)