fix: zaps on hosted stream

This commit is contained in:
Kieran 2023-06-30 22:46:28 +01:00
parent c25c0fcd67
commit 3339f72ef9
Signed by: Kieran
GPG Key ID: DE71CEB3925BE941
2 changed files with 10 additions and 14 deletions

View File

@ -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>

View File

@ -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)}
/> />
)} )}