Home / Help Center / pos-app-electronics / electronics / Electronics Overview
📊 electronics

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.

📍 Menu path: /electronics/dashboard
👤 Who uses it: Owner,Manager,Staff

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

Step-by-Step Guide

1 Read the shop's status at a glance

  1. 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).
  2. Click any card to jump to its source page — Open Jobs and In Stock/Total Warranties navigate to Repair, Warranty or IMEI Registry respectively.
  3. 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

  1. 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.
  2. A red banner appears when one or more warranties expired exactly today.
  3. An amber banner appears when one or more active warranties are expiring within the next 30 days.
💡 All three banners are purely conditional — if nothing needs attention right now, the alerts area does not render at all rather than showing an empty state.

3 Check the Repair Pipeline

  1. 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.
  2. Statuses with zero jobs are hidden entirely rather than shown as "0".

4 Review Open Repair Jobs and Warranties side-by-side

  1. 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.
  2. 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

  1. 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 / ButtonWhat it does
RefreshRe-fetches warranties, repairs and IMEI data immediately; shows a spinning icon and disables itself while loading.
Open Jobs cardCount of repairs not in DELIVERED or CANCELLED status; sub-label shows how many of those are READY, otherwise "in progress".
Expiring Soon cardCount of ACTIVE warranties whose expiry date falls within the next 30 days (including today).
In Stock cardCount of IMEI records with status IN_STOCK.
Total Warranties cardCount of every warranty record regardless of status.
Alert banner — repairs readyGreen 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 todayRed banner shown only when at least one ACTIVE warranty's expiry date equals today.
Alert banner — warranties expiring soonAmber banner shown when at least one ACTIVE warranty expires within 30 days.
Repair Pipeline stripOne 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 panelUp 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 panelUp 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 panelUp 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

Troubleshooting & FAQ

The dashboard shows 0 for everything even though I have repairs and warranties on file.
Click Refresh — the dashboard only loads data once on mount; if a background save happened on another tab it will not appear until refreshed.
One section of the dashboard is missing but the rest loaded fine.
Each of Warranties, Repairs and IMEI is fetched independently with Promise.allSettled, so a single failing endpoint only empties that one section rather than blocking the page — check your network connection or try Refresh.
A repair I marked Delivered is still counted in Open Jobs.
Open Jobs excludes only DELIVERED and CANCELLED statuses — double check the job's status was actually saved as Delivered on the Repair page, not left at Ready.
The In-Stock Devices panel disappeared.
It only renders when at least one IMEI record has status IN_STOCK — once every unit on file is Sold, Returned or Defective, the panel is hidden rather than shown empty.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/pos-app-electronics/src/pages/electronics/ElectronicsDashboardPage.jsx
  • frontend-app/packages/pos-react-lib/src/pages/electronics/ElectronicsDashboardPage.jsx

Backend endpoints used:

  • GET /electronics/warranties
  • GET /electronics/repairs
  • GET /electronics/imei

Related tables (db-core repositories):

  • ElectronicsWarranty
  • ElectronicsRepair
  • ElectronicsIMEI

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.