From 08a3955e3dae4ad60073df7d6a1bd1ad7e6402c0 Mon Sep 17 00:00:00 2001 From: shocknet-justin Date: Thu, 9 Oct 2025 19:33:08 -0400 Subject: [PATCH] wiz --- src/services/wizard/index.ts | 4 +- static/connect.html | 13 ++- static/img/xLightningPub.png | Bin 3369 -> 0 bytes static/index.html | 154 +++++++++++++++++++++++++++++++++++ static/js/wizard.js | 26 +++++- 5 files changed, 191 insertions(+), 6 deletions(-) delete mode 100644 static/img/xLightningPub.png diff --git a/src/services/wizard/index.ts b/src/services/wizard/index.ts index ad1c991d..f28095c3 100644 --- a/src/services/wizard/index.ts +++ b/src/services/wizard/index.ts @@ -63,11 +63,11 @@ export class Wizard { http_url: this.settings.serviceUrl, lnd_state: lndState, nprofile: this.nprofile, - provider_name: appNamesList, + provider_name: defaultApp?.name || appNamesList, relay_connected: this.adminManager.GetNostrConnected(), relays: this.relays, watchdog_ok: watchdogOk, - source_name: this.settings.defaultAppName || appNamesList, + source_name: defaultApp?.name || this.settings.defaultAppName || appNamesList, relay_url: relayUrl, automate_liquidity: this.settings.liquiditySettings.liquidityProviderPub !== 'null', push_backups_to_nostr: this.settings.pushBackupsToNostr, diff --git a/static/connect.html b/static/connect.html index 2b4eab16..11251b85 100644 --- a/static/connect.html +++ b/static/connect.html @@ -19,7 +19,7 @@
Lightning Pub logo - Lightning Pub logo + Lightning Pub logo
@@ -48,7 +48,7 @@
Click to reveal
-
+
@@ -104,13 +104,20 @@ height: 157, // correctLevel : QRCode.CorrectLevel.H }); - document.getElementById('connectString').innerHTML = connectString + document.getElementById('connectString').innerText = connectString } } try { fetchInfo() } catch (e) { console.log({ e }) } + // Continue to status + const btn = document.createElement('button') + btn.className = 'push-button' + btn.style.marginTop = '20px' + btn.innerText = 'Continue' + btn.onclick = () => { location.href = 'status.html' } + document.querySelector('.setup-content').appendChild(btn) diff --git a/static/img/xLightningPub.png b/static/img/xLightningPub.png deleted file mode 100644 index 1cbc35de1f30c44cda6e5ae49f7effa1500d6d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3369 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 O1B0ilpUXO@geCxruwCf@ diff --git a/static/index.html b/static/index.html index 31144cd4..5daf5121 100644 --- a/static/index.html +++ b/static/index.html @@ -10,6 +10,8 @@ + + Lightning.Pub @@ -171,6 +173,156 @@ + + + +
+ + diff --git a/static/js/wizard.js b/static/js/wizard.js index fdc6f4ae..c52d82b7 100644 --- a/static/js/wizard.js +++ b/static/js/wizard.js @@ -20,6 +20,7 @@ $(() => { // Buttons const toLiquidityBtn = $("#liquidityBtn"); const toBackupBtn = $("#backupBtn"); + const toStatusBtn = $("#to-status"); const finishBtn = $("#next-button"); const backToNodeBtn = $("#back-to-node"); const backToLiquidityBtn = $("#back-to-liquidity"); @@ -95,12 +96,35 @@ $(() => { const j = await res.json(); throw new Error(j.reason || "Failed to start service"); } - location.href = 'connect.html'; + // Move to in-page connect step + showPage(pages.connect || $('#page-connect')); + // fetch and render connect info (re-using logic from connect.html) + (async () => { + const res = await fetch('/wizard/admin_connect_info'); + if (res.status !== 200) return; + const j = await res.json(); + if (j.connect_info && j.connect_info.enrolled_npub) { + showPage(pages.status || $('#page-status')) + return + } + const connectString = j.nprofile + ':' + j.connect_info.admin_token + const qrElement = document.getElementById('qrcode') + if (qrElement && !qrElement.firstChild) { + new QRCode(qrElement, { text: connectString, colorDark: '#000000', colorLight: '#ffffff', width: 157, height: 157 }); + } + const cs = document.getElementById('connectString'); + if (cs) cs.innerText = connectString + })(); } catch (err) { errorTextBackup.text(err.message); } }); + // Navigate from connect to status + toStatusBtn && toStatusBtn.click(() => { + showPage(pages.status || $('#page-status')) + }) + const syncRelayState = () => { relayUrlInput.prop('disabled', customCheckbox.prop('checked')); if (customCheckbox.prop('checked')) {