diff --git a/assets/admin/components/patient/PatientTreatmentTab.tsx b/assets/admin/components/patient/PatientTreatmentTab.tsx index 4778faea..02718819 100644 --- a/assets/admin/components/patient/PatientTreatmentTab.tsx +++ b/assets/admin/components/patient/PatientTreatmentTab.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import { useQuery, useQueryClient } from '@tanstack/react-query'; import { - ChevronLeftIcon, ChevronRightIcon, ClipboardDocumentListIcon, + ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClipboardDocumentListIcon, CpuChipIcon, MagnifyingGlassIcon, XMarkIcon, } from '@heroicons/react/24/outline'; import { api } from '../../lib/api'; @@ -312,6 +312,14 @@ function SessionCard({ session: s, summary, resource, nationalCode }: { nationalCode: string | null; }) { const [booking, setBooking] = useState(false); + /** + * سابقه بسته میآید و کارِ پیشِ رو باز. + * + * جلسهٔ انجامشده سه ناحیه با خواندههایشان دارد و بازِ پیشفرض، فهرست را دفن + * میکند؛ ولی جلسهای که باید رزرو شود، دکمهاش دلیلِ وجودش است و پشت یک کلیک + * اضافه نباید بماند. + */ + const [open, setOpen] = useState(!SETTLED.includes(s.status)); const qc = useQueryClient(); const clinicUuid = useClinicContext(); @@ -322,26 +330,57 @@ function SessionCard({ session: s, summary, resource, nationalCode }: { const bookable = !SETTLED.includes(s.status) && s.appointment === null && summary.status === 'active'; const areas = s.areas ?? []; + // جلسهای که نه ناحیهای ثبت کرده و نه کاری برای انجام دارد، بدنهای ندارد که باز + // شود؛ کلپسِ خالی فقط یک کلیک بینتیجه است. + const hasBody = areas.length > 0 || bookable; + + const head = ( +