# جایگزینی همه‌ی `` بومی HTML استفاده شده (استایل درون‌خطی تکراری، بدون جست‌وجو، ظاهر ناهماهنگ با طراحی‌سیستم، بدون RTL/dark درست). طراحی‌سیستم یک کامپوننت مشترک دارد: `assets/admin/components/ui/SearchableSelect.tsx` (روی `react-select`، قابل جست‌وجو، RTL، هماهنگ با توکن‌های CSS و dark mode، منو portal با `zIndex 9999`). **هدف:** همه‌ی ``: - `onChange` مقدار خام می‌دهد (`string|number|null`) نه `e.target.value`. - `options` باید `{ value, label }` باشد — نه ``) حذف و به `placeholder` منتقل شود؛ اگر خالی‌کردن مجاز است `isClearable` بده. - `disabled` → `isDisabled`. ## فایل‌های دارای ` onChange(e.target.value)} style={sel}> {options.map(s => )} ``` ### الگوی B — گزینه‌های وابسته / disabled ```tsx // AppointmentFiltersModal.tsx:100 ``` ### الگوی C — React Hook Form با `register` (خاص — نیازمند Controller) ```tsx // PatientRecordFormPage.tsx:119
``` ## وظایف > **یک فایل در هر مرحله.** بعد از هر فایل: `tsc` سبز شود، بعد فایل بعدی. ترتیب: از فایل‌های کم‌مورد به پرمورد، یا هر ترتیبی، ولی هر فایل مستقل تست/تایپ‌چک شود. ### ۱. تبدیل الگوی A (controlled) هر `` بومیِ جدیدی در پنل ادمین نساز؛ همیشه `SearchableSelect`.