From 42efb18eb658f82026814507376d0926de19f45f Mon Sep 17 00:00:00 2001 From: Replit Agent Date: Thu, 9 Jul 2026 07:59:34 +0000 Subject: [PATCH] Task #723: navy KPI numbers in rooms dashboard + compact next-booking row MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - protocol.tsx RoomsDashboardView: KPI numbers changed from text-sky-600 to navy text-[#0f1d3d], matching the main dashboard styling from #722. - "أقرب حجز قادم" gradient banner compacted: p-4 → px-3 py-2, content now a single inline flex row (label + title + room/time), countdown chip reduced (px-2.5 py-0.5 text-sm). Empty/loading state also compact. - No logic or data changes; tsc --noEmit clean; HMR applied; architect PASS. --- artifacts/tx-os/src/pages/protocol.tsx | 38 ++++++++++++++------------ 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/artifacts/tx-os/src/pages/protocol.tsx b/artifacts/tx-os/src/pages/protocol.tsx index ca7ab2e3..efc72a6c 100644 --- a/artifacts/tx-os/src/pages/protocol.tsx +++ b/artifacts/tx-os/src/pages/protocol.tsx @@ -3316,7 +3316,7 @@ function RoomsDashboardView({ onClick={() => goTab(k.tab)} className="bg-white rounded-2xl border border-slate-200 p-4 text-start hover:border-sky-300 hover:shadow-sm transition" > -
+
{k.value ?? "—"}
{k.label}
@@ -3327,32 +3327,36 @@ function RoomsDashboardView({ ))}
-
-
- - {t("protocol.roomsDash.nextBooking")} -
+
{d?.nextBooking ? ( -
-
-
+
+
+ + + {t("protocol.roomsDash.nextBooking")} + + {d.nextBooking.title} -
-
+ + {nameOf(d.nextBooking.roomNameAr, d.nextBooking.roomNameEn)} {" · "} {fmtNextTime(d.nextBooking.startsAt)} -
+
-
+
{countdown}
) : ( -
- {stats.isLoading - ? t("common.loading") - : t("protocol.roomsDash.noUpcoming")} +
+ + {t("protocol.roomsDash.nextBooking")} + + {stats.isLoading + ? t("common.loading") + : t("protocol.roomsDash.noUpcoming")} +
)}