get blurhash

This commit is contained in:
Cutls 2019-05-07 00:42:06 +09:00
parent c93326d218
commit 6eebfed609
18 changed files with 1030 additions and 887 deletions

119
app/js/common/blurhash.js Normal file
View File

@ -0,0 +1,119 @@
var digitCharacters = [
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d",
"e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
"o", "p", "q", "r", "s", "t", "u", "v", "w", "x",
"y", "z", "#", "$", "%", "*", "+", ",", "-", ".",
":", ";", "=", "?", "@", "[", "]", "^", "_", "{",
"|", "}", "~",
];
function decode83(str) {
var value = 0;
for (var i = 0; i < str.length; i++) {
var c = str[i];
var digit = digitCharacters.indexOf(c);
value = value * 83 + digit;
}
return value;
}
function linearTosRGB(value) {
var v = Math.max(0, Math.min(1, value));
if (v <= 0.0031308) {
return Math.round(v * 12.92 * 255 + 0.5);
}
else {
return Math.round((1.055 * Math.pow(v, 1 / 2.4) - 0.055) * 255 + 0.5);
}
}
function sRGBToLinear(value) {
var v = value / 255;
if (v <= 0.04045) {
return v / 12.92;
}
else {
return Math.pow((v + 0.055) / 1.055, 2.4);
}
}
function decodeDC(value) {
var intR = value >> 16;
var intG = (value >> 8) & 255;
var intB = value & 255;
return [sRGBToLinear(intR), sRGBToLinear(intG), sRGBToLinear(intB)];
};
function sign(n) { return (n < 0 ? -1 : 1); }
function signPow(val, exp) { return sign(val) * Math.pow(Math.abs(val), exp); }
function decodeDC2(value, maximumValue) {
var quantR = Math.floor(value / (19 * 19));
var quantG = Math.floor(value / 19) % 19;
var quantB = value % 19;
var rgb = [
signPow((quantR - 9) / 9, 2.0) * maximumValue,
signPow((quantG - 9) / 9, 2.0) * maximumValue,
signPow((quantB - 9) / 9, 2.0) * maximumValue,
];
return rgb;
};
function decodeblur(blurhash, width, height, punch) {
punch = punch | 1;
if (blurhash.length < 6) {
console.error('too short blurhash');
return null;
}
var sizeFlag = decode83(blurhash[0]);
var numY = Math.floor(sizeFlag / 9) + 1;
var numX = (sizeFlag % 9) + 1;
var quantisedMaximumValue = decode83(blurhash[1]);
var maximumValue = (quantisedMaximumValue + 1) / 166;
if (blurhash.length !== 4 + 2 * numX * numY) {
console.error('blurhash length mismatch', blurhash.length, 4 + 2 * numX * numY);
return null;
}
var colors = new Array(numX * numY);
for (var i = 0; i < colors.length; i++) {
if (i === 0) {
var value = decode83(blurhash.substring(2, 6));
colors[i] = decodeDC(value);
}
else {
var value = decode83(blurhash.substring(4 + i * 2, 6 + i * 2));
colors[i] = decodeDC2(value, maximumValue * punch);
}
}
var bytesPerRow = width * 4;
var pixels = new Uint8ClampedArray(bytesPerRow * height);
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
var r = 0;
var g = 0;
var b = 0;
for (var j = 0; j < numY; j++) {
for (var i = 0; i < numX; i++) {
var basis = Math.cos(Math.PI * x * i / width) * Math.cos(Math.PI * y * j / height);
var color = colors[i + j * numX];
r += color[0] * basis;
g += color[1] * basis;
b += color[2] * basis;
}
}
var intR = linearTosRGB(r);
var intG = linearTosRGB(g);
var intB = linearTosRGB(b);
pixels[4 * x + 0 + y * bytesPerRow] = intR;
pixels[4 * x + 1 + y * bytesPerRow] = intG;
pixels[4 * x + 2 + y * bytesPerRow] = intB;
pixels[4 * x + 3 + y * bytesPerRow] = 255; // alpha
}
}
return pixels;
}
function parseBlur(blur) {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var pixels = decodeblur(blur, 32, 32)
const imageData = new ImageData(pixels, 32, 32);
ctx.putImageData(imageData, 0, 0);
return canvas.toDataURL()
}

View File

@ -580,16 +580,25 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var purl = media.preview_url;
media_ids=media_ids+media.id+",";
var url = media.url;
var nsfwmes=""
if (toot.sensitive && nsfw) {
var sense = "sensitive"
var blur=media.blurhash
if(blur){
nsfwmes='<span class="gray">NSFW media</span>'
purl=parseBlur(blur)
var sense=""
}
} else {
var sense = ""
var blur=null
}
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
'" data-type="' + media.type + '" class="img-parsed"><img draggable="false" src="' +
purl + '" class="' + sense +
' toot-img pointer" style="width:calc(' + cwdt + '% - 1px); height:'+imh+';"></a></span>';
' toot-img pointer" style="width:calc(' + cwdt + '% - 1px); height:'+imh+';"></a>'+nsfwmes;
});
media_ids = media_ids.slice(0, -1) ;
} else {

View File

@ -668,3 +668,4 @@ oksload();
npprovider();
ctLoad()
};

View File

@ -88,8 +88,7 @@
"linux": {
"icon": "build/icons",
"target": [
"zip",
"snap"
"zip"
],
"category": "Network"
},

View File

@ -1,5 +1,5 @@
<!doctype html>
<html lang="ja">
<html lang="en">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
@ -40,7 +40,7 @@ body,html{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 type="text/javascript" src="../../js/lang/lang.en.js"></script>
<script>
var misskeytoken=false;
</script>
@ -48,23 +48,23 @@ body,html{overflow-y: scroll;}
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<div class="hide-first">
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a><br>
<h5>アカウント一覧</h5>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">Back</a><br>
<h5>List of accounts</h5>
<div id="acct-list"></div>
<div class="divider"></div>
</div>
<div>
<h5>アカウントを追加</h5><br>
<h5>Add an account</h5><br>
<div id="add">
<div class="row">
<div class="col s8">
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
<div id="ins-suggest"></div>
チェックを外すとコード貼り付けをスキップできます。(<u>Mastodon</u>にWindowsやmacOSからログインする場合)失敗する場合はチェックを入れてください。<br>
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br>
<input type="checkbox" class="filled-in" id="linux" />
<label for="linux">コードセットアップ</label><br>
<label for="linux">Code setup</label><br>
<input type="checkbox" class="filled-in" id="misskey" />
<label for="misskey">Misskeyとしてログイン</label><br>
<label for="misskey">Login as Misskey</label><br>
<button class="btn waves-effect" onclick="instance()">Login</button><br>
</div>
<div class="col s4">
@ -73,21 +73,21 @@ body,html{overflow-y: scroll;}
</div>
</div></div>
<div id="auth" style="display:none">
指定されたコードを貼り付けてください。ログインウィンドウは閉じていただいて構いません。<br>
<input type="text" id="code" placeholder="コードを入力">
Paste the code and close browser.<br>
<input type="text" id="code" placeholder="Code">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>
<a href="https://thedesk.top/how-to-misskey-login.html">ドキュメント</a>を参照して正しいコードを入れてください。<br>
Read <a href="https://thedesk.top/how-to-misskey-login.html">Docs(ja)</a> to login Misskey.<br>
<input type="hidden" id="misskey-url">
<input type="text" id="misskey-key" placeholder="コードを入力">
<input type="text" id="misskey-key" placeholder="Code">
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br>
</div>
</div>
<div class="hide-first">
<h5>メインアカウント</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">アカウントを選択</span>
<h5>Main an account</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">Select an account</span>
<br>
<select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<label></label>
@ -98,12 +98,12 @@ Administered by:<a id="ins-admin"></a><br>
<span id="ins-desc"></span><br>
<img src="../../img/loading.svg" id="ins-prof" width="200"><br>
<br>
ドメイン名:<span id="ins-name"></span><br>
接続サーバー数:<span id="ins-connect"></span><br>
トゥート数:<span id="ins-toot"></span><br>
ユーザー数:<span id="ins-user"></span>ユーザー数<br>
コネクション:<span id="ins-per"></span>%<br>
Mastodonバージョン:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
Domain:<span id="ins-name"></span><br>
Federated servers:<span id="ins-connect"></span><br>
Toots:<span id="ins-toot"></span><br>
Users:<span id="ins-user"></span>Users<br>
Connection:<span id="ins-per"></span>%<br>
Mastodon version:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
</div>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>

View File

@ -1,5 +1,5 @@
<!doctype html>
<html lang="ja">
<html lang="en">
<head>
<title>TheDesk</title>
@ -28,8 +28,9 @@
<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 type="text/javascript" src="../../js/lang/lang.en.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
<script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
@ -44,18 +45,19 @@
var tlid = 0;
</script>
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
<canvas id="canvas" style="top:-100px; position:fixed;width:32px;height:32px" width="32" height="32"></canvas>
<div id="tl">
<!--TL-->
<!--ドラッグハンドラ-->
<div id="drag">
<div id="drag-content" data-trans="drag_here">ここにドラッグして添付(ドラッグと同時にアップロードされます)
<div id="drag-content" data-trans="drag_here">Drag here to upload
<br>
<button class="btn waves-effect" onclick="closedrop()" data-trans="close">Close</button>
</div>
</div>
</div>
<div id="post-box" class="z-depth-5">
<div id="post-bar" class="drag-bar"><span id="unreact">投稿</span><span id="addreact"
<div id="post-bar" class="drag-bar"><span id="unreact">Post new</span><span id="addreact"
class="hide">Reaction</span></div>
<!--トゥートボックス-->
<div id="left-side">
@ -63,7 +65,7 @@
</span>
<div class="" style="float:left;">
<a onclick="profShow()" style="vertical-align:-2.5rem;" class="pointer mize">
<img src="../../img/missing.svg" id="acct-sel-prof" title="選択したアカウントのプロフィールを表示(Ctrl+Shift+P)"
<img src="../../img/missing.svg" id="acct-sel-prof" title="Show profile of the selecting account(Ctrl+Shift+P)"
data-trans-title="post_box_prof" width="24px">
</a>
</div>
@ -71,7 +73,7 @@
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()"></select>
</div>
<span class="cancel">
<i class="material-icons waves-effect" onclick="hide()" title="このボックスを閉じる(X)"
<i class="material-icons waves-effect" onclick="hide()" title="Close this box(X)"
data-trans-title="post_box_close">cancel</i>
</span>
<!--Markdown-->
@ -140,7 +142,7 @@
<textarea id="textarea" class="materialize-textarea unmize" style="margin-bottom:0;"
data-length="500"></textarea>
<label for="textarea" data-trans="toot">トゥート</label>
<label for="textarea" data-trans="toot">Toot</label>
<br>
<span class="sml gray pointer markdown mize" id="preview-btn">
<a onclick="preview()">Preview</a>
@ -150,60 +152,60 @@
</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="画像に制限を付与"
<i class="waves-effect gray material-icons" id="nsfw" title="Mark media as sensitive"
onclick="nsfw()">visibility_off</i>
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1'
id="vis-icon">public</i>
<a class="waves-effect gray" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)">CW</a>
<a class="waves-effect gray" id="cw" onclick="cw()" title="Hide text behind warning">CW</a>
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray"
onclick="fileselect()" title="ファイルを選択">photo_library</i></span></span>
onclick="fileselect()" title="Attach..">photo_library</i></span></span>
<i class="waves-effect gray material-icons" onclick="emojiToggle()" id="emojibtn"
title="絵文字を挿入">tag_faces</i>
title="Emojis">tag_faces</i>
<i class="waves-effect gray material-icons dropdown-button" data-activates='dropdown2'>more_vert</i>
<i class="material-icons nex gray waves-effect" title="トゥートボックスのクリア(Ctrl+Shit+C)"
<i class="material-icons nex gray waves-effect" title="Clear toot box(Ctrl+Shit+C)"
data-trans-title="post_box_clear" id="clear">clear</i>
</div>
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
<div id="taglist"></div>
<div id="preview" class="mize"></div>
<span class=" sml mize"><span data-trans="reply">返信モード</span>:
<span id="rec">いいえ</span>/<span data-trans="file">添付ファイル</span>:
<span id="mec">なし</span>/<span data-trans="vis">公開範囲</span>:
<span class=" sml mize"><span data-trans="reply">Reply</span>:
<span id="rec">No</span>/<span data-trans="file">Attaching files</span>:
<span id="mec">None</span>/<span data-trans="vis">Adjust status privacy</span>:
<span id="vis">public</span>
</span>
<br>
<input type="text" id="cw-text" placeholder="警告文" class="mize" style="margin:0">
<div id="sch-box">時間指定投稿<br><span class="sml">2.7.0~ 5分以内には投稿できません。サーバーの時計が正確とは限りません。</span><br>
<input type="datetime-local" id="sch-date" placeholder="時間指定投稿" class="datepicker" style="margin:0">
<input type="text" id="cw-text" placeholder="Warning text" class="mize" style="margin:0">
<div id="sch-box">Post at<br><span class="sml">2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)</span><br>
<input type="datetime-local" id="sch-date" placeholder="Scheduled toot" class="datepicker" style="margin:0">
</div>
</div>
</div>
<!-- 公開範囲 Dropdown Structure -->
<ul id='dropdown1' class='dropdown-content'>
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">公開範囲指定</li>
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">Adjust status privacy</li>
<li>
<a onclick="vis('public')">公開(Public)</a>
<a onclick="vis('public')">(Public)</a>
</li>
<li>
<a onclick="vis('unlisted')">未収載(Unlisted)</a>
<a onclick="vis('unlisted')">(Unlisted)</a>
</li>
<li>
<a onclick="vis('private')" id="private-button">非公開(Private)</a>
<a onclick="vis('private')" id="private-button">(Private)</a>
</li>
<li id="limited-button" class="hide">
<a onclick="vis('limited')">限定公開(Limited)</a>
</li>
<li id="local-button" class="hide">
<a onclick="vis('local')">ローカル限定(Local)</a>
<a onclick="vis('local')">Local only(Local)</a>
</li>
<li>
<a onclick="vis('direct')" class="disabled direct">ダイレクト(Direct)</a>
<a onclick="vis('direct')" class="disabled direct">(Direct)</a>
</li>
</ul>
<!-- その他 Dropdown Structure -->
<ul id='dropdown2' class='dropdown-content'>
<li>
<a onclick="adobe()">Adobeフォトエディタ</a>
<a onclick="adobe()">Adobe Photo Editor</a>
</li>
<li>
<a onclick="nowplaying('spotify');">NowPlaying(Spotify)</a>
@ -212,10 +214,10 @@
<a onclick="nowplaying('itunes');">NowPlaying</a>
</li>
<li>
<a onclick="schedule();">時間指定投稿</a>
<a onclick="schedule();">Scheduled toot</a>
</li>
<li>
<a onclick="pollToggle();">アンケート</a>
<a onclick="pollToggle();">Poll</a>
</li>
</ul>
<!--hidden area-->
@ -225,17 +227,17 @@
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
id="toot-post-btn">トゥート</button>
id="toot-post-btn">Toot</button>
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()" id="toot-sec-btn"><i
class="material-icons" id="toot-sec-icon" title="セカンダリートゥート">lock_open</i></button>
class="material-icons" id="toot-sec-icon" title="Secondary Toot">lock_open</i></button>
</div>
</div>
<div id="right-side">
<div id="suggest"></div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide">
<span class="gray sml">サーバーによって実装が異なります。
<a onclick="emojiGet('true')" class="pointer">絵文字更新</a>
<span class="gray sml">
<a onclick="emojiGet('true')" class="pointer">Refresh emojis list</a>
<br>
</span>
<div id="emoji-list" class="" style="">
@ -253,33 +255,33 @@
</button>
</div>
<div id="default-emoji">
<span id="now-emoji"></span>一覧を表示中<br><span class="gray sml">一部絵文字は入力できません。</span>
<span id="now-emoji"></span> are shown.<br><span class="gray sml">Some emojis are not able to be inserted.</span>
<br>
<a onclick="customEmoji()" class="pointer waves-effect" title="カスタム絵文字">
<a onclick="customEmoji()" class="pointer waves-effect" title="Custom emojis">
<i class="material-icons">add</i>
</a>
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="ひと">
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="Emojis of people">
<i class="material-icons">people</i>
</a>
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="自然">
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="Emojis of nature">
<i class="material-icons">local_florist</i>
</a>
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="食べ物">
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="Emojis of foods">
<i class="material-icons">restaurant</i>
</a>
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="活動">
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="Emojis of activities">
<i class="material-icons">directions_run</i>
</a>
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="場所">
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="Emojis of places">
<i class="material-icons">directions_car</i>
</a>
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="もの">
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="Emojis of tools">
<i class="material-icons">attach_file</i>
</a>
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="記号">
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="Emojis of symbols">
<i class="material-icons">gesture</i>
</a>
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="国旗">
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="Emojis of flags">
<i class="material-icons">flag</i>
</a>
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
@ -290,21 +292,21 @@
<!--Poll UI-->
<div id="poll" class="hide">
<select id="poll-sel" onchange="pollProviderCk()">
<option value="nothing">アンケートを使用しない</option>
<option value="nothing">Polls: Disabled</option>
<option value="mastodon-poll">Mastodon(2.8~)</option>
</select>
<div id="mastodon-poll" class="poll-provider hide">
<input type="text" class="mastodon-choice" placeholder="選択肢1">
<input type="text" class="mastodon-choice" placeholder="選択肢2">
<input type="text" class="mastodon-choice" placeholder="選択肢3">
<input type="text" class="mastodon-choice" placeholder="選択肢4">
<input type="text" class="mastodon-choice" placeholder="Choice1">
<input type="text" class="mastodon-choice" placeholder="Choice2">
<input type="text" class="mastodon-choice" placeholder="Choice3">
<input type="text" class="mastodon-choice" placeholder="Choice4">
<input type="checkbox" class="filled-in" id="poll-multiple" value="1" />
<label for="poll-multiple">複数選択を許可</label><br>
<label for="poll-multiple">Multiple select</label><br>
<input type="checkbox" class="filled-in" id="poll-until" value="1" />
<label for="poll-until">投票するまで票数を隠す</label><br>
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">時間
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="6">
<label for="poll-until">Hide 'votes' count until people vote it.</label><br>
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">day(s)
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">hour(s)
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="6">minute(s)
</div>
</div>
</div>
@ -315,35 +317,35 @@
<ul class="collapsible" data-collapsible="accordion" id="det-col">
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>これより後のLocal TL(言及確認)
<i class="material-icons">people_outline</i>Local TL after this toot)
</div>
<div class="collapsible-body toot-reset" id="ltl-after">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>これより後のユーザーTL(言及確認)
<i class="material-icons">person_outline</i>User TL before this toot
</div>
<div class="collapsible-body toot-reset" id="user-after">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">language</i>これより後の連合TL(言及確認)
<i class="material-icons">language</i>Federated TL after this toot
</div>
<div class="collapsible-body toot-reset" id="ftl-after">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_upward</i>これより前の会話
<i class="material-icons">arrow_upward</i>Context before this toot
</div>
<div class="collapsible-body toot-reset" id="toot-reply">
</div>
</li>
<li>
<div class="collapsible-header" id="activator">
<i class="material-icons">more_horiz</i>対象のトゥート
<i class="material-icons">more_horiz</i>This toot
</div>
<div class="collapsible-body">
<div class="toot-reset" id="toot-this"></div>
@ -351,42 +353,42 @@
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_downward</i>これより後の会話
<i class="material-icons">arrow_downward</i>Context after this toot
</div>
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>これより前のLocal TL(エアリプソース確認)
<i class="material-icons">people_outline</i>Local TL before this toot
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>これより前のユーザーTL(BTソース確認)
<i class="material-icons">person_outline</i>User TL before this toot
</div>
<div class="collapsible-body toot-reset" id="user-before">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">star</i>このトゥートをお気に入りに登録した人
<i class="material-icons">star</i>People who favourited it
</div>
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="text-darken-3 false fas fa-retweet"></i>このトゥートをブーストした人
<i class="text-darken-3 false fas fa-retweet"></i>People who boosted it
</div>
<div class="collapsible-body toot-reset" id="toot-rt">
</div>
</li>
</ul>
<div class="dm-hide">
他のアカウントを使用(<i class="fas fa-retweet"></i>/<i class="fas fa-star"></i>の解除はできません)<br>
Use other account(<i class="fas fa-retweet"></i>/<i class="fas fa-star"></i>:unfav and unBT are disabled.)<br>
<div class="row">
<div class="col s6">
<select id="status-acct-sel" class="acct-sel"></select>
@ -411,9 +413,9 @@
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">ブラウザで開く</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">URLをコピー</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">埋め込む</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">Open in browser</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">Copy URL of this toot</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">Embed</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>
@ -430,12 +432,12 @@
<span class="gray" id="his-relation"></span>
<br>
<span class="cbadge">
<span id="his-sta"></span>トゥート
<span id="his-sta"></span>Toots
</span>
<span class="cbadge">フォロー:
<span class="cbadge">Follow:
<span id="his-follow"></span>
</span>
<span class="cbadge">フォロワー:
<span class="cbadge">Follower:
<span id="his-follower"></span>
</span><br>
<span class="cbadge" style="max-width:150px; width:150px; ">Since:
@ -446,58 +448,58 @@
<div id="his-des" data-acct=""></div><br>
<div id="his-plus-action">
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-emp-btn"
onclick="empUser()">ユーザー強調</a>
onclick="empUser()">Emphasize this user</a>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data" id="his-end-btn"
onclick="pinUser()">紹介する</a><br>
onclick="pinUser()">Feature on profile</a><br>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin"
onclick="profbrws()">ブラウザで開く</a><br>
onclick="profbrws()">Open in browser</a><br>
</div><br>
<div id="his-matching-list">
似ているユーザーを取得できます。<br>
Get people resembling this user.<br>
Powered by <a href="https://vinayaka.distsn.org/" target="_blank">Mastodon User Matching</a><br>
<div id="his-matching-list-contents" class="cont-series"></div>
<button class="btn waves-effect " onclick="showMat()" style="width:100%;">取得</button>
<button class="btn waves-effect " onclick="showMat()" style="width:100%;">Get</button>
</div>
</div>
<div class="his-float" id="his-float-timeline">
<div id="my-data-nav">
<ul class="custom-tabs transparent">
<li class="custom-tab col my-data-width active-back column-first">
<a go="#his-tl" title="タイムライン"><i class="material-icons">timeline</i></a>
<a go="#his-tl" title="Timeline"><i class="material-icons">timeline</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follow-list" title="フォロー"><i class="material-icons">people</i></a>
<a go="#his-follow-list" title="Follow"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follower-list" title="フォロワー"><i class="material-icons">people</i></a>
<a go="#his-follower-list" title="Follower"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-action" title="他のアカウントで操作"><i class="material-icons">account_box</i></a>
<a go="#his-action" title="Cross-account"><i class="material-icons">account_box</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-list" title="リスト"><i class="material-icons">list</i></a>
<a go="#his-list" title="List"><i class="material-icons">list</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-fav-list" title="お気に入り登録"><i class="material-icons">star</i></a>
<a go="#his-fav-list" title="Favourite"><i class="material-icons">star</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="ブロック"><i class="material-icons">block</i></a>
<a go="#his-blocking-list" title="Blocks"><i class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="ブロック"><i class="material-icons">voice_over_off</i></a>
<a go="#his-blocking-list" title="Blocks"><i class="material-icons">voice_over_off</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-domain-list" title="ドメインブロック"><i class="material-icons">language</i><i
<a go="#his-domain-list" title="Domain block"><i class="material-icons">language</i><i
class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-prof-list" title="プロフィール編集"><i class="material-icons">create</i></a>
<a go="#his-prof-list" title="Edit profile"><i class="material-icons">create</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-request-list" title="フォローリクエスト"><i class="material-icons">how_to_reg</i></a>
<a go="#his-request-list" title="Follow requests"><i class="material-icons">how_to_reg</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-follow-recom-list" title="おすすめ"><i class="material-icons">recent_actors</i></a>
<a go="#his-follow-recom-list" title="Suggest"><i class="material-icons">recent_actors</i></a>
</li>
</ul>
</div>
@ -505,72 +507,72 @@
<div id="his-tl-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="utl('--now','more')">もっと</button>
onclick="utl('--now','more')">More</button>
</div>
<div id="his-follow-list" class="tab-content">
<div id="his-follow-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="flw('--now','more')">もっと</button>
onclick="flw('--now','more')">More</button>
</div>
<div id="his-follower-list" class="tab-content">
<div id="his-follower-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="fer('--now','more')">もっと</button>
onclick="fer('--now','more')">More</button>
</div>
<div id="his-action" class="tab-content">
他のアカウントを使用するフォロー((解除はできません。))<br>
<div style="max-width:500px;"><select id="user-acct-sel" class="acct-sel"></select></div>
<a href="#!" class="waves-effect btn" onclick="follow('selector','true')">フォロー</a><br>
または<br>
<a href="#!" class="waves-effect btn" onclick="udgEx('selector', 'selector')">プロフィールを表示</a><br>
Use other account to Follow((Unable to unfollow))<br>
<div style="max-width:500px;"><select id="user-acct-sel" class="acct-sel"></select></div>
<a href="#!" class="waves-effect btn" onclick="follow('selector','true')">Follow</a><br>
or<br>
<a href="#!" class="waves-effect btn" onclick="udgEx('selector', 'selector')">Show profile</a><br>
</div>
<div id="his-list" class="tab-content">
<div id="his-lists-a">リストに追加するためにはフォローが必要です。</div>
<div id="his-lists-a">Follow to add this user to lists.</div>
<div id="his-lists-b"></div>
</div>
<div id="his-fav-list" class="tab-content">
<div id="his-fav-list-contents" class="cont-series">
</div>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="showFav('more')">もっと</button>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="showFav('more')">More</button>
</div>
<div id="his-blocking-list" class="tab-content">
<div id="his-blocking-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showBlo('more')">もっと</button>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showBlo('more')">More</button>
</div>
<div id="his-muting-list" class="tab-content">
<div id="his-muting-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showMut('more')">もっと</button>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showMut('more')">More</button>
</div>
<div id="his-domain-list" class="tab-content">
<div id="his-domain-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="showDom('more')">もっと</button>ブロックするドメイン
onclick="showDom('more')">More</button>Add blocking domain
<br>
<input type="text" placeholder="example.com" id="domainblock">
<button class="btn waves-effect" onclick="addDomainblock()">追加</button>
<button class="btn waves-effect" onclick="addDomainblock()">Add</button>
<br>
</div>
<div id="his-prof-list" class="tab-content">名前
<div id="his-prof-list" class="tab-content">Display name
<br>
<input type="text" placeholder="名前" id="his-name-val" style="max-width:250px;">
<br>自己紹介
<input type="text" placeholder="Display name" id="his-name-val" style="max-width:250px;">
<br>Note
<br>
<div class="input-field col s12">
<textarea placeholder="自己紹介" id="his-des-val" class="materialize-textarea"></textarea>
<label for="his-des-val">自己紹介</label>
<textarea placeholder="Note" id="his-des-val" class="materialize-textarea"></textarea>
<label for="his-des-val">Note</label>
</div>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="profedit()">変更</button>
<br>アバターを変更:
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="profedit()">Save</button>
<br>Change avataor:
<span id="prof-change">
<input type="file" onchange="imgChange(this,'avatar')">
</span>
<br>ヘッダーを変更:
<br>Change header image:
<span id="header-change">
<input type="file" onchange="imgChange(this,'header')">
</span>
@ -578,7 +580,7 @@
<div id="his-request-list" class="tab-content">
<div id="his-request-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showReq('more')">もっと</button>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showReq('more')">More</button>
</div>
<div id="his-follow-recom-list" class="tab-content">
<div id="his-follow-recom-contents" class="cont-series">
@ -586,19 +588,19 @@
</div>
</div>
<div class="his-float" id="his-float-blocked">
<div>ブロックされています。なぜでしょう?</div>
<div>You are blocked. Why?</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="modal-action waves-effect waves-green btn-flat" id="his-history-btn"
onclick="historyShow()">一つ前のユーザーデータ</button>
onclick="historyShow()">Back</button>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn"
onclick="follow()">フォロー</a>
onclick="follow()">Follow</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn"
onclick="mute()">ミュート</a>
onclick="mute()">Mute</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn"
onclick="block()">ブロック</a>
onclick="block()">Block</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
</div>
</div>
@ -622,7 +624,7 @@
<button class="btn waves-effect purple" onclick="dlImg()">
<i class="material-icons">file_download</i>
</button>
<button class="btn waves-effect brown" onclick="detFromImg()">対象のトゥート</button>
<button class="btn waves-effect brown" onclick="detFromImg()">This toot</button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev">
<i class="material-icons">keyboard_arrow_left</i>
</button>
@ -669,18 +671,18 @@
<a href="https://translate.thedesk.top">Crowdin translation project</a>
</div>
<br><br>
<h3>ご支援ください。</h3>
TheDeskは営利目的ではないため、有料機能や広告は一切ありません。<br>皆様のあたたかいご支援のもとで製作されています。<br>
<h3>Support TheDesk!</h3>
TheDesk has no ad, you need no charge to unlock premium features. We need your friendly support!<br>
<a class="btn-share btn waves-effect waves-light red lighten-2"
href="https://www.pixiv.net/fanbox/creator/28105985" target="_blank">
Pixiv FANBOXで支援
Support on Pixiv FANBOX
</a>
<a class="btn-share btn waves-effect waves-light blue"
href="https://www.amazon.co.jp/registry/wishlist/2TV35ZHHJPDSB" target="_blank">
Amazonほしいものリスト
Amazon Wish List
</a>
<br>
<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>にAmazonギフトカードを送る<br>
Give me Amazon Gift Card:<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a><br>
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
</div>
@ -700,28 +702,28 @@
<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>
<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>カラム追加</span></div>
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>カラム一覧/並べ替え</span></div>
class="material-icons">sort</i><span>Sort</span></div>
<div class="waves-effect" onclick="searchMenu()" id="searchMenu"><i
class="material-icons">search</i><span>検索</span></div>
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>リスト</span></div>
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>フィルター</span></div>
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>ヘルプ</span></div>
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 class="waves-effect" onclick="location.href='index.html'"><i
class="material-icons">refresh</i><span>TL再読込</span></div>
class="material-icons">refresh</i><span>Reload TL</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>
<div class="input-field"><span data-trans="your_acct">Account(Scroll to show all)</span>
<br>
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
<label></label>
@ -729,50 +731,50 @@
<div class="input-field">
<div id="auth">
<input type="hidden" value="local" id="type-sel">
表示するタイムライン
Show this TL:
<div id="tltype">
<div class="type waves-effect active" data-type="local">
<div><i class="material-icons">people_outline</i></div><span>ローカル</span>
<div><i class="material-icons">people_outline</i></div><span>Local</span>
</div>
<div class="type waves-effect" data-type="local-media">
<div><i class="material-icons">people_outline</i><i class="material-icons sub-icon">perm_media</i>
</div><span>ローカル(メディア)</span>
</div><span>Local(Media)</span>
</div>
<div class="type waves-effect" data-type="home">
<div><i class="material-icons">home</i></div><span>ホーム</span>
<div><i class="material-icons">home</i></div><span>Home</span>
</div>
<div class="type waves-effect" data-type="pub">
<div><i class="material-icons">language</i></div><span>連合</span>
<div><i class="material-icons">language</i></div><span>Federated</span>
</div>
<div class="type waves-effect" data-type="pub-media">
<div><i class="material-icons">language</i><i class="material-icons sub-icon">perm_media</i></div>
<span>連合(メディア)</span>
<span>Federated(Media)</span>
</div>
<div class="type waves-effect" data-type="dm">
<div><i class="material-icons">mail_outline</i></div><span>ダイレクトメッセージ</span>
<div><i class="material-icons">mail_outline</i></div><span>Direct Message</span>
</div>
<div class="type waves-effect" data-type="mix">
<div><i class="material-icons">merge_type</i></div><span>統合(ローカルとホーム)</span>
<div><i class="material-icons">merge_type</i></div><span>Integrated(Local/Home)</span>
</div>
<div class="type waves-effect" data-type="plus">
<div><i class="material-icons">merge_type</i><i class="material-icons sub-icon">reply</i></div>
<span>統合(LTL+BT+返信)</span>
<span>LTL+Reply+BT</span>
</div>
<div class="type waves-effect" data-type="notf">
<div><i class="material-icons">notifications</i></div><span>通知</span>
<div><i class="material-icons">notifications</i></div><span>Notifications</span>
</div>
</div>
</div>
<div id="noauth" class="hide">表示するタイムライン
<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を表示します。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 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>追加
<i class="material-icons left">add</i>Add
</button>
<br>
<br>
@ -784,10 +786,10 @@
</div>
<div class="input-field">
<input id="src" type="text" class="validate" style="width:60%">
<label for="src" data-trans="src">検索</label>
<label for="src" data-trans="src">Search</label>
<button class="btn waves-effect indigo" style="width: 36%;padding: 0;padding-left: 15px;" onclick="src()"
data-trans-i="src">
<i class="material-icons left" style="margin:0">search</i>検索
<i class="material-icons left" style="margin:0">search</i>Search
</button>
<br>
<br>
@ -802,7 +804,7 @@
<ul id="sort"></ul>
<div>
<button onclick="sort()" class="btn waves-effect nex" style="width:97.5%;" data-trans-i="sort">
<i class="material-icons left">sort</i>並べ替え設定
<i class="material-icons left">sort</i>Sort
</button>
</div>
</div>
@ -810,78 +812,78 @@
<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>
<label>Account(Scroll to show all)</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="名前">
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">新規作成</button>
<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>選択(スクロールで全選択肢表示)</label>
<label>Account(Scroll to show all)</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="フィルターワード"><br>
適応範囲<br>
<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">ホーム</label>
<label for="home_filter">Home</label>
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
<label for="local_filter">ローカル</label>
<label for="local_filter">Local</label>
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
<label for="notf_filter">通知</label>
<label for="notf_filter">Notifications</label>
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
<label for="conv_filter">会話</label><br>
オプション<br>
<label for="conv_filter">Conversations</label><br>
Options<br>
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
<label for="wholeword_filter">単語マッチ</label><br>
<span class="sml">非ラテン系の文字列では「単語マッチ」は推奨されません。</span><br>
<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">除外</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"><br>
Quick:<a onclick="filterTime(0,0,30)" class="pointer">30</a>/
<a onclick="filterTime(0,1,0)" class="pointer">1時間</a>/
<a onclick="filterTime(0,6,0)" class="pointer">6時間</a>/
<a onclick="filterTime(0,12,0)" class="pointer">12時間</a>/
<a onclick="filterTime(1,0,0)" class="pointer">1</a>/
<a onclick="filterTime(7,0,0)" class="pointer">7</a>/
<a onclick="filterTime(0,0,0)" class="pointer">無期限</a><br>
<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">day(s)
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">hour(s)
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">minute(s)<br>
Quick:<a onclick="filterTime(0,0,30)" class="pointer">30minute(s)</a>/
<a onclick="filterTime(0,1,0)" class="pointer">1hour(s)</a>/
<a onclick="filterTime(0,6,0)" class="pointer">6hour(s)</a>/
<a onclick="filterTime(0,12,0)" class="pointer">12hour(s)</a>/
<a onclick="filterTime(1,0,0)" class="pointer">1day(s)</a>/
<a onclick="filterTime(7,0,0)" class="pointer">7day(s)</a>/
<a onclick="filterTime(0,0,0)" class="pointer">Never</a><br>
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()"
id="add-filter-btn">追加</button><br>
<span class="sml">Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。</span>
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>
</div>
</div>
<a onclick="about()" class="nex waves-effect">
<i class="material-icons" style="font-size: 1rem;">info</i>このソフトについて
<i class="material-icons" style="font-size: 1rem;">info</i>About TheDesk
</a>&nbsp;|&nbsp;
<a onclick="bottomReverse()" class="nex waves-effect">
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>トゥートボタンの左右入れ替え
<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">
<div id="something-wrong">
<div>内部エラーです。再読込して治らない場合は初期化(全データ削除)をしてください。(事前に設定をエクスポートしておくことをおすすめします。)</div>
<div>Internal error: please clear all data(at setting page) <b>All data will be deleted.</b></div>
</div>
</div>
</div>
@ -893,24 +895,24 @@
<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>トゥート
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>Toot
</button>
</div>
<div class="leftside reverse" id="group">
<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>
<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="設定(Ctrl+Shift+S)">settings</i>
<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="最小のマストドン。TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
<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="リスト">apps</i>
<i class="material-icons" title="List">apps</i>
</a>
<span id="fukidashi">←ここからTL追加</span>
<span id="fukidashi"><- Add TL</span>
</div>
</div>
</div>
@ -918,13 +920,13 @@
<div id="tips-menu">
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
<a onclick="tips('ver')" class="nex waves-effect">
<i class="material-icons nex" title="バージョン" data-trans-title="ver">info</i>
<i class="material-icons nex" title="Version" data-trans-title="ver">info</i>
</a>
<a onclick="tips('clock')" class="nex waves-effect">
<i class="material-icons nex" title="時計" data-trans-title="clock">access_time</i>
<i class="material-icons nex" title="Clock" data-trans-title="clock">access_time</i>
</a>
<a onclick="tips('memory')" class="nex waves-effect">
<i class="material-icons nex" title="システムメモリ容量" data-trans-title="memory">memory</i>
<i class="material-icons nex" title="RAM status" data-trans-title="memory">memory</i>
</a>
<a onclick="tips('trend')" class="nex waves-effect imasonly" style="display:none;">
<i class="material-icons nex" title="アイマストドントレンド" data-trans-title="trendtip">whatshot</i>
@ -936,7 +938,7 @@
</div>
<div id="tips" class="hide">
<a onclick="tipsToggle()" class="nex waves-effect" style="float:left">
<i class="material-icons nex" title="Tips変更" data-trans-title="tips">bubble_chart</i>
<i class="material-icons nex" title="Change Tips" data-trans-title="tips">bubble_chart</i>
</a>
<div id="tips-text" style="float:left; width:300px;"></div>
</div>

View File

@ -1,5 +1,5 @@
<!doctype html>
<html lang="ja" style="overflow:scroll">
<html lang="en" style="overflow:scroll">
<head>
<title>Settings - TheDesk</title>
@ -32,26 +32,26 @@
<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 type="text/javascript" src="../../js/lang/lang.en.js"></script>
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
<script src="../../node_modules/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script>
<h4>設定</h4>
<h4>Preferences</h4>
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
<i class="material-icons">desktop_windows</i>環境設定
<i class="material-icons">desktop_windows</i>System Preferences
</div>
<div class="collapsible-body">
<h5>言語</h5>
<h5>Languages</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
@@langlist@@
<h5>設定のインポートとエクスポート</h5>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a>
<h5>Import and export of preferences</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">エクスポート</button>
style="width:100%; max-width:200px;">Export</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
style="width:100%; max-width:200px;">インポート</button>
style="width:100%; max-width:200px;">Import</button>
<div id="envView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
@ -59,7 +59,7 @@
<templete v-html="item.text.desc"></templete><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">通知テスト</a><br></template>
class="pointer">Notification test</a><br></template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
@ -79,30 +79,30 @@
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">変更</button>
v-on:click="complete(i)">Change</button>
</template><br>
</template>
</div>
<h5>フォント</h5>
「選択」を押してフォントを選んでください。(Linuxでは動きません)<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
<h5>Font</h5>
Select your favorite font to 'Select'(Windows/ macOS only)<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
<br>
<input type="text" style="width:150px" id="font">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>デフォルトの保存先</h5>
画像ダウンロードやスクリーンショットに影響します。<br>
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">変更</button>
<h5>Folder to save</h5>
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>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">color_lens</i>テーマの設定
<i class="material-icons">color_lens</i>Themes
</div>
<div class="collapsible-body">
<h4>テーマの選択</h4>
<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" />
@ -118,66 +118,66 @@
<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="新規作成">
<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">新規作成</option>
<option value="add_new">Add new</option>
</select>
</div>
<h5>名前</h5>
<input type="text" style="width:300px" id="custom_name" placeholder="名前...">
<h5>説明</h5>
<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="説明..."></textarea></div>
<h5>色の系統</h5>
placeholder="About this theme..."></textarea></div>
<h5>Color scheme</h5>
<input class="with-gap" name="direction" type="radio" id="dark" value="dark" checked="true" />
<label for="dark">Dark</label>
<input class="with-gap" name="direction" type="radio" id="light" value="light" />
<label for="light">Light</label>
<div id="pickers">
<div>
<h5>Primary</h5>補助要素に使われる背景色
<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>全体の背景色など
<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>テキストの色
<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>ブーストの背景色など
<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()">変更</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">削除</button><br><br>
<button class="btn-large waves-effect" onclick="customComp()">Change</button>&nbsp;<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>
このコードは他の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>
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()">インポート</button><br>
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>タイムラインの設定
<i class="material-icons">reorder</i>Timeline Preferences
</div>
<div class="collapsible-body">
<div id="tlView">
@ -205,11 +205,11 @@
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">変更</button>
v-on:click="complete(i)">Change</button>
</template><br>
</template>
</div>
<h5>カスタム通知音</h5>
<h5>Custom sound</h5>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span id="c1-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span id="c2-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span id="c3-file"></span><br>
@ -218,7 +218,7 @@
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">send</i>投稿設定
<i class="material-icons">send</i>Posting Preferences
</div>
<div class="collapsible-body">
<div id="postView">
@ -249,7 +249,7 @@
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">変更</button>
v-on:click="complete(i)">Change</button>
</template><br>
</template>
</div>
@ -257,49 +257,49 @@
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">keyboard</i>キーボードショートカットの設定
<i class="material-icons">keyboard</i>Keyboard shortcut Preferences
</div>
<div class="collapsible-body">
<h5>簡単文字入力</h5>
絵文字やタグ、&gt;BTなどを登録しておくとすぐに入力できます。<br>
<h5>Easy inserter</h5>
You can insert any letters and emojis with only 3 keys<br>
Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2">
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">bookmark</i>ミュート・強調の設定
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
</div>
<div class="collapsible-body">
<h5>クライアントミュート</h5>
<h5>Client Mute</h5>
<div id="mute-cli"></div>
<h5>クライアント強調</h5>
各トゥートのクライアントをクリックすると設定できます。
<h5>ワードミュート</h5>
Enterで確定<br>
<h5>Client Emphasis</h5>
Click client name on toots to toggle mute and emphasis.
<h5>Words Mute</h5>
Enter to set<br>
<div class="chips" id="wordmute" style="background-color:gray;"></div>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>ワード強調</h5>
Enterで確定<br>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">Save</button>
<h5>Words Emphasis</h5>
Enter to set<br>
<div class="chips" id="wordemp" style="background-color:gray;"></div>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>ユーザー強調</h5>
各ユーザーのデータ表示画面で設定できます。
<span class="emphasized"> 強調色(テーマによって異なります。) </span>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">Save</button>
<h5>Users Emphasis</h5>
Set on users data modals.
<span class="emphasized"> Use this color to emphasis </span>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
</div>
<div class="collapsible-body">
<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>
<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>
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
@ -314,80 +314,80 @@
<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>
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
<h5>アカウントの連携</h5>
APIの性質上thedesk.topへアクセスします。<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>
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">設定</button></div>
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">Save</button></div>
<a onclick="spotifyConnect()" class="btn waves-effect nex"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i
class="fa fa-spotify left"></i>接続</a>
class="fa fa-spotify left"></i>Connect</a>
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>切断</a>
<h5>テンプレートの編集</h5>
以下を編集してテンプレートを変更できます。<br>
class="fa fa-spotify left"></i>Disconnect</a>
<h5>Edit a template</h5>
<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}<br>
Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}<br>
Windows:{song}:Song name/{album}:Album name/{artist}:Artist name<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
<h5>Attach an Artwork of Spotify</h5>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
<label for="awk_yes">はい</label>
<label for="awk_yes">Yes</label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
<label for="awk_no">いいえ</label>
<label for="awk_no">No</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">hearing</i>読み上げの設定
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
</div>
<div class="collapsible-body">
<h5>読み上げの速さ</h5>
1-100まで、デフォルトは10。<br>
<h5>Speed</h5>
1-100(default:10)<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
style="width:500px; max-width:100%" /></p>
<h5>読み上げの高さ</h5>
0-100まで、デフォルトは50。(大きくなるほど高い)<br>
<h5>Pitch</h5>
0-100(default:50)<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
style="width:500px; max-width:100%" /></p>
<h5>読み上げの音量</h5>
0-100まで、デフォルトは100。<br>
<h5>Volume</h5>
0-100(default:100)<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
style="width:500px; max-width:100%" /></p>
<h5>テスト</h5>
<input type="text" style="width:350px" id="voicetxt" value="これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。">
<h5>Test</h5>
<input type="text" style="width:350px" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
id="testplay">再生/停止</button><br>
id="testplay">Play/Stop</button><br>
<br>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">設定</button>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">Save</button>
</div>
</li>
</ul>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
class="material-icons left">undo</i>戻る</a>
class="material-icons left">undo</i>Back</a>
<br>
<br>キーボードショートカット一覧
<li>Ctrl+1-9:1番目9番目のTLにスクロール</li>
<li>N:投稿パネルを開く</li>
<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>
<li>Ctrl+Shift+C:入力内容を消す</li>
<li>Ctrl+Shift+S:設定</li>
<li>Ctrl+Shift+M:アカウントマネージャ</li>
<br>Keyboard shortcuts
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
<li>N:Open toot box</li>
<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>
<li>Ctrl+Shift+C:Clear toot box</li>
<li>Ctrl+Shift+S:Preferences</li>
<li>Ctrl+Shift+M:Account Manager</li>
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
<li>Ctrl+Shift+P:現在選択中のプロフィール</li>
<li>←/→:イメージビューワー起動時に画像切り替え</li>
<li>マウスホイール:イメージビューワー時に拡大縮小</li>
<li>Ctrl+Shift+P:Show profile of selecting</li>
<li>←/→:Show next or previous image</li>
<li>Mousewheel:Zoom a image</li>
<div class="hide kirishima">
以下Markdownに対応したインスタンスのみ。
<br>
@ -401,16 +401,16 @@
</li><br>
</div>
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
onclick="if(confirm('全てのデータを削除します。この操作は取り消せません。')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>初期化</button><br><br>
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
class="material-icons left">info</i>このソフトについて</button>
class="material-icons left">info</i>About TheDesk</button>
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i
class="material-icons left">web</i>公式HP</a>
class="material-icons left">web</i>Website</a>
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>支援(Pixiv FANBOX)</a>
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i
class="material-icons left">list</i>ヘルプ/Docs(Constructing)</a>
class="material-icons left">list</i>Help/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
@ -420,8 +420,8 @@
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
class="pointer">アップデートを確認</a><br>
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
class="pointer">Check update</a><br>
<a href="oss.html">OSS License</a><br>
<span style="font-family:Open Sans;">Copyright &copy; Cutls P 2018 All Rights Reserved.
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy

View File

@ -1,18 +1,18 @@
var yesno=[
{
text:"はい",
text:"Yes",
value:"yes"
},{
text:"いいえ",
text:"No",
value:"no"
}
];
var sound=[
{
text:"なし",
text:"None",
value:"none"
},{
text:"既定",
text:"Default",
value:"default"
},{
text:"Custom 1",
@ -37,9 +37,9 @@ var envConstruction=[
setValue:0,
width:50,
text:{
head:"新規通知のポップアップお知らせの表示秒数",
desc:'0に設定すると表示されません',
after:""
head:"Popup notification(on Windows)",
desc:'Hide to set "0"',
after:"sec"
}
},{
id:"notf",
@ -47,8 +47,8 @@ var envConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"ネイティブ通知設定",
desc:"Portableバージョンでは表示できません。",
head:"Native notification",
desc:"This does not work on Windows Portable ver.",
checkbox:yesno
}
},{
@ -59,9 +59,9 @@ var envConstruction=[
width:50,
setValue:300,
text:{
head:"マルチカラムの最低横幅",
desc:"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
after:"px 以上"
head:"Minimum width of columns",
desc:"Scroll bar will be shown when your window size is more than ammounts of columns.",
after:"px above"
}
},{
id:"fixwidth",
@ -71,9 +71,9 @@ var envConstruction=[
setValue:300,
width:50,
text:{
head:"TweetDeckの限定の最低横幅",
head:"Minimum width of TweetDeck browser",
desc:"",
after:"px 以上"
after:"px above"
}
},{
id:"size",
@ -83,8 +83,8 @@ var envConstruction=[
width:50,
setValue:13,
text:{
head:"フォントサイズ",
desc:'<span style="font-size:13px">13px(絶対指定)</span>',
head:"Font size",
desc:'<span style="font-size:13px">13px(absolute value)</span>',
after:"px"
}
},{
@ -93,14 +93,14 @@ var envConstruction=[
checkbox:true,
setValue:false,
text:{
head:"ハードウェアアクセラレーションの無効化",
desc:"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
head:"Disable hardware acceleration",
desc:"Auto restarted",
checkbox:[
{
text:"はい",
text:"Yes",
value:"true"
},{
text:"いいえ",
text:"No",
value:"false"
}
]
@ -114,20 +114,20 @@ var tlConstruction=[
checkbox:true,
setValue:"absolute",
text:{
head:"時間表記設定",
desc:'相対時間の例:"1分前","3日前"<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00"<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ',
head:"Time format",
desc:'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
checkbox:[
{
text:"相対時間",
text:"Relative",
value:"relative"
},{
text:"絶対時間",
text:"Absolute",
value:"absolute"
},{
text:"両方表示",
text:"Both relative and absolute",
value:"double"
},{
text:"混合表示",
text:"Mixed",
value:"medium"
}
@ -139,8 +139,8 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"独自ロケールを使用",
desc:"対応サーバーではそのサーバーにあわせた言語表示ができます。",
head:"Server's unique locale",
desc:"This value is available on some Japanese servers",
checkbox:yesno
}
},{
@ -149,8 +149,8 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"非表示設定の画像(NSFW)を隠す",
desc:"きつめのぼかしがかかります。",
head:"Hide NSFW pictures",
desc:"Strong blur effect",
checkbox:yesno
}
},{
@ -159,7 +159,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"非表示設定のテキスト(CW)を隠す",
head:"Hide CW contents",
desc:"",
checkbox:yesno
}
@ -169,14 +169,14 @@ var tlConstruction=[
checkbox:true,
setValue:"hidden",
text:{
head:"リプライ数表示",
head:"Reply counter style",
desc:"",
checkbox:[
{
text:"2以上のとき1+と表示",
text:"Show 1+ if the replies are more than 1.",
value:"hidden"
},{
text:"2以上のとき1+と表示",
text:"Show 1+ if the replies are more than 1.",
value:"all"
}
@ -188,7 +188,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"アイコンのアニメーションを再生する",
head:"Animated GIF images animation",
desc:"",
checkbox:yesno
}
@ -198,14 +198,14 @@ var tlConstruction=[
checkbox:true,
setValue:"local",
text:{
head:"タグタイムラインの表示範囲",
head:"Tag TL Search",
desc:"",
checkbox:[
{
text:"接続しているサーバー",
text:"Use federated network",
value:"all"
},{
text:"検索対象のサーバーのみ",
text:"Use local network",
value:"local"
}
@ -217,7 +217,7 @@ var tlConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"viaを表示する",
head:"Show via",
desc:"",
checkbox:yesno
}
@ -227,17 +227,17 @@ var tlConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"アクションメニューを非表示",
desc:"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。",
head:"Hide action buttons without mouseover",
desc:"You may feel 'mouseover' is unconfortable:(",
checkbox:[
{
text:"マウスオーバーで表示",
text:"Mouseover to show",
value:"yes"
},{
text:"クリックで表示",
text:"Click to show",
value:"click"
},{
text:"いいえ",
text:"No",
value:"no"
}
@ -249,7 +249,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"通知を開いているとき、通知新着お知らせを表示する",
head:"Show Notification marker, red colored bell and counter(if you show a notification column.)",
desc:"",
checkbox:yesno
}
@ -262,18 +262,18 @@ var tlConstruction=[
storage:"sentence",
width:50,
setValue:500,
text:{after:"行 以上 または"}
text:{after:"lines above or"}
},{
id:"letters",
storage:"letters",
width:50,
setValue:7000,
text:{after:"文字 以上"}
text:{after:"letters above"}
}
],
text:{
head:"指定行数以上を折りたたむ",
desc:"5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。",
head:"Auto folding",
desc:"TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
}
},{
id:"img-height",
@ -283,8 +283,8 @@ var tlConstruction=[
width:80,
setValue:200,
text:{
head:"画像の高さ",
desc:'オプション:「full」と指定すると全ての画像をクロップしません。',
head:"Height of images",
desc:'Option:Set "full" to uncrop.',
after:"px"
}
},{
@ -293,8 +293,8 @@ var tlConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"#InstanceTickerを使う",
desc:'トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href="https://cdn.weep.me/mastodon/">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.',
head:"Enable #InstanceTicker",
desc:'Show colorful stickers about the server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
checkbox:yesno
}
},{
@ -303,7 +303,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"タイムラインのアニメーション",
head:"Animation of timelines",
desc:"",
checkbox:yesno
}
@ -313,7 +313,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"リプライの通知音",
head:"Sound(Reply)",
desc:"",
checkbox:sound
}
@ -323,7 +323,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"お気に入り登録の通知音",
head:"Sound(Fav)",
desc:"",
checkbox:sound
}
@ -333,7 +333,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"ブーストの通知音",
head:"Sound(Boost)",
desc:"",
checkbox:sound
}
@ -343,7 +343,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"フォローの通知音",
head:"Sound(Follow)",
desc:"",
checkbox:sound
}
@ -358,7 +358,7 @@ var postConstruction=[
width:150,
setValue:"",
text:{
head:"デフォルトの警告文",
head:"Default warining text",
desc:"",
after:""
}
@ -371,18 +371,18 @@ var postConstruction=[
storage:"cw_sentence",
width:50,
setValue:500,
text:{after:"行 以上 または"}
text:{after:"lines above or"}
},{
id:"cw_letters",
storage:"cw_letters",
width:50,
setValue:7000,
text:{after:"文字 以上"}
text:{after:"letters above"}
}
],
text:{
head:"長文投稿時に警告",
desc:"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
head:"Alert before posting a long toot.",
desc:"Show dialog whether you make too-long text hidden.",
}
},{
id:"cws",
@ -390,7 +390,7 @@ var postConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"標準でCWを設定",
head:"Always CW set",
desc:"",
checkbox:yesno
}
@ -400,26 +400,26 @@ var postConstruction=[
checkbox:true,
setValue:"public",
text:{
head:"デフォルトの公開設定",
head:"Default visibility",
desc:"",
checkbox:[
{
text:"公開(Public)",
text:"Public",
value:"public"
},{
text:"未収載(Unlisted)",
text:"Unlisted",
value:"unlisted"
},{
text:"非公開(Private)",
text:"Private",
value:"private"
},{
text:"ダイレクト(Direct)",
text:"Direct",
value:"direct"
},{
text:"前回の投稿設定を記憶する(サーバーごとに記憶されます)",
text:"Memory(memorized as each server)",
value:"memory"
},{
text:"マストドンアカウント設定の既定値",
text:"Default of your visibility(Set on preferences of Mastodon server)",
value:"useapi"
}
]
@ -430,14 +430,14 @@ var postConstruction=[
checkbox:true,
setValue:"no-act",
text:{
head:"画像投稿設定",
head:"Posting images preferences",
desc:"",
checkbox:[
{
text:"画像を投稿し、画像のURLを最後に表示",
text:"Insert media URL",
value:"url"
},{
text:"画像を投稿するがURLは表示しない",
text:"Insert nothig",
value:"no-act"
}
]
@ -448,17 +448,17 @@ var postConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"投稿ボックスの挙動",
head:"Action of posting-box",
desc:"",
checkbox:[
{
text:"たたむ",
text:"Folding",
value:"yes"
},{
text:"投稿後も隠さない",
text:"Open after posting",
value:"no"
},{
text:"枠外クリックで閉じない(起動時に展開)",
text:"Absolutely open",
value:"absolute"
}
]
@ -469,20 +469,20 @@ var postConstruction=[
checkbox:true,
setValue:"nothing",
text:{
head:"引用形式",
head:"Quote format",
desc:"",
checkbox:[
{
text:"URLのみ",
text:"Only URL",
value:"simple"
},{
text:"URLとアカウント名(相手に通知)",
text:"URL and acct(mention to the user)",
value:"mention"
},{
text:"本文・URL・アカウント名",
text:"URL, text and acct(mention to the user)",
value:"full"
},{
text:"使わない(TL上にボタンも表示されません)",
text:"Disabled(Hide buttons on TLs)",
value:"nothing"
}
]
@ -493,14 +493,14 @@ var postConstruction=[
checkbox:true,
setValue:"remain",
text:{
head:"投稿後や起動時のアカウント",
desc:"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
head:"Default accounts of actions",
desc:"Main account can be set on Account Manager.",
checkbox:[
{
text:"最後に使用したアカウント",
text:"Account you used recently",
value:"remain"
},{
text:"メインアカウント",
text:"Main account",
value:"main"
}
]
@ -511,26 +511,26 @@ var postConstruction=[
checkbox:true,
setValue:"public",
text:{
head:"セカンダリートゥートボタン",
head:"Secondary Toot Button",
desc:"",
checkbox:[
{
text:"表示しない",
text:"Hidden",
value:"nothing"
},{
text:"公開(Public)",
text:"Public",
value:"public"
},{
text:"未収載(Unlisted)",
text:"Unlisted",
value:"unlisted"
},{
text:"非公開(Private)",
text:"Private",
value:"private"
},{
text:"ダイレクト(Direct)",
text:"Direct",
value:"direct"
},{
text:"ローカル限定",
text:"Local Only",
value:"local",
kirishima:true,
kirishimaText:"非対応インスタンスでは「未収載」になります。"
@ -544,7 +544,7 @@ var postConstruction=[
setValue:"normal",
setValue:"no",
text:{
head:"絵文字にゼロ幅スペースを使う",
head:"Zero-width space when inserting emojis",
desc:"",
checkbox:yesno
}

View File

@ -1,5 +1,5 @@
<!doctype html>
<html lang="ja">
<html lang="en">
<head>
<title>Update - TheDesk</title>
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
@ -72,27 +72,27 @@ a,button,input,label,i{
<div id="start">
<div id="box" class="show">
<h2>TheDesk</h2>
<p>アップデートがあります</p>
<p>Get latest TheDesk</p>
<span id="now"></span><b id="ver"></b><br>
<span id="det"></span><br>
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left:15px;">インストーラー版(推奨)</button>
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left:15px;">ポータブル版</button>
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left:15px;">開始</button>
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left:15px;">開始</button>
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left:15px;">Installer ver.</button>
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left:15px;">Portable ver.</button>
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left:15px;">Start</button>
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left:15px;">Start</button>
<br>
問題が発生しますか?<br><a href="https://thedesk.top">公式HP</a>からダウンロードをお試しください。
Some problems?<br>Please download on <a href="https://thedesk.top">Oficial HP</a>.
</div>
<div id="skipper" class="hide">
<h4>アップデートは必ず行ってください</h4>
アップデートをスキップする<br>
<h4>You may lose a cool experience!</h4>
Skip this update<br>
<div id="updskip">
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light"><div>次回TL表示時まで</div></a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light"><div>次のバージョンが出るまで</div></a>
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light"><div>Until next TL loading</div></a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light"><div>Until next version</div></a>
</div>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">アップデートを続行</a>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">Continue updating</a>
</div>
<div id="dlnow" class="hide">
<h4>ダウンロード中</h4>
<h4>Downloading...</h4>
<h4 id="prog"></h4>
</div>
</div>
@ -208,7 +208,7 @@ function verck(){
$("#ver").text(json.desk_mac);
localStorage.setItem("next-ver",json.desk_mac);
}
var lang="ja";
var lang="en";
if(lang=="ja"){
$("#det").html(json.detail);
}else{

View File

@ -30,6 +30,7 @@
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
<script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
@ -44,6 +45,7 @@
var tlid = 0;
</script>
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
<canvas id="canvas" style="top:-100px; position:fixed;width:32px;height:32px" width="32" height="32"></canvas>
<div id="tl">
<!--TL-->
<!--ドラッグハンドラ-->

View File

@ -46,7 +46,7 @@
<div class="collapsible-body">
<h5>言語</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
@@langlist@@
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a>
<h5>設定のインポートとエクスポート</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">エクスポート</button>

View File

@ -30,6 +30,7 @@
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.@@lang@@.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
<script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
@ -44,6 +45,7 @@
var tlid = 0;
</script>
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
<canvas id="canvas" style="top:-100px; position:fixed;width:32px;height:32px" width="32" height="32"></canvas>
<div id="tl">
<!--TL-->
<!--ドラッグハンドラ-->

View File

@ -1,14 +1,20 @@
const fs = require("fs")
const ver="Usamin (18.3.2)"
const langs=["ja","en","ps"]
const langsh=["日本語","English","Crowdin translate system(beta)"]
const simples=["acct","index","setting","update","setting"]
const samples=["acct.sample.html","index.sample.html","setting.sample.html","update.sample.html","setting.sample.js"]
const pages=["acct.html","index.html","setting.html","update.html","setting.vue.js"]
let langstr=""
for(let n=0; n<langs.length; n++){
let lang=langs[n]
langstr=langstr+'<a onclick="changelang(\''+lang+'\')" class="pointer" style="margin-right:5px;">'+langsh[n]+'</a>'
}
for(let i=0; i<samples.length; i++){
let sample=samples[i]
let source = fs.readFileSync(sample, 'utf8')
let sourceParent = fs.readFileSync(sample, 'utf8')
for(let j=0; j<langs.length; j++){
let source=sourceParent
let lang=langs[j]
let target = JSON.parse(fs.readFileSync("language/"+simples[i]+"."+lang+".json", 'utf8'))
Object.keys(target).forEach(function(key) {
@ -25,6 +31,7 @@ for(let i=0; i<samples.length; i++){
}
source = source.replace(/@@versionLetter@@/g, ver)
source = source.replace(/@@lang@@/g, lang)
source = source.replace(/@@langlist@@/g, langstr)
fs.writeFileSync("../"+lang+"/"+pages[i], source)
}
}

View File

@ -1,5 +1,5 @@
<!doctype html>
<html lang="ja">
<html lang="ps">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
@ -28,19 +28,19 @@ body,html{overflow-y: scroll;}
}
</style>
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body id="mainView">
<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 type="text/javascript" src="../../js/lang/lang.ps.js"></script>
<script>
var misskeytoken=false;
</script>
@ -48,23 +48,23 @@ body,html{overflow-y: scroll;}
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<div class="hide-first">
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a><br>
<h5>アカウント一覧</h5>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">crwdns366:0crwdne366:0</a><br>
<h5>crwdns365:0crwdne365:0</h5>
<div id="acct-list"></div>
<div class="divider"></div>
</div>
<div>
<h5>アカウントを追加</h5><br>
<h5>crwdns367:0crwdne367:0</h5><br>
<div id="add">
<div class="row">
<div class="col s8">
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
<div id="ins-suggest"></div>
チェックを外すとコード貼り付けをスキップできます。(<u>Mastodon</u>にWindowsやmacOSからログインする場合)失敗する場合はチェックを入れてください。<br>
crwdns368:0crwdne368:0<br>
<input type="checkbox" class="filled-in" id="linux" />
<label for="linux">コードセットアップ</label><br>
<label for="linux">crwdns369:0crwdne369:0</label><br>
<input type="checkbox" class="filled-in" id="misskey" />
<label for="misskey">Misskeyとしてログイン</label><br>
<label for="misskey">crwdns382:0crwdne382:0</label><br>
<button class="btn waves-effect" onclick="instance()">Login</button><br>
</div>
<div class="col s4">
@ -73,21 +73,21 @@ body,html{overflow-y: scroll;}
</div>
</div></div>
<div id="auth" style="display:none">
指定されたコードを貼り付けてください。ログインウィンドウは閉じていただいて構いません。<br>
<input type="text" id="code" placeholder="コードを入力">
crwdns372:0crwdne372:0<br>
<input type="text" id="code" placeholder="crwdns373:0crwdne373:0">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
</div>
<div id="misskeylogin" style="display:none">
<h5>AppSecret</h5>
<a href="https://thedesk.top/how-to-misskey-login.html">ドキュメント</a>を参照して正しいコードを入れてください。<br>
crwdns383:0crwdne383:0<br>
<input type="hidden" id="misskey-url">
<input type="text" id="misskey-key" placeholder="コードを入力">
<input type="text" id="misskey-key" placeholder="crwdns373:0crwdne373:0">
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br>
</div>
</div>
<div class="hide-first">
<h5>メインアカウント</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">アカウントを選択</span>
<h5>crwdns370:0crwdne370:0</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">crwdns371:0crwdne371:0</span>
<br>
<select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<label></label>
@ -98,12 +98,12 @@ Administered by:<a id="ins-admin"></a><br>
<span id="ins-desc"></span><br>
<img src="../../img/loading.svg" id="ins-prof" width="200"><br>
<br>
ドメイン名:<span id="ins-name"></span><br>
接続サーバー数:<span id="ins-connect"></span><br>
トゥート数:<span id="ins-toot"></span><br>
ユーザー数:<span id="ins-user"></span>ユーザー数<br>
コネクション:<span id="ins-per"></span>%<br>
Mastodonバージョン:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
crwdns374:0crwdne374:0:<span id="ins-name"></span><br>
crwdns375:0crwdne375:0:<span id="ins-connect"></span>crwdns381:0crwdne381:0<br>
crwdns376:0crwdne376:0:<span id="ins-toot"></span>crwdns381:0crwdne381:0<br>
crwdns377:0crwdne377:0:<span id="ins-user"></span>crwdns377:0crwdne377:0<br>
crwdns379:0crwdne379:0:<span id="ins-per"></span>%<br>
crwdns380:0crwdne380:0:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
</div>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>

View File

@ -1,5 +1,5 @@
<!doctype html>
<html lang="ja">
<html lang="ps">
<head>
<title>TheDesk</title>
@ -15,21 +15,22 @@
<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">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body>
<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 type="text/javascript" src="../../js/lang/lang.ps.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/blurhash.js"></script>
<script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
@ -44,18 +45,19 @@
var tlid = 0;
</script>
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
<canvas id="canvas" style="top:-100px; position:fixed;width:32px;height:32px" width="32" height="32"></canvas>
<div id="tl">
<!--TL-->
<!--ドラッグハンドラ-->
<div id="drag">
<div id="drag-content" data-trans="drag_here">ここにドラッグして添付(ドラッグと同時にアップロードされます)
<div id="drag-content" data-trans="drag_here">crwdns384:0crwdne384:0
<br>
<button class="btn waves-effect" onclick="closedrop()" data-trans="close">Close</button>
<button class="btn waves-effect" onclick="closedrop()" data-trans="close">crwdns385:0crwdne385:0</button>
</div>
</div>
</div>
<div id="post-box" class="z-depth-5">
<div id="post-bar" class="drag-bar"><span id="unreact">投稿</span><span id="addreact"
<div id="post-bar" class="drag-bar"><span id="unreact">crwdns2402:0crwdne2402:0</span><span id="addreact"
class="hide">Reaction</span></div>
<!--トゥートボックス-->
<div id="left-side">
@ -63,7 +65,7 @@
</span>
<div class="" style="float:left;">
<a onclick="profShow()" style="vertical-align:-2.5rem;" class="pointer mize">
<img src="../../img/missing.svg" id="acct-sel-prof" title="選択したアカウントのプロフィールを表示(Ctrl+Shift+P)"
<img src="../../img/missing.svg" id="acct-sel-prof" title="crwdns386:0crwdne386:0(Ctrl+Shift+P)"
data-trans-title="post_box_prof" width="24px">
</a>
</div>
@ -71,7 +73,7 @@
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()"></select>
</div>
<span class="cancel">
<i class="material-icons waves-effect" onclick="hide()" title="このボックスを閉じる(X)"
<i class="material-icons waves-effect" onclick="hide()" title="crwdns412:0crwdne412:0(X)"
data-trans-title="post_box_close">cancel</i>
</span>
<!--Markdown-->
@ -140,7 +142,7 @@
<textarea id="textarea" class="materialize-textarea unmize" style="margin-bottom:0;"
data-length="500"></textarea>
<label for="textarea" data-trans="toot">トゥート</label>
<label for="textarea" data-trans="toot">crwdns388:0crwdne388:0</label>
<br>
<span class="sml gray pointer markdown mize" id="preview-btn">
<a onclick="preview()">Preview</a>
@ -150,72 +152,72 @@
</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="画像に制限を付与"
<i class="waves-effect gray material-icons" id="nsfw" title="crwdns389:0crwdne389:0"
onclick="nsfw()">visibility_off</i>
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1'
id="vis-icon">public</i>
<a class="waves-effect gray" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)">CW</a>
<a class="waves-effect gray" id="cw" onclick="cw()" title="crwdns390:0crwdne390:0">CW</a>
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray"
onclick="fileselect()" title="ファイルを選択">photo_library</i></span></span>
onclick="fileselect()" title="crwdns391:0crwdne391:0">photo_library</i></span></span>
<i class="waves-effect gray material-icons" onclick="emojiToggle()" id="emojibtn"
title="絵文字を挿入">tag_faces</i>
title="crwdns393:0crwdne393:0">tag_faces</i>
<i class="waves-effect gray material-icons dropdown-button" data-activates='dropdown2'>more_vert</i>
<i class="material-icons nex gray waves-effect" title="トゥートボックスのクリア(Ctrl+Shit+C)"
<i class="material-icons nex gray waves-effect" title="crwdns395:0crwdne395:0(Ctrl+Shit+C)"
data-trans-title="post_box_clear" id="clear">clear</i>
</div>
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
<div id="taglist"></div>
<div id="preview" class="mize"></div>
<span class=" sml mize"><span data-trans="reply">返信モード</span>:
<span id="rec">いいえ</span>/<span data-trans="file">添付ファイル</span>:
<span id="mec">なし</span>/<span data-trans="vis">公開範囲</span>:
<span class=" sml mize"><span data-trans="reply">crwdns396:0crwdne396:0</span>:
<span id="rec">crwdns397:0crwdne397:0</span>/<span data-trans="file">crwdns399:0crwdne399:0</span>:
<span id="mec">crwdns400:0crwdne400:0</span>/<span data-trans="vis">crwdns401:0crwdne401:0</span>:
<span id="vis">public</span>
</span>
<br>
<input type="text" id="cw-text" placeholder="警告文" class="mize" style="margin:0">
<div id="sch-box">時間指定投稿<br><span class="sml">2.7.0~ 5分以内には投稿できません。サーバーの時計が正確とは限りません。</span><br>
<input type="datetime-local" id="sch-date" placeholder="時間指定投稿" class="datepicker" style="margin:0">
<input type="text" id="cw-text" placeholder="crwdns402:0crwdne402:0" class="mize" style="margin:0">
<div id="sch-box">crwdns1886:0crwdne1886:0<br><span class="sml">crwdns1888:0crwdne1888:0</span><br>
<input type="datetime-local" id="sch-date" placeholder="crwdns1884:0crwdne1884:0" class="datepicker" style="margin:0">
</div>
</div>
</div>
<!-- 公開範囲 Dropdown Structure -->
<ul id='dropdown1' class='dropdown-content'>
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">公開範囲指定</li>
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">crwdns403:0crwdne403:0</li>
<li>
<a onclick="vis('public')">公開(Public)</a>
<a onclick="vis('public')">crwdns404:0crwdne404:0(Public)</a>
</li>
<li>
<a onclick="vis('unlisted')">未収載(Unlisted)</a>
<a onclick="vis('unlisted')">crwdns405:0crwdne405:0(Unlisted)</a>
</li>
<li>
<a onclick="vis('private')" id="private-button">非公開(Private)</a>
<a onclick="vis('private')" id="private-button">crwdns406:0crwdne406:0(Private)</a>
</li>
<li id="limited-button" class="hide">
<a onclick="vis('limited')">限定公開(Limited)</a>
</li>
<li id="local-button" class="hide">
<a onclick="vis('local')">ローカル限定(Local)</a>
<a onclick="vis('local')">crwdns407:0crwdne407:0(Local)</a>
</li>
<li>
<a onclick="vis('direct')" class="disabled direct">ダイレクト(Direct)</a>
<a onclick="vis('direct')" class="disabled direct">crwdns408:0crwdne408:0(Direct)</a>
</li>
</ul>
<!-- その他 Dropdown Structure -->
<ul id='dropdown2' class='dropdown-content'>
<li>
<a onclick="adobe()">Adobeフォトエディタ</a>
<a onclick="adobe()">crwdns392:0crwdne392:0</a>
</li>
<li>
<a onclick="nowplaying('spotify');">NowPlaying(Spotify)</a>
<a onclick="nowplaying('spotify');">crwdns1880:0crwdne1880:0</a>
</li>
<li>
<a onclick="nowplaying('itunes');">NowPlaying</a>
<a onclick="nowplaying('itunes');">crwdns2404:0crwdne2404:0</a>
</li>
<li>
<a onclick="schedule();">時間指定投稿</a>
<a onclick="schedule();">crwdns1884:0crwdne1884:0</a>
</li>
<li>
<a onclick="pollToggle();">アンケート</a>
<a onclick="pollToggle();">crwdns2406:0crwdne2406:0</a>
</li>
</ul>
<!--hidden area-->
@ -225,17 +227,17 @@
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize toot-btn-group" onclick="post()"
id="toot-post-btn">トゥート</button>
id="toot-post-btn">crwdns388:0crwdne388:0</button>
<button class="btn waves-effect indigo darken-3 unmize hide toot-btn-group" onclick="sec()" id="toot-sec-btn"><i
class="material-icons" id="toot-sec-icon" title="セカンダリートゥート">lock_open</i></button>
class="material-icons" id="toot-sec-icon" title="crwdns1890:0crwdne1890:0">lock_open</i></button>
</div>
</div>
<div id="right-side">
<div id="suggest"></div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide">
<span class="gray sml">サーバーによって実装が異なります。
<a onclick="emojiGet('true')" class="pointer">絵文字更新</a>
<span class="gray sml">crwdns409:0crwdne409:0
<a onclick="emojiGet('true')" class="pointer">crwdns411:0crwdne411:0</a>
<br>
</span>
<div id="emoji-list" class="" style="">
@ -253,33 +255,33 @@
</button>
</div>
<div id="default-emoji">
<span id="now-emoji"></span>一覧を表示中<br><span class="gray sml">一部絵文字は入力できません。</span>
<span id="now-emoji"></span>crwdns413:0crwdne413:0<br><span class="gray sml">crwdns410:0crwdne410:0</span>
<br>
<a onclick="customEmoji()" class="pointer waves-effect" title="カスタム絵文字">
<a onclick="customEmoji()" class="pointer waves-effect" title="crwdns414:0crwdne414:0">
<i class="material-icons">add</i>
</a>
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="ひと">
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="crwdns415:0crwdne415:0">
<i class="material-icons">people</i>
</a>
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="自然">
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="crwdns416:0crwdne416:0">
<i class="material-icons">local_florist</i>
</a>
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="食べ物">
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="crwdns417:0crwdne417:0">
<i class="material-icons">restaurant</i>
</a>
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="活動">
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="crwdns418:0crwdne418:0">
<i class="material-icons">directions_run</i>
</a>
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="場所">
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="crwdns419:0crwdne419:0">
<i class="material-icons">directions_car</i>
</a>
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="もの">
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="crwdns420:0crwdne420:0">
<i class="material-icons">attach_file</i>
</a>
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="記号">
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="crwdns421:0crwdne421:0">
<i class="material-icons">gesture</i>
</a>
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="国旗">
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="crwdns422:0crwdne422:0">
<i class="material-icons">flag</i>
</a>
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
@ -290,21 +292,21 @@
<!--Poll UI-->
<div id="poll" class="hide">
<select id="poll-sel" onchange="pollProviderCk()">
<option value="nothing">アンケートを使用しない</option>
<option value="nothing">crwdns2408:0crwdne2408:0</option>
<option value="mastodon-poll">Mastodon(2.8~)</option>
</select>
<div id="mastodon-poll" class="poll-provider hide">
<input type="text" class="mastodon-choice" placeholder="選択肢1">
<input type="text" class="mastodon-choice" placeholder="選択肢2">
<input type="text" class="mastodon-choice" placeholder="選択肢3">
<input type="text" class="mastodon-choice" placeholder="選択肢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">複数選択を許可</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">投票するまで票数を隠す</label><br>
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">時間
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="6">
<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="6">crwdns509:0crwdne509:0
</div>
</div>
</div>
@ -315,35 +317,35 @@
<ul class="collapsible" data-collapsible="accordion" id="det-col">
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>これより後のLocal TL(言及確認)
<i class="material-icons">people_outline</i>@@afterLTL@@
</div>
<div class="collapsible-body toot-reset" id="ltl-after">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>これより後のユーザーTL(言及確認)
<i class="material-icons">person_outline</i>@@afterUTL@@
</div>
<div class="collapsible-body toot-reset" id="user-after">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">language</i>これより後の連合TL(言及確認)
<i class="material-icons">language</i>@@afterFTL@@
</div>
<div class="collapsible-body toot-reset" id="ftl-after">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_upward</i>これより前の会話
<i class="material-icons">arrow_upward</i>crwdns423:0crwdne423:0
</div>
<div class="collapsible-body toot-reset" id="toot-reply">
</div>
</li>
<li>
<div class="collapsible-header" id="activator">
<i class="material-icons">more_horiz</i>対象のトゥート
<i class="material-icons">more_horiz</i>crwdns424:0crwdne424:0
</div>
<div class="collapsible-body">
<div class="toot-reset" id="toot-this"></div>
@ -351,42 +353,42 @@
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_downward</i>これより後の会話
<i class="material-icons">arrow_downward</i>crwdns425:0crwdne425:0
</div>
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">people_outline</i>これより前のLocal TL(エアリプソース確認)
<i class="material-icons">people_outline</i>crwdns426:0crwdne426:0
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="material-icons">person_outline</i>これより前のユーザーTL(BTソース確認)
<i class="material-icons">person_outline</i>crwdns427:0crwdne427:0
</div>
<div class="collapsible-body toot-reset" id="user-before">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">star</i>このトゥートをお気に入りに登録した人
<i class="material-icons">star</i>crwdns428:0crwdne428:0
</div>
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li class="dm-hide">
<div class="collapsible-header">
<i class="text-darken-3 false fas fa-retweet"></i>このトゥートをブーストした人
<i class="text-darken-3 false fas fa-retweet"></i>crwdns429:0crwdne429:0
</div>
<div class="collapsible-body toot-reset" id="toot-rt">
</div>
</li>
</ul>
<div class="dm-hide">
他のアカウントを使用(<i class="fas fa-retweet"></i>/<i class="fas fa-star"></i>の解除はできません)<br>
crwdns430:0crwdne430:0(<i class="fas fa-retweet"></i>/<i class="fas fa-star"></i>crwdns431:0crwdne431:0)<br>
<div class="row">
<div class="col s6">
<select id="status-acct-sel" class="acct-sel"></select>
@ -411,10 +413,10 @@
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">ブラウザで開く</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">URLをコピー</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">埋め込む</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="brws()">crwdns435:0crwdne435:0</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy()">crwdns437:0crwdne437:0</a>
<a href="#!" class="waves-effect waves-green btn-flat dm-hide" onclick="cbCopy('emb')">crwdns438:0crwdne438:0</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">crwdns385:0crwdne385:0</a>
</div>
</div>
<!-- Modal Structure Userdata -->
@ -430,12 +432,12 @@
<span class="gray" id="his-relation"></span>
<br>
<span class="cbadge">
<span id="his-sta"></span>トゥート
<span id="his-sta"></span>crwdns439:0crwdne439:0
</span>
<span class="cbadge">フォロー:
<span class="cbadge">crwdns440:0crwdne440:0:
<span id="his-follow"></span>
</span>
<span class="cbadge">フォロワー:
<span class="cbadge">crwdns441:0crwdne441:0:
<span id="his-follower"></span>
</span><br>
<span class="cbadge" style="max-width:150px; width:150px; ">Since:
@ -446,58 +448,58 @@
<div id="his-des" data-acct=""></div><br>
<div id="his-plus-action">
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-emp-btn"
onclick="empUser()">ユーザー強調</a>
onclick="empUser()">crwdns472:0crwdne472:0</a>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data" id="his-end-btn"
onclick="pinUser()">紹介する</a><br>
onclick="pinUser()">crwdns454:0crwdne454:0</a><br>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin"
onclick="profbrws()">ブラウザで開く</a><br>
onclick="profbrws()">crwdns455:0crwdne455:0</a><br>
</div><br>
<div id="his-matching-list">
似ているユーザーを取得できます。<br>
crwdns469:0crwdne469:0<br>
Powered by <a href="https://vinayaka.distsn.org/" target="_blank">Mastodon User Matching</a><br>
<div id="his-matching-list-contents" class="cont-series"></div>
<button class="btn waves-effect " onclick="showMat()" style="width:100%;">取得</button>
<button class="btn waves-effect " onclick="showMat()" style="width:100%;">crwdns470:0crwdne470:0</button>
</div>
</div>
<div class="his-float" id="his-float-timeline">
<div id="my-data-nav">
<ul class="custom-tabs transparent">
<li class="custom-tab col my-data-width active-back column-first">
<a go="#his-tl" title="タイムライン"><i class="material-icons">timeline</i></a>
<a go="#his-tl" title="crwdns442:0crwdne442:0"><i class="material-icons">timeline</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follow-list" title="フォロー"><i class="material-icons">people</i></a>
<a go="#his-follow-list" title="crwdns440:0crwdne440:0"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follower-list" title="フォロワー"><i class="material-icons">people</i></a>
<a go="#his-follower-list" title="crwdns441:0crwdne441:0"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-action" title="他のアカウントで操作"><i class="material-icons">account_box</i></a>
<a go="#his-action" title="crwdns443:0crwdne443:0"><i class="material-icons">account_box</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-list" title="リスト"><i class="material-icons">list</i></a>
<a go="#his-list" title="crwdns444:0crwdne444:0"><i class="material-icons">list</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-fav-list" title="お気に入り登録"><i class="material-icons">star</i></a>
<a go="#his-fav-list" title="crwdns434:0crwdne434:0"><i class="material-icons">star</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="ブロック"><i class="material-icons">block</i></a>
<a go="#his-blocking-list" title="crwdns446:0crwdne446:0"><i class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="ブロック"><i class="material-icons">voice_over_off</i></a>
<a go="#his-blocking-list" title="crwdns446:0crwdne446:0"><i class="material-icons">voice_over_off</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-domain-list" title="ドメインブロック"><i class="material-icons">language</i><i
<a go="#his-domain-list" title="crwdns450:0crwdne450:0"><i class="material-icons">language</i><i
class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-prof-list" title="プロフィール編集"><i class="material-icons">create</i></a>
<a go="#his-prof-list" title="crwdns451:0crwdne451:0"><i class="material-icons">create</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-request-list" title="フォローリクエスト"><i class="material-icons">how_to_reg</i></a>
<a go="#his-request-list" title="crwdns452:0crwdne452:0"><i class="material-icons">how_to_reg</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-follow-recom-list" title="おすすめ"><i class="material-icons">recent_actors</i></a>
<a go="#his-follow-recom-list" title="crwdns456:0crwdne456:0"><i class="material-icons">recent_actors</i></a>
</li>
</ul>
</div>
@ -505,72 +507,72 @@
<div id="his-tl-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="utl('--now','more')">もっと</button>
onclick="utl('--now','more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-follow-list" class="tab-content">
<div id="his-follow-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="flw('--now','more')">もっと</button>
onclick="flw('--now','more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-follower-list" class="tab-content">
<div id="his-follower-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="fer('--now','more')">もっと</button>
onclick="fer('--now','more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-action" class="tab-content">
他のアカウントを使用するフォロー((解除はできません。))<br>
<div style="max-width:500px;"><select id="user-acct-sel" class="acct-sel"></select></div>
<a href="#!" class="waves-effect btn" onclick="follow('selector','true')">フォロー</a><br>
または<br>
<a href="#!" class="waves-effect btn" onclick="udgEx('selector', 'selector')">プロフィールを表示</a><br>
crwdns430:0crwdne430:0crwdns458:0crwdne458:0crwdns440:0crwdne440:0(crwdns459:0crwdne459:0)<br>
<div style="max-width:500px;"><select id="user-acct-sel" class="acct-sel"></select></div>crwdns460:0crwdne460:0
<a href="#!" class="waves-effect btn" onclick="follow('selector','true')">crwdns440:0crwdne440:0</a><br>
crwdns461:0crwdne461:0<br>
<a href="#!" class="waves-effect btn" onclick="udgEx('selector', 'selector')">crwdns462:0crwdne462:0</a><br>
</div>
<div id="his-list" class="tab-content">
<div id="his-lists-a">リストに追加するためにはフォローが必要です。</div>
<div id="his-lists-a">crwdns463:0crwdne463:0</div>
<div id="his-lists-b"></div>
</div>
<div id="his-fav-list" class="tab-content">
<div id="his-fav-list-contents" class="cont-series">
</div>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="showFav('more')">もっと</button>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="showFav('more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-blocking-list" class="tab-content">
<div id="his-blocking-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showBlo('more')">もっと</button>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showBlo('more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-muting-list" class="tab-content">
<div id="his-muting-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showMut('more')">もっと</button>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showMut('more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-domain-list" class="tab-content">
<div id="his-domain-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;"
onclick="showDom('more')">もっと</button>ブロックするドメイン
onclick="showDom('more')">crwdns457:0crwdne457:0</button>crwdns464:0crwdne464:0
<br>
<input type="text" placeholder="example.com" id="domainblock">
<button class="btn waves-effect" onclick="addDomainblock()">追加</button>
<button class="btn waves-effect" onclick="addDomainblock()">crwdns491:0crwdne491:0</button>
<br>
</div>
<div id="his-prof-list" class="tab-content">名前
<div id="his-prof-list" class="tab-content">crwdns465:0crwdne465:0
<br>
<input type="text" placeholder="名前" id="his-name-val" style="max-width:250px;">
<br>自己紹介
<input type="text" placeholder="crwdns465:0crwdne465:0" id="his-name-val" style="max-width:250px;">
<br>crwdns466:0crwdne466:0
<br>
<div class="input-field col s12">
<textarea placeholder="自己紹介" id="his-des-val" class="materialize-textarea"></textarea>
<label for="his-des-val">自己紹介</label>
<textarea placeholder="crwdns466:0crwdne466:0" id="his-des-val" class="materialize-textarea"></textarea>
<label for="his-des-val">crwdns466:0crwdne466:0</label>
</div>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="profedit()">変更</button>
<br>アバターを変更:
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="profedit()">crwdns1892:0crwdne1892:0</button>
<br>crwdns467:0crwdne467:0:
<span id="prof-change">
<input type="file" onchange="imgChange(this,'avatar')">
</span>
<br>ヘッダーを変更:
<br>crwdns468:0crwdne468:0:
<span id="header-change">
<input type="file" onchange="imgChange(this,'header')">
</span>
@ -578,7 +580,7 @@
<div id="his-request-list" class="tab-content">
<div id="his-request-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showReq('more')">もっと</button>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showReq('more')">crwdns457:0crwdne457:0</button>
</div>
<div id="his-follow-recom-list" class="tab-content">
<div id="his-follow-recom-contents" class="cont-series">
@ -586,20 +588,20 @@
</div>
</div>
<div class="his-float" id="his-float-blocked">
<div>ブロックされています。なぜでしょう?</div>
<div>@@blocked@@</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="modal-action waves-effect waves-green btn-flat" id="his-history-btn"
onclick="historyShow()">一つ前のユーザーデータ</button>
onclick="historyShow()">crwdns471:0crwdne471:0</button>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn"
onclick="follow()">フォロー</a>
onclick="follow()">crwdns440:0crwdne440:0</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn"
onclick="mute()">ミュート</a>
onclick="mute()">crwdns449:0crwdne449:0</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn"
onclick="block()">ブロック</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
onclick="block()">crwdns448:0crwdne448:0</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">crwdns385:0crwdne385:0</a>
</div>
</div>
<!-- Modal Structure Image-->
@ -622,7 +624,7 @@
<button class="btn waves-effect purple" onclick="dlImg()">
<i class="material-icons">file_download</i>
</button>
<button class="btn waves-effect brown" onclick="detFromImg()">対象のトゥート</button>
<button class="btn waves-effect brown" onclick="detFromImg()">crwdns424:0crwdne424:0</button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev">
<i class="material-icons">keyboard_arrow_left</i>
</button>
@ -640,7 +642,7 @@
<video src="" id="video" style="max-width:100%; max-height:100%;" controls>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">crwdns385:0crwdne385:0</a>
</div>
</div>
<!-- Modal Structure Release Note-->
@ -669,23 +671,23 @@
<a href="https://translate.thedesk.top">Crowdin translation project</a>
</div>
<br><br>
<h3>ご支援ください。</h3>
TheDeskは営利目的ではないため、有料機能や広告は一切ありません。<br>皆様のあたたかいご支援のもとで製作されています。<br>
<h3>crwdns473:0crwdne473:0</h3>
crwdns474:0crwdne474:0<br>
<a class="btn-share btn waves-effect waves-light red lighten-2"
href="https://www.pixiv.net/fanbox/creator/28105985" target="_blank">
Pixiv FANBOXで支援
@@PixivSupport@@
</a>
<a class="btn-share btn waves-effect waves-light blue"
href="https://www.amazon.co.jp/registry/wishlist/2TV35ZHHJPDSB" target="_blank">
Amazonほしいものリスト
crwdns476:0crwdne476:0
</a>
<br>
<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>にAmazonギフトカードを送る<br>
crwdns477:0crwdne477:0<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>crwdns478:0crwdne478:0<br>
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">crwdns385:0crwdne385:0</a>
</div>
</div>
<!--PiP-->
@ -700,28 +702,28 @@
<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>
<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>カラム追加</span></div>
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>カラム一覧/並べ替え</span></div>
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>検索</span></div>
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>リスト</span></div>
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>フィルター</span></div>
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>ヘルプ</span></div>
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 class="waves-effect" onclick="location.href='index.html'"><i
class="material-icons">refresh</i><span>TL再読込</span></div>
class="material-icons">refresh</i><span>crwdns518:0crwdne518: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">選択(スクロールで全選択肢表示)</span>
<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>
@ -729,50 +731,50 @@
<div class="input-field">
<div id="auth">
<input type="hidden" value="local" id="type-sel">
表示するタイムライン
crwdns489:0crwdne489:0
<div id="tltype">
<div class="type waves-effect active" data-type="local">
<div><i class="material-icons">people_outline</i></div><span>ローカル</span>
<div><i class="material-icons">people_outline</i></div><span>crwdns480:0crwdne480:0</span>
</div>
<div class="type waves-effect" data-type="local-media">
<div><i class="material-icons">people_outline</i><i class="material-icons sub-icon">perm_media</i>
</div><span>ローカル(メディア)</span>
</div><span>crwdns481:0crwdne481:0</span>
</div>
<div class="type waves-effect" data-type="home">
<div><i class="material-icons">home</i></div><span>ホーム</span>
<div><i class="material-icons">home</i></div><span>crwdns482:0crwdne482:0</span>
</div>
<div class="type waves-effect" data-type="pub">
<div><i class="material-icons">language</i></div><span>連合</span>
<div><i class="material-icons">language</i></div><span>crwdns483:0crwdne483:0</span>
</div>
<div class="type waves-effect" data-type="pub-media">
<div><i class="material-icons">language</i><i class="material-icons sub-icon">perm_media</i></div>
<span>連合(メディア)</span>
<span>crwdns484:0crwdne484:0</span>
</div>
<div class="type waves-effect" data-type="dm">
<div><i class="material-icons">mail_outline</i></div><span>ダイレクトメッセージ</span>
<div><i class="material-icons">mail_outline</i></div><span>crwdns485:0crwdne485:0</span>
</div>
<div class="type waves-effect" data-type="mix">
<div><i class="material-icons">merge_type</i></div><span>統合(ローカルとホーム)</span>
<div><i class="material-icons">merge_type</i></div><span>crwdns486:0crwdne486:0</span>
</div>
<div class="type waves-effect" data-type="plus">
<div><i class="material-icons">merge_type</i><i class="material-icons sub-icon">reply</i></div>
<span>統合(LTL+BT+返信)</span>
<span>crwdns487:0crwdne487:0</span>
</div>
<div class="type waves-effect" data-type="notf">
<div><i class="material-icons">notifications</i></div><span>通知</span>
<div><i class="material-icons">notifications</i></div><span>crwdns488:0crwdne488:0</span>
</div>
</div>
</div>
<div id="noauth" class="hide">表示するタイムライン
<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">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 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>追加
<i class="material-icons left">add</i>crwdns491:0crwdne491:0
</button>
<br>
<br>
@ -784,10 +786,10 @@
</div>
<div class="input-field">
<input id="src" type="text" class="validate" style="width:60%">
<label for="src" data-trans="src">検索</label>
<label for="src" data-trans="src">crwdns492:0crwdne492:0</label>
<button class="btn waves-effect indigo" style="width: 36%;padding: 0;padding-left: 15px;" onclick="src()"
data-trans-i="src">
<i class="material-icons left" style="margin:0">search</i>検索
<i class="material-icons left" style="margin:0">search</i>crwdns492:0crwdne492:0
</button>
<br>
<br>
@ -802,7 +804,7 @@
<ul id="sort"></ul>
<div>
<button onclick="sort()" class="btn waves-effect nex" style="width:97.5%;" data-trans-i="sort">
<i class="material-icons left">sort</i>並べ替え設定
<i class="material-icons left">sort</i>crwdns493:0crwdne493:0
</button>
</div>
</div>
@ -810,78 +812,78 @@
<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>
<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="名前">
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">新規作成</button>
<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>選択(スクロールで全選択肢表示)</label>
<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="フィルターワード"><br>
適応範囲<br>
<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">ホーム</label>
<label for="home_filter">crwdns482:0crwdne482:0</label>
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
<label for="local_filter">ローカル</label>
<label for="local_filter">crwdns480:0crwdne480:0</label>
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
<label for="notf_filter">通知</label>
<label for="notf_filter">crwdns488:0crwdne488:0</label>
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
<label for="conv_filter">会話</label><br>
オプション<br>
<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">単語マッチ</label><br>
<span class="sml">非ラテン系の文字列では「単語マッチ」は推奨されません。</span><br>
<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">除外</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"><br>
Quick:<a onclick="filterTime(0,0,30)" class="pointer">30</a>/
<a onclick="filterTime(0,1,0)" class="pointer">1時間</a>/
<a onclick="filterTime(0,6,0)" class="pointer">6時間</a>/
<a onclick="filterTime(0,12,0)" class="pointer">12時間</a>/
<a onclick="filterTime(1,0,0)" class="pointer">1</a>/
<a onclick="filterTime(7,0,0)" class="pointer">7</a>/
<a onclick="filterTime(0,0,0)" class="pointer">無期限</a><br>
<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<br>
Quick:<a onclick="filterTime(0,0,30)" class="pointer">30crwdns509:0crwdne509:0</a>/
<a onclick="filterTime(0,1,0)" class="pointer">1crwdns508:0crwdne508:0</a>/
<a onclick="filterTime(0,6,0)" class="pointer">6crwdns508:0crwdne508:0</a>/
<a onclick="filterTime(0,12,0)" class="pointer">12crwdns508:0crwdne508:0</a>/
<a onclick="filterTime(1,0,0)" class="pointer">1crwdns507:0crwdne507:0</a>/
<a onclick="filterTime(7,0,0)" class="pointer">7crwdns507:0crwdne507:0</a>/
<a onclick="filterTime(0,0,0)" class="pointer">@@unlimited@@</a><br>
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()"
id="add-filter-btn">追加</button><br>
<span class="sml">Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。</span>
id="add-filter-btn">crwdns491:0crwdne491:0</button><br>
<span class="sml">crwdns510:0crwdne510:0</span>
</div>
</div>
</div>
<a onclick="about()" class="nex waves-effect">
<i class="material-icons" style="font-size: 1rem;">info</i>このソフトについて
<i class="material-icons" style="font-size: 1rem;">info</i>@@about@@
</a>&nbsp;|&nbsp;
<a onclick="bottomReverse()" class="nex waves-effect">
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>トゥートボタンの左右入れ替え
<i class="material-icons" style="font-size: 1rem;">swap_horiz</i>crwdns517:0crwdne517:0
</a>
</div>
<div id="main">
<!--TLのTL-->
<div id="timeline-container">
<div id="something-wrong">
<div>内部エラーです。再読込して治らない場合は初期化(全データ削除)をしてください。(事前に設定をエクスポートしておくことをおすすめします。)</div>
<div>crwdns511:0crwdne511:0</div>
</div>
</div>
</div>
@ -893,24 +895,24 @@
<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>トゥート
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>crwdns388:0crwdne388:0
</button>
</div>
<div class="leftside reverse" id="group">
<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>
<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="設定(Ctrl+Shift+S)">settings</i>
<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="最小のマストドン。TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
<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="リスト">apps</i>
<i class="material-icons" title="crwdns444:0crwdne444:0">apps</i>
</a>
<span id="fukidashi">←ここからTL追加</span>
<span id="fukidashi">@@hereAddColumns@@</span>
</div>
</div>
</div>
@ -918,13 +920,13 @@
<div id="tips-menu">
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
<a onclick="tips('ver')" class="nex waves-effect">
<i class="material-icons nex" title="バージョン" data-trans-title="ver">info</i>
<i class="material-icons nex" title="crwdns520:0crwdne520:0" data-trans-title="ver">info</i>
</a>
<a onclick="tips('clock')" class="nex waves-effect">
<i class="material-icons nex" title="時計" data-trans-title="clock">access_time</i>
<i class="material-icons nex" title="crwdns521:0crwdne521:0" data-trans-title="clock">access_time</i>
</a>
<a onclick="tips('memory')" class="nex waves-effect">
<i class="material-icons nex" title="システムメモリ容量" data-trans-title="memory">memory</i>
<i class="material-icons nex" title="crwdns522:0crwdne522:0" data-trans-title="memory">memory</i>
</a>
<a onclick="tips('trend')" class="nex waves-effect imasonly" style="display:none;">
<i class="material-icons nex" title="アイマストドントレンド" data-trans-title="trendtip">whatshot</i>
@ -936,7 +938,7 @@
</div>
<div id="tips" class="hide">
<a onclick="tipsToggle()" class="nex waves-effect" style="float:left">
<i class="material-icons nex" title="Tips変更" data-trans-title="tips">bubble_chart</i>
<i class="material-icons nex" title="crwdns523:0crwdne523:0" data-trans-title="tips">bubble_chart</i>
</a>
<div id="tips-text" style="float:left; width:300px;"></div>
</div>

View File

@ -1,15 +1,15 @@
<!doctype html>
<html lang="ja" style="overflow:scroll">
<html lang="ps" style="overflow:scroll">
<head>
<title>Settings - TheDesk</title>
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
@ -32,26 +32,26 @@
<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 type="text/javascript" src="../../js/lang/lang.ps.js"></script>
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
<script src="../../node_modules/vue/dist/vue.min.js"></script>
<script type="text/javascript" src="setting.vue.js"></script>
<h4>設定</h4>
<h4>crwdns524:0crwdne524:0</h4>
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
<i class="material-icons">desktop_windows</i>環境設定
<i class="material-icons">desktop_windows</i>crwdns529:0crwdne529:0
</div>
<div class="collapsible-body">
<h5>言語</h5>
<h5>crwdns530:0crwdne530:0</h5>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
@@langlist@@
<h5>設定のインポートとエクスポート</h5>
<a onclick="changelang('ja')" class="pointer" style="margin-right:5px;">日本語</a><a onclick="changelang('en')" class="pointer" style="margin-right:5px;">English</a><a onclick="changelang('ps')" class="pointer" style="margin-right:5px;">Crowdin translate system(beta)</a>
<h5>crwdns531:0crwdne531:0</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
style="width:100%; max-width:200px;">エクスポート</button>
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;">インポート</button>
style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
<div id="envView">
<template v-for="(item, i) in config">
<h5>{{item.text.head}}</h5>
@ -59,7 +59,7 @@
<templete v-html="item.text.desc"></templete><br>
</template>
<template v-if="item.id=='notf'"><a onclick="notftest()"
class="pointer">通知テスト</a><br></template>
class="pointer">crwdns540:0crwdne540:0</a><br></template>
<template v-if="item.checkbox">
<template v-for="(check, j) in item.text.checkbox">
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
@ -79,30 +79,30 @@
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">変更</button>
v-on:click="complete(i)">crwdns528:0crwdne528:0</button>
</template><br>
</template>
</div>
<h5>フォント</h5>
「選択」を押してフォントを選んでください。(Linuxでは動きません)<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
<h5>crwdns544:0crwdne544:0</h5>
crwdns1900:0crwdne1900:0<br>
<button class="btn waves-effect" style="width:100px;" onclick="font()">crwdns1896:0crwdne1896:0</button><br>
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
<br>
<input type="text" style="width:150px" id="font">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
<br>
<h5>デフォルトの保存先</h5>
画像ダウンロードやスクリーンショットに影響します。<br>
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">変更</button>
<h5>crwdns547:0crwdne547:0</h5>
crwdns548:0crwdne548:0<br>
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">crwdns528:0crwdne528:0</button>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">color_lens</i>テーマの設定
<i class="material-icons">color_lens</i>crwdns534:0crwdne534:0
</div>
<div class="collapsible-body">
<h4>テーマの選択</h4>
<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" />
@ -118,66 +118,66 @@
<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="新規作成">
<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">新規作成</option>
<option value="add_new">crwdns2436:0crwdne2436:0</option>
</select>
</div>
<h5>名前</h5>
<input type="text" style="width:300px" id="custom_name" placeholder="名前...">
<h5>説明</h5>
<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="説明..."></textarea></div>
<h5>色の系統</h5>
placeholder="crwdns2440:0crwdne2440:0..."></textarea></div>
<h5>crwdns2426:0crwdne2426:0</h5>
<input class="with-gap" name="direction" type="radio" id="dark" value="dark" checked="true" />
<label for="dark">Dark</label>
<input class="with-gap" name="direction" type="radio" id="light" value="light" />
<label for="light">Light</label>
<div id="pickers">
<div>
<h5>Primary</h5>補助要素に使われる背景色
<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>全体の背景色など
<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>テキストの色
<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>ブーストの背景色など
<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()">変更</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">削除</button><br><br>
<button class="btn-large waves-effect" onclick="customComp()">crwdns528:0crwdne528:0</button>&nbsp;<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>
このコードは他の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>
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()">インポート</button><br>
<button class="btn waves-effect" onclick="customImp()">crwdns532:0crwdne532:0</button><br>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>タイムラインの設定
<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
</div>
<div class="collapsible-body">
<div id="tlView">
@ -205,11 +205,11 @@
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">変更</button>
v-on:click="complete(i)">crwdns528:0crwdne528:0</button>
</template><br>
</template>
</div>
<h5>カスタム通知音</h5>
<h5>@@customSound@@</h5>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span id="c1-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span id="c2-file"></span><br>
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span id="c3-file"></span><br>
@ -218,7 +218,7 @@
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">send</i>投稿設定
<i class="material-icons">send</i>crwdns587:0crwdne587:0
</div>
<div class="collapsible-body">
<div id="postView">
@ -249,7 +249,7 @@
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
</template>
<button class="btn waves-effect" style="width:100px;"
v-on:click="complete(i)">変更</button>
v-on:click="complete(i)">crwdns528:0crwdne528:0</button>
</template><br>
</template>
</div>
@ -257,49 +257,49 @@
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">keyboard</i>キーボードショートカットの設定
<i class="material-icons">keyboard</i>crwdns611:0crwdne611:0
</div>
<div class="collapsible-body">
<h5>簡単文字入力</h5>
絵文字やタグ、&gt;BTなどを登録しておくとすぐに入力できます。<br>
<h5>crwdns612:0crwdne612:0</h5>
crwdns613:0crwdne613:0<br>
Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button><br><br>
Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2">
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button><br><br>
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">設定</button><br><br>
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button><br><br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">bookmark</i>ミュート・強調の設定
<i class="material-icons">bookmark</i>crwdns614:0crwdne614:0
</div>
<div class="collapsible-body">
<h5>クライアントミュート</h5>
<h5>crwdns615:0crwdne615:0</h5>
<div id="mute-cli"></div>
<h5>クライアント強調</h5>
各トゥートのクライアントをクリックすると設定できます。
<h5>ワードミュート</h5>
Enterで確定<br>
<h5>crwdns616:0crwdne616:0</h5>
crwdns617:0crwdne617:0
<h5>crwdns619:0crwdne619:0</h5>
crwdns618:0crwdne618:0<br>
<div class="chips" id="wordmute" style="background-color:gray;"></div>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>ワード強調</h5>
Enterで確定<br>
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
<h5>crwdns620:0crwdne620:0</h5>
crwdns618:0crwdne618:0<br>
<div class="chips" id="wordemp" style="background-color:gray;"></div>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>ユーザー強調</h5>
各ユーザーのデータ表示画面で設定できます。
<span class="emphasized"> 強調色(テーマによって異なります。) </span>
<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
<h5>crwdns621:0crwdne621:0</h5>
crwdns622:0crwdne622:0
<span class="emphasized"> crwdns623:0crwdne623:0 </span>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
</div>
<div class="collapsible-body">
<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>
<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" />
@ -314,80 +314,80 @@
<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>
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
<h5>アカウントの連携</h5>
APIの性質上thedesk.topへアクセスします。<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>
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">設定</button></div>
onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button></div>
<a onclick="spotifyConnect()" class="btn waves-effect nex"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i
class="fa fa-spotify left"></i>接続</a>
class="fa fa-spotify left"></i>crwdns629:0crwdne629:0</a>
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i
class="fa fa-spotify left"></i>切断</a>
<h5>テンプレートの編集</h5>
以下を編集してテンプレートを変更できます。<br>
class="fa fa-spotify left"></i>crwdns630:0crwdne630:0</a>
<h5>crwdns631:0crwdne631:0</h5>
crwdns632:0crwdne632:0<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}<br>
Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名<br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
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>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
<h5>crwdns635:0crwdne635:0</h5>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
<label for="awk_yes">はい</label>
<label for="awk_yes">crwdns526:0crwdne526:0</label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
<label for="awk_no">いいえ</label>
<label for="awk_no">crwdns527:0crwdne527:0</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">hearing</i>読み上げの設定
<i class="material-icons">hearing</i>crwdns636:0crwdne636:0
</div>
<div class="collapsible-body">
<h5>読み上げの速さ</h5>
1-100まで、デフォルトは10。<br>
<h5>crwdns637:0crwdne637:0</h5>
crwdns638:0crwdne638:0<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
style="width:500px; max-width:100%" /></p>
<h5>読み上げの高さ</h5>
0-100まで、デフォルトは50。(大きくなるほど高い)<br>
<h5>crwdns639:0crwdne639:0</h5>
crwdns640:0crwdne640:0<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
style="width:500px; max-width:100%" /></p>
<h5>読み上げの音量</h5>
0-100まで、デフォルトは100。<br>
<h5>crwdns641:0crwdne641:0</h5>
crwdns642:0crwdne642:0<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
style="width:500px; max-width:100%" /></p>
<h5>テスト</h5>
<input type="text" style="width:350px" id="voicetxt" value="これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。">
<h5>crwdns643:0crwdne643:0</h5>
<input type="text" style="width:350px" id="voicetxt" value="crwdns644:0crwdne644:0">
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
id="testplay">再生/停止</button><br>
id="testplay">crwdns645:0crwdne645:0</button><br>
<br>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">設定</button>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">crwdns525:0crwdne525:0</button>
</div>
</li>
</ul>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
class="material-icons left">undo</i>戻る</a>
class="material-icons left">undo</i>crwdns646:0crwdne646:0</a>
<br>
<br>キーボードショートカット一覧
<li>Ctrl+1-9:1番目9番目のTLにスクロール</li>
<li>N:投稿パネルを開く</li>
<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>
<li>Ctrl+Shift+C:入力内容を消す</li>
<li>Ctrl+Shift+S:設定</li>
<li>Ctrl+Shift+M:アカウントマネージャ</li>
<br>crwdns647:0crwdne647:0
<li>Ctrl+1-9:crwdns648:0crwdne648:0</li>
<li>N:crwdns649:0crwdne649:0</li>
<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>
<li>Ctrl+Shift+C:crwdns655:0crwdne655:0</li>
<li>Ctrl+Shift+S:crwdns524:0crwdne524:0</li>
<li>Ctrl+Shift+M:crwdns656:0crwdne656:0</li>
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
<li>Ctrl+Shift+P:現在選択中のプロフィール</li>
<li>←/→:イメージビューワー起動時に画像切り替え</li>
<li>マウスホイール:イメージビューワー時に拡大縮小</li>
<li>Ctrl+Shift+P:crwdns657:0crwdne657:0</li>
<li>←/→:crwdns658:0crwdne658:0</li>
<li>crwdns659:0crwdne659:0</li>
<div class="hide kirishima">
以下Markdownに対応したインスタンスのみ。
<br>
@ -401,16 +401,16 @@
</li><br>
</div>
<button class="btn waves-effect red" style="width:100%; max-width:500px;"
onclick="if(confirm('全てのデータを削除します。この操作は取り消せません。')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>初期化</button><br><br>
onclick="if(confirm('crwdns661:0crwdne661:0')){ localStorage.clear(); location.href='index.html'; }"><i
class="material-icons left">delete</i>crwdns660:0crwdne660:0</button><br><br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
class="material-icons left">info</i>このソフトについて</button>
class="material-icons left">info</i>crwdns662:0crwdne662:0</button>
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:500px;"><i
class="material-icons left">web</i>公式HP</a>
class="material-icons left">web</i>crwdns663:0crwdne663:0</a>
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>支援(Pixiv FANBOX)</a>
style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>crwdns664:0crwdne664:0(Pixiv FANBOX)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i
class="material-icons left">list</i>ヘルプ/Docs(Constructing)</a>
class="material-icons left">list</i>crwdns665:0crwdne665:0/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
@ -420,8 +420,8 @@
Kyash<br>
<img src="../../img/kyash.png" width="100"><br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
class="pointer">アップデートを確認</a><br>
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
class="pointer">crwdns667:0crwdne667:0</a><br>
<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
<span style="font-family:Open Sans;">Copyright &copy; Cutls P 2018 All Rights Reserved.
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy

View File

@ -1,18 +1,18 @@
var yesno=[
{
text:"はい",
text:"crwdns526:0crwdne526:0",
value:"yes"
},{
text:"いいえ",
text:"crwdns527:0crwdne527:0",
value:"no"
}
];
var sound=[
{
text:"なし",
text:"@@none@@",
value:"none"
},{
text:"既定",
text:"@@default@@",
value:"default"
},{
text:"Custom 1",
@ -37,9 +37,9 @@ var envConstruction=[
setValue:0,
width:50,
text:{
head:"新規通知のポップアップお知らせの表示秒数",
desc:'0に設定すると表示されません',
after:""
head:"crwdns1898:0crwdne1898:0",
desc:'crwdns536:0crwdne536:0',
after:"crwdns537:0crwdne537:0"
}
},{
id:"notf",
@ -47,8 +47,8 @@ var envConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"ネイティブ通知設定",
desc:"Portableバージョンでは表示できません。",
head:"crwdns538:0crwdne538:0",
desc:"crwdns539:0crwdne539:0",
checkbox:yesno
}
},{
@ -59,9 +59,9 @@ var envConstruction=[
width:50,
setValue:300,
text:{
head:"マルチカラムの最低横幅",
desc:"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
after:"px 以上"
head:"crwdns2376:0crwdne2376:0",
desc:"crwdns542:0crwdne542:0",
after:"px crwdns543:0crwdne543:0"
}
},{
id:"fixwidth",
@ -71,9 +71,9 @@ var envConstruction=[
setValue:300,
width:50,
text:{
head:"TweetDeckの限定の最低横幅",
desc:"",
after:"px 以上"
head:"crwdns2378:0crwdne2378:0",
desc:"crwdns2380:0crwdne2380:0",
after:"px crwdns543:0crwdne543:0"
}
},{
id:"size",
@ -83,8 +83,8 @@ var envConstruction=[
width:50,
setValue:13,
text:{
head:"フォントサイズ",
desc:'<span style="font-size:13px">13px(絶対指定)</span>',
head:"crwdns546:0crwdne546:0",
desc:'<span style="font-size:13px">13px(crwdns549:0crwdne549:0)</span>',
after:"px"
}
},{
@ -93,14 +93,14 @@ var envConstruction=[
checkbox:true,
setValue:false,
text:{
head:"ハードウェアアクセラレーションの無効化",
desc:"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
head:"@@hardwareAcceleration@@",
desc:"@@hardwareAccelerationWarn@@",
checkbox:[
{
text:"はい",
text:"crwdns526:0crwdne526:0",
value:"true"
},{
text:"いいえ",
text:"crwdns527:0crwdne527:0",
value:"false"
}
]
@ -114,20 +114,20 @@ var tlConstruction=[
checkbox:true,
setValue:"absolute",
text:{
head:"時間表記設定",
desc:'相対時間の例:"1分前","3日前"<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00"<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ',
head:"crwdns551:0crwdne551:0",
desc:'crwdns552:0crwdne552:0<br>crwdns553:0crwdne553:0<br>crwdns554:0crwdne554:0',
checkbox:[
{
text:"相対時間",
text:"crwdns555:0crwdne555:0",
value:"relative"
},{
text:"絶対時間",
text:"crwdns1902:0crwdne1902:0",
value:"absolute"
},{
text:"両方表示",
text:"crwdns557:0crwdne557:0",
value:"double"
},{
text:"混合表示",
text:"crwdns558:0crwdne558:0",
value:"medium"
}
@ -139,8 +139,8 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"独自ロケールを使用",
desc:"対応サーバーではそのサーバーにあわせた言語表示ができます。",
head:"crwdns1904:0crwdne1904:0",
desc:"crwdns1906:0crwdne1906:0",
checkbox:yesno
}
},{
@ -149,8 +149,8 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"非表示設定の画像(NSFW)を隠す",
desc:"きつめのぼかしがかかります。",
head:"crwdns561:0crwdne561:0",
desc:"crwdns562:0crwdne562:0",
checkbox:yesno
}
},{
@ -159,7 +159,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"非表示設定のテキスト(CW)を隠す",
head:"crwdns563:0crwdne563:0",
desc:"",
checkbox:yesno
}
@ -169,14 +169,14 @@ var tlConstruction=[
checkbox:true,
setValue:"hidden",
text:{
head:"リプライ数表示",
head:"crwdns564:0crwdne564:0",
desc:"",
checkbox:[
{
text:"2以上のとき1+と表示",
text:"crwdns565:0crwdne565:0",
value:"hidden"
},{
text:"2以上のとき1+と表示",
text:"crwdns565:0crwdne565:0",
value:"all"
}
@ -188,7 +188,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"アイコンのアニメーションを再生する",
head:"crwdns567:0crwdne567:0",
desc:"",
checkbox:yesno
}
@ -198,14 +198,14 @@ var tlConstruction=[
checkbox:true,
setValue:"local",
text:{
head:"タグタイムラインの表示範囲",
head:"crwdns572:0crwdne572:0",
desc:"",
checkbox:[
{
text:"接続しているサーバー",
text:"crwdns573:0crwdne573:0",
value:"all"
},{
text:"検索対象のサーバーのみ",
text:"crwdns574:0crwdne574:0",
value:"local"
}
@ -217,7 +217,7 @@ var tlConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"viaを表示する",
head:"crwdns575:0crwdne575:0",
desc:"",
checkbox:yesno
}
@ -227,17 +227,17 @@ var tlConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"アクションメニューを非表示",
desc:"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。",
head:"crwdns576:0crwdne576:0",
desc:"crwdns577:0crwdne577:0",
checkbox:[
{
text:"マウスオーバーで表示",
text:"crwdns578:0crwdne578:0",
value:"yes"
},{
text:"クリックで表示",
text:"crwdns579:0crwdne579:0",
value:"click"
},{
text:"いいえ",
text:"crwdns527:0crwdne527:0",
value:"no"
}
@ -249,7 +249,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"通知を開いているとき、通知新着お知らせを表示する",
head:"crwdns580:0crwdne580:0",
desc:"",
checkbox:yesno
}
@ -262,18 +262,18 @@ var tlConstruction=[
storage:"sentence",
width:50,
setValue:500,
text:{after:"行 以上 または"}
text:{after:"crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0"}
},{
id:"letters",
storage:"letters",
width:50,
setValue:7000,
text:{after:"文字 以上"}
text:{after:"crwdns584:0crwdne584:0 crwdns543:0crwdne543:0"}
}
],
text:{
head:"指定行数以上を折りたたむ",
desc:"5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。",
head:"crwdns581:0crwdne581:0",
desc:"crwdns582:0crwdne582:0",
}
},{
id:"img-height",
@ -283,8 +283,8 @@ var tlConstruction=[
width:80,
setValue:200,
text:{
head:"画像の高さ",
desc:'オプション:「full」と指定すると全ての画像をクロップしません。',
head:"crwdns586:0crwdne586:0",
desc:'@@imgheightwarn@@',
after:"px"
}
},{
@ -293,8 +293,8 @@ var tlConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"#InstanceTickerを使う",
desc:'トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href="https://cdn.weep.me/mastodon/">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.',
head:"crwdns1908:0crwdne1908:0",
desc:'crwdns1910:0crwdne1910:0',
checkbox:yesno
}
},{
@ -303,7 +303,7 @@ var tlConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"タイムラインのアニメーション",
head:"crwdns2446:0crwdne2446:0",
desc:"",
checkbox:yesno
}
@ -313,7 +313,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"リプライの通知音",
head:"@@replySound@@",
desc:"",
checkbox:sound
}
@ -323,7 +323,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"お気に入り登録の通知音",
head:"@@favSound@@",
desc:"",
checkbox:sound
}
@ -333,7 +333,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"ブーストの通知音",
head:"@@btSound@@",
desc:"",
checkbox:sound
}
@ -343,7 +343,7 @@ var tlConstruction=[
checkbox:true,
setValue:"none",
text:{
head:"フォローの通知音",
head:"@@followSound@@",
desc:"",
checkbox:sound
}
@ -358,7 +358,7 @@ var postConstruction=[
width:150,
setValue:"",
text:{
head:"デフォルトの警告文",
head:"crwdns590:0crwdne590:0",
desc:"",
after:""
}
@ -371,18 +371,18 @@ var postConstruction=[
storage:"cw_sentence",
width:50,
setValue:500,
text:{after:"行 以上 または"}
text:{after:"crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0"}
},{
id:"cw_letters",
storage:"cw_letters",
width:50,
setValue:7000,
text:{after:"文字 以上"}
text:{after:"crwdns584:0crwdne584:0 crwdns543:0crwdne543:0"}
}
],
text:{
head:"長文投稿時に警告",
desc:"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
head:"crwdns588:0crwdne588:0",
desc:"crwdns589:0crwdne589:0",
}
},{
id:"cws",
@ -390,7 +390,7 @@ var postConstruction=[
checkbox:true,
setValue:"no",
text:{
head:"標準でCWを設定",
head:"crwdns591:0crwdne591:0",
desc:"",
checkbox:yesno
}
@ -400,26 +400,26 @@ var postConstruction=[
checkbox:true,
setValue:"public",
text:{
head:"デフォルトの公開設定",
head:"crwdns592:0crwdne592:0",
desc:"",
checkbox:[
{
text:"公開(Public)",
text:"crwdns593:0crwdne593:0",
value:"public"
},{
text:"未収載(Unlisted)",
text:"crwdns594:0crwdne594:0",
value:"unlisted"
},{
text:"非公開(Private)",
text:"crwdns595:0crwdne595:0",
value:"private"
},{
text:"ダイレクト(Direct)",
text:"crwdns596:0crwdne596:0",
value:"direct"
},{
text:"前回の投稿設定を記憶する(サーバーごとに記憶されます)",
text:"crwdns1912:0crwdne1912:0",
value:"memory"
},{
text:"マストドンアカウント設定の既定値",
text:"crwdns1914:0crwdne1914:0",
value:"useapi"
}
]
@ -430,14 +430,14 @@ var postConstruction=[
checkbox:true,
setValue:"no-act",
text:{
head:"画像投稿設定",
head:"crwdns599:0crwdne599:0",
desc:"",
checkbox:[
{
text:"画像を投稿し、画像のURLを最後に表示",
text:"crwdns600:0crwdne600:0",
value:"url"
},{
text:"画像を投稿するがURLは表示しない",
text:"crwdns601:0crwdne601:0",
value:"no-act"
}
]
@ -448,17 +448,17 @@ var postConstruction=[
checkbox:true,
setValue:"yes",
text:{
head:"投稿ボックスの挙動",
head:"crwdns568:0crwdne568:0",
desc:"",
checkbox:[
{
text:"たたむ",
text:"crwdns569:0crwdne569:0",
value:"yes"
},{
text:"投稿後も隠さない",
text:"crwdns571:0crwdne571:0",
value:"no"
},{
text:"枠外クリックで閉じない(起動時に展開)",
text:"crwdns570:0crwdne570:0",
value:"absolute"
}
]
@ -469,20 +469,20 @@ var postConstruction=[
checkbox:true,
setValue:"nothing",
text:{
head:"引用形式",
head:"crwdns603:0crwdne603:0",
desc:"",
checkbox:[
{
text:"URLのみ",
text:"crwdns604:0crwdne604:0",
value:"simple"
},{
text:"URLとアカウント名(相手に通知)",
text:"crwdns605:0crwdne605:0",
value:"mention"
},{
text:"本文・URL・アカウント名",
text:"crwdns606:0crwdne606:0",
value:"full"
},{
text:"使わない(TL上にボタンも表示されません)",
text:"@@notqt@@",
value:"nothing"
}
]
@ -493,14 +493,14 @@ var postConstruction=[
checkbox:true,
setValue:"remain",
text:{
head:"投稿後や起動時のアカウント",
desc:"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
head:"crwdns607:0crwdne607:0",
desc:"crwdns608:0crwdne608:0",
checkbox:[
{
text:"最後に使用したアカウント",
text:"crwdns609:0crwdne609:0",
value:"remain"
},{
text:"メインアカウント",
text:"crwdns610:0crwdne610:0",
value:"main"
}
]
@ -511,26 +511,26 @@ var postConstruction=[
checkbox:true,
setValue:"public",
text:{
head:"セカンダリートゥートボタン",
head:"crwdns1916:0crwdne1916:0",
desc:"",
checkbox:[
{
text:"表示しない",
text:"crwdns1920:0crwdne1920:0",
value:"nothing"
},{
text:"公開(Public)",
text:"crwdns593:0crwdne593:0",
value:"public"
},{
text:"未収載(Unlisted)",
text:"crwdns594:0crwdne594:0",
value:"unlisted"
},{
text:"非公開(Private)",
text:"crwdns595:0crwdne595:0",
value:"private"
},{
text:"ダイレクト(Direct)",
text:"crwdns596:0crwdne596:0",
value:"direct"
},{
text:"ローカル限定",
text:"crwdns1922:0crwdne1922:0",
value:"local",
kirishima:true,
kirishimaText:"非対応インスタンスでは「未収載」になります。"
@ -544,7 +544,7 @@ var postConstruction=[
setValue:"normal",
setValue:"no",
text:{
head:"絵文字にゼロ幅スペースを使う",
head:"@@zeroWidthEmoji@@",
desc:"",
checkbox:yesno
}

View File

@ -1,18 +1,18 @@
<!doctype html>
<html lang="ja">
<html lang="ps">
<head>
<title>Update - TheDesk</title>
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
<!--
<script type="text/javascript">
var _jipt = [];
_jipt.push(['project', 'thedesk']);
</script>
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
-->
</head>
<body>
<style>
@ -72,27 +72,27 @@ a,button,input,label,i{
<div id="start">
<div id="box" class="show">
<h2>TheDesk</h2>
<p>アップデートがあります</p>
<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 hide" onclick="update('install')" style="margin-left:15px;">インストーラー版(推奨)</button>
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left:15px;">ポータブル版</button>
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left:15px;">開始</button>
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left:15px;">開始</button>
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left:15px;">crwdns2382:0crwdne2382:0</button>
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left:15px;">crwdns1950:0crwdne1950:0</button>
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
<br>
問題が発生しますか?<br><a href="https://thedesk.top">公式HP</a>からダウンロードをお試しください。
crwdns678:0crwdne678:0<br>crwdns679:0crwdne679:0
</div>
<div id="skipper" class="hide">
<h4>アップデートは必ず行ってください</h4>
アップデートをスキップする<br>
<h4>crwdns674:0crwdne674:0</h4>
crwdns675:0crwdne675:0<br>
<div id="updskip">
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light"><div>次回TL表示時まで</div></a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light"><div>次のバージョンが出るまで</div></a>
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light"><div>crwdns676:0crwdne676:0</div></a>
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light"><div>crwdns677:0crwdne677:0</div></a>
</div>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">アップデートを続行</a>
<a class="pointer waves-effect" onclick="skipper();" style="margin-top:5px">crwdns680:0crwdne680:0</a>
</div>
<div id="dlnow" class="hide">
<h4>ダウンロード中</h4>
<h4>crwdns681:0crwdne681:0</h4>
<h4 id="prog"></h4>
</div>
</div>
@ -208,7 +208,7 @@ function verck(){
$("#ver").text(json.desk_mac);
localStorage.setItem("next-ver",json.desk_mac);
}
var lang="ja";
var lang="ps";
if(lang=="ja"){
$("#det").html(json.detail);
}else{