tui: Implement container focus on issue page

This commit is contained in:
Erik Kundt 2023-06-09 09:57:00 +02:00 committed by Alexis Sellier
parent 3a7cef8cea
commit f24590afe2
No known key found for this signature in database
2 changed files with 10 additions and 10 deletions

View File

@ -61,6 +61,7 @@ pub enum HomeMessage {}
pub enum IssueMessage { pub enum IssueMessage {
Show(IssueId), Show(IssueId),
Changed(IssueId), Changed(IssueId),
Focus(IssueCid),
Leave, Leave,
} }

View File

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