From 62d7fb6bda5151354c1f6ceb99de02d5cf9c5930 Mon Sep 17 00:00:00 2001 From: filipriec Date: Fri, 21 Mar 2025 18:46:17 +0100 Subject: [PATCH] centered form --- client/src/components/handlers.rs | 2 ++ client/src/components/handlers/background.rs | 15 +++++++++++++++ client/src/ui/handlers/render.rs | 15 +++++++++------ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 client/src/components/handlers/background.rs diff --git a/client/src/components/handlers.rs b/client/src/components/handlers.rs index 300bde9..8c26c30 100644 --- a/client/src/components/handlers.rs +++ b/client/src/components/handlers.rs @@ -4,9 +4,11 @@ pub mod command_line; pub mod status_line; pub mod canvas; pub mod sidebar; +pub mod background; pub use command_line::render_command_line; pub use form::*; pub use status_line::render_status_line; pub use canvas::*; pub use sidebar::*; +pub use background::*; diff --git a/client/src/components/handlers/background.rs b/client/src/components/handlers/background.rs new file mode 100644 index 0000000..902a6aa --- /dev/null +++ b/client/src/components/handlers/background.rs @@ -0,0 +1,15 @@ +// src/components/handlers/background.rs +use ratatui::{ + widgets::{Block}, + layout::Rect, + style::Style, + Frame, +}; +use crate::config::colors::Theme; + +pub fn render_background(f: &mut Frame, area: Rect, theme: &Theme) { + let background = Block::default() + .style(Style::default().bg(theme.bg)); + + f.render_widget(background, area); +} diff --git a/client/src/ui/handlers/render.rs b/client/src/ui/handlers/render.rs index b774a5a..fb2bf8f 100644 --- a/client/src/ui/handlers/render.rs +++ b/client/src/ui/handlers/render.rs @@ -1,6 +1,6 @@ // src/ui/handlers/render.rs -use crate::components::{render_command_line, render_status_line}; +use crate::components::{render_background, render_command_line, render_status_line}; use crate::config::colors::Theme; use ratatui::layout::{Constraint, Direction, Layout}; use ratatui::Frame; @@ -20,6 +20,8 @@ pub fn render_ui( command_message: &str, ui_state: &UiState, ) { + render_background(f, f.size(), theme); + // Root layout - vertical split for main content, status, and command line let root = Layout::default() .direction(Direction::Vertical) @@ -47,19 +49,20 @@ pub fn render_ui( (None, main_content_area) }; - // Split content area into form and preview - let content_chunks = Layout::default() + // Create centered form layout + let form_layout = Layout::default() .direction(Direction::Horizontal) .constraints([ - Constraint::Percentage(60), - Constraint::Percentage(40), + Constraint::Min(0), + Constraint::Max(80), + Constraint::Min(0), ]) .split(content_area); // Render form in the left content area form_state.render( f, - content_chunks[0], + form_layout[1], theme, is_edit_mode, total_count,