login page using canvas for forms
This commit is contained in:
@@ -10,6 +10,7 @@ use crate::modes::handlers::event::{EventHandler, EventOutcome};
|
||||
use crate::modes::handlers::mode_manager::{AppMode, ModeManager};
|
||||
use crate::state::pages::auth::AuthState;
|
||||
use crate::pages::register::RegisterState;
|
||||
use crate::pages::login::LoginFormState;
|
||||
use crate::pages::admin::AdminState;
|
||||
use crate::pages::admin::AdminFocus;
|
||||
use crate::pages::intro::IntroState;
|
||||
@@ -28,6 +29,7 @@ use crate::pages::register::RegisterResult;
|
||||
use crate::ui::handlers::context::DialogPurpose;
|
||||
use crate::utils::columns::filter_user_columns;
|
||||
use canvas::keymap::KeyEventOutcome;
|
||||
use canvas::FormEditor;
|
||||
use anyhow::{Context, Result};
|
||||
use crossterm::cursor::{SetCursorStyle, MoveTo};
|
||||
use crossterm::event as crossterm_event;
|
||||
@@ -66,7 +68,7 @@ pub async fn run_ui() -> Result<()> {
|
||||
let event_reader = EventReader::new();
|
||||
|
||||
let mut auth_state = AuthState::default();
|
||||
let mut login_state = LoginState::default();
|
||||
let mut login_state = LoginFormState::new();
|
||||
let mut register_state = RegisterState::default();
|
||||
let mut intro_state = IntroState::default();
|
||||
let mut admin_state = AdminState::default();
|
||||
@@ -350,7 +352,9 @@ pub async fn run_ui() -> Result<()> {
|
||||
// Navigate with the up-to-date state
|
||||
router.navigate(Page::Intro(intro_state.clone()));
|
||||
}
|
||||
AppView::Login => router.navigate(Page::Login(login_state.clone())),
|
||||
AppView::Login => {
|
||||
router.navigate(Page::Login(LoginFormState::new()))
|
||||
}
|
||||
AppView::Register => router.navigate(Page::Register(register_state.clone())),
|
||||
AppView::Admin => {
|
||||
if let Page::Admin(current) = &router.current {
|
||||
@@ -619,8 +623,7 @@ pub async fn run_ui() -> Result<()> {
|
||||
let current_input = state.get_current_input();
|
||||
let max_cursor_pos =
|
||||
if !current_input.is_empty() { current_input.len() - 1 } else { 0 };
|
||||
state.current_cursor_pos =
|
||||
event_handler.ideal_cursor_column.min(max_cursor_pos);
|
||||
state.set_current_cursor_pos(event_handler.ideal_cursor_column.min(max_cursor_pos));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user