commit
edf1a6ec29
|
@ -27,6 +27,8 @@ The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.o
|
||||||
* [ico](https://dl.thedesk.top/press/TheDesk.ico)
|
* [ico](https://dl.thedesk.top/press/TheDesk.ico)
|
||||||
* [icns](https://dl.thedesk.top/press/TheDesk.icns)
|
* [icns](https://dl.thedesk.top/press/TheDesk.icns)
|
||||||
|
|
||||||
|
The default sound of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
|
||||||
|
|
||||||
## Terms of Use/利用規約
|
## Terms of Use/利用規約
|
||||||
|
|
||||||
* [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html)
|
* [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html)
|
||||||
|
|
|
@ -76,7 +76,7 @@ a,button{
|
||||||
<img src="./img/desk.png" style="max-width:70%;">
|
<img src="./img/desk.png" style="max-width:70%;">
|
||||||
<h5>TheDesk</h5>
|
<h5>TheDesk</h5>
|
||||||
<div class='container'>
|
<div class='container'>
|
||||||
<div class='area-name1'>External version</div>
|
<div class='area-name1'>Display version</div>
|
||||||
<div class='area-data1' id="now"></div>
|
<div class='area-data1' id="now"></div>
|
||||||
<div class='area-name2'>Internal version</div>
|
<div class='area-name2'>Internal version</div>
|
||||||
<div class='area-data2' id="ver"></div>
|
<div class='area-data2' id="ver"></div>
|
||||||
|
@ -87,13 +87,17 @@ a,button{
|
||||||
<div class='area-name5'>Node.js</div>
|
<div class='area-name5'>Node.js</div>
|
||||||
<div class='area-data5' id="node"></div>
|
<div class='area-data5' id="node"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cp">Copyright © TheDesk 2018 All rights reserved.<br><a href="https://thedesk.top" target="_blank">Web site</a></div>
|
<div class="cp">Copyright © <a href="https://kirishima.cloud/@Cutls" target="_blank">Cutls P</a> 2018 All rights reserved.<br>
|
||||||
|
Thanks:<a href="https://minohdon.jp/@toneji" target="_blank">toneji</a>/<a href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pawoo.net/@kPherox" target="_blank">kPherox</a> and all users
|
||||||
|
<img draggable="false" style="width:0.8rem;top: 1px;margin-left: 1px;position: relative;" alt="❤️" title=":heart:" src="https://twemoji.maxcdn.com/2/72x72/2764.png">
|
||||||
|
<br><a href="https://thedesk.top" target="_blank">Web site</a></div>
|
||||||
<button onclick="window.close()" class="btn waves-effect indigo" style="width:calc(100% - 10px);"><i class="material-icons left">close</i>Close</button>
|
<button onclick="window.close()" class="btn waves-effect indigo" style="width:calc(100% - 10px);"><i class="material-icons left">close</i>Close</button>
|
||||||
<script type="text/javascript" src="./js/ui/theme.js"></script>
|
<script type="text/javascript" src="./js/ui/theme.js"></script>
|
||||||
<script>
|
<script>
|
||||||
$("#now").text(localStorage.getItem("ver"));
|
$("#now").text(localStorage.getItem("ver"));
|
||||||
var electron = require("electron");
|
var electron = require("electron");
|
||||||
var remote=electron.remote;
|
var remote=electron.remote;
|
||||||
|
const shell=electron.shell;
|
||||||
//JSON.parse(fs.readFileSync(info_path, 'utf8'));
|
//JSON.parse(fs.readFileSync(info_path, 'utf8'));
|
||||||
console.log(process.versions);
|
console.log(process.versions);
|
||||||
$("#node").text(process.version);
|
$("#node").text(process.version);
|
||||||
|
@ -104,6 +108,9 @@ a,button{
|
||||||
var ver=m[1];
|
var ver=m[1];
|
||||||
$("#ver").text(ver);
|
$("#ver").text(ver);
|
||||||
}
|
}
|
||||||
|
$(document).on('click', 'a', e => {
|
||||||
|
var url = $(e.target).attr('href');
|
||||||
|
shell.openExternal(url);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="./js/platform/end.js"></script>
|
|
|
@ -30,6 +30,8 @@ option {
|
||||||
}
|
}
|
||||||
#mainView {
|
#mainView {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
overflow:scroll;
|
||||||
|
height: auto;
|
||||||
}
|
}
|
||||||
#message {
|
#message {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -249,6 +249,29 @@ grid-area: toot;
|
||||||
margin:2px;
|
margin:2px;
|
||||||
grid-area: side;
|
grid-area: side;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.quote-renote{
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 43px 2fr 1fr;
|
||||||
|
grid-template-areas: 'ricon ruser' 'ricon rtext';
|
||||||
|
border: 1px solid;
|
||||||
|
margin-top: 3px;
|
||||||
|
padding: 1px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.renote-icon{
|
||||||
|
grid-area: ricon;
|
||||||
|
}
|
||||||
|
.renote-icon img{
|
||||||
|
width:43px;
|
||||||
|
}
|
||||||
|
.renote-user{
|
||||||
|
grid-area: ruser;
|
||||||
|
}
|
||||||
|
.renote-text{
|
||||||
|
grid-area: rtext;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-flat{
|
.btn-flat{
|
||||||
color:var(--color);
|
color:var(--color);
|
||||||
}
|
}
|
||||||
|
|
|
@ -364,6 +364,28 @@ function misskeyLogin(url) {
|
||||||
"reaction-write",
|
"reaction-write",
|
||||||
"vote-read",
|
"vote-read",
|
||||||
"vote-write"
|
"vote-write"
|
||||||
|
/*
|
||||||
|
"read:account",
|
||||||
|
"write:account",
|
||||||
|
"read:drive",
|
||||||
|
"write:drive",
|
||||||
|
"read:blocks",
|
||||||
|
"write:blocks",
|
||||||
|
"read:favorites",
|
||||||
|
"write:favorites",
|
||||||
|
"read:following",
|
||||||
|
"write:following",
|
||||||
|
"read:messaging",
|
||||||
|
"write:messaging",
|
||||||
|
"read:mutes",
|
||||||
|
"write:mutes",
|
||||||
|
"write:notes",
|
||||||
|
"read:notifications",
|
||||||
|
"write:notifications",
|
||||||
|
"read:reactions",
|
||||||
|
"write:reactions",
|
||||||
|
"write:votes"
|
||||||
|
*/
|
||||||
]
|
]
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
|
|
|
@ -182,3 +182,20 @@ const {
|
||||||
webviewDom.addEventListener('new-window', function(e) {
|
webviewDom.addEventListener('new-window', function(e) {
|
||||||
shell.openExternal(e.url);
|
shell.openExternal(e.url);
|
||||||
});
|
});
|
||||||
|
function playSound() {
|
||||||
|
window.AudioContext = window.AudioContext || window.webkitAudioContext;
|
||||||
|
context = new AudioContext();
|
||||||
|
context.createBufferSource().start(0);
|
||||||
|
context.decodeAudioData(request.response, function (buf) {
|
||||||
|
console.log(source)
|
||||||
|
source.buffer = buf;
|
||||||
|
source.loop = false;
|
||||||
|
});
|
||||||
|
source = context.createBufferSource();
|
||||||
|
volumeControl = context.createGain();
|
||||||
|
source.connect(volumeControl);
|
||||||
|
volumeControl.connect(context.destination);
|
||||||
|
volumeControl.gain.value=0.8
|
||||||
|
console.log(volumeControl)
|
||||||
|
source.start(0);
|
||||||
|
}
|
|
@ -296,7 +296,9 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
")<br>";
|
")<br>";
|
||||||
var boostback = "shared";
|
var boostback = "shared";
|
||||||
var uniqueid=toot.id;
|
var uniqueid=toot.id;
|
||||||
|
if(!toot.text){
|
||||||
var toot = toot.renote;
|
var toot = toot.renote;
|
||||||
|
}
|
||||||
var dis_name=escapeHTMLtemp(toot.user.name);
|
var dis_name=escapeHTMLtemp(toot.user.name);
|
||||||
var uniqueid=toot.id;
|
var uniqueid=toot.id;
|
||||||
var actemojick=false
|
var actemojick=false
|
||||||
|
@ -636,9 +638,11 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
});
|
});
|
||||||
poll='<div class="vote_'+toot.id+'">'+poll+'</div>';
|
poll='<div class="vote_'+toot.id+'">'+poll+'</div>';
|
||||||
}
|
}
|
||||||
/*
|
//引用Renote
|
||||||
|
if(toot.renote){
|
||||||
*/
|
poll=poll+'<div class="quote-renote"><div class="renote-icon"><a onclick="udg(\'' + toot.renote.user.id +
|
||||||
|
'\',' + acct_id + ');" user="' + toot.renote.user.username + '" class="udg"><img src="'+toot.renote.user.avatarUrl+'"></a></div><div class="renote-user">'+escapeHTML(toot.renote.user.name)+'</div><div class="renote-text">'+escapeHTML(toot.renote.text)+'</div></div>'
|
||||||
|
}
|
||||||
if(localStorage.getItem("emojiReaction_" + acct_id)=="disabled"){
|
if(localStorage.getItem("emojiReaction_" + acct_id)=="disabled"){
|
||||||
var freeReact="hide";
|
var freeReact="hide";
|
||||||
}else{
|
}else{
|
||||||
|
|
|
@ -112,73 +112,6 @@ function notfColumn(acct_id, tlid, sys){
|
||||||
at;
|
at;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(start);
|
|
||||||
var wsid = websocketNotf.length;
|
|
||||||
websocketNotf[acct_id] = new WebSocket(start);
|
|
||||||
console.log(websocketNotf);
|
|
||||||
websocketNotf[acct_id].onopen = function(mess) {
|
|
||||||
console.log("Connect Streaming API(Notf):");
|
|
||||||
console.log(mess);
|
|
||||||
$("i[data-notf=" + acct_id +"]").removeClass("red-text");
|
|
||||||
|
|
||||||
}
|
|
||||||
websocketNotf[acct_id].onmessage = function(mess) {
|
|
||||||
console.log("Receive Streaming API(Notf):"+acct_id);
|
|
||||||
var popup = localStorage.getItem("popup");
|
|
||||||
if (!popup) {
|
|
||||||
popup = 0;
|
|
||||||
}
|
|
||||||
console.log(domain)
|
|
||||||
if(misskey){
|
|
||||||
console.log("misskey")
|
|
||||||
console.log(JSON.parse(mess.data));
|
|
||||||
if (JSON.parse(mess.data).type == "notification") {
|
|
||||||
var obj = JSON.parse(mess.data).body;
|
|
||||||
console.log(obj);
|
|
||||||
if(obj.type!="follow"){
|
|
||||||
|
|
||||||
templete = misskeyParse([obj], 'notf', acct_id, 'notf', popup);
|
|
||||||
}else{
|
|
||||||
templete = misskeyUserparse([obj], 'notf', acct_id, 'notf', popup);
|
|
||||||
}
|
|
||||||
if(obj.type=="reaction"){
|
|
||||||
console.log("refresh")
|
|
||||||
reactRefresh(acct_id,obj.note.id)
|
|
||||||
}
|
|
||||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
|
||||||
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
|
||||||
}
|
|
||||||
jQuery("time.timeago").timeago();
|
|
||||||
}else if(JSON.parse(mess.data).type == "note-updated"){
|
|
||||||
var obj = JSON.parse(mess.data).body.note;
|
|
||||||
reactRefreshCore(obj)
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
var obj = JSON.parse(JSON.parse(mess.data).payload);
|
|
||||||
console.log(obj);
|
|
||||||
var type = JSON.parse(mess.data).event;
|
|
||||||
if (type == "notification") {
|
|
||||||
var templete="";
|
|
||||||
localStorage.setItem("lastnotf_" + acct_id,obj.id);
|
|
||||||
if(obj.type!="follow"){
|
|
||||||
templete = parse([obj], 'notf', acct_id, 'notf', popup);
|
|
||||||
}else{
|
|
||||||
templete = userparse([obj], 'notf', acct_id, 'notf', popup);
|
|
||||||
}
|
|
||||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
|
||||||
$(".tl[data-notf=" + acct_id +"]").prepend(templete);
|
|
||||||
}
|
|
||||||
$(".notf-timeline[data-acct=" + acct_id +"]").prepend(templete);
|
|
||||||
jQuery("time.timeago").timeago();
|
|
||||||
} else if (type == "delete") {
|
|
||||||
$("[toot-id=" + obj + "]").hide();
|
|
||||||
$("[toot-id=" + obj + "]").remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
websocketNotf[acct_id].onerror = function(error) {
|
|
||||||
console.error('WebSocket Error ' + error);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
function notfCommon(acct_id, tlid, sys) {
|
function notfCommon(acct_id, tlid, sys) {
|
||||||
todo("Notifications Loading...");
|
todo("Notifications Loading...");
|
||||||
|
@ -318,6 +251,7 @@ function notfCommon(acct_id, tlid, sys) {
|
||||||
}
|
}
|
||||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
||||||
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
||||||
|
$("div[data-const=notf_"+acct_id+"]").prepend(templete);
|
||||||
}
|
}
|
||||||
jQuery("time.timeago").timeago();
|
jQuery("time.timeago").timeago();
|
||||||
}else if(JSON.parse(mess.data).type == "note-updated"){
|
}else if(JSON.parse(mess.data).type == "note-updated"){
|
||||||
|
@ -338,6 +272,7 @@ function notfCommon(acct_id, tlid, sys) {
|
||||||
}
|
}
|
||||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
||||||
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
||||||
|
$("div[data-const=notf_"+acct_id+"]").prepend(templete);
|
||||||
}
|
}
|
||||||
jQuery("time.timeago").timeago();
|
jQuery("time.timeago").timeago();
|
||||||
} else if (type == "delete") {
|
} else if (type == "delete") {
|
||||||
|
|
|
@ -251,16 +251,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
$(".notf-reply_" + acct_id).text(replyct*1-(-1));
|
$(".notf-reply_" + acct_id).text(replyct*1-(-1));
|
||||||
localStorage.setItem("notf-reply_" + acct_id,replyct*1-(-1))
|
localStorage.setItem("notf-reply_" + acct_id,replyct*1-(-1))
|
||||||
$(".notf-reply_" + acct_id).removeClass("hide")
|
$(".notf-reply_" + acct_id).removeClass("hide")
|
||||||
|
var sound=localStorage.getItem("replySound");
|
||||||
}else if (toot.type == "reblog") {
|
}else if (toot.type == "reblog") {
|
||||||
var btct=localStorage.getItem("notf-bt_" + acct_id)
|
var btct=localStorage.getItem("notf-bt_" + acct_id)
|
||||||
$(".notf-bt_" + acct_id).text(btct*1-(-1));
|
$(".notf-bt_" + acct_id).text(btct*1-(-1));
|
||||||
localStorage.setItem("notf-bt_" + acct_id,btct*1-(-1))
|
localStorage.setItem("notf-bt_" + acct_id,btct*1-(-1))
|
||||||
$(".notf-bt_" + acct_id).removeClass("hide")
|
$(".notf-bt_" + acct_id).removeClass("hide")
|
||||||
|
var sound=localStorage.getItem("btSound");
|
||||||
}else if (toot.type == "favourite") {
|
}else if (toot.type == "favourite") {
|
||||||
var favct=localStorage.getItem("notf-fav_" + acct_id)
|
var favct=localStorage.getItem("notf-fav_" + acct_id)
|
||||||
$(".notf-fav_" + acct_id).text(favct*1-(-1));
|
$(".notf-fav_" + acct_id).text(favct*1-(-1));
|
||||||
localStorage.setItem("notf-fav_" + acct_id,favct*1-(-1))
|
localStorage.setItem("notf-fav_" + acct_id,favct*1-(-1))
|
||||||
$(".notf-fav_" + acct_id).removeClass("hide")
|
$(".notf-fav_" + acct_id).removeClass("hide")
|
||||||
|
var sound=localStorage.getItem("favSound");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -268,6 +271,25 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
if(popup>0){
|
if(popup>0){
|
||||||
Materialize.toast("["+domain+"]"+escapeHTML(toot.account.display_name)+what, popup * 1000);
|
Materialize.toast("["+domain+"]"+escapeHTML(toot.account.display_name)+what, popup * 1000);
|
||||||
}
|
}
|
||||||
|
//通知音
|
||||||
|
if(sound=="default" || !sound){
|
||||||
|
var file="../../source/notif.wav"
|
||||||
|
}else if(sound=="c1"){
|
||||||
|
var file=localStorage.getItem("custom1");
|
||||||
|
}else if(sound=="c2"){
|
||||||
|
var file=localStorage.getItem("custom2");
|
||||||
|
}else if(sound=="c3"){
|
||||||
|
var file=localStorage.getItem("custom3");
|
||||||
|
}else if(sound=="c4"){
|
||||||
|
var file=localStorage.getItem("custom4");
|
||||||
|
}
|
||||||
|
if(file){
|
||||||
|
request = new XMLHttpRequest();
|
||||||
|
request.open("GET", file, true);
|
||||||
|
request.responseType = "arraybuffer";
|
||||||
|
request.onload = playSound;
|
||||||
|
request.send();
|
||||||
|
}
|
||||||
if(native=="yes"){
|
if(native=="yes"){
|
||||||
var electron = require("electron");
|
var electron = require("electron");
|
||||||
var ipc = electron.ipcRenderer;
|
var ipc = electron.ipcRenderer;
|
||||||
|
@ -395,7 +417,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
var via = '';
|
var via = '';
|
||||||
viashow="hide";
|
viashow="hide";
|
||||||
} else {
|
} else {
|
||||||
var via = toot.application.name;
|
var via = escapeHTML(toot.application.name);
|
||||||
//強調チェック
|
//強調チェック
|
||||||
Object.keys(emp).forEach(function(key6) {
|
Object.keys(emp).forEach(function(key6) {
|
||||||
var cli = emp[key6];
|
var cli = emp[key6];
|
||||||
|
@ -452,6 +474,40 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
var viewer = "";
|
var viewer = "";
|
||||||
var hasmedia = "";
|
var hasmedia = "";
|
||||||
var youtube = "";
|
var youtube = "";
|
||||||
|
//Poll
|
||||||
|
var poll="";
|
||||||
|
if(toot.poll){
|
||||||
|
var choices=toot.poll.options;
|
||||||
|
if(toot.poll.voted){
|
||||||
|
var myvote=lang.lang_parse_voted;
|
||||||
|
var result_hide="";
|
||||||
|
}else{
|
||||||
|
myvote='<a onclick="voteMastodon(\''+acct_id+'\',\''+toot.poll.id+'\')" class="votebtn">'+lang.lang_parse_vote+'</a><br>';
|
||||||
|
if(choices[0].votes_count===0 || choices[0].votes_count>0){
|
||||||
|
myvote=myvote+'<a onclick="showResult(\''+acct_id+'\',\''+toot.poll.id+'\')" class="pointer">'+lang.lang_parse_unvoted+"</a>";
|
||||||
|
}
|
||||||
|
var result_hide="hide";
|
||||||
|
}
|
||||||
|
if(toot.poll.expired){
|
||||||
|
var ended=lang.lang_parse_endedvote;
|
||||||
|
}else{
|
||||||
|
var ended=date(toot.poll.expires_at, datetype);
|
||||||
|
}
|
||||||
|
Object.keys(choices).forEach(function(keyc) {
|
||||||
|
var choice = choices[keyc];
|
||||||
|
if(!toot.poll.voted && !toot.poll.expired){
|
||||||
|
var votesel='voteSelMastodon(\''+acct_id+'\',\''+toot.poll.id+'\','+keyc+','+toot.poll.multiple+')';
|
||||||
|
var voteclass="pointer waves-effect waves-light";
|
||||||
|
}else{
|
||||||
|
var votesel="";
|
||||||
|
var voteclass="";
|
||||||
|
}
|
||||||
|
poll=poll+'<div class="'+voteclass+' vote vote_'+acct_id+'_'+toot.poll.id+'_'+keyc+'" onclick="'+votesel+'">'+escapeHTML(choice.title)+'<span class="vote_'+acct_id+'_'+toot.poll.id+'_result '+result_hide+'">('+choice.votes_count+')</span></div>';
|
||||||
|
});
|
||||||
|
poll='<div class="vote_'+acct_id+'_'+toot.poll.id+'">'+poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
||||||
|
'"><i class="far fa-calendar-times"></i>' +
|
||||||
|
ended+ '</span></div>';
|
||||||
|
}
|
||||||
if(toot.emojis){
|
if(toot.emojis){
|
||||||
var emojick = toot.emojis[0];
|
var emojick = toot.emojis[0];
|
||||||
}else{
|
}else{
|
||||||
|
@ -467,6 +523,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||||
content = content.replace(regExp, emoji_url);
|
content = content.replace(regExp, emoji_url);
|
||||||
spoil = spoil.replace(regExp, emoji_url);
|
spoil = spoil.replace(regExp, emoji_url);
|
||||||
|
poll = poll.replace(regExp, emoji_url);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//ニコフレ絵文字
|
//ニコフレ絵文字
|
||||||
|
@ -485,6 +542,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||||
content = content.replace(regExp, emoji_url);
|
content = content.replace(regExp, emoji_url);
|
||||||
spoil = spoil.replace(regExp, emoji_url);
|
spoil = spoil.replace(regExp, emoji_url);
|
||||||
|
poll = poll.replace(regExp, emoji_url);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//デフォ絵文字
|
//デフォ絵文字
|
||||||
|
@ -501,6 +559,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
if(notice){
|
if(notice){
|
||||||
notice=twemoji.parse(notice);
|
notice=twemoji.parse(notice);
|
||||||
}
|
}
|
||||||
|
if(poll){
|
||||||
|
poll=twemoji.parse(poll);
|
||||||
|
}
|
||||||
var mediack = toot.media_attachments[0];
|
var mediack = toot.media_attachments[0];
|
||||||
//メディアがあれば
|
//メディアがあれば
|
||||||
var media_ids="";
|
var media_ids="";
|
||||||
|
@ -704,39 +765,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Poll
|
//Quote
|
||||||
var poll="";
|
if(toot.quote){
|
||||||
if(toot.poll){
|
poll=poll+'<div class="quote-renote"><div class="renote-icon"><img src="'+toot.quote.account.avatar+'"></div><div class="renote-user">'+escapeHTML(toot.quote.account.display_name)+'</div><div class="renote-text">'+toot.quote.content+'</div></div>'
|
||||||
var choices=toot.poll.options;
|
|
||||||
if(toot.poll.voted){
|
|
||||||
var myvote=lang.lang_parse_voted;
|
|
||||||
var result_hide="";
|
|
||||||
}else{
|
|
||||||
myvote='<a onclick="voteMastodon(\''+acct_id+'\',\''+toot.poll.id+'\')" class="votebtn">'+lang.lang_parse_vote+'</a><br>';
|
|
||||||
if(choices[0].votes_count===0 || choices[0].votes_count>0){
|
|
||||||
myvote=myvote+'<a onclick="showResult(\''+acct_id+'\',\''+toot.poll.id+'\')" class="pointer">'+lang.lang_parse_unvoted+"</a>";
|
|
||||||
}
|
|
||||||
var result_hide="hide";
|
|
||||||
}
|
|
||||||
if(toot.poll.expired){
|
|
||||||
var ended=lang.lang_parse_endedvote;
|
|
||||||
}else{
|
|
||||||
var ended=date(toot.poll.expires_at, datetype);
|
|
||||||
}
|
|
||||||
Object.keys(choices).forEach(function(keyc) {
|
|
||||||
var choice = choices[keyc];
|
|
||||||
if(!toot.poll.voted && !toot.poll.expired){
|
|
||||||
var votesel='voteSelMastodon(\''+acct_id+'\',\''+toot.poll.id+'\','+keyc+','+toot.poll.multiple+')';
|
|
||||||
var voteclass="pointer waves-effect waves-light";
|
|
||||||
}else{
|
|
||||||
var votesel="";
|
|
||||||
var voteclass="";
|
|
||||||
}
|
|
||||||
poll=poll+'<div class="'+voteclass+' vote vote_'+acct_id+'_'+toot.poll.id+'_'+keyc+'" onclick="'+votesel+'">'+escapeHTML(choice.title)+'<span class="vote_'+acct_id+'_'+toot.poll.id+'_result '+result_hide+'">('+choice.votes_count+')</span></div>';
|
|
||||||
});
|
|
||||||
poll='<div class="vote_'+acct_id+'_'+toot.poll.id+'">'+poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
|
||||||
'"><i class="far fa-calendar-times"></i>' +
|
|
||||||
ended+ '</span></div>';
|
|
||||||
}
|
}
|
||||||
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
|
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
|
||||||
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + pin_app +
|
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + pin_app +
|
||||||
|
|
|
@ -108,7 +108,7 @@ function voteMastodonrefresh(acct_id,id){
|
||||||
if(!json.voted){
|
if(!json.voted){
|
||||||
votesel='voteSelMastodon(\''+acct_id+'\',\''+json.id+'\','+keyc+','+json.multiple+')';
|
votesel='voteSelMastodon(\''+acct_id+'\',\''+json.id+'\','+keyc+','+json.multiple+')';
|
||||||
}
|
}
|
||||||
poll=poll+'<div class="pointer vote vote_'+acct_id+'_'+json.id+'_'+keyc+'" onclick="'+votesel+'">'+choice.title+'<span class="vote_'+acct_id+'_'+json.id+'_result '+result_hide+'">('+choice.votes_count+')</span></div>';
|
poll=poll+'<div class="pointer vote vote_'+acct_id+'_'+json.id+'_'+keyc+'" onclick="'+votesel+'">'+escapeHTML(choice.title)+'<span class="vote_'+acct_id+'_'+json.id+'_result '+result_hide+'">('+choice.votes_count+')</span></div>';
|
||||||
});
|
});
|
||||||
poll=poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(json.expires_at, 'absolute') +
|
poll=poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(json.expires_at, 'absolute') +
|
||||||
'"><i class="far fa-calendar-times"></i>' +
|
'"><i class="far fa-calendar-times"></i>' +
|
||||||
|
|
|
@ -199,7 +199,7 @@ function parseColumn() {
|
||||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_tts +'">hearing</i><span id="sta-voice-' +
|
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_tts +'">hearing</i><span id="sta-voice-' +
|
||||||
key + '">On</span></a>'+lang.lang_layout_tts +'TL<br><a onclick="reconnector(' + key +
|
key + '">On</span></a>'+lang.lang_layout_tts +'TL<br><a onclick="reconnector(' + key +
|
||||||
',\''+acct.type+'\',\''+acct.domain+'\',\''+acct.data+'\')" class="setting nex '+if_notf+'"><i class="material-icons waves-effect nex '+if_notf+'" title="'+lang.lang_layout_reconnect+'">low_priority</i></a><span class="'+if_notf+'">'+lang.lang_layout_reconnect+'</span><br>'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
',\''+acct.type+'\',\''+acct.domain+'\',\''+acct.data+'\')" class="setting nex '+if_notf+'"><i class="material-icons waves-effect nex '+if_notf+'" title="'+lang.lang_layout_reconnect+'">low_priority</i></a><span class="'+if_notf+'">'+lang.lang_layout_reconnect+'</span><br>'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||||
'" class="tl '+acct.type+'-timeline " tlid="' + key + '" data-type="' + acct.type + '" data-acct="'+acct.domain+'"><div id="landing_'+key+'" style="text-align:center">'+lang.lang_layout_nodata +'</div></div></div>'
|
'" class="tl '+acct.type+'-timeline " tlid="' + key + '" data-type="' + acct.type + '" data-acct="'+acct.domain+'" data-const="' + acct.type + '_'+acct.domain+'"><div id="landing_'+key+'" style="text-align:center">'+lang.lang_layout_nodata +'</div></div></div>'
|
||||||
$('#timeline_box_' + basekey + '_parentBox').append(html);
|
$('#timeline_box_' + basekey + '_parentBox').append(html);
|
||||||
localStorage.removeItem("pool_" + key);
|
localStorage.removeItem("pool_" + key);
|
||||||
if (acct.data) {
|
if (acct.data) {
|
||||||
|
|
|
@ -123,6 +123,10 @@ function load() {
|
||||||
var font = "";
|
var font = "";
|
||||||
}
|
}
|
||||||
$("#font").val(font);
|
$("#font").val(font);
|
||||||
|
$("#c1-file").text(localStorage.getItem("custom1"))
|
||||||
|
$("#c2-file").text(localStorage.getItem("custom2"));
|
||||||
|
$("#c3-file").text(localStorage.getItem("custom3"));
|
||||||
|
$("#c4-file").text(localStorage.getItem("custom4"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function climute(){
|
function climute(){
|
||||||
|
@ -636,6 +640,22 @@ ipc.on('theme-json-create-complete', function (event, args) {
|
||||||
$("#custom_import").val("");
|
$("#custom_import").val("");
|
||||||
ctLoad()
|
ctLoad()
|
||||||
});
|
});
|
||||||
|
function customSound(key){
|
||||||
|
var electron = require("electron");
|
||||||
|
var remote=electron.remote;
|
||||||
|
var dialog=remote.dialog;
|
||||||
|
dialog.showOpenDialog(null, {
|
||||||
|
title: 'Custom sound',
|
||||||
|
properties: ['openFile'],
|
||||||
|
filters: [
|
||||||
|
{name: 'Audio', extensions: ['mp3','aac','wav','flac','m4a']},
|
||||||
|
{name: 'All', extensions: ['*']},
|
||||||
|
]
|
||||||
|
}, (fileNames) => {
|
||||||
|
localStorage.setItem("custom"+key,fileNames[0]);
|
||||||
|
$("#c1-file").text(fileNames[0])
|
||||||
|
});
|
||||||
|
}
|
||||||
window.onload = function() {
|
window.onload = function() {
|
||||||
//最初に読む
|
//最初に読む
|
||||||
load();
|
load();
|
||||||
|
|
|
@ -157,8 +157,7 @@ function udg(user, acct_id) {
|
||||||
var when="";
|
var when="";
|
||||||
var color="inherit"
|
var color="inherit"
|
||||||
}
|
}
|
||||||
fval=twemoji.parse(fval);
|
note=note+'<tr><td class="his-field-title">'+twemoji.parse(escapeHTML(fname))+'</td><td class="his-field-content" title="'+when+'" style="background-color:'+color+'">'+twemoji.parse(fval)+'</td></tr>';
|
||||||
note=note+'<tr><td class="his-field-title">'+fname+'</td><td class="his-field-content" title="'+when+'" style="background-color:'+color+'">'+fval+'</td></tr>';
|
|
||||||
}
|
}
|
||||||
note=note+'</table>'
|
note=note+'</table>'
|
||||||
$("#his-des").html(twemoji.parse(note));
|
$("#his-des").html(twemoji.parse(note));
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "thedesk",
|
"name": "thedesk",
|
||||||
"version": "18.2.3",
|
"version": "18.3.0",
|
||||||
"description": "TheDesk is a Mastodon client for PC.",
|
"description": "TheDesk is a Mastodon client for PC.",
|
||||||
"repository": "https://github.com/cutls/TheDesk",
|
"repository": "https://github.com/cutls/TheDesk",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "kPherox",
|
"name": "kPherox",
|
||||||
"url": "https://www.kr-kp.com/",
|
"url": "https://pawoo.net/@kPherox",
|
||||||
"email": "admin@mail.kr-kp.com"
|
"email": "admin@mail.kr-kp.com"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
BIN
app/source/notif.wav
Normal file
BIN
app/source/notif.wav
Normal file
Binary file not shown.
|
@ -32,7 +32,7 @@
|
||||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var ver="Usamin (18.2.3)";
|
var ver="Usamin (18.3.0)";
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
|
@ -580,24 +580,19 @@ var tlid=0;
|
||||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||||
<br>
|
<br>
|
||||||
<div id="release-Usamin_18-2-3" class="release-do" style="display:none; ">
|
<div id="release-Usamin_18-3-0" class="release-do" style="display:none; ">
|
||||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||||
<h5>Release Note Usamin (18.2.3)</h5>
|
<h5>Release Note Usamin (18.3.0)</h5>
|
||||||
・バグの修正
|
・(既定はオフ)ふぁぼ、フォロー、BTごとの通知音追加(なし/既定/カスタム(4種))<br>
|
||||||
<h5>Release Note Usamin (18.2.0)</h5>
|
・(Misskey)引用Renoteの簡易表示<br>
|
||||||
・tootsearchをひとつのカラムにしてエゴサが捗る<br>
|
・(dtp-mstdn.jp他)引用(quote)の簡易表示<br>
|
||||||
・イントロダクション(初回起動時)の挙動修正<br>
|
・バグと脆弱性の修正
|
||||||
・リンクプレビューを最大1行ずつに省略(タイトルと本文)<br>
|
<br>
|
||||||
・ブロックされたときのプロフィールの動作(Mastodon 2.8~)<br>
|
通知音「Arctic Bleeze in East 7」はクリエイティブコモンズ(CC BY)で利用できます。<br>
|
||||||
・(Misskey)MFM追加flipやjumpなど<br>
|
(C) Cutls P 2019<s>GarageBand適当に叩いたらできた音ですのでご自由に変更どうぞ</s>
|
||||||
・(Misskey)リストに対応<br>
|
|
||||||
・(Misskey)カスタム絵文字に対応。カスタム絵文字によるリアクションに対応(対応インスタンスに限る)。<br>
|
|
||||||
・<b>カスタム絵文字をゼロ幅スペースによる挿入に変更する機能</b><br>
|
|
||||||
・一部機能の統廃合とバグの修正<br>
|
|
||||||
・best-friends.chatやキュアスタ!、misskey.devをサポートインスタンスに追加
|
|
||||||
</div>
|
</div>
|
||||||
<div id="release-en">
|
<div id="release-en">
|
||||||
<h5>Let's make it native!</h5>
|
<h5>Let's make it native!</h5>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en" style="overflow:scroll">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>Settings - TheDesk</title>
|
<title>Settings - TheDesk</title>
|
||||||
|
@ -22,7 +22,6 @@
|
||||||
input {
|
input {
|
||||||
max-height: 50px !important
|
max-height: 50px !important
|
||||||
}
|
}
|
||||||
|
|
||||||
.pcr-result {
|
.pcr-result {
|
||||||
height: 1rem !important;
|
height: 1rem !important;
|
||||||
}
|
}
|
||||||
|
@ -56,8 +55,8 @@
|
||||||
<div id="envView">
|
<div id="envView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||||
class="pointer">Notification test</a><br></template>
|
class="pointer">Notification test</a><br></template>
|
||||||
|
@ -85,7 +84,7 @@
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<h5>Font</h5>
|
<h5>Font</h5>
|
||||||
Select your favorite font to 'Select'<br>
|
Select your favorite font to 'Select'(Windows/ macOS only)<br>
|
||||||
<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
|
<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
|
||||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
||||||
<br>
|
<br>
|
||||||
|
@ -131,9 +130,9 @@
|
||||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
||||||
placeholder="About this theme..."></textarea></div>
|
placeholder="About this theme..."></textarea></div>
|
||||||
<h5>Color scheme</h5>
|
<h5>Color scheme</h5>
|
||||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
<input class="with-gap" name="direction" type="radio" id="dark" value="dark" checked="true" />
|
||||||
<label for="dark">Dark</label>
|
<label for="dark">Dark</label>
|
||||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
<input class="with-gap" name="direction" type="radio" id="light" value="light" />
|
||||||
<label for="light">Light</label>
|
<label for="light">Light</label>
|
||||||
<div id="pickers">
|
<div id="pickers">
|
||||||
<div>
|
<div>
|
||||||
|
@ -184,8 +183,8 @@
|
||||||
<div id="tlView">
|
<div id="tlView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -210,6 +209,11 @@
|
||||||
</template><br>
|
</template><br>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
<h5>Custom sound</h5>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span id="c1-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span id="c2-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span id="c3-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span id="c4-file"></span><br>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -220,8 +224,8 @@
|
||||||
<div id="postView">
|
<div id="postView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -420,7 +424,7 @@
|
||||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||||
class="pointer">Check update</a><br>
|
class="pointer">Check update</a><br>
|
||||||
<a href="oss.html">OSS License</a><br>
|
<a href="oss.html">OSS License</a><br>
|
||||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
|
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||||
Policy</a>
|
Policy</a>
|
||||||
|
|
|
@ -7,6 +7,27 @@ var yesno=[
|
||||||
value:"no"
|
value:"no"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
var sound=[
|
||||||
|
{
|
||||||
|
text:"None",
|
||||||
|
value:"none"
|
||||||
|
},{
|
||||||
|
text:"Default",
|
||||||
|
value:"default"
|
||||||
|
},{
|
||||||
|
text:"Custom 1",
|
||||||
|
value:"c1"
|
||||||
|
},{
|
||||||
|
text:"Custom 2",
|
||||||
|
value:"c2"
|
||||||
|
},{
|
||||||
|
text:"Custom 3",
|
||||||
|
value:"c3"
|
||||||
|
},{
|
||||||
|
text:"Custom 4",
|
||||||
|
value:"c4"
|
||||||
|
}
|
||||||
|
];
|
||||||
var envConstruction=[
|
var envConstruction=[
|
||||||
{
|
{
|
||||||
id:"popup",
|
id:"popup",
|
||||||
|
@ -286,6 +307,46 @@ var tlConstruction=[
|
||||||
desc:"",
|
desc:"",
|
||||||
checkbox:yesno
|
checkbox:yesno
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
id:"replySound",
|
||||||
|
storage:"replySound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"Sound(Reply)",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"favSound",
|
||||||
|
storage:"favSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"Sound(Fav)",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"btSound",
|
||||||
|
storage:"btSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"Sound(Boost)",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"followSound",
|
||||||
|
storage:"followSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"Sound(Follow)",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
var postConstruction=[
|
var postConstruction=[
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var ver="Usamin (18.2.3)";
|
var ver="Usamin (18.3.0)";
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
|
@ -580,24 +580,19 @@ var tlid=0;
|
||||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||||
<br>
|
<br>
|
||||||
<div id="release-Usamin_18-2-3" class="release-do" style="display:none; ">
|
<div id="release-Usamin_18-3-0" class="release-do" style="display:none; ">
|
||||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||||
<h5>Release Note Usamin (18.2.3)</h5>
|
<h5>Release Note Usamin (18.3.0)</h5>
|
||||||
・バグの修正
|
・(既定はオフ)ふぁぼ、フォロー、BTごとの通知音追加(なし/既定/カスタム(4種))<br>
|
||||||
<h5>Release Note Usamin (18.2.0)</h5>
|
・(Misskey)引用Renoteの簡易表示<br>
|
||||||
・tootsearchをひとつのカラムにしてエゴサが捗る<br>
|
・(dtp-mstdn.jp他)引用(quote)の簡易表示<br>
|
||||||
・イントロダクション(初回起動時)の挙動修正<br>
|
・バグと脆弱性の修正
|
||||||
・リンクプレビューを最大1行ずつに省略(タイトルと本文)<br>
|
<br>
|
||||||
・ブロックされたときのプロフィールの動作(Mastodon 2.8~)<br>
|
通知音「Arctic Bleeze in East 7」はクリエイティブコモンズ(CC BY)で利用できます。<br>
|
||||||
・(Misskey)MFM追加flipやjumpなど<br>
|
(C) Cutls P 2019<s>GarageBand適当に叩いたらできた音ですのでご自由に変更どうぞ</s>
|
||||||
・(Misskey)リストに対応<br>
|
|
||||||
・(Misskey)カスタム絵文字に対応。カスタム絵文字によるリアクションに対応(対応インスタンスに限る)。<br>
|
|
||||||
・<b>カスタム絵文字をゼロ幅スペースによる挿入に変更する機能</b><br>
|
|
||||||
・一部機能の統廃合とバグの修正<br>
|
|
||||||
・best-friends.chatやキュアスタ!、misskey.devをサポートインスタンスに追加
|
|
||||||
</div>
|
</div>
|
||||||
<div id="release-en">
|
<div id="release-en">
|
||||||
<h5>Let's make it native!</h5>
|
<h5>Let's make it native!</h5>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="ja">
|
<html lang="ja" style="overflow:scroll">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>Settings - TheDesk</title>
|
<title>Settings - TheDesk</title>
|
||||||
|
@ -22,7 +22,6 @@
|
||||||
input {
|
input {
|
||||||
max-height: 50px !important
|
max-height: 50px !important
|
||||||
}
|
}
|
||||||
|
|
||||||
.pcr-result {
|
.pcr-result {
|
||||||
height: 1rem !important;
|
height: 1rem !important;
|
||||||
}
|
}
|
||||||
|
@ -56,8 +55,8 @@
|
||||||
<div id="envView">
|
<div id="envView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||||
class="pointer">通知テスト</a><br></template>
|
class="pointer">通知テスト</a><br></template>
|
||||||
|
@ -85,7 +84,7 @@
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<h5>フォント</h5>
|
<h5>フォント</h5>
|
||||||
「選択」を押してフォントを選んでください。<br>
|
「選択」を押してフォントを選んでください。(Linuxでは動きません)<br>
|
||||||
<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
|
<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
|
||||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
||||||
<br>
|
<br>
|
||||||
|
@ -131,9 +130,9 @@
|
||||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
||||||
placeholder="説明..."></textarea></div>
|
placeholder="説明..."></textarea></div>
|
||||||
<h5>色の系統</h5>
|
<h5>色の系統</h5>
|
||||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
<input class="with-gap" name="direction" type="radio" id="dark" value="dark" checked="true" />
|
||||||
<label for="dark">Dark</label>
|
<label for="dark">Dark</label>
|
||||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
<input class="with-gap" name="direction" type="radio" id="light" value="light" />
|
||||||
<label for="light">Light</label>
|
<label for="light">Light</label>
|
||||||
<div id="pickers">
|
<div id="pickers">
|
||||||
<div>
|
<div>
|
||||||
|
@ -184,8 +183,8 @@
|
||||||
<div id="tlView">
|
<div id="tlView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -210,6 +209,11 @@
|
||||||
</template><br>
|
</template><br>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
<h5>カスタム通知音</h5>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span id="c1-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span id="c2-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span id="c3-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span id="c4-file"></span><br>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -220,8 +224,8 @@
|
||||||
<div id="postView">
|
<div id="postView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -420,7 +424,7 @@
|
||||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||||
class="pointer">アップデートを確認</a><br>
|
class="pointer">アップデートを確認</a><br>
|
||||||
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
|
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
|
||||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
|
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||||
Policy</a>
|
Policy</a>
|
||||||
|
|
|
@ -7,6 +7,27 @@ var yesno=[
|
||||||
value:"no"
|
value:"no"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
var sound=[
|
||||||
|
{
|
||||||
|
text:"なし",
|
||||||
|
value:"none"
|
||||||
|
},{
|
||||||
|
text:"既定",
|
||||||
|
value:"default"
|
||||||
|
},{
|
||||||
|
text:"Custom 1",
|
||||||
|
value:"c1"
|
||||||
|
},{
|
||||||
|
text:"Custom 2",
|
||||||
|
value:"c2"
|
||||||
|
},{
|
||||||
|
text:"Custom 3",
|
||||||
|
value:"c3"
|
||||||
|
},{
|
||||||
|
text:"Custom 4",
|
||||||
|
value:"c4"
|
||||||
|
}
|
||||||
|
];
|
||||||
var envConstruction=[
|
var envConstruction=[
|
||||||
{
|
{
|
||||||
id:"popup",
|
id:"popup",
|
||||||
|
@ -286,6 +307,46 @@ var tlConstruction=[
|
||||||
desc:"",
|
desc:"",
|
||||||
checkbox:yesno
|
checkbox:yesno
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
id:"replySound",
|
||||||
|
storage:"replySound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"リプライの通知音",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"favSound",
|
||||||
|
storage:"favSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"お気に入り登録の通知音",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"btSound",
|
||||||
|
storage:"btSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"ブーストの通知音",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"followSound",
|
||||||
|
storage:"followSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"フォローの通知音",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
var postConstruction=[
|
var postConstruction=[
|
||||||
|
|
|
@ -580,24 +580,19 @@ var tlid=0;
|
||||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||||
<br>
|
<br>
|
||||||
<div id="release-Usamin_18-2-3" class="release-do" style="display:none; ">
|
<div id="release-Usamin_18-3-0" class="release-do" style="display:none; ">
|
||||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||||
<h5>Release Note Usamin (18.2.3)</h5>
|
<h5>Release Note Usamin (18.3.0)</h5>
|
||||||
・バグの修正
|
・(既定はオフ)ふぁぼ、フォロー、BTごとの通知音追加(なし/既定/カスタム(4種))<br>
|
||||||
<h5>Release Note Usamin (18.2.0)</h5>
|
・(Misskey)引用Renoteの簡易表示<br>
|
||||||
・tootsearchをひとつのカラムにしてエゴサが捗る<br>
|
・(dtp-mstdn.jp他)引用(quote)の簡易表示<br>
|
||||||
・イントロダクション(初回起動時)の挙動修正<br>
|
・バグと脆弱性の修正
|
||||||
・リンクプレビューを最大1行ずつに省略(タイトルと本文)<br>
|
<br>
|
||||||
・ブロックされたときのプロフィールの動作(Mastodon 2.8~)<br>
|
通知音「Arctic Bleeze in East 7」はクリエイティブコモンズ(CC BY)で利用できます。<br>
|
||||||
・(Misskey)MFM追加flipやjumpなど<br>
|
(C) Cutls P 2019<s>GarageBand適当に叩いたらできた音ですのでご自由に変更どうぞ</s>
|
||||||
・(Misskey)リストに対応<br>
|
|
||||||
・(Misskey)カスタム絵文字に対応。カスタム絵文字によるリアクションに対応(対応インスタンスに限る)。<br>
|
|
||||||
・<b>カスタム絵文字をゼロ幅スペースによる挿入に変更する機能</b><br>
|
|
||||||
・一部機能の統廃合とバグの修正<br>
|
|
||||||
・best-friends.chatやキュアスタ!、misskey.devをサポートインスタンスに追加
|
|
||||||
</div>
|
</div>
|
||||||
<div id="release-en">
|
<div id="release-en">
|
||||||
<h5>Let's make it native!</h5>
|
<h5>Let's make it native!</h5>
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
"set":"Save",
|
"set":"Save",
|
||||||
"yes":"Yes",
|
"yes":"Yes",
|
||||||
"no":"No",
|
"no":"No",
|
||||||
|
"none":"None",
|
||||||
|
"default":"Default",
|
||||||
"change":"Change",
|
"change":"Change",
|
||||||
"select":"Select",
|
"select":"Select",
|
||||||
"env":"System Preferences",
|
"env":"System Preferences",
|
||||||
|
@ -25,7 +27,7 @@
|
||||||
"fixwidthwarn":"",
|
"fixwidthwarn":"",
|
||||||
"above":"above",
|
"above":"above",
|
||||||
"font":"Font",
|
"font":"Font",
|
||||||
"fontwarn":"Select your favorite font to 'Select'",
|
"fontwarn":"Select your favorite font to 'Select'(Windows/ macOS only)",
|
||||||
"fontsize":"Font size",
|
"fontsize":"Font size",
|
||||||
"savefolder":"Folder to save",
|
"savefolder":"Folder to save",
|
||||||
"savefolderwarn":"TheDesk uses this value when it try to save pictures or take screenshots.",
|
"savefolderwarn":"TheDesk uses this value when it try to save pictures or take screenshots.",
|
||||||
|
@ -85,6 +87,11 @@
|
||||||
"ticker":"Enable #InstanceTicker",
|
"ticker":"Enable #InstanceTicker",
|
||||||
"tickerwarn":"Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
|
"tickerwarn":"Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
|
||||||
"animation":"Animation of timelines",
|
"animation":"Animation of timelines",
|
||||||
|
"replySound":"Sound(Reply)",
|
||||||
|
"favSound":"Sound(Fav)",
|
||||||
|
"btSound":"Sound(Boost)",
|
||||||
|
"followSound":"Sound(Follow)",
|
||||||
|
"customSound":"Custom sound",
|
||||||
"post":"Posting Preferences",
|
"post":"Posting Preferences",
|
||||||
"autocw":"Alert before posting a long toot.",
|
"autocw":"Alert before posting a long toot.",
|
||||||
"autocwwarn":"Show dialog whether you make too-long text hidden.",
|
"autocwwarn":"Show dialog whether you make too-long text hidden.",
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
"set":"設定",
|
"set":"設定",
|
||||||
"yes":"はい",
|
"yes":"はい",
|
||||||
"no":"いいえ",
|
"no":"いいえ",
|
||||||
|
"none":"なし",
|
||||||
|
"default":"既定",
|
||||||
"change":"変更",
|
"change":"変更",
|
||||||
"select":"選択",
|
"select":"選択",
|
||||||
"env":"環境設定",
|
"env":"環境設定",
|
||||||
|
@ -25,7 +27,7 @@
|
||||||
"fixwidthwarn":"",
|
"fixwidthwarn":"",
|
||||||
"above":"以上",
|
"above":"以上",
|
||||||
"font":"フォント",
|
"font":"フォント",
|
||||||
"fontwarn":"「選択」を押してフォントを選んでください。",
|
"fontwarn":"「選択」を押してフォントを選んでください。(Linuxでは動きません)",
|
||||||
"fontsize":"フォントサイズ",
|
"fontsize":"フォントサイズ",
|
||||||
"savefolder":"デフォルトの保存先",
|
"savefolder":"デフォルトの保存先",
|
||||||
"savefolderwarn":"画像ダウンロードやスクリーンショットに影響します。",
|
"savefolderwarn":"画像ダウンロードやスクリーンショットに影響します。",
|
||||||
|
@ -85,6 +87,11 @@
|
||||||
"ticker":"#InstanceTickerを使う",
|
"ticker":"#InstanceTickerを使う",
|
||||||
"tickerwarn":"トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://cdn.weep.me/mastodon/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
|
"tickerwarn":"トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://cdn.weep.me/mastodon/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
|
||||||
"animation":"タイムラインのアニメーション",
|
"animation":"タイムラインのアニメーション",
|
||||||
|
"replySound":"リプライの通知音",
|
||||||
|
"favSound":"お気に入り登録の通知音",
|
||||||
|
"btSound":"ブーストの通知音",
|
||||||
|
"followSound":"フォローの通知音",
|
||||||
|
"customSound":"カスタム通知音",
|
||||||
"post":"投稿設定",
|
"post":"投稿設定",
|
||||||
"autocw":"長文投稿時に警告",
|
"autocw":"長文投稿時に警告",
|
||||||
"autocwwarn":"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
"autocwwarn":"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="@@lang@@">
|
<html lang="@@lang@@" style="overflow:scroll">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>Settings - TheDesk</title>
|
<title>Settings - TheDesk</title>
|
||||||
|
@ -22,7 +22,6 @@
|
||||||
input {
|
input {
|
||||||
max-height: 50px !important
|
max-height: 50px !important
|
||||||
}
|
}
|
||||||
|
|
||||||
.pcr-result {
|
.pcr-result {
|
||||||
height: 1rem !important;
|
height: 1rem !important;
|
||||||
}
|
}
|
||||||
|
@ -56,8 +55,8 @@
|
||||||
<div id="envView">
|
<div id="envView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||||
class="pointer">@@nntest@@</a><br></template>
|
class="pointer">@@nntest@@</a><br></template>
|
||||||
|
@ -131,9 +130,9 @@
|
||||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
||||||
placeholder="@@desc@@..."></textarea></div>
|
placeholder="@@desc@@..."></textarea></div>
|
||||||
<h5>@@customthemeDirection@@</h5>
|
<h5>@@customthemeDirection@@</h5>
|
||||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
<input class="with-gap" name="direction" type="radio" id="dark" value="dark" checked="true" />
|
||||||
<label for="dark">Dark</label>
|
<label for="dark">Dark</label>
|
||||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
<input class="with-gap" name="direction" type="radio" id="light" value="light" />
|
||||||
<label for="light">Light</label>
|
<label for="light">Light</label>
|
||||||
<div id="pickers">
|
<div id="pickers">
|
||||||
<div>
|
<div>
|
||||||
|
@ -184,8 +183,8 @@
|
||||||
<div id="tlView">
|
<div id="tlView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -210,6 +209,11 @@
|
||||||
</template><br>
|
</template><br>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
<h5>@@customSound@@</h5>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span id="c1-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span id="c2-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span id="c3-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span id="c4-file"></span><br>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -220,8 +224,8 @@
|
||||||
<div id="postView">
|
<div id="postView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -420,7 +424,7 @@
|
||||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||||
class="pointer">@@checkup@@</a><br>
|
class="pointer">@@checkup@@</a><br>
|
||||||
<a href="oss.html">OSS License@@ossJP@@</a><br>
|
<a href="oss.html">OSS License@@ossJP@@</a><br>
|
||||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
|
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||||
Policy</a>
|
Policy</a>
|
||||||
|
|
|
@ -7,6 +7,27 @@ var yesno=[
|
||||||
value:"no"
|
value:"no"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
var sound=[
|
||||||
|
{
|
||||||
|
text:"@@none@@",
|
||||||
|
value:"none"
|
||||||
|
},{
|
||||||
|
text:"@@default@@",
|
||||||
|
value:"default"
|
||||||
|
},{
|
||||||
|
text:"Custom 1",
|
||||||
|
value:"c1"
|
||||||
|
},{
|
||||||
|
text:"Custom 2",
|
||||||
|
value:"c2"
|
||||||
|
},{
|
||||||
|
text:"Custom 3",
|
||||||
|
value:"c3"
|
||||||
|
},{
|
||||||
|
text:"Custom 4",
|
||||||
|
value:"c4"
|
||||||
|
}
|
||||||
|
];
|
||||||
var envConstruction=[
|
var envConstruction=[
|
||||||
{
|
{
|
||||||
id:"popup",
|
id:"popup",
|
||||||
|
@ -286,6 +307,46 @@ var tlConstruction=[
|
||||||
desc:"",
|
desc:"",
|
||||||
checkbox:yesno
|
checkbox:yesno
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
id:"replySound",
|
||||||
|
storage:"replySound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@replySound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"favSound",
|
||||||
|
storage:"favSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@favSound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"btSound",
|
||||||
|
storage:"btSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@btSound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"followSound",
|
||||||
|
storage:"followSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@followSound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
var postConstruction=[
|
var postConstruction=[
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var ver="Usamin (18.2.3)";
|
var ver="Usamin (18.3.0)";
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
|
@ -580,24 +580,19 @@ var tlid=0;
|
||||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||||
<br>
|
<br>
|
||||||
<div id="release-Usamin_18-2-3" class="release-do" style="display:none; ">
|
<div id="release-Usamin_18-3-0" class="release-do" style="display:none; ">
|
||||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||||
<h5>Release Note Usamin (18.2.3)</h5>
|
<h5>Release Note Usamin (18.3.0)</h5>
|
||||||
・バグの修正
|
・(既定はオフ)ふぁぼ、フォロー、BTごとの通知音追加(なし/既定/カスタム(4種))<br>
|
||||||
<h5>Release Note Usamin (18.2.0)</h5>
|
・(Misskey)引用Renoteの簡易表示<br>
|
||||||
・tootsearchをひとつのカラムにしてエゴサが捗る<br>
|
・(dtp-mstdn.jp他)引用(quote)の簡易表示<br>
|
||||||
・イントロダクション(初回起動時)の挙動修正<br>
|
・バグと脆弱性の修正
|
||||||
・リンクプレビューを最大1行ずつに省略(タイトルと本文)<br>
|
<br>
|
||||||
・ブロックされたときのプロフィールの動作(Mastodon 2.8~)<br>
|
通知音「Arctic Bleeze in East 7」はクリエイティブコモンズ(CC BY)で利用できます。<br>
|
||||||
・(Misskey)MFM追加flipやjumpなど<br>
|
(C) Cutls P 2019<s>GarageBand適当に叩いたらできた音ですのでご自由に変更どうぞ</s>
|
||||||
・(Misskey)リストに対応<br>
|
|
||||||
・(Misskey)カスタム絵文字に対応。カスタム絵文字によるリアクションに対応(対応インスタンスに限る)。<br>
|
|
||||||
・<b>カスタム絵文字をゼロ幅スペースによる挿入に変更する機能</b><br>
|
|
||||||
・一部機能の統廃合とバグの修正<br>
|
|
||||||
・best-friends.chatやキュアスタ!、misskey.devをサポートインスタンスに追加
|
|
||||||
</div>
|
</div>
|
||||||
<div id="release-en">
|
<div id="release-en">
|
||||||
<h5>Let's make it native!</h5>
|
<h5>Let's make it native!</h5>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="ps">
|
<html lang="ps" style="overflow:scroll">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>Settings - TheDesk</title>
|
<title>Settings - TheDesk</title>
|
||||||
|
@ -22,7 +22,6 @@
|
||||||
input {
|
input {
|
||||||
max-height: 50px !important
|
max-height: 50px !important
|
||||||
}
|
}
|
||||||
|
|
||||||
.pcr-result {
|
.pcr-result {
|
||||||
height: 1rem !important;
|
height: 1rem !important;
|
||||||
}
|
}
|
||||||
|
@ -56,8 +55,8 @@
|
||||||
<div id="envView">
|
<div id="envView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||||
class="pointer">crwdns540:0crwdne540:0</a><br></template>
|
class="pointer">crwdns540:0crwdne540:0</a><br></template>
|
||||||
|
@ -131,9 +130,9 @@
|
||||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
|
||||||
placeholder="crwdns2440:0crwdne2440:0..."></textarea></div>
|
placeholder="crwdns2440:0crwdne2440:0..."></textarea></div>
|
||||||
<h5>crwdns2426:0crwdne2426:0</h5>
|
<h5>crwdns2426:0crwdne2426:0</h5>
|
||||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
<input class="with-gap" name="direction" type="radio" id="dark" value="dark" checked="true" />
|
||||||
<label for="dark">Dark</label>
|
<label for="dark">Dark</label>
|
||||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
<input class="with-gap" name="direction" type="radio" id="light" value="light" />
|
||||||
<label for="light">Light</label>
|
<label for="light">Light</label>
|
||||||
<div id="pickers">
|
<div id="pickers">
|
||||||
<div>
|
<div>
|
||||||
|
@ -184,8 +183,8 @@
|
||||||
<div id="tlView">
|
<div id="tlView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -210,6 +209,11 @@
|
||||||
</template><br>
|
</template><br>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
<h5>@@customSound@@</h5>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span id="c1-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span id="c2-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span id="c3-file"></span><br>
|
||||||
|
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span id="c4-file"></span><br>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -220,8 +224,8 @@
|
||||||
<div id="postView">
|
<div id="postView">
|
||||||
<template v-for="(item, i) in config">
|
<template v-for="(item, i) in config">
|
||||||
<h5>{{item.text.head}}</h5>
|
<h5>{{item.text.head}}</h5>
|
||||||
<template v-if=item.text.desc>
|
<template v-if="item.text.desc">
|
||||||
<templete v-html=item.text.desc></templete><br>
|
<templete v-html="item.text.desc"></templete><br>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.checkbox">
|
<template v-if="item.checkbox">
|
||||||
<template v-for="(check, j) in item.text.checkbox">
|
<template v-for="(check, j) in item.text.checkbox">
|
||||||
|
@ -420,7 +424,7 @@
|
||||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||||
class="pointer">crwdns667:0crwdne667:0</a><br>
|
class="pointer">crwdns667:0crwdne667:0</a><br>
|
||||||
<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
|
<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
|
||||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
|
<span style="font-family:Open Sans;">Copyright © Cutls P 2018 All Rights Reserved.
|
||||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||||
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
|
||||||
Policy</a>
|
Policy</a>
|
||||||
|
|
|
@ -7,6 +7,27 @@ var yesno=[
|
||||||
value:"no"
|
value:"no"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
var sound=[
|
||||||
|
{
|
||||||
|
text:"@@none@@",
|
||||||
|
value:"none"
|
||||||
|
},{
|
||||||
|
text:"@@default@@",
|
||||||
|
value:"default"
|
||||||
|
},{
|
||||||
|
text:"Custom 1",
|
||||||
|
value:"c1"
|
||||||
|
},{
|
||||||
|
text:"Custom 2",
|
||||||
|
value:"c2"
|
||||||
|
},{
|
||||||
|
text:"Custom 3",
|
||||||
|
value:"c3"
|
||||||
|
},{
|
||||||
|
text:"Custom 4",
|
||||||
|
value:"c4"
|
||||||
|
}
|
||||||
|
];
|
||||||
var envConstruction=[
|
var envConstruction=[
|
||||||
{
|
{
|
||||||
id:"popup",
|
id:"popup",
|
||||||
|
@ -286,6 +307,46 @@ var tlConstruction=[
|
||||||
desc:"",
|
desc:"",
|
||||||
checkbox:yesno
|
checkbox:yesno
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
id:"replySound",
|
||||||
|
storage:"replySound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@replySound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"favSound",
|
||||||
|
storage:"favSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@favSound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"btSound",
|
||||||
|
storage:"btSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@btSound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
id:"followSound",
|
||||||
|
storage:"followSound",
|
||||||
|
checkbox:true,
|
||||||
|
setValue:"none",
|
||||||
|
text:{
|
||||||
|
head:"@@followSound@@",
|
||||||
|
desc:"",
|
||||||
|
checkbox:sound
|
||||||
|
}
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
var postConstruction=[
|
var postConstruction=[
|
||||||
|
|
Loading…
Reference in New Issue
Block a user