add theme and fix for macOS
This commit is contained in:
parent
b4674c8b09
commit
7950042eb6
|
@ -298,6 +298,10 @@ blockquote:before, .quote:before {
|
||||||
border-color:var(--color);
|
border-color:var(--color);
|
||||||
padding:5px;
|
padding:5px;
|
||||||
}
|
}
|
||||||
|
#pickers{
|
||||||
|
display:flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*スクロールバー*/
|
/*スクロールバー*/
|
||||||
|
|
1
app/css/pickr.css
Normal file
1
app/css/pickr.css
Normal file
File diff suppressed because one or more lines are too long
|
@ -177,6 +177,7 @@ var lang={
|
||||||
"lang_parse_voted":"Voted",
|
"lang_parse_voted":"Voted",
|
||||||
"lang_parse_vote":"Voted",
|
"lang_parse_vote":"Voted",
|
||||||
"lang_parse_unvoted":"Show the result without voting",
|
"lang_parse_unvoted":"Show the result without voting",
|
||||||
|
"lang_parse_endedvote":"Expired",
|
||||||
//misskey
|
//misskey
|
||||||
"lang_misskeyparse_renote":"Repost",
|
"lang_misskeyparse_renote":"Repost",
|
||||||
"lang_misskeyparse_renoteqt":"Renote",
|
"lang_misskeyparse_renoteqt":"Renote",
|
||||||
|
|
|
@ -178,6 +178,7 @@ var lang={
|
||||||
"lang_parse_voted":"投票済みです",
|
"lang_parse_voted":"投票済みです",
|
||||||
"lang_parse_vote":"投票",
|
"lang_parse_vote":"投票",
|
||||||
"lang_parse_unvoted":"結果だけ見る",
|
"lang_parse_unvoted":"結果だけ見る",
|
||||||
|
"lang_parse_endedvote":"終了済み",
|
||||||
//misskey
|
//misskey
|
||||||
"lang_misskeyparse_renote":"再投稿",
|
"lang_misskeyparse_renote":"再投稿",
|
||||||
"lang_misskeyparse_renoteqt":"引用",
|
"lang_misskeyparse_renoteqt":"引用",
|
||||||
|
|
|
@ -11,9 +11,9 @@ function ck() {
|
||||||
if(!main){
|
if(!main){
|
||||||
localStorage.setItem("main",0)
|
localStorage.setItem("main",0)
|
||||||
}
|
}
|
||||||
var domain = localStorage.getItem("domain_0");
|
var domainz = localStorage.getItem("domain_0");
|
||||||
var at = localStorage.getItem("acct_0_at");
|
var at = localStorage.getItem("acct_0_at");
|
||||||
var oldat = localStorage.getItem(domain + "_at");
|
var oldat = localStorage.getItem(domainz + "_at");
|
||||||
if(oldat){
|
if(oldat){
|
||||||
console.log("Move to New Account Management System")
|
console.log("Move to New Account Management System")
|
||||||
var multi = localStorage.getItem("multi");
|
var multi = localStorage.getItem("multi");
|
||||||
|
@ -77,7 +77,7 @@ function login(url) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
scopes: 'read write follow',
|
scopes: 'read write follow',
|
||||||
client_name: "TheDesk(PC)",
|
client_name: "TheDesk(PC)",
|
||||||
|
@ -85,7 +85,7 @@ function login(url) {
|
||||||
website: "https://thedesk.top"
|
website: "https://thedesk.top"
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
var auth = "https://" + url + "/oauth/authorize?client_id=" + json[
|
var auth = "https://" + url + "/oauth/authorize?client_id=" + json[
|
||||||
|
@ -96,9 +96,7 @@ function login(url) {
|
||||||
localStorage.setItem("client_secret", json["client_secret"]);
|
localStorage.setItem("client_secret", json["client_secret"]);
|
||||||
$("#auth").show();
|
$("#auth").show();
|
||||||
$("#masara").hide();
|
$("#masara").hide();
|
||||||
const {
|
const { shell } = require('electron');
|
||||||
shell
|
|
||||||
} = require('electron');
|
|
||||||
|
|
||||||
shell.openExternal(auth);
|
shell.openExternal(auth);
|
||||||
|
|
||||||
|
|
|
@ -286,7 +286,7 @@ function login(url) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
scopes: 'read write follow',
|
scopes: 'read write follow',
|
||||||
client_name: "TheDesk(PC)",
|
client_name: "TheDesk(PC)",
|
||||||
|
@ -294,7 +294,7 @@ function login(url) {
|
||||||
website: "https://thedesk.top"
|
website: "https://thedesk.top"
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
localStorage.setItem("msky","false");
|
localStorage.setItem("msky","false");
|
||||||
|
@ -332,7 +332,7 @@ function misskeyLogin(url) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
localStorage.setItem("msky","true");
|
localStorage.setItem("msky","true");
|
||||||
if(url=="misskey.xyz" && misskeytoken){
|
if(url=="misskey.xyz" && misskeytoken){
|
||||||
var mkc=misskeytoken;
|
var mkc=misskeytoken;
|
||||||
|
@ -362,7 +362,7 @@ function misskeyLogin(url) {
|
||||||
appSecret: mkc
|
appSecret: mkc
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
const {
|
const {
|
||||||
|
@ -407,13 +407,13 @@ function code(code) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
token:code,
|
token:code,
|
||||||
appSecret:localStorage.getItem("mkc")
|
appSecret:localStorage.getItem("mkc")
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
var i = sha256(json.accessToken + localStorage.getItem("mkc"));
|
var i = sha256(json.accessToken + localStorage.getItem("mkc"));
|
||||||
console.log(json);
|
console.log(json);
|
||||||
|
@ -454,7 +454,7 @@ function code(code) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
grant_type: "authorization_code",
|
grant_type: "authorization_code",
|
||||||
redirect_uri: "https://thedesk.top/hello.html",
|
redirect_uri: "https://thedesk.top/hello.html",
|
||||||
|
@ -463,7 +463,7 @@ function code(code) {
|
||||||
code: code
|
code: code
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
if (json["access_token"]) {
|
if (json["access_token"]) {
|
||||||
|
@ -595,13 +595,13 @@ function misskeyRefresh(obj,target,url){
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
username:obj[target].user,
|
username:obj[target].user,
|
||||||
i:localStorage.getItem("at")
|
i:localStorage.getItem("at")
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -58,9 +58,7 @@
|
||||||
//hrefがhttp/httpsならブラウザで
|
//hrefがhttp/httpsならブラウザで
|
||||||
if(urls){
|
if(urls){
|
||||||
if (urls[0]) {
|
if (urls[0]) {
|
||||||
const {
|
const {shell} = require('electron');
|
||||||
shell
|
|
||||||
} = require('electron');
|
|
||||||
if(~url.indexOf("thedeks.top")){
|
if(~url.indexOf("thedeks.top")){
|
||||||
//alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot.");
|
//alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot.");
|
||||||
url="https://thedesk.top";
|
url="https://thedesk.top";
|
||||||
|
@ -81,8 +79,7 @@
|
||||||
//よく使うライブラリ
|
//よく使うライブラリ
|
||||||
/*マルチバイト用切り出し*/
|
/*マルチバイト用切り出し*/
|
||||||
$.isSurrogatePear = function(upper, lower) {
|
$.isSurrogatePear = function(upper, lower) {
|
||||||
return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <=
|
return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <= 0xDFFF;
|
||||||
0xDFFF;
|
|
||||||
};
|
};
|
||||||
$.mb_strlen = function(str) {
|
$.mb_strlen = function(str) {
|
||||||
var ret = 0;
|
var ret = 0;
|
||||||
|
|
|
@ -82,3 +82,79 @@ function formattimeutc(date){
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
var electron = require("electron");
|
||||||
|
var ipc = electron.ipcRenderer;
|
||||||
|
ipc.send('custom-css-request', "");
|
||||||
|
ipc.on('custom-css-response', function (event, arg) {
|
||||||
|
if(arg==""){ return false; }
|
||||||
|
var styleNode = document.createElement("style");
|
||||||
|
styleNode.setAttribute("type","text/css")
|
||||||
|
|
||||||
|
var content = document.createTextNode(arg)
|
||||||
|
styleNode.append(content)
|
||||||
|
document.getElementsByTagName("head")[0].append(styleNode)
|
||||||
|
})
|
||||||
|
ipc.on('theme-css-response', function (event, arg) {
|
||||||
|
if(arg==""){ return false; }
|
||||||
|
var styleNode = document.createElement("style");
|
||||||
|
styleNode.setAttribute("type","text/css")
|
||||||
|
|
||||||
|
var content = document.createTextNode(arg)
|
||||||
|
styleNode.append(content)
|
||||||
|
document.getElementsByTagName("head")[0].append(styleNode)
|
||||||
|
})
|
||||||
|
function makeCID(){
|
||||||
|
return randomStr(8)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(12);
|
||||||
|
}
|
||||||
|
function randomStr(l){
|
||||||
|
// 生成する文字列に含める文字セット
|
||||||
|
var c = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||||
|
var cl = c.length;
|
||||||
|
var r = "";
|
||||||
|
for(var i=0; i<l; i++){
|
||||||
|
r += c[Math.floor(Math.random()*cl)];
|
||||||
|
}
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
function rgbToHex(color)
|
||||||
|
{
|
||||||
|
// HEXに変換したものを代入する変数
|
||||||
|
var hex = '';
|
||||||
|
|
||||||
|
// 第1引数がHEXのとき変換処理は必要ないのでそのままreturn
|
||||||
|
// IE8の場合はjQueryのcss()関数でHEXを返すので除外
|
||||||
|
if (color.match(/^#[a-f\d]{3}$|^#[a-f\d]{6}$/i))
|
||||||
|
{
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 正規表現
|
||||||
|
var regex = color.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
|
||||||
|
|
||||||
|
// 正規表現でマッチしたとき
|
||||||
|
if (regex)
|
||||||
|
{
|
||||||
|
var rgb =
|
||||||
|
[
|
||||||
|
// RGBからHEXへ変換
|
||||||
|
parseInt(regex[1]).toString(16),
|
||||||
|
parseInt(regex[2]).toString(16),
|
||||||
|
parseInt(regex[3]).toString(16)
|
||||||
|
];
|
||||||
|
|
||||||
|
for (var i = 0; i < rgb.length; ++i)
|
||||||
|
{
|
||||||
|
// rgb(1,1,1)のようなときHEXに変換すると1桁になる
|
||||||
|
// 1桁のときは前に0を足す
|
||||||
|
if (rgb[i].length == 1)
|
||||||
|
{
|
||||||
|
rgb[i] = '0' + rgb[i];
|
||||||
|
}
|
||||||
|
hex += rgb[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
return hex;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.error('第1引数はRGB形式で入力');
|
||||||
|
}
|
2
app/js/platform/pickr.js
Normal file
2
app/js/platform/pickr.js
Normal file
File diff suppressed because one or more lines are too long
|
@ -290,10 +290,10 @@ function preview(){
|
||||||
for(let l = 0; l < li.length; l++) {
|
for(let l = 0; l < li.length; l++) {
|
||||||
var u=li[l].match(/^1\. (.+)$/);
|
var u=li[l].match(/^1\. (.+)$/);
|
||||||
var listUl='<li>'+u[1]+'</li>';
|
var listUl='<li>'+u[1]+'</li>';
|
||||||
if(l == 0){
|
if(l === 0){
|
||||||
listUl='<ol>'+listUl;
|
listUl='<ol>'+listUl;
|
||||||
}
|
}
|
||||||
if(l==li.length-1){
|
if(l===li.length-1){
|
||||||
listUl=listUl+'</ol>';
|
listUl=listUl+'</ol>';
|
||||||
}
|
}
|
||||||
var bb=bb.replace(new RegExp(li[l], ""),listUl);
|
var bb=bb.replace(new RegExp(li[l], ""),listUl);
|
||||||
|
|
|
@ -90,7 +90,7 @@ function emojiList(target) {
|
||||||
var page = Math.ceil(num / 126);
|
var page = Math.ceil(num / 126);
|
||||||
$("#emoji-sum").text(page);
|
$("#emoji-sum").text(page);
|
||||||
var ct = Math.ceil(start / 126);
|
var ct = Math.ceil(start / 126);
|
||||||
if (ct == 0) {
|
if (ct === 0) {
|
||||||
var ct = 1;
|
var ct = 1;
|
||||||
$("#emoji-before").addClass("disabled");
|
$("#emoji-before").addClass("disabled");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -106,7 +106,7 @@ function media(b64, type, no) {
|
||||||
var start = "https://" + domain + "/api/drive/files/create";
|
var start = "https://" + domain + "/api/drive/files/create";
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.upload.addEventListener("progress", progshow, false);
|
httpreq.upload.addEventListener("progress", progshow, false);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
if ($("#nsfw").hasClass("nsfw-avail")) {
|
if ($("#nsfw").hasClass("nsfw-avail")) {
|
||||||
var nsfw = true;
|
var nsfw = true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -121,12 +121,12 @@ function media(b64, type, no) {
|
||||||
var start = "https://" + domain + "/api/v1/media";
|
var start = "https://" + domain + "/api/v1/media";
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.upload.addEventListener("progress", progshow, false);
|
httpreq.upload.addEventListener("progress", progshow, false);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.send(fd);
|
httpreq.send(fd);
|
||||||
}
|
}
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
var img = localStorage.getItem("img");
|
var img = localStorage.getItem("img");
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
//Renpost
|
//Renpost
|
||||||
function renote(id, acct_id, remote) {
|
function renote(id, acct_id, remote) {
|
||||||
if ($("#pub_" + id).hasClass("rted")) {
|
if ($("#pub_" + id).hasClass("rted")) {
|
||||||
return
|
return false;
|
||||||
}
|
}
|
||||||
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");
|
||||||
|
@ -12,10 +12,10 @@ function renote(id, acct_id, remote) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({i:at,renoteId:id}));
|
httpreq.send(JSON.stringify({i:at,renoteId:id}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
$("[toot-id=" + id + "]").addClass("rted");
|
$("[toot-id=" + id + "]").addClass("rted");
|
||||||
|
@ -58,10 +58,10 @@ function reactiontoggle(id,acct_id,tlid){
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({i:at,noteId:id}));
|
httpreq.send(JSON.stringify({i:at,noteId:id}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
if(json.reactionCounts){
|
if(json.reactionCounts){
|
||||||
|
@ -158,10 +158,10 @@ function reaction(mode,id,acct_id,tlid){
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({i:at,noteId:id,reaction:mode}));
|
httpreq.send(JSON.stringify({i:at,noteId:id,reaction:mode}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
$(".fav_"+id).toggleClass("yellow-text");
|
$(".fav_"+id).toggleClass("yellow-text");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -177,7 +177,7 @@ function vote(acct_id,id,to){
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({i:at,noteId:id,choice:to}));
|
httpreq.send(JSON.stringify({i:at,noteId:id,choice:to}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
voterefresh(acct_id,id)
|
voterefresh(acct_id,id)
|
||||||
|
|
|
@ -11,7 +11,7 @@ function sec(){
|
||||||
}
|
}
|
||||||
function post(mode,postvis) {
|
function post(mode,postvis) {
|
||||||
if($("#toot-post-btn").prop("disabled")){
|
if($("#toot-post-btn").prop("disabled")){
|
||||||
return
|
return false;
|
||||||
}
|
}
|
||||||
var str = $("#textarea").val();
|
var str = $("#textarea").val();
|
||||||
var acct_id = $("#post-acct-sel").val();
|
var acct_id = $("#post-acct-sel").val();
|
||||||
|
@ -57,13 +57,13 @@ function post(mode,postvis) {
|
||||||
buttons: [lang.lang_post_btn1,lang.lang_post_btn2, lang.lang_post_btn3]
|
buttons: [lang.lang_post_btn1,lang.lang_post_btn2, lang.lang_post_btn3]
|
||||||
}
|
}
|
||||||
dialog.showMessageBox(options, function(arg) {
|
dialog.showMessageBox(options, function(arg) {
|
||||||
if(arg==1){
|
if(arg===1){
|
||||||
$("#cw-text").show();
|
$("#cw-text").show();
|
||||||
$("#cw").addClass("yellow-text");
|
$("#cw").addClass("yellow-text");
|
||||||
$("#cw").addClass("cw-avail");
|
$("#cw").addClass("cw-avail");
|
||||||
$("#cw-text").val(plus);
|
$("#cw-text").val(plus);
|
||||||
post("pass");
|
post("pass");
|
||||||
}else if(arg==2){
|
}else if(arg===2){
|
||||||
post("pass");
|
post("pass");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -162,10 +162,10 @@ function post(mode,postvis) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify(toot));
|
httpreq.send(JSON.stringify(toot));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
||||||
localStorage.removeItem("stable")
|
localStorage.removeItem("stable")
|
||||||
}
|
}
|
||||||
|
@ -234,10 +234,10 @@ function misskeyPost(){
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify(toot));
|
httpreq.send(JSON.stringify(toot));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
||||||
localStorage.removeItem("stable")
|
localStorage.removeItem("stable")
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,10 @@ function fav(id, acct_id, remote) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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(remote!="remote"){
|
if(remote!="remote"){
|
||||||
//APIのふぁぼカウントがおかしい
|
//APIのふぁぼカウントがおかしい
|
||||||
|
@ -63,10 +63,10 @@ function rt(id, acct_id, remote) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
if (remote != "remote") {
|
if (remote != "remote") {
|
||||||
|
@ -133,10 +133,10 @@ function follow(acct_id,remote) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify(ent));
|
httpreq.send(JSON.stringify(ent));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
if ($("#his-data").hasClass("following")) {
|
if ($("#his-data").hasClass("following")) {
|
||||||
|
@ -168,10 +168,10 @@ function block(acct_id) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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) {
|
||||||
if ($("#his-data").hasClass("blocking")) {
|
if ($("#his-data").hasClass("blocking")) {
|
||||||
$("#his-data").removeClass("blocking");
|
$("#his-data").removeClass("blocking");
|
||||||
$("#his-block-btn").text(lang.lang_status_block);
|
$("#his-block-btn").text(lang.lang_status_block);
|
||||||
|
@ -210,10 +210,10 @@ function mute(acct_id) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(rq);
|
httpreq.send(rq);
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
if ($("#his-data").hasClass("muting")) {
|
if ($("#his-data").hasClass("muting")) {
|
||||||
$("#his-data").removeClass("muting");
|
$("#his-data").removeClass("muting");
|
||||||
$("#his-mute-btn").text(lang.lang_status_mute);
|
$("#his-mute-btn").text(lang.lang_status_mute);
|
||||||
|
@ -234,7 +234,7 @@ function del(id, acct_id) {
|
||||||
var httpreq = new XMLHttpRequest();
|
var httpreq = new XMLHttpRequest();
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({i:at,noteId:id}));
|
httpreq.send(JSON.stringify({i:at,noteId:id}));
|
||||||
}else{
|
}else{
|
||||||
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
||||||
|
@ -242,11 +242,11 @@ function del(id, acct_id) {
|
||||||
httpreq.open('DELETE', start, true);
|
httpreq.open('DELETE', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -300,10 +300,10 @@ function pin(id, acct_id) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
if ($("[toot-id=" + id + "]").hasClass("pined")) {
|
if ($("[toot-id=" + id + "]").hasClass("pined")) {
|
||||||
|
@ -326,10 +326,10 @@ function request(id, flag, acct_id) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
showReq();
|
showReq();
|
||||||
|
@ -349,10 +349,10 @@ function domainblock(add, flag, acct_id) {
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
showDom();
|
showDom();
|
||||||
|
@ -406,10 +406,10 @@ function pinUser(){
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
if ($("#his-end-btn").hasClass("endorsed")) {
|
if ($("#his-end-btn").hasClass("endorsed")) {
|
||||||
|
|
|
@ -83,7 +83,7 @@ function additional(acct_id, tlid) {
|
||||||
var xmlHttpRequest = new XMLHttpRequest();
|
var xmlHttpRequest = new XMLHttpRequest();
|
||||||
xmlHttpRequest.onreadystatechange = function()
|
xmlHttpRequest.onreadystatechange = function()
|
||||||
{
|
{
|
||||||
if( this.readyState == 4 && this.status == 200 ) {
|
if( this.readyState === 4 && this.status === 200 ) {
|
||||||
if( this.response){
|
if( this.response){
|
||||||
var json=this.response;
|
var json=this.response;
|
||||||
var emojis=json.emojis;
|
var emojis=json.emojis;
|
||||||
|
|
|
@ -78,10 +78,11 @@ function details(id, acct_id, tlid) {
|
||||||
$("#tootmodal").attr("data-user",scn);
|
$("#tootmodal").attr("data-user",scn);
|
||||||
}
|
}
|
||||||
context(id, acct_id);
|
context(id, acct_id);
|
||||||
|
var dom=null;
|
||||||
if(!local){
|
if(!local){
|
||||||
var dom=scn.replace(/.+@/g,'');
|
dom=scn.replace(/.+@/g,'');
|
||||||
}else{
|
}else{
|
||||||
var dom=domain;
|
dom=domain;
|
||||||
}
|
}
|
||||||
beforeToot(id, acct_id, dom);
|
beforeToot(id, acct_id, dom);
|
||||||
userToot(id, acct_id, uid);
|
userToot(id, acct_id, uid);
|
||||||
|
@ -448,7 +449,7 @@ function shot(){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//翻訳
|
//翻訳
|
||||||
function trans(tar){
|
function trans(tar,to){
|
||||||
var html=$("#toot-this .toot").html();
|
var html=$("#toot-this .toot").html();
|
||||||
if(html.match(/^<p>(.+)<\/p>$/)){
|
if(html.match(/^<p>(.+)<\/p>$/)){
|
||||||
html = html.match(/^<p>(.+)<\/p>$/)[1];
|
html = html.match(/^<p>(.+)<\/p>$/)[1];
|
||||||
|
@ -457,18 +458,21 @@ function trans(tar){
|
||||||
html = html.replace(/<p>/g, "\n");
|
html = html.replace(/<p>/g, "\n");
|
||||||
html = html.replace(/<\/p>/g, "\n");
|
html = html.replace(/<\/p>/g, "\n");
|
||||||
html=$.strip_tags(html);
|
html=$.strip_tags(html);
|
||||||
|
if(~tar.indexOf("zh")){
|
||||||
|
tar="zh";
|
||||||
|
}
|
||||||
$("#toot-this .additional").text("Loading...(Powered by Google Translate)");
|
$("#toot-this .additional").text("Loading...(Powered by Google Translate)");
|
||||||
var exec='https://script.google.com/macros/s/AKfycbz0ETqcUxwNlw961GjErNb7vr_X18N2s1AS5Xu5nFTbYXcdcRM/exec?text='+encodeURIComponent(html)+'&source='+tar+'&target=ja'
|
var exec='https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text='+encodeURIComponent(html)+'&source='+tar+'&target='+to
|
||||||
console.log(exec);
|
console.log(exec);
|
||||||
fetch(exec, {
|
fetch(exec, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
}).then(function(response) {
|
}).then(function(response) {
|
||||||
return response.text();
|
return response.json();
|
||||||
}).catch(function(error) {
|
}).catch(function(error) {
|
||||||
todo(error);
|
todo(error);
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}).then(function(text) {
|
}).then(function(text) {
|
||||||
$("#toot-this .additional").html('<span class="gray">'+text+'</span>');
|
$("#toot-this .additional").html('<span class="gray">'+text.text+'</span>');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//ブラウザで開く
|
//ブラウザで開く
|
||||||
|
|
|
@ -15,10 +15,11 @@ function date(str, datetype) {
|
||||||
} else {
|
} else {
|
||||||
var min = date.getMinutes();
|
var min = date.getMinutes();
|
||||||
}
|
}
|
||||||
|
var sec=null;
|
||||||
if (date.getSeconds() < 10) {
|
if (date.getSeconds() < 10) {
|
||||||
var sec = "0" + date.getSeconds();
|
sec = "0" + date.getSeconds();
|
||||||
} else {
|
} else {
|
||||||
var sec = date.getSeconds();
|
sec = date.getSeconds();
|
||||||
}
|
}
|
||||||
if (datetype == "full") {
|
if (datetype == "full") {
|
||||||
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + "/ " +
|
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + "/ " +
|
||||||
|
@ -56,10 +57,11 @@ function date(str, datetype) {
|
||||||
//特殊フォーマット(インスタンス情報で利用)
|
//特殊フォーマット(インスタンス情報で利用)
|
||||||
function crat(str) {
|
function crat(str) {
|
||||||
var date = new Date(str);
|
var date = new Date(str);
|
||||||
|
var mnt=null;
|
||||||
if(date.getMonth()<9){
|
if(date.getMonth()<9){
|
||||||
var mnt="0"+(date.getMonth()+1);
|
mnt="0"+(date.getMonth()+1);
|
||||||
}else{
|
}else{
|
||||||
var mnt=date.getMonth()+1;
|
mnt=date.getMonth()+1;
|
||||||
}
|
}
|
||||||
if(date.getDate()<10){
|
if(date.getDate()<10){
|
||||||
var dat="0"+date.getDate();
|
var dat="0"+date.getDate();
|
||||||
|
|
|
@ -32,9 +32,6 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
console.log(obj);
|
console.log(obj);
|
||||||
var templete = '';
|
var templete = '';
|
||||||
if(obj[0]){
|
if(obj[0]){
|
||||||
if(tlid==1){
|
|
||||||
console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
|
|
||||||
}
|
|
||||||
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,7 +192,7 @@ function makeNewFilter(){
|
||||||
httpreq.open(method, start, true);
|
httpreq.open(method, start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
phrase: phr,
|
phrase: phr,
|
||||||
context: cont,
|
context: cont,
|
||||||
|
@ -201,7 +201,7 @@ function makeNewFilter(){
|
||||||
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;
|
||||||
filter();
|
filter();
|
||||||
filterUpdate(acct_id)
|
filterUpdate(acct_id)
|
||||||
|
@ -283,10 +283,10 @@ function filterDel(id,acct_id){
|
||||||
httpreq.open("DELETE", start, true);
|
httpreq.open("DELETE", start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
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;
|
||||||
filter();
|
filter();
|
||||||
filterUpdate(acct_id)
|
filterUpdate(acct_id)
|
||||||
|
|
|
@ -56,12 +56,12 @@ function makeNewList(){
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
title: text
|
title: text
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
list();
|
list();
|
||||||
$("#list-add").val("")
|
$("#list-add").val("")
|
||||||
|
@ -166,12 +166,12 @@ function listAdd(id,user,acct_id){
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
account_ids: [user]
|
account_ids: [user]
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
hisList(user,acct_id)
|
hisList(user,acct_id)
|
||||||
}
|
}
|
||||||
|
@ -186,12 +186,12 @@ function listRemove(id,user,acct_id){
|
||||||
httpreq.open('DELETE', start, true);
|
httpreq.open('DELETE', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
account_ids: [user]
|
account_ids: [user]
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
hisList(user,acct_id)
|
hisList(user,acct_id)
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,10 +39,10 @@ function notfColumn(acct_id, tlid, sys){
|
||||||
var body="";
|
var body="";
|
||||||
}
|
}
|
||||||
|
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(body);
|
httpreq.send(body);
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
||||||
if(json[0]){
|
if(json[0]){
|
||||||
|
@ -391,10 +391,10 @@ function notfmore(tlid) {
|
||||||
var body="";
|
var body="";
|
||||||
}
|
}
|
||||||
|
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(body);
|
httpreq.send(body);
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
var templete = '';
|
var templete = '';
|
||||||
if(obj[0]){
|
if(obj[0]){
|
||||||
if(tlid==1){
|
if(tlid===1){
|
||||||
console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
|
console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
|
||||||
}
|
}
|
||||||
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
||||||
|
@ -84,7 +84,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
var card = localStorage.getItem("card_" + tlid);
|
var card = localStorage.getItem("card_" + tlid);
|
||||||
|
|
||||||
if (!sent) {
|
if (!sent) {
|
||||||
var sent = 500;
|
sent = 500;
|
||||||
}
|
}
|
||||||
if (!ltr) {
|
if (!ltr) {
|
||||||
var ltr = 500;
|
var ltr = 500;
|
||||||
|
@ -614,8 +614,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//日本語じゃない
|
//日本語じゃない
|
||||||
if(toot.language!="ja"){
|
if(toot.language!=lang.language && toot.language){
|
||||||
var trans='<div class="action pin"><a onclick="trans(\''+toot.language+'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_trans+'"><i class="material-icons">g_translate</i></a></div>';
|
var trans='<div class="action pin"><a onclick="trans(\''+toot.language+'\',\''+lang.language+'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_trans+'"><i class="material-icons">g_translate</i></a></div>';
|
||||||
}else{
|
}else{
|
||||||
var trans="";
|
var trans="";
|
||||||
}
|
}
|
||||||
|
@ -673,9 +673,14 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
}
|
}
|
||||||
var result_hide="hide";
|
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) {
|
Object.keys(choices).forEach(function(keyc) {
|
||||||
var choice = choices[keyc];
|
var choice = choices[keyc];
|
||||||
if(!toot.poll.voted){
|
if(!toot.poll.voted && !toot.poll.expired){
|
||||||
var votesel='voteSelMastodon(\''+acct_id+'\',\''+toot.poll.id+'\','+keyc+','+toot.poll.multiple+')';
|
var votesel='voteSelMastodon(\''+acct_id+'\',\''+toot.poll.id+'\','+keyc+','+toot.poll.multiple+')';
|
||||||
var voteclass="pointer waves-effect waves-light";
|
var voteclass="pointer waves-effect waves-light";
|
||||||
}else{
|
}else{
|
||||||
|
@ -686,7 +691,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||||
});
|
});
|
||||||
poll='<div class="vote_'+acct_id+'_'+toot.poll.id+'">'+poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
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="fa fa-calendar-times-o"></i>' +
|
'"><i class="fa fa-calendar-times-o"></i>' +
|
||||||
date(toot.poll.expires_at, datetype) + '</span></div>';
|
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 +
|
||||||
|
@ -905,7 +910,7 @@ function client(name) {
|
||||||
buttons: [lang.lang_parse_clientno,lang.lang_parse_clientemp, lang.lang_parse_clientmute]
|
buttons: [lang.lang_parse_clientno,lang.lang_parse_clientemp, lang.lang_parse_clientmute]
|
||||||
}
|
}
|
||||||
dialog.showMessageBox(options, function(arg) {
|
dialog.showMessageBox(options, function(arg) {
|
||||||
if(arg==1){
|
if(arg===1){
|
||||||
var cli = localStorage.getItem("client_emp");
|
var cli = localStorage.getItem("client_emp");
|
||||||
var obj = JSON.parse(cli);
|
var obj = JSON.parse(cli);
|
||||||
if(!obj){
|
if(!obj){
|
||||||
|
@ -933,7 +938,7 @@ function client(name) {
|
||||||
}
|
}
|
||||||
var json = JSON.stringify(obj);
|
var json = JSON.stringify(obj);
|
||||||
localStorage.setItem("client_emp", json);
|
localStorage.setItem("client_emp", json);
|
||||||
}else if(arg==2){
|
}else if(arg===2){
|
||||||
var cli = localStorage.getItem("client_mute");
|
var cli = localStorage.getItem("client_mute");
|
||||||
var obj = JSON.parse(cli);
|
var obj = JSON.parse(cli);
|
||||||
if(!obj){
|
if(!obj){
|
||||||
|
|
|
@ -70,7 +70,7 @@ function voteMastodon(acct_id,id){
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({choices:choice}));
|
httpreq.send(JSON.stringify({choices:choice}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
voteMastodonrefresh(acct_id,id)
|
voteMastodonrefresh(acct_id,id)
|
||||||
|
|
|
@ -116,7 +116,7 @@ function graphDraw(tag){
|
||||||
var two=50-(his[2].uses/max*50);
|
var two=50-(his[2].uses/max*50);
|
||||||
var one=50-(his[1].uses/max*50);
|
var one=50-(his[1].uses/max*50);
|
||||||
var zero=50-(his[0].uses/max*50);
|
var zero=50-(his[0].uses/max*50);
|
||||||
if(max==0){
|
if(max===0){
|
||||||
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+
|
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+
|
||||||
'</svg><span style="font-size:200%">'+his[0].uses+'</span>toots <a onclick="tl(\'tag\',\'' + tag.name + '\',\'' + acct_id +
|
'</svg><span style="font-size:200%">'+his[0].uses+'</span>toots <a onclick="tl(\'tag\',\'' + tag.name + '\',\'' + acct_id +
|
||||||
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang.lang_src_people;
|
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang.lang_src_people;
|
||||||
|
|
|
@ -289,7 +289,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||||
say(obj.content)
|
say(obj.content)
|
||||||
}
|
}
|
||||||
var templete = parse([obj], type, acct_id, tlid,"",mute);
|
var templete = parse([obj], type, acct_id, tlid,"",mute);
|
||||||
if ($("timeline_box_"+tlid+"_box .tl-box").scrollTop() == 0) {
|
if ($("timeline_box_"+tlid+"_box .tl-box").scrollTop() === 0) {
|
||||||
$("#timeline_" + tlid).prepend(templete);
|
$("#timeline_" + tlid).prepend(templete);
|
||||||
}else{
|
}else{
|
||||||
var pool = localStorage.getItem("pool_" + tlid);
|
var pool = localStorage.getItem("pool_" + tlid);
|
||||||
|
@ -578,7 +578,7 @@ function com(type, data) {
|
||||||
return "tag/" + data + "?"
|
return "tag/" + data + "?"
|
||||||
}else if (type == "list") {
|
}else if (type == "list") {
|
||||||
return "list/" + data + "?"
|
return "list/" + data + "?"
|
||||||
}else if (type="dm") {
|
}else if (type=="dm") {
|
||||||
return "direct?"
|
return "direct?"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,13 +222,13 @@ function imgCont(type) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($("#" + id + "-image-" + (key * 1 + 1)).length == 0) {
|
if ($("#" + id + "-image-" + (key * 1 + 1)).length === 0) {
|
||||||
$("#image-next").prop("disabled", true);
|
$("#image-next").prop("disabled", true);
|
||||||
} else {
|
} else {
|
||||||
$("#image-next").prop("disabled", false);
|
$("#image-next").prop("disabled", false);
|
||||||
}
|
}
|
||||||
console.log("#" + id + "-image-" + (key * 1 - 1));
|
console.log("#" + id + "-image-" + (key * 1 - 1));
|
||||||
if ($("#" + id + "-image-" + (key * 1 - 1)).length == 0) {
|
if ($("#" + id + "-image-" + (key * 1 - 1)).length === 0) {
|
||||||
$("#image-prev").prop("disabled", true);
|
$("#image-prev").prop("disabled", true);
|
||||||
} else {
|
} else {
|
||||||
$("#image-prev").prop("disabled", false);
|
$("#image-prev").prop("disabled", false);
|
||||||
|
@ -289,7 +289,7 @@ function zoom(z) {
|
||||||
'cursor': 'move'
|
'cursor': 'move'
|
||||||
}); //指が触れたか検知
|
}); //指が触れたか検知
|
||||||
$(this).on('touchmove', function(event) {
|
$(this).on('touchmove', function(event) {
|
||||||
if ($(target).data('down') == true) {
|
if ($(target).data('down') === true) {
|
||||||
// スクロール
|
// スクロール
|
||||||
console.log($(target).data('x'));
|
console.log($(target).data('x'));
|
||||||
target.scrollLeft($(target).data('scrollLeft') + $(target).data('x') -
|
target.scrollLeft($(target).data('scrollLeft') + $(target).data('x') -
|
||||||
|
|
|
@ -311,7 +311,7 @@ function removeColumn(tlid) {
|
||||||
ipc.send('column-del', "");
|
ipc.send('column-del', "");
|
||||||
ipc.on('column-del-reply', function (event, arg) {
|
ipc.on('column-del-reply', function (event, arg) {
|
||||||
console.log(arg);
|
console.log(arg);
|
||||||
if(arg==1){
|
if(arg===1){
|
||||||
localStorage.removeItem("card_" + tlid);
|
localStorage.removeItem("card_" + tlid);
|
||||||
obj.splice(tlid, 1);
|
obj.splice(tlid, 1);
|
||||||
for(var i=0;i<obj.length;i++){
|
for(var i=0;i<obj.length;i++){
|
||||||
|
|
|
@ -10,7 +10,7 @@ function scrollck() {
|
||||||
$(".tl-box").each(function(i, elem) {
|
$(".tl-box").each(function(i, elem) {
|
||||||
var tlid = $(this).attr('tlid');
|
var tlid = $(this).attr('tlid');
|
||||||
//一番上ならためていた新しいトゥートを表示
|
//一番上ならためていた新しいトゥートを表示
|
||||||
if ($(this).scrollTop() == 0) {
|
if ($(this).scrollTop() === 0) {
|
||||||
var pool = localStorage.getItem("pool_" + tlid);
|
var pool = localStorage.getItem("pool_" + tlid);
|
||||||
if (pool) {
|
if (pool) {
|
||||||
$("#timeline_" + tlid).prepend(pool);
|
$("#timeline_" + tlid).prepend(pool);
|
||||||
|
|
|
@ -10,13 +10,20 @@ function settings() {
|
||||||
|
|
||||||
var cd = $("[name=theme]:checked").val();
|
var cd = $("[name=theme]:checked").val();
|
||||||
var ct = $("[for="+cd+"]").html();
|
var ct = $("[for="+cd+"]").html();
|
||||||
|
if(cd=="custom" && !$("#custom-sel-sel").val()){
|
||||||
|
var theme = localStorage.getItem("theme");
|
||||||
|
if (!theme) {
|
||||||
|
var theme = "white";
|
||||||
|
}
|
||||||
|
$("#" + theme).prop("checked", true);
|
||||||
|
}else{
|
||||||
if (cd != localStorage.getItem("theme")) {
|
if (cd != localStorage.getItem("theme")) {
|
||||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
||||||
}
|
}
|
||||||
//テーマはこの場で設定
|
//テーマはこの場で設定
|
||||||
themes(cd);
|
themes(cd);
|
||||||
localStorage.setItem("theme", cd);
|
localStorage.setItem("theme", cd);
|
||||||
|
}
|
||||||
var nd = $("[name=nsfw]:checked").val();
|
var nd = $("[name=nsfw]:checked").val();
|
||||||
var nt = $("[for=n_"+nd+"]").text();
|
var nt = $("[for=n_"+nd+"]").text();
|
||||||
if (nd != localStorage.getItem("nsfw")) {
|
if (nd != localStorage.getItem("nsfw")) {
|
||||||
|
@ -435,16 +442,9 @@ function load() {
|
||||||
var sect = "nothing";
|
var sect = "nothing";
|
||||||
}
|
}
|
||||||
$("#sec-" + sect).prop("checked", true);
|
$("#sec-" + sect).prop("checked", true);
|
||||||
|
|
||||||
}
|
}
|
||||||
//最初に読む
|
|
||||||
load();
|
|
||||||
climute();
|
|
||||||
wordmute();
|
|
||||||
wordemp();
|
|
||||||
checkSpotify();
|
|
||||||
voiceSettingLoad();
|
|
||||||
oksload();
|
|
||||||
npprovider();
|
|
||||||
function climute(){
|
function climute(){
|
||||||
//クライアントミュート
|
//クライアントミュート
|
||||||
var cli = localStorage.getItem("client_mute");
|
var cli = localStorage.getItem("client_mute");
|
||||||
|
@ -724,3 +724,139 @@ function font(){
|
||||||
function insertFont(name){
|
function insertFont(name){
|
||||||
$("#font").val(name);
|
$("#font").val(name);
|
||||||
}
|
}
|
||||||
|
$(".color-picker").each(function(i, elem) {
|
||||||
|
pickerDefine(i,"fff");
|
||||||
|
});
|
||||||
|
function pickerDefine(i,color){
|
||||||
|
var pickr = new Pickr({
|
||||||
|
el: '#color-picker'+i,
|
||||||
|
default: color,
|
||||||
|
showAlways: true,
|
||||||
|
appendToBody: true,
|
||||||
|
closeWithKey: 'Escape',
|
||||||
|
comparison: false,
|
||||||
|
components: {
|
||||||
|
preview: true, // Left side color comparison
|
||||||
|
opacity: false, // Opacity slider
|
||||||
|
hue: true, // Hue slider
|
||||||
|
},
|
||||||
|
strings: {
|
||||||
|
save: 'Save', // Default for save button
|
||||||
|
clear: 'Clear' // Default for clear button
|
||||||
|
}
|
||||||
|
});
|
||||||
|
pickr.on('change', (...args) => {
|
||||||
|
var rgb='rgb('+rgs[0].toRGBA()[0]+','+rgs[0].toRGBA()[1]+','+rgs[0].toRGBA()[2]+')';
|
||||||
|
$("#color-picker"+i+"_value").val(rgb)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function customComp(){
|
||||||
|
var nameC=$("#custom_name").val();
|
||||||
|
if(!nameC){return false;}
|
||||||
|
var descC=$("#custom_desc").val();
|
||||||
|
if(!descC){return false;}
|
||||||
|
var primaryC=$("#color-picker0_value").val();
|
||||||
|
if(!primaryC){return false;}
|
||||||
|
var secondaryC=$("#color-picker1_value").val();
|
||||||
|
if(!secondaryC){return false;}
|
||||||
|
var textC=$("#color-picker2_value").val();
|
||||||
|
if(!textC){return false;}
|
||||||
|
var accentC=$("#color-picker3_value").val();
|
||||||
|
if(!accentC){return false;}
|
||||||
|
var multi = localStorage.getItem("multi");
|
||||||
|
var my=JSON.parse(multi)[0].name;
|
||||||
|
var json={
|
||||||
|
"name": nameC,
|
||||||
|
"author": my,
|
||||||
|
"desc": descC,
|
||||||
|
"base": $("[name=direction]:checked").val(),
|
||||||
|
"vars": {
|
||||||
|
"primary": primaryC,
|
||||||
|
"secondary": secondaryC,
|
||||||
|
"text": textC
|
||||||
|
},
|
||||||
|
"props": {
|
||||||
|
"TheDeskAccent": accentC
|
||||||
|
},
|
||||||
|
"id": makeCID()
|
||||||
|
}
|
||||||
|
$("#custom_json").val(JSON.stringify(json));
|
||||||
|
}
|
||||||
|
function ctLoad(){
|
||||||
|
ipc.send('theme-json-list', "");
|
||||||
|
ipc.on('theme-json-list-response', function (event, args) {
|
||||||
|
console.log(args);
|
||||||
|
var templete="";
|
||||||
|
Object.keys(args).forEach(function(key) {
|
||||||
|
var theme = args[key];
|
||||||
|
var themeid=theme.id
|
||||||
|
templete = templete+'<option value="'+themeid+'">' + theme.name +'</option>';
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
$("#custom-sel-sel").html(templete);
|
||||||
|
templete='<option value="add_new">'+$("#edit-selector").attr("data-add")+'</option>'+templete;
|
||||||
|
$("#custom-edit-sel").html(templete);
|
||||||
|
$('select').material_select('update');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function customSel(){
|
||||||
|
var id=$("#custom-sel-sel").val();
|
||||||
|
localStorage.setItem("customtheme-id",id)
|
||||||
|
}
|
||||||
|
function custom(){
|
||||||
|
var id=$("#custom-edit-sel").val();
|
||||||
|
if(id=="add_new"){
|
||||||
|
$("#custom_name").val("");
|
||||||
|
$("#custom_desc").val("");
|
||||||
|
$("#dark").prop("checked", true);
|
||||||
|
$("#custom_json").val("");
|
||||||
|
}else{
|
||||||
|
ipc.send('theme-json-request', id);
|
||||||
|
ipc.on('theme-json-response', function (event, args) {
|
||||||
|
$("#custom_name").val(args.name);
|
||||||
|
$("#custom_desc").val(args.desc);
|
||||||
|
$("#"+args.base).prop("checked", true);
|
||||||
|
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||||
|
pickerDefine(0,rgbToHex(args.vars.primary))
|
||||||
|
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||||
|
pickerDefine(1,rgbToHex(args.vars.secondary))
|
||||||
|
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||||
|
pickerDefine(2,rgbToHex(args.vars.text))
|
||||||
|
if(args.props){
|
||||||
|
if(args.props.TheDeskAccent){
|
||||||
|
var accent=args.props.TheDeskAccent;
|
||||||
|
}else{
|
||||||
|
var accent=args.vars.secondary;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
var accent=args.vars.secondary;
|
||||||
|
}
|
||||||
|
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||||
|
pickerDefine(3,rgbToHex(accent))
|
||||||
|
$("#custom_json").val(JSON.stringify(args));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function customImp(){
|
||||||
|
var json=$("#custom_import").val();
|
||||||
|
if(JSON5.parse(json)){
|
||||||
|
ipc.send('theme-json-create', json);
|
||||||
|
}else{
|
||||||
|
alert("Error")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ipc.on('theme-json-create-complete', function (event, args) {
|
||||||
|
$("#custom_import").val("");
|
||||||
|
ctLoad()
|
||||||
|
});
|
||||||
|
//最初に読む
|
||||||
|
load();
|
||||||
|
climute();
|
||||||
|
wordmute();
|
||||||
|
wordemp();
|
||||||
|
checkSpotify();
|
||||||
|
voiceSettingLoad();
|
||||||
|
oksload();
|
||||||
|
npprovider();
|
||||||
|
ctLoad()
|
|
@ -11,6 +11,7 @@ function themes(theme) {
|
||||||
$("html").removeClass("greentheme");
|
$("html").removeClass("greentheme");
|
||||||
$("html").removeClass("browntheme");
|
$("html").removeClass("browntheme");
|
||||||
$("html").removeClass("blacktheme");
|
$("html").removeClass("blacktheme");
|
||||||
|
$("html").removeClass("customtheme");
|
||||||
$("html").addClass(theme+"theme");
|
$("html").addClass(theme+"theme");
|
||||||
var font = localStorage.getItem("font");
|
var font = localStorage.getItem("font");
|
||||||
if(font){
|
if(font){
|
||||||
|
@ -18,5 +19,10 @@ function themes(theme) {
|
||||||
}else{
|
}else{
|
||||||
$("html").css("font-family","");
|
$("html").css("font-family","");
|
||||||
}
|
}
|
||||||
|
if(theme=="custom"){
|
||||||
|
if(localStorage.getItem("customtheme-id")){
|
||||||
|
ipc.send('theme-css-request', localStorage.getItem("customtheme-id"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
themes();
|
themes();
|
|
@ -12,13 +12,13 @@ function profedit() {
|
||||||
httpreq.open('PATCH', start, true);
|
httpreq.open('PATCH', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify({
|
httpreq.send(JSON.stringify({
|
||||||
display_name: name,
|
display_name: name,
|
||||||
note: des,
|
note: des,
|
||||||
}));
|
}));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
$('#his-data').modal('close');
|
$('#his-data').modal('close');
|
||||||
todc();
|
todc();
|
||||||
}
|
}
|
||||||
|
@ -47,10 +47,10 @@ function imgChange(imgfile, target) {
|
||||||
httpreq.open('PATCH', start, true);
|
httpreq.open('PATCH', start, true);
|
||||||
httpreq.upload.addEventListener("progress", progshow, false);
|
httpreq.upload.addEventListener("progress", progshow, false);
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(fd);
|
httpreq.send(fd);
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
var json = httpreq.response;
|
var json = httpreq.response;
|
||||||
console.log(json);
|
console.log(json);
|
||||||
$('#his-data').modal('close');
|
$('#his-data').modal('close');
|
||||||
|
|
|
@ -46,7 +46,7 @@ function udgEx(user,acct_id){
|
||||||
shell.openExternal(url);
|
shell.openExternal(url);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
function udg(user, acct_id) {
|
function udg(user, acct_id) {
|
||||||
reset();
|
reset();
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
// Create the Application's main menu
|
// Create the Application's main menu
|
||||||
function createMenu(lang){
|
function templete(lang){
|
||||||
|
const electron = require("electron");
|
||||||
|
const app = electron.app;
|
||||||
|
const BrowserWindow = electron.BrowserWindow;
|
||||||
const dict={
|
const dict={
|
||||||
"application":{
|
"application":{
|
||||||
"ja":"アプリケーション",
|
"ja":"アプリケーション",
|
||||||
|
@ -65,7 +68,14 @@ function createMenu(lang){
|
||||||
const menu = [{
|
const menu = [{
|
||||||
label: dict.application[lang],
|
label: dict.application[lang],
|
||||||
submenu: [
|
submenu: [
|
||||||
{ label: dict.about[lang], click: function() { about(); } },
|
{ label: dict.about[lang], click: function() {
|
||||||
|
var ver=app.getVersion()
|
||||||
|
var window = new BrowserWindow({width: 300, height: 460,
|
||||||
|
"transparent": false, // ウィンドウの背景を透過
|
||||||
|
"frame": false, // 枠の無いウィンドウ
|
||||||
|
"resizable": false });
|
||||||
|
window.loadURL('file://' + __dirname + '/about.html?ver='+ver);
|
||||||
|
} },
|
||||||
{ type: "separator" },
|
{ type: "separator" },
|
||||||
{ label: dict.quit[lang], accelerator: "Command+Q", click: function() { app.quit(); }}
|
{ label: dict.quit[lang], accelerator: "Command+Q", click: function() { app.quit(); }}
|
||||||
|
|
||||||
|
@ -141,5 +151,5 @@ function delsel(lang){
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.templete = createMenu;
|
exports.template = templete;
|
||||||
exports.delsel = delsel;
|
exports.delsel = delsel;
|
94
app/main.js
94
app/main.js
|
@ -13,6 +13,7 @@ const language = require('./language.js');
|
||||||
const Menu=electron.Menu
|
const Menu=electron.Menu
|
||||||
var updatewin=null;
|
var updatewin=null;
|
||||||
const join = require('path').join;
|
const join = require('path').join;
|
||||||
|
var JSON5 = require('json5');
|
||||||
// アプリケーションをコントロールするモジュール
|
// アプリケーションをコントロールするモジュール
|
||||||
const app = electron.app;
|
const app = electron.app;
|
||||||
// ウィンドウを作成するモジュール
|
// ウィンドウを作成するモジュール
|
||||||
|
@ -25,6 +26,8 @@ let mainWindow;
|
||||||
var info_path = join(app.getPath("userData"), "window-size.json");
|
var info_path = join(app.getPath("userData"), "window-size.json");
|
||||||
var max_info_path = join(app.getPath("userData"), "max-window-size.json");
|
var max_info_path = join(app.getPath("userData"), "max-window-size.json");
|
||||||
var lang_path=join(app.getPath("userData"), "language");
|
var lang_path=join(app.getPath("userData"), "language");
|
||||||
|
var customcss=join(app.getPath("userData"), "custom.css");
|
||||||
|
|
||||||
var tmp_img = join(app.getPath("userData"), "tmp.png");
|
var tmp_img = join(app.getPath("userData"), "tmp.png");
|
||||||
var window_size;
|
var window_size;
|
||||||
try {
|
try {
|
||||||
|
@ -58,6 +61,7 @@ try {
|
||||||
}
|
}
|
||||||
fs.writeFileSync(lang_path,lang);
|
fs.writeFileSync(lang_path,lang);
|
||||||
}
|
}
|
||||||
|
console.log("launch:"+lang);
|
||||||
// 全てのウィンドウが閉じたら終了
|
// 全てのウィンドウが閉じたら終了
|
||||||
app.on('window-all-closed', function() {
|
app.on('window-all-closed', function() {
|
||||||
if (process.platform != 'darwin') {
|
if (process.platform != 'darwin') {
|
||||||
|
@ -163,9 +167,94 @@ ipc.on('native-notf', function(e, args) {
|
||||||
});
|
});
|
||||||
//言語
|
//言語
|
||||||
ipc.on('lang', function(e, arg) {
|
ipc.on('lang', function(e, arg) {
|
||||||
|
console.log("set:"+arg);
|
||||||
fs.writeFileSync(lang_path,arg);
|
fs.writeFileSync(lang_path,arg);
|
||||||
mainWindow.webContents.send('langres', "");
|
mainWindow.webContents.send('langres', "");
|
||||||
})
|
})
|
||||||
|
//CSS
|
||||||
|
ipc.on('custom-css-create', function(e, arg) {
|
||||||
|
fs.writeFileSync(customcss,arg);
|
||||||
|
mainWindow.webContents.send('custom-css-create-complete', "");
|
||||||
|
})
|
||||||
|
ipc.on('custom-css-request', function(e, arg) {
|
||||||
|
try {
|
||||||
|
var css = fs.readFileSync(customcss, 'utf8');
|
||||||
|
} catch (e) {
|
||||||
|
var css="";
|
||||||
|
}
|
||||||
|
mainWindow.webContents.send('custom-css-response', css);
|
||||||
|
})
|
||||||
|
ipc.on('theme-json-create', function(e, arg) {
|
||||||
|
console.log(arg);
|
||||||
|
console.log(JSON5.parse(arg))
|
||||||
|
var themecss=join(app.getPath("userData"), JSON5.parse(arg)["id"]+".thedesktheme");
|
||||||
|
fs.writeFileSync(themecss,JSON.stringify(JSON5.parse(arg)));
|
||||||
|
if(JSON5.parse(arg)["id"]){
|
||||||
|
mainWindow.webContents.send('theme-json-create-complete', "");
|
||||||
|
}else{
|
||||||
|
mainWindow.webContents.send('theme-json-create-complete', "error");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
ipc.on('theme-json-request', function(e, arg) {
|
||||||
|
var themecss=join(app.getPath("userData"), arg+".thedesktheme");
|
||||||
|
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||||
|
mainWindow.webContents.send('theme-json-response', json);
|
||||||
|
})
|
||||||
|
ipc.on('theme-css-request', function(e, arg) {
|
||||||
|
var themecss=join(app.getPath("userData"), arg+".thedesktheme");
|
||||||
|
try {
|
||||||
|
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||||
|
|
||||||
|
var primary=json.vars.primary;
|
||||||
|
var secondary=json.vars.secondary;
|
||||||
|
var text=json.vars.text;
|
||||||
|
if(json.base=="light"){
|
||||||
|
var drag="rgba(255, 255, 255, 0.8)";
|
||||||
|
var beforehover="#757575";
|
||||||
|
}else{
|
||||||
|
var drag="rgba(0, 0, 0, 0.8)";
|
||||||
|
var beforehover="#9e9e9e";
|
||||||
|
}
|
||||||
|
if(json.props){
|
||||||
|
if(json.props.TheDeskAccent){
|
||||||
|
var emphasized=json.props.TheDeskAccent
|
||||||
|
}else{
|
||||||
|
var emphasized=secondary;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
var emphasized=secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
var css=".customtheme {--bg:"+primary+";--drag:"+drag+";"+
|
||||||
|
"--color:"+text+";--beforehover:"+beforehover+";--modal:"+primary+";--subcolor:"+secondary+";--box:"+secondary+";--sidebar:"+secondary+";--shared:"+emphasized+";"+
|
||||||
|
"--notfbox:"+primary+";--emphasized:"+secondary+";--his-data:"+primary+
|
||||||
|
+"--active:"+secondary+";--postbox:"+secondary+";--modalfooter:"+secondary+";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||||
|
mainWindow.webContents.send('theme-css-response', css);
|
||||||
|
} catch (e) {
|
||||||
|
var css="";
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
ipc.on('theme-json-list', function(e, arg) {
|
||||||
|
fs.readdir(app.getPath("userData"), function(err, files){
|
||||||
|
if (err) throw err;
|
||||||
|
var fileList = files.filter(function(file){
|
||||||
|
var tfile=join(app.getPath("userData"), file);
|
||||||
|
return fs.statSync(tfile).isFile() && /.*\.thedesktheme$/.test(tfile); //絞り込み
|
||||||
|
})
|
||||||
|
var themes=[];
|
||||||
|
for(var i=0;i<fileList.length;i++){
|
||||||
|
var themecss=join(app.getPath("userData"), fileList[i]);
|
||||||
|
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||||
|
themes.push({
|
||||||
|
name:json.name,
|
||||||
|
id:json.id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
mainWindow.webContents.send('theme-json-list-response', themes);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
ipc.on('update', function(e, x, y) {
|
ipc.on('update', function(e, x, y) {
|
||||||
var platform=process.platform;
|
var platform=process.platform;
|
||||||
|
@ -407,7 +496,8 @@ ipc.on('file-select', (e, args) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
ipc.on('column-del', (e, args) => {
|
ipc.on('column-del', (e, args) => {
|
||||||
var options=delsel(lang)
|
console.log(lang);
|
||||||
|
var options=language.delsel(lang)
|
||||||
dialog.showMessageBox(options, function(index) {
|
dialog.showMessageBox(options, function(index) {
|
||||||
mainWindow.webContents.send('column-del-reply', index);
|
mainWindow.webContents.send('column-del-reply', index);
|
||||||
})
|
})
|
||||||
|
@ -452,7 +542,7 @@ ipc.on('nano', function (e, x, y) {
|
||||||
buttons: ['拒否', '許可','永続的に許可']
|
buttons: ['拒否', '許可','永続的に許可']
|
||||||
}
|
}
|
||||||
dialog.showMessageBox(options, function(index) {
|
dialog.showMessageBox(options, function(index) {
|
||||||
if(index==2){
|
if(index===2){
|
||||||
mainWindow.webContents.send('adobeagree', "true");
|
mainWindow.webContents.send('adobeagree', "true");
|
||||||
}
|
}
|
||||||
if(index>0){
|
if(index>0){
|
||||||
|
|
|
@ -178,10 +178,10 @@ function post(){
|
||||||
httpreq.open('POST', start, true);
|
httpreq.open('POST', start, true);
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||||
httpreq.responseType = 'json';
|
httpreq.responseType = "json";
|
||||||
httpreq.send(JSON.stringify(toot));
|
httpreq.send(JSON.stringify(toot));
|
||||||
httpreq.onreadystatechange = function() {
|
httpreq.onreadystatechange = function() {
|
||||||
if (httpreq.readyState == 4) {
|
if (httpreq.readyState === 4) {
|
||||||
$("#textarea").val("");
|
$("#textarea").val("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
19
app/package-lock.json
generated
19
app/package-lock.json
generated
|
@ -1655,6 +1655,21 @@
|
||||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||||
},
|
},
|
||||||
|
"json5": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
|
||||||
|
"requires": {
|
||||||
|
"minimist": "^1.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"minimist": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||||
|
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"jsonfile": {
|
"jsonfile": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
||||||
|
@ -1947,7 +1962,8 @@
|
||||||
"node-addon-api": {
|
"node-addon-api": {
|
||||||
"version": "1.6.2",
|
"version": "1.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz",
|
||||||
"integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA=="
|
"integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==",
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"node-gyp": {
|
"node-gyp": {
|
||||||
"version": "3.8.0",
|
"version": "3.8.0",
|
||||||
|
@ -2119,6 +2135,7 @@
|
||||||
"version": "0.1.3",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/nowplaying-node/-/nowplaying-node-0.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/nowplaying-node/-/nowplaying-node-0.1.3.tgz",
|
||||||
"integrity": "sha512-nEvuw93xmgZS7X1XqUaLJXhd4iB54xjTOnYuEEoPMBHHs3QWGECNKvnD0uDBCe269sUK8Z5InX5rPjzf3vRVrw==",
|
"integrity": "sha512-nEvuw93xmgZS7X1XqUaLJXhd4iB54xjTOnYuEEoPMBHHs3QWGECNKvnD0uDBCe269sUK8Z5InX5rPjzf3vRVrw==",
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "^10.1.2",
|
"@types/node": "^10.1.2",
|
||||||
"node-addon-api": "^1.2.0",
|
"node-addon-api": "^1.2.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "thedesk",
|
"name": "thedesk",
|
||||||
"version": "17.0.2",
|
"version": "17.2.0",
|
||||||
"description": "TheDesk is a Mastodon client for PC.",
|
"description": "TheDesk is a Mastodon client for PC.",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
"electron-dl": "^1.11.0",
|
"electron-dl": "^1.11.0",
|
||||||
"font-manager": "^0.3.0",
|
"font-manager": "^0.3.0",
|
||||||
"jimp": "^0.2.28",
|
"jimp": "^0.2.28",
|
||||||
|
"json5": "^2.1.0",
|
||||||
"node-notifier": "^5.2.1",
|
"node-notifier": "^5.2.1",
|
||||||
"sumchecker": "^2.0.2"
|
"sumchecker": "^2.0.2"
|
||||||
},
|
},
|
||||||
|
|
|
@ -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="Miria (17.1.1)";
|
var ver="Miria (17.2.0)";
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
|
@ -582,7 +582,7 @@ 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-Miria_17-1-0" class="release-do" style="display:none; ">
|
<div id="release-Miria_17-1-1" 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>
|
||||||
|
|
|
@ -12,16 +12,20 @@
|
||||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||||
|
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
<style>input{max-height:50px!important}</style>
|
||||||
</head>
|
</head>
|
||||||
<body id="mainView" style="overflow-y:scroll">
|
<body id="mainView" style="overflow-y:scroll">
|
||||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||||
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
||||||
|
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
|
||||||
|
|
||||||
<h4>Preferences</h4>
|
<h4>Preferences</h4>
|
||||||
<ul class="collapsible" data-collapsible="accordion">
|
<ul class="collapsible" data-collapsible="accordion">
|
||||||
<li>
|
<li>
|
||||||
|
@ -30,21 +34,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<h5>Languages</h5>
|
<h5>Languages</h5>
|
||||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
|
||||||
<h5>Import and export of preferences</h5>
|
<h5>Import and export of preferences</h5>
|
||||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">Export</button>
|
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">Export</button>
|
||||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">Import</button>
|
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">Import</button>
|
||||||
<h5>Themes</h5>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
|
||||||
<label for="black">Black</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
|
||||||
<label for="white">White</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
|
||||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
|
||||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
|
||||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
|
||||||
<br>
|
<br>
|
||||||
<h5>Popup notification(on Windows)</h5>Hide to set "0"
|
<h5>Popup notification(on Windows)</h5>Hide to set "0"
|
||||||
<br>
|
<br>
|
||||||
|
@ -88,6 +81,72 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
<div class="collapsible-header">
|
||||||
|
<i class="material-icons">color_lens</i>Themes
|
||||||
|
</div>
|
||||||
|
<div class="collapsible-body">
|
||||||
|
<h4>Select theme</h4>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||||
|
<label for="black">Black</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||||
|
<label for="white">White</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||||
|
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||||
|
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||||
|
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||||
|
<label for="custom">Custom</label>
|
||||||
|
<div style="width:300px" id="sel-selector">
|
||||||
|
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||||
|
</div>
|
||||||
|
<h4>Edit and add custom themes</h4>
|
||||||
|
<div style="width:300px" id="edit-selector" data-add="Add new">
|
||||||
|
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||||
|
<option value="add_new">Add new</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<h5>Name</h5>
|
||||||
|
<input type="text" style="width:300px" id="custom_name" placeholder="Name...">
|
||||||
|
<h5>About this theme</h5>
|
||||||
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="About this theme..."></textarea></div>
|
||||||
|
<h5>Color scheme</h5>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||||
|
<label for="dark">Dark</label>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||||
|
<label for="light">Light</label>
|
||||||
|
<div id="pickers">
|
||||||
|
<div>
|
||||||
|
<h5>Primary</h5>Background color
|
||||||
|
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||||
|
<input type="hidden" id="color-picker0_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Secondary</h5>Background of components
|
||||||
|
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||||
|
<input type="hidden" id="color-picker1_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Texts</h5>Text color
|
||||||
|
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||||
|
<input type="hidden" id="color-picker2_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Accent</h5>Background of boosts
|
||||||
|
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||||
|
<input type="hidden" id="color-picker3_value">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn-large waves-effect" onclick="customComp()">Change</button><br>
|
||||||
|
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||||
|
Share this code with other TheDesk and Misskey.
|
||||||
|
<h4>Import of custom themes</h4>
|
||||||
|
{{cImpWarn}}<br>
|
||||||
|
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||||
|
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
<div class="collapsible-header">
|
<div class="collapsible-header">
|
||||||
<i class="material-icons">reorder</i>Timeline Preferences
|
<i class="material-icons">reorder</i>Timeline Preferences
|
||||||
</div>
|
</div>
|
||||||
|
@ -322,7 +381,7 @@
|
||||||
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
|
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<!-->h5>NowPlaying Provider(Windows)</h5>
|
<h5>NowPlaying Provider(Windows)</h5>
|
||||||
macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a> is required. And MusicBee requires CAD.<br>
|
macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a> is required. And MusicBee requires CAD.<br>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||||
<label for="aimp">AIMP</label>
|
<label for="aimp">AIMP</label>
|
||||||
|
@ -337,7 +396,7 @@
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||||
<label for="wlm">WLM</label>
|
<label for="wlm">WLM</label>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||||
<label for="cad">CAD</label><br><br-->
|
<label for="cad">CAD</label><br><br>
|
||||||
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
|
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
|
||||||
<h5>Account Connection</h5>
|
<h5>Account Connection</h5>
|
||||||
TheDesk save your data on thedesk.top server.<br>
|
TheDesk save your data on thedesk.top server.<br>
|
||||||
|
@ -443,6 +502,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||||
|
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -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="Miria (17.1.1)";
|
var ver="Miria (17.2.0)";
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
|
@ -582,7 +582,7 @@ 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-Miria_17-1-0" class="release-do" style="display:none; ">
|
<div id="release-Miria_17-1-1" 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>
|
||||||
|
|
|
@ -12,16 +12,20 @@
|
||||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||||
|
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
<style>input{max-height:50px!important}</style>
|
||||||
</head>
|
</head>
|
||||||
<body id="mainView" style="overflow-y:scroll">
|
<body id="mainView" style="overflow-y:scroll">
|
||||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||||
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
||||||
|
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
|
||||||
|
|
||||||
<h4>設定</h4>
|
<h4>設定</h4>
|
||||||
<ul class="collapsible" data-collapsible="accordion">
|
<ul class="collapsible" data-collapsible="accordion">
|
||||||
<li>
|
<li>
|
||||||
|
@ -30,21 +34,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<h5>言語</h5>
|
<h5>言語</h5>
|
||||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
|
||||||
<h5>設定のインポートとエクスポート</h5>
|
<h5>設定のインポートとエクスポート</h5>
|
||||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">エクスポート</button>
|
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">エクスポート</button>
|
||||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">インポート</button>
|
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">インポート</button>
|
||||||
<h5>テーマの設定</h5>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
|
||||||
<label for="black">Black</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
|
||||||
<label for="white">White</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
|
||||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
|
||||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
|
||||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
|
||||||
<br>
|
<br>
|
||||||
<h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
|
<h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
|
||||||
<br>
|
<br>
|
||||||
|
@ -88,6 +81,72 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
<div class="collapsible-header">
|
||||||
|
<i class="material-icons">color_lens</i>テーマの設定
|
||||||
|
</div>
|
||||||
|
<div class="collapsible-body">
|
||||||
|
<h4>テーマの選択</h4>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||||
|
<label for="black">Black</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||||
|
<label for="white">White</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||||
|
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||||
|
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||||
|
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||||
|
<label for="custom">Custom</label>
|
||||||
|
<div style="width:300px" id="sel-selector">
|
||||||
|
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||||
|
</div>
|
||||||
|
<h4>カスタムテーマの作成・編集</h4>
|
||||||
|
<div style="width:300px" id="edit-selector" data-add="新規作成">
|
||||||
|
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||||
|
<option value="add_new">新規作成</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<h5>名前</h5>
|
||||||
|
<input type="text" style="width:300px" id="custom_name" placeholder="名前...">
|
||||||
|
<h5>説明</h5>
|
||||||
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="説明..."></textarea></div>
|
||||||
|
<h5>色の系統</h5>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||||
|
<label for="dark">Dark</label>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||||
|
<label for="light">Light</label>
|
||||||
|
<div id="pickers">
|
||||||
|
<div>
|
||||||
|
<h5>Primary</h5>全体の背景色など
|
||||||
|
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||||
|
<input type="hidden" id="color-picker0_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Secondary</h5>補助要素に使われる背景色
|
||||||
|
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||||
|
<input type="hidden" id="color-picker1_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Texts</h5>テキストの色
|
||||||
|
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||||
|
<input type="hidden" id="color-picker2_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Accent</h5>ブーストの背景色など
|
||||||
|
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||||
|
<input type="hidden" id="color-picker3_value">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn-large waves-effect" onclick="customComp()">変更</button><br>
|
||||||
|
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||||
|
このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。
|
||||||
|
<h4>カスタムテーマのインポート</h4>
|
||||||
|
<a href="https://assets.msky.cafe/" target="_blank">MiAS</a>上の80を超えるテーマを張り付けることもできます。<br>
|
||||||
|
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||||
|
<button class="btn waves-effect" onclick="customImp()">インポート</button><br>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
<div class="collapsible-header">
|
<div class="collapsible-header">
|
||||||
<i class="material-icons">reorder</i>タイムラインの設定
|
<i class="material-icons">reorder</i>タイムラインの設定
|
||||||
</div>
|
</div>
|
||||||
|
@ -322,7 +381,7 @@
|
||||||
<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
|
<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<!-->h5>NowPlayingのソース(Windows)</h5>
|
<h5>NowPlayingのソース(Windows)</h5>
|
||||||
macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。<br>
|
macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。<br>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||||
<label for="aimp">AIMP</label>
|
<label for="aimp">AIMP</label>
|
||||||
|
@ -337,7 +396,7 @@
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||||
<label for="wlm">WLM</label>
|
<label for="wlm">WLM</label>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||||
<label for="cad">CAD</label><br><br-->
|
<label for="cad">CAD</label><br><br>
|
||||||
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
|
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
|
||||||
<h5>アカウントの連携</h5>
|
<h5>アカウントの連携</h5>
|
||||||
APIの性質上,thedesk.topへアクセスします。<br>
|
APIの性質上,thedesk.topへアクセスします。<br>
|
||||||
|
@ -443,6 +502,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||||
|
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -28,6 +28,18 @@
|
||||||
"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.",
|
||||||
"absolute":"absolute value",
|
"absolute":"absolute value",
|
||||||
|
"themeSel":"Select theme",
|
||||||
|
"customtheme":"Edit and add custom themes",
|
||||||
|
"customthemeDirection":"Color scheme",
|
||||||
|
"primary":"Background color",
|
||||||
|
"secondarycolor":"Background of components",
|
||||||
|
"text":"Text color",
|
||||||
|
"accent":"Background of boosts",
|
||||||
|
"add_new":"Add new",
|
||||||
|
"name":"Name",
|
||||||
|
"desc":"About this theme",
|
||||||
|
"customShare":"Share this code with other TheDesk and Misskey.",
|
||||||
|
"customImport":"Import of custom themes",
|
||||||
"timeline":"Timeline Preferences",
|
"timeline":"Timeline Preferences",
|
||||||
"timemode":"Time format",
|
"timemode":"Time format",
|
||||||
"relativetime":"Relative format:\"1 minutes ago\",\"3 days ago\"",
|
"relativetime":"Relative format:\"1 minutes ago\",\"3 days ago\"",
|
||||||
|
|
|
@ -28,6 +28,19 @@
|
||||||
"savefolder":"デフォルトの保存先",
|
"savefolder":"デフォルトの保存先",
|
||||||
"savefolderwarn":"画像ダウンロードやスクリーンショットに影響します。",
|
"savefolderwarn":"画像ダウンロードやスクリーンショットに影響します。",
|
||||||
"absolute":"絶対指定",
|
"absolute":"絶対指定",
|
||||||
|
"themeSel":"テーマの選択",
|
||||||
|
"customtheme":"カスタムテーマの作成・編集",
|
||||||
|
"customthemeDirection":"色の系統",
|
||||||
|
"primary":"全体の背景色など",
|
||||||
|
"secondarycolor":"補助要素に使われる背景色",
|
||||||
|
"text":"テキストの色",
|
||||||
|
"accent":"ブーストの背景色など",
|
||||||
|
"add_new":"新規作成",
|
||||||
|
"name":"名前",
|
||||||
|
"desc":"説明",
|
||||||
|
"customShare":"このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。",
|
||||||
|
"customImport":"カスタムテーマのインポート",
|
||||||
|
"cImpWarn":"<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>上の80を超えるテーマを張り付けることもできます。",
|
||||||
"timeline":"タイムラインの設定",
|
"timeline":"タイムラインの設定",
|
||||||
"timemode":"時間表記設定",
|
"timemode":"時間表記設定",
|
||||||
"relativetime":"相対時間の例:\"1分前\",\"3日前\"",
|
"relativetime":"相対時間の例:\"1分前\",\"3日前\"",
|
||||||
|
|
|
@ -12,16 +12,20 @@
|
||||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||||
|
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
<style>input{max-height:50px!important}</style>
|
||||||
</head>
|
</head>
|
||||||
<body id="mainView" style="overflow-y:scroll">
|
<body id="mainView" style="overflow-y:scroll">
|
||||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||||
<script type="text/javascript" src="../../js/lang/lang.{{lang}}.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.{{lang}}.js"></script>
|
||||||
|
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
|
||||||
|
|
||||||
<h4>{{setting}}</h4>
|
<h4>{{setting}}</h4>
|
||||||
<ul class="collapsible" data-collapsible="accordion">
|
<ul class="collapsible" data-collapsible="accordion">
|
||||||
<li>
|
<li>
|
||||||
|
@ -34,17 +38,6 @@
|
||||||
<h5>{{backup}}</h5>
|
<h5>{{backup}}</h5>
|
||||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">{{export}}</button>
|
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">{{export}}</button>
|
||||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">{{import}}</button>
|
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">{{import}}</button>
|
||||||
<h5>{{theme}}</h5>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
|
||||||
<label for="black">Black</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
|
||||||
<label for="white">White</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
|
||||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
|
||||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
|
||||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
|
||||||
<br>
|
<br>
|
||||||
<h5>{{popup}}</h5>{{popupwarn}}
|
<h5>{{popup}}</h5>{{popupwarn}}
|
||||||
<br>
|
<br>
|
||||||
|
@ -88,6 +81,72 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
<div class="collapsible-header">
|
||||||
|
<i class="material-icons">color_lens</i>{{theme}}
|
||||||
|
</div>
|
||||||
|
<div class="collapsible-body">
|
||||||
|
<h4>{{themeSel}}</h4>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||||
|
<label for="black">Black</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||||
|
<label for="white">White</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||||
|
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||||
|
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||||
|
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||||
|
<label for="custom">Custom</label>
|
||||||
|
<div style="width:300px" id="sel-selector">
|
||||||
|
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||||
|
</div>
|
||||||
|
<h4>{{customtheme}}</h4>
|
||||||
|
<div style="width:300px" id="edit-selector" data-add="{{add_new}}">
|
||||||
|
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||||
|
<option value="add_new">{{add_new}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<h5>{{name}}</h5>
|
||||||
|
<input type="text" style="width:300px" id="custom_name" placeholder="{{name}}...">
|
||||||
|
<h5>{{desc}}</h5>
|
||||||
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="{{desc}}..."></textarea></div>
|
||||||
|
<h5>{{customthemeDirection}}</h5>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||||
|
<label for="dark">Dark</label>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||||
|
<label for="light">Light</label>
|
||||||
|
<div id="pickers">
|
||||||
|
<div>
|
||||||
|
<h5>Primary</h5>{{primary}}
|
||||||
|
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||||
|
<input type="hidden" id="color-picker0_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Secondary</h5>{{secondarycolor}}
|
||||||
|
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||||
|
<input type="hidden" id="color-picker1_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Texts</h5>{{text}}
|
||||||
|
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||||
|
<input type="hidden" id="color-picker2_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Accent</h5>{{accent}}
|
||||||
|
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||||
|
<input type="hidden" id="color-picker3_value">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn-large waves-effect" onclick="customComp()">{{change}}</button><br>
|
||||||
|
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||||
|
{{customShare}}
|
||||||
|
<h4>{{customImport}}</h4>
|
||||||
|
{{cImpWarn}}<br>
|
||||||
|
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||||
|
<button class="btn waves-effect" onclick="customImp()">{{import}}</button><br>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
<div class="collapsible-header">
|
<div class="collapsible-header">
|
||||||
<i class="material-icons">reorder</i>{{timeline}}
|
<i class="material-icons">reorder</i>{{timeline}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -322,7 +381,7 @@
|
||||||
<i class="fa fa-spotify"></i>{{spotify}}
|
<i class="fa fa-spotify"></i>{{spotify}}
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<!-->h5>{{npProvider}}</h5>
|
<h5>{{npProvider}}</h5>
|
||||||
{{npPeoviderWarn}}<br>
|
{{npPeoviderWarn}}<br>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||||
<label for="aimp">AIMP</label>
|
<label for="aimp">AIMP</label>
|
||||||
|
@ -337,7 +396,7 @@
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||||
<label for="wlm">WLM</label>
|
<label for="wlm">WLM</label>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||||
<label for="cad">CAD</label><br><br-->
|
<label for="cad">CAD</label><br><br>
|
||||||
{{spotifynote1}}<i class="material-icons" style="font-size:24px;">music_note</i>{{spotifynote2}}<br>
|
{{spotifynote1}}<i class="material-icons" style="font-size:24px;">music_note</i>{{spotifynote2}}<br>
|
||||||
<h5>{{link}}</h5>
|
<h5>{{link}}</h5>
|
||||||
{{linkwarn}}<br>
|
{{linkwarn}}<br>
|
||||||
|
@ -443,6 +502,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||||
|
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -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="Miria (17.1.1)";
|
var ver="Miria (17.2.0)";
|
||||||
//betaを入れるとバージョンチェックしない
|
//betaを入れるとバージョンチェックしない
|
||||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||||
//var ver="beta";
|
//var ver="beta";
|
||||||
|
@ -582,7 +582,7 @@ 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-Miria_17-1-0" class="release-do" style="display:none; ">
|
<div id="release-Miria_17-1-1" 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>
|
||||||
|
|
|
@ -12,16 +12,20 @@
|
||||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||||
|
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
|
<style>input{max-height:50px!important}</style>
|
||||||
</head>
|
</head>
|
||||||
<body id="mainView" style="overflow-y:scroll">
|
<body id="mainView" style="overflow-y:scroll">
|
||||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||||
<script type="text/javascript" src="../../js/lang/lang.ps.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.ps.js"></script>
|
||||||
|
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
|
||||||
|
|
||||||
<h4>crwdns524:0crwdne524:0</h4>
|
<h4>crwdns524:0crwdne524:0</h4>
|
||||||
<ul class="collapsible" data-collapsible="accordion">
|
<ul class="collapsible" data-collapsible="accordion">
|
||||||
<li>
|
<li>
|
||||||
|
@ -30,21 +34,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<h5>crwdns530:0crwdne530:0</h5>
|
<h5>crwdns530:0crwdne530:0</h5>
|
||||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
|
||||||
<h5>crwdns531:0crwdne531:0</h5>
|
<h5>crwdns531:0crwdne531:0</h5>
|
||||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>
|
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>
|
||||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
|
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
|
||||||
<h5>crwdns534:0crwdne534:0</h5>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
|
||||||
<label for="black">Black</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
|
||||||
<label for="white">White</label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
|
||||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
|
||||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
|
||||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
|
||||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
|
||||||
<br>
|
<br>
|
||||||
<h5>crwdns1898:0crwdne1898:0</h5>crwdns536:0crwdne536:0
|
<h5>crwdns1898:0crwdne1898:0</h5>crwdns536:0crwdne536:0
|
||||||
<br>
|
<br>
|
||||||
|
@ -88,6 +81,72 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
<div class="collapsible-header">
|
||||||
|
<i class="material-icons">color_lens</i>crwdns534:0crwdne534:0
|
||||||
|
</div>
|
||||||
|
<div class="collapsible-body">
|
||||||
|
<h4>{{themeSel}}</h4>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||||
|
<label for="black">Black</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||||
|
<label for="white">White</label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||||
|
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||||
|
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||||
|
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||||
|
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||||
|
<label for="custom">Custom</label>
|
||||||
|
<div style="width:300px" id="sel-selector">
|
||||||
|
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||||
|
</div>
|
||||||
|
<h4>{{customtheme}}</h4>
|
||||||
|
<div style="width:300px" id="edit-selector" data-add="{{add_new}}">
|
||||||
|
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||||
|
<option value="add_new">{{add_new}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<h5>{{name}}</h5>
|
||||||
|
<input type="text" style="width:300px" id="custom_name" placeholder="{{name}}...">
|
||||||
|
<h5>{{desc}}</h5>
|
||||||
|
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="{{desc}}..."></textarea></div>
|
||||||
|
<h5>{{customthemeDirection}}</h5>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||||
|
<label for="dark">Dark</label>
|
||||||
|
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||||
|
<label for="light">Light</label>
|
||||||
|
<div id="pickers">
|
||||||
|
<div>
|
||||||
|
<h5>Primary</h5>{{primary}}
|
||||||
|
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||||
|
<input type="hidden" id="color-picker0_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Secondary</h5>{{secondarycolor}}
|
||||||
|
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||||
|
<input type="hidden" id="color-picker1_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Texts</h5>{{text}}
|
||||||
|
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||||
|
<input type="hidden" id="color-picker2_value">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<h5>Accent</h5>{{accent}}
|
||||||
|
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||||
|
<input type="hidden" id="color-picker3_value">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn-large waves-effect" onclick="customComp()">crwdns528:0crwdne528:0</button><br>
|
||||||
|
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||||
|
{{customShare}}
|
||||||
|
<h4>{{customImport}}</h4>
|
||||||
|
{{cImpWarn}}<br>
|
||||||
|
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||||
|
<button class="btn waves-effect" onclick="customImp()">crwdns532:0crwdne532:0</button><br>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
<div class="collapsible-header">
|
<div class="collapsible-header">
|
||||||
<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
|
<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
|
||||||
</div>
|
</div>
|
||||||
|
@ -322,7 +381,7 @@
|
||||||
<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
|
<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
|
||||||
</div>
|
</div>
|
||||||
<div class="collapsible-body">
|
<div class="collapsible-body">
|
||||||
<!-->h5>{{npProvider}}</h5>
|
<h5>{{npProvider}}</h5>
|
||||||
{{npPeoviderWarn}}<br>
|
{{npPeoviderWarn}}<br>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||||
<label for="aimp">AIMP</label>
|
<label for="aimp">AIMP</label>
|
||||||
|
@ -337,7 +396,7 @@
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||||
<label for="wlm">WLM</label>
|
<label for="wlm">WLM</label>
|
||||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||||
<label for="cad">CAD</label><br><br-->
|
<label for="cad">CAD</label><br><br>
|
||||||
crwdns625:0crwdne625:0<i class="material-icons" style="font-size:24px;">music_note</i>crwdns626:0crwdne626:0<br>
|
crwdns625:0crwdne625:0<i class="material-icons" style="font-size:24px;">music_note</i>crwdns626:0crwdne626:0<br>
|
||||||
<h5>crwdns627:0crwdne627:0</h5>
|
<h5>crwdns627:0crwdne627:0</h5>
|
||||||
crwdns628:0crwdne628:0<br>
|
crwdns628:0crwdne628:0<br>
|
||||||
|
@ -443,6 +502,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||||
|
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
Loading…
Reference in New Issue
Block a user