Fix: spotift tips
This commit is contained in:
parent
d08c2ecd74
commit
955c95e8a8
896
app/css/tl.css
896
app/css/tl.css
File diff suppressed because it is too large
Load Diff
|
@ -1,218 +1,290 @@
|
||||||
//左下のメッセージ
|
//左下のメッセージ
|
||||||
var todcTrigger = null;
|
var todcTrigger = null
|
||||||
function todo(mes) {
|
function todo(mes) {
|
||||||
clearInterval(todcTrigger);
|
clearInterval(todcTrigger)
|
||||||
$("#message").text(mes);
|
$('#message').text(mes)
|
||||||
$("#message").fadeIn();
|
$('#message').fadeIn()
|
||||||
todcTrigger = setTimeout(todc, 4000);
|
todcTrigger = setTimeout(todc, 4000)
|
||||||
}
|
}
|
||||||
function todc() {
|
function todc() {
|
||||||
$("#message").fadeOut();
|
$('#message').fadeOut()
|
||||||
}
|
}
|
||||||
//reverse
|
//reverse
|
||||||
function bottomReverse() {
|
function bottomReverse() {
|
||||||
$("#bottom").toggleClass("reverse");
|
$('#bottom').toggleClass('reverse')
|
||||||
$(".leftside").toggleClass("reverse");
|
$('.leftside').toggleClass('reverse')
|
||||||
if ($("#bottom").hasClass("reverse")) {
|
if ($('#bottom').hasClass('reverse')) {
|
||||||
localStorage.removeItem("reverse");
|
localStorage.removeItem('reverse')
|
||||||
} else {
|
} else {
|
||||||
localStorage.setItem("reverse", "true");
|
localStorage.setItem('reverse', 'true')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function tips(mode) {
|
function tips(mode) {
|
||||||
postMessage(["sendSinmpleIpc", "endmem"], "*");
|
postMessage(['sendSinmpleIpc', 'endmem'], '*')
|
||||||
clearInterval(clockint);
|
clearInterval(clockint)
|
||||||
clearInterval(spotStart);
|
clearInterval(spotStart)
|
||||||
if (mode == "ver") {
|
if (mode == 'ver') {
|
||||||
tipsToggle();
|
tipsToggle()
|
||||||
$("#tips-text").html('<img src="../../img/desk.png" width="20" onclick="todo(\'TheDesk is a nice client!: TheDesk ' + localStorage.getItem("ver") + " git: " + gitHash + "')\">TheDesk " + localStorage.getItem("ver") + " {" + gitHash.slice(0, 7) + '} [<i class="material-icons" style="font-size:1.2rem;top: 3px;position: relative;">supervisor_account</i><span id="persons">1+</span>]');
|
$('#tips-text').html(
|
||||||
localStorage.setItem("tips", "ver");
|
'<img src="../../img/desk.png" width="20" onclick="todo(\'TheDesk is a nice client!: TheDesk ' +
|
||||||
} else if (mode == "clock") {
|
localStorage.getItem('ver') +
|
||||||
tipsToggle();
|
' git: ' +
|
||||||
localStorage.setItem("tips", "clock");
|
gitHash +
|
||||||
clock();
|
'\')">TheDesk ' +
|
||||||
} else if (mode == "memory") {
|
localStorage.getItem('ver') +
|
||||||
tipsToggle();
|
' {' +
|
||||||
localStorage.setItem("tips", "memory");
|
gitHash.slice(0, 7) +
|
||||||
startmem();
|
'} [<i class="material-icons" style="font-size:1.2rem;top: 3px;position: relative;">supervisor_account</i><span id="persons">1+</span>]'
|
||||||
} else if (mode == "trend") {
|
)
|
||||||
tipsToggle();
|
localStorage.setItem('tips', 'ver')
|
||||||
localStorage.setItem("tips", "trend");
|
} else if (mode == 'clock') {
|
||||||
trendTagonTip();
|
tipsToggle()
|
||||||
} else if (mode == "spotify") {
|
localStorage.setItem('tips', 'clock')
|
||||||
tipsToggle();
|
clock()
|
||||||
localStorage.setItem("tips", "spotify");
|
} else if (mode == 'memory') {
|
||||||
var json = nowplaying("spotifytips");
|
tipsToggle()
|
||||||
spotifytips(json);
|
localStorage.setItem('tips', 'memory')
|
||||||
|
startmem()
|
||||||
|
} else if (mode == 'trend') {
|
||||||
|
tipsToggle()
|
||||||
|
localStorage.setItem('tips', 'trend')
|
||||||
|
trendTagonTip()
|
||||||
|
} else if (mode == 'spotify') {
|
||||||
|
tipsToggle()
|
||||||
|
localStorage.setItem('tips', 'spotify')
|
||||||
|
spotifytips()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//メモリ
|
//メモリ
|
||||||
function startmem() {
|
function startmem() {
|
||||||
postMessage(["sendSinmpleIpc", "startmem"], "*");
|
postMessage(['sendSinmpleIpc', 'startmem'], '*')
|
||||||
}
|
}
|
||||||
function renderMem(use, cpu, total) {
|
function renderMem(use, cpu, total) {
|
||||||
$("#tips-text").html(escapeHTML(cpu) + "<br>Memory:" + Math.floor(use / 1024 / 1024 / 102.4) / 10 + "/" + Math.floor(total / 1024 / 1024 / 102.4) / 10 + "GB(" + Math.floor((use / total) * 100) + "%)");
|
$('#tips-text').html(
|
||||||
|
escapeHTML(cpu) +
|
||||||
|
'<br>Memory:' +
|
||||||
|
Math.floor(use / 1024 / 1024 / 102.4) / 10 +
|
||||||
|
'/' +
|
||||||
|
Math.floor(total / 1024 / 1024 / 102.4) / 10 +
|
||||||
|
'GB(' +
|
||||||
|
Math.floor((use / total) * 100) +
|
||||||
|
'%)'
|
||||||
|
)
|
||||||
}
|
}
|
||||||
//トレンドタグ
|
//トレンドタグ
|
||||||
function trendTagonTip() {
|
function trendTagonTip() {
|
||||||
$(".trendtag").remove();
|
$('.trendtag').remove()
|
||||||
var domain = "imastodon.net";
|
var domain = 'imastodon.net'
|
||||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
var at = localStorage.getItem('acct_' + acct_id + '_at')
|
||||||
var start = "https://" + domain + "/api/v1/trend_tags";
|
var start = 'https://' + domain + '/api/v1/trend_tags'
|
||||||
fetch(start, {
|
fetch(start, {
|
||||||
method: "GET",
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
"content-type": "application/json",
|
'content-type': 'application/json',
|
||||||
Authorization: "Bearer " + at
|
Authorization: 'Bearer ' + at
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
response.text().then(function(text) {
|
response.text().then(function(text) {
|
||||||
setLog(response.url, response.status, text);
|
setLog(response.url, response.status, text)
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
return response.json();
|
return response.json()
|
||||||
})
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
todo(error);
|
todo(error)
|
||||||
setLog(start, "JSON", error);
|
setLog(start, 'JSON', error)
|
||||||
console.error(error);
|
console.error(error)
|
||||||
})
|
})
|
||||||
.then(function(json) {
|
.then(function(json) {
|
||||||
if (json) {
|
if (json) {
|
||||||
var tags = "";
|
var tags = ''
|
||||||
json = json.score;
|
json = json.score
|
||||||
Object.keys(json).forEach(function(tag) {
|
Object.keys(json).forEach(function(tag) {
|
||||||
tags = tags + "<a onclick=\"tagShow('" + tag + '\')" class="pointer">#' + escapeHTML(tag) + '</a><span class="hide" data-tag="' + tag + "\"> <a onclick=\"tagTL('tag','" + tag + '\',false,\'add\')" class="pointer" title="#' + tag + 'のタイムライン">TL</a> <a onclick="show();brInsert(\'#' + tag + '\')" class="pointer" title="#' + tag + 'でトゥート">Toot</a></span><br>';
|
tags =
|
||||||
});
|
tags +
|
||||||
$("#tips-text").html('<div class="trendtag">トレンドタグ<i class="material-icons pointer" onclick="trendTagonTip()" style="font-size:12px">refresh</i>:<br>' + tags + "</div>");
|
`<a onclick="tagShow('${tag}')" class="pointer">
|
||||||
trendTagonTipInterval();
|
#${escapeHTML(tag)}
|
||||||
|
</a>
|
||||||
|
<span class="hide" data-tag="${tag}">
|
||||||
|
<a onclick="tagTL('tag','${tag}',false,'add')" class="pointer" title="#${tag}のタイムライン">TL</a>
|
||||||
|
<a onclick="show();brInsert('#${tag}')" class="pointer" title="#${tag}でトゥート">Toot</a>
|
||||||
|
</span><br>`
|
||||||
|
})
|
||||||
|
$('#tips-text').html(
|
||||||
|
'<div class="trendtag">トレンドタグ<i class="material-icons pointer" onclick="trendTagonTip()" style="font-size:12px">refresh</i>:<br>' +
|
||||||
|
tags +
|
||||||
|
'</div>'
|
||||||
|
)
|
||||||
|
trendTagonTipInterval()
|
||||||
} else {
|
} else {
|
||||||
$("#tips-text").html("");
|
$('#tips-text').html('')
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
//Spotify
|
//Spotify
|
||||||
|
spotint = null
|
||||||
function spotifytips() {
|
function spotifytips() {
|
||||||
var start = "https://thedesk.top/now-playing?at=" + localStorage.getItem("spotify") + "&rt=" + localStorage.getItem("spotify-refresh");
|
if (spotint) clearInterval(spotint)
|
||||||
var at = localStorage.getItem("spotify");
|
var start =
|
||||||
|
'https://thedesk.top/now-playing?at=' +
|
||||||
|
localStorage.getItem('spotify') +
|
||||||
|
'&rt=' +
|
||||||
|
localStorage.getItem('spotify-refresh')
|
||||||
|
var at = localStorage.getItem('spotify')
|
||||||
if (at) {
|
if (at) {
|
||||||
fetch(start, {
|
fetch(start, {
|
||||||
method: "GET",
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
"content-type": "application/json"
|
'content-type': 'application/json'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(function(response) {
|
.then(function(response) {
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
response.text().then(function(text) {
|
response.text().then(function(text) {
|
||||||
setLog(response.url, response.status, text);
|
setLog(response.url, response.status, text)
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
return response.json();
|
return response.json()
|
||||||
})
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
todo(error);
|
todo(error)
|
||||||
setLog(start, "JSON", error);
|
setLog(start, 'JSON', error)
|
||||||
console.error(error);
|
console.error(error)
|
||||||
})
|
})
|
||||||
.then(function(json) {
|
.then(function(json) {
|
||||||
var ms = json.progress_ms;
|
var ms = json.progress_ms
|
||||||
var last = 1000 - (ms % 1000);
|
var last = 1000 - (ms % 1000)
|
||||||
var item = json.item;
|
var item = json.item
|
||||||
var img = item.album.images[0].url;
|
var img = item.album.images[0].url
|
||||||
var artisttxt = "";
|
var artisttxt = ''
|
||||||
for (i = 0; i < item.artists.length; i++) {
|
for (i = 0; i < item.artists.length; i++) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
artisttxt = artisttxt + "," + item.artists[i].name;
|
artisttxt = artisttxt + ',' + item.artists[i].name
|
||||||
} else {
|
} else {
|
||||||
artisttxt = item.artists[0].name;
|
artisttxt = item.artists[0].name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
artisttxt = escapeHTML(artisttxt);
|
artisttxt = escapeHTML(artisttxt)
|
||||||
sleep(last);
|
sleep(last)
|
||||||
var tms = item.duration_ms;
|
var tms = item.duration_ms
|
||||||
var per = (ms / item.duration_ms) * 100;
|
var per = (ms / item.duration_ms) * 100
|
||||||
ms = ms / 1000;
|
ms = ms / 1000
|
||||||
tms = tms / 1000;
|
tms = tms / 1000
|
||||||
var s = Math.round(ms) % 60;
|
var s = Math.round(ms) % 60
|
||||||
if (s < 10) {
|
if (s < 10) {
|
||||||
s = "0" + s;
|
s = '0' + s
|
||||||
}
|
}
|
||||||
var m = (Math.round(ms) - (Math.round(ms) % 60)) / 60;
|
var m = (Math.round(ms) - (Math.round(ms) % 60)) / 60
|
||||||
var ts = Math.round(tms) % 60;
|
var ts = Math.round(tms) % 60
|
||||||
if (ts < 10) {
|
if (ts < 10) {
|
||||||
ts = "0" + ts;
|
ts = '0' + ts
|
||||||
}
|
}
|
||||||
var tm = (Math.round(tms) - (Math.round(tms) % 60)) / 60;
|
var tm = (Math.round(tms) - (Math.round(tms) % 60)) / 60
|
||||||
$("#tips-text").html('<div id="spot-box"><i class="material-icons pointer" onclick="spotifytips()" style="font-size:12px">refresh</i><img src="' + img + '" width="20" id="spot-img">' + escapeHTML(item.name) + '<span class="gray sml" id="spot-art">' + artisttxt + '</span><span id="spot-m">' + m + '</span>:<span id="spot-s">' + s + "</span>/" + tm + ":" + ts + '</span></div><div class="progress grey"><div class="determinate spotify-prog grey lighten-2" style="width: ' + per + '%" data-s="' + Math.round(ms) + '" data-total="' + item.duration_ms + '"></div></div>');
|
var html = `
|
||||||
spotint = setInterval(spotStart, 1000);
|
<div id="spot-box">
|
||||||
});
|
<div id="spot-refresh">
|
||||||
|
<i class="material-icons pointer" onclick="spotifytips()" style="font-size:20px">refresh</i>
|
||||||
|
<i class="material-icons pointer" onclick="nowplaying('spotify');show()" style="font-size:20px">send</i>
|
||||||
|
</div>
|
||||||
|
<div id="spot-cover">
|
||||||
|
<img src="${img}" id="spot-img">
|
||||||
|
</div>
|
||||||
|
<div id="spot-name">
|
||||||
|
${escapeHTML(item.name)}
|
||||||
|
</div>
|
||||||
|
<div id="spot-artist">
|
||||||
|
<span class="gray sml" id="spot-art">${artisttxt}</span>
|
||||||
|
</div>
|
||||||
|
<div id="spot-time">
|
||||||
|
<span id="spot-m">${m}</span>:<span id="spot-s">${s}</span>/${tm}:${ts}</span>
|
||||||
|
</div>
|
||||||
|
<div class="progress grey">
|
||||||
|
<div class="determinate spotify-prog grey lighten-2"
|
||||||
|
style="width:${per}%" data-s="${Math.round(ms)}" data-total="${item.duration_ms}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>`
|
||||||
|
$('#tips-text').html(html)
|
||||||
|
spotint = setInterval(spotStart, 1000)
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
type: "info",
|
type: 'info',
|
||||||
title: lang.lang_spotify_acct
|
title: lang.lang_spotify_acct
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function spotStart() {
|
function spotStart() {
|
||||||
var total = $(".spotify-prog").attr("data-total");
|
var total = $('.spotify-prog').attr('data-total')
|
||||||
var s = $(".spotify-prog").attr("data-s");
|
var s = $('.spotify-prog').attr('data-s')
|
||||||
var news = s * 1 + 1;
|
var news = s * 1 + 1
|
||||||
var per = (news * 100000) / total;
|
var per = (news * 100000) / total
|
||||||
var ns = news % 60;
|
var ns = news % 60
|
||||||
var nm = (news - ns) / 60;
|
var nm = (news - ns) / 60
|
||||||
if (ns < 10) {
|
if (ns < 10) {
|
||||||
ns = "0" + ns;
|
ns = '0' + ns
|
||||||
}
|
}
|
||||||
if (per >= 100) {
|
if (per >= 100) {
|
||||||
clearInterval(spotStart);
|
clearInterval(spotStart)
|
||||||
spotifytips();
|
spotifytips()
|
||||||
} else {
|
} else {
|
||||||
$("#spot-m").text(nm);
|
$('#spot-m').text(nm)
|
||||||
$("#spot-s").text(ns);
|
$('#spot-s').text(ns)
|
||||||
}
|
}
|
||||||
$(".spotify-prog").attr("data-s", news);
|
$('.spotify-prog').attr('data-s', news)
|
||||||
$(".spotify-prog").css("width", per + "%");
|
$('.spotify-prog').css('width', per + '%')
|
||||||
}
|
}
|
||||||
|
|
||||||
function trendTagonTipInterval() {
|
function trendTagonTipInterval() {
|
||||||
setTimeout(trendTagonTip, 6000000);
|
setTimeout(trendTagonTip, 6000000)
|
||||||
}
|
}
|
||||||
//時計
|
//時計
|
||||||
var clockint;
|
var clockint
|
||||||
function clock() {
|
function clock() {
|
||||||
var now = new Date();
|
var now = new Date()
|
||||||
var last = 1000 - (now.getTime() % 1000);
|
var last = 1000 - (now.getTime() % 1000)
|
||||||
sleep(last);
|
sleep(last)
|
||||||
clockint = setInterval(clockStart, 1000);
|
clockint = setInterval(clockStart, 1000)
|
||||||
}
|
}
|
||||||
function clockStart() {
|
function clockStart() {
|
||||||
var nowTime = new Date(); // 現在日時を得る
|
var nowTime = new Date() // 現在日時を得る
|
||||||
var nowHour = nowTime.getHours(); // 時を抜き出す
|
var nowHour = nowTime.getHours() // 時を抜き出す
|
||||||
if (nowHour < 10) {
|
if (nowHour < 10) {
|
||||||
nowHour = "0" + nowHour;
|
nowHour = '0' + nowHour
|
||||||
}
|
}
|
||||||
var nowMin = nowTime.getMinutes(); // 分を抜き出す
|
var nowMin = nowTime.getMinutes() // 分を抜き出す
|
||||||
if (nowMin < 10) {
|
if (nowMin < 10) {
|
||||||
nowMin = "0" + nowMin;
|
nowMin = '0' + nowMin
|
||||||
}
|
}
|
||||||
var nowSec = nowTime.getSeconds(); // 秒を抜き出す
|
var nowSec = nowTime.getSeconds() // 秒を抜き出す
|
||||||
if (nowSec < 10) {
|
if (nowSec < 10) {
|
||||||
nowSec = "0" + nowSec;
|
nowSec = '0' + nowSec
|
||||||
}
|
}
|
||||||
var msg = nowTime.getFullYear() + "/" + (nowTime.getMonth() + 1) + "/" + nowTime.getDate() + '<span style="font-size:20px; font-family:Open Sans">' + nowHour + ":" + nowMin + ":" + nowSec + "</span>";
|
var msg =
|
||||||
$("#tips-text").html(msg);
|
nowTime.getFullYear() +
|
||||||
|
'/' +
|
||||||
|
(nowTime.getMonth() + 1) +
|
||||||
|
'/' +
|
||||||
|
nowTime.getDate() +
|
||||||
|
'<span style="font-size:20px; font-family:Open Sans">' +
|
||||||
|
nowHour +
|
||||||
|
':' +
|
||||||
|
nowMin +
|
||||||
|
':' +
|
||||||
|
nowSec +
|
||||||
|
'</span>'
|
||||||
|
$('#tips-text').html(msg)
|
||||||
}
|
}
|
||||||
function sleep(waitMsec) {
|
function sleep(waitMsec) {
|
||||||
var startMsec = new Date();
|
var startMsec = new Date()
|
||||||
while (new Date() - startMsec < waitMsec);
|
while (new Date() - startMsec < waitMsec);
|
||||||
}
|
}
|
||||||
function tipsToggle() {
|
function tipsToggle() {
|
||||||
$("#tips").toggleClass("hide");
|
$('#tips').toggleClass('hide')
|
||||||
$("#tips-menu").toggleClass("hide");
|
$('#tips-menu').toggleClass('hide')
|
||||||
}
|
}
|
||||||
if (localStorage.getItem("tips")) {
|
if (localStorage.getItem('tips')) {
|
||||||
tips(localStorage.getItem("tips"));
|
tips(localStorage.getItem('tips'))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user