11// ==UserScript==
22// @name AtCoder dos2unix UserScript
33// @namespace https://github.com/kmyk
4- // @version 1.5
4+ // @version 1.6
55// @description submit code using LF instead of CRLF
66// @author Kimiyuki Onaka
77// @match *://atcoder.jp/contests/*/submit*
@@ -23,12 +23,25 @@ function post(path, payload, expectedURL) {
2323 alert ( "AtCoder dos2unix UserScript: something wrong / なんか変だよ ソースコードが空だったり連投制限に引っ掛かってたりしませんか" ) ;
2424 }
2525}
26+ function addNewButton ( normalButton ) {
27+ const button = document . createElement ( "button" ) ;
28+ button . innerText = "提出 (dos2unix)" ;
29+ for ( const value of normalButton . classList ) {
30+ button . classList . add ( value ) ;
31+ }
32+ button . classList . remove ( "btn-primary" ) ;
33+ button . classList . add ( "btn-success" ) ;
34+ normalButton . parentNode . insertBefore ( button , normalButton . nextSibling ) ;
35+ const space = document . createTextNode ( " " ) ;
36+ normalButton . parentNode . insertBefore ( space , button ) ;
37+ return button ;
38+ }
2639function beta ( ) {
2740 const taskScreenName = document . getElementsByName ( "data.TaskScreenName" ) [ 0 ] ;
2841 const sourceCode = document . getElementsByName ( "sourceCode" ) [ 0 ] ;
2942 const csrfToken = document . getElementsByName ( "csrf_token" ) [ 0 ] ;
30- const submit = document . getElementById ( "submit" ) ;
31- submit . innerText += " (dos2unix)" ;
43+ const normalSubmit = document . getElementById ( "submit" ) ;
44+ const submit = addNewButton ( normalSubmit ) ;
3245 submit . addEventListener ( "click" , function ( e ) {
3346 e . preventDefault ( ) ;
3447 // NOTE: I didn't know why, but the "data.LanguageId" must be gotten here. see https://github.com/kmyk/atcoder-dos2unix-userscript/issues/2
@@ -56,8 +69,8 @@ function alpha() {
5669 const languageId207 = document . getElementsByName ( "language_id_207" ) [ 0 ] ;
5770 const languageId2520 = document . getElementsByName ( "language_id_2520" ) [ 0 ] ;
5871 const sourceCode = document . getElementsByName ( "source_code" ) [ 0 ] ;
59- const submit = document . getElementsByTagName ( "button" ) [ 0 ] ;
60- submit . innerText += " (dos2unix)" ;
72+ const normalSubmit = document . getElementsByTagName ( "button" ) [ 0 ] ;
73+ const submit = addNewButton ( normalSubmit ) ;
6174 submit . addEventListener ( "click" , function ( e ) {
6275 e . preventDefault ( ) ;
6376 const data = [ ] ;
0 commit comments