From ff53ba26f02104d77b56faf940b5cf31f8de3d59 Mon Sep 17 00:00:00 2001 From: Liran Cohen Date: Wed, 18 Jan 2023 18:49:37 -0500 Subject: [PATCH] filter for self dms --- src/pages/ChatPage.tsx | 5 +++-- src/pages/MessagesPage.tsx | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pages/ChatPage.tsx b/src/pages/ChatPage.tsx index 658fddf..ad26d15 100644 --- a/src/pages/ChatPage.tsx +++ b/src/pages/ChatPage.tsx @@ -10,7 +10,7 @@ import useEventPublisher from "../feed/EventPublisher"; import DM from "../element/DM"; import { RawEvent } from "../nostr"; -import { dmsInChat } from "./MessagesPage"; +import { dmsInChat, isToSelf } from "./MessagesPage"; type RouterParams = { id: string @@ -20,13 +20,14 @@ export default function ChatPage() { const params = useParams(); const publisher = useEventPublisher(); const id = bech32ToHex(params.id ?? ""); + const pubKey = useSelector(s => s.login.publicKey); const dms = useSelector(s => filterDms(s.login.dms)); const [content, setContent] = useState(); const { ref, inView, entry } = useInView(); const dmListRef = useRef(null); function filterDms(dms: RawEvent[]) { - return dmsInChat(dms, id); + return dmsInChat(id === pubKey ? dms.filter(d => isToSelf(d, pubKey)) : dms, id); } const sortedDms = useMemo(() => { diff --git a/src/pages/MessagesPage.tsx b/src/pages/MessagesPage.tsx index fd7a64f..bcfa146 100644 --- a/src/pages/MessagesPage.tsx +++ b/src/pages/MessagesPage.tsx @@ -73,6 +73,10 @@ function unreadDms(dms: RawEvent[], myPubKey: HexKey, pk: HexKey) { } function newestMessage(dms: RawEvent[], myPubKey: HexKey, pk: HexKey) { + if(pk === myPubKey) { + return dmsInChat(dms.filter(d => isToSelf(d, myPubKey)), pk).reduce((acc, v) => acc = v.created_at > acc ? v.created_at : acc, 0); + } + return dmsInChat(dms, pk).reduce((acc, v) => acc = v.created_at > acc ? v.created_at : acc, 0); }