fix: ensure the modal closed by level (#24984)

This commit is contained in:
17hz
2025-09-02 17:06:10 +08:00
committed by GitHub
parent af88266212
commit af351b1723

View File

@@ -2,6 +2,7 @@ import type { FC } from 'react'
import { import {
memo, memo,
useCallback, useCallback,
useEffect,
useMemo, useMemo,
useRef, useRef,
} from 'react' } from 'react'
@@ -188,6 +189,20 @@ const ModelModal: FC<ModelModalProps> = ({
return null return null
}, [model, provider]) }, [model, provider])
useEffect(() => {
const handleKeyDown = (event: KeyboardEvent) => {
if (event.key === 'Escape') {
event.stopPropagation()
onCancel()
}
}
document.addEventListener('keydown', handleKeyDown, true)
return () => {
document.removeEventListener('keydown', handleKeyDown, true)
}
}, [onCancel])
return ( return (
<PortalToFollowElem open> <PortalToFollowElem open>
<PortalToFollowElemContent className='z-[60] h-full w-full'> <PortalToFollowElemContent className='z-[60] h-full w-full'>