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 {
Show(IssueId),
Changed(IssueId),
Focus(IssueCid),
Leave,
}

View File

@ -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))?;
}
_ => {}
}