thaw/src/theme/common.rs

116 lines
4 KiB
Rust
Raw Normal View History

2023-03-31 13:02:44 +08:00
use super::ThemeMethod;
2023-04-04 15:55:14 +08:00
#[derive(Clone)]
2023-03-31 13:02:44 +08:00
pub struct CommonTheme {
pub font_family: String,
2023-10-25 11:25:31 +08:00
pub font_color: String,
pub background_color: String,
2023-03-31 13:02:44 +08:00
pub color_primary: String,
2023-09-17 23:10:33 +08:00
pub color_primary_hover: String,
2023-10-04 22:25:12 +08:00
pub color_primary_active: String,
2023-04-04 15:55:14 +08:00
pub color_success: String,
2023-09-17 23:10:33 +08:00
pub color_success_hover: String,
2023-10-04 22:25:12 +08:00
pub color_success_active: String,
2023-04-04 15:55:14 +08:00
pub color_warning: String,
2023-09-17 23:10:33 +08:00
pub color_warning_hover: String,
2023-10-04 22:25:12 +08:00
pub color_warning_active: String,
2023-04-04 15:55:14 +08:00
pub color_error: String,
2023-09-17 23:10:33 +08:00
pub color_error_hover: String,
2023-10-04 22:25:12 +08:00
pub color_error_active: String,
2023-03-31 13:02:44 +08:00
pub font_size: String,
pub font_size_small: String,
pub font_size_medium: String,
pub font_size_large: String,
pub font_size_huge: String,
pub line_height: String,
pub line_height_small: String,
pub line_height_medium: String,
pub line_height_large: String,
pub line_height_huge: String,
pub border_radius: String,
pub border_radius_small: String,
pub border_radius_medium: String,
pub border_radius_large: String,
}
2023-04-04 15:55:14 +08:00
impl CommonTheme {
fn common() -> Self {
2023-03-31 13:02:44 +08:00
Self {
2023-10-25 11:25:31 +08:00
font_family: r#"Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji""#.into(),
font_color: "".into(),
background_color: "".into(),
2023-04-04 15:55:14 +08:00
color_primary: "".into(),
2023-09-17 23:10:33 +08:00
color_primary_hover: "".into(),
2023-10-04 22:25:12 +08:00
color_primary_active: "".into(),
2023-04-04 15:55:14 +08:00
color_success: "".into(),
2023-09-17 23:10:33 +08:00
color_success_hover: "".into(),
2023-10-04 22:25:12 +08:00
color_success_active: "".into(),
2023-04-04 15:55:14 +08:00
color_warning: "".into(),
2023-09-17 23:10:33 +08:00
color_warning_hover: "".into(),
2023-10-04 22:25:12 +08:00
color_warning_active: "".into(),
2023-04-04 15:55:14 +08:00
color_error: "".into(),
2023-09-17 23:10:33 +08:00
color_error_hover: "".into(),
2023-10-04 22:25:12 +08:00
color_error_active: "".into(),
2023-03-31 13:02:44 +08:00
font_size: "14px".into(),
font_size_small: "12px".into(),
font_size_medium: "16px".into(),
font_size_large: "20px".into(),
font_size_huge: "24px".into(),
line_height: "22px".into(),
line_height_small: "20px".into(),
line_height_medium: "24px".into(),
line_height_large: "28px".into(),
line_height_huge: "32px".into(),
border_radius: "3px".into(),
border_radius_small: "2px".into(),
border_radius_medium: "4px".into(),
border_radius_large: "8px".into(),
}
}
2023-04-04 15:55:14 +08:00
}
impl ThemeMethod for CommonTheme {
fn light() -> Self {
Self {
2023-10-25 11:25:31 +08:00
font_color: "#11181c".into(),
background_color: "#fff".into(),
2023-04-04 15:55:14 +08:00
color_primary: "#f5222d".into(),
2023-09-17 23:10:33 +08:00
color_primary_hover: "#ff4d4f".into(),
2023-10-04 22:25:12 +08:00
color_primary_active: "#cf1322".into(),
2023-04-04 15:55:14 +08:00
color_success: "#18a058".into(),
2023-09-17 23:10:33 +08:00
color_success_hover: "#36ad6a".into(),
2023-10-04 22:25:12 +08:00
color_success_active: "#0c7a43".into(),
2023-04-04 15:55:14 +08:00
color_warning: "#f0a020".into(),
2023-09-17 23:10:33 +08:00
color_warning_hover: "#fcb040".into(),
2023-10-04 22:25:12 +08:00
color_warning_active: "#c97c10".into(),
2023-04-04 15:55:14 +08:00
color_error: "#d03050".into(),
2023-09-17 23:10:33 +08:00
color_error_hover: "#de576d".into(),
2023-10-04 22:25:12 +08:00
color_error_active: "#ab1f3f".into(),
2023-04-04 15:55:14 +08:00
..CommonTheme::common()
}
}
2023-03-31 13:02:44 +08:00
fn dark() -> Self {
Self {
2023-10-25 11:25:31 +08:00
font_color: "#ecedee".into(),
background_color: "#1a1d1e".into(),
2023-03-31 13:02:44 +08:00
color_primary: "#d32029".into(),
2023-09-17 23:10:33 +08:00
color_primary_hover: "#e04648".into(),
2023-10-04 22:25:12 +08:00
color_primary_active: "#ad111e".into(),
color_success: "#63e2b7".into(),
color_success_hover: "#7fe7c4".into(),
color_success_active: "#5acea7".into(),
2023-04-04 15:55:14 +08:00
color_warning: "#f0a020".into(),
2023-09-17 23:10:33 +08:00
color_warning_hover: "#fcb040".into(),
2023-10-04 22:25:12 +08:00
color_warning_active: "#e6c260".into(),
2023-04-04 15:55:14 +08:00
color_error: "#d03050".into(),
2023-09-17 23:10:33 +08:00
color_error_hover: "#de576d".into(),
2023-10-04 22:25:12 +08:00
color_error_active: "#e57272".into(),
2023-04-04 15:55:14 +08:00
..CommonTheme::common()
2023-03-31 13:02:44 +08:00
}
}
2023-08-29 09:11:22 +08:00
}