diff --git a/app/(app)/list/[naddr]/_components/Header.tsx b/app/(app)/list/[naddr]/_components/Header.tsx index 80149de..662794e 100644 --- a/app/(app)/list/[naddr]/_components/Header.tsx +++ b/app/(app)/list/[naddr]/_components/Header.tsx @@ -67,12 +67,12 @@ export default function Header({ event }: { event: NDKEvent }) { }, [isMember, currentUser]); async function handleCheckPayment() { - if (!event || !currentUser) return; + if (!event || !currentUser || !ndk) return; setCheckingPayment(true); console.log("Checking payment"); try { const result = await checkPayment( - ndk!, + ndk, event.tagId(), currentUser.pubkey, rawEvent, @@ -88,11 +88,11 @@ export default function Header({ event }: { event: NDKEvent }) { } } async function handleSyncUsers() { - if (!event) return; + if (!event || !ndk) return; setSyncingUsers(true); try { console.log("handleSyncUsers"); - await updateListUsersFromZaps(ndk!, event.tagId(), rawEvent); + await updateListUsersFromZaps(ndk, event.tagId(), rawEvent); toast.success("Users Synced!"); } catch (err) { console.log("error syncing users", err); @@ -171,39 +171,43 @@ export default function Header({ event }: { event: NDKEvent }) { )} - {subscriptionsEnabled && !isMember && ( - + ) : ( + - )} + "MMM Do, YYYY", + )}`} +

+ , + ) + } + > + Subscribe + + ))} diff --git a/components/Modals/CreateList.tsx b/components/Modals/CreateList.tsx index baf3dac..de95aca 100644 --- a/components/Modals/CreateList.tsx +++ b/components/Modals/CreateList.tsx @@ -3,7 +3,7 @@ import FormModal from "./FormModal"; import { z } from "zod"; import { useModal } from "@/app/_providers/modal/provider"; import { toast } from "sonner"; -import { generateRandomString } from "@/lib/nostr"; +import { generateRandomString, randomId } from "@/lib/nostr"; import { satsToBtc } from "@/lib/utils"; import useCurrentUser from "@/lib/hooks/useCurrentUser"; import { useNDK } from "@/app/_providers/ndk"; @@ -34,7 +34,7 @@ export default function CreateList() { const { getSigner } = useSigner()!; async function handleSubmit(data: CreateListType) { setIsLoading(true); - const random = generateRandomString(); + const random = randomId(); const tags = [ ["title", data.title], ["name", data.title], diff --git a/lib/actions/create.ts b/lib/actions/create.ts index bc5d2d8..62e8382 100644 --- a/lib/actions/create.ts +++ b/lib/actions/create.ts @@ -7,7 +7,7 @@ import NDK, { type NostrEvent, NDKUser, } from "@nostr-dev-kit/ndk"; -import { generateRandomString, encryptMessage } from "@/lib/nostr"; +import { generateRandomString, encryptMessage, randomId } from "@/lib/nostr"; import { unixTimeNowInSeconds } from "@/lib/nostr/dates"; import { getTagsValues } from "@/lib/nostr/utils"; @@ -155,7 +155,7 @@ export async function createList( tags: [ ["name", title], ["description", description ?? ""], - ["d", generateRandomString()], + ["d", randomId()], ], }); } diff --git a/lib/actions/zap.ts b/lib/actions/zap.ts index 9eac319..212f1c4 100644 --- a/lib/actions/zap.ts +++ b/lib/actions/zap.ts @@ -39,7 +39,6 @@ export async function checkPayment( pubkey: string, event: NostrEvent, ) { - console.log("Running check payment"); const paymentEvent = await ndk.fetchEvent({ kinds: [9735], ["#a"]: [tagId], diff --git a/lib/nostr/index.ts b/lib/nostr/index.ts index 76f06ad..bdcd98f 100644 --- a/lib/nostr/index.ts +++ b/lib/nostr/index.ts @@ -142,7 +142,17 @@ function create32ByteBuffer(inputString: string) { const buffer = Buffer.from(hash, "hex"); return buffer; } - +export function randomId() { + // @ts-ignore + return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11) + .replace(/[018]/g, (c: any) => + ( + c ^ + (crypto.getRandomValues(new Uint8Array(1))[0]! & (15 >> (c / 4))) + ).toString(16), + ) + .slice(0, 8) as string; +} export function generateRandomString() { return crypto.randomBytes(32).toString("hex"); }