feat: replace checkboxes with Switch component for better UI consistency
- Updated DoctorDetailPage, MySecretariesPage, RecordNumberSettingsPage, RepresentationsPage, ResourcePoolsPage, ResourceTypesPage, SecretariesPage, SecretaryDetailPage, SettingsPage, SkillsPage, SmsWalletPage, and TagsSettingsPage to use the new Switch component instead of native checkboxes. - Enhanced accessibility by ensuring the Switch component uses appropriate roles and labels. - Added tests for the new Switch component to ensure functionality and accessibility compliance. - Updated styles to accommodate the new Switch component design.
This commit is contained in:
@@ -15,6 +15,7 @@ import Modal from '../ui/Modal';
|
||||
import ConfirmDialog from '../ui/ConfirmDialog';
|
||||
import GlobalSearchableSelect from '../ui/SearchableSelect';
|
||||
import NationalHolidaysCard from '../holidays/NationalHolidaysCard';
|
||||
import Switch from '../ui/Switch';
|
||||
|
||||
/**
|
||||
* ساختار واحد تنظیمات نوبتدهی یک پزشک — برنامه هفتگی، استثناهای تاریخ و تعطیلات.
|
||||
@@ -789,22 +790,17 @@ export function WeeklyScheduleTab({ doctorUuid, clinicUuid, addresses, readOnly
|
||||
{/* ─ نوبتدهی آنلاین */}
|
||||
<div className="mb-3 rounded-xl border border-[var(--border)] overflow-hidden">
|
||||
{/* header + toggle */}
|
||||
<label className="flex items-center justify-between gap-3 px-4 py-3 cursor-pointer bg-[var(--surface-2)]">
|
||||
<div className="flex items-center justify-between gap-3 px-4 py-3 bg-[var(--surface-2)]">
|
||||
<div className="flex items-center gap-2">
|
||||
<GlobeAltIcon className="w-4 h-4 text-[var(--text-2)] shrink-0" />
|
||||
<span className="text-sm font-medium text-[var(--text)]">نوبتدهی آنلاین</span>
|
||||
</div>
|
||||
<span className="relative inline-flex shrink-0">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="peer sr-only"
|
||||
checked={meta.online_booking_enabled}
|
||||
onChange={(e) => setMeta(m => ({ ...m, online_booking_enabled: e.target.checked }))}
|
||||
/>
|
||||
<span className="w-10 h-6 rounded-full bg-[var(--surface-3)] transition-colors peer-checked:bg-[var(--success)]" />
|
||||
<span className="absolute top-0.5 right-0.5 w-5 h-5 rounded-full bg-[var(--surface)] shadow transition-transform peer-checked:-translate-x-4" />
|
||||
</span>
|
||||
</label>
|
||||
<Switch
|
||||
checked={meta.online_booking_enabled}
|
||||
onChange={(v) => setMeta(m => ({ ...m, online_booking_enabled: v }))}
|
||||
ariaLabel="نوبتدهی آنلاین"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* booking window control */}
|
||||
<div className={`px-4 py-3 transition-opacity ${meta.online_booking_enabled ? '' : 'opacity-50 pointer-events-none'}`}>
|
||||
|
||||
Reference in New Issue
Block a user