judo 2.0.2

Judo - TUI for ToDo lists
Documentation
pub struct DBSelector;
use crate::db::config::Config;
use ratatui::buffer::Buffer;
use ratatui::layout::{Alignment, Rect};
use ratatui::style::{Color, Style};
use ratatui::text::{Line, Span};
use ratatui::widgets::{Block, BorderType, Borders, Padding, Paragraph, Widget};
use std::str::FromStr;

impl DBSelector {
    pub fn render(area: Rect, buf: &mut Buffer, current_db_name: &str, config: Config) {
        let fg = config.foreground();
        let hl = config.highlight();

        // Command hints for db
        let list_command_hints = Line::from(vec![
            Span::raw(" "),
            Span::styled("[C]", Style::default().fg(Color::from_str(hl).unwrap())),
            Span::styled("hange", Style::default().fg(Color::from_str(fg).unwrap())),
            Span::raw(" "),
        ])
        .left_aligned();

        let block = Block::default()
            .padding(Padding::new(2, 2, 0, 0))
            .title_top(Line::raw("  D A T A B A S E  ").left_aligned())
            .title_bottom(list_command_hints)
            .title_alignment(Alignment::Center)
            .borders(Borders::ALL)
            .border_type(BorderType::Rounded);

        Paragraph::new(current_db_name)
            .left_aligned()
            .block(block)
            .render(area, buf);
    }
}