use super::super::*;
pub(super) fn reveal_of(app: &App) -> Option<&Reveal> {
match app.body() {
Body::Secrets(pane) => pane.reveal.as_ref(),
_ => None,
}
}
pub(super) fn typing_of(app: &App) -> Option<&KeyValues> {
match app.body() {
Body::Secrets(pane) => pane.typing.as_ref(),
_ => None,
}
}
pub(super) fn notice_of(app: &App) -> Option<String> {
app.notice().map(ToString::to_string)
}
pub(super) fn armed_of(app: &App) -> Option<String> {
match app.body() {
Body::Secrets(pane) => pane.armed.as_ref().map(|a| a.key.clone()),
_ => None,
}
}
#[track_caller]
pub(super) fn select_the_all_slot_row(app: &mut App) {
let _ = app.update(Msg::Key(KeyPress::SelectDown));
let _ = app.update(Msg::Key(KeyPress::SelectDown));
let Body::Secrets(pane) = app.body() else {
panic!("pane is not open");
};
let row = &pane.model.rows[pane.selected];
assert_eq!(row.key, "SET_EVERYWHERE");
assert_eq!(row.in_force.as_deref(), Some("all"));
assert_eq!(pane.environment(), Some("production"));
}
pub(super) fn row_count(app: &App) -> usize {
match app.body() {
Body::Secrets(pane) => pane.model.rows.len(),
_ => 0,
}
}
#[track_caller]
pub(super) fn second_tab_of(app: &App) -> String {
let Body::Secrets(pane) = app.body() else {
panic!("pane is not open");
};
pane.model.environments[pane.tab].clone()
}
pub(super) fn select_new_key_row(app: &mut App) {
let _ = app.update(Msg::Key(KeyPress::SelectLast));
}