improve ln url tip modal

This commit is contained in:
Alejandro Gomez
2023-01-11 12:30:43 +01:00
parent 357937b403
commit 1701ca7539
2 changed files with 35 additions and 19 deletions

View File

@ -1,5 +1,5 @@
.lnurl-tip { .lnurl-tip {
background-color: var(--gray-secondary); background-color: var(--gray-tertiary);
padding: 10px; padding: 10px;
border-radius: 10px; border-radius: 10px;
width: 500px; width: 500px;
@ -9,6 +9,8 @@
.lnurl-tip .btn { .lnurl-tip .btn {
background-color: inherit; background-color: inherit;
width: 210px;
margin: 0 0 10px 0;
} }
.lnurl-tip .btn:hover { .lnurl-tip .btn:hover {
@ -17,15 +19,28 @@
.lnurl-tip .invoice { .lnurl-tip .invoice {
display: flex; display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} }
.lnurl-tip .invoice .actions { .lnurl-tip .invoice .actions {
display: flex;
flex-direction: column;
align-items: flex-start; align-items: flex-start;
text-align: start; text-align: center;
} }
.lnurl-tip .invoice .actions > div { .lnurl-tip .invoice .actions .copy-action {
margin: 10px; margin: 10px auto;
}
.lnurl-tip .invoice .actions .pay-actions {
margin: 10px auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} }
@media(max-width: 720px) { @media(max-width: 720px) {
@ -33,10 +48,4 @@
width: 100vw; width: 100vw;
margin: 0 10px; margin: 0 10px;
} }
.lnurl-tip .invoice {
flex-direction: column;
}
.lnurl-tip .invoice .actions {
text-align: center;
}
} }

View File

@ -3,6 +3,7 @@ import { useEffect, useMemo, useState } from "react";
import { bech32ToText } from "../Util"; import { bech32ToText } from "../Util";
import Modal from "./Modal"; import Modal from "./Modal";
import QrCode from "./QrCode"; import QrCode from "./QrCode";
import Copy from "./Copy";
export default function LNURLTip(props) { export default function LNURLTip(props) {
const onClose = props.onClose || (() => { }); const onClose = props.onClose || (() => { });
@ -132,7 +133,7 @@ export default function LNURLTip(props) {
function webLn() { function webLn() {
if ("webln" in window) { if ("webln" in window) {
return ( return (
<div className="btn mb10" onClick={() => payWebLN()}>Pay with WebLN</div> <div className="btn" onClick={() => payWebLN()}>Pay with WebLN</div>
) )
} }
return null; return null;
@ -168,15 +169,21 @@ export default function LNURLTip(props) {
return ( return (
<> <>
<div className="invoice"> <div className="invoice">
<div> <QrCode data={pr} link={`lightning:${pr}`} />
<QrCode data={pr} link={`lightning:${pr}`} />
</div>
<div className="actions"> <div className="actions">
{pr ? <> {pr && (
{webLn()} <>
<div className="btn" onClick={() => window.open(`lightning:${pr}`)}>Open Wallet</div> <div className="copy-action">
<div className="btn" onClick={() => navigator.clipboard.writeText(pr)}>Copy Invoice</div> <Copy text={pr} maxSize={26} />
</> : null} </div>
<div className="pay-actions">
<div className="btn" onClick={() => window.open(`lightning:${pr}`)}>
Open Wallet
</div>
<div>{webLn()}</div>
</div>
</>
)}
</div> </div>
</div> </div>
</> </>