use crate::errors::EnkryptitError;
use crate::frontend::tui::input::TuiInput;
use crate::frontend::tui::{browse::launch_browser, help::show_help, parameters::launch_params};
#[allow(dead_code)]
pub enum EnkryptitTuiAction {
LaunchParams,
ShowHelp,
Browse,
}
impl EnkryptitTuiAction {
#[allow(dead_code)]
pub fn execute(&self, input: &impl TuiInput) -> Result<(), EnkryptitError> {
match self {
Self::LaunchParams => launch_params(input),
Self::ShowHelp => {
show_help();
Ok(())
}
Self::Browse => launch_browser(input),
}
}
pub fn from_string(value: &str) -> Option<Self> {
match value {
"Browse" => Some(Self::Browse),
"Parameters" => Some(Self::LaunchParams),
"Help" => Some(Self::ShowHelp),
_ => None,
}
}
}