AtCoder Search Query Holder

「すべての提出」「自分の提出」ページを遷移し合うときに検索条件を保持する

  1. // ==UserScript==
  2. // @name AtCoder Search Query Holder
  3. // @namespace https://twitter.com/cpg_tea
  4. // @version 1.0
  5. // @description 「すべての提出」「自分の提出」ページを遷移し合うときに検索条件を保持する
  6. // @author gmm_tea
  7. // @license MIT
  8. // @match https://atcoder.jp/contests/*/submissions?*
  9. // @match https://atcoder.jp/contests/*/submissions/me?*
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. "use strict";
  15.  
  16. // 「すべての提出」「自分の提出」ボタンを取得
  17. const ul = document.querySelector("#main-container > div.row > div:nth-child(2) > ul");
  18. const buttons = Array.from(ul.querySelectorAll("li > a")).slice(0, 2);
  19.  
  20. // リンク先に今の検索条件を書き加える
  21. buttons.forEach((button) => button.setAttribute("href", button.getAttribute("href") + location.search));
  22. })();