Greasy Fork

My Merges

Link to my merge requests

目前为 2024-02-15 提交的版本。查看 最新版本

// ==UserScript==
// @name         My Merges
// @namespace    https://nirewen.dev
// @version      2024-01-16
// @description  Link to my merge requests
// @author       Nirewen
// @match        https://gitlab.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gitlab.com
// @grant        none
// @require      https://code.jquery.com/jquery-3.7.1.min.js
// @license      MIT
// ==/UserScript==

$(document).ready(function() {
  const sleep = ms => new Promise((resolve) => setTimeout(resolve, ms))
  const btn = $('[data-track-label="merge_requests_menu"]');
  const username = $('[data-track-label="user_profile"]').attr("href").slice(1)
  let added = false

  btn.on('click', async () => {
    if (added) return

    await sleep(10)
    const disclosure = $('[data-track-label="merge_requests_menu"]').attr('aria-controls')

    $(`#${disclosure} > div > ul > li > ul`).append(
      $(`<li tabindex="0" data-testid="disclosure-dropdown-item" class="gl-new-dropdown-item">
          <a tabindex="-1"
            href="/dashboard/merge_requests?author_username=${username}"
            data-track-action="click_link"
            data-track-label="my_merge_requests"
            data-track-property="nav_core_menu"
            class="gl-new-dropdown-item-content dashboard-shortcuts-review_requests">
            <span class="gl-new-dropdown-item-text-wrapper">
              <span class="gl-display-flex gl-align-items-center gl-justify-content-space-between">
                My merge requests
              </span>
            </span>
          </a>
        </li>`)
    );

    added = true;
  });
});