Simple sign in button

Remove the intrusive header bar in favour of a button.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript== 
// @name        Simple sign in button
// @author      Schimon Jehudah, Adv.
// @copyright   2024 - 2025, Schimon Jehudah (http://schimon.i2p)
// @license     AGPL-3.0-only; https://www.gnu.org/licenses/agpl-3.0.en.html
// @namespace   org.openuserjs.sjehuda.simplebutton
// @description Remove the intrusive header bar in favour of a button.
// @match       https://github.com/* 
// @version     25.05.14
// @grant       none
// @homepageURL https://greasyfork.org/scripts/515813-simple-sign-in-button
// @supportURL  https://greasyfork.org/scripts/515813-simple-sign-in-button/feedback
// ==/UserScript==

var signInLink = document.evaluate('//a[contains(@href, "/login?")]/@href', document, null, XPathResult.STRING_TYPE).stringValue;

if (signInLink) {
  document.querySelector('header').remove();
  let elementsignIn = document.createElement('a');
  //elementsignIn.textContent = '🔌';
  elementsignIn.textContent = 'Connect';
  elementsignIn.title = 'You are encouraged to migrate to cgit, Codeberg, Forgejo, Gitea, or GitLab.';
  elementsignIn.setAttribute ('aria-label', 'You are encouraged to migrate to cgit, Codeberg, Forgejo, Gitea, or GitLab.');
  elementsignIn.style.background = '#000';
  elementsignIn.style.color = '#fff';
  elementsignIn.href = signInLink;
  elementsignIn.className = 'tooltipped tooltipped-sw btn-sm btn';
  let elementLi = document.createElement('li');
  elementLi.append(elementsignIn);
  let elementButtons = document.querySelector('#repository-details-container > ul');
  if (elementButtons) {
    elementButtons.append(elementLi);
  } else {
    let elementHeaderSlim = document.createElement('div');
    elementHeaderSlim.style.background = '#333';
    elementHeaderSlim.style.fontWeight = 'bold';
    elementHeaderSlim.style.padding = '1em';
    elementHeaderSlim.style.textAlign = 'center';
    elementsignIn.textContent = 'Connect';
    elementsignIn.title = 'You are encouraged to migrate to cgit, Codeberg, Forgejo, Gitea, or GitLab.';
    elementsignIn.href = signInLink;
    elementsignIn.style.color = '#fff';
    elementHeaderSlim.append(elementsignIn);
    document.body.prepend(elementHeaderSlim);
  }
}