pub mod layout;
pub mod widgets;
use super::app::{App, CurrentView};
use super::views::View;
use ratatui::prelude::*;
pub fn draw(f: &mut Frame, app: &mut App) {
let size = f.area();
let chunks = Layout::default()
.direction(Direction::Horizontal)
.constraints([Constraint::Length(20), Constraint::Min(60)])
.split(size);
layout::draw_sidebar(f, &app.ctx, chunks[0]);
let content_chunks = Layout::default()
.direction(Direction::Vertical)
.constraints([Constraint::Min(10), Constraint::Length(1)])
.split(chunks[1]);
match app.ctx.current_view {
CurrentView::Databases => app.databases_view.draw(f, &app.ctx, content_chunks[0]),
CurrentView::Documents => app.documents_view.draw(f, &app.ctx, content_chunks[0]),
CurrentView::Query => app.query_view.draw(f, &app.ctx, content_chunks[0]),
CurrentView::Indexes => app.indexes_view.draw(f, &app.ctx, content_chunks[0]),
CurrentView::Cluster => app.cluster_view.draw(f, &app.ctx, content_chunks[0]),
}
layout::draw_status_bar(f, &app.ctx, content_chunks[1]);
if app.ctx.show_help {
app.help_view.draw(f, &app.ctx, size);
}
}