Use compact operational KPIs in the Reports page hero.
Deploy Ladill Care / deploy (push) Successful in 56s

Hero cards now show patient/appointment/lab counts instead of long currency strings, and page-hero values truncate safely for large figures.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-20 11:09:25 +00:00
co-authored by Cursor
parent a3839da869
commit 76241ac2b5
3 changed files with 11 additions and 8 deletions
+5 -4
View File
@@ -410,19 +410,20 @@ class AdminOverviewService
'period_label' => 'This month',
'from' => $from->toDateString(),
'to' => $to->toDateString(),
// Lead with compact counts for the page hero (first 3); money lives in the grid below.
'kpis' => [
['label' => 'Revenue today', 'value' => $money((int) $today['revenue_today_minor'])],
['label' => 'Collected MTD', 'value' => $money($finance['collected_minor'])],
['label' => 'Outstanding', 'value' => $money($finance['outstanding_minor'])],
['label' => 'New patients MTD', 'value' => number_format($patients['new_patients'])],
['label' => 'Appointments MTD', 'value' => number_format($appointments['total'])],
['label' => 'Lab pending', 'value' => number_format($lab['pending'])],
['label' => 'Visits MTD', 'value' => number_format($patients['total_visits'])],
['label' => 'Revenue today', 'value' => $money((int) $today['revenue_today_minor'])],
['label' => 'Collected MTD', 'value' => $money($finance['collected_minor'])],
['label' => 'Outstanding', 'value' => $money($finance['outstanding_minor'])],
],
'breakdowns' => [
[
'title' => 'Month-to-date snapshot',
'rows' => [
['label' => 'Visits', 'value' => number_format($patients['total_visits']), 'pct' => null],
['label' => 'Completed appointments', 'value' => number_format($appointments['completed']), 'pct' => null],
['label' => 'No-shows', 'value' => number_format($appointments['no_show']), 'pct' => null],
['label' => 'Lab completed', 'value' => number_format($lab['completed']), 'pct' => null],