您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
去除“更新付款方式”错误;在 PR 界面添加快进式合并按钮。
- // ==UserScript==
- // @name Better GitHub
- // @namespace https://greasyfork.org/zh-CN/scripts/515684
- // @version 0.2.1
- // @description 去除“更新付款方式”错误;在 PR 界面添加快进式合并按钮。
- // @author ketikai
- // @license MIT
- // @match https://github.com/*
- // @icon https://github.com/fluidicon.png
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // <section aria-label="Error" class="flash flash-full js-notice flash-error">...</section>
- function RemoveUpdateYourPaymentMethodError() {
- let sections = document.getElementsByTagName('section');
- if (!sections) {
- return;
- }
- for (let i = 0; i < sections.length; i++) {
- let section = sections[i];
- if (!section) {
- continue;
- }
- if (section.ariaLabel != 'Error') {
- continue;
- }
- if (section.className != 'flash flash-full js-notice flash-error') {
- continue;
- }
- let text = section.innerText;
- if (!text || !text.startsWith("We are having a problem billing your account. Please update your payment method or call your payment provider for details on why the transaction failed.")) {
- continue;
- }
- section.remove();
- console.log('Removed Error: UpdateYourPaymentMethod.');
- break;
- }
- }
- function insertFastForwardButton() {
- let state = document.getElementsByClassName('State State--open');
- if (state.length < 1) {
- return;
- }
- if (state[0].getAttribute('reviewable_state') !== 'ready') {
- return;
- }
- let commentDiv = document.getElementsByClassName('color-bg-subtle ml-1')[0];
- if (commentDiv.textContent.trim() === 'Comment') {
- let parent = commentDiv.parentElement;
- let fastForwardDiv = commentDiv.cloneNode(true);
- let fastForwardButton = fastForwardDiv.getElementsByTagName('button')[0];
- fastForwardButton.textContent = 'Fast forward';
- fastForwardButton.getAttributeNames().forEach(function(name) {
- if (name !== 'class') {
- fastForwardButton.removeAttribute(name);
- }
- });
- fastForwardButton.setAttribute('type', 'button');
- let textArea = document.getElementById('new_comment_field');
- let commentButton = commentDiv.getElementsByTagName('button')[0];
- fastForwardButton.onclick = function(event) {
- if (event.button == 0) {
- if (textArea.textContent === '/fast-forward') {
- commentButton.disabled = false;
- commentButton.click();
- commentButton.disabled = true;
- textArea.textContent = '';
- } else {
- textArea.textContent = '/fast-forward';
- commentButton.disabled = true;
- }
- }
- };
- parent.insertBefore(fastForwardDiv, commentDiv);
- }
- }
- insertFastForwardButton();
- RemoveUpdateYourPaymentMethodError();
- document.addEventListener("DOMContentLoaded", function(event) {
- insertFastForwardButton();
- RemoveUpdateYourPaymentMethodError();
- });
- })();