mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
core: fix contest_scoreboard display
This commit is contained in:
1 parent
f7006cf288
commit
a64e1857b4
2 files changed
+8
-6
No files matched your search
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "hydrooj",
|
||||
"version": "3.17.10",
|
||||
"version": "3.17.11",
|
||||
"bin": "bin/hydrooj.js",
|
||||
"main": "src/loader",
|
||||
"module": "src/loader",
|
||||
|
||||
@@ -32,7 +32,12 @@ interface AcmDetail extends AcmJournal {
|
||||
}
|
||||
|
||||
function buildContestRule<T>(def: ContestRule<T>): ContestRule<T> {
|
||||
const _originalRule = { scoreboard: def.scoreboard, stat: def.stat };
|
||||
const _originalRule = {
|
||||
scoreboard: def.scoreboard,
|
||||
scoreboardRow: def.scoreboardRow,
|
||||
scoreboardHeader: def.scoreboardHeader,
|
||||
stat: def.stat,
|
||||
};
|
||||
def.scoreboard = (def._originalRule?.scoreboard || def.scoreboard).bind(def);
|
||||
def.scoreboardHeader = (def._originalRule?.scoreboardHeader || def.scoreboardHeader).bind(def);
|
||||
def.scoreboardRow = (def._originalRule?.scoreboardRow || def.scoreboardRow).bind(def);
|
||||
@@ -234,10 +239,7 @@ const oi = buildContestRule({
|
||||
return columns;
|
||||
},
|
||||
async scoreboardRow(isExport, _, tdoc, pdict, udoc, rank, tsdoc, meta) {
|
||||
const tsddict = {};
|
||||
for (const item of tsdoc.journal || []) {
|
||||
if (!tsddict[item.pid] || tsddict[item.pid].score < item.score || this.submitAfterAccept) tsddict[item.pid] = item;
|
||||
}
|
||||
const tsddict = tsdoc.detail;
|
||||
const row: ScoreboardNode[] = [
|
||||
{ type: 'rank', value: rank.toString() },
|
||||
{ type: 'user', value: udoc.uname, raw: tsdoc.uid },
|
||||
|
||||
Reference in new issue
Block a user