From: Simon Tatham Date: Thu, 18 Jan 2024 12:56:16 +0000 (+0000) Subject: Conditionalise a lot of the utilities menu X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=f65cce832cefa3daf4ea0b7702a71fc40ea32238;p=mastodonochrome.git Conditionalise a lot of the utilities menu --- diff --git a/src/auth.rs b/src/auth.rs index 1423d45..e98f24c 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -58,4 +58,8 @@ impl AuthConfig { }?; Ok(auth) } + + pub fn is_logged_in(&self) -> bool { + self.account_id.is_some() + } } diff --git a/src/menu.rs b/src/menu.rs index 2e010e7..6cffae6 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -274,39 +274,45 @@ pub fn utils_menu(client: &Client) -> Box { false, ); - let our_account_id = client.our_account_id(); + let logged_in = client.auth.is_logged_in(); + if logged_in { + let our_account_id = client.our_account_id(); + + menu.add_action( + Pr('R'), + "Read Mentions", + LogicalAction::Goto(UtilityActivity::ReadMentions.into()), + ); + menu.add_blank_line(); + menu.add_action( + Pr('E'), + "Examine User", + LogicalAction::Goto(OverlayActivity::GetUserToExamine.into()), + ); + menu.add_action( + Pr('Y'), + "Examine Yourself", + LogicalAction::Goto( + UtilityActivity::ExamineUser(our_account_id).into(), + ), + ); + menu.add_blank_line(); + + menu.add_action( + Pr('L'), + "Logs menu", + LogicalAction::Goto(UtilityActivity::LogsMenu1.into()), + ); + menu.add_blank_line(); + + menu.add_action( + Pr('G'), + "Go to Main Menu", + LogicalAction::Goto(NonUtilityActivity::MainMenu.into()), + ); + menu.add_blank_line(); + } - menu.add_action( - Pr('R'), - "Read Mentions", - LogicalAction::Goto(UtilityActivity::ReadMentions.into()), - ); - menu.add_blank_line(); - menu.add_action( - Pr('E'), - "Examine User", - LogicalAction::Goto(OverlayActivity::GetUserToExamine.into()), - ); - menu.add_action( - Pr('Y'), - "Examine Yourself", - LogicalAction::Goto( - UtilityActivity::ExamineUser(our_account_id).into(), - ), - ); - menu.add_blank_line(); - menu.add_action( - Pr('L'), - "Logs menu", - LogicalAction::Goto(UtilityActivity::LogsMenu1.into()), - ); - menu.add_blank_line(); - menu.add_action( - Pr('G'), - "Go to Main Menu", - LogicalAction::Goto(NonUtilityActivity::MainMenu.into()), - ); - menu.add_blank_line(); menu.add_action( Pr('X'), "Exit Mastodonochrome",