AtCoder Crouch Start

Add a link to problem A on upcoming AtCoder contest pages

  1. // ==UserScript==
  2. // @name AtCoder Crouch Start
  3. // @name:ja AtCoder Crouch Start
  4. // @namespace https://github.com/xe-o
  5. // @version 0.2
  6. // @description Add a link to problem A on upcoming AtCoder contest pages
  7. // @description:ja AtCoderの開始前のコンテストページにA問題へのリンクを追加します
  8. // @author XERO
  9. // @license MIT
  10. // @match https://atcoder.jp/contests/*
  11. // @exclude https://atcoder.jp/contests/
  12. // @grant none
  13. // ==/UserScript==
  14.  
  15. (function () {
  16. "use strict";
  17.  
  18. const fixtime = document.querySelector(".fixtime-full");
  19. const navTabs = document.querySelector(".nav.nav-tabs");
  20. const pullRightListItem = document.querySelector("li.pull-right");
  21.  
  22. if (fixtime && Date.parse(fixtime.innerText) > Date.now()) {
  23. const contestID = window.location.pathname.split("/")[2];
  24. const tab = document.createElement("li");
  25. tab.innerHTML = `<a href="/contests/${contestID}/tasks/${contestID}_a"><span class="glyphicon glyphicon-paperclip" style="margin-right:4px;" aria-hidden="true"></span>A問題</a>`;
  26. navTabs.insertBefore(tab, pullRightListItem);
  27. }
  28. })();