not working, working on redesigning ui.rs

This commit is contained in:
filipriec
2025-02-18 23:09:29 +01:00
parent 98baeabce2
commit 054d647d83
5 changed files with 35 additions and 31 deletions

View File

@@ -1,18 +1,12 @@
// src/client/ui/handlers/ui.rs
use crossterm::event::{Event, KeyCode, KeyModifiers};
use crossterm::event::Event;
use crate::client::terminal::AppTerminal;
use crate::client::components1::{render_command_line, render_form, render_preview_card, render_status_line};
use crate::client::colors::Theme;
use crate::client::config::Config;
use ratatui::layout::{Constraint, Direction, Layout};
use std::env;
use crate::proto::multieko2::PostAdresarRequest;
use super::form::FormState;
use super::event::EventHandler;
use ratatui::layout::Rect;
use super::{FormState, EventHandler, AppState};
use super::render::render_ui;
use super::state::AppState;
pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::load()?;
@@ -25,13 +19,13 @@ pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
// Fetch the total count of Adresar entries
let total_count = app_terminal.get_adresar_count().await?;
app_state.update_total_count(total_count);
app_state.update_current_position(total_count + 1);
app_state.update_total_count(total_count.try_into().unwrap());
app_state.update_current_position((total_count + 1).try_into().unwrap());
loop {
// Fetch fresh total count on each iteration
let total_count = app_terminal.get_adresar_count().await?;
app_state.update_total_count(total_count);
app_state.update_total_count(total_count.try_into().unwrap());
app_terminal.draw(|f| {
render_ui(
@@ -48,20 +42,20 @@ pub async fn run_ui() -> Result<(), Box<dyn std::error::Error>> {
);
})?;
if let Some(event) = app_terminal.read_event()? {
let (should_exit, message) = event_handler.handle_event(
event,
&config,
&mut app_terminal,
&mut form_state,
&mut app_state.is_saved,
app_state.total_count,
&mut app_state.current_position,
).await?;
event_handler.command_message = message;
if should_exit {
return Ok(());
}
let event = app_terminal.read_event()?;
let (should_exit, message) = event_handler.handle_event(
event,
&config,
&mut app_terminal,
&mut form_state,
&mut app_state.is_saved,
app_state.total_count,
&mut app_state.current_position,
).await?;
event_handler.command_message = message;
if should_exit {
return Ok(());
}
}
}