pub enum NonUtilityActivity {
MainMenu,
HomeTimelineFile,
+ PublicTimelineFile,
+ LocalTimelineFile,
}
#[derive(PartialEq, Eq, Debug, Clone)]
"HHHHHHHHHHHHHHHHHKH"))?;
Ok(Box::new(file))
}
+
+pub fn local_timeline(client: &mut Client) ->
+ Result<Box<dyn ActivityState>, ClientError>
+{
+ let file = FeedFile::new(client, FeedId::Local, ColouredString::general(
+ "Local public timeline <L>",
+ "HHHHHHHHHHHHHHHHHHHHHHHHHKH"))?;
+ Ok(Box::new(file))
+}
+
+pub fn public_timeline(client: &mut Client) ->
+ Result<Box<dyn ActivityState>, ClientError>
+{
+ let file = FeedFile::new(client, FeedId::Public, ColouredString::general(
+ "Public timeline <P>",
+ "HHHHHHHHHHHHHHHHHHHKH"))?;
+ Ok(Box::new(file))
+}
NonUtilityActivity::HomeTimelineFile.into()));
menu.add_blank_line();
menu.add_action(Pr('P'), "Public timeline (all servers)",
- LogicalAction::NYI);
+ LogicalAction::Goto(
+ NonUtilityActivity::PublicTimelineFile.into()));
menu.add_action(Pr('L'), "Local public timeline (this server)",
- LogicalAction::NYI);
+ LogicalAction::Goto(
+ NonUtilityActivity::LocalTimelineFile.into()));
menu.add_action(Pr('#'), "Timeline for a #hashtag",
LogicalAction::NYI);
menu.add_blank_line();
Ok(logs_menu_2()),
Activity::NonUtil(NonUtilityActivity::HomeTimelineFile) =>
home_timeline(client),
+ Activity::NonUtil(NonUtilityActivity::PublicTimelineFile) =>
+ public_timeline(client),
+ Activity::NonUtil(NonUtilityActivity::LocalTimelineFile) =>
+ local_timeline(client),
_ => panic!("FIXME"),
};