// ==UserScript== // @name MangaDex Mass Uploader // @namespace Teasday // @version 1.4 // @license GNU GPLv3 // @description Upload en mass // @author Teasday // @match https://mangadex.org/upload/* // @icon https://mangadex.org/favicon.ico // @homepageURL https://teasday.github.io/userscripts/mangadex-massuploader/ // @updateURL https://raw.githubusercontent.com/teasday/userscripts/master/mangadex-massuploader/mangadex-massuploader.meta.js // @downloadURL https://raw.githubusercontent.com/teasday/userscripts/master/mangadex-massuploader/mangadex-massuploader.user.js // @require http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js // @grant none // ==/UserScript== // Based on https://ewasion.github.io/userscripts/mangadex-upload/ /* jshint asi: true */ (function() { 'use strict' const $ = jQuery.noConflict(true) const regexDefaultVolume = /.*v[^\dc]*?(\.?\d+(?:\.\d+)*[a-zA-Z]?\d*)/i const regexDefaultChapter = /.*c[^\dv]*?(\.?\d+(?:\.\d+)*[a-zA-Z]?\d*)/i const regexDefaultGroup = /.*(?:\[([^\]]+)\].*)/i const regexZeroPad = /^0+(?=\d)/ const mangaId = $('#manga_id').val() const langPicker = $('#lang_id').clone().attr('id', null) const groupPicker = $('#group_id') const actions = $('#upload_form > div:last-child').prev() const panel = $( `