use crate::engine::db_ops::DuplicateGroupingMode;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct UblxTabNumber {
pub snapshot: u8,
pub delta: u8,
pub settings: u8,
pub lenses: u8,
pub duplicates: u8,
}
impl UblxTabNumber {
pub const DEFAULT: Self = Self {
snapshot: 1,
lenses: 2,
delta: 7,
duplicates: 8,
settings: 9,
};
}
pub const MAIN_TAB_KEYS: UblxTabNumber = UblxTabNumber::DEFAULT;
#[must_use]
pub fn main_tab_title(label: &str, key_digit: u8) -> String {
format!("{label} [{key_digit}]")
}
pub struct UiStringsMainTabs {
pub snapshot: &'static str,
pub delta: &'static str,
pub settings: &'static str,
pub duplicates: &'static str,
pub lenses: &'static str,
}
impl UiStringsMainTabs {
#[must_use]
pub fn duplicates_with_mode(&self, mode: DuplicateGroupingMode) -> String {
match mode {
DuplicateGroupingMode::Hash => format!("{} (H)", self.duplicates),
DuplicateGroupingMode::NameSize => format!("{} (N/S)", self.duplicates),
}
}
}