Hints title refactor (#608)

This commit is contained in:
JEEVITHA KANNAN K S 2024-09-22 22:23:04 +05:30 committed by GitHub
parent b69e823375
commit 8637adf373
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 13 deletions

View File

@ -37,7 +37,7 @@ pub struct FloatingText {
max_line_width: usize, max_line_width: usize,
v_scroll: usize, v_scroll: usize,
h_scroll: usize, h_scroll: usize,
mode: FloatingTextMode, mode_title: &'static str,
} }
macro_rules! style { macro_rules! style {
@ -139,10 +139,9 @@ impl FloatingText {
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let max_line_width = max_width!(src); let max_line_width = max_width!(src);
Self { Self {
src, src,
mode, mode_title: Self::get_mode_title(mode),
max_line_width, max_line_width,
v_scroll: 0, v_scroll: 0,
h_scroll: 0, h_scroll: 0,
@ -172,13 +171,20 @@ impl FloatingText {
Some(Self { Some(Self {
src, src,
mode, mode_title: Self::get_mode_title(mode),
max_line_width, max_line_width,
h_scroll: 0, h_scroll: 0,
v_scroll: 0, v_scroll: 0,
}) })
} }
fn get_mode_title(mode: FloatingTextMode) -> &'static str {
match mode {
FloatingTextMode::Preview => "Command Preview",
FloatingTextMode::Description => "Command Description",
}
}
fn scroll_down(&mut self) { fn scroll_down(&mut self) {
if self.v_scroll + 1 < self.src.len() { if self.v_scroll + 1 < self.src.len() {
self.v_scroll += 1; self.v_scroll += 1;
@ -207,14 +213,9 @@ impl FloatingText {
impl FloatContent for FloatingText { impl FloatContent for FloatingText {
fn draw(&mut self, frame: &mut Frame, area: Rect) { fn draw(&mut self, frame: &mut Frame, area: Rect) {
// Define the Block with a border and background color // Define the Block with a border and background color
let block_title = match self.mode {
FloatingTextMode::Preview => "Command Preview",
FloatingTextMode::Description => "Command Description",
};
let block = Block::default() let block = Block::default()
.borders(Borders::ALL) .borders(Borders::ALL)
.title(block_title) .title(self.mode_title)
.title_alignment(ratatui::layout::Alignment::Center) .title_alignment(ratatui::layout::Alignment::Center)
.title_style(Style::default().reversed()) .title_style(Style::default().reversed())
.style(Style::default()); .style(Style::default());
@ -292,7 +293,7 @@ impl FloatContent for FloatingText {
fn get_shortcut_list(&self) -> ShortcutList { fn get_shortcut_list(&self) -> ShortcutList {
ShortcutList { ShortcutList {
scope_name: "Floating text", scope_name: self.mode_title,
hints: vec![ hints: vec![
Shortcut::new(vec!["j", "Down"], "Scroll down"), Shortcut::new(vec!["j", "Down"], "Scroll down"),
Shortcut::new(vec!["k", "Up"], "Scroll up"), Shortcut::new(vec!["k", "Up"], "Scroll up"),

View File

@ -35,7 +35,7 @@ pub fn span_vec_len(span_vec: &[Span]) -> usize {
impl ShortcutList { impl ShortcutList {
pub fn draw(&self, frame: &mut Frame, area: Rect) { pub fn draw(&self, frame: &mut Frame, area: Rect) {
let block = Block::default() let block = Block::default()
.title(self.scope_name) .title(format!(" {} ", self.scope_name))
.borders(Borders::all()); .borders(Borders::all());
let inner_area = area.inner(Margin::new(1, 1)); let inner_area = area.inner(Margin::new(1, 1));
let shortcut_spans: Vec<Vec<Span>> = self.hints.iter().map(|h| h.to_spans()).collect(); let shortcut_spans: Vec<Vec<Span>> = self.hints.iter().map(|h| h.to_spans()).collect();
@ -145,7 +145,7 @@ pub fn draw_shortcuts(state: &AppState, frame: &mut Frame, area: Rect) {
hints.push(Shortcut::new(vec!["Tab"], "Next tab")); hints.push(Shortcut::new(vec!["Tab"], "Next tab"));
hints.push(Shortcut::new(vec!["Shift-Tab"], "Previous tab")); hints.push(Shortcut::new(vec!["Shift-Tab"], "Previous tab"));
ShortcutList { ShortcutList {
scope_name: "Item list", scope_name: "Command list",
hints, hints,
} }
} }