build: Upgraded to Ratatui v0.30.0 and fixed a new security vulnerability [#13]

This commit is contained in:
2026-01-07 17:15:54 -07:00
parent 243de47cae
commit f0ed71b436
43 changed files with 1532 additions and 828 deletions
-1
View File
@@ -4,7 +4,6 @@ use derive_setters::Setters;
use ratatui::buffer::Buffer;
use ratatui::layout::{Constraint, Layout, Rect};
use ratatui::prelude::Text;
use ratatui::style::Stylize;
use ratatui::widgets::{Paragraph, Widget};
#[derive(PartialEq, Debug, Copy, Clone, Setters)]
+4 -5
View File
@@ -1,4 +1,3 @@
use crate::ui::styles::ManagarrStyle;
use crate::ui::utils::{layout_paragraph_borderless, title_block_centered};
use crate::ui::widgets::button::Button;
use crate::ui::widgets::checkbox::Checkbox;
@@ -63,11 +62,11 @@ impl ConfirmationPrompt<'_> {
checkbox.render(chunks[i + 1], buf);
});
Button::new()
Button::default()
.title("Yes")
.selected(self.yes_no_value && self.yes_no_highlighted)
.render(yes_area, buf);
Button::new()
Button::default()
.title("No")
.selected(!self.yes_no_value && self.yes_no_highlighted)
.render(no_area, buf);
@@ -109,11 +108,11 @@ impl ConfirmationPrompt<'_> {
Layout::horizontal([Constraint::Percentage(50), Constraint::Percentage(50)])
.areas(buttons_area);
Button::new()
Button::default()
.title("Yes")
.selected(self.yes_no_value)
.render(yes_area, buf);
Button::new()
Button::default()
.title("No")
.selected(!self.yes_no_value)
.render(no_area, buf);
+4 -3
View File
@@ -1,9 +1,10 @@
use crate::ui::styles::{default_style, system_function_style};
use derive_setters::Setters;
use ratatui::Frame;
use ratatui::buffer::Buffer;
use ratatui::layout::{Constraint, Layout, Position, Rect};
use ratatui::prelude::Text;
use ratatui::style::{Style, Styled, Stylize};
use ratatui::style::{Style, Styled};
use ratatui::widgets::{Block, Paragraph, Widget, WidgetRef};
use crate::ui::styles::ManagarrStyle;
@@ -35,7 +36,7 @@ impl<'a> InputBox<'a> {
InputBox {
content,
offset: 0,
style: Style::new().default(),
style: default_style(),
block: layout_block(),
label: None,
cursor_after_string: true,
@@ -71,7 +72,7 @@ impl<'a> InputBox<'a> {
fn render_input_box(&self, area: Rect, buf: &mut Buffer) {
let style =
if matches!(self.is_highlighted, Some(true)) && matches!(self.is_selected, Some(false)) {
Style::new().system_function().bold()
system_function_style().bold()
} else {
self.style
};
+2 -3
View File
@@ -1,10 +1,9 @@
#[cfg(test)]
mod tests {
use crate::ui::styles::ManagarrStyle;
use crate::ui::styles::default_style;
use crate::ui::utils::layout_block;
use crate::ui::widgets::input_box::InputBox;
use pretty_assertions::{assert_eq, assert_str_eq};
use ratatui::style::Style;
#[test]
fn test_input_box_new() {
@@ -12,7 +11,7 @@ mod tests {
assert_str_eq!(input_box.content, "test");
assert_eq!(input_box.offset, 0);
assert_eq!(input_box.style, Style::new().default());
assert_eq!(input_box.style, default_style());
assert_eq!(input_box.block, layout_block());
assert_eq!(input_box.label, None);
assert!(input_box.cursor_after_string);
+7 -4
View File
@@ -3,7 +3,7 @@ use super::message::Message;
use super::popup::Size;
use crate::models::stateful_table::StatefulTable;
use crate::ui::HIGHLIGHT_SYMBOL;
use crate::ui::styles::ManagarrStyle;
use crate::ui::styles::{ManagarrStyle, highlight_style};
use crate::ui::utils::{borderless_block, centered_rect, title_block_centered};
use crate::ui::widgets::loading_block::LoadingBlock;
use crate::ui::widgets::popup::Popup;
@@ -12,7 +12,7 @@ use derive_setters::Setters;
use ratatui::Frame;
use ratatui::buffer::Buffer;
use ratatui::layout::{Constraint, Layout, Position, Rect};
use ratatui::prelude::{Style, Stylize, Text};
use ratatui::prelude::{Stylize, Text};
use ratatui::widgets::{Block, ListItem, Row, StatefulWidget, Table, Widget, WidgetRef};
use std::fmt::Debug;
use std::sync::atomic::Ordering;
@@ -136,7 +136,10 @@ where
if !table_contents.is_empty() {
let rows = table_contents.iter().map(&self.row_mapper);
let headers = Row::new(table_headers).default().bold().bottom_margin(0);
let headers = Row::new(table_headers)
.default_color()
.bold()
.bottom_margin(0);
let mut table = Table::new(rows, &self.constraints)
.header(headers)
@@ -144,7 +147,7 @@ where
if self.highlight_rows {
table = table
.row_highlight_style(Style::new().highlight())
.row_highlight_style(highlight_style())
.highlight_symbol(HIGHLIGHT_SYMBOL);
}
+3 -3
View File
@@ -1,9 +1,9 @@
use crate::ui::styles::ManagarrStyle;
use crate::ui::styles::failure_style;
use crate::ui::utils::title_block_centered;
use derive_setters::Setters;
use ratatui::buffer::Buffer;
use ratatui::layout::{Alignment, Rect};
use ratatui::style::{Style, Stylize};
use ratatui::style::Style;
use ratatui::text::Text;
use ratatui::widgets::{Paragraph, Widget, Wrap};
@@ -27,7 +27,7 @@ impl<'a> Message<'a> {
Message {
text: message.into(),
title: "Error",
style: Style::new().failure().bold(),
style: failure_style().bold(),
alignment: Alignment::Center,
}
}
+2 -3
View File
@@ -1,10 +1,9 @@
#[cfg(test)]
mod tests {
use crate::ui::styles::ManagarrStyle;
use crate::ui::styles::failure_style;
use crate::ui::widgets::message::Message;
use pretty_assertions::{assert_eq, assert_str_eq};
use ratatui::layout::Alignment;
use ratatui::style::{Style, Stylize};
use ratatui::text::Text;
#[test]
@@ -15,7 +14,7 @@ mod tests {
assert_eq!(message.text, Text::from(test_message));
assert_str_eq!(message.title, "Error");
assert_eq!(message.style, Style::new().failure().bold());
assert_eq!(message.style, failure_style().bold());
assert_eq!(message.alignment, Alignment::Center);
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
use crate::models::stateful_list::StatefulList;
use crate::ui::styles::ManagarrStyle;
use crate::ui::styles::highlight_style;
use crate::ui::utils::layout_block;
use ratatui::buffer::Buffer;
use ratatui::layout::Rect;
@@ -29,7 +29,7 @@ where
Self {
content,
row_mapper,
highlight_style: Style::new().highlight(),
highlight_style: highlight_style(),
block: layout_block(),
}
}
+4 -4
View File
@@ -1,11 +1,11 @@
#[cfg(test)]
mod tests {
use crate::models::stateful_list::StatefulList;
use crate::ui::styles::ManagarrStyle;
use crate::ui::styles::highlight_style;
use crate::ui::utils::{layout_block, title_block};
use crate::ui::widgets::selectable_list::SelectableList;
use pretty_assertions::assert_eq;
use ratatui::style::{Style, Stylize};
use ratatui::style::Style;
use ratatui::widgets::ListItem;
#[test]
@@ -20,7 +20,7 @@ mod tests {
let row_mapper = selectable_list.row_mapper;
assert_eq!(selectable_list.content.items, items);
assert_eq!(row_mapper(&"test"), ListItem::new("test"));
assert_eq!(selectable_list.highlight_style, Style::new().highlight());
assert_eq!(selectable_list.highlight_style, highlight_style());
assert_eq!(selectable_list.block, layout_block());
}
@@ -55,6 +55,6 @@ mod tests {
assert_eq!(selectable_list.block, title_block("test"));
assert_eq!(selectable_list.content.items, items);
assert_eq!(row_mapper(&"test"), ListItem::new("test"));
assert_eq!(selectable_list.highlight_style, Style::new().highlight());
assert_eq!(selectable_list.highlight_style, highlight_style());
}
}