icon, en-splash, add remote-only pub

This commit is contained in:
cutls 2020-05-10 19:39:49 +09:00
parent 1b3e676b30
commit dd0e1279c4
21 changed files with 119 additions and 56 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -563,7 +563,7 @@ textarea {
font-family: 'Open Sans'; font-family: 'Open Sans';
font-style: normal; font-style: normal;
font-weight: 300; font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url('./fonts/OpenSans-Light.ttf') format('truetype'); src: local('Open Sans Light'), local('OpenSans-Light'), url('../fonts/OpenSans-Light.ttf') format('truetype');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
} }
@font-face { @font-face {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -14,6 +14,46 @@ function mediaToggle(tlid) {
$('#timeline_' + tlid).addClass('media-filter') $('#timeline_' + tlid).addClass('media-filter')
} }
} }
/* Remote only */
function remoteOnly(tlid, type) {
var multi = localStorage.getItem('column')
var obj = JSON.parse(multi)
if (obj[tlid].data) {
if (obj[tlid].data.remote) {
obj[tlid].data.remote = false
var json = JSON.stringify(obj)
localStorage.setItem('column', json)
$('#sta-remote-' + tlid).text('Off')
$('#sta-remote-' + tlid).css('color', '#009688')
} else {
obj[tlid].data.remote = true
var json = JSON.stringify(obj)
localStorage.setItem('column', json)
$('#sta-remote-' + tlid).text('On')
$('#sta-remote-' + tlid).css('color', 'red')
}
} else {
obj[tlid].data = {}
obj[tlid].data.remote = true
var json = JSON.stringify(obj)
localStorage.setItem('column', json)
$('#sta-remote-' + tlid).text('On')
$('#sta-remote-' + tlid).css('color', 'red')
}
columnReload(tlid, type)
}
function remoteOnlyCk(tlid) {
var multi = localStorage.getItem('column')
var obj = JSON.parse(multi)
if (obj[tlid].data) {
if (obj[tlid].data.remote) {
$('#sta-remote-' + tlid).text('On')
$('#sta-remote-' + tlid).css('color', 'red')
return true
}
}
return false
}
//各TL上方のBT[BTOnly/BTExc/Off] //各TL上方のBT[BTOnly/BTExc/Off]
function ebtToggle(tlid) { function ebtToggle(tlid) {
var ebt = localStorage.getItem('ebt_' + tlid) var ebt = localStorage.getItem('ebt_' + tlid)
@ -117,26 +157,26 @@ function filter() {
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 filters = '' var filters = ''
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function (key) {
var filterword = json[key] var filterword = json[key]
var context = filterword.context.join(',') var context = filterword.context.join(',')
filters = filters =
@ -191,10 +231,7 @@ function makeNewFilter() {
if (!who) { if (!who) {
who = false who = false
} }
var time = var time = $('#days_filter').val() * 24 * 60 * 60 + $('#hours_filter').val() * 60 * 60 + $('#mins_filter').val() * 60
$('#days_filter').val() * 24 * 60 * 60 +
$('#hours_filter').val() * 60 * 60 +
$('#mins_filter').val() * 60
var domain = localStorage.getItem('domain_' + acct_id) var domain = localStorage.getItem('domain_' + acct_id)
var at = localStorage.getItem('acct_' + acct_id + '_at') var at = localStorage.getItem('acct_' + acct_id + '_at')
if ($('#filter-edit-id').val()) { if ($('#filter-edit-id').val()) {
@ -216,10 +253,10 @@ function makeNewFilter() {
context: cont, context: cont,
irreversible: exc, irreversible: exc,
whole_word: who, whole_word: who,
expires_in: time expires_in: time,
}) })
) )
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@ -263,29 +300,29 @@ function filterEdit(id, acct_id) {
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 now = new Date() var now = new Date()
now = now.getTime() now = now.getTime()
var now = Math.floor(now / 1000) var now = Math.floor(now / 1000)
$('#filter-add-word').val(json.phrase) $('#filter-add-word').val(json.phrase)
Object.keys(json.context).forEach(function(key) { Object.keys(json.context).forEach(function (key) {
var context = json.context[key] var context = json.context[key]
$('[value=' + context + ']').prop('checked', true) $('[value=' + context + ']').prop('checked', true)
}) })
@ -315,7 +352,7 @@ function filterDel(id, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response var json = httpreq.response
if (this.status !== 200) { if (this.status !== 200) {
@ -335,23 +372,23 @@ function getFilter(acct_id) {
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) {
localStorage.setItem('filter_' + acct_id, JSON.stringify(json)) localStorage.setItem('filter_' + acct_id, JSON.stringify(json))
}) })
} else { } else {
@ -370,13 +407,13 @@ function getFilterType(json, type) {
type = 'notifi' type = 'notifi'
} }
var mutedfilters = [] var mutedfilters = []
Object.keys(json).forEach(function(key) { Object.keys(json).forEach(function (key) {
var filterword = json[key] var filterword = json[key]
var phrases = filterword.phrase var phrases = filterword.phrase
var arr = filterword.context var arr = filterword.context
if (arr.join(',').indexOf(type) !== -1) { if (arr.join(',').indexOf(type) !== -1) {
mutedfilters.push(phrases) mutedfilters.push(phrases)
} else if (type == 'mix'){ } else if (type == 'mix') {
if (arr.indexOf('home') !== -1 || arr.indexOf('public') !== -1) { if (arr.indexOf('home') !== -1 || arr.indexOf('public') !== -1) {
mutedfilters.push(phrases) mutedfilters.push(phrases)
} }
@ -400,23 +437,23 @@ function filterUpdate(acct_id) {
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) {
localStorage.setItem('filter_' + acct_id, JSON.stringify(json)) localStorage.setItem('filter_' + acct_id, JSON.stringify(json))
filterUpdateInternal(json, 'home') filterUpdateInternal(json, 'home')
filterUpdateInternal(json, 'local') filterUpdateInternal(json, 'local')
@ -432,13 +469,11 @@ function filterUpdateInternal(json, type) {
home = home.concat(wordmute) home = home.concat(wordmute)
} }
if (home) { if (home) {
$('[data-acct=' + acct_id + '] [data-type=' + type + '] .cvo').each(function(i, elem) { $('[data-acct=' + acct_id + '] [data-type=' + type + '] .cvo').each(function (i, elem) {
var id = $(elem).attr('toot-id') var id = $(elem).attr('toot-id')
$('[toot-id=' + id + ']').removeClass('hide') $('[toot-id=' + id + ']').removeClass('hide')
var text = $(elem) var text = $(elem).find('.toot').html()
.find('.toot') Object.keys(home).forEach(function (key8) {
.html()
Object.keys(home).forEach(function(key8) {
var word = home[key8] var word = home[key8]
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&'), 'g') var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&'), 'g')
if ($.strip_tags(text).match(regExp)) { if ($.strip_tags(text).match(regExp)) {

View File

@ -158,7 +158,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
} }
} else { } else {
var misskey = false var misskey = false
var url = com(type, data) var url = com(type, data, tlid)
if (type == 'tag') { if (type == 'tag') {
var tag = localStorage.getItem('tag-range') var tag = localStorage.getItem('tag-range')
if (tag == 'local') { if (tag == 'local') {
@ -256,10 +256,17 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
if (type == 'home') { if (type == 'home') {
var start = wss + '/api/v1/streaming/?stream=user&access_token=' + at var start = wss + '/api/v1/streaming/?stream=user&access_token=' + at
} else if (type == 'pub') { } else if (type == 'pub') {
var start = wss + '/api/v1/streaming/?stream=public&access_token=' + at var add = ''
if(remoteOnlyCk(tlid)){
add = '&remote=true'
}
var start = wss + '/api/v1/streaming/?stream=public&access_token=' + at + add
} else if (type == 'pub-media') { } else if (type == 'pub-media') {
var start = var add = ''
wss + '/api/v1/streaming/?stream=public:media&access_token=' + at if(remoteOnlyCk(tlid)){
add = '&remote=true'
}var start =
wss + '/api/v1/streaming/?stream=public:media&access_token=' + at + add
} else if (type == 'local') { } else if (type == 'local') {
var start = var start =
wss + '/api/v1/streaming/?stream=public:local&access_token=' + at wss + '/api/v1/streaming/?stream=public:local&access_token=' + at
@ -532,7 +539,7 @@ function moreload(type, tlid) {
'https://' + 'https://' +
domain + domain +
'/api/v1/timelines/' + '/api/v1/timelines/' +
com(type, data) + com(type, data, tlid) +
'max_id=' + 'max_id=' +
sid sid
if (type == 'dm') { if (type == 'dm') {
@ -665,7 +672,7 @@ function tlDiff(type, data, acct_id, tlid, delc, voice, mode) {
'https://' + 'https://' +
domain + domain +
'/api/v1/timelines/' + '/api/v1/timelines/' +
com(type, data) + com(type, data, tlid) +
'since_id=' + 'since_id=' +
sid sid
if (type == 'dm') { if (type == 'dm') {
@ -850,7 +857,7 @@ function cap(type, data, acct_id) {
} }
//TLのURL //TLのURL
function com(type, data) { function com(type, data, tlid) {
if (type == 'home') { if (type == 'home') {
return 'home?' return 'home?'
} else if (type == 'local' || type == 'noauth') { } else if (type == 'local' || type == 'noauth') {
@ -858,9 +865,17 @@ function com(type, data) {
} else if (type == 'local-media') { } else if (type == 'local-media') {
return 'public?local=true&only_media=true&' return 'public?local=true&only_media=true&'
} else if (type == 'pub') { } else if (type == 'pub') {
return 'public?' var add = ''
if(remoteOnlyCk(tlid)){
add = 'remote=true&'
}
return 'public?' + add
} else if (type == 'pub-media') { } else if (type == 'pub-media') {
return 'public?only_media=true&' var add = ''
if(remoteOnlyCk(tlid)){
add = 'remote=true&'
}
return 'public?only_media=true&' + add
} else if (type == 'tag') { } else if (type == 'tag') {
if (data.name) { if (data.name) {
var name = data.name var name = data.name

View File

@ -354,6 +354,18 @@ function parseColumn(target, dontclose) {
} else { } else {
var addHeight = '' var addHeight = ''
} }
if (acct.type != 'pub' && acct.type != 'pub-media') {
console.log(acct.type, key)
var mediaFil = `<a onclick="mediaToggle('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_mediafil}">perm_media</i>
<span id="sta-media-${key}">On</span>
</a>${lang.lang_layout_mediafil}`
} else {
var mediaFil = `<a onclick="remoteOnly('${key}','${acct.type}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_remoteOnly}">perm_media</i>
<span id="sta-remote-${key}">Off</span>
</a>${lang.lang_layout_remoteOnly}`
}
var html = ` var html = `
<div class="boxIn" id="timeline_box_${key}_box" tlid="${key}" data-acct="${acct.domain}" style="${addHeight}"> <div class="boxIn" id="timeline_box_${key}_box" tlid="${key}" data-acct="${acct.domain}" style="${addHeight}">
<div class="notice-box z-depth-2" id="menu_${key}" style="${insert}"> <div class="notice-box z-depth-2" id="menu_${key}" style="${insert}">
@ -408,11 +420,7 @@ function parseColumn(target, dontclose) {
<div class="column-hide notf-indv-box" id="util-box_${key}" style="padding:5px;"> <div class="column-hide notf-indv-box" id="util-box_${key}" style="padding:5px;">
${unread} ${unread}
${exclude}${left_hold} ${exclude}${left_hold}
<a onclick="mediaToggle('${key}')" class="setting nex"> ${mediaFil}<br>
<i class="material-icons waves-effect nex" title="${lang.lang_layout_mediafil}">perm_media</i>
<span id="sta-media-${key}">On</span>
</a>
${lang.lang_layout_mediafil}<br>
<a onclick="cardToggle('${key}')" class="setting nex"> <a onclick="cardToggle('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_linkanades}">link</i> <i class="material-icons waves-effect nex" title="${lang.lang_layout_linkanades}">link</i>
<span id="sta-card-${key}">On</span> <span id="sta-card-${key}">On</span>

View File

@ -79,6 +79,8 @@ function createWindow() {
if(lang == 'ja') { if(lang == 'ja') {
const maxims = JSON.parse(fs.readFileSync(__dirname + '/maxim.ja.json')) const maxims = JSON.parse(fs.readFileSync(__dirname + '/maxim.ja.json'))
var show = maxims[Math.floor(Math.random() * maxims.length)] var show = maxims[Math.floor(Math.random() * maxims.length)]
} else {
var show = 'TheDesk 2018'
} }
const data = JSON.parse(package) const data = JSON.parse(package)
const version = data.version const version = data.version

View File

@ -128,7 +128,7 @@
</select> </select>
</div> </div>
<button onclick="set()" id="setting">Setting</button> <button onclick="set()" id="setting">Setting</button>
<textarea id="textarea" style="width:55%; background-color:transparent" placeholder="Post someyhing new"></textarea> <textarea id="textarea" style="width:55%; background-color:transparent" placeholder="Post something new"></textarea>
<button class="btn" onclick="post()">Post</button> <button class="btn" onclick="post()">Post</button>
<button onclick="window.close()">x</button><br /> <button onclick="window.close()">x</button><br />
<div id="timeline_nano">Click "settings" to show TL</div> <div id="timeline_nano">Click "settings" to show TL</div>

View File

@ -127,6 +127,7 @@
"lang_layout_delthis": "Remove this column", "lang_layout_delthis": "Remove this column",
"lang_layout_setthis": "Preferences of this column", "lang_layout_setthis": "Preferences of this column",
"lang_layout_mediafil": "Media filtering", "lang_layout_mediafil": "Media filtering",
"lang_layout_remoteOnly": "Remote only",
"lang_layout_linkana": "Auto Link Analyzer", "lang_layout_linkana": "Auto Link Analyzer",
"lang_layout_linkanades": "Auto link analyzer", "lang_layout_linkanades": "Auto link analyzer",
"lang_layout_tts": "Text to speech ", "lang_layout_tts": "Text to speech ",

View File

@ -128,6 +128,7 @@
"lang_layout_mediafil": "メディアフィルター", "lang_layout_mediafil": "メディアフィルター",
"lang_layout_linkana": "リンク解析", "lang_layout_linkana": "リンク解析",
"lang_layout_linkanades": "リンクの解析を切り替え", "lang_layout_linkanades": "リンクの解析を切り替え",
"lang_layout_remoteOnly": "リモートのみ",
"lang_layout_tts": "読み上げ", "lang_layout_tts": "読み上げ",
"lang_layout_reconnect": "カラム再読込", "lang_layout_reconnect": "カラム再読込",
"lang_layout_headercolor": "TLヘッダーカラー", "lang_layout_headercolor": "TLヘッダーカラー",

View File

@ -127,6 +127,7 @@
"lang_layout_thisacct": "このアカウントの{{notf}}", "lang_layout_thisacct": "このアカウントの{{notf}}",
"lang_layout_delthis": "このカラムを削除", "lang_layout_delthis": "このカラムを削除",
"lang_layout_setthis": "このカラムの設定", "lang_layout_setthis": "このカラムの設定",
"lang_layout_remoteOnly": "リモートのみ",
"lang_layout_mediafil": "メディアフィルター", "lang_layout_mediafil": "メディアフィルター",
"lang_layout_linkana": "リンク解析", "lang_layout_linkana": "リンク解析",
"lang_layout_linkanades": "リンクの解析を切り替え", "lang_layout_linkanades": "リンクの解析を切り替え",