Greasy Fork is available in English.

今年一定島 標示直播時間

汲汲營營大報社

// ==UserScript==
// @name         今年一定島 標示直播時間
// @description  汲汲營營大報社
// @author       稻米
// @namespace    https://greasyfork.org/zh-TW/scripts/486916
// @version      2024.03.08.0010.build16299

// @match        *://gaia.komica.org/00b/*
// @match        *://gaia.komica1.org/00b/*
// @match        *://gaia.komica2.net/00b/*

// @exclude      *://*/00b/src/*
// @exclude      *://*/00b/thumb/*

// @grant        none
// @license      WTFPL

// ==/UserScript==

//jquery
try{}
catch(err){}
finally{}
//
$(document).ready(function() {
    poi();
});

function poi(){
    console.log( 'poi' );
    var aa=window.location.href.match("\\?res=");
    //console.log( aa );
    if( aa ){
        //ok //確認是回應模式的網址
    }else{
        return;
    }
    //
    var bb=$("div.bar_reply:contains('回應模式')");
    //console.log( bb );
    if( bb.length ){
        //ok //確認是回應模式
    }else{
        return;
    }
    //
    var FFF='';
    FFF=$('body').attr('poi240208exists');
    if( FFF == 1 ){
        console.log( '只執行一個腳本' );
        return 0;//只執行一個腳本 中止
    }else{
        $('body').attr('poi240208exists','1');
    }
    //console.log( '回應模式才執行' );
    poi240208();
}//poi()


function poi240208(){
    //console.log( 'poi240208' );
    //$.poi240208=[14,30];//測試 沒用到
    poi240208建立啟動按鈕();
}

function poi240208建立啟動按鈕(){
    console.log(arguments.callee.name); //poi2
    //$("#threads").before('before');
    $(".thread").before('<poi><button type="reset">標示直播時間</button></poi>');
    $("poi >button:contains('標示直播時間')").click(function(e){
        console.log( 'click' );
        e.preventDefault();//取消按鈕的預設事件1
        e.stopPropagation();//取消按鈕的預設事件2
        //
        poi240208建立按鈕事件(this);
    });
    //
}//poi2(){
function poi240208建立按鈕事件(in1){
    var 按鈕元素 = in1;
    //return;
    $(按鈕元素).parent().attr('class','poi240208box');//往上找poi標籤
    //console.log( $(this) );
    $('.poi240208box').text('123');
    $('.poi240208box').css({
        "border":"1px solid red",
        "background-color":"yellow",
        "color":"#000",
        "white-space":"nowrap",
    });//連結上背景色 不想上色就把這段刪除

    var str=`填入開播時間:
<input type="text" id="poi240208input1" pattern="[0-9]{1,2}" required="1" size="1" class="poi240209input">時
<input type="text" id="poi240208input2" pattern="[0-9]{1,2}" required="1" size="2" class="poi240209input">分
<input type="submit" value="ok" id="poi240208input3">
`;
    $('.poi240208box').html(str);//插入元素
    //
    var FFF=$('.post.threadpost').find('.now').next().text();
    //console.log( FFF );
    //return;
    FFF=FFF.split(':');
    console.log( FFF );//[時,分]
    $('#poi240208input1').val( FFF[0] );
    $('#poi240208input2').val( FFF[1] );

    //return;

    $("#poi240208input3").click(function(e){
        console.log( 'click3' );
        e.preventDefault();//取消按鈕的預設事件1
        e.stopPropagation();//取消按鈕的預設事件2
        //
        var aa1=$('#poi240208input1').val();//input的內容
        var aa2=$('#poi240208input2').val();//input的內容
        //console.log( aa1,aa2 );

        //input標籤裡的pattern規則
        if($('#poi240208input1').is(":invalid")){
            console.log( '錯誤1' );
            return;
        }
        if($('#poi240208input2').is(":invalid")){
            console.log( '錯誤2' );
            return;
        }
        //
        poi240208每篇貼文的時間();
        //
    });//click
    //
str=`
input.poi240209input:invalid {
  background-color: #ffdddd;
  border: red solid 1px;
}
`;
document.styleSheets[0].insertRule(str,document.styleSheets[0].rules.length);//新增css規則
str=`
input.poi240209input:valid {
  background-color: #ddffdd;
}
`;
document.styleSheets[0].insertRule(str,document.styleSheets[0].rules.length);//新增css規則
//required??
//insertRule單次只能插入一個規則


    return;

}//poi240208建立按鈕事件

function poi240208送出查詢(in1){

}//poi240208送出查詢

function poi240208每篇貼文的時間(){
    var 目前的討論串=$('.thread');
    var 每篇貼文=目前的討論串.find('.post');//每篇貼文
    //console.log( 每篇貼文 );//ok
    每篇貼文.each(function( index,item ){//遍歷元素
        //console.log( '抓出時間' );//ok
        //console.log( $(item) );//ok
        var aa=$(item).find('.now');
        //console.log( aa );//.next()
        aa.css({
            "border":"1px solid red",
            "background-color":"yellow",
            "color":"#000",
            "white-space":"nowrap",
        });//連結上背景色 不想上色就把這段刪除
        var aa2=aa.next();
        //console.log( aa2 );//.next()
        var aa3=aa2.text().split(':');
        //console.log( aa3 );//.next()
        //var aa3h=aa2.attr('poi240208時',aa3[0]);
        //var aa3i=aa2.attr('poi240208分',aa3[1]);
        //
        //console.log( aa3h,aa3i );
        var FFF=[aa3[0],aa3[1]];
        FFF=poi240208計算時間差(FFF);
        console.log( FFF );//ok
        aa.text(FFF);
    });
    //
}//poi240208每篇貼文的時間

function poi240208計算時間差(in1){
    //console.log( in1 );
    var [留言時間_時,留言時間_分]=in1;
    //
    //return;
    //console.log( $.poi240208 );
    //var [開播時間_時,開播時間_分]=$.poi240208; //測試
    var 開播時間_時=$('#poi240208input1').val();
    var 開播時間_分=$('#poi240208input2').val();
    console.log( 開播時間_時,開播時間_分 );
    //
    var 開播時間_秒=開播時間_分*60 + 開播時間_時*60*60;
    console.log( 留言時間_時,留言時間_分 );
    var 留言時間_秒=留言時間_分*60 + 留言時間_時*60*60;

    //return;

    var 時間差_秒 = 留言時間_秒 - 開播時間_秒;
    if(時間差_秒 <0){
        時間差_秒= 時間差_秒 + 24*60*60;//加上24小時
    }//?? 簡易的處理
    var 時間差_分=Math.floor(時間差_秒 / 60);
    var 時間差_時=Math.floor(時間差_分 / 60);
    時間差_分=時間差_分%60;
    //var 時間差_時=Math.floor(時間差/60);
    //console.log( 時間差_時,時間差_分 );

    //var FFF=[時間差_時,時間差_分];
    var FFF='經過'+時間差_時+'時'+時間差_分+'分';
    return FFF;
}//poi240208計算時間差