is edit mode is gone from the codebase

This commit is contained in:
filipriec
2025-08-24 16:54:18 +02:00
parent b2a82fba30
commit 18393ff661
6 changed files with 14 additions and 16 deletions

View File

@@ -148,19 +148,17 @@ impl Config {
/// Context-aware keybinding resolution /// Context-aware keybinding resolution
pub fn get_action_for_current_context( pub fn get_action_for_current_context(
&self, &self,
is_edit_mode: bool,
command_mode: bool, command_mode: bool,
key: KeyCode, key: KeyCode,
modifiers: KeyModifiers modifiers: KeyModifiers
) -> Option<&str> { ) -> Option<&str> {
match (command_mode, is_edit_mode) { if command_mode {
(true, _) => self.get_command_action_for_key(key, modifiers), self.get_command_action_for_key(key, modifiers)
(_, true) => self.get_edit_action_for_key(key, modifiers) } else {
.or_else(|| self.get_common_action(key, modifiers)), // fallback: read-only + common + global
_ => self.get_read_only_action_for_key(key, modifiers) self.get_read_only_action_for_key(key, modifiers)
.or_else(|| self.get_common_action(key, modifiers)) .or_else(|| self.get_common_action(key, modifiers))
// Add global bindings check for read-only mode .or_else(|| self.get_action_for_key_in_mode(&self.keybindings.global, key, modifiers))
.or_else(|| self.get_action_for_key_in_mode(&self.keybindings.global, key, modifiers)),
} }
} }

View File

@@ -26,7 +26,6 @@ pub fn render_login(
// FIX: take &LoginState (reference), not owned // FIX: take &LoginState (reference), not owned
login_state: &LoginState, login_state: &LoginState,
app_state: &AppState, app_state: &AppState,
is_edit_mode: bool,
) { ) {
// Main container // Main container
let block = Block::default() let block = Block::default()

View File

@@ -21,7 +21,6 @@ pub fn render_register(
theme: &Theme, theme: &Theme,
state: &RegisterState, state: &RegisterState,
app_state: &AppState, app_state: &AppState,
is_edit_mode: bool,
) { ) {
let block = Block::default() let block = Block::default()
.borders(Borders::ALL) .borders(Borders::ALL)

View File

@@ -121,6 +121,10 @@ impl AppState {
pub fn form_state_mut(&mut self) -> Option<&mut FormState> { pub fn form_state_mut(&mut self) -> Option<&mut FormState> {
self.form_editor.as_mut().map(|e| e.data_provider_mut()) self.form_editor.as_mut().map(|e| e.data_provider_mut())
} }
pub fn is_canvas_edit_mode(&self) -> bool {
matches!(self.form_editor.as_ref().map(|e| e.mode()), Some(canvas::AppMode::Edit))
}
} }
impl Default for UiState { impl Default for UiState {

View File

@@ -82,7 +82,6 @@ pub fn render_ui(
theme, theme,
state, state,
app_state, app_state,
state.current_field() < 2,
), ),
Page::Register(state) => render_register( Page::Register(state) => render_register(
f, f,
@@ -90,7 +89,6 @@ pub fn render_ui(
theme, theme,
state, state,
app_state, app_state,
state.current_field() < 4,
), ),
Page::Admin(state) => crate::components::admin::admin_panel::render_admin_panel( Page::Admin(state) => crate::components::admin::admin_panel::render_admin_panel(
f, f,

View File

@@ -544,7 +544,7 @@ pub async fn run_ui() -> Result<()> {
if let Page::Form(form_state) = &mut router.current { if let Page::Form(form_state) = &mut router.current {
if !table_just_switched { if !table_just_switched {
if position_changed && !matches!(app_state.form_editor.as_ref().map(|e| e.mode()), Some(canvas::AppMode::Edit)) { if position_changed && !app_state.is_canvas_edit_mode() {
position_logic_needs_redraw = true; position_logic_needs_redraw = true;
if let Some(form_state) = app_state.form_state_mut() { if let Some(form_state) = app_state.form_state_mut() {
@@ -582,7 +582,7 @@ pub async fn run_ui() -> Result<()> {
form_state.current_cursor_pos = form_state.current_cursor_pos =
event_handler.ideal_cursor_column.min(max_cursor_pos); event_handler.ideal_cursor_column.min(max_cursor_pos);
} }
} else if !position_changed && !matches!(app_state.form_editor.as_ref().map(|e| e.mode()), Some(canvas::AppMode::Edit)) { } else if !position_changed && !app_state.is_canvas_edit_mode() {
if let Some(form_state) = app_state.form_state_mut() { if let Some(form_state) = app_state.form_state_mut() {
let current_input_str = form_state.get_current_input(); let current_input_str = form_state.get_current_input();
let current_input_len = current_input_str.chars().count(); let current_input_len = current_input_str.chars().count();
@@ -597,7 +597,7 @@ pub async fn run_ui() -> Result<()> {
} }
} }
} else if let Page::Register(state) = &mut router.current { } else if let Page::Register(state) = &mut router.current {
if !matches!(app_state.form_editor.as_ref().map(|e| e.mode()), Some(canvas::AppMode::Edit)) { if !app_state.is_canvas_edit_mode() {
let current_input = state.get_current_input(); let current_input = state.get_current_input();
let max_cursor_pos = let max_cursor_pos =
if !current_input.is_empty() { current_input.len() - 1 } else { 0 }; if !current_input.is_empty() { current_input.len() - 1 } else { 0 };
@@ -605,7 +605,7 @@ pub async fn run_ui() -> Result<()> {
event_handler.ideal_cursor_column.min(max_cursor_pos); event_handler.ideal_cursor_column.min(max_cursor_pos);
} }
} else if let Page::Login(state) = &mut router.current { } else if let Page::Login(state) = &mut router.current {
if !matches!(app_state.form_editor.as_ref().map(|e| e.mode()), Some(canvas::AppMode::Edit)) { if !app_state.is_canvas_edit_mode() {
let current_input = state.get_current_input(); let current_input = state.get_current_input();
let max_cursor_pos = let max_cursor_pos =
if !current_input.is_empty() { current_input.len() - 1 } else { 0 }; if !current_input.is_empty() { current_input.len() - 1 } else { 0 };