refactor: upgrade snort libs
This commit is contained in:
parent
0eb9c56442
commit
5c1a143a7d
@ -13,11 +13,11 @@
|
||||
"@radix-ui/react-toggle": "^1.0.3",
|
||||
"@react-hook/resize-observer": "^1.2.6",
|
||||
"@scure/base": "^1.1.3",
|
||||
"@snort/shared": "^1.0.10",
|
||||
"@snort/system": "^1.1.8",
|
||||
"@snort/system-react": "^1.1.8",
|
||||
"@snort/shared": "^1.0.11",
|
||||
"@snort/system": "^1.2.0",
|
||||
"@snort/system-react": "^1.2.0",
|
||||
"@snort/system-wasm": "^1.0.1",
|
||||
"@snort/system-web": "^1.0.2",
|
||||
"@snort/system-web": "^1.0.4",
|
||||
"@szhsin/react-menu": "^4.0.2",
|
||||
"@types/webscopeio__react-textarea-autocomplete": "^4.7.2",
|
||||
"@void-cat/api": "^1.0.7",
|
||||
|
@ -7,8 +7,8 @@ import { Goal } from "./goal";
|
||||
import { Note } from "./note";
|
||||
import { EmojiPack } from "./emoji-pack";
|
||||
import { Badge } from "./badge";
|
||||
import { useEvent } from "@/hooks/event";
|
||||
import { EMOJI_PACK, GOAL } from "@/const";
|
||||
import { useEventFeed } from "@snort/system-react";
|
||||
|
||||
interface EventProps {
|
||||
link: NostrLink;
|
||||
@ -71,6 +71,6 @@ export function NostrEvent({ ev }: { ev: NostrEventType }) {
|
||||
}
|
||||
|
||||
export function Event({ link }: EventProps) {
|
||||
const event = useEvent(link);
|
||||
const event = useEventFeed(link);
|
||||
return event ? <NostrEvent ev={event} /> : null;
|
||||
}
|
||||
|
@ -11,8 +11,8 @@ import type { NostrLink } from "@snort/system";
|
||||
import { Mention } from "./mention";
|
||||
import { EventIcon, NostrEvent } from "./Event";
|
||||
import { ExternalLink } from "./external-link";
|
||||
import { useEvent } from "@/hooks/event";
|
||||
import AsyncButton from "./async-button";
|
||||
import { useEventFeed } from "@snort/system-react";
|
||||
|
||||
interface MediaURLProps {
|
||||
url: URL;
|
||||
@ -43,7 +43,7 @@ export function MediaURL({ url, children }: MediaURLProps) {
|
||||
}
|
||||
|
||||
export function CollapsibleEvent({ link }: { link: NostrLink }) {
|
||||
const event = useEvent(link);
|
||||
const event = useEventFeed(link);
|
||||
const [open, setOpen] = useState(false);
|
||||
const author = event?.pubkey || link.author;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import "./live-chat.css";
|
||||
import { FormattedMessage } from "react-intl";
|
||||
import { EventKind, NostrEvent, NostrLink, ParsedZap, TaggedNostrEvent } from "@snort/system";
|
||||
import { useEventReactions, useUserProfile } from "@snort/system-react";
|
||||
import { EventKind, NostrEvent, NostrLink, NostrPrefix, ParsedZap, TaggedNostrEvent } from "@snort/system";
|
||||
import { useEventFeed, useEventReactions, useUserProfile } from "@snort/system-react";
|
||||
import { unixNow, unwrap } from "@snort/shared";
|
||||
import { useEffect, useMemo } from "react";
|
||||
|
||||
@ -18,7 +18,6 @@ import { useLiveChatFeed } from "@/hooks/live-chat";
|
||||
import { useMutedPubkeys } from "@/hooks/lists";
|
||||
import { useBadges } from "@/hooks/badges";
|
||||
import { useLogin } from "@/hooks/login";
|
||||
import { useAddress, useEvent } from "@/hooks/event";
|
||||
import { formatSats } from "@/number";
|
||||
import { LIVE_STREAM_CHAT, LIVE_STREAM_CLIP, LIVE_STREAM_RAID, WEEK } from "@/const";
|
||||
import { findTag, getHost, getTagValues, uniqBy } from "@/utils";
|
||||
@ -34,7 +33,7 @@ function BadgeAward({ ev }: { ev: NostrEvent }) {
|
||||
const badge = findTag(ev, "a") ?? "";
|
||||
const [k, pubkey, d] = badge.split(":");
|
||||
const awardees = getTagValues(ev.tags, "p");
|
||||
const event = useAddress(Number(k), pubkey, d);
|
||||
const event = useEventFeed(new NostrLink(NostrPrefix.Address, d, Number(k), pubkey));
|
||||
return (
|
||||
<div className="badge-award">
|
||||
{event && <Badge ev={event} />}
|
||||
@ -229,7 +228,7 @@ export function ChatRaid({ link, ev }: { link: NostrLink; ev: TaggedNostrEvent }
|
||||
const to = ev.tags.find(a => a[0] === "a" && a[3] === "mention");
|
||||
const isRaiding = link.toEventTag()?.at(1) === from?.at(1);
|
||||
const otherLink = NostrLink.fromTag(unwrap(isRaiding ? to : from));
|
||||
const otherEvent = useEvent(otherLink);
|
||||
const otherEvent = useEventFeed(otherLink);
|
||||
const otherProfile = useUserProfile(getHost(otherEvent));
|
||||
|
||||
useEffect(() => {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { EventKind, NoteCollection, RequestBuilder, TaggedNostrEvent } from "@snort/system";
|
||||
import { EventKind, RequestBuilder, TaggedNostrEvent } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
import { findTag, getTagValues, toAddress } from "@/utils";
|
||||
@ -19,7 +19,7 @@ export function useBadges(
|
||||
return rb;
|
||||
}, [pubkey, since]);
|
||||
|
||||
const { data: badgeEvents } = useRequestBuilder(NoteCollection, rb);
|
||||
const badgeEvents = useRequestBuilder(rb);
|
||||
|
||||
const rawBadges = useMemo(() => {
|
||||
if (badgeEvents) {
|
||||
@ -41,8 +41,8 @@ export function useBadges(
|
||||
return rb;
|
||||
}, [rawBadges]);
|
||||
|
||||
const acceptedStream = useRequestBuilder(NoteCollection, acceptedSub);
|
||||
const acceptedEvents = acceptedStream.data ?? [];
|
||||
const acceptedStream = useRequestBuilder(acceptedSub);
|
||||
const acceptedEvents = acceptedStream ?? [];
|
||||
|
||||
const badges = useMemo(() => {
|
||||
return rawBadges.map(e => {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { NoteCollection, ReplaceableNoteStore, RequestBuilder, TaggedNostrEvent } from "@snort/system";
|
||||
import { RequestBuilder, TaggedNostrEvent } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
import { CARD, USER_CARDS } from "@/const";
|
||||
@ -33,7 +33,7 @@ export function useUserCards(pubkey: string, userCards: Array<string[]>, leaveOp
|
||||
return rb;
|
||||
}, [pubkey, related]);
|
||||
|
||||
const { data } = useRequestBuilder(NoteCollection, subRelated);
|
||||
const data = useRequestBuilder(subRelated);
|
||||
|
||||
const cards = useMemo(() => {
|
||||
return related
|
||||
@ -62,12 +62,12 @@ export function useCards(pubkey?: string, leaveOpen = false): TaggedNostrEvent[]
|
||||
return b;
|
||||
}, [pubkey, leaveOpen]);
|
||||
|
||||
const { data: userCards } = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
const userCards = useRequestBuilder(sub);
|
||||
|
||||
const related = useMemo(() => {
|
||||
// filtering to only show CARD kinds for now, but in the future we could link and render anything
|
||||
if (userCards) {
|
||||
return userCards.tags.filter(t => t.at(0) === "a" && t.at(1)?.startsWith(`${CARD}:`));
|
||||
if (userCards.length > 0) {
|
||||
return userCards[0].tags.filter(t => t.at(0) === "a" && t.at(1)?.startsWith(`${CARD}:`));
|
||||
}
|
||||
return [];
|
||||
}, [userCards]);
|
||||
@ -90,7 +90,7 @@ export function useCards(pubkey?: string, leaveOpen = false): TaggedNostrEvent[]
|
||||
return rb;
|
||||
}, [pubkey, related]);
|
||||
|
||||
const { data } = useRequestBuilder(NoteCollection, subRelated);
|
||||
const data = useRequestBuilder(subRelated);
|
||||
const cardEvents = data ?? [];
|
||||
|
||||
const cards = useMemo(() => {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { unwrap } from "@snort/shared";
|
||||
import { NostrEvent, NostrLink, NostrPrefix, NoteCollection, RequestBuilder, TaggedNostrEvent } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
import { NostrEvent, NostrLink, NostrPrefix, RequestBuilder, TaggedNostrEvent } from "@snort/system";
|
||||
import { useRequestBuilderAdvanced } from "@snort/system-react";
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { LIVE_STREAM } from "@/const";
|
||||
@ -27,16 +27,16 @@ export function useCurrentStreamFeed(link: NostrLink, leaveOpen = false, evPrelo
|
||||
return b;
|
||||
}, [link.id, leaveOpen]);
|
||||
|
||||
const q = useRequestBuilder(NoteCollection, sub);
|
||||
const q = useRequestBuilderAdvanced(sub);
|
||||
|
||||
if (evPreload) {
|
||||
q.add(evPreload as TaggedNostrEvent);
|
||||
q?.feed.add([evPreload as TaggedNostrEvent]);
|
||||
}
|
||||
|
||||
return useMemo(() => {
|
||||
const hosting = q.data?.filter(
|
||||
const hosting = q?.snapshot?.filter(
|
||||
a => a.pubkey === author || a.tags.some(b => b[0] === "p" && b[1] === author && b[3] === "host")
|
||||
);
|
||||
return [...(hosting ?? [])].sort((a, b) => (b.created_at > a.created_at ? 1 : -1)).at(0);
|
||||
}, [q.data]);
|
||||
}, [q]);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { NostrEvent, NoteCollection, ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { NostrEvent, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
import { findTag, uniqBy } from "@/utils";
|
||||
import { EMOJI_PACK, USER_EMOJIS } from "@/const";
|
||||
@ -55,7 +55,7 @@ export function useUserEmojiPacks(pubkey?: string, userEmoji?: Tags) {
|
||||
return rb;
|
||||
}, [pubkey, related]);
|
||||
|
||||
const { data: relatedData } = useRequestBuilder(NoteCollection, subRelated);
|
||||
const relatedData = useRequestBuilder(subRelated);
|
||||
|
||||
const emojiPacks = useMemo(() => {
|
||||
return relatedData ?? [];
|
||||
@ -79,8 +79,8 @@ export default function useEmoji(pubkey?: string) {
|
||||
return rb;
|
||||
}, [pubkey]);
|
||||
|
||||
const { data: userEmoji } = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
const userEmoji = useRequestBuilder(sub);
|
||||
|
||||
const emojis = useUserEmojiPacks(pubkey, userEmoji?.tags ?? []);
|
||||
const emojis = useUserEmojiPacks(pubkey, userEmoji?.at(0)?.tags ?? []);
|
||||
return emojis;
|
||||
}
|
||||
|
@ -1,32 +0,0 @@
|
||||
import { useMemo } from "react";
|
||||
import { NostrLink, NostrPrefix, ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
export default function useEventFeed(link: NostrLink, leaveOpen = false) {
|
||||
const sub = useMemo(() => {
|
||||
const b = new RequestBuilder(`event:${link.id.slice(0, 12)}`);
|
||||
b.withOptions({
|
||||
leaveOpen,
|
||||
});
|
||||
if (link.type === NostrPrefix.Address) {
|
||||
const f = b.withFilter().tag("d", [link.id]);
|
||||
if (link.author) {
|
||||
f.authors([link.author]);
|
||||
}
|
||||
if (link.kind) {
|
||||
f.kinds([link.kind]);
|
||||
}
|
||||
} else {
|
||||
const f = b.withFilter().ids([link.id]);
|
||||
if (link.relays) {
|
||||
link.relays.slice(0, 2).forEach(r => f.relay(r));
|
||||
}
|
||||
if (link.author) {
|
||||
f.authors([link.author]);
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}, [link, leaveOpen]);
|
||||
|
||||
return useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { type NostrLink, NostrPrefix, ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
export function useAddress(kind: number, pubkey: string, identifier: string) {
|
||||
const sub = useMemo(() => {
|
||||
const b = new RequestBuilder(`event:${kind}:${identifier}`);
|
||||
b.withFilter().kinds([kind]).authors([pubkey]).tag("d", [identifier]);
|
||||
return b;
|
||||
}, [kind, pubkey, identifier]);
|
||||
|
||||
const { data } = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
export function useEvent(link: NostrLink) {
|
||||
const sub = useMemo(() => {
|
||||
const b = new RequestBuilder(`event:${link.id.slice(0, 12)}`);
|
||||
if (link.type === NostrPrefix.Address) {
|
||||
const f = b.withFilter().tag("d", [link.id]);
|
||||
if (link.author) {
|
||||
f.authors([link.author]);
|
||||
}
|
||||
if (link.kind) {
|
||||
f.kinds([link.kind]);
|
||||
}
|
||||
} else {
|
||||
const f = b.withFilter().ids([link.id]);
|
||||
if (link.relays) {
|
||||
link.relays.slice(0, 2).forEach(r => f.relay(r));
|
||||
}
|
||||
if (link.author) {
|
||||
f.authors([link.author]);
|
||||
}
|
||||
}
|
||||
return b;
|
||||
}, [link]);
|
||||
|
||||
const { data } = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
|
||||
return data;
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
import { useMemo } from "react";
|
||||
import { FlatNoteStore, ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
import { GOAL } from "@/const";
|
||||
|
||||
@ -11,9 +11,8 @@ export function useZapGoal(id?: string) {
|
||||
return b;
|
||||
}, [id]);
|
||||
|
||||
const { data } = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
|
||||
return data;
|
||||
const data = useRequestBuilder(sub);
|
||||
return data.at(0);
|
||||
}
|
||||
|
||||
export function useGoals(pubkey?: string, leaveOpen = false) {
|
||||
@ -25,7 +24,6 @@ export function useGoals(pubkey?: string, leaveOpen = false) {
|
||||
return b;
|
||||
}, [pubkey, leaveOpen]);
|
||||
|
||||
const { data } = useRequestBuilder(FlatNoteStore, sub);
|
||||
|
||||
const data = useRequestBuilder(sub);
|
||||
return data;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
import { MUTED } from "@/const";
|
||||
@ -15,9 +15,9 @@ export function useMutedPubkeys(host?: string, leaveOpen = false) {
|
||||
return rb;
|
||||
}, [host]);
|
||||
|
||||
const { data: muted } = useRequestBuilder(ReplaceableNoteStore, mutedSub);
|
||||
const muted = useRequestBuilder(mutedSub);
|
||||
const mutedPubkeys = useMemo(() => {
|
||||
return new Set(getTagValues(muted?.tags ?? [], "p"));
|
||||
return new Set(getTagValues(muted?.at(0)?.tags ?? [], "p"));
|
||||
}, [muted]);
|
||||
|
||||
return mutedPubkeys;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { NostrLink, NoteCollection, RequestBuilder } from "@snort/system";
|
||||
import { NostrLink, RequestBuilder } from "@snort/system";
|
||||
import { useReactions, useRequestBuilder } from "@snort/system-react";
|
||||
import { unixNow } from "@snort/shared";
|
||||
import { useMemo } from "react";
|
||||
@ -17,13 +17,13 @@ export function useLiveChatFeed(link?: NostrLink, eZaps?: Array<string>, limit =
|
||||
return rb;
|
||||
}, [link?.id, since, eZaps]);
|
||||
|
||||
const feed = useRequestBuilder(NoteCollection, sub);
|
||||
const feed = useRequestBuilder(sub);
|
||||
|
||||
const messages = useMemo(() => {
|
||||
return (feed.data ?? []).filter(
|
||||
return (feed ?? []).filter(
|
||||
ev => ev.kind === LIVE_STREAM_CHAT || ev.kind === LIVE_STREAM_RAID || ev.kind === LIVE_STREAM_CLIP
|
||||
);
|
||||
}, [feed.data]);
|
||||
}, [feed]);
|
||||
|
||||
const reactions = useReactions(
|
||||
`live:${link?.id}:${link?.author}:reactions`,
|
||||
@ -31,5 +31,5 @@ export function useLiveChatFeed(link?: NostrLink, eZaps?: Array<string>, limit =
|
||||
undefined,
|
||||
true
|
||||
);
|
||||
return { messages, reactions: reactions.data ?? [] };
|
||||
return { messages, reactions: reactions ?? [] };
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { NostrEvent, NoteCollection, RequestBuilder } from "@snort/system";
|
||||
import { NostrEvent, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
import { unixNow } from "@snort/shared";
|
||||
@ -53,17 +53,17 @@ export function useStreamsFeed(tag?: string) {
|
||||
return bStart > aStart ? 1 : -1;
|
||||
}
|
||||
|
||||
const feed = useRequestBuilder(NoteCollection, rb);
|
||||
const feed = useRequestBuilder(rb);
|
||||
const feedSorted = useMemo(() => {
|
||||
if (feed.data) {
|
||||
if (feed) {
|
||||
if (__XXX) {
|
||||
return [...feed.data].filter(
|
||||
return [...feed].filter(
|
||||
a =>
|
||||
findTag(a, "content-warning") !== undefined &&
|
||||
(!import.meta.env.VITE_SINGLE_PUBLISHER || import.meta.env.VITE_SINGLE_PUBLISHER === getHost(a))
|
||||
);
|
||||
} else {
|
||||
return [...feed.data].filter(
|
||||
return [...feed].filter(
|
||||
a =>
|
||||
findTag(a, "content-warning") === undefined &&
|
||||
(!import.meta.env.VITE_SINGLE_PUBLISHER || import.meta.env.VITE_SINGLE_PUBLISHER === getHost(a))
|
||||
@ -71,7 +71,7 @@ export function useStreamsFeed(tag?: string) {
|
||||
}
|
||||
}
|
||||
return [];
|
||||
}, [feed.data]);
|
||||
}, [feed]);
|
||||
|
||||
const live = feedSorted.filter(a => findTag(a, "status") === StreamState.Live).sort(sortStarts);
|
||||
const planned = feedSorted.filter(a => findTag(a, "status") === StreamState.Planned).sort(sortStarts);
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useEffect, useMemo, useState, useSyncExternalStore } from "react";
|
||||
|
||||
import { EventKind, NoteCollection, RequestBuilder } from "@snort/system";
|
||||
import { EventKind, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
import { useUserEmojiPacks } from "@/hooks/emoji";
|
||||
@ -42,7 +42,7 @@ export function useLoginEvents(pubkey?: string, leaveOpen = false) {
|
||||
return b;
|
||||
}, [pubkey, leaveOpen]);
|
||||
|
||||
const { data } = useRequestBuilder(NoteCollection, sub);
|
||||
const data = useRequestBuilder(sub);
|
||||
|
||||
useEffect(() => {
|
||||
if (!data) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { useMemo } from "react";
|
||||
import { NostrLink, NoteCollection, RequestBuilder } from "@snort/system";
|
||||
import { NostrLink, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
import { LIVE_STREAM } from "@/const";
|
||||
import { useZaps } from "./zaps";
|
||||
@ -19,11 +19,11 @@ export function useProfile(link: NostrLink, leaveOpen = false) {
|
||||
return b;
|
||||
}, [link, leaveOpen]);
|
||||
|
||||
const streams = useRequestBuilder(NoteCollection, sub);
|
||||
const streams = useRequestBuilder(sub);
|
||||
const zaps = useZaps(link);
|
||||
|
||||
const sortedStreams = useMemo(() => {
|
||||
const sorted = [...(streams.data ?? [])].sort((a, b) => b.created_at - a.created_at);
|
||||
const sorted = [...(streams ?? [])].sort((a, b) => b.created_at - a.created_at);
|
||||
return sorted;
|
||||
}, [streams]);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { bech32ToHex } from "@snort/shared";
|
||||
import { EventKind, ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { EventKind, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
import { useMemo } from "react";
|
||||
|
||||
@ -20,11 +20,11 @@ export function useRates(symbol: string, leaveOpen = true) {
|
||||
return rb;
|
||||
}, [symbol]);
|
||||
|
||||
const data = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
const data = useRequestBuilder(sub);
|
||||
|
||||
const tag = data?.data?.tags.find(a => a[0] === "d" && a[1] === symbol);
|
||||
const tag = data?.at(0)?.tags.find(a => a[0] === "d" && a[1] === symbol);
|
||||
return {
|
||||
time: data.data?.created_at,
|
||||
time: data?.at(0)?.created_at,
|
||||
ask: Number(tag?.[2]),
|
||||
bid: Number(tag?.[3]),
|
||||
low: Number(tag?.[4]),
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useMemo } from "react";
|
||||
|
||||
import { EventKind, ReplaceableNoteStore, RequestBuilder } from "@snort/system";
|
||||
import { EventKind, RequestBuilder } from "@snort/system";
|
||||
import { useRequestBuilder } from "@snort/system-react";
|
||||
|
||||
type StatusTag = "general" | "music";
|
||||
@ -17,6 +17,6 @@ export function useStatus(tag: StatusTag, author?: string, leaveOpen = true) {
|
||||
return b;
|
||||
}, [author]);
|
||||
|
||||
const { data } = useRequestBuilder(ReplaceableNoteStore, sub);
|
||||
return data;
|
||||
const data = useRequestBuilder(sub);
|
||||
return data.at(0);
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ export function useZaps(link?: NostrLink, leaveOpen = false) {
|
||||
return null;
|
||||
}, [link, leaveOpen]);
|
||||
|
||||
const { data: zaps } = useRequestBuilder(NoteCollection, sub);
|
||||
const zaps = useRequestBuilder(sub);
|
||||
|
||||
return (
|
||||
[...(zaps ?? [])]
|
||||
|
90
yarn.lock
90
yarn.lock
@ -2877,40 +2877,28 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@snort/shared@npm:^1.0.10":
|
||||
version: 1.0.10
|
||||
resolution: "@snort/shared@npm:1.0.10"
|
||||
"@snort/shared@npm:^1.0.11":
|
||||
version: 1.0.11
|
||||
resolution: "@snort/shared@npm:1.0.11"
|
||||
dependencies:
|
||||
"@noble/curves": ^1.2.0
|
||||
"@noble/hashes": ^1.3.2
|
||||
"@scure/base": ^1.1.2
|
||||
debug: ^4.3.4
|
||||
eventemitter3: ^5.0.1
|
||||
light-bolt11-decoder: ^3.0.0
|
||||
checksum: a9d6f3bebfa8266b5323f12bd1ebaf1fd3db316ff6b02524425b876a9902f1d763116c8c8f47259cfc2fd9aee19974333849ee08c3ec038122d3a5d385292fb8
|
||||
checksum: 4a5441c9a1b2636283a9d39533821fcf4606dbbfbb39329aa814e6512282adf48768e761553e906f0c9c62c3862a0cb48b05a5a84cc871562a2d1120c7a902ac
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@snort/shared@npm:^1.0.9":
|
||||
version: 1.0.9
|
||||
resolution: "@snort/shared@npm:1.0.9"
|
||||
"@snort/system-react@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "@snort/system-react@npm:1.2.0"
|
||||
dependencies:
|
||||
"@noble/curves": ^1.2.0
|
||||
"@noble/hashes": ^1.3.2
|
||||
"@scure/base": ^1.1.2
|
||||
debug: ^4.3.4
|
||||
light-bolt11-decoder: ^3.0.0
|
||||
checksum: cb1c918f614486d46ab0c41f3a14644c8dcc34d7bd02bd1ca7473003119b08eacfba9a3b46f72f197261fb9af85d3717d638e21a09b914ab9bec262fe32219c4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@snort/system-react@npm:^1.1.8":
|
||||
version: 1.1.8
|
||||
resolution: "@snort/system-react@npm:1.1.8"
|
||||
dependencies:
|
||||
"@snort/shared": ^1.0.10
|
||||
"@snort/system": ^1.1.8
|
||||
"@snort/shared": ^1.0.11
|
||||
"@snort/system": ^1.2.0
|
||||
react: ^18.2.0
|
||||
checksum: dfe30788f3c8c24bd7d9bc50f60b924ffc679b2438f172e11e56f8a00942f7bd1add1aa9adcebddba43498a92d7a49a69a5dc566b6fac16575a553ba2923275f
|
||||
checksum: 4a4444cfe6f91e92b814c11ebc26061e46bb771c2458919ec2c886671d7a3c9e920bc98b43831c40411869950d4e5d4633f7b5d51291347220ca12dd4f98fe6b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -2921,50 +2909,33 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@snort/system-web@npm:^1.0.2":
|
||||
version: 1.0.2
|
||||
resolution: "@snort/system-web@npm:1.0.2"
|
||||
"@snort/system-web@npm:^1.0.4":
|
||||
version: 1.0.4
|
||||
resolution: "@snort/system-web@npm:1.0.4"
|
||||
dependencies:
|
||||
"@snort/shared": ^1.0.9
|
||||
"@snort/system": ^1.1.1
|
||||
"@snort/shared": ^1.0.11
|
||||
"@snort/system": ^1.2.0
|
||||
dexie: ^3.2.4
|
||||
checksum: 1beed3de3256bb94a952034bdb0739272dfba0a48c985f8f4f9d7730b409182b4abea0e00ba9b519d30729e18b9db0d0752d99281238d1789f47c3c076154339
|
||||
checksum: ee705a586009cdc35c167aaeb4e505afac4d4c5f8eb80ae3b8519e631a7e9cfae828a7e00cc589eeff509bb5bd5e9398888763e03e26e1ce888393d3f5daf11b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@snort/system@npm:^1.1.1":
|
||||
version: 1.1.1
|
||||
resolution: "@snort/system@npm:1.1.1"
|
||||
"@snort/system@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "@snort/system@npm:1.2.0"
|
||||
dependencies:
|
||||
"@noble/curves": ^1.2.0
|
||||
"@noble/hashes": ^1.3.2
|
||||
"@scure/base": ^1.1.2
|
||||
"@snort/shared": ^1.0.9
|
||||
"@snort/shared": ^1.0.11
|
||||
"@stablelib/xchacha20": ^1.0.1
|
||||
debug: ^4.3.4
|
||||
eventemitter3: ^5.0.1
|
||||
isomorphic-ws: ^5.0.0
|
||||
lokijs: ^1.5.12
|
||||
uuid: ^9.0.0
|
||||
ws: ^8.14.0
|
||||
checksum: 8c6d2b4061084245fbfa83e698949aba2e47dc23ca38af3d1ac0b2166dae4a397ea432a36f24891f2ff3d88aab7734818f13d013ae9615eb6bbdad0dddd82101
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@snort/system@npm:^1.1.8":
|
||||
version: 1.1.8
|
||||
resolution: "@snort/system@npm:1.1.8"
|
||||
dependencies:
|
||||
"@noble/curves": ^1.2.0
|
||||
"@noble/hashes": ^1.3.2
|
||||
"@scure/base": ^1.1.2
|
||||
"@snort/shared": ^1.0.10
|
||||
"@stablelib/xchacha20": ^1.0.1
|
||||
debug: ^4.3.4
|
||||
eventemitter3: ^5.0.1
|
||||
isomorphic-ws: ^5.0.0
|
||||
uuid: ^9.0.0
|
||||
ws: ^8.14.0
|
||||
checksum: f27685c55cde1b409b763a553c0cbadf972fefc449d22ea045d004da3658000c65587cef2983ba03f45df50f1eec58d9858256a7a809275a625635267b77b482
|
||||
checksum: f5fb8a89f3d35db87c0c9a9e6cc49081d3c93c5092c51a6105ca020ff6679ae24b688d59c66482124e81eb839313ad5d723087eac948cad76f460a7f34876213
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -6157,6 +6128,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lokijs@npm:^1.5.12":
|
||||
version: 1.5.12
|
||||
resolution: "lokijs@npm:1.5.12"
|
||||
checksum: 5cd45facb890048e83977de1451a7b70e1f9e4cfe41c40d2212dfc160df7919b821072f95b10d692f6932c1080193e0715e8fe18dee332f04da4fda0f08984b6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0":
|
||||
version: 1.4.0
|
||||
resolution: "loose-envify@npm:1.4.0"
|
||||
@ -7813,11 +7791,11 @@ __metadata:
|
||||
"@radix-ui/react-toggle": ^1.0.3
|
||||
"@react-hook/resize-observer": ^1.2.6
|
||||
"@scure/base": ^1.1.3
|
||||
"@snort/shared": ^1.0.10
|
||||
"@snort/system": ^1.1.8
|
||||
"@snort/system-react": ^1.1.8
|
||||
"@snort/shared": ^1.0.11
|
||||
"@snort/system": ^1.2.0
|
||||
"@snort/system-react": ^1.2.0
|
||||
"@snort/system-wasm": ^1.0.1
|
||||
"@snort/system-web": ^1.0.2
|
||||
"@snort/system-web": ^1.0.4
|
||||
"@szhsin/react-menu": ^4.0.2
|
||||
"@testing-library/dom": ^9.3.1
|
||||
"@types/lodash": ^4.14.195
|
||||
|
Loading…
x
Reference in New Issue
Block a user