mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-14 12:43:24 +02:00
Show unlocked squeak without reload (#730)
* Show unlocked squeak after payment without reload * Show snackbar on unlock squeak * Remove todo comment * Update static build for unlock squeak without reload
This commit is contained in:
parent
fbc8ecfd77
commit
26beeda41e
14 changed files with 60 additions and 26 deletions
|
|
@ -48,6 +48,7 @@ import {
|
|||
export default function BuySqueakDialog({
|
||||
open,
|
||||
handleClose,
|
||||
handlePaymentComplete,
|
||||
hash,
|
||||
...props
|
||||
}) {
|
||||
|
|
@ -84,7 +85,8 @@ export default function BuySqueakDialog({
|
|||
|
||||
const handlePayResponse = (response) => {
|
||||
// goToSqueakPage(offer.getSqueakHash());
|
||||
reloadRoute();
|
||||
// reloadRoute();
|
||||
handlePaymentComplete();
|
||||
};
|
||||
|
||||
const handlePayErr = (err) => {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import {
|
|||
Grid,
|
||||
Button,
|
||||
Divider,
|
||||
Snackbar,
|
||||
Box,
|
||||
} from "@material-ui/core";
|
||||
|
||||
|
|
@ -15,6 +16,7 @@ import TimelineConnector from '@material-ui/lab/TimelineConnector';
|
|||
import TimelineContent from '@material-ui/lab/TimelineContent';
|
||||
import TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';
|
||||
import TimelineDot from '@material-ui/lab/TimelineDot';
|
||||
import MuiAlert from '@material-ui/lab/Alert';
|
||||
|
||||
import FaceIcon from '@material-ui/icons/Face';
|
||||
|
||||
|
|
@ -42,6 +44,11 @@ import {
|
|||
} from "../../squeakclient/requests"
|
||||
|
||||
|
||||
function Alert(props) {
|
||||
return <MuiAlert elevation={6} variant="filled" {...props} />;
|
||||
}
|
||||
|
||||
|
||||
export default function SqueakPage() {
|
||||
var classes = useStyles();
|
||||
const history = useHistory();
|
||||
|
|
@ -55,7 +62,7 @@ export default function SqueakPage() {
|
|||
const [deleteDialogOpen, setDeleteDialogOpen] = useState(false);
|
||||
const [buyDialogOpen, setBuyDialogOpen] = useState(false);
|
||||
const [viewDetailsDialogOpen, setViewDetailsDialogOpen] = useState(false);
|
||||
|
||||
const [unlockedSnackbarOpen, setUnlockedSnackbarOpen] = useState(false);
|
||||
|
||||
const getSqueak = (hash) => {
|
||||
getSqueakDisplayRequest(hash, setSqueak);
|
||||
|
|
@ -120,6 +127,18 @@ export default function SqueakPage() {
|
|||
setViewDetailsDialogOpen(false);
|
||||
};
|
||||
|
||||
const handleCloseUnlockedSnackbar = (event, reason) => {
|
||||
if (reason === 'clickaway') {
|
||||
return;
|
||||
}
|
||||
setUnlockedSnackbarOpen(false);
|
||||
};
|
||||
|
||||
const handlePaymentComplete = () => {
|
||||
getSqueak(hash);
|
||||
setUnlockedSnackbarOpen(true);
|
||||
};
|
||||
|
||||
|
||||
useEffect(()=>{
|
||||
getSqueak(hash)
|
||||
|
|
@ -331,6 +350,7 @@ export default function SqueakPage() {
|
|||
<BuySqueakDialog
|
||||
open={buyDialogOpen}
|
||||
handleClose={handleCloseBuyDialog}
|
||||
handlePaymentComplete={handlePaymentComplete}
|
||||
hash={hash}
|
||||
></BuySqueakDialog>
|
||||
</>
|
||||
|
|
@ -350,6 +370,17 @@ export default function SqueakPage() {
|
|||
)
|
||||
}
|
||||
|
||||
|
||||
function SqueakUnlockedContent() {
|
||||
return (
|
||||
<Snackbar open={unlockedSnackbarOpen} autoHideDuration={6000} onClose={handleCloseUnlockedSnackbar}>
|
||||
<Alert onClose={handleCloseUnlockedSnackbar} severity="success">
|
||||
Squeak unlocked!
|
||||
</Alert>
|
||||
</Snackbar>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageTitle title="Squeak" />
|
||||
|
|
@ -358,6 +389,7 @@ export default function SqueakPage() {
|
|||
{DeleteSqueakDialogContent()}
|
||||
{BuyDialogContent()}
|
||||
{ViewDetailsDialogContent()}
|
||||
{SqueakUnlockedContent()}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"files": {
|
||||
"main.js": "/static/js/main.15c32003.chunk.js",
|
||||
"main.js.map": "/static/js/main.15c32003.chunk.js.map",
|
||||
"main.js": "/static/js/main.374d0d3c.chunk.js",
|
||||
"main.js.map": "/static/js/main.374d0d3c.chunk.js.map",
|
||||
"runtime-main.js": "/static/js/runtime-main.9f0ba400.js",
|
||||
"runtime-main.js.map": "/static/js/runtime-main.9f0ba400.js.map",
|
||||
"static/css/2.15110fae.chunk.css": "/static/css/2.15110fae.chunk.css",
|
||||
"static/js/2.016f4b29.chunk.js": "/static/js/2.016f4b29.chunk.js",
|
||||
"static/js/2.016f4b29.chunk.js.map": "/static/js/2.016f4b29.chunk.js.map",
|
||||
"static/js/2.86b8fdee.chunk.js": "/static/js/2.86b8fdee.chunk.js",
|
||||
"static/js/2.86b8fdee.chunk.js.map": "/static/js/2.86b8fdee.chunk.js.map",
|
||||
"index.html": "/index.html",
|
||||
"precache-manifest.da0e08df1b0b57c88f6400e952e1f501.js": "/precache-manifest.da0e08df1b0b57c88f6400e952e1f501.js",
|
||||
"precache-manifest.0fbab1c0f00a2723852ff34b8e143934.js": "/precache-manifest.0fbab1c0f00a2723852ff34b8e143934.js",
|
||||
"service-worker.js": "/service-worker.js",
|
||||
"static/css/2.15110fae.chunk.css.map": "/static/css/2.15110fae.chunk.css.map",
|
||||
"static/js/2.016f4b29.chunk.js.LICENSE.txt": "/static/js/2.016f4b29.chunk.js.LICENSE.txt",
|
||||
"static/js/2.86b8fdee.chunk.js.LICENSE.txt": "/static/js/2.86b8fdee.chunk.js.LICENSE.txt",
|
||||
"static/media/font-awesome.min.css": "/static/media/fontawesome-webfont.fee66e71.woff",
|
||||
"static/media/google.svg": "/static/media/google.695a3160.svg",
|
||||
"static/media/logo.svg": "/static/media/logo.a0185b04.svg"
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
"entrypoints": [
|
||||
"static/js/runtime-main.9f0ba400.js",
|
||||
"static/css/2.15110fae.chunk.css",
|
||||
"static/js/2.016f4b29.chunk.js",
|
||||
"static/js/main.15c32003.chunk.js"
|
||||
"static/js/2.86b8fdee.chunk.js",
|
||||
"static/js/main.374d0d3c.chunk.js"
|
||||
]
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>Squeak Node</title><meta name="description" content="Squeak Node is a frontend for accessing a squeak node"><meta name="keywords" content="squeak, bitcoin, lightning"><meta name="author" content="Flatlogic LLC."><link href="/static/css/2.15110fae.chunk.css" rel="stylesheet"></head><body style="font-family:Roboto,sans-serif"><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,f,l=r[0],a=r[1],i=r[2],c=0,s=[];c<l.length;c++)f=l[c],Object.prototype.hasOwnProperty.call(o,f)&&o[f]&&s.push(o[f][0]),o[f]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var l=this["webpackJsonpsqueak-node-frontend"]=this["webpackJsonpsqueak-node-frontend"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var p=a;t()}([])</script><script src="/static/js/2.016f4b29.chunk.js"></script><script src="/static/js/main.15c32003.chunk.js"></script></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>Squeak Node</title><meta name="description" content="Squeak Node is a frontend for accessing a squeak node"><meta name="keywords" content="squeak, bitcoin, lightning"><meta name="author" content="Flatlogic LLC."><link href="/static/css/2.15110fae.chunk.css" rel="stylesheet"></head><body style="font-family:Roboto,sans-serif"><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,f,l=r[0],a=r[1],i=r[2],c=0,s=[];c<l.length;c++)f=l[c],Object.prototype.hasOwnProperty.call(o,f)&&o[f]&&s.push(o[f][0]),o[f]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,i||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={1:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/";var l=this["webpackJsonpsqueak-node-frontend"]=this["webpackJsonpsqueak-node-frontend"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var p=a;t()}([])</script><script src="/static/js/2.86b8fdee.chunk.js"></script><script src="/static/js/main.374d0d3c.chunk.js"></script></body></html>
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||
{
|
||||
"revision": "51fc4f578938a15d7b3b88b5c988d1ac",
|
||||
"revision": "58375aac921a337ce992b5698c420e22",
|
||||
"url": "/index.html"
|
||||
},
|
||||
{
|
||||
"revision": "750cdaac9c114827f73d",
|
||||
"revision": "e12f264c3376b5a48b22",
|
||||
"url": "/static/css/2.15110fae.chunk.css"
|
||||
},
|
||||
{
|
||||
"revision": "750cdaac9c114827f73d",
|
||||
"url": "/static/js/2.016f4b29.chunk.js"
|
||||
"revision": "e12f264c3376b5a48b22",
|
||||
"url": "/static/js/2.86b8fdee.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "7156b2c9571000777b9be03b3c6006ee",
|
||||
"url": "/static/js/2.016f4b29.chunk.js.LICENSE.txt"
|
||||
"url": "/static/js/2.86b8fdee.chunk.js.LICENSE.txt"
|
||||
},
|
||||
{
|
||||
"revision": "d72cab0a91b17facba0a",
|
||||
"url": "/static/js/main.15c32003.chunk.js"
|
||||
"revision": "abd81f5bbbca7a9ca751",
|
||||
"url": "/static/js/main.374d0d3c.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "cc9816de5a8639d377ea",
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
|
||||
|
||||
importScripts(
|
||||
"/precache-manifest.da0e08df1b0b57c88f6400e952e1f501.js"
|
||||
"/precache-manifest.0fbab1c0f00a2723852ff34b8e143934.js"
|
||||
);
|
||||
|
||||
self.addEventListener('message', (event) => {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue