feat: implement useOverlayDismiss hook for consistent modal dismissal behavior
This commit is contained in:
@@ -27,6 +27,7 @@ import ClinicDoctorsManager from '../components/ClinicDoctorsManager';
|
||||
import { useAuthStore } from '../stores/authStore';
|
||||
import { latinDigitsField } from '../lib/forms';
|
||||
import Switch from '../components/ui/Switch';
|
||||
import { useOverlayDismiss } from '../hooks/useOverlayDismiss';
|
||||
|
||||
// Fix leaflet icons
|
||||
delete (L.Icon.Default.prototype as any)._getIconUrl;
|
||||
@@ -238,9 +239,11 @@ function EditModal({ clinic, onClose, onSaved }: {
|
||||
|
||||
const [activeTab, setActiveTab] = useState<'basic' | 'tags' | 'social'>('basic');
|
||||
|
||||
const dismiss = useOverlayDismiss(onClose);
|
||||
|
||||
return createPortal(
|
||||
<div className="overlay" onClick={onClose}>
|
||||
<div className="modal" style={{ maxWidth: 560, maxHeight: '90vh', overflowY: 'auto' }} onClick={e => e.stopPropagation()}>
|
||||
<div className="overlay" {...dismiss}>
|
||||
<div className="modal" style={{ maxWidth: 560, maxHeight: '90vh', overflowY: 'auto' }}>
|
||||
<div className="modal-head">
|
||||
<b>ویرایش کلینیک</b>
|
||||
<button className="mini-btn" onClick={onClose}>
|
||||
|
||||
Reference in New Issue
Block a user