chiark / gitweb /
Conditionalise a lot of the utilities menu
authorSimon Tatham <anakin@pobox.com>
Thu, 18 Jan 2024 12:56:16 +0000 (12:56 +0000)
committerSimon Tatham <anakin@pobox.com>
Fri, 19 Jan 2024 08:20:45 +0000 (08:20 +0000)
src/auth.rs
src/menu.rs

index 1423d453f0b00980e05a6ee2724df96f517eb6cb..e98f24c8cb45937a0f076a3cf74e6ac6b9747692 100644 (file)
@@ -58,4 +58,8 @@ impl AuthConfig {
         }?;
         Ok(auth)
     }
+
+    pub fn is_logged_in(&self) -> bool {
+        self.account_id.is_some()
+    }
 }
index 2e010e7475f1111e3f44f3506e2f52ff6d20c2eb..6cffae6cc2f25a887a3aa39b00891f85578a3d77 100644 (file)
@@ -274,39 +274,45 @@ pub fn utils_menu(client: &Client) -> Box<dyn ActivityState> {
         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",