Compare commits
6 Commits
17.0.1-b4
...
untagged-8
Author | SHA1 | Date | |
---|---|---|---|
|
86d99f40a5 | ||
|
d5f3354e71 | ||
|
5134dd274b | ||
|
560494467b | ||
|
75a397aafd | ||
|
4d5916b595 |
@@ -86,11 +86,11 @@ WindowsでPython 2.xやVisualC++を一発でインストールできるツール
|
||||
### electron-packager
|
||||
|
||||
Windows
|
||||
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=3.0.10 --icon=.\app\thedesk.ico --overwrite`
|
||||
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --win32metadata.CompanyName="TheDesk&Cutls.com" --win32metadata.FileDescription="TheDesk" --win32metadata.OriginalFilename="TheDesk" --win32metadata.InternalName="TheDesk" --win32metadata.ProductName="TheDesk" --platform=win32 --arch=all --electron-version=4.0.5 --icon=.\app\thedesk.ico --overwrite`
|
||||
Linux
|
||||
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=3.0.10 --overwrite`
|
||||
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=linux --arch=x64,ia32 --electron-version=4.0.5 --overwrite`
|
||||
macOS
|
||||
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=3.0.10 --icon=./app/icon.icns --overwrite`
|
||||
`electron-packager ./app TheDesk --executable-name="TheDesk" --app-copyright="Copyright (c) TheDesk 2018 Cutls.com 2015 All Right Reserved" --platform=darwin --arch=all --electron-version=4.0.5 --icon=./app/icon.icns --overwrite`
|
||||
|
||||
### electron-builder
|
||||
|
||||
|
@@ -41,12 +41,10 @@ option {
|
||||
display: none;
|
||||
max-width: 100vw;
|
||||
max-height: 100vh;
|
||||
top:0;
|
||||
background-color: var(--modal);
|
||||
position: fixed;
|
||||
z-index: 9;
|
||||
}
|
||||
#imagemodal, #videomodal, #tootmodal {
|
||||
#videomodal, #tootmodal {
|
||||
background-color: var(--modal);
|
||||
}
|
||||
#imagemodal .modal-content {
|
||||
@@ -56,6 +54,7 @@ option {
|
||||
overflow-x:scroll;
|
||||
overflow-y:hidden;
|
||||
}
|
||||
|
||||
#imagewrap {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@@ -269,6 +268,18 @@ blockquote:before, .quote:before {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
.hide-anime{
|
||||
animation: hide 0.2s linear 0s;
|
||||
display:none;
|
||||
}
|
||||
@keyframes hide{
|
||||
from{
|
||||
opacity: 1;
|
||||
}
|
||||
to{
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
.collapsible-header,.tabs{
|
||||
background-color: var(--subcolor);
|
||||
}
|
||||
|
@@ -1,23 +1,35 @@
|
||||
/*トゥートボックス向けCSS*/
|
||||
#post-box {
|
||||
display:none;
|
||||
position: fixed;
|
||||
left: 78px;
|
||||
bottom: -500px;
|
||||
left: calc(50vw - 150px);
|
||||
top: 50vh;
|
||||
background-color: var(--postbox);
|
||||
border: thin solid gray;
|
||||
z-index: 501;
|
||||
width: 300px;
|
||||
min-width:300px;
|
||||
max-width:100%;
|
||||
padding: 5px;
|
||||
}
|
||||
#post-bar{
|
||||
cursor:move;
|
||||
text-align:center;
|
||||
width:calc(100% + 10px);
|
||||
background-color: var(--bg);
|
||||
margin-left:-5px;
|
||||
margin-right:-5px;
|
||||
margin-top:-5px;
|
||||
font-size:16px;
|
||||
padding:4px;
|
||||
}
|
||||
.cancel {
|
||||
font-size: 0.5rem;
|
||||
color: gray;
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
width: 60px;
|
||||
right: 0px;
|
||||
right: 2px;
|
||||
top:4px;
|
||||
|
||||
}
|
||||
.more-show {
|
||||
display: none;
|
||||
@@ -51,16 +63,11 @@
|
||||
filter: blur(50px);
|
||||
}
|
||||
#emoji {
|
||||
position: fixed;
|
||||
bottom: 40px;
|
||||
width: 300px;
|
||||
height: 380px;
|
||||
z-index: 502;
|
||||
padding: 5px;
|
||||
|
||||
}
|
||||
#emoji-list {
|
||||
width: 100%;
|
||||
height: calc(100% - 130px);
|
||||
height: 200px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#preview-field {
|
||||
@@ -87,7 +94,25 @@
|
||||
#toot-sec-btn{
|
||||
width:30px; padding:0; margin-top:10px;
|
||||
}
|
||||
|
||||
#left-side{
|
||||
float:left;
|
||||
width:300px;
|
||||
}
|
||||
#right-side{
|
||||
display:none;
|
||||
float:left;
|
||||
width:300px;
|
||||
padding:5px;
|
||||
}
|
||||
#poll{
|
||||
|
||||
}
|
||||
.poll-provider{
|
||||
position: absolute;
|
||||
height: calc(100% - 90px);
|
||||
overflow-y: scroll;
|
||||
top: 90px;
|
||||
}
|
||||
|
||||
/*mini*/
|
||||
.mini-post .mize{
|
||||
|
@@ -15,6 +15,9 @@
|
||||
--postbox:white;
|
||||
--modalfooter:#fafafa;
|
||||
}
|
||||
#imagemodal{
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
.blacktheme {
|
||||
--bg:#212121;
|
||||
--drag:rgba(0, 0, 0, 0.8);
|
||||
@@ -32,6 +35,9 @@
|
||||
--postbox:#424242;
|
||||
--modalfooter:#212121;
|
||||
}
|
||||
.blacktheme #imagemodal{
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.indigotheme {
|
||||
--bg:#031833;
|
||||
--drag:rgba(0, 0, 0, 0.8);
|
||||
@@ -49,6 +55,9 @@
|
||||
--postbox:#1a237e;
|
||||
--modalfooter:#031833;
|
||||
}
|
||||
.indigotheme #imagemodal{
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.browntheme {
|
||||
--bg:#261411;
|
||||
--drag:rgba(0, 0, 0, 0.8);
|
||||
@@ -66,6 +75,9 @@
|
||||
--postbox:#4e342e;
|
||||
--modalfooter:#261411;
|
||||
}
|
||||
.browntheme #imagemodal{
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.greentheme{
|
||||
--bg:#c8e6c9;
|
||||
--drag:rgba(255, 255, 255, 0.8);
|
||||
@@ -82,4 +94,7 @@
|
||||
--active:#e6ee9c;
|
||||
--postbox:#a5d6a7;
|
||||
--modalfooter:#81c784;
|
||||
}
|
||||
.greentheme #imagemodal{
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
@@ -138,6 +138,12 @@ iframe {
|
||||
.media-filter .nomedia{
|
||||
display:none;
|
||||
}
|
||||
.bt-filter .shared{
|
||||
display:none;
|
||||
}
|
||||
.except-bt-filter .unshared{
|
||||
display:none;
|
||||
}
|
||||
.cvo {
|
||||
user-select: text;
|
||||
padding-left: 5px;
|
||||
@@ -459,4 +465,55 @@ p:not(:last-child){
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
max-height: 200px;
|
||||
}
|
||||
.votebtn{
|
||||
border: 1px solid;
|
||||
color: var(--color);
|
||||
background-color: var(--modal);
|
||||
cursor:pointer;
|
||||
width: 50px;
|
||||
padding: 2px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
margin-top: 5px;
|
||||
border-radius: 10px;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
.votebtn:hover{
|
||||
background-color:transparent;
|
||||
}
|
||||
@keyframes fadeInDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
-webkit-transform: translate3d(0, -100%, 0);
|
||||
transform: translate3d(0, -100%, 0);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
@keyframes fadeInLeft {
|
||||
from {
|
||||
opacity: 0;
|
||||
-webkit-transform: translate3d(-100%, 0, 0);
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
.box-anime {
|
||||
animation-duration: 1s;
|
||||
animation-name: fadeInLeft;
|
||||
}
|
||||
|
||||
.cvo-anime {
|
||||
animation-duration: 0.1s;
|
||||
animation-name: fadeInDown;
|
||||
}
|
11
app/img/pixel.svg
Normal file
11
app/img/pixel.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="300" height="300" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||
<defs>
|
||||
<pattern id="pp" x="0" y="0" width="30" height="30" patternUnits="userSpaceOnUse">
|
||||
<rect x="0" y="0" width="15" height="15" fill="#616161" />
|
||||
<rect x="0" y="15" width="15" height="15" fill="#000000" />
|
||||
<rect x="15" y="15" width="15" height="15" fill="#616161" />
|
||||
<rect x="15" y="0" width="15" height="15" fill="#000000" />
|
||||
</pattern>
|
||||
</defs>
|
||||
<rect width="300" height="300" fill="url(#pp)" />
|
||||
</svg>
|
After Width: | Height: | Size: 503 B |
11
app/img/pixel.white.svg
Normal file
11
app/img/pixel.white.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="300" height="300" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||
<defs>
|
||||
<pattern id="pp" x="0" y="0" width="30" height="30" patternUnits="userSpaceOnUse">
|
||||
<rect x="0" y="0" width="15" height="15" fill="#e0e0e0" />
|
||||
<rect x="0" y="15" width="15" height="15" fill="#ffffff" />
|
||||
<rect x="15" y="15" width="15" height="15" fill="#e0e0e0" />
|
||||
<rect x="15" y="0" width="15" height="15" fill="#ffffff" />
|
||||
</pattern>
|
||||
</defs>
|
||||
<rect width="300" height="300" fill="url(#pp)" />
|
||||
</svg>
|
After Width: | Height: | Size: 503 B |
@@ -20,8 +20,7 @@ if(lang=="ja"){
|
||||
place:"場所",
|
||||
symbol:"記号"
|
||||
};
|
||||
var lang_defaultemojis_text="{{cat}}の絵文字";
|
||||
}else if(lang=="en"){
|
||||
}else{
|
||||
var defaultemojiname={
|
||||
activity:"Activities",
|
||||
flag:"Flags",
|
||||
@@ -32,7 +31,6 @@ if(lang=="ja"){
|
||||
place:"Places",
|
||||
symbol:"Symbols"
|
||||
};
|
||||
var lang_defaultemojis_text="Emojis of {{cat}}";
|
||||
}
|
||||
|
||||
function defaultEmoji(target){
|
||||
@@ -43,7 +41,8 @@ function defaultEmoji(target){
|
||||
emojis = emojis + '<a onclick="defEmoji(\''+emoji["shortcode"]+'\')" class="pointer"><span style="width: 20px; height: 20px; display: inline-block; background-image: url(\'../../img/sheet.png\'); background-size: 4900%; background-position: '+emoji["css"]+';"></span></a>';
|
||||
});
|
||||
$("#emoji-list").html(emojis);
|
||||
$("#now-emoji").text(lang_defaultemojis_text.replace("{{cat}}" ,defaultemojiname[target]));
|
||||
$("#now-emoji").text(lang.lang_defaultemojis_text.replace("{{cat}}" ,defaultemojiname[target]));
|
||||
console.log(target);
|
||||
$(".emoji-control").addClass("hide");
|
||||
}
|
||||
function customEmoji(){
|
||||
|
@@ -39,6 +39,7 @@ var lang={
|
||||
//post/emoji.js
|
||||
"lang_emoji_get":"Get emojis",
|
||||
"lang_emoji_custom":"Custom emojis",
|
||||
"lang_defaultemojis_text":"Emojis about {{cat}}",
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis":"cannot preview",
|
||||
"lang_postimg_aftupload":"You cannot change accounts after uploading.",
|
||||
@@ -117,6 +118,7 @@ var lang={
|
||||
"lang_layout_dm":"Direct Message",
|
||||
"lang_layout_webviewmode":"Prefer WebView",
|
||||
"lang_excluded":"Excluded type of notification",
|
||||
"lang_layout_excludingbt":"Show BT mode(OFF/Exclude BT/Only BT)",
|
||||
//ui/spotify.js
|
||||
"lang_spotify_img":"Attach an album artwork",
|
||||
"lang_spotify_imgno":"Not attach an album artwork",
|
||||
@@ -172,6 +174,9 @@ var lang={
|
||||
"lang_parse_clientemp":"emphasized(/not emphasized)",
|
||||
"lang_parse_clientmute":"muted",
|
||||
"lang_parse_mute":" will be muted. You can remove on preferences.",
|
||||
"lang_parse_voted":"Voted",
|
||||
"lang_parse_vote":"Voted",
|
||||
"lang_parse_unvoted":"Show the result without voting",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote":"Repost",
|
||||
"lang_misskeyparse_renoteqt":"Renote",
|
||||
@@ -202,12 +207,14 @@ var lang={
|
||||
"lang_setting_selt":"Auto fold:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_autocw":"Auto CW:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_width":"Minimam width:{{set}}",
|
||||
"lang_setting_fixwidth":"TweetDeck fixed width:{{set}}px",
|
||||
"lang_setting_img":"After posting an image:{{set}}",
|
||||
"lang_setting_font":"Fonts:{{set}}",
|
||||
"lang_setting_default":"default font",
|
||||
"lang_setting_size":"Font size:{{set}}px",
|
||||
"lang_setting_imgheight":"Image height:{{set}}px",
|
||||
"lang_setting_ticker":"#InstanceTicker:{{set}}px",
|
||||
"lang_setting_animation":"Animation: {{set}}",
|
||||
"lang_setting_tag":"Tag TL:{{set}}",
|
||||
"lang_setting_boxConfirm":"Post box:{{set}}",
|
||||
"lang_setting_ul":"Native locale:{{set}}",
|
||||
|
@@ -40,6 +40,7 @@ var lang={
|
||||
//post/emoji.js
|
||||
"lang_emoji_get":"絵文字リストを取得",
|
||||
"lang_emoji_custom":"カスタム絵文字",
|
||||
"lang_defaultemojis_text":"{{cat}}の絵文字",
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis":"プレビューできません。",
|
||||
"lang_postimg_aftupload":"アップロード後はアカウントを切り替えられません。",
|
||||
@@ -118,6 +119,7 @@ var lang={
|
||||
"lang_layout_dm":"ダイレクトメッセージ",
|
||||
"lang_layout_webviewmode":"WebView優先",
|
||||
"lang_excluded":"除外する通知",
|
||||
"lang_layout_excludingbt":"BT表示(OFF/BT除外/BTのみ)",
|
||||
//ui/spotify.js
|
||||
"lang_spotify_img":"アルバムアートワークを添付します。",
|
||||
"lang_spotify_imgno":"アルバムアートワークを添付しません。",
|
||||
@@ -173,6 +175,9 @@ var lang={
|
||||
"lang_parse_clientemp":"強調表示/解除",
|
||||
"lang_parse_clientmute":"ミュート",
|
||||
"lang_parse_mute":"ミュートします。設定から解除できます。",
|
||||
"lang_parse_voted":"投票済みです",
|
||||
"lang_parse_vote":"投票",
|
||||
"lang_parse_unvoted":"結果だけ見る",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote":"再投稿",
|
||||
"lang_misskeyparse_renoteqt":"引用",
|
||||
@@ -203,12 +208,14 @@ var lang={
|
||||
"lang_setting_selt":"{{set1}}行以上または{{set2}}文字以上でテキストを隠します。",
|
||||
"lang_setting_autocw":"{{set1}}行以上または{{set2}}文字以上で警告を表示します。",
|
||||
"lang_setting_width":"横幅最低を{{set}}pxに設定しました。",
|
||||
"lang_setting_fixwidth":"TweetDeckの横幅を{{set}}pxに設定しました。",
|
||||
"lang_setting_img":"画像投稿後の設定を「{{set}}」に設定しました。",
|
||||
"lang_setting_font":"フォントを{{set}}に設定しました。",
|
||||
"lang_setting_default":"デフォルト",
|
||||
"lang_setting_size":"フォントサイズを{{set}}pxに設定しました。",
|
||||
"lang_setting_imgheight":"画像高さを{{set}}pxに設定しました。",
|
||||
"lang_setting_ticker":"#InstanceTicker使用を{{set}}に設定しました。",
|
||||
"lang_setting_animation":"アニメーションを{{set}}に設定しました。",
|
||||
"lang_setting_tag":"タグの取得範囲を「{{set}}」に設定しました。",
|
||||
"lang_setting_boxConfirm":"投稿ボックスを{{set}}",
|
||||
"lang_setting_ul":"独自ロケール設定を{{set}}に設定しました。",
|
||||
|
@@ -344,7 +344,7 @@ function ckdb(acct_id) {
|
||||
localStorage.removeItem("post_" + acct_id);
|
||||
localStorage.removeItem("fav_" + acct_id);
|
||||
localStorage.removeItem("bt_" + acct_id);
|
||||
localStorage.removeItem("follow_" + acct_id);
|
||||
localStorage.removeItem("followlocale_" + acct_id);
|
||||
if(domain=="kirishima.cloud"){
|
||||
localStorage.setItem("kirishima", "true");
|
||||
$("#ranking-btn").show();
|
||||
@@ -402,7 +402,7 @@ function ckdb(acct_id) {
|
||||
localStorage.setItem("bt_" + acct_id, json[domain + "_bt"]);
|
||||
}
|
||||
if(json[domain + "_follow"]){
|
||||
localStorage.setItem("follow_" + acct_id, json[domain + "_follow"]);
|
||||
localStorage.setItem("followlocale_" + acct_id, json[domain + "_follow"]);
|
||||
}
|
||||
}
|
||||
if(localStorage.getItem("mode_" + domain)!="misskey"){
|
||||
|
@@ -172,4 +172,12 @@ function opendev(){
|
||||
keyCode: '2'
|
||||
});
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
var webview = document.getElementById('webview');
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
webview.addEventListener('new-window', function(e) {
|
||||
shell.openExternal(e.url);
|
||||
});
|
@@ -316,4 +316,4 @@ function tjDeckStart() {
|
||||
if (document.querySelector(".js-app-columns")) tjDeckStart();
|
||||
else var timer = setInterval(function () {
|
||||
document.querySelector(".js-app-columns") ? (tjDeckStart(), clearInterval(timer)) : console.log("まだロード中")
|
||||
}, 500);
|
||||
}, 500);
|
||||
|
@@ -11,13 +11,10 @@ function emojiToggle() {
|
||||
selin=0;
|
||||
}
|
||||
localStorage.setItem("cursor", selin);
|
||||
|
||||
if ($("#emoji").hasClass("hide")) {
|
||||
if($("#bottom").hasClass("reverse")){
|
||||
$('#emoji').css("left",$('#post-box').offset().left-295+"px");
|
||||
}else{
|
||||
$('#emoji').css("left",$('#post-box').offset().left+295+"px");
|
||||
}
|
||||
$("#emoji").removeClass("hide")
|
||||
$("#right-side").show()
|
||||
if (!localStorage.getItem("emoji_" + acct_id)) {
|
||||
var html =
|
||||
'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">'+lang.lang_emoji_get+'</button>';
|
||||
@@ -26,7 +23,9 @@ function emojiToggle() {
|
||||
emojiList('home');
|
||||
}
|
||||
} else {
|
||||
$("#poll").addClass("hide")
|
||||
$("#emoji").addClass("hide")
|
||||
$("#right-side").hide()
|
||||
}
|
||||
|
||||
|
||||
|
@@ -55,8 +55,8 @@ function post(mode,postvis) {
|
||||
title: lang.lang_post_cwtitle,
|
||||
message: lang.lang_post_cwtxt+plus,
|
||||
buttons: [lang.lang_post_btn1,lang.lang_post_btn2, lang.lang_post_btn3]
|
||||
}
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
}
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
if(arg==1){
|
||||
$("#cw-text").show();
|
||||
$("#cw").addClass("yellow-text");
|
||||
@@ -122,12 +122,36 @@ function post(mode,postvis) {
|
||||
}
|
||||
if ($("#sch-box").hasClass("sch-avail")) {
|
||||
var scheduled=formattimeutc(new Date(Date.parse($("#sch-date").val())))
|
||||
console.log(scheduled)
|
||||
schedule();
|
||||
toot.scheduled_at=scheduled;
|
||||
|
||||
} else {
|
||||
var scheduled = "";
|
||||
}
|
||||
if ($("#poll-sel").val()=="mastodon-poll") {
|
||||
var options=[];
|
||||
$(".mastodon-choice").map(function() {
|
||||
var choice=$(this).val();
|
||||
if(choice!=""){
|
||||
options.push(choice);
|
||||
}
|
||||
});
|
||||
if($("#poll-multiple:checked").val()=="1"){
|
||||
var mul=true;
|
||||
}else{
|
||||
var mul=false;
|
||||
}
|
||||
var exin=pollCalc();
|
||||
if(!exin){
|
||||
todc("Error: Poll expires_in param")
|
||||
}
|
||||
toot.poll={
|
||||
options: options,
|
||||
expires_in: exin,
|
||||
multiple: mul
|
||||
}
|
||||
}
|
||||
console.log(toot);
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
@@ -263,6 +287,12 @@ function clear() {
|
||||
$("#preview").html("");
|
||||
$(".toot-btn-group").prop("disabled", false);
|
||||
$("#post-acct-sel").prop("disabled", false);
|
||||
$("#days_poll").val(0);
|
||||
$("#hours_poll").val(0);
|
||||
$("#mins_poll").val(0);
|
||||
$(".mastodon-choice").map(function() {
|
||||
$(this).val("");
|
||||
});
|
||||
localStorage.removeItem("image");
|
||||
if(localStorage.getItem("mainuse")=="main"){
|
||||
$("#post-acct-sel").val(localStorage.getItem("main"));
|
||||
|
543
app/js/tl/dm.js
Normal file
543
app/js/tl/dm.js
Normal file
@@ -0,0 +1,543 @@
|
||||
//DM(Conv) TL
|
||||
function dm(acct_id, tlid, type,delc,voice) {
|
||||
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/conversations";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
var templete = dmParse(json, type, acct_id, tlid, "", mute);
|
||||
localStorage.setItem("lastobj_"+ tlid,json[0].id)
|
||||
$("#timeline_" + tlid).html(templete);
|
||||
additional(acct_id, tlid);
|
||||
jQuery("time.timeago").timeago();
|
||||
todc();
|
||||
//reload(type, '', acct_id, tlid, data, mute, delc,voice);
|
||||
$(window).scrollTop(0);
|
||||
});
|
||||
|
||||
}
|
||||
//DMオブジェクトパーサー(トゥート)
|
||||
function dmParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
console.log(obj);
|
||||
var templete = '';
|
||||
if(obj[0]){
|
||||
if(tlid==1){
|
||||
console.log("testalive:"+"lastunix_"+ tlid+":"+date(obj[0].created_at, 'unix'))
|
||||
}
|
||||
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
|
||||
}
|
||||
|
||||
var actb = localStorage.getItem("action_btns");
|
||||
var actb='re,rt,fav,qt,del,pin,red';
|
||||
if(actb){
|
||||
var actb = actb.split(',');
|
||||
var disp={};
|
||||
for(var k=0;k<actb.length;k++){
|
||||
if(k<4){
|
||||
var tp="type-a";
|
||||
}else{
|
||||
var tp="type-b";
|
||||
}
|
||||
disp[actb[k]]=tp;
|
||||
}
|
||||
}
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
var nsfwtype = localStorage.getItem("nsfw");
|
||||
var sent = localStorage.getItem("sentence");
|
||||
var ltr = localStorage.getItem("letters");
|
||||
var gif = localStorage.getItem("gif");
|
||||
var imh = localStorage.getItem("img-height");
|
||||
//独自ロケール
|
||||
var locale = localStorage.getItem("locale");
|
||||
if(locale=="yes"){
|
||||
var locale=false;
|
||||
}
|
||||
//ネイティブ通知
|
||||
var native=localStorage.getItem("nativenotf");
|
||||
if(!native){
|
||||
native="yes";
|
||||
}
|
||||
//クライアント強調
|
||||
var emp = localStorage.getItem("client_emp");
|
||||
if(emp){
|
||||
var emp = JSON.parse(emp);
|
||||
}
|
||||
//クライアントミュート
|
||||
var mute = localStorage.getItem("client_mute");
|
||||
if(mute){
|
||||
var mute = JSON.parse(mute);
|
||||
}
|
||||
//ユーザー強調
|
||||
var useremp = localStorage.getItem("user_emp");
|
||||
if(useremp){
|
||||
var useremp = JSON.parse(useremp);
|
||||
}
|
||||
//ワード強調
|
||||
var wordemp = localStorage.getItem("word_emp");
|
||||
if(wordemp){
|
||||
var wordemp = JSON.parse(wordemp);
|
||||
}
|
||||
//ワードミュート
|
||||
var wordmute = localStorage.getItem("word_mute");
|
||||
if(wordmute){
|
||||
var wordmute = JSON.parse(wordmute);
|
||||
wordmute = wordmute.concat(mutefilter);
|
||||
}else{
|
||||
wordmute = mutefilter;
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
if(tickerck){
|
||||
var ticker=true;
|
||||
}else{
|
||||
var ticker=false;
|
||||
}
|
||||
//Cards
|
||||
var card = localStorage.getItem("card_" + tlid);
|
||||
|
||||
if (!sent) {
|
||||
var sent = 500;
|
||||
}
|
||||
if (!ltr) {
|
||||
var ltr = 500;
|
||||
}
|
||||
if (!nsfwtype || nsfwtype == "yes") {
|
||||
var nsfw = "ok";
|
||||
} else {
|
||||
var nsfw;
|
||||
}
|
||||
var cwtype = localStorage.getItem("cw");
|
||||
if (!cwtype || cwtype == "yes") {
|
||||
var cw = "ok";
|
||||
} else {
|
||||
var cw;
|
||||
}
|
||||
if (!datetype) {
|
||||
datetype = "absolute";
|
||||
}
|
||||
if (!gif) {
|
||||
var gif = "yes";
|
||||
}
|
||||
if (!imh) {
|
||||
var imh = "200";
|
||||
}
|
||||
if(!emp){
|
||||
var emp=[];
|
||||
}
|
||||
if(!mute){
|
||||
var mute=[];
|
||||
}
|
||||
if(!useremp){
|
||||
var useremp=[];
|
||||
}
|
||||
if(!wordemp){
|
||||
var wordemp=[];
|
||||
}
|
||||
if(!wordmute){
|
||||
var wordmute=[];
|
||||
}
|
||||
//via通知
|
||||
var viashow=localStorage.getItem("viashow");
|
||||
if(!viashow){
|
||||
viashow="via-hide";
|
||||
}
|
||||
if(viashow=="hide"){
|
||||
viashow="via-hide";
|
||||
}
|
||||
//認証なしTL
|
||||
if(mix=="noauth"){
|
||||
var noauth="hide";
|
||||
var antinoauth="";
|
||||
}else{
|
||||
var noauth="";
|
||||
var antinoauth="hide";
|
||||
}
|
||||
//マウスオーバーのみ
|
||||
var mouseover=localStorage.getItem("mouseover");
|
||||
if(!mouseover){
|
||||
mouseover="";
|
||||
}else if(mouseover=="yes" || mouseover=="click"){
|
||||
mouseover="hide";
|
||||
}else if(mouseover=="no"){
|
||||
mouseover="";
|
||||
}
|
||||
var local = [];
|
||||
var times=[];
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var toot = obj[key].last_status;
|
||||
var dis_name=escapeHTML(toot.account.display_name);
|
||||
if(toot.account.emojis){
|
||||
var actemojick = toot.account.emojis[0];
|
||||
}else{
|
||||
var actemojick=false;
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
var emoji = toot.account.emojis[key5];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url +
|
||||
'" class="emoji-img" data-emoji="'+shortcode+'" alt=" :'+shortcode+': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
dis_name = dis_name.replace(regExp, emoji_url);
|
||||
|
||||
});
|
||||
}
|
||||
var noticeavatar="";
|
||||
var if_notf="";
|
||||
var uniqueid=toot.id;
|
||||
var notice = "";
|
||||
var boostback = "";
|
||||
//ユーザー強調
|
||||
if(toot.account.username!=toot.account.acct){
|
||||
var fullname=toot.account.acct;
|
||||
}else{
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var fullname=toot.account.acct+"@"+domain;
|
||||
}
|
||||
if(useremp){
|
||||
Object.keys(useremp).forEach(function(key10) {
|
||||
var user = useremp[key10];
|
||||
if(user==fullname){
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
}
|
||||
var id = toot.id;
|
||||
var home = "";
|
||||
if (toot.account.locked) {
|
||||
var locked = ' <i class="fa fa-lock red-text"></i>';
|
||||
} else {
|
||||
var locked = "";
|
||||
}
|
||||
if (!toot.application) {
|
||||
var via = '';
|
||||
viashow="hide";
|
||||
} else {
|
||||
var via = toot.application.name;
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function(key6) {
|
||||
var cli = emp[key6];
|
||||
if(cli == via){
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
//ミュートチェック
|
||||
Object.keys(mute).forEach(function(key7) {
|
||||
var cli = mute[key7];
|
||||
if(cli == via){
|
||||
boostback = "hide";
|
||||
}
|
||||
});
|
||||
}
|
||||
if(mix=="pinned"){
|
||||
boostback = "emphasized";
|
||||
}
|
||||
if (toot.spoiler_text && cw) {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var api_spoil = "gray";
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed">'+lang.lang_parse_cwshow+'</a><br>';
|
||||
} else {
|
||||
var ct1 = toot.content.split('</p>').length + toot.content.split('<br />').length -2;
|
||||
var ct2 = toot.content.split('</p>').length + toot.content.split('<br>').length -2;
|
||||
if(ct1>ct2){ var ct= ct1; }else{ var ct= ct2; }
|
||||
if ((sent < ct && $.mb_strlen($.strip_tags(toot.content)) > 5) || ($.strip_tags(toot.content).length > ltr && $.mb_strlen($.strip_tags(toot.content)) > 5)) {
|
||||
var content = '<span class="gray">'+lang.lang_parse_fulltext+'</span><br>' + toot.content
|
||||
var spoil = '<span class="cw-long-' + toot.id + '">' + $.mb_substr($.strip_tags(
|
||||
toot.content), 0, 100) +
|
||||
'</span><span class="gray">'+lang.lang_parse_autofold+'</span>';
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed">'+lang.lang_parse_more+'</a><br>';
|
||||
} else {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
var spoiler = "";
|
||||
var spoiler_show = "";
|
||||
}
|
||||
}
|
||||
var urls = $.strip_tags(content).replace(/\n/g, " ").match(
|
||||
/https?:\/\/([-a-zA-Z0-9@.]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/
|
||||
);
|
||||
if (urls) {
|
||||
var analyze = '<a onclick="additionalIndv(\'' + tlid + '\',' + acct_id +
|
||||
',\'' + id + '\')" class="add-show pointer">'+lang.lang_parse_url+'</a><br>';
|
||||
} else {
|
||||
var analyze = '';
|
||||
}
|
||||
var viewer = "";
|
||||
var hasmedia = "";
|
||||
var youtube = "";
|
||||
if(toot.emojis){
|
||||
var emojick = toot.emojis[0];
|
||||
}else{
|
||||
var emojick=false;
|
||||
}
|
||||
//絵文字があれば
|
||||
if (emojick) {
|
||||
Object.keys(toot.emojis).forEach(function(key5) {
|
||||
var emoji = toot.emojis[key5];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url +
|
||||
'" class="emoji-img" data-emoji="'+shortcode+'" alt=" :'+shortcode+': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
content = content.replace(regExp, emoji_url);
|
||||
spoil = spoil.replace(regExp, emoji_url);
|
||||
});
|
||||
}
|
||||
//ニコフレ絵文字
|
||||
if(toot.profile_emojis){
|
||||
var nicoemojick = toot.profile_emojis[0];
|
||||
}else{
|
||||
var nicoemojick=false;
|
||||
}
|
||||
//絵文字があれば
|
||||
if (nicoemojick) {
|
||||
Object.keys(toot.profile_emojis).forEach(function(keynico) {
|
||||
var emoji = toot.profile_emojis[keynico];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url +
|
||||
'" class="emoji-img" data-emoji="'+shortcode+'" alt=" :'+shortcode+': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
content = content.replace(regExp, emoji_url);
|
||||
spoil = spoil.replace(regExp, emoji_url);
|
||||
});
|
||||
}
|
||||
//デフォ絵文字
|
||||
content=twemoji.parse(content);
|
||||
if(dis_name){
|
||||
dis_name=twemoji.parse(dis_name);
|
||||
}
|
||||
if(spoil){
|
||||
spoil=twemoji.parse(spoil);
|
||||
}
|
||||
var mediack = toot.media_attachments[0];
|
||||
//メディアがあれば
|
||||
var media_ids="";
|
||||
if (mediack) {
|
||||
hasmedia = "hasmedia";
|
||||
var cwdt = 100 / toot.media_attachments.length;
|
||||
Object.keys(toot.media_attachments).forEach(function(key2) {
|
||||
var media = toot.media_attachments[key2];
|
||||
var purl = media.preview_url;
|
||||
media_ids=media_ids+media.id+",";
|
||||
var url = media.url;
|
||||
if (toot.sensitive && nsfw) {
|
||||
var sense = "sensitive"
|
||||
} else {
|
||||
var sense = ""
|
||||
}
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
|
||||
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
'" data-type="' + media.type + '" class="img-parsed"><img src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="width:' + cwdt + '%; height:'+imh+'px;"></a></span>';
|
||||
});
|
||||
media_ids = media_ids.slice(0, -1) ;
|
||||
} else {
|
||||
viewer = "";
|
||||
hasmedia = "nomedia";
|
||||
}
|
||||
var menck = toot.mentions[0];
|
||||
var mentions = "";
|
||||
//メンションであれば
|
||||
if (menck) {
|
||||
mentions = "";
|
||||
Object.keys(toot.mentions).forEach(function(key3) {
|
||||
var mention = toot.mentions[key3];
|
||||
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
|
||||
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
|
||||
});
|
||||
mentions = '<div style="float:right">' + mentions + '</div>';
|
||||
}
|
||||
var tagck = toot.tags[0];
|
||||
var tags = "";
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function(key4) {
|
||||
var tag = toot.tags[key4];
|
||||
tags = tags + '<span class="hide" data-tag="' + tag.name + '">#' + tag.name + ':<a onclick="tl(\'tag\',\'' + tag.name + '\',' + acct_id +
|
||||
',\'add\')" class="pointer" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag.name)+ '">TL</a> <a onclick="brInsert(\'#' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag.name) + '">Toot</a> '+
|
||||
'<a onclick="tagPin(\'' + tag.name + '\')" class="pointer" title="' +lang.lang_parse_tagpin.replace("{{tag}}" ,'#'+tag.name)+ '">Pin</a></span> ';
|
||||
});
|
||||
tags = '<div style="float:right">' + tags + '</div>';
|
||||
}
|
||||
//リプ数
|
||||
if(toot.replies_count || toot.replies_count===0){
|
||||
var replyct=toot.replies_count;
|
||||
}else{
|
||||
var replyct="";
|
||||
}
|
||||
//公開範囲を取得
|
||||
var vis = "";
|
||||
var visen = toot.visibility;
|
||||
if (visen == "public") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons gray sml vis-data pointer" title="'+lang.lang_parse_public+'('+lang.lang_parse_clickcopy+')" data-vis="public" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">public</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "unlisted") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="'+lang.lang_parse_unlisted+'('+lang.lang_parse_clickcopy+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock_open</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "private") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="'+lang.lang_parse_private+'('+lang.lang_parse_clickcopy+')" data-vis="private" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock</i>';
|
||||
var can_rt = "hide";
|
||||
} else if (visen == "direct") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="'+lang.lang_parse_direct+'('+lang.lang_parse_clickcopy+')" data-vis="direct" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">mail</i>';
|
||||
var can_rt = "hide";
|
||||
}
|
||||
if (toot.account.acct == localStorage.getItem("user_" + acct_id)) {
|
||||
var if_mine = "";
|
||||
var mine_via="type-b";
|
||||
} else {
|
||||
var if_mine = "hide";
|
||||
var mine_via="";
|
||||
}
|
||||
if (toot.favourited) {
|
||||
var if_fav = " yellow-text";
|
||||
var fav_app = "faved";
|
||||
} else {
|
||||
var if_fav = "";
|
||||
var fav_app = "";
|
||||
}
|
||||
if (toot.reblogged) {
|
||||
var if_rt = "teal-text";
|
||||
var rt_app = "rted";
|
||||
} else {
|
||||
var if_rt = "";
|
||||
var rt_app = "";
|
||||
}
|
||||
if (toot.pinned) {
|
||||
var if_pin = "blue-text";
|
||||
var pin_app = "pinned";
|
||||
} else {
|
||||
var if_pin = "";
|
||||
var pin_app = "";
|
||||
}
|
||||
//アニメ再生
|
||||
if (gif == "yes") {
|
||||
var avatar = toot.account.avatar;
|
||||
} else {
|
||||
var avatar = toot.account.avatar_static;
|
||||
}
|
||||
//ワードミュート
|
||||
if(wordmute){
|
||||
Object.keys(wordmute).forEach(function(key8) {
|
||||
var worde = wordmute[key8];
|
||||
if(worde){
|
||||
if(worde.tag){
|
||||
var word=worde.tag;
|
||||
}else{
|
||||
var word=worde
|
||||
}
|
||||
var regExp = new RegExp( word, "g" ) ;
|
||||
if($.strip_tags(content).match(regExp)){
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//ワード強調
|
||||
if(wordemp){
|
||||
Object.keys(wordemp).forEach(function(key9) {
|
||||
var word = wordemp[key9];
|
||||
if(word){
|
||||
var word=word.tag;
|
||||
var regExp = new RegExp( word, "g" ) ;
|
||||
content=content.replace(regExp,'<span class="emp">'+word+"</span>");
|
||||
}
|
||||
});
|
||||
}
|
||||
//日本語じゃない
|
||||
if(toot.language!="ja"){
|
||||
var trans='<div class="action pin"><a onclick="trans(\''+toot.language+'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_trans+'"><i class="material-icons">g_translate</i></a></div>';
|
||||
}else{
|
||||
var trans="";
|
||||
}
|
||||
//Cards
|
||||
if (!card && toot.card) {
|
||||
var cards=toot.card;
|
||||
if (cards.provider_name=="Twitter"){
|
||||
if(cards.image){
|
||||
var twiImg='<br><img src="'+cards.image+'">';
|
||||
}else{
|
||||
var twiImg='';
|
||||
}
|
||||
analyze='<blockquote class="twitter-tweet"><b>'+escapeHTML(cards.author_name)+'</b><br>'+escapeHTML(cards.description)+twiImg+'</blockquote>';
|
||||
}
|
||||
if (cards.title) {
|
||||
analyze="<span class=\"gray\">URL"+lang.lang_cards_check+":<br>Title:" + escapeHTML(cards.title) + "<br>" +
|
||||
escapeHTML(cards.description) + "</span>";
|
||||
}
|
||||
if (cards.html) {
|
||||
analyze=cards.html+'<i class="material-icons" onclick="pip('+id+')" title="'+lang.lang_cards_pip+'">picture_in_picture_alt</i>';
|
||||
}
|
||||
|
||||
}
|
||||
//Ticker
|
||||
var tickerdom="";
|
||||
if(ticker){
|
||||
var tickerdata=localStorage.getItem("ticker")
|
||||
if(tickerdata){
|
||||
var tickerdata=JSON.parse(tickerdata);
|
||||
|
||||
var thisdomain=toot.account.acct.split("@");
|
||||
if(thisdomain.length>1){
|
||||
thisdomain=thisdomain[1];
|
||||
}
|
||||
for( var i=0; i<tickerdata.length; i++) {
|
||||
var value=tickerdata[i];
|
||||
if(value.domain==thisdomain){
|
||||
var tickerdom='<div style="background:linear-gradient(to left,transparent, '+value.bg+' 96%) !important; color:'+value.text+';width:100%; height:0.9rem; font-size:0.8rem;"><img src="'+value.image+'" style="height:100%;"><span style="position:relative; top:-0.2rem;"> '+value.name+'</span></div>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
|
||||
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + pin_app +
|
||||
' ' + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="'+media_ids+' " unixtime="' + date(obj[
|
||||
key].created_at, 'unix') + '" '+if_notf+' onclick="dmStatus()">' +
|
||||
'<div class="area-notice"><span class="gray sharesta">' + notice + home +
|
||||
'</span></div>' +
|
||||
'<div class="area-icon"><a onclick="udg(\'' + toot.account.id +
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="udg">' +
|
||||
'<img src="' + avatar +
|
||||
'" width="40" class="prof-img" user="' + toot.account.acct +
|
||||
'"></a>'+noticeavatar+'</div>' +
|
||||
'<div class="area-display_name"><div class="flex-name"><span class="user">' +
|
||||
dis_name +
|
||||
'</span><span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;"> @' +
|
||||
toot.account.acct + locked + '</span></div>' +
|
||||
'<div class="flex-time"><span class="cbadge cbadge-hover pointer waves-effect" onclick="tootUriCopy(\'' +
|
||||
toot.url + '\');" title="' + date(toot.created_at, 'absolute') +
|
||||
'('+lang.lang_parse_clickcopyurl+')"><i class="fa fa-clock-o"></i>' +
|
||||
date(toot.created_at, datetype) + '</span>' +
|
||||
'</div></div>' +
|
||||
'<div class="area-toot">'+tickerdom+'<span class="' +
|
||||
api_spoil + ' cw_text_' + toot.id + '"><span class="cw_text">' + spoil + "</span>" + spoiler_show +
|
||||
'</span><span class="toot ' + spoiler + '">' + content +
|
||||
'</span>' +
|
||||
'' + viewer + '' +
|
||||
'</div>'+
|
||||
'<div class="area-vis"></div>'+
|
||||
'</div></div>';
|
||||
});
|
||||
return templete;
|
||||
}
|
@@ -14,6 +14,29 @@ function mediaToggle(tlid) {
|
||||
$("#timeline_"+tlid).addClass("media-filter")
|
||||
}
|
||||
}
|
||||
//各TL上方のBT[BTOnly/BTExc/Off]
|
||||
function ebtToggle(tlid) {
|
||||
var ebt = localStorage.getItem("ebt_" + tlid);
|
||||
if (ebt=="true") {
|
||||
localStorage.setItem("ebt_" + tlid, "but");
|
||||
$("#sta-bt-" + tlid).text("BT Only");
|
||||
$("#sta-bt-" + tlid).css("color",'#ff9800');
|
||||
$("#timeline_"+tlid).addClass("except-bt-filter")
|
||||
$("#timeline_"+tlid).removeClass("bt-filter")
|
||||
}else if (ebt=="but") {
|
||||
localStorage.removeItem("ebt_" + tlid);
|
||||
$("#sta-bt-" + tlid).text("Off");
|
||||
$("#sta-bt-" + tlid).css("color",'red');
|
||||
$("#timeline_"+tlid).removeClass("bt-filter")
|
||||
$("#timeline_"+tlid).removeClass("except-bt-filter")
|
||||
} else {
|
||||
localStorage.setItem("ebt_" + tlid, "true");
|
||||
$("#sta-bt-" + tlid).text("BT Ex");
|
||||
$("#sta-bt-" + tlid).css("color",'#009688');
|
||||
$("#timeline_"+tlid).addClass("bt-filter")
|
||||
$("#timeline_"+tlid).removeClass("except-bt-filter")
|
||||
}
|
||||
}
|
||||
//各TL上方のMedia[On/Off]をチェック
|
||||
function mediaCheck(tlid) {
|
||||
var media = localStorage.getItem("media_" + tlid);
|
||||
@@ -27,6 +50,26 @@ function mediaCheck(tlid) {
|
||||
$("#timeline_"+tlid).removeClass("media-filter")
|
||||
}
|
||||
}
|
||||
//各TL上方のBT[On/Off]をチェック
|
||||
function ebtCheck(tlid) {
|
||||
var ebt = localStorage.getItem("ebt_" + tlid);
|
||||
if (ebt=="true") {
|
||||
$("#sta-bt-" + tlid).text("BT Ex");
|
||||
$("#sta-bt-" + tlid).css("color",'#009688');
|
||||
$("#timeline_"+tlid).addClass("bt-filter")
|
||||
$("#timeline_"+tlid).removeClass("except-bt-filter")
|
||||
} else if (ebt=="but") {
|
||||
$("#sta-bt-" + tlid).text("BT Only");
|
||||
$("#sta-bt-" + tlid).css("color",'#ff9800');
|
||||
$("#timeline_"+tlid).addClass("except-bt-filter")
|
||||
$("#timeline_"+tlid).removeClass("bt-filter")
|
||||
} else{
|
||||
$("#sta-bt-" + tlid).text("Off");
|
||||
$("#sta-bt-" + tlid).css("color",'red');
|
||||
$("#timeline_"+tlid).removeClass("bt-filter")
|
||||
$("#timeline_"+tlid).removeClass("except-bt-filter")
|
||||
}
|
||||
}
|
||||
/* 削除追跡*/
|
||||
function catchToggle(tlid) {
|
||||
var catchck = localStorage.getItem("catch_" + tlid);
|
||||
|
@@ -15,18 +15,16 @@ function notfColumn(acct_id, tlid, sys){
|
||||
native="yes";
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
console.log(start)
|
||||
var httpreq = new XMLHttpRequest();
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
var misskey=true;
|
||||
var start = "https://" + domain + "/api/i/notifications";
|
||||
var i={
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
},
|
||||
body:JSON.stringify({
|
||||
i:at
|
||||
})
|
||||
}
|
||||
httpreq.open(POST, start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
var body=JSON.stringify({
|
||||
i:at
|
||||
});
|
||||
}else{
|
||||
var misskey=false;
|
||||
if(localStorage.getItem("exclude-"+tlid)){
|
||||
@@ -35,73 +33,72 @@ function notfColumn(acct_id, tlid, sys){
|
||||
var exc="";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/notifications"+exc;
|
||||
var i={
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
httpreq.open("GET", start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
var body="";
|
||||
}
|
||||
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.send(body);
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
var json = httpreq.response;
|
||||
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
||||
if(json[0]){
|
||||
var templete="";
|
||||
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
|
||||
localStorage.setItem("lastnotf_" + acct_id,json[0].id);
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var obj = json[key];
|
||||
if(lastnotf==obj.id && key>0 && native=="yes"){
|
||||
var ct=key;
|
||||
if(key>14){
|
||||
ct="15+";
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: ct+lang_notf_new[lang],
|
||||
icon: localStorage.getItem("prof_"+acct_id)
|
||||
};
|
||||
if(os=="darwin"){
|
||||
var n = new Notification('TheDesk:'+domain, options);
|
||||
}else{
|
||||
ipc.send('native-notf', ['TheDesk:'+domain,ct+lang_notf_new[lang],localStorage.getItem("prof_"+acct_id)]);
|
||||
}
|
||||
|
||||
}
|
||||
if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
|
||||
var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),"notif");
|
||||
}else{
|
||||
var mute=[];
|
||||
}
|
||||
if(obj.type!="follow"){
|
||||
if(misskey){
|
||||
templete = templete+misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}else{
|
||||
templete = templete+parse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}
|
||||
}else{
|
||||
if(misskey){
|
||||
templete = templete+misskeyUserparse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}else{
|
||||
templete = templete+userparse([obj.account], 'notf', acct_id, 'notf', -1);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
templete=templete+'<div class="hide notif-marker" data-maxid="'+max_id+'"></div>';
|
||||
$("#timeline_" + tlid).html(templete);
|
||||
$("#landing_" + tlid).hide();
|
||||
jQuery("time.timeago").timeago();
|
||||
}
|
||||
$("#notf-box").addClass("fetched");
|
||||
todc();
|
||||
}
|
||||
}
|
||||
fetch(start, i).then(function(response) {
|
||||
console.log(response.headers.get('link'));
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(json[0]){
|
||||
var templete="";
|
||||
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
|
||||
localStorage.setItem("lastnotf_" + acct_id,json[0].id);
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var obj = json[key];
|
||||
if(lastnotf==obj.id && key>0 && native=="yes"){
|
||||
var ct=key;
|
||||
if(key>14){
|
||||
ct="15+";
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: ct+lang_notf_new[lang],
|
||||
icon: localStorage.getItem("prof_"+acct_id)
|
||||
};
|
||||
if(os=="darwin"){
|
||||
var n = new Notification('TheDesk:'+domain, options);
|
||||
}else{
|
||||
ipc.send('native-notf', ['TheDesk:'+domain,ct+lang_notf_new[lang],localStorage.getItem("prof_"+acct_id)]);
|
||||
}
|
||||
|
||||
}
|
||||
if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
|
||||
var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),"notif");
|
||||
}else{
|
||||
var mute=[];
|
||||
}
|
||||
if(obj.type!="follow"){
|
||||
if(misskey){
|
||||
templete = templete+misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}else{
|
||||
templete = templete+parse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}
|
||||
}else{
|
||||
if(misskey){
|
||||
templete = templete+misskeyUserparse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}else{
|
||||
templete = templete+userparse([obj.account], 'notf', acct_id, 'notf', -1);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
$("#timeline_" + tlid).html(templete);
|
||||
$("#landing_" + tlid).hide();
|
||||
jQuery("time.timeago").timeago();
|
||||
}
|
||||
$("#notf-box").addClass("fetched");
|
||||
todc();
|
||||
});
|
||||
if(!misskey){
|
||||
if(localStorage.getItem("streaming_" + acct_id)){
|
||||
var wss=localStorage.getItem("streaming_" + acct_id)
|
||||
@@ -171,6 +168,7 @@ function notfColumn(acct_id, tlid, sys){
|
||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
||||
$(".tl[data-notf=" + acct_id +"]").prepend(templete);
|
||||
}
|
||||
$(".notf-timeline[data-acct=" + acct_id +"]").prepend(templete);
|
||||
jQuery("time.timeago").timeago();
|
||||
} else if (type == "delete") {
|
||||
$("[toot-id=" + obj + "]").hide();
|
||||
@@ -354,6 +352,8 @@ function notfCommon(acct_id, tlid, sys) {
|
||||
}
|
||||
//一定のスクロールで発火
|
||||
function notfmore(tlid) {
|
||||
console.log(moreloading);
|
||||
console.log("kicked");
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
var acct_id = obj[tlid].domain;
|
||||
@@ -362,72 +362,79 @@ function notfmore(tlid) {
|
||||
}else{
|
||||
var data;
|
||||
}
|
||||
var sid = $("#timeline_" + tlid + " .cvo").last().attr("toot-id");
|
||||
console.log(sid);
|
||||
if (localStorage.getItem("morelock") != sid) {
|
||||
localStorage.setItem("morelock", sid);
|
||||
localStorage.setItem("now", type);
|
||||
todo("Notfication TL MoreLoading");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
var misskey=true;
|
||||
var start = "https://" + domain + "/api/i/notifications";
|
||||
var i={
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
},
|
||||
body:JSON.stringify({
|
||||
i:at,
|
||||
untilId:sid
|
||||
})
|
||||
}
|
||||
}else{
|
||||
var misskey=false;
|
||||
var start = "https://" + domain + "/api/v1/notifications"+
|
||||
"max_id=" + sid;
|
||||
var i={
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
}
|
||||
}
|
||||
fetch(start, i,
|
||||
).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
var templete="";
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var obj = json[key];
|
||||
if(obj.type!="follow"){
|
||||
if(misskey){
|
||||
templete = templete+misskeyParse([obj.note], '', acct_id, tlid, -1);
|
||||
}else{
|
||||
templete = templete+parse([obj], '', acct_id, tlid, -1);
|
||||
}
|
||||
}else{
|
||||
if(misskey){
|
||||
templete = templete+misskeyUserparse([obj], '', acct_id, tlid, -1);
|
||||
}else{
|
||||
templete = templete+userparse([obj.account], '', acct_id, tlid, -1);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
$("#timeline_" + tlid).append(templete);
|
||||
additional(acct_id, tlid);
|
||||
jQuery("time.timeago").timeago();
|
||||
localStorage.removeItem("morelock")
|
||||
todc();
|
||||
var sid = $("#timeline_" + tlid + " .notif-marker").last().attr("data-maxid");
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if (sid && !moreloading) {
|
||||
moreloading=true;
|
||||
var httpreq = new XMLHttpRequest();
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
var misskey=true;
|
||||
var start = "https://" + domain + "/api/i/notifications";
|
||||
httpreq.open(POST, start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
var body=JSON.stringify({
|
||||
i:at,
|
||||
untilID:sid
|
||||
});
|
||||
}else{
|
||||
var misskey=false;
|
||||
if(localStorage.getItem("exclude-"+tlid)){
|
||||
var exc=localStorage.getItem("exclude-"+tlid)+"&max_id="+sid;
|
||||
}else{
|
||||
var exc="?max_id="+sid;
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/notifications"+exc;
|
||||
httpreq.open("GET", start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
var body="";
|
||||
}
|
||||
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.send(body);
|
||||
httpreq.onreadystatechange = function() {
|
||||
if (httpreq.readyState == 4) {
|
||||
var json = httpreq.response;
|
||||
console.log(json);
|
||||
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
|
||||
if(json[0]){
|
||||
var templete="";
|
||||
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
|
||||
localStorage.setItem("lastnotf_" + acct_id,json[0].id);
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var obj = json[key];
|
||||
if(localStorage.getItem("filter_"+ acct_id)!="undefined"){
|
||||
var mute=getFilterType(JSON.parse(localStorage.getItem("filter_"+ acct_id)),"notif");
|
||||
}else{
|
||||
var mute=[];
|
||||
}
|
||||
if(obj.type!="follow"){
|
||||
if(misskey){
|
||||
templete = templete+misskeyParse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}else{
|
||||
templete = templete+parse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}
|
||||
}else{
|
||||
if(misskey){
|
||||
templete = templete+misskeyUserparse([obj], 'notf', acct_id, 'notf', -1, mute);
|
||||
}else{
|
||||
templete = templete+userparse([obj.account], 'notf', acct_id, 'notf', -1);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
moreloading=false;
|
||||
templete=templete+'<div class="hide notif-marker" data-maxid="'+max_id+'"></div>';
|
||||
$("#timeline_" + tlid).append(templete);
|
||||
$("#landing_" + tlid).hide();
|
||||
jQuery("time.timeago").timeago();
|
||||
}
|
||||
$("#notf-box").addClass("fetched");
|
||||
todc();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//通知トグルボタン
|
||||
|
@@ -73,10 +73,16 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}else{
|
||||
var ticker=false;
|
||||
}
|
||||
//Animation
|
||||
var anime = localStorage.getItem("animation");
|
||||
if (anime=="yes" || !anime) {
|
||||
var animecss="cvo-anime";
|
||||
}else{
|
||||
var animecss="";
|
||||
}
|
||||
//Cards
|
||||
var card = localStorage.getItem("card_" + tlid);
|
||||
|
||||
|
||||
if (!sent) {
|
||||
var sent = 500;
|
||||
}
|
||||
@@ -324,7 +330,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
} else {
|
||||
var uniqueid=toot.id;
|
||||
var notice = "";
|
||||
var boostback = "";
|
||||
var boostback = "unshared";
|
||||
//ユーザー強調
|
||||
if(toot.account.username!=toot.account.acct){
|
||||
var fullname=toot.account.acct;
|
||||
@@ -616,26 +622,29 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
//Cards
|
||||
if (!card && toot.card) {
|
||||
var cards=toot.card;
|
||||
if (cards.provider_name=="Twitter"){
|
||||
if(cards.image){
|
||||
var twiImg='<br><img src="'+cards.image+'">';
|
||||
}else{
|
||||
var twiImg='';
|
||||
if (cards.provider_name=="Twitter"){
|
||||
if(cards.image){
|
||||
var twiImg='<br><img src="'+cards.image+'">';
|
||||
}else{
|
||||
var twiImg='';
|
||||
}
|
||||
analyze='<blockquote class="twitter-tweet"><b>'+escapeHTML(cards.author_name)+'</b><br>'+escapeHTML(cards.description)+twiImg+'</blockquote>';
|
||||
}
|
||||
analyze='<blockquote class="twitter-tweet"><b>'+escapeHTML(cards.author_name)+'</b><br>'+escapeHTML(cards.description)+twiImg+'</blockquote>';
|
||||
}
|
||||
if (cards.title) {
|
||||
analyze="<span class=\"gray\">URL"+lang.lang_cards_check+":<br>Title:" + escapeHTML(cards.title) + "<br>" +
|
||||
escapeHTML(cards.description) + "</span>";
|
||||
}
|
||||
if (cards.html) {
|
||||
analyze=cards.html+'<i class="material-icons" onclick="pip('+id+')" title="'+lang.lang_cards_pip+'">picture_in_picture_alt</i>';
|
||||
}
|
||||
if (cards.title) {
|
||||
analyze="<span class=\"gray\">URL"+lang.lang_cards_check+":<br>Title:" + escapeHTML(cards.title) + "<br>" +
|
||||
escapeHTML(cards.description) + "</span>";
|
||||
}
|
||||
if (cards.html) {
|
||||
analyze=cards.html+'<i class="material-icons" onclick="pip('+id+')" title="'+lang.lang_cards_pip+'">picture_in_picture_alt</i>';
|
||||
}
|
||||
|
||||
}
|
||||
//Ticker
|
||||
var tickerdom="";
|
||||
if(ticker){
|
||||
var tickerdata=JSON.parse(localStorage.getItem("ticker"));
|
||||
var tickerdata=localStorage.getItem("ticker")
|
||||
if(tickerdata){
|
||||
var tickerdata=JSON.parse(tickerdata);
|
||||
|
||||
var thisdomain=toot.account.acct.split("@");
|
||||
if(thisdomain.length>1){
|
||||
@@ -649,9 +658,37 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Poll
|
||||
var poll="";
|
||||
if(toot.poll){
|
||||
var choices=toot.poll.options;
|
||||
if(toot.poll.voted){
|
||||
var myvote=lang.lang_parse_voted;
|
||||
var result_hide="";
|
||||
}else{
|
||||
myvote='<a onclick="voteMastodon(\''+acct_id+'\',\''+toot.poll.id+'\')" class="votebtn">'+lang.lang_parse_vote+'</a><br>';
|
||||
myvote=myvote+'<a onclick="showResult(\''+acct_id+'\',\''+toot.poll.id+'\')" class="pointer">'+lang.lang_parse_unvoted+"</a>";
|
||||
var result_hide="hide";
|
||||
}
|
||||
Object.keys(choices).forEach(function(keyc) {
|
||||
var choice = choices[keyc];
|
||||
if(!toot.poll.voted){
|
||||
var votesel='voteSelMastodon(\''+acct_id+'\',\''+toot.poll.id+'\','+keyc+','+toot.poll.multiple+')';
|
||||
var voteclass="pointer waves-effect waves-light";
|
||||
}else{
|
||||
var votesel="";
|
||||
var voteclass="";
|
||||
}
|
||||
poll=poll+'<div class="'+voteclass+' vote vote_'+acct_id+'_'+toot.poll.id+'_'+keyc+'" onclick="'+votesel+'">'+choice.title+'<span class="vote_'+acct_id+'_'+toot.poll.id+'_result '+result_hide+'">('+choice.votes_count+')</span></div>';
|
||||
});
|
||||
poll='<div class="vote_'+acct_id+'_'+toot.poll.id+'">'+poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
||||
'"><i class="fa fa-calendar-times-o"></i>' +
|
||||
date(toot.poll.expires_at, datetype) + '</span></div>';
|
||||
}
|
||||
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' +
|
||||
boostback + ' ' + fav_app + ' ' + rt_app + ' ' + pin_app +
|
||||
' ' + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="'+media_ids+' " unixtime="' + date(obj[
|
||||
' ' + hasmedia + ' '+animecss+'" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="'+media_ids+' " unixtime="' + date(obj[
|
||||
key].created_at, 'unix') + '" '+if_notf+' onmouseover="mov(\'' + toot.id + '\',\''+tlid+'\',\'mv\')" onclick="mov(\'' + toot.id + '\',\''+tlid+'\',\'cl\')" onmouseout="resetmv(\'mv\')">' +
|
||||
'<div class="area-notice"><span class="gray sharesta">' + notice + home +
|
||||
'</span></div>' +
|
||||
@@ -676,7 +713,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'' + viewer + '' +
|
||||
'</div><div class="area-additional"><span class="additional">' + analyze +
|
||||
'</span>' +
|
||||
'' + mentions + tags + '</div>' +
|
||||
'' +poll+ mentions + tags + '</div>' +
|
||||
'<div class="area-vis"></div>'+
|
||||
'<div class="area-actions '+mouseover+'">' +
|
||||
'<div class="action">'+vis+'</div>'+
|
||||
@@ -754,8 +791,8 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
var auth = "";
|
||||
}
|
||||
var ftxt=lang.lang_parse_followed;
|
||||
if(!locale && localStorage.getItem("follow_" + acct_id)){
|
||||
ftxt = localStorage.getItem("follow_" + acct_id);
|
||||
if(!locale && localStorage.getItem("followlocale_" + acct_id)){
|
||||
ftxt = localStorage.getItem("followlocale_" + acct_id);
|
||||
}
|
||||
if(popup > 0 || popup==-1 || notf){
|
||||
var notftext=ftxt+'<br>';
|
||||
|
119
app/js/tl/poll.js
Normal file
119
app/js/tl/poll.js
Normal file
@@ -0,0 +1,119 @@
|
||||
//アンケートのトグル
|
||||
function pollToggle() {
|
||||
if ($("#poll").hasClass("hide")) {
|
||||
$("#right-side").show()
|
||||
$("#poll").removeClass("hide")
|
||||
} else {
|
||||
$("#right-side").hide()
|
||||
$("#emoji").addClass("hide")
|
||||
$("#poll").addClass("hide")
|
||||
}
|
||||
}
|
||||
function pollProviderCk(){
|
||||
$(".poll-provider").addClass("hide");
|
||||
$("#"+$("#poll-sel").val()).removeClass("hide");
|
||||
}
|
||||
/*
|
||||
function pollAddtime(num){
|
||||
var last=$("#expires_in").val();
|
||||
last=last*1-(num*-1);
|
||||
$("#expires_in").val(last);
|
||||
pollCalc();
|
||||
}
|
||||
*/
|
||||
function pollCalc(){
|
||||
var days=$("#days_poll").val();
|
||||
var hrs=$("#hours_poll").val();
|
||||
var mins=$("#mins_poll").val();
|
||||
console.log(days*86400+hrs*3600+mins*60)
|
||||
return days*86400+hrs*3600+mins*60;
|
||||
|
||||
}
|
||||
//Vote
|
||||
function voteSelMastodon(acct_id,id,to,mul){
|
||||
console.log('.vote_'+acct_id+'_'+id+'_'+to);
|
||||
if($('.vote_'+acct_id+'_'+id+'_'+to).hasClass("sel")){
|
||||
$('.vote_'+acct_id+'_'+id+'_'+to).css("background-color","transparent")
|
||||
$('.vote_'+acct_id+'_'+id+'_'+to).removeClass("sel");
|
||||
}else{
|
||||
if(!mul){
|
||||
$('.vote_'+acct_id+'_'+id+' div' ).each(function(i, elem) {
|
||||
if(i==to){
|
||||
$(this).css("background-color","var(--emphasized)");
|
||||
$(this).addClass("sel");
|
||||
}else{
|
||||
$(this).css("background-color","transparent")
|
||||
$(this).removeClass("sel");
|
||||
}
|
||||
});
|
||||
}else{
|
||||
$('.vote_'+acct_id+'_'+id+'_'+to).css("background-color","var(--emphasized)")
|
||||
$('.vote_'+acct_id+'_'+id+'_'+to).addClass("sel");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
function voteMastodon(acct_id,id){
|
||||
var choice=[];
|
||||
$('.vote_'+acct_id+'_'+id+' div' ).each(function(i, elem) {
|
||||
if($(this).hasClass("sel")){
|
||||
choice.push(i+"");
|
||||
}
|
||||
});
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/polls/"+id+"/votes";
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
return false;
|
||||
}
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = 'json';
|
||||
httpreq.send(JSON.stringify({choices:choice}));
|
||||
httpreq.onreadystatechange = function() {
|
||||
voteMastodonrefresh(acct_id,id)
|
||||
}
|
||||
}
|
||||
function showResult(acct_id,id){
|
||||
$('.vote_'+acct_id+'_'+id+'_result').toggleClass("hide")
|
||||
}
|
||||
function voteMastodonrefresh(acct_id,id){
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
if (!datetype) {
|
||||
datetype = "absolute";
|
||||
}
|
||||
var httpreqd = new XMLHttpRequest();
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/polls/"+id;
|
||||
httpreqd.open('GET', start, true);
|
||||
httpreqd.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreqd.responseType = 'json';
|
||||
httpreqd.send(JSON.stringify({i:at,noteId:id}));
|
||||
httpreqd.onreadystatechange = function() {
|
||||
if (httpreqd.readyState == 4) {
|
||||
var json = httpreqd.response;
|
||||
console.log(json);
|
||||
if(!json){
|
||||
return false;
|
||||
}
|
||||
var poll="";
|
||||
var choices=json.options;
|
||||
var myvote=lang.lang_parse_voted;
|
||||
var result_hide="";
|
||||
Object.keys(choices).forEach(function(keyc) {
|
||||
var choice = choices[keyc];
|
||||
if(!json.voted){
|
||||
votesel='voteSelMastodon(\''+acct_id+'\',\''+json.id+'\','+keyc+','+json.multiple+')';
|
||||
}
|
||||
poll=poll+'<div class="pointer vote vote_'+acct_id+'_'+json.id+'_'+keyc+'" onclick="'+votesel+'">'+choice.title+'<span class="vote_'+acct_id+'_'+json.id+'_result '+result_hide+'">('+choice.votes_count+')</span></div>';
|
||||
});
|
||||
poll=poll+myvote+'<span class="cbadge cbadge-hover" title="' + date(json.expires_at, 'absolute') +
|
||||
'"><i class="fa fa-calendar-times-o"></i>' +
|
||||
date(json.expires_at, datetype) + '</span>';
|
||||
$('.vote_'+acct_id+'_'+json.id).html(poll)
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
//TL取得
|
||||
moreloading=false;
|
||||
function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
scrollevent();
|
||||
localStorage.removeItem("morelock");
|
||||
@@ -52,6 +53,13 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
"user_" + acct_id) + "@" + domain + ")");
|
||||
$("#notice_icon_" + tlid).text("notifications");
|
||||
return;
|
||||
}else if (type == "dm") {
|
||||
//DMなら飛ばす
|
||||
dm(acct_id, tlid, "plus",delc,voice);
|
||||
$("#notice_" + tlid).text(cap(type, data, acct_id) + "(" + localStorage.getItem(
|
||||
"user_" + acct_id) + "@" + domain + ")");
|
||||
$("#notice_icon_" + tlid).text("notifications");
|
||||
return;
|
||||
}
|
||||
localStorage.setItem("now", type);
|
||||
todo(cap(type) + " TL Loading...");
|
||||
@@ -80,6 +88,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
if(type!="noauth"){
|
||||
req.i=at;
|
||||
}
|
||||
|
||||
if(type=="local-media"||type=="pub-media"){
|
||||
req.mediaOnly=true;
|
||||
}
|
||||
@@ -359,8 +368,7 @@ function moreload(type, tlid) {
|
||||
var data=obj[tlid].data;
|
||||
}
|
||||
var sid = $("#timeline_" + tlid + " .cvo").last().attr("unique-id");
|
||||
if (sid && localStorage.getItem("morelock") != sid) {
|
||||
localStorage.setItem("morelock", sid);
|
||||
if (sid && !moreloading) {
|
||||
if (type == "mix" && localStorage.getItem("mode_" + localStorage.getItem("domain_" + acct_id))!="misskey") {
|
||||
mixmore(tlid,"integrated");
|
||||
return;
|
||||
@@ -371,6 +379,7 @@ function moreload(type, tlid) {
|
||||
notfmore(tlid);
|
||||
return;
|
||||
}
|
||||
moreloading=true;
|
||||
localStorage.setItem("now", type);
|
||||
todo(cap(type) + " TL MoreLoading");
|
||||
if(type!="noauth"){
|
||||
@@ -440,7 +449,7 @@ function moreload(type, tlid) {
|
||||
$("#timeline_" + tlid).append(templete);
|
||||
additional(acct_id, tlid);
|
||||
jQuery("time.timeago").timeago();
|
||||
localStorage.removeItem("morelock")
|
||||
moreloading=false;
|
||||
todc();
|
||||
});
|
||||
}
|
||||
@@ -570,7 +579,7 @@ function com(type, data) {
|
||||
}else if (type == "list") {
|
||||
return "list/" + data + "?"
|
||||
}else if (type="dm") {
|
||||
return "direct?"
|
||||
return "/api/v1/conversations?"
|
||||
}
|
||||
}
|
||||
function misskeycom(type, data) {
|
||||
@@ -672,5 +681,4 @@ function reconnector(tlid,type,acct_id,data,mode){
|
||||
}
|
||||
Materialize.toast(lang.lang_tl_reconnect, 2000);
|
||||
}
|
||||
|
||||
strAliveInt()
|
@@ -106,7 +106,7 @@ function parseColumn() {
|
||||
console.log(acct.domain);
|
||||
if(acctlist[acct.domain]){
|
||||
if(acctlist[acct.domain].background!="def"){
|
||||
insert=insert+" border-bottom:medium solid #"+acctlist[acct.domain].background;
|
||||
insert=insert+" border-bottom:medium solid #"+acctlist[acct.domain].background+";";
|
||||
}
|
||||
}
|
||||
if(acct.type=="notf" && localStorage.getItem("setasread")=="no"){
|
||||
@@ -115,20 +115,40 @@ function parseColumn() {
|
||||
localStorage.removeItem("hasNotfC_" + acct.domain);
|
||||
}
|
||||
if(acct.type=="webview"){
|
||||
var html =webview("https://tweetdeck.twitter.com",key,insert,icnsert);
|
||||
if(localStorage.getItem("fixwidth")){
|
||||
var fixwidth=localStorage.getItem("fixwidth");
|
||||
var css=" min-width:"+fixwidth+"px;"
|
||||
}else{
|
||||
var css="";
|
||||
}
|
||||
var html =webview("https://tweetdeck.twitter.com",key,insert,icnsert,css);
|
||||
$("#timeline-container").append(html);
|
||||
}else{
|
||||
var width = localStorage.getItem("width");
|
||||
if (width) {
|
||||
var css=" min-width:"+width+"px;"
|
||||
}
|
||||
var anime = localStorage.getItem("animation");
|
||||
if (anime=="yes" || !anime) {
|
||||
var animecss="box-anime";
|
||||
}else{
|
||||
var animecss="";
|
||||
}
|
||||
if(acct.type=="notf"){
|
||||
var exclude=lang.lang_excluded+':<br><input type="checkbox" class="filled-in" id="exc-reply-'+key+'" '+excludeCk(key,"mention")+' /><label for="exc-reply-'+key+'" class="exc-chb"><i class="fa fa-share exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-fav-'+key+'" '+excludeCk(key,"favourite")+' /><label for="exc-fav-'+key+'" class="exc-chb"><i class="fa fa-star exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-bt-'+key+'" '+excludeCk(key,"reblog")+' /><label for="exc-bt-'+key+'" class="exc-chb" ><i class="fa fa-retweet exc-icons"></i></label> '+
|
||||
'<input type="checkbox" class="filled-in" id="exc-follow-'+key+'" '+excludeCk(key,"follow")+' /><label for="exc-follow-'+key+'" class="exc-chb" ><i class="fa fa-users exc-icons"></i></label> '+
|
||||
'<button class="btn waves-effect" style="width:60px; padding:0;" onclick="exclude('+key+')">Filter</button><br>';
|
||||
}else if(acct.type=="home"){
|
||||
var exclude='<a onclick="ebtToggle(' + key +
|
||||
')" class="setting nex"><i class="fa fa-retweet waves-effect nex" title="'+lang.lang_layout_excludingbt +'" style="font-size:24px"></i><span id="sta-bt-' +
|
||||
key + '">Off</span></a>'+lang.lang_layout_excludingbt+'<br>';
|
||||
}else{
|
||||
var exclude="";
|
||||
}
|
||||
var html = '<div class="box" id="timeline_box_' + key + '_box" tlid="' + key +
|
||||
'" data-acct="'+acct.domain+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+'">'+
|
||||
var html = '<div style="'+css+'" class="box '+animecss+'" id="timeline_box_' + key + '_box" tlid="' + key +
|
||||
'" data-acct="'+acct.domain+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+' ">'+
|
||||
'<div class="area-notice"><i class="material-icons waves-effect red-text" id="notice_icon_' + key + '"'+notf_attr+' style="font-size:40px; padding-top:25%;" onclick="goTop(' + key + ')" title="'+lang.lang_layout_gotop +'"></i></div>'+
|
||||
'<div class="area-notice_name"><span id="notice_' + key + '" class="tl-title"></span></div>'+
|
||||
'<div class="area-a1"><a onclick="notfToggle(' + acct.domain + ',' + key +
|
||||
@@ -149,7 +169,7 @@ function parseColumn() {
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_tts +'">hearing</i><span id="sta-voice-' +
|
||||
key + '">On</span></a>'+lang.lang_layout_tts +'TL<br><a onclick="reconnector(' + key +
|
||||
',\''+acct.type+'\',\''+acct.domain+'\',\''+acct.data+'\')" class="setting nex '+if_notf+'"><i class="material-icons waves-effect nex '+if_notf+'" title="'+lang.lang_layout_reconnect+'">low_priority</i></a><span class="'+if_notf+'">'+lang.lang_layout_reconnect+'</span><br>'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
'" class="tl" tlid="' + key + '" data-type="' + acct.type + '"><div id="landing_'+key+'" style="text-align:center">'+lang.lang_layout_nodata +'</div></div></div></div>';
|
||||
'" class="tl '+acct.type+'-timeline " tlid="' + key + '" data-type="' + acct.type + '" data-acct="'+acct.domain+'"><div id="landing_'+key+'" style="text-align:center">'+lang.lang_layout_nodata +'</div></div></div></div>';
|
||||
$("#timeline-container").append(html);
|
||||
localStorage.removeItem("pool_" + key);
|
||||
if (acct.data) {
|
||||
@@ -170,15 +190,12 @@ function parseColumn() {
|
||||
}
|
||||
tl(acct.type, data, acct.domain, key, delc,voice,"");
|
||||
cardCheck(key);
|
||||
ebtCheck(key);
|
||||
mediaCheck(key);
|
||||
catchCheck(key);
|
||||
voiceCheck(key);
|
||||
}
|
||||
});
|
||||
var width = localStorage.getItem("width");
|
||||
if (width) {
|
||||
$(".box").css("min-width", width + "px");
|
||||
}
|
||||
var box = localStorage.getItem("box");
|
||||
if (box == "absolute") {
|
||||
setTimeout(show, 1000);
|
||||
@@ -388,9 +405,9 @@ function coloradd(key,bg,txt){
|
||||
}
|
||||
}
|
||||
//禁断のTwitter
|
||||
function webview(url,key,insert,icnsert){
|
||||
function webview(url,key,insert,icnsert,css){
|
||||
var html = '<div class="box" id="timeline_box_' + key + '_box" tlid="' + key +
|
||||
'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+'">'+
|
||||
'" style="'+css+'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+'">'+
|
||||
'<div class="area-notice"><i class="fa fa-twitter waves-effect" id="notice_icon_' + key + '" style="font-size:40px; padding-top:25%;"></i></div>'+
|
||||
'<div class="area-notice_name tl-title">WebView('+url+')</div>'+
|
||||
'<div class="area-sta"><input type="checkbox" id="webviewsel" value="true" class="filled-in"><label for="webviewsel">'+lang.lang_layout_webviewmode +'</label></div>'+
|
||||
|
@@ -1,10 +1,8 @@
|
||||
/*ささやきボックス(Cr民並感)*/
|
||||
//✕隠す
|
||||
function hide() {
|
||||
$('#post-box').removeClass("appear")
|
||||
$('#post-box').animate({
|
||||
'bottom': "-500px"
|
||||
});
|
||||
$('#post-box').fadeOut()
|
||||
$("#post-box").removeClass("appear")
|
||||
$("#emoji").addClass("hide")
|
||||
}
|
||||
//最小化
|
||||
@@ -18,16 +16,23 @@ function mini() {
|
||||
}
|
||||
//最小化時に展開
|
||||
function show() {
|
||||
$("#post-box").addClass("appear")
|
||||
$("#textarea").focus();
|
||||
$('#post-box').addClass("appear")
|
||||
console.log($('#posttgl').offset());
|
||||
$('#post-box').css("left",$('#posttgl').offset().left+"px");
|
||||
$('#post-box').animate({
|
||||
'bottom': 0
|
||||
});
|
||||
console.log("show"+localStorage.getItem("postbox-left"));
|
||||
$('#post-box').css("left",localStorage.getItem("postbox-left")+"px")
|
||||
$('#post-box').css("top",localStorage.getItem("postbox-top")+"px")
|
||||
$('#post-box').fadeIn();
|
||||
}
|
||||
|
||||
|
||||
$(function() {
|
||||
$( "#post-box" ).draggable({handle: "#post-bar",
|
||||
stop: function() {
|
||||
console.log("stopped");
|
||||
localStorage.setItem("postbox-left",$('#post-box').offset().left);
|
||||
localStorage.setItem("postbox-top",$('#post-box').offset().top);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//コード受信
|
||||
if(location.search){
|
||||
@@ -43,9 +48,11 @@ if(location.search){
|
||||
$(".mini-btn").text("expand_less");
|
||||
}
|
||||
}
|
||||
$('#posttgl').focusin(function(e) {
|
||||
$('#posttgl').click(function(e) {
|
||||
if(!$('#post-box').hasClass("appear")){
|
||||
show();
|
||||
}else{
|
||||
hide();
|
||||
}
|
||||
});
|
||||
|
||||
|
@@ -28,6 +28,7 @@ function scrollck() {
|
||||
var scrt = $(this).find(".tl").height() - $(window).height();
|
||||
var scr = $(this).scrollTop();
|
||||
if (scr > scrt) {
|
||||
console.log("kicked");
|
||||
moreload('', tlid);
|
||||
}
|
||||
});
|
||||
|
@@ -95,6 +95,12 @@ function settings() {
|
||||
}
|
||||
localStorage.setItem("width", widthd);
|
||||
|
||||
var fwidthd = $("#fixwidth").val();
|
||||
if (fwidthd != localStorage.getItem("fixwidth")) {
|
||||
Materialize.toast(lang.lang_setting_fixwidth.replace("{{set}}" ,fwidthd), 3000);
|
||||
}
|
||||
localStorage.setItem("fixwidth", fwidthd);
|
||||
|
||||
var imgd = $("[name=img]:checked").val();
|
||||
var imgt = $("[for=i_"+imgd+"]").text();
|
||||
if (imgd != localStorage.getItem("img")) {
|
||||
@@ -137,6 +143,13 @@ function settings() {
|
||||
}
|
||||
localStorage.setItem("ticker_ok", tckrd);
|
||||
|
||||
var animed = $("[name=anime]:checked").val();
|
||||
var animet = $("[for=anime_"+animed+"]").text();
|
||||
if (animed != localStorage.getItem("animation")) {
|
||||
Materialize.toast(lang.lang_setting_animation.replace("{{set}}" ,animet), 3000);
|
||||
}
|
||||
localStorage.setItem("animation", animed);
|
||||
|
||||
var boxd = $("[name=box]:checked").val();
|
||||
var boxt = $("[for=bx_"+boxd+"]").text();
|
||||
if (boxd != localStorage.getItem("box")) {
|
||||
@@ -297,6 +310,12 @@ function load() {
|
||||
}
|
||||
$("#width").val(width);
|
||||
|
||||
var fwidth = localStorage.getItem("fixwidth");
|
||||
if (!fwidth) {
|
||||
var fwidth = "0";
|
||||
}
|
||||
$("#fixwidth").val(fwidth);
|
||||
|
||||
var cwt = localStorage.getItem("cw-text");
|
||||
if (!cwt) {
|
||||
var cwt = "";
|
||||
@@ -345,12 +364,18 @@ function load() {
|
||||
}
|
||||
$("#img-height").val(imh);
|
||||
|
||||
var ticker = localStorage.getItem("ticker-ok");
|
||||
var ticker = localStorage.getItem("ticker_ok");
|
||||
if (!ticker) {
|
||||
var ticker = "no";
|
||||
}
|
||||
$("#ticker_" + ticker).prop("checked", true);
|
||||
|
||||
var animation = localStorage.getItem("animation");
|
||||
if (!animation) {
|
||||
var animation = "yes";
|
||||
}
|
||||
$("#anime_" + animation).prop("checked", true);
|
||||
|
||||
var tag = localStorage.getItem("tag-range");
|
||||
if (!tag) {
|
||||
var tag = "all";
|
||||
|
126
app/main.js
126
app/main.js
@@ -12,10 +12,6 @@ const fm = require('font-manager');
|
||||
const Menu=electron.Menu
|
||||
var updatewin=null;
|
||||
const join = require('path').join;
|
||||
// linuxの時は定義しない
|
||||
if (process.platform=='win32') {
|
||||
const {NowPlaying,PlayerName} = require("nowplaying-node");
|
||||
}
|
||||
// アプリケーションをコントロールするモジュール
|
||||
const app = electron.app;
|
||||
// ウィンドウを作成するモジュール
|
||||
@@ -280,65 +276,12 @@ ipc.on('shot-img-dl', (e, args) => {
|
||||
})
|
||||
//アプデDL
|
||||
ipc.on('download-btn', (e, args) => {
|
||||
//console.log(args[1]);
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
var versioning=args[3];
|
||||
var portable=args[2];
|
||||
if(platform=="win32" || platform=="linux" || platform=="darwin" ){
|
||||
var exe=false;
|
||||
if(platform=="win32" && bit=="x64"){
|
||||
if(portable){
|
||||
var zip="TheDesk.exe";
|
||||
}else{
|
||||
var zip="TheDesk-setup.exe";
|
||||
}
|
||||
exe=true;
|
||||
}else if(platform=="win32" && bit=="ia32"){
|
||||
if(portable){
|
||||
var zip="TheDesk-ia32.exe";
|
||||
}else{
|
||||
var zip="TheDesk-setup-ia32.exe";
|
||||
}
|
||||
exe=true;
|
||||
}else if(platform=="linux" && bit=="x64"){
|
||||
var zip="TheDesk-linux-x64.zip";
|
||||
}else if(platform=="linux" && bit=="ia32"){
|
||||
var zip="TheDesk-linux-ia32.zip";
|
||||
}else if(platform=="darwin"){
|
||||
var zip="TheDesk-darwin-x64.zip";
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
if(versioning && !exe){
|
||||
zip=zip.replace(".zip","."+args[1]+".zip");
|
||||
}else if(versioning){
|
||||
zip=zip.replace(".exe","."+args[1]+".exe");
|
||||
}
|
||||
}else{
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: 'Other OS Supporting System',
|
||||
message: "thedesk.topをブラウザで開きます。",
|
||||
buttons: ['OK']
|
||||
}
|
||||
dialog.showMessageBox(options, function(index) {
|
||||
shell.openExternal("https://thedesk.top");
|
||||
})
|
||||
return;
|
||||
if(bit=="x64"){
|
||||
var zip="TheDesk-linux-x64.zip";
|
||||
}else if(bit=="ia32"){
|
||||
var zip="TheDesk-linux-ia32.zip";
|
||||
}
|
||||
}
|
||||
var ver=args[1];
|
||||
|
||||
console.log(zip);
|
||||
if(args[0]=="true"){
|
||||
dialog.showSaveDialog(null, {
|
||||
title: '保存',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: zip
|
||||
title: 'Save',
|
||||
defaultPath: app.getPath('home')+"/"+args[1]
|
||||
}, (savedFiles) => {
|
||||
console.log(savedFiles);
|
||||
if(!savedFiles){
|
||||
@@ -349,18 +292,12 @@ ipc.on('download-btn', (e, args) => {
|
||||
}else{
|
||||
var m = savedFiles.match(/(.+)\/(.+)$/);
|
||||
}
|
||||
|
||||
//console.log(m);
|
||||
if(isExistFile(savedFiles)){
|
||||
fs.statSync(savedFiles);
|
||||
fs.unlink(savedFiles);
|
||||
fs.unlinkSync(savedFiles);
|
||||
}
|
||||
console.log(m[1]+":"+savedFiles)
|
||||
dl(portable,ver,m[1],savedFiles);
|
||||
dl(args[0],args[1],m[1]);
|
||||
});
|
||||
}else{
|
||||
dl(portable,ver);
|
||||
}
|
||||
|
||||
});
|
||||
function isExistFile(file) {
|
||||
try {
|
||||
@@ -370,48 +307,10 @@ function isExistFile(file) {
|
||||
if(err.code === 'ENOENT') return false
|
||||
}
|
||||
}
|
||||
function dl(portable,ver,files,fullname){
|
||||
console.log(files);
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="win32"){
|
||||
if(bit=="x64"){
|
||||
if(portable){
|
||||
var zip="TheDesk.exe";
|
||||
}else{
|
||||
var zip="TheDesk-setup.exe";
|
||||
}
|
||||
}else if(bit=="ia32"){
|
||||
if(portable){
|
||||
var zip="TheDesk-ia32.exe";
|
||||
}else{
|
||||
var zip="TheDesk-setup-ia32.exe";
|
||||
}
|
||||
}
|
||||
}else if(platform=="linux"){
|
||||
if(bit=="x64"){
|
||||
var zip="TheDesk-linux-x64.zip";
|
||||
}else if(bit=="ia32"){
|
||||
var zip="TheDesk-linux-ia32.zip";
|
||||
}
|
||||
}else if(platform=="darwin"){
|
||||
var zip="TheDesk-darwin-x64.zip";
|
||||
}
|
||||
//zip=zip+"?"+ver;
|
||||
var l = 8;
|
||||
|
||||
// 生成する文字列に含める文字セット
|
||||
var c = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||
|
||||
var cl = c.length;
|
||||
var r = "";
|
||||
for(var i=0; i<l; i++){
|
||||
r += c[Math.floor(Math.random()*cl)];
|
||||
}
|
||||
|
||||
function dl(url,file,dir){
|
||||
updatewin.webContents.send('mess', "ダウンロードを開始します。");
|
||||
const opts = {
|
||||
directory:fullname,
|
||||
directory:dir,
|
||||
openFolderWhenDone: true,
|
||||
onProgress: function(e) {
|
||||
updatewin.webContents.send('prog', e);
|
||||
@@ -419,7 +318,7 @@ function dl(portable,ver,files,fullname){
|
||||
saveAs: false
|
||||
};
|
||||
download(BrowserWindow.getFocusedWindow(),
|
||||
'https://dl.thedesk.top/'+zip, opts)
|
||||
url, opts)
|
||||
.then(dl => {
|
||||
updatewin.webContents.send('mess', "ダウンロードが完了しました。");
|
||||
app.quit();
|
||||
@@ -472,8 +371,11 @@ function about(){
|
||||
window.loadURL('file://' + __dirname + '/about.html?ver='+ver);
|
||||
return "true"
|
||||
}
|
||||
|
||||
ipc.on('itunes', (e, args) => {
|
||||
console.log("Access");
|
||||
if(args[0]=="set"){
|
||||
var {NowPlaying,PlayerName} = require("nowplaying-node");
|
||||
var nppath=join(app.getPath("userData"), "nowplaying");
|
||||
var npProvider;
|
||||
try {
|
||||
@@ -498,6 +400,7 @@ ipc.on('itunes', (e, args) => {
|
||||
console.log(error);
|
||||
});
|
||||
}else{
|
||||
var {NowPlaying,PlayerName} = require("nowplaying-node");
|
||||
var nppath=join(app.getPath("userData"), "nowplaying");
|
||||
var npProvider;
|
||||
try {
|
||||
@@ -525,7 +428,7 @@ ipc.on('itunes', (e, args) => {
|
||||
}
|
||||
mainWindow.webContents.send('itunes-np', value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
ipc.on('file-select', (e, args) => {
|
||||
@@ -691,4 +594,5 @@ object_array_sort(fonts, 'family', 'asc', function(fonts_sorted){
|
||||
});
|
||||
|
||||
|
||||
|
||||
app.setAsDefaultProtocolClient('thedesk')
|
||||
|
1508
app/package-lock.json
generated
1508
app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "17.0.1",
|
||||
"version": "17.0.2",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
@@ -38,10 +38,10 @@
|
||||
"font-manager": "^0.3.0",
|
||||
"jimp": "^0.2.28",
|
||||
"node-notifier": "^5.2.1",
|
||||
"nowplaying-node": "^0.1.3",
|
||||
"sumchecker": "^2.0.2"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"nowplaying-node": "^0.1.3",
|
||||
"itunes-nowplaying-mac": "^0.2.3"
|
||||
},
|
||||
"build": {
|
||||
@@ -54,7 +54,8 @@
|
||||
"icon": "thedesk.ico",
|
||||
"target": [
|
||||
"nsis",
|
||||
"portable"
|
||||
"portable",
|
||||
"appx"
|
||||
]
|
||||
},
|
||||
"nsis": {
|
||||
@@ -73,14 +74,14 @@
|
||||
"target": "dmg"
|
||||
},
|
||||
"electronDownload": {
|
||||
"version": "3.0.10"
|
||||
"version": "4.0.5"
|
||||
},
|
||||
"electronVersion": "3.0.10"
|
||||
"electronVersion": "4.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^3.0.10",
|
||||
"electron": "^4.0.5",
|
||||
"electron-packager": "^13.0.1",
|
||||
"electron-prebuilt": "^1.4.13",
|
||||
"electron-rebuild": "^1.8.2"
|
||||
"electron-rebuild": "^1.8.4"
|
||||
}
|
||||
}
|
||||
|
@@ -32,7 +32,7 @@
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.0.1) beta4";
|
||||
var ver="Miria (17.0.2)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -53,8 +53,10 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-3">
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">Post new</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
</span>
|
||||
<div class="" style="float:left;">
|
||||
@@ -185,6 +187,9 @@ var tlid=0;
|
||||
<li>
|
||||
<a onclick="schedule();">Scheduled toot</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="pollToggle();">Poll</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
@@ -196,59 +201,84 @@ var tlid=0;
|
||||
<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="Secondary Toot">lock_open</i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide shared z-depth-4">
|
||||
<span class="gray sml">
|
||||
<a onclick="emojiGet('true')" class="pointer">Refresh emojis list</a>
|
||||
<i class="material-icons waves-effect" onclick="emoji()" title="Close this box" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<span id="now-emoji"></span> are shown.<br><span class="gray sml">Some emojis are not able to be inserted.</span>
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">
|
||||
<a onclick="emojiGet('true')" class="pointer">Refresh emojis list</a>
|
||||
<i class="material-icons waves-effect" onclick="emojiToggle()" title="Close this box" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
<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="Emojis of people">
|
||||
<i class="material-icons">people</i>
|
||||
</a>
|
||||
<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="Emojis of foods">
|
||||
<i class="material-icons">restaurant</i>
|
||||
</a>
|
||||
<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="Emojis of places">
|
||||
<i class="material-icons">directions_car</i>
|
||||
</a>
|
||||
<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="Emojis of symbols">
|
||||
<i class="material-icons">gesture</i>
|
||||
</a>
|
||||
<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">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<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="Custom emojis">
|
||||
<i class="material-icons">add</i>
|
||||
</a>
|
||||
<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="Emojis of nature">
|
||||
<i class="material-icons">local_florist</i>
|
||||
</a>
|
||||
<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="Emojis of activities">
|
||||
<i class="material-icons">directions_run</i>
|
||||
</a>
|
||||
<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="Emojis of tools">
|
||||
<i class="material-icons">attach_file</i>
|
||||
</a>
|
||||
<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="Emojis of flags">
|
||||
<i class="material-icons">flag</i>
|
||||
</a>
|
||||
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!--Poll UI-->
|
||||
<div id="poll" class="hide">
|
||||
<select id="poll-sel" onchange="pollProviderCk()">
|
||||
<option value="nothing">Polls: Disabled</option>
|
||||
<option value="votedon">votedon.</option>
|
||||
<option value="mastodon-poll">Mastodon(2.8~)</option>
|
||||
</select>
|
||||
<div id="votedon">
|
||||
|
||||
</div>
|
||||
<div id="mastodon-poll" class="poll-provider hide">
|
||||
<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">Multiple select</label><br>
|
||||
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">days
|
||||
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">hours
|
||||
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="0">minutes
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
@@ -550,16 +580,22 @@ var tlid=0;
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-0-2" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
<h5>Release Note Miria (17.0.2)</h5>
|
||||
バグ修正<br>
|
||||
ブーストを除外できる<br>
|
||||
<u>17.0.1</u><br>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
CW付きのトゥートの再編集に対応<br>
|
||||
インストール場所が指定できるように<br>
|
||||
トゥートのコピペができない不具合を修正<br>
|
||||
TweetDeckの横幅だけ広げられる機能
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>Support TheDesk!</h3>
|
||||
@@ -703,9 +739,9 @@ var tlid=0;
|
||||
<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="text" style="width:50px" id="days_filter" placeholder="d" value="0">days
|
||||
<input type="text" style="width:50px" id="hours_filter" placeholder="h" value="0">hours
|
||||
<input type="text" style="width:50px" id="mins_filter" placeholder="m" value="0">minutes
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">days
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">hours
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">minutes
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">Add</button><br>
|
||||
<span class="sml">Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.</span>
|
||||
</div>
|
||||
@@ -720,7 +756,9 @@ var tlid=0;
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<input type="text" id="posttgl" placeholder="Toot" style="height:2rem">
|
||||
<button id="posttgl" class="btn waves-effect indigo" style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons" style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>Toot
|
||||
</button>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
@@ -806,9 +844,11 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/parse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/dm.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/tl.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/card.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/poll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/notification.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/datails.js"></script>
|
||||
|
@@ -30,7 +30,7 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Languages</h5>
|
||||
<a onclick="changelang('ja')" class="pointer">日本語</a>/<a onclick="changelang('en')" class="pointer">English</a>/<a onclick="changelang('ps')" class="pointer">Crowdin In-context translation(beta)</a>
|
||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
||||
<h5>Import and export of preferences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">Export</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">Import</button>
|
||||
@@ -59,17 +59,19 @@
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">No</label>
|
||||
<br>
|
||||
<h5>Minimam width of columns</h5>Scroll bar will be shown when your window size is more than ammounts of columns.
|
||||
<h5>Minimum width of columns</h5>Scroll bar will be shown when your window size is more than ammounts of columns.
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">pxabove
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Minimum width of TweetDeck browser</h5>
|
||||
<input type="text" style="width:50px" id="fixwidth">pxabove
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Font</h5>
|
||||
Select your favorite font to 'Select'<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;">
|
||||
|
||||
</div>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
@@ -180,6 +182,11 @@
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">No</label>
|
||||
<br>
|
||||
<h5>Animation of timelines</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">No</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -315,8 +322,8 @@
|
||||
<i class="fa fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<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.<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" />
|
||||
@@ -330,7 +337,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br>
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
|
||||
<h5>Account Connection</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
@@ -423,7 +430,7 @@ Kyash<br>
|
||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">Check update</a><br>
|
||||
<a href="oss.html">OSS License</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 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://github.com/cutls/TheDesk/blob/master/TOS.md">Terms of Use</a>
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
|
||||
<br>Developer: Cutls P(
|
||||
<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
|
||||
<br>
|
||||
|
@@ -62,6 +62,9 @@ a,button,input,label,i{
|
||||
#prog{
|
||||
font-size:200%;
|
||||
}
|
||||
.linux, .mac{
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
@@ -75,14 +78,12 @@ a,button,input,label,i{
|
||||
<p>Get latest TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br>
|
||||
<span id="det"></span><br>
|
||||
<button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">Start</button>
|
||||
<div id="checkbox">
|
||||
Options:<br>
|
||||
<input type="checkbox" class="filled-in" id="portable" value="true" />
|
||||
<label for="portable">Portable ver.</label><br>
|
||||
<input type="checkbox" class="filled-in" id="rewrite" value="true" />
|
||||
<label for="rewrite">Not rewrite</label><br>
|
||||
</div>
|
||||
<button class="waves-effect btn windows" onclick="update('install')" style="margin-left:15px;">Installer ver.</button>
|
||||
<button class="waves-effect btn windows" onclick="update('portable')" style="margin-left:15px;">Portable ver.</button>
|
||||
<span class="linux">Snap ver may be on Snapcraft<br></span>
|
||||
<button class="waves-effect btn linux" onclick="update('linux')" style="margin-left:15px;">Start</button>
|
||||
<button class="waves-effect btn mac" onclick="update('mac')" style="margin-left:15px;">Start</button>
|
||||
<br>
|
||||
Some problems?<br>Please download on <a href="https://thedesk.top">Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
@@ -123,17 +124,49 @@ function update(sel){
|
||||
$("#dlnow").toggleClass("hide");
|
||||
$("#dlnow").toggleClass("show");
|
||||
$("#prog").text("");
|
||||
if($('#rewrite:checked').val()=="true"){
|
||||
var versioning=true;
|
||||
}else{
|
||||
var versioning=false;
|
||||
}
|
||||
if($('#portable:checked').val()=="true"){
|
||||
var zip=true;
|
||||
}else{
|
||||
var zip=false;
|
||||
}
|
||||
ipc.send('download-btn', [sel,enc(localStorage.getItem("next-ver")),zip,versioning]);
|
||||
var remote=electron.remote;
|
||||
var bit=process.arch;
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {'content-type': 'application/json'},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(sel=="install"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64"];
|
||||
var file="TheDesk-setup.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32"];
|
||||
var file="TheDesk-setup-ia32.exe";
|
||||
}
|
||||
}else if(sel=="portable"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64p"];
|
||||
var file="TheDesk.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32p"];
|
||||
var file="TheDesk-ia32.exe";
|
||||
}
|
||||
}else if(sel=="linux"){
|
||||
if(bit=="x64"){
|
||||
var url=json["linuxx64"];
|
||||
var file="TheDesk-linux-x64.zip";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["linuxia64"];
|
||||
var file="TheDesk-linux-ia32.zip";
|
||||
}
|
||||
}else if(sel=="mac"){
|
||||
var url=json["mac"];
|
||||
var file="TheDesk-darwin-x64.zip";
|
||||
}
|
||||
ipc.send('download-btn', [url,file]);
|
||||
});
|
||||
|
||||
}
|
||||
function quit(){
|
||||
ipc.send('quit', 'go');
|
||||
@@ -149,9 +182,14 @@ ipc.on('mess', function (event, arg) {
|
||||
})
|
||||
function verck(){
|
||||
var remote=electron.remote;
|
||||
var platform=remote.process.platform;
|
||||
if(platform!="win32"){
|
||||
$('#portable').prop("disabled",true)
|
||||
var platform=remote.process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="linux"){
|
||||
$('.windows').hide()
|
||||
$('.linux').show()
|
||||
}else if(platform=="mac"){
|
||||
$('.windows').hide()
|
||||
$('.mac').show()
|
||||
}
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
@@ -167,7 +205,8 @@ function verck(){
|
||||
$("#ver").text(json.desk);
|
||||
localStorage.setItem("next-ver",json.desk);
|
||||
$("#det").html(json.detail);
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
|
||||
});
|
||||
}
|
||||
function nextv(){
|
||||
|
@@ -32,7 +32,7 @@
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.0.1) beta4";
|
||||
var ver="Miria (17.0.2)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -53,8 +53,10 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-3">
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">投稿</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
</span>
|
||||
<div class="" style="float:left;">
|
||||
@@ -185,6 +187,9 @@ var tlid=0;
|
||||
<li>
|
||||
<a onclick="schedule();">時間指定投稿</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="pollToggle();">アンケート</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
@@ -196,59 +201,84 @@ var tlid=0;
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide shared z-depth-4">
|
||||
<span class="gray sml">サーバーによって実装が異なります。
|
||||
<a onclick="emojiGet('true')" class="pointer">絵文字更新</a>
|
||||
<i class="material-icons waves-effect" onclick="emoji()" title="このボックスを閉じる" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<span id="now-emoji"></span>一覧を表示中<br><span class="gray sml">一部絵文字は入力できません。</span>
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">サーバーによって実装が異なります。
|
||||
<a onclick="emojiGet('true')" class="pointer">絵文字更新</a>
|
||||
<i class="material-icons waves-effect" onclick="emojiToggle()" title="このボックスを閉じる" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
<a onclick="customEmoji()" class="pointer waves-effect" title="カスタム絵文字">
|
||||
<i class="material-icons">add</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="ひと">
|
||||
<i class="material-icons">people</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="自然">
|
||||
<i class="material-icons">local_florist</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="食べ物">
|
||||
<i class="material-icons">restaurant</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="活動">
|
||||
<i class="material-icons">directions_run</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="場所">
|
||||
<i class="material-icons">directions_car</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="もの">
|
||||
<i class="material-icons">attach_file</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="記号">
|
||||
<i class="material-icons">gesture</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="国旗">
|
||||
<i class="material-icons">flag</i>
|
||||
</a>
|
||||
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<span id="now-emoji"></span>一覧を表示中<br><span class="gray sml">一部絵文字は入力できません。</span>
|
||||
<br>
|
||||
<a onclick="customEmoji()" class="pointer waves-effect" title="カスタム絵文字">
|
||||
<i class="material-icons">add</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="ひと">
|
||||
<i class="material-icons">people</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="自然">
|
||||
<i class="material-icons">local_florist</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="食べ物">
|
||||
<i class="material-icons">restaurant</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="活動">
|
||||
<i class="material-icons">directions_run</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="場所">
|
||||
<i class="material-icons">directions_car</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="もの">
|
||||
<i class="material-icons">attach_file</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="記号">
|
||||
<i class="material-icons">gesture</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="国旗">
|
||||
<i class="material-icons">flag</i>
|
||||
</a>
|
||||
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!--Poll UI-->
|
||||
<div id="poll" class="hide">
|
||||
<select id="poll-sel" onchange="pollProviderCk()">
|
||||
<option value="nothing">アンケートを使用しない</option>
|
||||
<option value="votedon">votedon.</option>
|
||||
<option value="mastodon-poll">Mastodon(2.8~)</option>
|
||||
</select>
|
||||
<div id="votedon">
|
||||
|
||||
</div>
|
||||
<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="checkbox" class="filled-in" id="poll-multiple" value="1" />
|
||||
<label for="poll-multiple">複数選択を許可</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="0">分
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
@@ -550,16 +580,22 @@ var tlid=0;
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-0-2" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
<h5>Release Note Miria (17.0.2)</h5>
|
||||
バグ修正<br>
|
||||
ブーストを除外できる<br>
|
||||
<u>17.0.1</u><br>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
CW付きのトゥートの再編集に対応<br>
|
||||
インストール場所が指定できるように<br>
|
||||
トゥートのコピペができない不具合を修正<br>
|
||||
TweetDeckの横幅だけ広げられる機能
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>ご支援ください。</h3>
|
||||
@@ -703,9 +739,9 @@ var tlid=0;
|
||||
<label for="except_filter">除外</label><br>
|
||||
<span class="sml">「除外」時マッチしたトゥートは非可逆的に除外され、削除後も閲覧できません。</span><br>
|
||||
有効期限(あと)<span class="sml">未指定(または0分)で「無制限」になります。<b>仕様上数値の正確性を保証できません。</b></span><br><br>
|
||||
<input type="text" style="width:50px" id="days_filter" placeholder="d" value="0">日
|
||||
<input type="text" style="width:50px" id="hours_filter" placeholder="h" value="0">時間
|
||||
<input type="text" style="width:50px" id="mins_filter" placeholder="m" value="0">分
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">日
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">時間
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">分
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">追加</button><br>
|
||||
<span class="sml">Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。</span>
|
||||
</div>
|
||||
@@ -720,7 +756,9 @@ var tlid=0;
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<input type="text" id="posttgl" placeholder="トゥート" style="height:2rem">
|
||||
<button id="posttgl" class="btn waves-effect indigo" style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons" style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>トゥート
|
||||
</button>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
@@ -806,9 +844,11 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/parse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/dm.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/tl.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/card.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/poll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/notification.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/datails.js"></script>
|
||||
|
@@ -30,7 +30,7 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>言語</h5>
|
||||
<a onclick="changelang('ja')" class="pointer">日本語</a>/<a onclick="changelang('en')" class="pointer">English</a>/<a onclick="changelang('ps')" class="pointer">Crowdin In-context translation(beta)</a>
|
||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
||||
<h5>設定のインポートとエクスポート</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">エクスポート</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">インポート</button>
|
||||
@@ -64,12 +64,14 @@
|
||||
<input type="text" style="width:50px" id="width">px以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>TweetDeckの限定の最低横幅</h5>
|
||||
<input type="text" style="width:50px" id="fixwidth">px以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>フォント</h5>
|
||||
「選択」を押してフォントを選んでください。<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;">
|
||||
|
||||
</div>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
@@ -180,6 +182,11 @@
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">いいえ</label>
|
||||
<br>
|
||||
<h5>タイムラインのアニメーション</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">いいえ</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -315,8 +322,8 @@
|
||||
<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
|
||||
</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>が必要です。<br>
|
||||
<!-->h5>NowPlayingのソース(Windows)</h5>
|
||||
macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
|
||||
@@ -330,7 +337,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br>
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
|
||||
<h5>アカウントの連携</h5>
|
||||
APIの性質上,thedesk.topへアクセスします。<br>
|
||||
@@ -423,7 +430,7 @@ Kyash<br>
|
||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">アップデートを確認</a><br>
|
||||
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 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://github.com/cutls/TheDesk/blob/master/TOS.md">Terms of Use</a>
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
|
||||
<br>Developer: Cutls P(
|
||||
<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
|
||||
<br>
|
||||
|
@@ -62,6 +62,9 @@ a,button,input,label,i{
|
||||
#prog{
|
||||
font-size:200%;
|
||||
}
|
||||
.linux, .mac{
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
@@ -75,14 +78,12 @@ a,button,input,label,i{
|
||||
<p>アップデートがあります</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br>
|
||||
<span id="det"></span><br>
|
||||
<button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">開始</button>
|
||||
<div id="checkbox">
|
||||
Options:<br>
|
||||
<input type="checkbox" class="filled-in" id="portable" value="true" />
|
||||
<label for="portable">ポータブル版</label><br>
|
||||
<input type="checkbox" class="filled-in" id="rewrite" value="true" />
|
||||
<label for="rewrite">上書きしない</label><br>
|
||||
</div>
|
||||
<button class="waves-effect btn windows" onclick="update('install')" style="margin-left:15px;">インストーラー版(推奨)</button>
|
||||
<button class="waves-effect btn windows" onclick="update('portable')" style="margin-left:15px;">ポータブル版</button>
|
||||
<span class="linux">snap版はSnapcraft等よりDLしてください。<br></span>
|
||||
<button class="waves-effect btn linux" onclick="update('linux')" style="margin-left:15px;">開始</button>
|
||||
<button class="waves-effect btn mac" onclick="update('mac')" style="margin-left:15px;">開始</button>
|
||||
<br>
|
||||
問題が発生しますか?<br><a href="https://thedesk.top">公式HP</a>からダウンロードをお試しください。
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
@@ -123,17 +124,49 @@ function update(sel){
|
||||
$("#dlnow").toggleClass("hide");
|
||||
$("#dlnow").toggleClass("show");
|
||||
$("#prog").text("");
|
||||
if($('#rewrite:checked').val()=="true"){
|
||||
var versioning=true;
|
||||
}else{
|
||||
var versioning=false;
|
||||
}
|
||||
if($('#portable:checked').val()=="true"){
|
||||
var zip=true;
|
||||
}else{
|
||||
var zip=false;
|
||||
}
|
||||
ipc.send('download-btn', [sel,enc(localStorage.getItem("next-ver")),zip,versioning]);
|
||||
var remote=electron.remote;
|
||||
var bit=process.arch;
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {'content-type': 'application/json'},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(sel=="install"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64"];
|
||||
var file="TheDesk-setup.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32"];
|
||||
var file="TheDesk-setup-ia32.exe";
|
||||
}
|
||||
}else if(sel=="portable"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64p"];
|
||||
var file="TheDesk.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32p"];
|
||||
var file="TheDesk-ia32.exe";
|
||||
}
|
||||
}else if(sel=="linux"){
|
||||
if(bit=="x64"){
|
||||
var url=json["linuxx64"];
|
||||
var file="TheDesk-linux-x64.zip";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["linuxia64"];
|
||||
var file="TheDesk-linux-ia32.zip";
|
||||
}
|
||||
}else if(sel=="mac"){
|
||||
var url=json["mac"];
|
||||
var file="TheDesk-darwin-x64.zip";
|
||||
}
|
||||
ipc.send('download-btn', [url,file]);
|
||||
});
|
||||
|
||||
}
|
||||
function quit(){
|
||||
ipc.send('quit', 'go');
|
||||
@@ -149,9 +182,14 @@ ipc.on('mess', function (event, arg) {
|
||||
})
|
||||
function verck(){
|
||||
var remote=electron.remote;
|
||||
var platform=remote.process.platform;
|
||||
if(platform!="win32"){
|
||||
$('#portable').prop("disabled",true)
|
||||
var platform=remote.process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="linux"){
|
||||
$('.windows').hide()
|
||||
$('.linux').show()
|
||||
}else if(platform=="mac"){
|
||||
$('.windows').hide()
|
||||
$('.mac').show()
|
||||
}
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
@@ -167,7 +205,8 @@ function verck(){
|
||||
$("#ver").text(json.desk);
|
||||
localStorage.setItem("next-ver",json.desk);
|
||||
$("#det").html(json.detail);
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
|
||||
});
|
||||
}
|
||||
function nextv(){
|
||||
|
@@ -53,8 +53,10 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-3">
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">{{post-new}}</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
</span>
|
||||
<div class="" style="float:left;">
|
||||
@@ -185,6 +187,9 @@ var tlid=0;
|
||||
<li>
|
||||
<a onclick="schedule();">{{schedule}}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="pollToggle();">{{poll}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
@@ -196,59 +201,84 @@ var tlid=0;
|
||||
<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="{{sectoot}}">lock_open</i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide shared z-depth-4">
|
||||
<span class="gray sml">{{emojiWarn}}
|
||||
<a onclick="emojiGet('true')" class="pointer">{{refreshEmoji}}</a>
|
||||
<i class="material-icons waves-effect" onclick="emoji()" title="{{closeThisBox}}" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<span id="now-emoji"></span>{{showThisEmoji}}<br><span class="gray sml">{{emojiInsertWarn}}</span>
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">{{emojiWarn}}
|
||||
<a onclick="emojiGet('true')" class="pointer">{{refreshEmoji}}</a>
|
||||
<i class="material-icons waves-effect" onclick="emojiToggle()" title="{{closeThisBox}}" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
<a onclick="customEmoji()" class="pointer waves-effect" title="{{customEmoji}}">
|
||||
<i class="material-icons">add</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="{{peopleEmoji}}">
|
||||
<i class="material-icons">people</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="{{natureEmoji}}">
|
||||
<i class="material-icons">local_florist</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="{{foodEmoji}}">
|
||||
<i class="material-icons">restaurant</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="{{activityEmoji}}">
|
||||
<i class="material-icons">directions_run</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="{{placeEmoji}}">
|
||||
<i class="material-icons">directions_car</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="{{thingsEmoji}}">
|
||||
<i class="material-icons">attach_file</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="{{symbolEmoji}}">
|
||||
<i class="material-icons">gesture</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="{{flagsEmoji}}">
|
||||
<i class="material-icons">flag</i>
|
||||
</a>
|
||||
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<span id="now-emoji"></span>{{showThisEmoji}}<br><span class="gray sml">{{emojiInsertWarn}}</span>
|
||||
<br>
|
||||
<a onclick="customEmoji()" class="pointer waves-effect" title="{{customEmoji}}">
|
||||
<i class="material-icons">add</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="{{peopleEmoji}}">
|
||||
<i class="material-icons">people</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="{{natureEmoji}}">
|
||||
<i class="material-icons">local_florist</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="{{foodEmoji}}">
|
||||
<i class="material-icons">restaurant</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="{{activityEmoji}}">
|
||||
<i class="material-icons">directions_run</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="{{placeEmoji}}">
|
||||
<i class="material-icons">directions_car</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="{{thingsEmoji}}">
|
||||
<i class="material-icons">attach_file</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="{{symbolEmoji}}">
|
||||
<i class="material-icons">gesture</i>
|
||||
</a>
|
||||
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="{{flagsEmoji}}">
|
||||
<i class="material-icons">flag</i>
|
||||
</a>
|
||||
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!--Poll UI-->
|
||||
<div id="poll" class="hide">
|
||||
<select id="poll-sel" onchange="pollProviderCk()">
|
||||
<option value="nothing">{{pollDdisabled}}</option>
|
||||
<option value="votedon">votedon.</option>
|
||||
<option value="mastodon-poll">Mastodon(2.8~)</option>
|
||||
</select>
|
||||
<div id="votedon">
|
||||
|
||||
</div>
|
||||
<div id="mastodon-poll" class="poll-provider hide">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}1">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}2">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}3">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}4">
|
||||
<input type="checkbox" class="filled-in" id="poll-multiple" value="1" />
|
||||
<label for="poll-multiple">{{pollmulti}}</label><br>
|
||||
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">{{days}}
|
||||
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">{{hours}}
|
||||
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="0">{{mins}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
@@ -550,16 +580,22 @@ var tlid=0;
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-0-2" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
<h5>Release Note Miria (17.0.2)</h5>
|
||||
バグ修正<br>
|
||||
ブーストを除外できる<br>
|
||||
<u>17.0.1</u><br>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
CW付きのトゥートの再編集に対応<br>
|
||||
インストール場所が指定できるように<br>
|
||||
トゥートのコピペができない不具合を修正<br>
|
||||
TweetDeckの横幅だけ広げられる機能
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>{{supportme}}</h3>
|
||||
@@ -703,9 +739,9 @@ var tlid=0;
|
||||
<label for="except_filter">{{except}}</label><br>
|
||||
<span class="sml">{{exceptWorn}}</span><br>
|
||||
{{avalableBefore}}<span class="sml">{{warnAvBefore}}<b>{{warnAvBefore2}}</b></span><br><br>
|
||||
<input type="text" style="width:50px" id="days_filter" placeholder="d" value="0">{{days}}
|
||||
<input type="text" style="width:50px" id="hours_filter" placeholder="h" value="0">{{hours}}
|
||||
<input type="text" style="width:50px" id="mins_filter" placeholder="m" value="0">{{mins}}
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">{{days}}
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">{{hours}}
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">{{mins}}
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">{{add}}</button><br>
|
||||
<span class="sml">{{warnOnIntegratedTL}}</span>
|
||||
</div>
|
||||
@@ -720,7 +756,9 @@ var tlid=0;
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<input type="text" id="posttgl" placeholder="{{toot}}" style="height:2rem">
|
||||
<button id="posttgl" class="btn waves-effect indigo" style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons" style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>{{toot}}
|
||||
</button>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
@@ -806,9 +844,11 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/parse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/dm.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/tl.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/card.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/poll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/notification.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/datails.js"></script>
|
||||
|
@@ -4,6 +4,7 @@
|
||||
"showSelectProf":"Show profile of the selecting account",
|
||||
"closethisbox":"Close this box",
|
||||
"toot":"Toot",
|
||||
"post-new":"Post new",
|
||||
"nsfwDes":"Mark media as sensitive",
|
||||
"cwDes":"Hide text behind warning",
|
||||
"selfile":"Attach..",
|
||||
@@ -43,6 +44,12 @@
|
||||
"thingsEmoji":"Emojis of tools",
|
||||
"symbolEmoji":"Emojis of symbols",
|
||||
"flagsEmoji":"Emojis of flags",
|
||||
"poll":"Poll",
|
||||
"pollDdisabled":"Polls: Disabled",
|
||||
"pollProvider":"Provider of Poll",
|
||||
"choice":"Choice",
|
||||
"pollmulti":"Multiple select",
|
||||
"expires_in":"Expires in...(sec)",
|
||||
"contextBefore":"Context before this toot",
|
||||
"thisToot":"This toot",
|
||||
"contextAfter":"Context after this toot",
|
||||
@@ -131,6 +138,7 @@
|
||||
"days":"days",
|
||||
"hours":"hours",
|
||||
"mins":"minutes",
|
||||
"secs":"seconds",
|
||||
"warnOnIntegratedTL":"Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
|
||||
"helloTheDesk":"<h3>Welcome to TheDesk</h3><br><a href=\"acct.html\">Add an account</a> or click <i class=\"material-icons\">add</i> to add a column.",
|
||||
"addColumn":"Add a column",
|
||||
|
@@ -3,6 +3,7 @@
|
||||
"close":"Close",
|
||||
"showSelectProf":"選択したアカウントのプロフィールを表示",
|
||||
"closethisbox":"このボックスを閉じる",
|
||||
"post-new":"投稿",
|
||||
"toot":"トゥート",
|
||||
"nsfwDes":"画像に制限を付与",
|
||||
"cwDes":"コンテンツワーニング(トゥートを表示する前にメッセージで隠す)",
|
||||
@@ -43,6 +44,12 @@
|
||||
"thingsEmoji":"もの",
|
||||
"symbolEmoji":"記号",
|
||||
"flagsEmoji":"国旗",
|
||||
"poll":"アンケート",
|
||||
"pollDdisabled":"アンケートを使用しない",
|
||||
"pollProvider":"アンケートのプロバイダ",
|
||||
"choice":"選択肢",
|
||||
"pollmulti":"複数選択を許可",
|
||||
"expires_in":"有効期限(秒)",
|
||||
"contextBefore":"これより前の会話",
|
||||
"thisToot":"対象のトゥート",
|
||||
"contextAfter":"これより後の会話",
|
||||
@@ -131,6 +138,7 @@
|
||||
"days":"日",
|
||||
"hours":"時間",
|
||||
"mins":"分",
|
||||
"secs":"秒",
|
||||
"warnOnIntegratedTL":"Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。",
|
||||
"helloTheDesk":"<h3>Welcome to TheDesk</h3><br><a href=\"acct.html\">アカウントを追加</a>するか下の<i class=\"material-icons\">add</i>ボタンよりカラムを追加してください。",
|
||||
"addColumn":"カラム追加",
|
||||
|
199
app/view/make/language/main.json
Normal file
199
app/view/make/language/main.json
Normal file
@@ -0,0 +1,199 @@
|
||||
{
|
||||
"language":"en",
|
||||
"lang_toot":"Toot",
|
||||
"lang_there":"Yes",
|
||||
"lang_nothing":"None",
|
||||
"lang_yesno":"Yes",
|
||||
"lang_no":"No",
|
||||
"lang_progress":"Wait...",
|
||||
"lang_edit":"Edit",
|
||||
"lang_del":"Delete",
|
||||
"lang_add":"Add",
|
||||
"lang_fatalerroroccured":"Some errors are occured, please restart TheDesk.",
|
||||
"lang_speech":"Google US English",
|
||||
"lang_lang":"Language",
|
||||
"lang_langlocale":"English",
|
||||
"lang_back":"Back",
|
||||
"lang_set":"Set",
|
||||
"lang_langadd":"Translate TheDesk to other languages or proofread TheDesk on <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk needs your help.",
|
||||
"lang_version_usever":"No update is found({{ver}})",
|
||||
"lang_version_skipver":"Update was ignored.",
|
||||
"lang_login_noauth":"Show TL of unlogined accounts",
|
||||
"lang_manager_info":"About this instance",
|
||||
"lang_manager_refresh":"Refresh",
|
||||
"lang_manager_delete":"Logout",
|
||||
"lang_manager_color":"Account Color",
|
||||
"lang_manager_confirm":"is about to logout. Continue?",
|
||||
"lang_manager_mainAcct":"Done:choose main account",
|
||||
"lang_manager_def":"Default",
|
||||
"lang_manager_none":"None",
|
||||
"lang_manager_godev":"Open DevCenter of Misskey. We show also an official documents to refer.",
|
||||
"lang_bbmd_misskey":"TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
|
||||
"lang_emoji_get":"Get emojis",
|
||||
"lang_emoji_custom":"Custom emojis",
|
||||
"lang_postimg_previewdis":"cannot preview",
|
||||
"lang_postimg_aftupload":"You cannot change accounts after uploading.",
|
||||
"lang_post_tagTL":"This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
|
||||
"lang_post_tagVis":"This toot(not 'public' toot) is not shown on this tag's TL.",
|
||||
"lang_post_cwtitle":"Auto CW Alert",
|
||||
"lang_post_cwtxt":"You are about to post longer toot than you set.\nWarning text:",
|
||||
"lang_post_btn1":"Cancel (will not post)",
|
||||
"lang_post_btn2":"Make text hidden automatically",
|
||||
"lang_post_btn3":"Continue to post",
|
||||
"lang_status_favWarn":"It will take a miunte to favourite a remote toot.",
|
||||
"lang_status_btWarn":"It will take a miunte to boost a remote toot.",
|
||||
"lang_status_follow":"Follow",
|
||||
"lang_status_unfollow":"Unfollow",
|
||||
"lang_status_block":"Block",
|
||||
"lang_status_unblock":"Unblock",
|
||||
"lang_status_mute":"Mute",
|
||||
"lang_status_unmute":"Unmute",
|
||||
"lang_status_redraft":"Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.",
|
||||
"lang_status_emphas":"'s toots are emphasized. Please reload after this action.",
|
||||
"lang_status_unemphas":"'s toots are not emphasized. Please reload after this action.",
|
||||
"lang_status_unendorse":"Not feature on profile",
|
||||
"lang_status_endorse":"Feature on profile",
|
||||
"lang_suggest_nodata":"Please get emojis list in order to show suggestion.",
|
||||
"lang_usetxtbox_reply":"Reply Mode. Ctrl+Shift+C to clear.",
|
||||
"lang_cards_check":" check",
|
||||
"lang_cards_pip":"PiP mode",
|
||||
"lang_details_nodata":"No data",
|
||||
"lang_details_filtered":"Filtered toot",
|
||||
"lang_details_embed":"Embed HTML is cliped.",
|
||||
"lang_details_url":"URL of this toot is cliped.",
|
||||
"lang_details_txt":"Content of this toot is cliped.",
|
||||
"lang_filter_nodata":"No data",
|
||||
"lang_filter_errordegree":"Please check a context",
|
||||
"lang_list_nodata":"No data",
|
||||
"lang_list_show":"Show",
|
||||
"lang_list_users":"Users list",
|
||||
"lang_list_nouser":"No users in this list.",
|
||||
"lang_list_add":"Add to the list",
|
||||
"lang_list_remove":"Remove from the list",
|
||||
"lang_notf_new":" new notifications",
|
||||
"lang_speech_refresh":"Save value about TTS config",
|
||||
"lang_src_ts":"chronological order",
|
||||
"lang_src_people":" people toot",
|
||||
"lang_tags_always":"Always toots with ",
|
||||
"lang_tags_realtime":"Tag-stream toot",
|
||||
"lang_tags_tagunpin":"Unpin {{tag}}",
|
||||
"lang_tags_tagwarn":"When you toot without {{tag}}, tag-streaming mode will be off.",
|
||||
"lang_tl_media":"Media",
|
||||
"lang_tl_reconnect":"Reconnect to streaming API",
|
||||
"lang_layout_gotop":"Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
|
||||
"lang_layout_thisacct":"{{notf}} of this account",
|
||||
"lang_layout_delthis":"Remove this column",
|
||||
"lang_layout_setthis":"Preferences of this column",
|
||||
"lang_layout_mediafil":"Media filtering",
|
||||
"lang_layout_linkana":"Auto Link Analyzer",
|
||||
"lang_layout_linkanades":"Auto link analyzer",
|
||||
"lang_layout_tts":"Text to speech ",
|
||||
"lang_layout_reconnect":"Reconnect to streaming API",
|
||||
"lang_layout_headercolor":"Header color of this column",
|
||||
"lang_layout_nodata":"[No data]<br>F5/⌘+R to reload",
|
||||
"lang_layout_dm":"Direct Message",
|
||||
"lang_layout_webviewmode":"Prefer WebView",
|
||||
"lang_excluded":"Excluded type of notification",
|
||||
"lang_spotify_img":"Attach an album artwork",
|
||||
"lang_spotify_imgno":"Not attach an album artwork",
|
||||
"lang_spotify_acct":"Connect TheDesk to Spotify",
|
||||
"lang_spotify_np":"Done:templete of NowPlaying",
|
||||
"lang_setting_npprovide":"NowPlaying provider:{{set}}",
|
||||
"lang_hisdata_frcreq":"Required Mastodon 2.4.3 and above",
|
||||
"lang_hisdata_frcwarn":"Unfollow accounts will be shown.",
|
||||
"lang_hisdata_taketime":"It will take 30s ~ several minutes",
|
||||
"lang_hisdata_notonmisskey":"Misskey is unable to request.",
|
||||
"lang_showontl_movetxt":"This account was moved",
|
||||
"lang_showontl_movebtn":"Continue on the new account",
|
||||
"lang_showontl_botacct":"[bot]",
|
||||
"lang_showontl_followed":"Following you",
|
||||
"lang_showontl_notf":"Notification ",
|
||||
"lang_showontl_domain":"Domain ",
|
||||
"lang_showontl_listwarn":"Follow to add this user to lists.",
|
||||
"lang_parse_mentioned":" replied to you",
|
||||
"lang_parse_faved":" favourited your toot",
|
||||
"lang_parse_bted":" boosted your toot",
|
||||
"lang_parse_btedsimple":" boosted",
|
||||
"lang_parse_notftime":"Actioned at",
|
||||
"lang_parse_cwshow":"Show",
|
||||
"lang_parse_fulltext":"Full size text:",
|
||||
"lang_parse_autofold":"Auto folded",
|
||||
"lang_parse_more":"More",
|
||||
"lang_parse_url":"URL Analyzer",
|
||||
"lang_parse_tagTL":"Timeline of {{tag}}",
|
||||
"lang_parse_tagtoot":"Toot with {{tag}}",
|
||||
"lang_parse_tagpin":"Pin {{tag}}",
|
||||
"lang_parse_public":"Public",
|
||||
"lang_parse_unlisted":"Unlisted",
|
||||
"lang_parse_private":"Private",
|
||||
"lang_parse_direct":"Direct",
|
||||
"lang_parse_clickcopy":"Click to copy text of this toot",
|
||||
"lang_parse_clickcopyurl":"Click to copy URL of this toot",
|
||||
"lang_parse_trans":"Translate to Japanese",
|
||||
"lang_parse_replyto":"Reply to this toot",
|
||||
"lang_parse_bt":"Boost this toot",
|
||||
"lang_parse_fav":"Favourite this toot",
|
||||
"lang_parse_quote":"Quote this toot",
|
||||
"lang_parse_del":"Delete this toot",
|
||||
"lang_parse_pin":"Pin this toot",
|
||||
"lang_parse_det":"Details via your main account.",
|
||||
"lang_parse_redraft":"Delete & re-draft",
|
||||
"lang_parse_followed":"Followed you",
|
||||
"lang_parse_clientop":"Operation of this client",
|
||||
"lang_parse_clienttxt":" will be",
|
||||
"lang_parse_clientno":"done nothing",
|
||||
"lang_parse_clientemp":"emphasized(/not emphasized)",
|
||||
"lang_parse_clientmute":"muted",
|
||||
"lang_parse_mute":" will be muted. You can remove on preferences.",
|
||||
"lang_misskeyparse_renote":"Repost",
|
||||
"lang_misskeyparse_renoteqt":"Renote",
|
||||
"lang_misskeyparse_reaction":"Reaction",
|
||||
"lang_misskeyparse_tagnostr":"No streaming API on Tag TLs",
|
||||
"lang_misskeyparse_listnostr":"No streaming API on List TLs",
|
||||
"lang_misskeyparse_home":"Home",
|
||||
"lang_misskeyparse_followers":"Follower",
|
||||
"lang_misskeyparse_specified":"Specified User",
|
||||
"lang_misskeyparse_qt":"Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
|
||||
"lang_misskeyparse_renoted":" renoted your following post.",
|
||||
"lang_misskeyparse_quoted":" quoted your following post.",
|
||||
"lang_misskeyparse_reacted":" reacted your following post.",
|
||||
"lang_setting_time":"Time format:{{set}}",
|
||||
"lang_setting_theme":"Theme:{{set}}",
|
||||
"lang_setting_nsfw":"NSFW:{{set}}",
|
||||
"lang_setting_cw":"CW:{{set}}",
|
||||
"lang_setting_cwtext":"Default CW text:{{set}}",
|
||||
"lang_setting_cws":"Always CW on:{{set}}",
|
||||
"lang_setting_rp":"Reply counter:{{set}}",
|
||||
"lang_setting_vis":"Default visibility:{{set}}",
|
||||
"lang_setting_popup":"Popup notification:{{set}}",
|
||||
"lang_setting_off":"Off",
|
||||
"lang_setting_s":"s",
|
||||
"lang_setting_box":"Default toot box action:{{set}}",
|
||||
"lang_setting_gif":"GIF:{{set}}",
|
||||
"lang_setting_selt":"Auto fold:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_autocw":"Auto CW:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_width":"Minimam width:{{set}}",
|
||||
"lang_setting_fixwidth":"TweetDeck fixed width:{{set}}px",
|
||||
"lang_setting_img":"After posting an image:{{set}}",
|
||||
"lang_setting_font":"Fonts:{{set}}",
|
||||
"lang_setting_default":"default font",
|
||||
"lang_setting_size":"Font size:{{set}}px",
|
||||
"lang_setting_imgheight":"Image height:{{set}}px",
|
||||
"lang_setting_ticker":"#InstanceTicker:{{set}}px",
|
||||
"lang_setting_tag":"Tag TL:{{set}}",
|
||||
"lang_setting_boxConfirm":"Post box:{{set}}",
|
||||
"lang_setting_ul":"Native locale:{{set}}",
|
||||
"lang_setting_notf":"Native notification:{{set}}",
|
||||
"lang_setting_quote":"Quote format:{{set}}",
|
||||
"lang_setting_via":"Via:{{set}}",
|
||||
"lang_setting_mov":"Action buttons hiding:{{set}}",
|
||||
"lang_setting_setasread":"Notification markers:{{set}}",
|
||||
"lang_setting_main":"Default account:{{set}}",
|
||||
"lang_setting_sec":"Secondary toot button:{{set}}",
|
||||
"lang_setting_ksref":"Keyboard shortcuts are refreshed.",
|
||||
"lang_setting_nomuting":"No client is muted.",
|
||||
"lang_setting_notftest":" Notification test ",
|
||||
"lang_setting_notftestprof":"Your icon is shown.",
|
||||
"lang_setting_exportwarn":"Only important data will be exported. You must keep this data secure.",
|
||||
"lang_setting_importwarn":"All data will be deleted."
|
||||
}
|
@@ -17,8 +17,10 @@
|
||||
"nativenotf":"Native notification",
|
||||
"nnwarn":"This does not work on Windows Portable ver.",
|
||||
"nntest":"Notification test",
|
||||
"minwidth":"Minimam width of columns",
|
||||
"minwidth":"Minimum width of columns",
|
||||
"minwidthwarn":"Scroll bar will be shown when your window size is more than ammounts of columns.",
|
||||
"fixwidth":"Minimum width of TweetDeck browser",
|
||||
"fixwidthwarn":"",
|
||||
"above":"above",
|
||||
"font":"Font",
|
||||
"fontwarn":"Select your favorite font to 'Select'",
|
||||
@@ -65,6 +67,7 @@
|
||||
"imgheight":"Height of images",
|
||||
"ticker":"Enable #InstanceTicker",
|
||||
"tickerwarn":"Show colorful stickers about tooters' server. <a href=\"https://cdn.weep.me/mastodon/\">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.",
|
||||
"animation":"Animation of timelines",
|
||||
"post":"Posting Preferences",
|
||||
"autocw":"Alert before posting a long toot.",
|
||||
"autocwwarn":"Show dialog whether you make too-long text hidden.",
|
||||
@@ -108,7 +111,7 @@
|
||||
"empcolorwarn":"Use this color to emphasis",
|
||||
"spotify":"Spotify and NowPlaying Preferences",
|
||||
"npProvider":"NowPlaying Provider(Windows)",
|
||||
"npPeoviderWarn":"macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a> is required.",
|
||||
"npPeoviderWarn":"macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a> is required. And MusicBee requires CAD.",
|
||||
"spotifynote1":"Click ",
|
||||
"spotifynote2":"icon to NowPlaying",
|
||||
"link":"Account Connection",
|
||||
|
@@ -19,6 +19,8 @@
|
||||
"nntest":"通知テスト",
|
||||
"minwidth":"マルチカラムの最低横幅",
|
||||
"minwidthwarn":"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
|
||||
"fixwidth":"TweetDeckの限定の最低横幅",
|
||||
"fixwidthwarn":"",
|
||||
"above":"以上",
|
||||
"font":"フォント",
|
||||
"fontwarn":"「選択」を押してフォントを選んでください。",
|
||||
@@ -65,6 +67,7 @@
|
||||
"imgheight":"画像の高さ",
|
||||
"ticker":"#InstanceTickerを使う",
|
||||
"tickerwarn":"トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://cdn.weep.me/mastodon/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
|
||||
"animation":"タイムラインのアニメーション",
|
||||
"post":"投稿設定",
|
||||
"autocw":"長文投稿時に警告",
|
||||
"autocwwarn":"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
||||
@@ -108,7 +111,7 @@
|
||||
"empcolorwarn":"強調色(テーマによって異なります。)",
|
||||
"spotify":"SpotifyとNowPlayingの設定",
|
||||
"npProvider":"NowPlayingのソース(Windows)",
|
||||
"npPeoviderWarn":"macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a>が必要です。",
|
||||
"npPeoviderWarn":"macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。",
|
||||
"spotifynote1":"",
|
||||
"spotifynote2":"ボタンから簡単にNowPlayingができます。",
|
||||
"link":"アカウントの連携",
|
||||
|
@@ -2,7 +2,8 @@
|
||||
"updatehere":"Get latest TheDesk",
|
||||
"download":"Start",
|
||||
"portable":"Portable ver.",
|
||||
"winzip":"Durling unzippng, TheDesk may freeze. It takes several seconds.",
|
||||
"installer":"Installer ver.",
|
||||
"snap":"Snap ver may be on Snapcraft",
|
||||
"unrewrite":"Not rewrite",
|
||||
"sureupd":"You may lose a cool experience!",
|
||||
"skipupd":"Skip this update",
|
||||
|
@@ -2,7 +2,8 @@
|
||||
"updatehere":"アップデートがあります",
|
||||
"download":"開始",
|
||||
"portable":"ポータブル版",
|
||||
"unrewrite":"上書きしない",
|
||||
"installer":"インストーラー版(推奨)",
|
||||
"snap":"snap版はSnapcraft等よりDLしてください。",
|
||||
"sureupd":"アップデートは必ず行ってください",
|
||||
"skipupd":"アップデートをスキップする",
|
||||
"nexttl":"次回TL表示時まで",
|
||||
|
@@ -64,12 +64,14 @@
|
||||
<input type="text" style="width:50px" id="width">px{{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{fixwidth}}</h5>{{fixwidthwarn}}
|
||||
<input type="text" style="width:50px" id="fixwidth">px{{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{font}}</h5>
|
||||
{{fontwarn}}<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="font()">{{select}}</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;">
|
||||
|
||||
</div>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
@@ -180,6 +182,11 @@
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{animation}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">{{no}}</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -315,7 +322,7 @@
|
||||
<i class="fa fa-spotify"></i>{{spotify}}
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{npProvider}}</h5>
|
||||
<!-->h5>{{npProvider}}</h5>
|
||||
{{npPeoviderWarn}}<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
@@ -330,7 +337,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br>
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
{{spotifynote1}}<i class="material-icons" style="font-size:24px;">music_note</i>{{spotifynote2}}<br>
|
||||
<h5>{{link}}</h5>
|
||||
{{linkwarn}}<br>
|
||||
@@ -423,7 +430,7 @@ Kyash<br>
|
||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">{{checkup}}</a><br>
|
||||
<a href="oss.html">OSS License{{ossJP}}</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 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://github.com/cutls/TheDesk/blob/master/TOS.md">Terms of Use</a>
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
|
||||
<br>Developer: Cutls P(
|
||||
<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
|
||||
<br>
|
||||
|
@@ -62,6 +62,9 @@ a,button,input,label,i{
|
||||
#prog{
|
||||
font-size:200%;
|
||||
}
|
||||
.linux, .mac{
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
@@ -75,14 +78,12 @@ a,button,input,label,i{
|
||||
<p>{{updatehere}}</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br>
|
||||
<span id="det"></span><br>
|
||||
<button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">{{download}}</button>
|
||||
<div id="checkbox">
|
||||
Options:<br>
|
||||
<input type="checkbox" class="filled-in" id="portable" value="true" />
|
||||
<label for="portable">{{portable}}</label><br>
|
||||
<input type="checkbox" class="filled-in" id="rewrite" value="true" />
|
||||
<label for="rewrite">{{unrewrite}}</label><br>
|
||||
</div>
|
||||
<button class="waves-effect btn windows" onclick="update('install')" style="margin-left:15px;">{{installer}}</button>
|
||||
<button class="waves-effect btn windows" onclick="update('portable')" style="margin-left:15px;">{{portable}}</button>
|
||||
<span class="linux">{{snap}}<br></span>
|
||||
<button class="waves-effect btn linux" onclick="update('linux')" style="margin-left:15px;">{{download}}</button>
|
||||
<button class="waves-effect btn mac" onclick="update('mac')" style="margin-left:15px;">{{download}}</button>
|
||||
<br>
|
||||
{{problem1}}<br>{{problem2}}
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
@@ -123,17 +124,49 @@ function update(sel){
|
||||
$("#dlnow").toggleClass("hide");
|
||||
$("#dlnow").toggleClass("show");
|
||||
$("#prog").text("");
|
||||
if($('#rewrite:checked').val()=="true"){
|
||||
var versioning=true;
|
||||
}else{
|
||||
var versioning=false;
|
||||
}
|
||||
if($('#portable:checked').val()=="true"){
|
||||
var zip=true;
|
||||
}else{
|
||||
var zip=false;
|
||||
}
|
||||
ipc.send('download-btn', [sel,enc(localStorage.getItem("next-ver")),zip,versioning]);
|
||||
var remote=electron.remote;
|
||||
var bit=process.arch;
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {'content-type': 'application/json'},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(sel=="install"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64"];
|
||||
var file="TheDesk-setup.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32"];
|
||||
var file="TheDesk-setup-ia32.exe";
|
||||
}
|
||||
}else if(sel=="portable"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64p"];
|
||||
var file="TheDesk.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32p"];
|
||||
var file="TheDesk-ia32.exe";
|
||||
}
|
||||
}else if(sel=="linux"){
|
||||
if(bit=="x64"){
|
||||
var url=json["linuxx64"];
|
||||
var file="TheDesk-linux-x64.zip";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["linuxia64"];
|
||||
var file="TheDesk-linux-ia32.zip";
|
||||
}
|
||||
}else if(sel=="mac"){
|
||||
var url=json["mac"];
|
||||
var file="TheDesk-darwin-x64.zip";
|
||||
}
|
||||
ipc.send('download-btn', [url,file]);
|
||||
});
|
||||
|
||||
}
|
||||
function quit(){
|
||||
ipc.send('quit', 'go');
|
||||
@@ -149,9 +182,14 @@ ipc.on('mess', function (event, arg) {
|
||||
})
|
||||
function verck(){
|
||||
var remote=electron.remote;
|
||||
var platform=remote.process.platform;
|
||||
if(platform!="win32"){
|
||||
$('#portable').prop("disabled",true)
|
||||
var platform=remote.process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="linux"){
|
||||
$('.windows').hide()
|
||||
$('.linux').show()
|
||||
}else if(platform=="mac"){
|
||||
$('.windows').hide()
|
||||
$('.mac').show()
|
||||
}
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
@@ -167,7 +205,8 @@ function verck(){
|
||||
$("#ver").text(json.desk);
|
||||
localStorage.setItem("next-ver",json.desk);
|
||||
$("#det").html(json.detail);
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
|
||||
});
|
||||
}
|
||||
function nextv(){
|
||||
|
@@ -20,13 +20,13 @@ body,html{overflow-y: scroll;}
|
||||
.card .colorsel div.exc{width:40px;height:20px;}
|
||||
</style>
|
||||
<meta charset="utf-8">
|
||||
|
||||
{{comment-start}}
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
|
||||
{{comment-end}}
|
||||
</head>
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
|
@@ -13,13 +13,13 @@
|
||||
<link href='../../css/sort.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
|
||||
{{comment-start}}
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
|
||||
{{comment-end}}
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
@@ -32,7 +32,7 @@
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.0.1) beta4";
|
||||
var ver="Miria (17.0.2)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -53,8 +53,10 @@ var tlid=0;
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="post-box" class="z-depth-3">
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar">{{post-new}}</div>
|
||||
<!--トゥートボックス-->
|
||||
<div id="left-side">
|
||||
<div class="row" style="margin-bottom:0;">
|
||||
</span>
|
||||
<div class="" style="float:left;">
|
||||
@@ -185,6 +187,9 @@ var tlid=0;
|
||||
<li>
|
||||
<a onclick="schedule();">crwdns1884:0crwdne1884:0</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="pollToggle();">{{poll}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
@@ -196,59 +201,84 @@ var tlid=0;
|
||||
<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="crwdns1890:0crwdne1890:0">lock_open</i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="right-side">
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide shared z-depth-4">
|
||||
<span class="gray sml">crwdns409:0crwdne409:0
|
||||
<a onclick="emojiGet('true')" class="pointer">crwdns411:0crwdne411:0</a>
|
||||
<i class="material-icons waves-effect" onclick="emoji()" title="crwdns412:0crwdne412:0" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<span id="now-emoji"></span>crwdns413:0crwdne413:0<br><span class="gray sml">crwdns410:0crwdne410:0</span>
|
||||
<div id="emoji" class="hide">
|
||||
<span class="gray sml">crwdns409:0crwdne409:0
|
||||
<a onclick="emojiGet('true')" class="pointer">crwdns411:0crwdne411:0</a>
|
||||
<i class="material-icons waves-effect" onclick="emojiToggle()" title="crwdns412:0crwdne412:0" data-trans-title="post_box_close">cancel</i>
|
||||
<br>
|
||||
<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="crwdns415:0crwdne415:0">
|
||||
<i class="material-icons">people</i>
|
||||
</a>
|
||||
<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="crwdns417:0crwdne417:0">
|
||||
<i class="material-icons">restaurant</i>
|
||||
</a>
|
||||
<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="crwdns419:0crwdne419:0">
|
||||
<i class="material-icons">directions_car</i>
|
||||
</a>
|
||||
<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="crwdns421:0crwdne421:0">
|
||||
<i class="material-icons">gesture</i>
|
||||
</a>
|
||||
<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">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</span>
|
||||
<div id="emoji-list" class="" style="">
|
||||
</div>
|
||||
<div class="emoji-control center">
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
|
||||
<i class="material-icons">navigate_before</i>
|
||||
</button>
|
||||
<span id="emoji-count"></span>/
|
||||
<span id="emoji-sum"></span>
|
||||
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
|
||||
<i class="material-icons">navigate_next</i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="default-emoji">
|
||||
<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="crwdns414:0crwdne414:0">
|
||||
<i class="material-icons">add</i>
|
||||
</a>
|
||||
<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="crwdns416:0crwdne416:0">
|
||||
<i class="material-icons">local_florist</i>
|
||||
</a>
|
||||
<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="crwdns418:0crwdne418:0">
|
||||
<i class="material-icons">directions_run</i>
|
||||
</a>
|
||||
<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="crwdns420:0crwdne420:0">
|
||||
<i class="material-icons">attach_file</i>
|
||||
</a>
|
||||
<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="crwdns422:0crwdne422:0">
|
||||
<i class="material-icons">flag</i>
|
||||
</a>
|
||||
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
|
||||
<i class="fa fa-fort-awesome"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!--Poll UI-->
|
||||
<div id="poll" class="hide">
|
||||
<select id="poll-sel" onchange="pollProviderCk()">
|
||||
<option value="nothing">{{pollDdisabled}}</option>
|
||||
<option value="votedon">votedon.</option>
|
||||
<option value="mastodon-poll">Mastodon(2.8~)</option>
|
||||
</select>
|
||||
<div id="votedon">
|
||||
|
||||
</div>
|
||||
<div id="mastodon-poll" class="poll-provider hide">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}1">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}2">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}3">
|
||||
<input type="text" class="mastodon-choice" placeholder="{{choice}}4">
|
||||
<input type="checkbox" class="filled-in" id="poll-multiple" value="1" />
|
||||
<label for="poll-multiple">{{pollmulti}}</label><br>
|
||||
<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">crwdns507:0crwdne507:0
|
||||
<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">crwdns508:0crwdne508:0
|
||||
<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="0">crwdns509:0crwdne509:0
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal Structure Tootdata-->
|
||||
<div id="tootmodal" class="modal modal-fixed-footer">
|
||||
@@ -550,16 +580,22 @@ var tlid=0;
|
||||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Miria_17-0-2" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
<h5>Release Note Miria (17.0.2)</h5>
|
||||
バグ修正<br>
|
||||
ブーストを除外できる<br>
|
||||
<u>17.0.1</u><br>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
CW付きのトゥートの再編集に対応<br>
|
||||
インストール場所が指定できるように<br>
|
||||
トゥートのコピペができない不具合を修正<br>
|
||||
TweetDeckの横幅だけ広げられる機能
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>crwdns473:0crwdne473:0</h3>
|
||||
@@ -703,9 +739,9 @@ var tlid=0;
|
||||
<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="text" style="width:50px" id="days_filter" placeholder="d" value="0">crwdns507:0crwdne507:0
|
||||
<input type="text" style="width:50px" id="hours_filter" placeholder="h" value="0">crwdns508:0crwdne508:0
|
||||
<input type="text" style="width:50px" id="mins_filter" placeholder="m" value="0">crwdns509:0crwdne509:0
|
||||
<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">crwdns507:0crwdne507:0
|
||||
<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">crwdns508:0crwdne508:0
|
||||
<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">crwdns509:0crwdne509:0
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">crwdns491:0crwdne491:0</button><br>
|
||||
<span class="sml">crwdns510:0crwdne510:0</span>
|
||||
</div>
|
||||
@@ -720,7 +756,9 @@ var tlid=0;
|
||||
<div id="bottom" class="reverse">
|
||||
<div class="leftside reverse">
|
||||
<div id="dambox">
|
||||
<input type="text" id="posttgl" placeholder="crwdns388:0crwdne388:0" style="height:2rem">
|
||||
<button id="posttgl" class="btn waves-effect indigo" style="width: 100%;height: 2.5rem;line-height: 0;margin: 0;">
|
||||
<i class="material-icons" style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;">edit</i>crwdns388:0crwdne388:0
|
||||
</button>
|
||||
</div>
|
||||
<div class="leftside reverse" id="group">
|
||||
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
|
||||
@@ -806,9 +844,11 @@ var tlid=0;
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/parse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/dm.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/tl.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/card.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/poll.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/notification.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/datails.js"></script>
|
||||
|
@@ -2,13 +2,13 @@
|
||||
<html lang="ps">
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
|
||||
{{comment-start}}
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
|
||||
{{comment-end}}
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
@@ -30,7 +30,7 @@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>crwdns530:0crwdne530:0</h5>
|
||||
<a onclick="changelang('ja')" class="pointer">日本語</a>/<a onclick="changelang('en')" class="pointer">English</a>/<a onclick="changelang('ps')" class="pointer">Crowdin In-context translation(beta)</a>
|
||||
<a href="../ja/setting.html">日本語(Japanese)</a>/<a href="../en/setting.html">English</a>/<a href="../ps/setting.html">Crowdin web translate</a>/
|
||||
<h5>crwdns531:0crwdne531:0</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
|
||||
@@ -64,12 +64,14 @@
|
||||
<input type="text" style="width:50px" id="width">pxcrwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>{{fixwidth}}</h5>{{fixwidthwarn}}
|
||||
<input type="text" style="width:50px" id="fixwidth">pxcrwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<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>
|
||||
<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()">crwdns525:0crwdne525:0</button>
|
||||
@@ -180,6 +182,11 @@
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>{{animation}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">crwdns527:0crwdne527:0</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -315,7 +322,7 @@
|
||||
<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{npProvider}}</h5>
|
||||
<!-->h5>{{npProvider}}</h5>
|
||||
{{npPeoviderWarn}}<br>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
|
||||
<label for="aimp">AIMP</label>
|
||||
@@ -330,7 +337,7 @@
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
|
||||
<label for="wlm">WLM</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
|
||||
<label for="cad">CAD</label><br><br>
|
||||
<label for="cad">CAD</label><br><br-->
|
||||
crwdns625:0crwdne625:0<i class="material-icons" style="font-size:24px;">music_note</i>crwdns626:0crwdne626:0<br>
|
||||
<h5>crwdns627:0crwdne627:0</h5>
|
||||
crwdns628:0crwdne628:0<br>
|
||||
@@ -423,7 +430,7 @@ Kyash<br>
|
||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">crwdns667:0crwdne667:0</a><br>
|
||||
<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://github.com/cutls/TheDesk/blob/master/TOS.md">Terms of Use</a>
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
|
||||
<br>Developer: Cutls P(
|
||||
<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
|
||||
<br>
|
||||
|
@@ -6,13 +6,13 @@
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
|
||||
{{comment-start}}
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
|
||||
{{comment-end}}
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
@@ -62,6 +62,9 @@ a,button,input,label,i{
|
||||
#prog{
|
||||
font-size:200%;
|
||||
}
|
||||
.linux, .mac{
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
@@ -75,14 +78,12 @@ a,button,input,label,i{
|
||||
<p>crwdns669:0crwdne669:0</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br>
|
||||
<span id="det"></span><br>
|
||||
<button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
|
||||
<div id="checkbox">
|
||||
Options:<br>
|
||||
<input type="checkbox" class="filled-in" id="portable" value="true" />
|
||||
<label for="portable">crwdns1950:0crwdne1950:0</label><br>
|
||||
<input type="checkbox" class="filled-in" id="rewrite" value="true" />
|
||||
<label for="rewrite">crwdns673:0crwdne673:0</label><br>
|
||||
</div>
|
||||
<button class="waves-effect btn windows" onclick="update('install')" style="margin-left:15px;">{{installer}}</button>
|
||||
<button class="waves-effect btn windows" onclick="update('portable')" style="margin-left:15px;">crwdns1950:0crwdne1950:0</button>
|
||||
<span class="linux">{{snap}}<br></span>
|
||||
<button class="waves-effect btn linux" onclick="update('linux')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
|
||||
<button class="waves-effect btn mac" onclick="update('mac')" style="margin-left:15px;">crwdns670:0crwdne670:0</button>
|
||||
<br>
|
||||
crwdns678:0crwdne678:0<br>crwdns679:0crwdne679:0
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
@@ -123,17 +124,49 @@ function update(sel){
|
||||
$("#dlnow").toggleClass("hide");
|
||||
$("#dlnow").toggleClass("show");
|
||||
$("#prog").text("");
|
||||
if($('#rewrite:checked').val()=="true"){
|
||||
var versioning=true;
|
||||
}else{
|
||||
var versioning=false;
|
||||
}
|
||||
if($('#portable:checked').val()=="true"){
|
||||
var zip=true;
|
||||
}else{
|
||||
var zip=false;
|
||||
}
|
||||
ipc.send('download-btn', [sel,enc(localStorage.getItem("next-ver")),zip,versioning]);
|
||||
var remote=electron.remote;
|
||||
var bit=process.arch;
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {'content-type': 'application/json'},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(sel=="install"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64"];
|
||||
var file="TheDesk-setup.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32"];
|
||||
var file="TheDesk-setup-ia32.exe";
|
||||
}
|
||||
}else if(sel=="portable"){
|
||||
if(bit=="x64"){
|
||||
var url=json["winx64p"];
|
||||
var file="TheDesk.exe";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["winia32p"];
|
||||
var file="TheDesk-ia32.exe";
|
||||
}
|
||||
}else if(sel=="linux"){
|
||||
if(bit=="x64"){
|
||||
var url=json["linuxx64"];
|
||||
var file="TheDesk-linux-x64.zip";
|
||||
}else if(bit=="ia32"){
|
||||
var url=json["linuxia64"];
|
||||
var file="TheDesk-linux-ia32.zip";
|
||||
}
|
||||
}else if(sel=="mac"){
|
||||
var url=json["mac"];
|
||||
var file="TheDesk-darwin-x64.zip";
|
||||
}
|
||||
ipc.send('download-btn', [url,file]);
|
||||
});
|
||||
|
||||
}
|
||||
function quit(){
|
||||
ipc.send('quit', 'go');
|
||||
@@ -149,9 +182,14 @@ ipc.on('mess', function (event, arg) {
|
||||
})
|
||||
function verck(){
|
||||
var remote=electron.remote;
|
||||
var platform=remote.process.platform;
|
||||
if(platform!="win32"){
|
||||
$('#portable').prop("disabled",true)
|
||||
var platform=remote.process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="linux"){
|
||||
$('.windows').hide()
|
||||
$('.linux').show()
|
||||
}else if(platform=="mac"){
|
||||
$('.windows').hide()
|
||||
$('.mac').show()
|
||||
}
|
||||
var start="https://thedesk.top/ver.json";
|
||||
fetch(start, {
|
||||
@@ -167,7 +205,8 @@ function verck(){
|
||||
$("#ver").text(json.desk);
|
||||
localStorage.setItem("next-ver",json.desk);
|
||||
$("#det").html(json.detail);
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
|
||||
});
|
||||
}
|
||||
function nextv(){
|
||||
|
3
package-lock.json
generated
Normal file
3
package-lock.json
generated
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"lockfileVersion": 1
|
||||
}
|
Reference in New Issue
Block a user