use ratatui::{
Frame,
layout::Rect,
style::{Color, Modifier, Style},
text::{Line, Span},
widgets::{Block, Borders, Tabs},
};
use crate::app::App;
#[cfg(target_os = "linux")]
const TAB_TITLES: &[&str] = &[
"Overview [1]",
"CPU [2]",
"Memory [3]",
"Network [4]",
"Disks [5]",
"Processes [6]",
"GPU [7]",
];
#[cfg(not(target_os = "linux"))]
const TAB_TITLES: &[&str] = &[
"Overview [1]",
"CPU [2]",
"Memory [3]",
"Network [4]",
"Disks [5]",
"Processes [6]",
];
pub fn draw(frame: &mut Frame, app: &App, area: Rect) {
let titles: Vec<Line> = TAB_TITLES
.iter()
.map(|t| Line::from(Span::styled(*t, Style::default().fg(Color::White))))
.collect();
let tabs = Tabs::new(titles)
.block(
Block::default()
.title(Span::styled(
" MENU ",
Style::default()
.fg(Color::Cyan)
.add_modifier(Modifier::BOLD),
))
.borders(Borders::ALL),
)
.select(app.selected_tab)
.highlight_style(
Style::default()
.fg(Color::Cyan)
.add_modifier(Modifier::BOLD | Modifier::UNDERLINED),
);
frame.render_widget(tabs, area);
}