Compare commits
62 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
1bea06354e | ||
|
5fbd5aaf10 | ||
|
0290a6d918 | ||
|
2576c48441 | ||
|
eb02dd2986 | ||
|
d92570fa3b | ||
|
38c988d2a2 | ||
|
0927282d41 | ||
|
5ffd59619c | ||
|
a739926ad4 | ||
|
e41c38f41d | ||
|
2de05b84aa | ||
|
0e9bdef9ca | ||
|
8e70e005c1 | ||
|
3817dbc925 | ||
|
63ec669c52 | ||
|
afc5702796 | ||
|
41ec66b58a | ||
|
936d3ca7fc | ||
|
f8b4b7b74d | ||
|
bd865977b0 | ||
|
d056db5617 | ||
|
7685677ada | ||
|
eb0aa81492 | ||
|
dc52531f28 | ||
|
5a20034b9f | ||
|
5cd0ef0d8a | ||
|
4daf47bb5f | ||
|
3e0dbd8433 | ||
|
fc4d3b24f6 | ||
|
3a9eab55a4 | ||
|
546b34275d | ||
|
3ee4cf27d5 | ||
|
87da95b9a4 | ||
|
3368e30e15 | ||
|
f1ea5ad8f1 | ||
|
fa2d5f8492 | ||
|
0f2c5de161 | ||
|
b69937d4fd | ||
|
e82faacbb2 | ||
|
2ab5c67545 | ||
|
358d01b12e | ||
|
95460fabbb | ||
|
0fb882b3ad | ||
|
3d0382d279 | ||
|
59d5aa4515 | ||
|
2dff9f9b17 | ||
|
03fded672e | ||
|
a21c1f5329 | ||
|
37815ced63 | ||
|
b7f9b8d668 | ||
|
f68af78099 | ||
|
027abffa01 | ||
|
5dfba4dd5e | ||
|
d0ae7e9cf9 | ||
|
5a57e984de | ||
|
473f4d7c24 | ||
|
35bfea2dbd | ||
|
62cb30cb5b | ||
|
9d2eb6f18b | ||
|
d5cd57c26d | ||
|
6cdd4cba9e |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -3,8 +3,7 @@
|
||||
*.7z
|
||||
*.exe
|
||||
TheDesk-*
|
||||
app/build
|
||||
build
|
||||
build/*
|
||||
app/.DS_Store
|
||||
.DS_Store
|
||||
.vs/*
|
||||
@@ -13,3 +12,4 @@ enq.md
|
||||
app/.tkn
|
||||
app/node_modules
|
||||
app/js/login/tkn.js
|
||||
app/package-lock.json
|
@@ -6,7 +6,6 @@
|
||||
[](https://travis-ci.org/cutls/TheDesk)
|
||||
[](https://translate.thedesk.top/project/thedesk)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||

|
||||
Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md)
|
||||
@@ -73,7 +72,7 @@ Build for Linux
|
||||
|
||||
Fellow coder
|
||||
|
||||
* [kPherox](https://www.kr-kp.com/)
|
||||
* [kPherox](https://pl.kpherox.dev/kPherox)
|
||||
|
||||
## Build
|
||||
|
||||
|
@@ -6,7 +6,6 @@
|
||||
[](https://travis-ci.org/cutls/TheDesk)
|
||||
[](https://translate.thedesk.top/project/thedesk)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||

|
||||
Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
オープンソースSNSマストドン/MisskeyのPC向けクライアント
|
||||
@@ -73,7 +72,7 @@ Linuxビルダー
|
||||
|
||||
iTunes NowPlayingにアルバムアートワークを付けてくれた人
|
||||
|
||||
* [kPherox](https://www.kr-kp.com/)
|
||||
* [kPherox](https://pl.kpherox.dev/kPherox)
|
||||
|
||||
## ビルド
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="./css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="./node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="./css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="./css/master.css" type="text/css" rel="stylesheet">
|
||||
@@ -75,9 +75,9 @@
|
||||
</head>
|
||||
|
||||
<body class="center " style="overflow:hidden">
|
||||
<script type="text/javascript" src="./js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="./js/platform/first-not-view.js"></script>
|
||||
<script type="text/javascript" src="./js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="./node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<img src="./img/desk.png" style="max-width:62%;">
|
||||
<h5>TheDesk</h5>
|
||||
<div class="container">
|
||||
@@ -95,7 +95,7 @@
|
||||
<div class="cp">Copyright © TheDesk 2018<br>
|
||||
Main developer(author): <a href="https://cutls.com/@Cutls" target="_blank">Cutls P</a><br>
|
||||
Thanks:<a href="https://minohdon.jp/@toneji" target="_blank">toneji</a>/<a
|
||||
href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pawoo.net/@kPherox"
|
||||
href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pl.kpherox.dev/kPherox"
|
||||
target="_blank">kPherox</a> and all users
|
||||
<img draggable="false" style="width:0.8rem;top: 1px;margin-left: 1px;position: relative;" alt="❤️"
|
||||
title=":heart:" src="https://twemoji.maxcdn.com/2/72x72/2764.png">
|
||||
|
BIN
app/build/appx/Square150x150Logo.png
Normal file
BIN
app/build/appx/Square150x150Logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
app/build/appx/Square44x44Logo.png
Normal file
BIN
app/build/appx/Square44x44Logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
BIN
app/build/appx/StoreLogo.png
Normal file
BIN
app/build/appx/StoreLogo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
app/build/appx/Wide310x150Logo.png
Normal file
BIN
app/build/appx/Wide310x150Logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 117 KiB |
@@ -76,6 +76,9 @@ option {
|
||||
min-width: 0 !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.unvisible{
|
||||
opacity: 0;
|
||||
}
|
||||
.bbcode-pulse-loadings,
|
||||
.bbcode-pulse-loading,
|
||||
.fa-pulse {
|
||||
@@ -397,7 +400,8 @@ blockquote:before,
|
||||
text-align: center;
|
||||
width: calc(100% + 10px);
|
||||
border-radius: 5px;
|
||||
background-color: var(--bg);
|
||||
background-color: var(--box);
|
||||
filter: brightness(80%);
|
||||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
margin-top: -5px;
|
||||
@@ -446,6 +450,12 @@ input, textarea {
|
||||
font-size: 1rem !important;
|
||||
font-family: inherit;
|
||||
}
|
||||
.swal2-popup{
|
||||
background-color: var(--notfbox) !important;
|
||||
}
|
||||
.swal2-title, .swal2-content{
|
||||
color: var(--color) !important;
|
||||
}
|
||||
|
||||
/*スクロールバー*/
|
||||
::-webkit-scrollbar {
|
||||
|
9067
app/css/materialize.css
vendored
9067
app/css/materialize.css
vendored
File diff suppressed because it is too large
Load Diff
13
app/css/materialize.min.css
vendored
13
app/css/materialize.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -12,7 +12,7 @@
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
textarea{
|
||||
textarea {
|
||||
min-height: 100px !important;
|
||||
font-family: inherit;
|
||||
}
|
||||
@@ -124,7 +124,9 @@ textarea{
|
||||
overflow-y: scroll;
|
||||
top: 90px;
|
||||
}
|
||||
|
||||
#posttgl,#toot-post-btn {
|
||||
background-color: var(--accentbtn);
|
||||
}
|
||||
/*mini*/
|
||||
.mini-post .mize {
|
||||
display: none !important;
|
||||
|
@@ -14,6 +14,9 @@
|
||||
--active: #e6ee9c;
|
||||
--postbox: white;
|
||||
--modalfooter: #fafafa;
|
||||
--accentbtn: #009688;
|
||||
--selected: #c0c0c0;
|
||||
--selectedWithShare: #b2babd;
|
||||
}
|
||||
#imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
@@ -34,6 +37,9 @@
|
||||
--active: #757575;
|
||||
--postbox: #424242;
|
||||
--modalfooter: #212121;
|
||||
--accentbtn: #3f51b5;
|
||||
--selected: #3f3f3f;
|
||||
--selectedWithShare: #003a30;
|
||||
}
|
||||
.blacktheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
@@ -54,6 +60,9 @@
|
||||
--active: #757575;
|
||||
--postbox: #1a237e;
|
||||
--modalfooter: #031833;
|
||||
--accentbtn: #00acc1;
|
||||
--selected: #214f8a;
|
||||
--selectedWithShare: #003a30;
|
||||
}
|
||||
.indigotheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
@@ -74,6 +83,9 @@
|
||||
--active: #757575;
|
||||
--postbox: #4e342e;
|
||||
--modalfooter: #261411;
|
||||
--accentbtn: #827717;
|
||||
--selected: #6d352b;
|
||||
--selectedWithShare: #003a30;
|
||||
}
|
||||
.browntheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
@@ -86,7 +98,7 @@
|
||||
--modal: #81c784;
|
||||
--subcolor: #a5d6a7;
|
||||
--box: #81c784;
|
||||
--sidebar: #81c784;
|
||||
--sidebar: #c5e1a5;
|
||||
--shared: #ffcc80;
|
||||
--notfbox: #a5d6a7;
|
||||
--emphasized: #9e9d24;
|
||||
@@ -94,7 +106,33 @@
|
||||
--active: #e6ee9c;
|
||||
--postbox: #a5d6a7;
|
||||
--modalfooter: #81c784;
|
||||
--accentbtn: #33691e;
|
||||
--selected: #78c17a;
|
||||
--selectedWithShare: #caa266;
|
||||
}
|
||||
.greentheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
.bluetheme {
|
||||
--bg: #c9e1ec;
|
||||
--drag: rgba(255, 255, 255, 0.8);
|
||||
--color: black;
|
||||
--beforehover: #757575;
|
||||
--modal: #b2ebf2;
|
||||
--subcolor: #90caf9;
|
||||
--box: #90caf9;
|
||||
--sidebar: #b6e6f5;
|
||||
--shared: #e0ffe4;
|
||||
--notfbox: #90caf9;
|
||||
--emphasized: #c5e1a5;
|
||||
--his-data: rgba(255, 255, 255, 0.9);
|
||||
--active: #b39ddb;
|
||||
--postbox: #dff1ff;
|
||||
--modalfooter: #2196f3;
|
||||
--accentbtn: #2f7bb7;
|
||||
--selected: #9dcade;
|
||||
--selectedWithShare: #c1dac4;
|
||||
}
|
||||
.bluetheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
|
@@ -96,6 +96,7 @@
|
||||
}
|
||||
iframe {
|
||||
max-width: 100%;
|
||||
max-height: 300px;
|
||||
}
|
||||
@media screen and (max-width: 600px) {
|
||||
.mobile #timeline-container {
|
||||
@@ -425,6 +426,9 @@ p:not(:last-child) {
|
||||
|
||||
.area-notice_name {
|
||||
grid-area: notice_name;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.area-notice_acct {
|
||||
@@ -594,6 +598,18 @@ p:not(:last-child) {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.shared.selectedToot{
|
||||
background-color: var(--selectedWithShare);
|
||||
}
|
||||
.selectedToot{
|
||||
background-color: var(--selected);
|
||||
}
|
||||
audio{
|
||||
height: 2rem;
|
||||
}
|
||||
.translate{
|
||||
white-space: normal;
|
||||
}
|
||||
@keyframes jump {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
|
4
app/js/common/jquery.js
vendored
4
app/js/common/jquery.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,3 +1,5 @@
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
$(function ($) {
|
||||
//キーボードショートカット
|
||||
$(window).keydown(function (e) {
|
||||
@@ -20,7 +22,6 @@ $(function ($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//Ctrl+Enter:投稿
|
||||
if (event.metaKey || event.ctrlKey && wv) {
|
||||
@@ -36,14 +37,6 @@ $(function ($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Shift+Space:Markdownゼロ幅スペース
|
||||
if (event.shiftKey) {
|
||||
if (e.keyCode === 32) {
|
||||
brInsert("");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//Esc:消す
|
||||
if (e.keyCode === 27 && wv) {
|
||||
hide();
|
||||
@@ -54,14 +47,6 @@ $(function ($) {
|
||||
location.href = "index.html";
|
||||
return false;
|
||||
}
|
||||
//Ctrl+R:ランキング
|
||||
if ((event.metaKey || event.ctrlKey) && wv) {
|
||||
if (e.keyCode === 82) {
|
||||
if (localStorage.getItem("kirishima")) {
|
||||
window.open("https://astarte.thedesk.top");
|
||||
}
|
||||
}
|
||||
}
|
||||
//Ctrl+Sift+C:全消し
|
||||
if (((event.metaKey || event.ctrlKey) && event.shiftKey) && wv) {
|
||||
if (e.keyCode === 67) {
|
||||
@@ -135,7 +120,7 @@ $(function ($) {
|
||||
}
|
||||
}
|
||||
//Ctrl+Sift+P:プロフ
|
||||
if ((event.ctrlKey) && event.shiftKey) {
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
|
||||
if (e.keyCode === 80) {
|
||||
profShow()
|
||||
return false;
|
||||
@@ -149,30 +134,68 @@ $(function ($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//矢印:選択
|
||||
if (e.code == "ArrowLeft") {
|
||||
//left
|
||||
if (selectedColumn > 0) {
|
||||
selectedColumn--
|
||||
}
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
} else if (e.code == "ArrowUp") {
|
||||
//up
|
||||
if (selectedToot > 0) {
|
||||
selectedToot--
|
||||
}
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
} else if (e.code == "ArrowRight") {
|
||||
//right
|
||||
if (selectedColumn < $(".tl-box").length - 1) {
|
||||
selectedColumn++
|
||||
}
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
} else if (e.code == "ArrowDown") {
|
||||
//down
|
||||
selectedToot++
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
}
|
||||
//Ctrl+U:0,0選択
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
if (e.keyCode === 85) {
|
||||
selectedToot = 0
|
||||
selectedColumn = 0
|
||||
tootSelector(0, 0)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//選択時
|
||||
if (e.keyCode == 70) {
|
||||
var id = $(".selectedToot").attr('unique-id')
|
||||
var acct_id = $('#timeline_' + selectedColumn).attr("data-acct")
|
||||
fav(id, acct_id, false)
|
||||
return false;
|
||||
}
|
||||
if (e.keyCode == 66) {
|
||||
var id = $(".selectedToot").attr('unique-id')
|
||||
var acct_id = $('#timeline_' + selectedColumn).attr("data-acct")
|
||||
rt(id, acct_id, false)
|
||||
return false;
|
||||
}
|
||||
if (e.keyCode == 82) {
|
||||
var id = $(".selectedToot").attr('unique-id')
|
||||
var acct_id = $('#timeline_' + selectedColumn).attr("data-acct")
|
||||
var ats_cm = $('.selectedToot .rep-btn').attr("data-men")
|
||||
var mode = $('.selectedToot .rep-btn').attr("data-visen")
|
||||
re(id, ats_cm, acct_id, mode)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//textareaフォーカス時
|
||||
if (hasFocus2 && wv) {
|
||||
if (event.metaKey || event.ctrlKey) {
|
||||
//Ctrl+B:太字
|
||||
if (e.keyCode === 66) {
|
||||
tagsel('b');
|
||||
return false;
|
||||
}
|
||||
//Ctrl+I:斜字
|
||||
if (e.keyCode === 73) {
|
||||
tagsel('i');
|
||||
return false;
|
||||
}
|
||||
//Ctrl+U:下線
|
||||
if (e.keyCode === 85) {
|
||||
tagsel('u');
|
||||
return false;
|
||||
}
|
||||
//Ctrl+S:取り消し線
|
||||
if (e.keyCode === 83) {
|
||||
tagsel('s');
|
||||
return false;
|
||||
}
|
||||
//C+S+(No):ワンクリ
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
|
||||
if (e.keyCode >= 49 && e.keyCode <= 51) {
|
||||
@@ -201,4 +224,23 @@ $(function ($) {
|
||||
$("#clear").click(function () {
|
||||
clear();
|
||||
});
|
||||
});
|
||||
});
|
||||
//選択する
|
||||
function tootSelector(column, toot) {
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
$('#timeline_' + column + ' .cvo').eq(toot).addClass("selectedToot")
|
||||
var scr = $('.tl-box[tlid=' + column + ']').scrollTop()
|
||||
var elem = $('.selectedToot').offset().top
|
||||
var top = elem - $('.tl-box').height() + scr
|
||||
if (top > 0) {
|
||||
top = top + $('.selectedToot').height()
|
||||
if (top > scr) {
|
||||
$('.tl-box[tlid=' + column + ']').animate({ scrollTop: top })
|
||||
}
|
||||
} else if (elem < 0) {
|
||||
var to = scr + elem - $('.selectedToot').height()
|
||||
if (to < scr) {
|
||||
$('.tl-box[tlid=' + column + ']').animate({ scrollTop: to })
|
||||
}
|
||||
}
|
||||
}
|
12374
app/js/common/materialize.js
vendored
12374
app/js/common/materialize.js
vendored
File diff suppressed because it is too large
Load Diff
6
app/js/common/materialize.min.js
vendored
6
app/js/common/materialize.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -3,7 +3,18 @@ function verck(ver) {
|
||||
console.log("%c Welcome😊", "color: red;font-size:200%;")
|
||||
var date = new Date();
|
||||
var show = false
|
||||
if (localStorage.getItem("ver") != ver) {
|
||||
if (localStorage.getItem("ver") != ver && localStorage.getItem("winstore")) {
|
||||
//ちょっと削除とリンク解析の都合上アレ(s)
|
||||
//対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)"
|
||||
if (!localStorage.getItem("usamin_18_6_5_flag")) {
|
||||
localStorage.setItem("usamin_18_6_5_flag", true)
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
localStorage.removeItem("card_" + i);
|
||||
}
|
||||
}
|
||||
//ちょっと削除とリンク解析の都合上アレ(e)
|
||||
localStorage.setItem("ver", ver);
|
||||
show = true
|
||||
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
|
||||
@@ -22,7 +33,6 @@ function verck(ver) {
|
||||
} else {
|
||||
$("#release-en").show();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
if (!show) {
|
||||
@@ -42,54 +52,14 @@ function verck(ver) {
|
||||
$("#support-btm").animate({
|
||||
'bottom': '0'
|
||||
}, {
|
||||
'duration': 300
|
||||
});
|
||||
'duration': 300
|
||||
});
|
||||
}
|
||||
}
|
||||
var platform = localStorage.getItem("platform");
|
||||
console.log("Your platform:" + platform)
|
||||
if (platform == "win32") {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform,
|
||||
buttons: [lang.lang_no, lang.lang_yesno]
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
postMessage(["dialogStore", options], "*")
|
||||
}
|
||||
} else if (platform == "linux") {
|
||||
if (localStorage.getItem("winstore") == "unix") {
|
||||
localStorage.removeItem("winstore")
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform_linux,
|
||||
buttons: [lang.lang_no, lang.lang_yesno]
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
postMessage(["dialogStore", options], "*")
|
||||
}
|
||||
}
|
||||
} else if (platform == "darwin") {
|
||||
if (localStorage.getItem("winstore") == "unix") {
|
||||
localStorage.removeItem("winstore")
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform_mac,
|
||||
buttons: [lang.lang_no, lang.lang_yesno]
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
postMessage(["dialogStore", options], "*")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
localStorage.setItem("winstore", "unix")
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
storeDialog(platform, ver)
|
||||
}
|
||||
if (localStorage.getItem("winstore") == "brewcask" || localStorage.getItem("winstore") == "snapcraft" || localStorage.getItem("winstore") == "winstore") {
|
||||
var winstore = true;
|
||||
@@ -284,4 +254,49 @@ function closeSupport() {
|
||||
$("#support-btm").addClass("hide")
|
||||
}
|
||||
});
|
||||
}
|
||||
function storeDialog(platform, ver) {
|
||||
if (platform == "win32") {
|
||||
var mes = lang.lang_version_platform;
|
||||
} else if (platform == "linux") {
|
||||
var mes = lang.lang_version_platform_linux;
|
||||
} else if (platform == "darwin") {
|
||||
var mes = lang.lang_version_platform_mac;
|
||||
}
|
||||
Swal.fire({
|
||||
title: "Select your platform",
|
||||
text: mes,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_no,
|
||||
cancelButtonText: lang.lang_yesno
|
||||
}).then((result) => {
|
||||
//逆にしてる
|
||||
if (!result.value) {
|
||||
localStorage.setItem("winstore", "winstore")
|
||||
} else {
|
||||
localStorage.setItem("winstore", "localinstall")
|
||||
}
|
||||
localStorage.setItem("ver", ver);
|
||||
show = true
|
||||
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
|
||||
$(document).ready(function () {
|
||||
$('#releasenote').modal('open');
|
||||
verp = ver.replace('(', '');
|
||||
verp = verp.replace('.', '-');
|
||||
verp = verp.replace('.', '-');
|
||||
verp = verp.replace('[', '-');
|
||||
verp = verp.replace(']', '');
|
||||
verp = verp.replace(')', '');
|
||||
verp = verp.replace(' ', '_');
|
||||
console.log("%c " + verp, "color: red;font-size:200%;");
|
||||
if (lang.language == "ja") {
|
||||
$("#release-" + verp).show();
|
||||
} else {
|
||||
$("#release-en").show();
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
@@ -21,9 +21,9 @@ var lang = {
|
||||
//common/version.js
|
||||
"lang_version_usever": "No update is found({{ver}})",
|
||||
"lang_version_skipver": "Update was ignored.",
|
||||
"lang_version_platform": "Was this software installed at Microsoft Store? When select 'yes', any update was ignored.",
|
||||
"lang_version_platform_linux": "Was this software installed at Snapcraft(snapd)? When select 'yes', any update was ignored.",
|
||||
"lang_version_platform_mac": "Was this software installed at Homebrew Cask? When select 'yes', any update was ignored.",
|
||||
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
|
||||
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
|
||||
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth": "Show TL of unlogined accounts",
|
||||
@@ -37,6 +37,7 @@ var lang = {
|
||||
"lang_manager_def": "Default",
|
||||
"lang_manager_none": "None",
|
||||
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
|
||||
"lang_manager_logout": "Logout",
|
||||
//post/bb-md.js
|
||||
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
|
||||
//post/emoji.js
|
||||
@@ -46,6 +47,7 @@ var lang = {
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis": "cannot preview",
|
||||
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
|
||||
"lang_postimg_failupload": "Failed",
|
||||
"lang_postimg_delete": "Delete this image.",
|
||||
//post/post.js
|
||||
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
|
||||
@@ -64,6 +66,7 @@ var lang = {
|
||||
"lang_status_unblock": "Unblock",
|
||||
"lang_status_mute": "Mute",
|
||||
"lang_status_unmute": "Unmute",
|
||||
"lang_status_redraftTitle": "Delete & redraft",
|
||||
"lang_status_redraft": "Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.",
|
||||
"lang_status_emphas": "'s toots are emphasized. Please reload after this action.",
|
||||
"lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.",
|
||||
@@ -109,6 +112,8 @@ var lang = {
|
||||
//tl/tl.js
|
||||
"lang_tl_media": "Media",
|
||||
"lang_tl_reconnect": "Reconnect to streaming API",
|
||||
//ui/img.js
|
||||
"lang_img_DLDone": "Downloaded:",
|
||||
//ui/layout.js
|
||||
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
|
||||
"lang_layout_thisacct": "{{notf}} of this account",
|
||||
@@ -127,6 +132,8 @@ var lang = {
|
||||
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
|
||||
"lang_layout_leftFold": "Stack to the left",
|
||||
"lang_layout_leftUnfold": "Dock on the right",
|
||||
"lang_layout_deleteColumn":"Delete this column",
|
||||
"lang_layout_deleteColumnDesc":"Delete this column",
|
||||
//ui/sort.js
|
||||
"lang_sort_gothis": "Go to this column",
|
||||
"lang_sort_remthis": "Delete this column",
|
||||
|
@@ -21,9 +21,9 @@ var lang = {
|
||||
//common/version.js
|
||||
"lang_version_usever": "お使いのバージョン{{ver}}は最新です。",
|
||||
"lang_version_skipver": "アップデートはスキップされました。",
|
||||
"lang_version_platform": "このソフトウェアはMicrosoft Storeからダウンロードされましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform_linux": "このソフトウェアはSnapcraft(snapd)からインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform_mac": "このソフトウェアはHomebrew Caskからインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform": "このソフトウェアはMicrosoft Storeからダウンロードされましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとMicrosoft Storeからアップデートが提供され、アップデートの通知を出しません。",
|
||||
"lang_version_platform_linux": "このソフトウェアはSnapcraft(snapd)からインストールしましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとSnapcraftからアップデートが提供され、アップデートの通知を出しません。",
|
||||
"lang_version_platform_mac": "このソフトウェアはHomebrew Caskからインストールしましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとアップデートの通知を出しません。",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth": "認証せずに見る",
|
||||
@@ -37,6 +37,7 @@ var lang = {
|
||||
"lang_manager_def": "既定",
|
||||
"lang_manager_none": "なし",
|
||||
"lang_manager_godev": "MisskeyのDevセンターに移動します。同時に開かれるドキュメントを参考にログインしてください。",
|
||||
"lang_manager_logout": "ログアウト",
|
||||
//post/bb-md.js
|
||||
"lang_bbmd_misskey": "TheDeskにおけるMisskeyでは、@を返信として扱いますが、全ての@は消去され別パラメータに入力されます。また、「未収載」を「ホーム」として扱います。",
|
||||
//post/emoji.js
|
||||
@@ -46,6 +47,7 @@ var lang = {
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis": "プレビューできません。",
|
||||
"lang_postimg_aftupload": "アップロード後はアカウントを切り替えられません。",
|
||||
"lang_postimg_failupload": "アップロードに失敗しました。",
|
||||
"lang_postimg_delete": "この画像を削除します",
|
||||
//post/post.js
|
||||
"lang_post_tagTL": "デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
|
||||
@@ -64,6 +66,7 @@ var lang = {
|
||||
"lang_status_unblock": "ブロック解除",
|
||||
"lang_status_mute": "ミュート",
|
||||
"lang_status_unmute": "ミュート解除",
|
||||
"lang_status_redraftTitle": "削除して再編集",
|
||||
"lang_status_redraft": "削除して再編集しますか?そのトゥートの全てのデータがリセットされます。この機能はベータ版です。画像は~v2.4.1で破棄されます。",
|
||||
"lang_status_emphas": "を強調します。リロードしてください。",
|
||||
"lang_status_unemphas": "を強調解除します。リロードしてください。",
|
||||
@@ -129,6 +132,8 @@ var lang = {
|
||||
"lang_layout_excludingbt": "BT表示(OFF/BT除外/BTのみ)",
|
||||
"lang_layout_leftFold": "左へ重ねる",
|
||||
"lang_layout_leftUnfold": "右へ出す",
|
||||
"lang_layout_deleteColumn": "カラム削除",
|
||||
"lang_layout_deleteColumnDesc": "カラムを削除しますか?",
|
||||
//ui/sort.js
|
||||
"lang_sort_gothis": "このカラムへ",
|
||||
"lang_sort_remthis": "このカラムを削除",
|
||||
@@ -184,8 +189,8 @@ var lang = {
|
||||
"lang_parse_det": "詳細(メインアカウント経由)",
|
||||
"lang_parse_redraft": "このトゥートを削除して再編集",
|
||||
"lang_parse_followed": "フォローされました。",
|
||||
"lang_parse_clientop": "クライアント処理",
|
||||
"lang_parse_clienttxt": "に対する処理を選択してください。",
|
||||
"lang_parse_clientop": "クライアント操作",
|
||||
"lang_parse_clienttxt": " に対する処理を選択してください。",
|
||||
"lang_parse_clientno": "何もしない",
|
||||
"lang_parse_clientemp": "強調表示/解除",
|
||||
"lang_parse_clientmute": "ミュート",
|
||||
@@ -197,7 +202,7 @@ var lang = {
|
||||
"lang_parse_thread": "会話を表示",
|
||||
"lang_parse_unknown": "添付ファイル",
|
||||
"lang_parse_nsfw": "閲覧注意",
|
||||
"lang_parse_notffilter":"このユーザーの通知のみを表示",
|
||||
"lang_parse_notffilter": "このユーザーの通知のみを表示",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote": "再投稿",
|
||||
"lang_misskeyparse_renoteqt": "引用",
|
||||
|
@@ -13,12 +13,6 @@ var idata = {
|
||||
"minohdon.jp_bbcode": "disabled",
|
||||
"minohdon.jp_markdown": "disabled",
|
||||
"minohdon.jp_glitch": "disabled",
|
||||
"knzk.me": "instance",
|
||||
"knzk.me_name": "Knzk",
|
||||
"knzk.me_letters": "5000",
|
||||
"knzk.me_bbcode": "disabled",
|
||||
"knzk.me_markdown": "disabled",
|
||||
"knzk.me_glitch": "disabled",
|
||||
"mastodos.com": "instance",
|
||||
"mastodos.com_name": "マストどす",
|
||||
"mastodos.com_letters": "500",
|
||||
@@ -90,16 +84,16 @@ var idata = {
|
||||
"dtp-mstdn.jp_bbcode": "disabled",
|
||||
"dtp-mstdn.jp_markdown": "disabled",
|
||||
"dtp-mstdn.jp_glitch": "disabled",
|
||||
"misskey.xyz": "misskey",
|
||||
"misskey.xyz_name": "misskey.xyz",
|
||||
"misskey.xyz_letters": "1000",
|
||||
"misskey.xyz_bbcode": "disabled",
|
||||
"misskey.xyz_markdown": "enabled",
|
||||
"misskey.xyz_public": "Global",
|
||||
"misskey.xyz_post": "Post",
|
||||
"misskey.xyz_fav": " reacted your post.",
|
||||
"misskey.xyz_bt": " reposted your post.",
|
||||
"misskey.dev": "misskey",
|
||||
"misskey.io": "misskey",
|
||||
"misskey.io_name": "misskey.io",
|
||||
"misskey.io_letters": "1000",
|
||||
"misskey.io_bbcode": "disabled",
|
||||
"misskey.io_markdown": "enabled",
|
||||
"misskey.io_public": "Global",
|
||||
"misskey.io_post": "Post",
|
||||
"misskey.io_fav": " reacted your post.",
|
||||
"misskey.io_bt": " reposted your post.",
|
||||
"misskey.dev": "misskey.dev",
|
||||
"misskey.dev_name": "misskey.dev",
|
||||
"misskey.dev_letters": "1024",
|
||||
"misskey.dev_bbcode": "disabled",
|
||||
@@ -114,13 +108,7 @@ var idata = {
|
||||
"precure.ml_bbcode": "disabled",
|
||||
"precure.ml_markdown": "disabled",
|
||||
"precure.ml_post": "キュア!",
|
||||
"precure.ml_glitch": "disabled",
|
||||
"best-friends.chat": "instance",
|
||||
"best-friends.chat_name": "Best Friends",
|
||||
"best-friends.chat_letters": "500",
|
||||
"best-friends.chat_bbcode": "disabled",
|
||||
"best-friends.chat_markdown": "disabled",
|
||||
"best-friends.chat_glitch": "disabled",
|
||||
"precure.ml_glitch": "disabled"
|
||||
};
|
||||
|
||||
localStorage.setItem("instance", JSON.stringify(idata));
|
||||
|
@@ -40,7 +40,7 @@ function ck() {
|
||||
if (obj[0].domain) {
|
||||
$("#tl").show();
|
||||
ticker();
|
||||
multiSelector();
|
||||
multiSelector(false);
|
||||
verck(ver);
|
||||
$("#something-wrong img").attr("src", "../../img/thinkingdesk.png")
|
||||
}
|
||||
@@ -403,7 +403,7 @@ function ckdb(acct_id) {
|
||||
}
|
||||
|
||||
//アカウントを選択…を実装
|
||||
function multiSelector() {
|
||||
function multiSelector(parseC) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (!multi) {
|
||||
var obj = [];
|
||||
@@ -490,7 +490,9 @@ function multiSelector() {
|
||||
$("#add-acct-sel").append('<option value="noauth">' + lang.lang_login_noauth + '</option><option value="webview">Twitter</option>');
|
||||
}
|
||||
$('select').formSelect();
|
||||
parseColumn(true);
|
||||
if(!parseC){
|
||||
parseColumn(true);
|
||||
}
|
||||
}
|
||||
|
||||
//バージョンエンコ
|
||||
|
@@ -146,114 +146,136 @@ function multiDel(target) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
//削除確認ダイアログ
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm)) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var nk = key - 1;
|
||||
//公開範囲(差分のみ)
|
||||
if (key >= target) {
|
||||
var oldvis = localStorage.getItem("vis-memory-" + key);
|
||||
if (oldvis) {
|
||||
localStorage.setItem("vis-memory-" + nk, oldvis);
|
||||
Swal.fire({
|
||||
title: lang.lang_manager_logout,
|
||||
text: obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var nk = key - 1;
|
||||
//公開範囲(差分のみ)
|
||||
if (key >= target) {
|
||||
var oldvis = localStorage.getItem("vis-memory-" + key);
|
||||
if (oldvis) {
|
||||
localStorage.setItem("vis-memory-" + nk, oldvis);
|
||||
}
|
||||
}
|
||||
//独自ロケール
|
||||
localStorage.removeItem("home_" + key);
|
||||
localStorage.removeItem("local_" + key);
|
||||
localStorage.removeItem("public_" + key);
|
||||
localStorage.removeItem("notification_" + key);
|
||||
//アクセストークンとドメイン、プロフ(差分)
|
||||
if (key > target) {
|
||||
var olddom = localStorage.getItem("domain_" + key);
|
||||
localStorage.setItem("domain_" + nk, olddom);
|
||||
var oldat = localStorage.getItem("acct_" + key + "_at");
|
||||
localStorage.setItem("acct_" + nk + "_at", oldat);
|
||||
localStorage.setItem("name_" + nk, localStorage.getItem("name_" + key));
|
||||
localStorage.setItem("user_" + target, localStorage.getItem("user_" + key));
|
||||
localStorage.setItem("user-id_" + target, localStorage.getItem("user-id_" + key));
|
||||
localStorage.setItem("prof_" + target, localStorage.getItem("prof_" + key));
|
||||
}
|
||||
}
|
||||
//独自ロケール
|
||||
localStorage.removeItem("home_" + key);
|
||||
localStorage.removeItem("local_" + key);
|
||||
localStorage.removeItem("public_" + key);
|
||||
localStorage.removeItem("notification_" + key);
|
||||
//アクセストークンとドメイン、プロフ(差分)
|
||||
if (key > target) {
|
||||
var olddom = localStorage.getItem("domain_" + key);
|
||||
localStorage.setItem("domain_" + nk, olddom);
|
||||
var oldat = localStorage.getItem("acct_" + key + "_at");
|
||||
localStorage.setItem("acct_" + nk + "_at", oldat);
|
||||
localStorage.setItem("name_" + nk, localStorage.getItem("name_" + key));
|
||||
localStorage.setItem("user_" + target, localStorage.getItem("user_" + key));
|
||||
localStorage.setItem("user-id_" + target, localStorage.getItem("user-id_" + key));
|
||||
localStorage.setItem("prof_" + target, localStorage.getItem("prof_" + key));
|
||||
}
|
||||
|
||||
});
|
||||
//とりあえず消す
|
||||
obj.splice(target, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("multi", json);
|
||||
load();
|
||||
//カラムデータコンフリクト
|
||||
var col = localStorage.getItem("column");
|
||||
var oldcols = JSON.parse(col);
|
||||
var newcols = [];
|
||||
Object.keys(oldcols).forEach(function (key) {
|
||||
var nk = key - 1;
|
||||
var oldcol = oldcols[key];
|
||||
if (target < oldcol.domain) {
|
||||
var newdom = oldcol.domain - 1;
|
||||
} else {
|
||||
var newdom = oldcol.domain;
|
||||
}
|
||||
var type = oldcol.type;
|
||||
//消した垢のコラムじゃないときコピー
|
||||
if (target != oldcol.domain) {
|
||||
var add = {
|
||||
domain: newdom,
|
||||
type: type
|
||||
};
|
||||
newcols.push(add);
|
||||
}
|
||||
});
|
||||
var json = JSON.stringify(newcols);
|
||||
localStorage.setItem("column", json);
|
||||
});
|
||||
//とりあえず消す
|
||||
obj.splice(target, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("multi", json);
|
||||
load();
|
||||
//カラムデータコンフリクト
|
||||
var col = localStorage.getItem("column");
|
||||
var oldcols = JSON.parse(col);
|
||||
var newcols = [];
|
||||
Object.keys(oldcols).forEach(function (key) {
|
||||
var nk = key - 1;
|
||||
var oldcol = oldcols[key];
|
||||
if (target < oldcol.domain) {
|
||||
var newdom = oldcol.domain - 1;
|
||||
} else {
|
||||
var newdom = oldcol.domain;
|
||||
}
|
||||
var type = oldcol.type;
|
||||
//消した垢のコラムじゃないときコピー
|
||||
if (target != oldcol.domain) {
|
||||
var add = {
|
||||
domain: newdom,
|
||||
type: type
|
||||
};
|
||||
newcols.push(add);
|
||||
}
|
||||
});
|
||||
var json = JSON.stringify(newcols);
|
||||
localStorage.setItem("column", json);
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
function multiDel2(target) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm)) {
|
||||
obj.splice(target, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("multi", json);
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
if (key >= target) {
|
||||
var oldvis = localStorage.getItem("vis-memory-" + key);
|
||||
if (oldvis) {
|
||||
var nk = key - 1;
|
||||
localStorage.setItem("vis-memory-" + nk, oldvis);
|
||||
}
|
||||
}
|
||||
localStorage.removeItem("home_" + key);
|
||||
localStorage.removeItem("local_" + key);
|
||||
localStorage.removeItem("public_" + key);
|
||||
localStorage.removeItem("notification_" + key);
|
||||
refresh(key);
|
||||
});
|
||||
var col = localStorage.getItem("column");
|
||||
if (!col) {
|
||||
var obj = [{
|
||||
domain: 0,
|
||||
type: 'local'
|
||||
}];
|
||||
localStorage.setItem("card_0", "true");
|
||||
Swal.fire({
|
||||
title: lang.lang_manager_logout,
|
||||
text: obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
obj.splice(target, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
} else {
|
||||
var cobj = JSON.parse(col);
|
||||
}
|
||||
Object.keys(cobj).forEach(function (key) {
|
||||
var column = cobj[key];
|
||||
if (column.domain > target) {
|
||||
var nk = key - 1;
|
||||
column.domain = nk;
|
||||
cobj[key] = column;
|
||||
} else if (column.domain == target) {
|
||||
localStorage.removeItem("card_" + tlid);
|
||||
cobj.splice(key, 1);
|
||||
localStorage.setItem("multi", json);
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
if (key >= target) {
|
||||
var oldvis = localStorage.getItem("vis-memory-" + key);
|
||||
if (oldvis) {
|
||||
var nk = key - 1;
|
||||
localStorage.setItem("vis-memory-" + nk, oldvis);
|
||||
}
|
||||
}
|
||||
localStorage.removeItem("home_" + key);
|
||||
localStorage.removeItem("local_" + key);
|
||||
localStorage.removeItem("public_" + key);
|
||||
localStorage.removeItem("notification_" + key);
|
||||
refresh(key);
|
||||
});
|
||||
var col = localStorage.getItem("column");
|
||||
if (!col) {
|
||||
var obj = [{
|
||||
domain: 0,
|
||||
type: 'local'
|
||||
}];
|
||||
localStorage.setItem("card_0", "true");
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
} else {
|
||||
var cobj = JSON.parse(col);
|
||||
}
|
||||
});
|
||||
var json = JSON.stringify(column);
|
||||
localStorage.setItem("column", json);
|
||||
load();
|
||||
}
|
||||
Object.keys(cobj).forEach(function (key) {
|
||||
var column = cobj[key];
|
||||
if (column.domain > target) {
|
||||
var nk = key - 1;
|
||||
column.domain = nk;
|
||||
cobj[key] = column;
|
||||
} else if (column.domain == target) {
|
||||
localStorage.removeItem("card_" + tlid);
|
||||
cobj.splice(key, 1);
|
||||
}
|
||||
});
|
||||
var json = JSON.stringify(column);
|
||||
localStorage.setItem("column", json);
|
||||
load();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//サポートインスタンス
|
||||
@@ -282,7 +304,7 @@ function login(url) {
|
||||
return;
|
||||
}
|
||||
if ($('#linux:checked').val() == "on") {
|
||||
var red = "https://thedesk.top/hello.html"
|
||||
var red = "urn:ietf:wg:oauth:2.0:oob"
|
||||
} else {
|
||||
var red = 'thedesk://manager';
|
||||
}
|
||||
@@ -486,7 +508,7 @@ function code(code) {
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
grant_type: "authorization_code",
|
||||
redirect_uri: "https://thedesk.top/hello.html",
|
||||
redirect_uri: "urn:ietf:wg:oauth:2.0:oob",
|
||||
client_id: id,
|
||||
client_secret: secret,
|
||||
code: code
|
||||
|
@@ -11,6 +11,10 @@ $(document).on('click', 'a', e => {
|
||||
urls = url.match(/https?:\/\/(.+)/);
|
||||
//トゥートのURLぽかったら
|
||||
toot = url.match(/https:\/\/([a-zA-Z0-9.-]+)\/@([a-zA-Z0-9_]+)\/([0-9]+)/);
|
||||
if(!toot){
|
||||
//Pleroma対策
|
||||
toot = url.match(/https:\/\/([a-zA-Z0-9.-]+)\/users\/([a-zA-Z0-9_]+)\/statuses\/([0-9]+)/);
|
||||
}
|
||||
//タグのURLぽかったら
|
||||
var tags = [];
|
||||
tags = url.match(
|
||||
@@ -120,50 +124,50 @@ function playSound() {
|
||||
volumeControl.gain.value = 0.8
|
||||
source.start(0);
|
||||
}
|
||||
function nano() {
|
||||
postMessage(["nano", null], "*")
|
||||
}
|
||||
onmessage = function (e) {
|
||||
if (e.data[0] == "details") {
|
||||
details(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "udg") {
|
||||
udg(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "media") {
|
||||
media(e.data[1][0], e.data[1][1], e.data[1][2])
|
||||
} else if (e.data[0] == "post") {
|
||||
post("pass")
|
||||
} else if (e.data[0] == "toastSaved") {
|
||||
M.toast({ html: lang.lang_img_DLDone + e.data[1][0] + '<button class="btn-flat toast-action" onclick="openFinder(\'' + e.data[1][1] + '\')">Show</button>', displayLength: 5000 })
|
||||
} else if (e.data[0] == "toastMute") {
|
||||
M.toast({ html: escapeHTML(e.data[1]) + lang.lang_parse_mute, displayLength: 2000 })
|
||||
} else if (e.data[0] == "toastEmp") {
|
||||
M.toast({ html: escapeHTML(e.data[1]) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else if (e.data[0] == "toastUnEmp") {
|
||||
M.toast({ html: escapeHTML(e.data[1]) + lang.lang_status_unemphas, displayLength: 2000 })
|
||||
} else if (e.data[0] == "parseColumn") {
|
||||
parseColumn()
|
||||
} else if (e.data[0] == "sortload") {
|
||||
sortload()
|
||||
} else if (e.data[0] == "exportSettingsCore") {
|
||||
exportSettingsCore()
|
||||
} else if (e.data[0] == "fontList") {
|
||||
fontList(e.data[1])
|
||||
} else if (e.data[0] == "customSoundSave") {
|
||||
customSoundSave(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "ctLoadCore") {
|
||||
ctLoadCore(e.data[1])
|
||||
} else if (e.data[0] == "ctLoad") {
|
||||
ctLoad()
|
||||
} else if (e.data[0] == "customConnect") {
|
||||
customConnect(e.data[1])
|
||||
} else if (e.data[0] == "clearCustomImport") {
|
||||
clearCustomImport()
|
||||
} else if (e.data[0] == "npCore") {
|
||||
npCore(e.data[1]);
|
||||
} else if (e.data[0] == "renderMem") {
|
||||
renderMem(e.data[1][0], e.data[1][1], e.data[1][2])
|
||||
} else if (e.data[0] == "updateProg") {
|
||||
updateProg(e.data[1]);
|
||||
} else if (e.data[0] == "updateMess") {
|
||||
updateMess(e.data[1]);
|
||||
} else if (e.data[0] == "renderAbout") {
|
||||
if (e.data[0] == "details") {
|
||||
details(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "udg") {
|
||||
udg(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "media") {
|
||||
media(e.data[1][0], e.data[1][1], e.data[1][2])
|
||||
} else if (e.data[0] == "post") {
|
||||
post("pass")
|
||||
} else if (e.data[0] == "toastSaved") {
|
||||
M.toast({ html: lang.lang_img_DLDone + e.data[1][0] + '<button class="btn-flat toast-action" onclick="openFinder(\'' + e.data[1][1] + '\')">Show</button>', displayLength: 5000 })
|
||||
} else if (e.data[0] == "parseColumn") {
|
||||
parseColumn()
|
||||
} else if (e.data[0] == "exportSettingsCore") {
|
||||
exportSettingsCore()
|
||||
} else if (e.data[0] == "fontList") {
|
||||
fontList(e.data[1])
|
||||
} else if (e.data[0] == "customSoundSave") {
|
||||
customSoundSave(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "ctLoadCore") {
|
||||
ctLoadCore(e.data[1])
|
||||
} else if (e.data[0] == "ctLoad") {
|
||||
ctLoad()
|
||||
} else if (e.data[0] == "customConnect") {
|
||||
customConnect(e.data[1])
|
||||
} else if (e.data[0] == "clearCustomImport") {
|
||||
clearCustomImport()
|
||||
} else if (e.data[0] == "npCore") {
|
||||
npCore(e.data[1]);
|
||||
} else if (e.data[0] == "renderMem") {
|
||||
renderMem(e.data[1][0], e.data[1][1], e.data[1][2])
|
||||
} else if (e.data[0] == "updateProg") {
|
||||
updateProg(e.data[1]);
|
||||
} else if (e.data[0] == "updateMess") {
|
||||
updateMess(e.data[1]);
|
||||
} else if (e.data[0] == "renderAbout") {
|
||||
renderAbout(e.data[1]);
|
||||
}
|
||||
} else if (e.data[0] == "alert") {
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: e.data[1]
|
||||
})
|
||||
}
|
||||
}
|
@@ -55,6 +55,8 @@ onmessage = function (e) {
|
||||
ipc.send('theme-css-request', e.data[1]);
|
||||
} else if (e.data[0] == "downloadButton") {
|
||||
ipc.send('download-btn', e.data[1]);
|
||||
} else if (e.data[0] == "nano") {
|
||||
ipc.send('nano', null);
|
||||
}
|
||||
}
|
||||
//version.js
|
||||
@@ -64,9 +66,6 @@ ipc.on('platform', function (event, args) {
|
||||
localStorage.setItem("bit", args[1])
|
||||
localStorage.setItem("about", JSON.stringify([args[2], args[3], args[4]]))
|
||||
})
|
||||
ipc.on('winstore', function (event, arg) {
|
||||
localStorage.setItem("winstore", arg)
|
||||
})
|
||||
|
||||
ipc.on('reload', function (event, arg) {
|
||||
location.reload();
|
||||
@@ -79,9 +78,7 @@ ipc.on('shownotf', function (event, args) {
|
||||
postMessage(["udg", [user, acct_id]], "*")
|
||||
}
|
||||
})
|
||||
function nano() {
|
||||
ipc.send('nano', "");
|
||||
}
|
||||
|
||||
//first.js
|
||||
ipc.on('custom-css-response', function (event, arg) {
|
||||
if (arg == "") { return false; }
|
||||
@@ -105,63 +102,6 @@ ipc.on('theme-css-response', function (event, arg) {
|
||||
ipc.on('bmp-img-comp', function (event, b64) {
|
||||
postMessage(["media", [b64[0], "image/png", b64[1]]], "*")
|
||||
});
|
||||
//post.js
|
||||
ipc.on('dialogCWRender', function (event, arg) {
|
||||
if (arg === 1) {
|
||||
$("#cw-text").show();
|
||||
$("#cw").addClass("yellow-text");
|
||||
$("#cw").addClass("cw-avail");
|
||||
$("#cw-text").val(plus);
|
||||
postMessage(["post", ""], "*")
|
||||
} else if (arg === 2) {
|
||||
postMessage(["post", ""], "*")
|
||||
}
|
||||
});
|
||||
//parse.js
|
||||
ipc.on('dialogClientRender', function (event, arg) {
|
||||
if (arg === 1) {
|
||||
var cli = localStorage.getItem("client_emp");
|
||||
var obj = JSON.parse(cli);
|
||||
if (!obj) {
|
||||
var obj = [];
|
||||
obj.push(name);
|
||||
postMessage(["toastEmp", name], "*")
|
||||
} else {
|
||||
var can;
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var cliT = obj[key];
|
||||
if (cliT != name && !can) {
|
||||
can = false;
|
||||
} else {
|
||||
can = true;
|
||||
obj.splice(key, 1);
|
||||
postMessage(["toastUnEmp", name], "*")
|
||||
}
|
||||
});
|
||||
if (!can) {
|
||||
obj.push(name);
|
||||
postMessage(["toastEmp", name], "*")
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_emp", json);
|
||||
} else if (arg === 2) {
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if (!obj) {
|
||||
obj = [];
|
||||
}
|
||||
obj.push(name);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
postMessage(["toastMute", name], "*")
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
parseColumn();
|
||||
});
|
||||
//ui,img.js
|
||||
ipc.on('general-dl-prog', function (event, arg) {
|
||||
console.log("Progress: " + arg);
|
||||
@@ -171,23 +111,6 @@ ipc.on('general-dl-message', function (event, arg) {
|
||||
console.log("saved")
|
||||
postMessage(["toastSaved", [arg, argC]], "*")
|
||||
})
|
||||
//layout.js
|
||||
ipc.on('column-del-reply', function (event, args) {
|
||||
if (args[0] === 1) {
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
localStorage.removeItem("card_" + args[1]);
|
||||
obj.splice(args[1], 1);
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
localStorage.setItem("card_" + i, "true");
|
||||
localStorage.removeItem("catch_" + i);
|
||||
}
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
postMessage(["parseColumn", ""], "*")
|
||||
postMessage(["sortload", ""], "*")
|
||||
}
|
||||
})
|
||||
//setting.js
|
||||
ipc.on('langres', function (event, arg) {
|
||||
location.href = "../" + lang + "/setting.html"
|
||||
@@ -195,7 +118,7 @@ ipc.on('langres', function (event, arg) {
|
||||
ipc.on('exportSettingsFile', function (event, savedFiles) {
|
||||
var exp = exportSettingsCore()
|
||||
ipc.send('export', [savedFiles, JSON.stringify(exp)]);
|
||||
alert("Done.")
|
||||
postMessage(["alert", "Done"], "*")
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
@@ -237,6 +160,7 @@ ipc.on('memory', function (event, arg) {
|
||||
})
|
||||
//update.html
|
||||
ipc.on('prog', function (event, arg) {
|
||||
console.log(arg)
|
||||
postMessage(["updateProg", arg], "*")
|
||||
})
|
||||
ipc.on('mess', function (event, arg) {
|
||||
|
@@ -120,6 +120,16 @@ function media(b64, type, no) {
|
||||
httpreq.onreadystatechange = function () {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
if (!json.id) {
|
||||
todc();
|
||||
$("#imgup").text("");
|
||||
$(".toot-btn-group").prop("disabled", false);
|
||||
$("#post-acct-sel").prop("disabled", false);
|
||||
$('select').formSelect();
|
||||
$("#imgsel").show();
|
||||
M.toast({ html: lang.lang_postimg_failupload, displayLength: 5000 })
|
||||
return false
|
||||
}
|
||||
var img = localStorage.getItem("img");
|
||||
if (json.type.indexOf("image") != -1) {
|
||||
var html = '<img src="' + json[previewer] + '" class="preview-img pointer" data-media="' + json["id"] + '" onclick="deleteImage(\'' + json["id"] + '\')" title="' + lang.lang_postimg_delete + '">';
|
||||
@@ -205,17 +215,27 @@ element.addEventListener("paste", function (e) {
|
||||
// 画像以外がペーストされたときのために、元に戻しておく
|
||||
});
|
||||
function deleteImage(key) {
|
||||
if (!confirm(lang.lang_postimg_delete)) {
|
||||
return false;
|
||||
}
|
||||
var media = $("#media").val();
|
||||
var arr = media.split(",");
|
||||
for (var i = 0; i < media.length; i++) {
|
||||
if (arr[i] == key) {
|
||||
arr.splice(i, 1);
|
||||
break;
|
||||
Swal.fire({
|
||||
title: lang.lang_postimg_delete,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
var media = $("#media").val();
|
||||
var arr = media.split(",");
|
||||
for (var i = 0; i < media.length; i++) {
|
||||
if (arr[i] == key) {
|
||||
arr.splice(i, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
$("#media").val(arr.join(","));
|
||||
$('#preview [data-media=' + key + ']').remove();
|
||||
}
|
||||
}
|
||||
$("#media").val(arr.join(","));
|
||||
$('#preview [data-media=' + key + ']').remove();
|
||||
})
|
||||
|
||||
}
|
@@ -17,44 +17,45 @@ function post(mode, postvis) {
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
localStorage.setItem("last-use", acct_id);
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if (domain == "theboss.tech") {
|
||||
if (~str.indexOf("#")) {
|
||||
if (str.indexOf("#theboss_tech") == "-1") {
|
||||
if (!confirm(lang.lang_post_tagTL)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (domain == "dtp-mstdn.jp") {
|
||||
if (~str.indexOf("#")) {
|
||||
if (str.indexOf("#dtp") == "-1") {
|
||||
if (!confirm(lang.lang_post_tagTL)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!localStorage.getItem("cw_sentence")) {
|
||||
var cw_sent = 500;
|
||||
} else {
|
||||
var cw_sent = localStorage.getItem("cw_sentence");
|
||||
}
|
||||
if (!localStorage.getItem("cw_letters")) {
|
||||
var cw_ltres = 500;
|
||||
var cw_ltres = 7000;
|
||||
} else {
|
||||
var cw_ltres = localStorage.getItem("cw_letters");
|
||||
}
|
||||
if (domain != "kirishima.cloud") {
|
||||
if (mode != "pass" && !$("#cw").hasClass("cw-avail") && (str.length > cw_sent || (str.split("\n").length - 1) > cw_ltres)) {
|
||||
console.log("out")
|
||||
var plus = str.replace(/\n/g, "").slice(0, 10) + "...";
|
||||
const options = {
|
||||
type: 'info',
|
||||
Swal.fire({
|
||||
title: lang.lang_post_cwtitle,
|
||||
message: lang.lang_post_cwtxt + plus,
|
||||
buttons: [lang.lang_post_btn1, lang.lang_post_btn2, lang.lang_post_btn3]
|
||||
}
|
||||
postMessage(["dialogCW", options], "*")
|
||||
text: lang.lang_post_cwtxt + plus,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_post_btn2,
|
||||
cancelButtonText: lang.lang_post_btn3,
|
||||
showCloseButton: true,
|
||||
focusConfirm: false,
|
||||
}).then((result) => {
|
||||
console.log(result)
|
||||
if (result.dismiss == "cancel") {
|
||||
//btn3:sonomama
|
||||
post("pass")
|
||||
} else if (result.value) {
|
||||
//btn2:auto-CW
|
||||
$("#cw-text").show();
|
||||
$("#cw").addClass("yellow-text");
|
||||
$("#cw").addClass("cw-avail");
|
||||
$("#cw-text").val(plus);
|
||||
post("pass")
|
||||
}
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -91,22 +92,11 @@ function post(mode, postvis) {
|
||||
} else {
|
||||
var vis = $("#vis").text();
|
||||
}
|
||||
|
||||
if (vis != "inherit" && vis != "local") {
|
||||
toot.visibility = vis;
|
||||
} else if (vis == "local") {
|
||||
toot.status = str + "👁️";
|
||||
}
|
||||
//ここに非公開・未収載タグについてwarn
|
||||
if (domain != "kirishima.cloud" && domain != "imastodon.net") {
|
||||
if (~str.indexOf("#")) {
|
||||
if (vis == "local" || vis == "unlisted" || vis == "direct" || vis == "private") {
|
||||
if (!confirm(lang.lang_post_tagVis)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($("#cw").hasClass("cw-avail")) {
|
||||
var spo = $("#cw-text").val();
|
||||
cw();
|
||||
|
@@ -84,10 +84,10 @@ function rt(id, acct_id, remote) {
|
||||
|
||||
if ($("[toot-id=" + id + "]").hasClass("rted")) {
|
||||
$("[toot-id=" + id + "]").removeClass("rted");
|
||||
$(".rt_" + id).removeClass("teal-text");
|
||||
$(".rt_" + id).removeClass("light-blue-text");
|
||||
} else {
|
||||
$("[toot-id=" + id + "]").addClass("rted");
|
||||
$(".rt_" + id).addClass("teal-text");
|
||||
$(".rt_" + id).addClass("light-blue-text");
|
||||
}
|
||||
} else {
|
||||
M.toast({ html: lang.lang_status_btWarn, displayLength: 1000 })
|
||||
@@ -183,7 +183,7 @@ function block(acct_id) {
|
||||
}
|
||||
|
||||
//ミュート
|
||||
function mute(acct_id) {
|
||||
function muteDo(acct_id) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
@@ -253,39 +253,50 @@ function del(id, acct_id) {
|
||||
}
|
||||
//redraft
|
||||
function redraft(id, acct_id) {
|
||||
if (confirm(lang.lang_status_redraft)) {
|
||||
show();
|
||||
del(id, acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
var medias = $("[toot-id=" + id + "]").attr("data-medias");
|
||||
var vismode = $("[toot-id=" + id + "] .vis-data").attr("data-vis");
|
||||
vis(vismode);
|
||||
$("#media").val(medias);
|
||||
var ct = medias.split(",").length;
|
||||
$("[toot-id=" + id + "] img.toot-img").each(function (i, elem) {
|
||||
if (i < ct) {
|
||||
var url = $(elem).attr("src");
|
||||
console.log("Play back image data:" + url);
|
||||
$('#preview').append('<img src="' + url + '" style="width:50px; max-height:100px;">');
|
||||
Swal.fire({
|
||||
title: lang.lang_status_redraftTitle,
|
||||
text: lang.lang_status_redraft,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
show();
|
||||
del(id, acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
var medias = $("[toot-id=" + id + "]").attr("data-medias");
|
||||
var vismode = $("[toot-id=" + id + "] .vis-data").attr("data-vis");
|
||||
vis(vismode);
|
||||
$("#media").val(medias);
|
||||
var ct = medias.split(",").length;
|
||||
$("[toot-id=" + id + "] img.toot-img").each(function (i, elem) {
|
||||
if (i < ct) {
|
||||
var url = $(elem).attr("src");
|
||||
console.log("Play back image data:" + url);
|
||||
$('#preview').append('<img src="' + url + '" style="width:50px; max-height:100px;">');
|
||||
}
|
||||
});
|
||||
var html = $("[toot-id=" + id + "] .toot").html();
|
||||
html = html.replace(/^<p>(.+)<\/p>$/, "$1");
|
||||
html = html.replace(/<br\s?\/?>/, "\n");
|
||||
html = html.replace(/<p>/, "\n");
|
||||
html = html.replace(/<\/p>/, "\n");
|
||||
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, "$1");
|
||||
html = $.strip_tags(html);
|
||||
localStorage.setItem("nohide", true);
|
||||
show();
|
||||
$("#textarea").val(html);
|
||||
var cwtxt = $("[toot-id=" + id + "] .cw_text").html();
|
||||
if (cwtxt != "") {
|
||||
cwtxt = $.strip_tags(cwtxt);
|
||||
cw();
|
||||
$("#cw-text").val(cwtxt);
|
||||
}
|
||||
});
|
||||
var html = $("[toot-id=" + id + "] .toot").html();
|
||||
html = html.replace(/^<p>(.+)<\/p>$/, "$1");
|
||||
html = html.replace(/<br\s?\/?>/, "\n");
|
||||
html = html.replace(/<p>/, "\n");
|
||||
html = html.replace(/<\/p>/, "\n");
|
||||
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, "$1");
|
||||
html = $.strip_tags(html);
|
||||
localStorage.setItem("nohide", true);
|
||||
show();
|
||||
$("#textarea").val(html);
|
||||
var cwtxt = $("[toot-id=" + id + "] .cw_text").html();
|
||||
if (cwtxt != "") {
|
||||
cwtxt = $.strip_tags(cwtxt);
|
||||
cw();
|
||||
$("#cw-text").val(cwtxt);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
//ピン留め
|
||||
function pin(id, acct_id) {
|
||||
|
@@ -155,7 +155,7 @@ function additionalIndv(tlid, acct_id, id) {
|
||||
});
|
||||
} else {
|
||||
var id = $("[toot-id=" + id + "] .toot a").parents('.cvo').attr("toot-id");
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id + "/card";
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
@@ -169,6 +169,7 @@ function additionalIndv(tlid, acct_id, id) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
json = json.card;
|
||||
//このリンク鳥やんけ、ってとき
|
||||
if (json.provider_name == "Twitter") {
|
||||
if (json.image) {
|
||||
|
@@ -99,7 +99,9 @@ function details(id, acct_id, tlid, mode) {
|
||||
if ($("#toot-this div").hasClass("cvo")) {
|
||||
$("#toot-this").removeClass("cvo");
|
||||
} else {
|
||||
$("#toot-this").addClass("cvo");
|
||||
if(!$("#toot-this .cvo").hasClass("cvo")){
|
||||
$("#toot-this").addClass("cvo");
|
||||
}
|
||||
}
|
||||
if (!$("#activator").hasClass("active")) {
|
||||
$('#det-col').collapsible('open', 4);
|
||||
@@ -125,14 +127,7 @@ function replyTL(id, acct_id) {
|
||||
})
|
||||
}
|
||||
} else {
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
||||
var i = {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
}
|
||||
return false
|
||||
}
|
||||
fetch(start, i).then(function (response) {
|
||||
return response.json();
|
||||
@@ -155,20 +150,6 @@ function replyTL(id, acct_id) {
|
||||
if (json[rep]) {
|
||||
replyTL(json[rep][0], acct_id);
|
||||
}
|
||||
} else {
|
||||
var templete = parse([json], '', acct_id, "", "", mute);
|
||||
if (templete != "") {
|
||||
$("#toot-reply .no-data").hide();
|
||||
}
|
||||
$("#toot-reply").prepend(templete);
|
||||
$("#toot-reply .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-reply .by_filter").css("display", "block");
|
||||
$("#toot-reply .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
var rep = "in_reply_to_id";
|
||||
if (json[rep]) {
|
||||
replyTL(json[rep], acct_id);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
@@ -228,6 +209,14 @@ function context(id, acct_id) {
|
||||
$("#toot-after .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-after .by_filter").css("display", "block");
|
||||
$("#toot-after .by_filter").removeClass("hide");
|
||||
var templete = parse(json.ancestors, '', acct_id, "", "", mute);
|
||||
if (templete != "") {
|
||||
$("#toot-reply .no-data").hide();
|
||||
}
|
||||
$("#toot-reply").prepend(templete);
|
||||
$("#toot-reply .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-reply .by_filter").css("display", "block");
|
||||
$("#toot-reply .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
}
|
||||
|
||||
@@ -513,7 +502,7 @@ function trans(tar, to) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (text) {
|
||||
$("#toot-this .additional").html('<span class="gray">' + text.text + '</span>');
|
||||
$("#toot-this .additional").html('<span class="gray translate">' + text.text + '</span>');
|
||||
});
|
||||
}
|
||||
//ブラウザで開く
|
||||
|
@@ -50,14 +50,18 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
native = "yes";
|
||||
}
|
||||
//クライアント強調
|
||||
var emp = localStorage.getItem("client_emp");
|
||||
if (emp) {
|
||||
var emp = JSON.parse(emp);
|
||||
var empCli = localStorage.getItem("client_emp");
|
||||
if (empCli) {
|
||||
var empCli = JSON.parse(empCli);
|
||||
} else {
|
||||
var empCli = [];
|
||||
}
|
||||
//クライアントミュート
|
||||
var mute = localStorage.getItem("client_mute");
|
||||
if (mute) {
|
||||
var mute = JSON.parse(mute);
|
||||
var muteCli = localStorage.getItem("client_mute");
|
||||
if (muteCli) {
|
||||
var muteCli = JSON.parse(muteCli);
|
||||
} else {
|
||||
var muteCli = [];
|
||||
}
|
||||
//ユーザー強調
|
||||
var useremp = localStorage.getItem("user_emp");
|
||||
@@ -65,17 +69,19 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var useremp = JSON.parse(useremp);
|
||||
}
|
||||
//ワード強調
|
||||
var wordemp = localStorage.getItem("word_emp");
|
||||
if (wordemp) {
|
||||
var wordemp = JSON.parse(wordemp);
|
||||
var wordempList = localStorage.getItem("word_emp");
|
||||
if (wordempList) {
|
||||
var wordempList = JSON.parse(wordempList);
|
||||
}
|
||||
//ワードミュート
|
||||
var wordmute = localStorage.getItem("word_mute");
|
||||
if (wordmute) {
|
||||
var wordmute = JSON.parse(wordmute);
|
||||
wordmute = wordmute.concat(mutefilter);
|
||||
var wordmuteList = localStorage.getItem("word_mute");
|
||||
if (wordmuteList) {
|
||||
var wordmuteList = JSON.parse(wordmuteList);
|
||||
if (wordmuteList) {
|
||||
wordmuteList = wordmuteList.concat(mutefilter);
|
||||
}
|
||||
} else {
|
||||
wordmute = mutefilter;
|
||||
wordmuteList = mutefilter;
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
@@ -265,7 +271,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
var nativeNotfOpt=[
|
||||
var nativeNotfOpt = [
|
||||
'TheDesk:' + domain,
|
||||
toot.user.name + "(" + toot.user.username + ")" + what + "\n\n" + $.strip_tagstemp(toot.note.text),
|
||||
toot.user.avatarUrl,
|
||||
@@ -349,16 +355,16 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
viashow = "via-hide";
|
||||
}
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function (key6) {
|
||||
var cli = emp[key6];
|
||||
if (cli == via) {
|
||||
Object.keys(empCli).forEach(function (key6) {
|
||||
var empCliList = empCli[key6];
|
||||
if (empCliList == via) {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
//ミュートチェック
|
||||
Object.keys(mute).forEach(function (key7) {
|
||||
var cli = mute[key7];
|
||||
if (cli == via) {
|
||||
Object.keys(muteCli).forEach(function (key7) {
|
||||
var muteCliList = muteCli[key7];
|
||||
if (muteCliList == via) {
|
||||
boostback = "hide";
|
||||
}
|
||||
});
|
||||
@@ -495,6 +501,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'" data-type="video" class="img-parsed"><video src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="max-width:100%;"></a></span>';
|
||||
} else if (media.type.indexOf("audio") !== -1) {
|
||||
viewer = viewer + '<audio src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="width:100%;" controls></span>';
|
||||
} else {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
|
||||
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
@@ -571,7 +581,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var rt_app = "";
|
||||
/*
|
||||
if (toot.reblogged) {
|
||||
var if_rt = "teal-text";
|
||||
var if_rt = "light-blue-text";
|
||||
var rt_app = "rted";
|
||||
} else {
|
||||
var if_rt = "";
|
||||
@@ -581,16 +591,16 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
//アバター
|
||||
var avatar = toot.user.avatarUrl;
|
||||
//ワードミュート
|
||||
if (wordmute) {
|
||||
Object.keys(wordmute).forEach(function (key8) {
|
||||
var worde = wordmute[key8];
|
||||
if (wordmuteList) {
|
||||
Object.keys(wordmuteList).forEach(function (key8) {
|
||||
var worde = wordmuteList[key8];
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
var word = worde.tag;
|
||||
var wordList = worde.tag;
|
||||
} else {
|
||||
var word = worde
|
||||
var wordList = worde
|
||||
}
|
||||
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
if ($.strip_tagstemp(content).match(regExp)) {
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
@@ -598,13 +608,13 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
});
|
||||
}
|
||||
//ワード強調
|
||||
if (wordemp) {
|
||||
Object.keys(wordemp).forEach(function (key9) {
|
||||
var word = wordemp[key9];
|
||||
if (word) {
|
||||
var word = word.tag;
|
||||
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + word + "</span>");
|
||||
if (wordempList) {
|
||||
Object.keys(wordempList).forEach(function (key9) {
|
||||
var wordList = wordempList[key9];
|
||||
if (wordList) {
|
||||
var wordList = wordList.tag;
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + wordList + "</span>");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -822,10 +832,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'<div class="action ' + disp["re"] + ' ' + noauth + '"><a onclick="misskeyreply(\'' + toot.id +
|
||||
'\',\'' + acct_id + '\',' +
|
||||
acct_id + ',\'' + visen +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i></a></div>' +
|
||||
'\')" class="waves-effect waves-dark btn-flat rep-btn" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["rt"] + ' ' + noauth + '"><a onclick="renote(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_misskeyparse_renote + '"><i class="text-darken-3 fas fa-retweet ' +
|
||||
'\')" class="waves-effect waves-dark btn-flat bt-btn" style="padding:0" title="' + lang.lang_misskeyparse_renote + '"><i class="text-darken-3 fas fa-retweet ' +
|
||||
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct"></span></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["qt"] + ' ' + noauth + '"><a onclick="renoteqt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'misskey.xyz\',\'misskey.xyz\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_misskeyparse_renoteqt + '"><i class="text-darken-3 fas fa-quote-right"></i></a></div>' +
|
||||
@@ -910,7 +920,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
var nativeNotfOpt=[
|
||||
var nativeNotfOpt = [
|
||||
'TheDesk:' + domain,
|
||||
toot.display_name + "(" + toot.acct + ")" + ftxt,
|
||||
toot.avatar,
|
||||
@@ -969,7 +979,7 @@ function goGoogle(id) {
|
||||
}
|
||||
var misskeyws = []
|
||||
var misskeywsstate = []
|
||||
function connectMisskey(acct_id) {
|
||||
function connectMisskey(acct_id, re) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "wss://" + domain +
|
||||
@@ -988,7 +998,7 @@ function connectMisskey(acct_id) {
|
||||
console.log([domain + ":Receive Streaming API:", data]);
|
||||
var data = JSON.parse(mess.data)
|
||||
var obj = data.body.body
|
||||
|
||||
var mute = [];
|
||||
if (data.body.id.indexOf("notf:") !== -1) {
|
||||
var obj = JSON.parse(mess.data).body;
|
||||
console.log(obj);
|
||||
@@ -1053,13 +1063,17 @@ function connectMisskey(acct_id) {
|
||||
console.error("Error closing " + tlid);
|
||||
console.error(error);
|
||||
misskeywsstate[wsid] = false
|
||||
connectMisskey(acct_id)
|
||||
if(!re){
|
||||
connectMisskey(acct_id, true)
|
||||
}
|
||||
return false;
|
||||
};
|
||||
misskeyws[wsid].onclose = function () {
|
||||
console.warn("Closing " + tlid);
|
||||
misskeywsstate[wsid] = false
|
||||
connectMisskey(acct_id)
|
||||
if(!re){
|
||||
connectMisskey(acct_id, true)
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
|
@@ -43,15 +43,15 @@ function mixtl(acct_id, tlid, type, delc, voice) {
|
||||
timeline.splice(20);
|
||||
}
|
||||
var templete = "";
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), "mix");
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
Object.keys(timeline).forEach(function (key) {
|
||||
var pkey = key * 1 + 1;
|
||||
if (pkey < timeline.length) {
|
||||
if (date(timeline[key].created_at, "unix") != date(timeline[pkey].created_at, "unix")) {
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), "mix");
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
if (type == "integrated") {
|
||||
templete = templete + parse([timeline[key]], '', acct_id, tlid, "", mute, "mix");
|
||||
} else if (type == "plus") {
|
||||
|
@@ -52,14 +52,14 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
native = "yes";
|
||||
}
|
||||
//クライアント強調
|
||||
var emp = localStorage.getItem("client_emp");
|
||||
if (emp) {
|
||||
var emp = JSON.parse(emp);
|
||||
var empCli = localStorage.getItem("client_emp");
|
||||
if (empCli) {
|
||||
var empCli = JSON.parse(empCli);
|
||||
}
|
||||
//クライアントミュート
|
||||
var mute = localStorage.getItem("client_mute");
|
||||
if (mute) {
|
||||
var mute = JSON.parse(mute);
|
||||
var muteCli = localStorage.getItem("client_mute");
|
||||
if (muteCli) {
|
||||
var muteCli = JSON.parse(muteCli);
|
||||
}
|
||||
//ユーザー強調
|
||||
var useremp = localStorage.getItem("user_emp");
|
||||
@@ -67,17 +67,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var useremp = JSON.parse(useremp);
|
||||
}
|
||||
//ワード強調
|
||||
var wordemp = localStorage.getItem("word_emp");
|
||||
if (wordemp) {
|
||||
var wordemp = JSON.parse(wordemp);
|
||||
var wordempList = localStorage.getItem("word_emp");
|
||||
if (wordempList) {
|
||||
var wordempList = JSON.parse(wordempList);
|
||||
}
|
||||
//ワードミュート
|
||||
var wordmute = localStorage.getItem("word_mute");
|
||||
if (wordmute) {
|
||||
var wordmute = JSON.parse(wordmute);
|
||||
wordmute = wordmute.concat(mutefilter);
|
||||
var wordmuteList = localStorage.getItem("word_mute");
|
||||
if (wordmuteList) {
|
||||
var wordmuteList = JSON.parse(wordmuteList);
|
||||
if (wordmuteList) {
|
||||
wordmuteList = wordmuteList.concat(mutefilter);
|
||||
}
|
||||
} else {
|
||||
wordmute = mutefilter;
|
||||
wordmuteList = mutefilter;
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
@@ -430,20 +432,24 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
viashow = "hide";
|
||||
} else {
|
||||
var via = escapeHTML(toot.application.name);
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function (key6) {
|
||||
var cli = emp[key6];
|
||||
if (cli == via) {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
//ミュートチェック
|
||||
Object.keys(mute).forEach(function (key7) {
|
||||
var cli = mute[key7];
|
||||
if (cli == via) {
|
||||
boostback = "hide";
|
||||
}
|
||||
});
|
||||
if (empCli) {
|
||||
//強調チェック
|
||||
Object.keys(empCli).forEach(function (key6) {
|
||||
var empCliList = empCli[key6];
|
||||
if (empCliList == via) {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
}
|
||||
if (muteCli) {
|
||||
//ミュートチェック
|
||||
Object.keys(muteCli).forEach(function (key7) {
|
||||
var muteCliList = muteCli[key7];
|
||||
if (muteCliList == via) {
|
||||
boostback = "hide";
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (mix == "pinned") {
|
||||
boostback = "emphasized";
|
||||
@@ -606,6 +612,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
} else {
|
||||
if (media.type == "unknown") {
|
||||
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + ']</a> '
|
||||
} else if (media.type == "audio") {
|
||||
viewer = viewer + '<audio src="' +
|
||||
url + '" class="pointer" style="width:100%;" controls></span>';
|
||||
} else {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
|
||||
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
@@ -683,11 +692,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
} else if (visen == "private") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="' + lang.lang_parse_private + '(' + lang.lang_parse_clickcopy + ')" data-vis="private" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">lock</i>';
|
||||
var can_rt = "hide";
|
||||
var can_rt = "unvisible";
|
||||
} else if (visen == "direct") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="' + lang.lang_parse_direct + '(' + lang.lang_parse_clickcopy + ')" data-vis="direct" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">mail</i>';
|
||||
var can_rt = "hide";
|
||||
var can_rt = "unvisible";
|
||||
}
|
||||
if (toot.account.acct == localStorage.getItem("user_" + acct_id)) {
|
||||
var if_mine = "";
|
||||
@@ -704,7 +713,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var fav_app = "";
|
||||
}
|
||||
if (toot.reblogged) {
|
||||
var if_rt = "teal-text";
|
||||
var if_rt = "light-blue-text";
|
||||
var rt_app = "rted";
|
||||
} else {
|
||||
var if_rt = "";
|
||||
@@ -724,17 +733,17 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var avatar = toot.account.avatar_static;
|
||||
}
|
||||
//ワードミュート
|
||||
if (wordmute) {
|
||||
Object.keys(wordmute).forEach(function (key8) {
|
||||
var worde = wordmute[key8];
|
||||
if (wordmuteList) {
|
||||
Object.keys(wordmuteList).forEach(function (key8) {
|
||||
var worde = wordmuteList[key8];
|
||||
console.log(worde)
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
var word = worde.tag;
|
||||
var wordList = worde.tag;
|
||||
} else {
|
||||
var word = worde
|
||||
var wordList = worde
|
||||
}
|
||||
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
console.log(regExp)
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
if ($.strip_tags(content).match(regExp)) {
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
@@ -742,19 +751,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
});
|
||||
}
|
||||
//ワード強調
|
||||
if (wordemp) {
|
||||
Object.keys(wordemp).forEach(function (key9) {
|
||||
var word = wordemp[key9];
|
||||
if (word) {
|
||||
var word = word.tag;
|
||||
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + word + "</span>");
|
||||
if (wordempList) {
|
||||
Object.keys(wordempList).forEach(function (key9) {
|
||||
var wordList = wordempList[key9];
|
||||
if (wordList) {
|
||||
var wordList = wordList.tag;
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + wordList + "</span>");
|
||||
}
|
||||
});
|
||||
}
|
||||
//日本語じゃない
|
||||
if (toot.language != lang.language && toot.language) {
|
||||
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>';
|
||||
var trans = '<div class="action pin"><a onclick="trans(\'' + toot.language + '\',\'' + lang.language + '\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_trans + '"><i class="material-icons">g_translate</i></a></div>';
|
||||
} else {
|
||||
var trans = "";
|
||||
}
|
||||
@@ -838,11 +847,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
'<div class="action ' + disp["re"] + ' ' + noauth + '"><a onclick="re(\'' + toot.id +
|
||||
'\',\'' + to_mention + '\',' +
|
||||
acct_id + ',\'' + visen +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct rep-btn" data-men="' + to_mention +'" data-visen="' + visen +'" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'</a></span></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["rt"] + ' ' + noauth + '"><a onclick="rt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_bt + '"><i class="fas fa-retweet ' +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct bt-btn" style="padding:0" title="' + lang.lang_parse_bt + '"><i class="fas fa-retweet ' +
|
||||
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct">' + toot.reblogs_count +
|
||||
'</span></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["qt"] + ' ' + noauth + ' ' + qtClass + '"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
|
||||
@@ -850,22 +859,21 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_quote + '"><i class="text-darken-3 fas fa-quote-right"></i></a></div>' +
|
||||
'<div class="action ' + disp["fav"] + ' ' + noauth + '"><a onclick="fav(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_fav + '"><i class="fas text-darken-3 fa-star' +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct fav-btn" style="padding:0" title="' + lang.lang_parse_fav + '"><i class="fas text-darken-3 fa-star' +
|
||||
if_fav + ' fav_' + toot.id + '"></i><span class="fav_ct">' + toot.favourites_count +
|
||||
'</a></span></div>' +
|
||||
'<div class="' + if_mine + ' action ' + disp["del"] + ' ' + noauth + '"><a onclick="del(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_del + '"><i class="fas fa-trash"></i></a></div>' +
|
||||
')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_del + '"><i class="fas fa-trash"></i></a></div>' +
|
||||
'<div class="' + if_mine + ' action pin ' + disp["pin"] + ' ' + noauth + '"><a onclick="pin(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_pin + '"><i class="fas fa-map-pin pin_' + toot.id + ' ' + if_pin + '"></i></a></div>'
|
||||
')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_pin + '"><i class="fas fa-map-pin pin_' + toot.id + ' ' + if_pin + '"></i></a></div>'
|
||||
+ '<div class="' + if_mine + ' action ' + disp["red"] + ' ' + noauth + '"><a onclick="redraft(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_redraft + '"><i class="material-icons">redo</i></a></div>' + trans +
|
||||
'<span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" onclick="client(\'' + $.strip_tags(via) + '\')" title="via ' + $.strip_tags(via) + '">via ' +
|
||||
')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_redraft + '"><i class="material-icons">redo</i></a></div>' + trans +
|
||||
'</div><div class="area-side ' + mouseover + '"><span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" style="max-width:60px;" onclick="client(\'' + $.strip_tags(via) + '\')" title="via ' + $.strip_tags(via) + '">' +
|
||||
via +
|
||||
'</span>' +
|
||||
'</div><div class="area-side ' + mouseover + '"><div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
|
||||
'</span>' + '<div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
|
||||
'<div class="action ' + noauth + '"><a onclick="details(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid + '\',\'normal\')" class="waves-effect waves-dark btn-flat details ' + dmHide + '" style="padding:0"><i class="text-darken-3 material-icons">more_vert</i></a></div>' +
|
||||
'</div></div>' +
|
||||
@@ -1010,13 +1018,62 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
function client(name) {
|
||||
if (name != "Unknown") {
|
||||
//聞く
|
||||
const options = {
|
||||
type: 'info',
|
||||
Swal.fire({
|
||||
title: lang.lang_parse_clientop,
|
||||
message: name + lang.lang_parse_clienttxt,
|
||||
buttons: [lang.lang_parse_clientno, lang.lang_parse_clientemp, lang.lang_parse_clientmute]
|
||||
}
|
||||
postMessage(["dialogClient", options], "*")
|
||||
text: name + lang.lang_parse_clienttxt,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_parse_clientmute,
|
||||
cancelButtonText: lang.lang_parse_clientemp,
|
||||
showCloseButton: true,
|
||||
focusConfirm: false,
|
||||
}).then((result) => {
|
||||
console.log(result)
|
||||
if (result.dismiss == "cancel") {
|
||||
//Emp
|
||||
var cli = localStorage.getItem("client_emp");
|
||||
var obj = JSON.parse(cli);
|
||||
if (!obj) {
|
||||
var obj = [];
|
||||
obj.push(name);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else {
|
||||
var can;
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var cliT = obj[key];
|
||||
if (cliT != name && !can) {
|
||||
can = false;
|
||||
} else {
|
||||
can = true;
|
||||
obj.splice(key, 1);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_unemphas, displayLength: 2000 })
|
||||
}
|
||||
});
|
||||
if (!can) {
|
||||
obj.push(name);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else {
|
||||
|
||||
}
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_emp", json);
|
||||
parseColumn()
|
||||
}
|
||||
} else if (result.value) {
|
||||
//Mute
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if (!obj) {
|
||||
obj = [];
|
||||
}
|
||||
obj.push(name);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_parse_mute, displayLength: 2000 })
|
||||
parseColumn()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
@@ -54,7 +54,7 @@ function src(mode) {
|
||||
tags = tags + '<a onclick="tl(\'tag\',\'' + tag + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + escapeHTML(tag) + '</a><br> ';
|
||||
} else {
|
||||
tags = tags + graphDraw(tag);
|
||||
tags = tags + graphDraw(tag, acct_id);
|
||||
}
|
||||
|
||||
});
|
||||
@@ -63,12 +63,12 @@ function src(mode) {
|
||||
//トゥート
|
||||
if (json.statuses[0]) {
|
||||
var templete = parse(json.statuses, '', acct_id);
|
||||
$("#src-contents").append("Mentions<br>" + templete);
|
||||
$("#src-contents").append("<br>Mentions<br>" + templete);
|
||||
}
|
||||
//アカウント
|
||||
if (json.accounts[0]) {
|
||||
var templete = userparse(json.accounts, '', acct_id);
|
||||
$("#src-contents").append("Accounts<br>" + templete);
|
||||
$("#src-contents").append("<br>Accounts<br>" + templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
@@ -164,7 +164,7 @@ function moreTs(tlid, q) {
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
}
|
||||
function graphDraw(tag) {
|
||||
function graphDraw(tag, acct_id) {
|
||||
var tags = "";
|
||||
var his = tag.history;
|
||||
var max = Math.max.apply(null, [his[0].uses, his[1].uses, his[2].uses, his[3].uses, his[4].uses, his[5].uses, his[6].uses]);
|
||||
|
@@ -425,6 +425,11 @@ function moreload(type, tlid) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type);
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
if (misskey) {
|
||||
var templete = misskeyParse(json, '', acct_id, tlid, "", mute);
|
||||
} else {
|
||||
|
@@ -55,7 +55,7 @@ function parseColumn(dontclose) {
|
||||
var domain = localStorage.getItem("domain_" + key);
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
localStorage.removeItem("misskey_wss_" + key)
|
||||
connectMisskey(key)
|
||||
connectMisskey(key, false)
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -364,8 +364,28 @@ function addselCk() {
|
||||
function removeColumn(tlid) {
|
||||
$("#sort-box").addClass("hide");
|
||||
$("#sort-box").removeClass("show");
|
||||
//聞く
|
||||
postMessage(["columnDel", tlid], "*")
|
||||
Swal.fire({
|
||||
title: lang.lang_layout_deleteColumn,
|
||||
text: lang.lang_layout_deleteColumnDesc,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
obj.splice(tlid, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
parseColumn()
|
||||
sortLoad()
|
||||
}
|
||||
$("#sort-box").removeClass("hide");
|
||||
$("#sort-box").addClass("show");
|
||||
});
|
||||
}
|
||||
|
||||
//設定トグル
|
||||
|
@@ -39,6 +39,7 @@ function show() {
|
||||
$('#post-box').css("left", left + "px")
|
||||
$('#post-box').css("top", top + "px")
|
||||
$('#post-box').fadeIn();
|
||||
$('#textarea').characterCounter();
|
||||
}
|
||||
|
||||
$(function () {
|
||||
@@ -83,15 +84,20 @@ $('#posttgl').click(function (e) {
|
||||
} else {
|
||||
hide();
|
||||
}
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
});
|
||||
|
||||
$("#timeline-container,#group").click(function (e) {
|
||||
|
||||
if (localStorage.getItem("box") != "absolute") {
|
||||
if ($('#post-box').hasClass("appear") && !localStorage.getItem("nohide")) {
|
||||
hide();
|
||||
}
|
||||
}
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
localStorage.removeItem("nohide")
|
||||
});
|
||||
$('#textarea,#cw-text').focusout(function (e) {
|
||||
@@ -100,4 +106,7 @@ $('#textarea,#cw-text').focusout(function (e) {
|
||||
localStorage.removeItem("nohide")
|
||||
}
|
||||
//setTimeout(remove, 100);
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
});
|
@@ -23,13 +23,22 @@ var tlView = new Vue({
|
||||
data: { config: tlConstruction },
|
||||
methods: {
|
||||
complete: function (i, val) {
|
||||
var ls = tlView.config[i].storage;
|
||||
if (!val) {
|
||||
var id = tlView.config[i].id;
|
||||
var val = $("#" + id).val()
|
||||
var ls = tlView.config[i];
|
||||
if (val) {
|
||||
localStorage.setItem(ls.storage, val)
|
||||
} else {
|
||||
if (!ls.data) {
|
||||
ls = [ls]
|
||||
} else {
|
||||
ls = ls.data
|
||||
}
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
var id = ls[j].id;
|
||||
var val = $("#" + id).val()
|
||||
localStorage.setItem(ls[j].storage, val)
|
||||
}
|
||||
}
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
localStorage.setItem(ls, val)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -39,13 +48,22 @@ var postView = new Vue({
|
||||
data: { config: postConstruction, kirishima: localStorage.getItem('kirishima') },
|
||||
methods: {
|
||||
complete: function (i, val) {
|
||||
var ls = postView.config[i].storage;
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
if (!val) {
|
||||
var id = postView.config[i].id;
|
||||
var val = $("#" + id).val()
|
||||
var ls = postView.config[i];
|
||||
if (val) {
|
||||
localStorage.setItem(ls.storage, val)
|
||||
} else {
|
||||
if (!ls.data) {
|
||||
ls = [ls]
|
||||
} else {
|
||||
ls = ls.data
|
||||
}
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
var id = ls[j].id;
|
||||
var val = $("#" + id).val()
|
||||
localStorage.setItem(ls[j].storage, val)
|
||||
}
|
||||
}
|
||||
localStorage.setItem(ls, val)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -96,15 +114,31 @@ function load() {
|
||||
var max = tlView.config.length;
|
||||
for (var i = 0; i < max; i++) {
|
||||
var ls = tlView.config[i].storage;
|
||||
if (localStorage.getItem(ls)) {
|
||||
tlView.config[i].setValue = localStorage.getItem(ls)
|
||||
if (ls) {
|
||||
if (localStorage.getItem(ls)) {
|
||||
tlView.config[i].setValue = localStorage.getItem(ls)
|
||||
}
|
||||
} else {
|
||||
ls = tlView.config[i].data
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
if(localStorage.getItem(tlView.config[i].data[j].storage)){
|
||||
tlView.config[i].data[j].setValue = localStorage.getItem(tlView.config[i].data[j].storage)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var max = postView.config.length;
|
||||
for (var i = 0; i < max; i++) {
|
||||
var ls = postView.config[i].storage;
|
||||
if (localStorage.getItem(ls)) {
|
||||
postView.config[i].setValue = localStorage.getItem(ls)
|
||||
if (ls) {
|
||||
if (localStorage.getItem(ls)) {
|
||||
postView.config[i].setValue = localStorage.getItem(ls)
|
||||
}
|
||||
} else {
|
||||
ls = postView.config[i].data
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
postView.config[i].data[j].setValue = localStorage.getItem(ls[j].storage)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (localStorage.getItem("imas")) {
|
||||
@@ -217,10 +251,19 @@ function changelang(lang) {
|
||||
postMessage(["lang", lang], "*")
|
||||
}
|
||||
function exportSettings() {
|
||||
if (!confirm(lang.lang_setting_exportwarn)) {
|
||||
return false;
|
||||
}
|
||||
postMessage(["exportSettings", ""], "*")
|
||||
Swal.fire({
|
||||
title: lang.lang_setting_exportwarn,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
postMessage(["exportSettings", ""], "*")
|
||||
}
|
||||
})
|
||||
}
|
||||
function exportSettingsCore() {
|
||||
var exp = {};
|
||||
@@ -283,10 +326,19 @@ function exportSettingsCore() {
|
||||
return exp;
|
||||
}
|
||||
function importSettings() {
|
||||
if (!confirm(lang.lang_setting_importwarn)) {
|
||||
return false;
|
||||
}
|
||||
postMessage(["importSettings", ""], "*")
|
||||
Swal.fire({
|
||||
title: lang.lang_setting_importwarn,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
postMessage(["importSettings", ""], "*")
|
||||
}
|
||||
})
|
||||
}
|
||||
function importSettingsCore(arg) {
|
||||
var obj = JSON.parse(arg);
|
||||
@@ -375,7 +427,10 @@ function importSettingsCore(arg) {
|
||||
}
|
||||
location.href = "index.html";
|
||||
} else {
|
||||
alert("Error.")
|
||||
Swal.fire({
|
||||
type: 'error',
|
||||
title: 'Error'
|
||||
})
|
||||
}
|
||||
}
|
||||
function savefolder() {
|
||||
@@ -576,7 +631,10 @@ function customImp() {
|
||||
if (JSON5.parse(json)) {
|
||||
postMessage(["themeJsonCreate", json], "*")
|
||||
} else {
|
||||
alert("Error")
|
||||
Swal.fire({
|
||||
type: 'error',
|
||||
title: 'Error'
|
||||
})
|
||||
}
|
||||
}
|
||||
function clearCustomImport() {
|
||||
|
@@ -1,953 +0,0 @@
|
||||
//設定(setting.html)で読む
|
||||
var envView = new Vue({
|
||||
el: '#env-view',
|
||||
data: {config:envConstruction,value:envValue},
|
||||
method: {
|
||||
settings: function (index) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//設定ボタン押した。
|
||||
function settings() {
|
||||
var dd = $("[name=time]:checked").val();
|
||||
var dt = $("[for="+dd+"]").text();
|
||||
if (dd != localStorage.getItem("datetype")) {
|
||||
Materialize.toast(lang.lang_setting_time.replace("{{set}}" ,dt), 3000);
|
||||
}
|
||||
localStorage.setItem("datetype", dd);
|
||||
|
||||
var cd = $("[name=theme]:checked").val();
|
||||
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")) {
|
||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd);
|
||||
localStorage.setItem("theme", cd);
|
||||
}
|
||||
|
||||
var nd = $("[name=nsfw]:checked").val();
|
||||
var nt = $("[for=n_"+nd+"]").text();
|
||||
if (nd != localStorage.getItem("nsfw")) {
|
||||
Materialize.toast(lang.lang_setting_nsfw.replace("{{set}}" ,nt), 3000);
|
||||
}
|
||||
localStorage.setItem("nsfw", nd);
|
||||
|
||||
var cwd = $("[name=cw]:checked").val();
|
||||
var cwt = $("[for=c_"+cwd+"]").text();
|
||||
if (cwd != localStorage.getItem("cw")) {
|
||||
Materialize.toast(lang.lang_setting_cw.replace("{{set}}" ,cwt), 3000);
|
||||
}
|
||||
localStorage.setItem("cw", cwd);
|
||||
|
||||
var cwtd = $("#cw-text").val();
|
||||
if (cwtd != localStorage.getItem("cw-text")) {
|
||||
Materialize.toast(lang.lang_setting_cwtext.replace("{{set}}" ,cwtd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw-text", cwtd);
|
||||
|
||||
var cwsd = $("[name=cws]:checked").val();
|
||||
var cwst = $("[for=cws_"+cwsd+"]").text();
|
||||
if (cwsd != localStorage.getItem("always-cw")) {
|
||||
Materialize.toast(lang.lang_setting_cws.replace("{{set}}" ,cwst), 3000);
|
||||
}
|
||||
localStorage.setItem("always-cw", cwsd);
|
||||
|
||||
var rpd = $("[name=rp]:checked").val();
|
||||
var rpt = $("[for=c_"+cwd+"]").text();
|
||||
if (rpd != localStorage.getItem("replyct")) {
|
||||
Materialize.toast(lang.lang_setting_rp.replace("{{set}}" ,rpt), 3000);
|
||||
}
|
||||
localStorage.setItem("replyct", rpd);
|
||||
|
||||
var visd = $("[name=vis]:checked").val();
|
||||
var vist = $("[for="+visd+"]").text();
|
||||
if (visd != localStorage.getItem("vis")) {
|
||||
Materialize.toast(lang.lang_setting_vis.replace("{{set}}" ,vist), 3000);
|
||||
}
|
||||
localStorage.setItem("vis", visd);
|
||||
|
||||
var popd = $("#popup").val();
|
||||
if (popd > 0 && popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,popd+lang.lang_setting_s), 3000);
|
||||
} else if (popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,lang.lang_setting_off), 3000);
|
||||
}
|
||||
localStorage.setItem("popup", popd);
|
||||
|
||||
var gifd = $("[name=gif]:checked").val();
|
||||
var gift = $("[for=g_"+gifd+"]").text();
|
||||
if (gifd != localStorage.getItem("gif")) {
|
||||
Materialize.toast(lang.lang_setting_gif.replace("{{set}}" ,gift), 3000);
|
||||
}
|
||||
localStorage.setItem("gif", gifd);
|
||||
|
||||
var sentd = $("#sentence").val();
|
||||
var ltrd = $("#letters").val();
|
||||
if (sentd != localStorage.getItem("sentence") || ltrd != localStorage.getItem("letters")) {
|
||||
Materialize.toast(lang.lang_setting_selt.replace("{{set1}}" ,sentd).replace("{{set2}}" ,ltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("sentence", sentd);
|
||||
localStorage.setItem("letters", ltrd);
|
||||
|
||||
var csentd = $("#cw_sentence").val();
|
||||
var cltrd = $("#cw_letters").val();
|
||||
if (csentd != localStorage.getItem("cw_sentence") || cltrd != localStorage.getItem("cw_letters")) {
|
||||
Materialize.toast(lang.lang_setting_autocw.replace("{{set1}}" ,csentd).replace("{{set2}}" ,cltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw_sentence", csentd);
|
||||
localStorage.setItem("cw_letters", cltrd);
|
||||
|
||||
var widthd = $("#width").val();
|
||||
if (widthd != localStorage.getItem("width")) {
|
||||
Materialize.toast(lang.lang_setting_width.replace("{{set}}" ,widthd), 3000);
|
||||
}
|
||||
localStorage.setItem("width", widthd);
|
||||
|
||||
var fwidthd = $("#fixwidth").val();
|
||||
if (fwidthd != localStorage.getItem("fixwidth")) {
|
||||
Materialize.toast(lang.lang_setting_fixwidth.replace("{{set}}" ,fwidthd), 3000);
|
||||
}
|
||||
localStorage.setItem("fixwidth", fwidthd);
|
||||
|
||||
var imgd = $("[name=img]:checked").val();
|
||||
var imgt = $("[for=i_"+imgd+"]").text();
|
||||
if (imgd != localStorage.getItem("img")) {
|
||||
Materialize.toast(lang.lang_setting_img.replace("{{set}}" ,imgt), 3000);
|
||||
}
|
||||
localStorage.setItem("img", imgd);
|
||||
|
||||
var fontd = $("#font").val();
|
||||
if(fontd){
|
||||
if (fontd != localStorage.getItem("font")) {
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,fontd), 3000);
|
||||
}
|
||||
localStorage.setItem("font", fontd);
|
||||
themes();
|
||||
}else{
|
||||
if(localStorage.getItem("font")){
|
||||
localStorage.removeItem("font");
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,lang.lang_setting_default), 3000);
|
||||
themes();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var sized = $("#size").val();
|
||||
if (sized != localStorage.getItem("size")) {
|
||||
Materialize.toast(lang.lang_setting_size.replace("{{set}}" ,sized), 3000);
|
||||
}
|
||||
localStorage.setItem("size", sized);
|
||||
|
||||
var heid = $("#img-height").val();
|
||||
if (heid != localStorage.getItem("img-height")) {
|
||||
Materialize.toast(lang.lang_setting_imgheight.replace("{{set}}" ,heid), 3000);
|
||||
}
|
||||
localStorage.setItem("img-height", heid);
|
||||
|
||||
var tckrd = $("[name=ticker]:checked").val();
|
||||
var tckrt = $("[for=ticker_"+tckrd+"]").text();
|
||||
if (tckrd != localStorage.getItem("ticker_ok")) {
|
||||
Materialize.toast(lang.lang_setting_ticker.replace("{{set}}" ,tckrt), 3000);
|
||||
}
|
||||
localStorage.setItem("ticker_ok", tckrd);
|
||||
|
||||
var animed = $("[name=anime]:checked").val();
|
||||
var animet = $("[for=anime_"+animed+"]").text();
|
||||
if (animed != localStorage.getItem("animation")) {
|
||||
Materialize.toast(lang.lang_setting_animation.replace("{{set}}" ,animet), 3000);
|
||||
}
|
||||
localStorage.setItem("animation", animed);
|
||||
|
||||
var boxd = $("[name=box]:checked").val();
|
||||
var boxt = $("[for=bx_"+boxd+"]").text();
|
||||
if (boxd != localStorage.getItem("box")) {
|
||||
Materialize.toast(lang.lang_setting_boxConfirm.replace("{{set}}" ,boxt), 3000);
|
||||
}
|
||||
localStorage.setItem("box", boxd);
|
||||
|
||||
var tagd = $("[name=tag]:checked").val();
|
||||
var tagt = $("[for=t_"+tagd+"]").text();
|
||||
if (tagd != localStorage.getItem("tag-range")) {
|
||||
Materialize.toast(lang.lang_setting_tag.replace("{{set}}" ,tagt), 3000);
|
||||
}
|
||||
localStorage.setItem("tag-range", tagd);
|
||||
|
||||
var uld = $("[name=ul]:checked").val();
|
||||
var ult = $("[for=ul_"+uld+"]").text();
|
||||
if (uld != localStorage.getItem("locale")) {
|
||||
Materialize.toast(lang.lang_setting_ul.replace("{{set}}" ,ult), 3000);
|
||||
}
|
||||
localStorage.setItem("locale", uld);
|
||||
|
||||
var ntd = $("[name=notf]:checked").val();
|
||||
var ntt = $("[for=ntf_"+ntd+"]").text();
|
||||
if (ntd != localStorage.getItem("nativenotf")) {
|
||||
Materialize.toast(lang.lang_setting_notf.replace("{{set}}" ,ntt), 3000);
|
||||
}
|
||||
localStorage.setItem("nativenotf", ntd);
|
||||
|
||||
var qtd = $("[name=quote]:checked").val();
|
||||
var qtt = $("[for=q_"+qtd+"]").text();
|
||||
if (qtd != localStorage.getItem("quote")) {
|
||||
Materialize.toast(lang.lang_setting_quote.replace("{{set}}" ,qtt), 3000);
|
||||
}
|
||||
localStorage.setItem("quote", qtd);
|
||||
|
||||
var viad = $("[name=via]:checked").val();
|
||||
var viat = $("[for=via_"+viad+"]").text();
|
||||
if (viad != localStorage.getItem("viashow")) {
|
||||
Materialize.toast(lang.lang_setting_via.replace("{{set}}" ,viat), 3000);
|
||||
}
|
||||
localStorage.setItem("viashow", viad);
|
||||
|
||||
var notfmd = $("[name=notfm]:checked").val();
|
||||
var notfmt = $("[for=notfm_"+notfmd+"]").text();
|
||||
if (notfmd != localStorage.getItem("setasread")) {
|
||||
Materialize.toast(lang.lang_setting_setasread.replace("{{set}}" ,notfmt), 3000);
|
||||
}
|
||||
localStorage.setItem("setasread", notfmd);
|
||||
|
||||
var movd = $("[name=mov]:checked").val();
|
||||
var movt = $("[for=mov_"+movd+"]").text();
|
||||
if (movd != localStorage.getItem("mouseover")) {
|
||||
Materialize.toast(lang.lang_setting_mov.replace("{{set}}" ,movt), 3000);
|
||||
}
|
||||
localStorage.setItem("mouseover", movd);
|
||||
|
||||
var maind = $("[name=main]:checked").val();
|
||||
var maint = $("[for=mn_"+maind+"]").text();
|
||||
if (maind != localStorage.getItem("mainuse")) {
|
||||
Materialize.toast(lang.lang_setting_main.replace("{{set}}" ,maint), 3000);
|
||||
}
|
||||
localStorage.setItem("mainuse", maind);
|
||||
|
||||
var secd = $("[name=sec]:checked").val();
|
||||
var sect = $("[for=sec-"+secd+"]").text();
|
||||
if (secd != localStorage.getItem("sec")) {
|
||||
Materialize.toast(lang.lang_setting_sec.replace("{{set}}" ,sect), 3000);
|
||||
}
|
||||
localStorage.setItem("sec", secd);
|
||||
}
|
||||
|
||||
//読み込み時の設定ロード
|
||||
function load() {
|
||||
if(localStorage.getItem("imas")){
|
||||
$(".imas").removeClass("hide");
|
||||
}
|
||||
if(localStorage.getItem("kirishima")){
|
||||
$(".kirishima").removeClass("hide");
|
||||
}
|
||||
var prof = localStorage.getItem("prof");
|
||||
$("#my-prof").attr("src", prof);
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
if (!datetype) {
|
||||
var datetype = "absolute";
|
||||
}
|
||||
$("#" + datetype).prop("checked", true);
|
||||
|
||||
var theme = localStorage.getItem("theme");
|
||||
if (!theme) {
|
||||
var theme = "white";
|
||||
}
|
||||
$("#" + theme).prop("checked", true);
|
||||
|
||||
var ha = localStorage.getItem("ha");
|
||||
if (!ha) {
|
||||
var ha = "false";
|
||||
}
|
||||
$("#ha_" + ha).prop("checked", true);
|
||||
|
||||
var nsfw = localStorage.getItem("nsfw");
|
||||
if (!nsfw) {
|
||||
var nsfw = "yes";
|
||||
}
|
||||
$("#n_" + nsfw).prop("checked", true);
|
||||
|
||||
var cw = localStorage.getItem("cw");
|
||||
if (!cw) {
|
||||
var cw = "yes";
|
||||
}
|
||||
$("#c_" + cw).prop("checked", true);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
var popup = "0";
|
||||
}
|
||||
$("#popup").val(popup);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "no";
|
||||
}
|
||||
if(box=="absolute"){
|
||||
var box = "abs";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var gif = localStorage.getItem("gif");
|
||||
if (!gif) {
|
||||
var gif = "yes";
|
||||
}
|
||||
$("#g_" + gif).prop("checked", true);
|
||||
|
||||
var sent = localStorage.getItem("sentence");
|
||||
if (!sent) {
|
||||
var sent = "500";
|
||||
}
|
||||
$("#sentence").val(sent);
|
||||
var ltrs = localStorage.getItem("letters");
|
||||
if (!ltrs) {
|
||||
var ltrs = "500";
|
||||
}
|
||||
$("#letters").val(ltrs);
|
||||
|
||||
var csent = localStorage.getItem("cw_sentence");
|
||||
if (!csent) {
|
||||
var csent = "500";
|
||||
}
|
||||
$("#cw_sentence").val(csent);
|
||||
var cltrs = localStorage.getItem("cw_letters");
|
||||
if (!cltrs) {
|
||||
var cltrs = "500";
|
||||
}
|
||||
$("#cw_letters").val(cltrs);
|
||||
|
||||
var width = localStorage.getItem("width");
|
||||
if (!width) {
|
||||
var width = "300";
|
||||
}
|
||||
$("#width").val(width);
|
||||
|
||||
var fwidth = localStorage.getItem("fixwidth");
|
||||
if (!fwidth) {
|
||||
var fwidth = "300";
|
||||
}
|
||||
$("#fixwidth").val(fwidth);
|
||||
|
||||
var cwt = localStorage.getItem("cw-text");
|
||||
if (!cwt) {
|
||||
var cwt = "";
|
||||
}
|
||||
$("#cw-text").val(cwt);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var rps = localStorage.getItem("replyct");
|
||||
if (!rps) {
|
||||
var rps = "hidden";
|
||||
}
|
||||
$("#rp_" + rps).prop("checked", true);
|
||||
|
||||
var vis = localStorage.getItem("vis");
|
||||
if (!vis) {
|
||||
var vis = "public";
|
||||
}
|
||||
$("#" + vis).prop("checked", true);
|
||||
|
||||
var img = localStorage.getItem("img");
|
||||
if (!img) {
|
||||
var img = "no-act";
|
||||
}
|
||||
$("#i_" + img).prop("checked", true);
|
||||
|
||||
var font = localStorage.getItem("font");
|
||||
if (!font) {
|
||||
var font = "";
|
||||
}
|
||||
$("#font").val(font);
|
||||
|
||||
var size = localStorage.getItem("size");
|
||||
if (!size) {
|
||||
var size = "13";
|
||||
}
|
||||
$("#size").val(size);
|
||||
|
||||
var imh = localStorage.getItem("img-height");
|
||||
if (!imh) {
|
||||
var imh = "200";
|
||||
}
|
||||
$("#img-height").val(imh);
|
||||
|
||||
var ticker = localStorage.getItem("ticker_ok");
|
||||
if (!ticker) {
|
||||
var ticker = "no";
|
||||
}
|
||||
$("#ticker_" + ticker).prop("checked", true);
|
||||
|
||||
var animation = localStorage.getItem("animation");
|
||||
if (!animation) {
|
||||
var animation = "yes";
|
||||
}
|
||||
$("#anime_" + animation).prop("checked", true);
|
||||
|
||||
var tag = localStorage.getItem("tag-range");
|
||||
if (!tag) {
|
||||
var tag = "all";
|
||||
}
|
||||
$("#t_" + tag).prop("checked", true);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "yes";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var uld = localStorage.getItem("locale");
|
||||
if (!uld) {
|
||||
var uld = "yes";
|
||||
}
|
||||
$("#ul_" + uld).prop("checked", true);
|
||||
|
||||
var nnd = localStorage.getItem("nativenotf");
|
||||
if (!nnd) {
|
||||
var nnd = "yes";
|
||||
}
|
||||
$("#ntf_" + nnd).prop("checked", true);
|
||||
|
||||
var qt = localStorage.getItem("quote");
|
||||
if (!qt) {
|
||||
var qt = "simple";
|
||||
}
|
||||
$("#q_" + qt).prop("checked", true);
|
||||
|
||||
var viat = localStorage.getItem("viashow");
|
||||
if (!viat) {
|
||||
var viat = "hide";
|
||||
}
|
||||
$("#via_" + viat).prop("checked", true);
|
||||
|
||||
var movt = localStorage.getItem("mouseover");
|
||||
if (!movt) {
|
||||
var movt = "no";
|
||||
}
|
||||
$("#mov_" + movt).prop("checked", true);
|
||||
|
||||
var notfmt = localStorage.getItem("setasread");
|
||||
if (!notfmt) {
|
||||
var notfmt = "yes";
|
||||
}
|
||||
$("#notfm_" + notfmt).prop("checked", true);
|
||||
|
||||
var maint = localStorage.getItem("mainuse");
|
||||
if (!maint) {
|
||||
var maint = "remain";
|
||||
}
|
||||
$("#mn_" + maint).prop("checked", true);
|
||||
|
||||
var sect = localStorage.getItem("sec");
|
||||
if (!sect) {
|
||||
var sect = "nothing";
|
||||
}
|
||||
$("#sec-" + sect).prop("checked", true);
|
||||
|
||||
}
|
||||
|
||||
function climute(){
|
||||
//クライアントミュート
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
}else{
|
||||
if(!obj[0]){
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
return;
|
||||
}
|
||||
var templete;
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var cli = obj[key];
|
||||
var list = key * 1 + 1;
|
||||
templete = '<div class="acct" id="acct_' + key + '">' + list +
|
||||
'.' +
|
||||
cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
|
||||
key + ')">'+lang.lang_del+'</button><br></div>';
|
||||
$("#mute-cli").append(templete);
|
||||
});
|
||||
}
|
||||
}
|
||||
function cliMuteDel(key){
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
obj.splice(key, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
mute();
|
||||
}
|
||||
|
||||
function wordmute(){
|
||||
var word = localStorage.getItem("word_mute");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordmute').material_chip({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordmuteSave(){
|
||||
var word=$('#wordmute').material_chip('data');
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_mute", json);
|
||||
}
|
||||
|
||||
function wordemp(){
|
||||
var word = localStorage.getItem("word_emp");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordemp').material_chip({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordempSave(){
|
||||
var word=$('#wordemp').material_chip('data');
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_emp", json);
|
||||
}
|
||||
function notftest(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',
|
||||
icon: localStorage.getItem("prof_0")
|
||||
};
|
||||
if(os=="darwin"){
|
||||
var n = new Notification('TheDesk'+lang.lang_setting_notftest, options);
|
||||
}else{
|
||||
ipc.send('native-notf', ['TheDesk'+lang.lang_setting_notftest,lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',localStorage.getItem('prof_0'),"",""]);
|
||||
}
|
||||
|
||||
}
|
||||
function oks(no){
|
||||
var txt=$("#oks-"+no).val();
|
||||
localStorage.setItem("oks-"+no, txt);
|
||||
Materialize.toast(lang.lang_setting_ksref, 3000);
|
||||
}
|
||||
function oksload(){
|
||||
if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))}
|
||||
if(localStorage.getItem("oks-2")){$("#oks-2").val(localStorage.getItem("oks-2"))}
|
||||
if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))}
|
||||
}
|
||||
function changelang(lang){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('lang',lang);
|
||||
ipc.on('langres', function (event, arg) {
|
||||
location.href="../"+lang+"/setting.html"
|
||||
});
|
||||
}
|
||||
function exportSettings(){
|
||||
if(!confirm(lang.lang_setting_exportwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showSaveDialog(null, {
|
||||
title: 'Export',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: "export.thedeskconfig"
|
||||
}, (savedFiles) => {
|
||||
console.log(savedFiles);
|
||||
if(!savedFiles){
|
||||
return false;
|
||||
}
|
||||
var exp={};
|
||||
//Accounts
|
||||
var multi = localStorage.getItem("multi");
|
||||
var acct = JSON.parse(multi);
|
||||
exp.accts=acct;
|
||||
//Columns
|
||||
var multi = localStorage.getItem("column");
|
||||
var column = JSON.parse(multi);
|
||||
exp.columns=column;
|
||||
//Themes
|
||||
exp.theme=localStorage.getItem("theme");
|
||||
//Min width
|
||||
exp.minwidth=localStorage.getItem("width");
|
||||
//Font
|
||||
exp.font=localStorage.getItem("font");
|
||||
exp.size=localStorage.getItem("size");
|
||||
//Img height
|
||||
exp.imgheight=localStorage.getItem("img-height");
|
||||
//Main
|
||||
exp.mainuse=localStorage.getItem("mainuse");
|
||||
//CW text
|
||||
exp.cw=localStorage.getItem("cw-text");
|
||||
//vis
|
||||
exp.vis=localStorage.getItem("vis");
|
||||
//keysc
|
||||
exp.ksc=[
|
||||
localStorage.getItem("oks-1"),
|
||||
localStorage.getItem("oks-2"),
|
||||
localStorage.getItem("oks-3")
|
||||
];
|
||||
//climu
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var climu = JSON.parse(cli);
|
||||
exp.clientMute=climu;
|
||||
//wordmu
|
||||
var wdm = localStorage.getItem("word_mute");
|
||||
var wordmu = JSON.parse(wdm);
|
||||
exp.wordMute=wordmu;
|
||||
//spotify
|
||||
exp.spotifyArtwork=localStorage.getItem("artwork")
|
||||
var content=localStorage.getItem("np-temp");
|
||||
if(content || content=="" || content=="null"){
|
||||
exp.spotifyTemplete=content;
|
||||
}else{
|
||||
exp.spotifyTemplete=null;
|
||||
}
|
||||
//tags
|
||||
var tagarr = localStorage.getItem("tag");
|
||||
var favtag = JSON.parse(tagarr);
|
||||
exp.favoriteTags=favtag;
|
||||
console.log(exp);
|
||||
ipc.send('export', [savedFiles,JSON.stringify(exp)]);
|
||||
alert("Done.")
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
function importSettings(){
|
||||
if(!confirm(lang.lang_setting_importwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Import',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{name: 'TheDesk Config', extensions: ['thedeskconfig']},
|
||||
]
|
||||
}, (fileNames) => {
|
||||
console.log(fileNames);
|
||||
if(!fileNames){
|
||||
return false;
|
||||
}
|
||||
ipc.send('import', fileNames[0]);
|
||||
ipc.on('config', function (event, arg) {
|
||||
var obj = JSON.parse(arg);
|
||||
if(obj){
|
||||
localStorage.clear();
|
||||
localStorage.setItem("multi",JSON.stringify(obj.accts));
|
||||
for(var key=0;key<obj.accts.length;key++){
|
||||
var acct=obj.accts[key];
|
||||
localStorage.setItem("name_" + key, acct.name);
|
||||
localStorage.setItem("user_" + key, acct.user);
|
||||
localStorage.setItem("user-id_" + key, acct.id);
|
||||
localStorage.setItem("prof_" + key, acct.prof);
|
||||
localStorage.setItem("domain_" + key, acct.domain);
|
||||
localStorage.setItem("acct_"+ key + "_at", acct.at);
|
||||
}
|
||||
localStorage.setItem("column",JSON.stringify(obj.columns));
|
||||
localStorage.setItem("theme",obj.theme);
|
||||
if(obj.width){
|
||||
console.log(obj.width)
|
||||
localStorage.setItem("width",obj.width);
|
||||
}
|
||||
if(obj.font){
|
||||
localStorage.setItem("font",obj.font);
|
||||
}
|
||||
if(obj.size){
|
||||
localStorage.setItem("size",obj.size);
|
||||
}
|
||||
themes(obj.theme);
|
||||
if(obj.imgheight){
|
||||
localStorage.setItem("img-height",obj.imgheight);
|
||||
}
|
||||
localStorage.setItem("mainuse",obj.mainuse);
|
||||
if(obj.cw){
|
||||
localStorage.setItem("cwtext",obj.cw);
|
||||
}
|
||||
localStorage.setItem("vis",obj.vis);
|
||||
if(obj.ksc[0]){
|
||||
localStorage.setItem("oks-1",obj.ksc[0]);
|
||||
}
|
||||
if(obj.ksc[1]){
|
||||
localStorage.setItem("oks-2",obj.ksc[1]);
|
||||
}
|
||||
if(obj.ksc[2]){
|
||||
localStorage.setItem("oks-3",obj.ksc[2]);
|
||||
}
|
||||
if(obj.clientMute){
|
||||
localStorage.setItem("client_mute",JSON.stringify(obj.clientMute));
|
||||
}
|
||||
if(obj.wordMute){
|
||||
localStorage.setItem("word_mute",JSON.stringify(obj.wordMute));
|
||||
}
|
||||
if(obj.favoriteTags){
|
||||
localStorage.setItem("tag",JSON.stringify(obj.favoriteTags));
|
||||
}
|
||||
|
||||
localStorage.setItem("np-temp",obj.spotifyTemplete);
|
||||
for(var i=0;i<obj.columns.length;i++){
|
||||
localStorage.setItem("card_" + i,"true");
|
||||
localStorage.removeItem("catch_" + i);
|
||||
}
|
||||
location.href="language.html";
|
||||
}else{
|
||||
alert("Error.")
|
||||
}
|
||||
})
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
function savefolder(){
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Save folder',
|
||||
properties: ['openDirectory'],
|
||||
}, (fileNames) => {
|
||||
localStorage.setItem("savefolder",fileNames[0]);
|
||||
});
|
||||
}
|
||||
|
||||
function font(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('fonts', []);
|
||||
ipc.on('font-list', function (event, arg) {
|
||||
$("#fonts").removeClass("hide");
|
||||
for( var i=0; i<arg.length; i++) {
|
||||
var font=arg[i];
|
||||
$("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>")
|
||||
}
|
||||
});
|
||||
}
|
||||
function insertFont(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
|
||||
interaction: {
|
||||
rgba: false, // rgba option (red green blue and alpha)
|
||||
input: true, // input / output element
|
||||
}
|
||||
},
|
||||
strings: {
|
||||
save: 'Save', // Default for save button
|
||||
clear: 'Clear' // Default for clear button
|
||||
}
|
||||
});
|
||||
pickr.on('change', (...args) => {
|
||||
var rgb='rgb('+args[0].toRGBA()[0]+','+args[0].toRGBA()[1]+','+args[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();
|
||||
var primaryC=$("#color-picker0_value").val();
|
||||
if(!primaryC){primaryC="rgb(255,255,255)"}
|
||||
var secondaryC=$("#color-picker1_value").val();
|
||||
if(!secondaryC){secondaryC="rgb(255,255,255)"}
|
||||
var textC=$("#color-picker2_value").val();
|
||||
if(!textC){textC="rgb(255,255,255)"}
|
||||
var accentC=$("#color-picker3_value").val();
|
||||
if(!accentC){accentC="rgb(255,255,255)"}
|
||||
var multi = localStorage.getItem("multi");
|
||||
var my=JSON.parse(multi)[0].name;
|
||||
var id=$("#custom-edit-sel").val();
|
||||
if(id=="add_new"){
|
||||
id=makeCID();
|
||||
}
|
||||
var json={
|
||||
"name": nameC,
|
||||
"author": my,
|
||||
"desc": descC,
|
||||
"base": $("[name=direction]:checked").val(),
|
||||
"vars": {
|
||||
"primary": primaryC,
|
||||
"secondary": secondaryC,
|
||||
"text": textC
|
||||
},
|
||||
"props": {
|
||||
"TheDeskAccent": accentC
|
||||
},
|
||||
"id": id
|
||||
}
|
||||
$("#custom_json").val(JSON.stringify(json));
|
||||
themes();
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
ipc.send('theme-json-create', JSON.stringify(json));
|
||||
}
|
||||
function deleteIt(){
|
||||
var id=$("#custom-sel-sel").val();
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
ipc.on('theme-json-delete-complete', function (event, args) {
|
||||
ctLoad()
|
||||
});
|
||||
ipc.send('theme-json-delete', id);
|
||||
}
|
||||
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>';
|
||||
});
|
||||
if(args[0]){
|
||||
localStorage.setItem("customtheme-id",args[0].id)
|
||||
}
|
||||
$("#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("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
$("#delTheme").addClass("disabled")
|
||||
}else{
|
||||
$("#delTheme").removeClass("disabled")
|
||||
ipc.send('theme-json-request', id);
|
||||
ipc.on('theme-json-response', function (event, args) {
|
||||
console.log(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-picker0_value").val(args.vars.primary);
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
pickerDefine(1,rgbToHex(args.vars.secondary))
|
||||
$("#color-picker1_value").val(args.vars.secondary);
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker2_value").val(args.vars.text);
|
||||
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")
|
||||
}
|
||||
}
|
||||
function hardwareAcceleration(){
|
||||
var had = $("[name=ha]:checked").val();
|
||||
localStorage.setItem("ha", had);
|
||||
console.log("ha");
|
||||
ipc.send('ha', had);
|
||||
}
|
||||
|
||||
ipc.on('theme-json-create-complete', function (event, args) {
|
||||
$("#custom_import").val("");
|
||||
ctLoad()
|
||||
});
|
||||
//最初に読む
|
||||
load();
|
||||
climute();
|
||||
wordmute();
|
||||
wordemp();
|
||||
checkSpotify();
|
||||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
ctLoad()
|
@@ -108,7 +108,10 @@ function nowplaying(mode) {
|
||||
$("#textarea").val(content);
|
||||
});
|
||||
} else {
|
||||
alert(lang.lang_spotify_acct);
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: lang.lang_spotify_acct
|
||||
})
|
||||
}
|
||||
} else if (mode == "itunes") {
|
||||
postMessage(["itunes", ""], "*")
|
||||
|
@@ -133,7 +133,10 @@ function spotifytips() {
|
||||
spotint = setInterval(spotStart, 1000);
|
||||
});
|
||||
} else {
|
||||
alert(lang.lang_spotify_acct);
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: lang.lang_spotify_acct
|
||||
})
|
||||
}
|
||||
}
|
||||
function spotStart() {
|
||||
|
@@ -193,6 +193,9 @@ function udg(user, acct_id) {
|
||||
$("#his-emp-btn").hide();
|
||||
$(".only-my-data").show();
|
||||
$(".only-his-data").hide();
|
||||
if(localStorage.getItem("main")==acct_id){
|
||||
$("#his-main-acct").hide();
|
||||
}
|
||||
} else {
|
||||
relations(user, acct_id);
|
||||
$(".only-my-data").hide();
|
||||
@@ -293,6 +296,9 @@ function misskeyUdg(user, acct_id) {
|
||||
$("#his-emp-btn").hide();
|
||||
$(".only-my-data").show();
|
||||
$(".only-his-data").hide();
|
||||
if(localStorage.getItem("main")==acct_id){
|
||||
$("#his-main-acct").hide();
|
||||
}
|
||||
} else {
|
||||
if (json.isFollowing) {
|
||||
//自分がフォローしている
|
||||
@@ -409,6 +415,12 @@ function profbrws() {
|
||||
var url = $("#his-openin").attr("data-href")
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
function setMain() {
|
||||
var acct_id = $("#his-data").attr("use-acct")
|
||||
localStorage.setItem("main", acct_id);
|
||||
multiSelector(true)
|
||||
M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 })
|
||||
}
|
||||
//オールリセット
|
||||
function hisclose() {
|
||||
$('#his-data').modal('close');
|
||||
@@ -464,6 +476,7 @@ function reset() {
|
||||
$("#his-openin").attr("data-href", "");
|
||||
$("#his-float-timeline").show();
|
||||
$("#his-float-blocked").hide();
|
||||
$("#his-main-acct").show();
|
||||
$("#his-proof-prof").html("")
|
||||
}
|
||||
$('#my-data-nav .tab').on('click', function () {
|
||||
|
@@ -53,9 +53,13 @@ function css(mainWindow) {
|
||||
if (json.base == "light") {
|
||||
var drag = "rgba(255, 255, 255, 0.8)";
|
||||
var beforehover = "#757575";
|
||||
var selected = "#3f3f3f"
|
||||
var selectedWithShare = "#b2babd"
|
||||
} else {
|
||||
var drag = "rgba(0, 0, 0, 0.8)";
|
||||
var beforehover = "#9e9e9e";
|
||||
var selected = "#c0c0c0"
|
||||
var selectedWithShare = "#003a30"
|
||||
}
|
||||
if (json.props) {
|
||||
if (json.props.TheDeskAccent) {
|
||||
@@ -75,7 +79,7 @@ function css(mainWindow) {
|
||||
secondary +
|
||||
";--active:" + primary + ";--postbox:" + primary + ";--modalfooter:" +
|
||||
primary +
|
||||
";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
";--accentbtn:" + primary + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + "}.customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
e.sender.webContents.send('theme-css-response', css);
|
||||
} catch (e) {
|
||||
var css = "";
|
||||
|
@@ -27,6 +27,7 @@ function dl(mainWindow, lang_path, base, dirname) {
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false
|
||||
});
|
||||
//updatewin.openDevTools()
|
||||
var lang = fs.readFileSync(lang_path, 'utf8');
|
||||
updatewin.loadURL(base + lang + '/update.html');
|
||||
|
||||
@@ -44,7 +45,7 @@ function dl(mainWindow, lang_path, base, dirname) {
|
||||
directory: dir,
|
||||
openFolderWhenDone: true,
|
||||
onProgress: function (event) {
|
||||
e.sender.webContents.send('prog', e);
|
||||
e.sender.webContents.send('prog', event);
|
||||
},
|
||||
saveAs: false
|
||||
};
|
||||
@@ -53,7 +54,6 @@ function dl(mainWindow, lang_path, base, dirname) {
|
||||
.then(dl => {
|
||||
e.sender.webContents.send('mess', "ダウンロードが完了しました。");
|
||||
app.quit();
|
||||
|
||||
})
|
||||
.catch(console.error);
|
||||
}
|
||||
|
@@ -146,33 +146,5 @@ function templete(lang, mainWindow, packaged, dir) {
|
||||
];
|
||||
return menu;
|
||||
}
|
||||
function delsel(lang) {
|
||||
const dict = {
|
||||
"delete": {
|
||||
"ja": "カラム削除",
|
||||
"en": "Delete this column"
|
||||
},
|
||||
"mess": {
|
||||
"ja": "カラムを削除しますか?(すべてのカラムのリンク解析がOFFになります。)",
|
||||
"en": "Delete this column(URL analyzes of all windows will be disabled.)"
|
||||
},
|
||||
"yes": {
|
||||
"ja": "はい",
|
||||
"en": "Yes"
|
||||
},
|
||||
"no": {
|
||||
"ja": "いいえ",
|
||||
"en": "No"
|
||||
}
|
||||
}
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: dict.delete[lang],
|
||||
message: dict.mess[lang],
|
||||
buttons: [dict.no[lang], dict.yes[lang]]
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
exports.template = templete;
|
||||
exports.delsel = delsel;
|
||||
exports.template = templete;
|
@@ -51,28 +51,6 @@ function system(mainWindow, dir, lang, dirname) {
|
||||
fs.writeFileSync(lang_path, arg);
|
||||
e.sender.webContents.send('langres', "");
|
||||
})
|
||||
//ストアから入れたかダイアログ
|
||||
ipc.on('dialogStore', function (e, args) {
|
||||
dialog.showMessageBox(args, function (arg) {
|
||||
if (arg == 1) {
|
||||
e.sender.webContents.send('winstore', "winstore");
|
||||
} else {
|
||||
e.sender.webContents.send('winstore', "localinstall");
|
||||
}
|
||||
});
|
||||
})
|
||||
//CWのダイアログ
|
||||
ipc.on('dialogCW', function (e, args) {
|
||||
dialog.showMessageBox(args, function (arg) {
|
||||
e.sender.webContents.send('dialogCWRender', arg);
|
||||
});
|
||||
})
|
||||
//クライアントのダイアログ
|
||||
ipc.on('dialogClient', function (e, args) {
|
||||
dialog.showMessageBox(args, function (arg) {
|
||||
e.sender.webContents.send('dialogClientRender', arg);
|
||||
});
|
||||
})
|
||||
//エクスポートのダイアログ
|
||||
ipc.on('exportSettings', function (e, args) {
|
||||
dialog.showSaveDialog(null, {
|
||||
@@ -158,13 +136,6 @@ function system(mainWindow, dir, lang, dirname) {
|
||||
window.loadURL(dir + '/about.html?ver=' + ver);
|
||||
return "true"
|
||||
}
|
||||
ipc.on('column-del', (e, tlid) => {
|
||||
console.log(tlid);
|
||||
var options = language.delsel(lang)
|
||||
dialog.showMessageBox(options, function (index) {
|
||||
e.sender.webContents.send('column-del-reply', [index, tlid]);
|
||||
})
|
||||
});
|
||||
ipc.on('nano', function (e, x, y) {
|
||||
|
||||
var nano_info_path = join(app.getPath("userData"),
|
||||
|
@@ -99,10 +99,8 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
|
||||
<script>
|
||||
//jQuery読む
|
||||
window.jQuery = window.$ = require('./js/common/jquery.js');
|
||||
var Hammer = require('./js/common/hammer.min.js');
|
||||
$.strip_tags = function (str, allowed) {
|
||||
if (!str) {
|
||||
return "";
|
||||
|
3846
app/package-lock.json
generated
3846
app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "18.6.1",
|
||||
"version": "18.7.0",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"repository": "https://github.com/cutls/TheDesk",
|
||||
"main": "main.js",
|
||||
@@ -43,7 +43,7 @@
|
||||
},
|
||||
{
|
||||
"name": "kPherox",
|
||||
"url": "https://pawoo.net/@kPherox",
|
||||
"url": "https://pl.kpherox.dev/kPherox",
|
||||
"email": "admin@mail.kr-kp.com"
|
||||
}
|
||||
],
|
||||
@@ -51,9 +51,12 @@
|
||||
"dependencies": {
|
||||
"electron-dl": "^1.14.0",
|
||||
"jimp": "^0.6.4",
|
||||
"jquery": "^3.4.1",
|
||||
"json5": "^2.1.0",
|
||||
"materialize-css": "^1.0.0",
|
||||
"node-notifier": "^5.4.0",
|
||||
"sumchecker": "^3.0.0",
|
||||
"sweetalert2": "^8.13.0",
|
||||
"vue": "^2.6.10"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
@@ -62,8 +65,8 @@
|
||||
"font-manager": "^0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^5.0.1",
|
||||
"electron-builder": "^20.43.0",
|
||||
"electron": "^5.0.4",
|
||||
"electron-builder": "^20.44.4",
|
||||
"readline-sync": "1.4.9"
|
||||
},
|
||||
"build": {
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.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'>
|
||||
@@ -74,10 +74,11 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var misskeytoken = false;
|
||||
</script>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
|
||||
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
@@ -25,9 +25,9 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
|
||||
@@ -35,8 +35,9 @@
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.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="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var ver = "Usamin (18.6.1)";
|
||||
var ver = "Usamin (18.7.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -161,8 +162,8 @@
|
||||
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
|
||||
<i class="waves-effect gray material-icons" id="nsfw" title="Mark media as sensitive"
|
||||
onclick="nsfw()">visibility_off</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger"
|
||||
data-target="dropdown1" id="vis-icon">public</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger" data-target="dropdown1"
|
||||
id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="Hide text behind warning">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray"
|
||||
onclick="fileselect()" title="Attach..">photo_library</i></span></span>
|
||||
@@ -233,9 +234,9 @@
|
||||
<!--END hidden area-->
|
||||
</div>
|
||||
<div id="toot-btn-field">
|
||||
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
|
||||
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
|
||||
id="toot-post-btn">Toot</button>
|
||||
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
|
||||
title="Secondary Toot">lock_open</i></button>
|
||||
</div>
|
||||
@@ -326,7 +327,7 @@
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<ul class="collapsible"id="det-col">
|
||||
<ul class="collapsible" id="det-col">
|
||||
<li class="dm-hide">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">people_outline</i>Local TL after this toot)
|
||||
@@ -464,7 +465,9 @@
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data"
|
||||
id="his-end-btn" onclick="pinUser()">Feature on profile</a><br>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin"
|
||||
onclick="profbrws()">Open in browser</a><br>
|
||||
onclick="profbrws()">Open in browser</a>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-my-data" id="his-main-acct"
|
||||
onclick="setMain()" style="width: calc(100% - 10px)">Set it an main account</a><br>
|
||||
</div><br>
|
||||
<div id="his-matching-list">
|
||||
Get people resembling this user.<br>
|
||||
@@ -622,7 +625,7 @@
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn"
|
||||
onclick="follow()">Follow</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn"
|
||||
onclick="mute()">Mute</a>
|
||||
onclick="muteDo()">Mute</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn"
|
||||
onclick="block()">Block</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
|
||||
@@ -676,26 +679,21 @@
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-6-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-7-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.6.1)</h5>
|
||||
・リプライができない不具合を修正<br>
|
||||
・ワードフィルター/強調の適用がおかしい不具合<br>
|
||||
・テキストエリアのフォントが設定通りにならない不具合<br>
|
||||
<h5>Release Note Usamin (18.6.0)</h5>
|
||||
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
|
||||
・投票済みのアンケートについて修正。<br>
|
||||
・<b>セキュリティの大幅な強化。</b><br>
|
||||
・ご注意<img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">: TweetDeck統合は設定で有効にしないと使えなくなりました。<br>
|
||||
・Adobeフォトエディタの廃止
|
||||
<br>
|
||||
<h5>ThinkingDeskラベル</h5>
|
||||
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
|
||||
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
|
||||
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
|
||||
<h5>Release Note Usamin (18.7.0)</h5>
|
||||
<span style="font-size :120%">・<u>トゥートを矢印キーで選択してR,B,Fで返信,BT,ふぁぼ</u></span><br>
|
||||
・Pleromaでトゥート内のトゥートへのリンクをクリックしたときの挙動を修正。<br>
|
||||
・アップロードに失敗したときに何もできなくなるバグを修正。<br>
|
||||
・設定画面の詳細説明が表示されないバグを修正。<br>
|
||||
・カラム名がオーバーフローしてしまうバグを修正。<br>
|
||||
・トゥートのリプライ元をたどる挙動を修正。<br>
|
||||
・カードが長くて(特にSpotify)邪魔な問題を修正。<br>
|
||||
・トゥート詳細画面でレイアウトが崩れる不具合を修正。<br>
|
||||
・このクライアントは勝手に特定のドメインをブロックするみたいなことはしていません。
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
@@ -952,7 +950,7 @@
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<button id="posttgl" class="btn waves-effect indigo"
|
||||
<button id="posttgl" class="btn waves-effect"
|
||||
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons"
|
||||
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>Toot
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.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">
|
||||
@@ -30,13 +30,14 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.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>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
|
||||
<h4>Preferences</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
@@ -57,7 +58,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Notification test</a><br></template>
|
||||
@@ -127,6 +128,10 @@
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
|
||||
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
|
||||
value="custom" />
|
||||
@@ -207,7 +212,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -254,7 +259,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -298,7 +303,6 @@
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -335,7 +339,8 @@
|
||||
<span>AIMP</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
|
||||
value="ITUNES" />
|
||||
<span>iTunes</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -344,7 +349,8 @@
|
||||
<span>MediaMonkey</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
|
||||
value="WINAMP" />
|
||||
<span>Winamp</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -371,21 +377,23 @@
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fa fa-spotify left"></i>Disconnect</a>
|
||||
<h5>Edit a template</h5>
|
||||
<br>
|
||||
<h5>@@templateedit@@</h5>
|
||||
@@templateeditwarn@@<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}<br>
|
||||
Windows:{song}:Song name/{album}:Album name/{artist}:Artist name<br>
|
||||
@@template1@@<br>
|
||||
@@template2@@<br>
|
||||
@@template3@@<br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
|
||||
@@ -430,6 +438,7 @@
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
@@ -443,13 +452,15 @@
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
<li>Shift+Enter:全角スペースを入れて改行</li>
|
||||
<li>Shift+Space:ゼロ幅スペース</li>
|
||||
以下アスタルテにログインしている場合のみ
|
||||
<br>
|
||||
<li>Ctrl+R:
|
||||
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
|
||||
</li><br>
|
||||
When a toot is selected:
|
||||
<li>F:Favourite this toot</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Reply to this toot</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
|
||||
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
@@ -76,9 +76,9 @@
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.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'>
|
||||
@@ -74,10 +74,11 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var misskeytoken = false;
|
||||
</script>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
|
||||
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
@@ -25,9 +25,9 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
|
||||
@@ -35,8 +35,9 @@
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.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="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var ver = "Usamin (18.6.1)";
|
||||
var ver = "Usamin (18.7.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -161,8 +162,8 @@
|
||||
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
|
||||
<i class="waves-effect gray material-icons" id="nsfw" title="画像に制限を付与"
|
||||
onclick="nsfw()">visibility_off</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger"
|
||||
data-target="dropdown1" id="vis-icon">public</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger" data-target="dropdown1"
|
||||
id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray"
|
||||
onclick="fileselect()" title="ファイルを選択">photo_library</i></span></span>
|
||||
@@ -233,9 +234,9 @@
|
||||
<!--END hidden area-->
|
||||
</div>
|
||||
<div id="toot-btn-field">
|
||||
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
|
||||
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
|
||||
id="toot-post-btn">トゥート</button>
|
||||
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
|
||||
title="セカンダリートゥート">lock_open</i></button>
|
||||
</div>
|
||||
@@ -326,7 +327,7 @@
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<ul class="collapsible"id="det-col">
|
||||
<ul class="collapsible" id="det-col">
|
||||
<li class="dm-hide">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">people_outline</i>これより後のLocal TL(言及確認)
|
||||
@@ -464,7 +465,9 @@
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data"
|
||||
id="his-end-btn" onclick="pinUser()">紹介する</a><br>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin"
|
||||
onclick="profbrws()">ブラウザで開く</a><br>
|
||||
onclick="profbrws()">ブラウザで開く</a>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-my-data" id="his-main-acct"
|
||||
onclick="setMain()" style="width: calc(100% - 10px)">メインアカウントに設定</a><br>
|
||||
</div><br>
|
||||
<div id="his-matching-list">
|
||||
似ているユーザーを取得できます。<br>
|
||||
@@ -622,7 +625,7 @@
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn"
|
||||
onclick="follow()">フォロー</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn"
|
||||
onclick="mute()">ミュート</a>
|
||||
onclick="muteDo()">ミュート</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn"
|
||||
onclick="block()">ブロック</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
|
||||
@@ -676,26 +679,21 @@
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-6-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-7-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.6.1)</h5>
|
||||
・リプライができない不具合を修正<br>
|
||||
・ワードフィルター/強調の適用がおかしい不具合<br>
|
||||
・テキストエリアのフォントが設定通りにならない不具合<br>
|
||||
<h5>Release Note Usamin (18.6.0)</h5>
|
||||
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
|
||||
・投票済みのアンケートについて修正。<br>
|
||||
・<b>セキュリティの大幅な強化。</b><br>
|
||||
・ご注意<img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">: TweetDeck統合は設定で有効にしないと使えなくなりました。<br>
|
||||
・Adobeフォトエディタの廃止
|
||||
<br>
|
||||
<h5>ThinkingDeskラベル</h5>
|
||||
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
|
||||
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
|
||||
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
|
||||
<h5>Release Note Usamin (18.7.0)</h5>
|
||||
<span style="font-size :120%">・<u>トゥートを矢印キーで選択してR,B,Fで返信,BT,ふぁぼ</u></span><br>
|
||||
・Pleromaでトゥート内のトゥートへのリンクをクリックしたときの挙動を修正。<br>
|
||||
・アップロードに失敗したときに何もできなくなるバグを修正。<br>
|
||||
・設定画面の詳細説明が表示されないバグを修正。<br>
|
||||
・カラム名がオーバーフローしてしまうバグを修正。<br>
|
||||
・トゥートのリプライ元をたどる挙動を修正。<br>
|
||||
・カードが長くて(特にSpotify)邪魔な問題を修正。<br>
|
||||
・トゥート詳細画面でレイアウトが崩れる不具合を修正。<br>
|
||||
・このクライアントは勝手に特定のドメインをブロックするみたいなことはしていません。
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
@@ -952,7 +950,7 @@
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<button id="posttgl" class="btn waves-effect indigo"
|
||||
<button id="posttgl" class="btn waves-effect"
|
||||
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons"
|
||||
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>トゥート
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.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">
|
||||
@@ -30,13 +30,14 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.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>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
|
||||
<h4>設定</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
@@ -57,7 +58,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">通知テスト</a><br></template>
|
||||
@@ -127,6 +128,10 @@
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
|
||||
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
|
||||
value="custom" />
|
||||
@@ -207,7 +212,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -254,7 +259,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -298,7 +303,6 @@
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -335,7 +339,8 @@
|
||||
<span>AIMP</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
|
||||
value="ITUNES" />
|
||||
<span>iTunes</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -344,7 +349,8 @@
|
||||
<span>MediaMonkey</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
|
||||
value="WINAMP" />
|
||||
<span>Winamp</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -371,21 +377,23 @@
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fa fa-spotify left"></i>切断</a>
|
||||
<h5>テンプレートの編集</h5>
|
||||
以下を編集してテンプレートを変更できます。<br>
|
||||
<h5>@@templateedit@@</h5>
|
||||
@@templateeditwarn@@<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
|
||||
macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}<br>
|
||||
Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名<br>
|
||||
@@template1@@<br>
|
||||
@@template2@@<br>
|
||||
@@template3@@<br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
|
||||
<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>はい</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>いいえ</span>
|
||||
</label>
|
||||
|
||||
@@ -430,6 +438,7 @@
|
||||
<li>Ctrl+Enter+Shift:投稿(セカンダリートゥート)</li>
|
||||
<li>Alt+Enter:セカンダリートゥートボタン</li>
|
||||
<li>Ctrl+E:全ての通知を既読にする</li>
|
||||
<li>Ctrl+U:一番上の一番左のトゥートを選択</li>
|
||||
<li>Esc:投稿パネルを消す</li>
|
||||
<li>F5:スーパーリロード</li>
|
||||
<li>Ctrl+Shift+C:入力内容を消す</li>
|
||||
@@ -443,13 +452,15 @@
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
<li>Shift+Enter:全角スペースを入れて改行</li>
|
||||
<li>Shift+Space:ゼロ幅スペース</li>
|
||||
以下アスタルテにログインしている場合のみ
|
||||
<br>
|
||||
<li>Ctrl+R:
|
||||
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
|
||||
</li><br>
|
||||
選択時
|
||||
<li>F:お気に入り登録</li>
|
||||
<li>B:ブースト</li>
|
||||
<li>R:返信</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
|
||||
onclick="if(confirm('全てのデータを削除します。この操作は取り消せません。')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
@@ -76,9 +76,9 @@
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.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'>
|
||||
@@ -74,10 +74,11 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.@@lang@@.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var misskeytoken = false;
|
||||
</script>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
|
||||
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
@@ -25,9 +25,9 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.@@lang@@.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
|
||||
@@ -35,6 +35,7 @@
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.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="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var ver = "@@versionLetter@@";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
@@ -161,8 +162,8 @@
|
||||
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
|
||||
<i class="waves-effect gray material-icons" id="nsfw" title="@@nsfwDes@@"
|
||||
onclick="nsfw()">visibility_off</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger"
|
||||
data-target="dropdown1" id="vis-icon">public</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger" data-target="dropdown1"
|
||||
id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="@@cwDes@@">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray"
|
||||
onclick="fileselect()" title="@@selfile@@">photo_library</i></span></span>
|
||||
@@ -233,9 +234,9 @@
|
||||
<!--END hidden area-->
|
||||
</div>
|
||||
<div id="toot-btn-field">
|
||||
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
|
||||
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
|
||||
id="toot-post-btn">@@toot@@</button>
|
||||
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
|
||||
title="@@sectoot@@">lock_open</i></button>
|
||||
</div>
|
||||
@@ -326,7 +327,7 @@
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<ul class="collapsible"id="det-col">
|
||||
<ul class="collapsible" id="det-col">
|
||||
<li class="dm-hide">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">people_outline</i>@@afterLTL@@
|
||||
@@ -464,7 +465,9 @@
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data"
|
||||
id="his-end-btn" onclick="pinUser()">@@endorse@@</a><br>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin"
|
||||
onclick="profbrws()">@@openinbrowser@@</a><br>
|
||||
onclick="profbrws()">@@openinbrowser@@</a>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-my-data" id="his-main-acct"
|
||||
onclick="setMain()" style="width: calc(100% - 10px)">@@mainacct@@</a><br>
|
||||
</div><br>
|
||||
<div id="his-matching-list">
|
||||
@@likeUserDes@@<br>
|
||||
@@ -622,7 +625,7 @@
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn"
|
||||
onclick="follow()">@@follow@@</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn"
|
||||
onclick="mute()">@@mute@@</a>
|
||||
onclick="muteDo()">@@mute@@</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn"
|
||||
onclick="block()">@@block@@</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">@@close@@</a>
|
||||
@@ -676,26 +679,21 @@
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-6-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-7-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.6.1)</h5>
|
||||
・リプライができない不具合を修正<br>
|
||||
・ワードフィルター/強調の適用がおかしい不具合<br>
|
||||
・テキストエリアのフォントが設定通りにならない不具合<br>
|
||||
<h5>Release Note Usamin (18.6.0)</h5>
|
||||
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
|
||||
・投票済みのアンケートについて修正。<br>
|
||||
・<b>セキュリティの大幅な強化。</b><br>
|
||||
・ご注意<img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">: TweetDeck統合は設定で有効にしないと使えなくなりました。<br>
|
||||
・Adobeフォトエディタの廃止
|
||||
<br>
|
||||
<h5>ThinkingDeskラベル</h5>
|
||||
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
|
||||
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
|
||||
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
|
||||
<h5>Release Note Usamin (18.7.0)</h5>
|
||||
<span style="font-size :120%">・<u>トゥートを矢印キーで選択してR,B,Fで返信,BT,ふぁぼ</u></span><br>
|
||||
・Pleromaでトゥート内のトゥートへのリンクをクリックしたときの挙動を修正。<br>
|
||||
・アップロードに失敗したときに何もできなくなるバグを修正。<br>
|
||||
・設定画面の詳細説明が表示されないバグを修正。<br>
|
||||
・カラム名がオーバーフローしてしまうバグを修正。<br>
|
||||
・トゥートのリプライ元をたどる挙動を修正。<br>
|
||||
・カードが長くて(特にSpotify)邪魔な問題を修正。<br>
|
||||
・トゥート詳細画面でレイアウトが崩れる不具合を修正。<br>
|
||||
・このクライアントは勝手に特定のドメインをブロックするみたいなことはしていません。
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
@@ -952,7 +950,7 @@
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<button id="posttgl" class="btn waves-effect indigo"
|
||||
<button id="posttgl" class="btn waves-effect"
|
||||
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons"
|
||||
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>@@toot@@
|
||||
|
@@ -88,6 +88,7 @@
|
||||
"likeHimOrHer":"Resembling",
|
||||
"endorse":"Feature on profile",
|
||||
"openinbrowser":"Open in browser",
|
||||
"mainacct":"Set it an main account",
|
||||
"frc":"Suggest",
|
||||
"more":"More",
|
||||
"revoverJP":" to ",
|
||||
|
@@ -89,6 +89,7 @@
|
||||
"more":"もっと",
|
||||
"endorse":"紹介する",
|
||||
"openinbrowser":"ブラウザで開く",
|
||||
"mainacct":"メインアカウントに設定",
|
||||
"revoverJP":"する",
|
||||
"warnUseOtherAcct":"(解除はできません。)",
|
||||
"revoverJPde":"で",
|
||||
|
@@ -1,187 +1,192 @@
|
||||
{
|
||||
"setting":"Preferences",
|
||||
"set":"Save",
|
||||
"yes":"Yes",
|
||||
"no":"No",
|
||||
"none":"None",
|
||||
"default":"Default",
|
||||
"change":"Change",
|
||||
"select":"Select",
|
||||
"env":"System Preferences",
|
||||
"setlang":"Languages",
|
||||
"backup":"Import and export of preferences",
|
||||
"import":"Import",
|
||||
"export":"Export",
|
||||
"hardwareAcceleration":"Disable hardware acceleration",
|
||||
"hardwareAccelerationWarn":"Auto restarted",
|
||||
"theme":"Themes",
|
||||
"popup":"Popup notification(on Windows)",
|
||||
"popupwarn":"Hide to set \"0\"",
|
||||
"s":"sec",
|
||||
"nativenotf":"Native notification",
|
||||
"nnwarn":"This does not work on Windows Portable ver.",
|
||||
"nntest":"Notification test",
|
||||
"minwidth":"Minimum width of columns",
|
||||
"minwidthwarn":"Scroll bar will be shown when your window size is more than ammounts of columns.",
|
||||
"fixwidth":"Minimum width of TweetDeck browser",
|
||||
"fixwidthwarn":"",
|
||||
"above":"above",
|
||||
"font":"Font",
|
||||
"fontwarn":"Select your favorite font to 'Select'(Windows/ macOS only)",
|
||||
"fontsize":"Font size",
|
||||
"savefolder":"Folder to save",
|
||||
"savefolderwarn":"TheDesk uses this value when it try to save pictures or take screenshots.",
|
||||
"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. Do not share this code with MiAS.",
|
||||
"customImport":"Import of custom themes",
|
||||
"delete":"Delete",
|
||||
"cImpWarn":"Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
|
||||
"timeline":"Timeline Preferences",
|
||||
"timemode":"Time format",
|
||||
"relativetime":"Relative format:\"1 minutes ago\",\"3 days ago\"",
|
||||
"absolutetime":"Absolute format:\"23:25:21\",\"2017/12/30 23:59:00\"",
|
||||
"mixtime":"Mixed format:toots posted today are relative-format, others are absolute-format.",
|
||||
"relativesel":"Relative",
|
||||
"absolutesel":"Absolute",
|
||||
"doublesel":"Both relative and absolute",
|
||||
"mixsel":"Mixed",
|
||||
"locale":"Server's unique locale",
|
||||
"localewarn":"This value is available on some Japanese servers",
|
||||
"nswf":"Hide NSFW pictures",
|
||||
"nsfwwarn":"Strong blur effect",
|
||||
"cw":"Hide CW contents",
|
||||
"replyct":"Reply counter style",
|
||||
"replyct_hidden":"Show 1+ if the replies are more than 1.",
|
||||
"replyct_full":"Show full count(1,2...)",
|
||||
"gif":"Animated GIF images animation",
|
||||
"box":"Action of posting-box",
|
||||
"boxyes":"Folding",
|
||||
"boxabs":"Absolutely open",
|
||||
"boxno":"Open after posting",
|
||||
"tag":"Tag TL Search",
|
||||
"tagfed":"Use federated network",
|
||||
"taglocal":"Use local network",
|
||||
"via":"Show via",
|
||||
"mouseover":"Hide action buttons without mouseover",
|
||||
"mouseoverwarn":"You may feel 'mouseover' is unconfortable:(",
|
||||
"mv":"Mouseover to show",
|
||||
"mvclick":"Click to show",
|
||||
"notfmarker":"Show Notification marker, red colored bell and counter(if you show a notification column.)",
|
||||
"autofold":"Auto folding",
|
||||
"autofoldwarn":"TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
|
||||
"lines":"lines",
|
||||
"letters":"letters",
|
||||
"or":"or",
|
||||
"imgheight":"Height of images",
|
||||
"imgheightwarn":"Option:Set \"full\" to uncrop.",
|
||||
"ticker":"Enable #InstanceTicker",
|
||||
"tickerwarn":"Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
|
||||
"animation":"Animation of timelines",
|
||||
"replySound":"Sound(Reply)",
|
||||
"favSound":"Sound(Fav)",
|
||||
"btSound":"Sound(Boost)",
|
||||
"followSound":"Sound(Follow)",
|
||||
"customSound":"Custom sound",
|
||||
"post":"Posting Preferences",
|
||||
"autocw":"Alert before posting a long toot.",
|
||||
"autocwwarn":"Show dialog whether you make too-long text hidden.",
|
||||
"defaultcw":"Default warining text",
|
||||
"cws":"Always CW set",
|
||||
"defaultvis":"Default visibility",
|
||||
"public":"Public",
|
||||
"unlisted":"Unlisted",
|
||||
"private":"Private",
|
||||
"direct":"Direct",
|
||||
"memory":"Memory(memorized as each server)",
|
||||
"useapi":"Default of your visibility(Set on preferences of Mastodon server)",
|
||||
"postimg":"Posting images preferences",
|
||||
"showurl":"Insert media URL",
|
||||
"nourl":"Insert nothig",
|
||||
"disabled":"Disabled",
|
||||
"quote":"Quote format",
|
||||
"simple":"Only URL",
|
||||
"mention":"URL and acct(mention to the user)",
|
||||
"full":"URL, text and acct(mention to the user)",
|
||||
"notqt":"Disabled(Hide buttons on TLs)",
|
||||
"main":"Default accounts of actions",
|
||||
"mainwarn":"Main account can be set on Account Manager.",
|
||||
"lastacct":"Account you used recently",
|
||||
"usemainacct":"Main account",
|
||||
"secondary":"Secondary Toot Button",
|
||||
"secwarn":"Toot with other visibility setting",
|
||||
"nothing":"Hidden",
|
||||
"localonly":"Local Only",
|
||||
"zeroWidthEmoji":"Zero-width space when inserting emojis",
|
||||
"keysc":"Keyboard shortcut Preferences",
|
||||
"iks":"Easy inserter",
|
||||
"okswarn":"You can insert any letters and emojis with only 3 keys",
|
||||
"muteemp":"Mute & Emphasis Preferences",
|
||||
"climute":"Client Mute",
|
||||
"cliemp":"Client Emphasis",
|
||||
"cliwarn":"Click client name on toots to toggle mute and emphasis.",
|
||||
"enter":"Enter to set",
|
||||
"wordmute":"Words Mute",
|
||||
"wordemp":"Words Emphasis",
|
||||
"useremp":"Users Emphasis",
|
||||
"useerempwarn":"Set on users data modals.",
|
||||
"empcolorwarn":"Use this color to emphasis",
|
||||
"spotify":"Spotify and NowPlaying Preferences",
|
||||
"npProvider":"NowPlaying Provider(Windows)",
|
||||
"npPeoviderWarn":"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.",
|
||||
"spotifynote1":"Click ",
|
||||
"spotifynote2":"icon to NowPlaying",
|
||||
"link":"Account Connection",
|
||||
"linkwarn":"TheDesk save your data on thedesk.top server.",
|
||||
"connect":"Connect",
|
||||
"disconnect":"Disconnect",
|
||||
"templeteedit":"Edit a template",
|
||||
"templeteeditwarn":"",
|
||||
"templete1":"Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
"templete2":"macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
|
||||
"templete3":"Windows:{song}:Song name/{album}:Album name/{artist}:Artist name",
|
||||
"postartwork":"Attach an Artwork of Spotify",
|
||||
"tts":"TTS(text to speech) Preferences",
|
||||
"speed":"Speed",
|
||||
"speedwarn":"1-100(default:10)",
|
||||
"pitch":"Pitch",
|
||||
"pitchwarn":"0-100(default:50)",
|
||||
"vol":"Volume",
|
||||
"volwarn":"0-100(default:100)",
|
||||
"test":"Test",
|
||||
"sample":"TheDesk is an open-source Mastodon client for PC.",
|
||||
"playstop":"Play/Stop",
|
||||
"back":"Back",
|
||||
"keyscs":"Keyboard shortcuts",
|
||||
"keyscr":"Jump to n(1-9)th column",
|
||||
"keynew":"Open toot box",
|
||||
"keytoggle":"Toggle toot box",
|
||||
"keypost":"Post",
|
||||
"keysecpost":"Post(secondary toot)",
|
||||
"keyunread":"Make all notifications read",
|
||||
"keyesc":"Hide toot box",
|
||||
"keyf5":"Super Reload",
|
||||
"keyclear":"Clear toot box",
|
||||
"keyacctman":"Account Manager",
|
||||
"keyshowprof":"Show profile of selecting",
|
||||
"keyrow":"Show next or previous image",
|
||||
"keyzoom":"Mousewheel:Zoom a image",
|
||||
"reset":"Reset(Danger)",
|
||||
"resetconfirm":"Delete all data. You cannot undo. Continue?",
|
||||
"about":"About TheDesk",
|
||||
"hp":"Website",
|
||||
"support":"Support",
|
||||
"help":"Help",
|
||||
"sushi":"Give me a sushi!",
|
||||
"checkup":"Check update",
|
||||
"ossJP":""
|
||||
"setting": "Preferences",
|
||||
"set": "Save",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"none": "None",
|
||||
"default": "Default",
|
||||
"change": "Change",
|
||||
"select": "Select",
|
||||
"env": "System Preferences",
|
||||
"setlang": "Languages",
|
||||
"backup": "Import and export of preferences",
|
||||
"import": "Import",
|
||||
"export": "Export",
|
||||
"hardwareAcceleration": "Disable hardware acceleration",
|
||||
"hardwareAccelerationWarn": "Auto restarted",
|
||||
"theme": "Themes",
|
||||
"popup": "Popup notification(on Windows)",
|
||||
"popupwarn": "Hide to set \"0\"",
|
||||
"s": "sec",
|
||||
"nativenotf": "Native notification",
|
||||
"nnwarn": "This does not work on Windows Portable ver.",
|
||||
"nntest": "Notification test",
|
||||
"minwidth": "Minimum width of columns",
|
||||
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
|
||||
"fixwidth": "Minimum width of TweetDeck browser",
|
||||
"fixwidthwarn": "",
|
||||
"above": "above",
|
||||
"font": "Font",
|
||||
"fontwarn": "Select your favorite font to 'Select'(Windows/ macOS only)",
|
||||
"fontsize": "Font size",
|
||||
"savefolder": "Folder to save",
|
||||
"savefolderwarn": "TheDesk uses this value when it try to save pictures or take screenshots.",
|
||||
"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. Do not share this code with MiAS.",
|
||||
"customImport": "Import of custom themes",
|
||||
"delete": "Delete",
|
||||
"cImpWarn": "Get more themes on <a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>",
|
||||
"timeline": "Timeline Preferences",
|
||||
"timemode": "Time format",
|
||||
"relativetime": "Relative format:\"1 minutes ago\",\"3 days ago\"",
|
||||
"absolutetime": "Absolute format:\"23:25:21\",\"2017/12/30 23:59:00\"",
|
||||
"mixtime": "Mixed format:toots posted today are relative-format, others are absolute-format.",
|
||||
"relativesel": "Relative",
|
||||
"absolutesel": "Absolute",
|
||||
"doublesel": "Both relative and absolute",
|
||||
"mixsel": "Mixed",
|
||||
"locale": "Server's unique locale",
|
||||
"localewarn": "This value is available on some Japanese servers",
|
||||
"nswf": "Hide NSFW pictures",
|
||||
"nsfwwarn": "Strong blur effect",
|
||||
"cw": "Hide CW contents",
|
||||
"replyct": "Reply counter style",
|
||||
"replyct_hidden": "Show 1+ if the replies are more than 1.",
|
||||
"replyct_full": "Show full count(1,2...)",
|
||||
"gif": "Animated GIF images animation",
|
||||
"box": "Action of posting-box",
|
||||
"boxyes": "Folding",
|
||||
"boxabs": "Absolutely open",
|
||||
"boxno": "Open after posting",
|
||||
"tag": "Tag TL Search",
|
||||
"tagfed": "Use federated network",
|
||||
"taglocal": "Use local network",
|
||||
"via": "Show via",
|
||||
"mouseover": "Hide action buttons without mouseover",
|
||||
"mouseoverwarn": "You may feel 'mouseover' is unconfortable:(",
|
||||
"mv": "Mouseover to show",
|
||||
"mvclick": "Click to show",
|
||||
"notfmarker": "Show Notification marker, red colored bell and counter(if you show a notification column.)",
|
||||
"autofold": "Auto folding",
|
||||
"autofoldwarn": "TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
|
||||
"lines": "lines",
|
||||
"letters": "letters",
|
||||
"or": "or",
|
||||
"imgheight": "Height of images",
|
||||
"imgheightwarn": "Option:Set \"full\" to uncrop.",
|
||||
"ticker": "Enable #InstanceTicker",
|
||||
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
|
||||
"animation": "Animation of timelines",
|
||||
"replySound": "Sound(Reply)",
|
||||
"favSound": "Sound(Fav)",
|
||||
"btSound": "Sound(Boost)",
|
||||
"followSound": "Sound(Follow)",
|
||||
"customSound": "Custom sound",
|
||||
"post": "Posting Preferences",
|
||||
"autocw": "Alert before posting a long toot.",
|
||||
"autocwwarn": "Show dialog whether you make too-long text hidden.",
|
||||
"defaultcw": "Default warining text",
|
||||
"cws": "Always CW set",
|
||||
"defaultvis": "Default visibility",
|
||||
"public": "Public",
|
||||
"unlisted": "Unlisted",
|
||||
"private": "Private",
|
||||
"direct": "Direct",
|
||||
"memory": "Memory(memorized as each server)",
|
||||
"useapi": "Default of your visibility(Set on preferences of Mastodon server)",
|
||||
"postimg": "Posting images preferences",
|
||||
"showurl": "Insert media URL",
|
||||
"nourl": "Insert nothig",
|
||||
"disabled": "Disabled",
|
||||
"quote": "Quote format",
|
||||
"simple": "Only URL",
|
||||
"mention": "URL and acct(mention to the user)",
|
||||
"full": "URL, text and acct(mention to the user)",
|
||||
"notqt": "Disabled(Hide buttons on TLs)",
|
||||
"main": "Default accounts of actions",
|
||||
"mainwarn": "Main account can be set on Account Manager.",
|
||||
"lastacct": "Account you used recently",
|
||||
"usemainacct": "Main account",
|
||||
"secondary": "Secondary Toot Button",
|
||||
"secwarn": "Toot with other visibility setting",
|
||||
"nothing": "Hidden",
|
||||
"localonly": "Local Only",
|
||||
"zeroWidthEmoji": "Zero-width space when inserting emojis",
|
||||
"keysc": "Keyboard shortcut Preferences",
|
||||
"iks": "Easy inserter",
|
||||
"okswarn": "You can insert any letters and emojis with only 3 keys",
|
||||
"muteemp": "Mute & Emphasis Preferences",
|
||||
"climute": "Client Mute",
|
||||
"cliemp": "Client Emphasis",
|
||||
"cliwarn": "Click client name on toots to toggle mute and emphasis.",
|
||||
"enter": "Enter to set",
|
||||
"wordmute": "Words Mute",
|
||||
"wordemp": "Words Emphasis",
|
||||
"useremp": "Users Emphasis",
|
||||
"useerempwarn": "Set on users data modals.",
|
||||
"empcolorwarn": "Use this color to emphasis",
|
||||
"spotify": "Spotify and NowPlaying Preferences",
|
||||
"npProvider": "NowPlaying Provider(Windows)",
|
||||
"npPeoviderWarn": "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.",
|
||||
"spotifynote1": "Click ",
|
||||
"spotifynote2": "icon to NowPlaying",
|
||||
"link": "Account Connection",
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"templeteedit": "Edit a template",
|
||||
"templeteeditwarn": "",
|
||||
"templete1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
"templete2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
|
||||
"templete3": "Windows:{song}:Song name/{album}:Album name/{artist}:Artist name",
|
||||
"postartwork": "Attach an Artwork of Spotify",
|
||||
"tts": "TTS(text to speech) Preferences",
|
||||
"speed": "Speed",
|
||||
"speedwarn": "1-100(default:10)",
|
||||
"pitch": "Pitch",
|
||||
"pitchwarn": "0-100(default:50)",
|
||||
"vol": "Volume",
|
||||
"volwarn": "0-100(default:100)",
|
||||
"test": "Test",
|
||||
"sample": "TheDesk is an open-source Mastodon client for PC.",
|
||||
"playstop": "Play/Stop",
|
||||
"back": "Back",
|
||||
"keyscs": "Keyboard shortcuts",
|
||||
"keyscr": "Jump to n(1-9)th column",
|
||||
"keynew": "Open toot box",
|
||||
"keytoggle": "Toggle toot box",
|
||||
"keypost": "Post",
|
||||
"keysecpost": "Post(secondary toot)",
|
||||
"keyunread": "Make all notifications read",
|
||||
"keyesc": "Hide toot box",
|
||||
"keyf5": "Super Reload",
|
||||
"keyclear": "Clear toot box",
|
||||
"keyacctman": "Account Manager",
|
||||
"keyshowprof": "Show profile of selecting",
|
||||
"keyrow": "Show next or previous image",
|
||||
"keyzoom": "Mousewheel:Zoom a image",
|
||||
"whenSelected": "When a toot is selected: ",
|
||||
"fav": "Favourite this toot",
|
||||
"bt": "Boost this toot",
|
||||
"reply": "Reply to this toot",
|
||||
"keyselecttop": "Select the top & left(No.1 column) toot",
|
||||
"reset": "Reset(Danger)",
|
||||
"resetconfirm": "Delete all data. You cannot undo. Continue?",
|
||||
"about": "About TheDesk",
|
||||
"hp": "Website",
|
||||
"support": "Support",
|
||||
"help": "Help",
|
||||
"sushi": "Give me a sushi!",
|
||||
"checkup": "Check update",
|
||||
"ossJP": ""
|
||||
}
|
||||
|
@@ -1,187 +1,192 @@
|
||||
{
|
||||
"setting":"設定",
|
||||
"set":"設定",
|
||||
"yes":"はい",
|
||||
"no":"いいえ",
|
||||
"none":"なし",
|
||||
"default":"既定",
|
||||
"change":"変更",
|
||||
"select":"選択",
|
||||
"env":"環境設定",
|
||||
"setlang":"言語",
|
||||
"backup":"設定のインポートとエクスポート",
|
||||
"import":"インポート",
|
||||
"export":"エクスポート",
|
||||
"hardwareAcceleration":"ハードウェアアクセラレーションの無効化",
|
||||
"hardwareAccelerationWarn":"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
|
||||
"theme":"テーマの設定",
|
||||
"popup":"新規通知のポップアップお知らせの表示秒数",
|
||||
"popupwarn":"0に設定すると表示されません",
|
||||
"s":"秒",
|
||||
"nativenotf":"ネイティブ通知設定",
|
||||
"nnwarn":"Portableバージョンでは表示できません。",
|
||||
"nntest":"通知テスト",
|
||||
"minwidth":"マルチカラムの最低横幅",
|
||||
"minwidthwarn":"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
|
||||
"fixwidth":"TweetDeckの限定の最低横幅",
|
||||
"fixwidthwarn":"",
|
||||
"above":"以上",
|
||||
"font":"フォント",
|
||||
"fontwarn":"「選択」を押してフォントを選んでください。(Linuxでは動きません)",
|
||||
"fontsize":"フォントサイズ",
|
||||
"savefolder":"デフォルトの保存先",
|
||||
"savefolderwarn":"画像ダウンロードやスクリーンショットに影響します。",
|
||||
"absolute":"絶対指定",
|
||||
"themeSel":"テーマの選択",
|
||||
"customtheme":"カスタムテーマの作成・編集",
|
||||
"customthemeDirection":"色の系統",
|
||||
"primary":"全体の背景色など",
|
||||
"secondarycolor":"補助要素に使われる背景色",
|
||||
"text":"テキストの色",
|
||||
"accent":"ブーストの背景色など",
|
||||
"add_new":"新規作成",
|
||||
"name":"名前",
|
||||
"desc":"説明",
|
||||
"customShare":"このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。詳細:<a href=\"https://thedesk.top/mias.html\" target=\"_blank\">テーマ互換性</a>",
|
||||
"customImport":"カスタムテーマのインポート",
|
||||
"delete":"削除",
|
||||
"cImpWarn":"<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>上の80を超えるテーマを張り付けることもできます。",
|
||||
"timeline":"タイムラインの設定",
|
||||
"timemode":"時間表記設定",
|
||||
"relativetime":"相対時間の例:\"1分前\",\"3日前\"",
|
||||
"absolutetime":"絶対時間の例\"23:25:21\",\"2017年12月30日 23:59:00\"",
|
||||
"mixtime":"混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ",
|
||||
"relativesel":"相対時間",
|
||||
"absolutesel":"絶対時間",
|
||||
"doublesel":"両方表示",
|
||||
"mixsel":"混合表示",
|
||||
"locale":"独自ロケールを使用",
|
||||
"localewarn":"対応サーバーではそのサーバーにあわせた言語表示ができます。",
|
||||
"nswf":"非表示設定の画像(NSFW)を隠す",
|
||||
"nsfwwarn":"きつめのぼかしがかかります。",
|
||||
"cw":"非表示設定のテキスト(CW)を隠す",
|
||||
"replyct":"リプライ数表示",
|
||||
"replyct_hidden":"2以上のとき1+と表示",
|
||||
"replyct_full":"完全に表示",
|
||||
"gif":"アイコンのアニメーションを再生する",
|
||||
"box":"投稿ボックスの挙動",
|
||||
"boxyes":"たたむ",
|
||||
"boxabs":"枠外クリックで閉じない(起動時に展開)",
|
||||
"boxno":"投稿後も隠さない",
|
||||
"tag":"タグタイムラインの表示範囲",
|
||||
"tagfed":"接続しているサーバー",
|
||||
"taglocal":"検索対象のサーバーのみ",
|
||||
"via":"viaを表示する",
|
||||
"mouseover":"アクションメニューを非表示",
|
||||
"mouseoverwarn":"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。",
|
||||
"mv":"マウスオーバーで表示",
|
||||
"mvclick":"クリックで表示",
|
||||
"notfmarker":"通知を開いているとき、通知新着お知らせを表示する",
|
||||
"autofold":"指定行数以上を折りたたむ",
|
||||
"autofoldwarn":"5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。",
|
||||
"lines":"行",
|
||||
"letters":"文字",
|
||||
"or":"または",
|
||||
"imgheight":"画像の高さ",
|
||||
"imgheightwarn":"オプション:「full」と指定すると全ての画像をクロップしません。",
|
||||
"ticker":"#InstanceTickerを使う",
|
||||
"tickerwarn":"トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://cdn.weep.me/mastodon/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
|
||||
"animation":"タイムラインのアニメーション",
|
||||
"replySound":"リプライの通知音",
|
||||
"favSound":"お気に入り登録の通知音",
|
||||
"btSound":"ブーストの通知音",
|
||||
"followSound":"フォローの通知音",
|
||||
"customSound":"カスタム通知音",
|
||||
"post":"投稿設定",
|
||||
"autocw":"長文投稿時に警告",
|
||||
"autocwwarn":"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
||||
"defaultcw":"デフォルトの警告文",
|
||||
"cws":"標準でCWを設定",
|
||||
"defaultvis":"デフォルトの公開設定",
|
||||
"public":"公開(Public)",
|
||||
"unlisted":"未収載(Unlisted)",
|
||||
"private":"非公開(Private)",
|
||||
"direct":"ダイレクト(Direct)",
|
||||
"memory":"前回の投稿設定を記憶する(サーバーごとに記憶されます)",
|
||||
"useapi":"マストドンアカウント設定の既定値",
|
||||
"postimg":"画像投稿設定",
|
||||
"showurl":"画像を投稿し、画像のURLを最後に表示",
|
||||
"nourl":"画像を投稿するがURLは表示しない",
|
||||
"disabled":"現在利用できません。",
|
||||
"quote":"引用形式",
|
||||
"simple":"URLのみ",
|
||||
"mention":"URLとアカウント名(相手に通知)",
|
||||
"full":"本文・URL・アカウント名",
|
||||
"notqt":"使わない(TL上にボタンも表示されません)",
|
||||
"main":"投稿後や起動時のアカウント",
|
||||
"mainwarn":"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
|
||||
"lastacct":"最後に使用したアカウント",
|
||||
"usemainacct":"メインアカウント",
|
||||
"secondary":"セカンダリートゥートボタン",
|
||||
"secwarn":"公開範囲の変更とトゥートを一発でできます。",
|
||||
"nothing":"表示しない",
|
||||
"localonly":"ローカル限定",
|
||||
"zeroWidthEmoji":"絵文字にゼロ幅スペースを使う",
|
||||
"keysc":"キーボードショートカットの設定",
|
||||
"iks":"簡単文字入力",
|
||||
"okswarn":"絵文字やタグ、>BTなどを登録しておくとすぐに入力できます。",
|
||||
"muteemp":"ミュート・強調の設定",
|
||||
"climute":"クライアントミュート",
|
||||
"cliemp":"クライアント強調",
|
||||
"cliwarn":"各トゥートのクライアントをクリックすると設定できます。",
|
||||
"enter":"Enterで確定",
|
||||
"wordmute":"ワードミュート",
|
||||
"wordemp":"ワード強調",
|
||||
"useremp":"ユーザー強調",
|
||||
"useerempwarn":"各ユーザーのデータ表示画面で設定できます。",
|
||||
"empcolorwarn":"強調色(テーマによって異なります。)",
|
||||
"spotify":"SpotifyとNowPlayingの設定",
|
||||
"npProvider":"NowPlayingのソース(Windows)",
|
||||
"npPeoviderWarn":"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を有効にする必要があります。",
|
||||
"spotifynote1":"",
|
||||
"spotifynote2":"ボタンから簡単にNowPlayingができます。",
|
||||
"link":"アカウントの連携",
|
||||
"linkwarn":"APIの性質上,thedesk.topへアクセスします。",
|
||||
"connect":"接続",
|
||||
"disconnect":"切断",
|
||||
"templeteedit":"テンプレートの編集",
|
||||
"templeteeditwarn":"以下を編集してテンプレートを変更できます。",
|
||||
"templete1":"Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL",
|
||||
"templete2":"macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}",
|
||||
"templete3":"Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名",
|
||||
"postartwork":"アルバムアートワークを添付する(Spotify/Windows)",
|
||||
"tts":"読み上げの設定",
|
||||
"speed":"読み上げの速さ",
|
||||
"speedwarn":"1-100まで、デフォルトは10。",
|
||||
"pitch":"読み上げの高さ",
|
||||
"pitchwarn":"0-100まで、デフォルトは50。(大きくなるほど高い)",
|
||||
"vol":"読み上げの音量",
|
||||
"volwarn":"0-100まで、デフォルトは100。",
|
||||
"test":"テスト",
|
||||
"sample":"これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。",
|
||||
"playstop":"再生/停止",
|
||||
"back":"戻る",
|
||||
"keyscs":"キーボードショートカット一覧",
|
||||
"keyscr":"1番目~9番目のTLにスクロール",
|
||||
"keynew":"投稿パネルを開く",
|
||||
"keytoggle":"投稿パネルを開閉",
|
||||
"keypost":"投稿",
|
||||
"keysecpost":"投稿(セカンダリートゥート)",
|
||||
"keyunread":"全ての通知を既読にする",
|
||||
"keyesc":"投稿パネルを消す",
|
||||
"keyf5":"スーパーリロード",
|
||||
"keyclear":"入力内容を消す",
|
||||
"keyacctman":"アカウントマネージャ",
|
||||
"keyshowprof":"現在選択中のプロフィール",
|
||||
"keyrow":"イメージビューワー起動時に画像切り替え",
|
||||
"keyzoom":"マウスホイール:イメージビューワー時に拡大縮小",
|
||||
"reset":"初期化",
|
||||
"resetconfirm":"全てのデータを削除します。この操作は取り消せません。",
|
||||
"about":"このソフトについて",
|
||||
"hp":"公式HP",
|
||||
"support":"支援",
|
||||
"help":"ヘルプ",
|
||||
"sushi":"寿司を投げる",
|
||||
"checkup":"アップデートを確認",
|
||||
"ossJP":"(オープンソースライセンス)"
|
||||
}
|
||||
"setting": "設定",
|
||||
"set": "設定",
|
||||
"yes": "はい",
|
||||
"no": "いいえ",
|
||||
"none": "なし",
|
||||
"default": "既定",
|
||||
"change": "変更",
|
||||
"select": "選択",
|
||||
"env": "環境設定",
|
||||
"setlang": "言語",
|
||||
"backup": "設定のインポートとエクスポート",
|
||||
"import": "インポート",
|
||||
"export": "エクスポート",
|
||||
"hardwareAcceleration": "ハードウェアアクセラレーションの無効化",
|
||||
"hardwareAccelerationWarn": "表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
|
||||
"theme": "テーマの設定",
|
||||
"popup": "新規通知のポップアップお知らせの表示秒数",
|
||||
"popupwarn": "0に設定すると表示されません",
|
||||
"s": "秒",
|
||||
"nativenotf": "ネイティブ通知設定",
|
||||
"nnwarn": "Portableバージョンでは表示できません。",
|
||||
"nntest": "通知テスト",
|
||||
"minwidth": "マルチカラムの最低横幅",
|
||||
"minwidthwarn": "画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
|
||||
"fixwidth": "TweetDeckの限定の最低横幅",
|
||||
"fixwidthwarn": "",
|
||||
"above": "以上",
|
||||
"font": "フォント",
|
||||
"fontwarn": "「選択」を押してフォントを選んでください。(Linuxでは動きません)",
|
||||
"fontsize": "フォントサイズ",
|
||||
"savefolder": "デフォルトの保存先",
|
||||
"savefolderwarn": "画像ダウンロードやスクリーンショットに影響します。",
|
||||
"absolute": "絶対指定",
|
||||
"themeSel": "テーマの選択",
|
||||
"customtheme": "カスタムテーマの作成・編集",
|
||||
"customthemeDirection": "色の系統",
|
||||
"primary": "全体の背景色など",
|
||||
"secondarycolor": "補助要素に使われる背景色",
|
||||
"text": "テキストの色",
|
||||
"accent": "ブーストの背景色など",
|
||||
"add_new": "新規作成",
|
||||
"name": "名前",
|
||||
"desc": "説明",
|
||||
"customShare": "このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。詳細:<a href=\"https://thedesk.top/mias.html\" target=\"_blank\">テーマ互換性</a>",
|
||||
"customImport": "カスタムテーマのインポート",
|
||||
"delete": "削除",
|
||||
"cImpWarn": "<a href=\"https://assets.msky.cafe/\" target=\"_blank\">MiAS</a>上の80を超えるテーマを張り付けることもできます。",
|
||||
"timeline": "タイムラインの設定",
|
||||
"timemode": "時間表記設定",
|
||||
"relativetime": "相対時間の例:\"1分前\",\"3日前\"",
|
||||
"absolutetime": "絶対時間の例\"23:25:21\",\"2017年12月30日 23:59:00\"",
|
||||
"mixtime": "混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ",
|
||||
"relativesel": "相対時間",
|
||||
"absolutesel": "絶対時間",
|
||||
"doublesel": "両方表示",
|
||||
"mixsel": "混合表示",
|
||||
"locale": "独自ロケールを使用",
|
||||
"localewarn": "対応サーバーではそのサーバーにあわせた言語表示ができます。",
|
||||
"nswf": "非表示設定の画像(NSFW)を隠す",
|
||||
"nsfwwarn": "きつめのぼかしがかかります。",
|
||||
"cw": "非表示設定のテキスト(CW)を隠す",
|
||||
"replyct": "リプライ数表示",
|
||||
"replyct_hidden": "2以上のとき1+と表示",
|
||||
"replyct_full": "完全に表示",
|
||||
"gif": "アイコンのアニメーションを再生する",
|
||||
"box": "投稿ボックスの挙動",
|
||||
"boxyes": "たたむ",
|
||||
"boxabs": "枠外クリックで閉じない(起動時に展開)",
|
||||
"boxno": "投稿後も隠さない",
|
||||
"tag": "タグタイムラインの表示範囲",
|
||||
"tagfed": "接続しているサーバー",
|
||||
"taglocal": "検索対象のサーバーのみ",
|
||||
"via": "viaを表示する",
|
||||
"mouseover": "アクションメニューを非表示",
|
||||
"mouseoverwarn": "「マウスオーバー」はすこし鬱陶しいと思うかもしれません。",
|
||||
"mv": "マウスオーバーで表示",
|
||||
"mvclick": "クリックで表示",
|
||||
"notfmarker": "通知を開いているとき、通知新着お知らせを表示する",
|
||||
"autofold": "指定行数以上を折りたたむ",
|
||||
"autofoldwarn": "5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。",
|
||||
"lines": "行",
|
||||
"letters": "文字",
|
||||
"or": "または",
|
||||
"imgheight": "画像の高さ",
|
||||
"imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップしません。",
|
||||
"ticker": "#InstanceTickerを使う",
|
||||
"tickerwarn": "トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://cdn.weep.me/mastodon/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
|
||||
"animation": "タイムラインのアニメーション",
|
||||
"replySound": "リプライの通知音",
|
||||
"favSound": "お気に入り登録の通知音",
|
||||
"btSound": "ブーストの通知音",
|
||||
"followSound": "フォローの通知音",
|
||||
"customSound": "カスタム通知音",
|
||||
"post": "投稿設定",
|
||||
"autocw": "長文投稿時に警告",
|
||||
"autocwwarn": "下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
||||
"defaultcw": "デフォルトの警告文",
|
||||
"cws": "標準でCWを設定",
|
||||
"defaultvis": "デフォルトの公開設定",
|
||||
"public": "公開(Public)",
|
||||
"unlisted": "未収載(Unlisted)",
|
||||
"private": "非公開(Private)",
|
||||
"direct": "ダイレクト(Direct)",
|
||||
"memory": "前回の投稿設定を記憶する(サーバーごとに記憶されます)",
|
||||
"useapi": "マストドンアカウント設定の既定値",
|
||||
"postimg": "画像投稿設定",
|
||||
"showurl": "画像を投稿し、画像のURLを最後に表示",
|
||||
"nourl": "画像を投稿するがURLは表示しない",
|
||||
"disabled": "現在利用できません。",
|
||||
"quote": "引用形式",
|
||||
"simple": "URLのみ",
|
||||
"mention": "URLとアカウント名(相手に通知)",
|
||||
"full": "本文・URL・アカウント名",
|
||||
"notqt": "使わない(TL上にボタンも表示されません)",
|
||||
"main": "投稿後や起動時のアカウント",
|
||||
"mainwarn": "メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
|
||||
"lastacct": "最後に使用したアカウント",
|
||||
"usemainacct": "メインアカウント",
|
||||
"secondary": "セカンダリートゥートボタン",
|
||||
"secwarn": "公開範囲の変更とトゥートを一発でできます。",
|
||||
"nothing": "表示しない",
|
||||
"localonly": "ローカル限定",
|
||||
"zeroWidthEmoji": "絵文字にゼロ幅スペースを使う",
|
||||
"keysc": "キーボードショートカットの設定",
|
||||
"iks": "簡単文字入力",
|
||||
"okswarn": "絵文字やタグ、>BTなどを登録しておくとすぐに入力できます。",
|
||||
"muteemp": "ミュート・強調の設定",
|
||||
"climute": "クライアントミュート",
|
||||
"cliemp": "クライアント強調",
|
||||
"cliwarn": "各トゥートのクライアントをクリックすると設定できます。",
|
||||
"enter": "Enterで確定",
|
||||
"wordmute": "ワードミュート",
|
||||
"wordemp": "ワード強調",
|
||||
"useremp": "ユーザー強調",
|
||||
"useerempwarn": "各ユーザーのデータ表示画面で設定できます。",
|
||||
"empcolorwarn": "強調色(テーマによって異なります。)",
|
||||
"spotify": "SpotifyとNowPlayingの設定",
|
||||
"npProvider": "NowPlayingのソース(Windows)",
|
||||
"npPeoviderWarn": "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を有効にする必要があります。",
|
||||
"spotifynote1": "",
|
||||
"spotifynote2": "ボタンから簡単にNowPlayingができます。",
|
||||
"link": "アカウントの連携",
|
||||
"linkwarn": "APIの性質上,thedesk.topへアクセスします。",
|
||||
"connect": "接続",
|
||||
"disconnect": "切断",
|
||||
"templeteedit": "テンプレートの編集",
|
||||
"templeteeditwarn": "以下を編集してテンプレートを変更できます。",
|
||||
"templete1": "Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL",
|
||||
"templete2": "macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}",
|
||||
"templete3": "Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名",
|
||||
"postartwork": "アルバムアートワークを添付する(Spotify/Windows)",
|
||||
"tts": "読み上げの設定",
|
||||
"speed": "読み上げの速さ",
|
||||
"speedwarn": "1-100まで、デフォルトは10。",
|
||||
"pitch": "読み上げの高さ",
|
||||
"pitchwarn": "0-100まで、デフォルトは50。(大きくなるほど高い)",
|
||||
"vol": "読み上げの音量",
|
||||
"volwarn": "0-100まで、デフォルトは100。",
|
||||
"test": "テスト",
|
||||
"sample": "これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。",
|
||||
"playstop": "再生/停止",
|
||||
"back": "戻る",
|
||||
"keyscs": "キーボードショートカット一覧",
|
||||
"keyscr": "1番目~9番目のTLにスクロール",
|
||||
"keynew": "投稿パネルを開く",
|
||||
"keytoggle": "投稿パネルを開閉",
|
||||
"keypost": "投稿",
|
||||
"keysecpost": "投稿(セカンダリートゥート)",
|
||||
"keyunread": "全ての通知を既読にする",
|
||||
"keyesc": "投稿パネルを消す",
|
||||
"keyf5": "スーパーリロード",
|
||||
"keyclear": "入力内容を消す",
|
||||
"keyacctman": "アカウントマネージャ",
|
||||
"keyshowprof": "現在選択中のプロフィール",
|
||||
"keyrow": "イメージビューワー起動時に画像切り替え",
|
||||
"keyzoom": "マウスホイール:イメージビューワー時に拡大縮小",
|
||||
"whenSelected": "選択時",
|
||||
"fav": "お気に入り登録",
|
||||
"bt": "ブースト",
|
||||
"reply": "返信",
|
||||
"keyselecttop":"一番上の一番左のトゥートを選択",
|
||||
"reset": "初期化",
|
||||
"resetconfirm": "全てのデータを削除します。この操作は取り消せません。",
|
||||
"about": "このソフトについて",
|
||||
"hp": "公式HP",
|
||||
"support": "支援",
|
||||
"help": "ヘルプ",
|
||||
"sushi": "寿司を投げる",
|
||||
"checkup": "アップデートを確認",
|
||||
"ossJP": "(オープンソースライセンス)"
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@ const fs = require("fs")
|
||||
const readlineSync = require('readline-sync');
|
||||
let ver = readlineSync.question('version string (empty: default string)? ');
|
||||
if (!ver) {
|
||||
ver = "Usamin (18.6.1)"
|
||||
ver = "Usamin (18.7.0)"
|
||||
}
|
||||
console.log("Constructing view files " + ver + ": make sure to update package.json")
|
||||
const langs = ["ja", "en", "ps"]
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
@@comment-end@@
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.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">
|
||||
@@ -30,13 +30,14 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.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>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
|
||||
<h4>@@setting@@</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
@@ -57,7 +58,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">@@nntest@@</a><br></template>
|
||||
@@ -127,6 +128,10 @@
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
|
||||
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
|
||||
value="custom" />
|
||||
@@ -207,7 +212,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -254,7 +259,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -298,7 +303,6 @@
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">@@set@@</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">@@set@@</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -335,7 +339,8 @@
|
||||
<span>AIMP</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
|
||||
value="ITUNES" />
|
||||
<span>iTunes</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -344,7 +349,8 @@
|
||||
<span>MediaMonkey</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
|
||||
value="WINAMP" />
|
||||
<span>Winamp</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -371,21 +377,23 @@
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fa fa-spotify left"></i>@@disconnect@@</a>
|
||||
<h5>@@templeteedit@@</h5>
|
||||
@@templeteeditwarn@@<br>
|
||||
<h5>@@templateedit@@</h5>
|
||||
@@templateeditwarn@@<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
@@templete1@@<br>
|
||||
@@templete2@@<br>
|
||||
@@templete3@@<br>
|
||||
@@template1@@<br>
|
||||
@@template2@@<br>
|
||||
@@template3@@<br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
|
||||
<h5>@@postartwork@@</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>@@yes@@</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>@@no@@</span>
|
||||
</label>
|
||||
|
||||
@@ -430,6 +438,7 @@
|
||||
<li>Ctrl+Enter+Shift:@@keysecpost@@</li>
|
||||
<li>Alt+Enter:@@secondary@@</li>
|
||||
<li>Ctrl+E:@@keyunread@@</li>
|
||||
<li>Ctrl+U:@@keyselecttop@@</li>
|
||||
<li>Esc:@@keyesc@@</li>
|
||||
<li>F5:@@keyf5@@</li>
|
||||
<li>Ctrl+Shift+C:@@keyclear@@</li>
|
||||
@@ -443,13 +452,15 @@
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
<li>Shift+Enter:全角スペースを入れて改行</li>
|
||||
<li>Shift+Space:ゼロ幅スペース</li>
|
||||
以下アスタルテにログインしている場合のみ
|
||||
<br>
|
||||
<li>Ctrl+R:
|
||||
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
|
||||
</li><br>
|
||||
@@whenSelected@@
|
||||
<li>F:@@fav@@</li>
|
||||
<li>B:@@bt@@</li>
|
||||
<li>R:@@reply@@</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
|
||||
onclick="if(confirm('@@resetconfirm@@')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
@@ -76,9 +76,9 @@
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.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'>
|
||||
@@ -74,10 +74,11 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ps.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var misskeytoken = false;
|
||||
</script>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css"
|
||||
integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
@@ -25,9 +25,9 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ps.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
|
||||
@@ -35,8 +35,9 @@
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.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="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>
|
||||
var ver = "Usamin (18.6.1)";
|
||||
var ver = "Usamin (18.7.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -161,8 +162,8 @@
|
||||
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
|
||||
<i class="waves-effect gray material-icons" id="nsfw" title="crwdns389:0crwdne389:0"
|
||||
onclick="nsfw()">visibility_off</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger"
|
||||
data-target="dropdown1" id="vis-icon">public</i>
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-trigger" data-target="dropdown1"
|
||||
id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="crwdns390:0crwdne390:0">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray"
|
||||
onclick="fileselect()" title="crwdns391:0crwdne391:0">photo_library</i></span></span>
|
||||
@@ -233,9 +234,9 @@
|
||||
<!--END hidden area-->
|
||||
</div>
|
||||
<div id="toot-btn-field">
|
||||
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
|
||||
<button class="btn waves-effect unmize toot-btn-group" onclick="post()"
|
||||
id="toot-post-btn">crwdns388:0crwdne388:0</button>
|
||||
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
<button class="btn waves-effect darken-3 unmize hide toot-btn-group" onclick="sec()"
|
||||
id="toot-sec-btn"><i class="material-icons" id="toot-sec-icon"
|
||||
title="crwdns1890:0crwdne1890:0">lock_open</i></button>
|
||||
</div>
|
||||
@@ -326,7 +327,7 @@
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
<div class="modal-content">
|
||||
<ul class="collapsible"id="det-col">
|
||||
<ul class="collapsible" id="det-col">
|
||||
<li class="dm-hide">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">people_outline</i>@@afterLTL@@
|
||||
@@ -464,7 +465,9 @@
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data"
|
||||
id="his-end-btn" onclick="pinUser()">crwdns454:0crwdne454:0</a><br>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin"
|
||||
onclick="profbrws()">crwdns455:0crwdne455:0</a><br>
|
||||
onclick="profbrws()">crwdns455:0crwdne455:0</a>
|
||||
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-my-data" id="his-main-acct"
|
||||
onclick="setMain()" style="width: calc(100% - 10px)">@@mainacct@@</a><br>
|
||||
</div><br>
|
||||
<div id="his-matching-list">
|
||||
crwdns469:0crwdne469:0<br>
|
||||
@@ -622,7 +625,7 @@
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn"
|
||||
onclick="follow()">crwdns440:0crwdne440:0</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn"
|
||||
onclick="mute()">crwdns449:0crwdne449:0</a>
|
||||
onclick="muteDo()">crwdns449:0crwdne449:0</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn"
|
||||
onclick="block()">crwdns448:0crwdne448:0</a>
|
||||
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">crwdns385:0crwdne385:0</a>
|
||||
@@ -676,26 +679,21 @@
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Usamin_18-6-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-7-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.6.1)</h5>
|
||||
・リプライができない不具合を修正<br>
|
||||
・ワードフィルター/強調の適用がおかしい不具合<br>
|
||||
・テキストエリアのフォントが設定通りにならない不具合<br>
|
||||
<h5>Release Note Usamin (18.6.0)</h5>
|
||||
・アカウント選択のデザイン修正。クリック直後に閉じてしまうバグを修正。<br>
|
||||
・投票済みのアンケートについて修正。<br>
|
||||
・<b>セキュリティの大幅な強化。</b><br>
|
||||
・ご注意<img class="emoji" draggable="false" alt="⚠️" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">: TweetDeck統合は設定で有効にしないと使えなくなりました。<br>
|
||||
・Adobeフォトエディタの廃止
|
||||
<br>
|
||||
<h5>ThinkingDeskラベル</h5>
|
||||
<img src="../../img/thinkingdesk.png" style="width:100px;" draggable="false"><br>
|
||||
手作りマットラベル。貼ってはがせる。300円なのでポイントの余りでどうぞ。<br>
|
||||
<a href="https://item.mercari.com/jp/m822743330" target="_blank">メルカリ</a>へ。
|
||||
<h5>Release Note Usamin (18.7.0)</h5>
|
||||
<span style="font-size :120%">・<u>トゥートを矢印キーで選択してR,B,Fで返信,BT,ふぁぼ</u></span><br>
|
||||
・Pleromaでトゥート内のトゥートへのリンクをクリックしたときの挙動を修正。<br>
|
||||
・アップロードに失敗したときに何もできなくなるバグを修正。<br>
|
||||
・設定画面の詳細説明が表示されないバグを修正。<br>
|
||||
・カラム名がオーバーフローしてしまうバグを修正。<br>
|
||||
・トゥートのリプライ元をたどる挙動を修正。<br>
|
||||
・カードが長くて(特にSpotify)邪魔な問題を修正。<br>
|
||||
・トゥート詳細画面でレイアウトが崩れる不具合を修正。<br>
|
||||
・このクライアントは勝手に特定のドメインをブロックするみたいなことはしていません。
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
@@ -952,7 +950,7 @@
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<button id="posttgl" class="btn waves-effect indigo"
|
||||
<button id="posttgl" class="btn waves-effect"
|
||||
style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons"
|
||||
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>crwdns388:0crwdne388:0
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.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">
|
||||
@@ -30,13 +30,14 @@
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.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>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
|
||||
<h4>crwdns524:0crwdne524:0</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
@@ -57,7 +58,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">crwdns540:0crwdne540:0</a><br></template>
|
||||
@@ -127,6 +128,10 @@
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<span>Green<span class="imas hide">(ユースフルロマンス)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="blue" value="blue" />
|
||||
<span>Blue<span class="imas hide">(渚の花嫁)</span></span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom"
|
||||
value="custom" />
|
||||
@@ -207,7 +212,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -254,7 +259,7 @@
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<templete v-html="item.text.desc"></templete><br>
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
@@ -298,7 +303,6 @@
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -335,7 +339,8 @@
|
||||
<span>AIMP</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes"
|
||||
value="ITUNES" />
|
||||
<span>iTunes</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -344,7 +349,8 @@
|
||||
<span>MediaMonkey</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp"
|
||||
value="WINAMP" />
|
||||
<span>Winamp</span>
|
||||
</label>
|
||||
<label>
|
||||
@@ -371,21 +377,23 @@
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fa fa-spotify left"></i>crwdns630:0crwdne630:0</a>
|
||||
<h5>crwdns631:0crwdne631:0</h5>
|
||||
crwdns632:0crwdne632:0<br>
|
||||
<h5>@@templateedit@@</h5>
|
||||
@@templateeditwarn@@<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
crwdns2358:0{song}crwdnd2358:0{album}crwdnd2358:0{artist}crwdnd2358:0{url}crwdne2358:0<br>
|
||||
crwdns2360:0{song}crwdnd2360:0{album}crwdnd2360:0{artist}crwdnd2360:0{composer}crwdnd2360:0{hz}crwdnd2360:0{bitRate}crwdnd2360:0{genre}crwdne2360:0<br>
|
||||
crwdns2362:0{song}crwdnd2362:0{album}crwdnd2362:0{artist}crwdne2362:0<br>
|
||||
@@template1@@<br>
|
||||
@@template2@@<br>
|
||||
@@template3@@<br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
|
||||
<h5>crwdns635:0crwdne635:0</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>crwdns526:0crwdne526:0</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>crwdns527:0crwdne527:0</span>
|
||||
</label>
|
||||
|
||||
@@ -430,6 +438,7 @@
|
||||
<li>Ctrl+Enter+Shift:crwdns1924:0crwdne1924:0</li>
|
||||
<li>Alt+Enter:crwdns1916:0crwdne1916:0</li>
|
||||
<li>Ctrl+E:crwdns652:0crwdne652:0</li>
|
||||
<li>Ctrl+U:@@keyselecttop@@</li>
|
||||
<li>Esc:crwdns653:0crwdne653:0</li>
|
||||
<li>F5:crwdns654:0crwdne654:0</li>
|
||||
<li>Ctrl+Shift+C:crwdns655:0crwdne655:0</li>
|
||||
@@ -443,13 +452,15 @@
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
<li>Shift+Enter:全角スペースを入れて改行</li>
|
||||
<li>Shift+Space:ゼロ幅スペース</li>
|
||||
以下アスタルテにログインしている場合のみ
|
||||
<br>
|
||||
<li>Ctrl+R:
|
||||
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
|
||||
</li><br>
|
||||
@@whenSelected@@
|
||||
<li>F:@@fav@@</li>
|
||||
<li>B:@@bt@@</li>
|
||||
<li>R:@@reply@@</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
|
||||
onclick="if(confirm('crwdns661:0crwdne661:0')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
@@ -76,9 +76,9 @@
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.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="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
|
Reference in New Issue
Block a user