diff --git a/static/js/index.js b/static/js/index.js index 09188ac..892cd17 100644 --- a/static/js/index.js +++ b/static/js/index.js @@ -200,6 +200,13 @@ window.app = Vue.createApp({ durationHours: null, result: null }, + // Fullscreen QR overlay — maximises a QR's on-screen size so a spire + // camera can lock onto it. openQrZoom() sizes it to the viewport. + qrZoom: { + show: false, + value: '', + size: 280 + }, machineDetail: { show: false, loading: false, @@ -1603,6 +1610,16 @@ window.app = Vue.createApp({ }) }, + // Open a fullscreen QR sized to the shorter viewport edge (minus a + // margin) so it renders as large as possible for a spire's camera. + openQrZoom(value) { + if (!value) return + const edge = Math.min(window.innerWidth, window.innerHeight) + this.qrZoom.size = Math.max(240, Math.floor(edge - 64)) + this.qrZoom.value = value + this.qrZoom.show = true + }, + _emptyDepositForm() { // currency is server-resolved from the selected client's machine // fiat_code (see #26); not stored on the form, just displayed in diff --git a/templates/spirekeeper/index.html b/templates/spirekeeper/index.html index 322f4f2..be55a93 100644 --- a/templates/spirekeeper/index.html +++ b/templates/spirekeeper/index.html @@ -763,13 +763,13 @@ - +
Add bitSpire machine
- +

Register an ATM by its Nostr public key. Choose the LNbits wallet that will receive cash-out payments from this machine — settlements there @@ -847,7 +847,7 @@ - +

Pair spire
@@ -901,10 +901,16 @@ into provision-atm. Shown once — copy it now. -
- +
+
+ +
+
+ + + + + + + + + Close + + + + +
+ Point the spire's camera here — tap Close when scanned. +
+
+
+
+ @@ -1212,7 +1241,7 @@ - +
Publish cassette config to ATM
@@ -1264,7 +1293,7 @@ - +
Apply partial dispense
@@ -1323,7 +1352,7 @@ - +
Add note to settlement
@@ -1353,7 +1382,7 @@ - +
Platform fee (super-only)
@@ -1400,7 +1429,7 @@ - +
@@ -1466,7 +1495,7 @@ - +
Reject deposit
@@ -1495,7 +1524,7 @@ - +
@@ -1552,7 +1581,7 @@ - +
Settle LP balance
@@ -1611,7 +1640,7 @@ - +
Edit machine