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