fix: zaps on hosted stream
This commit is contained in:
parent
c25c0fcd67
commit
3339f72ef9
@ -12,12 +12,13 @@ import QrCode from "./qr-code";
|
|||||||
|
|
||||||
interface SendZapsProps {
|
interface SendZapsProps {
|
||||||
lnurl: string;
|
lnurl: string;
|
||||||
ev?: NostrEvent;
|
pubkey?: string;
|
||||||
|
aTag?: string;
|
||||||
targetName?: string;
|
targetName?: string;
|
||||||
onFinish: () => void;
|
onFinish: () => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
function SendZaps({ lnurl, ev, targetName, onFinish }: SendZapsProps) {
|
function SendZaps({ lnurl, pubkey, aTag, targetName, onFinish }: SendZapsProps) {
|
||||||
const UsdRate = 30_000;
|
const UsdRate = 30_000;
|
||||||
|
|
||||||
const satsAmounts = [
|
const satsAmounts = [
|
||||||
@ -50,15 +51,15 @@ function SendZaps({ lnurl, ev, targetName, onFinish }: SendZapsProps) {
|
|||||||
|
|
||||||
const amountInSats = isFiat ? Math.floor((amount / UsdRate) * 1e8) : amount;
|
const amountInSats = isFiat ? Math.floor((amount / UsdRate) * 1e8) : amount;
|
||||||
let zap: NostrEvent | undefined;
|
let zap: NostrEvent | undefined;
|
||||||
if (ev) {
|
if (pubkey && aTag) {
|
||||||
zap = await pub.zap(
|
zap = await pub.zap(
|
||||||
amountInSats * 1000,
|
amountInSats * 1000,
|
||||||
ev.pubkey,
|
pubkey,
|
||||||
Relays,
|
Relays,
|
||||||
undefined,
|
undefined,
|
||||||
comment,
|
comment,
|
||||||
(eb) => {
|
(eb) => {
|
||||||
return eb.tag(["a", `${ev.kind}:${ev.pubkey}:${findTag(ev, "d")}`]);
|
return eb.tag(["a", aTag]);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -150,11 +151,7 @@ function SendZaps({ lnurl, ev, targetName, onFinish }: SendZapsProps) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function SendZapsDialog({
|
export function SendZapsDialog(props: Omit<SendZapsProps, "onFinish">) {
|
||||||
lnurl,
|
|
||||||
ev,
|
|
||||||
targetName,
|
|
||||||
}: Omit<SendZapsProps, "onFinish">) {
|
|
||||||
const [isOpen, setIsOpen] = useState(false);
|
const [isOpen, setIsOpen] = useState(false);
|
||||||
return (
|
return (
|
||||||
<Dialog.Root open={isOpen} onOpenChange={setIsOpen}>
|
<Dialog.Root open={isOpen} onOpenChange={setIsOpen}>
|
||||||
@ -168,9 +165,7 @@ export function SendZapsDialog({
|
|||||||
<Dialog.Overlay className="dialog-overlay" />
|
<Dialog.Overlay className="dialog-overlay" />
|
||||||
<Dialog.Content className="dialog-content">
|
<Dialog.Content className="dialog-content">
|
||||||
<SendZaps
|
<SendZaps
|
||||||
lnurl={lnurl}
|
{...props}
|
||||||
ev={ev}
|
|
||||||
targetName={targetName}
|
|
||||||
onFinish={() => setIsOpen(false)}
|
onFinish={() => setIsOpen(false)}
|
||||||
/>
|
/>
|
||||||
</Dialog.Content>
|
</Dialog.Content>
|
||||||
|
@ -82,7 +82,8 @@ function ProfileInfo({ link }: { link: NostrLink }) {
|
|||||||
{zapTarget && thisEvent.data && (
|
{zapTarget && thisEvent.data && (
|
||||||
<SendZapsDialog
|
<SendZapsDialog
|
||||||
lnurl={zapTarget}
|
lnurl={zapTarget}
|
||||||
ev={thisEvent.data}
|
pubkey={host}
|
||||||
|
aTag={`${thisEvent.data.kind}:${thisEvent.data.pubkey}:${findTag(thisEvent.data, "d")}`}
|
||||||
targetName={getName(thisEvent.data.pubkey, profile)}
|
targetName={getName(thisEvent.data.pubkey, profile)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
Loading…
Reference in New Issue
Block a user