This commit is contained in:
Mike Dilger 2024-09-27 10:52:52 +12:00
parent 8bcfe4b498
commit ae172d0c1e
2 changed files with 14 additions and 1 deletions

View File

@ -172,8 +172,18 @@ pub(super) fn update(app: &mut GossipUi, ctx: &Context, _frame: &mut eframe::Fra
ctx,
Page::Feed(FeedKind::DmChat(channeldata.dm_channel.clone())),
);
app.dm_draft_data.clear();
app.draft_needs_focus = true;
// Maybe clear the draft, if we are going into a different channel than last
// time
if let Some(oldtarget) = &app.dm_draft_data_target {
if *oldtarget != channeldata.dm_channel {
app.dm_draft_data.clear();
}
} else {
app.dm_draft_data.clear();
}
app.dm_draft_data_target = Some(channeldata.dm_channel.clone());
}
}
});

View File

@ -483,6 +483,7 @@ struct GossipUi {
unlock_needs_focus: bool,
draft_data: DraftData,
dm_draft_data: DraftData,
dm_draft_data_target: Option<DmChannel>,
// User entry: metadata
editing_metadata: bool,
@ -733,6 +734,7 @@ impl GossipUi {
unlock_needs_focus: true,
draft_data: DraftData::default(),
dm_draft_data: DraftData::default(),
dm_draft_data_target: None,
editing_metadata: false,
metadata: Metadata::new(),
delegatee_tag_str: "".to_owned(),
@ -2219,6 +2221,7 @@ impl GossipUi {
fn reset_draft(&mut self) {
if let Page::Feed(FeedKind::DmChat(_)) = &self.page {
self.dm_draft_data.clear();
self.dm_draft_data_target = None;
} else {
self.draft_data.clear();
self.show_post_area = false;