You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sims-hq/apps/hq-web
Thomas Joise 367fc0324e fix(dashboard): never report "all good" when the fetch failed
The SMS low-balance alert rendered only when the request succeeded with
lowCount > 0, so a FAILED check looked exactly like "no client is low" --
the dangerous direction. It now has three distinct states: a skeleton
while the check is in flight, an ErrorState with retry when it fails, and
a quiet positive caption only for a loaded, genuinely-empty result (which
also spells out `unknownCount`, since balances the gateway could not
return are not "fine" either).

Same three-state audit on the rest of the page: the "Onboarding stalled"
tile had the error case fixed already but still showed count 0 and
"Nothing stalled." while its fetch was in flight -- it now takes a
`loading` prop (new on Card) and shows a skeleton, and its count appears
only once the list has loaded. Every other bento card is fed by the one
dashboard payload, whose loading/error/empty states are already
distinguished at page level.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 day ago
..
public feat(pwa/d25): installable PWA + phone polish 4 days ago
src fix(dashboard): never report "all good" when the fetch failed 1 day ago
test feat(d26): functional-feature UIs — GST report, doc search, statement, bulk ops 3 days ago
index.html feat(pwa/d25): installable PWA + phone polish 4 days ago
package.json feat: theme palettes + Geist font + dashboard cockpit styles 3 days ago
tsconfig.json feat(hq-web): react shell with login and email-status banner (HQ-1 task 15) 2 weeks ago
vite.config.ts Split: make this the standalone HQ project (remove Store) 5 days ago