registration now has working form

This commit is contained in:
filipriec
2025-08-29 12:22:25 +02:00
parent cf79bc7bd5
commit 72c2691a17
7 changed files with 241 additions and 65 deletions

View File

@@ -9,8 +9,8 @@ use crate::modes::common::commands::CommandHandler;
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::register::RegisterFormState;
use crate::pages::admin::AdminState;
use crate::pages::admin::AdminFocus;
use crate::pages::intro::IntroState;
@@ -70,7 +70,8 @@ pub async fn run_ui() -> Result<()> {
let mut auth_state = AuthState::default();
let mut login_state = LoginFormState::new();
login_state.editor.set_keymap(config.build_canvas_keymap());
let mut register_state = RegisterState::default();
let mut register_state = RegisterFormState::default();
register_state.editor.set_keymap(config.build_canvas_keymap());
let mut intro_state = IntroState::default();
let mut admin_state = AdminState::default();
let mut router = Router::new();
@@ -387,7 +388,15 @@ pub async fn run_ui() -> Result<()> {
router.navigate(Page::Login(page));
}
}
AppView::Register => router.navigate(Page::Register(register_state.clone())),
AppView::Register => {
if let Page::Register(_) = &router.current {
// already on register page
} else {
let mut page = RegisterFormState::new();
page.editor.set_keymap(config.build_canvas_keymap());
router.navigate(Page::Register(page));
}
}
AppView::Admin => {
if let Page::Admin(current) = &router.current {
admin_state = current.clone();
@@ -647,8 +656,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));
}
} else if let Page::Login(state) = &mut router.current {
if !app_state.is_canvas_edit_mode() {