mutes: simplify mutefun and don't render tombstone yet

This commit is contained in:
William Casarin
2025-01-04 16:19:41 -08:00
parent c7d3aae856
commit e08e30f912
3 changed files with 17 additions and 24 deletions

View File

@@ -421,7 +421,7 @@ impl Accounts {
}
}
}
Box::new(|_: &Note, _: &[u8; 32]| None)
Box::new(|_: &Note, _: &[u8; 32]| false)
}
pub fn send_initial_filters(&mut self, pool: &mut RelayPool, relay_url: &str) {

View File

@@ -4,7 +4,7 @@ use std::collections::BTreeSet;
use tracing::{debug, trace};
// If the note is muted return a reason string, otherwise None
pub type MuteFun = dyn Fn(&Note, &[u8; 32]) -> Option<String>;
pub type MuteFun = dyn Fn(&Note, &[u8; 32]) -> bool;
#[derive(Default)]
pub struct Muted {
@@ -34,7 +34,7 @@ impl std::fmt::Debug for Muted {
impl Muted {
// If the note is muted return a reason string, otherwise None
pub fn is_muted(&self, note: &Note, thread: &[u8; 32]) -> Option<String> {
pub fn is_muted(&self, note: &Note, thread: &[u8; 32]) -> bool {
trace!(
"{}: thread: {}",
hex::encode(note.id()),
@@ -47,7 +47,7 @@ impl Muted {
hex::encode(note.id()),
hex::encode(note.pubkey())
);
return Some(format!("pubkey {}", hex::encode(note.pubkey())));
return true;
}
// FIXME - Implement hashtag muting here
@@ -69,10 +69,9 @@ impl Muted {
hex::encode(note.id()),
hex::encode(thread)
);
return Some(format!("thread {}", hex::encode(thread)));
return true;
}
// if we get here it's not muted
None
false
}
}

View File

@@ -7,7 +7,7 @@ use crate::{
ui::note::NoteOptions,
};
use egui::containers::scroll_area::ScrollBarVisibility;
use egui::{Color32, Direction, Layout};
use egui::{Direction, Layout};
use egui_tabs::TabColor;
use nostrdb::{Ndb, Transaction};
use notedeck::note::root_note_id_from_selected_id;
@@ -286,18 +286,13 @@ impl<'a> TimelineTabView<'a> {
return 0;
};
ui::padding(8.0, ui, |ui| {
if let Some(muted_reason) = is_muted(
let muted = is_muted(
&note,
root_note_id_from_selected_id(
self.ndb,
self.note_cache,
self.txn,
note.id(),
),
) {
ui.colored_label(Color32::RED, format!("MUTED {}", muted_reason));
} else {
root_note_id_from_selected_id(self.ndb, self.note_cache, self.txn, note.id()),
);
if !muted {
ui::padding(8.0, ui, |ui| {
let resp =
ui::NoteView::new(self.ndb, self.note_cache, self.img_cache, &note)
.note_options(self.note_options)
@@ -310,11 +305,10 @@ impl<'a> TimelineTabView<'a> {
if let Some(context) = resp.context_selection {
context.process(ui, &note);
}
};
});
ui::hline(ui);
//ui.add(egui::Separator::default().spacing(0.0));
}
1
});