refactor: extract repost filter to Util.isTextRepost

resolve https://github.com/v0l/snort/pull/314\#discussion_r1108279333
This commit is contained in:
kPherox
2023-02-16 20:42:31 +09:00
parent dfa2bf5873
commit 615c2a974a
5 changed files with 14 additions and 15 deletions

View File

@ -1,7 +1,7 @@
import { useCallback, useEffect, useMemo, useState } from "react";
import { u256 } from "@snort/nostr";
import { EventKind, Subscriptions } from "@snort/nostr";
import { unixNow, unwrap } from "Util";
import { unixNow, unwrap, isTextRepost } from "Util";
import useSubscription from "Feed/Subscription";
import { useSelector } from "react-redux";
import { RootState } from "State/Store";
@ -153,12 +153,8 @@ export default function useTimelineFeed(subject: TimelineSubject, options: Timel
.filter(a => a)
.map(a => unwrap(a)[1]);
const repostsByKind1 = main.store.notes
.filter(
a =>
(a.kind === EventKind.Repost || a.kind === EventKind.TextNote) &&
a.tags.some(b => b[0] === "e" && b[3] === "mention")
)
.map(a => a.tags.find((b, i) => b[0] === "e" && b[3] === "mention" && a.content === `#[${i}]`))
.filter(a => (a.kind === EventKind.Repost || a.kind === EventKind.TextNote) && a.tags.some(isTextRepost(a)))
.map(a => a.tags.find(isTextRepost(a)))
.filter(a => a)
.map(a => unwrap(a)[1]);
const reposts = [...repostsByKind6, ...repostsByKind1];