Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
tui: Implement container focus on issue page
Erik Kundt committed 2 years ago
commit f24590afe218b67793e90a8d2c1e77a64f7c8237
parent 3a7cef8ceafd66d6f5b0057d64e950e30dc39f6e
2 files changed +10 -10
modified radicle-tui/src/app.rs
@@ -61,6 +61,7 @@ pub enum HomeMessage {}
pub enum IssueMessage {
    Show(IssueId),
    Changed(IssueId),
+
    Focus(IssueCid),
    Leave,
}

modified radicle-tui/src/app/page.rs
@@ -202,17 +202,16 @@ impl ViewPage for IssuePage {
        theme: &Theme,
        message: Message,
    ) -> Result<()> {
-
        if let Message::Issue(IssueMessage::Changed(id)) = message {
-
            let repo = context.repository();
-
            if let Some(issue) = cob::issue::find(repo, &id)? {
-
                let details = widget::issue::details(context, theme, (id, issue)).to_boxed();
-
                app.remount(Cid::Issue(IssueCid::Details), details, vec![])?;
+
        match message {
+
            Message::Issue(IssueMessage::Changed(id)) => {
+
                let repo = context.repository();
+
                if let Some(issue) = cob::issue::find(repo, &id)? {
+
                    let details = widget::issue::details(context, theme, (id, issue)).to_boxed();
+
                    app.remount(Cid::Issue(IssueCid::Details), details, vec![])?;
+
                }
            }
-
            Message::Issue(IssueMessage::FocusList) => {
-
                app.active(&Cid::Issue(IssueCid::List))?;
-
            }
-
            Message::Issue(IssueMessage::FocusDiscussion) => {
-
                app.active(&Cid::Issue(IssueCid::Discussion))?;
+
            Message::Issue(IssueMessage::Focus(cid)) => {
+
                app.active(&Cid::Issue(cid))?;
            }
            _ => {}
        }