diff --git a/crates/tek_sequencer/src/sequencer_tui.rs b/crates/tek_sequencer/src/sequencer_tui.rs index 704eabec..3a61f454 100644 --- a/crates/tek_sequencer/src/sequencer_tui.rs +++ b/crates/tek_sequencer/src/sequencer_tui.rs @@ -47,10 +47,14 @@ impl Content for PhrasePool { col!( "Phrases:".fill_x().fixed_y(2), col!((i, phrase) in self.phrases.iter().enumerate() => - format!("{i}").fixed_y(2).bg(if i == self.phrase { - Color::Rgb(40, 50, 30) - } else { - Color::Rgb(28, 35, 25) + Layers::new(|add|{ + add(&format!(" {i}").fixed_y(2).bg(if i == self.phrase { + Color::Rgb(40, 50, 30) + } else { + Color::Rgb(28, 35, 25) + }))?; + if self.focused && i == self.phrase { add(&CORNERS)?; } + Ok(()) })) ) .fill_xy() @@ -76,10 +80,12 @@ impl Handle for PhrasePool { self.phrase = (self.phrase + 1) % self.phrases.len() }, key!(KeyCode::Char('i')) => { - self.phrases.insert(self.phrase, Arc::new(RwLock::new(Phrase::default()))) + self.phrases.insert(self.phrase, Arc::new(RwLock::new(Phrase::default()))); + self.phrase += 1; }, key!(KeyCode::Char('a')) => { - self.phrases.push(Arc::new(RwLock::new(Phrase::default()))) + self.phrases.push(Arc::new(RwLock::new(Phrase::default()))); + self.phrase = self.phrases.len() - 1; }, _ => return Ok(None), }