Skip to content

Feature: Customer-facing display on a second monitor #362

Open

Description

@khaira777

Feature: Customer-facing display (second Electron BrowserWindow on another monitor)

Summary

Add a customer-facing display: a live, deliberately sanitized model of the active cart/total pushed to a second BrowserWindow attached to the POS computer — no employees controls, no customer PII.

Proposed architecture

POS BrowserWindow --IPC--> CustomerDisplay BrowserWindow --> external monitor

Settings:

Enable customer display
Display: [ Dell 15" — 1920x1080 ]
[Test display] [Open display automatically]

Sanitized model:

{ businessName, items, subtotal, tax, discount, total, tipPrompt, status }

What already exists

  • Electron main with BrowserWindow (see main/index.ts) and IPC (main/ipc.ts, main/preload.ts).
  • A basic /customer-display page exists showing order-ready numbers (PREPARING / READY FOR PICKUP) — this issue extends/adopts that into the live cart+total view and second-window plumbing.

Foundation value

Unlocks: live cart, "your total is…", QR codes, loyalty info, promotional banners, tipping (#below), and later payment-terminal handoff.

Acceptance criteria

  • Second window launches on chosen monitor via Electron screen API.
  • Live cart/total syncs via IPC without exposing employee controls/PII.
  • Enable/disable + monitor pick + auto-open settings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendBackend (Express/SQLite)area:frontendFrontend (React/Next.js)enhancementNew feature or requeststate:needs-designNeeds a design/scope decision before work startstype:featureNew capability or enhancement request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions