fix(ui): make admin dialogs mobile-friendly + add fullscreen QR zoom #40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/mobile-friendly-dialogs-and-QR-zoom"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Addresses #39.
Why
On a phone the admin dialogs overflowed off the side of the screen and
were hard to use, and the pairing seed-URL QR was too small for a
spire's scan camera. Root cause: dialog cards used
min-width: 480pxnext to
max-width: 95vw— when they conflict on a narrow viewport CSSmin-widthwins, forcing the card wider than the screen.Changes
minWidth→widthsomaxWidth: 95vwcan shrink them to fit. Mechanical,zero-risk, so applied across all dialogs rather than only the two
reported.
65vhwith a
scrollcontainer so every field stays reachable on shortscreens.
"Enlarge for scanning" button opening a fullscreen maximized QR
(
qrZoomdialog) sized to the shorter viewport edge minus a margin,on a forced-white card so it stays crisp/scannable under dark theme —
maximising visibility to the spire's camera.
Verification
node --check static/js/index.jspasses<q-dialog>open/close tags balance (13/13)minWidthremaining in the templateFollow-up (per #39): the other tall form dialogs got the width fix but
not the
65vhscroll cap — deferred to the broader UI overhaul.🤖 Generated with Claude Code
lnbits-qrcode has no `options` prop — it renders width:100% of its parent, capped by a `max-width` PROP that defaults to 450px. So the previous `:options="{width: qrZoom.size}"` was dead: the QR only ever grew to its container, and inside the zoom dialog's items-center flex column the container collapsed to the QR's natural width, so "enlarge" barely changed anything. Wrap the zoom QR in an explicit full-width div (capped 96vw), feed the real `max-width` prop, hide the component's own copy/download buttons for a clean scan target, and size it to ~full shorter-viewport-edge. Also swap the inline pair-dialog QR's dead `:options` for `max-width`.