login page using canvas for forms
This commit is contained in:
@@ -16,17 +16,20 @@ use canvas::{
|
||||
render_suggestions_dropdown,
|
||||
DefaultCanvasTheme,
|
||||
};
|
||||
use crate::pages::login::LoginState;
|
||||
|
||||
use crate::pages::login::LoginFormState;
|
||||
use crate::dialog;
|
||||
|
||||
pub fn render_login(
|
||||
f: &mut Frame,
|
||||
area: Rect,
|
||||
theme: &Theme,
|
||||
// FIX: take &LoginState (reference), not owned
|
||||
login_state: &LoginState,
|
||||
login_page: &LoginFormState,
|
||||
app_state: &AppState,
|
||||
) {
|
||||
let login_state = &login_page.state;
|
||||
let editor = &login_page.editor;
|
||||
|
||||
// Main container
|
||||
let block = Block::default()
|
||||
.borders(Borders::ALL)
|
||||
@@ -52,14 +55,10 @@ pub fn render_login(
|
||||
])
|
||||
.split(inner_area);
|
||||
|
||||
// Wrap LoginState in FormEditor (no clone needed)
|
||||
let editor = FormEditor::new(login_state.clone());
|
||||
|
||||
// Use DefaultCanvasTheme instead of app Theme
|
||||
let input_rect = render_canvas(
|
||||
f,
|
||||
chunks[0],
|
||||
&editor,
|
||||
editor,
|
||||
&DefaultCanvasTheme,
|
||||
);
|
||||
|
||||
@@ -134,14 +133,14 @@ pub fn render_login(
|
||||
);
|
||||
|
||||
// --- SUGGESTIONS DROPDOWN (if active) ---
|
||||
if editor.mode() == canvas::AppMode::Edit {
|
||||
if editor.mode() == canvas::AppMode::Edit {
|
||||
if let Some(input_rect) = input_rect {
|
||||
render_suggestions_dropdown(
|
||||
f,
|
||||
f.area(),
|
||||
chunks[0],
|
||||
input_rect,
|
||||
&DefaultCanvasTheme,
|
||||
&editor, // FIX: pass &editor
|
||||
editor,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user