light theme fixed

pull/1149/head
ShahanaFarooqui 1 year ago
parent 47f8d3d972
commit 90dd0ac1c7

@ -10,9 +10,9 @@
<link i18n-rel="" rel="mask-icon" href="assets/images/favicon-light/safari-pinned-tab.svg" color="#5bbad5">
<meta i18n-content="" name="msapplication-TileColor" content="#da532c">
<meta i18n-content="" name="theme-color" content="#ffffff">
<style>@font-face{font-family:Roboto;src:url(Roboto-Thin.f7a95c9c5999532c.woff2) format("woff2"),url(Roboto-Thin.c13c157cb81e8ebb.woff) format("woff");font-weight:100;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-ThinItalic.b0e084abf689f393.woff2) format("woff2"),url(Roboto-ThinItalic.1111028df6cea564.woff) format("woff");font-weight:100;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Light.0e01b6cd13b3857f.woff2) format("woff2"),url(Roboto-Light.603ca9a537b88428.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-LightItalic.232ef4b20215f720.woff2) format("woff2"),url(Roboto-LightItalic.1b5e142f787151c8.woff) format("woff");font-weight:300;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Regular.475ba9e4e2d63456.woff2) format("woff2"),url(Roboto-Regular.bcefbfee882bc1cb.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-RegularItalic.e3a9ebdaac06bbc4.woff2) format("woff2"),url(Roboto-RegularItalic.0668fae6af0cf8c2.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Medium.457532032ceb0168.woff2) format("woff2"),url(Roboto-Medium.6e1ae5f0b324a0aa.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-MediumItalic.872f7060602d55d2.woff2) format("woff2"),url(Roboto-MediumItalic.e06fb533801cbb08.woff) format("woff");font-weight:500;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Bold.447291a88c067396.woff2) format("woff2"),url(Roboto-Bold.fc482e6133cf5e26.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-BoldItalic.1b15168ef6fa4e16.woff2) format("woff2"),url(Roboto-BoldItalic.e26ba339b06f09f7.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Black.2eaa390d458c877d.woff2) format("woff2"),url(Roboto-Black.b25f67ad8583da68.woff) format("woff");font-weight:900;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-BlackItalic.7dc03ee444552bc5.woff2) format("woff2"),url(Roboto-BlackItalic.c8dc642467cb3099.woff) format("woff");font-weight:900;font-style:italic}html{width:100%;height:99%;line-height:1.5;overflow-x:hidden;font-family:Roboto,sans-serif!important;font-size:100%}@media only screen and (max-width: 56.25em){html{font-size:90%}}@media only screen and (max-width: 37.5em){html{font-size:80%}}body{box-sizing:border-box;height:100%;margin:0;overflow:hidden}*{margin:0;padding:0}</style><link rel="stylesheet" href="styles.c425009851b1ee10.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.c425009851b1ee10.css"></noscript></head>
<style>@font-face{font-family:Roboto;src:url(Roboto-Thin.f7a95c9c5999532c.woff2) format("woff2"),url(Roboto-Thin.c13c157cb81e8ebb.woff) format("woff");font-weight:100;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-ThinItalic.b0e084abf689f393.woff2) format("woff2"),url(Roboto-ThinItalic.1111028df6cea564.woff) format("woff");font-weight:100;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Light.0e01b6cd13b3857f.woff2) format("woff2"),url(Roboto-Light.603ca9a537b88428.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-LightItalic.232ef4b20215f720.woff2) format("woff2"),url(Roboto-LightItalic.1b5e142f787151c8.woff) format("woff");font-weight:300;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Regular.475ba9e4e2d63456.woff2) format("woff2"),url(Roboto-Regular.bcefbfee882bc1cb.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-RegularItalic.e3a9ebdaac06bbc4.woff2) format("woff2"),url(Roboto-RegularItalic.0668fae6af0cf8c2.woff) format("woff");font-weight:400;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Medium.457532032ceb0168.woff2) format("woff2"),url(Roboto-Medium.6e1ae5f0b324a0aa.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-MediumItalic.872f7060602d55d2.woff2) format("woff2"),url(Roboto-MediumItalic.e06fb533801cbb08.woff) format("woff");font-weight:500;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Bold.447291a88c067396.woff2) format("woff2"),url(Roboto-Bold.fc482e6133cf5e26.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-BoldItalic.1b15168ef6fa4e16.woff2) format("woff2"),url(Roboto-BoldItalic.e26ba339b06f09f7.woff) format("woff");font-weight:700;font-style:italic}@font-face{font-family:Roboto;src:url(Roboto-Black.2eaa390d458c877d.woff2) format("woff2"),url(Roboto-Black.b25f67ad8583da68.woff) format("woff");font-weight:900;font-style:normal}@font-face{font-family:Roboto;src:url(Roboto-BlackItalic.7dc03ee444552bc5.woff2) format("woff2"),url(Roboto-BlackItalic.c8dc642467cb3099.woff) format("woff");font-weight:900;font-style:italic}html{width:100%;height:99%;line-height:1.5;overflow-x:hidden;font-family:Roboto,sans-serif!important;font-size:100%}@media only screen and (max-width: 56.25em){html{font-size:90%}}@media only screen and (max-width: 37.5em){html{font-size:80%}}body{box-sizing:border-box;height:100%;margin:0;overflow:hidden}*{margin:0;padding:0}</style><link rel="stylesheet" href="styles.a6d8a230158f75f0.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.a6d8a230158f75f0.css"></noscript></head>
<body>
<rtl-app></rtl-app>
<script src="runtime.12cdfbeab5d2a899.js" type="module"></script><script src="polyfills.cba326bc97aa51ea.js" type="module"></script><script src="main.5956ec091dc27d08.js" type="module"></script>
<script src="runtime.dca3548a9e65823d.js" type="module"></script><script src="polyfills.431abf66bb94b761.js" type="module"></script><script src="main.1098d87ba12b7fbf.js" type="module"></script>
</body></html>

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

@ -1,2 +1,2 @@
(()=>{"use strict";var e,b={},v={};function r(e){var n=v[e];if(void 0!==n)return n.exports;var t=v[e]={id:e,loaded:!1,exports:{}};return b[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=b,e=[],r.O=(n,t,o,u)=>{if(!t){var a=1/0;for(i=0;i<e.length;i++){for(var[t,o,u]=e[i],c=!0,f=0;f<t.length;f++)(!1&u||a>=u)&&Object.keys(r.O).every(_=>r.O[_](t[f]))?t.splice(f--,1):(c=!1,u<a&&(a=u));if(c){e.splice(i--,1);var d=o();void 0!==d&&(n=d)}}return n}u=u||0;for(var i=e.length;i>0&&e[i-1][2]>u;i--)e[i]=e[i-1];e[i]=[t,o,u]},r.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return r.d(n,{a:n}),n},r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((n,t)=>(r.f[t](e,n),n),[])),r.u=e=>e+"."+{"default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf":"e7b058c0b6c94c42",src_app_lnd_lnd_module_ts:"237b6cb3a3ef3065",src_app_cln_cln_module_ts:"464a5875d208dee8",src_app_eclair_ecl_module_ts:"27274009ffa01245"}[e]+".js",r.miniCssF=e=>{},r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="RTLApp:";r.l=(t,o,u,i)=>{if(e[t])e[t].push(o);else{var a,c;if(void 0!==u)for(var f=document.getElementsByTagName("script"),d=0;d<f.length;d++){var l=f[d];if(l.getAttribute("src")==t||l.getAttribute("data-webpack")==n+u){a=l;break}}a||(c=!0,(a=document.createElement("script")).type="module",a.charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",n+u),a.src=r.tu(t)),e[t]=[o];var s=(m,_)=>{a.onerror=a.onload=null,clearTimeout(p);var g=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),g&&g.forEach(h=>h(_)),m)return m(_)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:n=>n},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={runtime:0};r.f.j=(o,u)=>{var i=r.o(e,o)?e[o]:void 0;if(0!==i)if(i)u.push(i[2]);else if("runtime"!=o){var a=new Promise((l,s)=>i=e[o]=[l,s]);u.push(i[2]=a);var c=r.p+r.u(o),f=new Error;r.l(c,l=>{if(r.o(e,o)&&(0!==(i=e[o])&&(e[o]=void 0),i)){var s=l&&("load"===l.type?"missing":l.type),p=l&&l.target&&l.target.src;f.message="Loading chunk "+o+" failed.\n("+s+": "+p+")",f.name="ChunkLoadError",f.type=s,f.request=p,i[1](f)}},"chunk-"+o,o)}else e[o]=0},r.O.j=o=>0===e[o];var n=(o,u)=>{var f,d,[i,a,c]=u,l=0;if(i.some(p=>0!==e[p])){for(f in a)r.o(a,f)&&(r.m[f]=a[f]);if(c)var s=c(r)}for(o&&o(u);l<i.length;l++)d=i[l],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(s)},t=self.webpackChunkRTLApp=self.webpackChunkRTLApp||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})()})();
//# sourceMappingURL=runtime.12cdfbeab5d2a899.js.map
(()=>{"use strict";var e,b={},v={};function r(e){var n=v[e];if(void 0!==n)return n.exports;var t=v[e]={id:e,loaded:!1,exports:{}};return b[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}r.m=b,e=[],r.O=(n,t,o,u)=>{if(!t){var a=1/0;for(i=0;i<e.length;i++){for(var[t,o,u]=e[i],c=!0,d=0;d<t.length;d++)(!1&u||a>=u)&&Object.keys(r.O).every(_=>r.O[_](t[d]))?t.splice(d--,1):(c=!1,u<a&&(a=u));if(c){e.splice(i--,1);var l=o();void 0!==l&&(n=l)}}return n}u=u||0;for(var i=e.length;i>0&&e[i-1][2]>u;i--)e[i]=e[i-1];e[i]=[t,o,u]},r.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return r.d(n,{a:n}),n},r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((n,t)=>(r.f[t](e,n),n),[])),r.u=e=>e+"."+{"default-src_app_shared_components_currency-unit-converter_currency-unit-converter_component_t-449cdf":"391cdd60c40908f0",src_app_lnd_lnd_module_ts:"a334a46ba51cac79",src_app_cln_cln_module_ts:"d2d7a32809ac1f84",src_app_eclair_ecl_module_ts:"df1fc6cbdde21e7a"}[e]+".js",r.miniCssF=e=>{},r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="RTLApp:";r.l=(t,o,u,i)=>{if(e[t])e[t].push(o);else{var a,c;if(void 0!==u)for(var d=document.getElementsByTagName("script"),l=0;l<d.length;l++){var f=d[l];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==n+u){a=f;break}}a||(c=!0,(a=document.createElement("script")).type="module",a.charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",n+u),a.src=r.tu(t)),e[t]=[o];var s=(m,_)=>{a.onerror=a.onload=null,clearTimeout(p);var g=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),g&&g.forEach(h=>h(_)),m)return m(_)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:n=>n},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={runtime:0};r.f.j=(o,u)=>{var i=r.o(e,o)?e[o]:void 0;if(0!==i)if(i)u.push(i[2]);else if("runtime"!=o){var a=new Promise((f,s)=>i=e[o]=[f,s]);u.push(i[2]=a);var c=r.p+r.u(o),d=new Error;r.l(c,f=>{if(r.o(e,o)&&(0!==(i=e[o])&&(e[o]=void 0),i)){var s=f&&("load"===f.type?"missing":f.type),p=f&&f.target&&f.target.src;d.message="Loading chunk "+o+" failed.\n("+s+": "+p+")",d.name="ChunkLoadError",d.type=s,d.request=p,i[1](d)}},"chunk-"+o,o)}else e[o]=0},r.O.j=o=>0===e[o];var n=(o,u)=>{var d,l,[i,a,c]=u,f=0;if(i.some(p=>0!==e[p])){for(d in a)r.o(a,d)&&(r.m[d]=a[d]);if(c)var s=c(r)}for(o&&o(u);f<i.length;f++)l=i[f],r.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return r.O(s)},t=self.webpackChunkRTLApp=self.webpackChunkRTLApp||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})()})();
//# sourceMappingURL=runtime.dca3548a9e65823d.js.map

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

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

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

@ -1,10 +1,10 @@
div.bordered-box.table-actions-select.btn-action {
min-width: 13rem;
width: 13rem;
min-width: 9rem;
width: 9rem;
min-height: 2.3rem;
}
button.mat-stroked-button.btn-action-copy {
min-width: 13rem;
width: 13rem;
min-width: 9rem;
width: 9rem;
}

@ -1,5 +1,5 @@
<div *ngIf="errorMessage?.trim() === ''; else errorBlock" fxLayout="column" fxLayoutAlign="space-between stretch"fxFlex="100">
<div fxLayout="column" fxFlex="9" fxLayoutAlign="end start">
<div fxLayout="column" fxFlex="8" fxLayoutAlign="end start">
<span class="dashboard-capacity-header this-channel-capacity">Total Capacity</span>
<div fxLayout="row" fxLayoutAlign="space-between start" class="w-100">
<mat-hint fxFlex="40" fxLayoutAlign="start center" class="font-size-90"><strong class="font-weight-900 mr-5px">Local:</strong>{{channelBalances?.localBalance || 0 | number:'1.0-0'}} Sats</mat-hint>

@ -1,5 +1,5 @@
<div *ngIf="errorMessage?.trim() === ''; else errorBlock" fxLayout="column" fxLayoutAlign="space-between stretch" fxFlex="100" [ngClass]="{'mb-4': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mb-2': screenSize === screenSizeEnum.MD, 'mb-1': screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}">
<div fxLayout="column" fxFlex="9" fxLayoutAlign="end start">
<div fxLayout="column" fxFlex="8" fxLayoutAlign="end start">
<span class="dashboard-capacity-header this-channel-capacity">Total Capacity</span>
<mat-hint class="font-size-90">{{totalLiquidity | number:'1.0-0'}} Sats</mat-hint>
<mat-progress-bar class="dashboard-progress-bar this-channel-bar" mode="determinate" color="accent" value="100"></mat-progress-bar>

@ -90,7 +90,7 @@
<rtl-cln-channel-liquidity-info *ngSwitchCase="'inboundLiq'" fxFlex="100" [direction]="'In'" [totalLiquidity]="totalInboundLiquidity" [activeChannels]="allInboundChannels" [errorMessage]="errorMessages[4]"></rtl-cln-channel-liquidity-info>
<rtl-cln-channel-liquidity-info *ngSwitchCase="'outboundLiq'" fxFlex="100" [direction]="'Out'" [totalLiquidity]="totalOutboundLiquidity" [activeChannels]="allOutboundChannels" [errorMessage]="errorMessages[4]"></rtl-cln-channel-liquidity-info>
<span *ngSwitchCase="'transactions'" fxLayout="row" fxFlex="100" fxLayoutAlign="space-between start">
<mat-tab-group mat-stretch-tabs="false" mat-align-tabs="start" fxLayout="column" class="dashboard-tabs-group" [disablePagination]="true">
<mat-tab-group mat-stretch-tabs="false" mat-align-tabs="start" fxLayout="column" class="dashboard-tabs-group">
<mat-tab label="Receive"><rtl-cln-lightning-invoices-table class="h-100" [calledFrom]="'home'"></rtl-cln-lightning-invoices-table></mat-tab>
<mat-tab label="Pay"><rtl-cln-lightning-payments [calledFrom]="'home'"></rtl-cln-lightning-payments></mat-tab>
</mat-tab-group>

@ -43,7 +43,7 @@
</mat-form-field>
</div>
<div fxFlex="48" fxLayout="row" fxLayoutAlign="start center">
<mat-checkbox fxFlex="7" tabindex="5" color="primary" name="flgMinConf" fxLayoutAlign="stretch start" class="mb-2" [ngClass]="{'mr-6': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mr-2': screenSize === screenSizeEnum.MD || screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}" [(ngModel)]="flgMinConf" (change)="flgMinConf ? selFeeRate=null : minConfValue=null"></mat-checkbox>
<mat-checkbox fxFlex="7" tabindex="5" color="primary" name="flgMinConf" fxLayoutAlign="stretch start" [ngClass]="{'mr-6': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mr-2': screenSize === screenSizeEnum.MD || screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}" [(ngModel)]="flgMinConf" (change)="flgMinConf ? selFeeRate=null : minConfValue=null"></mat-checkbox>
<mat-form-field fxLayout="column" fxFlex="93">
<mat-label>Min Confirmation Blocks</mat-label>
<input #blocks="ngModel" matInput type="number" name="blocks" tabindex="8" [step]="1" [min]="0" [required]="flgMinConf" [disabled]="!flgMinConf" [(ngModel)]="minConfValue">
@ -67,7 +67,7 @@
<mat-option *ngFor="let utxo of utxos" [value]="utxo">{{utxo.value | number}} Sats</mat-option>
</mat-select>
</mat-form-field>
<div fxFlex="60" fxLayout="row" fxLayoutAlign="start center" class="mb-2">
<div fxFlex="60" fxLayout="row" fxLayoutAlign="start center">
<mat-slide-toggle tabindex="9" color="primary" name="flgUseAllBalance" [disabled]="selUTXOs.length < 1" [(ngModel)]="flgUseAllBalance" (change)="onUTXOAllBalanceChange()">
Use selected UTXOs balance
</mat-slide-toggle>
@ -136,7 +136,7 @@
</mat-form-field>
</div>
<div fxFlex="48" fxLayout="row" fxLayoutAlign="start center">
<mat-checkbox fxFlex="7" tabindex="5" color="primary" formControlName="flgMinConf" fxLayoutAlign="stretch start" class="mb-2" [ngClass]="{'mr-6': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mr-2': screenSize === screenSizeEnum.MD || screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}"></mat-checkbox>
<mat-checkbox fxFlex="7" tabindex="5" color="primary" formControlName="flgMinConf" fxLayoutAlign="stretch start" [ngClass]="{'mr-6': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mr-2': screenSize === screenSizeEnum.MD || screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}"></mat-checkbox>
<mat-form-field fxLayout="column" fxFlex="93">
<mat-label>Min Confirmation Blocks</mat-label>
<input matInput formControlName="minConfValue" type="number" name="blocks" tabindex="8" [step]="1" [min]="0" [required]="sendFundFormGroup.controls.flgMinConf.value">

@ -20,7 +20,7 @@
<div fxLayout="row" fxFlex="100" fxLayoutAlign="start center">
<p *ngIf="verifyRes.verified">Pubkey Used</p>
</div>
<div *ngIf="verifyRes.verified" fxLayout="column" fxFlex="100" fxLayoutAlign="start start" class="bordered-box read-only h-4 padding-gap">
<div *ngIf="verifyRes.verified" fxLayout="column" fxFlex="100" fxLayoutAlign="start start" class="bordered-box read-only padding-gap">
<p>{{verifyRes?.pubkey}}</p>
</div>
<div *ngIf="verifyRes.verified" fxLayout="row" class="mt-2">

@ -30,7 +30,7 @@
</mat-select>
</mat-form-field>
</div>
<div fxFlex="50" fxLayoutAlign="start center" class="mt-2">
<div fxFlex="50" fxLayoutAlign="start center" class="ml-2">
<mat-slide-toggle tabindex="6" color="primary" name="private" [(ngModel)]="private">Private Routing Hints</mat-slide-toggle>
<mat-icon matTooltip="Include routing hints for private channels" matTooltipPosition="above" class="info-icon">info_outline</mat-icon>
</div>

@ -1,11 +1,11 @@
div.bordered-box.table-actions-select.btn-action {
min-width: 13rem;
width: 13rem;
min-height: 3.6rem;
min-width: 9rem;
width: 9rem;
min-height: 2.3rem;
}
button.mat-stroked-button.btn-action-copy {
min-width: 13rem;
width: 13rem;
min-width: 9rem;
width: 9rem;
}

@ -1,4 +1,4 @@
<div fxLayout="column" fxFlex="100">
<div fxLayout="column">
<form #queryRoutesForm="ngForm" fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-sm="row wrap" (ngSubmit)="queryRoutesForm.form.valid && onQueryRoutes()">
<div fxFlex="100" class="alert alert-warn">
<fa-icon class="mr-1 alert-icon" [icon]="faExclamationTriangle"></fa-icon>
@ -19,8 +19,8 @@
<button mat-flat-button color="primary" type="submit" tabindex="4">Query Route</button>
</div>
</form>
<div fxLayout="row" fxLayoutAlign="start center" class="page-sub-title-container mt-2 mb-1">
<div fxFlex="70">
<div fxLayout="column" fxLayoutAlign="start stretch" fxLayout.gt-sm="row wrap" class="page-sub-title-container mt-3 mb-1">
<div fxFlex="70" fxLayoutAlign="start center">
<fa-icon class="page-title-img mr-1" [icon]="faRoute"></fa-icon>
<span class="page-title">Transaction Route</span>
</div>

@ -1,5 +1,5 @@
<div *ngIf="errorMessage?.trim() === ''; else errorBlock" fxLayout="column" fxLayoutAlign="space-between stretch"fxFlex="100">
<div fxLayout="column" fxFlex="9" fxLayoutAlign="end start">
<div fxLayout="column" fxFlex="8" fxLayoutAlign="end start">
<span class="dashboard-capacity-header this-channel-capacity">Total Capacity</span>
<div fxLayout="row" fxLayoutAlign="space-between start" class="w-100">
<mat-hint fxFlex="40" fxLayoutAlign="start center" class="font-size-90"><strong class="font-weight-900 mr-5px">Local:</strong>{{channelBalances?.localBalance || 0 | number:'1.0-0'}} Sats</mat-hint>

@ -1,5 +1,5 @@
<div *ngIf="errorMessage?.trim() === ''; else errorBlock" fxLayout="column" fxLayoutAlign="space-between stretch" fxFlex="100" [ngClass]="{'mb-4': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mb-2': screenSize === screenSizeEnum.MD, 'mb-1': screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}">
<div fxLayout="column" fxFlex="9" fxLayoutAlign="end start">
<div fxLayout="column" fxFlex="8" fxLayoutAlign="end start">
<span class="dashboard-capacity-header this-channel-capacity">Total Capacity</span>
<mat-hint class="font-size-90">{{totalLiquidity | number:'1.0-0'}} Sats</mat-hint>
<mat-progress-bar class="dashboard-progress-bar this-channel-bar" mode="determinate" color="accent" value="100"></mat-progress-bar>

@ -90,25 +90,23 @@
<rtl-ecl-balances-info *ngSwitchCase="'balance'" fxFlex="100" [balances]="balances" [errorMessage]="errorMessages[2] + ' ' + errorMessages[3]"></rtl-ecl-balances-info>
<rtl-ecl-channel-liquidity-info *ngSwitchCase="'inboundLiq'" fxFlex="100" [direction]="'In'" [totalLiquidity]="totalInboundLiquidity" [allChannels]="allInboundChannels" [errorMessage]="errorMessages[2]"></rtl-ecl-channel-liquidity-info>
<rtl-ecl-channel-liquidity-info *ngSwitchCase="'outboundLiq'" fxFlex="100" [direction]="'Out'" [totalLiquidity]="totalOutboundLiquidity" [allChannels]="allOutboundChannels" [errorMessage]="errorMessages[2]"></rtl-ecl-channel-liquidity-info>
<span *ngSwitchCase="'transactions'" fxLayout="column" fxFlex="100" fxLayoutAlign="space-between start">
<mat-tab-group mat-stretch-tabs="false" mat-align-tabs="start" fxLayout="column" class="w-100 dashboard-tabs-group">
<span *ngSwitchCase="'transactions'" fxLayout="row" fxFlex="100" fxLayoutAlign="space-between start">
<mat-tab-group mat-stretch-tabs="false" mat-align-tabs="start" fxLayout="column" class="dashboard-tabs-group">
<mat-tab label="Receive">
<rtl-ecl-lightning-invoices class="h-100" [calledFrom]="'home'"></rtl-ecl-lightning-invoices>
</mat-tab>
<mat-tab label="Pay">
<rtl-ecl-lightning-payments [calledFrom]="'home'"></rtl-ecl-lightning-payments>
</mat-tab>
<mat-tab [disabled]="true">
<ng-template mat-tab-label>
<button mat-icon-button class="more-button" aria-label="Toggle menu" [matMenuTriggerFor]="menuTransactions">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menuTransactions="matMenu" class="dashboard-vert-menu" xPosition="before">
<button *ngFor="let goToOption of card.goToOptions; index as i" mat-menu-item (click)="onNavigateTo(card.links[i])">{{goToOption}}</button>
</mat-menu>
</ng-template>
</mat-tab>
</mat-tab-group>
<div class="underline">
<button mat-icon-button class="more-button" aria-label="Toggle menu" [matMenuTriggerFor]="menuTransactions">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menuTransactions="matMenu" class="dashboard-vert-menu" xPosition="before">
<button *ngFor="let goToOption of card.goToOptions; index as i" mat-menu-item (click)="onNavigateTo(card.links[i])">{{goToOption}}</button>
</mat-menu>
</div>
</span>
<h3 *ngSwitchDefault>Error! Unable to find information!</h3>
</div>

@ -20,7 +20,7 @@
<div *ngFor="let link of links" mat-tab-link class="mat-tab-label" [active]="activeLink === link.link" routerLink="{{link.link}}" (click)="activeLink = link.link">{{link.name}}</div>
</nav>
<mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="padding-gap-x-large mt-2">
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="padding-gap-x-large">
<router-outlet></router-outlet>
</div>
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="padding-gap-x-large">

@ -1,6 +1,6 @@
<div fxLayout="column" fxFlex="colWidth" fxLayoutAlign="space-between stretch">
<form *ngIf="calledFrom === 'home'" #sendPaymentForm="ngForm" fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-sm="row wrap">
<mat-form-field fxLayout="column" fxFlex="colWidth">
<mat-form-field fxLayout="column" fxFlex="100">
<mat-label>Payment Request</mat-label>
<textarea #paymentReq="ngModel" matInput name="paymentRequest" tabindex="1" required [perfectScrollbar] [ngModel]="paymentRequest" (ngModelChange)="onPaymentRequestEntry($event)" (matTextareaAutosize)="true"></textarea>
<mat-hint *ngIf="paymentRequest && paymentDecodedHint !== ''">{{paymentDecodedHint}}</mat-hint>

@ -1,10 +1,10 @@
div.bordered-box.table-actions-select.btn-action {
min-width: 13rem;
width: 13rem;
min-height: 3.6rem;
min-width: 9rem;
width: 9rem;
min-height: 2.3rem;
}
button.mat-stroked-button.btn-action-copy {
min-width: 13rem;
width: 13rem;
min-width: 9rem;
width: 9rem;
}

@ -1,5 +1,5 @@
<div *ngIf="errorMessage?.trim() === ''; else errorBlock" fxLayout="column" fxLayoutAlign="space-between stretch"fxFlex="100">
<div fxLayout="column" fxFlex="9" fxLayoutAlign="end start">
<div fxLayout="column" fxFlex="8" fxLayoutAlign="end start">
<span class="dashboard-capacity-header this-channel-capacity">Total Capacity</span>
<div fxLayout="row" fxLayoutAlign="space-between start" class="w-100">
<mat-hint fxFlex="40" fxLayoutAlign="start center" class="font-size-90"><strong class="font-weight-900 mr-5px">Local:</strong>{{channelBalances?.localBalance || 0 | number}} Sats</mat-hint>

@ -1,5 +1,5 @@
<div *ngIf="errorMessage?.trim() === ''; else errorBlock" fxLayout="column" fxLayoutAlign="start stretch" fxFlex="100" [ngClass]="{'mb-4': screenSize === screenSizeEnum.XS || screenSize === screenSizeEnum.SM, 'mb-2': screenSize === screenSizeEnum.MD, 'mb-1': screenSize === screenSizeEnum.LG || screenSize === screenSizeEnum.XL}">
<div fxLayout="column" fxFlex="9" fxLayoutAlign="end start">
<div fxLayout="column" fxFlex="8" fxLayoutAlign="end start">
<span class="dashboard-capacity-header this-channel-capacity">Total Capacity</span>
<mat-hint class="font-size-90">{{totalLiquidity | number}} Sats</mat-hint>
<mat-progress-bar class="dashboard-progress-bar this-channel-bar" mode="determinate" color="accent" value="100"></mat-progress-bar>
@ -13,8 +13,8 @@
<div fxLayout="row" fxFlex="100" fxLayoutAlign="space-between start">
<mat-hint *ngIf="direction === 'In'" class="font-size-90 color-primary"><strong class="font-weight-900 mr-5px">Capacity: </strong>{{channel.remote_balance || 0 | number}} Sats</mat-hint>
<div *ngIf="direction === 'Out'" fxLayout="row" fxFlex="100" fxLayoutAlign="start center">
<mat-hint fxFlex="85" fxLayoutAlign="start start" class="font-size-90 color-primary"><strong class="font-weight-900 mr-5px">Capacity: </strong>{{channel.local_balance || 0 | number}} Sats</mat-hint>
<button *ngIf="showLoop" fxFlex="15" fxLayoutAlign="end start" class="button-link-dashboard" color="primary" mat-button aria-label="Loop Out" (click)="onLoopOut(channel)">Loop Out</button>
<mat-hint fxFlex="80" fxLayoutAlign="start start" class="font-size-90 color-primary"><strong class="font-weight-900 mr-5px">Capacity: </strong>{{channel.local_balance || 0 | number}} Sats</mat-hint>
<button *ngIf="showLoop" fxFlex="20" fxLayoutAlign="end center" class="button-link-dashboard" color="primary" mat-button aria-label="Loop Out" (click)="onLoopOut(channel)">Loop Out</button>
</div>
</div>
<mat-progress-bar *ngIf="direction === 'In'" class="dashboard-progress-bar" mode="determinate" value="{{(totalLiquidity > 0) ? ((+channel.remote_balance || 0)/(totalLiquidity) * 100) : 0}}"></mat-progress-bar>

@ -89,21 +89,19 @@
<rtl-balances-info *ngSwitchCase="'balance'" fxFlex="100" [balances]="balances" [errorMessage]="errorMessages[3] + ' ' + errorMessages[2]"></rtl-balances-info>
<rtl-channel-liquidity-info *ngSwitchCase="'inboundLiq'" fxFlex="100" [direction]="'In'" [totalLiquidity]="totalInboundLiquidity" [allChannels]="allInboundChannels" [errorMessage]="errorMessages[3]"></rtl-channel-liquidity-info>
<rtl-channel-liquidity-info *ngSwitchCase="'outboundLiq'" fxFlex="100" [direction]="'Out'" [totalLiquidity]="totalOutboundLiquidity" [allChannels]="allOutboundChannels" [errorMessage]="errorMessages[3]"></rtl-channel-liquidity-info>
<span *ngSwitchCase="'transactions'" fxLayout="column" fxFlex="100" fxLayoutAlign="start start" [perfectScrollbar]>
<mat-tab-group mat-stretch-tabs="false" mat-align-tabs="start" fxLayout="column" fxFlex="100" class="w-100 dashboard-tabs-group">
<span *ngSwitchCase="'transactions'" fxLayout="row" fxFlex="100" fxLayoutAlign="space-between start">
<mat-tab-group mat-stretch-tabs="false" mat-align-tabs="start" fxLayout="column" class="dashboard-tabs-group">
<mat-tab label="Receive"><rtl-lightning-invoices [calledFrom]="'home'"></rtl-lightning-invoices></mat-tab>
<mat-tab label="Pay"><rtl-lightning-payments [calledFrom]="'home'"></rtl-lightning-payments></mat-tab>
<mat-tab [disabled]="true">
<ng-template mat-tab-label>
<button mat-icon-button class="more-button" aria-label="Toggle menu" [matMenuTriggerFor]="menuTransactions">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menuTransactions="matMenu" class="dashboard-vert-menu" xPosition="before">
<button *ngFor="let goToOption of card.goToOptions; index as i" mat-menu-item (click)="onNavigateTo(card.links[i])">{{goToOption}}</button>
</mat-menu>
</ng-template>
</mat-tab>
</mat-tab-group>
<div class="underline">
<button mat-icon-button class="more-button" aria-label="Toggle menu" [matMenuTriggerFor]="menuTransactions">
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menuTransactions="matMenu" class="dashboard-vert-menu" xPosition="before">
<button *ngFor="let goToOption of card.goToOptions; index as i" mat-menu-item (click)="onNavigateTo(card.links[i])">{{goToOption}}</button>
</mat-menu>
</div>
</span>
<h3 *ngSwitchDefault>Error! Unable to find information!</h3>
</div>

@ -1,4 +1,4 @@
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch">
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between stretch" class="mt-2">
<div>
<h4 class="dashboard-info-title">Alias</h4>
<div class="overflow-wrap dashboard-info-value">

@ -10,7 +10,7 @@
</div>
<div fxLayout="column" fxLayoutAlign="stretch center" fxLayout.gt-sm="row" fxLayoutAlign.gt-sm="center stretch" class="w-100 h-93">
<mat-card fxLayout="row" fxFlex="95" fxLayoutAlign="start stretch" class="dashboard-card w-96 h-93">
<mat-card-content fxLayout="column" fxFlex="100"
<mat-card-content fxLayout="column" fxFlex="100" class="mt-2"
[ngClass]="{'dashboard-card-content': true,
'error-border': (card.id === 'node' && apiCallStatusNodeInfo.status === apiCallStatusEnum.ERROR) ||
(card.id === 'status' && (apiCallStatusChannels.status === apiCallStatusEnum.ERROR || apiCallStatusPendingChannels.status === apiCallStatusEnum.ERROR)) ||
@ -56,7 +56,7 @@
</div>
</ng-template>
<ng-template #generalBlock>
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between">
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between" class="mt-2">
<div>
<h4 class="dashboard-info-title">Network Capacity</h4>
<div class="overflow-wrap dashboard-info-value">{{networkInfo.total_network_capacity | number}} Sats</div>
@ -72,7 +72,7 @@
</div>
</ng-template>
<ng-template #channelsBlock>
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between">
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between" class="mt-2">
<div>
<h4 class="dashboard-info-title">Max Channel Size</h4>
<div class="overflow-wrap dashboard-info-value">{{networkInfo.max_channel_size | number}}</div>
@ -88,7 +88,7 @@
</div>
</ng-template>
<ng-template #degreesBlock>
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between">
<div fxLayout="column" fxFlex="100" fxLayoutAlign="space-between" class="mt-2">
<div>
<h4 class="dashboard-info-title">Max Out Degree</h4>
<div class="overflow-wrap dashboard-info-value">{{networkInfo.max_out_degree | number}}</div>

@ -114,7 +114,7 @@
<div class="bordered-box table-actions-select" fxLayoutAlign="center center">Actions</div>
</th>
<td *matCellDef="let nonRPeer" mat-cell fxLayoutAlign="end center">
<button mat-stroked-button color="primary" type="button" tabindex="4" (click)="onManagePeer(nonRPeer)">Manage</button>
<button mat-stroked-button color="primary" type="button" tabindex="4" class="table-actions-button" (click)="onManagePeer(nonRPeer)">Manage</button>
</td>
</ng-container>
<ng-container matColumnDef="no_non_routing_event">

@ -20,7 +20,7 @@
<div fxLayout="row" fxFlex="100" fxLayoutAlign="start center">
<p *ngIf="verifyRes.valid">Pubkey Used</p>
</div>
<div *ngIf="verifyRes.valid" fxLayout="column" fxFlex="100" fxLayoutAlign="start start" class="bordered-box read-only h-4 padding-gap">
<div *ngIf="verifyRes.valid" fxLayout="column" fxFlex="100" fxLayoutAlign="start start" class="bordered-box read-only padding-gap">
<p>{{verifyRes?.pubkey}}</p>
</div>
<div *ngIf="verifyRes.valid" fxLayout="row" class="mt-2">

@ -28,12 +28,12 @@
<mat-option *ngFor="let timeUnit of timeUnits" [value]="timeUnit">{{timeUnit | titlecase}}</mat-option>
</mat-select>
</mat-form-field>
<div fxLayout="row" fxFlex="100" class="mt-1" fxLayoutAlign="start center">
<div fxFlex="49">
<div fxLayout="row" fxFlex="100" fxLayoutAlign="start center" class="ml-2">
<div fxFlex="49" fxLayoutAlign="start start">
<mat-slide-toggle tabindex="4" color="primary" name="private" [(ngModel)]="private">Private Routing Hints</mat-slide-toggle>
<mat-icon matTooltip="Include routing hints for private channels" matTooltipPosition="above" class="info-icon">info_outline</mat-icon>
</div>
<div fxFlex="49">
<div fxFlex="49" fxLayoutAlign="start start">
<mat-slide-toggle tabindex="5" color="primary" name="amp" [(ngModel)]="isAmp">AMP Invoice</mat-slide-toggle>
<mat-icon matTooltip="Atomic multipath payment invoice" matTooltipPosition="above" class="info-icon">info_outline</mat-icon>
</div>
@ -42,7 +42,7 @@
<fa-icon class="mr-1 alert-icon" [icon]="faExclamationTriangle"></fa-icon>
<span *ngIf="invoiceError !== ''">{{invoiceError}}</span>
</div>
<div fxLayout="row" fxFlex="100" class="mt-1" fxLayoutAlign="end center">
<div fxLayout="row" fxFlex="100" fxLayoutAlign="end center">
<button class="mr-1" mat-button color="primary" tabindex="6" type="reset" (click)="resetData()">Clear Field</button>
<button mat-button color="primary" tabindex="7" (click)="onAddInvoice(addInvoiceForm)">Create Invoice</button>
</div>

@ -1,3 +1,4 @@
import { Buffer } from 'buffer';
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil, filter } from 'rxjs/operators';

@ -28,7 +28,7 @@
</mat-panel-title>
</mat-expansion-panel-header>
<div fxFlex="100" fxLayout="column" fxLayoutAlign="space-between stretch" fxLayout.gt-sm="row wrap">
<mat-form-field fxLayout="column" fxFlex="30" fxLayoutAlign="start end">
<mat-form-field fxLayout="column" fxFlex="27" fxLayoutAlign="start end">
<mat-label>Fee Limits</mat-label>
<mat-select tabindex="5" [(value)]="selFeeLimitType">
<mat-option *ngFor="let feeLimitType of feeLimitTypes" [value]="feeLimitType">
@ -36,12 +36,12 @@
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field fxLayout="column" fxFlex="26">
<mat-form-field fxLayout="column" fxFlex="33">
<mat-label>{{selFeeLimitType?.placeholder}}</mat-label>
<input #fLmt="ngModel" matInput type="number" name="feeLmt" required tabindex="6" [step]="1" [min]="0" [disabled]="selFeeLimitType === feeLimitTypes[0]" [(ngModel)]="feeLimit">
<mat-error *ngIf="selFeeLimitType !== feeLimitTypes[0] && !feeLimit">{{selFeeLimitType?.placeholder}} is required.</mat-error>
</mat-form-field>
<mat-form-field fxLayout="column" fxFlex="40" fxLayoutAlign="start end">
<mat-form-field fxLayout="column" fxFlex="37" fxLayoutAlign="start end">
<mat-label>First Outgoing Channel</mat-label>
<input type="text" aria-label="First Outgoing Channel" matInput tabindex="7" [formControl]="selectedChannelCtrl" [matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn" (optionSelected)="onSelectedChannelChanged()">

@ -14,7 +14,6 @@
<ng-template #controlsPanel let-item='animationDirection'>
<div fxLayout="row" fxLayoutAlign="center center" fxFlex="58" [@sliderAnimation]="animationDirection">
<div fxFlex="50" fxLayoutAlign="center center" fxLayoutAlign.gt-xs="end center" class="font-bold-700">
<mat-label>Range</mat-label>
<mat-select fxFlex="60" fxFlex.gt-md="30" name="selScrlRange" tabindex="3" class="font-bold-700" [(ngModel)]="selScrollRange" (selectionChange)="onRangeChanged($event)">
<mat-option *ngFor="let scrollRange of scrollRanges" [value]="scrollRange">
{{scrollRange | titlecase}}

@ -31,7 +31,7 @@
<span>Fiat conversion calls <strong><a href="https://www.blockchain.com/api/exchange_rates_api" target="blank">Blockchain.com</a></strong> API to get conversion rates.</span>
</div>
<div fxLayout="row wrap" fxLayoutAlign="start center">
<mat-slide-toggle tabindex="2" color="primary" name="fiatConversion" [(ngModel)]="selNode.settings.fiatConversion" (change)="selNode.settings.currencyUnit = !$event.checked ? null : selNode.settings.currencyUnit">Enable Fiat Conversion</mat-slide-toggle>
<mat-slide-toggle tabindex="2" color="primary" name="fiatConversion" class="mr-2" [(ngModel)]="selNode.settings.fiatConversion" (change)="selNode.settings.currencyUnit = !$event.checked ? null : selNode.settings.currencyUnit">Enable Fiat Conversion</mat-slide-toggle>
<mat-form-field>
<mat-label>Fiat Currency</mat-label>
<mat-select #currencyUnit="ngModel" autoFocus tabindex="3" name="currencyUnit" [disabled]="!selNode.settings.fiatConversion" [required]="selNode.settings.fiatConversion" [(ngModel)]="selNode.settings.currencyUnit" (selectionChange)="onCurrencyChange($event)">

@ -1,9 +1,6 @@
@import '../../../theme/styles/constants.scss';
.table-setting-row {
&:last-child {
margin-bottom: 3rem;
}
&:not(:first-child) {
margin: ($gap) 0;
}

@ -1,11 +1,11 @@
<div fxLayout="column" fxFlex="100" [perfectScrollbar]>
<div fxFlex="100" class="alert alert-info mt-1">
<div class="alert alert-info mt-1">
<fa-icon class="mr-1 alert-icon" [icon]="faInfoCircle"></fa-icon>
<span>Please ensure that <strong>boltzd</strong> is running and accessible to RTL before enabling this service. Click <strong><a href="https://lnd.docs.boltz.exchange/en/latest/" target="_blank">here</a></strong> to learn more about the installation.</span>
</div>
<form #form="ngForm" fxLayout="column" fxFlex="100" fxLayoutAlign="start stretch" class="settings-container page-sub-title-container mt-1">
<div fxLayout="column" fxFlex="50" fxLayoutAlign="start stretch">
<mat-slide-toggle autoFocus class="mb-1" tabindex="1" color="primary" name="boltz" [(ngModel)]="enableBoltz" (change)="onEnableServiceChanged($event)">Enable Boltz Service</mat-slide-toggle>
<mat-slide-toggle autoFocus class="ml-2" tabindex="1" color="primary" name="boltz" [(ngModel)]="enableBoltz" (change)="onEnableServiceChanged($event)">Enable Boltz Service</mat-slide-toggle>
<mat-form-field class="mb-2">
<mat-label>Boltz Server URL</mat-label>
<input #srvrUrl="ngModel" matInput type="text" id="boltzServerUrl" name="srvrUrl" tabindex="2" [required]="enableBoltz" [disabled]="!enableBoltz" [(ngModel)]="serverUrl">

@ -1,11 +1,11 @@
<div fxLayout="column" fxFlex="100" [perfectScrollbar]>
<div fxFlex="100" class="alert alert-info mt-1">
<div class="alert alert-info mt-1">
<fa-icon class="mr-1 alert-icon" [icon]="faInfoCircle"></fa-icon>
<span>Please ensure that <strong>loopd</strong> is running and accessible to RTL before enabling this service. Click <strong><a href="https://github.com/lightninglabs/loop" target="_blank">here</a></strong> to learn more about the installation.</span>
</div>
<form #form="ngForm" fxLayout="column" fxFlex="100" fxLayoutAlign="start stretch" class="settings-container page-sub-title-container mt-1">
<div fxLayout="column" fxFlex="50" fxLayoutAlign="start stretch">
<mat-slide-toggle autoFocus class="mb-1" tabindex="1" color="primary" name="loop" [(ngModel)]="enableLoop" (change)="onEnableServiceChanged($event)">Enable Loop Service</mat-slide-toggle>
<mat-slide-toggle autoFocus class="ml-2" tabindex="1" color="primary" name="loop" [(ngModel)]="enableLoop" (change)="onEnableServiceChanged($event)">Enable Loop Service</mat-slide-toggle>
<mat-form-field class="mb-2">
<mat-label>Loop Server URL</mat-label>
<input #srvrUrl="ngModel" matInput type="text" id="swapServerUrl" name="srvrUrl" tabindex="2" [required]="enableLoop" [disabled]="!enableLoop" [(ngModel)]="selNode.settings.swapServerUrl">

@ -1,11 +1,11 @@
<div fxLayout="column" fxFlex="100" [perfectScrollbar]>
<div fxFlex="100" class="alert alert-info mt-1">
<div class="alert alert-info mt-1">
<fa-icon class="mr-1 alert-icon" [icon]="faInfoCircle"></fa-icon>
<span>Please ensure that <strong>peerswapd</strong> is running and accessible to RTL before enabling this service. Click <strong><a href="https://github.com/ElementsProject/peerswap" target="_blank">here</a></strong> to learn more about Core Lightning peerswap.</span>
</div>
<form #form="ngForm" fxLayout="column" fxFlex="100" fxLayoutAlign="start stretch" class="settings-container page-sub-title-container mt-1">
<div fxLayout="column" fxFlex="50" fxLayoutAlign="start stretch">
<mat-slide-toggle autoFocus class="mb-1" tabindex="1" color="primary" name="peerswap" [(ngModel)]="enablePeerswap">Enable Peerswap Service</mat-slide-toggle>
<mat-slide-toggle autoFocus class="ml-2" tabindex="1" color="primary" name="peerswap" [(ngModel)]="enablePeerswap">Enable Peerswap Service</mat-slide-toggle>
</div>
</form>
<div fxLayout="row" class="mt-2">

@ -169,6 +169,9 @@
.cc-data-block {
& .cc-data-title {
& .material-icons.mat-icon.mat-mdc-tooltip-trigger {
min-height: unset;
}
font-weight: 500;
min-width: 180px;
@include for_screensize(phone) {
@ -185,14 +188,17 @@
border-bottom-style: solid;
border-bottom-color: $foreground-divider;
}
.mat-mdc-option:hover:not(.mdc-list-item--disabled), .mat-mdc-option:focus:not(.mdc-list-item--disabled), .mat-mdc-option.mat-mdc-option-active, .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled),
.mat-mdc-menu-item:hover:not([disabled]), .mat-mdc-menu-item.cdk-program-focused:not([disabled]), .mat-mdc-menu-item.cdk-keyboard-focused:not([disabled]), .mat-mdc-menu-item-highlighted:not([disabled]) {
color: $primary-color;
& .mdc-list-item__primary-text, & .fa-icon, & .fa-icon-small {
color: $primary-color;
}
}
table.mat-mdc-table {
border: 1px solid $foreground-divider;
border-radius: 2px;
background: none;
& thead tr th {
color: $foreground-base;
}
& thead tr th:not(:first-of-type), tbody tr td:not(:first-of-type) {
padding-left: ($gap*1.25);
}
@ -399,7 +405,6 @@
}
& .dashboard-capacity-header {
font-weight: 700;
color: $foreground-base;
}
& .mat-icon-button.more-button {
width: ($gap*2.5);
@ -463,16 +468,6 @@
}
}
}
.help-expansion {
& .mat-expansion-panel-header, & .mat-expansion-panel-header-title {
font-weight: 500;
color: $foreground-base;
}
& .mat-expansion-indicator::after, & .mat-expansion-panel-content, & .mat-expansion-panel-header-description {
color: $foreground-base;
}
}
.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,
.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon {
width: ($gap*2);

@ -99,6 +99,15 @@
cursor: pointer;
fill: $primary-darker;
}
.help-expansion {
& .mat-expansion-panel-header, & .mat-expansion-panel-header-title {
font-weight: 500;
color: $foreground-base;
}
& .mat-expansion-indicator::after, & .mat-expansion-panel-content, & .mat-expansion-panel-header-description {
color: $foreground-base;
}
}
.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
color: $primary-darker;
}
@ -217,6 +226,11 @@
.spinner-container h2 {
color: $primary-color;
}
table.mat-mdc-table {
& thead tr th {
color: $foreground-base;
}
}
svg {
& .boltz-icon { stroke:#FFFFFF; stroke-width:4; }
& .boltz-icon-fill { fill: #FFFFFF; }

@ -46,30 +46,61 @@
background-color: $primary-color;
color: white;
}
.rtl-snack-bar {
.mat-mdc-select.multi-node-select .mat-mdc-select-value {
color: $foreground-text;
}
.page-title, .mat-mdc-select-value {
color: $foreground-secondary-text;
}
.mat-expansion-panel-header .mat-expansion-panel-header-title, .mat-expansion-panel-header-title {
color: $foreground-secondary-text;
}
.help-expansion {
& .mat-expansion-panel-header, & .mat-expansion-panel-header-title {
font-weight: 500;
color: $foreground-secondary-text;
}
& .mat-expansion-indicator::after, & .mat-expansion-panel-content, & .mat-expansion-panel-header-description {
color: $foreground-secondary-text;
}
}
.mat-mdc-snack-bar-container.rtl-snack-bar {
max-width: 90vw !important;
font-weight: 600;
background-color: $background-color;
opacity: 0.9 !important;
color: $primary-color;
& .mdc-snackbar__surface,
& .mat-mdc-snack-bar-label.mdc-snackbar__label {
background-color: $background-color;
opacity: 0.9 !important;
border-radius: 4px;
color: $primary-color;
}
}
.rtl-warn-snack-bar {
.mat-mdc-snack-bar-container.rtl-warn-snack-bar {
max-width: 90vw !important;
font-weight: 600;
background-color: $background-color;
opacity: 0.9 !important;
color: $warn-color;
& .mdc-snackbar__surface,
& .mat-mdc-snack-bar-label.mdc-snackbar__label {
background-color: $background-color;
opacity: 0.9 !important;
border-radius: 4px;
color: $warn-color;
}
}
.rtl-accent-snack-bar {
.mat-mdc-snack-bar-container.rtl-accent-snack-bar {
max-width: 90vw !important;
font-weight: 600;
background-color: $background-color;
opacity: 0.9 !important;
color: $accent-color;
& .mdc-snackbar__surface,
& .mat-mdc-snack-bar-label.mdc-snackbar__label {
background-color: $background-color;
opacity: 0.9 !important;
border-radius: 4px;
color: $accent-color;
}
}
button.mdc-button.mat-mdc-button-base.mat-mdc-outlined-button{
border-color: $primary-color;
}
.mat-tree-node:hover, .mat-nested-tree-node-parent:hover, .mat-select-panel .mat-option:hover, .mat-menu-panel .mat-menu-content .mat-menu-item:hover,
.mat-autocomplete-panel .mat-option.mat-active,
.mat-autocomplete-panel .mat-option.mat-selected.mat-active,
@ -84,10 +115,13 @@
fill: $primary-color;
}
}
.spinner-container {
h2 {
color: $primary-color;
}
.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle, .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic {
stroke: $background-color;
}
.spinner-container h2 {
color: $background-color;
}
.mdc-tab__text-label {
@ -119,6 +153,13 @@
.mat-stroked-button.mat-primary:hover .mat-button-focus-overlay {
opacity: 0.06;
}
table.mat-mdc-table {
& thead tr th {
color: $foreground-secondary-text;
}
}
.page-title-container, .page-sub-title-container {
& .page-title-img {
color: $foreground-disabled;
@ -174,7 +215,7 @@
.dashboard-info-title {
color: $primary-color;
}
.dashboard-info-value {
.dashboard-capacity-header, .dashboard-info-value {
color: $foreground-secondary-text;
}
.color-primary {
@ -189,9 +230,6 @@
.mat-expansion-panel.flat-expansion-panel {
border: 1px solid $foreground-divider;
}
.mat-tooltip {
// font-size: 120%;
}
svg {
& .boltz-icon { stroke:$foreground-secondary-text; stroke-width:4; }
& .boltz-icon-fill { fill: $foreground-secondary-text; }
@ -252,6 +290,10 @@
}
}
.mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
color: $primary-color;
}
.mat-slide-toggle.mat-disabled {
opacity: 1;
& .mat-slide-toggle-content {

@ -17,8 +17,9 @@
/** *************************************************************************************************
* APPLICATION IMPORTS
*/
window.global = <any>window;
window.global.Buffer = window.global.Buffer || require('buffer').Buffer;
window.global = window;
// window.global.Buffer = window.global.Buffer || require('buffer').Buffer;
window.Buffer = window.Buffer || require('buffer').Buffer;
/** *************************************************************************************************
* BROWSER POLYFILLS

Loading…
Cancel
Save