use cursive::views::{Dialog, OnEventView, TextView};
use cursive::event::Key;
use cursive::Cursive;
use ripasso::pass;
pub fn errorbox(ui: &mut Cursive, err: &pass::Error) {
let text = match err {
pass::Error::RecipientNotInKeyRing(key_id) => super::CATALOG
.gettext("Team member with key id {} isn't in your GPG keyring, fetch it first")
.to_string()
.replace("{}", key_id),
_ => format!("{:?}", err),
};
let d = Dialog::around(TextView::new(text))
.dismiss_button(super::CATALOG.gettext("Ok"))
.title(super::CATALOG.gettext("Error"));
let ev = OnEventView::new(d).on_event(Key::Esc, |s| {
s.pop_layer();
});
ui.add_layer(ev);
}