synd_term/types/
requirement_ext.rs1use ratatui::{style::Style, text::Span};
2use synd_feed::types::Requirement;
3
4use crate::ui::theme::RequirementLabelTheme;
5
6pub trait RequirementExt {
7 fn label(&self, theme: &RequirementLabelTheme) -> Span<'static>;
8}
9
10impl RequirementExt for Requirement {
11 fn label(&self, theme: &RequirementLabelTheme) -> Span<'static> {
12 let (label, color) = match self {
13 Requirement::Must => ("MST", theme.must),
14 Requirement::Should => ("SHD", theme.should),
15 Requirement::May => ("MAY", theme.may),
16 };
17 Span::styled(label, Style::default().bg(color).fg(theme.fg))
18 }
19}