借小丑牌结算时一张张牌亮起来:结果里每组测试点一个方块,从左往右依次亮, 对的绿、错的红并写组号,不到 1 秒亮完,提示和按钮亮完才出来,全对时亮完再放烟花。 大字和「通过几个」判完马上就有;只播刚交的那条,刷新、看旧提交、系统减少动画都直接全亮。 提交详情多给每组对没对(只有对错,不带数据),比赛照旧不给。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1a173f75d7
commit
36b3cd6b21
8 files changed
+375
-144
No files matched your search
@@ -65,6 +65,25 @@ export const useSubmissionStore = defineStore("submission", () => {
|
||||
revealResult("custom")
|
||||
trial.runCustom({ ...codeStore.code }, { problemId: problem.id, contestId: problem.contestId })
|
||||
}
|
||||
/**
|
||||
* 测试点一格一格亮(结果页签里的 CaseBlocks)只播一次,而且只播这一页上刚交、刚判完的那条:
|
||||
* 刷新、切页签回来、看以前的提交都直接全亮。系统设了「减少动画」的不播。
|
||||
* 烟花(SubmissionEffects)按同一个判断决定要不要等方块亮完
|
||||
*/
|
||||
const reducedMotion = usePreferredReducedMotion()
|
||||
const revealedCases = new Set<string>()
|
||||
function shouldRevealCases(id: string | undefined) {
|
||||
return (
|
||||
!!id &&
|
||||
reducedMotion.value !== "reduce" &&
|
||||
id === monitor.submissionId.value &&
|
||||
!revealedCases.has(id)
|
||||
)
|
||||
}
|
||||
function markCasesRevealed(id: string) {
|
||||
revealedCases.add(id)
|
||||
}
|
||||
|
||||
const isFormatting = ref(false)
|
||||
const isSubmittingRequest = ref(false)
|
||||
|
||||
@@ -206,6 +225,8 @@ export const useSubmissionStore = defineStore("submission", () => {
|
||||
resultSeq,
|
||||
resultSegment,
|
||||
revealResult,
|
||||
shouldRevealCases,
|
||||
markCasesRevealed,
|
||||
runSamples,
|
||||
runCustom,
|
||||
isFormatting,
|
||||
|
||||
Reference in new issue
Block a user