Files
zap.stream/src/hooks/goals.ts
2023-07-06 17:23:49 +02:00

32 lines
751 B
TypeScript

import { useMemo } from "react";
import {
RequestBuilder,
NoteCollection,
NostrEvent,
EventKind,
NostrLink,
} from "@snort/system";
import { useRequestBuilder } from "@snort/system-react";
import { GOAL } from "const";
import { System } from "index";
import { findTag } from "utils";
export function useZapGoal(link: NostrLink, leaveOpen = false) {
const sub = useMemo(() => {
const b = new RequestBuilder(`goals:${link.author!.slice(0, 12)}`);
b.withOptions({ leaveOpen });
b.withFilter()
.kinds([GOAL])
.tag("a", [`${link.kind}:${link.author!}:${link.id}`]);
return b;
}, [link]);
const { data } = useRequestBuilder<NoteCollection>(
System,
NoteCollection,
sub
);
return data?.at(0);
}