chiark / gitweb /
Make the [ESC][Y] shortcut work.
authorSimon Tatham <anakin@pobox.com>
Mon, 1 Jan 2024 10:26:47 +0000 (10:26 +0000)
committerSimon Tatham <anakin@pobox.com>
Mon, 1 Jan 2024 10:26:47 +0000 (10:26 +0000)
Useful to do this before I start filling in the rest of the Examine
User display, so that it's quick to test it each time!

src/client.rs
src/menu.rs
src/tui.rs

index c80260e27a1d4f380f2f5cc9db4034fd5527770a..f5c96956a9553ad3937d982b5ff2250632247349 100644 (file)
@@ -174,6 +174,10 @@ impl Client {
         }
     }
 
+    pub fn our_account_id(&self) -> String {
+        self.auth.account_id.clone()
+    }
+
     fn api_request_cl(&self, client: &reqwest::blocking::Client, req: Req) ->
         Result<(String, reqwest::blocking::RequestBuilder), ClientError>
     {
index afbf1e9b20b244dbf8e7482f5e3da66a898e246f..4bc733f0e3e433838724fc169df8d6f5a02d86bc 100644 (file)
@@ -214,18 +214,21 @@ pub fn main_menu() -> Box<dyn ActivityState> {
     Box::new(menu.finalise())
 }
 
-pub fn utils_menu() -> Box<dyn ActivityState> {
+pub fn utils_menu(client: &Client) -> Box<dyn ActivityState> {
     let mut menu = Menu::new(
         ColouredString::general(
             "Utilities [ESC]",
             "HHHHHHHHHHHKKKH"), false);
 
+    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::NYI);
+    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()));
index c63c5b1230b227d618226048d76612ef85ba51da..027d742afb601ceaddb06a0561fa0529f62d469b 100644 (file)
@@ -424,7 +424,7 @@ fn new_activity_state(activity: Activity, client: &mut Client) ->
         Activity::NonUtil(NonUtilityActivity::MainMenu) =>
             Ok(main_menu()),
         Activity::Util(UtilityActivity::UtilsMenu) =>
-            Ok(utils_menu()),
+            Ok(utils_menu(client)),
         Activity::Util(UtilityActivity::ExitMenu) =>
             Ok(exit_menu()),
         Activity::Util(UtilityActivity::LogsMenu1) =>