// ==UserScript== // @name Fast-Codeforces-dev // @namespace xcxxcx // @version 0.2.3 // @match *://codeforces.com/* // @match *://codeforc.es/* // @match *://codeforces.ml/* // @description 使您更方便地使用Codeforces // @require https://code.jquery.com/jquery-3.4.1.min.js // @author xcxxcx // @downloadURL none // ==/UserScript== var $=unsafeWindow.jQuery,math=unsafeWindow.MathJax; var Name="fast-codeforces-",JPar=JSON.parse,JStr=JSON.stringify; var tcount=[],tsum=0; function gets(dir){ if((Name+dir) in localStorage ===false||localStorage[Name+dir]==="undefined")return void 0; return JPar(localStorage[Name+dir]); } function puts(dir,val){ if(val!==void 0)localStorage[Name+dir]=JStr(val); else localStorage[Name+dir]="undefined"; } var user=$(".lang-chooser>div:eq(1)>a:eq(0)").html(),user_csrf=$("[name=X-Csrf-Token]").attr("content"); function Ajax(url,async=false){ var tmp=++tsum; $.ajax({ async:async,method:"GET",url:url,data:{},success:function(e){tcount[tmp]=e;}, error:function(e){tcount[tmp]="Err";} }); return tmp; } function show_pre(){$("#pageContent,#pre-bar").show();} function hide_pre(){$("#pageContent,#pre-bar").hide();} function show_sub(){$("#fc-submit").show();$("#fc-menu-submit").css("background-color","#AAAAAA");} function hide_sub(){$("#fc-submit").hide();$("#fc-menu-submit").css("background-color","white");} function getsub(){ var sub=gets("submit"); if(sub!==void 0){$("#fc-submit-form").html(sub);return;} sub=$(Ajax("/problemset/submit")).find(".submit-form"); sub.find(".aceEditorTd").html(``); $("#fc-submit-form").html(sub.html());puts("submit",sub.html()); } function init_sub(){ $("#pageContent").after($(`
`)); getsub(); } var prolist=[],focpro,promap={}; function showpro(ID){$("#fc-problem-menu-"+ID).addClass("focpro");$("#fc-problem-"+ID+",#fc-bar-problem-"+ID).show();} function hidepro(ID){$("#fc-problem-menu-"+ID).removeClass("focpro");$("#fc-problem-"+ID+",#fc-bar-problem-"+ID).hide();} function show_pro(){$("#fc-problem,#fc-bar-problem").show();$("#fc-menu-problem").css("background-color","#AAAAAA");} function hide_pro(){$("#fc-problem,#fc-bar-problem").hide();$("#fc-menu-problem").css("background-color","white");} function addpro(x,y){ var tmp=Ajax("/problemset/problem/"+x+"/"+y,true),load=$(`