fix icon in dropdown
Some checks failed
Rust / build (ubuntu-latest, stable) (push) Failing after 1m46s
Rust / build (macos-latest, stable) (push) Has been cancelled
Rust / build (windows-latest, stable) (push) Has been cancelled

This commit is contained in:
2026-02-28 09:14:40 +07:00
parent 624140c061
commit 5310ae6369
2 changed files with 24 additions and 27 deletions

View File

@@ -18,7 +18,7 @@ use ui::button::{Button, ButtonVariants};
use ui::dock_area::dock::DockPlacement;
use ui::dock_area::panel::PanelView;
use ui::dock_area::{ClosePanel, DockArea, DockItem};
use ui::menu::DropdownMenu;
use ui::menu::{DropdownMenu, PopupMenuItem};
use ui::{h_flex, v_flex, IconName, Root, Sizable, WindowExtension};
use crate::dialogs::settings;
@@ -382,17 +382,29 @@ impl Workspace {
.when_some(current_user.as_ref(), |this, public_key| {
let persons = PersonRegistry::global(cx);
let profile = persons.read(cx).get(public_key, cx);
let avatar = profile.avatar();
let name = profile.name();
this.child(
Button::new("current-user")
.child(Avatar::new(profile.avatar()).xsmall())
.child(Avatar::new(avatar.clone()).xsmall())
.small()
.caret()
.compact()
.transparent()
.dropdown_menu(move |this, _window, _cx| {
let avatar = avatar.clone();
let name = name.clone();
this.min_w(px(256.))
.label(profile.name())
.item(PopupMenuItem::element(move |_window, cx| {
h_flex()
.gap_1p5()
.text_xs()
.text_color(cx.theme().text_muted)
.child(Avatar::new(avatar.clone()).xsmall())
.child(name.clone())
}))
.separator()
.menu_with_icon(
"Profile",

View File

@@ -1112,12 +1112,7 @@ impl PopupMenu {
.border_color(cx.theme().border)
.disabled(true),
PopupMenuItem::Label(label) => this.disabled(true).cursor_default().child(
h_flex()
.cursor_default()
.items_center()
.gap_x_1()
.children(Self::render_icon(has_left_icon, false, None, window, cx))
.child(
h_flex().cursor_default().items_center().gap_x_1().child(
div()
.flex_1()
.text_xs()
@@ -1127,10 +1122,7 @@ impl PopupMenu {
),
),
PopupMenuItem::ElementItem {
render,
icon,
disabled,
..
render, disabled, ..
} => this
.when(!disabled, |this| {
this.on_click(
@@ -1144,13 +1136,6 @@ impl PopupMenu {
.min_h(item_height)
.items_center()
.gap_x_2()
.children(Self::render_icon(
has_left_icon,
is_left_check,
icon.clone(),
window,
cx,
))
.child((render)(window, cx))
.children(right_check_icon.map(|icon| icon.ml_3())),
),