diff --git a/src/Element/Note.tsx b/src/Element/Note.tsx
index e6ff52eb..f31d658e 100644
--- a/src/Element/Note.tsx
+++ b/src/Element/Note.tsx
@@ -19,6 +19,7 @@ export interface NoteProps {
isThread?: boolean,
related: TaggedRawEvent[],
highlight?: boolean,
+ ignoreModeration?: boolean,
options?: {
showHeader?: boolean,
showTime?: boolean,
@@ -46,7 +47,7 @@ const HiddenNote = ({ children }: any) => {
export default function Note(props: NoteProps) {
const navigate = useNavigate();
- const { data, isThread, related, highlight, options: opt, ["data-ev"]: parsedEvent } = props
+ const { data, isThread, related, highlight, options: opt, ["data-ev"]: parsedEvent, ignoreModeration = false} = props
const ev = useMemo(() => parsedEvent ?? new NEvent(data), [data]);
const pubKeys = useMemo(() => ev.Thread?.PubKeys || [], [ev]);
const users = useProfile(pubKeys);
@@ -176,5 +177,5 @@ export default function Note(props: NoteProps) {
)
- return isOpMuted ? {note} : note
+ return !ignoreModeration && isOpMuted ? {note} : note
}
diff --git a/src/Element/Timeline.tsx b/src/Element/Timeline.tsx
index abf5ba56..0324309f 100644
--- a/src/Element/Timeline.tsx
+++ b/src/Element/Timeline.tsx
@@ -15,19 +15,20 @@ export interface TimelineProps {
postsOnly: boolean,
subject: TimelineSubject,
method: "TIME_RANGE" | "LIMIT_UNTIL"
+ ignoreModeration?: boolean
}
/**
* A list of notes by pubkeys
*/
-export default function Timeline({ subject, postsOnly = false, method }: TimelineProps) {
+export default function Timeline({ subject, postsOnly = false, method, ignoreModeration = false }: TimelineProps) {
const { muted, isMuted } = useModeration();
const { main, related, latest, parent, loadMore, showLatest } = useTimelineFeed(subject, {
method
});
const filterPosts = useCallback((nts: TaggedRawEvent[]) => {
- return [...nts].sort((a, b) => b.created_at - a.created_at)?.filter(a => postsOnly ? !a.tags.some(b => b[0] === "e") : true).filter(a => !isMuted(a.pubkey));
+ return [...nts].sort((a, b) => b.created_at - a.created_at)?.filter(a => postsOnly ? !a.tags.some(b => b[0] === "e") : true).filter(a => ignoreModeration || !isMuted(a.pubkey));
}, [postsOnly, muted]);
const mainFeed = useMemo(() => {
@@ -41,7 +42,7 @@ export default function Timeline({ subject, postsOnly = false, method }: Timelin
function eventElement(e: TaggedRawEvent) {
switch (e.kind) {
case EventKind.TextNote: {
- return
+ return
}
case EventKind.Reaction:
case EventKind.Repost: {
diff --git a/src/Pages/ProfilePage.tsx b/src/Pages/ProfilePage.tsx
index 3724f55a..d86b9be3 100644
--- a/src/Pages/ProfilePage.tsx
+++ b/src/Pages/ProfilePage.tsx
@@ -108,7 +108,7 @@ export default function ProfilePage() {
function tabContent() {
switch (tab) {
case ProfileTab.Notes:
- return ;
+ return ;
case ProfileTab.Follows: {
if (isMe) {
return (