Compare commits
17 Commits
untagged-d
...
untagged-5
Author | SHA1 | Date | |
---|---|---|---|
|
1c22572048 | ||
|
d6012ea128 | ||
|
2856aec405 | ||
|
28e39cdd3d | ||
|
bc8958ac6a | ||
|
083cb6e619 | ||
|
ba018b8568 | ||
|
1361958e8d | ||
|
6c69954ec4 | ||
|
978d3964d2 | ||
|
dd55236e84 | ||
|
dd59de1172 | ||
|
9e21979839 | ||
|
8589577995 | ||
|
2216777710 | ||
|
7950042eb6 | ||
|
b4674c8b09 |
@@ -9,6 +9,9 @@ html,body{
|
||||
background-color: var(--bg);
|
||||
color: var(--color);
|
||||
}
|
||||
body{
|
||||
border: thin solid gray;
|
||||
}
|
||||
.btn {
|
||||
margin: 5px;
|
||||
text-transform: none;
|
||||
@@ -298,7 +301,64 @@ blockquote:before, .quote:before {
|
||||
border-color:var(--color);
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
#pickers{
|
||||
display:flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
#menu{
|
||||
position:fixed;
|
||||
z-index:9999;
|
||||
background-color: var(--box);
|
||||
width:520px;
|
||||
top:calc(50% - 150px);
|
||||
left:calc(50% - 250px);
|
||||
padding: 5px;
|
||||
border: thin solid gray;
|
||||
border-radius:5px;
|
||||
}
|
||||
#menu-wrapper{
|
||||
margin-left:-5px;
|
||||
display:flex;
|
||||
}
|
||||
#left-menu{
|
||||
width:170px;
|
||||
}
|
||||
#left-menu div{
|
||||
padding-left:5px;
|
||||
width:100%;
|
||||
height:50px;
|
||||
display:flex;
|
||||
align-items:center;
|
||||
cursor:pointer;
|
||||
}
|
||||
#left-menu div:hover {
|
||||
background-color: var(--beforehover);
|
||||
}
|
||||
#left-menu span{
|
||||
margin-left:5px;
|
||||
}
|
||||
#left-menu div.active{
|
||||
background-color: var(--emphasized);
|
||||
}
|
||||
#right-menu{
|
||||
width:350px;
|
||||
max-height:325px;
|
||||
overflow-y:scroll;
|
||||
overflow-x:hidden;
|
||||
padding:5px;
|
||||
}
|
||||
.drag-bar{
|
||||
cursor:move;
|
||||
text-align:center;
|
||||
width:calc(100% + 10px);
|
||||
border-radius: 5px;
|
||||
background-color: var(--bg);
|
||||
margin-left:-5px;
|
||||
margin-right:-5px;
|
||||
margin-top:-5px;
|
||||
font-size:16px;
|
||||
padding:4px;
|
||||
}
|
||||
|
||||
/*スクロールバー*/
|
||||
::-webkit-scrollbar {
|
||||
|
1
app/css/pickr.css
Normal file
1
app/css/pickr.css
Normal file
File diff suppressed because one or more lines are too long
@@ -10,18 +10,9 @@
|
||||
min-width:300px;
|
||||
max-width:100%;
|
||||
padding: 5px;
|
||||
border-radius:5px;
|
||||
}
|
||||
#post-bar{
|
||||
cursor:move;
|
||||
text-align:center;
|
||||
width:calc(100% + 10px);
|
||||
background-color: var(--bg);
|
||||
margin-left:-5px;
|
||||
margin-right:-5px;
|
||||
margin-top:-5px;
|
||||
font-size:16px;
|
||||
padding:4px;
|
||||
}
|
||||
|
||||
.cancel {
|
||||
font-size: 0.5rem;
|
||||
color: gray;
|
||||
@@ -64,6 +55,10 @@
|
||||
}
|
||||
#emoji {
|
||||
|
||||
}
|
||||
#suggest{
|
||||
max-height:300px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#emoji-list {
|
||||
width: 100%;
|
||||
|
@@ -1,7 +1,5 @@
|
||||
|
||||
.drag-content{
|
||||
width:300px;
|
||||
max-width:100%;
|
||||
height:300px;
|
||||
text-overflow: ellipsis;
|
||||
cursor:move;
|
||||
user-select: none;
|
||||
@@ -10,32 +8,25 @@
|
||||
border-radius:5px;
|
||||
color:var(--color);
|
||||
padding:3px;
|
||||
font-family:Open Sans;
|
||||
font-size:20px;
|
||||
flex-grow:1;
|
||||
text-align: center;
|
||||
padding:10px;
|
||||
display:grid;
|
||||
grid-template-columns: 43px 1fr 60px;
|
||||
grid-template-areas: 'sorticon sorttitle sorttitle' 'sorticon sortacct sortaction';
|
||||
}
|
||||
#sort{
|
||||
display:flex;
|
||||
flex-direction:row;
|
||||
overflow-x:scroll;
|
||||
display: flex;
|
||||
width:100vw;
|
||||
|
||||
.sorticon {
|
||||
grid-area:sorticon;
|
||||
}
|
||||
#sort-box{
|
||||
position:absolute;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width:100vw;
|
||||
height:calc(100vh - 40px);
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
z-index:10002;
|
||||
.sorticon i{
|
||||
font-size:43px;
|
||||
}
|
||||
#sort-box button{
|
||||
background-color: var(--notfbox);
|
||||
color:var(--color);
|
||||
.sorttitle {
|
||||
margin-left:5px;
|
||||
grid-area:sorttitle;
|
||||
}
|
||||
.sortacct {
|
||||
margin-left:5px;
|
||||
grid-area:sortacct;
|
||||
}
|
||||
.sortaction {
|
||||
margin-left:5px;
|
||||
grid-area:sortaction;
|
||||
}
|
@@ -86,7 +86,7 @@
|
||||
font-family:Open Sans;
|
||||
font-size:15px;
|
||||
}
|
||||
@media screen and (max-width: 1344px) {
|
||||
@media screen and (max-width: 890px) {
|
||||
.btnsgroup .grouptitle{ display: none; }
|
||||
#tips,#tips-menu{ display: none; }
|
||||
}
|
||||
@@ -111,6 +111,7 @@ iframe {
|
||||
height: 100vh;
|
||||
flex: 1;
|
||||
border: thin solid gray;
|
||||
border-top:none;
|
||||
}
|
||||
.box .pin,#his-data .pin{
|
||||
display:none;
|
||||
@@ -242,6 +243,9 @@ grid-area: toot;
|
||||
font-size:1.2rem;
|
||||
margin-right:2px;
|
||||
}
|
||||
.action .fa-quote-right{
|
||||
margin-top: 2px;
|
||||
}
|
||||
.actct{
|
||||
color:var(--beforehover);
|
||||
}
|
||||
@@ -518,4 +522,4 @@ p:not(:last-child){
|
||||
.cvo-anime {
|
||||
animation-duration: 0.1s;
|
||||
animation-name: fadeInDown;
|
||||
}
|
||||
}
|
||||
|
@@ -29,6 +29,13 @@ $(function($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//Alt+Enter:セカンダリー
|
||||
if (event.metaKey || event.altKey && wv) {
|
||||
if (e.keyCode === 13) {
|
||||
sec();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Shift+Space:Markdownゼロ幅スペース
|
||||
if (event.shiftKey) {
|
||||
|
@@ -19,14 +19,14 @@ function verck(ver,winstore) {
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform,
|
||||
buttons: [lang.lang_no,lang.lang_yesno]
|
||||
}
|
||||
var platform=remote.process.platform;
|
||||
if(platform=="win32"){
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform,
|
||||
buttons: [lang.lang_no,lang.lang_yesno]
|
||||
}
|
||||
console.log(localStorage.getItem("winstore"))
|
||||
if(!localStorage.getItem("winstore")){
|
||||
|
||||
@@ -38,7 +38,27 @@ function verck(ver,winstore) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
}else if(platform=="linux"){
|
||||
if(localStorage.getItem("winstore")=="unix"){
|
||||
localStorage.removeItem("winstore")
|
||||
}
|
||||
console.log(localStorage.getItem("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]
|
||||
}
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
if(arg==1){
|
||||
localStorage.setItem("winstore","snapcraft")
|
||||
}else{
|
||||
localStorage.setItem("winstore","localinstall")
|
||||
}
|
||||
});
|
||||
}
|
||||
}else{
|
||||
localStorage.setItem("winstore","unix")
|
||||
}
|
||||
var l = 5;
|
||||
|
@@ -70,7 +70,7 @@ function defEmoji(target){
|
||||
$("#textarea").focus();
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if(!selin){
|
||||
selin=0;
|
||||
selin=0;
|
||||
}
|
||||
localStorage.setItem("cursor", selin);
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ var lang={
|
||||
"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.",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth":"Show TL of unlogined accounts",
|
||||
@@ -100,7 +101,8 @@ var lang={
|
||||
"lang_tags_always":"Always toots with ",
|
||||
"lang_tags_realtime":"Tag-stream toot",
|
||||
"lang_tags_tagunpin":"Unpin {{tag}}",
|
||||
"lang_tags_tagwarn":"When you toot without {{tag}}, tag-streaming mode will be off.",
|
||||
"lang_tags_unrealtime":"Disable TsT",
|
||||
"lang_tags_tagwarn":"Auto complete {{tag}}, if toot without {{tag}}",
|
||||
//tl/tl.js
|
||||
"lang_tl_media":"Media",
|
||||
"lang_tl_reconnect":"Reconnect to streaming API",
|
||||
@@ -120,6 +122,9 @@ var lang={
|
||||
"lang_layout_webviewmode":"Prefer WebView",
|
||||
"lang_excluded":"Excluded type of notification",
|
||||
"lang_layout_excludingbt":"Show BT mode(OFF/Exclude BT/Only BT)",
|
||||
//ui/sort.js
|
||||
"lang_sort_gothis":"Go to this column",
|
||||
"lang_sort_remthis":"Delete this column",
|
||||
//ui/spotify.js
|
||||
"lang_spotify_img":"Attach an album artwork",
|
||||
"lang_spotify_imgno":"Not attach an album artwork",
|
||||
@@ -178,6 +183,7 @@ var lang={
|
||||
"lang_parse_voted":"Voted",
|
||||
"lang_parse_vote":"Voted",
|
||||
"lang_parse_unvoted":"Show the result without voting",
|
||||
"lang_parse_endedvote":"Expired",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote":"Repost",
|
||||
"lang_misskeyparse_renoteqt":"Renote",
|
||||
|
@@ -1,7 +1,6 @@
|
||||
//commonError
|
||||
var lang={
|
||||
"language":"ja",
|
||||
//commonError
|
||||
"lang_toot":"トゥート",
|
||||
"lang_there":"あり",
|
||||
"lang_nothing":"なし",
|
||||
@@ -23,6 +22,7 @@ var lang={
|
||||
"lang_version_usever":"お使いのバージョン{{ver}}は最新です。",
|
||||
"lang_version_skipver":"アップデートはスキップされました。",
|
||||
"lang_version_platform":"このソフトウェアはMicrosoft Storeからダウンロードされましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform_linux":"このソフトウェアはSnapcraft(snapd)からインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth":"認証せずに見る",
|
||||
@@ -101,7 +101,8 @@ var lang={
|
||||
"lang_tags_always":"常に",
|
||||
"lang_tags_realtime":"実況",
|
||||
"lang_tags_tagunpin":"{{tag}}をよく使うタグから削除",
|
||||
"lang_tags_tagwarn":"次に{{tag}}なしでトゥートするまで全てのトゥートに{{tag}}が付与されます。",
|
||||
"lang_tags_unrealtime":"実況解除",
|
||||
"lang_tags_tagwarn":"{{tag}}がない場合自動で補完されます。",
|
||||
//tl/tl.js
|
||||
"lang_tl_media":"メディア",
|
||||
"lang_tl_reconnect":"Streamingに再接続しました",
|
||||
@@ -121,6 +122,9 @@ var lang={
|
||||
"lang_layout_webviewmode":"WebView優先",
|
||||
"lang_excluded":"除外する通知",
|
||||
"lang_layout_excludingbt":"BT表示(OFF/BT除外/BTのみ)",
|
||||
//ui/sort.js
|
||||
"lang_sort_gothis":"このカラムへ",
|
||||
"lang_sort_remthis":"このカラムを削除",
|
||||
//ui/spotify.js
|
||||
"lang_spotify_img":"アルバムアートワークを添付します。",
|
||||
"lang_spotify_imgno":"アルバムアートワークを添付しません。",
|
||||
@@ -179,6 +183,7 @@ var lang={
|
||||
"lang_parse_voted":"投票済みです",
|
||||
"lang_parse_vote":"投票",
|
||||
"lang_parse_unvoted":"結果だけ見る",
|
||||
"lang_parse_endedvote":"終了済み",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote":"再投稿",
|
||||
"lang_misskeyparse_renoteqt":"引用",
|
||||
|
206
app/js/lang/lang.ps.js
Normal file
206
app/js/lang/lang.ps.js
Normal file
@@ -0,0 +1,206 @@
|
||||
var lang={
|
||||
"language": "crwdns1960:0crwdne1960:0",
|
||||
"lang_toot": "crwdns1962:0crwdne1962:0",
|
||||
"lang_there": "crwdns1964:0crwdne1964:0",
|
||||
"lang_nothing": "crwdns1966:0crwdne1966:0",
|
||||
"lang_yesno": "crwdns1968:0crwdne1968:0",
|
||||
"lang_no": "crwdns1970:0crwdne1970:0",
|
||||
"lang_progress": "crwdns1972:0crwdne1972:0",
|
||||
"lang_edit": "crwdns1974:0crwdne1974:0",
|
||||
"lang_del": "crwdns1976:0crwdne1976:0",
|
||||
"lang_add": "crwdns1978:0crwdne1978:0",
|
||||
"lang_fatalerroroccured": "crwdns1980:0crwdne1980:0",
|
||||
"lang_speech": "crwdns1982:0crwdne1982:0",
|
||||
"lang_lang": "crwdns1984:0crwdne1984:0",
|
||||
"lang_langlocale": "crwdns1986:0crwdne1986:0",
|
||||
"lang_back": "crwdns1988:0crwdne1988:0",
|
||||
"lang_set": "crwdns1990:0crwdne1990:0",
|
||||
"lang_langadd": "crwdns2364:0crwdne2364:0",
|
||||
"lang_version_usever": "crwdns1994:0{{ver}}crwdne1994:0",
|
||||
"lang_version_skipver": "crwdns1996:0crwdne1996:0",
|
||||
"lang_login_noauth": "crwdns1998:0crwdne1998:0",
|
||||
"lang_manager_info": "crwdns2000:0crwdne2000:0",
|
||||
"lang_manager_refresh": "crwdns2002:0crwdne2002:0",
|
||||
"lang_manager_delete": "crwdns2004:0crwdne2004:0",
|
||||
"lang_manager_color": "crwdns2006:0crwdne2006:0",
|
||||
"lang_manager_confirm": "crwdns2008:0crwdne2008:0",
|
||||
"lang_manager_mainAcct": "crwdns2010:0crwdne2010:0",
|
||||
"lang_manager_def": "crwdns2012:0crwdne2012:0",
|
||||
"lang_manager_none": "crwdns2014:0crwdne2014:0",
|
||||
"lang_manager_godev": "crwdns2016:0crwdne2016:0",
|
||||
"lang_bbmd_misskey": "crwdns2018:0crwdne2018:0",
|
||||
"lang_emoji_get": "crwdns2020:0crwdne2020:0",
|
||||
"lang_emoji_custom": "crwdns2022:0crwdne2022:0",
|
||||
"lang_defaultemojis_text": "crwdns2388:0{{cat}}crwdne2388:0",
|
||||
"lang_postimg_previewdis": "crwdns2024:0crwdne2024:0",
|
||||
"lang_postimg_aftupload": "crwdns2026:0crwdne2026:0",
|
||||
"lang_post_tagTL": "crwdns2028:0crwdne2028:0",
|
||||
"lang_post_tagVis": "crwdns2030:0crwdne2030:0",
|
||||
"lang_post_cwtitle": "crwdns2032:0crwdne2032:0",
|
||||
"lang_post_cwtxt": "crwdns2034:0crwdne2034:0",
|
||||
"lang_post_btn1": "crwdns2036:0crwdne2036:0",
|
||||
"lang_post_btn2": "crwdns2038:0crwdne2038:0",
|
||||
"lang_post_btn3": "crwdns2040:0crwdne2040:0",
|
||||
"lang_status_favWarn": "crwdns2042:0crwdne2042:0",
|
||||
"lang_status_btWarn": "crwdns2044:0crwdne2044:0",
|
||||
"lang_status_follow": "crwdns2046:0crwdne2046:0",
|
||||
"lang_status_unfollow": "crwdns2048:0crwdne2048:0",
|
||||
"lang_status_block": "crwdns2050:0crwdne2050:0",
|
||||
"lang_status_unblock": "crwdns2052:0crwdne2052:0",
|
||||
"lang_status_mute": "crwdns2054:0crwdne2054:0",
|
||||
"lang_status_unmute": "crwdns2056:0crwdne2056:0",
|
||||
"lang_status_redraft": "crwdns2058:0crwdne2058:0",
|
||||
"lang_status_emphas": "crwdns2060:0crwdne2060:0",
|
||||
"lang_status_unemphas": "crwdns2062:0crwdne2062:0",
|
||||
"lang_status_unendorse": "crwdns2064:0crwdne2064:0",
|
||||
"lang_status_endorse": "crwdns2066:0crwdne2066:0",
|
||||
"lang_suggest_nodata": "crwdns2068:0crwdne2068:0",
|
||||
"lang_usetxtbox_reply": "crwdns2070:0crwdne2070:0",
|
||||
"lang_cards_check": "crwdns2072:0crwdne2072:0",
|
||||
"lang_cards_pip": "crwdns2074:0crwdne2074:0",
|
||||
"lang_details_nodata": "crwdns2076:0crwdne2076:0",
|
||||
"lang_details_filtered": "crwdns2078:0crwdne2078:0",
|
||||
"lang_details_embed": "crwdns2080:0crwdne2080:0",
|
||||
"lang_details_url": "crwdns2082:0crwdne2082:0",
|
||||
"lang_details_txt": "crwdns2084:0crwdne2084:0",
|
||||
"lang_filter_nodata": "crwdns2086:0crwdne2086:0",
|
||||
"lang_filter_errordegree": "crwdns2088:0crwdne2088:0",
|
||||
"lang_list_nodata": "crwdns2090:0crwdne2090:0",
|
||||
"lang_list_show": "crwdns2092:0crwdne2092:0",
|
||||
"lang_list_users": "crwdns2094:0crwdne2094:0",
|
||||
"lang_list_nouser": "crwdns2096:0crwdne2096:0",
|
||||
"lang_list_add": "crwdns2098:0crwdne2098:0",
|
||||
"lang_list_remove": "crwdns2100:0crwdne2100:0",
|
||||
"lang_notf_new": "crwdns2102:0crwdne2102:0",
|
||||
"lang_speech_refresh": "crwdns2348:0crwdne2348:0",
|
||||
"lang_src_ts": "crwdns2106:0crwdne2106:0",
|
||||
"lang_src_people": "crwdns2108:0crwdne2108:0",
|
||||
"lang_tags_always": "crwdns2110:0crwdne2110:0",
|
||||
"lang_tags_realtime": "crwdns2112:0crwdne2112:0",
|
||||
"lang_tags_tagunpin": "crwdns2114:0{{tag}}crwdne2114:0",
|
||||
"lang_tags_tagwarn": "crwdns2116:0{{tag}}crwdne2116:0",
|
||||
"lang_tl_media": "crwdns2118:0crwdne2118:0",
|
||||
"lang_tl_reconnect": "crwdns2120:0crwdne2120:0",
|
||||
"lang_layout_gotop": "crwdns2122:0crwdne2122:0",
|
||||
"lang_layout_thisacct": "crwdns2124:0{{notf}}crwdne2124:0",
|
||||
"lang_layout_delthis": "crwdns2126:0crwdne2126:0",
|
||||
"lang_layout_setthis": "crwdns2128:0crwdne2128:0",
|
||||
"lang_layout_mediafil": "crwdns2130:0crwdne2130:0",
|
||||
"lang_layout_linkana": "crwdns2132:0crwdne2132:0",
|
||||
"lang_layout_linkanades": "crwdns2134:0crwdne2134:0",
|
||||
"lang_layout_tts": "crwdns2136:0crwdne2136:0",
|
||||
"lang_layout_reconnect": "crwdns2138:0crwdne2138:0",
|
||||
"lang_layout_headercolor": "crwdns2140:0crwdne2140:0",
|
||||
"lang_layout_nodata": "crwdns2142:0crwdne2142:0",
|
||||
"lang_layout_dm": "crwdns2144:0crwdne2144:0",
|
||||
"lang_layout_webviewmode": "crwdns2146:0crwdne2146:0",
|
||||
"lang_excluded": "crwdns2368:0crwdne2368:0",
|
||||
"lang_layout_excludingbt": "crwdns2390:0crwdne2390:0",
|
||||
"lang_spotify_img": "crwdns2148:0crwdne2148:0",
|
||||
"lang_spotify_imgno": "crwdns2150:0crwdne2150:0",
|
||||
"lang_spotify_acct": "crwdns2152:0crwdne2152:0",
|
||||
"lang_spotify_np": "crwdns2154:0crwdne2154:0",
|
||||
"lang_setting_npprovide": "crwdns2370:0{{set}}crwdne2370:0",
|
||||
"lang_hisdata_frcreq": "crwdns2156:0crwdne2156:0",
|
||||
"lang_hisdata_frcwarn": "crwdns2158:0crwdne2158:0",
|
||||
"lang_hisdata_taketime": "crwdns2160:0crwdne2160:0",
|
||||
"lang_hisdata_notonmisskey": "crwdns2162:0crwdne2162:0",
|
||||
"lang_showontl_movetxt": "crwdns2164:0crwdne2164:0",
|
||||
"lang_showontl_movebtn": "crwdns2166:0crwdne2166:0",
|
||||
"lang_showontl_botacct": "crwdns2168:0[bot]crwdne2168:0",
|
||||
"lang_showontl_followed": "crwdns2170:0crwdne2170:0",
|
||||
"lang_showontl_notf": "crwdns2172:0crwdne2172:0",
|
||||
"lang_showontl_domain": "crwdns2174:0crwdne2174:0",
|
||||
"lang_showontl_listwarn": "crwdns2176:0crwdne2176:0",
|
||||
"lang_parse_mentioned": "crwdns2178:0crwdne2178:0",
|
||||
"lang_parse_faved": "crwdns2180:0crwdne2180:0",
|
||||
"lang_parse_bted": "crwdns2182:0crwdne2182:0",
|
||||
"lang_parse_btedsimple": "crwdns2184:0crwdne2184:0",
|
||||
"lang_parse_notftime": "crwdns2186:0crwdne2186:0",
|
||||
"lang_parse_cwshow": "crwdns2188:0crwdne2188:0",
|
||||
"lang_parse_fulltext": "crwdns2190:0crwdne2190:0",
|
||||
"lang_parse_autofold": "crwdns2192:0crwdne2192:0",
|
||||
"lang_parse_more": "crwdns2194:0crwdne2194:0",
|
||||
"lang_parse_url": "crwdns2196:0crwdne2196:0",
|
||||
"lang_parse_tagTL": "crwdns2198:0{{tag}}crwdne2198:0",
|
||||
"lang_parse_tagtoot": "crwdns2200:0{{tag}}crwdne2200:0",
|
||||
"lang_parse_tagpin": "crwdns2202:0{{tag}}crwdne2202:0",
|
||||
"lang_parse_public": "crwdns2204:0crwdne2204:0",
|
||||
"lang_parse_unlisted": "crwdns2206:0crwdne2206:0",
|
||||
"lang_parse_private": "crwdns2208:0crwdne2208:0",
|
||||
"lang_parse_direct": "crwdns2210:0crwdne2210:0",
|
||||
"lang_parse_clickcopy": "crwdns2212:0crwdne2212:0",
|
||||
"lang_parse_clickcopyurl": "crwdns2214:0crwdne2214:0",
|
||||
"lang_parse_trans": "crwdns2216:0crwdne2216:0",
|
||||
"lang_parse_replyto": "crwdns2218:0crwdne2218:0",
|
||||
"lang_parse_bt": "crwdns2220:0crwdne2220:0",
|
||||
"lang_parse_fav": "crwdns2222:0crwdne2222:0",
|
||||
"lang_parse_quote": "crwdns2224:0crwdne2224:0",
|
||||
"lang_parse_del": "crwdns2226:0crwdne2226:0",
|
||||
"lang_parse_pin": "crwdns2228:0crwdne2228:0",
|
||||
"lang_parse_det": "crwdns2230:0crwdne2230:0",
|
||||
"lang_parse_redraft": "crwdns2232:0crwdne2232:0",
|
||||
"lang_parse_followed": "crwdns2234:0crwdne2234:0",
|
||||
"lang_parse_clientop": "crwdns2236:0crwdne2236:0",
|
||||
"lang_parse_clienttxt": "crwdns2238:0crwdne2238:0",
|
||||
"lang_parse_clientno": "crwdns2240:0crwdne2240:0",
|
||||
"lang_parse_clientemp": "crwdns2242:0crwdne2242:0",
|
||||
"lang_parse_clientmute": "crwdns2244:0crwdne2244:0",
|
||||
"lang_parse_mute": "crwdns2246:0crwdne2246:0",
|
||||
"lang_parse_voted": "crwdns2392:0crwdne2392:0",
|
||||
"lang_parse_vote": "crwdns2394:0crwdne2394:0",
|
||||
"lang_parse_unvoted": "crwdns2396:0crwdne2396:0",
|
||||
"lang_parse_endedvote": "crwdns2398:0crwdne2398:0",
|
||||
"lang_misskeyparse_renote": "crwdns2248:0crwdne2248:0",
|
||||
"lang_misskeyparse_renoteqt": "crwdns2250:0crwdne2250:0",
|
||||
"lang_misskeyparse_reaction": "crwdns2252:0crwdne2252:0",
|
||||
"lang_misskeyparse_tagnostr": "crwdns2254:0crwdne2254:0",
|
||||
"lang_misskeyparse_listnostr": "crwdns2256:0crwdne2256:0",
|
||||
"lang_misskeyparse_home": "crwdns2258:0crwdne2258:0",
|
||||
"lang_misskeyparse_followers": "crwdns2260:0crwdne2260:0",
|
||||
"lang_misskeyparse_specified": "crwdns2262:0crwdne2262:0",
|
||||
"lang_misskeyparse_qt": "crwdns2264:0crwdne2264:0",
|
||||
"lang_misskeyparse_renoted": "crwdns2266:0crwdne2266:0",
|
||||
"lang_misskeyparse_quoted": "crwdns2268:0crwdne2268:0",
|
||||
"lang_misskeyparse_reacted": "crwdns2372:0crwdne2372:0",
|
||||
"lang_setting_time": "crwdns2272:0{{set}}crwdne2272:0",
|
||||
"lang_setting_theme": "crwdns2274:0{{set}}crwdne2274:0",
|
||||
"lang_setting_nsfw": "crwdns2276:0{{set}}crwdne2276:0",
|
||||
"lang_setting_cw": "crwdns2278:0{{set}}crwdne2278:0",
|
||||
"lang_setting_cwtext": "crwdns2280:0{{set}}crwdne2280:0",
|
||||
"lang_setting_cws": "crwdns2282:0{{set}}crwdne2282:0",
|
||||
"lang_setting_rp": "crwdns2284:0{{set}}crwdne2284:0",
|
||||
"lang_setting_vis": "crwdns2286:0{{set}}crwdne2286:0",
|
||||
"lang_setting_popup": "crwdns2288:0{{set}}crwdne2288:0",
|
||||
"lang_setting_off": "crwdns2290:0crwdne2290:0",
|
||||
"lang_setting_s": "crwdns2292:0crwdne2292:0",
|
||||
"lang_setting_box": "crwdns2294:0{{set}}crwdne2294:0",
|
||||
"lang_setting_gif": "crwdns2296:0{{set}}crwdne2296:0",
|
||||
"lang_setting_selt": "crwdns2298:0{{set1}}crwdnd2298:0{{set2}}crwdne2298:0",
|
||||
"lang_setting_autocw": "crwdns2300:0{{set1}}crwdnd2300:0{{set2}}crwdne2300:0",
|
||||
"lang_setting_width": "crwdns2302:0{{set}}crwdne2302:0",
|
||||
"lang_setting_fixwidth": "crwdns2386:0{{set}}crwdne2386:0",
|
||||
"lang_setting_img": "crwdns2304:0{{set}}crwdne2304:0",
|
||||
"lang_setting_font": "crwdns2306:0{{set}}crwdne2306:0",
|
||||
"lang_setting_default": "crwdns2308:0crwdne2308:0",
|
||||
"lang_setting_size": "crwdns2310:0{{set}}crwdne2310:0",
|
||||
"lang_setting_imgheight": "crwdns2312:0{{set}}crwdne2312:0",
|
||||
"lang_setting_ticker": "crwdns2314:0{{set}}crwdne2314:0",
|
||||
"lang_setting_animation": "crwdns2400:0{{set}}crwdne2400:0",
|
||||
"lang_setting_tag": "crwdns2316:0{{set}}crwdne2316:0",
|
||||
"lang_setting_boxConfirm": "crwdns2318:0{{set}}crwdne2318:0",
|
||||
"lang_setting_ul": "crwdns2320:0{{set}}crwdne2320:0",
|
||||
"lang_setting_notf": "crwdns2322:0{{set}}crwdne2322:0",
|
||||
"lang_setting_quote": "crwdns2324:0{{set}}crwdne2324:0",
|
||||
"lang_setting_via": "crwdns2326:0{{set}}crwdne2326:0",
|
||||
"lang_setting_mov": "crwdns2328:0{{set}}crwdne2328:0",
|
||||
"lang_setting_setasread": "crwdns2330:0{{set}}crwdne2330:0",
|
||||
"lang_setting_main": "crwdns2332:0{{set}}crwdne2332:0",
|
||||
"lang_setting_sec": "crwdns2334:0{{set}}crwdne2334:0",
|
||||
"lang_setting_ksref": "crwdns2336:0crwdne2336:0",
|
||||
"lang_setting_nomuting": "crwdns2338:0crwdne2338:0",
|
||||
"lang_setting_notftest": "crwdns2340:0crwdne2340:0",
|
||||
"lang_setting_notftestprof": "crwdns2342:0crwdne2342:0",
|
||||
"lang_setting_exportwarn": "crwdns2344:0crwdne2344:0",
|
||||
"lang_setting_importwarn": "crwdns2346:0crwdne2346:0"
|
||||
}
|
@@ -5,15 +5,16 @@
|
||||
localStorage.removeItem("kirishima")
|
||||
localStorage.removeItem("imas")
|
||||
localStorage.removeItem("image");
|
||||
localStorage.removeItem("stable")
|
||||
localStorage.setItem("mode_misskey.xyz","misskey")
|
||||
function ck() {
|
||||
var main = localStorage.getItem("main");
|
||||
if(!main){
|
||||
localStorage.setItem("main",0)
|
||||
}
|
||||
var domain = localStorage.getItem("domain_0");
|
||||
var domainz = localStorage.getItem("domain_0");
|
||||
var at = localStorage.getItem("acct_0_at");
|
||||
var oldat = localStorage.getItem(domain + "_at");
|
||||
var oldat = localStorage.getItem(domainz + "_at");
|
||||
if(oldat){
|
||||
console.log("Move to New Account Management System")
|
||||
var multi = localStorage.getItem("multi");
|
||||
@@ -77,7 +78,7 @@ function login(url) {
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
scopes: 'read write follow',
|
||||
client_name: "TheDesk(PC)",
|
||||
@@ -85,7 +86,7 @@ function login(url) {
|
||||
website: "https://thedesk.top"
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
var auth = "https://" + url + "/oauth/authorize?client_id=" + json[
|
||||
@@ -96,9 +97,7 @@ function login(url) {
|
||||
localStorage.setItem("client_secret", json["client_secret"]);
|
||||
$("#auth").show();
|
||||
$("#masara").hide();
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
const { shell } = require('electron');
|
||||
|
||||
shell.openExternal(auth);
|
||||
|
||||
|
@@ -286,7 +286,7 @@ function login(url) {
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
scopes: 'read write follow',
|
||||
client_name: "TheDesk(PC)",
|
||||
@@ -294,7 +294,7 @@ function login(url) {
|
||||
website: "https://thedesk.top"
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
localStorage.setItem("msky","false");
|
||||
@@ -326,43 +326,41 @@ function misskeyLogin(url) {
|
||||
if(!url){
|
||||
var url=$("#misskey-url").val();
|
||||
}
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
var start = "https://"+url+"/api/app/create";
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = "json";
|
||||
localStorage.setItem("msky","true");
|
||||
httpreq.send(JSON.stringify({
|
||||
name: "TheDesk(PC)",
|
||||
description: "Mastodon client for PC",
|
||||
permission: ["read","write","follow"]
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
misskeyAuth(url, json.secret)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
function misskeyAuth(url, mkc){
|
||||
var start = "https://"+url+"/api/auth/session/generate";
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
localStorage.setItem("msky","true");
|
||||
if(url=="misskey.xyz" && misskeytoken){
|
||||
var mkc=misskeytoken;
|
||||
localStorage.setItem("mkc",mkc)
|
||||
}else{
|
||||
var mkc=$("#misskey-key").val();
|
||||
localStorage.setItem("mkc",mkc)
|
||||
if(!mkc){
|
||||
$("#misskeylogin").show();
|
||||
$("#misskey-url").val(url);
|
||||
if(confirm(lang.lang_manager_godev)){
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
console.log("https://"+url+"/dev")
|
||||
shell.openExternal("https://"+url+"/dev");
|
||||
shell.openExternal("https://thedesk.top/how-to-login-misskey.html");
|
||||
}
|
||||
httpreq.responseType = "json";
|
||||
|
||||
return false;
|
||||
}else{
|
||||
$("#misskeylogin").hide();
|
||||
$("#misskey-url").val("");
|
||||
}
|
||||
}
|
||||
localStorage.setItem("mkc",mkc)
|
||||
localStorage.setItem("msky","true");
|
||||
httpreq.send(JSON.stringify({
|
||||
appSecret: mkc
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
const {
|
||||
@@ -375,11 +373,8 @@ function misskeyLogin(url) {
|
||||
$("#misskey").prop("checked", false);
|
||||
localStorage.setItem("domain_tmp",url);
|
||||
shell.openExternal(json.url);
|
||||
var electron = require("electron");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//テキストボックスにURL入れた
|
||||
@@ -407,13 +402,13 @@ function code(code) {
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
token:code,
|
||||
appSecret:localStorage.getItem("mkc")
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
var i = sha256(json.accessToken + localStorage.getItem("mkc"));
|
||||
console.log(json);
|
||||
@@ -454,7 +449,7 @@ function code(code) {
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
grant_type: "authorization_code",
|
||||
redirect_uri: "https://thedesk.top/hello.html",
|
||||
@@ -463,7 +458,7 @@ function code(code) {
|
||||
code: code
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if (json["access_token"]) {
|
||||
@@ -595,13 +590,13 @@ function misskeyRefresh(obj,target,url){
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
username:obj[target].user,
|
||||
i:localStorage.getItem("at")
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
return;
|
||||
|
@@ -58,9 +58,7 @@
|
||||
//hrefがhttp/httpsならブラウザで
|
||||
if(urls){
|
||||
if (urls[0]) {
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
const {shell} = require('electron');
|
||||
if(~url.indexOf("thedeks.top")){
|
||||
//alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot.");
|
||||
url="https://thedesk.top";
|
||||
@@ -81,8 +79,7 @@
|
||||
//よく使うライブラリ
|
||||
/*マルチバイト用切り出し*/
|
||||
$.isSurrogatePear = function(upper, lower) {
|
||||
return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <=
|
||||
0xDFFF;
|
||||
return 0xD800 <= upper && upper <= 0xDBFF && 0xDC00 <= lower && lower <= 0xDFFF;
|
||||
};
|
||||
$.mb_strlen = function(str) {
|
||||
var ret = 0;
|
||||
|
@@ -81,4 +81,80 @@ function formattimeutc(date){
|
||||
str=str+date.getUTCMinutes()
|
||||
}
|
||||
return str;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('custom-css-request', "");
|
||||
ipc.on('custom-css-response', function (event, arg) {
|
||||
if(arg==""){ return false; }
|
||||
var styleNode = document.createElement("style");
|
||||
styleNode.setAttribute("type","text/css")
|
||||
|
||||
var content = document.createTextNode(arg)
|
||||
styleNode.append(content)
|
||||
document.getElementsByTagName("head")[0].append(styleNode)
|
||||
})
|
||||
ipc.on('theme-css-response', function (event, arg) {
|
||||
if(arg==""){ return false; }
|
||||
var styleNode = document.createElement("style");
|
||||
styleNode.setAttribute("type","text/css")
|
||||
|
||||
var content = document.createTextNode(arg)
|
||||
styleNode.append(content)
|
||||
document.getElementsByTagName("head")[0].append(styleNode)
|
||||
})
|
||||
function makeCID(){
|
||||
return randomStr(8)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(4)+"-"+randomStr(12);
|
||||
}
|
||||
function randomStr(l){
|
||||
// 生成する文字列に含める文字セット
|
||||
var c = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||
var cl = c.length;
|
||||
var r = "";
|
||||
for(var i=0; i<l; i++){
|
||||
r += c[Math.floor(Math.random()*cl)];
|
||||
}
|
||||
return r;
|
||||
}
|
||||
function rgbToHex(color)
|
||||
{
|
||||
// HEXに変換したものを代入する変数
|
||||
var hex = '';
|
||||
|
||||
// 第1引数がHEXのとき変換処理は必要ないのでそのままreturn
|
||||
// IE8の場合はjQueryのcss()関数でHEXを返すので除外
|
||||
if (color.match(/^#[a-f\d]{3}$|^#[a-f\d]{6}$/i))
|
||||
{
|
||||
return color;
|
||||
}
|
||||
|
||||
// 正規表現
|
||||
var regex = color.match(/^rgb\(([0-9.]+),\s*([0-9.]+),\s*([0-9.]+)\)$/);
|
||||
|
||||
// 正規表現でマッチしたとき
|
||||
if (regex)
|
||||
{
|
||||
var rgb =
|
||||
[
|
||||
// RGBからHEXへ変換
|
||||
parseInt(regex[1]).toString(16),
|
||||
parseInt(regex[2]).toString(16),
|
||||
parseInt(regex[3]).toString(16)
|
||||
];
|
||||
|
||||
for (var i = 0; i < rgb.length; ++i)
|
||||
{
|
||||
// rgb(1,1,1)のようなときHEXに変換すると1桁になる
|
||||
// 1桁のときは前に0を足す
|
||||
if (rgb[i].length == 1)
|
||||
{
|
||||
rgb[i] = '0' + rgb[i];
|
||||
}
|
||||
hex += rgb[i];
|
||||
}
|
||||
|
||||
return hex;
|
||||
}
|
||||
|
||||
console.error(color+':第1引数はRGB形式で入力');
|
||||
}
|
2
app/js/platform/pickr.js
Normal file
2
app/js/platform/pickr.js
Normal file
File diff suppressed because one or more lines are too long
@@ -290,10 +290,10 @@ function preview(){
|
||||
for(let l = 0; l < li.length; l++) {
|
||||
var u=li[l].match(/^1\. (.+)$/);
|
||||
var listUl='<li>'+u[1]+'</li>';
|
||||
if(l == 0){
|
||||
if(l === 0){
|
||||
listUl='<ol>'+listUl;
|
||||
}
|
||||
if(l==li.length-1){
|
||||
if(l===li.length-1){
|
||||
listUl=listUl+'</ol>';
|
||||
}
|
||||
var bb=bb.replace(new RegExp(li[l], ""),listUl);
|
||||
|
@@ -15,6 +15,7 @@ function emojiToggle() {
|
||||
if ($("#emoji").hasClass("hide")) {
|
||||
$("#emoji").removeClass("hide")
|
||||
$("#right-side").show()
|
||||
$("#suggest").html("");
|
||||
if (!localStorage.getItem("emoji_" + acct_id)) {
|
||||
var html =
|
||||
'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">'+lang.lang_emoji_get+'</button>';
|
||||
@@ -25,6 +26,7 @@ function emojiToggle() {
|
||||
} else {
|
||||
$("#poll").addClass("hide")
|
||||
$("#emoji").addClass("hide")
|
||||
$("#suggest").html("");
|
||||
$("#right-side").hide()
|
||||
}
|
||||
|
||||
@@ -90,7 +92,7 @@ function emojiList(target) {
|
||||
var page = Math.ceil(num / 126);
|
||||
$("#emoji-sum").text(page);
|
||||
var ct = Math.ceil(start / 126);
|
||||
if (ct == 0) {
|
||||
if (ct === 0) {
|
||||
var ct = 1;
|
||||
$("#emoji-before").addClass("disabled");
|
||||
} else {
|
||||
|
@@ -106,7 +106,7 @@ function media(b64, type, no) {
|
||||
var start = "https://" + domain + "/api/drive/files/create";
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.upload.addEventListener("progress", progshow, false);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
if ($("#nsfw").hasClass("nsfw-avail")) {
|
||||
var nsfw = true;
|
||||
} else {
|
||||
@@ -121,12 +121,12 @@ function media(b64, type, no) {
|
||||
var start = "https://" + domain + "/api/v1/media";
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.upload.addEventListener("progress", progshow, false);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.send(fd);
|
||||
}
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
var img = localStorage.getItem("img");
|
||||
|
@@ -1,7 +1,7 @@
|
||||
//Renpost
|
||||
function renote(id, acct_id, remote) {
|
||||
if ($("#pub_" + id).hasClass("rted")) {
|
||||
return
|
||||
return false;
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
@@ -12,10 +12,10 @@ function renote(id, acct_id, remote) {
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({i:at,renoteId:id}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
$("[toot-id=" + id + "]").addClass("rted");
|
||||
@@ -58,10 +58,10 @@ function reactiontoggle(id,acct_id,tlid){
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({i:at,noteId:id}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if(json.reactionCounts){
|
||||
@@ -158,10 +158,10 @@ function reaction(mode,id,acct_id,tlid){
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({i:at,noteId:id,reaction:mode}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
$(".fav_"+id).toggleClass("yellow-text");
|
||||
}
|
||||
}
|
||||
@@ -177,7 +177,7 @@ function vote(acct_id,id,to){
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({i:at,noteId:id,choice:to}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
voterefresh(acct_id,id)
|
||||
|
@@ -11,7 +11,7 @@ function sec(){
|
||||
}
|
||||
function post(mode,postvis) {
|
||||
if($("#toot-post-btn").prop("disabled")){
|
||||
return
|
||||
return false;
|
||||
}
|
||||
var str = $("#textarea").val();
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
@@ -45,6 +45,7 @@ function post(mode,postvis) {
|
||||
}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)){
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
@@ -57,18 +58,19 @@ function post(mode,postvis) {
|
||||
buttons: [lang.lang_post_btn1,lang.lang_post_btn2, lang.lang_post_btn3]
|
||||
}
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
if(arg==1){
|
||||
if(arg===1){
|
||||
$("#cw-text").show();
|
||||
$("#cw").addClass("yellow-text");
|
||||
$("#cw").addClass("cw-avail");
|
||||
$("#cw-text").val(plus);
|
||||
post("pass");
|
||||
}else if(arg==2){
|
||||
}else if(arg===2){
|
||||
post("pass");
|
||||
}
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
misskeyPost();
|
||||
return;
|
||||
@@ -78,6 +80,9 @@ function post(mode,postvis) {
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/statuses";
|
||||
var reply = $("#reply").val();
|
||||
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
||||
str+" #"+localStorage.getItem("stable");
|
||||
}
|
||||
var toot={
|
||||
status: str
|
||||
}
|
||||
@@ -106,6 +111,7 @@ function post(mode,postvis) {
|
||||
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)){
|
||||
@@ -113,6 +119,7 @@ function post(mode,postvis) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($("#cw").hasClass("cw-avail")) {
|
||||
var spo = $("#cw-text").val();
|
||||
cw();
|
||||
@@ -162,15 +169,11 @@ function post(mode,postvis) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify(toot));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
||||
localStorage.removeItem("stable")
|
||||
}
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
var box = localStorage.getItem("box");
|
||||
if (box == "yes" || !box) {
|
||||
$("#textarea").blur();
|
||||
@@ -234,10 +237,10 @@ function misskeyPost(){
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify(toot));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
if(str.indexOf(localStorage.getItem("stable"))==-1){
|
||||
localStorage.removeItem("stable")
|
||||
}
|
||||
@@ -261,7 +264,7 @@ function misskeyPost(){
|
||||
function clear() {
|
||||
$("#textarea").val("");
|
||||
if(localStorage.getItem("stable")){
|
||||
$("#textarea").val(localStorage.getItem("stable"));
|
||||
$("#textarea").val("#"+localStorage.getItem("stable")+" ")
|
||||
}
|
||||
$("#textarea").attr("placeholder", lang.lang_toot);
|
||||
$("#reply").val("");
|
||||
|
@@ -13,10 +13,10 @@ function fav(id, acct_id, remote) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
if(remote!="remote"){
|
||||
//APIのふぁぼカウントがおかしい
|
||||
@@ -63,10 +63,10 @@ function rt(id, acct_id, remote) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if (remote != "remote") {
|
||||
@@ -133,10 +133,10 @@ function follow(acct_id,remote) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify(ent));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if ($("#his-data").hasClass("following")) {
|
||||
@@ -168,10 +168,10 @@ function block(acct_id) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
if ($("#his-data").hasClass("blocking")) {
|
||||
$("#his-data").removeClass("blocking");
|
||||
$("#his-block-btn").text(lang.lang_status_block);
|
||||
@@ -210,10 +210,10 @@ function mute(acct_id) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(rq);
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
if ($("#his-data").hasClass("muting")) {
|
||||
$("#his-data").removeClass("muting");
|
||||
$("#his-mute-btn").text(lang.lang_status_mute);
|
||||
@@ -234,7 +234,7 @@ function del(id, acct_id) {
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({i:at,noteId:id}));
|
||||
}else{
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
||||
@@ -242,11 +242,11 @@ function del(id, acct_id) {
|
||||
httpreq.open('DELETE', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
}
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -300,10 +300,10 @@ function pin(id, acct_id) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if ($("[toot-id=" + id + "]").hasClass("pined")) {
|
||||
@@ -326,10 +326,10 @@ function request(id, flag, acct_id) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
showReq();
|
||||
@@ -349,10 +349,10 @@ function domainblock(add, flag, acct_id) {
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
showDom();
|
||||
@@ -406,10 +406,10 @@ function pinUser(){
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
if ($("#his-end-btn").hasClass("endorsed")) {
|
||||
|
@@ -13,6 +13,13 @@ input.addEventListener("focus", function() {
|
||||
window.clearInterval(timer);
|
||||
timer = window.setInterval(function() {
|
||||
var new_val = input.value;
|
||||
if(new_val==""){
|
||||
$("#suggest").html("");
|
||||
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
|
||||
$("#right-side").hide()
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (prev_val != new_val) {
|
||||
var semoji = new_val.match(/:(\S{3,})/);
|
||||
if(semoji){
|
||||
@@ -32,7 +39,15 @@ input.addEventListener("focus", function() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(ehtml!=""){
|
||||
$("#right-side").show()
|
||||
$("#poll").addClass("hide")
|
||||
$("#emoji").addClass("hide")
|
||||
}else{
|
||||
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
|
||||
$("#right-side").hide()
|
||||
}
|
||||
}
|
||||
$("#suggest").html(ehtml);
|
||||
}
|
||||
|
||||
@@ -52,7 +67,10 @@ input.addEventListener("focus", function() {
|
||||
} else if (acct && acct[1]) {
|
||||
var q = acct[1];
|
||||
}else {
|
||||
//$("#suggest").html("");
|
||||
$("#suggest").html("");
|
||||
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
|
||||
$("#right-side").hide()
|
||||
}
|
||||
return;
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
@@ -72,24 +90,38 @@ input.addEventListener("focus", function() {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if (json.hashtags[0] && tag[1]) {
|
||||
if (json.hashtags[0] && tag) {
|
||||
if(tag[1]){
|
||||
var tags = "";
|
||||
Object.keys(json.hashtags).forEach(function(key4) {
|
||||
var tag = json.hashtags[key4];
|
||||
tags = tags + '<a onclick="tagInsert(\'#' + tag + '\',\'#' + q +
|
||||
'\')" class="pointer">#' + tag + '</a> ';
|
||||
if(tag!=q){
|
||||
tags = tags + '<a onclick="tagInsert(\'#' + tag + '\',\'#' + q +
|
||||
'\')" class="pointer">#' + tag + '</a><br>';
|
||||
}
|
||||
});
|
||||
$("#suggest").html("Tags:" + tags);
|
||||
$("#right-side").show()
|
||||
$("#suggest").html("Tags:<br>" + tags);
|
||||
$("#poll").addClass("hide")
|
||||
$("#emoji").addClass("hide")
|
||||
}
|
||||
} else if (json.accounts[0] && acct[1]) {
|
||||
var accts = "";
|
||||
Object.keys(json.accounts).forEach(function(key3) {
|
||||
var acct = json.accounts[key3];
|
||||
accts = accts + '<a onclick="tagInsert(\'@' + acct.acct +
|
||||
'\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a> ';
|
||||
if(acct.acct!=q){
|
||||
accts = accts + '<a onclick="tagInsert(\'@' + acct.acct +
|
||||
'\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a><br>';
|
||||
}
|
||||
});
|
||||
$("#suggest").html("@:" + accts);
|
||||
$("#right-side").show()
|
||||
$("#suggest").html("@:<br>" + accts);
|
||||
$("#poll").addClass("hide")
|
||||
$("#emoji").addClass("hide")
|
||||
} else {
|
||||
$("#suggest").html("Not Found");
|
||||
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
|
||||
$("#right-side").hide()
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -121,6 +153,9 @@ function tagInsert(code, del) {
|
||||
}
|
||||
$("#textarea").val(newt);
|
||||
$("#textarea").focus();
|
||||
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
|
||||
$("#right-side").hide()
|
||||
}
|
||||
$("#suggest").html("");
|
||||
}
|
||||
function cgNPs(q){
|
||||
|
@@ -1,10 +1,15 @@
|
||||
/*リプライ*/
|
||||
function re(id,at,acct_id,mode){
|
||||
function re(id,ats_cm,acct_id,mode){
|
||||
clear();
|
||||
var ats=ats_cm.split(',');
|
||||
localStorage.setItem("nohide",true);
|
||||
show();
|
||||
$("#reply").val(id);
|
||||
var te=$("#textarea").val();
|
||||
$("#textarea").val("@"+at+" "+te);
|
||||
for(var i=0;i<ats.length;i++){
|
||||
var at=ats[i];
|
||||
var te=$("#textarea").val();
|
||||
$("#textarea").val("@"+at+" "+te);
|
||||
}
|
||||
$("#rec").text(lang.lang_yesno);
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
@@ -32,6 +37,9 @@ function qt(id,acct_id,at,url){
|
||||
if(!qt){
|
||||
var qt="simple";
|
||||
}
|
||||
if(qt=="nothing"){
|
||||
return false;
|
||||
}
|
||||
if(qt=="simple"){
|
||||
show();
|
||||
$("#textarea").val("\n"+url);
|
||||
|
@@ -83,7 +83,7 @@ function additional(acct_id, tlid) {
|
||||
var xmlHttpRequest = new XMLHttpRequest();
|
||||
xmlHttpRequest.onreadystatechange = function()
|
||||
{
|
||||
if( this.readyState == 4 && this.status == 200 ) {
|
||||
if( this.readyState === 4 && this.status === 200 ) {
|
||||
if( this.response){
|
||||
var json=this.response;
|
||||
var emojis=json.emojis;
|
||||
|
@@ -78,10 +78,11 @@ function details(id, acct_id, tlid) {
|
||||
$("#tootmodal").attr("data-user",scn);
|
||||
}
|
||||
context(id, acct_id);
|
||||
var dom=null;
|
||||
if(!local){
|
||||
var dom=scn.replace(/.+@/g,'');
|
||||
dom=scn.replace(/.+@/g,'');
|
||||
}else{
|
||||
var dom=domain;
|
||||
dom=domain;
|
||||
}
|
||||
beforeToot(id, acct_id, dom);
|
||||
userToot(id, acct_id, uid);
|
||||
@@ -448,7 +449,7 @@ function shot(){
|
||||
})
|
||||
}
|
||||
//翻訳
|
||||
function trans(tar){
|
||||
function trans(tar,to){
|
||||
var html=$("#toot-this .toot").html();
|
||||
if(html.match(/^<p>(.+)<\/p>$/)){
|
||||
html = html.match(/^<p>(.+)<\/p>$/)[1];
|
||||
@@ -457,18 +458,21 @@ function trans(tar){
|
||||
html = html.replace(/<p>/g, "\n");
|
||||
html = html.replace(/<\/p>/g, "\n");
|
||||
html=$.strip_tags(html);
|
||||
if(~tar.indexOf("zh")){
|
||||
tar="zh";
|
||||
}
|
||||
$("#toot-this .additional").text("Loading...(Powered by Google Translate)");
|
||||
var exec='https://script.google.com/macros/s/AKfycbz0ETqcUxwNlw961GjErNb7vr_X18N2s1AS5Xu5nFTbYXcdcRM/exec?text='+encodeURIComponent(html)+'&source='+tar+'&target=ja'
|
||||
var exec='https://script.google.com/macros/s/AKfycbxhwW5tjjop9Irg-y1zr_WsXlCKEzwWG6KuoOt_vVRDfEbRv0c/exec?format=json&text='+encodeURIComponent(html)+'&source='+tar+'&target='+to
|
||||
console.log(exec);
|
||||
fetch(exec, {
|
||||
method: 'GET',
|
||||
}).then(function(response) {
|
||||
return response.text();
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(text) {
|
||||
$("#toot-this .additional").html('<span class="gray">'+text+'</span>');
|
||||
$("#toot-this .additional").html('<span class="gray">'+text.text+'</span>');
|
||||
});
|
||||
}
|
||||
//ブラウザで開く
|
||||
|
@@ -15,10 +15,11 @@ function date(str, datetype) {
|
||||
} else {
|
||||
var min = date.getMinutes();
|
||||
}
|
||||
var sec=null;
|
||||
if (date.getSeconds() < 10) {
|
||||
var sec = "0" + date.getSeconds();
|
||||
sec = "0" + date.getSeconds();
|
||||
} else {
|
||||
var sec = date.getSeconds();
|
||||
sec = date.getSeconds();
|
||||
}
|
||||
if (datetype == "full") {
|
||||
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + "/ " +
|
||||
@@ -56,10 +57,11 @@ function date(str, datetype) {
|
||||
//特殊フォーマット(インスタンス情報で利用)
|
||||
function crat(str) {
|
||||
var date = new Date(str);
|
||||
var mnt=null;
|
||||
if(date.getMonth()<9){
|
||||
var mnt="0"+(date.getMonth()+1);
|
||||
mnt="0"+(date.getMonth()+1);
|
||||
}else{
|
||||
var mnt=date.getMonth()+1;
|
||||
mnt=date.getMonth()+1;
|
||||
}
|
||||
if(date.getDate()<10){
|
||||
var dat="0"+date.getDate();
|
||||
|
@@ -32,9 +32,6 @@ function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
console.log(obj);
|
||||
var templete = '';
|
||||
if(obj[0]){
|
||||
if(tlid==1){
|
||||
console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
|
||||
}
|
||||
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
||||
}
|
||||
|
||||
|
@@ -101,17 +101,11 @@ function delreset(tlid){
|
||||
|
||||
}
|
||||
/*ワードフィルター機能*/
|
||||
function filterToggle(){
|
||||
if ($("#filter-box").hasClass("hide")) {
|
||||
$("#filter-box").removeClass("hide");
|
||||
$("#filter-box").addClass("show");
|
||||
$("#filter-box").css("bottom","40px");
|
||||
$("#filter-box").css("left",$('#filter-tgl').offset().left-$('#filter-box').width()/2+"px");
|
||||
//フィルターロード
|
||||
} else {
|
||||
$("#filter-box").removeClass("show");
|
||||
$("#filter-box").addClass("hide")
|
||||
}
|
||||
function filterMenu(){
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#filterMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#filter-box").removeClass("hide");
|
||||
}
|
||||
function filter(){
|
||||
$("#filtered-words").html("");
|
||||
@@ -140,15 +134,15 @@ function filter(){
|
||||
var filterword = json[key];
|
||||
var context = filterword.context.join(',');
|
||||
filters = filters + escapeHTML(filterword.phrase)+'<span class="sml">(for '+context+')</span>:<a onclick="filterEdit(\'' + filterword.id + '\',\'' + acct_id +
|
||||
'\')" class="pointer">'+lang_edit[lang]+'</a>/<a onclick="filterDel(' + filterword.id + ',' + acct_id +
|
||||
')" class="pointer">'+lang_del[lang]+'</a><br> ';
|
||||
'\')" class="pointer">'+lang.lang_edit+'</a>/<a onclick="filterDel(' + filterword.id + ',' + acct_id +
|
||||
')" class="pointer">'+lang.lang_del+'</a><br> ';
|
||||
});
|
||||
if(filters==""){
|
||||
filters=lang_filter_nodata[lang]+"<br>";
|
||||
filters=lang.lang_filter_nodata+"<br>";
|
||||
}
|
||||
$("#filtered-words").html(filters);
|
||||
}else{
|
||||
$("#filtered-words").html(lang_filter_nodata[lang]);
|
||||
$("#filtered-words").html(lang_filter_nodata);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -170,7 +164,7 @@ function makeNewFilter(){
|
||||
}
|
||||
console.log(cont);
|
||||
if(!cont.length){
|
||||
$("#filtered-words").html('Error:'+lang_filter_errordegree[lang]);
|
||||
$("#filtered-words").html('Error:'+lang.lang_filter_errordegree);
|
||||
}
|
||||
var exc=$("#except_filter:checked").val();
|
||||
var who=$("#wholeword_filter:checked").val();
|
||||
@@ -192,7 +186,7 @@ function makeNewFilter(){
|
||||
httpreq.open(method, start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
phrase: phr,
|
||||
context: cont,
|
||||
@@ -201,7 +195,7 @@ function makeNewFilter(){
|
||||
expires_in:time
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
filter();
|
||||
filterUpdate(acct_id)
|
||||
@@ -215,7 +209,7 @@ function makeNewFilter(){
|
||||
$("#days_filter").val("0");
|
||||
$("#hours_filter").val("0");
|
||||
$("#mins_filter").val("0");
|
||||
$("#add-filter-btn").text(lang_add[lang]);
|
||||
$("#add-filter-btn").text(lang.lang_add);
|
||||
$("#filter-edit-id").val("")
|
||||
}
|
||||
}
|
||||
@@ -231,7 +225,7 @@ function filterEdit(id,acct_id){
|
||||
$("#days_filter").val("0");
|
||||
$("#hours_filter").val("0");
|
||||
$("#mins_filter").val("0");
|
||||
$("#add-filter-btn").text(lang_edit[lang]);
|
||||
$("#add-filter-btn").text(lang.lang_edit);
|
||||
$("#filter-edit-id").val(id);
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
@@ -283,10 +277,10 @@ function filterDel(id,acct_id){
|
||||
httpreq.open("DELETE", start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send();
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
filter();
|
||||
filterUpdate(acct_id)
|
||||
|
@@ -1,14 +1,10 @@
|
||||
function listToggle(){
|
||||
if ($("#list-box").hasClass("hide")) {
|
||||
$("#list-box").removeClass("hide");
|
||||
$("#list-box").addClass("show");
|
||||
$("#list-box").css("bottom","40px");
|
||||
$("#list-box").css("left",$('#list-tgl').offset().left-$('#list-box').width()/2+"px");
|
||||
//リストロード
|
||||
} else {
|
||||
$("#list-box").removeClass("show");
|
||||
$("#list-box").addClass("hide")
|
||||
}
|
||||
function listMenu(){
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#listMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#list-box").removeClass("hide");
|
||||
$('ul.tabs').tabs('select_tab', 'src-sta');
|
||||
$("#src-contents").html("");
|
||||
}
|
||||
|
||||
|
||||
@@ -56,12 +52,12 @@ function makeNewList(){
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
title: text
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
list();
|
||||
$("#list-add").val("")
|
||||
@@ -166,12 +162,12 @@ function listAdd(id,user,acct_id){
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
account_ids: [user]
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
hisList(user,acct_id)
|
||||
}
|
||||
@@ -186,12 +182,12 @@ function listRemove(id,user,acct_id){
|
||||
httpreq.open('DELETE', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
account_ids: [user]
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
hisList(user,acct_id)
|
||||
}
|
||||
|
@@ -39,12 +39,12 @@ function notfColumn(acct_id, tlid, sys){
|
||||
var body="";
|
||||
}
|
||||
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(body);
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
||||
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
|
||||
if(json[0]){
|
||||
var templete="";
|
||||
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
|
||||
@@ -391,13 +391,13 @@ function notfmore(tlid) {
|
||||
var body="";
|
||||
}
|
||||
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(body);
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
||||
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
|
||||
if(json[0]){
|
||||
var templete="";
|
||||
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
|
||||
|
@@ -2,13 +2,12 @@
|
||||
function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var templete = '';
|
||||
if(obj[0]){
|
||||
if(tlid==1){
|
||||
if(tlid===1){
|
||||
console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
|
||||
}
|
||||
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
||||
}
|
||||
|
||||
var actb = localStorage.getItem("action_btns");
|
||||
var actb='re,rt,fav,qt,del,pin,red';
|
||||
if(actb){
|
||||
var actb = actb.split(',');
|
||||
@@ -22,6 +21,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
disp[actb[k]]=tp;
|
||||
}
|
||||
}
|
||||
var qt = localStorage.getItem("quote");
|
||||
if(qt=="nothing"){
|
||||
var qtClass="hide";
|
||||
}else{
|
||||
var qtClass="";
|
||||
}
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
var nsfwtype = localStorage.getItem("nsfw");
|
||||
var sent = localStorage.getItem("sentence");
|
||||
@@ -84,7 +89,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var card = localStorage.getItem("card_" + tlid);
|
||||
|
||||
if (!sent) {
|
||||
var sent = 500;
|
||||
sent = 500;
|
||||
}
|
||||
if (!ltr) {
|
||||
var ltr = 500;
|
||||
@@ -503,12 +508,27 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
//メンションであれば
|
||||
if (menck) {
|
||||
mentions = "";
|
||||
var to_mention=[];
|
||||
Object.keys(toot.mentions).forEach(function(key3) {
|
||||
var mention = toot.mentions[key3];
|
||||
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
|
||||
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
|
||||
//自分は除外
|
||||
//自インスタンスかどうかを確認し、IDの一致
|
||||
if(mention.acct==mention.username && mention.id==localStorage.getItem("user-id_" + acct_id)){
|
||||
//自分
|
||||
}else{
|
||||
//そのトゥの人NG
|
||||
if(toot.account.acct!=mention.acct){
|
||||
to_mention.push(mention.acct);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
to_mention.push(toot.account.acct);
|
||||
mentions = '<div style="float:right">' + mentions + '</div>';
|
||||
}else{
|
||||
var to_mention=[toot.account.acct];
|
||||
}
|
||||
var tagck = toot.tags[0];
|
||||
var tags = "";
|
||||
@@ -614,8 +634,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
});
|
||||
}
|
||||
//日本語じゃない
|
||||
if(toot.language!="ja"){
|
||||
var trans='<div class="action pin"><a onclick="trans(\''+toot.language+'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_trans+'"><i class="material-icons">g_translate</i></a></div>';
|
||||
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>';
|
||||
}else{
|
||||
var trans="";
|
||||
}
|
||||
@@ -673,9 +693,14 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
var result_hide="hide";
|
||||
}
|
||||
if(toot.poll.expired){
|
||||
var ended=lang.lang_parse_endedvote;
|
||||
}else{
|
||||
var ended=date(toot.poll.expires_at, datetype);
|
||||
}
|
||||
Object.keys(choices).forEach(function(keyc) {
|
||||
var choice = choices[keyc];
|
||||
if(!toot.poll.voted){
|
||||
if(!toot.poll.voted && !toot.poll.expired){
|
||||
var votesel='voteSelMastodon(\''+acct_id+'\',\''+toot.poll.id+'\','+keyc+','+toot.poll.multiple+')';
|
||||
var voteclass="pointer waves-effect waves-light";
|
||||
}else{
|
||||
@@ -686,7 +711,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
});
|
||||
poll='<div class="vote_'+acct_id+'_'+toot.poll.id+'">'+poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
||||
'"><i class="fa fa-calendar-times-o"></i>' +
|
||||
date(toot.poll.expires_at, datetype) + '</span></div>';
|
||||
ended+ '</span></div>';
|
||||
}
|
||||
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
|
||||
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + pin_app +
|
||||
@@ -721,7 +746,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'<div class="action">'+vis+'</div>'+
|
||||
'<div class="action '+antinoauth+'"><a onclick="detEx(\''+toot.url+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang.lang_parse_det+'</a></div>' +
|
||||
'<div class="action '+disp["re"]+' '+noauth+'"><a onclick="re(\'' + toot.id +
|
||||
'\',\'' + toot.account.acct + '\',' +
|
||||
'\',\'' + to_mention + '\',' +
|
||||
acct_id + ',\''+visen+
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="'+lang.lang_parse_replyto+'"><i class="fa fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'</a></span></a></div>' +
|
||||
@@ -730,7 +755,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="'+lang.lang_parse_bt+'"><i class="fa 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+'"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
|
||||
'<div class="action '+can_rt+' '+disp["qt"]+' '+noauth+' '+qtClass+'"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + toot.account.acct +'\',\''+toot.url+
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="'+lang.lang_parse_quote+'"><i class="text-darken-3 fa fa-quote-right"></i></a></div>' +
|
||||
'<div class="action '+disp["fav"]+' '+noauth+'"><a onclick="fav(\'' + toot.id + '\',' + acct_id +
|
||||
@@ -905,7 +930,7 @@ function client(name) {
|
||||
buttons: [lang.lang_parse_clientno,lang.lang_parse_clientemp, lang.lang_parse_clientmute]
|
||||
}
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
if(arg==1){
|
||||
if(arg===1){
|
||||
var cli = localStorage.getItem("client_emp");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
@@ -933,7 +958,7 @@ function client(name) {
|
||||
}
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_emp", json);
|
||||
}else if(arg==2){
|
||||
}else if(arg===2){
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
|
@@ -70,7 +70,7 @@ function voteMastodon(acct_id,id){
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({choices:choice}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
voteMastodonrefresh(acct_id,id)
|
||||
|
@@ -1,10 +1,10 @@
|
||||
//検索
|
||||
//検索ボックストグル
|
||||
function srcToggle() {
|
||||
$("#src-box").toggleClass("hide");
|
||||
$("#src-box").toggleClass("show");
|
||||
$("#src-box").css("bottom","40px");
|
||||
$("#src-box").css("left",$('#src-tgl').offset().left-$('#src-box').width()/2+"px");
|
||||
function searchMenu() {
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#searchMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#src-box").removeClass("hide");
|
||||
$('ul.tabs').tabs('select_tab', 'src-sta');
|
||||
$("#src-contents").html("");
|
||||
}
|
||||
@@ -116,7 +116,7 @@ function graphDraw(tag){
|
||||
var two=50-(his[2].uses/max*50);
|
||||
var one=50-(his[1].uses/max*50);
|
||||
var zero=50-(his[0].uses/max*50);
|
||||
if(max==0){
|
||||
if(max===0){
|
||||
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+
|
||||
'</svg><span style="font-size:200%">'+his[0].uses+'</span>toots <a onclick="tl(\'tag\',\'' + tag.name + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang.lang_src_people;
|
||||
|
@@ -54,10 +54,19 @@ function favTag(){
|
||||
var obj = JSON.parse(tagarr);
|
||||
}
|
||||
var tags="";
|
||||
var nowPT=localStorage.getItem("stable")
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var tag = obj[key];
|
||||
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a><span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
|
||||
'<a onclick="autoToot(\'#' + tag + ' \');brInsert(\'#' + tag + ' \')" class="pointer" title="'+lang.lang_tags_always + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">'+lang.lang_tags_realtime+'</a> <a onclick="tagRemove(\'' + key + '\')" class="pointer" title="' +lang.lang_tags_tagunpin.replace("{{tag}}" ,'#'+tag)+ '">'+lang.lang_del+'</a></span> ';
|
||||
if(nowPT!=tag){
|
||||
console.log(nowPT+"/"+tag);
|
||||
var ptt=lang.lang_tags_realtime;
|
||||
var nowon="";
|
||||
}else{
|
||||
var ptt=lang.lang_tags_unrealtime;
|
||||
var nowon="("+lang.lang_tags_realtime+")";
|
||||
}
|
||||
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a>'+nowon+'<span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
|
||||
'<a onclick="autoToot(\'' + tag + '\');" class="pointer" title="'+lang.lang_tags_always + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">'+ptt+'</a> <a onclick="tagRemove(\'' + key + '\')" class="pointer" title="' +lang.lang_tags_tagunpin.replace("{{tag}}" ,'#'+tag)+ '">'+lang.lang_del+'</a></span> ';
|
||||
});
|
||||
if(obj.length>0){
|
||||
$("#taglist").append("My Tags:" + tags);
|
||||
@@ -106,6 +115,14 @@ function tagTL(a,b,c,d){
|
||||
tl(a,b,acct_id,d);
|
||||
}
|
||||
function autoToot(tag){
|
||||
localStorage.setItem("stable",tag);
|
||||
Materialize.toast(lang.lang_tags_tagwarn +replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
|
||||
var nowPT=localStorage.getItem("stable")
|
||||
if(nowPT==tag){
|
||||
localStorage.removeItem("stable");
|
||||
Materialize.toast(lang.lang_tags_unrealtime,3000);
|
||||
}else{
|
||||
localStorage.setItem("stable",tag);
|
||||
Materialize.toast(lang.lang_tags_tagwarn.replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
|
||||
brInsert('#' + tag+" ")
|
||||
}
|
||||
favTag();
|
||||
}
|
@@ -289,7 +289,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
say(obj.content)
|
||||
}
|
||||
var templete = parse([obj], type, acct_id, tlid,"",mute);
|
||||
if ($("timeline_box_"+tlid+"_box .tl-box").scrollTop() == 0) {
|
||||
if ($("timeline_box_"+tlid+"_box .tl-box").scrollTop() === 0) {
|
||||
$("#timeline_" + tlid).prepend(templete);
|
||||
}else{
|
||||
var pool = localStorage.getItem("pool_" + tlid);
|
||||
@@ -578,7 +578,7 @@ function com(type, data) {
|
||||
return "tag/" + data + "?"
|
||||
}else if (type == "list") {
|
||||
return "list/" + data + "?"
|
||||
}else if (type="dm") {
|
||||
}else if (type=="dm") {
|
||||
return "direct?"
|
||||
}
|
||||
}
|
||||
@@ -605,22 +605,33 @@ function misskeycom(type, data) {
|
||||
//TLのアイコン
|
||||
function icon(type) {
|
||||
if (type == "home") {
|
||||
return "home"
|
||||
} else if (type == "local" || type == "noauth" || type == "local-media") {
|
||||
return "people_outline"
|
||||
} else if (type == "pub" || type == "pub-media") {
|
||||
return "language"
|
||||
var response="home";
|
||||
} else if (type == "local") {
|
||||
var response="people_outline";
|
||||
} else if (type == "local-media") {
|
||||
var response="people_outline";
|
||||
} else if (type == "pub") {
|
||||
var response="language";
|
||||
} else if (type == "pub-media") {
|
||||
var response="language";
|
||||
} else if (type == "tag") {
|
||||
return "search"
|
||||
var response="search";
|
||||
} else if (type == "list") {
|
||||
return "view_headline"
|
||||
}else if (type == "list") {
|
||||
return "subject"
|
||||
}else if (type == "dm") {
|
||||
return "mail"
|
||||
}else if (type == "mix") {
|
||||
return "share"
|
||||
var response="view_headline";
|
||||
} else if (type == "notf") {
|
||||
var response="notifications";
|
||||
} else if (type == "noauth") {
|
||||
var response="people_outline";
|
||||
} else if (type == "dm") {
|
||||
var response="mail_outline";
|
||||
} else if (type == "mix") {
|
||||
var response="merge_type";
|
||||
} else if (type == "plus") {
|
||||
var response="merge_type";
|
||||
}else if (type == "webview") {
|
||||
var response="language";
|
||||
}
|
||||
return response;
|
||||
}
|
||||
function strAlive(){
|
||||
var date = new Date() ;
|
||||
|
@@ -222,13 +222,13 @@ function imgCont(type) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($("#" + id + "-image-" + (key * 1 + 1)).length == 0) {
|
||||
if ($("#" + id + "-image-" + (key * 1 + 1)).length === 0) {
|
||||
$("#image-next").prop("disabled", true);
|
||||
} else {
|
||||
$("#image-next").prop("disabled", false);
|
||||
}
|
||||
console.log("#" + id + "-image-" + (key * 1 - 1));
|
||||
if ($("#" + id + "-image-" + (key * 1 - 1)).length == 0) {
|
||||
if ($("#" + id + "-image-" + (key * 1 - 1)).length === 0) {
|
||||
$("#image-prev").prop("disabled", true);
|
||||
} else {
|
||||
$("#image-prev").prop("disabled", false);
|
||||
@@ -289,7 +289,7 @@ function zoom(z) {
|
||||
'cursor': 'move'
|
||||
}); //指が触れたか検知
|
||||
$(this).on('touchmove', function(event) {
|
||||
if ($(target).data('down') == true) {
|
||||
if ($(target).data('down') === true) {
|
||||
// スクロール
|
||||
console.log($(target).data('x'));
|
||||
target.scrollLeft($(target).data('scrollLeft') + $(target).data('x') -
|
||||
|
@@ -7,12 +7,12 @@ var websocketLocal = [];
|
||||
var websocketNotf = [];
|
||||
|
||||
//カラム追加ボックストグル
|
||||
function addToggle() {
|
||||
$("#add-box").toggleClass("hide");
|
||||
function addColumnMenu() {
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#addColumnMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#add-box").removeClass("hide");
|
||||
addselCk()
|
||||
$("#add-box").css("bottom","40px");
|
||||
$("#add-box").css("left",$('#add-tgl').offset().left-$('#add-box').width()/2+"px");
|
||||
$("#add-box").toggleClass("show");
|
||||
}
|
||||
//最初、カラム変更時に発火
|
||||
function parseColumn() {
|
||||
@@ -311,7 +311,7 @@ function removeColumn(tlid) {
|
||||
ipc.send('column-del', "");
|
||||
ipc.on('column-del-reply', function (event, arg) {
|
||||
console.log(arg);
|
||||
if(arg==1){
|
||||
if(arg===1){
|
||||
localStorage.removeItem("card_" + tlid);
|
||||
obj.splice(tlid, 1);
|
||||
for(var i=0;i<obj.length;i++){
|
||||
|
51
app/js/ui/menu.js
Normal file
51
app/js/ui/menu.js
Normal file
@@ -0,0 +1,51 @@
|
||||
function menu(){
|
||||
if(!$("#menu").hasClass("appear")){
|
||||
$("#menu").addClass("appear")
|
||||
var left=localStorage.getItem("menu-left");
|
||||
if(left>$('body').width()-$('#menu').width()){
|
||||
left=$('body').width()-$('#menu').width();
|
||||
}else if(left<0){
|
||||
left=0;
|
||||
}
|
||||
var top=localStorage.getItem("menu-top");
|
||||
if(top>$('body').height()-$('#menu').height()){
|
||||
top=$('body').height()-$('#menu').height();
|
||||
}else if(top<0){
|
||||
top=0;
|
||||
}
|
||||
$('#menu').css("left",left+"px")
|
||||
$('#menu').css("top",top+"px")
|
||||
$('#menu').fadeIn();
|
||||
$("#menu-bar").html("TheDesk "+localStorage.getItem("ver"));
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#add-box").removeClass("hide");
|
||||
}else{
|
||||
$('#menu').fadeOut()
|
||||
$("#menu").removeClass("appear")
|
||||
}
|
||||
|
||||
}
|
||||
$(function() {
|
||||
$( "#menu" ).draggable({handle: "#menu-bar",
|
||||
stop: function() {
|
||||
var left=$('#menu').offset().left;
|
||||
if(left>$('body').width()-$('#menu').width()){
|
||||
left=$('body').width()-$('#menu').width();
|
||||
}else if(left<0){
|
||||
left=0;
|
||||
}
|
||||
var top=$('#menu').offset().top;
|
||||
if(top>$('body').height()-$('#menu').height()){
|
||||
top=$('body').height()-$('#menu').height();
|
||||
}else if(top<0){
|
||||
top=0;
|
||||
}
|
||||
localStorage.setItem("menu-left",left);
|
||||
localStorage.setItem("menu-top",top);
|
||||
}
|
||||
});
|
||||
});
|
||||
function help(){
|
||||
const {shell} = require('electron');
|
||||
shell.openExternal("https://docs.thedesk.top");
|
||||
}
|
@@ -1,6 +1,7 @@
|
||||
/*ささやきボックス(Cr民並感)*/
|
||||
//✕隠す
|
||||
function hide() {
|
||||
$("#right-side").hide()
|
||||
$('#post-box').fadeOut()
|
||||
$("#post-box").removeClass("appear")
|
||||
$("#emoji").addClass("hide")
|
||||
@@ -19,17 +20,40 @@ function show() {
|
||||
$("#post-box").addClass("appear")
|
||||
$("#textarea").focus();
|
||||
console.log("show"+localStorage.getItem("postbox-left"));
|
||||
$('#post-box').css("left",localStorage.getItem("postbox-left")+"px")
|
||||
$('#post-box').css("top",localStorage.getItem("postbox-top")+"px")
|
||||
var left=localStorage.getItem("postbox-left");
|
||||
if(left>$('body').width()-$('#post-box').width()){
|
||||
left=$('body').width()-$('#post-box').width();
|
||||
}else if(left<0){
|
||||
left=0;
|
||||
}
|
||||
var top=localStorage.getItem("postbox-top");
|
||||
if(top>$('body').height()-$('#post-box').height()){
|
||||
top=$('body').height()-$('#post-box').height();
|
||||
}else if(top<0){
|
||||
top=0;
|
||||
}
|
||||
$('#post-box').css("left",left+"px")
|
||||
$('#post-box').css("top",top+"px")
|
||||
$('#post-box').fadeIn();
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$( "#post-box" ).draggable({handle: "#post-bar",
|
||||
stop: function() {
|
||||
console.log("stopped");
|
||||
localStorage.setItem("postbox-left",$('#post-box').offset().left);
|
||||
localStorage.setItem("postbox-top",$('#post-box').offset().top);
|
||||
var left=$('#post-box').offset().left;
|
||||
if(left>$('body').width()-$('#post-box').width()){
|
||||
left=$('body').width()-$('#post-box').width();
|
||||
}else if(left<0){
|
||||
left=0;
|
||||
}
|
||||
var top=$('#post-box').offset().top;
|
||||
if(top>$('body').height()-$('#post-box').height()){
|
||||
top=$('body').height()-$('#post-box').height();
|
||||
}else if(top<0){
|
||||
top=0;
|
||||
}
|
||||
localStorage.setItem("postbox-left",left);
|
||||
localStorage.setItem("postbox-top",top);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -71,23 +95,4 @@ $('#textarea,#cw-text').focusout(function(e) {
|
||||
localStorage.removeItem("nohide")
|
||||
}
|
||||
//setTimeout(remove, 100);
|
||||
});
|
||||
|
||||
$("#timeline-container").click(function(e) {
|
||||
if(!$('#list-box').hasClass("hide")){
|
||||
$("#list-box").removeClass("show");
|
||||
$("#list-box").addClass("hide")
|
||||
}
|
||||
if(!$('#src-box').hasClass("hide")){
|
||||
$("#src-box").removeClass("show");
|
||||
$("#src-box").addClass("hide")
|
||||
}
|
||||
if(!$('#filter-box').hasClass("hide")){
|
||||
$("#filter-box").removeClass("show");
|
||||
$("#filter-box").addClass("hide")
|
||||
}
|
||||
if(!$('#add-box').hasClass("hide")){
|
||||
$("#add-box").removeClass("show");
|
||||
$("#add-box").addClass("hide")
|
||||
}
|
||||
});
|
||||
});
|
@@ -10,7 +10,7 @@ function scrollck() {
|
||||
$(".tl-box").each(function(i, elem) {
|
||||
var tlid = $(this).attr('tlid');
|
||||
//一番上ならためていた新しいトゥートを表示
|
||||
if ($(this).scrollTop() == 0) {
|
||||
if ($(this).scrollTop() === 0) {
|
||||
var pool = localStorage.getItem("pool_" + tlid);
|
||||
if (pool) {
|
||||
$("#timeline_" + tlid).prepend(pool);
|
||||
|
@@ -10,12 +10,20 @@ function settings() {
|
||||
|
||||
var cd = $("[name=theme]:checked").val();
|
||||
var ct = $("[for="+cd+"]").html();
|
||||
if (cd != localStorage.getItem("theme")) {
|
||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
||||
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);
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd);
|
||||
localStorage.setItem("theme", cd);
|
||||
|
||||
var nd = $("[name=nsfw]:checked").val();
|
||||
var nt = $("[for=n_"+nd+"]").text();
|
||||
@@ -243,6 +251,12 @@ function load() {
|
||||
}
|
||||
$("#" + 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";
|
||||
@@ -435,16 +449,9 @@ function load() {
|
||||
var sect = "nothing";
|
||||
}
|
||||
$("#sec-" + sect).prop("checked", true);
|
||||
|
||||
}
|
||||
//最初に読む
|
||||
load();
|
||||
climute();
|
||||
wordmute();
|
||||
wordemp();
|
||||
checkSpotify();
|
||||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
|
||||
function climute(){
|
||||
//クライアントミュート
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
@@ -723,4 +730,214 @@ function font(){
|
||||
}
|
||||
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()
|
@@ -32,9 +32,9 @@ function sortload(){
|
||||
var acctdata=user+"@"+domain;
|
||||
}
|
||||
|
||||
var html='<li class="drag-content" data-id="'+key+'" data-flag="'+flag+'"'+insert+'><a onclick="goColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="このカラムへ">forward</i></a> <a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="このカラムを削除">cancel</i></a><br>'+acctdata+" "+cap(acct.type, acct.data,acct.domain)+'</li>';
|
||||
var html='<li class="drag-content" data-id="'+key+'" data-flag="'+flag+'"'+insert+'><div class="sorticon"><i class="material-icons">'+icon(acct.type)+'</i></div><div class="sorttitle">'+cap(acct.type, acct.data,acct.domain)+'</div><div class="sortaction"><a onclick="goColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_sort_gothis+'">forward</i></a> <a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="このカラムを削除">cancel</i></a></div><div class="sortacct">'+acctdata+'</div></li>';
|
||||
$("#sort").append(html);
|
||||
});
|
||||
drag();
|
||||
@@ -104,18 +104,14 @@ function sort(){
|
||||
Materialize.toast("並べ替え完了。", 3000);
|
||||
sortload();
|
||||
parseColumn();
|
||||
sortToggle()
|
||||
sortMenu()
|
||||
}
|
||||
//ソートボタントグル
|
||||
function sortToggle(){
|
||||
function sortMenu(){
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#sortMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#sort-box").removeClass("hide");
|
||||
$("#sort").html("");
|
||||
if ($("#sort-box").hasClass("hide")) {
|
||||
$("#sort-box").removeClass("hide");
|
||||
$("#sort-box").addClass("show");
|
||||
//並べ替え
|
||||
sortload();
|
||||
} else {
|
||||
$("#sort-box").addClass("hide");
|
||||
$("#sort-box").removeClass("show");
|
||||
}
|
||||
sortload();
|
||||
}
|
@@ -11,6 +11,7 @@ function themes(theme) {
|
||||
$("html").removeClass("greentheme");
|
||||
$("html").removeClass("browntheme");
|
||||
$("html").removeClass("blacktheme");
|
||||
$("html").removeClass("customtheme");
|
||||
$("html").addClass(theme+"theme");
|
||||
var font = localStorage.getItem("font");
|
||||
if(font){
|
||||
@@ -18,5 +19,10 @@ function themes(theme) {
|
||||
}else{
|
||||
$("html").css("font-family","");
|
||||
}
|
||||
if(theme=="custom"){
|
||||
if(localStorage.getItem("customtheme-id")){
|
||||
ipc.send('theme-css-request', localStorage.getItem("customtheme-id"));
|
||||
}
|
||||
}
|
||||
}
|
||||
themes();
|
@@ -12,13 +12,13 @@ function profedit() {
|
||||
httpreq.open('PATCH', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
display_name: name,
|
||||
note: des,
|
||||
}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
$('#his-data').modal('close');
|
||||
todc();
|
||||
}
|
||||
@@ -47,10 +47,10 @@ function imgChange(imgfile, target) {
|
||||
httpreq.open('PATCH', start, true);
|
||||
httpreq.upload.addEventListener("progress", progshow, false);
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(fd);
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
$('#his-data').modal('close');
|
||||
|
@@ -46,7 +46,7 @@ function udgEx(user,acct_id){
|
||||
shell.openExternal(url);
|
||||
}
|
||||
});
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
function udg(user, acct_id) {
|
||||
reset();
|
||||
@@ -130,7 +130,11 @@ function udg(user, acct_id) {
|
||||
$('#his-data').css('background-image', 'url(' + json.header + ')');
|
||||
$("#his-sta").text(json.statuses_count);
|
||||
$("#his-follow").text(json.following_count);
|
||||
$("#his-follower").text(json.followers_count);
|
||||
var flerc=json.followers_count;
|
||||
if(flerc<0){
|
||||
flerc="-";
|
||||
}
|
||||
$("#his-follower").text(flerc);
|
||||
$("#his-since").text(crat(json.created_at));
|
||||
$("#his-openin").attr("data-href", json.url);
|
||||
if(json.fields){
|
||||
|
155
app/language.js
Normal file
155
app/language.js
Normal file
@@ -0,0 +1,155 @@
|
||||
// Create the Application's main menu
|
||||
function templete(lang){
|
||||
const electron = require("electron");
|
||||
const app = electron.app;
|
||||
const BrowserWindow = electron.BrowserWindow;
|
||||
const dict={
|
||||
"application":{
|
||||
"ja":"アプリケーション",
|
||||
"en":"Application"
|
||||
},
|
||||
"about":{
|
||||
"ja":"TheDeskについて",
|
||||
"en":"About TheDesk"
|
||||
},
|
||||
"quit":{
|
||||
"ja":"終了",
|
||||
"en":"Quit"
|
||||
},
|
||||
"edit":{
|
||||
"ja":"編集",
|
||||
"en":"Edit"
|
||||
},
|
||||
"undo":{
|
||||
"ja":"元に戻す",
|
||||
"en":"Undo"
|
||||
},
|
||||
"redo":{
|
||||
"ja":"やり直す",
|
||||
"en":"Redo"
|
||||
},
|
||||
"cut":{
|
||||
"ja":"切り取り",
|
||||
"en":"Cut"
|
||||
},
|
||||
"copy":{
|
||||
"ja":"コピー",
|
||||
"en":"Copy"
|
||||
},
|
||||
"paste":{
|
||||
"ja":"貼り付け",
|
||||
"en":"Paste"
|
||||
},
|
||||
"selall":{
|
||||
"ja":"すべて選択",
|
||||
"en":"Select All"
|
||||
},
|
||||
"view":{
|
||||
"ja":"表示",
|
||||
"en":"View"
|
||||
},
|
||||
"reload":{
|
||||
"ja":"再読み込み",
|
||||
"en":"Reload"
|
||||
},
|
||||
"window":{
|
||||
"ja":"ウィンドウ",
|
||||
"en":"Window"
|
||||
},
|
||||
"minimun":{
|
||||
"ja":"最小化",
|
||||
"en":"Minimarize"
|
||||
},
|
||||
"close":{
|
||||
"ja":"閉じる",
|
||||
"en":"Close"
|
||||
}
|
||||
}
|
||||
const menu = [{
|
||||
label: dict.application[lang],
|
||||
submenu: [
|
||||
{ label: dict.about[lang], click: function() {
|
||||
var ver=app.getVersion()
|
||||
var window = new BrowserWindow({width: 300, height: 460,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false });
|
||||
window.loadURL('file://' + __dirname + '/about.html?ver='+ver);
|
||||
} },
|
||||
{ type: "separator" },
|
||||
{ label: dict.quit[lang], accelerator: "Command+Q", click: function() { app.quit(); }}
|
||||
|
||||
]}, {
|
||||
label: dict.edit[lang],
|
||||
submenu: [
|
||||
{ label: dict.undo[lang], accelerator: "CmdOrCtrl+Z", selector: "undo:" },
|
||||
{ label: dict.redo[lang], accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" },
|
||||
{ type: "separator" },
|
||||
{ label: dict.cut[lang], accelerator: "CmdOrCtrl+X", selector: "cut:" },
|
||||
{ label: dict.copy[lang], accelerator: "CmdOrCtrl+C", selector: "copy:" },
|
||||
{ label: dict.paste[lang], accelerator: "CmdOrCtrl+V", selector: "paste:" },
|
||||
{ label: dict.selall[lang], accelerator: "CmdOrCtrl+A", selector: "selectAll:" }
|
||||
]},{
|
||||
label: dict.view[lang],
|
||||
submenu: [
|
||||
{
|
||||
label: 'Toggle Developer Tools',
|
||||
accelerator: 'Alt+Command+I',
|
||||
click: function() { mainWindow.toggleDevTools(); }
|
||||
},
|
||||
{
|
||||
label: dict.reload[lang],
|
||||
accelerator: 'CmdOrCtrl+R',
|
||||
click: function() { mainWindow.webContents.send('reload', " "); }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: dict.window[lang],
|
||||
role: 'window',
|
||||
submenu: [
|
||||
{
|
||||
label: dict.minimun[lang],
|
||||
accelerator: 'CmdOrCtrl+M',
|
||||
role: 'minimize'
|
||||
},
|
||||
{
|
||||
label: dict.close[lang],
|
||||
accelerator: 'CmdOrCtrl+W',
|
||||
role: 'close'
|
||||
},
|
||||
]
|
||||
}
|
||||
];
|
||||
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;
|
214
app/main.js
214
app/main.js
@@ -9,9 +9,11 @@ const shell = electron.shell;
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const fm = require('font-manager');
|
||||
const language = require('./language.js');
|
||||
const Menu=electron.Menu
|
||||
var updatewin=null;
|
||||
const join = require('path').join;
|
||||
var JSON5 = require('json5');
|
||||
// アプリケーションをコントロールするモジュール
|
||||
const app = electron.app;
|
||||
// ウィンドウを作成するモジュール
|
||||
@@ -24,7 +26,16 @@ let mainWindow;
|
||||
var info_path = join(app.getPath("userData"), "window-size.json");
|
||||
var max_info_path = join(app.getPath("userData"), "max-window-size.json");
|
||||
var lang_path=join(app.getPath("userData"), "language");
|
||||
var customcss=join(app.getPath("userData"), "custom.css");
|
||||
var tmp_img = join(app.getPath("userData"), "tmp.png");
|
||||
var ha_path=join(app.getPath("userData"), "hardwareAcceleration");
|
||||
try{
|
||||
fs.readFileSync(ha_path, 'utf8');
|
||||
app.disableHardwareAcceleration()
|
||||
console.log("disabled: HA");
|
||||
}catch{
|
||||
console.log("enabled: HA");
|
||||
}
|
||||
var window_size;
|
||||
try {
|
||||
window_size = JSON.parse(fs.readFileSync(info_path, 'utf8'));
|
||||
@@ -43,9 +54,21 @@ try {
|
||||
height: "string",
|
||||
x: "string",
|
||||
y: "string"
|
||||
|
||||
}; // デフォルトバリュー
|
||||
}
|
||||
|
||||
try {
|
||||
var lang = fs.readFileSync(lang_path, 'utf8');
|
||||
} catch (e) {
|
||||
var lang=app.getLocale();
|
||||
if(~lang.indexOf("ja")){
|
||||
lang="ja";
|
||||
}else{
|
||||
lang="en";
|
||||
}
|
||||
fs.writeFileSync(lang_path,lang);
|
||||
}
|
||||
console.log("launch:"+lang);
|
||||
// 全てのウィンドウが閉じたら終了
|
||||
app.on('window-all-closed', function() {
|
||||
if (process.platform != 'darwin') {
|
||||
@@ -60,21 +83,12 @@ function createWindow() {
|
||||
var bit=process.arch;
|
||||
if(platform=="linux"){
|
||||
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,icon: __dirname + '/desk.png'}
|
||||
}else{
|
||||
}else if(platform=="win32"){
|
||||
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true}
|
||||
}else if(platform=="darwin"){
|
||||
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true}
|
||||
}
|
||||
mainWindow = new BrowserWindow(arg);
|
||||
try {
|
||||
var lang = fs.readFileSync(lang_path, 'utf8');
|
||||
} catch (e) {
|
||||
var lang=app.getLocale();
|
||||
if(~lang.indexOf("ja")){
|
||||
lang="ja";
|
||||
}else{
|
||||
lang="en";
|
||||
}
|
||||
fs.writeFileSync(lang_path,lang);
|
||||
}
|
||||
electron.session.defaultSession.clearCache(() => {})
|
||||
if(process.argv){
|
||||
if(process.argv[1]){
|
||||
@@ -119,60 +133,11 @@ function createWindow() {
|
||||
mainWindow.on('maximize', function() {
|
||||
fs.writeFileSync(max_info_path, JSON.stringify(mainWindow.getBounds()));
|
||||
});
|
||||
// Create the Application's main menu
|
||||
var template = [{
|
||||
label: "アプリケーション",
|
||||
submenu: [
|
||||
{ label: "TheDeskについて", click: function() { about(); } },
|
||||
{ type: "separator" },
|
||||
{ label: "終了", accelerator: "Command+Q", click: function() { app.quit(); }}
|
||||
|
||||
]}, {
|
||||
label: "編集",
|
||||
submenu: [
|
||||
{ label: "元に戻す", accelerator: "CmdOrCtrl+Z", selector: "undo:" },
|
||||
{ label: "やり直し", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" },
|
||||
{ type: "separator" },
|
||||
{ label: "切り取り", accelerator: "CmdOrCtrl+X", selector: "cut:" },
|
||||
{ label: "コピー", accelerator: "CmdOrCtrl+C", selector: "copy:" },
|
||||
{ label: "貼り付け", accelerator: "CmdOrCtrl+V", selector: "paste:" },
|
||||
{ label: "すべて選択", accelerator: "CmdOrCtrl+A", selector: "selectAll:" }
|
||||
]},{
|
||||
label: "表示",
|
||||
submenu: [
|
||||
{
|
||||
label: 'Toggle Developer Tools',
|
||||
accelerator: 'Alt+Command+I',
|
||||
click: function() { mainWindow.toggleDevTools(); }
|
||||
},
|
||||
{
|
||||
label: '再読み込み',
|
||||
accelerator: 'CmdOrCtrl+R',
|
||||
click: function() { mainWindow.webContents.send('reload', " "); }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: 'ウィンドウ',
|
||||
role: 'window',
|
||||
submenu: [
|
||||
{
|
||||
label: '最小化',
|
||||
accelerator: 'CmdOrCtrl+M',
|
||||
role: 'minimize'
|
||||
},
|
||||
{
|
||||
label: '閉じる',
|
||||
accelerator: 'CmdOrCtrl+W',
|
||||
role: 'close'
|
||||
},
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="darwin"){
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(template));
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(language.template(lang)));
|
||||
}
|
||||
}
|
||||
// Electronの初期化完了後に実行
|
||||
@@ -180,8 +145,13 @@ app.on('ready', createWindow);
|
||||
var onError = function(err,response){
|
||||
console.error(err,response);
|
||||
};
|
||||
|
||||
var ipc = electron.ipcMain;
|
||||
ipc.on('minimize', function(e, args) {
|
||||
mainWindow.minimize();
|
||||
});
|
||||
ipc.on('maximize', function(e, args) {
|
||||
mainWindow.isMaximized() ? mainWindow.unmaximize() : mainWindow.maximize();
|
||||
});
|
||||
ipc.on('native-notf', function(e, args) {
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
@@ -211,9 +181,108 @@ ipc.on('native-notf', function(e, args) {
|
||||
});
|
||||
//言語
|
||||
ipc.on('lang', function(e, arg) {
|
||||
console.log("set:"+arg);
|
||||
fs.writeFileSync(lang_path,arg);
|
||||
mainWindow.webContents.send('langres', "");
|
||||
})
|
||||
//CSS
|
||||
ipc.on('custom-css-create', function(e, arg) {
|
||||
fs.writeFileSync(customcss,arg);
|
||||
mainWindow.webContents.send('custom-css-create-complete', "");
|
||||
})
|
||||
ipc.on('custom-css-request', function(e, arg) {
|
||||
try {
|
||||
var css = fs.readFileSync(customcss, 'utf8');
|
||||
} catch (e) {
|
||||
var css="";
|
||||
}
|
||||
mainWindow.webContents.send('custom-css-response', css);
|
||||
})
|
||||
ipc.on('theme-json-create', function(e, arg) {
|
||||
var themecss=join(app.getPath("userData"), JSON5.parse(arg)["id"]+".thedesktheme");
|
||||
fs.writeFileSync(themecss,JSON.stringify(JSON5.parse(arg)));
|
||||
if(JSON5.parse(arg)["id"]){
|
||||
mainWindow.webContents.send('theme-json-create-complete', "");
|
||||
}else{
|
||||
mainWindow.webContents.send('theme-json-create-complete', "error");
|
||||
}
|
||||
})
|
||||
ipc.on('theme-json-delete', function(e, arg) {
|
||||
var themecss=join(app.getPath("userData"), arg+".thedesktheme");
|
||||
console.log(themecss);
|
||||
fs.unlink(themecss, function (err) {
|
||||
mainWindow.webContents.send('theme-json-delete-complete', "");
|
||||
});
|
||||
})
|
||||
ipc.on('theme-json-request', function(e, arg) {
|
||||
var themecss=join(app.getPath("userData"), arg+".thedesktheme");
|
||||
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
mainWindow.webContents.send('theme-json-response', json);
|
||||
})
|
||||
ipc.on('theme-css-request', function(e, arg) {
|
||||
var themecss=join(app.getPath("userData"), arg+".thedesktheme");
|
||||
try {
|
||||
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
|
||||
var primary=json.vars.primary;
|
||||
var secondary=json.vars.secondary;
|
||||
var text=json.vars.text;
|
||||
if(json.base=="light"){
|
||||
var drag="rgba(255, 255, 255, 0.8)";
|
||||
var beforehover="#757575";
|
||||
}else{
|
||||
var drag="rgba(0, 0, 0, 0.8)";
|
||||
var beforehover="#9e9e9e";
|
||||
}
|
||||
if(json.props){
|
||||
if(json.props.TheDeskAccent){
|
||||
var emphasized=json.props.TheDeskAccent
|
||||
}else{
|
||||
var emphasized=secondary;
|
||||
}
|
||||
}else{
|
||||
var emphasized=primary;
|
||||
}
|
||||
|
||||
var css=".customtheme {--bg:"+secondary+";--drag:"+drag+";"+
|
||||
"--color:"+text+";--beforehover:"+beforehover+";--modal:"+secondary+";--subcolor:"+primary+";--box:"+primary+";--sidebar:"+primary+";--shared:"+emphasized+";"+
|
||||
"--notfbox:"+secondary+";--emphasized:"+primary+";--his-data:"+secondary+
|
||||
+"--active:"+primary+";--postbox:"+primary+";--modalfooter:"+primary+";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
mainWindow.webContents.send('theme-css-response', css);
|
||||
} catch (e) {
|
||||
var css="";
|
||||
}
|
||||
|
||||
})
|
||||
ipc.on('theme-json-list', function(e, arg) {
|
||||
fs.readdir(app.getPath("userData"), function(err, files){
|
||||
if (err) throw err;
|
||||
var fileList = files.filter(function(file){
|
||||
var tfile=join(app.getPath("userData"), file);
|
||||
return fs.statSync(tfile).isFile() && /.*\.thedesktheme$/.test(tfile); //絞り込み
|
||||
})
|
||||
var themes=[];
|
||||
for(var i=0;i<fileList.length;i++){
|
||||
var themecss=join(app.getPath("userData"), fileList[i]);
|
||||
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
themes.push({
|
||||
name:json.name,
|
||||
id:json.id
|
||||
})
|
||||
}
|
||||
mainWindow.webContents.send('theme-json-list-response', themes);
|
||||
});
|
||||
})
|
||||
//ハードウェアアクセラレーションの無効化
|
||||
ipc.on('ha', function(e, arg) {
|
||||
if(arg=="true"){
|
||||
fs.writeFileSync(ha_path,arg);
|
||||
}else{
|
||||
fs.unlink(ha_path, function (err) {});
|
||||
}
|
||||
app.relaunch()
|
||||
app.exit()
|
||||
})
|
||||
|
||||
ipc.on('update', function(e, x, y) {
|
||||
var platform=process.platform;
|
||||
@@ -224,7 +293,8 @@ ipc.on('update', function(e, x, y) {
|
||||
height: 400,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false
|
||||
"resizable": false,
|
||||
"modal":true
|
||||
});
|
||||
var lang = fs.readFileSync(lang_path, 'utf8');
|
||||
updatewin.loadURL('file://' + __dirname + '/view/'+lang+'/update.html');
|
||||
@@ -455,12 +525,8 @@ ipc.on('file-select', (e, args) => {
|
||||
});
|
||||
|
||||
ipc.on('column-del', (e, args) => {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: 'カラム削除',
|
||||
message: "カラムを削除しますか?(すべてのカラムのリンク解析がOFFになります。)",
|
||||
buttons: ['いいえ', 'はい']
|
||||
}
|
||||
console.log(lang);
|
||||
var options=language.delsel(lang)
|
||||
dialog.showMessageBox(options, function(index) {
|
||||
mainWindow.webContents.send('column-del-reply', index);
|
||||
})
|
||||
@@ -484,7 +550,7 @@ ipc.on('nano', function (e, x, y) {
|
||||
window_pos = [0,0]; // デフォルトバリュー
|
||||
}
|
||||
var nanowindow = new BrowserWindow({width: 350, height: 200,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false });
|
||||
nanowindow.loadURL('file://' + __dirname + '/nano.html');
|
||||
@@ -505,7 +571,7 @@ ipc.on('nano', function (e, x, y) {
|
||||
buttons: ['拒否', '許可','永続的に許可']
|
||||
}
|
||||
dialog.showMessageBox(options, function(index) {
|
||||
if(index==2){
|
||||
if(index===2){
|
||||
mainWindow.webContents.send('adobeagree', "true");
|
||||
}
|
||||
if(index>0){
|
||||
|
@@ -178,10 +178,10 @@ function post(){
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify(toot));
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
if (httpreq.readyState === 4) {
|
||||
$("#textarea").val("");
|
||||
}
|
||||
}
|
||||
|
21
app/package-lock.json
generated
21
app/package-lock.json
generated
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "17.0.2",
|
||||
"version": "17.2.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -1655,6 +1655,21 @@
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
|
||||
"integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
"jsonfile": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
||||
@@ -1947,7 +1962,8 @@
|
||||
"node-addon-api": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.6.2.tgz",
|
||||
"integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA=="
|
||||
"integrity": "sha512-479Bjw9nTE5DdBSZZWprFryHGjUaQC31y1wHo19We/k0BZlrmhqQitWoUL0cD8+scljCbIUL+E58oRDEakdGGA==",
|
||||
"optional": true
|
||||
},
|
||||
"node-gyp": {
|
||||
"version": "3.8.0",
|
||||
@@ -2119,6 +2135,7 @@
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/nowplaying-node/-/nowplaying-node-0.1.3.tgz",
|
||||
"integrity": "sha512-nEvuw93xmgZS7X1XqUaLJXhd4iB54xjTOnYuEEoPMBHHs3QWGECNKvnD0uDBCe269sUK8Z5InX5rPjzf3vRVrw==",
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"@types/node": "^10.1.2",
|
||||
"node-addon-api": "^1.2.0",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "17.1.1",
|
||||
"version": "17.3.0",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
@@ -37,6 +37,7 @@
|
||||
"electron-dl": "^1.11.0",
|
||||
"font-manager": "^0.3.0",
|
||||
"jimp": "^0.2.28",
|
||||
"json5": "^2.1.0",
|
||||
"node-notifier": "^5.2.1",
|
||||
"sumchecker": "^2.0.2"
|
||||
},
|
||||
|
@@ -32,7 +32,7 @@
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.1.1)";
|
||||
var ver="Miria (17.3.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -54,7 +54,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">Post new</div>
|
||||
<div id="post-bar" class="drag-bar">Post new</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
@@ -125,7 +125,6 @@ var tlid=0;
|
||||
<span class="sml gray pointer anti-markdown mize">
|
||||
<a onclick="mdToggle()">Markdownエディタを表示</a>
|
||||
</span>
|
||||
<span id="suggest"></span>
|
||||
</div>
|
||||
<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>
|
||||
@@ -202,6 +201,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<div id="suggest"></div>
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">
|
||||
@@ -582,17 +582,20 @@ var tlid=0;
|
||||
<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-Miria_17-1-0" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-2-1" 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>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.1.0)</h5>
|
||||
トゥートボックスがフロートタイプに。左下、右下以外にも自由においてください。<br>
|
||||
いろいろとアニメーション入れた(硬派な方は設定「タイムラインの設定」からオフに)<br>
|
||||
アンケートができるように(OK:Mastodon (2.8~)/WIP: votedon./ NG: ニコフレ)<br>
|
||||
フォント選択機能が復活<br>
|
||||
WindowsからiTunesやAIMP、その他CAD系のNowPlayingができるように。要プラグインのソフトもある。<br>
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>Support TheDesk!</h3>
|
||||
@@ -622,130 +625,152 @@ var tlid=0;
|
||||
<i class="material-icons pointer" onclick="endPip()">close</i>
|
||||
<div id="pip-content">
|
||||
</div>
|
||||
</div>
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide z-depth-4 notf-box">
|
||||
<div class="input-field"><span data-trans="your_acct">Select an account</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">Local</option>
|
||||
<option value="local-media" data-trans="local-media">Local(Media)</option>
|
||||
<option value="home" data-trans="home">Home</option>
|
||||
<option value="pub" data-trans="public">Federated</option>
|
||||
<option value="pub-media" data-trans="public-media">Federated(Media)</option>
|
||||
<option value="dm" data-trans="dm">Direct Message</option>
|
||||
<option value="mix" data-trans="integrated">Integrated(Local and Home)</option>
|
||||
<option value="plus" data-trans="plus">Integrated(Local and replies and BT on Home)</option>
|
||||
<option value="notf" data-trans="notification">Notifications</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">Show this TL:</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">Show this TL:
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>Add
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide notf-box z-depth-4" style="width:500px">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">Search</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>Search
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>Sort
|
||||
</button>
|
||||
<button onclick="sortToggle()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="close">
|
||||
<i class="material-icons left">close</i>Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>Select an account</label>
|
||||
</div>
|
||||
<!--menu-->
|
||||
<div id="menu" class="z-depth-5" style="display:none">
|
||||
<div id="menu-bar" class="drag-bar"></div>
|
||||
<span class="cancel">
|
||||
<i class="material-icons waves-effect" onclick="menu()" title="Close this box(X)">cancel</i>
|
||||
</span>
|
||||
<div id="menu-wrapper">
|
||||
<div id="left-menu">
|
||||
<div class="waves-effect active" onclick="addColumnMenu()" id="addColumnMenu"><i class="material-icons">add</i><span>Add a column</span></div>
|
||||
<div class="waves-effect" onclick="sortMenu()" id="sortMenu"><i class="material-icons">sort</i><span>Sort</span></div>
|
||||
<div class="waves-effect" onclick="searchMenu()" id="searchMenu"><i class="material-icons">search</i><span>Search</span></div>
|
||||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>List</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>Filter</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>Help</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide menu-content">
|
||||
<div class="input-field"><span data-trans="your_acct">Select an account</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
List
|
||||
</button>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">Local</option>
|
||||
<option value="local-media" data-trans="local-media">Local(Media)</option>
|
||||
<option value="home" data-trans="home">Home</option>
|
||||
<option value="pub" data-trans="public">Federated</option>
|
||||
<option value="pub-media" data-trans="public-media">Federated(Media)</option>
|
||||
<option value="dm" data-trans="dm">Direct Message</option>
|
||||
<option value="mix" data-trans="integrated">Integrated(Local and Home)</option>
|
||||
<option value="plus" data-trans="plus">Integrated(Local and replies and BT on Home)</option>
|
||||
<option value="notf" data-trans="notification">Notifications</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">Show this TL:</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">Show this TL:
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>Add
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide menu-content">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">Search</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>Search
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide menu-content">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>Sort
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>Select an account</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
List
|
||||
</button>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="Display name">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">Save</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>Select an account</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
List
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="Filtering words"><br>
|
||||
Filter contexts<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">Home</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">Local</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">Notifications</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">Conversations</label><br>
|
||||
Options<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">Whole word</label><br>
|
||||
<span class="sml">Nice for Latin language</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">Drop instead of hide</label><br>
|
||||
<span class="sml">Filtered toots will disappear irreversibly, even if filter is later removed</span><br>
|
||||
Expire after<span class="sml">Unset or "0" means "Never"<b>This value may contain some error</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">days
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">hours
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">minutes
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">Add</button><br>
|
||||
<span class="sml">Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.</span>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="Display name">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">Save</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>Select an account</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
List
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="Filtering words"><br>
|
||||
Filter contexts<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">Home</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">Local</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">Notifications</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">Conversations</label><br>
|
||||
Options<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">Whole word</label><br>
|
||||
<span class="sml">Nice for Latin language</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">Drop instead of hide</label><br>
|
||||
<span class="sml">Filtered toots will disappear irreversibly, even if filter is later removed</span><br>
|
||||
Expire after<span class="sml">Unset or "0" means "Never"<b>This value may contain some error</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">days
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">hours
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">minutes
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">Add</button><br>
|
||||
<span class="sml">Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.</span>
|
||||
</div>
|
||||
<a href="index.html" class="waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">refresh</i>Super Reload
|
||||
</a> |
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>Toot button layout reverse
|
||||
</a>
|
||||
</div>
|
||||
<div id="main">
|
||||
<!--TLのTL-->
|
||||
<div id="timeline-container">
|
||||
<h3>Welcome to TheDesk</h3><br><a href="acct.html">Add an account</a> or click <i class="material-icons">add</i> to add a column.
|
||||
<h3>Welcome to TheDesk</h3><br><a href="acct.html">Add an account</a> or click <i class="material-icons">apps</i> to add a column.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -756,52 +781,23 @@ var tlid=0;
|
||||
<button id="posttgl" class="btn waves-effect indigo" 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
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
<a onclick="addToggle()" class="nex waves-effect" data-trans-i="add" id="add-tgl">
|
||||
<i class="material-icons nex" title="Add a column" data-trans-title="column_add">add</i>
|
||||
</a>
|
||||
<a onclick="sortToggle()" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="Sort" data-trans-title="sort">sort</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Accounts:</span>
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="Account Manager(Ctrl+Shift+M)" data-trans-title="manager">account_circle</i>
|
||||
</a>
|
||||
<a onclick="srcToggle()" class="nex waves-effect" id="src-tgl">
|
||||
<i class="material-icons" title="Search" data-trans-title="src">search</i>
|
||||
</a>
|
||||
<a onclick="listToggle()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="List" data-trans-title="list">view_headline</i>
|
||||
</a>
|
||||
<a onclick="filterToggle()" class="nex waves-effect" id="filter-tgl">
|
||||
<i class="material-icons" title="Filter" data-trans-title="filter">filter_list</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Preferences:</span>
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="Toot box reverse" data-trans-title="reverse">swap_horiz</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="Preferences(Ctrl+Shift+S)" data-trans-title="setting">settings</i>
|
||||
</a>
|
||||
<a href="index.html" class="nex mize waves-effect">
|
||||
<i class="material-icons nex" title="Super Reload(F5/⌘+R)" data-trans-title="reload">refresh</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="The smallest Mastodon,TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex waves-effect" target="_blank" id="ranking-btn" style="display:none;">
|
||||
<i class="material-icons nex" title="アスタルテランキング">timeline</i>
|
||||
</a>
|
||||
<a href="https://docs.thedesk.top" class="setting nex waves-effect" target="_blank">
|
||||
<i class="material-icons nex" title="Help">help_outline</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnsgroup">
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="Account Manager(Ctrl+Shift+M)">account_circle</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="Preferences(Ctrl+Shift+S)">settings</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="The smallest Mastodon,TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="menu()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="List">apps</i>
|
||||
</a>
|
||||
</div>
|
||||
</div></div>
|
||||
<div>
|
||||
<div id="tips-menu">
|
||||
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
|
||||
@@ -878,4 +874,5 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/menu.js"></script>
|
@@ -12,16 +12,20 @@
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../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">
|
||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
|
||||
</head>
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/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>
|
||||
|
||||
<h4>Preferences</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -30,21 +34,11 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Languages</h5>
|
||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
|
||||
<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
|
||||
<h5>Import and export of preferences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">Export</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">Import</button>
|
||||
<h5>Themes</h5>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<br>
|
||||
<h5>Popup notification(on Windows)</h5>Hide to set "0"
|
||||
<br>
|
||||
@@ -85,9 +79,83 @@
|
||||
TheDesk uses this value when it try to save pictures or take screenshots.<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">Change</button>
|
||||
<br>
|
||||
<h5>Disable hardware acceleration</h5>
|
||||
Auto restarted
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">Yes</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">No</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Themes
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Select theme</h4>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||
<label for="custom">Custom</label>
|
||||
<div style="width:300px" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Edit and add custom themes</h4>
|
||||
<div style="width:300px" id="edit-selector" data-add="Add new">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Name</h5>
|
||||
<input type="text" style="width:300px" id="custom_name" placeholder="Name...">
|
||||
<h5>About this theme</h5>
|
||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="About this theme..."></textarea></div>
|
||||
<h5>Color scheme</h5>
|
||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||
<label for="dark">Dark</label>
|
||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||
<label for="light">Light</label>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Primary</h5>Background of components
|
||||
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||
<input type="hidden" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Secondary</h5>Background color
|
||||
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||
<input type="hidden" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Texts</h5>Text color
|
||||
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||
<input type="hidden" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts
|
||||
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||
<input type="hidden" id="color-picker3_value">
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Change</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
|
||||
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||
Share this code with other TheDesk. Do not share this code with MiAS.
|
||||
<h4>Import of custom themes</h4>
|
||||
Get more themes on <a href="https://assets.msky.cafe/" target="_blank">MiAS</a><br>
|
||||
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
@@ -252,8 +320,9 @@
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">URL and acct(mention to the user)</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">URL, text and acct(mention to the user)
|
||||
</label>
|
||||
<label for="q_full">URL, text and acct(mention to the user)</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">Disabled(Hide buttons on TLs)</label>
|
||||
<br>
|
||||
<h5>Default accounts of actions</h5>
|
||||
Main account can be set on Account Manager.<br>
|
||||
@@ -322,7 +391,7 @@
|
||||
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<!-->h5>NowPlaying Provider(Windows)</h5>
|
||||
<h5>NowPlaying Provider(Windows)</h5>
|
||||
macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a> is required. And MusicBee requires CAD.<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
@@ -337,7 +406,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
<label for="cad">CAD</label><br><br>
|
||||
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
|
||||
<h5>Account Connection</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
@@ -394,6 +463,7 @@
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
@@ -443,6 +513,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
@@ -32,7 +32,7 @@
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.1.1)";
|
||||
var ver="Miria (17.3.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -54,7 +54,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">投稿</div>
|
||||
<div id="post-bar" class="drag-bar">投稿</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
@@ -125,7 +125,6 @@ var tlid=0;
|
||||
<span class="sml gray pointer anti-markdown mize">
|
||||
<a onclick="mdToggle()">Markdownエディタを表示</a>
|
||||
</span>
|
||||
<span id="suggest"></span>
|
||||
</div>
|
||||
<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>
|
||||
@@ -202,6 +201,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<div id="suggest"></div>
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">サーバーによって実装が異なります。
|
||||
@@ -582,17 +582,20 @@ var tlid=0;
|
||||
<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-Miria_17-1-0" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-2-1" 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>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.1.0)</h5>
|
||||
トゥートボックスがフロートタイプに。左下、右下以外にも自由においてください。<br>
|
||||
いろいろとアニメーション入れた(硬派な方は設定「タイムラインの設定」からオフに)<br>
|
||||
アンケートができるように(OK:Mastodon (2.8~)/WIP: votedon./ NG: ニコフレ)<br>
|
||||
フォント選択機能が復活<br>
|
||||
WindowsからiTunesやAIMP、その他CAD系のNowPlayingができるように。要プラグインのソフトもある。<br>
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>ご支援ください。</h3>
|
||||
@@ -622,130 +625,152 @@ var tlid=0;
|
||||
<i class="material-icons pointer" onclick="endPip()">close</i>
|
||||
<div id="pip-content">
|
||||
</div>
|
||||
</div>
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide z-depth-4 notf-box">
|
||||
<div class="input-field"><span data-trans="your_acct">アカウントを選択</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">ローカル</option>
|
||||
<option value="local-media" data-trans="local-media">ローカル(メディア)</option>
|
||||
<option value="home" data-trans="home">ホーム</option>
|
||||
<option value="pub" data-trans="public">連合</option>
|
||||
<option value="pub-media" data-trans="public-media">連合(メディア)</option>
|
||||
<option value="dm" data-trans="dm">ダイレクトメッセージ</option>
|
||||
<option value="mix" data-trans="integrated">統合(ローカルとホーム)</option>
|
||||
<option value="plus" data-trans="plus">統合(ローカルとブースト・リプライ)</option>
|
||||
<option value="notf" data-trans="notification">通知</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">表示するタイムライン</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">表示するタイムライン
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">TweetDeckを表示します。TJDeckをカスタムしたものが読み込まれます(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。キーボードショートカットが邪魔をするので、文字入力時はカラムの「WebView優先」にチェックを入れてください。
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>追加
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide notf-box z-depth-4" style="width:500px">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">検索</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>検索
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>並べ替え設定
|
||||
</button>
|
||||
<button onclick="sortToggle()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="close">
|
||||
<i class="material-icons left">close</i>Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>アカウントを選択</label>
|
||||
</div>
|
||||
<!--menu-->
|
||||
<div id="menu" class="z-depth-5" style="display:none">
|
||||
<div id="menu-bar" class="drag-bar"></div>
|
||||
<span class="cancel">
|
||||
<i class="material-icons waves-effect" onclick="menu()" title="このボックスを閉じる(X)">cancel</i>
|
||||
</span>
|
||||
<div id="menu-wrapper">
|
||||
<div id="left-menu">
|
||||
<div class="waves-effect active" onclick="addColumnMenu()" id="addColumnMenu"><i class="material-icons">add</i><span>カラム追加</span></div>
|
||||
<div class="waves-effect" onclick="sortMenu()" id="sortMenu"><i class="material-icons">sort</i><span>カラム一覧/並べ替え</span></div>
|
||||
<div class="waves-effect" onclick="searchMenu()" id="searchMenu"><i class="material-icons">search</i><span>検索</span></div>
|
||||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>リスト</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>フィルター</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>ヘルプ</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide menu-content">
|
||||
<div class="input-field"><span data-trans="your_acct">アカウントを選択</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
一覧
|
||||
</button>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">ローカル</option>
|
||||
<option value="local-media" data-trans="local-media">ローカル(メディア)</option>
|
||||
<option value="home" data-trans="home">ホーム</option>
|
||||
<option value="pub" data-trans="public">連合</option>
|
||||
<option value="pub-media" data-trans="public-media">連合(メディア)</option>
|
||||
<option value="dm" data-trans="dm">ダイレクトメッセージ</option>
|
||||
<option value="mix" data-trans="integrated">統合(ローカルとホーム)</option>
|
||||
<option value="plus" data-trans="plus">統合(ローカルとブースト・リプライ)</option>
|
||||
<option value="notf" data-trans="notification">通知</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">表示するタイムライン</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">表示するタイムライン
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">TweetDeckを表示します。TJDeckをカスタムしたものが読み込まれます(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。キーボードショートカットが邪魔をするので、文字入力時はカラムの「WebView優先」にチェックを入れてください。
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>追加
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide menu-content">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">検索</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>検索
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide menu-content">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>並べ替え設定
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>アカウントを選択</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
一覧
|
||||
</button>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="名前">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">新規作成</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>アカウントを選択</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
一覧
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="フィルターワード"><br>
|
||||
適応範囲<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">ホーム</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">ローカル</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">通知</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">会話</label><br>
|
||||
オプション<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">単語マッチ</label><br>
|
||||
<span class="sml">非ラテン系の文字列では「単語マッチ」は推奨されません。</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">除外</label><br>
|
||||
<span class="sml">「除外」時マッチしたトゥートは非可逆的に除外され、削除後も閲覧できません。</span><br>
|
||||
有効期限(あと)<span class="sml">未指定(または0分)で「無制限」になります。<b>仕様上数値の正確性を保証できません。</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">日
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">時間
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">分
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">追加</button><br>
|
||||
<span class="sml">Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。</span>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="名前">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">新規作成</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>アカウントを選択</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
一覧
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="フィルターワード"><br>
|
||||
適応範囲<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">ホーム</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">ローカル</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">通知</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">会話</label><br>
|
||||
オプション<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">単語マッチ</label><br>
|
||||
<span class="sml">非ラテン系の文字列では「単語マッチ」は推奨されません。</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">除外</label><br>
|
||||
<span class="sml">「除外」時マッチしたトゥートは非可逆的に除外され、削除後も閲覧できません。</span><br>
|
||||
有効期限(あと)<span class="sml">未指定(または0分)で「無制限」になります。<b>仕様上数値の正確性を保証できません。</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">日
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">時間
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">分
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">追加</button><br>
|
||||
<span class="sml">Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。</span>
|
||||
</div>
|
||||
<a href="index.html" class="waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">refresh</i>スーパーリロード
|
||||
</a> |
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>トゥートボタンの左右入れ替え
|
||||
</a>
|
||||
</div>
|
||||
<div id="main">
|
||||
<!--TLのTL-->
|
||||
<div id="timeline-container">
|
||||
<h3>Welcome to TheDesk</h3><br><a href="acct.html">アカウントを追加</a>するか下の<i class="material-icons">add</i>ボタンよりカラムを追加してください。
|
||||
<h3>Welcome to TheDesk</h3><br><a href="acct.html">アカウントを追加</a>するか下の<i class="material-icons">apps</i>ボタンよりカラムを追加してください。
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -756,52 +781,23 @@ var tlid=0;
|
||||
<button id="posttgl" class="btn waves-effect indigo" 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>トゥート
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
<a onclick="addToggle()" class="nex waves-effect" data-trans-i="add" id="add-tgl">
|
||||
<i class="material-icons nex" title="カラム追加" data-trans-title="column_add">add</i>
|
||||
</a>
|
||||
<a onclick="sortToggle()" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="カラム一覧/並べ替え" data-trans-title="sort">sort</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Accounts:</span>
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="アカウントマネージャー(Ctrl+Shift+M)" data-trans-title="manager">account_circle</i>
|
||||
</a>
|
||||
<a onclick="srcToggle()" class="nex waves-effect" id="src-tgl">
|
||||
<i class="material-icons" title="検索" data-trans-title="src">search</i>
|
||||
</a>
|
||||
<a onclick="listToggle()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="リスト" data-trans-title="list">view_headline</i>
|
||||
</a>
|
||||
<a onclick="filterToggle()" class="nex waves-effect" id="filter-tgl">
|
||||
<i class="material-icons" title="フィルター" data-trans-title="filter">filter_list</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Preferences:</span>
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="トゥートバーの左右入れ替え" data-trans-title="reverse">swap_horiz</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="設定(Ctrl+Shift+S)" data-trans-title="setting">settings</i>
|
||||
</a>
|
||||
<a href="index.html" class="nex mize waves-effect">
|
||||
<i class="material-icons nex" title="スーパーリロード(F5/⌘+R)" data-trans-title="reload">refresh</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="最小のマストドン。TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex waves-effect" target="_blank" id="ranking-btn" style="display:none;">
|
||||
<i class="material-icons nex" title="アスタルテランキング">timeline</i>
|
||||
</a>
|
||||
<a href="https://docs.thedesk.top" class="setting nex waves-effect" target="_blank">
|
||||
<i class="material-icons nex" title="ヘルプ">help_outline</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnsgroup">
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="アカウントマネージャー(Ctrl+Shift+M)">account_circle</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="設定(Ctrl+Shift+S)">settings</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="最小のマストドン。TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="menu()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="リスト">apps</i>
|
||||
</a>
|
||||
</div>
|
||||
</div></div>
|
||||
<div>
|
||||
<div id="tips-menu">
|
||||
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
|
||||
@@ -878,4 +874,5 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/menu.js"></script>
|
@@ -12,16 +12,20 @@
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../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">
|
||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
|
||||
</head>
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/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>
|
||||
|
||||
<h4>設定</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -30,21 +34,11 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>言語</h5>
|
||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
|
||||
<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
|
||||
<h5>設定のインポートとエクスポート</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">エクスポート</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">インポート</button>
|
||||
<h5>テーマの設定</h5>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<br>
|
||||
<h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
|
||||
<br>
|
||||
@@ -85,9 +79,83 @@
|
||||
画像ダウンロードやスクリーンショットに影響します。<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">変更</button>
|
||||
<br>
|
||||
<h5>ハードウェアアクセラレーションの無効化</h5>
|
||||
表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">はい</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">いいえ</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>テーマの設定
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>テーマの選択</h4>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||
<label for="custom">Custom</label>
|
||||
<div style="width:300px" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>カスタムテーマの作成・編集</h4>
|
||||
<div style="width:300px" id="edit-selector" data-add="新規作成">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">新規作成</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>名前</h5>
|
||||
<input type="text" style="width:300px" id="custom_name" placeholder="名前...">
|
||||
<h5>説明</h5>
|
||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="説明..."></textarea></div>
|
||||
<h5>色の系統</h5>
|
||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||
<label for="dark">Dark</label>
|
||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||
<label for="light">Light</label>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Primary</h5>補助要素に使われる背景色
|
||||
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||
<input type="hidden" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Secondary</h5>全体の背景色など
|
||||
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||
<input type="hidden" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Texts</h5>テキストの色
|
||||
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||
<input type="hidden" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>ブーストの背景色など
|
||||
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||
<input type="hidden" id="color-picker3_value">
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn-large waves-effect" onclick="customComp()">変更</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">削除</button><br><br>
|
||||
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||
このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。詳細:<a href="https://thedesk.top/mias.html" target="_blank">テーマ互換性</a>
|
||||
<h4>カスタムテーマのインポート</h4>
|
||||
<a href="https://assets.msky.cafe/" target="_blank">MiAS</a>上の80を超えるテーマを張り付けることもできます。<br>
|
||||
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">インポート</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>タイムラインの設定
|
||||
</div>
|
||||
@@ -252,8 +320,9 @@
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">URLとアカウント名(相手に通知)</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">本文・URL・アカウント名
|
||||
</label>
|
||||
<label for="q_full">本文・URL・アカウント名</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">使わない(TL上にボタンも表示されません)</label>
|
||||
<br>
|
||||
<h5>投稿後や起動時のアカウント</h5>
|
||||
メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。<br>
|
||||
@@ -322,7 +391,7 @@
|
||||
<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<!-->h5>NowPlayingのソース(Windows)</h5>
|
||||
<h5>NowPlayingのソース(Windows)</h5>
|
||||
macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
@@ -337,7 +406,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
<label for="cad">CAD</label><br><br>
|
||||
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
|
||||
<h5>アカウントの連携</h5>
|
||||
APIの性質上,thedesk.topへアクセスします。<br>
|
||||
@@ -394,6 +463,7 @@
|
||||
<li>X:投稿パネルを開閉</li>
|
||||
<li>Ctrl+Enter:投稿</li>
|
||||
<li>Ctrl+Enter+Shift:投稿(セカンダリートゥート)</li>
|
||||
<li>Alt+Enter:セカンダリートゥートボタン</li>
|
||||
<li>Ctrl+E:全ての通知を既読にする</li>
|
||||
<li>Esc:投稿パネルを消す</li>
|
||||
<li>F5:スーパーリロード</li>
|
||||
@@ -443,6 +513,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
@@ -54,7 +54,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">{{post-new}}</div>
|
||||
<div id="post-bar" class="drag-bar">{{post-new}}</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
@@ -125,7 +125,6 @@ var tlid=0;
|
||||
<span class="sml gray pointer anti-markdown mize">
|
||||
<a onclick="mdToggle()">Markdownエディタを表示</a>
|
||||
</span>
|
||||
<span id="suggest"></span>
|
||||
</div>
|
||||
<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>
|
||||
@@ -202,6 +201,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<div id="suggest"></div>
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">{{emojiWarn}}
|
||||
@@ -582,17 +582,20 @@ var tlid=0;
|
||||
<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-Miria_17-1-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-2-1" 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>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.1.0)</h5>
|
||||
トゥートボックスがフロートタイプに。左下、右下以外にも自由においてください。<br>
|
||||
いろいろとアニメーション入れた(硬派な方は設定「タイムラインの設定」からオフに)<br>
|
||||
アンケートができるように(OK:Mastodon (2.8~)/WIP: votedon./ NG: ニコフレ)<br>
|
||||
フォント選択機能が復活<br>
|
||||
WindowsからiTunesやAIMP、その他CAD系のNowPlayingができるように。要プラグインのソフトもある。<br>
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>{{supportme}}</h3>
|
||||
@@ -622,125 +625,147 @@ var tlid=0;
|
||||
<i class="material-icons pointer" onclick="endPip()">close</i>
|
||||
<div id="pip-content">
|
||||
</div>
|
||||
</div>
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide z-depth-4 notf-box">
|
||||
<div class="input-field"><span data-trans="your_acct">{{selectAcct}}</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">{{local}}</option>
|
||||
<option value="local-media" data-trans="local-media">{{localMedia}}</option>
|
||||
<option value="home" data-trans="home">{{home}}</option>
|
||||
<option value="pub" data-trans="public">{{fed}}</option>
|
||||
<option value="pub-media" data-trans="public-media">{{fedMedia}}</option>
|
||||
<option value="dm" data-trans="dm">{{dm}}</option>
|
||||
<option value="mix" data-trans="integrated">{{integratedTLDes}}</option>
|
||||
<option value="plus" data-trans="plus">{{localPlusDes}}</option>
|
||||
<option value="notf" data-trans="notification">{{notf}}</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">{{showThisTL}}</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">{{showThisTL}}
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">{{webviewWarn}}
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>{{add}}
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide notf-box z-depth-4" style="width:500px">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">{{search}}</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>{{search}}
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>{{sortSet}}
|
||||
</button>
|
||||
<button onclick="sortToggle()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="close">
|
||||
<i class="material-icons left">close</i>{{close}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>{{selectAcct}}</label>
|
||||
</div>
|
||||
<!--menu-->
|
||||
<div id="menu" class="z-depth-5" style="display:none">
|
||||
<div id="menu-bar" class="drag-bar"></div>
|
||||
<span class="cancel">
|
||||
<i class="material-icons waves-effect" onclick="menu()" title="{{closeThisBox}}(X)">cancel</i>
|
||||
</span>
|
||||
<div id="menu-wrapper">
|
||||
<div id="left-menu">
|
||||
<div class="waves-effect active" onclick="addColumnMenu()" id="addColumnMenu"><i class="material-icons">add</i><span>{{addColumn}}</span></div>
|
||||
<div class="waves-effect" onclick="sortMenu()" id="sortMenu"><i class="material-icons">sort</i><span>{{sortColumns}}</span></div>
|
||||
<div class="waves-effect" onclick="searchMenu()" id="searchMenu"><i class="material-icons">search</i><span>{{search}}</span></div>
|
||||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>{{list}}</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>{{filter}}</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>{{help}}</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide menu-content">
|
||||
<div class="input-field"><span data-trans="your_acct">{{selectAcct}}</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
{{listLocale}}
|
||||
</button>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">{{local}}</option>
|
||||
<option value="local-media" data-trans="local-media">{{localMedia}}</option>
|
||||
<option value="home" data-trans="home">{{home}}</option>
|
||||
<option value="pub" data-trans="public">{{fed}}</option>
|
||||
<option value="pub-media" data-trans="public-media">{{fedMedia}}</option>
|
||||
<option value="dm" data-trans="dm">{{dm}}</option>
|
||||
<option value="mix" data-trans="integrated">{{integratedTLDes}}</option>
|
||||
<option value="plus" data-trans="plus">{{localPlusDes}}</option>
|
||||
<option value="notf" data-trans="notification">{{notf}}</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">{{showThisTL}}</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">{{showThisTL}}
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">{{webviewWarn}}
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>{{add}}
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide menu-content">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">{{search}}</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>{{search}}
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide menu-content">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>{{sortSet}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>{{selectAcct}}</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
{{listLocale}}
|
||||
</button>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="{{name}}">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">{{makeNew}}</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>{{selectAcct}}</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
{{listLocale}}
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="{{filterWord}}"><br>
|
||||
{{degree}}<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">{{home}}</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">{{local}}</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">{{notf}}</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">{{conver}}</label><br>
|
||||
{{option}}<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">{{matchWord}}</label><br>
|
||||
<span class="sml">{{warnMatchWord}}</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">{{except}}</label><br>
|
||||
<span class="sml">{{exceptWorn}}</span><br>
|
||||
{{avalableBefore}}<span class="sml">{{warnAvBefore}}<b>{{warnAvBefore2}}</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">{{days}}
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">{{hours}}
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">{{mins}}
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">{{add}}</button><br>
|
||||
<span class="sml">{{warnOnIntegratedTL}}</span>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="{{name}}">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">{{makeNew}}</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>{{selectAcct}}</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
{{listLocale}}
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="{{filterWord}}"><br>
|
||||
{{degree}}<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">{{home}}</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">{{local}}</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">{{notf}}</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">{{conver}}</label><br>
|
||||
{{option}}<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">{{matchWord}}</label><br>
|
||||
<span class="sml">{{warnMatchWord}}</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">{{except}}</label><br>
|
||||
<span class="sml">{{exceptWorn}}</span><br>
|
||||
{{avalableBefore}}<span class="sml">{{warnAvBefore}}<b>{{warnAvBefore2}}</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">{{days}}
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">{{hours}}
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">{{mins}}
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">{{add}}</button><br>
|
||||
<span class="sml">{{warnOnIntegratedTL}}</span>
|
||||
</div>
|
||||
<a href="index.html" class="waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">refresh</i>{{f5}}
|
||||
</a> |
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>{{reverse}}
|
||||
</a>
|
||||
</div>
|
||||
<div id="main">
|
||||
<!--TLのTL-->
|
||||
@@ -756,52 +781,23 @@ var tlid=0;
|
||||
<button id="posttgl" class="btn waves-effect indigo" 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}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
<a onclick="addToggle()" class="nex waves-effect" data-trans-i="add" id="add-tgl">
|
||||
<i class="material-icons nex" title="{{addColumn}}" data-trans-title="column_add">add</i>
|
||||
</a>
|
||||
<a onclick="sortToggle()" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="{{sortColumns}}" data-trans-title="sort">sort</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Accounts:</span>
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="{{acctMan}}(Ctrl+Shift+M)" data-trans-title="manager">account_circle</i>
|
||||
</a>
|
||||
<a onclick="srcToggle()" class="nex waves-effect" id="src-tgl">
|
||||
<i class="material-icons" title="{{search}}" data-trans-title="src">search</i>
|
||||
</a>
|
||||
<a onclick="listToggle()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="{{list}}" data-trans-title="list">view_headline</i>
|
||||
</a>
|
||||
<a onclick="filterToggle()" class="nex waves-effect" id="filter-tgl">
|
||||
<i class="material-icons" title="{{filter}}" data-trans-title="filter">filter_list</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Preferences:</span>
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="{{reverse}}" data-trans-title="reverse">swap_horiz</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="{{setting}}(Ctrl+Shift+S)" data-trans-title="setting">settings</i>
|
||||
</a>
|
||||
<a href="index.html" class="nex mize waves-effect">
|
||||
<i class="material-icons nex" title="{{f5}}(F5/⌘+R)" data-trans-title="reload">refresh</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="{{nanoDes}}TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex waves-effect" target="_blank" id="ranking-btn" style="display:none;">
|
||||
<i class="material-icons nex" title="アスタルテランキング">timeline</i>
|
||||
</a>
|
||||
<a href="https://docs.thedesk.top" class="setting nex waves-effect" target="_blank">
|
||||
<i class="material-icons nex" title="{{help}}">help_outline</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnsgroup">
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="{{acctMan}}(Ctrl+Shift+M)">account_circle</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="{{setting}}(Ctrl+Shift+S)">settings</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="{{nanoDes}}TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="menu()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="{{list}}">apps</i>
|
||||
</a>
|
||||
</div>
|
||||
</div></div>
|
||||
<div>
|
||||
<div id="tips-menu">
|
||||
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
|
||||
@@ -878,4 +874,5 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/menu.js"></script>
|
@@ -141,13 +141,13 @@
|
||||
"mins":"minutes",
|
||||
"secs":"seconds",
|
||||
"warnOnIntegratedTL":"Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
|
||||
"helloTheDesk":"<h3>Welcome to TheDesk</h3><br><a href=\"acct.html\">Add an account</a> or click <i class=\"material-icons\">add</i> to add a column.",
|
||||
"helloTheDesk":"<h3>Welcome to TheDesk</h3><br><a href=\"acct.html\">Add an account</a> or click <i class=\"material-icons\">apps</i> to add a column.",
|
||||
"addColumn":"Add a column",
|
||||
"sortColumns":"Sort",
|
||||
"acctMan":"Account Manager",
|
||||
"filter":"Filter",
|
||||
"setting":"Preferences",
|
||||
"reverse":"Toot box reverse",
|
||||
"reverse":"Toot button layout reverse",
|
||||
"f5":"Super Reload",
|
||||
"nanoDes":"The smallest Mastodon,",
|
||||
"verTips":"Version",
|
||||
|
@@ -141,13 +141,13 @@
|
||||
"mins":"分",
|
||||
"secs":"秒",
|
||||
"warnOnIntegratedTL":"Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。",
|
||||
"helloTheDesk":"<h3>Welcome to TheDesk</h3><br><a href=\"acct.html\">アカウントを追加</a>するか下の<i class=\"material-icons\">add</i>ボタンよりカラムを追加してください。",
|
||||
"helloTheDesk":"<h3>Welcome to TheDesk</h3><br><a href=\"acct.html\">アカウントを追加</a>するか下の<i class=\"material-icons\">apps</i>ボタンよりカラムを追加してください。",
|
||||
"addColumn":"カラム追加",
|
||||
"sortColumns":"カラム一覧/並べ替え",
|
||||
"acctMan":"アカウントマネージャー",
|
||||
"filter":"フィルター",
|
||||
"setting":"設定",
|
||||
"reverse":"トゥートバーの左右入れ替え",
|
||||
"reverse":"トゥートボタンの左右入れ替え",
|
||||
"f5":"スーパーリロード",
|
||||
"nanoDes":"最小のマストドン。",
|
||||
"verTips":"バージョン",
|
||||
|
@@ -4,13 +4,14 @@
|
||||
"showSelectProf": "crwdns386:0crwdne386:0",
|
||||
"closethisbox": "crwdns387:0crwdne387:0",
|
||||
"toot": "crwdns388:0crwdne388:0",
|
||||
"post-new": "crwdns2402:0crwdne2402:0",
|
||||
"nsfwDes": "crwdns389:0crwdne389:0",
|
||||
"cwDes": "crwdns390:0crwdne390:0",
|
||||
"selfile": "crwdns391:0crwdne391:0",
|
||||
"adobephoto": "crwdns392:0crwdne392:0",
|
||||
"insertEmoji": "crwdns393:0crwdne393:0",
|
||||
"NPSpotify": "crwdns1880:0crwdne1880:0",
|
||||
"NPiTunes": "crwdns1882:0crwdne1882:0",
|
||||
"NPiTunes": "crwdns2404:0crwdne2404:0",
|
||||
"schedule": "crwdns1884:0crwdne1884:0",
|
||||
"postat": "crwdns1886:0crwdne1886:0",
|
||||
"scheduleWarn": "crwdns1888:0crwdne1888:0",
|
||||
@@ -43,6 +44,13 @@
|
||||
"thingsEmoji": "crwdns420:0crwdne420:0",
|
||||
"symbolEmoji": "crwdns421:0crwdne421:0",
|
||||
"flagsEmoji": "crwdns422:0crwdne422:0",
|
||||
"poll": "crwdns2406:0crwdne2406:0",
|
||||
"pollDdisabled": "crwdns2408:0crwdne2408:0",
|
||||
"pollProvider": "crwdns2410:0crwdne2410:0",
|
||||
"polluntil": "crwdns2412:0crwdne2412:0",
|
||||
"choice": "crwdns2414:0crwdne2414:0",
|
||||
"pollmulti": "crwdns2416:0crwdne2416:0",
|
||||
"expires_in": "crwdns2418:0crwdne2418:0",
|
||||
"contextBefore": "crwdns423:0crwdne423:0",
|
||||
"thisToot": "crwdns424:0crwdne424:0",
|
||||
"contextAfter": "crwdns425:0crwdne425:0",
|
||||
@@ -131,6 +139,7 @@
|
||||
"days": "crwdns507:0crwdne507:0",
|
||||
"hours": "crwdns508:0crwdne508:0",
|
||||
"mins": "crwdns509:0crwdne509:0",
|
||||
"secs": "crwdns2420:0crwdne2420:0",
|
||||
"warnOnIntegratedTL": "crwdns510:0crwdne510:0",
|
||||
"helloTheDesk": "crwdns511:0crwdne511:0",
|
||||
"addColumn": "crwdns512:0crwdne512:0",
|
||||
|
@@ -1,199 +0,0 @@
|
||||
{
|
||||
"language":"en",
|
||||
"lang_toot":"Toot",
|
||||
"lang_there":"Yes",
|
||||
"lang_nothing":"None",
|
||||
"lang_yesno":"Yes",
|
||||
"lang_no":"No",
|
||||
"lang_progress":"Wait...",
|
||||
"lang_edit":"Edit",
|
||||
"lang_del":"Delete",
|
||||
"lang_add":"Add",
|
||||
"lang_fatalerroroccured":"Some errors are occured, please restart TheDesk.",
|
||||
"lang_speech":"Google US English",
|
||||
"lang_lang":"Language",
|
||||
"lang_langlocale":"English",
|
||||
"lang_back":"Back",
|
||||
"lang_set":"Set",
|
||||
"lang_langadd":"Translate TheDesk to other languages or proofread TheDesk on <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk needs your help.",
|
||||
"lang_version_usever":"No update is found({{ver}})",
|
||||
"lang_version_skipver":"Update was ignored.",
|
||||
"lang_login_noauth":"Show TL of unlogined accounts",
|
||||
"lang_manager_info":"About this instance",
|
||||
"lang_manager_refresh":"Refresh",
|
||||
"lang_manager_delete":"Logout",
|
||||
"lang_manager_color":"Account Color",
|
||||
"lang_manager_confirm":"is about to logout. Continue?",
|
||||
"lang_manager_mainAcct":"Done:choose main account",
|
||||
"lang_manager_def":"Default",
|
||||
"lang_manager_none":"None",
|
||||
"lang_manager_godev":"Open DevCenter of Misskey. We show also an official documents to refer.",
|
||||
"lang_bbmd_misskey":"TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
|
||||
"lang_emoji_get":"Get emojis",
|
||||
"lang_emoji_custom":"Custom emojis",
|
||||
"lang_postimg_previewdis":"cannot preview",
|
||||
"lang_postimg_aftupload":"You cannot change accounts after uploading.",
|
||||
"lang_post_tagTL":"This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
|
||||
"lang_post_tagVis":"This toot(not 'public' toot) is not shown on this tag's TL.",
|
||||
"lang_post_cwtitle":"Auto CW Alert",
|
||||
"lang_post_cwtxt":"You are about to post longer toot than you set.\nWarning text:",
|
||||
"lang_post_btn1":"Cancel (will not post)",
|
||||
"lang_post_btn2":"Make text hidden automatically",
|
||||
"lang_post_btn3":"Continue to post",
|
||||
"lang_status_favWarn":"It will take a miunte to favourite a remote toot.",
|
||||
"lang_status_btWarn":"It will take a miunte to boost a remote toot.",
|
||||
"lang_status_follow":"Follow",
|
||||
"lang_status_unfollow":"Unfollow",
|
||||
"lang_status_block":"Block",
|
||||
"lang_status_unblock":"Unblock",
|
||||
"lang_status_mute":"Mute",
|
||||
"lang_status_unmute":"Unmute",
|
||||
"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.",
|
||||
"lang_status_unendorse":"Not feature on profile",
|
||||
"lang_status_endorse":"Feature on profile",
|
||||
"lang_suggest_nodata":"Please get emojis list in order to show suggestion.",
|
||||
"lang_usetxtbox_reply":"Reply Mode. Ctrl+Shift+C to clear.",
|
||||
"lang_cards_check":" check",
|
||||
"lang_cards_pip":"PiP mode",
|
||||
"lang_details_nodata":"No data",
|
||||
"lang_details_filtered":"Filtered toot",
|
||||
"lang_details_embed":"Embed HTML is cliped.",
|
||||
"lang_details_url":"URL of this toot is cliped.",
|
||||
"lang_details_txt":"Content of this toot is cliped.",
|
||||
"lang_filter_nodata":"No data",
|
||||
"lang_filter_errordegree":"Please check a context",
|
||||
"lang_list_nodata":"No data",
|
||||
"lang_list_show":"Show",
|
||||
"lang_list_users":"Users list",
|
||||
"lang_list_nouser":"No users in this list.",
|
||||
"lang_list_add":"Add to the list",
|
||||
"lang_list_remove":"Remove from the list",
|
||||
"lang_notf_new":" new notifications",
|
||||
"lang_speech_refresh":"Save value about TTS config",
|
||||
"lang_src_ts":"chronological order",
|
||||
"lang_src_people":" people toot",
|
||||
"lang_tags_always":"Always toots with ",
|
||||
"lang_tags_realtime":"Tag-stream toot",
|
||||
"lang_tags_tagunpin":"Unpin {{tag}}",
|
||||
"lang_tags_tagwarn":"When you toot without {{tag}}, tag-streaming mode will be off.",
|
||||
"lang_tl_media":"Media",
|
||||
"lang_tl_reconnect":"Reconnect to streaming API",
|
||||
"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",
|
||||
"lang_layout_delthis":"Remove this column",
|
||||
"lang_layout_setthis":"Preferences of this column",
|
||||
"lang_layout_mediafil":"Media filtering",
|
||||
"lang_layout_linkana":"Auto Link Analyzer",
|
||||
"lang_layout_linkanades":"Auto link analyzer",
|
||||
"lang_layout_tts":"Text to speech ",
|
||||
"lang_layout_reconnect":"Reconnect to streaming API",
|
||||
"lang_layout_headercolor":"Header color of this column",
|
||||
"lang_layout_nodata":"[No data]<br>F5/⌘+R to reload",
|
||||
"lang_layout_dm":"Direct Message",
|
||||
"lang_layout_webviewmode":"Prefer WebView",
|
||||
"lang_excluded":"Excluded type of notification",
|
||||
"lang_spotify_img":"Attach an album artwork",
|
||||
"lang_spotify_imgno":"Not attach an album artwork",
|
||||
"lang_spotify_acct":"Connect TheDesk to Spotify",
|
||||
"lang_spotify_np":"Done:templete of NowPlaying",
|
||||
"lang_setting_npprovide":"NowPlaying provider:{{set}}",
|
||||
"lang_hisdata_frcreq":"Required Mastodon 2.4.3 and above",
|
||||
"lang_hisdata_frcwarn":"Unfollow accounts will be shown.",
|
||||
"lang_hisdata_taketime":"It will take 30s ~ several minutes",
|
||||
"lang_hisdata_notonmisskey":"Misskey is unable to request.",
|
||||
"lang_showontl_movetxt":"This account was moved",
|
||||
"lang_showontl_movebtn":"Continue on the new account",
|
||||
"lang_showontl_botacct":"[bot]",
|
||||
"lang_showontl_followed":"Following you",
|
||||
"lang_showontl_notf":"Notification ",
|
||||
"lang_showontl_domain":"Domain ",
|
||||
"lang_showontl_listwarn":"Follow to add this user to lists.",
|
||||
"lang_parse_mentioned":" replied to you",
|
||||
"lang_parse_faved":" favourited your toot",
|
||||
"lang_parse_bted":" boosted your toot",
|
||||
"lang_parse_btedsimple":" boosted",
|
||||
"lang_parse_notftime":"Actioned at",
|
||||
"lang_parse_cwshow":"Show",
|
||||
"lang_parse_fulltext":"Full size text:",
|
||||
"lang_parse_autofold":"Auto folded",
|
||||
"lang_parse_more":"More",
|
||||
"lang_parse_url":"URL Analyzer",
|
||||
"lang_parse_tagTL":"Timeline of {{tag}}",
|
||||
"lang_parse_tagtoot":"Toot with {{tag}}",
|
||||
"lang_parse_tagpin":"Pin {{tag}}",
|
||||
"lang_parse_public":"Public",
|
||||
"lang_parse_unlisted":"Unlisted",
|
||||
"lang_parse_private":"Private",
|
||||
"lang_parse_direct":"Direct",
|
||||
"lang_parse_clickcopy":"Click to copy text of this toot",
|
||||
"lang_parse_clickcopyurl":"Click to copy URL of this toot",
|
||||
"lang_parse_trans":"Translate to Japanese",
|
||||
"lang_parse_replyto":"Reply to this toot",
|
||||
"lang_parse_bt":"Boost this toot",
|
||||
"lang_parse_fav":"Favourite this toot",
|
||||
"lang_parse_quote":"Quote this toot",
|
||||
"lang_parse_del":"Delete this toot",
|
||||
"lang_parse_pin":"Pin this toot",
|
||||
"lang_parse_det":"Details via your main account.",
|
||||
"lang_parse_redraft":"Delete & re-draft",
|
||||
"lang_parse_followed":"Followed you",
|
||||
"lang_parse_clientop":"Operation of this client",
|
||||
"lang_parse_clienttxt":" will be",
|
||||
"lang_parse_clientno":"done nothing",
|
||||
"lang_parse_clientemp":"emphasized(/not emphasized)",
|
||||
"lang_parse_clientmute":"muted",
|
||||
"lang_parse_mute":" will be muted. You can remove on preferences.",
|
||||
"lang_misskeyparse_renote":"Repost",
|
||||
"lang_misskeyparse_renoteqt":"Renote",
|
||||
"lang_misskeyparse_reaction":"Reaction",
|
||||
"lang_misskeyparse_tagnostr":"No streaming API on Tag TLs",
|
||||
"lang_misskeyparse_listnostr":"No streaming API on List TLs",
|
||||
"lang_misskeyparse_home":"Home",
|
||||
"lang_misskeyparse_followers":"Follower",
|
||||
"lang_misskeyparse_specified":"Specified User",
|
||||
"lang_misskeyparse_qt":"Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
|
||||
"lang_misskeyparse_renoted":" renoted your following post.",
|
||||
"lang_misskeyparse_quoted":" quoted your following post.",
|
||||
"lang_misskeyparse_reacted":" reacted your following post.",
|
||||
"lang_setting_time":"Time format:{{set}}",
|
||||
"lang_setting_theme":"Theme:{{set}}",
|
||||
"lang_setting_nsfw":"NSFW:{{set}}",
|
||||
"lang_setting_cw":"CW:{{set}}",
|
||||
"lang_setting_cwtext":"Default CW text:{{set}}",
|
||||
"lang_setting_cws":"Always CW on:{{set}}",
|
||||
"lang_setting_rp":"Reply counter:{{set}}",
|
||||
"lang_setting_vis":"Default visibility:{{set}}",
|
||||
"lang_setting_popup":"Popup notification:{{set}}",
|
||||
"lang_setting_off":"Off",
|
||||
"lang_setting_s":"s",
|
||||
"lang_setting_box":"Default toot box action:{{set}}",
|
||||
"lang_setting_gif":"GIF:{{set}}",
|
||||
"lang_setting_selt":"Auto fold:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_autocw":"Auto CW:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_width":"Minimam width:{{set}}",
|
||||
"lang_setting_fixwidth":"TweetDeck fixed width:{{set}}px",
|
||||
"lang_setting_img":"After posting an image:{{set}}",
|
||||
"lang_setting_font":"Fonts:{{set}}",
|
||||
"lang_setting_default":"default font",
|
||||
"lang_setting_size":"Font size:{{set}}px",
|
||||
"lang_setting_imgheight":"Image height:{{set}}px",
|
||||
"lang_setting_ticker":"#InstanceTicker:{{set}}px",
|
||||
"lang_setting_tag":"Tag TL:{{set}}",
|
||||
"lang_setting_boxConfirm":"Post box:{{set}}",
|
||||
"lang_setting_ul":"Native locale:{{set}}",
|
||||
"lang_setting_notf":"Native notification:{{set}}",
|
||||
"lang_setting_quote":"Quote format:{{set}}",
|
||||
"lang_setting_via":"Via:{{set}}",
|
||||
"lang_setting_mov":"Action buttons hiding:{{set}}",
|
||||
"lang_setting_setasread":"Notification markers:{{set}}",
|
||||
"lang_setting_main":"Default account:{{set}}",
|
||||
"lang_setting_sec":"Secondary toot button:{{set}}",
|
||||
"lang_setting_ksref":"Keyboard shortcuts are refreshed.",
|
||||
"lang_setting_nomuting":"No client is muted.",
|
||||
"lang_setting_notftest":" Notification test ",
|
||||
"lang_setting_notftestprof":"Your icon is shown.",
|
||||
"lang_setting_exportwarn":"Only important data will be exported. You must keep this data secure.",
|
||||
"lang_setting_importwarn":"All data will be deleted."
|
||||
}
|
@@ -10,6 +10,8 @@
|
||||
"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\"",
|
||||
@@ -28,6 +30,20 @@
|
||||
"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\"",
|
||||
@@ -88,6 +104,7 @@
|
||||
"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",
|
||||
|
@@ -10,6 +10,8 @@
|
||||
"backup":"設定のインポートとエクスポート",
|
||||
"import":"インポート",
|
||||
"export":"エクスポート",
|
||||
"hardwareAcceleration":"ハードウェアアクセラレーションの無効化",
|
||||
"hardwareAccelerationWarn":"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
|
||||
"theme":"テーマの設定",
|
||||
"popup":"新規通知のポップアップお知らせの表示秒数",
|
||||
"popupwarn":"0に設定すると表示されません",
|
||||
@@ -28,6 +30,20 @@
|
||||
"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日前\"",
|
||||
@@ -88,6 +104,7 @@
|
||||
"simple":"URLのみ",
|
||||
"mention":"URLとアカウント名(相手に通知)",
|
||||
"full":"本文・URL・アカウント名",
|
||||
"notqt":"使わない(TL上にボタンも表示されません)",
|
||||
"main":"投稿後や起動時のアカウント",
|
||||
"mainwarn":"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
|
||||
"lastacct":"最後に使用したアカウント",
|
||||
|
@@ -17,8 +17,10 @@
|
||||
"nativenotf": "crwdns538:0crwdne538:0",
|
||||
"nnwarn": "crwdns539:0crwdne539:0",
|
||||
"nntest": "crwdns540:0crwdne540:0",
|
||||
"minwidth": "crwdns541:0crwdne541:0",
|
||||
"minwidth": "crwdns2376:0crwdne2376:0",
|
||||
"minwidthwarn": "crwdns542:0crwdne542:0",
|
||||
"fixwidth": "crwdns2378:0crwdne2378:0",
|
||||
"fixwidthwarn": "crwdns2380:0crwdne2380:0",
|
||||
"above": "crwdns543:0crwdne543:0",
|
||||
"font": "crwdns544:0crwdne544:0",
|
||||
"fontwarn": "crwdns1900:0crwdne1900:0",
|
||||
@@ -26,6 +28,18 @@
|
||||
"savefolder": "crwdns547:0crwdne547:0",
|
||||
"savefolderwarn": "crwdns548:0crwdne548:0",
|
||||
"absolute": "crwdns549:0crwdne549:0",
|
||||
"themeSel": "crwdns2422:0crwdne2422:0",
|
||||
"customtheme": "crwdns2424:0crwdne2424:0",
|
||||
"customthemeDirection": "crwdns2426:0crwdne2426:0",
|
||||
"primary": "crwdns2428:0crwdne2428:0",
|
||||
"secondarycolor": "crwdns2430:0crwdne2430:0",
|
||||
"text": "crwdns2432:0crwdne2432:0",
|
||||
"accent": "crwdns2434:0crwdne2434:0",
|
||||
"add_new": "crwdns2436:0crwdne2436:0",
|
||||
"name": "crwdns2438:0crwdne2438:0",
|
||||
"desc": "crwdns2440:0crwdne2440:0",
|
||||
"customShare": "crwdns2442:0crwdne2442:0",
|
||||
"customImport": "crwdns2444:0crwdne2444:0",
|
||||
"timeline": "crwdns550:0crwdne550:0",
|
||||
"timemode": "crwdns551:0crwdne551:0",
|
||||
"relativetime": "crwdns552:0crwdne552:0",
|
||||
@@ -65,6 +79,7 @@
|
||||
"imgheight": "crwdns586:0crwdne586:0",
|
||||
"ticker": "crwdns1908:0crwdne1908:0",
|
||||
"tickerwarn": "crwdns1910:0crwdne1910:0",
|
||||
"animation": "crwdns2446:0crwdne2446:0",
|
||||
"post": "crwdns587:0crwdne587:0",
|
||||
"autocw": "crwdns588:0crwdne588:0",
|
||||
"autocwwarn": "crwdns589:0crwdne589:0",
|
||||
@@ -107,6 +122,8 @@
|
||||
"useerempwarn": "crwdns622:0crwdne622:0",
|
||||
"empcolorwarn": "crwdns623:0crwdne623:0",
|
||||
"spotify": "crwdns624:0crwdne624:0",
|
||||
"npProvider": "crwdns2354:0crwdne2354:0",
|
||||
"npPeoviderWarn": "crwdns2356:0crwdne2356:0",
|
||||
"spotifynote1": "crwdns625:0crwdne625:0",
|
||||
"spotifynote2": "crwdns626:0crwdne626:0",
|
||||
"link": "crwdns627:0crwdne627:0",
|
||||
@@ -115,8 +132,9 @@
|
||||
"disconnect": "crwdns630:0crwdne630:0",
|
||||
"templeteedit": "crwdns631:0crwdne631:0",
|
||||
"templeteeditwarn": "crwdns632:0crwdne632:0",
|
||||
"templete1": "crwdns633:0{song}crwdnd633:0{album}crwdnd633:0{artist}crwdnd633:0{url}crwdne633:0",
|
||||
"templete2": "crwdns634:0{url}crwdnd634:0{composer}crwdnd634:0{hz}crwdnd634:0{bitRate}crwdnd634:0{genre}crwdne634:0",
|
||||
"templete1": "crwdns2358:0{song}crwdnd2358:0{album}crwdnd2358:0{artist}crwdnd2358:0{url}crwdne2358:0",
|
||||
"templete2": "crwdns2360:0{song}crwdnd2360:0{album}crwdnd2360:0{artist}crwdnd2360:0{composer}crwdnd2360:0{hz}crwdnd2360:0{bitRate}crwdnd2360:0{genre}crwdne2360:0",
|
||||
"templete3": "crwdns2362:0{song}crwdnd2362:0{album}crwdnd2362:0{artist}crwdne2362:0",
|
||||
"postartwork": "crwdns635:0crwdne635:0",
|
||||
"tts": "crwdns636:0crwdne636:0",
|
||||
"speed": "crwdns637:0crwdne637:0",
|
||||
|
@@ -2,7 +2,8 @@
|
||||
"updatehere": "crwdns669:0crwdne669:0",
|
||||
"download": "crwdns670:0crwdne670:0",
|
||||
"portable": "crwdns1950:0crwdne1950:0",
|
||||
"winzip": "crwdns672:0crwdne672:0",
|
||||
"installer": "crwdns2382:0crwdne2382:0",
|
||||
"snap": "crwdns2384:0crwdne2384:0",
|
||||
"unrewrite": "crwdns673:0crwdne673:0",
|
||||
"sureupd": "crwdns674:0crwdne674:0",
|
||||
"skipupd": "crwdns675:0crwdne675:0",
|
||||
|
@@ -12,16 +12,20 @@
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../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">
|
||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
|
||||
</head>
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/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>
|
||||
|
||||
<h4>{{setting}}</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -30,21 +34,11 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{setlang}}</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
|
||||
{{langlist}}
|
||||
<h5>{{backup}}</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">{{export}}</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">{{import}}</button>
|
||||
<h5>{{theme}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<br>
|
||||
<h5>{{popup}}</h5>{{popupwarn}}
|
||||
<br>
|
||||
@@ -85,9 +79,83 @@
|
||||
{{savefolderwarn}}<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">{{change}}</button>
|
||||
<br>
|
||||
<h5>{{hardwareAcceleration}}</h5>
|
||||
{{hardwareAccelerationWarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">{{yes}}</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">{{no}}</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>{{theme}}
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>{{themeSel}}</h4>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||
<label for="custom">Custom</label>
|
||||
<div style="width:300px" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>{{customtheme}}</h4>
|
||||
<div style="width:300px" id="edit-selector" data-add="{{add_new}}">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">{{add_new}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>{{name}}</h5>
|
||||
<input type="text" style="width:300px" id="custom_name" placeholder="{{name}}...">
|
||||
<h5>{{desc}}</h5>
|
||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="{{desc}}..."></textarea></div>
|
||||
<h5>{{customthemeDirection}}</h5>
|
||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||
<label for="dark">Dark</label>
|
||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||
<label for="light">Light</label>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Primary</h5>{{secondarycolor}}
|
||||
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||
<input type="hidden" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Secondary</h5>{{primary}}
|
||||
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||
<input type="hidden" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Texts</h5>{{text}}
|
||||
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||
<input type="hidden" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>{{accent}}
|
||||
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||
<input type="hidden" id="color-picker3_value">
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn-large waves-effect" onclick="customComp()">{{change}}</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">{{delete}}</button><br><br>
|
||||
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||
{{customShare}}
|
||||
<h4>{{customImport}}</h4>
|
||||
{{cImpWarn}}<br>
|
||||
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">{{import}}</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>{{timeline}}
|
||||
</div>
|
||||
@@ -252,8 +320,9 @@
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">{{mention}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">{{full}}
|
||||
</label>
|
||||
<label for="q_full">{{full}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">{{notqt}}</label>
|
||||
<br>
|
||||
<h5>{{main}}</h5>
|
||||
{{mainwarn}}<br>
|
||||
@@ -322,7 +391,7 @@
|
||||
<i class="fa fa-spotify"></i>{{spotify}}
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<!-->h5>{{npProvider}}</h5>
|
||||
<h5>{{npProvider}}</h5>
|
||||
{{npPeoviderWarn}}<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
@@ -337,7 +406,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
<label for="cad">CAD</label><br><br>
|
||||
{{spotifynote1}}<i class="material-icons" style="font-size:24px;">music_note</i>{{spotifynote2}}<br>
|
||||
<h5>{{link}}</h5>
|
||||
{{linkwarn}}<br>
|
||||
@@ -394,6 +463,7 @@
|
||||
<li>X:{{keytoggle}}</li>
|
||||
<li>Ctrl+Enter:{{keypost}}</li>
|
||||
<li>Ctrl+Enter+Shift:{{keysecpost}}</li>
|
||||
<li>Alt+Enter:{{secondary}}</li>
|
||||
<li>Ctrl+E:{{keyunread}}</li>
|
||||
<li>Esc:{{keyesc}}</li>
|
||||
<li>F5:{{keyf5}}</li>
|
||||
@@ -443,6 +513,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
@@ -20,13 +20,13 @@ body,html{overflow-y: scroll;}
|
||||
.card .colorsel div.exc{width:40px;height:20px;}
|
||||
</style>
|
||||
<meta charset="utf-8">
|
||||
{{comment-start}}
|
||||
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
{{comment-end}}
|
||||
|
||||
</head>
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
|
@@ -13,13 +13,13 @@
|
||||
<link href='../../css/sort.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
{{comment-start}}
|
||||
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
{{comment-end}}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
@@ -32,7 +32,7 @@
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.1.1)";
|
||||
var ver="Miria (17.3.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -54,7 +54,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">{{post-new}}</div>
|
||||
<div id="post-bar" class="drag-bar">crwdns2402:0crwdne2402:0</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
@@ -125,7 +125,6 @@ var tlid=0;
|
||||
<span class="sml gray pointer anti-markdown mize">
|
||||
<a onclick="mdToggle()">Markdownエディタを表示</a>
|
||||
</span>
|
||||
<span id="suggest"></span>
|
||||
</div>
|
||||
<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>
|
||||
@@ -182,13 +181,13 @@ var tlid=0;
|
||||
<a onclick="nowplaying('spotify');">crwdns1880:0crwdne1880:0</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('itunes');">crwdns1882:0crwdne1882:0</a>
|
||||
<a onclick="nowplaying('itunes');">crwdns2404:0crwdne2404:0</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="schedule();">crwdns1884:0crwdne1884:0</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="pollToggle();">{{poll}}</a>
|
||||
<a onclick="pollToggle();">crwdns2406:0crwdne2406:0</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
@@ -202,6 +201,7 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<div id="suggest"></div>
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">crwdns409:0crwdne409:0
|
||||
@@ -259,7 +259,7 @@ var tlid=0;
|
||||
<!--Poll UI-->
|
||||
<div id="poll" class="hide">
|
||||
<select id="poll-sel" onchange="pollProviderCk()">
|
||||
<option value="nothing">{{pollDdisabled}}</option>
|
||||
<option value="nothing">crwdns2408:0crwdne2408:0</option>
|
||||
<option value="votedon">votedon.</option>
|
||||
<option value="mastodon-poll">Mastodon(2.8~)</option>
|
||||
</select>
|
||||
@@ -267,14 +267,14 @@ var tlid=0;
|
||||
WIP
|
||||
</div>
|
||||
<div id="mastodon-poll" class="poll-provider hide">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}1">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}2">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}3">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}4">
|
||||
<input type="text" class="mastodon-choice" placeholder="crwdns2414:0crwdne2414:01">
|
||||
<input type="text" class="mastodon-choice" placeholder="crwdns2414:0crwdne2414:02">
|
||||
<input type="text" class="mastodon-choice" placeholder="crwdns2414:0crwdne2414:03">
|
||||
<input type="text" class="mastodon-choice" placeholder="crwdns2414:0crwdne2414:04">
|
||||
<input type="checkbox" class="filled-in" id="poll-multiple" value="1" />
|
||||
<label for="poll-multiple">{{pollmulti}}</label><br>
|
||||
<label for="poll-multiple">crwdns2416:0crwdne2416:0</label><br>
|
||||
<input type="checkbox" class="filled-in" id="poll-until" value="1" />
|
||||
<label for="poll-until">{{polluntil}}</label><br>
|
||||
<label for="poll-until">crwdns2412:0crwdne2412:0</label><br>
|
||||
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">crwdns507:0crwdne507:0
|
||||
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">crwdns508:0crwdne508:0
|
||||
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="0">crwdns509:0crwdne509:0
|
||||
@@ -582,17 +582,20 @@ var tlid=0;
|
||||
<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-Miria_17-1-0" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-2-1" 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>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.1.0)</h5>
|
||||
トゥートボックスがフロートタイプに。左下、右下以外にも自由においてください。<br>
|
||||
いろいろとアニメーション入れた(硬派な方は設定「タイムラインの設定」からオフに)<br>
|
||||
アンケートができるように(OK:Mastodon (2.8~)/WIP: votedon./ NG: ニコフレ)<br>
|
||||
フォント選択機能が復活<br>
|
||||
WindowsからiTunesやAIMP、その他CAD系のNowPlayingができるように。要プラグインのソフトもある。<br>
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>crwdns473:0crwdne473:0</h3>
|
||||
@@ -622,125 +625,147 @@ var tlid=0;
|
||||
<i class="material-icons pointer" onclick="endPip()">close</i>
|
||||
<div id="pip-content">
|
||||
</div>
|
||||
</div>
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide z-depth-4 notf-box">
|
||||
<div class="input-field"><span data-trans="your_acct">crwdns494:0crwdne494:0</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">crwdns480:0crwdne480:0</option>
|
||||
<option value="local-media" data-trans="local-media">crwdns481:0crwdne481:0</option>
|
||||
<option value="home" data-trans="home">crwdns482:0crwdne482:0</option>
|
||||
<option value="pub" data-trans="public">crwdns483:0crwdne483:0</option>
|
||||
<option value="pub-media" data-trans="public-media">crwdns484:0crwdne484:0</option>
|
||||
<option value="dm" data-trans="dm">crwdns485:0crwdne485:0</option>
|
||||
<option value="mix" data-trans="integrated">crwdns486:0crwdne486:0</option>
|
||||
<option value="plus" data-trans="plus">crwdns487:0crwdne487:0</option>
|
||||
<option value="notf" data-trans="notification">crwdns488:0crwdne488:0</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">crwdns489:0crwdne489:0</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">crwdns489:0crwdne489:0
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">crwdns490:0crwdne490:0
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>crwdns491:0crwdne491:0
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide notf-box z-depth-4" style="width:500px">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">crwdns492:0crwdne492:0</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>crwdns492:0crwdne492:0
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>crwdns493:0crwdne493:0
|
||||
</button>
|
||||
<button onclick="sortToggle()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="close">
|
||||
<i class="material-icons left">close</i>crwdns385:0crwdne385:0
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>crwdns494:0crwdne494:0</label>
|
||||
</div>
|
||||
<!--menu-->
|
||||
<div id="menu" class="z-depth-5" style="display:none">
|
||||
<div id="menu-bar" class="drag-bar"></div>
|
||||
<span class="cancel">
|
||||
<i class="material-icons waves-effect" onclick="menu()" title="crwdns412:0crwdne412:0(X)">cancel</i>
|
||||
</span>
|
||||
<div id="menu-wrapper">
|
||||
<div id="left-menu">
|
||||
<div class="waves-effect active" onclick="addColumnMenu()" id="addColumnMenu"><i class="material-icons">add</i><span>crwdns512:0crwdne512:0</span></div>
|
||||
<div class="waves-effect" onclick="sortMenu()" id="sortMenu"><i class="material-icons">sort</i><span>crwdns513:0crwdne513:0</span></div>
|
||||
<div class="waves-effect" onclick="searchMenu()" id="searchMenu"><i class="material-icons">search</i><span>crwdns492:0crwdne492:0</span></div>
|
||||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>crwdns444:0crwdne444:0</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>crwdns515:0crwdne515:0</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>crwdns1894:0crwdne1894:0</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide menu-content">
|
||||
<div class="input-field"><span data-trans="your_acct">crwdns494:0crwdne494:0</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
crwdns495:0crwdne495:0
|
||||
</button>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">crwdns480:0crwdne480:0</option>
|
||||
<option value="local-media" data-trans="local-media">crwdns481:0crwdne481:0</option>
|
||||
<option value="home" data-trans="home">crwdns482:0crwdne482:0</option>
|
||||
<option value="pub" data-trans="public">crwdns483:0crwdne483:0</option>
|
||||
<option value="pub-media" data-trans="public-media">crwdns484:0crwdne484:0</option>
|
||||
<option value="dm" data-trans="dm">crwdns485:0crwdne485:0</option>
|
||||
<option value="mix" data-trans="integrated">crwdns486:0crwdne486:0</option>
|
||||
<option value="plus" data-trans="plus">crwdns487:0crwdne487:0</option>
|
||||
<option value="notf" data-trans="notification">crwdns488:0crwdne488:0</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">crwdns489:0crwdne489:0</label>
|
||||
</div>
|
||||
<div id="noauth" class="hide">crwdns489:0crwdne489:0
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
</div>
|
||||
<div id="webview-add" class="hide">crwdns490:0crwdne490:0
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
|
||||
<i class="material-icons left">add</i>crwdns491:0crwdne491:0
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<!--検索-->
|
||||
<div id="src-box" class="hide menu-content">
|
||||
<div class="input-field">
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div><div class="input-field">
|
||||
<i class="material-icons prefix">search</i>
|
||||
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
|
||||
<label for="src" data-trans="src">crwdns492:0crwdne492:0</label>
|
||||
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
|
||||
<i class="material-icons left">search</i>crwdns492:0crwdne492:0
|
||||
</button>
|
||||
<br>
|
||||
<br>
|
||||
</div>
|
||||
<div id="search">
|
||||
<div id="src-contents">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--並べ替え-->
|
||||
<div id="sort-box" class="hide menu-content">
|
||||
<ul id="sort"></ul>
|
||||
<div>
|
||||
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
|
||||
<i class="material-icons left">sort</i>crwdns493:0crwdne493:0
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--リスト-->
|
||||
<div id="list-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>crwdns494:0crwdne494:0</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
crwdns495:0crwdne495:0
|
||||
</button>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="crwdns465:0crwdne465:0">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">crwdns445:0crwdne445:0</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>crwdns494:0crwdne494:0</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
crwdns495:0crwdne495:0
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="crwdns496:0crwdne496:0"><br>
|
||||
crwdns497:0crwdne497:0<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">crwdns482:0crwdne482:0</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">crwdns480:0crwdne480:0</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">crwdns488:0crwdne488:0</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">crwdns498:0crwdne498:0</label><br>
|
||||
crwdns499:0crwdne499:0<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">crwdns500:0crwdne500:0</label><br>
|
||||
<span class="sml">crwdns501:0crwdne501:0</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">crwdns502:0crwdne502:0</label><br>
|
||||
<span class="sml">crwdns503:0crwdne503:0</span><br>
|
||||
crwdns504:0crwdne504:0<span class="sml">crwdns505:0crwdne505:0<b>crwdns506:0crwdne506:0</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">crwdns507:0crwdne507:0
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">crwdns508:0crwdne508:0
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">crwdns509:0crwdne509:0
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">crwdns491:0crwdne491:0</button><br>
|
||||
<span class="sml">crwdns510:0crwdne510:0</span>
|
||||
</div>
|
||||
<br><br>
|
||||
<div id="lists"></div>
|
||||
<div id="lists-user"></div>
|
||||
<input type="text" style="width:150px" id="list-add" placeholder="crwdns465:0crwdne465:0">
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">crwdns445:0crwdne445:0</button>
|
||||
</div>
|
||||
<!--フィルター-->
|
||||
<div id="filter-box" class="hide notf-box z-depth-4">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>crwdns494:0crwdne494:0</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
crwdns495:0crwdne495:0
|
||||
</button>
|
||||
</div>
|
||||
<div id="filtered-words"></div>
|
||||
<input type="hidden" id="filter-edit-id">
|
||||
<input type="text" style="width:150px" id="filter-add-word" placeholder="crwdns496:0crwdne496:0"><br>
|
||||
crwdns497:0crwdne497:0<br>
|
||||
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
|
||||
<label for="home_filter">crwdns482:0crwdne482:0</label>
|
||||
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
|
||||
<label for="local_filter">crwdns480:0crwdne480:0</label>
|
||||
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
|
||||
<label for="notf_filter">crwdns488:0crwdne488:0</label>
|
||||
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
|
||||
<label for="conv_filter">crwdns498:0crwdne498:0</label><br>
|
||||
crwdns499:0crwdne499:0<br>
|
||||
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
|
||||
<label for="wholeword_filter">crwdns500:0crwdne500:0</label><br>
|
||||
<span class="sml">crwdns501:0crwdne501:0</span><br>
|
||||
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
|
||||
<label for="except_filter">crwdns502:0crwdne502:0</label><br>
|
||||
<span class="sml">crwdns503:0crwdne503:0</span><br>
|
||||
crwdns504:0crwdne504:0<span class="sml">crwdns505:0crwdne505:0<b>crwdns506:0crwdne506:0</b></span><br><br>
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">crwdns507:0crwdne507:0
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">crwdns508:0crwdne508:0
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">crwdns509:0crwdne509:0
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">crwdns491:0crwdne491:0</button><br>
|
||||
<span class="sml">crwdns510:0crwdne510:0</span>
|
||||
</div>
|
||||
<a href="index.html" class="waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">refresh</i>crwdns518:0crwdne518:0
|
||||
</a> |
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>crwdns517:0crwdne517:0
|
||||
</a>
|
||||
</div>
|
||||
<div id="main">
|
||||
<!--TLのTL-->
|
||||
@@ -756,52 +781,23 @@ var tlid=0;
|
||||
<button id="posttgl" class="btn waves-effect indigo" 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
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
<a onclick="addToggle()" class="nex waves-effect" data-trans-i="add" id="add-tgl">
|
||||
<i class="material-icons nex" title="crwdns512:0crwdne512:0" data-trans-title="column_add">add</i>
|
||||
</a>
|
||||
<a onclick="sortToggle()" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="crwdns513:0crwdne513:0" data-trans-title="sort">sort</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Accounts:</span>
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="crwdns514:0crwdne514:0(Ctrl+Shift+M)" data-trans-title="manager">account_circle</i>
|
||||
</a>
|
||||
<a onclick="srcToggle()" class="nex waves-effect" id="src-tgl">
|
||||
<i class="material-icons" title="crwdns492:0crwdne492:0" data-trans-title="src">search</i>
|
||||
</a>
|
||||
<a onclick="listToggle()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="crwdns444:0crwdne444:0" data-trans-title="list">view_headline</i>
|
||||
</a>
|
||||
<a onclick="filterToggle()" class="nex waves-effect" id="filter-tgl">
|
||||
<i class="material-icons" title="crwdns515:0crwdne515:0" data-trans-title="filter">filter_list</i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btnsgroup"><span class="grouptitle">Preferences:</span>
|
||||
<a onclick="bottomReverse()" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="crwdns517:0crwdne517:0" data-trans-title="reverse">swap_horiz</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="crwdns516:0crwdne516:0(Ctrl+Shift+S)" data-trans-title="setting">settings</i>
|
||||
</a>
|
||||
<a href="index.html" class="nex mize waves-effect">
|
||||
<i class="material-icons nex" title="crwdns518:0crwdne518:0(F5/⌘+R)" data-trans-title="reload">refresh</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="crwdns519:0crwdne519:0TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex waves-effect" target="_blank" id="ranking-btn" style="display:none;">
|
||||
<i class="material-icons nex" title="アスタルテランキング">timeline</i>
|
||||
</a>
|
||||
<a href="https://docs.thedesk.top" class="setting nex waves-effect" target="_blank">
|
||||
<i class="material-icons nex" title="crwdns1894:0crwdne1894:0">help_outline</i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnsgroup">
|
||||
<a href="acct.html" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="crwdns514:0crwdne514:0(Ctrl+Shift+M)">account_circle</i>
|
||||
</a>
|
||||
<a href="setting.html" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="crwdns516:0crwdne516:0(Ctrl+Shift+S)">settings</i>
|
||||
</a>
|
||||
<a onclick="nano()" class="nex waves-effect">
|
||||
<i class="material-icons" title="crwdns519:0crwdne519:0TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
|
||||
</a>
|
||||
<a onclick="menu()" class="nex waves-effect" id="list-tgl">
|
||||
<i class="material-icons" title="crwdns444:0crwdne444:0">apps</i>
|
||||
</a>
|
||||
</div>
|
||||
</div></div>
|
||||
<div>
|
||||
<div id="tips-menu">
|
||||
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
|
||||
@@ -878,4 +874,5 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
|
||||
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/menu.js"></script>
|
@@ -2,26 +2,30 @@
|
||||
<html lang="ps">
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
{{comment-start}}
|
||||
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<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="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
|
||||
</head>
|
||||
<body id="mainView" style="overflow-y:scroll">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/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>
|
||||
|
||||
<h4>crwdns524:0crwdne524:0</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -30,21 +34,11 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>crwdns530:0crwdne530:0</h5>
|
||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
|
||||
<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
|
||||
<h5>crwdns531:0crwdne531:0</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
|
||||
<h5>crwdns534:0crwdne534:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<br>
|
||||
<h5>crwdns1898:0crwdne1898:0</h5>crwdns536:0crwdne536:0
|
||||
<br>
|
||||
@@ -59,12 +53,12 @@
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns541:0crwdne541:0</h5>crwdns542:0crwdne542:0
|
||||
<h5>crwdns2376:0crwdne2376:0</h5>crwdns542:0crwdne542:0
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">pxcrwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>{{fixwidth}}</h5>{{fixwidthwarn}}
|
||||
<h5>crwdns2378:0crwdne2378:0</h5>crwdns2380:0crwdne2380:0
|
||||
<input type="text" style="width:50px" id="fixwidth">pxcrwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
@@ -85,9 +79,83 @@
|
||||
crwdns548:0crwdne548:0<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">crwdns528:0crwdne528:0</button>
|
||||
<br>
|
||||
<h5>{{hardwareAcceleration}}</h5>
|
||||
{{hardwareAccelerationWarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>crwdns534:0crwdne534:0
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>crwdns2422:0crwdne2422:0</h4>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
|
||||
<label for="black">Black</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
|
||||
<label for="white">White</label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
|
||||
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
|
||||
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
|
||||
<label for="custom">Custom</label>
|
||||
<div style="width:300px" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>crwdns2424:0crwdne2424:0</h4>
|
||||
<div style="width:300px" id="edit-selector" data-add="crwdns2436:0crwdne2436:0">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">crwdns2436:0crwdne2436:0</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>crwdns2438:0crwdne2438:0</h5>
|
||||
<input type="text" style="width:300px" id="custom_name" placeholder="crwdns2438:0crwdne2438:0...">
|
||||
<h5>crwdns2440:0crwdne2440:0</h5>
|
||||
<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="crwdns2440:0crwdne2440:0..."></textarea></div>
|
||||
<h5>crwdns2426:0crwdne2426:0</h5>
|
||||
<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
|
||||
<label for="dark">Dark</label>
|
||||
<input class="with-gap" name="derection" type="radio" id="light" value="light" />
|
||||
<label for="light">Light</label>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Primary</h5>crwdns2430:0crwdne2430:0
|
||||
<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
|
||||
<input type="hidden" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Secondary</h5>crwdns2428:0crwdne2428:0
|
||||
<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
|
||||
<input type="hidden" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Texts</h5>crwdns2432:0crwdne2432:0
|
||||
<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
|
||||
<input type="hidden" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>crwdns2434:0crwdne2434:0
|
||||
<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
|
||||
<input type="hidden" id="color-picker3_value">
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn-large waves-effect" onclick="customComp()">crwdns528:0crwdne528:0</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">{{delete}}</button><br><br>
|
||||
<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
|
||||
crwdns2442:0crwdne2442:0
|
||||
<h4>crwdns2444:0crwdne2444:0</h4>
|
||||
{{cImpWarn}}<br>
|
||||
<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">crwdns532:0crwdne532:0</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
|
||||
</div>
|
||||
@@ -182,7 +250,7 @@
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>{{animation}}</h5>
|
||||
<h5>crwdns2446:0crwdne2446:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
@@ -252,8 +320,9 @@
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">crwdns605:0crwdne605:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">crwdns606:0crwdne606:0
|
||||
</label>
|
||||
<label for="q_full">crwdns606:0crwdne606:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">{{notqt}}</label>
|
||||
<br>
|
||||
<h5>crwdns607:0crwdne607:0</h5>
|
||||
crwdns608:0crwdne608:0<br>
|
||||
@@ -322,8 +391,8 @@
|
||||
<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<!-->h5>{{npProvider}}</h5>
|
||||
{{npPeoviderWarn}}<br>
|
||||
<h5>crwdns2354:0crwdne2354:0</h5>
|
||||
crwdns2356:0crwdne2356:0<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
|
||||
@@ -337,7 +406,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
<label for="cad">CAD</label><br><br>
|
||||
crwdns625:0crwdne625:0<i class="material-icons" style="font-size:24px;">music_note</i>crwdns626:0crwdne626:0<br>
|
||||
<h5>crwdns627:0crwdne627:0</h5>
|
||||
crwdns628:0crwdne628:0<br>
|
||||
@@ -348,9 +417,9 @@
|
||||
crwdns632:0crwdne632:0<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
crwdns633:0{song}crwdnd633:0{album}crwdnd633:0{artist}crwdnd633:0{url}crwdne633:0<br>
|
||||
crwdns634:0{url}crwdnd634:0{composer}crwdnd634:0{hz}crwdnd634:0{bitRate}crwdnd634:0{genre}crwdne634:0<br>
|
||||
{{templete3}}<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>
|
||||
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
|
||||
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
|
||||
@@ -394,6 +463,7 @@
|
||||
<li>X:crwdns650:0crwdne650:0</li>
|
||||
<li>Ctrl+Enter:crwdns651:0crwdne651:0</li>
|
||||
<li>Ctrl+Enter+Shift:crwdns1924:0crwdne1924:0</li>
|
||||
<li>Alt+Enter:crwdns1916:0crwdne1916:0</li>
|
||||
<li>Ctrl+E:crwdns652:0crwdne652:0</li>
|
||||
<li>Esc:crwdns653:0crwdne653:0</li>
|
||||
<li>F5:crwdns654:0crwdne654:0</li>
|
||||
@@ -443,6 +513,7 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
@@ -6,13 +6,13 @@
|
||||
<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">
|
||||
{{comment-start}}
|
||||
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
{{comment-end}}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
@@ -78,9 +78,9 @@ a,button,input,label,i{
|
||||
<p>crwdns669:0crwdne669:0</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br>
|
||||
<span id="det"></span><br>
|
||||
<button class="waves-effect btn windows" onclick="update('install')" style="margin-left:15px;">{{installer}}</button>
|
||||
<button class="waves-effect btn windows" onclick="update('install')" style="margin-left:15px;">crwdns2382:0crwdne2382:0</button>
|
||||
<button class="waves-effect btn windows" onclick="update('portable')" style="margin-left:15px;">crwdns1950:0crwdne1950:0</button>
|
||||
<span class="linux">{{snap}}<br></span>
|
||||
<span class="linux">crwdns2384:0crwdne2384:0<br></span>
|
||||
<button class="waves-effect btn linux" onclick="update('linux')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
|
||||
<button class="waves-effect btn mac" onclick="update('mac')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
|
||||
<br>
|
||||
|
Reference in New Issue
Block a user