Extension: per-machine default tablet, skip asking unless busy

- 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>
This commit is contained in:
jtricerolph 2026-09-01 20:42:35 +00:00
parent 67def8ac19
commit a37654cdc4
5 changed files with 139 additions and 21 deletions

View file

@ -28,6 +28,16 @@
<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>