Greasy Fork is available in English.

css-巴哈姆特深色主題 - 首頁、登入畫面

巴哈姆特深色主題 - 首頁、登入畫面

// ==UserScript==
// @name          css-巴哈姆特深色主題 - 首頁、登入畫面
// @namespace     hbl917070
// @description	  巴哈姆特深色主題 - 首頁、登入畫面
// @author        hbl917070(深海異音)
// @homepage      https://home.gamer.com.tw/homeindex.php?owner=hbl917070
// @include       https://www.gamer.com.tw/
// @include       https://www.gamer.com.tw/index*
// @include       https://user.gamer.com.tw/login.php
// @run-at        document-start
// @grant         GM_getValue
// @grant         GM_setValue
// @version       0.15
// ==/UserScript==

/*
標題:css-巴哈姆特深色主題 - 首頁、登入畫面
範圍:首頁、登入畫面
最後修改日期:2019 / 09 / 17
作者:hbl917070(深海異音)
說明:https://forum.gamer.com.tw/C.php?bsn=60076&snA=2621599

預設背景圖片來源:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61945737
*/

/**
 *
 * 2019/09/17:修復通知顏色
 *
 */

(function() {
  // ▼ ▼ ▼ 這裡的設定可以修改 ▼ ▼ ▼

  var 背景圖片網址 = "https://i.imgur.com/d5fXfwG.jpg";

  var 背景圖片上面的漸層顏色 =
    "linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 100%)";

  // ▲ ▲ ▲ 這裡的設定可以修改 ▲ ▲ ▲

  //-----------------------

  //設定技巧

  //背景圖片網址:
  //輸入「圖片網址」或「base64」,圖片大小盡量不要使用超過500k,不然可能會造成網頁lag
  //可以把要使用的圖片上傳的imgur。https://imgur.com/
  //或是把圖片透過DataURL.net轉換成bese64格式。http://dataurl.net/#dataurlmaker

  //背景圖片上面的漸層顏色:
  //deg:代表漸層的角度,所以「90deg」就是「水平由左至右」
  //角度後面有兩個rgba():第一個是漸層的起始的顏色,第二個是漸層結束的顏色
  //rgba() 後面的 0% 跟 100%:就是起始跟結尾的意思,基本上不用修改
  //rgba 四個參數分別是 (紅, 綠, 藍, 透明度)
  //rgba(255,255,255,1) = 白色
  //rgba(0,0,0,1) =       黑色
  //rgba(255,0,0,1) =     紅色
  //rgba(0,0,0, 0.3) =    30%透明的黑色
  //rgba(0,0,0,0) =       完全透明

  //如果不想用背景圖片可以兩個rgba都輸入 rgba(45,45,45,1)

  //-----------------------------------

  var css = "";
  var url = document.location.href;

  /**
   *
   * @param {*} url
   * @param {*} callback
   */
  function toDataURL(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.onload = function() {
      var reader = new FileReader();
      reader.onloadend = function() {
        callback(reader.result);
      };
      reader.readAsDataURL(xhr.response);
    };
    xhr.open("GET", url);
    xhr.responseType = "blob";
    xhr.send();
  }

  if (
    url.indexOf("https://www.gamer.com.tw/index") === 0 ||
    url == "https://www.gamer.com.tw/"
  ) {
    css =
      "body{background-image:bac_img_color,url(bac_img_url)!important;background-attachment:fixed!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;background-color:rgba(45,45,45,1)!important}#rivers figure{background:rgba(45,45,45,.4)!important;border:1px solid rgba(255,255,255,.4)!important}#rivers figcaption a{color:#8edbff}.BA-top .TOP-btn a::before{color:#fff!important}.BA-top .TOP-my ul li a::before{color:#fff!important}#flyRightBox div{transform:scale(.3);transition:.3s transform}#flyRightBox div:hover{transform:scale(1)}.BA-topbg::after{background:0 0!important;background-image:none!important}#BH-background{color:#fff!important}.TOP-my a{color:#fff!important}[href]:hover{color:#87dfff!important}.im_bhtop-user-name{color:#87dfff!important}.im_bhtop-message-summary{color:#fff!important}#topBarHahamut .im_bhtop-msg-item{border:none!important;border-top:none!important}.BA-topbg{background:0 0!important;background-color:rgba(45,45,45,.4)!important}.BA-menu a{color:#fff}.BA-menu li a:hover{background-color:rgba(0,0,0,0)!important;color:#87dfff!important;border:1px solid #87dfff!important}.TOP-bh{background-color:rgba(0,0,0,1)!important;background:rgba(0,0,0,1)!important;box-shadow:0 0 0 transparent!important}#BH-menu-path{background-color:rgba(0,0,0,0)!important}.BH-menuE a,.BH-menuE a:link{color:#fff!important;opacity:1!important}.dropList a{background-color:rgba(0,0,0,.9)!important}#navBarHover{background:#117e96!important;box-shadow:0 0 0 0 transparent!important;border:none!important}.TOP-btn{border-right:none!important}.TOP-my ul>li{border:none!important}.TOP-btn a::before{color:#fff!important}.TOP-btn a{width:30px!important}.TOP-btn{border-right:1px solid rgba(255,255,255,.4)}.TOP-msg{background-color:rgba(45,45,45,.9)!important;color:#fff!important;border:2px solid #249db8!important}.TOP-msg span{background-color:rgba(0,0,0,0)!important;color:#fff}.TOP-msglist{background:0 0!important;background-color:none!important}.TOP-msglist a:hover,.TOP-msglist div:hover{background-color:rgba(45,45,45,.95)!important}.TOP-msglist div{background-color:rgba(0,0,0,0)!important;color:#fff}.TOP-msg .new{background-color:rgba(50,100,80,.5)!important;border:1px solid rgba(255,255,255,.4)!important}.TOP-msgpic{background-color:rgba(0,0,0,0)!important}.TOP-msgbtn{background-color:rgba(0,0,0,0)!important;border-top:2px solid #249db8!important}.TOP-msglist a.msg-ellipsis{display:block!important}.TOP-msglist a .link,.TOP-msglist>div.new .link{color:#87dfff!important}.TOP-msglist a.msg-ellipsis img{-webkit-filter:invert(1)}.TOP-btn a.topb1::before{background-image:url(https://i2.bahamut.com.tw/navicon_notification_active.png)!important}.TOP-msglist a .msgname{color:#87dfff!important}#topBarMsgList_light_0 .TOP-msgpic img{filter:grayscale(100%);mix-blend-mode:hard-light}.TOP-msg [href]{color:#fff!important}#topBarMsgList_forum a{color:#87dfff!important}.TOP-msglist>div{border-top:1px solid rgba(255,255,255,.4)!important}.title textarea{background-color:rgba(255,255,255,.2)!important;color:#fff!important;border:1px solid rgba(255,255,255,.4)!important}.check-group h6{color:#fff!important}#topBarMsg_member ul li a:hover{background-color:rgba(0,0,0,0)!important}.TOP-board{background-color:rgba(0,0,0,0)!important}.TOP-more ul li:hover{background:Transparent!important;box-shadow:0 1px 3px 0 rgba(255,255,255,0)!important}.TOP-more ul:hover{background:rgba(0,0,0,0)!important}.TOP-more>div p{background:rgba(0,0,0,0)!important;color:#fff}#topBarMsg_member ul li:active,#topBarMsg_member ul li:focus,#topBarMsg_member ul li:hover{background:rgba(0,0,0,.7)}.TOP-msglist a:hover,.TOP-msglist div:hover{background-color:rgba(0,0,0,0)!important}.TOP-msglist>div:hover{background-color:rgba(0,0,0,.3)!important}.TOP-more>div.nav-platform ul li.platform-ac:hover{background-color:rgba(0,0,0,0)!important}#topBarMsgList_more a{color:#fff!important}.TOP-msgbtn a i{color:#87dfff!important}.BA-serve{background-color:hsla(0,0%,18%,.5)!important;margin-top:30px;border:1px solid rgba(255,255,255,.4)!important}.BA-serve li a{color:#fff!important}.BA-cbox{transition:all .3s;background-color:rgba(45,45,45,.4)!important;border:1px solid rgba(255,255,255,.4)!important}.BA-cbox a,.BA-cbox span{color:#fff!important}#gnn_normal p span{background-color:hsla(200,70%,50%,.5)!important}.BA-cbox6E{background-color:hsla(200,70%,50%,.5)!important}.BA-ctag1 li a:hover{color:#222!important}.BA-ctag1 li a{margin-top:30px}.BA-cbox5 tr:first-child,.BA-cbox7 tr:first-child{background-color:rgba(0,0,0,0)!important}.BA-cbox7 span{color:#189696!important}#gnn_normal div a:link,#hotboard .BA-cbox5C a,#hothala p a,.BA-cbox4B a,.BA-cbox6F a:link,.BA-cbox8A a:link,.BA-cbox9C a:link{color:#87dfff!important}#homeOdata a:link{color:#87dfff!important}.BA-cbox4A div,.BA-cbox6B{background-color:hsla(0,0%,0%,.4)!important}.BA-cbox10B,.BA-cbox9C{background-color:rgba(45,45,45,.4)!important;color:#87dfff!important}.BA-cbox9C a{color:#87dfff!important}.BA-cbox10B,.BA-cbox9C{border:1px solid rgba(255,255,255,.4)}.BA-cbox10B::before,.BA-cbox9C::before{height:0!important}#floatingAd div,.BA-billboard{opacity:0!important;height:0!important;pointer-events:none!important}#floatingAd div:hover,.BA-billboard:hover{transition:all .5s;opacity:1}.BA-footer a{color:#fff}.BA-ctag1 a{background-image:none!important;background-color:rgba(45,45,45,.4)!important;color:#fff;border:none}.BA-ctag1 li a:hover{color:#87dfff!important}.BA-ctag1 .BA-ctag1now{color:#87dfff!important;background-color:rgba(45,45,45,1)!important;border:1px solid #87dfff!important}";
  }

  if (url == "https://user.gamer.com.tw/login.php") {
    css =
      "html{background-image:bac_img_color,url(bac_img_url)!important;background-attachment:fixed!important;background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;background-color:rgba(45,45,45,1)!important}body{font-family:\"微軟正黑體\"!important;background-color:rgba(0,0,0,0)!important}.inner{padding:20px;background-color:rgba(255,255,255,.5)!important}.wrapper{background-color:rgba(0,0,0,0)!important}#tips{width:auto;background-color:rgba(0,0,0,0)!important}.main{background:#fff!important}.card{background:0 0!important;box-shadow:none!important}";
  }

  /* 把背景圖片轉成base64 */
  if (背景圖片網址 == GM_getValue("bac_img_url")) {
    背景圖片網址 = GM_getValue("bac_base64");
    console.log("深色主題-快速載入圖片");
  } else {
    if (背景圖片網址.substr(0, 4).toLowerCase() == "http") {
      toDataURL(背景圖片網址, function(dataUrl) {
        GM_setValue("bac_base64", dataUrl);
        GM_setValue("bac_img_url", 背景圖片網址);
        console.log("深色主題-重新下載圖片");
      });
    }
  }

  css = css.replace(/bac_img_color/g, 背景圖片上面的漸層顏色);
  css = css.replace(/bac_img_url/g, 背景圖片網址);

  if (typeof GM_addStyle != "undefined") {
    GM_addStyle(css);
  } else if (typeof PRO_addStyle != "undefined") {
    PRO_addStyle(css);
  } else if (typeof addStyle != "undefined") {
    addStyle(css);
  } else {
    var node = document.createElement("style");
    node.type = "text/css";
    node.appendChild(document.createTextNode(css));
    var heads = document.getElementsByTagName("html");
    if (heads.length > 0) {
      heads[0].appendChild(node);
    } else {
      document.documentElement.appendChild(node);
    }
  }
})();