From f65cce832cefa3daf4ea0b7702a71fc40ea32238 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 18 Jan 2024 12:56:16 +0000 Subject: [PATCH] Conditionalise a lot of the utilities menu --- src/auth.rs | 4 +++ src/menu.rs | 70 +++++++++++++++++++++++++++++------------------------ 2 files changed, 42 insertions(+), 32 deletions(-) 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", -- 2.30.2