From 362f26a0c8bfe08ca3711a2f85603c6d279bf78a Mon Sep 17 00:00:00 2001 From: Erik Kundt Date: Fri, 21 Apr 2023 19:41:50 +0200 Subject: [PATCH] tui: Update navigation design --- radicle-tui/src/app/page.rs | 7 +- .../src/ui/components/common/container.rs | 64 ++++++++++++------- radicle-tui/src/ui/layout.rs | 3 +- radicle-tui/src/ui/theme.rs | 4 +- radicle-tui/src/ui/widget/common.rs | 15 +++-- radicle-tui/src/ui/widget/home.rs | 6 +- radicle-tui/src/ui/widget/patch.rs | 5 +- 7 files changed, 65 insertions(+), 39 deletions(-) diff --git a/radicle-tui/src/app/page.rs b/radicle-tui/src/app/page.rs index 77f67141..89be30b9 100644 --- a/radicle-tui/src/app/page.rs +++ b/radicle-tui/src/app/page.rs @@ -81,8 +81,7 @@ impl ViewPage for Home { fn view(&mut self, app: &mut Application, frame: &mut Frame) { let area = frame.size(); - let navigation_h = 1u16; - let layout = layout::default_page(area, navigation_h); + let layout = layout::default_page(area); app.view(&Cid::Home(HomeCid::Navigation), frame, layout[0]); app.view(&self.active_component, frame, layout[1]); @@ -145,9 +144,7 @@ impl ViewPage for PatchView { fn view(&mut self, app: &mut Application, frame: &mut Frame) { let area = frame.size(); - let navigation_h = 2u16; - - let layout = layout::default_page(area, navigation_h); + let layout = layout::default_page(area); app.view(&Cid::Patch(PatchCid::Navigation), frame, layout[0]); app.view(&self.active_component, frame, layout[1]); diff --git a/radicle-tui/src/ui/components/common/container.rs b/radicle-tui/src/ui/components/common/container.rs index c4e332b6..5087b90c 100644 --- a/radicle-tui/src/ui/components/common/container.rs +++ b/radicle-tui/src/ui/components/common/container.rs @@ -1,14 +1,15 @@ use tuirealm::command::{Cmd, CmdResult}; use tuirealm::props::{ AttrValue, Attribute, BorderSides, BorderType, Color, PropPayload, PropValue, Props, Style, + TextModifiers, }; use tuirealm::tui::layout::{Constraint, Direction, Layout, Rect}; -use tuirealm::tui::text::{Span, Spans}; use tuirealm::tui::widgets::{Block, Cell, Row}; use tuirealm::{Frame, MockComponent, State, StateValue}; use crate::ui::components::common::label::Label; use crate::ui::ext::HeaderBlock; +use crate::ui::layout; use crate::ui::state::TabState; use crate::ui::widget::{Widget, WidgetComponent}; @@ -35,16 +36,16 @@ impl WidgetComponent for GlobalListener { #[derive(Clone)] pub struct Tabs { tabs: Vec>, - divider: Widget