From b1c92f4a0d3c5e545010012c9f3f11c8146a86bb Mon Sep 17 00:00:00 2001 From: Erik Kundt Date: Fri, 21 Apr 2023 16:20:22 +0200 Subject: [PATCH] tui: New labeled container design --- .../src/ui/components/common/container.rs | 94 +++++++++++++------ radicle-tui/src/ui/widget/common.rs | 22 +++-- 2 files changed, 81 insertions(+), 35 deletions(-) diff --git a/radicle-tui/src/ui/components/common/container.rs b/radicle-tui/src/ui/components/common/container.rs index a242a3ff..c4e332b6 100644 --- a/radicle-tui/src/ui/components/common/container.rs +++ b/radicle-tui/src/ui/components/common/container.rs @@ -1,12 +1,14 @@ use tuirealm::command::{Cmd, CmdResult}; -use tuirealm::props::{AttrValue, Attribute, Color, Props, Style}; +use tuirealm::props::{ + AttrValue, Attribute, BorderSides, BorderType, Color, PropPayload, PropValue, Props, Style, +}; use tuirealm::tui::layout::{Constraint, Direction, Layout, Rect}; use tuirealm::tui::text::{Span, Spans}; -use tuirealm::tui::widgets::Block; +use tuirealm::tui::widgets::{Block, Cell, Row}; use tuirealm::{Frame, MockComponent, State, StateValue}; use crate::ui::components::common::label::Label; -use crate::ui::layout; +use crate::ui::ext::HeaderBlock; use crate::ui::state::TabState; use crate::ui::widget::{Widget, WidgetComponent}; @@ -104,14 +106,24 @@ impl WidgetComponent for Tabs { } /// A labeled container header. -#[derive(Clone)] -struct Header { - content: Widget