initial commit
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I4a6b498153eccd5407510dd541b7f4816a6a6964
This commit is contained in:
commit
6a73d11c4b
124 changed files with 34856 additions and 0 deletions
55
crates/pinakes-tui/src/ui/database.rs
Normal file
55
crates/pinakes-tui/src/ui/database.rs
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
use ratatui::Frame;
|
||||
use ratatui::layout::Rect;
|
||||
use ratatui::style::{Color, Modifier, Style};
|
||||
use ratatui::text::{Line, Span};
|
||||
use ratatui::widgets::{Block, Borders, Paragraph};
|
||||
|
||||
use crate::app::AppState;
|
||||
|
||||
pub fn render(f: &mut Frame, state: &AppState, area: Rect) {
|
||||
let label_style = Style::default()
|
||||
.fg(Color::Yellow)
|
||||
.add_modifier(Modifier::BOLD);
|
||||
let value_style = Style::default().fg(Color::White);
|
||||
let section_style = Style::default()
|
||||
.fg(Color::Cyan)
|
||||
.add_modifier(Modifier::BOLD);
|
||||
|
||||
let pad = " ";
|
||||
|
||||
let mut lines = vec![
|
||||
Line::default(),
|
||||
Line::from(Span::styled("--- Database Statistics ---", section_style)),
|
||||
];
|
||||
|
||||
if let Some(ref stats) = state.database_stats {
|
||||
for (key, value) in stats {
|
||||
lines.push(Line::from(vec![
|
||||
Span::raw(pad),
|
||||
Span::styled(format!("{key:<20}"), label_style),
|
||||
Span::styled(value.to_string(), value_style),
|
||||
]));
|
||||
}
|
||||
} else {
|
||||
lines.push(Line::from(vec![
|
||||
Span::raw(pad),
|
||||
Span::raw("Press 'r' to load database statistics"),
|
||||
]));
|
||||
}
|
||||
|
||||
lines.push(Line::default());
|
||||
lines.push(Line::from(Span::styled("--- Actions ---", section_style)));
|
||||
lines.push(Line::from(vec![
|
||||
Span::raw(pad),
|
||||
Span::raw("v: Vacuum database"),
|
||||
]));
|
||||
lines.push(Line::from(vec![
|
||||
Span::raw(pad),
|
||||
Span::raw("Esc: Return to library"),
|
||||
]));
|
||||
|
||||
let paragraph =
|
||||
Paragraph::new(lines).block(Block::default().borders(Borders::ALL).title(" Database "));
|
||||
|
||||
f.render_widget(paragraph, area);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue