From 99337afedd2a1562d83dbcdb1ced67c5638e9968 Mon Sep 17 00:00:00 2001 From: smolgrrr Date: Fri, 6 Sep 2024 17:55:59 +1000 Subject: [PATCH] hide nonpow replies and fix quotes --- client/src/components/forms/PostFormCard.tsx | 1 + client/src/components/routes/Thread.tsx | 30 +++++++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/client/src/components/forms/PostFormCard.tsx b/client/src/components/forms/PostFormCard.tsx index a046fe3..bc5c035 100644 --- a/client/src/components/forms/PostFormCard.tsx +++ b/client/src/components/forms/PostFormCard.tsx @@ -91,6 +91,7 @@ const NewNoteCard = ({ break; case 'Quote': unsigned.tags.push(['q', refEvent.id]); + setComment(comment + '\nnostr:' + nip19.noteEncode(refEvent.id)); break; default: addEventTags(); diff --git a/client/src/components/routes/Thread.tsx b/client/src/components/routes/Thread.tsx index eff311c..ad1ef2f 100644 --- a/client/src/components/routes/Thread.tsx +++ b/client/src/components/routes/Thread.tsx @@ -51,6 +51,7 @@ const Thread = () => { return () => window.removeEventListener("scroll", handleScroll); }, []); + const [showAllReplies, setShowAllReplies] = useState(false); if (OPEvent) { const uniqEvents = uniqBy(prevMentions, "id"); const earlierEvents = uniqEvents @@ -79,18 +80,25 @@ const Thread = () => {
{/* This is the white line separator */} +
+ +
- {replyEvents.slice(0, visibleReplyEvents).map((event: Event) => ( -
tag[0] === 'e' && tag[1] !== OPEvent.id) ? 'ml-auto' : 'mr-auto'}`}> - e.pubkey === event.pubkey && e.kind === 0) || null} - replies={replyEvents.filter((e: Event) => e.tags.some((tag) => tag[0] === "e" && tag[1] === event.id))} - repliedTo={repliedList(event)} - /> -
- ))} + {replyEvents.slice(0, visibleReplyEvents) + .filter((event: Event) => (showAllReplies || event.id.startsWith('0')) && event.tags.some(tag => tag[0] === 'e' && tag[1] === OPEvent.id)) + .map((event: Event) => ( +
tag[0] === 'e' && tag[1] !== OPEvent.id) ? 'ml-auto' : 'mr-auto'}`}> + e.pubkey === event.pubkey && e.kind === 0) || null} + replies={replyEvents.filter((e: Event) => e.tags.some((tag) => tag[0] === "e" && tag[1] === event.id))} + repliedTo={repliedList(event)} + /> +
+ ))}