xmoj-script 1.4.1 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ jobs:
14
14
  fetch-depth: 0
15
15
  - name: Generate a token
16
16
  id: generate_token
17
- uses: actions/create-github-app-token@v1
17
+ uses: actions/create-github-app-token@v2
18
18
  with:
19
19
  app-id: ${{ secrets.APP_ID }}
20
20
  private-key: ${{ secrets.APP_PRIVATE_KEY }}
@@ -13,7 +13,7 @@ jobs:
13
13
  steps:
14
14
  - name: Generate a token
15
15
  id: generate_token
16
- uses: actions/create-github-app-token@v1
16
+ uses: actions/create-github-app-token@v2
17
17
  with:
18
18
  app-id: ${{ secrets.APP_ID }}
19
19
  private-key: ${{ secrets.APP_PRIVATE_KEY }}
@@ -12,7 +12,7 @@ jobs:
12
12
  steps:
13
13
  - name: Generate a token
14
14
  id: generate_token
15
- uses: actions/create-github-app-token@v1
15
+ uses: actions/create-github-app-token@v2
16
16
  with:
17
17
  app-id: ${{ secrets.APP_ID }}
18
18
  private-key: ${{ secrets.APP_PRIVATE_KEY }}
@@ -13,7 +13,7 @@ jobs:
13
13
  steps:
14
14
  - name: Generate a token
15
15
  id: generate_token
16
- uses: actions/create-github-app-token@v1
16
+ uses: actions/create-github-app-token@v2
17
17
  with:
18
18
  app-id: ${{ secrets.APP_ID }}
19
19
  private-key: ${{ secrets.APP_PRIVATE_KEY }}
@@ -12,7 +12,7 @@ jobs:
12
12
  steps:
13
13
  - name: Generate a token
14
14
  id: generate_token
15
- uses: actions/create-github-app-token@v1
15
+ uses: actions/create-github-app-token@v2
16
16
  with:
17
17
  app-id: ${{ secrets.APP_ID }}
18
18
  private-key: ${{ secrets.APP_PRIVATE_KEY }}
@@ -17,7 +17,7 @@ jobs:
17
17
  steps:
18
18
  - name: Generate a token
19
19
  id: generate_token
20
- uses: actions/create-github-app-token@v1
20
+ uses: actions/create-github-app-token@v2
21
21
  with:
22
22
  app-id: ${{ secrets.APP_ID }}
23
23
  private-key: ${{ secrets.APP_PRIVATE_KEY }}
package/Update.json CHANGED
@@ -2766,6 +2766,28 @@
2766
2766
  }
2767
2767
  ],
2768
2768
  "Notes": "No release notes were provided for this release."
2769
+ },
2770
+ "1.5.0": {
2771
+ "UpdateDate": 1740316085837,
2772
+ "Prerelease": false,
2773
+ "UpdateContents": [
2774
+ {
2775
+ "PR": 784,
2776
+ "Description": "fix cdn"
2777
+ }
2778
+ ],
2779
+ "Notes": "No release notes were provided for this release."
2780
+ },
2781
+ "1.5.1": {
2782
+ "UpdateDate": 1745307653685,
2783
+ "Prerelease": true,
2784
+ "UpdateContents": [
2785
+ {
2786
+ "PR": 791,
2787
+ "Description": "remove ACM rankings"
2788
+ }
2789
+ ],
2790
+ "Notes": "No release notes were provided for this release."
2769
2791
  }
2770
2792
  }
2771
2793
  }
package/XMOJ.user.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // ==UserScript==
2
2
  // @name XMOJ
3
- // @version 1.4.1
3
+ // @version 1.5.1
4
4
  // @description XMOJ增强脚本
5
5
  // @author @XMOJ-Script-dev, @langningchen and the community
6
6
  // @namespace https://github/langningchen
@@ -665,13 +665,6 @@ async function main() {
665
665
  document.querySelector("#navbar > ul:nth-child(1)").appendChild(Discussion);
666
666
  Discussion.innerHTML = "<a href=\"https://www.xmoj.tech/discuss3/discuss.php\">讨论</a>";
667
667
  }
668
-
669
- if (document.querySelector("#navbar > ul:nth-child(1)").childElementCount > 8 && UtilityEnabled("ACMRank")) {
670
- let ACMRank = document.createElement("li");
671
- document.querySelector("#navbar > ul:nth-child(1)").insertBefore(ACMRank, document.querySelector("#navbar > ul:nth-child(1) > li:nth-child(9)"));
672
- ACMRank.innerHTML = "<a href=\"https://www.xmoj.tech/contestrank-oi.php?cid=" + Number(SearchParams.get("cid")) + "&ByUserScript=1\">ACM 排名</a>";
673
- ACMRank.classList.add("active");
674
- }
675
668
  if (UtilityEnabled("Translate")) {
676
669
  document.querySelector("#navbar > ul:nth-child(1) > li:nth-child(2) > a").innerText = "题库";
677
670
  }
@@ -1356,9 +1349,7 @@ async function main() {
1356
1349
  }
1357
1350
  return List;
1358
1351
  };
1359
- UtilitiesCardBody.appendChild(CreateList([{
1360
- "ID": "ACMRank", "Type": "A", "Name": "比赛ACM排名,并且能下载ACM排名"
1361
- }, {"ID": "Discussion", "Type": "F", "Name": "恢复讨论与短消息功能"}, {
1352
+ UtilitiesCardBody.appendChild(CreateList([{"ID": "Discussion", "Type": "F", "Name": "恢复讨论与短消息功能"}, {
1362
1353
  "ID": "MoreSTD", "Type": "F", "Name": "查看到更多标程"
1363
1354
  }, {"ID": "ApplyData", "Type": "A", "Name": "获取数据功能"}, {
1364
1355
  "ID": "AutoCheat", "Type": "A", "Name": "自动提交当年代码"
@@ -2293,397 +2284,6 @@ async function main() {
2293
2284
  addEventListener("focus", RefreshOIRank);
2294
2285
  }
2295
2286
  }
2296
- } else if (UtilityEnabled("ACMRank")) {
2297
- if (document.querySelector("body > div > div.mt-3 > center > h3").innerText != "比赛排名") {
2298
- document.querySelector("body > div > div.mt-3 > center > h3").innerText = document.querySelector("body > div > div.mt-3 > center > h3").innerText.substring(document.querySelector("body > div > div.mt-3 > center > h3").innerText.indexOf(" -- ") + 4) + "(ACM排名)";
2299
- }
2300
- let RankData = [];
2301
- let RefreshACMRank = async (ProblemCount) => {
2302
- let LastPositionX = scrollX;
2303
- let LastPositionY = scrollY;
2304
- let NewURL = new URL(location.href);
2305
- NewURL.pathname = "/contestrank2.php";
2306
- await fetch(NewURL.toString())
2307
- .then((Response) => {
2308
- return Response.text()
2309
- })
2310
- .then(async (Response) => {
2311
- RankData = [];
2312
- let Table = document.querySelector("#rank");
2313
- Table.classList.add("table");
2314
- Table.innerHTML = "";
2315
- let StartPosition = Response.indexOf("var solutions=") + 14;
2316
- let EndPosition = Response.indexOf("}];", StartPosition) + 2;
2317
- if (EndPosition == 1) {
2318
- Table.innerHTML = "暂时还没有人提交呢";
2319
- } else {
2320
- let SubmitRecord = JSON.parse(Response.substring(StartPosition, EndPosition));
2321
-
2322
- for (let i = 0; i < SubmitRecord.length; i++) {
2323
- let CurrentSubmission = SubmitRecord[i];
2324
- let CurrentRow = RankData.find((CurrentRow) => {
2325
- if (CurrentRow.Username == CurrentSubmission.user_id) {
2326
- return true;
2327
- }
2328
- });
2329
- if (CurrentRow == null) {
2330
- CurrentRow = {
2331
- Username: CurrentSubmission.user_id,
2332
- Nickname: CurrentSubmission.nick,
2333
- Solved: 0,
2334
- Penalty: 0,
2335
- Problem: [],
2336
- QuickSubmitCount: 0
2337
- };
2338
- RankData.push(CurrentRow);
2339
- }
2340
- let CurrentProblem = CurrentRow.Problem.find((CurrentRow) => {
2341
- if (CurrentRow.Index == CurrentSubmission.num) {
2342
- return true;
2343
- }
2344
- });
2345
- if (CurrentProblem == null) {
2346
- CurrentProblem = {
2347
- Index: CurrentSubmission.num, Attempts: [], SolveTime: 0
2348
- };
2349
- CurrentRow.Problem.push(CurrentProblem);
2350
- }
2351
- if (CurrentSubmission.result == 4 && CurrentProblem.SolveTime == 0) {
2352
- CurrentProblem.SolveTime = parseInt(CurrentSubmission.in_date);
2353
- CurrentRow.Solved++;
2354
- CurrentRow.Penalty += parseInt(CurrentSubmission.in_date) + CurrentProblem.Attempts.length * 20 * 60;
2355
- }
2356
- CurrentProblem.Attempts.push({
2357
- Time: CurrentSubmission.in_date, Result: CurrentSubmission.result
2358
- });
2359
- }
2360
-
2361
- for (let i = 0; i < RankData.length; i++) {
2362
- for (let j = 0; j < RankData[i].Problem.length; j++) {
2363
- for (let k = 0; k < RankData[i].Problem.length; k++) {
2364
- if (j != k && RankData[i].Problem[j].SolveTime != 0 && RankData[i].Problem[k].SolveTime != 0 && Math.abs(RankData[i].Problem[j].SolveTime - RankData[i].Problem[k].SolveTime) < 60) {
2365
- RankData[i].QuickSubmitCount++;
2366
- }
2367
- }
2368
- }
2369
- }
2370
-
2371
- RankData.sort((a, b) => {
2372
- if (a.Solved != b.Solved) {
2373
- return a.Solved < b.Solved ? 1 : -1;
2374
- } else if (a.Penalty != b.Penalty) {
2375
- return a.Penalty > b.Penalty ? 1 : -1;
2376
- }
2377
- return 0;
2378
- });
2379
-
2380
- let Header = document.createElement("thead");
2381
- Table.appendChild(Header);
2382
- let RowHeader = document.createElement("tr");
2383
- Header.appendChild(RowHeader);
2384
- let MetalHeader = document.createElement("th");
2385
- RowHeader.appendChild(MetalHeader);
2386
- MetalHeader.innerText = "排名";
2387
- MetalHeader.style.width = "5%";
2388
- let UsernameHeader = document.createElement("th");
2389
- RowHeader.appendChild(UsernameHeader);
2390
- UsernameHeader.innerText = "用户";
2391
- UsernameHeader.style.width = "10%";
2392
- let NicknameHeader = document.createElement("th");
2393
- RowHeader.appendChild(NicknameHeader);
2394
- NicknameHeader.innerText = "昵称";
2395
- NicknameHeader.style.width = "10%";
2396
- let NameHeader = document.createElement("th");
2397
- RowHeader.appendChild(NameHeader);
2398
- NameHeader.innerText = "姓名";
2399
- NameHeader.style.width = "5%";
2400
- let SolvedHeader = document.createElement("th");
2401
- RowHeader.appendChild(SolvedHeader);
2402
- SolvedHeader.innerText = "AC数";
2403
- SolvedHeader.style.width = "5%";
2404
- let PenaltyHeader = document.createElement("th");
2405
- RowHeader.appendChild(PenaltyHeader);
2406
- PenaltyHeader.innerText = "罚时";
2407
- PenaltyHeader.style.width = "10%";
2408
-
2409
- for (let i = 0; i < ProblemCount; i++) {
2410
- let ProblemHeader = document.createElement("th");
2411
- RowHeader.appendChild(ProblemHeader);
2412
- let ProblemLink = document.createElement("a");
2413
- ProblemHeader.appendChild(ProblemLink);
2414
- ProblemLink.href = "problem.php?cid=" + SearchParams.get("cid") + "&pid=" + i;
2415
- ProblemLink.innerText = String.fromCharCode(65 + i);
2416
- ProblemHeader.classList.add("header");
2417
- ProblemHeader.style.width = (50 / ProblemCount) + "%";
2418
- }
2419
-
2420
- let Body = document.createElement("tbody");
2421
- Table.appendChild(Body);
2422
- Body.className = "table-group-divider";
2423
- for (let i = 0; i < RankData.length; i++) {
2424
- let RowData = RankData[i];
2425
- let Row = document.createElement("tr");
2426
- Body.appendChild(Row);
2427
- let MetalCell = document.createElement("td");
2428
- Row.appendChild(MetalCell);
2429
- let UsernameCell = document.createElement("td");
2430
- Row.appendChild(UsernameCell);
2431
- let NicknameCell = document.createElement("td");
2432
- Row.appendChild(NicknameCell);
2433
- let NameCell = document.createElement("td");
2434
- Row.appendChild(NameCell);
2435
- let SolvedCell = document.createElement("td");
2436
- Row.appendChild(SolvedCell);
2437
- let PenaltyCell = document.createElement("td");
2438
- Row.appendChild(PenaltyCell);
2439
-
2440
- let Medal = document.createElement("span");
2441
- MetalCell.appendChild(Medal);
2442
- Medal.innerText = i + 1;
2443
- Medal.classList.add("badge");
2444
- if (i <= RankData.length * 0.05) {
2445
- Medal.classList.add("text-bg-danger");
2446
- } else if (i <= RankData.length * 0.15) {
2447
- Medal.classList.add("text-bg-warning");
2448
- } else if (i <= RankData.length * 0.4) {
2449
- Medal.classList.add("text-bg-primary");
2450
- } else {
2451
- Medal.classList.add("text-bg-secondary");
2452
- }
2453
-
2454
- let UsernameSpan = document.createElement("span");
2455
- UsernameCell.appendChild(UsernameSpan);
2456
- GetUsernameHTML(UsernameSpan, RowData.Username);
2457
- if (RowData.Username == CurrentUsername) {
2458
- Row.classList.add("table-primary");
2459
- }
2460
- if (RowData.QuickSubmitCount >= 2) {
2461
- let QuickSubmitBadge = document.createElement("span");
2462
- UsernameCell.appendChild(QuickSubmitBadge);
2463
- QuickSubmitBadge.innerText = "疑似提交当年代码";
2464
- QuickSubmitBadge.className = "badge text-bg-warning ms-2";
2465
- }
2466
-
2467
- NicknameCell.innerText = (RowData.Nickname.length < 16 ? RowData.Nickname : RowData.Nickname.substring(0, 15) + "...");
2468
-
2469
- let Names = {
2470
- "chenlangning": "陈朗宁",
2471
- "chensiru": "陈斯如",
2472
- "chensiqi": "陈思齐",
2473
- "chentianle": "陈天乐",
2474
- "chenxi": "陈曦",
2475
- "chenxuanhe": "陈宣合",
2476
- "chenyiming5": "陈一铭",
2477
- "chenzecong": "陈泽聪",
2478
- "chenzerui": "陈泽睿",
2479
- "danwenxiao": "单文骁",
2480
- "dengwanting": "邓万廷",
2481
- "dongminghui": "董明辉",
2482
- "dujianping": "杜建平",
2483
- "fanxiaoran": "范小冉",
2484
- "gaochenming": "高晨茗",
2485
- "guhongran": "顾泓然",
2486
- "guoluxi": "郭麓羲",
2487
- "guoqingtong": "郭庆桐",
2488
- "guoruiqun": "郭睿群",
2489
- "guyuchen": "顾毓辰",
2490
- "guzheran": "顾哲然",
2491
- "hanshujian": "韩书简",
2492
- "heshuhan": "贺书瀚",
2493
- "hexinyi": "何昕弈",
2494
- "huheng": "胡恒",
2495
- "huangkai": "黄开",
2496
- "huangmingxuan": "黄铭宣",
2497
- "huangruina": "黄睿纳",
2498
- "huangwei": "黄唯",
2499
- "huyiyang": "胡以杨",
2500
- "hongshaolin": "洪绍霖",
2501
- "jiangxingyu": "姜星宇",
2502
- "jingtaiyu": "荆泰宇",
2503
- "jinweizhe": "金炜喆",
2504
- "leijiahan": "雷家涵",
2505
- "leizihao": "雷子昊",
2506
- "leiwenda": "雷文达",
2507
- "lidonglin": "李东霖",
2508
- "lihanzhang": "李含章",
2509
- "lijiayi": "李佳毅",
2510
- "limingrui": "李明睿",
2511
- "lishinong": "李诗浓",
2512
- "lizhishan": "李执善",
2513
- "lianzhongzhe": "连中哲",
2514
- "liaoyanxu": "廖彦旭",
2515
- "lingzixiang": "凌梓翔",
2516
- "linziyi": "林子懿",
2517
- "liujianhao": "刘健豪",
2518
- "liujiankun": "刘健坤",
2519
- "liuxianyong": "刘先勇",
2520
- "liuxixian": "刘希贤",
2521
- "liuyuxi": "刘雨夕",
2522
- "liyihan": "李亦涵",
2523
- "lejingyuan": "乐静远",
2524
- "luhanlin": "陆涵琳",
2525
- "lutianfeng": "陆天枫",
2526
- "luojinyang": "罗金阳",
2527
- "lvhouxi": "吕厚希",
2528
- "meitianyi": "梅天一",
2529
- "niruolin": "倪若琳",
2530
- "panyinliang": "潘胤良",
2531
- "pengyixuan": "彭议萱",
2532
- "putong": "蒲通",
2533
- "qianqingyuan": "钱清源",
2534
- "qidekai": "戚得凯",
2535
- "renzhizhou": "任知周",
2536
- "shanwenxiao": "单文骁",
2537
- "shenhaoze": "沈昊泽",
2538
- "shenxichen": "沈熙晨",
2539
- "shenzichen": "沈孜晨",
2540
- "shihongxi": "施泓熙",
2541
- "shimufan": "施慕梵",
2542
- "shiyichen": "施奕辰",
2543
- "shiyunhao": "施云浩",
2544
- "shuxinmo": "舒馨墨",
2545
- "suiruochen": "隋若宸",
2546
- "sunyihan": "孙艺涵",
2547
- "sunyimiao": "孙义淼",
2548
- "sunyichen2": "孙袆辰",
2549
- "tangchao": "唐潮",
2550
- "tangyuhan": "唐钰涵",
2551
- "tanhaoxuan": "谭皓轩",
2552
- "tanghaoran": "汤皓然",
2553
- "taoxianyu": "陶羡榆",
2554
- "wangkangming": "王康明",
2555
- "wangmaohua": "王茂骅",
2556
- "wangminghao": "王明浩",
2557
- "wangmingshuo": "王茗铄",
2558
- "wangpengyu": "王芃雨",
2559
- "wangsiyuan3": "王思源",
2560
- "wangtianqi": "王天琦",
2561
- "wangzetong": "王泽通",
2562
- "wangjiarui5": "王加睿",
2563
- "wangjunzhe": "王俊喆",
2564
- "wanxinlian": "万馨联",
2565
- "weilai3": "魏铼",
2566
- "weilai4": "魏来",
2567
- "wensiyi": "闻思奕",
2568
- "wujinhong": "吴锦鸿",
2569
- "wuruitong": "吴瑞桐",
2570
- "wumingxuan2": "吴明轩",
2571
- "wurunze": "吴润泽",
2572
- "wuyukai": "巫昱恺",
2573
- "xiangjicheng": "项际诚",
2574
- "xiaoguanxun": "肖贯勋",
2575
- "xiaojiasheng": "肖嘉盛",
2576
- "xiaruicheng": "夏瑞成",
2577
- "xiaweimin": "夏蔚民",
2578
- "xiaxuran": "夏诩然",
2579
- "xiebingxiu": "谢秉修",
2580
- "xieliren": "谢立仁",
2581
- "xieruiqi": "谢睿棋",
2582
- "xiongluofei": "熊洛菲",
2583
- "xinyihan": "辛轶涵",
2584
- "xuconghan": "徐从瀚",
2585
- "xukan": "徐衎",
2586
- "xuweiyi": "徐维易",
2587
- "yanghaochen": "杨皓宸",
2588
- "yangsining": "杨思凝",
2589
- "yangqinyu": "杨钦宇",
2590
- "yezijiong": "叶梓炅",
2591
- "youzhouhang": "尤周杭",
2592
- "yuanruiqing": "袁瑞擎",
2593
- "yuanyueyang": "袁悦洋",
2594
- "yutingjun": "于庭郡",
2595
- "yuqiuning": "余秋凝",
2596
- "zhangchenming": "张宸铭",
2597
- "zhangqiuze": "张秋泽",
2598
- "zhangshuxuan": "张澍萱",
2599
- "zhangwenda": "张闻达",
2600
- "zhangyifu": "张亦夫",
2601
- "zhangyouheng": "张佑恒",
2602
- "zhaochenshen": "赵晨神",
2603
- "zhaochenwei": "赵晨伟",
2604
- "zhengyinan": "郑逸楠",
2605
- "zhonghongyi": "钟弘毅",
2606
- "zhouyiqing": "周意清",
2607
- "zhoujunyu": "周峻瑜",
2608
- "zhouziyi": "周子逸",
2609
- "zhuziruo": "朱子若",
2610
- "zhouziyou": "周子游",
2611
- "zhuchenrui2": "朱晨瑞",
2612
- "zhuruichen": "朱睿宸",
2613
- "zhuxule": "朱徐乐",
2614
- "zhuyikun": "朱奕坤",
2615
- "wangyuancheng": "王源成",
2616
- "zhuyiyang": "朱奕阳",
2617
- "hanjialin": "韩佳霖",
2618
- "zhaozichen": "赵紫辰",
2619
- "zhuochengjie": "卓成杰",
2620
- "zhouhaiyang": "周海洋",
2621
- "zhuaiwei": "朱艾薇",
2622
- "linlitong": "林立桐",
2623
- "xuyan": "徐衍",
2624
- "fenghaochen": "冯皓宸",
2625
- "lutianlang": "陆天朗",
2626
- "jiangbowen": "姜博闻",
2627
- "shangguanbocheng": "上官伯呈",
2628
- "wangchengqi": "王呈齐",
2629
- "yanpeitong": "颜培桐",
2630
- "gongcheng": "龚橙",
2631
- "weijiefu": "韦杰夫",
2632
- "": ""
2633
- };
2634
- NameCell.innerText = (Names[RowData.Username] == undefined ? "" : Names[RowData.Username]);
2635
-
2636
- SolvedCell.innerText = RowData.Solved;
2637
-
2638
- PenaltyCell.innerText = SecondsToString(RowData.Penalty);
2639
-
2640
- for (let j = 0; j < ProblemCount; j++) {
2641
- let Problem = document.createElement("td");
2642
- Row.appendChild(Problem);
2643
- let ProblemData = RowData.Problem.find((CurrentRow) => {
2644
- if (CurrentRow.Index == j) {
2645
- return true;
2646
- }
2647
- });
2648
- if (ProblemData == undefined) {
2649
- Problem.style.backgroundColor = "rgba(0, 0, 0, 0)";
2650
- } else if (ProblemData.SolveTime != 0) {
2651
- Problem.innerText = SecondsToString(ProblemData.SolveTime) + "(" + ProblemData.Attempts.length + ")";
2652
- let Color = Math.max(1 / 10 * (10 - ProblemData.Attempts.length), 0.2);
2653
- Problem.style.backgroundColor = "rgba(0, 255, 0, " + Color + ")";
2654
- } else {
2655
- Problem.innerText = "(" + ProblemData.Attempts.length + ")";
2656
- let Color = Math.min(ProblemData.Attempts.length / 10 + 0.2, 1);
2657
- Problem.style.backgroundColor = "rgba(255, 0, 0, " + Color + ")";
2658
- }
2659
- Problem.style.color = (UtilityEnabled("DarkMode") ? "white" : "black");
2660
- }
2661
- }
2662
-
2663
- TidyTable(Table);
2664
-
2665
- scrollTo({
2666
- left: LastPositionX, top: LastPositionY, behavior: "instant"
2667
- });
2668
- }
2669
- });
2670
- }
2671
- document.getElementById("rank").style.width = "100%";
2672
- let DownloadButton = document.createElement("button");
2673
- document.querySelector("body > div.container > div > center").insertBefore(DownloadButton, document.querySelector("body > div.container > div > center > a"));
2674
- DownloadButton.className = "btn btn-outline-secondary";
2675
- DownloadButton.innerText = "下载ACM排名";
2676
- DownloadButton.style.marginBottom = "20px";
2677
- DownloadButton.addEventListener("click", () => {
2678
- location.href = "https://www.xmoj.tech/contestrank.xls.php?cid=" + SearchParams.get("cid");
2679
- });
2680
- let ProblemCount = localStorage.getItem("UserScript-Contest-" + SearchParams.get("cid") + "-ProblemCount");
2681
- RefreshACMRank(ProblemCount);
2682
- if (UtilityEnabled("AutoRefresh")) {
2683
- addEventListener("focus", () => {
2684
- RefreshACMRank(ProblemCount);
2685
- });
2686
- }
2687
2287
  }
2688
2288
  Style.innerHTML += "td {";
2689
2289
  Style.innerHTML += " white-space: nowrap;";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xmoj-script",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "an improvement script for xmoj.tech",
5
5
  "main": "AddonScript.js",
6
6
  "scripts": {