import {mountAppControls} from './app-mode.js?v=1';
import {mountLogo} from './ds/logo.js';
import {mountMobileChrome} from './ds/frame.js';
import {npubFrom} from './ds/env.js';
const app=document.querySelector('#app');const params=new URLSearchParams(location.search);const npub=npubFrom();let merchant,state,timer,busy=false,lastIds='',lastBookingIds='';
const esc=v=>String(v??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
const ago=stamp=>{const s=Math.max(0,Math.floor((Date.now()-new Date(stamp).getTime())/1000));return s<60?`${s}s`:s<3600?`${Math.floor(s/60)}m`:`${Math.floor(s/3600)}h`};
function error(message){app.innerHTML=` Just Works POS${esc(message)}
Use pos.justworks.cash/?npub=npub1…
${request}
${order.note?`${esc(order.note)}`:''}€${(payment.amount_cents/100).toFixed(2)} · ${payment.status}
${payment.status==='paid'?``:'Waiting for Lightning settlement…'}${esc(booking.guest_name)} · ${booking.guests} ${booking.guests===1?'guest':'guests'}
${booking.notes?`${esc(booking.notes)}`:''}New table orders appear here automatically.
Pay Bill and Just Pay confirmations appear here.
Table reservations appear here automatically.
Use Login above to connect your Business session.
Live orders and payments are unavailable. Nothing is saved for later.