use std::collections::HashMap;
use crossterm::event::{KeyEvent, MouseEvent};
use crate::github;
use super::types::{CommentComposerTarget, MutationRefresh, PendingMutation};
#[allow(dead_code)]
#[derive(Debug)]
pub enum Action {
Quit,
RawKey(KeyEvent),
Resize(u16, u16),
Mouse(MouseEvent),
SwitchTab(usize),
NextTab,
PrevTab,
Refresh,
RefreshAll,
AutoRefresh,
OpenDetail,
BackToDashboard,
ToggleView,
OpenInBrowser,
CopyUrl,
CheckoutBranch,
ConfirmCheckout(bool),
BeginMergePullRequest(github::mutations::MergeMethod),
ConfirmPending(bool),
OpenCommentComposer(CommentComposerTarget),
SubmitCommentComposer,
MutationStarted(PendingMutation),
MutationSucceeded(MutationRefresh),
MutationFailed(String),
ToggleShowAll,
OpenRepoPicker,
OpenHelp,
InboxFetchStarted,
InboxLoaded(Box<github::Inbox>),
FetchFailed(String),
FetchPrDetail(String, u32),
FetchIssueDetail(String, u32),
PrDetailLoaded(Box<github::detail::PrDetail>),
IssueDetailLoaded(Box<github::detail::IssueDetail>),
DetailFetchFailed(String),
CommitDiffLoaded(String, String, HashMap<String, Option<String>>),
CommitDiffFailed(String, String, String),
}