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:
Jonathan Zernik 2021-01-27 16:26:48 -08:00 committed by GitHub
parent fbc8ecfd77
commit 26beeda41e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 60 additions and 26 deletions

View file

@ -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) => {

View file

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

View file

@ -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"
]
}

View file

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

View file

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

View file

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