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.
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 | 4 days ago | |
| src | 1 day ago | |
| test | 3 days ago | |
| index.html | 4 days ago | |
| package.json | 3 days ago | |
| tsconfig.json | 2 weeks ago | |
| vite.config.ts | 5 days ago | |