Skip to content

Commit 8ed9257

Browse files
committed
fix(problems): 修复快捷键提交
1 parent a426d0d commit 8ed9257

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/content/pages/problems/Timer.tsx

+7-5
Original file line numberDiff line numberDiff line change
@@ -363,11 +363,12 @@ const Timer: FC<TimerProps> = ({ beta, root, dynamicLayout }) => {
363363
//#region 快捷键提交
364364
/** 使用快捷键提交的事件
365365
*/
366-
const handleKeydown = (e: KeyboardEvent) => {
367-
if (checkIfSubmitKey(e) && !checkIfGlobalSubmitIsDisabled()) {
368-
log.debug('使用快捷键提交')
369-
handleClick()
370-
}
366+
const handleKeydown = async (e: KeyboardEvent) => {
367+
if (!checkIfSubmitKey(e)) return
368+
const globalSubmitIsDisabled = await checkIfGlobalSubmitIsDisabled()
369+
if (globalSubmitIsDisabled) return
370+
log.debug('使用快捷键提交')
371+
handleClick()
371372
}
372373

373374
const getEditEl = async () => {
@@ -388,6 +389,7 @@ const Timer: FC<TimerProps> = ({ beta, root, dynamicLayout }) => {
388389
})
389390
useEffect(() => {
390391
if (!editEl) return
392+
console.log(editEl)
391393
editEl.addEventListener('keydown', handleKeydown)
392394
return () => editEl.removeEventListener('keydown', handleKeydown)
393395
}, [editEl])

src/content/pages/problems/utils.ts

+14-2
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,20 @@ const checkIfSubmitKey = (e: KeyboardEvent): boolean => {
136136
/** 检查全局提交快捷键是否被禁用
137137
*
138138
*/
139-
const checkIfGlobalSubmitIsDisabled = (): boolean =>
140-
localStorage.getItem('global_disabled_submit_code') === 'false'
139+
const checkIfGlobalSubmitIsDisabled = async (): Promise<boolean> => {
140+
const useBetaUI = await isBetaUI()
141+
if (useBetaUI) {
142+
try {
143+
const editorSetting = JSON.parse(
144+
localStorage.getItem('EDITOR_SETTING') || '{}'
145+
)
146+
return !editorSetting?.state?.shortcuts?.enableQuickSubmit
147+
} catch (error) {
148+
return false
149+
}
150+
}
151+
return localStorage.getItem('global_disabled_submit_code') === 'false'
152+
}
141153

142154
/** 答题页内获取需要放置计时组件的 root
143155
*

0 commit comments

Comments
 (0)