Compare commits
19 Commits
test-relea
...
v21.0.5
Author | SHA1 | Date | |
---|---|---|---|
|
dafc50bbd7 | ||
|
50f58f8d3b | ||
|
b9be1529cc | ||
|
fb3a89b547 | ||
|
c01915c397 | ||
|
e9a774c1d4 | ||
|
04d08ae6c1 | ||
|
0585f95a85 | ||
|
2300e02a12 | ||
|
fec4b61cb6 | ||
|
e1941ce621 | ||
|
3aeb47b039 | ||
|
73701be7c9 | ||
|
7941eb7e9d | ||
|
a8dedc94e9 | ||
|
26fd6a72d6 | ||
|
9d6f06cbde | ||
|
b0bd85ccc6 | ||
|
9fc570e183 |
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -5,4 +5,4 @@ patreon: cutls
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
custom: https://www.pixiv.net/fanbox/creator/28105985
|
||||
custom: https://cutls.fanbox.cc
|
||||
|
@@ -4,18 +4,21 @@ function verck(ver, jp) {
|
||||
$('body').addClass(localStorage.getItem('platform'))
|
||||
var date = new Date()
|
||||
var showVer = false
|
||||
if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) {
|
||||
//ちょっと削除とリンク解析の都合上アレ(s)
|
||||
//対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)"
|
||||
if (!localStorage.getItem('usamin_18_6_5_flag')) {
|
||||
localStorage.setItem('usamin_18_6_5_flag', true)
|
||||
var multi = localStorage.getItem('column')
|
||||
var obj = JSON.parse(multi)
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
localStorage.removeItem('card_' + i)
|
||||
}
|
||||
//Spotify
|
||||
if (localStorage.getItem('spotify')) {
|
||||
localStorage.removeItem('spotify')
|
||||
localStorage.removeItem('spotify-refresh')
|
||||
var spDc = 'Spotify NowPlaying sysytem was changed, please re-login to Spotify'
|
||||
if(lang.language == 'ja') {
|
||||
spDc = 'Spotify NowPlayingの機能が変更されたため、もう一度ログインしてください'
|
||||
}
|
||||
//ちょっと削除とリンク解析の都合上アレ(e)
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: spDc,
|
||||
})
|
||||
}
|
||||
//Spotify(e)
|
||||
if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) {
|
||||
showVer = true
|
||||
console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;')
|
||||
$(document).ready(function() {
|
||||
|
@@ -590,7 +590,7 @@ function enc(ver) {
|
||||
}
|
||||
//インスタンスティッカー
|
||||
function ticker() {
|
||||
var start = 'https://toot.app/toot/index.php'
|
||||
var start = 'https://s.0px.io/json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
cors: true,
|
||||
@@ -611,7 +611,8 @@ function ticker() {
|
||||
})
|
||||
.then(function(json) {
|
||||
if (json) {
|
||||
localStorage.setItem('ticker', JSON.stringify(json))
|
||||
localStorage.removeItem('ticker')
|
||||
localStorage.setItem('sticker', JSON.stringify(json))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@@ -194,7 +194,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
var local = []
|
||||
var times = []
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
var toot = obj[key]
|
||||
if (type == 'dm') {
|
||||
@@ -214,7 +214,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.account.emojis).forEach(function (key5) {
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -273,7 +273,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
</i><span class="voice">${lang.lang_parse_notffilter}</span></span>
|
||||
<span class="cbadge cbadge-hover" title="${date(toot.created_at, 'absolute')}(${
|
||||
lang.lang_parse_notftime
|
||||
})" aria-hidden="true"><i class="far fa-clock"></i>
|
||||
})" aria-hidden="true"><i class="far fa-clock"></i>
|
||||
${date(toot.created_at, datetype)}
|
||||
</span>
|
||||
<span class="voice">${date(toot.created_at, 'absolute')}(${lang.lang_parse_notftime})</span>
|
||||
@@ -369,7 +369,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.account.emojis).forEach(function (key5) {
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -426,7 +426,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.account.emojis).forEach(function (key5) {
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -454,7 +454,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var fullname = toot.account.acct + '@' + domain
|
||||
}
|
||||
if (useremp) {
|
||||
Object.keys(useremp).forEach(function(key10) {
|
||||
Object.keys(useremp).forEach(function (key10) {
|
||||
var user = useremp[key10]
|
||||
if (user == fullname) {
|
||||
boostback = 'emphasized'
|
||||
@@ -494,7 +494,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var via = escapeHTML(toot.application.name)
|
||||
if (empCli) {
|
||||
//強調チェック
|
||||
Object.keys(empCli).forEach(function(key6) {
|
||||
Object.keys(empCli).forEach(function (key6) {
|
||||
var empCliList = empCli[key6]
|
||||
if (empCliList == via) {
|
||||
boostback = 'emphasized'
|
||||
@@ -503,7 +503,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
if (muteCli) {
|
||||
//ミュートチェック
|
||||
Object.keys(muteCli).forEach(function(key7) {
|
||||
Object.keys(muteCli).forEach(function (key7) {
|
||||
var muteCliList = muteCli[key7]
|
||||
if (muteCliList == via) {
|
||||
boostback = 'hide'
|
||||
@@ -597,7 +597,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (mediack) {
|
||||
hasmedia = 'hasmedia'
|
||||
var cwdt = 100 / toot.media_attachments.length
|
||||
Object.keys(toot.media_attachments).forEach(function(key2) {
|
||||
Object.keys(toot.media_attachments).forEach(function (key2) {
|
||||
var media = toot.media_attachments[key2]
|
||||
var purl = media.preview_url
|
||||
media_ids = media_ids + media.id + ','
|
||||
@@ -669,7 +669,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (menck) {
|
||||
mentions = ''
|
||||
var to_mention = []
|
||||
Object.keys(toot.mentions).forEach(function(key3) {
|
||||
Object.keys(toot.mentions).forEach(function (key3) {
|
||||
var mention = toot.mentions[key3]
|
||||
//自分は除外
|
||||
//自インスタンスかどうかを確認し、IDの一致
|
||||
@@ -704,19 +704,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var tags = ''
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function(key4) {
|
||||
Object.keys(toot.tags).forEach(function (key4) {
|
||||
var tag = toot.tags[key4]
|
||||
var featured = ` <a onclick="tagFeature('${tag.name}','${acct_id}')" class="pointer" title="add it to Featured tags">Feature</a> `
|
||||
tags =
|
||||
tags +
|
||||
`<span class="hide" data-tag="${tag.name}" data-regTag="${tag.name.toLowerCase()}">#${
|
||||
tag.name
|
||||
tag.name
|
||||
}:
|
||||
<a onclick="tl('tag','${tag.name}','${acct_id}','add')" class="pointer"
|
||||
title="${lang.lang_parse_tagTL.replace(
|
||||
'{{tag}}',
|
||||
'#' + tag.name
|
||||
)}">TL</a> <a onclick="brInsert('#${tag.name}')"
|
||||
'{{tag}}',
|
||||
'#' + tag.name
|
||||
)}">TL</a> <a onclick="brInsert('#${tag.name}')"
|
||||
class="pointer" title="${lang.lang_parse_tagtoot.replace('{{tag}}', '#' + tag.name)}">Toot</a>
|
||||
<a onclick="tagPin('${tag.name}')" class="pointer" title="${lang.lang_parse_tagpin.replace(
|
||||
'{{tag}}',
|
||||
@@ -812,7 +812,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//ワードミュート
|
||||
if (wordmuteList) {
|
||||
Object.keys(wordmuteList).forEach(function(key8) {
|
||||
Object.keys(wordmuteList).forEach(function (key8) {
|
||||
var worde = wordmuteList[key8]
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
@@ -829,7 +829,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//ワード強調
|
||||
if (wordempList) {
|
||||
Object.keys(wordempList).forEach(function(key9) {
|
||||
Object.keys(wordempList).forEach(function (key9) {
|
||||
var wordList = wordempList[key9]
|
||||
if (wordList) {
|
||||
var wordList = wordList.tag
|
||||
@@ -845,7 +845,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (emojick) {
|
||||
Object.keys(toot.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.emojis).forEach(function (key5) {
|
||||
var emoji = toot.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -871,7 +871,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば(nico)
|
||||
if (nicoemojick) {
|
||||
Object.keys(toot.profile_emojis).forEach(function(keynico) {
|
||||
Object.keys(toot.profile_emojis).forEach(function (keynico) {
|
||||
var emoji = toot.profile_emojis[keynico]
|
||||
var shortcode = emoji.shortcode
|
||||
var emoji_url = `<img draggable="false" src="${emoji.url}" class="emoji-img" data-emoji="${shortcode}" alt=" :${shortcode}: "
|
||||
@@ -918,9 +918,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
//Ticker
|
||||
var tickerdom = ''
|
||||
if (ticker) {
|
||||
var tickerdata = localStorage.getItem('ticker')
|
||||
var tickerdata = localStorage.getItem('sticker')
|
||||
if (tickerdata) {
|
||||
var tickerdata = JSON.parse(tickerdata)
|
||||
var tickerdataRaw = JSON.parse(tickerdata)
|
||||
var tickerdata = tickerdataRaw.data
|
||||
|
||||
var thisdomain = toot.account.acct.split('@')
|
||||
if (thisdomain.length > 1) {
|
||||
@@ -929,14 +930,41 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
for (var i = 0; i < tickerdata.length; i++) {
|
||||
var value = tickerdata[i]
|
||||
if (value.domain == thisdomain) {
|
||||
var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:linear-gradient(90deg, ${
|
||||
value.bg
|
||||
}, transparent 96%) !important; color:${
|
||||
value.text
|
||||
};width:100%; height:0.9rem; font-size:0.8rem;" class="tickers">
|
||||
var bgColor = value.bgColor
|
||||
var fontColor = value.fontColor
|
||||
if (!value.bgColor || !value.fontColor) {
|
||||
if (value.type == 'mastodon') {
|
||||
if(!value.bgColor) bgColor = tickerdataRaw.default.mastodon.bgColor
|
||||
if(!value.fontColor) fontColor = tickerdataRaw.default.mastodon.fontColor
|
||||
} else if (value.type == 'pleroma') {
|
||||
if(!value.bgColor) bgColor = tickerdataRaw.default.pleroma.bgColor
|
||||
if(!value.fontColor) fontColor = tickerdataRaw.default.pleroma.fontColor
|
||||
} else if (value.type == 'misskey') {
|
||||
if(!value.bgColor) bgColor = tickerdataRaw.default.misskey.bgColor
|
||||
if(!value.fontColor) fontColor = tickerdataRaw.default.misskey.fontColor
|
||||
} else if (value.type == 'misskeylegacy') {
|
||||
if(!value.bgColor) bgColor = tickerdataRaw.default.misskeylegacy.bgColor
|
||||
if(!value.fontColor) fontColor = tickerdataRaw.default.misskeylegacy.fontColor
|
||||
} else if (value.type == 'pixelfed') {
|
||||
if(!value.bgColor) bgColor = tickerdataRaw.default.pixelfed.bgColor
|
||||
if(!value.fontColor) fontColor = tickerdataRaw.default.pixelfed.fontColor
|
||||
}
|
||||
} else {
|
||||
var bgColor = value.bgColor
|
||||
var fontColor = value.fontColor
|
||||
}
|
||||
bgColorCSS = ''
|
||||
for (let j = 0; j < bgColor.length; j++) {
|
||||
const bg = bgColor[j]
|
||||
bgColorCSS = bgColorCSS + bg + ','
|
||||
}
|
||||
bgColorCSS = `linear-gradient(90deg, ${bgColorCSS} transparent)`
|
||||
var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:${bgColorCSS} !important; color:${
|
||||
fontColor
|
||||
};width:100%; height:0.9rem; font-size:0.8rem;" class="tickers">
|
||||
<img draggable="false" src="${
|
||||
value.image
|
||||
}" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'">
|
||||
value.favicon
|
||||
}" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'">
|
||||
<span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span>
|
||||
</div>`
|
||||
break
|
||||
@@ -950,14 +978,14 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (!quoteUser) {
|
||||
quoteUser = toot.quote.account.acct
|
||||
}
|
||||
if(!toot.quote.quote_muted) {
|
||||
if (!toot.quote.quote_muted) {
|
||||
poll =
|
||||
poll +
|
||||
`<div class="quote-renote">
|
||||
poll +
|
||||
`<div class="quote-renote">
|
||||
<div class="renote-icon">
|
||||
<a onclick="udg('${toot.quote.account.id}','${acct_id}');" user="${
|
||||
toot.quote.account.acct
|
||||
}" class="udg">
|
||||
}" class="udg">
|
||||
<img draggable="false" src="${toot.quote.account.avatar}">
|
||||
</a>
|
||||
</div>
|
||||
@@ -969,18 +997,18 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
</div>
|
||||
<div class="renote-details">
|
||||
<a onclick="details('${
|
||||
toot.quote.id
|
||||
}','${acct_id}','${tlid}','normal')" class="waves-effect waves-dark btn-flat details" style="padding:0">
|
||||
toot.quote.id
|
||||
}','${acct_id}','${tlid}','normal')" class="waves-effect waves-dark btn-flat details" style="padding:0">
|
||||
<i class="text-darken-3 material-icons">more_vert</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>`
|
||||
} else {
|
||||
poll =
|
||||
poll +
|
||||
`<span class="gray sml">${lang.lang_parse_hidden}</span>`
|
||||
poll +
|
||||
`<span class="gray sml">${lang.lang_parse_hidden}</span>`
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//menuは何個?
|
||||
var menuct = 2
|
||||
@@ -1069,8 +1097,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
</div>
|
||||
<div class="action ${can_rt} ${disp['rt']} ${noauth}">
|
||||
<a onclick="rt('${
|
||||
toot.id
|
||||
}','${acct_id}','${tlid}')" class="waves-effect waves-dark btn-flat actct bt-btn"
|
||||
toot.id
|
||||
}','${acct_id}','${tlid}')" class="waves-effect waves-dark btn-flat actct bt-btn"
|
||||
style="padding:0" title="${lang.lang_parse_bt}">
|
||||
<i class="fas fa-retweet ${if_rt} rt_${toot.id}"></i>
|
||||
<span class="voice">${lang.lang_parse_bt} </span>
|
||||
@@ -1181,7 +1209,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
var templete = ''
|
||||
var datetype = localStorage.getItem('datetype')
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var toot = obj[key]
|
||||
if (toot) {
|
||||
if (!toot.username) {
|
||||
@@ -1258,7 +1286,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.emojis).forEach(function (key5) {
|
||||
var emoji = toot.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -1369,7 +1397,7 @@ function client(name) {
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else {
|
||||
var can
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var cliT = obj[key]
|
||||
if (cliT != name && !can) {
|
||||
can = false
|
||||
@@ -1457,7 +1485,7 @@ function pollParse(poll, acct_id, emojis) {
|
||||
var max = 0
|
||||
}
|
||||
|
||||
Object.keys(choices).forEach(function(keyc) {
|
||||
Object.keys(choices).forEach(function (keyc) {
|
||||
var choice = choices[keyc]
|
||||
var voteit = ''
|
||||
for (var i = 0; i < minechoice.length; i++) {
|
||||
@@ -1492,7 +1520,7 @@ function pollParse(poll, acct_id, emojis) {
|
||||
var choiceText = escapeHTML(choice.title)
|
||||
if (emojis) {
|
||||
//絵文字があれば
|
||||
Object.keys(emojis).forEach(function(key5) {
|
||||
Object.keys(emojis).forEach(function (key5) {
|
||||
var emoji = emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
|
@@ -1,30 +1,44 @@
|
||||
function spotifyConnect() {
|
||||
var auth = 'https://accounts.spotify.com/authorize?client_id=0f18e54abe0b4aedb4591e353d3aff69&redirect_uri=https://thedesk.top/spotify-connect&response_type=code&scope=user-read-currently-playing'
|
||||
var platform = localStorage.getItem('platform')
|
||||
if (platform == 'win32') {
|
||||
postMessage(['openUrl', auth], '*')
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
} else {
|
||||
auth = auth + '&state=code'
|
||||
$('#spotify-code-show').removeClass('hide')
|
||||
postMessage(['openUrl', auth], '*')
|
||||
}
|
||||
var auth = 'https://spotify.thedesk.top/connect'
|
||||
$('#spotify-code-show').removeClass('hide')
|
||||
postMessage(['openUrl', auth], '*')
|
||||
}
|
||||
function spotifyAuth() {
|
||||
var code = $('#spotify-code').val()
|
||||
localStorage.setItem('spotify', 'code')
|
||||
localStorage.setItem('spotify-refresh', code)
|
||||
localStorage.setItem('spotify-token', code)
|
||||
$('#spotify-code-show').addClass('hide')
|
||||
$('#spotify-enable').addClass('disabled')
|
||||
$('#spotify-disable').removeClass('disabled')
|
||||
}
|
||||
function spotifyDisconnect() {
|
||||
localStorage.removeItem('spotify')
|
||||
localStorage.removeItem('spotify-refresh')
|
||||
checkSpotify()
|
||||
var start = 'https://spotify.thedesk.top/disconnect?code=' + localStorage.getItem('spotify-token')
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
},
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if(!json.success) alert('error')
|
||||
localStorage.removeItem('spotify-token')
|
||||
checkSpotify()
|
||||
})
|
||||
}
|
||||
function checkSpotify() {
|
||||
if (localStorage.getItem('spotify')) {
|
||||
if (localStorage.getItem('spotify-token')) {
|
||||
$('#spotify-enable').addClass('disabled')
|
||||
$('#spotify-disable').removeClass('disabled')
|
||||
} else {
|
||||
@@ -71,8 +85,8 @@ function aMusicFlagSave() {
|
||||
}
|
||||
function nowplaying(mode) {
|
||||
if (mode == 'spotify') {
|
||||
var start = 'https://thedesk.top/now-playing?at=' + localStorage.getItem('spotify') + '&rt=' + localStorage.getItem('spotify-refresh')
|
||||
var at = localStorage.getItem('spotify')
|
||||
var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
|
||||
var at = localStorage.getItem('spotify-token')
|
||||
if (at) {
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
@@ -93,7 +107,10 @@ function nowplaying(mode) {
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
.then(function (jsonRaw) {
|
||||
var code = jsonRaw.token
|
||||
localStorage.setItem('spotify-token', code)
|
||||
var json = jsonRaw.data
|
||||
console.table(json)
|
||||
if (json.length < 1) {
|
||||
return false
|
||||
@@ -169,9 +186,9 @@ function nowplaying(mode) {
|
||||
return false
|
||||
}
|
||||
var item = json.recenttracks.track[0]
|
||||
if(!item['@attr']) return false
|
||||
if (!item['@attr']) return false
|
||||
var img = item.image[3]['#text']
|
||||
var isImg = item.streamable*1
|
||||
var isImg = item.streamable * 1
|
||||
var flag = localStorage.getItem('artwork')
|
||||
if (flag && isImg && img) {
|
||||
postMessage(['bmpImage', [img, 0]], '*')
|
||||
@@ -187,7 +204,7 @@ function nowplaying(mode) {
|
||||
var regExp = new RegExp('{artist}', 'g')
|
||||
content = content.replace(regExp, item.artist['#text'])
|
||||
var regExp = new RegExp('{url}', 'g')
|
||||
content = content.replace(regExp,'')
|
||||
content = content.replace(regExp, '')
|
||||
var regExp = new RegExp('{composer}', 'g')
|
||||
content = content.replace(regExp, '')
|
||||
var regExp = new RegExp('{hz}', 'g')
|
||||
|
@@ -131,12 +131,8 @@ function trendTagonTip() {
|
||||
spotint = null
|
||||
function spotifytips() {
|
||||
if (spotint) clearInterval(spotint)
|
||||
var start =
|
||||
'https://thedesk.top/now-playing?at=' +
|
||||
localStorage.getItem('spotify') +
|
||||
'&rt=' +
|
||||
localStorage.getItem('spotify-refresh')
|
||||
var at = localStorage.getItem('spotify')
|
||||
var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
|
||||
var at = localStorage.getItem('spotify-token')
|
||||
if (at) {
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
@@ -157,7 +153,10 @@ function spotifytips() {
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
.then(function(jsonRaw) {
|
||||
var code = jsonRaw.token
|
||||
localStorage.setItem('spotify-token', code)
|
||||
var json = jsonRaw.data
|
||||
var ms = json.progress_ms
|
||||
if(!ms) {
|
||||
tips('ver')
|
||||
|
@@ -45,5 +45,10 @@
|
||||
"Kawaii->Mayu(今ここ)->Koume->Chieri->Anastasia->Aiko",
|
||||
"言語設定を日本語以外にするとこの表示はどうなると思う?",
|
||||
"今日も使ってくれてありがとう。利用者カウンターがキリ番ならご報告を",
|
||||
"Ctrl+Eで通知の赤くなって「Fav: 1」とかなってるのをリセットできる"
|
||||
]
|
||||
"Ctrl+Eで通知の赤くなって「Fav: 1」とかなってるのをリセットできる",
|
||||
"このアプリケーションの正式な名称は小文字thedeskだけど、内部でしか使われてない",
|
||||
"N押すとトゥートのボックスが出て、すぐ打ち込める。",
|
||||
"Xを押すとトゥートのボックスは出るけど、打ち込めない。その代わりもう一度押すと消せる。",
|
||||
"トゥートした後ボックスを閉じるとかそのままにしておくとかは、設定で変えられます。",
|
||||
"OpenStickerへの登録データ募集中"
|
||||
]
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "21.0.4",
|
||||
"version": "21.0.5",
|
||||
"codename": "Mayu",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"repository": "https://github.com/cutls/TheDesk",
|
||||
@@ -51,17 +51,17 @@
|
||||
],
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.13.1",
|
||||
"custom-electron-titlebar": "^3.2.2-hotfix62",
|
||||
"@fortawesome/fontawesome-free": "^5.14.0",
|
||||
"custom-electron-titlebar": "^3.2.3",
|
||||
"electron-dl": "^3.0.1",
|
||||
"jimp": "^0.14.0",
|
||||
"jquery": "^3.5.1",
|
||||
"jquery-ui-dist": "^1.12.1",
|
||||
"json5": "^2.1.3",
|
||||
"lodash": "^4.17.15",
|
||||
"lodash": "^4.17.19",
|
||||
"materialize-css": "git://github.com/cutls/materialize#v1-dev",
|
||||
"sumchecker": "^3.0.1",
|
||||
"sweetalert2": "^9.15.2",
|
||||
"sweetalert2": "^9.17.0",
|
||||
"system-font-families": "^0.4.1",
|
||||
"vue": "^2.6.11"
|
||||
},
|
||||
@@ -69,8 +69,8 @@
|
||||
"itunes-nowplaying-mac": "0.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chokidar": "^3.4.0",
|
||||
"electron": "^9.0.5",
|
||||
"chokidar": "^3.4.1",
|
||||
"electron": "^9.1.1",
|
||||
"electron-builder": "^22.7.0",
|
||||
"electron-rebuild": "^1.11.0",
|
||||
"readline-sync": "1.4.10"
|
||||
|
@@ -1127,7 +1127,7 @@
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br />
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br />
|
||||
<br />
|
||||
<div id="release-21-0-4_Mayu" class="release-do" style="display:none; ">
|
||||
<div id="release-21-0-5_Mayu" class="release-do" style="display:none; ">
|
||||
<br />
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br />
|
||||
Pixiv
|
||||
@@ -1135,8 +1135,8 @@
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note 21.0.4 (Mayu)</h5>
|
||||
<!--上のdivのidも変えてね-->
|
||||
・起動しないバグ <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
|
||||
・引用可能なインスタンスで、すべてのトゥートがミュートされた引用になってしまうバグ heguro<br>
|
||||
・Spotify連携を再設計(全員再ログインをお願いします) <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
|
||||
・InstanceTickerを廃止し、OpenStickerを導入 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a> <br>
|
||||
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
|
@@ -101,8 +101,8 @@
|
||||
"or": "or",
|
||||
"imgheight": "Height of images",
|
||||
"imgheightwarn": "Option:Set \"full\" to uncrop.",
|
||||
"ticker": "Enable #InstanceTicker",
|
||||
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.",
|
||||
"ticker": "Enable OpenSticker",
|
||||
"tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
|
||||
"animation": "Animation of timelines",
|
||||
"markers": "Markers(mark as read) on HTL and notifications",
|
||||
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",
|
||||
|
@@ -100,8 +100,8 @@
|
||||
"or": "または",
|
||||
"imgheight": "画像の高さ",
|
||||
"imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップせず全部出すで。",
|
||||
"ticker": "#InstanceTickerを使う",
|
||||
"tickerwarn": "トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">#InstanceTickerってなんや?</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.",
|
||||
"ticker": "OpenStickerを使う",
|
||||
"tickerwarn": "そのトゥートの発信者のサーバー名やFaviconを表示します。<a href=\"https://opensticker.0px.io\">OpenStickerについて</a>",
|
||||
"animation": "タイムラインのアニメーション",
|
||||
"markers": "ホームと通知の未読管理",
|
||||
"markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有するやつや。",
|
||||
|
@@ -101,8 +101,8 @@
|
||||
"or": "または",
|
||||
"imgheight": "画像の高さ",
|
||||
"imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップしません。",
|
||||
"ticker": "#InstanceTickerを使う",
|
||||
"tickerwarn": "トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">#InstanceTickerについて</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.",
|
||||
"ticker": "OpenStickerを使う",
|
||||
"tickerwarn": "そのトゥートの発信者のサーバー名やFaviconを表示します。<a href=\"https://opensticker.0px.io\">OpenStickerについて</a>",
|
||||
"animation": "タイムラインのアニメーション",
|
||||
"markers": "ホームと通知の未読管理",
|
||||
"markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有されます。",
|
||||
|
@@ -37,10 +37,10 @@
|
||||
global-agent "^2.0.2"
|
||||
global-tunnel-ng "^2.7.1"
|
||||
|
||||
"@fortawesome/fontawesome-free@^5.13.1":
|
||||
version "5.13.1"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz#c53b4066edae16cd1fd669f687baf031b45fb9d6"
|
||||
integrity sha512-D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw==
|
||||
"@fortawesome/fontawesome-free@^5.14.0":
|
||||
version "5.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.14.0.tgz#a371e91029ebf265015e64f81bfbf7d228c9681f"
|
||||
integrity sha512-OfdMsF+ZQgdKHP9jUbmDcRrP0eX90XXrsXIdyjLbkmSBzmMXPABB8eobUJtivaupucYaByz6WNe1PI1JuYm3qA==
|
||||
|
||||
"@jimp/bmp@^0.14.0":
|
||||
version "0.14.0"
|
||||
@@ -747,10 +747,10 @@ chalk@^4.0.0:
|
||||
ansi-styles "^4.1.0"
|
||||
supports-color "^7.1.0"
|
||||
|
||||
chokidar@^3.4.0:
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
|
||||
integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
|
||||
chokidar@^3.4.1:
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
|
||||
integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
@@ -925,10 +925,10 @@ crypto-random-string@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
||||
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
||||
|
||||
custom-electron-titlebar@^3.2.2-hotfix62:
|
||||
version "3.2.2-hotfix62"
|
||||
resolved "https://registry.yarnpkg.com/custom-electron-titlebar/-/custom-electron-titlebar-3.2.2-hotfix62.tgz#94b908f0f2bf812e4f65447a26b93b88f7a76088"
|
||||
integrity sha512-Kh86xAolkCpqj4AD/H4HcR2pEtxUyIHzMzqwkxqZkSqE7R9tRfN8G3fVpiiNIAJlX8rbN3VwxaoHi1B1sSMn/Q==
|
||||
custom-electron-titlebar@^3.2.3:
|
||||
version "3.2.3"
|
||||
resolved "https://registry.yarnpkg.com/custom-electron-titlebar/-/custom-electron-titlebar-3.2.3.tgz#41da10b97958639e96a04275051bb5f78a666fc3"
|
||||
integrity sha512-7DIZELlDoiAKT+i73XF9EG778M3/SYMmGa867cn3d0mLEEXDtEJq9sqM/u57vrtjolXKJ5ZJQ9hCCL2uxx9nxQ==
|
||||
|
||||
dashdash@^1.12.0:
|
||||
version "1.14.1"
|
||||
@@ -1126,10 +1126,10 @@ electron-rebuild@^1.11.0:
|
||||
spawn-rx "^3.0.0"
|
||||
yargs "^14.2.0"
|
||||
|
||||
electron@^9.0.5:
|
||||
version "9.0.5"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.5.tgz#189ee117cc2a2777cccf40fae0766acec5faae57"
|
||||
integrity sha512-bnL9H48LuQ250DML8xUscsKiuSu+xv5umXbpBXYJ0BfvYVmFfNbG3jCfhrsH7aP6UcQKVxOG1R/oQExd0EFneQ==
|
||||
electron@^9.1.1:
|
||||
version "9.1.1"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-9.1.1.tgz#d52c9873be4113287c3eb2b02f85bad6644b100e"
|
||||
integrity sha512-BYvroBLV9x7G4iN33P/IxeZqwjl62/9VuBAF1CoM0m6OeheaiLog1ZMKLlCqVXycJvvrAvLHc454DDEmwnqqhA==
|
||||
dependencies:
|
||||
"@electron/get" "^1.0.1"
|
||||
"@types/node" "^12.0.12"
|
||||
@@ -1935,10 +1935,10 @@ lodash.assign@^4.2.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
|
||||
integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
|
||||
|
||||
lodash@^4.17.10, lodash@^4.17.15:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
lodash@^4.17.10, lodash@^4.17.19:
|
||||
version "4.17.19"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
|
||||
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
|
||||
|
||||
log-symbols@^2.2.0:
|
||||
version "2.2.0"
|
||||
@@ -2869,10 +2869,10 @@ supports-color@^7.1.0:
|
||||
dependencies:
|
||||
has-flag "^4.0.0"
|
||||
|
||||
sweetalert2@^9.15.2:
|
||||
version "9.15.2"
|
||||
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-9.15.2.tgz#d26f1e6dee91d9ff57b3b98b3d92a0d6c3fa6fc1"
|
||||
integrity sha512-evJfoa49s5ZzSmVc62tslNkzlQoCg2GHjB3MQxawfESppvY5AlXKLGQ3nNKxHXKdodKmIHbkl39DgUhcOK7LgQ==
|
||||
sweetalert2@^9.17.0:
|
||||
version "9.17.0"
|
||||
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-9.17.0.tgz#9ea457f3c44295a3629ed5998fee6a51940c3891"
|
||||
integrity sha512-tOby96N1FlTT8Xi7Y7QlTiswNJTySgghmRSyFwb3pO3zdrhsR2PUp4ucmye7a3CTLbLdqjHdszsGlCJ0v6pGaQ==
|
||||
|
||||
system-font-families@^0.4.1:
|
||||
version "0.4.1"
|
||||
|
Reference in New Issue
Block a user