diff --git a/radicle-tui/src/app/page.rs b/radicle-tui/src/app/page.rs index c21603da..7f4ddf8e 100644 --- a/radicle-tui/src/app/page.rs +++ b/radicle-tui/src/app/page.rs @@ -111,8 +111,8 @@ impl ViewPage for HomeView { ) -> Result<()> { if let Message::NavigationChanged(index) = message { self.active_component = Cid::Home(HomeCid::from(index as usize)); + app.active(&self.active_component)?; } - app.active(&self.active_component)?; Ok(()) } @@ -148,16 +148,12 @@ impl ViewPage for HomeView { /// Issue detail page /// pub struct IssuePage { - active_component: Cid, issue: (IssueId, Issue), } impl IssuePage { pub fn new(issue: (IssueId, Issue)) -> Self { - IssuePage { - active_component: Cid::Issue(IssueCid::List), - issue, - } + IssuePage { issue } } } @@ -186,7 +182,7 @@ impl ViewPage for IssuePage { app.remount(Cid::Issue(IssueCid::Details), details, vec![])?; app.remount(Cid::Issue(IssueCid::Shortcuts), shortcuts, vec![])?; - app.active(&self.active_component)?; + app.active(&Cid::Issue(IssueCid::List))?; Ok(()) } @@ -212,8 +208,14 @@ impl ViewPage for IssuePage { let details = widget::issue::details(context, theme, (id, issue)).to_boxed(); app.remount(Cid::Issue(IssueCid::Details), details, vec![])?; } + Message::Issue(IssueMessage::FocusList) => { + app.active(&Cid::Issue(IssueCid::List))?; + } + Message::Issue(IssueMessage::FocusDiscussion) => { + app.active(&Cid::Issue(IssueCid::Discussion))?; + } + _ => {} } - app.active(&self.active_component)?; Ok(()) } diff --git a/radicle-tui/src/ui/theme.rs b/radicle-tui/src/ui/theme.rs index d4f84072..53e4c307 100644 --- a/radicle-tui/src/ui/theme.rs +++ b/radicle-tui/src/ui/theme.rs @@ -36,6 +36,8 @@ pub struct Colors { pub context_id_fg: Color, pub context_id_bg: Color, pub context_id_author_fg: Color, + pub container_border_fg: Color, + pub container_border_focus_fg: Color, } #[derive(Debug, Clone)] @@ -105,6 +107,8 @@ pub fn default_dark() -> Theme { context_id_fg: Color::Cyan, context_id_bg: COLOR_DEFAULT_DARKEST, context_id_author_fg: Color::Gray, + container_border_fg: COLOR_DEFAULT_DARKEST, + container_border_focus_fg: COLOR_DEFAULT_DARK, }, icons: Icons { property_divider: '∙', diff --git a/radicle-tui/src/ui/widget/common.rs b/radicle-tui/src/ui/widget/common.rs index d5b5eaf0..c5fcd6c1 100644 --- a/radicle-tui/src/ui/widget/common.rs +++ b/radicle-tui/src/ui/widget/common.rs @@ -45,8 +45,8 @@ pub fn container_header(theme: &Theme, label: Widget