use crate::*; pub struct FieldH(pub ItemTheme, pub T, pub U); impl, U: Content> Content for FieldH { fn content (&self) -> impl Render { let Self(ItemTheme { darkest, dark, lighter, lightest, .. }, title, value) = self; row!( Tui::fg_bg(dark.rgb, darkest.rgb, "▐"), Tui::fg_bg(lighter.rgb, dark.rgb, Tui::bold(true, title)), Tui::fg_bg(dark.rgb, darkest.rgb, "▌"), Tui::fg_bg(lightest.rgb, darkest.rgb, value), ) } } pub struct FieldV(pub ItemTheme, pub T, pub U); impl, U: Content> Content for FieldV { fn content (&self) -> impl Render { let Self(ItemTheme { darkest, dark, lighter, lightest, .. }, title, value) = self; let sep1 = Tui::bg(darkest.rgb, Tui::fg(dark.rgb, "▐")); let sep2 = Tui::bg(darkest.rgb, Tui::fg(dark.rgb, "▌")); let title = Tui::bg(dark.rgb, Tui::fg(lighter.rgb, Tui::bold(true, title))); let value = Tui::bg(darkest.rgb, Tui::fg(lightest.rgb, value)); Bsp::e(Bsp::s(row!(sep1, title, sep2), value), " ") } }