feat: implement useOverlayDismiss hook for consistent modal dismissal behavior
This commit is contained in:
@@ -9,6 +9,7 @@ import type { ApiResponse } from '../../lib/api';
|
||||
import MobileInput from './MobileInput';
|
||||
import Portal from './Portal';
|
||||
import { iranMobileSchema } from '../../lib/utils';
|
||||
import { useOverlayDismiss } from '../../hooks/useOverlayDismiss';
|
||||
|
||||
const inviteSchema = z.object({
|
||||
mobile: iranMobileSchema,
|
||||
@@ -39,10 +40,12 @@ export default function InviteDoctorModal({ clinicUuid, onClose, onInvited }: Pr
|
||||
onError: (e: Error) => toast.error(e.message),
|
||||
});
|
||||
|
||||
const dismiss = useOverlayDismiss(onClose);
|
||||
|
||||
return (
|
||||
<Portal>
|
||||
<div className="overlay" onClick={onClose}>
|
||||
<div className="modal" style={{ maxWidth: 420 }} onClick={e => e.stopPropagation()}>
|
||||
<div className="overlay" {...dismiss}>
|
||||
<div className="modal" style={{ maxWidth: 420 }}>
|
||||
<div className="modal-head">
|
||||
<b>دعوت پزشک به کلینیک</b>
|
||||
<button className="mini-btn" onClick={onClose}><XMarkIcon style={{ width: 16, height: 16 }} /></button>
|
||||
|
||||
Reference in New Issue
Block a user