This commit is contained in:
2026-01-24 02:16:18 +01:00
parent 04f5e19ab2
commit 6f5fa762a4
6 changed files with 84 additions and 29 deletions

View File

@@ -5,6 +5,7 @@ use std::path::PathBuf;
use std::sync::{Arc, Mutex};
use crossbeam_channel::Sender;
use ratatui::style::Color;
use crate::commands::AppCommand;
use crate::engine::{
@@ -319,7 +320,7 @@ impl App {
Some(cmds.join("\n"))
};
}
self.ui.flash("Script compiled", 150);
self.ui.flash("Script compiled", 150, Color::White);
}
Err(e) => {
if let Some(step) = self
@@ -330,7 +331,7 @@ impl App {
{
step.command = None;
}
self.ui.set_status(format!("Script error: {e}"));
self.ui.flash(&format!("Script error: {e}"), 300, Color::Red);
}
}
}
@@ -539,7 +540,7 @@ impl App {
{
self.load_step_to_editor();
}
self.ui.flash("Step deleted", 150);
self.ui.flash("Step deleted", 150, Color::Green);
}
pub fn reset_pattern(&mut self, bank: usize, pattern: usize) {
@@ -548,7 +549,7 @@ impl App {
if self.editor_ctx.bank == bank && self.editor_ctx.pattern == pattern {
self.load_step_to_editor();
}
self.ui.flash("Pattern reset", 150);
self.ui.flash("Pattern reset", 150, Color::Green);
}
pub fn reset_bank(&mut self, bank: usize) {
@@ -559,13 +560,13 @@ impl App {
if self.editor_ctx.bank == bank {
self.load_step_to_editor();
}
self.ui.flash("Bank reset", 150);
self.ui.flash("Bank reset", 150, Color::Green);
}
pub fn copy_pattern(&mut self, bank: usize, pattern: usize) {
let pat = self.project_state.project.banks[bank].patterns[pattern].clone();
self.copied_pattern = Some(pat);
self.ui.flash("Pattern copied", 150);
self.ui.flash("Pattern copied", 150, Color::Green);
}
pub fn paste_pattern(&mut self, bank: usize, pattern: usize) {
@@ -581,14 +582,14 @@ impl App {
if self.editor_ctx.bank == bank && self.editor_ctx.pattern == pattern {
self.load_step_to_editor();
}
self.ui.flash("Pattern pasted", 150);
self.ui.flash("Pattern pasted", 150, Color::Green);
}
}
pub fn copy_bank(&mut self, bank: usize) {
let b = self.project_state.project.banks[bank].clone();
self.copied_bank = Some(b);
self.ui.flash("Bank copied", 150);
self.ui.flash("Bank copied", 150, Color::Green);
}
pub fn paste_bank(&mut self, bank: usize) {
@@ -606,7 +607,7 @@ impl App {
if self.editor_ctx.bank == bank {
self.load_step_to_editor();
}
self.ui.flash("Bank pasted", 150);
self.ui.flash("Bank pasted", 150, Color::Green);
}
}
@@ -675,7 +676,7 @@ impl App {
self.project_state.mark_dirty(bank, pattern);
self.load_step_to_editor();
self.ui
.flash(&format!("Linked to step {:02}", copied.step + 1), 150);
.flash(&format!("Linked to step {:02}", copied.step + 1), 150, Color::Green);
}
pub fn harden_step(&mut self) {
@@ -708,7 +709,7 @@ impl App {
}
self.project_state.mark_dirty(bank, pattern);
self.load_step_to_editor();
self.ui.flash("Step hardened", 150);
self.ui.flash("Step hardened", 150, Color::Green);
}
pub fn open_pattern_modal(&mut self, field: PatternField) {
@@ -841,7 +842,8 @@ impl App {
AppCommand::Flash {
message,
duration_ms,
} => self.ui.flash(&message, duration_ms),
color,
} => self.ui.flash(&message, duration_ms, color),
AppCommand::OpenModal(modal) => {
if matches!(modal, Modal::Editor) {
// If current step is a shallow copy, navigate to source step