add fullscreen QR overlay on click
This commit is contained in:
22
index.html
22
index.html
@@ -153,6 +153,14 @@ tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 50%,transparent)}
|
|||||||
.invoice .row span:last-child{font-family:var(--mono);text-align:right;word-break:break-all}
|
.invoice .row span:last-child{font-family:var(--mono);text-align:right;word-break:break-all}
|
||||||
#qrcode{margin:18px auto 4px;width:160px}
|
#qrcode{margin:18px auto 4px;width:160px}
|
||||||
#qrcode canvas,#qrcode img{width:160px!important;height:160px!important;max-width:100%}
|
#qrcode canvas,#qrcode img{width:160px!important;height:160px!important;max-width:100%}
|
||||||
|
#qr-overlay{
|
||||||
|
display:none;position:fixed;inset:0;z-index:999;
|
||||||
|
background:rgba(0,0,0,.7);cursor:pointer;
|
||||||
|
align-items:center;justify-content:center;
|
||||||
|
}
|
||||||
|
#qr-overlay.show{display:flex}
|
||||||
|
#qr-big{padding:24px;background:#fff;border-radius:12px}
|
||||||
|
#qr-big canvas,#qr-big img{width:280px!important;height:280px!important;max-width:90vw}
|
||||||
.ok-line{color:var(--ok);font-weight:600;font-size:14px;margin-bottom:14px}
|
.ok-line{color:var(--ok);font-weight:600;font-size:14px;margin-bottom:14px}
|
||||||
.err-line{color:#d32f2f;font-weight:600;font-size:14px;margin-bottom:14px}
|
.err-line{color:#d32f2f;font-weight:600;font-size:14px;margin-bottom:14px}
|
||||||
.terms-box{display:none;margin:16px 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
|
.terms-box{display:none;margin:16px 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
|
||||||
@@ -499,6 +507,8 @@ document.getElementById('submit').addEventListener('click', async () => {
|
|||||||
document.getElementById('iv-status2').textContent = '—';
|
document.getElementById('iv-status2').textContent = '—';
|
||||||
document.getElementById('iv-url').textContent = '—';
|
document.getElementById('iv-url').textContent = '—';
|
||||||
document.getElementById('qrcode').innerHTML = '';
|
document.getElementById('qrcode').innerHTML = '';
|
||||||
|
document.getElementById('qrcode').style.cursor = '';
|
||||||
|
document.getElementById('qr-overlay').classList.remove('show');
|
||||||
document.getElementById('share-btn').textContent = 'Share invoice';
|
document.getElementById('share-btn').textContent = 'Share invoice';
|
||||||
document.getElementById('terms-box').classList.remove('show');
|
document.getElementById('terms-box').classList.remove('show');
|
||||||
document.getElementById('terms-check').checked = false;
|
document.getElementById('terms-check').checked = false;
|
||||||
@@ -528,6 +538,17 @@ document.getElementById('submit').addEventListener('click', async () => {
|
|||||||
const qrEl = document.getElementById('qrcode');
|
const qrEl = document.getElementById('qrcode');
|
||||||
qrEl.innerHTML = '';
|
qrEl.innerHTML = '';
|
||||||
new QRCode(qrEl, { text: invoiceuri, width: 160, height: 160 });
|
new QRCode(qrEl, { text: invoiceuri, width: 160, height: 160 });
|
||||||
|
qrEl.style.cursor = 'pointer';
|
||||||
|
qrEl.onclick = function () {
|
||||||
|
const overlay = document.getElementById('qr-overlay');
|
||||||
|
const big = document.getElementById('qr-big');
|
||||||
|
big.innerHTML = '';
|
||||||
|
new QRCode(big, { text: invoiceuri, width: 280, height: 280 });
|
||||||
|
overlay.classList.add('show');
|
||||||
|
};
|
||||||
|
document.getElementById('qr-overlay').onclick = function () {
|
||||||
|
this.classList.remove('show');
|
||||||
|
};
|
||||||
const shareBtn = document.getElementById('share-btn');
|
const shareBtn = document.getElementById('share-btn');
|
||||||
shareBtn.textContent = 'Share invoice';
|
shareBtn.textContent = 'Share invoice';
|
||||||
shareBtn.onclick = function () {
|
shareBtn.onclick = function () {
|
||||||
@@ -577,5 +598,6 @@ document.getElementById('url').addEventListener('keydown', e => {
|
|||||||
fetchMinAmount();
|
fetchMinAmount();
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
<div id="qr-overlay"><div id="qr-big"></div></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user