better and better add script

This commit is contained in:
filipriec
2025-05-25 15:27:41 +02:00
parent 85eb3adec7
commit 65e8e03224
2 changed files with 24 additions and 5 deletions

View File

@@ -14,6 +14,7 @@ use ratatui::{
use crate::components::handlers::canvas::render_canvas;
use crate::components::common::dialog;
use crate::config::binds::config::EditorKeybindingMode;
// Remove the CursorStyle import
pub fn render_add_logic(
f: &mut Frame,
@@ -41,6 +42,16 @@ pub fn render_add_logic(
let border_style = Style::default().fg(border_style_color);
editor_ref.set_cursor_line_style(Style::default());
// Set cursor style: underscore when not in edit mode, block when in edit mode
let cursor_style = if is_edit_mode {
// Block cursor (default reversed style)
Style::default().bg(theme.highlight).fg(theme.bg)
} else {
// Underscore cursor (underline style)
Style::default().add_modifier(Modifier::UNDERLINED).fg(theme.highlight)
};
editor_ref.set_cursor_style(cursor_style);
let script_title_hint = match add_logic_state.editor_keybinding_mode {
EditorKeybindingMode::Vim => {
@@ -137,6 +148,12 @@ pub fn render_add_logic(
{
let mut editor_ref = add_logic_state.script_content_editor.borrow_mut();
editor_ref.set_cursor_line_style(Style::default());
// Set cursor style for preview mode (underscore style)
let preview_cursor_style = Style::default()
.add_modifier(Modifier::UNDERLINED)
.fg(theme.secondary);
editor_ref.set_cursor_style(preview_cursor_style);
let is_script_focused = add_logic_state.current_focus == AddLogicFocus::ScriptContentPreview;
let border_style_color = if is_script_focused {
@@ -167,7 +184,7 @@ pub fn render_add_logic(
f.render_widget(&*editor_ref, script_content_area);
}
// Buttons
// Buttons (rest remains the same)
let get_button_style = |button_focus: AddLogicFocus, current_focus| {
let is_focused = current_focus == button_focus;
let base_style = Style::default().fg(if is_focused {