use crate::mode::{InputMode, Scene};
use serde::{Deserialize, Serialize};
use strum::Display;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Display, Deserialize)]
pub enum Action {
HomeActions(HomeActions),
TabActions(TabActions),
SwitchScene(Scene),
SwitchInputMode(InputMode),
StoreDiscordUserName(String),
StoreNodesToStart(usize),
Tick,
Render,
Resize(u16, u16),
Suspend,
Resume,
Quit,
Refresh,
Error(String),
Help,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Display, Deserialize)]
pub enum HomeActions {
StartNodes,
StopNodes,
StartNodesCompleted,
StopNodesCompleted,
ResetNodesCompleted,
SuccessfullyDetectedNatStatus,
ErrorWhileRunningNatDetection,
NodesStatsObtained {
wallet_balance: u64,
space_used: u64,
},
TriggerBetaProgramme,
TriggerManageNodes,
TriggerHelp,
PreviousTableItem,
NextTableItem,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Display, Deserialize)]
pub enum TabActions {
NextTab,
PreviousTab,
}