diff --git a/artifacts/tx-os/src/pages/protocol.tsx b/artifacts/tx-os/src/pages/protocol.tsx index 2e3f5422..655d6cd3 100644 --- a/artifacts/tx-os/src/pages/protocol.tsx +++ b/artifacts/tx-os/src/pages/protocol.tsx @@ -621,7 +621,7 @@ function BookingDayGrid({ {roomName(ev.b.roomId)} {height >= 44 && ( -
+
{timeLabel(ev.b.startsAt)} – {timeLabel(ev.b.endsAt)}
)} @@ -1024,8 +1024,12 @@ export default function ProtocolPage() { new Date(iso).toLocaleDateString(isAr ? "ar" : "en", { dateStyle: "medium", }); + // Latin digits even in Arabic (ar-u-nu-latn) so times look like "12:30 م". + // Rendered inside RTL containers WITHOUT dir="ltr": forcing LTR on text + // that mixes Latin digits with Arabic ص/م makes the bidi algorithm flip + // the order (e.g. "م 1:30 – م 12:30"). const fmtTimeOnly = (iso: string) => - new Date(iso).toLocaleTimeString(isAr ? "ar" : "en", { + new Date(iso).toLocaleTimeString(isAr ? "ar-u-nu-latn" : "en", { timeStyle: "short", }); @@ -1096,7 +1100,7 @@ export default function ProtocolPage() {
{fmtDateOnly(b.startsAt)}
-
+
{fmtTimeOnly(b.startsAt)} – {fmtTimeOnly(b.endsAt)}
@@ -2320,7 +2324,7 @@ export default function ProtocolPage() { + {fmtTimeOnly(detailsBooking.startsAt)} –{" "} {fmtTimeOnly(detailsBooking.endsAt)}