mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 08:21:47 +00:00
DM Chat List: Show avatars on channel entries
This commit is contained in:
parent
d3f4673217
commit
1cfe4db44f
@ -1,11 +1,15 @@
|
||||
use crate::AVATAR_SIZE_F32;
|
||||
|
||||
use super::{widgets, GossipUi, Page};
|
||||
use eframe::egui;
|
||||
use eframe::egui::vec2;
|
||||
use eframe::egui::Rect;
|
||||
use egui::{Context, Label, RichText, Ui};
|
||||
use gossip_lib::FeedKind;
|
||||
use gossip_lib::Person;
|
||||
use gossip_lib::GLOBALS;
|
||||
use gossip_lib::{Error, ErrorKind};
|
||||
use gossip_lib::{PersonTable, Table};
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
pub(super) fn update(app: &mut GossipUi, ctx: &Context, _frame: &mut eframe::Frame, ui: &mut Ui) {
|
||||
@ -59,6 +63,34 @@ pub(super) fn update(app: &mut GossipUi, ctx: &Context, _frame: &mut eframe::Fra
|
||||
Some(app.theme.main_content_bgcolor()),
|
||||
|ui, app| {
|
||||
ui.set_min_width(ui.available_width());
|
||||
ui.set_max_height(AVATAR_SIZE_F32);
|
||||
ui.horizontal(|ui| {
|
||||
|
||||
// avatar(s)
|
||||
if let Some(local) = GLOBALS.identity.public_key() {
|
||||
for key in channeldata.dm_channel.keys() {
|
||||
if key != &local {
|
||||
let person = if let Ok(Some(person)) = PersonTable::read_record(*key, None) {
|
||||
person
|
||||
} else {
|
||||
let mut person = Person::new(*key);
|
||||
let _ = PersonTable::write_record(&mut person, None);
|
||||
person
|
||||
};
|
||||
|
||||
let avatar = if let Some(avatar) = app.try_get_avatar(ctx, &person.pubkey) {
|
||||
avatar
|
||||
} else {
|
||||
app.placeholder_avatar.clone()
|
||||
};
|
||||
|
||||
widgets::paint_avatar(ui, &person, &avatar, widgets::AvatarSize::Feed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ui.add_space(10.0);
|
||||
|
||||
ui.vertical(|ui| {
|
||||
ui.horizontal_wrapped(|ui| {
|
||||
let channel_name = channeldata.dm_channel.name();
|
||||
@ -97,6 +129,7 @@ pub(super) fn update(app: &mut GossipUi, ctx: &Context, _frame: &mut eframe::Fra
|
||||
);
|
||||
});
|
||||
|
||||
ui.with_layout(egui::Layout::bottom_up(egui::Align::LEFT), |ui| {
|
||||
ui.horizontal(|ui| {
|
||||
if is_signer_ready {
|
||||
if let Some(message) = &channeldata.latest_message_content {
|
||||
@ -122,6 +155,8 @@ pub(super) fn update(app: &mut GossipUi, ctx: &Context, _frame: &mut eframe::Fra
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
);
|
||||
let rect = Rect::from_min_size(
|
||||
|
Loading…
Reference in New Issue
Block a user