From d3d152ba867c68ffbc83e4fea533094bbf379565 Mon Sep 17 00:00:00 2001 From: Replit Agent Date: Wed, 8 Jul 2026 15:04:12 +0000 Subject: [PATCH] =?UTF-8?q?Task=20#706:=20=D8=A5=D8=AE=D9=81=D8=A7=D8=A1?= =?UTF-8?q?=20=D9=85=D9=86=D8=AA=D9=82=D9=8A=20=D8=A7=D9=84=D9=88=D9=82?= =?UTF-8?q?=D8=AA=20=D8=A7=D9=84=D8=AD=D8=B1=20=D9=82=D8=A8=D9=84=20=D8=A7?= =?UTF-8?q?=D8=AE=D8=AA=D9=8A=D8=A7=D8=B1=20=D8=A7=D9=84=D9=82=D8=A7=D8=B9?= =?UTF-8?q?=D8=A9=20=D9=81=D9=8A=20=D9=86=D9=85=D9=88=D8=B0=D8=AC=20=D8=A7?= =?UTF-8?q?=D9=84=D8=B7=D9=84=D8=A8=20=D8=A7=D9=84=D8=B9=D8=A7=D9=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - نموذج الطلب العام (/protocol/request) كان يعرض منتقي التاريخ/الوقت الحر القديم قبل اختيار القاعة، لأن فحص وجود الأوقات (slot probe) مرتبط بالقاعة. - الآن قبل اختيار القاعة تظهر رسالة "اختر القاعة أولًا لعرض المواعيد المتاحة"، وأثناء تحميل الفحص تظهر حالة تحميل، وعند فشله رسالة خطأ؛ شبكة الأوقات أو المنتقي الحر لا يظهران إلا بعد نجاح الفحص. - تعزيز: تغيير القاعة يصفّر التاريخ/الوقت/الوقت المحدد المختار لتجنّب قيم قديمة عند التبديل السريع بين القاعات. - حوار الحجز الداخلي لم يحتج تعديلًا (الأوقات تُجلب عالميًا عبر /protocol/booking-slots/active فلا توجد المشكلة نفسها). - لا تغييرات في الخادم. الصفحة العامة نصوصها عربية ثابتة (بدون i18n) فلم تلزم مفاتيح ترجمة جديدة — انحراف بسيط عن خطوة الترجمة في الخطة. - tsc نظيف؛ مراجعة الarchitect: PASS. --- .../tx-os/src/pages/protocol-request.tsx | 48 ++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/artifacts/tx-os/src/pages/protocol-request.tsx b/artifacts/tx-os/src/pages/protocol-request.tsx index f8f174d7..9e508de2 100644 --- a/artifacts/tx-os/src/pages/protocol-request.tsx +++ b/artifacts/tx-os/src/pages/protocol-request.tsx @@ -437,7 +437,22 @@ export default function ProtocolRequestPage() { - + // Reset the time selection when the room changes so no stale + // date/slot/free-time values survive a room switch (the slot + // grid is per-room and slot mode itself may flip). + setForm((f) => ({ + ...f, + roomId: v, + date: "", + slotId: "", + startsAt: "", + endsAt: "", + })) + } + > - {slotMode ? ( + {form.roomId === "" ? ( + // No room chosen yet → we don't know whether slot mode is on, so + // show a hint instead of the (possibly wrong) free pickers. +
+ +

+ اختر القاعة أولًا لعرض المواعيد المتاحة. +

+
+ ) : slotProbe.isLoading ? ( +
+ +

+ جارٍ تحميل المواعيد المتاحة… +

+
+ ) : slotProbe.isError ? ( +
+ +

+ تعذّر تحميل المواعيد، يرجى المحاولة مرة أخرى. +

+
+ ) : slotMode ? ( <>