yazi_core/notify/
level.rs1use std::sync::Arc;
2
3use serde::{Deserialize, Serialize};
4use yazi_config::{Style, THEME};
5
6#[derive(Clone, Copy, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
7#[serde(rename_all = "kebab-case")]
8pub enum MessageLevel {
9 #[default]
10 Info,
11 Warn,
12 Error,
13}
14
15impl MessageLevel {
16 pub fn icon(self) -> Arc<String> {
17 match self {
18 Self::Info => THEME.notify.icon_info.load_full(),
19 Self::Warn => THEME.notify.icon_info.load_full(),
20 Self::Error => THEME.notify.icon_info.load_full(),
21 }
22 }
23
24 pub fn style(self) -> Style {
25 match self {
26 Self::Info => THEME.notify.title_info.get(),
27 Self::Warn => THEME.notify.title_warn.get(),
28 Self::Error => THEME.notify.title_error.get(),
29 }
30 }
31}