diff --git a/client/src/bottom_panel/status_line.rs b/client/src/bottom_panel/status_line.rs index cfef77f..6777cbe 100644 --- a/client/src/bottom_panel/status_line.rs +++ b/client/src/bottom_panel/status_line.rs @@ -48,7 +48,16 @@ pub fn render_status_line( // --- The normal status line rendering logic (unchanged) --- let program_info = format!("komp_ac v{}", env!("CARGO_PKG_VERSION")); - let mode_text = if is_edit_mode { "[EDIT]" } else { "[READ-ONLY]" }; + let mode_text = if let Some(editor) = &app_state.form_editor { + match editor.mode() { + canvas::AppMode::Edit => "[EDIT]", + canvas::AppMode::ReadOnly => "[READ-ONLY]", + canvas::AppMode::Highlight => "[VISUAL]", + _ => "", + } + } else { + "" // No canvas active + }; let home_dir = dirs::home_dir() .map(|p| p.to_string_lossy().into_owned()) diff --git a/client/src/pages/forms/state.rs b/client/src/pages/forms/state.rs index 23d4a8c..50498d5 100644 --- a/client/src/pages/forms/state.rs +++ b/client/src/pages/forms/state.rs @@ -72,7 +72,7 @@ impl FormState { selected_suggestion_index: None, autocomplete_loading: false, link_display_map: HashMap::new(), - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, } } diff --git a/client/src/pages/login/state.rs b/client/src/pages/login/state.rs index ce69fd2..803fb69 100644 --- a/client/src/pages/login/state.rs +++ b/client/src/pages/login/state.rs @@ -24,7 +24,7 @@ impl Default for LoginState { current_cursor_pos: 0, has_unsaved_changes: false, login_request_pending: false, - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, } } } @@ -32,7 +32,7 @@ impl Default for LoginState { impl LoginState { pub fn new() -> Self { Self { - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, ..Default::default() } } diff --git a/client/src/pages/register/state.rs b/client/src/pages/register/state.rs index 61dda2c..559587a 100644 --- a/client/src/pages/register/state.rs +++ b/client/src/pages/register/state.rs @@ -24,7 +24,7 @@ pub struct RegisterState { pub current_field: usize, pub current_cursor_pos: usize, pub has_unsaved_changes: bool, - pub app_mode: AppMode, + pub app_mode: canvas::AppMode, pub role_suggestions: Vec, pub role_suggestions_active: bool, } @@ -41,7 +41,7 @@ impl Default for RegisterState { current_field: 0, current_cursor_pos: 0, has_unsaved_changes: false, - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, role_suggestions: AVAILABLE_ROLES.clone(), role_suggestions_active: false, } @@ -51,7 +51,7 @@ impl Default for RegisterState { impl RegisterState { pub fn new() -> Self { Self { - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, role_suggestions: AVAILABLE_ROLES.clone(), role_suggestions_active: false, ..Default::default() diff --git a/client/src/state/pages/add_logic.rs b/client/src/state/pages/add_logic.rs index 8fb4a3a..1439044 100644 --- a/client/src/state/pages/add_logic.rs +++ b/client/src/state/pages/add_logic.rs @@ -54,7 +54,7 @@ pub struct AddLogicState { // New fields for same-profile table names and column autocomplete pub same_profile_table_names: Vec, // Tables from same profile only pub script_editor_awaiting_column_autocomplete: Option, // Table name waiting for column fetch - pub app_mode: AppMode, + pub app_mode: canvas::AppMode, } impl AddLogicState { @@ -92,7 +92,7 @@ impl AddLogicState { same_profile_table_names: Vec::new(), script_editor_awaiting_column_autocomplete: None, - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, } } @@ -272,7 +272,7 @@ impl AddLogicState { impl Default for AddLogicState { fn default() -> Self { let mut state = Self::new(&EditorConfig::default()); - state.app_mode = AppMode::Edit; + state.app_mode = canvas::AppMode::Edit; state } } diff --git a/client/src/state/pages/add_table.rs b/client/src/state/pages/add_table.rs index 36cafa8..606ad02 100644 --- a/client/src/state/pages/add_table.rs +++ b/client/src/state/pages/add_table.rs @@ -64,7 +64,7 @@ pub struct AddTableState { pub column_name_cursor_pos: usize, pub column_type_cursor_pos: usize, pub has_unsaved_changes: bool, - pub app_mode: AppMode, + pub app_mode: canvas::AppMode, } impl Default for AddTableState { @@ -87,7 +87,7 @@ impl Default for AddTableState { column_name_cursor_pos: 0, column_type_cursor_pos: 0, has_unsaved_changes: false, - app_mode: AppMode::Edit, + app_mode: canvas::AppMode::Edit, } } }