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) {
|
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};
|
use tracing::{debug, trace};
|
||||||
|
|
||||||
// If the note is muted return a reason string, otherwise None
|
// 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)]
|
#[derive(Default)]
|
||||||
pub struct Muted {
|
pub struct Muted {
|
||||||
@@ -34,7 +34,7 @@ impl std::fmt::Debug for Muted {
|
|||||||
|
|
||||||
impl Muted {
|
impl Muted {
|
||||||
// If the note is muted return a reason string, otherwise None
|
// 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!(
|
trace!(
|
||||||
"{}: thread: {}",
|
"{}: thread: {}",
|
||||||
hex::encode(note.id()),
|
hex::encode(note.id()),
|
||||||
@@ -47,7 +47,7 @@ impl Muted {
|
|||||||
hex::encode(note.id()),
|
hex::encode(note.id()),
|
||||||
hex::encode(note.pubkey())
|
hex::encode(note.pubkey())
|
||||||
);
|
);
|
||||||
return Some(format!("pubkey {}", hex::encode(note.pubkey())));
|
return true;
|
||||||
}
|
}
|
||||||
// FIXME - Implement hashtag muting here
|
// FIXME - Implement hashtag muting here
|
||||||
|
|
||||||
@@ -69,10 +69,9 @@ impl Muted {
|
|||||||
hex::encode(note.id()),
|
hex::encode(note.id()),
|
||||||
hex::encode(thread)
|
hex::encode(thread)
|
||||||
);
|
);
|
||||||
return Some(format!("thread {}", hex::encode(thread)));
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we get here it's not muted
|
false
|
||||||
None
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use crate::{
|
|||||||
ui::note::NoteOptions,
|
ui::note::NoteOptions,
|
||||||
};
|
};
|
||||||
use egui::containers::scroll_area::ScrollBarVisibility;
|
use egui::containers::scroll_area::ScrollBarVisibility;
|
||||||
use egui::{Color32, Direction, Layout};
|
use egui::{Direction, Layout};
|
||||||
use egui_tabs::TabColor;
|
use egui_tabs::TabColor;
|
||||||
use nostrdb::{Ndb, Transaction};
|
use nostrdb::{Ndb, Transaction};
|
||||||
use notedeck::note::root_note_id_from_selected_id;
|
use notedeck::note::root_note_id_from_selected_id;
|
||||||
@@ -286,18 +286,13 @@ impl<'a> TimelineTabView<'a> {
|
|||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
ui::padding(8.0, ui, |ui| {
|
let muted = is_muted(
|
||||||
if let Some(muted_reason) = is_muted(
|
¬e,
|
||||||
¬e,
|
root_note_id_from_selected_id(self.ndb, self.note_cache, self.txn, note.id()),
|
||||||
root_note_id_from_selected_id(
|
);
|
||||||
self.ndb,
|
|
||||||
self.note_cache,
|
if !muted {
|
||||||
self.txn,
|
ui::padding(8.0, ui, |ui| {
|
||||||
note.id(),
|
|
||||||
),
|
|
||||||
) {
|
|
||||||
ui.colored_label(Color32::RED, format!("MUTED {}", muted_reason));
|
|
||||||
} else {
|
|
||||||
let resp =
|
let resp =
|
||||||
ui::NoteView::new(self.ndb, self.note_cache, self.img_cache, ¬e)
|
ui::NoteView::new(self.ndb, self.note_cache, self.img_cache, ¬e)
|
||||||
.note_options(self.note_options)
|
.note_options(self.note_options)
|
||||||
@@ -310,11 +305,10 @@ impl<'a> TimelineTabView<'a> {
|
|||||||
if let Some(context) = resp.context_selection {
|
if let Some(context) = resp.context_selection {
|
||||||
context.process(ui, ¬e);
|
context.process(ui, ¬e);
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
});
|
|
||||||
|
|
||||||
ui::hline(ui);
|
ui::hline(ui);
|
||||||
//ui.add(egui::Separator::default().spacing(0.0));
|
}
|
||||||
|
|
||||||
1
|
1
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user