buffer close, not kill implemented yet
This commit is contained in:
6
Cargo.lock
generated
6
Cargo.lock
generated
@@ -421,7 +421,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "client"
|
name = "client"
|
||||||
version = "0.3.5"
|
version = "0.3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"common",
|
"common",
|
||||||
@@ -462,7 +462,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "common"
|
name = "common"
|
||||||
version = "0.3.5"
|
version = "0.3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"prost",
|
"prost",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -2593,7 +2593,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "server"
|
name = "server"
|
||||||
version = "0.3.5"
|
version = "0.3.13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bcrypt",
|
"bcrypt",
|
||||||
"chrono",
|
"chrono",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ resolver = "2"
|
|||||||
[workspace.package]
|
[workspace.package]
|
||||||
# TODO: idk how to do the name, fix later
|
# TODO: idk how to do the name, fix later
|
||||||
# name = "Multieko2"
|
# name = "Multieko2"
|
||||||
version = "0.3.5"
|
version = "0.3.13"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
license = "GPL-3.0-or-later"
|
license = "GPL-3.0-or-later"
|
||||||
authors = ["Filip Priečinský <filippriec@gmail.com>"]
|
authors = ["Filip Priečinský <filippriec@gmail.com>"]
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ use crossterm::event::{Event, KeyCode};
|
|||||||
use crate::config::binds::config::Config;
|
use crate::config::binds::config::Config;
|
||||||
use crate::ui::handlers::context::DialogPurpose;
|
use crate::ui::handlers::context::DialogPurpose;
|
||||||
use crate::state::app::state::AppState;
|
use crate::state::app::state::AppState;
|
||||||
|
use crate::state::app::buffer::{AppView, BufferState};
|
||||||
use crate::state::pages::auth::AuthState;
|
use crate::state::pages::auth::AuthState;
|
||||||
use crate::state::pages::auth::LoginState;
|
use crate::state::pages::auth::LoginState;
|
||||||
use crate::state::pages::auth::RegisterState;
|
use crate::state::pages::auth::RegisterState;
|
||||||
@@ -20,6 +21,7 @@ pub async fn handle_dialog_event(
|
|||||||
auth_state: &mut AuthState,
|
auth_state: &mut AuthState,
|
||||||
login_state: &mut LoginState,
|
login_state: &mut LoginState,
|
||||||
register_state: &mut RegisterState,
|
register_state: &mut RegisterState,
|
||||||
|
buffer_state: &mut BufferState,
|
||||||
) -> Option<Result<EventOutcome, Box<dyn std::error::Error>>> {
|
) -> Option<Result<EventOutcome, Box<dyn std::error::Error>>> {
|
||||||
if let Event::Key(key) = event {
|
if let Event::Key(key) = event {
|
||||||
// Always allow Esc to dismiss
|
// Always allow Esc to dismiss
|
||||||
@@ -62,7 +64,7 @@ pub async fn handle_dialog_event(
|
|||||||
match selected_index {
|
match selected_index {
|
||||||
0 => { // "Menu" button selected
|
0 => { // "Menu" button selected
|
||||||
app_state.hide_dialog();
|
app_state.hide_dialog();
|
||||||
let message = login::back_to_main(login_state, app_state).await;
|
let message = login::back_to_main(login_state, app_state, buffer_state).await;
|
||||||
return Some(Ok(EventOutcome::Ok(message)));
|
return Some(Ok(EventOutcome::Ok(message)));
|
||||||
}
|
}
|
||||||
1 => {
|
1 => {
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ impl EventHandler {
|
|||||||
// --- DIALOG MODALITY ---
|
// --- DIALOG MODALITY ---
|
||||||
if app_state.ui.dialog.dialog_show {
|
if app_state.ui.dialog.dialog_show {
|
||||||
if let Some(dialog_result) = dialog::handle_dialog_event(
|
if let Some(dialog_result) = dialog::handle_dialog_event(
|
||||||
&event, config, app_state, auth_state, login_state, register_state
|
&event, config, app_state, auth_state, login_state, register_state, buffer_state
|
||||||
).await {
|
).await {
|
||||||
return dialog_result;
|
return dialog_result;
|
||||||
}
|
}
|
||||||
@@ -189,7 +189,7 @@ impl EventHandler {
|
|||||||
UiContext::Login => {
|
UiContext::Login => {
|
||||||
message = match index {
|
message = match index {
|
||||||
0 => login::save(auth_state, login_state, &mut self.auth_client, app_state).await?,
|
0 => login::save(auth_state, login_state, &mut self.auth_client, app_state).await?,
|
||||||
1 => login::back_to_main(login_state, app_state).await,
|
1 => login::back_to_main(login_state, app_state, buffer_state).await,
|
||||||
_ => "Invalid Login Option".to_string(),
|
_ => "Invalid Login Option".to_string(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ use crate::services::auth::AuthClient;
|
|||||||
use crate::state::pages::auth::AuthState;
|
use crate::state::pages::auth::AuthState;
|
||||||
use crate::state::pages::auth::LoginState;
|
use crate::state::pages::auth::LoginState;
|
||||||
use crate::state::app::state::AppState;
|
use crate::state::app::state::AppState;
|
||||||
|
use crate::state::app::buffer::{AppView, BufferState};
|
||||||
use crate::state::pages::canvas_state::CanvasState;
|
use crate::state::pages::canvas_state::CanvasState;
|
||||||
use crate::ui::handlers::context::DialogPurpose;
|
use crate::ui::handlers::context::DialogPurpose;
|
||||||
|
|
||||||
@@ -87,6 +88,7 @@ pub async fn revert(
|
|||||||
pub async fn back_to_main(
|
pub async fn back_to_main(
|
||||||
login_state: &mut LoginState,
|
login_state: &mut LoginState,
|
||||||
app_state: &mut AppState,
|
app_state: &mut AppState,
|
||||||
|
buffer_state: &mut BufferState,
|
||||||
) -> String {
|
) -> String {
|
||||||
// Clear the input fields
|
// Clear the input fields
|
||||||
login_state.username.clear();
|
login_state.username.clear();
|
||||||
@@ -98,8 +100,7 @@ pub async fn back_to_main(
|
|||||||
app_state.hide_dialog(); // Uncomment if needed
|
app_state.hide_dialog(); // Uncomment if needed
|
||||||
|
|
||||||
// Navigation logic (currently disabled in original code)
|
// Navigation logic (currently disabled in original code)
|
||||||
app_state.ui.show_login = false;
|
buffer_state.update_history(AppView::Intro);
|
||||||
app_state.ui.show_intro = true;
|
|
||||||
|
|
||||||
// Reset focus state
|
// Reset focus state
|
||||||
app_state.ui.focus_outside_canvas = false;
|
app_state.ui.focus_outside_canvas = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user