mirror of
https://github.com/aljazceru/notedeck.git
synced 2025-12-18 17:14:21 +01:00
mutes: simplify mutefun and don't render tombstone yet
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
¬e,
|
||||
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 {
|
||||
let muted = is_muted(
|
||||
¬e,
|
||||
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, ¬e)
|
||||
.note_options(self.note_options)
|
||||
@@ -310,11 +305,10 @@ impl<'a> TimelineTabView<'a> {
|
||||
if let Some(context) = resp.context_selection {
|
||||
context.process(ui, ¬e);
|
||||
}
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
ui::hline(ui);
|
||||
//ui.add(egui::Separator::default().spacing(0.0));
|
||||
ui::hline(ui);
|
||||
}
|
||||
|
||||
1
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user