feat: nip-38
This commit is contained in:
27
packages/app/src/Feed/StatusFeed.ts
Normal file
27
packages/app/src/Feed/StatusFeed.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import { EventKind, NoteCollection, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
import { findTag } from "SnortUtils";
|
||||
import { useMemo } from "react";
|
||||
|
||||
export function useStatusFeed(id?: string, leaveOpen = false) {
|
||||
const sub = useMemo(() => {
|
||||
if(!id) return null;
|
||||
|
||||
const rb = new RequestBuilder(`statud:${id}`);
|
||||
rb.withOptions({leaveOpen});
|
||||
rb.withFilter()
|
||||
.kinds([30315 as EventKind])
|
||||
.authors([id]);
|
||||
|
||||
return rb;
|
||||
}, [id]);
|
||||
|
||||
const status = useRequestBuilder(NoteCollection, sub);
|
||||
|
||||
const general = status.data?.find(a => findTag(a, "d") === "general");
|
||||
const music = status.data?.find(a => findTag(a, "d") === "music");
|
||||
|
||||
return {
|
||||
general, music
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user