mirror of
https://github.com/aljazceru/notedeck.git
synced 2025-12-23 19:24:18 +01:00
ui: make reply description mentions clickable
Small oversight from previous changes
This commit is contained in:
@@ -66,6 +66,7 @@ impl View for NoteView<'_> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use = "Please handle the resulting note action"]
|
||||||
fn reply_desc(
|
fn reply_desc(
|
||||||
ui: &mut egui::Ui,
|
ui: &mut egui::Ui,
|
||||||
txn: &Transaction,
|
txn: &Transaction,
|
||||||
@@ -124,12 +125,18 @@ fn reply_desc(
|
|||||||
|
|
||||||
if note_reply.is_reply_to_root() {
|
if note_reply.is_reply_to_root() {
|
||||||
// We're replying to the root, let's show this
|
// We're replying to the root, let's show this
|
||||||
ui.add(
|
let action = ui::Mention::new(ndb, img_cache, txn, reply_note.pubkey())
|
||||||
ui::Mention::new(ndb, img_cache, txn, reply_note.pubkey())
|
|
||||||
.size(size)
|
.size(size)
|
||||||
.selectable(selectable),
|
.selectable(selectable)
|
||||||
);
|
.show(ui)
|
||||||
|
.inner;
|
||||||
|
|
||||||
|
if action.is_some() {
|
||||||
|
note_action = action;
|
||||||
|
}
|
||||||
|
|
||||||
ui.add(Label::new(RichText::new("'s").size(size).color(color)).selectable(selectable));
|
ui.add(Label::new(RichText::new("'s").size(size).color(color)).selectable(selectable));
|
||||||
|
|
||||||
note_link(ui, note_cache, img_cache, "thread", &reply_note);
|
note_link(ui, note_cache, img_cache, "thread", &reply_note);
|
||||||
} else if let Some(root) = note_reply.root() {
|
} else if let Some(root) = note_reply.root() {
|
||||||
// replying to another post in a thread, not the root
|
// replying to another post in a thread, not the root
|
||||||
@@ -155,34 +162,53 @@ fn reply_desc(
|
|||||||
} else {
|
} else {
|
||||||
// replying to bob in alice's thread
|
// replying to bob in alice's thread
|
||||||
|
|
||||||
ui.add(
|
let action = ui::Mention::new(ndb, img_cache, txn, reply_note.pubkey())
|
||||||
ui::Mention::new(ndb, img_cache, txn, reply_note.pubkey())
|
|
||||||
.size(size)
|
.size(size)
|
||||||
.selectable(selectable),
|
.selectable(selectable)
|
||||||
);
|
.show(ui)
|
||||||
|
.inner;
|
||||||
|
|
||||||
|
if action.is_some() {
|
||||||
|
note_action = action;
|
||||||
|
}
|
||||||
|
|
||||||
ui.add(
|
ui.add(
|
||||||
Label::new(RichText::new("'s").size(size).color(color)).selectable(selectable),
|
Label::new(RichText::new("'s").size(size).color(color)).selectable(selectable),
|
||||||
);
|
);
|
||||||
|
|
||||||
note_link(ui, note_cache, img_cache, "note", &reply_note);
|
note_link(ui, note_cache, img_cache, "note", &reply_note);
|
||||||
|
|
||||||
ui.add(
|
ui.add(
|
||||||
Label::new(RichText::new("in").size(size).color(color)).selectable(selectable),
|
Label::new(RichText::new("in").size(size).color(color)).selectable(selectable),
|
||||||
);
|
);
|
||||||
ui.add(
|
|
||||||
ui::Mention::new(ndb, img_cache, txn, root_note.pubkey())
|
let action = ui::Mention::new(ndb, img_cache, txn, root_note.pubkey())
|
||||||
.size(size)
|
.size(size)
|
||||||
.selectable(selectable),
|
.selectable(selectable)
|
||||||
);
|
.show(ui)
|
||||||
|
.inner;
|
||||||
|
|
||||||
|
if action.is_some() {
|
||||||
|
note_action = action;
|
||||||
|
}
|
||||||
|
|
||||||
ui.add(
|
ui.add(
|
||||||
Label::new(RichText::new("'s").size(size).color(color)).selectable(selectable),
|
Label::new(RichText::new("'s").size(size).color(color)).selectable(selectable),
|
||||||
);
|
);
|
||||||
|
|
||||||
note_link(ui, note_cache, img_cache, "thread", &root_note);
|
note_link(ui, note_cache, img_cache, "thread", &root_note);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ui.add(
|
let action = ui::Mention::new(ndb, img_cache, txn, reply_note.pubkey())
|
||||||
ui::Mention::new(ndb, img_cache, txn, reply_note.pubkey())
|
|
||||||
.size(size)
|
.size(size)
|
||||||
.selectable(selectable),
|
.selectable(selectable)
|
||||||
);
|
.show(ui)
|
||||||
|
.inner;
|
||||||
|
|
||||||
|
if action.is_some() {
|
||||||
|
note_action = action;
|
||||||
|
}
|
||||||
|
|
||||||
ui.add(
|
ui.add(
|
||||||
Label::new(RichText::new("in someone's thread").size(size).color(color))
|
Label::new(RichText::new("in someone's thread").size(size).color(color))
|
||||||
.selectable(selectable),
|
.selectable(selectable),
|
||||||
@@ -506,7 +532,8 @@ impl<'a> NoteView<'a> {
|
|||||||
.borrow(self.note.tags());
|
.borrow(self.note.tags());
|
||||||
|
|
||||||
if note_reply.reply().is_some() {
|
if note_reply.reply().is_some() {
|
||||||
ui.horizontal(|ui| {
|
let action = ui
|
||||||
|
.horizontal(|ui| {
|
||||||
reply_desc(
|
reply_desc(
|
||||||
ui,
|
ui,
|
||||||
txn,
|
txn,
|
||||||
@@ -514,8 +541,13 @@ impl<'a> NoteView<'a> {
|
|||||||
self.ndb,
|
self.ndb,
|
||||||
self.img_cache,
|
self.img_cache,
|
||||||
self.note_cache,
|
self.note_cache,
|
||||||
);
|
)
|
||||||
});
|
})
|
||||||
|
.inner;
|
||||||
|
|
||||||
|
if action.is_some() {
|
||||||
|
note_action = action;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -571,7 +603,7 @@ impl<'a> NoteView<'a> {
|
|||||||
.borrow(self.note.tags());
|
.borrow(self.note.tags());
|
||||||
|
|
||||||
if note_reply.reply().is_some() {
|
if note_reply.reply().is_some() {
|
||||||
reply_desc(
|
let action = reply_desc(
|
||||||
ui,
|
ui,
|
||||||
txn,
|
txn,
|
||||||
¬e_reply,
|
¬e_reply,
|
||||||
@@ -579,6 +611,10 @@ impl<'a> NoteView<'a> {
|
|||||||
self.img_cache,
|
self.img_cache,
|
||||||
self.note_cache,
|
self.note_cache,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if action.is_some() {
|
||||||
|
note_action = action;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user