- Options page gains a 'Default tablet for this machine' picker, populated from the device list once base URL + terminal key are configured, auto-saved on change (small enough setting not to warrant its own Save button). - Popup pre-selects the default in its device dropdown but still shows the full picker — opening the popup is already a deliberate action, so staff can still override it there. - Injected buttons (row + banner) skip the dropdown entirely when a default is configured — one click pushes straight to it. Only falls back to the full picker if that specific push comes back busy (409), with a note explaining why it's asking despite a default being set. background.js's pushBooking() now returns the HTTP status alongside ok/error so this can be detected reliably rather than string-matching the error message. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
43 lines
1.7 KiB
HTML
43 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>Send to Check-In Tablet — Settings</title>
|
|
<link rel="stylesheet" href="options.css" />
|
|
</head>
|
|
<body>
|
|
<h1>Send to Check-In Tablet</h1>
|
|
<p class="hint">
|
|
Two things needed before this extension can push a booking to a tablet — both come from the
|
|
<strong>tablet-checkin</strong> app itself, not from here.
|
|
</p>
|
|
|
|
<label for="baseUrl">Tablet Check-In base URL</label>
|
|
<input id="baseUrl" type="text" placeholder="https://<host>/tablet-checkin — not confirmed yet, see TODO in background.js" />
|
|
<p class="hint">The app's own address once deployed. Include no trailing slash.</p>
|
|
|
|
<label for="apiKey">Terminal API key</label>
|
|
<input id="apiKey" type="password" placeholder="Paste the key shown once when you created this terminal" />
|
|
<p class="hint">
|
|
Create one from tablet-checkin's <strong>Terminals</strong> admin page (requires the <code>admin</code>
|
|
capability). The raw key is shown exactly once at creation — if you've lost it, revoke it there and
|
|
create a new one.
|
|
</p>
|
|
|
|
<button id="save">Save</button>
|
|
<button id="test">Test connection</button>
|
|
<p id="status"></p>
|
|
|
|
<div id="defaultTabletSection" style="display: none;">
|
|
<label for="defaultDevice">Default tablet for this machine</label>
|
|
<select id="defaultDevice"></select>
|
|
<p class="hint">
|
|
The popup pre-selects this tablet but still lets you pick a different one. The "Send to Tablet"
|
|
buttons injected into NewBook itself skip asking entirely and push straight to this tablet —
|
|
unless it's busy, in which case they fall back to asking which one to use.
|
|
</p>
|
|
</div>
|
|
|
|
<script type="module" src="options.js"></script>
|
|
</body>
|
|
</html>
|