mirror of
https://github.com/yzernik/squeaknode.git
synced 2026-08-20 13:28:20 +02:00
Show waiting indicator open channel dialog (#1344)
* Got waiting indicator to show, but style doesn't work yet * Waiting indicator for open channel dialog seems to be working * Update frontend build
This commit is contained in:
parent
51bc17ace2
commit
ba01a2eb0a
11 changed files with 69 additions and 33 deletions
|
|
@ -6,6 +6,7 @@ import {
|
|||
TextField,
|
||||
DialogActions,
|
||||
Button,
|
||||
CircularProgress,
|
||||
} from '@material-ui/core';
|
||||
|
||||
// styles
|
||||
|
|
@ -25,6 +26,7 @@ export default function OpenChannelDialog({
|
|||
|
||||
const [amount, setAmount] = useState('');
|
||||
const [satperbyte, setSatperbyte] = useState('');
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
const resetFields = () => {
|
||||
setAmount('');
|
||||
|
|
@ -41,14 +43,19 @@ export default function OpenChannelDialog({
|
|||
|
||||
const handleResponse = (response) => {
|
||||
// TODO: go to channel page instead of showing alert.
|
||||
setLoading(false);
|
||||
handleClose();
|
||||
alert('Open channel pending.');
|
||||
};
|
||||
|
||||
const handleErr = (err) => {
|
||||
setLoading(false);
|
||||
handleClose();
|
||||
alert(`Error opening channel: ${err}`);
|
||||
};
|
||||
|
||||
const openChannel = (pubkey, amount) => {
|
||||
setLoading(true);
|
||||
lndOpenChannelSyncRequest(pubkey, amount, satperbyte, handleResponse, handleErr);
|
||||
};
|
||||
|
||||
|
|
@ -62,7 +69,6 @@ export default function OpenChannelDialog({
|
|||
return;
|
||||
}
|
||||
openChannel(pubkey, amount, satperbyte);
|
||||
handleClose();
|
||||
}
|
||||
|
||||
function PubKeyInput() {
|
||||
|
|
@ -125,14 +131,17 @@ export default function OpenChannelDialog({
|
|||
|
||||
function OpenChannelButton() {
|
||||
return (
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
color="primary"
|
||||
className={classes.button}
|
||||
>
|
||||
Open Channel
|
||||
</Button>
|
||||
<div className={classes.wrapper}>
|
||||
<Button
|
||||
type="submit"
|
||||
variant="contained"
|
||||
color="primary"
|
||||
disabled={loading}
|
||||
>
|
||||
Open Channel
|
||||
</Button>
|
||||
{loading && <CircularProgress size={24} className={classes.buttonProgress} />}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { makeStyles } from '@material-ui/styles';
|
||||
import { green } from '@material-ui/core/colors';
|
||||
|
||||
export default makeStyles((theme) => ({
|
||||
widgetWrapper: {
|
||||
|
|
@ -40,4 +41,30 @@ export default makeStyles((theme) => ({
|
|||
color: 'rgba(255, 255, 255, 0.35)',
|
||||
},
|
||||
},
|
||||
|
||||
wrapper: {
|
||||
margin: theme.spacing(1),
|
||||
position: 'relative',
|
||||
},
|
||||
buttonSuccess: {
|
||||
backgroundColor: green[500],
|
||||
'&:hover': {
|
||||
backgroundColor: green[700],
|
||||
},
|
||||
},
|
||||
fabProgress: {
|
||||
color: green[500],
|
||||
position: 'absolute',
|
||||
top: -6,
|
||||
left: -6,
|
||||
zIndex: 1,
|
||||
},
|
||||
buttonProgress: {
|
||||
color: green[500],
|
||||
position: 'absolute',
|
||||
top: '50%',
|
||||
left: '50%',
|
||||
marginTop: -12,
|
||||
marginLeft: -12,
|
||||
},
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"files": {
|
||||
"main.js": "/static/js/main.1e7c8482.chunk.js",
|
||||
"main.js.map": "/static/js/main.1e7c8482.chunk.js.map",
|
||||
"main.js": "/static/js/main.0466db29.chunk.js",
|
||||
"main.js.map": "/static/js/main.0466db29.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.ea4ba2f0.chunk.css": "/static/css/2.ea4ba2f0.chunk.css",
|
||||
"static/js/2.41487159.chunk.js": "/static/js/2.41487159.chunk.js",
|
||||
"static/js/2.41487159.chunk.js.map": "/static/js/2.41487159.chunk.js.map",
|
||||
"static/js/2.836dcbff.chunk.js": "/static/js/2.836dcbff.chunk.js",
|
||||
"static/js/2.836dcbff.chunk.js.map": "/static/js/2.836dcbff.chunk.js.map",
|
||||
"index.html": "/index.html",
|
||||
"precache-manifest.33a28e4c8ace98dd5812e67edf627563.js": "/precache-manifest.33a28e4c8ace98dd5812e67edf627563.js",
|
||||
"precache-manifest.2041eb37f0682a4a7f3eff936624b870.js": "/precache-manifest.2041eb37f0682a4a7f3eff936624b870.js",
|
||||
"service-worker.js": "/service-worker.js",
|
||||
"static/css/2.ea4ba2f0.chunk.css.map": "/static/css/2.ea4ba2f0.chunk.css.map",
|
||||
"static/js/2.41487159.chunk.js.LICENSE.txt": "/static/js/2.41487159.chunk.js.LICENSE.txt",
|
||||
"static/js/2.836dcbff.chunk.js.LICENSE.txt": "/static/js/2.836dcbff.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.ea4ba2f0.chunk.css",
|
||||
"static/js/2.41487159.chunk.js",
|
||||
"static/js/main.1e7c8482.chunk.js"
|
||||
"static/js/2.836dcbff.chunk.js",
|
||||
"static/js/main.0466db29.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>Squeaknode</title><meta name="description" content="Squeaknode 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.ea4ba2f0.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.41487159.chunk.js"></script><script src="/static/js/main.1e7c8482.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>Squeaknode</title><meta name="description" content="Squeaknode 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.ea4ba2f0.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.836dcbff.chunk.js"></script><script src="/static/js/main.0466db29.chunk.js"></script></body></html>
|
||||
|
|
@ -1,23 +1,23 @@
|
|||
self.__precacheManifest = (self.__precacheManifest || []).concat([
|
||||
{
|
||||
"revision": "ad7bf7cd09a6fecf28fc42e6407963b2",
|
||||
"revision": "0856e125535be2b7faa44d2a67fdcdef",
|
||||
"url": "/index.html"
|
||||
},
|
||||
{
|
||||
"revision": "e8c246f14f8f27583198",
|
||||
"revision": "c648b76dc3e55f3df748",
|
||||
"url": "/static/css/2.ea4ba2f0.chunk.css"
|
||||
},
|
||||
{
|
||||
"revision": "e8c246f14f8f27583198",
|
||||
"url": "/static/js/2.41487159.chunk.js"
|
||||
"revision": "c648b76dc3e55f3df748",
|
||||
"url": "/static/js/2.836dcbff.chunk.js"
|
||||
},
|
||||
{
|
||||
"revision": "279b8724b89bf7d504758b3fa917239f",
|
||||
"url": "/static/js/2.41487159.chunk.js.LICENSE.txt"
|
||||
"url": "/static/js/2.836dcbff.chunk.js.LICENSE.txt"
|
||||
},
|
||||
{
|
||||
"revision": "0daf93d4ff023862af4f",
|
||||
"url": "/static/js/main.1e7c8482.chunk.js"
|
||||
"revision": "50f1aa3dc7e0f58e7668",
|
||||
"url": "/static/js/main.0466db29.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.33a28e4c8ace98dd5812e67edf627563.js"
|
||||
"/precache-manifest.2041eb37f0682a4a7f3eff936624b870.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
Loading…
Add table
Add a link
Reference in a new issue