diff --git a/web/app/components/header/account-setting/model-provider-page/model-modal/index.tsx b/web/app/components/header/account-setting/model-provider-page/model-modal/index.tsx index e9050e4837..d754d24d90 100644 --- a/web/app/components/header/account-setting/model-provider-page/model-modal/index.tsx +++ b/web/app/components/header/account-setting/model-provider-page/model-modal/index.tsx @@ -2,6 +2,7 @@ import type { FC } from 'react' import { memo, useCallback, + useEffect, useMemo, useRef, } from 'react' @@ -188,6 +189,20 @@ const ModelModal: FC = ({ return null }, [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 (