Electronics Overview
Electronics Overview is the electronics variant's home screen — it pulls open repair jobs, warranties nearing expiry and in-stock IMEI devices into one screen so you can start the day without opening three separate pages.
Overview
The page loads three data sources in parallel with Promise.allSettled — Warranties, Repairs and the IMEI Registry — so if any one endpoint fails, the other two still render normally instead of the whole dashboard breaking.
Alert banners at the top only appear when something genuinely needs attention: repairs ready for pickup, warranties that expired today, or warranties expiring within 30 days.
Four stat cards (Open Jobs, Expiring Soon, In Stock, Total Warranties) are each clickable and jump straight to the relevant page (Repair, Warranty, or IMEI Registry).
A Repair Pipeline strip shows a live count per repair status (Received, Diagnosing, In Repair, Waiting Parts, Ready, Delivered) so you can see where every job in the shop currently sits.
Below that, two side-by-side panels list the actual Open Repair Jobs and Warranties Expiring Soon (up to 6 rows each, with a "+N more" link), and an In-Stock Devices grid previews up to 8 IMEI-tracked units currently on the shelf.
Before You Start
- You must be on the pos-app-electronics (or mobile) variant and logged in — this replaces the generic Dashboard as the landing page under Electronics-only routes.
- The route itself only requires the "billing" plan feature to be enabled (true for all paid plans, no minTier gate) — it is not hidden behind an Advanced/Enterprise tier.
- Cards and panels are driven entirely by whatever exists in Warranties, Repairs (jobs) and the IMEI Registry — the dashboard has no data of its own to configure ahead of time.
Step-by-Step Guide
1 Read the shop's status at a glance
- Look at the four stat cards: Open Jobs (repairs not yet Delivered/Cancelled), Expiring Soon (active warranties expiring within 30 days), In Stock (IMEI units with status IN_STOCK), and Total Warranties (every warranty on file).
- Click any card to jump to its source page — Open Jobs and In Stock/Total Warranties navigate to Repair, Warranty or IMEI Registry respectively.
- Click Refresh in the header any time to force an immediate reload of all three data sources — it disables itself and spins while loading to prevent double-clicks.
2 Act on the alert banners
- A green banner appears when one or more repairs are status READY for customer pickup — it also shows the total pending balance due across those jobs when greater than zero, and a View link opens the Repair page.
- A red banner appears when one or more warranties expired exactly today.
- An amber banner appears when one or more active warranties are expiring within the next 30 days.
3 Check the Repair Pipeline
- The pipeline strip shows one pill per status that currently has at least one job — RECEIVED, DIAGNOSING, IN_REPAIR, WAITING_PARTS, READY, DELIVERED — each with its live count.
- Statuses with zero jobs are hidden entirely rather than shown as "0".
4 Review Open Repair Jobs and Warranties side-by-side
- The left panel lists up to 6 open repair jobs (job number, status badge, customer name, brand/device type, and total cost with any balance due in red) with a "View all" link to Repair.
- The right panel lists up to 6 warranties expiring soonest (product name, customer name, warranty type, and days remaining — red at 7 days or fewer, amber otherwise) with a "View all" link to Warranty Tracker.
5 Preview in-stock IMEI devices
- When there is at least one IN_STOCK device, an In-Stock Devices panel shows up to 8 tiles with product name, color/storage (or brand as a fallback), and IMEI, plus a "View registry" link to the full IMEI Registry.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Refresh | Re-fetches warranties, repairs and IMEI data immediately; shows a spinning icon and disables itself while loading. |
Open Jobs card | Count of repairs not in DELIVERED or CANCELLED status; sub-label shows how many of those are READY, otherwise "in progress". |
Expiring Soon card | Count of ACTIVE warranties whose expiry date falls within the next 30 days (including today). |
In Stock card | Count of IMEI records with status IN_STOCK. |
Total Warranties card | Count of every warranty record regardless of status. |
Alert banner — repairs ready | Green banner naming how many devices are ready for pickup and the total balance due across them, if any; links to Repair. |
Alert banner — warranties expired today | Red banner shown only when at least one ACTIVE warranty's expiry date equals today. |
Alert banner — warranties expiring soon | Amber banner shown when at least one ACTIVE warranty expires within 30 days. |
Repair Pipeline strip | One coloured pill per repair status with at least one job, showing a live count; hidden entirely when there are no repair jobs at all. |
Open Repair Jobs panel | Up to 6 non-closed repair jobs with job number, status, customer, brand/device type, total cost and balance due; "View all" opens Repair. |
Warranties Expiring Soon panel | Up to 6 ACTIVE warranties expiring within 30 days, sorted soonest-first, with days-remaining styled red (≤7 days) or amber; "View all" opens Warranty Tracker. |
In-Stock Devices panel | Up to 8 IMEI-tracked units currently IN_STOCK, showing product, color/storage/brand and IMEI; "View registry" opens IMEI Registry. Hidden entirely when nothing is in stock. |
Tips & Best Practices
- Treat the alert banners as your opening-shift checklist — they only ever surface repairs ready for pickup and warranties that need action, in priority order (ready-for-pickup, expired-today, expiring-soon).
- Use the Repair Pipeline strip as a quick load check before accepting new jobs — a pile-up in WAITING_PARTS usually means it is time to chase a supplier rather than take on more repairs.
- Click straight through from a stat card instead of navigating via the sidebar — every card is a live shortcut to its source page.
Troubleshooting & FAQ
The dashboard shows 0 for everything even though I have repairs and warranties on file.
One section of the dashboard is missing but the rest loaded fine.
A repair I marked Delivered is still counted in Open Jobs.
The In-Stock Devices panel disappeared.
🧑💻 Developer Notes
Source component(s):
frontend-app/pos-app-electronics/src/pages/electronics/ElectronicsDashboardPage.jsxfrontend-app/packages/pos-react-lib/src/pages/electronics/ElectronicsDashboardPage.jsx
Backend endpoints used:
GET /electronics/warrantiesGET /electronics/repairsGET /electronics/imei
Related tables (db-core repositories):
ElectronicsWarrantyElectronicsRepairElectronicsIMEI
Redux slices:
None — local component state only (useState/useCallback)
Feature flag key: billing
The pos-app-electronics file is a one-line re-export (`export { default } from 'pos-react-lib/src/pages/electronics/ElectronicsDashboardPage'`); the real component is shared via pos-react-lib and is also mounted by the mobile/cell-phone-shop variant. Notably this dashboard has no awareness of Trade-in or EMI data at all — only Warranties, Repairs and IMEI are summarised, so a shop doing a lot of trade-ins or EMI sales will not see any of that activity reflected here.