diff options
Diffstat (limited to 'src/widgets/tabs.rs')
| -rw-r--r-- | src/widgets/tabs.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/widgets/tabs.rs b/src/widgets/tabs.rs new file mode 100644 index 0000000..aca7685 --- /dev/null +++ b/src/widgets/tabs.rs @@ -0,0 +1,24 @@ +use ratatui::{ + Frame, + layout::Rect, + symbols, + widgets::{Block, Borders, Tabs}, +}; + +use crate::{app::ViewState, theme::Theme}; + +pub fn render_tab(frame: &mut Frame, area: Rect, selected_tab: &ViewState) { + let selected_index = match selected_tab { + ViewState::Dashboard => 0, + ViewState::InstalledPackages => 1, + ViewState::AvailablePackages => 2, + }; + + let tabs = Tabs::new(vec!["Dashboard", "Installed", "Browse"]) + .block(Block::default().borders(Borders::ALL).style(Theme::block())) + .highlight_style(Theme::success()) + .select(selected_index) + .divider(symbols::DOT) + .padding(" ", " "); + frame.render_widget(tabs, area); +} |
