use std::hash::Hash; use crate::Rsc; use super::*; pub const SIZE: u32 = 20; #[derive(PartialEq, Eq, Hash, Clone, Copy)] pub enum MainView { Channel, Server, } pub fn main_view(rsc: &mut Rsc) -> WeakWidget { let mut view = WidgetSelector::new(MainView::Channel, channel::view(rsc)); view.set(MainView::Server, server::view(rsc)); let view = view.add(rsc); (top_bar(rsc, view), view).span(Dir::DOWN).add(rsc) } pub fn top_bar(rsc: &mut Rsc, view: WeakWidget>) -> WeakWidget { let [channel, server] = tabs( rsc, view, [("channel", MainView::Channel), ("server", MainView::Server)], ); rect(Color::BLACK.alpha(150)) .height(50) .foreground((channel, server).span(Dir::RIGHT)) .add(rsc) }