tui: Use default colors in theme
This commit is contained in:
parent
35ce6663c1
commit
a5d85a0d24
|
|
@ -1,9 +1,15 @@
|
|||
use tuirealm::props::Color;
|
||||
|
||||
const COLOR_DEFAULT_FG: Color = Color::Rgb(200, 200, 200);
|
||||
const COLOR_DEFAULT_DARK_FG: Color = Color::Rgb(150, 150, 150);
|
||||
const COLOR_DEFAULT_DARK: Color = Color::Rgb(100, 100, 100);
|
||||
const COLOR_DEFAULT_DARKER: Color = Color::Rgb(70, 70, 70);
|
||||
const COLOR_DEFAULT_DARKEST: Color = Color::Rgb(40, 40, 40);
|
||||
const COLOR_DEFAULT_FAINT: Color = Color::Rgb(20, 20, 20);
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Colors {
|
||||
pub default_fg: Color,
|
||||
pub tabs_fg: Color,
|
||||
pub tabs_highlighted_fg: Color,
|
||||
pub workspaces_info_fg: Color,
|
||||
pub labeled_container_bg: Color,
|
||||
|
|
@ -18,6 +24,12 @@ pub struct Colors {
|
|||
pub browser_patch_list_tags: Color,
|
||||
pub browser_patch_list_comments: Color,
|
||||
pub browser_patch_list_timestamp: Color,
|
||||
pub context_bg: Color,
|
||||
pub context_light_bg: Color,
|
||||
pub context_badge_bg: Color,
|
||||
pub context_id_fg: Color,
|
||||
pub context_id_bg: Color,
|
||||
pub context_id_author_fg: Color,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
|
|
@ -32,7 +44,7 @@ pub struct Icons {
|
|||
/// The Radicle TUI theme. Will be defined in a JSON config file in the
|
||||
/// future. e.g.:
|
||||
/// {
|
||||
/// "name": "Radicle Dark",
|
||||
/// "name": "Default",
|
||||
/// "colors": {
|
||||
/// "foreground": "#ffffff",
|
||||
/// "propertyForeground": "#ffffff",
|
||||
|
|
@ -52,24 +64,29 @@ pub struct Theme {
|
|||
|
||||
pub fn default_dark() -> Theme {
|
||||
Theme {
|
||||
name: String::from("Radicle Dark"),
|
||||
name: String::from("Default"),
|
||||
colors: Colors {
|
||||
default_fg: Color::Rgb(200, 200, 200),
|
||||
tabs_fg: Color::Rgb(100, 100, 100),
|
||||
tabs_highlighted_fg: Color::Rgb(85, 85, 255),
|
||||
workspaces_info_fg: Color::Rgb(220, 140, 40),
|
||||
labeled_container_bg: Color::Rgb(20, 20, 20),
|
||||
item_list_highlighted_bg: Color::Rgb(40, 40, 40),
|
||||
property_name_fg: Color::Rgb(85, 85, 255),
|
||||
property_divider_fg: Color::Rgb(10, 206, 209),
|
||||
shortcut_short_fg: Color::Rgb(100, 100, 100),
|
||||
shortcut_long_fg: Color::Rgb(70, 70, 70),
|
||||
shortcutbar_divider_fg: Color::Rgb(70, 70, 70),
|
||||
browser_patch_list_title: Color::Rgb(200, 200, 200),
|
||||
browser_patch_list_author: Color::Rgb(85, 85, 255),
|
||||
browser_patch_list_tags: Color::Rgb(220, 140, 40),
|
||||
browser_patch_list_comments: Color::Rgb(150, 150, 150),
|
||||
browser_patch_list_timestamp: Color::Rgb(100, 100, 100),
|
||||
default_fg: COLOR_DEFAULT_FG,
|
||||
tabs_highlighted_fg: Color::Magenta,
|
||||
workspaces_info_fg: Color::Yellow,
|
||||
labeled_container_bg: COLOR_DEFAULT_FAINT,
|
||||
item_list_highlighted_bg: COLOR_DEFAULT_DARKER,
|
||||
property_name_fg: Color::Cyan,
|
||||
property_divider_fg: COLOR_DEFAULT_FG,
|
||||
shortcut_short_fg: COLOR_DEFAULT_DARK,
|
||||
shortcut_long_fg: COLOR_DEFAULT_DARKER,
|
||||
shortcutbar_divider_fg: COLOR_DEFAULT_DARKER,
|
||||
browser_patch_list_title: COLOR_DEFAULT_FG,
|
||||
browser_patch_list_author: Color::Gray,
|
||||
browser_patch_list_tags: Color::Yellow,
|
||||
browser_patch_list_comments: COLOR_DEFAULT_DARK_FG,
|
||||
browser_patch_list_timestamp: COLOR_DEFAULT_DARK,
|
||||
context_bg: COLOR_DEFAULT_DARKEST,
|
||||
context_light_bg: Color::Gray,
|
||||
context_badge_bg: Color::LightRed,
|
||||
context_id_fg: Color::Cyan,
|
||||
context_id_bg: COLOR_DEFAULT_DARKEST,
|
||||
context_id_author_fg: Color::Gray,
|
||||
},
|
||||
icons: Icons {
|
||||
property_divider: '∙',
|
||||
|
|
|
|||
|
|
@ -58,26 +58,26 @@ pub fn files(theme: &Theme, patch: (PatchId, &Patch), profile: &Profile) -> Widg
|
|||
Widget::new(files)
|
||||
}
|
||||
|
||||
pub fn context(_theme: &Theme, patch: (PatchId, &Patch), profile: &Profile) -> Widget<ContextBar> {
|
||||
pub fn context(theme: &Theme, patch: (PatchId, &Patch), profile: &Profile) -> Widget<ContextBar> {
|
||||
let (id, patch) = patch;
|
||||
let id = patch::format_id(id);
|
||||
let title = patch.title();
|
||||
let author = patch::format_author(patch, profile);
|
||||
let comments = patch::format_comments(patch);
|
||||
|
||||
let context = common::label(" patch ").background(Color::Rgb(238, 111, 248));
|
||||
let context = common::label(" patch ").background(theme.colors.context_badge_bg);
|
||||
let id = common::label(&format!(" {id} "))
|
||||
.foreground(Color::Rgb(117, 113, 249))
|
||||
.background(Color::Rgb(40, 40, 40));
|
||||
.foreground(theme.colors.context_id_fg)
|
||||
.background(theme.colors.context_id_bg);
|
||||
let title = common::label(&format!(" {title} "))
|
||||
.foreground(Color::Rgb(70, 70, 70))
|
||||
.background(Color::Rgb(40, 40, 40));
|
||||
.foreground(theme.colors.default_fg)
|
||||
.background(theme.colors.context_bg);
|
||||
let author = common::label(&format!(" {author} "))
|
||||
.foreground(Color::Rgb(117, 113, 249))
|
||||
.background(Color::Rgb(40, 40, 40));
|
||||
.foreground(theme.colors.context_id_author_fg)
|
||||
.background(theme.colors.context_bg);
|
||||
let comments = common::label(&format!(" {comments} "))
|
||||
.foreground(Color::Rgb(70, 70, 70))
|
||||
.background(Color::Rgb(50, 50, 50));
|
||||
.background(theme.colors.context_light_bg);
|
||||
|
||||
let context_bar = ContextBar::new(context, id, author, title, comments);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue