use tabled::{
Table,
settings::{
Alignment, Padding, Style,
format::Format,
object::{Columns, Rows},
},
};
use yansi::Paint;
use crate::model::{Review, Stat};
#[must_use]
pub fn render_stats(rows: &[Stat]) -> String {
let mut table = Table::new(rows);
table
.with(Style::empty())
.modify(Columns::first(), Padding::new(0, 1, 0, 0))
.modify(Columns::last(), Padding::new(1, 0, 0, 0))
.modify(Columns::new(1..=5), Alignment::right())
.modify(
Rows::first(),
Format::content(|s| s.bold().underline().to_string()),
)
.modify(Rows::last(), Format::content(|s| s.bold().to_string()));
table.to_string()
}
#[must_use]
pub fn render_reviews(rows: &[Review]) -> String {
let mut table = Table::new(rows);
table
.with(Style::empty())
.modify(Columns::first(), Padding::new(0, 1, 0, 0))
.modify(Columns::last(), Padding::new(1, 0, 0, 0))
.modify(Columns::new(1..=1), Alignment::right())
.modify(
Rows::first(),
Format::content(|s| s.bold().underline().to_string()),
);
table.to_string()
}