From f83f401ff1611973c98ad9803d89689fdbfe85e7 Mon Sep 17 00:00:00 2001 From: filipriec Date: Sun, 23 Feb 2025 09:28:41 +0100 Subject: [PATCH] split temp client --- .../src/components1/handlers/command_line.rs | 2 +- client/src/components1/handlers/form.rs | 2 +- .../src/components1/handlers/preview_card.rs | 2 +- .../src/components1/handlers/status_line.rs | 2 +- client/src/lib.rs | 30 +++++++++++++++++++ client/src/main.rs | 11 +++++-- client/src/ui/handlers/event.rs | 2 +- client/src/ui/handlers/form.rs | 2 +- client/src/ui/handlers/render.rs | 2 +- client/src/ui/handlers/ui.rs | 4 +-- client/src/ui/mod.rs | 1 + 11 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 client/src/lib.rs diff --git a/client/src/components1/handlers/command_line.rs b/client/src/components1/handlers/command_line.rs index 922531b..7d46a49 100644 --- a/client/src/components1/handlers/command_line.rs +++ b/client/src/components1/handlers/command_line.rs @@ -5,7 +5,7 @@ use ratatui::{ layout::Rect, Frame, }; -use crate::client::colors::Theme; +use crate::colors::Theme; pub fn render_command_line(f: &mut Frame, area: Rect, input: &str, active: bool, theme: &Theme, message: &str) { let prompt = if active { diff --git a/client/src/components1/handlers/form.rs b/client/src/components1/handlers/form.rs index 4f93c99..26826f8 100644 --- a/client/src/components1/handlers/form.rs +++ b/client/src/components1/handlers/form.rs @@ -6,7 +6,7 @@ use ratatui::{ text::{Line, Span}, Frame, }; -use crate::client::colors::Theme; +use crate::colors::Theme; use crate::client::ui::form::FormState; pub fn render_form( diff --git a/client/src/components1/handlers/preview_card.rs b/client/src/components1/handlers/preview_card.rs index 7dbed02..779b855 100644 --- a/client/src/components1/handlers/preview_card.rs +++ b/client/src/components1/handlers/preview_card.rs @@ -6,7 +6,7 @@ use ratatui::{ text::Text, Frame, }; -use crate::client::colors::Theme; +use crate::colors::Theme; pub fn render_preview_card(f: &mut Frame, area: Rect, fields: &[&String], theme: &Theme) { let card = Block::default() diff --git a/client/src/components1/handlers/status_line.rs b/client/src/components1/handlers/status_line.rs index 1440bf1..af548b8 100644 --- a/client/src/components1/handlers/status_line.rs +++ b/client/src/components1/handlers/status_line.rs @@ -6,7 +6,7 @@ use ratatui::{ Frame, text::{Line, Span}, }; -use crate::client::colors::Theme; +use crate::colors::Theme; use std::path::Path; pub fn render_status_line( diff --git a/client/src/lib.rs b/client/src/lib.rs new file mode 100644 index 0000000..399610f --- /dev/null +++ b/client/src/lib.rs @@ -0,0 +1,30 @@ +// client/src/lib.rs +pub mod config; +pub mod terminal; +pub mod ui; +pub mod colors; +pub mod components1; + +pub use ui::run_ui; + +use ratatui::{backend::CrosstermBackend, Terminal}; +use crossterm::event::{self, Event, KeyCode}; + +pub async fn run_ui() -> Result<(), Box> { + let mut terminal = Terminal::new(CrosstermBackend::new(std::io::stdout()))?; + + loop { + terminal.draw(|f| { + // Your UI rendering logic here + ui::draw(f); + })?; + + if let Event::Key(key) = event::read()? { + if key.code == KeyCode::Char('q') { + break; + } + } + } + + Ok(()) +} diff --git a/client/src/main.rs b/client/src/main.rs index e55d2f5..8ef5b24 100644 --- a/client/src/main.rs +++ b/client/src/main.rs @@ -1,3 +1,10 @@ -fn main() { - println!("Client is running!"); +// client/src/main.rs +use client::run_ui; +use dotenvy::dotenv; +use std::error::Error; + +#[tokio::main] +async fn main() -> Result<(), Box> { + dotenv().ok(); + run_ui().await } diff --git a/client/src/ui/handlers/event.rs b/client/src/ui/handlers/event.rs index fa8c336..78058f9 100644 --- a/client/src/ui/handlers/event.rs +++ b/client/src/ui/handlers/event.rs @@ -2,7 +2,7 @@ use crossterm::event::{Event, KeyCode, KeyModifiers}; use crossterm::cursor::{SetCursorStyle}; -use crate::client::terminal::AppTerminal; +use crate::terminal::AppTerminal; use crate::client::config::Config; use common::proto::multieko2::adresar::{PostAdresarRequest, PutAdresarRequest}; use super::form::FormState; diff --git a/client/src/ui/handlers/form.rs b/client/src/ui/handlers/form.rs index 8248475..0e331b4 100644 --- a/client/src/ui/handlers/form.rs +++ b/client/src/ui/handlers/form.rs @@ -1,7 +1,7 @@ // src/client/ui/handlers/form.rs use crate::client::components1::render_form; -use crate::client::colors::Theme; +use crate::colors::Theme; use ratatui::layout::Rect; use ratatui::Frame; diff --git a/client/src/ui/handlers/render.rs b/client/src/ui/handlers/render.rs index 9b7df8b..92d7043 100644 --- a/client/src/ui/handlers/render.rs +++ b/client/src/ui/handlers/render.rs @@ -1,7 +1,7 @@ // src/client/ui/handlers/render.rs use crate::client::components1::{render_command_line, render_preview_card, render_status_line}; -use crate::client::colors::Theme; +use crate::colors::Theme; use ratatui::layout::{Constraint, Direction, Layout}; use ratatui::Frame; use super::form::FormState; diff --git a/client/src/ui/handlers/ui.rs b/client/src/ui/handlers/ui.rs index eb24950..885b951 100644 --- a/client/src/ui/handlers/ui.rs +++ b/client/src/ui/handlers/ui.rs @@ -1,7 +1,7 @@ // src/client/ui/handlers/ui.rs -use crate::client::terminal::AppTerminal; -use crate::client::colors::Theme; +use crate::terminal::AppTerminal; +use crate::colors::Theme; use crate::client::config::Config; use crate::client::ui::handlers::{event::EventHandler, form::FormState, state::AppState, render::render_ui}; diff --git a/client/src/ui/mod.rs b/client/src/ui/mod.rs index d548bc7..0a017f8 100644 --- a/client/src/ui/mod.rs +++ b/client/src/ui/mod.rs @@ -1,5 +1,6 @@ // src/client/ui/mod.rs pub mod models; pub mod handlers; +pub mod state; pub use handlers::*;