Radish alpha
r
Radicle terminal user interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Deselect issue while open form is visible
Erik Kundt committed 2 years ago
commit 322d078d643427d852d35510514fdd61068b7374
parent 38ad53cd14ffa5a7978a488b298be77d861fc0ab
2 files changed +7 -1
modified src/app/page.rs
@@ -488,6 +488,7 @@ impl ViewPage for IssuePage {
            Message::Issue(IssueMessage::Changed(id)) => {
                let repo = context.repository();
                if let Some(issue) = cob::issue::find(repo, &id)? {
+
                    self.issue = Some((id, issue.clone()));
                    let comments = issue.comments().collect::<Vec<_>>();
                    let details = widget::issue::details(
                        context,
@@ -505,7 +506,9 @@ impl ViewPage for IssuePage {
            }
            Message::Issue(IssueMessage::OpenForm) => {
                let new_form = widget::issue::new_form(context, theme).to_boxed();
+
                let list = widget::issue::list(context, theme, None).to_boxed();

+
                app.remount(Cid::Issue(IssueCid::List), list, vec![])?;
                app.remount(Cid::Issue(IssueCid::Form), new_form, vec![])?;
                app.active(&Cid::Issue(IssueCid::Form))?;

@@ -518,6 +521,9 @@ impl ViewPage for IssuePage {
                app.blur()?;
                app.umount(&Cid::Issue(IssueCid::Form))?;

+
                let list = widget::issue::list(context, theme, self.issue.clone()).to_boxed();
+
                app.remount(Cid::Issue(IssueCid::List), list, vec![])?;
+

                app.subscribe(
                    &Cid::GlobalListener,
                    Sub::new(subscription::global_clause(), SubClause::Always),
modified src/ui/widget/common/list.rs
@@ -316,7 +316,7 @@ where
    pub fn new(items: &[V], selected: Option<V>, theme: Theme) -> Self {
        let selected = match selected {
            Some(item) => items.iter().position(|i| i == &item),
-
            None => Some(0),
+
            _ => None,
        };

        Self {