2022-12-30 23:35:02 +00:00
|
|
|
import { useCallback, useMemo } from "react";
|
2022-12-29 22:23:41 +00:00
|
|
|
import EventKind from "../nostr/EventKind";
|
|
|
|
import { Subscriptions } from "../nostr/Subscriptions";
|
2022-12-30 23:35:02 +00:00
|
|
|
import useSubscription from "./Subscription";
|
2022-12-18 14:51:47 +00:00
|
|
|
|
2022-12-28 23:28:28 +00:00
|
|
|
export default function useTimelineFeed(pubKeys) {
|
2022-12-30 23:35:02 +00:00
|
|
|
const sub = useMemo(() => {
|
|
|
|
let sub = new Subscriptions();
|
|
|
|
sub.Id = "timeline";
|
|
|
|
sub.Authors = new Set(pubKeys);
|
|
|
|
sub.Kinds.add(EventKind.TextNote);
|
|
|
|
sub.Limit = 10;
|
2022-12-18 14:51:47 +00:00
|
|
|
|
2022-12-30 23:35:02 +00:00
|
|
|
return sub;
|
|
|
|
}, [pubKeys]);
|
2022-12-18 14:51:47 +00:00
|
|
|
|
2022-12-30 23:35:02 +00:00
|
|
|
const { notes } = useSubscription(sub, { leaveOpen: true });
|
2022-12-28 23:28:28 +00:00
|
|
|
return { notes };
|
2022-12-18 14:51:47 +00:00
|
|
|
}
|