revamp icon pack

This commit is contained in:
2026-01-16 06:14:43 +07:00
parent e68f585b9f
commit 4c4fe0cc0c
65 changed files with 193 additions and 226 deletions

View File

@@ -1199,7 +1199,7 @@ impl Render for ChatPanel {
.child(
EmojiPicker::new()
.target(self.input.downgrade())
.icon(IconName::EmojiFill)
.icon(IconName::Emoji)
.large(),
),
)

View File

@@ -545,15 +545,6 @@ impl ChatSpace {
let persons = PersonRegistry::global(cx);
let profile = persons.read(cx).get(&public_key, cx);
let keystore = KeyStore::global(cx);
let is_using_file_keystore = keystore.read(cx).is_using_file_keystore();
let keyring_label = if is_using_file_keystore {
SharedString::from("Disabled")
} else {
SharedString::from("Enabled")
};
this.child(
Button::new("user")
.small()
@@ -563,29 +554,17 @@ impl ChatSpace {
.child(Avatar::new(profile.avatar()).size(rems(1.45)))
.popup_menu(move |this, _window, _cx| {
this.label(profile.name())
.menu_with_icon(
"Profile",
IconName::EmojiFill,
Box::new(ViewProfile),
)
.menu_with_icon("Profile", IconName::Emoji, Box::new(ViewProfile))
.menu_with_icon(
"Messaging Relays",
IconName::Server,
IconName::Relay,
Box::new(ViewRelays),
)
.separator()
.label(SharedString::from("Keyring Service"))
.menu_with_icon_and_disabled(
keyring_label.clone(),
IconName::Encryption,
Box::new(KeyringPopup),
!is_using_file_keystore,
)
.separator()
.menu_with_icon("Dark Mode", IconName::Sun, Box::new(DarkMode))
.menu_with_icon("Themes", IconName::Moon, Box::new(Themes))
.menu_with_icon("Settings", IconName::Settings, Box::new(Settings))
.menu_with_icon("Sign Out", IconName::Logout, Box::new(Logout))
.menu_with_icon("Sign Out", IconName::Door, Box::new(Logout))
}),
)
})

View File

@@ -151,7 +151,7 @@ impl Render for Backup {
Button::new("copy-pubkey")
.icon({
if self.copied {
IconName::CheckCircleFill
IconName::CheckCircle
} else {
IconName::Copy
}
@@ -187,7 +187,7 @@ impl Render for Backup {
Button::new("copy-secret")
.icon({
if self.copied {
IconName::CheckCircleFill
IconName::CheckCircle
} else {
IconName::Copy
}

View File

@@ -311,7 +311,7 @@ impl Render for NewAccount {
.child(Avatar::new(avatar).size(rems(4.25)))
.child(
Button::new("upload")
.icon(IconName::PlusCircleFill)
.icon(IconName::PlusCircle)
.label("Add an avatar")
.xsmall()
.ghost()

View File

@@ -511,7 +511,7 @@ impl Sidebar {
.gap_1()
.font_semibold()
.child(
Icon::new(IconName::Signal)
Icon::new(IconName::Relay)
.small()
.text_color(cx.theme().danger_active)
.when(connected, |this| {

View File

@@ -366,7 +366,7 @@ impl Render for UserProfile {
Button::new("copy")
.icon({
if self.copied {
IconName::CheckCircleFill
IconName::CheckCircle
} else {
IconName::Copy
}

View File

@@ -168,7 +168,7 @@ impl Render for ProfileViewer {
.relative()
.text_color(cx.theme().text_accent)
.child(
Icon::new(IconName::CheckCircleFill)
Icon::new(IconName::CheckCircle)
.small()
.block(),
),
@@ -240,7 +240,7 @@ impl Render for ProfileViewer {
Button::new("copy")
.icon({
if self.copied {
IconName::CheckCircleFill
IconName::CheckCircle
} else {
IconName::Copy
}

View File

@@ -386,7 +386,7 @@ impl Compose {
)
.when(contact.selected, |this| {
this.child(
Icon::new(IconName::CheckCircleFill)
Icon::new(IconName::CheckCircle)
.small()
.text_color(cx.theme().text_accent),
)
@@ -459,7 +459,7 @@ impl Render for Compose {
.disabled(loading)
.suffix(
Button::new("add")
.icon(IconName::PlusCircleFill)
.icon(IconName::PlusCircle)
.transparent()
.small()
.disabled(loading)

View File

@@ -278,7 +278,7 @@ impl Render for Screening {
.child(
Button::new("report")
.tooltip("Report as a scam or impostor")
.icon(IconName::Report)
.icon(IconName::Boom)
.danger()
.rounded()
.on_click(cx.listener(move |this, _e, window, cx| {
@@ -440,7 +440,7 @@ fn status_badge(status: Option<bool>, cx: &App) -> Div {
.flex_shrink_0()
.map(|this| {
if let Some(status) = status {
this.child(Icon::new(IconName::CheckCircleFill).small().text_color({
this.child(Icon::new(IconName::CheckCircle).small().text_color({
if status {
cx.theme().icon_accent
} else {

View File

@@ -296,7 +296,7 @@ impl Render for SetupRelay {
.child(TextInput::new(&self.input).small())
.child(
Button::new("add")
.icon(IconName::PlusFill)
.icon(IconName::Plus)
.label("Add")
.ghost()
.on_click(cx.listener(move |this, _, window, cx| {

View File

@@ -423,7 +423,7 @@ impl TabPanel {
.when(self.is_zoomed, |this| {
this.child(
Button::new("zoom")
.icon(IconName::ArrowIn)
.icon(IconName::Zoom)
.small()
.ghost()
.tooltip("Zoom Out")

View File

@@ -9,127 +9,79 @@ use crate::{Sizable, Size};
#[derive(IntoElement, Clone)]
pub enum IconName {
ArrowIn,
ArrowDown,
ArrowLeft,
ArrowRight,
ArrowUp,
CaretUp,
Boom,
CaretDown,
CaretDownFill,
CaretRight,
CaretUp,
Check,
CheckCircle,
CheckCircleFill,
Close,
CloseCircle,
CloseCircleFill,
Copy,
Edit,
Door,
Ellipsis,
Encryption,
Emoji,
Eye,
EyeOff,
EmojiFill,
Info,
Link,
Loader,
Logout,
Moon,
PanelBottom,
PanelBottomOpen,
PanelLeft,
PanelLeftClose,
PanelLeftOpen,
PanelRight,
PanelRightClose,
PanelRightOpen,
Plus,
PlusFill,
PlusCircleFill,
Group,
ResizeCorner,
PlusCircle,
Relay,
Reply,
Report,
Refresh,
Signal,
Search,
Settings,
Server,
SortAscending,
SortDescending,
Sun,
ThumbsDown,
ThumbsUp,
Upload,
OpenUrl,
Warning,
WindowClose,
WindowMaximize,
WindowMinimize,
WindowRestore,
Zoom,
}
impl IconName {
pub fn path(self) -> SharedString {
match self {
Self::ArrowIn => "icons/arrows-in.svg",
Self::ArrowDown => "icons/arrow-down.svg",
Self::ArrowLeft => "icons/arrow-left.svg",
Self::ArrowRight => "icons/arrow-right.svg",
Self::ArrowUp => "icons/arrow-up.svg",
Self::Boom => "icons/boom.svg",
Self::CaretDown => "icons/caret-down.svg",
Self::CaretRight => "icons/caret-right.svg",
Self::CaretUp => "icons/caret-up.svg",
Self::CaretDown => "icons/caret-down.svg",
Self::CaretDownFill => "icons/caret-down-fill.svg",
Self::Check => "icons/check.svg",
Self::CheckCircle => "icons/check-circle.svg",
Self::CheckCircleFill => "icons/check-circle-fill.svg",
Self::Close => "icons/close.svg",
Self::CloseCircle => "icons/close-circle.svg",
Self::CloseCircleFill => "icons/close-circle-fill.svg",
Self::Copy => "icons/copy.svg",
Self::Edit => "icons/edit.svg",
Self::Door => "icons/door.svg",
Self::Ellipsis => "icons/ellipsis.svg",
Self::Emoji => "icons/emoji.svg",
Self::Eye => "icons/eye.svg",
Self::Encryption => "icons/encryption.svg",
Self::EmojiFill => "icons/emoji-fill.svg",
Self::EyeOff => "icons/eye-off.svg",
Self::Info => "icons/info.svg",
Self::Link => "icons/link.svg",
Self::Loader => "icons/loader.svg",
Self::Logout => "icons/logout.svg",
Self::Moon => "icons/moon.svg",
Self::PanelBottom => "icons/panel-bottom.svg",
Self::PanelBottomOpen => "icons/panel-bottom-open.svg",
Self::PanelLeft => "icons/panel-left.svg",
Self::PanelLeftClose => "icons/panel-left-close.svg",
Self::PanelLeftOpen => "icons/panel-left-open.svg",
Self::PanelRight => "icons/panel-right.svg",
Self::PanelRightClose => "icons/panel-right-close.svg",
Self::PanelRightOpen => "icons/panel-right-open.svg",
Self::Plus => "icons/plus.svg",
Self::PlusFill => "icons/plus-fill.svg",
Self::PlusCircleFill => "icons/plus-circle-fill.svg",
Self::Group => "icons/group.svg",
Self::ResizeCorner => "icons/resize-corner.svg",
Self::PlusCircle => "icons/plus-circle.svg",
Self::Relay => "icons/relay.svg",
Self::Reply => "icons/reply.svg",
Self::Report => "icons/report.svg",
Self::Refresh => "icons/refresh.svg",
Self::Signal => "icons/signal.svg",
Self::Search => "icons/search.svg",
Self::Settings => "icons/settings.svg",
Self::Server => "icons/server.svg",
Self::SortAscending => "icons/sort-ascending.svg",
Self::SortDescending => "icons/sort-descending.svg",
Self::Sun => "icons/sun.svg",
Self::ThumbsDown => "icons/thumbs-down.svg",
Self::ThumbsUp => "icons/thumbs-up.svg",
Self::Upload => "icons/upload.svg",
Self::OpenUrl => "icons/open-url.svg",
Self::Warning => "icons/warning.svg",
Self::WindowClose => "icons/window-close.svg",
Self::WindowMaximize => "icons/window-maximize.svg",
Self::WindowMinimize => "icons/window-minimize.svg",
Self::WindowRestore => "icons/window-restore.svg",
Self::Zoom => "icons/zoom.svg",
}
.into()
}

View File

@@ -1015,7 +1015,7 @@ impl PopupMenu {
.gap_1p5()
.child(label.clone())
.child(
Icon::new(IconName::OpenUrl)
Icon::new(IconName::Link)
.xsmall()
.text_color(cx.theme().text_muted),
),