Queue Screens CMS

Branch, screens & devices
Open queue display

Overview

Welcome. Use the top bar to switch sections. Your last section is remembered on this device. Folders for devices appear in the left panel when you open Devices.

  • Connection β€” backend URL, bearer key, account ID (saved in this browser).
  • Branch β€” branch endpoint ID from your database list, plus off-duty message.
  • Screens β€” duty-style cards, master open/close, toggles and staff names; create new rows below.
  • Devices β€” heartbeats, folders, screenshots, CMS overrides per device.

API connection

Same origin as the queue app (Firebase Hosting). No trailing slash. Path is always /api/….

If this field is empty on first visit, the page can fill it from the embedded bundle (same as the queue app). You can still paste your own key; Save connection stores it in this browser.

Choose the active branch under Branch (dropdown from Firestore). It is stored with this connection in the browser.

401 on /api/…? Only /api/health is public. Everything else needs the same string as Cloud Function secret SCREEN_API_KEY in Authorization: Bearer …. Re-paste the key, click Save connection, then Test API key.

Branch β€” endpoint & custom message (off-duty text)

List from GET …/accounts/{accountId}/branches (same account as Connection). Firestore path: accounts/{account}/branches/{branch}. Choosing a branch saves it in this browser, loads customMessage, and refreshes Screens.

Screens

Branch counters β€” match the duty board: toggle each screen, edit staff name, or use Master Control. List uses the active branch from the Branch section. PATCH …/screens/{screenId}.

TOTAL
0
ACTIVE
0
Master Control

No screens loaded. Click Refresh (connection required).

Create screen row

Devices

Online means the last heartbeat was within 15 minutes (not β€œpage open right now”). Use the left panel for folders. Select rows below, then Move to folder or Remove selected (only stale devices can be removed). Capture requests a new screenshot from one device at a time via Edit for display name, CMS screen, layout, ticker, notes. Firestore: cmsDisplayName, telemetryFolders, cmsFolderId.

No selection
Name deviceCode screenId CMS screen Online appVersion screenStatus Last heartbeat Folder Last screenshot