Files
snort/packages/app/src/Feed/FeedReactions.ts
2023-09-12 15:02:16 +01:00

26 lines
818 B
TypeScript

import { RequestBuilder, EventKind, NoteCollection } from "@snort/system";
import { useRequestBuilder } from "@snort/system-react";
import useLogin from "Hooks/useLogin";
import { useMemo } from "react";
export function useReactions(subId: string, ids: Array<string>, others?: (rb: RequestBuilder) => void) {
const { preferences: pref } = useLogin();
const sub = useMemo(() => {
const rb = new RequestBuilder(subId);
if (ids.length > 0) {
rb.withFilter()
.kinds(
pref.enableReactions
? [EventKind.Reaction, EventKind.Repost, EventKind.ZapReceipt]
: [EventKind.ZapReceipt, EventKind.Repost],
)
.tag("e", ids);
}
others?.(rb);
return rb.numFilters > 0 ? rb : null;
}, [ids]);
return useRequestBuilder(NoteCollection, sub);
}