Compare commits
77 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
456500e954 | ||
|
e3470ae0f2 | ||
|
7da4cd53d2 | ||
|
1f1a429e35 | ||
|
1efa656529 | ||
|
52cb240be3 | ||
|
6411fc9fb1 | ||
|
48da2cf287 | ||
|
8968c248df | ||
|
27721fa481 | ||
|
ee618155ac | ||
|
f6e8f04b2a | ||
|
c6e99b2b47 | ||
|
c6701a4d59 | ||
|
693993e899 | ||
|
314ec5ab4d | ||
|
d344a7fc47 | ||
|
28f2e9302a | ||
|
697d942180 | ||
|
6412139ae4 | ||
|
add018263e | ||
|
baaa3e2527 | ||
|
79276bf698 | ||
|
3953f560e4 | ||
|
75d6a558ad | ||
|
230dd30294 | ||
|
e49c803f89 | ||
|
80577639d7 | ||
|
b85ac213da | ||
|
a8f446a1bd | ||
|
b7ec01aa1f | ||
|
6cc765a6f1 | ||
|
54a39151d1 | ||
|
37a1b7e52d | ||
|
54231cde73 | ||
|
57f7a92063 | ||
|
61c67457ac | ||
|
c05e13858b | ||
|
caa8d97a23 | ||
|
7921633efd | ||
|
77ad2bd200 | ||
|
fa3b3e0800 | ||
|
e1fb172f5b | ||
|
ccb0cb6db4 | ||
|
44e507dc90 | ||
|
c59267bf6e | ||
|
da0d9bbb51 | ||
|
c6d9d7aa49 | ||
|
a08b7501ce | ||
|
5950fa5bbd | ||
|
ed326cb264 | ||
|
4a984af695 | ||
|
d36a9215af | ||
|
e145efb1a2 | ||
|
c434ed903d | ||
|
fa546df375 | ||
|
cbe0cb171b | ||
|
70f76d61f4 | ||
|
0d0a9c43ad | ||
|
f762dd600c | ||
|
f3186373bf | ||
|
4f82cf00d6 | ||
|
ec2fb97a68 | ||
|
2c85cee77a | ||
|
c6ad258c1c | ||
|
4c0735b2ed | ||
|
cdaca5c9f7 | ||
|
0175038e77 | ||
|
205e1d3332 | ||
|
66d97388f5 | ||
|
c60572b132 | ||
|
bc197db0d5 | ||
|
a93c488aa5 | ||
|
a2d0268d39 | ||
|
8bb27aa8d5 | ||
|
0c7cf6f776 | ||
|
abd2a39204 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,7 @@
|
||||
*.exe
|
||||
TheDesk-*
|
||||
app/build
|
||||
build
|
||||
make.js
|
||||
app/.DS_Store
|
||||
.DS_Store
|
||||
|
30
.travis.yml
Normal file
30
.travis.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
os: windows
|
||||
language: node_js
|
||||
node_js:
|
||||
- '9.9.0'
|
||||
script: node -v
|
||||
before_deploy:
|
||||
- cd app
|
||||
- npm install electron-builder -g
|
||||
- npm install
|
||||
- electron-builder --win --ia32
|
||||
- mv ../build/TheDesk-setup.exe ../TheDesk-setup-ia32.exe
|
||||
- mv ../build/TheDesk*.exe ../TheDesk-ia32.exe
|
||||
- electron-builder --win --x64
|
||||
- mv ../build/TheDesk-setup.exe ../TheDesk-setup.exe
|
||||
- mv ../build/TheDesk*.exe ../TheDesk.exe
|
||||
- cd ../
|
||||
- ls
|
||||
after_deploy: ls
|
||||
deploy:
|
||||
skip_cleanup: true
|
||||
provider: releases
|
||||
api_key:
|
||||
secure: jndR02p5KRTtcJk18b3YsXL2cC+yzEf1AOqXdpWciF8f3lO5oY01jlxd17xdHIcK7VywSsLVZpLToSdqAoIEhJ5OxEQ/FmA3FlmbwwD6ou13gLa4VGIvsBHveCmKGjVu0Z++atIy76tZYU1SOWFWv4B0ZhnVz2ca2VZynvLgw3YNsPJH7rHO966GXgRkGYJAJ4UvLg3sj/iztVh2FSfbUj5IGO1e/JHJO63wAo1MSQtRjkutVgl/djnBLC6vbL4YHkM3Ynpkx/YQEcxwrmeY0Ra8D5yYDq4MNIDMmZahWC+k4u2eA2Cj2ifBFNxbZvTN75vLwRBp6DsTNHsiqkXrSPDBdNeet31RbwTQ6LtsK8jqmL4S/59dmLcj7uCU2WxyBLPbJdbdZWlqW2ZQvfQY8QVAYy7S3MiHQWQN0oP5wqXk89jcgR42ig/zsqFNPpXHM4mExR7l/gDLPg0j9c3XEF6sWtk3FmJN1i4+B+9kn09b6UKlV7EFPKp8XcFNrz4ZcE9/I8lKwsqLVG2jAXIk7Z9LwDRcAmK5eG348X5zwFtOY6raKIvRw2cn92bPnEI+55v8A4WANS2647GFTgxHj30D0d/sOZmJ5BS34zpdWTgE0AlKg7sOqkncjqoW5J5zCh5Ow7b3KXvEvlAts44mAag8tZTectxMP4iguXvTnv4=
|
||||
file:
|
||||
- TheDesk.exe
|
||||
- TheDesk-setup.exe
|
||||
- TheDesk-ia32.exe
|
||||
- TheDesk-setup-ia32.exe
|
||||
on:
|
||||
repo: cutls/TheDesk
|
8
LICENSE.md
Normal file
8
LICENSE.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# プライバシーポリシー
|
||||
|
||||
* TheDeskは「開発者からのお知らせ」配信のためにサーバー(thedesk.top)に常時アクセスしています。
|
||||
* 上記の接続によるユーザーの情報提供はありません。(IPアドレス等を含む)
|
||||
* thedesk.topのページにおいては、Googleアナリティクスによる解析を採用しています。
|
||||
* 配信についてAmazon Web Service CloudFrontを使用しています。CloudFrontにはアクセス解析機能がありますが、これの使用につきましては同プライバシーポリシーに則ります。
|
||||
* 接続するインスタンスのプライバシーポリシーはAPIを通じた全てのアクションに対して有効ですので、TheDeskについてもそれらに則ります。
|
||||
|
84
README.md
84
README.md
@@ -1,5 +1,6 @@
|
||||
# TheDesk
|
||||
|
||||
[](https://travis-ci.org/cutls/TheDesk)
|
||||
Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
オープンソースSNSマストドン/MisskeyのWindows/Linuxクライアント
|
||||
Download:[TheDesk](https://thedesk.top)
|
||||
@@ -10,60 +11,89 @@ Contact me(bug report...):GitHub Issues, mention to [Cutls@kirishima.cloud](http
|
||||
|
||||
## License/ライセンス
|
||||
|
||||
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
|
||||
[GNU General Public License v3.0](https://github.com/cutls/TheDesk/blob/master/LICENSE)
|
||||
|
||||
The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/)/アイコンは[クリエイティブ・コモンズ 表示-非営利-継承](https://creativecommons.org/licenses/by-nc-sa/4.0/)で提供されています。
|
||||
[Press Kit](https://dl.thedesk.top/press/TheDesk+PressKit.zip)
|
||||
|
||||
* [PNG](https://dl.thedesk.top/press/TheDesk.png)
|
||||
* [Monotone SVG](https://dl.thedesk.top/press/TheDesk.svg)
|
||||
* [ico](https://dl.thedesk.top/press/TheDesk.ico)
|
||||
* [icns](https://dl.thedesk.top/press/TheDesk.icns)
|
||||
|
||||
## Terms of Use/利用規約
|
||||
|
||||
[TOS.md](https://github.com/cutls/TheDesk/blob/master/TOS.md)
|
||||
* [利用規約(Terms of Use(ja))](https://thedesk.top/tos.html)
|
||||
* [プライバシーポリシー(Privacy Policy(ja))](https://thedesk.top/priv.html)
|
||||
|
||||
## Language/言語
|
||||
|
||||
- 日本語(Japanese)
|
||||
- English(英語)
|
||||
* 日本語(Japanese)
|
||||
* English(英語)
|
||||
|
||||
### Translation/翻訳
|
||||
|
||||
Crowdin project was started! Visit: https://crowdin.com/project/thedesk
|
||||
Crowdin project is available! Visit: https://translate.thedesk.top
|
||||
|
||||
Crowdinから翻訳に参加してみませんか?: https://crowdin.com/project/thedesk
|
||||
|
||||
## Component/構成
|
||||
|
||||
app:Raw files(you can download to modify or check)
|
||||
|
||||
app:そのままのファイル.ダウンロード→テスト用
|
||||
|
||||
desk.icns: If you build yourself on macOS, you can use this .icns file as icon.
|
||||
desk.icns: macOS向けアイコン.セルフビルドにどうぞ.
|
||||
Crowdinから翻訳に参加してみませんか?: https://translate.thedesk.top
|
||||
|
||||
## Requirement/環境
|
||||
|
||||
- Electron 2.0.7
|
||||
- electron-dl
|
||||
- Jimp
|
||||
- adm-zip
|
||||
- itunes-nowplaying-mac(for macOS)
|
||||
- node-notifier
|
||||
- Ability to read unformated files!
|
||||
* Electron 3.0.10(install yourself)
|
||||
* electron-dl(in package.json)
|
||||
* Jimp(in package.json)
|
||||
* font-manager(in package.json)
|
||||
* Python 2.x(install yourself)
|
||||
* VisualC++(Windows)(install yourself)
|
||||
* itunes-nowplaying-mac(for macOS)(in package.json)
|
||||
* node-notifier(in package.json)
|
||||
* sumchecker(in package.json)
|
||||
* Ability to read unformated files!(install yourself)
|
||||
|
||||
## Contributors/コントリビューター
|
||||
|
||||
macOSビルダー
|
||||
|
||||
- [とねぢ](https://minohdon.jp/@toneji)
|
||||
* [とねぢ](https://minohdon.jp/@toneji)
|
||||
|
||||
Linuxビルダー
|
||||
|
||||
* [ぽぷんじゃ](https://popon.pptdn.jp/@popn_ja)
|
||||
|
||||
## Build/ビルド
|
||||
|
||||
Misskey(misskey.xyz) application token is not in cutls/TheDesk
|
||||
Misskey(misskey.xyz)のトークンは含まれておりません。
|
||||
`git clone https://github.com/cutls/TheDesk`
|
||||
`npm install electron -g`
|
||||
`cd TheDesk/app`
|
||||
`npm install`
|
||||
`npm install --save-dev electron-rebuild`
|
||||
|
||||
electron-packager is required. electron-packagerが必要です.
|
||||
Linux/macOS
|
||||
`./node_modules/.bin/electron-rebuild`
|
||||
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=2.0.7 --icon=.\app\thedesk.ico --overwrite`
|
||||
`.\node_modules\.bin\electron-rebuild.cmd`
|
||||
|
||||
To install Python 2.x and Visual C++ for Windows, before running `npm install --save-dev electron-rebuild`
|
||||
WindowsでPython 2.xやVisualC++を一発でインストールできるツールもあります(`npm install --save-dev electron-rebuild`の前に)
|
||||
`npm install --global windows-build-tools`
|
||||
|
||||
日本語話者向けですが、macOSビルドにはXCodeが要るとの情報があります。([とねぢ](https://minohdon.jp/@toneji)氏談)
|
||||
|
||||
### 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`
|
||||
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=2.0.7 --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=3.0.10 --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=2.0.7 --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=3.0.10 --icon=./app/icon.icns --overwrite`
|
||||
|
||||
### electron-builder
|
||||
|
||||
Config is all on package.json
|
||||
ビルド設定はすべてpackage.jsonに記載しています。
|
||||
|
||||
## See also/詳しく
|
||||
|
||||
|
108
TOS.md
108
TOS.md
@@ -1,108 +0,0 @@
|
||||
# Terms of Use
|
||||
|
||||
## Copyright
|
||||
|
||||
(C)TheDesk 2018 all rights reserved. Website:[https://thedesk.top](https://thedesk.top)
|
||||
|
||||
## 利用規約
|
||||
|
||||
利用規約とは __禁止行為__ と、 __規約__ を含めたものを指します。
|
||||
|
||||
### 禁止行為
|
||||
|
||||
- 同一内容の連投行為
|
||||
- 複数インスタンスやSNSへの同時投稿
|
||||
- misskey.xyzへのthedesk-misskeyからの投稿
|
||||
|
||||
## 規約
|
||||
|
||||
- このソフトウェアを通じて投稿される内容やAPIを通じたアクションは全て投稿者が権利を主張でき、責務を負うことになります。
|
||||
- MastodonのAPIを通じたアクションは、全てそのインスタンスの規約に従っていなければなりません。特記無き場合、法的責任はそのインスタンスのホストの所在国の法律に従って下さい。
|
||||
- その他API(Adobe,Spotify,マストドンユーザーマッチング,instances.social)へのアクセスは、各サービスの規約・プライバシーポリシーを遵守してください。
|
||||
- Spotifyのログイン情報はTheDeskのサーバーに保存されますが、EUにおける「一般データ保護規則(General Data Protection Regulation:GDPR)」を遵守できていないため、EU内ユーザーは利用できません。
|
||||
- 改変、翻訳に関わらず、利用しているインスタンスに関わらないTheDeskに起因する法的責任は日本国の法律に従います。
|
||||
- TheDeskの開発者からの情報を送信するため、使用時には常に開発者のサーバー(thedesk.top)と接続しています。
|
||||
|
||||
|
||||
この規約はTheDesk Akane (16.1.3)以降に効力を持ちます。
|
||||
|
||||
## Terms of Use
|
||||
|
||||
|
||||
### Prohibited
|
||||
|
||||
- Posting toots which have the same contents each other in moments.
|
||||
- Posting toots which have the same contents each other to several instances at once.
|
||||
- Posting to misskey.xyz via thedesk-misskey.
|
||||
|
||||
## Terms
|
||||
|
||||
- You are immediately responsible to all actions through this software.
|
||||
- You have to follow the instance's rules or laws of the hosted country.
|
||||
- You have to follow the rules of other API(Adobe,Spotify,マストドンユーザーマッチング,instances.social) if you use them.
|
||||
- Your Spotify login data is stored in TheDesk server, however TheDesk isn't following General Data Protection Regulation:GDPR which allows users in EU to use TheDesk.
|
||||
- The developer of TheDesk follows Japanese laws.
|
||||
- TheDesk is always connected to its server, in order to receive infomation from the developer.
|
||||
|
||||
TheDesk Akane (16.1.3) and above is under this TOS.
|
||||
|
||||
|
||||
|
||||
|
||||
以下バージョンとコードネームの比較です。
|
||||
_斜字_ はTheDeskには採用していません。前作等に使用されています。
|
||||
__太字__ は2018年9月17日現在のTheDeskで使用されたコードネームです。
|
||||
[カッコ囲み]は飛ばされることが確定しています。バージョンの番号も飛ばされます。
|
||||
52以降が必要になったときに使用します。
|
||||
|
||||
1. _Rin_
|
||||
1. _Anzu_
|
||||
1. _Kanako_
|
||||
1. _Kaede_
|
||||
1. _Rika_
|
||||
1. _Ranko_
|
||||
1. __Miku__
|
||||
1. _Kirari_
|
||||
1. __Mika__
|
||||
1. __Uzuki__
|
||||
1. __Miho__
|
||||
1. __Riina__
|
||||
1. __Airi__
|
||||
1. __Mizuki__
|
||||
1. __Mio__
|
||||
1. __Akane__
|
||||
1. Miria
|
||||
1. Nana
|
||||
1. [Minami]
|
||||
1. Sachiko
|
||||
1. Mayu
|
||||
1. Koume
|
||||
1. Chieri
|
||||
1. Anastasia
|
||||
1. Aiko
|
||||
1. Shoko
|
||||
1. Nao
|
||||
1. Karen
|
||||
1. Sae
|
||||
1. Yuko
|
||||
1. Fumika
|
||||
1. Yuki
|
||||
1. Frederica
|
||||
1. Kanade
|
||||
1. Nina
|
||||
1. Arisu
|
||||
1. Sanae
|
||||
1. Shiki
|
||||
1. Syuko
|
||||
1. Momoka
|
||||
1. Yui
|
||||
1. Yuka
|
||||
1. Asuka
|
||||
1. Yumi
|
||||
1. Kyoko
|
||||
1. Yuuki
|
||||
1. Ryo
|
||||
1. Yoshino
|
||||
1. Hiromi
|
||||
1. Miyu
|
||||
1. Tomoe
|
1
app/build/README.md
Normal file
1
app/build/README.md
Normal file
@@ -0,0 +1 @@
|
||||
|
BIN
app/build/icon.icns
Normal file
BIN
app/build/icon.icns
Normal file
Binary file not shown.
@@ -275,7 +275,18 @@ blockquote:before, .quote:before {
|
||||
.modal-footer{
|
||||
background-color: var(--modalfooter) !important;
|
||||
}
|
||||
|
||||
.font{
|
||||
font-size:1.5rem;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
.font:hover{
|
||||
background-color: #999;
|
||||
}
|
||||
.release-do{
|
||||
border: solid 2px;
|
||||
border-color:var(--color);
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
|
||||
/*スクロールバー*/
|
||||
|
@@ -35,6 +35,15 @@
|
||||
#cw-text {
|
||||
display: none;
|
||||
}
|
||||
#sch-box {
|
||||
display: none;
|
||||
}
|
||||
#sch-box input {
|
||||
width:auto;
|
||||
}
|
||||
.picker__close, .picker__today, .picker__clear {
|
||||
color: #26a69a !important;
|
||||
}
|
||||
.cw {
|
||||
display: none;
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@
|
||||
--bg:white;
|
||||
--drag:rgba(255, 255, 255, 0.8);
|
||||
--color:black;
|
||||
--beforehover:#757575;
|
||||
--modal:white;
|
||||
--subcolor:#e0e0e0;
|
||||
--box:white;
|
||||
@@ -18,6 +19,7 @@
|
||||
--bg:#212121;
|
||||
--drag:rgba(0, 0, 0, 0.8);
|
||||
--color:white;
|
||||
--beforehover:#e0e0e0;
|
||||
--modal:black;
|
||||
--subcolor:#212121;
|
||||
--box:#424242;
|
||||
@@ -34,6 +36,7 @@
|
||||
--bg:#031833;
|
||||
--drag:rgba(0, 0, 0, 0.8);
|
||||
--color:white;
|
||||
--beforehover:#e0e0e0;
|
||||
--modal:#0d1351;
|
||||
--subcolor:#0d1351;
|
||||
--shared:#004d40;
|
||||
@@ -50,6 +53,7 @@
|
||||
--bg:#261411;
|
||||
--drag:rgba(0, 0, 0, 0.8);
|
||||
--color:white;
|
||||
--beforehover:#e0e0e0;
|
||||
--modal:#261411;
|
||||
--subcolor:#4e342e;
|
||||
--shared:#004d40;
|
||||
@@ -66,6 +70,7 @@
|
||||
--bg:#c8e6c9;
|
||||
--drag:rgba(255, 255, 255, 0.8);
|
||||
--color:black;
|
||||
--beforehover:#757575;
|
||||
--modal:#81c784;
|
||||
--subcolor:#a5d6a7;
|
||||
--box:#81c784;
|
||||
|
@@ -57,6 +57,12 @@
|
||||
#bottom i{
|
||||
font-size:30px;
|
||||
}
|
||||
.exc-icons{
|
||||
font-size:20px;
|
||||
}
|
||||
.exc-chb{
|
||||
padding-left:24px !important;
|
||||
}
|
||||
#bottom .btnsgroup{
|
||||
border:1px solid;
|
||||
padding:1px;
|
||||
@@ -133,10 +139,11 @@ iframe {
|
||||
display:none;
|
||||
}
|
||||
.cvo {
|
||||
user-select: text;
|
||||
padding-left: 5px;
|
||||
border-bottom:0.5px solid;
|
||||
padding-right: 2px;
|
||||
word-break: break-all;
|
||||
word-break: break-word;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 43px 2fr 1fr;
|
||||
@@ -158,7 +165,7 @@ grid-area: icon;
|
||||
}
|
||||
|
||||
.area-display_name {
|
||||
user-select: auto;
|
||||
user-select: text;
|
||||
height:1.5em;
|
||||
margin:2px;
|
||||
margin-left:5px;
|
||||
@@ -208,7 +215,6 @@ grid-area: toot;
|
||||
}
|
||||
.area-vis {
|
||||
margin:2px;
|
||||
font-size:0.5rem !important;
|
||||
grid-area: vis;
|
||||
}
|
||||
.area-side {
|
||||
@@ -224,8 +230,15 @@ grid-area: toot;
|
||||
margin-top:10px;
|
||||
}
|
||||
.action i{
|
||||
font-size:1rem;
|
||||
font-size:1.2rem;
|
||||
margin-right:2px;
|
||||
color:var(--beforehover);
|
||||
}
|
||||
.action i:hover{
|
||||
color:var(--color);
|
||||
transition: 1s;
|
||||
}
|
||||
|
||||
.gray {
|
||||
color: gray;
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
//バージョンチェッカー
|
||||
function verck(ver) {
|
||||
function verck(ver,winstore) {
|
||||
if(localStorage.getItem("ver")!=ver){
|
||||
localStorage.setItem("ver", ver);
|
||||
console.log("Thank you for your update");
|
||||
@@ -18,7 +18,6 @@ function verck(ver) {
|
||||
}
|
||||
|
||||
var l = 5;
|
||||
|
||||
// 生成する文字列に含める文字セット
|
||||
var c = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||
var cl = c.length;
|
||||
@@ -46,16 +45,18 @@ function verck(ver) {
|
||||
var newest=mess.desk;
|
||||
}
|
||||
if (newest == ver) {
|
||||
todo(lang_version_usever[lang].replace("{{ver}}" ,mess.desk));
|
||||
todo(lang.lang_version_usever.replace("{{ver}}" ,mess.desk));
|
||||
//betaかWInstoreならアプデチェックしない
|
||||
} else if (ver.indexOf("beta")==-1 || winstore) {
|
||||
} else if (ver.indexOf("beta")!=-1 || winstore) {
|
||||
|
||||
}else{
|
||||
localStorage.removeItem("instance")
|
||||
if(localStorage.getItem("new-ver-skip")){
|
||||
if(localStorage.getItem("next-ver")!=newest){
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('update', "true");
|
||||
}else{
|
||||
todo(lang_version_skipver[lang]);
|
||||
todo(lang.lang_version_skipver);
|
||||
}
|
||||
}else{
|
||||
var ipc = electron.ipcRenderer;
|
||||
|
227
app/js/lang/lang.en.js
Normal file
227
app/js/lang/lang.en.js
Normal file
@@ -0,0 +1,227 @@
|
||||
//commonError
|
||||
var lang={
|
||||
"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",
|
||||
//language.html
|
||||
"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.",
|
||||
//common/version.js
|
||||
"lang_version_usever":"No update is found({{ver}})",
|
||||
"lang_version_skipver":"Update was ignored.",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth":"Show TL of unlogined accounts",
|
||||
//login/manager.js
|
||||
"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.",
|
||||
//post/bb-md.js
|
||||
"lang_bbmd_misskey":"TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
|
||||
//post/emoji.js
|
||||
"lang_emoji_get":"Get emojis",
|
||||
"lang_emoji_custom":"Custom emojis",
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis":"cannot preview",
|
||||
"lang_postimg_aftupload":"You cannot change accounts after uploading.",
|
||||
//post/post.js
|
||||
"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",
|
||||
//post/status.js
|
||||
"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",
|
||||
//post/suggest.js
|
||||
"lang_suggest_nodata":"Please get emojis list in order to show suggestion.",
|
||||
//post/use-txtbox.js
|
||||
"lang_usetxtbox_reply":"Reply Mode. Ctrl+Shift+C to clear.",
|
||||
//tl/card.js
|
||||
"lang_cards_check":" check",
|
||||
"lang_cards_pip":"PiP mode",
|
||||
//tl/details.js
|
||||
"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.",
|
||||
//tl/filter.js
|
||||
"lang_filter_nodata":"No data",
|
||||
"lang_filter_errordegree":"Please check a context",
|
||||
//tl/list.js
|
||||
"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",
|
||||
//tl/notification.js
|
||||
"lang_notf_new":" new notifications",
|
||||
//tl/speech.js
|
||||
"lang_speech_refresh":"Save value about TTS config",
|
||||
//tl/src.js
|
||||
"lang_src_ts":"chronological order",
|
||||
"lang_src_people":" people toot",
|
||||
//tl/tag.js
|
||||
"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.",
|
||||
//tl/tl.js
|
||||
"lang_tl_media":"Media",
|
||||
"lang_tl_reconnect":"Reconnect to streaming API",
|
||||
//ui/layout.js
|
||||
"lang_layout_gotop":"Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
|
||||
"lang_layout_thisacct":"{{notf}} of this account",
|
||||
"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",
|
||||
//ui/spotify.js
|
||||
"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}}",
|
||||
//userdata/his-data.js
|
||||
"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.",
|
||||
//userdata/showOnTL.js
|
||||
"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.",
|
||||
//parse
|
||||
"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.",
|
||||
//misskey
|
||||
"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.",
|
||||
//setting
|
||||
"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_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.",
|
||||
}
|
228
app/js/lang/lang.ja.js
Normal file
228
app/js/lang/lang.ja.js
Normal file
@@ -0,0 +1,228 @@
|
||||
//commonError
|
||||
var lang={
|
||||
"language":"ja",
|
||||
//commonError
|
||||
"lang_toot":"トゥート",
|
||||
"lang_there":"あり",
|
||||
"lang_nothing":"なし",
|
||||
"lang_yesno":"はい",
|
||||
"lang_no":"いいえ",
|
||||
"lang_progress":"処理中",
|
||||
"lang_edit":"編集",
|
||||
"lang_del":"削除",
|
||||
"lang_add":"追加",
|
||||
"lang_fatalerroroccured":"エラーが発生しました。しばらく待ってから再起動してください。",
|
||||
"lang_speech":"Google 日本語",
|
||||
//language.html
|
||||
"lang_lang":"言語",
|
||||
"lang_langlocale":"日本語",
|
||||
"lang_back":"戻る",
|
||||
"lang_set":"設定",
|
||||
"lang_langadd":"<a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>から翻訳に参加できます。英語の校正(緊急)や他言語に翻訳していただける方を募集しております。",
|
||||
//common/version.js
|
||||
"lang_version_usever":"お使いのバージョン{{ver}}は最新です。",
|
||||
"lang_version_skipver":"アップデートはスキップされました。",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth":"認証せずに見る",
|
||||
//login/manager.js
|
||||
"lang_manager_info":"インスタンス情報",
|
||||
"lang_manager_refresh":"情報更新",
|
||||
"lang_manager_delete":"削除",
|
||||
"lang_manager_color":"アカウントカラーを選択",
|
||||
"lang_manager_confirm":"を削除します。",
|
||||
"lang_manager_mainAcct":"メインアカウントを設定しました。",
|
||||
"lang_manager_def":"既定",
|
||||
"lang_manager_none":"なし",
|
||||
"lang_manager_godev":"MisskeyのDevセンターに移動します。同時に開かれるドキュメントを参考にログインしてください。",
|
||||
//post/bb-md.js
|
||||
"lang_bbmd_misskey":"TheDeskにおけるMisskeyでは、@を返信として扱いますが、全ての@は消去され別パラメータに入力されます。また、「未収載」を「ホーム」として扱います。",
|
||||
//post/emoji.js
|
||||
"lang_emoji_get":"絵文字リストを取得",
|
||||
"lang_emoji_custom":"カスタム絵文字",
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis":"プレビューできません。",
|
||||
"lang_postimg_aftupload":"アップロード後はアカウントを切り替えられません。",
|
||||
//post/post.js
|
||||
"lang_post_tagTL":"デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
|
||||
"lang_post_tagVis":"公開範囲が「公開」以外だと、タグTLに表示されません。(一部インスタンスを除く)",
|
||||
"lang_post_cwtitle":"長文投稿の警告",
|
||||
"lang_post_cwtxt":"指定文字数、行数を超えるトゥートを行おうとしています。\n自動CWのタイトル:",
|
||||
"lang_post_btn1":"キャンセル(投稿しない)",
|
||||
"lang_post_btn2":"自動でCWを付ける",
|
||||
"lang_post_btn3":"そのまま投稿",
|
||||
//post/status.js
|
||||
"lang_status_favWarn":"お気に入り登録しました。インスタンスが違うときは時間がかかる場合があります。",
|
||||
"lang_status_btWarn":"ブーストしました。インスタンスが違うときは時間がかかる場合があります。",
|
||||
"lang_status_follow":"フォロー",
|
||||
"lang_status_unfollow":"フォロー解除",
|
||||
"lang_status_block":"ブロック",
|
||||
"lang_status_unblock":"ブロック解除",
|
||||
"lang_status_mute":"ミュート",
|
||||
"lang_status_unmute":"ミュート解除",
|
||||
"lang_status_redraft":"削除して再編集しますか?そのトゥートの全てのデータがリセットされます。この機能はベータ版です。画像は~v2.4.1で破棄されます。",
|
||||
"lang_status_emphas":"を強調します。リロードしてください。",
|
||||
"lang_status_unemphas":"を強調解除します。リロードしてください。",
|
||||
"lang_status_unendorse":"紹介解除",
|
||||
"lang_status_endorse":"プロフで紹介する",
|
||||
//post/suggest.js
|
||||
"lang_suggest_nodata":"サジェストのために絵文字リストを取得してください。",
|
||||
//post/use-txtbox.js
|
||||
"lang_usetxtbox_reply":"返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
|
||||
//tl/card.js
|
||||
"lang_cards_check":"チェック",
|
||||
"lang_cards_pip":"ながら観モード",
|
||||
//tl/details.js
|
||||
"lang_details_nodata":"データなし",
|
||||
"lang_details_filtered":"フィルターされました。",
|
||||
"lang_details_embed":"埋め込みHTMLがコピーされました。",
|
||||
"lang_details_url":"トゥートURLがコピーされました。",
|
||||
"lang_details_txt":"トゥート本文がコピーされました。",
|
||||
//tl/filter.js
|
||||
"lang_filter_nodata":"フィルターはありません",
|
||||
"lang_filter_errordegree":"適応範囲を最低一つ以上チェックしてください。",
|
||||
//tl/list.js
|
||||
"lang_list_nodata":"リストはありません",
|
||||
"lang_list_show":"表示",
|
||||
"lang_list_users":"ユーザー一覧",
|
||||
"lang_list_nouser":"ユーザーはいません",
|
||||
"lang_list_add":"リストに追加",
|
||||
"lang_list_remove":"リストから削除",
|
||||
//tl/notification.js
|
||||
"lang_notf_new":"件の新しい通知",
|
||||
//tl/speech.js
|
||||
"lang_speech_refresh":"音声読み上げ設定を更新しました。",
|
||||
//tl/src.js
|
||||
"lang_src_ts":"時系列",
|
||||
"lang_src_people":"人がトゥート",
|
||||
//tl/tag.js
|
||||
"lang_tags_always":"常に",
|
||||
"lang_tags_realtime":"実況",
|
||||
"lang_tags_tagunpin":"{{tag}}をよく使うタグから削除",
|
||||
"lang_tags_tagwarn":"次に{{tag}}なしでトゥートするまで全てのトゥートに{{tag}}が付与されます。",
|
||||
//tl/tl.js
|
||||
"lang_tl_media":"メディア",
|
||||
"lang_tl_reconnect":"Streamingに再接続しました",
|
||||
//ui/layout.js
|
||||
"lang_layout_gotop":"一番上へ。アイコンが赤のときはストリーミングに接続できていません。F5等で再読込をお試し下さい。",
|
||||
"lang_layout_thisacct":"このアカウントの{{notf}}",
|
||||
"lang_layout_delthis":"このカラムを削除",
|
||||
"lang_layout_setthis":"このカラムの設定",
|
||||
"lang_layout_mediafil":"メディアフィルター",
|
||||
"lang_layout_linkana":"リンク解析",
|
||||
"lang_layout_linkanades":"リンクの解析を切り替え",
|
||||
"lang_layout_tts":"読み上げ",
|
||||
"lang_layout_reconnect":"ストリーミング再接続",
|
||||
"lang_layout_headercolor":"TLヘッダーカラー",
|
||||
"lang_layout_nodata":"[ここにトゥートはありません。]<br>F5/⌘+Rで再読込できます。",
|
||||
"lang_layout_dm":"ダイレクトメッセージ",
|
||||
"lang_layout_webviewmode":"WebView優先",
|
||||
"lang_excluded":"除外する通知",
|
||||
//ui/spotify.js
|
||||
"lang_spotify_img":"アルバムアートワークを添付します。",
|
||||
"lang_spotify_imgno":"アルバムアートワークを添付しません。",
|
||||
"lang_spotify_acct":"アカウント連携をしてください。",
|
||||
"lang_spotify_np":"NowPlaying文書を更新しました。",
|
||||
"lang_setting_npprovide":"NowPlayingのソースを{{set}}に設定しました。",
|
||||
//userdata/his-data.js
|
||||
"lang_hisdata_frcreq":"Mastodon 2.4.3~が必要です",
|
||||
"lang_hisdata_frcwarn":"非フォローだけど絡みがある時に表示されます。",
|
||||
"lang_hisdata_taketime":"30秒から数分かかります",
|
||||
"lang_hisdata_notonmisskey":"このシステムはMisskeyにはありません。",
|
||||
//userdata/showOnTL.js
|
||||
"lang_showontl_movetxt":"このアカウントは移行しています",
|
||||
"lang_showontl_movebtn":"移行先を見る",
|
||||
"lang_showontl_botacct":"botアカウント",
|
||||
"lang_showontl_followed":"フォローされています",
|
||||
"lang_showontl_notf":"通知",
|
||||
"lang_showontl_domain":"ドメイン",
|
||||
"lang_showontl_listwarn":"リストに追加するためにはフォローが必要です。",
|
||||
//parse
|
||||
"lang_parse_mentioned":"が返信しました",
|
||||
"lang_parse_faved":"がお気に入り登録しました",
|
||||
"lang_parse_bted":"がブーストしました",
|
||||
"lang_parse_btedsimple":"がブースト",
|
||||
"lang_parse_notftime":"通知された時間",
|
||||
"lang_parse_cwshow":"見る",
|
||||
"lang_parse_fulltext":"以下全文",
|
||||
"lang_parse_autofold":"自動折り畳み",
|
||||
"lang_parse_more":"続き...",
|
||||
"lang_parse_url":"URL解析",
|
||||
"lang_parse_tagTL":"{{tag}}のタイムライン",
|
||||
"lang_parse_tagtoot":"{{tag}}でトゥート",
|
||||
"lang_parse_tagpin":"{{tag}}をよく使うタグへ",
|
||||
"lang_parse_public":"公開",
|
||||
"lang_parse_unlisted":"未収載",
|
||||
"lang_parse_private":"非公開",
|
||||
"lang_parse_direct":"ダイレクト",
|
||||
"lang_parse_clickcopy":"クリックして本文をコピー",
|
||||
"lang_parse_clickcopyurl":"クリックしてトゥートURLをコピー",
|
||||
"lang_parse_trans":"このトゥートを日本語に翻訳",
|
||||
"lang_parse_replyto":"このトゥートに返信",
|
||||
"lang_parse_bt":"このトゥートをブースト",
|
||||
"lang_parse_fav":"このトゥートをお気に入り登録",
|
||||
"lang_parse_quote":"このトゥートを引用",
|
||||
"lang_parse_del":"このトゥートを削除",
|
||||
"lang_parse_pin":"このトゥートをピン留め",
|
||||
"lang_parse_det":"詳細(メインアカウント経由)",
|
||||
"lang_parse_redraft":"このトゥートを削除して再編集",
|
||||
"lang_parse_followed":"フォローされました。",
|
||||
"lang_parse_clientop":"クライアント処理",
|
||||
"lang_parse_clienttxt":"に対する処理を選択してください。",
|
||||
"lang_parse_clientno":"何もしない",
|
||||
"lang_parse_clientemp":"強調表示/解除",
|
||||
"lang_parse_clientmute":"ミュート",
|
||||
"lang_parse_mute":"ミュートします。設定から解除できます。",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote":"再投稿",
|
||||
"lang_misskeyparse_renoteqt":"引用",
|
||||
"lang_misskeyparse_reaction":"リアクション",
|
||||
"lang_misskeyparse_tagnostr":"タグTLはストリーミング非対応です。",
|
||||
"lang_misskeyparse_listnostr":"リストTLはストリーミング非対応です。",
|
||||
"lang_misskeyparse_home":"ホーム",
|
||||
"lang_misskeyparse_followers":"フォロワー",
|
||||
"lang_misskeyparse_specified":"ユーザー指定",
|
||||
"lang_misskeyparse_qt":"MisskeyのRenote(引用モード)中:Ctrl+Shift+Cでクリア",
|
||||
"lang_misskeyparse_renoted":"がRepost",
|
||||
"lang_misskeyparse_quoted":"が引用",
|
||||
"lang_misskeyparse_reacted":"がリアクション",
|
||||
//setting
|
||||
"lang_setting_time":"時間設定を{{set}}に設定しました。",
|
||||
"lang_setting_theme":"テーマ設定を{{set}}に設定しました。",
|
||||
"lang_setting_nsfw":"画像表示設定を{{set}}に設定しました。",
|
||||
"lang_setting_cw":"テキスト表示設定を{{set}}に設定しました。",
|
||||
"lang_setting_cwtext":"デフォルトの警告文を「{{set}}」に設定しました。",
|
||||
"lang_setting_cws":"標準でCW:{{set}}",
|
||||
"lang_setting_rp":"リプライ数表示:{{set}}",
|
||||
"lang_setting_vis":"デフォルトの公開設定を{{set}}に設定しました。",
|
||||
"lang_setting_popup":"ポップアップお知らせを{{set}}に設定しました。",
|
||||
"lang_setting_off":"オフ",
|
||||
"lang_setting_s":"秒",
|
||||
"lang_setting_box":"デフォルトでのボックスの挙動を{{set}}に設定しました。",
|
||||
"lang_setting_gif":"アイコンアニメーション再生を{{set}}に設定しました。",
|
||||
"lang_setting_selt":"{{set1}}行以上または{{set2}}文字以上でテキストを隠します。",
|
||||
"lang_setting_autocw":"{{set1}}行以上または{{set2}}文字以上で警告を表示します。",
|
||||
"lang_setting_width":"横幅最低を{{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_tag":"タグの取得範囲を「{{set}}」に設定しました。",
|
||||
"lang_setting_boxConfirm":"投稿ボックスを{{set}}",
|
||||
"lang_setting_ul":"独自ロケール設定を{{set}}に設定しました。",
|
||||
"lang_setting_notf":"ネイティブ通知を{{set}}に設定しました。",
|
||||
"lang_setting_quote":"引用形式を{{set}}に設定しました。",
|
||||
"lang_setting_via":"via表示を{{set}}に設定しました。",
|
||||
"lang_setting_mov":"アクションボタン非表示を{{set}}に設定しました。",
|
||||
"lang_setting_setasread":"通知カラム存在時新着非表示を{{set}}に設定しました。",
|
||||
"lang_setting_main":"起動時・投稿時のアカウントを{{set}}に設定しました。",
|
||||
"lang_setting_sec":"セカンダリートゥートボタン:{{set}}",
|
||||
"lang_setting_ksref":"キーボードショートカットが更新されました。",
|
||||
"lang_setting_nomuting":"ミュートしているクライアントはありません。",
|
||||
"lang_setting_notftest":"通知テスト",
|
||||
"lang_setting_notftestprof":"アイコンはあなたのアカウントのものです。",
|
||||
"lang_setting_exportwarn":"重要なデータのみエクスポートされます。エクスポートされたデータは外部に公開しないでください。全ての認証データが含まれています。",
|
||||
"lang_setting_importwarn":"全てのデータがリセットされます。"
|
||||
}
|
@@ -1,454 +0,0 @@
|
||||
//commonError
|
||||
var lang_toot={
|
||||
"ja":"トゥート",
|
||||
"en":"Toot"
|
||||
}
|
||||
var lang_there={
|
||||
"ja":"あり",
|
||||
"en":"Yes"
|
||||
}
|
||||
var lang_nothing={
|
||||
"ja":"なし",
|
||||
"en":"None"
|
||||
}
|
||||
var lang_yesno={
|
||||
"ja":"はい",
|
||||
"en":"Yes"
|
||||
}
|
||||
var lang_no={
|
||||
"ja":"いいえ",
|
||||
"en":"No"
|
||||
}
|
||||
var lang_progress={
|
||||
"ja":"処理中",
|
||||
"en":"Wait..."
|
||||
}
|
||||
var lang_edit={
|
||||
"ja":"編集",
|
||||
"en":"Edit"
|
||||
}
|
||||
var lang_del={
|
||||
"ja":"削除",
|
||||
"en":"Delete"
|
||||
}
|
||||
var lang_add={
|
||||
"ja":"追加",
|
||||
"en":"Add"
|
||||
}
|
||||
var lang_fatalerroroccured={
|
||||
"ja":"エラーが発生しました。しばらく待ってから再起動してください。",
|
||||
"en":"Some errors are occured, please restart TheDesk."
|
||||
}
|
||||
var lang_speech={
|
||||
"ja":"Google 日本語",
|
||||
"en":"Google US English"
|
||||
}
|
||||
//language.html
|
||||
var lang_lang={
|
||||
"ja":"言語",
|
||||
"en":"Language"
|
||||
}
|
||||
var lang_langlocale={
|
||||
"ja":"日本語",
|
||||
"en":"English"
|
||||
}
|
||||
var lang_back={
|
||||
"ja":"戻る",
|
||||
"en":"Back"
|
||||
}
|
||||
var lang_set={
|
||||
"ja":"設定",
|
||||
"en":"Set"
|
||||
}
|
||||
var lang_langadd={
|
||||
"ja":"<a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>から翻訳に参加できます。英語の校正(緊急)や他言語に翻訳していただける方を募集しております。",
|
||||
"en":"Translate TheDesk to other languages or proofread TheDesk on <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk needs your help."
|
||||
}
|
||||
//common/version.js
|
||||
var lang_version_usever={
|
||||
"ja":"お使いのバージョン{{ver}}は最新です。",
|
||||
"en":"No update is found({{ver}})"
|
||||
}
|
||||
var lang_version_skipver={
|
||||
"ja":"アップデートはスキップされました。",
|
||||
"en":"Update was ignored."
|
||||
}
|
||||
//login
|
||||
//login/login.js
|
||||
var lang_login_noauth={
|
||||
"ja":"認証せずに見る",
|
||||
"en":"Show TL of unlogined accounts"
|
||||
}
|
||||
//login/manager.js
|
||||
var lang_manager_info={
|
||||
"ja":"インスタンス情報",
|
||||
"en":"About this instance"
|
||||
}
|
||||
var lang_manager_refresh={
|
||||
"ja":"情報更新",
|
||||
"en":"Refresh"
|
||||
}
|
||||
var lang_manager_delete={
|
||||
"ja":"削除",
|
||||
"en":"Logout"
|
||||
}
|
||||
var lang_manager_color={
|
||||
"ja":"アカウントカラーを選択",
|
||||
"en":"Account Color"
|
||||
}
|
||||
var lang_manager_confirm={
|
||||
"ja":"を削除します。",
|
||||
"en":"is about to logout. Continue?"
|
||||
}
|
||||
var lang_manager_mainAcct={
|
||||
"ja":"メインアカウントを設定しました。",
|
||||
"en":"Done:choose main account"
|
||||
}
|
||||
var lang_manager_def={
|
||||
"ja":"既定",
|
||||
"en":"Default"
|
||||
}
|
||||
var lang_manager_none={
|
||||
"ja":"なし",
|
||||
"en":"None"
|
||||
}
|
||||
var lang_manager_godev={
|
||||
"ja":"MisskeyのDevセンターに移動します。同時に開かれるドキュメントを参考にログインしてください。",
|
||||
"en":"Open DevCenter of Misskey. We show also an official documents to refer."
|
||||
}
|
||||
//post/bb-md.js
|
||||
var lang_bbmd_misskey={
|
||||
"ja":"TheDeskにおけるMisskeyでは、@を返信として扱いますが、全ての@は消去され別パラメータに入力されます。また、「未収載」を「ホーム」として扱います。",
|
||||
"en":"TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey."
|
||||
}
|
||||
//post/emoji.js
|
||||
var lang_emoji_get={
|
||||
"ja":"絵文字リストを取得",
|
||||
"en":"Get emojis"
|
||||
}
|
||||
var lang_emoji_custom={
|
||||
"ja":"カスタム絵文字",
|
||||
"en":"Custom emojis"
|
||||
}
|
||||
//post/img.js
|
||||
var lang_postimg_previewdis={
|
||||
"ja":"プレビューできません。",
|
||||
"en":"cannot preview"
|
||||
}
|
||||
var lang_postimg_aftupload={
|
||||
"ja":"アップロード後はアカウントを切り替えられません。",
|
||||
"en":"You cannot change accounts after uploading."
|
||||
}
|
||||
//post/post.js
|
||||
var lang_post_tagTL={
|
||||
"ja":"デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
|
||||
"en":"This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?"
|
||||
}
|
||||
var lang_post_cwtitle={
|
||||
"ja":"長文投稿の警告",
|
||||
"en":"Auto CW Alert"
|
||||
}
|
||||
var lang_post_cwtxt={
|
||||
"ja":"指定文字数、行数を超えるトゥートを行おうとしています。\n自動CWのタイトル:",
|
||||
"en":"You are about to post longer toot than you set.\nWarning text:"
|
||||
}
|
||||
var lang_post_btn1={
|
||||
"ja":"キャンセル(投稿しない)",
|
||||
"en":"Cancel (will not post)"
|
||||
}
|
||||
var lang_post_btn2={
|
||||
"ja":"自動でCWを付ける",
|
||||
"en":"Make text hidden automatically"
|
||||
}
|
||||
var lang_post_btn3={
|
||||
"ja":"そのまま投稿",
|
||||
"en":"Continue to post"
|
||||
}
|
||||
//post/status.js
|
||||
var lang_status_favWarn={
|
||||
"ja":"お気に入り登録しました。インスタンスが違うときは時間がかかる場合があります。",
|
||||
"en":"It will take a miunte to favourite a remote toot."
|
||||
}
|
||||
var lang_status_btWarn={
|
||||
"ja":"ブーストしました。インスタンスが違うときは時間がかかる場合があります。",
|
||||
"en":"It will take a miunte to boost a remote toot."
|
||||
}
|
||||
var lang_status_follow={
|
||||
"ja":"フォロー",
|
||||
"en":"Follow"
|
||||
}
|
||||
var lang_status_unfollow={
|
||||
"ja":"フォロー解除",
|
||||
"en":"Unfollow"
|
||||
}
|
||||
var lang_status_block={
|
||||
"ja":"ブロック",
|
||||
"en":"Block"
|
||||
}
|
||||
var lang_status_unblock={
|
||||
"ja":"ブロック解除",
|
||||
"en":"Unblock"
|
||||
}
|
||||
var lang_status_mute={
|
||||
"ja":"ミュート",
|
||||
"en":"Mute"
|
||||
}
|
||||
var lang_status_unmute={
|
||||
"ja":"ミュート解除",
|
||||
"en":"Unmute"
|
||||
}
|
||||
var lang_status_redraft={
|
||||
"ja":"削除して再編集しますか?そのトゥートの全てのデータがリセットされます。この機能はベータ版です。画像は~v2.4.1で破棄されます。",
|
||||
"en":"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."
|
||||
}
|
||||
var lang_status_emphas={
|
||||
"ja":"を強調します。リロードしてください。",
|
||||
"en":"'s toots are emphasized. Please reload after this action."
|
||||
}
|
||||
var lang_status_unemphas={
|
||||
"ja":"を強調解除します。リロードしてください。",
|
||||
"en":"'s toots are not emphasized. Please reload after this action."
|
||||
}
|
||||
var lang_status_unendorse={
|
||||
"ja":"紹介解除",
|
||||
"en":"Not feature on profile"
|
||||
}
|
||||
var lang_status_endorse={
|
||||
"ja":"プロフで紹介する",
|
||||
"en":"Feature on profile"
|
||||
}
|
||||
//post/suggest.js
|
||||
var lang_suggest_nodata={
|
||||
"ja":"サジェストのために絵文字リストを取得してください。",
|
||||
"en":"Please get emojis list in order to show suggestion."
|
||||
}
|
||||
//post/use-txtbox.js
|
||||
var lang_usetxtbox_reply={
|
||||
"ja":"返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
|
||||
"en":"Reply Mode. Ctrl+Shift+C to clear."
|
||||
}
|
||||
//tl/card.js
|
||||
var lang_cards_check={
|
||||
"ja":"チェック",
|
||||
"en":" check"
|
||||
}
|
||||
var lang_cards_pip={
|
||||
"ja":"ながら観モード",
|
||||
"en":"PiP mode"
|
||||
}
|
||||
//tl/details.js
|
||||
var lang_details_nodata={
|
||||
"ja":"データなし",
|
||||
"en":"No data"
|
||||
}
|
||||
var lang_details_filtered={
|
||||
"ja":"フィルターされました。",
|
||||
"en":"Filtered toot"
|
||||
}
|
||||
var lang_details_embed={
|
||||
"ja":"埋め込みHTMLがコピーされました。",
|
||||
"en":"Embed HTML is cliped."
|
||||
}
|
||||
var lang_details_url={
|
||||
"ja":"トゥートURLがコピーされました。",
|
||||
"en":"URL of this toot is cliped."
|
||||
}
|
||||
var lang_details_txt={
|
||||
"ja":"トゥート本文がコピーされました。",
|
||||
"en":"Content of this toot is cliped."
|
||||
}
|
||||
//tl/filter.js
|
||||
var lang_filter_nodata={
|
||||
"ja":"フィルターはありません",
|
||||
"en":"No data"
|
||||
}
|
||||
var lang_filter_errordegree={
|
||||
"ja":"適応範囲を最低一つ以上チェックしてください。",
|
||||
"en":"Please check a context"
|
||||
}
|
||||
//tl/list.js
|
||||
var lang_list_nodata={
|
||||
"ja":"リストはありません",
|
||||
"en":"No data"
|
||||
}
|
||||
var lang_list_show={
|
||||
"ja":"表示",
|
||||
"en":"Show"
|
||||
}
|
||||
var lang_list_users={
|
||||
"ja":"ユーザー一覧",
|
||||
"en":"Users list"
|
||||
}
|
||||
var lang_list_nouser={
|
||||
"ja":"ユーザーはいません",
|
||||
"en":"No users in this list."
|
||||
}
|
||||
var lang_list_add={
|
||||
"ja":"リストに追加",
|
||||
"en":"Add to the list"
|
||||
}
|
||||
var lang_list_remove={
|
||||
"ja":"リストから削除",
|
||||
"en":"Remove from the list"
|
||||
}
|
||||
//tl/notification.js
|
||||
var lang_notf_new={
|
||||
"ja":"件の新しい通知",
|
||||
"en":" new notifications"
|
||||
}
|
||||
//tl/speech.js
|
||||
var lang_speech_refresh={
|
||||
"ja":"音声読み上げ設定を更新しました。",
|
||||
"en":"Save valie about TTS config"
|
||||
}
|
||||
//tl/src.js
|
||||
var lang_src_ts={
|
||||
"ja":"時系列",
|
||||
"en":"chronological order"
|
||||
}
|
||||
var lang_src_people={
|
||||
"ja":"人がトゥート",
|
||||
"en":" people toot"
|
||||
}
|
||||
//tl/tag.js
|
||||
var lang_tags_always={
|
||||
"ja":"常に",
|
||||
"en":"Always toots with "
|
||||
}
|
||||
var lang_tags_realtime={
|
||||
"ja":"実況",
|
||||
"en":"Tag-stream toot"
|
||||
}
|
||||
var lang_tags_tagunpin={
|
||||
"ja":"{{tag}}をよく使うタグから削除",
|
||||
"en":"Unpin {{tag}}"
|
||||
}
|
||||
var lang_tags_tagwarn={
|
||||
"ja":"次に{{tag}}なしでトゥートするまで全てのトゥートに{{tag}}が付与されます。",
|
||||
"en":"When you toot without {{tag}}, tag-streaming mode will be off."
|
||||
}
|
||||
//tl/tl.js
|
||||
var lang_tl_media={
|
||||
"ja":"メディア",
|
||||
"en":"Media"
|
||||
}
|
||||
var lang_tl_reconnect={
|
||||
"ja":"Streamingに再接続しました",
|
||||
"en":"Reconnect to streaming API"
|
||||
}
|
||||
//ui/layout.js
|
||||
var lang_layout_gotop={
|
||||
"ja":"一番上へ。アイコンが赤のときはストリーミングに接続できていません。F5等で再読込をお試し下さい。",
|
||||
"en":"Go top of this column. When icon is red, this column cannot connect straming API. Please reload."
|
||||
}
|
||||
var lang_layout_thisacct={
|
||||
"ja":"このアカウントの{{notf}}",
|
||||
"en":"{{notf}} of this account"
|
||||
}
|
||||
var lang_layout_delthis={
|
||||
"ja":"このカラムを削除",
|
||||
"en":"Remove this column"
|
||||
}
|
||||
var lang_layout_setthis={
|
||||
"ja":"このカラムの設定",
|
||||
"en":"Preferences of this column"
|
||||
}
|
||||
var lang_layout_mediafil={
|
||||
"ja":"メディアフィルター",
|
||||
"en":"Media filtering"
|
||||
}
|
||||
var lang_layout_linkana={
|
||||
"ja":"リンク解析",
|
||||
"en":"Auto Link Analyzer"
|
||||
}
|
||||
var lang_layout_linkanades={
|
||||
"ja":"リンクの解析を切り替え(OFFで制限を回避出来る場合があります)",
|
||||
"en":"Auto link analyzer(You may got limitation of API)"
|
||||
}
|
||||
var lang_layout_tts={
|
||||
"ja":"読み上げ",
|
||||
"en":"Text to speech "
|
||||
}
|
||||
var lang_layout_reconnect={
|
||||
"ja":"ストリーミング再接続",
|
||||
"en":"Reconnect to streaming API"
|
||||
}
|
||||
var lang_layout_headercolor={
|
||||
"ja":"TLヘッダーカラー",
|
||||
"en":"Header color of this column"
|
||||
}
|
||||
var lang_layout_nodata={
|
||||
"ja":"[ここにトゥートはありません。]<br>F5/⌘+Rで再読込できます。",
|
||||
"en":"[No data]<br>F5/⌘+R to reload"
|
||||
}
|
||||
var lang_layout_dm={
|
||||
"ja":"ダイレクトメッセージ",
|
||||
"en":"Direct Message"
|
||||
}
|
||||
var lang_layout_webviewmode={
|
||||
"ja":"WebView優先",
|
||||
"en":"Prefer WebView"
|
||||
}
|
||||
//ui/spotify.js
|
||||
var lang_spotify_img={
|
||||
"ja":"アルバムアートワークを添付します。",
|
||||
"en":"Attach an album artwork"
|
||||
}
|
||||
var lang_spotify_imgno={
|
||||
"ja":"アルバムアートワークを添付しません。",
|
||||
"en":"Not ttach an album artwork"
|
||||
}
|
||||
var lang_spotify_acct={
|
||||
"ja":"アカウント連携をしてください。",
|
||||
"en":"Connect TheDesk to Spotify"
|
||||
}
|
||||
var lang_spotify_np={
|
||||
"ja":"NowPlaying文書を更新しました。",
|
||||
"en":"Done:templete of NowPlaying"
|
||||
}
|
||||
//userdata/his-data.js
|
||||
var lang_hisdata_frcreq={
|
||||
"ja":"Mastodon 2.4.3~が必要です",
|
||||
"en":"Required Mastodon 2.4.3 and above"
|
||||
}
|
||||
var lang_hisdata_frcwarn={
|
||||
"ja":"非フォローだけど絡みがある時に表示されます。",
|
||||
"en":"Unfollow accounts will be shown."
|
||||
}
|
||||
var lang_hisdata_taketime={
|
||||
"ja":"30秒から数分かかります",
|
||||
"en":"It will take 30s ~ several minutes"
|
||||
}
|
||||
var lang_hisdata_notonmisskey={
|
||||
"ja":"このシステムはMisskeyにはありません。",
|
||||
"en":"Misskey is unable to request."
|
||||
}
|
||||
//userdata/showOnTL.js
|
||||
var lang_showontl_movetxt={
|
||||
"ja":"このアカウントは移行しています",
|
||||
"en":"This account was moved"
|
||||
}
|
||||
var lang_showontl_movebtn={
|
||||
"ja":"移行先を見る",
|
||||
"en":"Continue on the new account"
|
||||
}
|
||||
var lang_showontl_botacct={
|
||||
"ja":"botアカウント",
|
||||
"en":"[bot]"
|
||||
}
|
||||
var lang_showontl_followed={
|
||||
"ja":"フォローされています",
|
||||
"en":"Following you"
|
||||
}
|
||||
var lang_showontl_notf={
|
||||
"ja":"通知",
|
||||
"en":"Notification "
|
||||
}
|
||||
var lang_showontl_domain={
|
||||
"ja":"ドメイン",
|
||||
"en":"Domain "
|
||||
}
|
||||
var lang_showontl_listwarn={
|
||||
"ja":"リストに追加するためにはフォローが必要です。",
|
||||
"en":"Follow to add this user to lists."
|
||||
}
|
@@ -82,6 +82,10 @@ var lang_setting_imgheight={
|
||||
"ja":"画像高さを{{set}}pxに設定しました。",
|
||||
"en":"Image height:{{set}}px"
|
||||
}
|
||||
var lang_setting_ticker={
|
||||
"ja":"#InstanceTicker使用を{{set}}に設定しました。",
|
||||
"en":"#InstanceTicker:{{set}}px"
|
||||
}
|
||||
var lang_setting_tag={
|
||||
"ja":"タグの取得範囲を「{{set}}」に設定しました。",
|
||||
"en":"Tag TL:{{set}}"
|
||||
|
@@ -43,7 +43,7 @@ function ck() {
|
||||
|
||||
if (at) {
|
||||
$("#tl").show();
|
||||
|
||||
ticker();
|
||||
parseColumn();
|
||||
multiSelector();
|
||||
} else {
|
||||
@@ -173,7 +173,7 @@ function getdata() {
|
||||
console.log(json);
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang_fatalerroroccured[lang]+"Error:" + json.error,
|
||||
Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
|
||||
5000);
|
||||
return;
|
||||
}
|
||||
@@ -223,7 +223,7 @@ function getdataAdv(domain, at) {
|
||||
console.log(json);
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang_fatalerroroccured[lang]+"Error:" + json.error,
|
||||
Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
|
||||
5000);
|
||||
return;
|
||||
}
|
||||
@@ -285,7 +285,7 @@ function refresh(target) {
|
||||
console.log(json);
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang_fatalerroroccured[lang]+"Error:" + json.error,
|
||||
Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
|
||||
5000);
|
||||
return;
|
||||
}
|
||||
@@ -444,7 +444,7 @@ function multiSelector() {
|
||||
var sel;
|
||||
if(obj.length<1){
|
||||
$("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>');
|
||||
$("#add-acct-sel").html('<option value="noauth">'+lang_login_noauth[lang]+'</option>');
|
||||
$("#add-acct-sel").html('<option value="noauth">'+lang.lang_login_noauth+'</option>');
|
||||
}else{
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var acct = obj[key];
|
||||
@@ -471,7 +471,7 @@ function multiSelector() {
|
||||
profimg="./img/missing.svg";
|
||||
}
|
||||
$("#acct-sel-prof").attr("src",profimg);
|
||||
$("#toot-post-btn").text(lang_toot[lang]+"("+domain+")");
|
||||
$("#toot-post-btn").text(lang.lang_toot+"("+domain+")");
|
||||
if(acct.background && acct.background!="def" && acct.text && acct.text!="def"){
|
||||
$("#toot-post-btn").removeClass("indigo");
|
||||
$("#toot-post-btn").css("background-color","#"+acct.background);
|
||||
@@ -498,7 +498,7 @@ function multiSelector() {
|
||||
|
||||
});
|
||||
$("#src-acct-sel").append('<option value="tootsearch">Tootsearch</option>');
|
||||
$("#add-acct-sel").append('<option value="noauth">'+lang_login_noauth[lang]+'</option><option value="webview">Twitter</option>');
|
||||
$("#add-acct-sel").append('<option value="noauth">'+lang.lang_login_noauth+'</option><option value="webview">Twitter</option>');
|
||||
}
|
||||
$('select').material_select('update');
|
||||
}
|
||||
@@ -512,3 +512,24 @@ function enc(ver){
|
||||
var ver = ver.replace( /\]/g , "" );
|
||||
return ver;
|
||||
}
|
||||
//インスタンスティッカー
|
||||
function ticker() {
|
||||
var start = "https://toot.app/toot/";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json'
|
||||
},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if (json.error) {
|
||||
return;
|
||||
}
|
||||
if(json){
|
||||
localStorage.setItem("ticker", JSON.stringify(json));
|
||||
}
|
||||
});
|
||||
}
|
@@ -43,11 +43,11 @@ function load() {
|
||||
name + '</span>' + escapeHTML(acct.user) + '@' + acct.domain +
|
||||
'</div><div class="card-action"><a class="waves-effect disTar pointer white-text" onclick="data(\'' +
|
||||
acct.domain +
|
||||
'\')"><i class="material-icons">info</i>'+lang_manager_info[lang]+'</a><a class="waves-effect disTar pointer white-text" onclick="refresh(' +
|
||||
'\')"><i class="material-icons">info</i>'+lang.lang_manager_info+'</a><a class="waves-effect disTar pointer white-text" onclick="refresh(' +
|
||||
key +
|
||||
')"><i class="material-icons">refresh</i>'+lang_manager_refresh[lang]+'</a><a class="waves-effect disTar pointer red-text" onclick="multiDel(' +
|
||||
')"><i class="material-icons">refresh</i>'+lang.lang_manager_refresh+'</a><a class="waves-effect disTar pointer red-text" onclick="multiDel(' +
|
||||
key +
|
||||
')"><i class="material-icons">delete</i>'+lang_manager_delete[lang]+'</a><br>'+lang_manager_color[lang]+'<div id="colorsel_'+key+'" class="colorsel"></div></div></div>';
|
||||
')"><i class="material-icons">delete</i>'+lang.lang_manager_delete+'</a><br>'+lang.lang_manager_color+'<div id="colorsel_'+key+'" class="colorsel"></div></div></div>';
|
||||
$("#acct-list").append(templete);
|
||||
colorpicker(key)
|
||||
});
|
||||
@@ -61,7 +61,7 @@ function load() {
|
||||
var remote=electron.remote;
|
||||
var platform=remote.process.platform;
|
||||
if(platform=="win32"){
|
||||
|
||||
$("#linux").prop("checked", false);
|
||||
}else{
|
||||
$("#linux").prop("checked", true);
|
||||
}
|
||||
@@ -141,7 +141,7 @@ function multiDel(target) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
//削除確認ダイアログ
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] +lang_manager_confirm[lang])) {
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] +lang.lang_manager_confirm)) {
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var nk=key-1;
|
||||
//公開範囲(差分のみ)
|
||||
@@ -205,7 +205,7 @@ function multiDel(target) {
|
||||
function multiDel2(target) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] +lang_manager_confirm[lang])) {
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] +lang.lang_manager_confirm)) {
|
||||
obj.splice(target, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("multi", json);
|
||||
@@ -335,13 +335,14 @@ function misskeyLogin(url) {
|
||||
localStorage.setItem("msky","true");
|
||||
if(url=="misskey.xyz" && misskeytoken){
|
||||
var mkc=misskeytoken;
|
||||
localStorage.setItem("mkc",mkc)
|
||||
}else{
|
||||
var mkc=$("#misskey-key").val();
|
||||
localStorage.setItem("mkc",mkc)
|
||||
if(!mkc){
|
||||
$("#misskeylogin").show();
|
||||
$("#misskey-url").val(url);
|
||||
if(confirm(lang_manager_godev[lang])){
|
||||
if(confirm(lang.lang_manager_godev)){
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
@@ -492,7 +493,7 @@ function getdata(domain, at) {
|
||||
console.log(json);
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang_fatalerroroccured[lang]+"Error:" + json.error,
|
||||
Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
|
||||
5000);
|
||||
return;
|
||||
}
|
||||
@@ -557,7 +558,7 @@ function refresh(target) {
|
||||
console.log(json);
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang_fatalerroroccured[lang]+"Error:" + json.error,
|
||||
Materialize.toast(lang.lang_fatalerroroccured+"Error:" + json.error,
|
||||
5000);
|
||||
return;
|
||||
}
|
||||
@@ -646,14 +647,14 @@ function multisel() {
|
||||
console.log(obj.length)
|
||||
if(obj.length<1){
|
||||
$("#src-acct-sel").html('<option value="tootsearch">Tootsearch</option>');
|
||||
$("#add-acct-sel").html('<option value="noauth">'+lang_login_noauth[lang]+'</option>');
|
||||
$("#add-acct-sel").html('<option value="noauth">'+lang.lang_login_noauth+'</option>');
|
||||
}else{
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var acct = obj[key];
|
||||
var list = key * 1 + 1;
|
||||
if (key == last) {
|
||||
sel = "selected";
|
||||
mainb='('+lang_manager_def[lang]+')'
|
||||
mainb='('+lang.lang_manager_def+')'
|
||||
var domain = localStorage.getItem("domain_" + key);
|
||||
var profimg=localStorage.getItem("prof_"+key);
|
||||
var domain=localStorage.getItem("domain_"+key);
|
||||
@@ -676,11 +677,11 @@ function multisel() {
|
||||
function mainacct(){
|
||||
var acct_id = $("#main-acct-sel").val();
|
||||
localStorage.setItem("main", acct_id);
|
||||
Materialize.toast(lang_manager_mainAcct[lang], 3000);
|
||||
Materialize.toast(lang.lang_manager_mainAcct, 3000);
|
||||
}
|
||||
function colorpicker(key){
|
||||
temp=
|
||||
'<div onclick="coloradd('+key+',\'def\',\'def\')" class="pointer exc">'+lang_manager_none[lang]+'</div>'+
|
||||
'<div onclick="coloradd('+key+',\'def\',\'def\')" class="pointer exc">'+lang.lang_manager_none+'</div>'+
|
||||
'<div onclick="coloradd('+key+',\'f44336\',\'white\')" class="red white-text pointer"></div>'+
|
||||
'<div onclick="coloradd('+key+',\'e91e63\',\'white\')" class="pink white-text pointer"></div>'+
|
||||
'<div onclick="coloradd('+key+',\'9c27b0\',\'white\')" class="purple white-text pointer"></div>'+
|
||||
|
@@ -113,28 +113,7 @@
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
$.strip_tags = function(str, allowed) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || [])
|
||||
.join('');
|
||||
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>?/gi,
|
||||
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
|
||||
return str.replace(commentsAndPhpTags, '').replace(tags, function($0, $1) {
|
||||
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
|
||||
});
|
||||
};
|
||||
function escapeHTML(str) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
return str.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''');
|
||||
}
|
||||
|
||||
//コピー
|
||||
function execCopy(string){
|
||||
var temp = $("#copy");
|
||||
@@ -157,7 +136,7 @@ function progshow(e) {
|
||||
if(percent<1){
|
||||
$("#imgup").text(Math.floor(percent*100)+"%");
|
||||
}else{
|
||||
$("#imgup").text(lang_progress[lang]);
|
||||
$("#imgup").text(lang.lang_progress);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,3 +1,84 @@
|
||||
//jQuery読む
|
||||
window.jQuery = window.$ = require('../../js/common/jquery.js');
|
||||
var Hammer = require('../../js/common/hammer.min.js');
|
||||
var Hammer = require('../../js/common/hammer.min.js');
|
||||
$.strip_tags = function(str, allowed) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || [])
|
||||
.join('');
|
||||
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>?/gi,
|
||||
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
|
||||
return str.replace(commentsAndPhpTags, '').replace(tags, function($0, $1) {
|
||||
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
|
||||
});
|
||||
};
|
||||
function escapeHTML(str) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
return str.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''');
|
||||
}
|
||||
//PHPのnl2brと同様
|
||||
function nl2br(str) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
str = str.replace(/\r\n/g, "<br />");
|
||||
str = str.replace(/(\n|\r)/g, "<br />");
|
||||
return str;
|
||||
}
|
||||
function formattime(date){
|
||||
var str=date.getFullYear()+"-";
|
||||
if(date.getMonth()+1<10){
|
||||
str=str+"0"+(date.getMonth()+1)+"-";
|
||||
}else{
|
||||
str=str+(date.getMonth()+1)+"-";
|
||||
}
|
||||
if(date.getDate()<10){
|
||||
str=str+"0"+date.getDate()
|
||||
}else{
|
||||
str=str+date.getDate()
|
||||
}
|
||||
str=str+"T";
|
||||
if(date.getHours()<10){
|
||||
str=str+"0"+date.getHours()+":"
|
||||
}else{
|
||||
str=str+date.getHours()+":"
|
||||
}
|
||||
if(date.getMinutes()<10){
|
||||
str=str+"0"+date.getMinutes()
|
||||
}else{
|
||||
str=str+date.getMinutes()
|
||||
}
|
||||
return str;
|
||||
}
|
||||
function formattimeutc(date){
|
||||
var str=date.getUTCFullYear()+"-";
|
||||
if(date.getUTCMonth()+1<10){
|
||||
str=str+"0"+(date.getUTCMonth()+1)+"-";
|
||||
}else{
|
||||
str=str+(date.getUTCMonth()+1)+"-";
|
||||
}
|
||||
if(date.getUTCDate()<10){
|
||||
str=str+"0"+date.getUTCDate()
|
||||
}else{
|
||||
str=str+date.getUTCDate()
|
||||
}
|
||||
str=str+"T";
|
||||
if(date.getUTCHours()<10){
|
||||
str=str+"0"+date.getUTCHours()+":"
|
||||
}else{
|
||||
str=str+date.getUTCHours()+":"
|
||||
}
|
||||
if(date.getUTCMinutes()<10){
|
||||
str=str+"0"+date.getUTCMinutes()
|
||||
}else{
|
||||
str=str+date.getUTCMinutes()
|
||||
}
|
||||
return str;
|
||||
}
|
@@ -10,7 +10,7 @@ function mdCheck(){
|
||||
if(localStorage.getItem("post_" + acct_id)){
|
||||
$("#toot-post-btn").text(localStorage.getItem("post_" + acct_id)+"("+localStorage.getItem("domain_"+acct_id)+")");
|
||||
}else{
|
||||
$("#toot-post-btn").text(lang_toot[lang]+"("+localStorage.getItem("domain_"+acct_id)+")");
|
||||
$("#toot-post-btn").text(lang.lang_toot+"("+localStorage.getItem("domain_"+acct_id)+")");
|
||||
}
|
||||
if(!localStorage.getItem("bb_"+acct_id) && !localStorage.getItem("md_"+acct_id)){
|
||||
$(".markdown").addClass("hide");
|
||||
@@ -40,17 +40,17 @@ function mdCheck(){
|
||||
$("#trendtag").html("");
|
||||
}
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
Materialize.toast(lang_bbmd_misskey[lang], 5000);
|
||||
Materialize.toast(lang.lang_bbmd_misskey, 5000);
|
||||
}
|
||||
if(idata[domain+"_letters"]){
|
||||
$("#textarea").attr("data-length", idata[domain+"_letters"])
|
||||
}else{
|
||||
$("#textarea").attr("data-length", 500)
|
||||
}
|
||||
if(idata[domain+"_glitch"]){
|
||||
if(idata[domain+"_glitch"]==="true"){
|
||||
$("#local-button").removeClass("hide");
|
||||
}else{
|
||||
$("#local-button").removeClass("hide");
|
||||
$("#local-button").addClass("hide");
|
||||
}
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (multi) {
|
||||
@@ -117,15 +117,6 @@ if(localStorage.getItem("md")=="hide"){
|
||||
}[match]
|
||||
});
|
||||
}
|
||||
//PHPのnl2brと同様
|
||||
function nl2br(str) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
str = str.replace(/\r\n/g, "<br />");
|
||||
str = str.replace(/(\n|\r)/g, "<br />");
|
||||
return str;
|
||||
}
|
||||
//テキストボックスで選択したやつをタグで囲む(BB版)
|
||||
function surroundHTML(tagS,tagE) {
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
|
@@ -20,7 +20,7 @@ function emojiToggle() {
|
||||
$("#emoji").removeClass("hide")
|
||||
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_emoji_get[lang]+'</button>';
|
||||
'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">'+lang.lang_emoji_get+'</button>';
|
||||
$("#emoji-list").html(html);
|
||||
} else {
|
||||
emojiList('home');
|
||||
@@ -68,7 +68,7 @@ function emojiGet(parse) {
|
||||
|
||||
//リストの描画
|
||||
function emojiList(target) {
|
||||
$("#now-emoji").text(lang_emoji_custom[lang]);
|
||||
$("#now-emoji").text(lang.lang_emoji_custom);
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
var start = localStorage.getItem("emojiseek");
|
||||
if (target == "next") {
|
||||
|
@@ -43,7 +43,7 @@ function pimg(files) {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('bmp-image', [files[i].path,i]);
|
||||
todo(lang_progress[lang]);
|
||||
todo(lang.lang_progress);
|
||||
|
||||
}else{
|
||||
handleFileUpload(files[i], obj,i);
|
||||
@@ -134,7 +134,7 @@ function media(b64, type, no) {
|
||||
var html = '<img src="' + json[previewer] + '" style="width:50px; max-height:100px;">';
|
||||
$('#preview').append(html);
|
||||
} else {
|
||||
$('#preview').append(lang_postimg_previewdis[lang]);
|
||||
$('#preview').append(lang.lang_postimg_previewdis);
|
||||
}
|
||||
if (!img) {
|
||||
var img = "no-act";
|
||||
@@ -152,8 +152,8 @@ function media(b64, type, no) {
|
||||
todc();
|
||||
$(".toot-btn-group").prop("disabled", false);
|
||||
$('select').material_select();
|
||||
$("#mec").text(lang_there[lang]);
|
||||
Materialize.toast(lang_postimg_aftupload[lang], 1000);
|
||||
$("#mec").text(lang.lang_there);
|
||||
Materialize.toast(lang.lang_postimg_aftupload, 1000);
|
||||
$("#imgup").text("");
|
||||
$("#imgsel").show();
|
||||
localStorage.removeItem("image");
|
||||
|
@@ -32,7 +32,7 @@ function renoteqt(id, acct_id) {
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').material_select();
|
||||
$("#textarea").attr("placeholder",lang_misskeyparse_qt[lang]);
|
||||
$("#textarea").attr("placeholder",lang.lang_misskeyparse_qt);
|
||||
$("#textarea").focus();
|
||||
}
|
||||
//Reply
|
||||
@@ -44,7 +44,7 @@ function misskeyreply(id, acct_id) {
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').material_select();
|
||||
$("#textarea").attr("placeholder",lang_misskeyparse_qt[lang]);
|
||||
$("#textarea").attr("placeholder",lang.lang_misskeyparse_qt);
|
||||
$("#textarea").focus();
|
||||
}
|
||||
//Reaction
|
||||
|
@@ -20,7 +20,7 @@ function post(mode,postvis) {
|
||||
if(domain=="theboss.tech"){
|
||||
if(~str.indexOf("#")){
|
||||
if(str.indexOf("#theboss_tech")=="-1"){
|
||||
if(!confirm(lang_post_tagTL[lang])){
|
||||
if(!confirm(lang.lang_post_tagTL)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ function post(mode,postvis) {
|
||||
if(domain=="dtp-mstdn.jp"){
|
||||
if(~str.indexOf("#")){
|
||||
if(str.indexOf("#dtp")=="-1"){
|
||||
if(!confirm(lang_post_tagTL[lang])){
|
||||
if(!confirm(lang.lang_post_tagTL)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -52,9 +52,9 @@ function post(mode,postvis) {
|
||||
var plus=str.replace(/\n/g,"").slice(0,10)+"...";
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: lang_post_cwtitle[lang],
|
||||
message: lang_post_cwtxt[lang]+plus,
|
||||
buttons: [lang_post_btn1[lang],lang_post_btn2[lang], lang_post_btn3[lang]]
|
||||
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) {
|
||||
if(arg==1){
|
||||
@@ -105,6 +105,14 @@ function post(mode,postvis) {
|
||||
}else if(vis=="local"){
|
||||
toot.status=str+"👁️";
|
||||
}
|
||||
//ここに非公開・未収載タグについてwarn
|
||||
if(~str.indexOf("#")){
|
||||
if(vis == "local" || vis=="unlisted" || vis=="direct" || vis=="private"){
|
||||
if(!confirm(lang.lang_post_tagVis)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($("#cw").hasClass("cw-avail")) {
|
||||
var spo = $("#cw-text").val();
|
||||
cw();
|
||||
@@ -112,6 +120,14 @@ function post(mode,postvis) {
|
||||
} else {
|
||||
var spo = "";
|
||||
}
|
||||
if ($("#sch-box").hasClass("sch-avail")) {
|
||||
var scheduled=formattimeutc(new Date(Date.parse($("#sch-date").val())))
|
||||
schedule();
|
||||
toot.scheduled_at=scheduled;
|
||||
|
||||
} else {
|
||||
var scheduled = "";
|
||||
}
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('POST', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
@@ -217,7 +233,7 @@ function clear() {
|
||||
if(localStorage.getItem("stable")){
|
||||
$("#textarea").val(localStorage.getItem("stable"));
|
||||
}
|
||||
$("#textarea").attr("placeholder", lang_toot[lang]);
|
||||
$("#textarea").attr("placeholder", lang.lang_toot);
|
||||
$("#reply").val("");
|
||||
$("#media").val("");
|
||||
var cwt = localStorage.getItem("cw-text");
|
||||
@@ -236,13 +252,13 @@ function clear() {
|
||||
$("#cw").addClass("cw-avail");
|
||||
$("#cw-text").show();
|
||||
}
|
||||
$("#rec").text(lang_no[lang]);
|
||||
$("#mec").text(lang_nothing[lang]);
|
||||
$("#rec").text(lang.lang_no);
|
||||
$("#mec").text(lang.lang_nothing);
|
||||
loadVis();
|
||||
$("#nsfw").removeClass("yellow-text");
|
||||
$("#nsfw").html("visibility_off");
|
||||
$("#nsfw").removeClass("nsfw-avail");
|
||||
$("#nsc").text(lang_nothing[lang]);
|
||||
$("#nsc").text(lang.lang_nothing);
|
||||
$("#drag").css("background-color", "#e0e0e0");
|
||||
$("#preview").html("");
|
||||
$(".toot-btn-group").prop("disabled", false);
|
||||
|
@@ -112,4 +112,18 @@ $(function() {
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
//スケジュール
|
||||
function schedule(){
|
||||
if($("#sch-box").hasClass("sch-avail")){
|
||||
$("#sch-box").hide();
|
||||
$("#sch-box").removeClass("sch-avail");
|
||||
}else{
|
||||
var date = new Date();
|
||||
|
||||
$("#sch-box").show();
|
||||
$("#sch-date").val(formattime(date));
|
||||
console.log(formattime(date));
|
||||
$("#sch-box").addClass("sch-avail");
|
||||
}
|
||||
}
|
||||
|
@@ -43,7 +43,7 @@ function fav(id, acct_id, remote) {
|
||||
$(".fav_" + id).addClass("yellow-text");
|
||||
}
|
||||
}else{
|
||||
Materialize.toast(lang_status_favWarn[lang], 1000);
|
||||
Materialize.toast(lang.lang_status_favWarn, 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,7 +90,7 @@ function rt(id, acct_id, remote) {
|
||||
$(".rt_" + id).addClass("teal-text");
|
||||
}
|
||||
} else {
|
||||
Materialize.toast(lang_status_btWarn[lang], 1000);
|
||||
Materialize.toast(lang.lang_status_btWarn, 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -141,10 +141,10 @@ function follow(acct_id,remote) {
|
||||
console.log(json);
|
||||
if ($("#his-data").hasClass("following")) {
|
||||
$("#his-data").removeClass("following");
|
||||
$("#his-follow-btn").text(lang_status_follow[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_follow);
|
||||
} else {
|
||||
$("#his-data").addClass("following");
|
||||
$("#his-follow-btn").text(lang_status_unfollow[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_unfollow);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -174,10 +174,10 @@ function block(acct_id) {
|
||||
if (httpreq.readyState == 4) {
|
||||
if ($("#his-data").hasClass("blocking")) {
|
||||
$("#his-data").removeClass("blocking");
|
||||
$("#his-block-btn").text(lang_status_block[lang]);
|
||||
$("#his-block-btn").text(lang.lang_status_block);
|
||||
} else {
|
||||
$("#his-data").addClass("blocking");
|
||||
$("#his-block-btn").text(lang_status_unblock[lang]);
|
||||
$("#his-block-btn").text(lang.lang_status_unblock);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -216,10 +216,10 @@ function mute(acct_id) {
|
||||
if (httpreq.readyState == 4) {
|
||||
if ($("#his-data").hasClass("muting")) {
|
||||
$("#his-data").removeClass("muting");
|
||||
$("#his-mute-btn").text(lang_status_mute[lang]);
|
||||
$("#his-mute-btn").text(lang.lang_status_mute);
|
||||
} else {
|
||||
$("#his-data").addClass("muting");
|
||||
$("#his-mute-btn").text(lang_status_unmute[lang]);
|
||||
$("#his-mute-btn").text(lang.lang_status_unmute);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -252,7 +252,7 @@ function del(id, acct_id) {
|
||||
}
|
||||
//redraft
|
||||
function redraft(id, acct_id){
|
||||
if(confirm(lang_status_redraft[lang])){
|
||||
if(confirm(lang.lang_status_redraft)){
|
||||
show();
|
||||
del(id, acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
@@ -278,6 +278,10 @@ function redraft(id, acct_id){
|
||||
localStorage.setItem("nohide",true);
|
||||
show();
|
||||
$("#textarea").val(html);
|
||||
var cwtxt=$("[toot-id="+id+"] .cw_text").html();
|
||||
cwtxt=$.strip_tags(cwtxt);
|
||||
cw();
|
||||
$("#cw-text").val(cwtxt);
|
||||
}
|
||||
}
|
||||
//ピン留め
|
||||
@@ -367,7 +371,7 @@ function empUser(){
|
||||
if(!obj){
|
||||
var obj=[];
|
||||
obj.push(id);
|
||||
Materialize.toast(id+lang_status_emphas[lang], 4000);
|
||||
Materialize.toast(id+lang.lang_status_emphas, 4000);
|
||||
}else{
|
||||
var can;
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
@@ -377,7 +381,7 @@ function empUser(){
|
||||
}else{
|
||||
can=true;
|
||||
obj.splice(key, 1);
|
||||
Materialize.toast(id+lang_status_unemphas[lang], 4000);
|
||||
Materialize.toast(id+lang.lang_status_unemphas, 4000);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -408,10 +412,10 @@ function pinUser(){
|
||||
console.log(json);
|
||||
if ($("#his-end-btn").hasClass("endorsed")) {
|
||||
$("#his-end-btn").removeClass("endorsed")
|
||||
$("#his-end-btn").text(lang_status_endorse[lang])
|
||||
$("#his-end-btn").text(lang.lang_status_endorse)
|
||||
} else {
|
||||
$("#his-end-btn").addClass("endorsed")
|
||||
$("#his-end-btn").text(lang_status_unendorse[lang])
|
||||
$("#his-end-btn").text(lang.lang_status_unendorse)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -420,7 +424,7 @@ function pinUser(){
|
||||
//URLコピー
|
||||
function tootUriCopy(url){
|
||||
execCopy(url);
|
||||
Materialize.toast(lang_details_url[lang], 1500);
|
||||
Materialize.toast(lang.lang_details_url, 1500);
|
||||
}
|
||||
|
||||
//他のアカウントで…
|
||||
|
@@ -18,7 +18,7 @@ input.addEventListener("focus", function() {
|
||||
if(semoji){
|
||||
var obj = JSON.parse(localStorage.getItem("emoji_" + acct_id));
|
||||
if(!obj){
|
||||
var ehtml=lang_suggest_nodata[lang];
|
||||
var ehtml=lang.lang_suggest_nodata;
|
||||
}else{
|
||||
var num = obj.length;
|
||||
var ehtml="";
|
||||
|
@@ -5,11 +5,11 @@ function re(id,at,acct_id,mode){
|
||||
$("#reply").val(id);
|
||||
var te=$("#textarea").val();
|
||||
$("#textarea").val("@"+at+" "+te);
|
||||
$("#rec").text(lang_yesno[lang]);
|
||||
$("#rec").text(lang.lang_yesno);
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').material_select();
|
||||
$("#textarea").attr("placeholder",lang_usetxtbox_reply[lang]);
|
||||
$("#textarea").attr("placeholder",lang.lang_usetxtbox_reply);
|
||||
$("#textarea").focus();
|
||||
var profimg=localStorage.getItem("prof_"+acct_id);
|
||||
if(!profimg){
|
||||
|
@@ -64,51 +64,12 @@ function additional(acct_id, tlid) {
|
||||
}).then(function(json) {
|
||||
if (json.title) {
|
||||
$("[toot-id=" + id + "] .additional").html(
|
||||
"<span class=\"gray\">URL"+lang_cards_check[lang]+":<br>Title:" + json.title + "<br>" +
|
||||
"<span class=\"gray\">URL"+lang.lang_cards_check+":<br>Title:" + json.title + "<br>" +
|
||||
json.description + "</span>");
|
||||
$("[toot-id=" + id + "] a:not(.parsed)").addClass("parsed");
|
||||
$("[toot-id=" + id + "]").addClass("parsed");
|
||||
}
|
||||
});
|
||||
}else{
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id + "/card";
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
//body: JSON.stringify({})
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
console.log(json);
|
||||
//このリンク鳥やんけ、ってとき
|
||||
if (json.provider_name=="Twitter"){
|
||||
if(json.image){
|
||||
var twiImg='<br><img src="'+json.image+'">';
|
||||
}else{
|
||||
var twiImg='';
|
||||
}
|
||||
$("[toot-id=" + id + "] .additional").html(
|
||||
'<blockquote class="twitter-tweet"><b>'+escapeHTML(json.author_name)+'</b><br>'+escapeHTML(json.description)+twiImg+'</blockquote>');
|
||||
}
|
||||
if (json.title) {
|
||||
$("[toot-id=" + id + "] .additional").html(
|
||||
"<span class=\"gray\">URL"+lang_cards_check[lang]+":<br>Title:" + escapeHTML(json.title) + "<br>" +
|
||||
escapeHTML(json.description) + "</span>");
|
||||
}
|
||||
if (json.html) {
|
||||
$("[toot-id=" + id + "] .additional").html(json.html+'<i class="material-icons" onclick="pip('+id+')" title="'+lang_cards_pip[lang]+'">picture_in_picture_alt</i>');
|
||||
}
|
||||
if (json.title) {
|
||||
$("[toot-id=" + id + "] a:not(.parsed)").addClass("parsed");
|
||||
$("[toot-id=" + id + "]").addClass("parsed");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}else{
|
||||
@@ -188,7 +149,7 @@ function additionalIndv(tlid, acct_id, id) {
|
||||
}).then(function(json) {
|
||||
if (json.title) {
|
||||
$("[toot-id=" + id + "] .additional").html(
|
||||
"<span class=\"gray\">URL"+lang_cards_check[lang]+":<br>Title:" + json.title + "<br>" +
|
||||
"<span class=\"gray\">URL"+lang.lang_cards_check+":<br>Title:" + json.title + "<br>" +
|
||||
json.description + "</span>");
|
||||
$("[toot-id=" + id + "] a:not(.parsed)").addClass("parsed");
|
||||
$("[toot-id=" + id + "]").addClass("parsed");
|
||||
@@ -232,11 +193,11 @@ function additionalIndv(tlid, acct_id, id) {
|
||||
}else{
|
||||
if (json.title) {
|
||||
$("[toot-id=" + id + "] .additional").html(
|
||||
"<span class=\"gray\">URL"+lang_cards_check[lang]+":<br>Title:" + escapeHTML(json.title) + "<br>" +
|
||||
"<span class=\"gray\">URL"+lang.lang_cards_check+":<br>Title:" + escapeHTML(json.title) + "<br>" +
|
||||
escapeHTML(json.description) + "</span>");
|
||||
}
|
||||
if (json.html) {
|
||||
$("[toot-id=" + id + "] .additional").html(json.html+'<i class="material-icons sml pointer" onclick="pip(\''+id+'\')" title="'+lang_cards_pip[lang]+'">picture_in_picture_alt</i>');
|
||||
$("[toot-id=" + id + "] .additional").html(json.html+'<i class="material-icons sml pointer" onclick="pip(\''+id+'\')" title="'+lang.lang_cards_pip+'">picture_in_picture_alt</i>');
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
//トゥートの詳細
|
||||
function details(id, acct_id, tlid) {
|
||||
$(".toot-reset").html(lang_details_nodata[lang]);
|
||||
$(".toot-reset").html(lang.lang_details_nodata);
|
||||
var html = $("#timeline_"+tlid+" [toot-id=" + id + "]").html();
|
||||
$("#toot-this").html(html);
|
||||
$('#tootmodal').modal('open');
|
||||
@@ -139,7 +139,7 @@ function replyTL(id, acct_id) {
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
var templete = misskeyParse([json], '', acct_id,"","",mute);
|
||||
$("#toot-after").prepend(templete);
|
||||
$("#toot-after .hide").html(lang_details_filtered[lang]);
|
||||
$("#toot-after .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-after .by_filter").css("display","block");
|
||||
$("#toot-after .by_filter").removeClass("hide");
|
||||
var rep="_replyIds";
|
||||
@@ -149,7 +149,7 @@ function replyTL(id, acct_id) {
|
||||
}else{
|
||||
var templete = parse([json], '', acct_id,"","",mute);
|
||||
$("#toot-reply").prepend(templete);
|
||||
$("#toot-reply .hide").html(lang_details_filtered[lang]);
|
||||
$("#toot-reply .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-reply .by_filter").css("display","block");
|
||||
$("#toot-reply .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
@@ -199,7 +199,7 @@ function context(id, acct_id) {
|
||||
console.log(json);
|
||||
var templete = misskeyParse(json, '', acct_id,"","",[]);
|
||||
$("#toot-reply").html(templete);
|
||||
$("#toot-reply .hide").html(lang_details_filtered[lang]);
|
||||
$("#toot-reply .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-reply .by_filter").css("display","block");
|
||||
$("#toot-reply .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
@@ -211,7 +211,7 @@ function context(id, acct_id) {
|
||||
}
|
||||
var templete = parse(json.descendants, '', acct_id,"","",mute);
|
||||
$("#toot-after").html(templete);
|
||||
$("#toot-after .hide").html(lang_details_filtered[lang]);
|
||||
$("#toot-after .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-after .by_filter").css("display","block");
|
||||
$("#toot-after .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
@@ -368,10 +368,10 @@ function cbCopy(mode){
|
||||
if(mode=="emb"){
|
||||
var emb='<iframe src="'+url+'/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400"></iframe><script src="https://'+domain+'/embed.js" async="async"></script>';
|
||||
execCopy(emb)
|
||||
Materialize.toast(lang_details_embed[lang], 1500);
|
||||
Materialize.toast(lang.lang_details_embed, 1500);
|
||||
}else{
|
||||
if(execCopy(url)){
|
||||
Materialize.toast(lang_details_url[lang], 1500);
|
||||
Materialize.toast(lang.lang_details_url, 1500);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -387,7 +387,7 @@ function staCopy(id){
|
||||
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, "$1");
|
||||
html=$.strip_tags(html);
|
||||
if(execCopy(html)){
|
||||
Materialize.toast(lang_details_txt[lang], 1500);
|
||||
Materialize.toast(lang.lang_details_txt, 1500);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -348,4 +348,52 @@ function filterUpdateInternal(json,type){
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="削除捕捉(削除されても残ります。背景色が変化します。)">delete</i><span id="sta-del-' +
|
||||
key + '">On</span></a>削除捕捉<a onclick="delreset(' + key +
|
||||
')" class="pointer">リセット</a><br>
|
||||
*/
|
||||
*/
|
||||
//通知フィルター
|
||||
function exclude(key){
|
||||
var excludetxt="";
|
||||
if($('#exc-reply-'+key+':checked').val()){
|
||||
excludetxt="?exclude_types[]=mention"
|
||||
var reply=true
|
||||
}else{
|
||||
var reply=false;
|
||||
}
|
||||
if($('#exc-fav-'+key+':checked').val()){
|
||||
if(reply){
|
||||
excludetxt=excludetxt+"&exclude_types[]=favourite"
|
||||
}else{
|
||||
excludetxt="?exclude_types[]=favourite"
|
||||
}
|
||||
var fav=true
|
||||
}else{
|
||||
var fav=false;
|
||||
}
|
||||
if($('#exc-bt-'+key+':checked').val()){
|
||||
if(reply || fav){
|
||||
excludetxt=excludetxt+"&exclude_types[]=reblog"
|
||||
}else{
|
||||
excludetxt="?exclude_types[]=reblog"
|
||||
}
|
||||
var bt=true
|
||||
}else{
|
||||
var bt=false;
|
||||
}
|
||||
if($('#exc-follow-'+key+':checked').val()){
|
||||
if(reply || bt || fav){
|
||||
excludetxt=excludetxt+"&exclude_types[]=follow"
|
||||
}else{
|
||||
excludetxt="?exclude_types[]=follow"
|
||||
}
|
||||
}else{
|
||||
}
|
||||
localStorage.setItem("exclude-"+key,excludetxt)
|
||||
parseColumn();
|
||||
}
|
||||
function excludeCk(key,target){
|
||||
var exc=localStorage.getItem("exclude-"+key);
|
||||
if(~exc.indexOf(target)){
|
||||
return "checked"
|
||||
}else{
|
||||
return "";
|
||||
}
|
||||
}
|
@@ -36,12 +36,12 @@ function list(){
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var list = json[key];
|
||||
lists = lists + list.title+':<a onclick="listShow(' + list.id + ',\'' + list.title + '\',\'' + acct_id +
|
||||
'\')" class="pointer">'+lang_list_show[lang]+'</a>/<a onclick="listUser(' + list.id + ',' + acct_id +
|
||||
')" class="pointer">'+lang_list_users[lang]+'</a><br> ';
|
||||
'\')" class="pointer">'+lang.lang_list_show+'</a>/<a onclick="listUser(' + list.id + ',' + acct_id +
|
||||
')" class="pointer">'+lang.lang_list_users+'</a><br> ';
|
||||
});
|
||||
$("#lists").html(lists);
|
||||
}else{
|
||||
$("#lists").html(lang_list_nodata[lang]);
|
||||
$("#lists").html(lang.lang_list_nodata);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -93,11 +93,11 @@ function listUser(id,acct_id){
|
||||
var lists = "";
|
||||
var templete = userparse(json,'',acct_id);
|
||||
if(!json[0]){
|
||||
templete=lang_list_nouser[lang];
|
||||
templete=lang.lang_list_nouser;
|
||||
}
|
||||
$("#lists-user").html(templete);
|
||||
}else{
|
||||
$("#lists-user").html(lang_list_nouser[lang]);
|
||||
$("#lists-user").html(lang.lang_list_nouser);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -119,7 +119,7 @@ function hisList(user,acct_id){
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if (json) {
|
||||
var lists = lang_list_add[lang]+"<br>";
|
||||
var lists = lang.lang_list_add+"<br>";
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var list = json[key];
|
||||
lists = lists + '<a onclick="listAdd(' + list.id + ',\'' + user + '\',\'' + acct_id +
|
||||
@@ -127,7 +127,7 @@ function hisList(user,acct_id){
|
||||
});
|
||||
$("#his-lists-a").html(lists);
|
||||
}else{
|
||||
$("#his-lists-a").html(lang_list_nodata[lang]);
|
||||
$("#his-lists-a").html(lang.lang_list_nodata);
|
||||
}
|
||||
});
|
||||
var start = "https://" + domain + "/api/v1/accounts/"+user+"/lists"
|
||||
@@ -145,7 +145,7 @@ function hisList(user,acct_id){
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if (json) {
|
||||
var lists = lang_list_remove[lang]+"<br>";
|
||||
var lists = lang.lang_list_remove+"<br>";
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var list = json[key];
|
||||
lists = lists + '<a onclick="listRemove(' + list.id + ',\'' + user + '\',\'' + acct_id +
|
||||
@@ -153,7 +153,7 @@ function hisList(user,acct_id){
|
||||
});
|
||||
$("#his-lists-b").html(lists);
|
||||
}else{
|
||||
$("#his-lists-b").html(lang_list_nodata[lang]);
|
||||
$("#his-lists-b").html(lang.lang_list_nodata);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@@ -1,3 +1,25 @@
|
||||
function escapeHTMLtemp(str) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
return str.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''');
|
||||
}
|
||||
$.strip_tagstemp = function(str, allowed) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || [])
|
||||
.join('');
|
||||
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>?/gi,
|
||||
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
|
||||
return str.replace(commentsAndPhpTags, '').replace(tags, function($0, $1) {
|
||||
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
|
||||
});
|
||||
};
|
||||
//オブジェクトパーサー(トゥート)
|
||||
function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var templete = '';
|
||||
@@ -55,6 +77,13 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}else{
|
||||
wordmute = mutefilter;
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
if(tickerck){
|
||||
var ticker=true;
|
||||
}else{
|
||||
var ticker=false;
|
||||
}
|
||||
if (!sent) {
|
||||
var sent = 500;
|
||||
}
|
||||
@@ -127,7 +156,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var toot = obj[key];
|
||||
var dis_name=toot.user.name;
|
||||
if(dis_name){
|
||||
dis_name=escapeHTML(dis_name);
|
||||
dis_name=escapeHTMLtemp(dis_name);
|
||||
}else{
|
||||
disname="";
|
||||
}
|
||||
@@ -143,17 +172,17 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.user.username +
|
||||
'"></a>';
|
||||
if (toot.type == "reply") {
|
||||
var what = lang_parse_mentioned[lang];
|
||||
var what = lang.lang_parse_mentioned;
|
||||
var icon = '<i class="big-text fa fa-share teal-text"></i>';
|
||||
noticeavatar="";
|
||||
} else if (toot.type == "renote") {
|
||||
var what = lang_misskeyparse_renoted[lang];
|
||||
var what = lang.lang_misskeyparse_renoted;
|
||||
var icon = '<i class="big-text fa fa-retweet light-blue-text"></i>';
|
||||
} else if (toot.type == "quote") {
|
||||
var what = lang_misskeyparse_quoted[lang];
|
||||
var what = lang.lang_misskeyparse_quoted;
|
||||
var icon = '<i class="big-text fa fa-quote-right orange-text"></i>';
|
||||
} else if (toot.type == "reaction") {
|
||||
var what = lang_misskeyparse_reaction[lang];
|
||||
var what = lang.lang_misskeyparse_reacted;
|
||||
var reactions={
|
||||
"like":"👍",
|
||||
"love":"💓",
|
||||
@@ -185,7 +214,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var icon = '<i class="big-text material-icons indigo-text" style="font-size:17px">info</i>';
|
||||
}
|
||||
var noticetext = '<span class="cbadge cbadge-hover"title="' + date(toot.createdAt,
|
||||
'absolute') + '('+lang_parse_notftime[lang]+')"><i class="fa fa-clock-o"></i>' + date(toot.createdAt,
|
||||
'absolute') + '('+lang.lang_parse_notftime+')"><i class="fa fa-clock-o"></i>' + date(toot.createdAt,
|
||||
datetype) +
|
||||
'</span>'+icon+'<a onclick="udg(\'' + toot.user.username +
|
||||
'\',\'' + acct_id + '\')" class="pointer grey-text">' + dis_name +
|
||||
@@ -214,14 +243,14 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if(popup>0){
|
||||
Materialize.toast("["+domain+"]"+escapeHTML(toot.user.name)+what, popup * 1000);
|
||||
Materialize.toast("["+domain+"]"+escapeHTMLtemp(toot.user.name)+what, popup * 1000);
|
||||
}
|
||||
if(native=="yes"){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: toot.account.display_name+"(" + toot.account.acct +")"+what+"\n\n"+$.strip_tags(toot.status.content),
|
||||
body: toot.account.display_name+"(" + toot.account.acct +")"+what+"\n\n"+$.strip_tagstemp(toot.status.content),
|
||||
icon: toot.account.avatar
|
||||
};
|
||||
if(os=="darwin"){
|
||||
@@ -229,7 +258,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}else{
|
||||
ipc.send('native-notf', [
|
||||
'TheDesk:'+domain,
|
||||
toot.account.display_name+"(" + toot.account.acct +")"+what+"\n\n"+$.strip_tags(toot.status.content),
|
||||
toot.account.display_name+"(" + toot.account.acct +")"+what+"\n\n"+$.strip_tagstemp(toot.status.content),
|
||||
toot.account.avatar,
|
||||
"toot",
|
||||
acct_id,
|
||||
@@ -245,18 +274,18 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
var if_notf='data-notfIndv="'+acct_id+"_"+toot.id+'"';
|
||||
var toot = toot.note;
|
||||
var dis_name=escapeHTML(toot.user.name);
|
||||
var dis_name=escapeHTMLtemp(toot.user.name);
|
||||
}else{
|
||||
var if_notf="";
|
||||
if (toot.renote) {
|
||||
var rebtxt = lang_parse_btedsimple[lang];
|
||||
var rebtxt = lang.lang_parse_btedsimple;
|
||||
var rticon = "fa-retweet light-blue-text";
|
||||
var notice = '<i class="big-text fa '+rticon+'"></i>'+ dis_name + "(@" + toot.user.username +
|
||||
")<br>";
|
||||
var boostback = "shared";
|
||||
var uniqueid=toot.id;
|
||||
var toot = toot.renote;
|
||||
var dis_name=escapeHTML(toot.user.name);
|
||||
var dis_name=escapeHTMLtemp(toot.user.name);
|
||||
var uniqueid=toot.id;
|
||||
var actemojick=false
|
||||
} else {
|
||||
@@ -320,27 +349,27 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
if ((toot.cw || toot.cw=="") && cw) {
|
||||
var content = toot.text;
|
||||
var spoil = escapeHTML(toot.cw);
|
||||
var spoil = escapeHTMLtemp(toot.cw);
|
||||
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_parse_cwshow[lang]+'</a><br>';
|
||||
'\')" class="nex parsed">'+lang.lang_parse_cwshow+'</a><br>';
|
||||
} else {
|
||||
var ct1 = nl2br(toot.text).split('<br />').length -2;
|
||||
var ct2 = nl2br(toot.text).split('<br>').length -2;
|
||||
if(ct1>ct2){ var ct= ct1; }else{ var ct= ct2; }
|
||||
if ((sent < ct && $.mb_strlen($.strip_tags(toot.text)) > 5) || ($.strip_tags(toot.text).length > ltr && $.mb_strlen($.strip_tags(toot.text)) > 5)) {
|
||||
var content = '<span class="gray">'+lang_parse_fulltext[lang]+'</span><br>' + escapeHTML(toot.text)
|
||||
var spoil = '<span class="cw-long-' + toot.id + '">' + $.mb_substr($.strip_tags(
|
||||
if ((sent < ct && $.mb_strlen($.strip_tagstemp(toot.text)) > 5) || ($.strip_tagstemp(toot.text).length > ltr && $.mb_strlen($.strip_tagstemp(toot.text)) > 5)) {
|
||||
var content = '<span class="gray">'+lang.lang_parse_fulltext+'</span><br>' + escapeHTMLtemp(toot.text)
|
||||
var spoil = '<span class="cw-long-' + toot.id + '">' + $.mb_substr($.strip_tagstemp(
|
||||
toot.text), 0, 100) +
|
||||
'</span><span class="gray">'+lang_parse_autofold[lang]+'</span>';
|
||||
'</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_parse_more[lang]+'</a><br>';
|
||||
'\')" class="nex parsed">'+lang.lang_parse_more+'</a><br>';
|
||||
} else {
|
||||
var content = escapeHTML(toot.text);
|
||||
var content = escapeHTMLtemp(toot.text);
|
||||
if(toot.cw){
|
||||
var spoil = escapeHTML(toot.cw);
|
||||
var spoil = escapeHTMLtemp(toot.cw);
|
||||
}else{
|
||||
var spoil="";
|
||||
}
|
||||
@@ -350,12 +379,12 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
}
|
||||
var analyze = '';
|
||||
var urls = $.strip_tags(content).replace(/\n/g, " ").match(
|
||||
var urls = $.strip_tagstemp(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_parse_url[lang]+'</a><br>';
|
||||
',\'' + id + '\')" class="add-show pointer">'+lang.lang_parse_url+'</a><br>';
|
||||
} else {
|
||||
var analyze = '';
|
||||
}
|
||||
@@ -431,7 +460,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
'" data-type="video" class="img-parsed"><video src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="max-width:100%; height:'+imh+'px;"></a></span>';
|
||||
' toot-img pointer" style="max-width:100%;"></a></span>';
|
||||
}else{
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
|
||||
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
@@ -460,8 +489,8 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
Object.keys(toot.tags).forEach(function(key4) {
|
||||
var tag = toot.tags[key4];
|
||||
var tags = '<a onclick="tagShow(\'' + tag + '\')" class="pointer parsed">#' + tag + '</a><span class="hide" data-tag="' + tag + '">#' + tag + ':<a onclick="tl(\'tag\',\'' + tag + '\',' + acct_id +
|
||||
',\'add\')" class="pointer parsed" title="' +lang_parse_tagTL[lang].replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer parsed" title="' + lang_parse_tagtoot[lang].replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
|
||||
'<a onclick="tagPin(\'' + tag + '\')" class="pointer parsed" title="' +lang_parse_tagpin[lang].replace("{{tag}}" ,'#'+tag)+ '">Pin</a></span> ';
|
||||
',\'add\')" class="pointer parsed" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer parsed" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
|
||||
'<a onclick="tagPin(\'' + tag + '\')" class="pointer parsed" title="' +lang.lang_parse_tagpin.replace("{{tag}}" ,'#'+tag)+ '">Pin</a></span> ';
|
||||
content=content.replace("#"+tag,tags);
|
||||
});
|
||||
//tags = '<div style="float:right">' + tags + '</div>';
|
||||
@@ -471,23 +500,23 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var visen = toot.visibility;
|
||||
if (visen == "public") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons gray sml vis-data pointer" title="'+lang_parse_public[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="public" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">public</i>';
|
||||
'<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 == "home") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="'+lang_misskeyparse_home[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock_open</i>';
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="'+lang.lang_misskeyparse_home+'('+lang.lang_parse_clickcopy+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock_open</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "followers") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="'+lang_misskeyparse_followers[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">people</i>';
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="'+lang.lang_misskeyparse_followers+'('+lang.lang_parse_clickcopy+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">people</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "private") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="'+lang_parse_private[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="private" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock</i>';
|
||||
'<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 = "";
|
||||
} else if (visen == "specified") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="'+lang_misskeyparse_specified[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="direct" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">mail</i>';
|
||||
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="'+lang.lang_misskeyparse_specified+'('+lang.lang_parse_clickcopy+')" data-vis="direct" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">mail</i>';
|
||||
var can_rt = "hide";
|
||||
}
|
||||
if (toot.user.username == localStorage.getItem("user_" + acct_id)) {
|
||||
@@ -528,7 +557,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var word=worde
|
||||
}
|
||||
var regExp = new RegExp( word, "g" ) ;
|
||||
if($.strip_tags(content).match(regExp)){
|
||||
if($.strip_tagstemp(content).match(regExp)){
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
}
|
||||
@@ -545,6 +574,23 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
});
|
||||
}
|
||||
//Ticker
|
||||
var tickerdom="";
|
||||
if(ticker){
|
||||
var tickerdata=JSON.parse(localStorage.getItem("ticker"));
|
||||
|
||||
var thisdomain=toot.user.username.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
//Poll
|
||||
var poll="";
|
||||
if(toot.poll){
|
||||
@@ -657,10 +703,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
toot.user.username + '</span></div>' +
|
||||
'<div class="flex-time"><span class="cbadge cbadge-hover pointer waves-effect" onclick="tootUriCopy(\'https://' +domain+"/notes/"+
|
||||
toot.id + '\');" title="' + date(toot.createdAt, 'absolute') +
|
||||
'('+lang_parse_clickcopyurl[lang]+')"><i class="fa fa-clock-o"></i>' +
|
||||
'('+lang.lang_parse_clickcopyurl+')"><i class="fa fa-clock-o"></i>' +
|
||||
date(toot.createdAt, datetype) + '</span>' +
|
||||
'</div></div>' +
|
||||
'<div class="area-toot"><span class="toot ' + spoiler + '">' + content +
|
||||
'<div class="area-toot">'+tickerdom+'<span class="toot ' + spoiler + '">' + content +
|
||||
'</span><span class="' +
|
||||
api_spoil + ' cw_text_' + toot.id + '">' + spoil + spoiler_show +
|
||||
'</span>' +
|
||||
@@ -688,31 +734,31 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'<div class="area-vis"></div>'+
|
||||
'<div class="area-actions '+mouseover+'">' +
|
||||
'<div class="action">'+vis+'</div>'+
|
||||
'<div class="action '+antinoauth+'"><a onclick="detEx(\'https://misskey.xyz/notes/'+toot.id+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang_parse_det[lang]+'</a></div>' +
|
||||
'<div class="action '+antinoauth+'"><a onclick="detEx(\'https://misskey.xyz/notes/'+toot.id+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang.lang_parse_det+'</a></div>' +
|
||||
'<div class="action '+disp["re"]+' '+noauth+'"><a onclick="misskeyreply(\'' + toot.id +
|
||||
'\',\'' + acct_id + '\',' +
|
||||
acct_id + ',\''+visen+
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_replyto[lang]+'"><i class="fa fa-share"></i></a></div>' +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_replyto+'"><i class="fa fa-share"></i></a></div>' +
|
||||
'<div class="action '+can_rt+' '+disp["rt"]+' '+noauth+'"><a onclick="renote(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_misskeyparse_renote[lang]+'"><i class="text-darken-3 fa fa-retweet ' +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_misskeyparse_renote+'"><i class="text-darken-3 fa fa-retweet ' +
|
||||
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct"></span></a></div>' +
|
||||
'<div class="action '+can_rt+' '+disp["qt"]+' '+noauth+'"><a onclick="renoteqt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'misskey.xyz\',\'misskey.xyz\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_misskeyparse_renoteqt[lang]+'"><i class="text-darken-3 fa fa-quote-right"></i></a></div>' +
|
||||
',\'misskey.xyz\',\'misskey.xyz\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_misskeyparse_renoteqt+'"><i class="text-darken-3 fa fa-quote-right"></i></a></div>' +
|
||||
'<div class="action '+disp["fav"]+' '+noauth+'"><a onclick="reactiontoggle(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_misskeyparse_reaction[lang]+'"><i class="fa text-darken-3 fa-plus' +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_misskeyparse_reaction+'"><i class="fa text-darken-3 fa-plus' +
|
||||
if_fav + ' fav_' + toot.id + '"></i></div>' +
|
||||
'<div class="' + if_mine + ' action '+disp["del"]+' '+noauth+'"><a onclick="del(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_del[lang]+'"><i class="fa fa-trash-o"></i></a></div>' +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_del+'"><i class="fa fa-trash-o"></i></a></div>' +
|
||||
'<div class="' + if_mine + ' action pin '+disp["pin"]+' '+noauth+'"><a onclick="pin(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_pin[lang]+'"><i class="fa fa-map-pin pin_' + toot.id + '"></i></a></div>'
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_pin+'"><i class="fa fa-map-pin pin_' + toot.id + '"></i></a></div>'
|
||||
+'<div class="' + if_mine + ' action '+disp["red"]+' '+noauth+'"><a onclick="redraft(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_redraft[lang]+'"><i class="material-icons">redo</i></a></div>'+trans+
|
||||
'<span class="cbadge viabadge waves-effect '+viashow+' '+mine_via+'" onclick="client(\''+$.strip_tags(via)+'\')" title="via ' + $.strip_tags(via) + '">via ' +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_redraft+'"><i class="material-icons">redo</i></a></div>'+trans+
|
||||
'<span class="cbadge viabadge waves-effect '+viashow+' '+mine_via+'" onclick="client(\''+$.strip_tagstemp(via)+'\')" title="via ' + $.strip_tagstemp(via) + '">via ' +
|
||||
via +
|
||||
'</span>'+
|
||||
'</div><div class="area-side '+mouseover+'"><div class="action ' + if_mine + ' '+noauth+'"><a onclick="toggleAction(\'' + toot.id + '\',\''+tlid+'\',\''+acct_id+'\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
|
||||
@@ -742,10 +788,10 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
} else {
|
||||
var auth = "";
|
||||
}
|
||||
var ftxt=lang_parse_followed[lang];
|
||||
var ftxt=lang.lang_parse_followed;
|
||||
if(popup > 0 || popup==-1){
|
||||
var notftext='<span class="cbadge"title="' + date(toot.createdAt,
|
||||
'absolute') + '('+lang_parse_notftime[lang]+')"><i class="fa fa-clock-o"></i>' + date(toot.createdAt,
|
||||
'absolute') + '('+lang.lang_parse_notftime+')"><i class="fa fa-clock-o"></i>' + date(toot.createdAt,
|
||||
datetype) +
|
||||
'</span>'+ftxt+'<br>';
|
||||
var toot = toot.user;
|
||||
@@ -754,7 +800,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
var memory = localStorage.getItem("notice-mem");
|
||||
if (popup >= 0 && obj.length < 5 && notftext != memory) {
|
||||
Materialize.toast(escapeHTML(toot.name)+":"+ftxt, popup * 1000);
|
||||
Materialize.toast(escapeHTMLtemp(toot.name)+":"+ftxt, popup * 1000);
|
||||
$(".notf-icon_" + tlid).addClass("red-text");
|
||||
localStorage.setItem("notice-mem", notftext);
|
||||
notftext = "";
|
||||
@@ -786,7 +832,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
}
|
||||
if(toot.name){
|
||||
var dis_name=escapeHTML(toot.name);
|
||||
var dis_name=escapeHTMLtemp(toot.name);
|
||||
dis_name=twemoji.parse(dis_name);
|
||||
}else{
|
||||
var dis_name=toot.name;
|
||||
|
@@ -1,6 +1,13 @@
|
||||
//通知
|
||||
//取得+Streaming接続
|
||||
function notf(acct_id, tlid, sys) {
|
||||
function notf(acct_id, tlid, sys){
|
||||
if (sys == "direct") {
|
||||
notfColumn(acct_id, tlid, sys)
|
||||
} else {
|
||||
notfCommon(acct_id, tlid, sys)
|
||||
}
|
||||
}
|
||||
function notfColumn(acct_id, tlid, sys){
|
||||
todo("Notifications Loading...");
|
||||
var native=localStorage.getItem("nativenotf");
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
@@ -22,7 +29,12 @@ function notf(acct_id, tlid, sys) {
|
||||
}
|
||||
}else{
|
||||
var misskey=false;
|
||||
var start = "https://" + domain + "/api/v1/notifications";
|
||||
if(localStorage.getItem("exclude-"+tlid)){
|
||||
var exc=localStorage.getItem("exclude-"+tlid);
|
||||
}else{
|
||||
var exc="";
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/notifications"+exc;
|
||||
var i={
|
||||
method: 'GET',
|
||||
headers: {
|
||||
@@ -32,6 +44,7 @@ function notf(acct_id, tlid, sys) {
|
||||
}
|
||||
}
|
||||
fetch(start, i).then(function(response) {
|
||||
console.log(response.headers.get('link'));
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
todo(error);
|
||||
@@ -82,12 +95,177 @@ function notf(acct_id, tlid, sys) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
if (sys == "direct") {
|
||||
$("#timeline_" + tlid).html(templete);
|
||||
} else {
|
||||
$("div[data-notf=" + acct_id +"]").html(templete);
|
||||
$("#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)
|
||||
}else{
|
||||
var wss="wss://"+domain
|
||||
}
|
||||
var start = wss + "/api/v1/streaming/?stream=user&access_token=" +
|
||||
at;
|
||||
}else{
|
||||
var start = "wss://" + domain + "/?i=" +
|
||||
at;
|
||||
}
|
||||
|
||||
console.log(start);
|
||||
var wsid = websocketNotf.length;
|
||||
websocketNotf[acct_id] = new WebSocket(start);
|
||||
console.log(websocketNotf);
|
||||
websocketNotf[acct_id].onopen = function(mess) {
|
||||
console.log("Connect Streaming API(Notf):");
|
||||
console.log(mess);
|
||||
$("i[data-notf=" + acct_id +"]").removeClass("red-text");
|
||||
|
||||
}
|
||||
websocketNotf[acct_id].onmessage = function(mess) {
|
||||
console.log("Receive Streaming API(Notf):"+acct_id);
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
popup = 0;
|
||||
}
|
||||
console.log(domain)
|
||||
if(misskey){
|
||||
console.log("misskey")
|
||||
console.log(JSON.parse(mess.data));
|
||||
if (JSON.parse(mess.data).type == "notification") {
|
||||
var obj = JSON.parse(mess.data).body;
|
||||
console.log(obj);
|
||||
if(obj.type!="follow"){
|
||||
|
||||
templete = misskeyParse([obj], 'notf', acct_id, 'notf', popup);
|
||||
}else{
|
||||
templete = misskeyUserparse([obj], 'notf', acct_id, 'notf', popup);
|
||||
}
|
||||
if(obj.type=="reaction"){
|
||||
console.log("refresh")
|
||||
reactRefresh(acct_id,obj.note.id)
|
||||
}
|
||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
||||
$("div[data-notf=" + acct_id +"]").prepend(templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
}else if(JSON.parse(mess.data).type == "note-updated"){
|
||||
var obj = JSON.parse(mess.data).body.note;
|
||||
reactRefreshCore(obj)
|
||||
}
|
||||
}else{
|
||||
var obj = JSON.parse(JSON.parse(mess.data).payload);
|
||||
console.log(obj);
|
||||
var type = JSON.parse(mess.data).event;
|
||||
if (type == "notification") {
|
||||
var templete="";
|
||||
localStorage.setItem("lastnotf_" + acct_id,obj.id);
|
||||
if(obj.type!="follow"){
|
||||
templete = parse([obj], 'notf', acct_id, 'notf', popup);
|
||||
}else{
|
||||
templete = userparse([obj], 'notf', acct_id, 'notf', popup);
|
||||
}
|
||||
if(!$("div[data-notfIndv=" + acct_id +"_"+obj.id+"]").length){
|
||||
$(".tl[data-notf=" + acct_id +"]").prepend(templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
} else if (type == "delete") {
|
||||
$("[toot-id=" + obj + "]").hide();
|
||||
$("[toot-id=" + obj + "]").remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
websocketNotf[acct_id].onerror = function(error) {
|
||||
console.error('WebSocket Error ' + error);
|
||||
};
|
||||
}
|
||||
function notfCommon(acct_id, tlid, sys) {
|
||||
todo("Notifications Loading...");
|
||||
var native=localStorage.getItem("nativenotf");
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
if(!native){
|
||||
native="yes";
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
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
|
||||
})
|
||||
}
|
||||
}else{
|
||||
var misskey=false;
|
||||
var start = "https://" + domain + "/api/v1/notifications";
|
||||
var i={
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
$("div[data-notf=" + acct_id +"]").html(templete);
|
||||
$("#landing_" + tlid).hide();
|
||||
jQuery("time.timeago").timeago();
|
||||
}
|
||||
|
@@ -66,7 +66,15 @@ function parse(obj, mix, acct_id, tlid, popup, 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) {
|
||||
@@ -175,24 +183,24 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.account.acct +
|
||||
'"></a>';
|
||||
if (toot.type == "mention") {
|
||||
var what = lang_parse_mentioned[lang];
|
||||
var what = lang.lang_parse_mentioned;
|
||||
var icon = "fa-share teal-text";
|
||||
noticeavatar="";
|
||||
} else if (toot.type == "reblog") {
|
||||
var what = lang_parse_bted[lang];
|
||||
var what = lang.lang_parse_bted;
|
||||
var icon = "fa-retweet light-blue-text";
|
||||
if(!locale && localStorage.getItem("bt_" + acct_id)){
|
||||
what = localStorage.getItem("bt_" + acct_id);
|
||||
}
|
||||
} else if (toot.type == "favourite") {
|
||||
var what = lang_parse_faved[lang];
|
||||
var what = lang.lang_parse_faved;
|
||||
var icon = "fa-star yellow-text";
|
||||
if(!locale && localStorage.getItem("fav_" + acct_id)){
|
||||
what = localStorage.getItem("fav_" + acct_id);
|
||||
}
|
||||
}
|
||||
var noticetext = '<span class="cbadge cbadge-hover"title="' + date(toot.created_at,
|
||||
'absolute') + '('+lang_parse_notftime[lang]+')"><i class="fa fa-clock-o"></i>' + date(toot.created_at,
|
||||
'absolute') + '('+lang.lang_parse_notftime+')"><i class="fa fa-clock-o"></i>' + date(toot.created_at,
|
||||
datetype) +
|
||||
'</span><i class="big-text fa '+icon+'"></i><a onclick="udg(\'' + toot.account.id +
|
||||
'\',\'' + acct_id + '\')" class="pointer grey-text">' + dis_name +
|
||||
@@ -283,7 +291,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'<img src="' + noticeavatar +
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.account.acct +
|
||||
'"></a>';
|
||||
var rebtxt = lang_parse_btedsimple[lang];
|
||||
var rebtxt = lang.lang_parse_btedsimple;
|
||||
var rticon = "fa-retweet light-blue-text";
|
||||
if(localStorage.getItem("domain_" + acct_id)=="imastodon.net" && !locale){
|
||||
rebtxt = ":「わかるわ」";
|
||||
@@ -348,7 +356,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var locked = "";
|
||||
}
|
||||
if (!toot.application) {
|
||||
var via = '<span style="font-style: italic;">Unknown</span>';
|
||||
var via = '';
|
||||
} else {
|
||||
var via = toot.application.name;
|
||||
//強調チェック
|
||||
@@ -372,19 +380,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
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_parse_cwshow[lang]+'</a><br>';
|
||||
'\')" 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_parse_fulltext[lang]+'</span><br>' + toot.content
|
||||
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_parse_autofold[lang]+'</span>';
|
||||
'</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_parse_more[lang]+'</a><br>';
|
||||
'\')" class="nex parsed">'+lang.lang_parse_more+'</a><br>';
|
||||
} else {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
@@ -397,7 +405,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
);
|
||||
if (urls) {
|
||||
var analyze = '<a onclick="additionalIndv(\'' + tlid + '\',' + acct_id +
|
||||
',\'' + id + '\')" class="add-show pointer">'+lang_parse_url[lang]+'</a><br>';
|
||||
',\'' + id + '\')" class="add-show pointer">'+lang.lang_parse_url+'</a><br>';
|
||||
} else {
|
||||
var analyze = '';
|
||||
}
|
||||
@@ -499,8 +507,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
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_parse_tagTL[lang].replace("{{tag}}" ,'#'+tag.name)+ '">TL</a> <a onclick="brInsert(\'#' + tag.name + '\')" class="pointer" title="' + lang_parse_tagtoot[lang].replace("{{tag}}" ,'#'+tag.name) + '">Toot</a> '+
|
||||
'<a onclick="tagPin(\'' + tag.name + '\')" class="pointer" title="' +lang_parse_tagpin[lang].replace("{{tag}}" ,'#'+tag.name)+ '">Pin</a></span> ';
|
||||
',\'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>';
|
||||
}
|
||||
@@ -518,19 +526,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var visen = toot.visibility;
|
||||
if (visen == "public") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons gray sml vis-data pointer" title="'+lang_parse_public[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="public" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">public</i>';
|
||||
'<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_parse_unlisted[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="unlisted" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock_open</i>';
|
||||
'<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_parse_private[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="private" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">lock</i>';
|
||||
'<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_parse_direct[lang]+'('+lang_parse_clickcopy[lang]+')" data-vis="direct" onclick="staCopy(\''+id+'\')" style="font-size:1rem;">mail</i>';
|
||||
'<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)) {
|
||||
@@ -597,10 +605,46 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
//日本語じゃない
|
||||
if(toot.language!="ja"){
|
||||
var trans='<div class="action pin"><a onclick="trans(\''+toot.language+'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_trans[lang]+'"><i class="material-icons">g_translate</i></a></div>';
|
||||
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=JSON.parse(localStorage.getItem("ticker"));
|
||||
|
||||
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[
|
||||
@@ -618,11 +662,11 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
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_parse_clickcopyurl[lang]+')"><i class="fa fa-clock-o"></i>' +
|
||||
'('+lang.lang_parse_clickcopyurl+')"><i class="fa fa-clock-o"></i>' +
|
||||
date(toot.created_at, datetype) + '</span>' +
|
||||
'</div></div>' +
|
||||
'<div class="area-toot"><span class="' +
|
||||
api_spoil + ' cw_text_' + toot.id + '">' + spoil + spoiler_show +
|
||||
'<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 + '' +
|
||||
@@ -632,34 +676,34 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'<div class="area-vis"></div>'+
|
||||
'<div class="area-actions '+mouseover+'">' +
|
||||
'<div class="action">'+vis+'</div>'+
|
||||
'<div class="action '+antinoauth+'"><a onclick="detEx(\''+toot.url+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang_parse_det[lang]+'</a></div>' +
|
||||
'<div class="action '+antinoauth+'"><a onclick="detEx(\''+toot.url+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang.lang_parse_det+'</a></div>' +
|
||||
'<div class="action '+disp["re"]+' '+noauth+'"><a onclick="re(\'' + toot.id +
|
||||
'\',\'' + toot.account.acct + '\',' +
|
||||
acct_id + ',\''+visen+
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_replyto[lang]+'"><i class="fa fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_replyto+'"><i class="fa fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'</a></span></a></div>' +
|
||||
'<div class="action '+can_rt+' '+disp["rt"]+' '+noauth+'"><a onclick="rt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_bt[lang]+'"><i class="text-darken-3 fa fa-retweet ' +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_bt+'"><i class="text-darken-3 fa fa-retweet ' +
|
||||
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct">' + toot.reblogs_count +
|
||||
'</span></a></div>' +
|
||||
'<div class="action '+can_rt+' '+disp["qt"]+' '+noauth+'"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + toot.account.acct +'\',\''+toot.url+
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_quote[lang]+'"><i class="text-darken-3 fa fa-quote-right"></i></a></div>' +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_quote+'"><i class="text-darken-3 fa fa-quote-right"></i></a></div>' +
|
||||
'<div class="action '+disp["fav"]+' '+noauth+'"><a onclick="fav(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_fav[lang]+'"><i class="fa text-darken-3 fa-star' +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_fav+'"><i class="fa text-darken-3 fa-star' +
|
||||
if_fav + ' fav_' + toot.id + '"></i><span class="fav_ct">' + toot.favourites_count +
|
||||
'</a></span></div>' +
|
||||
'<div class="' + if_mine + ' action '+disp["del"]+' '+noauth+'"><a onclick="del(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_del[lang]+'"><i class="fa fa-trash-o"></i></a></div>' +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_del+'"><i class="fa fa-trash-o"></i></a></div>' +
|
||||
'<div class="' + if_mine + ' action pin '+disp["pin"]+' '+noauth+'"><a onclick="pin(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_pin[lang]+'"><i class="fa fa-map-pin pin_' + toot.id + ' '+if_pin+'"></i></a></div>'
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_pin+'"><i class="fa fa-map-pin pin_' + toot.id + ' '+if_pin+'"></i></a></div>'
|
||||
+'<div class="' + if_mine + ' action '+disp["red"]+' '+noauth+'"><a onclick="redraft(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang_parse_redraft[lang]+'"><i class="material-icons">redo</i></a></div>'+trans+
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="'+lang.lang_parse_redraft+'"><i class="material-icons">redo</i></a></div>'+trans+
|
||||
'<span class="cbadge viabadge waves-effect '+viashow+' '+mine_via+'" onclick="client(\''+$.strip_tags(via)+'\')" title="via ' + $.strip_tags(via) + '">via ' +
|
||||
via +
|
||||
'</span>'+
|
||||
@@ -705,7 +749,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
} else {
|
||||
var auth = "";
|
||||
}
|
||||
var ftxt=lang_parse_followed[lang];
|
||||
var ftxt=lang.lang_parse_followed;
|
||||
if(!locale && localStorage.getItem("follow_" + acct_id)){
|
||||
ftxt = localStorage.getItem("follow_" + acct_id);
|
||||
}
|
||||
@@ -813,9 +857,9 @@ function client(name) {
|
||||
var dialog=remote.dialog;
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: lang_parse_clientop[lang],
|
||||
message: name+lang_parse_clienttxt[lang],
|
||||
buttons: [lang_parse_clientno[lang],lang_parse_clientemp[lang], lang_parse_clientmute[lang]]
|
||||
title: lang.lang_parse_clientop,
|
||||
message: name+lang.lang_parse_clienttxt,
|
||||
buttons: [lang.lang_parse_clientno,lang.lang_parse_clientemp, lang.lang_parse_clientmute]
|
||||
}
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
if(arg==1){
|
||||
@@ -824,7 +868,7 @@ function client(name) {
|
||||
if(!obj){
|
||||
var obj=[];
|
||||
obj.push(name);
|
||||
Materialize.toast(name+lang_status_emphas[lang], 2000);
|
||||
Materialize.toast(name+lang.lang_status_emphas, 2000);
|
||||
}else{
|
||||
var can;
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
@@ -834,12 +878,12 @@ function client(name) {
|
||||
}else{
|
||||
can=true;
|
||||
obj.splice(key, 1);
|
||||
Materialize.toast(name+lang_status_unemphas[lang], 2000);
|
||||
Materialize.toast(name+lang.lang_status_unemphas, 2000);
|
||||
}
|
||||
});
|
||||
if(!can){
|
||||
obj.push(name);
|
||||
Materialize.toast(name+lang_status_emphas[lang], 2000);
|
||||
Materialize.toast(name+lang.lang_status_emphas, 2000);
|
||||
}else{
|
||||
|
||||
}
|
||||
@@ -855,7 +899,7 @@ function client(name) {
|
||||
obj.push(name);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
Materialize.toast(name+lang_parse_mute[lang], 2000);
|
||||
Materialize.toast(name+lang.lang_parse_mute, 2000);
|
||||
}else{
|
||||
return;
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
$voise = null;
|
||||
$voiseName = lang_speech[lang];
|
||||
$voiseName = lang.lang_speech;
|
||||
$voices = speechSynthesis.getVoices();
|
||||
$synthes = new SpeechSynthesisUtterance();
|
||||
$voise = $.grep($voices, function(n, i){return n.name == $voiseName})[0];
|
||||
@@ -91,7 +91,7 @@ function voiceSettings(){
|
||||
localStorage.setItem("voice_speed", $("#voicespeed").val()/10);
|
||||
localStorage.setItem("voice_pitch", $("#voicepitch").val()/50);
|
||||
localStorage.setItem("voice_vol", $("#voicevol").val()/100);
|
||||
Materialize.toast(lang_speech_refresh[lang], 3000);
|
||||
Materialize.toast(lang.lang_speech_refresh, 3000);
|
||||
}
|
||||
function voiceSettingLoad(){
|
||||
var speed=localStorage.getItem("voice_speed");
|
||||
|
@@ -98,9 +98,9 @@ function tootsearch(q){
|
||||
}
|
||||
});
|
||||
if(!templete){
|
||||
templete=lang_details_nodata[lang];
|
||||
templete=lang.lang_details_nodata;
|
||||
}
|
||||
$("#src-contents").html("Tootsearch("+lang_src_ts[lang]+")<br>" + templete);
|
||||
$("#src-contents").html("Tootsearch("+lang.lang_src_ts+")<br>" + templete);
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
}
|
||||
@@ -119,12 +119,12 @@ function graphDraw(tag){
|
||||
if(max==0){
|
||||
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+
|
||||
'</svg><span style="font-size:200%">'+his[0].uses+'</span>toots <a onclick="tl(\'tag\',\'' + tag.name + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang_src_people[lang];
|
||||
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang.lang_src_people;
|
||||
}else{
|
||||
tags = '<br><br><svg version="1.1" viewbox="0 0 60 50" width="60" height="50">'+
|
||||
'<g><path d="M0,'+six+' L10,'+five+' 20,'+four+' 30,'+three+' 40,'+two+' 50,'+one+' 60,'+zero+'" style="stroke: #9e9e9e; stroke-width: 1;fill: none;"></path></g>'+
|
||||
'</svg><span style="font-size:200%">'+his[0].uses+'</span>toots <a onclick="tl(\'tag\',\'' + tag.name + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang_src_people[lang];
|
||||
'\',\'add\')" class="pointer">#' + tag.name + '</a> '+his[0].accounts+lang.lang_src_people;
|
||||
}
|
||||
|
||||
return tags;
|
||||
|
@@ -56,8 +56,8 @@ function favTag(){
|
||||
var tags="";
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var tag = obj[key];
|
||||
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a><span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="' +lang_parse_tagTL[lang].replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer" title="' + lang_parse_tagtoot[lang].replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
|
||||
'<a onclick="autoToot(\'#' + tag + ' \');brInsert(\'#' + tag + ' \')" class="pointer" title="'+lang_tags_always[lang] + lang_parse_tagtoot[lang].replace("{{tag}}" ,'#'+tag) + '">'+lang_tags_realtime[lang]+'</a> <a onclick="tagRemove(\'' + key + '\')" class="pointer" title="' +lang_tags_tagunpin[lang].replace("{{tag}}" ,'#'+tag)+ '">'+lang_del[lang]+'</a></span> ';
|
||||
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a><span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
|
||||
'<a onclick="autoToot(\'#' + tag + ' \');brInsert(\'#' + tag + ' \')" class="pointer" title="'+lang.lang_tags_always + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">'+lang.lang_tags_realtime+'</a> <a onclick="tagRemove(\'' + key + '\')" class="pointer" title="' +lang.lang_tags_tagunpin.replace("{{tag}}" ,'#'+tag)+ '">'+lang.lang_del+'</a></span> ';
|
||||
});
|
||||
if(obj.length>0){
|
||||
$("#taglist").append("My Tags:" + tags);
|
||||
@@ -107,5 +107,5 @@ function tagTL(a,b,c,d){
|
||||
}
|
||||
function autoToot(tag){
|
||||
localStorage.setItem("stable",tag);
|
||||
Materialize.toast(lang_tags_tagwarn[lang].replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
|
||||
Materialize.toast(lang.lang_tags_tagwarn +replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
|
||||
}
|
@@ -47,7 +47,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
return;
|
||||
}else if (type == "notf") {
|
||||
//通知なら飛ばす
|
||||
//notf(acct_id, tlid, 'direct');
|
||||
notf(acct_id, tlid, 'direct');
|
||||
$("#notice_" + tlid).text(cap(type, data, acct_id) + "(" + localStorage.getItem(
|
||||
"user_" + acct_id) + "@" + domain + ")");
|
||||
$("#notice_icon_" + tlid).text("notifications");
|
||||
@@ -271,7 +271,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
$("[toot-id=" + JSON.parse(mess.data).payload + "]").remove();
|
||||
}
|
||||
|
||||
} else if (typeA == "update") {
|
||||
} else if (typeA == "update" || typeA == "conversation") {
|
||||
localStorage.removeItem("delete");
|
||||
var obj = JSON.parse(JSON.parse(mess.data).payload);
|
||||
console.log(obj);
|
||||
@@ -508,7 +508,7 @@ function cap(type, data, acct_id) {
|
||||
}
|
||||
} else if (type == "local-media") {
|
||||
if(localStorage.getItem("local_" + acct_id) && !locale){
|
||||
var response=localStorage.getItem("local_" + acct_id)+"("+lang_tl_media[lang]+")";
|
||||
var response=localStorage.getItem("local_" + acct_id)+"("+lang.lang_tl_media +")";
|
||||
}else{
|
||||
var response="Local TL(Media)";
|
||||
}
|
||||
@@ -520,7 +520,7 @@ function cap(type, data, acct_id) {
|
||||
}
|
||||
} else if (type == "pub-media") {
|
||||
if(localStorage.getItem("public_" + acct_id) && !locale){
|
||||
var response=localStorage.getItem("public_" + acct_id)+"("+lang_tl_media[lang]+")";
|
||||
var response=localStorage.getItem("public_" + acct_id)+"("+lang.lang_tl_media +")";
|
||||
}else{
|
||||
var response="Federated TL(Media)";
|
||||
}
|
||||
@@ -670,7 +670,7 @@ function reconnector(tlid,type,acct_id,data,mode){
|
||||
}
|
||||
reload(type, '', acct_id, tlid, data, mute, "",voice,mode);
|
||||
}
|
||||
Materialize.toast(lang_tl_reconnect[lang], 2000);
|
||||
Materialize.toast(lang.lang_tl_reconnect, 2000);
|
||||
}
|
||||
|
||||
strAliveInt()
|
@@ -134,6 +134,7 @@ function imgCont(type) {
|
||||
if (type == "image") {
|
||||
xhr = new XMLHttpRequest;
|
||||
xhr.open('GET', murl, true);
|
||||
xhr.responseType = "arraybuffer";
|
||||
xhr.addEventListener('progress', function (event) {
|
||||
if (event.lengthComputable) {
|
||||
var total=event.total;
|
||||
|
@@ -78,14 +78,14 @@ function parseColumn() {
|
||||
var if_notf="";
|
||||
}
|
||||
if(localStorage.getItem("notification_" + acct.domain)){
|
||||
var unique_notf=lang_layout_thisacct[lang].replace("{{notf}}" ,localStorage.getItem("notification_" + acct.domain));
|
||||
var unique_notf=lang.lang_layout_thisacct.replace("{{notf}}" ,localStorage.getItem("notification_" + acct.domain));
|
||||
}else{
|
||||
if(lang=="ja"){
|
||||
if(lang.language=="ja"){
|
||||
var notflocale="通知";
|
||||
}else if(lang=="en"){
|
||||
}else if(lang.language=="en"){
|
||||
var notflocale="Notification";
|
||||
}
|
||||
var unique_notf=lang_layout_thisacct[lang].replace("{{notf}}" ,notflocale);
|
||||
var unique_notf=lang.lang_layout_thisacct.replace("{{notf}}" ,notflocale);
|
||||
}
|
||||
var insert="";
|
||||
var icnsert="";
|
||||
@@ -119,29 +119,38 @@ function parseColumn() {
|
||||
var html =webview("https://tweetdeck.twitter.com",key,insert,icnsert);
|
||||
$("#timeline-container").append(html);
|
||||
}else{
|
||||
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{
|
||||
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+'">'+
|
||||
'<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_layout_gotop[lang]+'"></i></div>'+
|
||||
'<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 +
|
||||
')" class="setting nex '+if_notf+'" title="'+unique_notf+'"'+icnsert+'><i class="material-icons waves-effect nex notf-icon_' +
|
||||
acct.domain + '">notifications</i></div><div class="area-sta"><span class="new badge teal notf-reply_'+acct.domain+' hide" data-badge-caption="Reply">0</span><span class="new badge yellow black-text notf-fav_'+acct.domain+' hide" data-badge-caption="Fav">0</span><span class="new badge blue notf-bt_'+acct.domain+' hide" data-badge-caption="BT">0</span><span class="new badge orange notf-follow_'+acct.domain+' hide" data-badge-caption="Follow">0</span></a></div>'+
|
||||
'<div class="area-a2"><a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_delthis[lang]+'"'+icnsert+'>cancel</i></a></div>'+
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_delthis +'"'+icnsert+'>cancel</i></a></div>'+
|
||||
'<div class="area-a3"><a onclick="setToggle(' + key +
|
||||
')" class="setting nex" title="'+lang_layout_setthis[lang]+'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+
|
||||
')" class="setting nex" title="'+lang.lang_layout_setthis +'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+
|
||||
'<div class="column-hide notf-indv-box z-depth-4" id="notf-box_' + key +
|
||||
'"><div id="notifications_' + key +
|
||||
'" data-notf="' + acct.domain + '" data-type="notf"></div></div><div class="column-hide notf-indv-box" id="util-box_' + key +
|
||||
'" style="padding:5px;"><a onclick="mediaToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_mediafil[lang]+'">perm_media</i><span id="sta-media-' +
|
||||
key + '">On</span></a>'+lang_layout_mediafil[lang]+'<br><a onclick="cardToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_linkanades[lang]+'">link</i><span id="sta-card-' +
|
||||
key + '">On</span></a>'+lang_layout_linkana[lang]+'<br><a onclick="voiceToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_tts[lang]+'">hearing</i><span id="sta-voice-' +
|
||||
key + '">On</span></a>'+lang_layout_tts[lang]+'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_layout_reconnect[lang]+'">low_priority</i></a><span class="'+if_notf+'">'+lang_layout_reconnect[lang]+'</span><br>'+lang_layout_headercolor[lang]+'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
'" class="tl" tlid="' + key + '"'+notf_attr+' data-type="' + acct.type + '"><div id="landing_'+key+'" style="text-align:center">'+lang_layout_nodata[lang]+'</div></div></div></div>';
|
||||
'" style="padding:5px;">'+exclude+'<a onclick="mediaToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_mediafil +'">perm_media</i><span id="sta-media-' +
|
||||
key + '">On</span></a>'+lang.lang_layout_mediafil +'<br><a onclick="cardToggle(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_linkanades +'">link</i><span id="sta-card-' +
|
||||
key + '">On</span></a>'+lang.lang_layout_linkana +'<br><a onclick="voiceToggle(' + key +
|
||||
')" 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[lang]+'</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>';
|
||||
$("#timeline-container").append(html);
|
||||
localStorage.removeItem("pool_" + key);
|
||||
if (acct.data) {
|
||||
@@ -239,12 +248,10 @@ function addColumn() {
|
||||
var obj = JSON.parse(multi);
|
||||
if(!obj){
|
||||
var leng=0;
|
||||
localStorage.setItem("card_" + leng,"true");
|
||||
var json = JSON.stringify([add]);
|
||||
localStorage.setItem("column", json);
|
||||
}else{
|
||||
var leng=obj.length;
|
||||
localStorage.setItem("card_" + leng,"true");
|
||||
obj.push(add);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
@@ -269,7 +276,7 @@ function addselCk(){
|
||||
$("#webview-add").addClass("hide");
|
||||
}
|
||||
if(domain=="knzk.me" || domain=="mstdn.y-zu.org"){
|
||||
$("#type-sel").append('<option value="dm" data-trans="dm" id="direct-add">'+lang_layout_dm[lang]+'</option>');
|
||||
$("#type-sel").append('<option value="dm" data-trans="dm" id="direct-add">'+lang.layout_dm +'</option>');
|
||||
$('#type-sel').material_select('update');
|
||||
}else{
|
||||
$("#direct-add").remove();
|
||||
@@ -387,14 +394,14 @@ function webview(url,key,insert,icnsert){
|
||||
'"><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_layout_webviewmode[lang]+'</label></div>'+
|
||||
'<div class="area-sta"><input type="checkbox" id="webviewsel" value="true" class="filled-in"><label for="webviewsel">'+lang.lang_layout_webviewmode +'</label></div>'+
|
||||
'<div class="area-a2"><a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang_layout_delthis[lang]+'"'+icnsert+'>cancel</i></a></div>'+
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_delthis +'"'+icnsert+'>cancel</i></a></div>'+
|
||||
'<div class="area-a3"><a onclick="setToggle(' + key +
|
||||
')" class="setting nex" title="'+lang_layout_setthis[lang]+'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+
|
||||
')" class="setting nex" title="'+lang.lang_layout_setthis +'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+
|
||||
'<div class="column-hide notf-indv-box z-depth-4" id="notf-box_' + key +
|
||||
'"></div><div class="column-hide notf-indv-box" id="util-box_' + key +
|
||||
'" style="padding:5px;">'+lang_layout_headercolor[lang]+'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '" style="width:100%;height:calc(100% - 110px);"><div id="timeline_' + key +
|
||||
'" style="padding:5px;">'+lang.lang_layout_headercolor +'<br><div id="picker_'+key+'" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '" style="width:100%;height:calc(100% - 110px);"><div id="timeline_' + key +
|
||||
'" class="tl" tlid="' + key + '" data-type="webview" style="width:100%;height:100%;"><webview src="'+url+'" style="width:100%;height:100%;" id="webview" preload="./js/platform/twitter.js"></webview></div></div></div>';
|
||||
|
||||
return html;
|
||||
|
@@ -4,14 +4,14 @@ function settings() {
|
||||
var dd = $("[name=time]:checked").val();
|
||||
var dt = $("[for="+dd+"]").text();
|
||||
if (dd != localStorage.getItem("datetype")) {
|
||||
Materialize.toast(lang_setting_time[lang].replace("{{set}}" ,dt), 3000);
|
||||
Materialize.toast(lang.lang_setting_time.replace("{{set}}" ,dt), 3000);
|
||||
}
|
||||
localStorage.setItem("datetype", dd);
|
||||
|
||||
var cd = $("[name=theme]:checked").val();
|
||||
var ct = $("[for="+cd+"]").html();
|
||||
if (cd != localStorage.getItem("theme")) {
|
||||
Materialize.toast(lang_setting_theme[lang].replace("{{set}}" ,ct), 3000);
|
||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd);
|
||||
@@ -20,63 +20,63 @@ function settings() {
|
||||
var nd = $("[name=nsfw]:checked").val();
|
||||
var nt = $("[for=n_"+nd+"]").text();
|
||||
if (nd != localStorage.getItem("nsfw")) {
|
||||
Materialize.toast(lang_setting_nsfw[lang].replace("{{set}}" ,nt), 3000);
|
||||
Materialize.toast(lang.lang_setting_nsfw.replace("{{set}}" ,nt), 3000);
|
||||
}
|
||||
localStorage.setItem("nsfw", nd);
|
||||
|
||||
var cwd = $("[name=cw]:checked").val();
|
||||
var cwt = $("[for=c_"+cwd+"]").text();
|
||||
if (cwd != localStorage.getItem("cw")) {
|
||||
Materialize.toast(lang_setting_cw[lang].replace("{{set}}" ,cwt), 3000);
|
||||
Materialize.toast(lang.lang_setting_cw.replace("{{set}}" ,cwt), 3000);
|
||||
}
|
||||
localStorage.setItem("cw", cwd);
|
||||
|
||||
var cwtd = $("#cw-text").val();
|
||||
if (cwtd != localStorage.getItem("cw-text")) {
|
||||
Materialize.toast(lang_setting_cwtext[lang].replace("{{set}}" ,cwtd), 3000);
|
||||
Materialize.toast(lang.lang_setting_cwtext.replace("{{set}}" ,cwtd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw-text", cwtd);
|
||||
|
||||
var cwsd = $("[name=cws]:checked").val();
|
||||
var cwst = $("[for=cws_"+cwsd+"]").text();
|
||||
if (cwsd != localStorage.getItem("always-cw")) {
|
||||
Materialize.toast(lang_setting_cws[lang].replace("{{set}}" ,cwst), 3000);
|
||||
Materialize.toast(lang.lang_setting_cws.replace("{{set}}" ,cwst), 3000);
|
||||
}
|
||||
localStorage.setItem("always-cw", cwsd);
|
||||
|
||||
var rpd = $("[name=rp]:checked").val();
|
||||
var rpt = $("[for=c_"+cwd+"]").text();
|
||||
if (rpd != localStorage.getItem("replyct")) {
|
||||
Materialize.toast(lang_setting_rp[lang].replace("{{set}}" ,rpt), 3000);
|
||||
Materialize.toast(lang.lang_setting_rp.replace("{{set}}" ,rpt), 3000);
|
||||
}
|
||||
localStorage.setItem("replyct", rpd);
|
||||
|
||||
var visd = $("[name=vis]:checked").val();
|
||||
var vist = $("[for="+visd+"]").text();
|
||||
if (visd != localStorage.getItem("vis")) {
|
||||
Materialize.toast(lang_setting_vis[lang].replace("{{set}}" ,vist), 3000);
|
||||
Materialize.toast(lang.lang_setting_vis.replace("{{set}}" ,vist), 3000);
|
||||
}
|
||||
localStorage.setItem("vis", visd);
|
||||
|
||||
var popd = $("#popup").val();
|
||||
if (popd > 0 && popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang_setting_popup[lang].replace("{{set}}" ,popd+lang_setting_s[lang]), 3000);
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,popd+lang.lang_setting_s), 3000);
|
||||
} else if (popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang_setting_popup[lang].replace("{{set}}" ,lang_setting_off[lang]), 3000);
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,lang.lang_setting_off), 3000);
|
||||
}
|
||||
localStorage.setItem("popup", popd);
|
||||
|
||||
var gifd = $("[name=gif]:checked").val();
|
||||
var gift = $("[for=g_"+gifd+"]").text();
|
||||
if (gifd != localStorage.getItem("gif")) {
|
||||
Materialize.toast(lang_setting_gif[lang].replace("{{set}}" ,gift), 3000);
|
||||
Materialize.toast(lang.lang_setting_gif.replace("{{set}}" ,gift), 3000);
|
||||
}
|
||||
localStorage.setItem("gif", gifd);
|
||||
|
||||
var sentd = $("#sentence").val();
|
||||
var ltrd = $("#letters").val();
|
||||
if (sentd != localStorage.getItem("sentence") || ltrd != localStorage.getItem("letters")) {
|
||||
Materialize.toast(lang_setting_selt[lang].replace("{{set1}}" ,sentd).replace("{{set2}}" ,ltrd), 3000);
|
||||
Materialize.toast(lang.lang_setting_selt.replace("{{set1}}" ,sentd).replace("{{set2}}" ,ltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("sentence", sentd);
|
||||
localStorage.setItem("letters", ltrd);
|
||||
@@ -84,35 +84,35 @@ function settings() {
|
||||
var csentd = $("#cw_sentence").val();
|
||||
var cltrd = $("#cw_letters").val();
|
||||
if (csentd != localStorage.getItem("cw_sentence") || cltrd != localStorage.getItem("cw_letters")) {
|
||||
Materialize.toast(lang_setting_autocw[lang].replace("{{set1}}" ,csentd).replace("{{set2}}" ,cltrd), 3000);
|
||||
Materialize.toast(lang.lang_setting_autocw.replace("{{set1}}" ,csentd).replace("{{set2}}" ,cltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw_sentence", csentd);
|
||||
localStorage.setItem("cw_letters", cltrd);
|
||||
|
||||
var widthd = $("#width").val();
|
||||
if (widthd != localStorage.getItem("width")) {
|
||||
Materialize.toast(lang_setting_width[lang].replace("{{set}}" ,widthd), 3000);
|
||||
Materialize.toast(lang.lang_setting_width.replace("{{set}}" ,widthd), 3000);
|
||||
}
|
||||
localStorage.setItem("width", widthd);
|
||||
|
||||
var imgd = $("[name=img]:checked").val();
|
||||
var imgt = $("[for=i_"+imgd+"]").text();
|
||||
if (imgd != localStorage.getItem("img")) {
|
||||
Materialize.toast(lang_setting_img[lang].replace("{{set}}" ,imgt), 3000);
|
||||
Materialize.toast(lang.lang_setting_img.replace("{{set}}" ,imgt), 3000);
|
||||
}
|
||||
localStorage.setItem("img", imgd);
|
||||
|
||||
var fontd = $("#font").val();
|
||||
if(fontd){
|
||||
if (fontd != localStorage.getItem("font")) {
|
||||
Materialize.toast(lang_setting_font[lang].replace("{{set}}" ,fontd), 3000);
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,fontd), 3000);
|
||||
}
|
||||
localStorage.setItem("font", fontd);
|
||||
themes();
|
||||
}else{
|
||||
if(localStorage.getItem("font")){
|
||||
localStorage.removeItem("font");
|
||||
Materialize.toast(lang_setting_font[lang].replace("{{set}}" ,lang_setting_default[lang]), 3000);
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,lang.lang_setting_default), 3000);
|
||||
themes();
|
||||
}
|
||||
}
|
||||
@@ -120,83 +120,90 @@ function settings() {
|
||||
|
||||
var sized = $("#size").val();
|
||||
if (sized != localStorage.getItem("size")) {
|
||||
Materialize.toast(lang_setting_size[lang].replace("{{set}}" ,sized), 3000);
|
||||
Materialize.toast(lang.lang_setting_size.replace("{{set}}" ,sized), 3000);
|
||||
}
|
||||
localStorage.setItem("size", sized);
|
||||
|
||||
var heid = $("#img-height").val();
|
||||
if (heid != localStorage.getItem("img-height")) {
|
||||
Materialize.toast(lang_setting_imgheight[lang].replace("{{set}}" ,heid), 3000);
|
||||
Materialize.toast(lang.lang_setting_imgheight.replace("{{set}}" ,heid), 3000);
|
||||
}
|
||||
localStorage.setItem("img-height", heid);
|
||||
|
||||
var tckrd = $("[name=ticker]:checked").val();
|
||||
var tckrt = $("[for=ticker_"+tckrd+"]").text();
|
||||
if (tckrd != localStorage.getItem("ticker_ok")) {
|
||||
Materialize.toast(lang.lang_setting_ticker.replace("{{set}}" ,tckrt), 3000);
|
||||
}
|
||||
localStorage.setItem("ticker_ok", tckrd);
|
||||
|
||||
var boxd = $("[name=box]:checked").val();
|
||||
var boxt = $("[for=bx_"+boxd+"]").text();
|
||||
if (boxd != localStorage.getItem("box")) {
|
||||
Materialize.toast(lang_setting_box[lang].replace("{{set}}" ,boxt), 3000);
|
||||
Materialize.toast(lang.lang_setting_boxConfirm.replace("{{set}}" ,boxt), 3000);
|
||||
}
|
||||
localStorage.setItem("box", boxd);
|
||||
|
||||
var tagd = $("[name=tag]:checked").val();
|
||||
var tagt = $("[for=t_"+tagd+"]").text();
|
||||
if (tagd != localStorage.getItem("tag-range")) {
|
||||
Materialize.toast(lang_setting_tag[lang].replace("{{set}}" ,tagt), 3000);
|
||||
Materialize.toast(lang.lang_setting_tag.replace("{{set}}" ,tagt), 3000);
|
||||
}
|
||||
localStorage.setItem("tag-range", tagd);
|
||||
|
||||
var uld = $("[name=ul]:checked").val();
|
||||
var ult = $("[for=ul_"+uld+"]").text();
|
||||
if (uld != localStorage.getItem("locale")) {
|
||||
Materialize.toast(lang_setting_ul[lang].replace("{{set}}" ,ult), 3000);
|
||||
Materialize.toast(lang.lang_setting_ul.replace("{{set}}" ,ult), 3000);
|
||||
}
|
||||
localStorage.setItem("locale", uld);
|
||||
|
||||
var ntd = $("[name=notf]:checked").val();
|
||||
var ntt = $("[for=ntf_"+ntd+"]").text();
|
||||
if (ntd != localStorage.getItem("nativenotf")) {
|
||||
Materialize.toast(lang_setting_notf[lang].replace("{{set}}" ,ntt), 3000);
|
||||
Materialize.toast(lang.lang_setting_notf.replace("{{set}}" ,ntt), 3000);
|
||||
}
|
||||
localStorage.setItem("nativenotf", ntd);
|
||||
|
||||
var qtd = $("[name=quote]:checked").val();
|
||||
var qtt = $("[for=q_"+qtd+"]").text();
|
||||
if (qtd != localStorage.getItem("quote")) {
|
||||
Materialize.toast(lang_setting_quote[lang].replace("{{set}}" ,qtt), 3000);
|
||||
Materialize.toast(lang.lang_setting_quote.replace("{{set}}" ,qtt), 3000);
|
||||
}
|
||||
localStorage.setItem("quote", qtd);
|
||||
|
||||
var viad = $("[name=via]:checked").val();
|
||||
var viat = $("[for=via_"+viad+"]").text();
|
||||
if (viad != localStorage.getItem("viashow")) {
|
||||
Materialize.toast(lang_setting_via[lang].replace("{{set}}" ,viat), 3000);
|
||||
Materialize.toast(lang.lang_setting_via.replace("{{set}}" ,viat), 3000);
|
||||
}
|
||||
localStorage.setItem("viashow", viad);
|
||||
|
||||
var notfmd = $("[name=notfm]:checked").val();
|
||||
var notfmt = $("[for=notfm_"+notfmd+"]").text();
|
||||
if (notfmd != localStorage.getItem("setasread")) {
|
||||
Materialize.toast(lang_setting_setasread[lang].replace("{{set}}" ,notfmt), 3000);
|
||||
Materialize.toast(lang.lang_setting_setasread.replace("{{set}}" ,notfmt), 3000);
|
||||
}
|
||||
localStorage.setItem("setasread", notfmd);
|
||||
|
||||
var movd = $("[name=mov]:checked").val();
|
||||
var movt = $("[for=mov_"+movd+"]").text();
|
||||
if (movd != localStorage.getItem("mouseover")) {
|
||||
Materialize.toast(lang_setting_mov[lang].replace("{{set}}" ,movt), 3000);
|
||||
Materialize.toast(lang.lang_setting_mov.replace("{{set}}" ,movt), 3000);
|
||||
}
|
||||
localStorage.setItem("mouseover", movd);
|
||||
|
||||
var maind = $("[name=main]:checked").val();
|
||||
var maint = $("[for=mn_"+maind+"]").text();
|
||||
if (maind != localStorage.getItem("mainuse")) {
|
||||
Materialize.toast(lang_setting_main[lang].replace("{{set}}" ,maint), 3000);
|
||||
Materialize.toast(lang.lang_setting_main.replace("{{set}}" ,maint), 3000);
|
||||
}
|
||||
localStorage.setItem("mainuse", maind);
|
||||
|
||||
var secd = $("[name=sec]:checked").val();
|
||||
var sect = $("[for=sec-"+secd+"]").text();
|
||||
if (secd != localStorage.getItem("sec")) {
|
||||
Materialize.toast(lang_setting_sec[lang].replace("{{set}}" ,sect), 3000);
|
||||
Materialize.toast(lang.lang_setting_sec.replace("{{set}}" ,sect), 3000);
|
||||
}
|
||||
localStorage.setItem("sec", secd);
|
||||
}
|
||||
@@ -338,6 +345,12 @@ function load() {
|
||||
}
|
||||
$("#img-height").val(imh);
|
||||
|
||||
var ticker = localStorage.getItem("ticker-ok");
|
||||
if (!ticker) {
|
||||
var ticker = "no";
|
||||
}
|
||||
$("#ticker_" + ticker).prop("checked", true);
|
||||
|
||||
var tag = localStorage.getItem("tag-range");
|
||||
if (!tag) {
|
||||
var tag = "all";
|
||||
@@ -406,15 +419,16 @@ wordemp();
|
||||
checkSpotify();
|
||||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
function climute(){
|
||||
//クライアントミュート
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
$("#mute-cli").html(lang_setting_nomuting[lang]);
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
}else{
|
||||
if(!obj[0]){
|
||||
$("#mute-cli").html(lang_setting_nomuting[lang]);
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
return;
|
||||
}
|
||||
var templete;
|
||||
@@ -424,7 +438,7 @@ function climute(){
|
||||
templete = '<div class="acct" id="acct_' + key + '">' + list +
|
||||
'.' +
|
||||
cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
|
||||
key + ')">'+lang_del[lang]+'</button><br></div>';
|
||||
key + ')">'+lang.lang_del+'</button><br></div>';
|
||||
$("#mute-cli").append(templete);
|
||||
});
|
||||
}
|
||||
@@ -468,20 +482,20 @@ function notftest(){
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: lang_setting_notftest[lang]+'('+lang_setting_notftestprof[lang]+')',
|
||||
body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',
|
||||
icon: localStorage.getItem("prof_0")
|
||||
};
|
||||
if(os=="darwin"){
|
||||
var n = new Notification('TheDesk'+lang_setting_notftest[lang], options);
|
||||
var n = new Notification('TheDesk'+lang.lang_setting_notftest, options);
|
||||
}else{
|
||||
ipc.send('native-notf', ['TheDesk'+lang_setting_notftest[lang],lang_setting_notftest[lang]+'('+lang_setting_notftestprof[lang]+')',localStorage.getItem('prof_0'),"",""]);
|
||||
ipc.send('native-notf', ['TheDesk'+lang.lang_setting_notftest,lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',localStorage.getItem('prof_0'),"",""]);
|
||||
}
|
||||
|
||||
}
|
||||
function oks(no){
|
||||
var txt=$("#oks-"+no).val();
|
||||
localStorage.setItem("oks-"+no, txt);
|
||||
Materialize.toast(lang_setting_ksref[lang], 3000);
|
||||
Materialize.toast(lang.lang_setting_ksref, 3000);
|
||||
}
|
||||
function oksload(){
|
||||
if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))}
|
||||
@@ -497,7 +511,7 @@ function changelang(lang){
|
||||
});
|
||||
}
|
||||
function exportSettings(){
|
||||
if(!confirm(lang_setting_exportwarn[lang])){
|
||||
if(!confirm(lang.lang_setting_exportwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
@@ -571,7 +585,7 @@ function exportSettings(){
|
||||
});
|
||||
}
|
||||
function importSettings(){
|
||||
if(!confirm(lang_setting_importwarn[lang])){
|
||||
if(!confirm(lang.lang_setting_importwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
@@ -668,4 +682,20 @@ function savefolder(){
|
||||
}, (fileNames) => {
|
||||
localStorage.setItem("savefolder",fileNames[0]);
|
||||
});
|
||||
}
|
||||
|
||||
function font(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('fonts', []);
|
||||
ipc.on('font-list', function (event, arg) {
|
||||
$("#fonts").removeClass("hide");
|
||||
for( var i=0; i<arg.length; i++) {
|
||||
var font=arg[i];
|
||||
$("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>")
|
||||
}
|
||||
});
|
||||
}
|
||||
function insertFont(name){
|
||||
$("#font").val(name);
|
||||
}
|
@@ -57,10 +57,10 @@ function spotifyFlagSave(){
|
||||
var awk = $("[name=awk]:checked").val();
|
||||
if(awk=="yes"){
|
||||
localStorage.setItem("artwork","yes");
|
||||
Materialize.toast(lang_spotify_img[lang], 3000);
|
||||
Materialize.toast(lang.lang_spotify_img, 3000);
|
||||
}else{
|
||||
localStorage.removeItem("artwork");
|
||||
Materialize.toast(lang_spotify_imgno[lang], 3000);
|
||||
Materialize.toast(lang.lang_spotify_imgno, 3000);
|
||||
}
|
||||
}
|
||||
function nowplaying(mode){
|
||||
@@ -118,7 +118,7 @@ function nowplaying(mode){
|
||||
$("#textarea").val(content);
|
||||
});
|
||||
}else{
|
||||
alert(lang_spotify_acct[lang]);
|
||||
alert(lang.lang_spotify_acct);
|
||||
}
|
||||
}else if(mode=="itunes"){
|
||||
var electron = require("electron");
|
||||
@@ -130,6 +130,10 @@ function nowplaying(mode){
|
||||
if(!content || content=="" || content=="null"){
|
||||
var content="#NowPlaying {song} / {album} / {artist}\n{url}";
|
||||
}
|
||||
var flag=localStorage.getItem("artwork");
|
||||
if(flag && arg.path){
|
||||
media(arg.path,"image/png","new");
|
||||
}
|
||||
var regExp = new RegExp("{song}", "g");
|
||||
content = content.replace(regExp, arg.name);
|
||||
var regExp = new RegExp("{album}", "g");
|
||||
@@ -158,7 +162,26 @@ function nowplaying(mode){
|
||||
function spotifySave(){
|
||||
var temp=$("#np-temp").val();
|
||||
localStorage.setItem("np-temp", temp);
|
||||
Materialize.toast(lang_spotify_np[lang], 3000);
|
||||
Materialize.toast(lang.lang_spotify_np, 3000);
|
||||
}
|
||||
function npprovider(){
|
||||
var provd = $("[name=npp]:checked").val();
|
||||
if(!provd){
|
||||
if (localStorage.getItem("np_provider")) {
|
||||
$("[value="+localStorage.getItem("np_provider")+"]").prop("checked", true);
|
||||
}else{
|
||||
$("[value=AIMP]").prop("checked", true);
|
||||
localStorage.setItem("np_provider", "AIMP");
|
||||
}
|
||||
}else{
|
||||
if (provd != localStorage.getItem("np_provider")) {
|
||||
Materialize.toast(lang.lang_setting_npprovide.replace("{{set}}" ,provd), 3000);
|
||||
}
|
||||
localStorage.setItem("np_provider", provd);
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('itunes', ["set",provd]);
|
||||
}
|
||||
}
|
||||
if(location.search){
|
||||
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
|
||||
|
@@ -142,7 +142,7 @@ function spotifytips(){
|
||||
spotint=setInterval(spotStart, 1000);
|
||||
});
|
||||
}else{
|
||||
alert(lang_spotify_acct[lang]);
|
||||
alert(lang.lang_spotify_acct);
|
||||
}
|
||||
}
|
||||
function spotStart(){
|
||||
|
@@ -53,7 +53,7 @@ function utl(user, more, acct_id) {
|
||||
var templete = parse(json, '', acct_id, 'user');
|
||||
}
|
||||
if(!json[0]){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
if (more) {
|
||||
$("#his-tl-contents").append(templete);
|
||||
@@ -155,7 +155,7 @@ function flw(user, more, acct_id) {
|
||||
var templete = userparse(json,'',acct_id);
|
||||
}
|
||||
if(templete==""){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
if (more) {
|
||||
$("#his-follow-list-contents").append(templete);
|
||||
@@ -221,7 +221,7 @@ function fer(user, more, acct_id) {
|
||||
var templete = userparse(json,'',acct_id);
|
||||
}
|
||||
if(templete==""){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
if (more) {
|
||||
$("#his-follower-list-contents").append(templete);
|
||||
@@ -283,7 +283,7 @@ function showFav(more, acct_id) {
|
||||
var templete = misskeyParse(json, '', acct_id,'user');
|
||||
}
|
||||
if(!json[0]){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
if (more) {
|
||||
$("#his-fav-list-contents").append(templete);
|
||||
@@ -339,7 +339,7 @@ function showMut(more, acct_id) {
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(!json[0]){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
var templete = userparse(json,'',acct_id);
|
||||
if (more) {
|
||||
@@ -358,7 +358,7 @@ function showBlo(more, acct_id) {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
$("#his-blocking-list-contents").html(lang_hisdata_notonmisskey[lang]+"<br>");
|
||||
$("#his-blocking-list-contents").html(lang.lang_hisdata_notonmisskey+"<br>");
|
||||
return false;
|
||||
}
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
@@ -382,7 +382,7 @@ function showBlo(more, acct_id) {
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
if(!json[0]){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
var templete = userparse(json,'',acct_id);
|
||||
if (more) {
|
||||
@@ -445,7 +445,7 @@ function showReq(more, acct_id) {
|
||||
}
|
||||
|
||||
if(!json[0]){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
if (more) {
|
||||
$("#his-request-list-contents").append(templete);
|
||||
@@ -463,7 +463,7 @@ function showDom(more, acct_id) {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
$("#his-domain-list-contents").html(lang_hisdata_notonmisskey[lang]+"<br>");
|
||||
$("#his-domain-list-contents").html(lang.lang_hisdata_notonmisskey+"<br>");
|
||||
return false;
|
||||
}
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
@@ -489,7 +489,7 @@ function showDom(more, acct_id) {
|
||||
}).then(function(json) {
|
||||
var templete = "";
|
||||
if(!json[0]){
|
||||
templete=lang_details_nodata[lang]+"<br>";
|
||||
templete=lang.lang_details_nodata+"<br>";
|
||||
}
|
||||
Object.keys(json).forEach(function(key) {
|
||||
var domain = json[key];
|
||||
@@ -514,7 +514,7 @@ function showFrl(more, acct_id) {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if(localStorage.getItem("mode_" + domain)=="misskey"){
|
||||
$("#his-follow-recom-contents").html(lang_hisdata_notonmisskey[lang]+"<br>");
|
||||
$("#his-follow-recom-contents").html(lang.lang_hisdata_notonmisskey+"<br>");
|
||||
return false;
|
||||
}
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
@@ -534,13 +534,13 @@ function showFrl(more, acct_id) {
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
$("#his-follow-recom-contents").html(lang_details_nodata[lang]+"("+lang_hisdata_frcreq[lang]+")<br>");
|
||||
$("#his-follow-recom-contents").html(lang.lang_details_nodata+"("+lang.lang_hisdata_frcreq+")<br>");
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
console.log(json);
|
||||
if(!json[0]){
|
||||
console.log("No data");
|
||||
templete=lang_details_nodata[lang]+"("+lang_hisdata_frcwarn[lang]+")<br>";
|
||||
templete=lang.lang_details_nodata+"("+lang.lang_hisdata_frcwarn+")<br>";
|
||||
}else{
|
||||
var templete = userparse(json,'',acct_id);
|
||||
}
|
||||
@@ -557,7 +557,7 @@ function showFrl(more, acct_id) {
|
||||
//ユーザーマッチングリスト
|
||||
function showMat() {
|
||||
|
||||
$("#his-matching-list-contents").html(lang_hisdata_taketime[lang]);
|
||||
$("#his-matching-list-contents").html(lang.lang_hisdata_taketime);
|
||||
var full=$("#his-acct").attr("fullname");
|
||||
var acct_id=$("#his-data").attr("use-acct");
|
||||
full=full.split("@");
|
||||
|
@@ -86,8 +86,8 @@ function udg(user, acct_id) {
|
||||
//moved設定時
|
||||
if (json.moved) {
|
||||
Materialize.toast(
|
||||
lang_showontl_movetxt[lang]+'<button class="btn-flat toast-action" onclick="udg(\'' +
|
||||
json.moved.id + '\',\''+acct_id+'\')">'+lang_showontl_movebtn[lang]+'</button>', 4000)
|
||||
lang.lang_showontl_movetxt+'<button class="btn-flat toast-action" onclick="udg(\'' +
|
||||
json.moved.id + '\',\''+acct_id+'\')">'+lang.lang_showontl_movebtn+'</button>', 4000)
|
||||
}
|
||||
$('#his-data').modal('open');
|
||||
$('#his-data').attr("user-id", user);
|
||||
@@ -151,7 +151,7 @@ function udg(user, acct_id) {
|
||||
$("#his-des").html(twemoji.parse(note));
|
||||
}
|
||||
if(json.bot){
|
||||
$("#his-bot").html(lang_showontl_botacct[lang]);
|
||||
$("#his-bot").html(lang.lang_showontl_botacct);
|
||||
}
|
||||
$('#his-data').css('background-size', 'cover');
|
||||
$("#his-data .tab-content").css("height",$("#his-float-timeline").height()-70+"px")
|
||||
@@ -288,21 +288,21 @@ function misskeyUdg(user, acct_id) {
|
||||
if (json.isFollowing) {
|
||||
//自分がフォローしている
|
||||
$("#his-data").addClass("following");
|
||||
$("#his-follow-btn").text(lang_status_unfollow[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_unfollow);
|
||||
hisList(user,acct_id);
|
||||
}else{
|
||||
$("#his-follow-btn").text(lang_status_follow[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_follow);
|
||||
}
|
||||
if (json.isFollowed) {
|
||||
//フォローされてる
|
||||
$("#his-relation").text(lang_showontl_followed[lang]);
|
||||
$("#his-relation").text(lang.lang_showontl_followed);
|
||||
}
|
||||
$("#his-block-btn").hide();
|
||||
if (json.isMuted) {
|
||||
$("#his-data").addClass("muting");
|
||||
$("#his-mute-btn").text(lang_status_unmute[lang]);
|
||||
$("#his-mute-btn").text(lang.lang_status_unmute);
|
||||
}else{
|
||||
$("#his-mute-btn").text(lang_status_mute[lang]);
|
||||
$("#his-mute-btn").text(lang.lang_status_mute);
|
||||
}
|
||||
$(".only-my-data").hide();
|
||||
$(".only-his-data").show();
|
||||
@@ -347,46 +347,46 @@ function relations(user, acct_id) {
|
||||
if (json.following) {
|
||||
//自分がフォローしている
|
||||
$("#his-data").addClass("following");
|
||||
$("#his-follow-btn").text(lang_status_unfollow[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_unfollow);
|
||||
hisList(user,acct_id);
|
||||
}else{
|
||||
$("#his-follow-btn").text(lang_status_follow[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_follow);
|
||||
}
|
||||
if (json.followed_by) {
|
||||
//フォローされてる
|
||||
$("#his-relation").text(lang_showontl_followed[lang]);
|
||||
$("#his-relation").text(lang.lang_showontl_followed);
|
||||
}
|
||||
if (json.blocking) {
|
||||
$("#his-data").addClass("blocking");
|
||||
$("#his-block-btn").text(lang_status_unblock[lang]);
|
||||
$("#his-block-btn").text(lang.lang_status_unblock);
|
||||
}else{
|
||||
$("#his-block-btn").text(lang_status_block[lang]);
|
||||
$("#his-block-btn").text(lang.lang_status_block);
|
||||
}
|
||||
if (json.muting) {
|
||||
$("#his-data").addClass("muting");
|
||||
$("#his-mute-btn").text(lang_status_unmute[lang]);
|
||||
$("#his-mute-btn").text(lang.lang_status_unmute);
|
||||
}else{
|
||||
$("#his-mute-btn").text(lang_status_mute[lang]);
|
||||
$("#his-mute-btn").text(lang.lang_status_mute);
|
||||
}
|
||||
if (json.muting_notifications) {
|
||||
$("#his-data").addClass("mutingNotf");
|
||||
$("#his-notf-btn").text(lang_showontl_notf[lang]+lang_status_unmute[lang]);
|
||||
$("#his-notf-btn").text(lang.lang_showontl_notf+lang.lang_status_unmute);
|
||||
}else{
|
||||
$("#his-notf-btn").text(lang_showontl_notf[lang]+lang_status_mute[lang]);
|
||||
$("#his-notf-btn").text(lang.lang_showontl_notf+lang.lang_status_mute);
|
||||
}
|
||||
if (json.domain_blocking) {
|
||||
$("#his-data").addClass("blockingDom");
|
||||
$("#his-domain-btn").text(lang_showontl_domain[lang]+lang_status_unblock[lang]);
|
||||
$("#his-domain-btn").text(lang.lang_showontl_domain+lang.lang_status_unblock);
|
||||
}else{
|
||||
$("#his-domain-btn").text(lang_showontl_domain[lang]+lang_status_block[lang]);
|
||||
$("#his-domain-btn").text(lang.lang_showontl_domain+lang.lang_status_block);
|
||||
}
|
||||
//Endorsed
|
||||
if(json.endorsed){
|
||||
$("#his-end-btn").addClass("endorsed");
|
||||
$("#his-end-btn").text(lang_status_unendorse[lang])
|
||||
$("#his-end-btn").text(lang.lang_status_unendorse)
|
||||
}else{
|
||||
$("#his-end-btn").removeClass("endorsed");
|
||||
$("#his-end-btn").text(lang_status_endorse[lang])
|
||||
$("#his-end-btn").text(lang.lang_status_endorse)
|
||||
}
|
||||
|
||||
});
|
||||
@@ -431,15 +431,15 @@ function reset(){
|
||||
$("#his-notf-btn").show();
|
||||
$("#his-domain-btn").show();
|
||||
$("#his-emp-btn").show();
|
||||
$("#his-follow-btn").text(lang_status_follow[lang]);
|
||||
$("#his-mute-btn").text(lang_status_mute[lang]);
|
||||
$("#his-block-btn").text(lang_status_block[lang]);
|
||||
$("#his-notf-btn").text(lang_showontl_notf[lang]+lang_status_mute[lang]);
|
||||
$("#his-domain-btn").text(lang_showontl_domain[lang]+lang_status_block[lang]);
|
||||
$("#his-follow-btn").text(lang.lang_status_follow);
|
||||
$("#his-mute-btn").text(lang.lang_status_mute);
|
||||
$("#his-block-btn").text(lang.lang_status_block);
|
||||
$("#his-notf-btn").text(lang.lang_showontl_notf+lang.lang_status_mute);
|
||||
$("#his-domain-btn").text(lang.lang_showontl_domain+lang.lang_status_block);
|
||||
$("#his-relation").text("");
|
||||
$(".cont-series").html("");
|
||||
$("#domainblock").val("");
|
||||
$("#his-lists-a").html(lang_showontl_listwarn[lang]);
|
||||
$("#his-lists-a").html(lang.lang_showontl_listwarn);
|
||||
$("#his-lists-b").html('');
|
||||
$("#his-name-val").val("");
|
||||
$("#his-des-val").val("");
|
||||
|
118
app/main.js
118
app/main.js
@@ -8,8 +8,14 @@ var Jimp = require("jimp");
|
||||
const shell = electron.shell;
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const fm = require('font-manager');
|
||||
const Menu=electron.Menu
|
||||
var updatewin=null;
|
||||
const join = require('path').join;
|
||||
// linuxの時は定義しない
|
||||
if (process.platform!='linux') {
|
||||
const {NowPlaying,PlayerName} = require("nowplaying-node");
|
||||
}
|
||||
// アプリケーションをコントロールするモジュール
|
||||
const app = electron.app;
|
||||
// ウィンドウを作成するモジュール
|
||||
@@ -17,7 +23,6 @@ const BrowserWindow = electron.BrowserWindow;
|
||||
const {
|
||||
download
|
||||
} = require('electron-dl');
|
||||
const join = require('path').join;
|
||||
// メインウィンドウはGCされないようにグローバル宣言
|
||||
let mainWindow;
|
||||
var info_path = join(app.getPath("userData"), "window-size.json");
|
||||
@@ -58,7 +63,7 @@ function createWindow() {
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="linux"){
|
||||
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,icon: __dirname + '/thedesk.png'}
|
||||
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,icon: __dirname + '/desk.png'}
|
||||
}else{
|
||||
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true}
|
||||
}
|
||||
@@ -463,23 +468,65 @@ function about(){
|
||||
var window = new BrowserWindow({width: 300, height: 460,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false });
|
||||
"resizable": false });
|
||||
window.loadURL('file://' + __dirname + '/about.html?ver='+ver);
|
||||
return "true"
|
||||
}
|
||||
ipc.on('itunes', (e, args) => {
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="darwin"){
|
||||
const nowplaying = require("itunes-nowplaying-mac")
|
||||
|
||||
nowplaying.getRawData().then(function (value) {
|
||||
mainWindow.webContents.send('itunes-np', value);
|
||||
}).catch(function (error) {
|
||||
// 非同期処理失敗。呼ばれない
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
if(args[0]=="set"){
|
||||
var nppath=join(app.getPath("userData"), "nowplaying");
|
||||
var npProvider;
|
||||
try {
|
||||
npProvider = args[1];
|
||||
} catch (e) {
|
||||
npProvider="AIMP";
|
||||
}
|
||||
var myAIMP = new NowPlaying({
|
||||
fetchCover: true,
|
||||
player: PlayerName[npProvider],
|
||||
});
|
||||
fs.writeFileSync(nppath, npProvider);
|
||||
}else{
|
||||
var platform=process.platform;
|
||||
var bit=process.arch;
|
||||
if(platform=="darwin"){
|
||||
const nowplaying = require("itunes-nowplaying-mac")
|
||||
nowplaying.getRawData().then(function (value) {
|
||||
mainWindow.webContents.send('itunes-np', value);
|
||||
}).catch(function (error) {
|
||||
// 非同期処理失敗。呼ばれない
|
||||
console.log(error);
|
||||
});
|
||||
}else{
|
||||
var nppath=join(app.getPath("userData"), "nowplaying");
|
||||
var npProvider;
|
||||
try {
|
||||
npProvider = fs.readFileSync(nppath, 'utf8');
|
||||
} catch (e) {
|
||||
npProvider="AIMP";
|
||||
}
|
||||
var myAIMP = new NowPlaying({
|
||||
fetchCover: true,
|
||||
player: PlayerName[npProvider],
|
||||
});
|
||||
myAIMP.update();
|
||||
var path=myAIMP.getCoverPath();
|
||||
if(path){
|
||||
var bin = fs.readFileSync(path, 'base64');
|
||||
}else{
|
||||
var bin=false;
|
||||
}
|
||||
|
||||
var value={
|
||||
name:myAIMP.getTitle(),
|
||||
artist:myAIMP.getArtist(),
|
||||
album:myAIMP.getAlbum(),
|
||||
path:bin
|
||||
}
|
||||
mainWindow.webContents.send('itunes-np', value);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
ipc.on('file-select', (e, args) => {
|
||||
dialog.showOpenDialog(null, {
|
||||
@@ -604,5 +651,44 @@ ipc.on('export', (e, args) => {
|
||||
ipc.on('import', (e, arg) => {
|
||||
mainWindow.webContents.send('config', fs.readFileSync(arg, 'utf8'));
|
||||
});
|
||||
//フォント
|
||||
function object_array_sort(data,key,order,fn){
|
||||
//デフォは降順(DESC)
|
||||
var num_a = -1;
|
||||
var num_b = 1;
|
||||
|
||||
if(order === 'asc'){//指定があれば昇順(ASC)
|
||||
num_a = 1;
|
||||
num_b = -1;
|
||||
}
|
||||
|
||||
data = data.sort(function(a, b){
|
||||
var x = a[key];
|
||||
var y = b[key];
|
||||
if (x > y) return num_a;
|
||||
if (x < y) return num_b;
|
||||
return 0;
|
||||
});
|
||||
|
||||
//重複排除
|
||||
var arrObj = {};
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
arrObj[data[i]['family']] = data[i];
|
||||
}
|
||||
|
||||
data = [];
|
||||
for (var key in arrObj) {
|
||||
data.push(arrObj[key]);
|
||||
}
|
||||
|
||||
fn(data); // ソート後の配列を返す
|
||||
}
|
||||
ipc.on('fonts', (e, arg) => {
|
||||
var fonts = fm.getAvailableFontsSync();
|
||||
object_array_sort(fonts, 'family', 'asc', function(fonts_sorted){
|
||||
mainWindow.webContents.send('font-list', fonts_sorted);
|
||||
});
|
||||
});
|
||||
|
||||
app.setAsDefaultProtocolClient('thedesk')
|
||||
|
||||
app.setAsDefaultProtocolClient('thedesk')
|
||||
|
@@ -69,7 +69,33 @@ textarea {
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript" src="./js/common/jquery.js"></script>
|
||||
<script>
|
||||
//jQuery読む
|
||||
window.jQuery = window.$ = require('./js/common/jquery.js');
|
||||
var Hammer = require('./js/common/hammer.min.js');
|
||||
$.strip_tags = function(str, allowed) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || [])
|
||||
.join('');
|
||||
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>?/gi,
|
||||
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
|
||||
return str.replace(commentsAndPhpTags, '').replace(tags, function($0, $1) {
|
||||
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
|
||||
});
|
||||
};
|
||||
function escapeHTML(str) {
|
||||
if(!str){
|
||||
return "";
|
||||
}
|
||||
return str.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''');
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript" src="./js/platform/first-not-view.js"></script>
|
||||
<select id="post-acct-sel" style="max-width:150px">
|
||||
</select>
|
||||
@@ -92,6 +118,7 @@ textarea {
|
||||
var lang="ja";
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="./js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="./js/lang/parse.lang.js"></script>
|
||||
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
|
||||
|
2285
app/package-lock.json
generated
2285
app/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,13 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "16.1.5",
|
||||
"version": "17.0.1",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"dist": "build --linux snap",
|
||||
"build:all": "electron-builder --win --linux",
|
||||
"build:win": "electron-builder --win"
|
||||
},
|
||||
"keywords": [],
|
||||
"bugs": {
|
||||
@@ -22,23 +25,30 @@
|
||||
"name": "とねぢ",
|
||||
"url": "https://minohdon.jp/@toneji",
|
||||
"email": "solfa.tono@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "ぽぷんじゃ",
|
||||
"url": "https://popon.pptdn.jp/@popn_ja",
|
||||
"email": "popn.ja@gmail.com"
|
||||
}
|
||||
],
|
||||
"license": "GPL-3.0-or-later",
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"electron-dl": "^1.11.0",
|
||||
"font-manager": "^0.3.0",
|
||||
"jimp": "^0.2.28",
|
||||
"node-notifier": "^5.2.1",
|
||||
"sumchecker": "^2.0.2"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"nowplaying-node": "^0.1.3",
|
||||
"itunes-nowplaying-mac": "^0.2.3"
|
||||
},
|
||||
"build": {
|
||||
"productName": "TheDesk",
|
||||
"appId": "top.thedesk",
|
||||
"directories": {
|
||||
"output": "build"
|
||||
"output": "../build"
|
||||
},
|
||||
"win": {
|
||||
"icon": "thedesk.ico",
|
||||
@@ -47,17 +57,30 @@
|
||||
"portable"
|
||||
]
|
||||
},
|
||||
"nsis": {
|
||||
"oneClick": false,
|
||||
"allowToChangeInstallationDirectory": true,
|
||||
"artifactName": "TheDesk-setup.${ext}"
|
||||
},
|
||||
"linux": {
|
||||
"icon": "build/icons",
|
||||
"target": [
|
||||
"deb",
|
||||
"rpm"
|
||||
"snap"
|
||||
],
|
||||
"category": "Network"
|
||||
},
|
||||
"electronDownload": {
|
||||
"version": "2.0.7"
|
||||
"mac": {
|
||||
"target": "dmg"
|
||||
},
|
||||
"electronVersion": "2.0.7"
|
||||
"electronDownload": {
|
||||
"version": "3.0.10"
|
||||
},
|
||||
"electronVersion": "3.0.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^3.0.10",
|
||||
"electron-packager": "^13.0.1",
|
||||
"electron-prebuilt": "^1.4.13",
|
||||
"electron-rebuild": "^1.8.2"
|
||||
}
|
||||
}
|
||||
|
@@ -25,9 +25,8 @@ body,html{overflow-y: scroll;}
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
||||
<script>
|
||||
var lang="en";
|
||||
var misskeytoken=false;
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
@@ -43,7 +42,7 @@ body,html{overflow-y: scroll;}
|
||||
<div class="col s6">
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
|
||||
<div id="ins-suggest"></div>
|
||||
Check if TheDesk is not working on Windows, you want to login Pleroma instance.<br>
|
||||
Check if TheDesk is not working on Windows, you want to login Pleroma servers, you cannot login when it checked.<br>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<label for="linux">Code setup</label><br>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
@@ -80,7 +79,7 @@ Administered by:<a id="ins-admin"></a><br>
|
||||
<img src="./img/loading.svg" id="ins-prof" width="200"><br>
|
||||
<br>
|
||||
Domain:<span id="ins-name"></span><br>
|
||||
Federated instances:<span id="ins-connect"></span><br>
|
||||
Federated servers:<span id="ins-connect"></span><br>
|
||||
Toots:<span id="ins-toot"></span><br>
|
||||
Users:<span id="ins-user"></span>Users<br>
|
||||
Connection:<span id="ins-per"></span>%<br>
|
||||
|
@@ -18,15 +18,14 @@
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/parse.lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/version.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Akane (16.1.5)";
|
||||
var ver="Miria (17.0.1)-beta2";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -34,8 +33,7 @@ var ver="Akane (16.1.5)";
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
var lang="en";
|
||||
verck(ver);
|
||||
verck(ver,winstore);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
@@ -125,9 +123,8 @@ var lang="en";
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1' id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="Hide text behind warning">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray" onclick="fileselect()" title="Attach..">photo_library</i></span></span>
|
||||
<i class="waves-effect gray material-icons" onclick="adobe()" title="Adobe Photo Editor">format_shapes</i>
|
||||
<i class="waves-effect gray material-icons" onclick="emojiToggle()" id="emojibtn" title="Emojis">tag_faces</i>
|
||||
<a class="pointer waves-effect gray" id="npbtn" title="NowPlaying[Click to insert info of Spotify(account link is required.)/control+click to insert that of iTunes(macOS)]"><i class="material-icons" style="font-size:24px;">music_note</i></a>
|
||||
<i class="waves-effect gray material-icons dropdown-button" data-activates='dropdown2'>more_vert</i>
|
||||
<i class="material-icons nex gray waves-effect" title="Clear toot box(Ctrl+Shit+C)" data-trans-title="post_box_clear" id="clear">clear</i>
|
||||
</div>
|
||||
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
|
||||
@@ -140,6 +137,9 @@ var lang="en";
|
||||
</span>
|
||||
<br>
|
||||
<input type="text" id="cw-text" placeholder="Warning text" class="mize" style="margin:0">
|
||||
<div id="sch-box">Post at<br><span class="sml">2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)</span><br>
|
||||
<input type="datetime-local" id="sch-date" placeholder="Scheduled toot" class="datepicker" style="margin:0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 公開範囲 Dropdown Structure -->
|
||||
@@ -164,6 +164,21 @@ var lang="en";
|
||||
<a onclick="vis('direct')" class="disabled direct">(Direct)</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- その他 Dropdown Structure -->
|
||||
<ul id='dropdown2' class='dropdown-content'>
|
||||
<li>
|
||||
<a onclick="adobe()">Adobe Photo Editor</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('spotify');">NowPlaying(Spotify)</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('itunes');">NowPlaying</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="schedule();">Scheduled toot</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
<input type="hidden" id="media">
|
||||
@@ -528,28 +543,16 @@ var lang="en";
|
||||
<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-Akane_16-1-5" style="display:none">
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Akane (16.1.5)</h5>
|
||||
16.1.5<br>
|
||||
<ul>
|
||||
<li>バグ,脆弱性修正</li>
|
||||
</ul>
|
||||
16.1.4<br>
|
||||
<ul>
|
||||
<li>全てバグ修正(5件ほど)</li>
|
||||
</ul>
|
||||
ご迷惑をおかけしたことをお詫び申し上げます。
|
||||
16.1.3<br>
|
||||
<ul>
|
||||
<li>セカンダリートゥートボタン</li>
|
||||
<li>読み上げや絵文字に関するバグの修正</li>
|
||||
<li>公式ヘルプサイト:<a href="https://docs.thedesk.top">TheDesk Docs</a></li>
|
||||
</ul>
|
||||
いつの間にかリアルタイムユーザー数が100を超えていました。皆様のご愛顧に感謝申し上げます。<br>
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>Support TheDesk!</h3>
|
||||
|
@@ -877,7 +877,29 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.<br>
|
||||
|
||||
<h5>#InstanceTicker</h5>
|
||||
The MIT License (MIT)<br>
|
||||
<br>
|
||||
ORIGINAL CSS © 小田急don <a href="https://odakyu.app/@ars42525">https://odakyu.app/@ars42525</a><br>
|
||||
#InstanceTicker © weep.me <a href="https://weep.me/@weep">https://weep.me/@weep</a><br>
|
||||
<br>
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:<br>
|
||||
<br>
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.<br>
|
||||
<br>
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.<br>
|
||||
</article>
|
||||
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>Back</a>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
|
@@ -14,8 +14,7 @@
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/setting.lang.js"></script>
|
||||
<script>var lang="en";</script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.en.js"></script>
|
||||
<h4>Preferences</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -40,7 +39,7 @@
|
||||
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
|
||||
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
|
||||
<br>
|
||||
<h5>Popup notification(on window)</h5>Hide to set "0"
|
||||
<h5>Popup notification(on Windows)</h5>Hide to set "0"
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">sec
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
@@ -59,7 +58,12 @@
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Font</h5>
|
||||
Set local font<br>
|
||||
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>
|
||||
<br>
|
||||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
@@ -86,12 +90,12 @@
|
||||
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">Relative</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">Absoltue</label>
|
||||
<label for="absolute">Absolute</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">Both relative and absolute</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">Mixed</label>
|
||||
<h5>Instance unique locale</h5>This value is available on some Japanese instances
|
||||
<h5>Server's unique locale</h5>This value is available on some Japanese servers
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">Yes</label>
|
||||
@@ -153,8 +157,8 @@
|
||||
<h5>Auto folding</h5>
|
||||
TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">linesaboveor
|
||||
<input type="text" style="width:50px" id="letters">lettersabove
|
||||
<input type="text" style="width:50px" id="sentence">lines above or
|
||||
<input type="text" style="width:50px" id="letters">letters above
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Height of images
|
||||
@@ -162,6 +166,12 @@
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Enable #InstanceTicker</h5>
|
||||
Show colorful stickers about tooters' server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">No</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
@@ -177,8 +187,8 @@
|
||||
<h5>Alert before posting a long toot.</h5>
|
||||
Show dialog whether you make too-long text hidden.
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">linesaboveor
|
||||
<input type="text" style="width:50px" id="cw_letters">lettersabove
|
||||
<input type="text" style="width:50px" id="cw_sentence">lines above or
|
||||
<input type="text" style="width:50px" id="cw_letters">letters above
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Always CW set</h5>
|
||||
@@ -198,9 +208,9 @@
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">Direct</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">Memory(memorized as each instance)</label>
|
||||
<label for="memory">Memory(memorized as each server)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">Default of your visibility(Set on preferences of Mastodon instance)</label>
|
||||
<label for="server">Default of your visibility(Set on preferences of Mastodon server)</label>
|
||||
<br>
|
||||
<h5>Posting images preferences</h5>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
|
||||
@@ -298,6 +308,22 @@
|
||||
<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>
|
||||
<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" />
|
||||
<label for="itunes">iTunes</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
|
||||
<label for="npmm">MediaMonkey</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<label for="winamp">Winamp</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
|
||||
<label for="wmp">WMP</label>
|
||||
<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>
|
||||
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>
|
||||
@@ -308,8 +334,9 @@
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Refer:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
iTunes NowPlaying:{url} is disabled, but composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre} are available.<br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}<br>
|
||||
Windows:{song}:Song name/{album}:Album name/{artist}:Artist name<br>
|
||||
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
|
||||
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
|
||||
|
@@ -72,7 +72,7 @@ a,button,input,label,i{
|
||||
<div id="checkbox">
|
||||
Options:<br>
|
||||
<input type="checkbox" class="filled-in" id="portable" value="true" />
|
||||
<label for="portable">Poetable ver.</label><br>
|
||||
<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>
|
||||
|
@@ -25,9 +25,8 @@ body,html{overflow-y: scroll;}
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
||||
<script>
|
||||
var lang="ja";
|
||||
var misskeytoken=false;
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
@@ -43,7 +42,7 @@ body,html{overflow-y: scroll;}
|
||||
<div class="col s6">
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
|
||||
<div id="ins-suggest"></div>
|
||||
Windows以外でご使用の方やPleromaにログインされる方はチェックを入れて下さい。<br>
|
||||
Windows以外でご使用の方やPleromaにログインされる方はチェックを入れて下さい。ログインできない場合、チェックを外してください。<br>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<label for="linux">コードセットアップ</label><br>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
@@ -80,7 +79,7 @@ Administered by:<a id="ins-admin"></a><br>
|
||||
<img src="./img/loading.svg" id="ins-prof" width="200"><br>
|
||||
<br>
|
||||
ドメイン名:<span id="ins-name"></span><br>
|
||||
接続インスタンス数:<span id="ins-connect"></span>個<br>
|
||||
接続サーバー数:<span id="ins-connect"></span>個<br>
|
||||
トゥート数:<span id="ins-toot"></span>個<br>
|
||||
ユーザー数:<span id="ins-user"></span>ユーザー数<br>
|
||||
コネクション:<span id="ins-per"></span>%<br>
|
||||
|
109
app/view/ja/beta.html
Normal file
109
app/view/ja/beta.html
Normal file
@@ -0,0 +1,109 @@
|
||||
<!doctype html>
|
||||
<!--Vue.jsでなんかTLづくりやってみようみたいなやつ。そっ閉じ推奨。-->
|
||||
<html lang="ja">
|
||||
<head>
|
||||
<title>Beta - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<a href="index.html">Back</a>
|
||||
<div id="tl">
|
||||
<div :id="pub_id" class="cvo" :class="boostback" v-bind:class="{ 'faved': fav_app, 'rted': rt_app, 'pinned':pin_app,'hasmedia':hasmedia}"
|
||||
:toot-id="id" :unique-id="uniqueid" :data-medias="media_ids" :unixtime="unixtime" :data-notfIndv="if_notf"
|
||||
@mouseover="mov('mv')" @click="mov('cl')" @mouseout="resetmv('mv')">
|
||||
<div class="area-notice"><span class="gray sharesta"><span v-if="notice"><i class="big-text fa" :class="rticon"></i>{{dis_name}}(@{{acct}})<br></span></span></div>
|
||||
<div class="area-icon">
|
||||
<a @click="udg" :user="acct" class="udg"><img :src="avatar" width="40" class="prof-img" :user="acct"></a>
|
||||
<a @click="udg" :user="acct" class="udg" v-if="notice"><img :src="avatar" width="40" class="notf-icon prof-img" :user="acct"></a>
|
||||
</div>
|
||||
|
||||
Yeah
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var app = new Vue({
|
||||
el: '#tl',
|
||||
data: {
|
||||
tlid:0,
|
||||
pub_id:"pub_123",
|
||||
id: 123,
|
||||
uniqueid:1234,
|
||||
boostback:'a',
|
||||
fav_app:true,
|
||||
rt_app:true,
|
||||
pin_app:false,
|
||||
hasmedia:false,
|
||||
media_ids:'',
|
||||
unixtime:'1238954',
|
||||
if_notf:''
|
||||
},
|
||||
methods: {
|
||||
mov: function (c) {
|
||||
mov(this.id,this.tlid,c)
|
||||
},
|
||||
resetmv: function (c) {
|
||||
resetmv(c)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
<script>
|
||||
function mov(a,b,c){
|
||||
console.log(a+":"+b+":"+c);
|
||||
}
|
||||
function resetmv(a){
|
||||
console.log(a);
|
||||
}
|
||||
</script>
|
||||
<!--@mouseover="mov({{id}},{{tlid}},'mv')" @click="mov({{id}},{{tlid}},'cl')" @mouseout="resetmv('mv')"-->
|
||||
<!--
|
||||
<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 onmouseover="mov(toot.id,tlid,mv)" onclick="mov(toot.id,tlid,cl)" onmouseout="resetmv(mv)">
|
||||
<div class="area-notice"><span class="gray sharesta">noticehome</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.acctlocked</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_parse_clickcopyurl[lang])"><i class="fa fa-clock-o"></i>
|
||||
date(toot.created_at, datetype)</span>
|
||||
</div></div>
|
||||
<div class="area-toot"><span class="api_spoil cw_text_toot.id">spoilspoiler_show</span><span class="toot spoiler">content</span>
|
||||
viewer
|
||||
</div><div class="area-additional"><span class="additional">analyze</span>mentionstags</div>
|
||||
<div class="area-vis"></div>
|
||||
<div class="area-actions mouseover">
|
||||
<div class="action">vis</div>
|
||||
<div class="action antinoauth"><a onclick="detEx(toot.url,main)" class="waves-effect waves-dark details" style="padding:0">lang_parse_det[lang]</a></div>
|
||||
<div class="action disp["re"] noauth"><a onclick="re(toot.id,toot.account.acct,acct_id,visen)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_replyto[lang]">
|
||||
<i class="fa fa-share"></i><span class="rep_ct">replyct</a></span></a></div>
|
||||
<div class="action can_rt disp["rt"] noauth"><a onclick="rt(toot.id,acct_id,tlid)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_bt[lang]"><i class="text-darken-3 fa fa-retweet
|
||||
if_rt rt_toot.id"></i><span class="rt_ct">toot.reblogs_count
|
||||
</span></a></div>
|
||||
<div class="action can_rt disp["qt"] noauth"><a onclick="qt(toot.id,acct_id
|
||||
,toot.account.acct ,toot.url
|
||||
)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_quote[lang]"><i class="text-darken-3 fa fa-quote-right"></i></a></div>
|
||||
<div class="action disp["fav"] noauth"><a onclick="fav(toot.id,acct_id
|
||||
,tlid
|
||||
)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_fav[lang]"><i class="fa text-darken-3 fa-star
|
||||
if_fav fav_toot.id"></i><span class="fav_ct">toot.favourites_count
|
||||
</a></span></div>
|
||||
<div class="if_mine action disp["del"] noauth"><a onclick="del(toot.id,
|
||||
acct_id
|
||||
)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_del[lang]"><i class="fa fa-trash-o"></i></a></div>
|
||||
<div class="if_mine action pin disp["pin"] noauth"><a onclick="pin(toot.id,
|
||||
acct_id
|
||||
)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_pin[lang]"><i class="fa fa-map-pin pin_toot.id if_pin"></i></a></div>
|
||||
<div class="if_mine action disp["red"] noauth"><a onclick="redraft(toot.id,
|
||||
acct_id
|
||||
)" class="waves-effect waves-dark btn-flat" style="padding:0" title="lang_parse_redraft[lang]"><i class="material-icons">redo</i></a></div>trans
|
||||
<span class="cbadge viabadge waves-effect viashow mine_via" onclick="client($.strip_tags(via))" title="via $.strip_tags(via)">via
|
||||
via
|
||||
</span>
|
||||
</div><div class="area-side mouseover"><div class="action if_mine noauth"><a onclick="toggleAction(toot.id,tlid,acct_id)" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>
|
||||
<div class="action noauth"><a onclick="details(toot.id,acct_id
|
||||
,tlid)" class="waves-effect waves-dark btn-flat details" style="padding:0"><i class="text-darken-3 material-icons">more_vert</i></a></div>
|
||||
</div></div>
|
||||
</div></div>
|
||||
-->
|
@@ -18,15 +18,14 @@
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/parse.lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/version.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Akane (16.1.5)";
|
||||
var ver="Miria (17.0.1)-beta2";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -34,8 +33,7 @@ var ver="Akane (16.1.5)";
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
var lang="ja";
|
||||
verck(ver);
|
||||
verck(ver,winstore);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
@@ -125,9 +123,8 @@ var lang="ja";
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1' id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray" onclick="fileselect()" title="ファイルを選択">photo_library</i></span></span>
|
||||
<i class="waves-effect gray material-icons" onclick="adobe()" title="Adobeフォトエディタ">format_shapes</i>
|
||||
<i class="waves-effect gray material-icons" onclick="emojiToggle()" id="emojibtn" title="絵文字を挿入">tag_faces</i>
|
||||
<a class="pointer waves-effect gray" id="npbtn" title="NowPlaying[クリックでSpotify(アカウント連携が必要です)/control+クリックでiTunes(macOSが必要です)]"><i class="material-icons" style="font-size:24px;">music_note</i></a>
|
||||
<i class="waves-effect gray material-icons dropdown-button" data-activates='dropdown2'>more_vert</i>
|
||||
<i class="material-icons nex gray waves-effect" title="トゥートボックスのクリア(Ctrl+Shit+C)" data-trans-title="post_box_clear" id="clear">clear</i>
|
||||
</div>
|
||||
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
|
||||
@@ -140,6 +137,9 @@ var lang="ja";
|
||||
</span>
|
||||
<br>
|
||||
<input type="text" id="cw-text" placeholder="警告文" class="mize" style="margin:0">
|
||||
<div id="sch-box">時間指定投稿<br><span class="sml">2.7.0~ 5分以内には投稿できません。サーバーの時計が正確とは限りません。</span><br>
|
||||
<input type="datetime-local" id="sch-date" placeholder="時間指定投稿" class="datepicker" style="margin:0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 公開範囲 Dropdown Structure -->
|
||||
@@ -164,6 +164,21 @@ var lang="ja";
|
||||
<a onclick="vis('direct')" class="disabled direct">ダイレクト(Direct)</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- その他 Dropdown Structure -->
|
||||
<ul id='dropdown2' class='dropdown-content'>
|
||||
<li>
|
||||
<a onclick="adobe()">Adobeフォトエディタ</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('spotify');">NowPlaying(Spotify)</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('itunes');">NowPlaying</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="schedule();">時間指定投稿</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
<input type="hidden" id="media">
|
||||
@@ -176,7 +191,7 @@ var lang="ja";
|
||||
</div>
|
||||
<!--絵文字ピッカー-->
|
||||
<div id="emoji" class="hide shared z-depth-4">
|
||||
<span class="gray sml">インスタンスによって実装が異なります。
|
||||
<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>
|
||||
@@ -528,28 +543,16 @@ var lang="ja";
|
||||
<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-Akane_16-1-5" style="display:none">
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Akane (16.1.5)</h5>
|
||||
16.1.5<br>
|
||||
<ul>
|
||||
<li>バグ,脆弱性修正</li>
|
||||
</ul>
|
||||
16.1.4<br>
|
||||
<ul>
|
||||
<li>全てバグ修正(5件ほど)</li>
|
||||
</ul>
|
||||
ご迷惑をおかけしたことをお詫び申し上げます。
|
||||
16.1.3<br>
|
||||
<ul>
|
||||
<li>セカンダリートゥートボタン</li>
|
||||
<li>読み上げや絵文字に関するバグの修正</li>
|
||||
<li>公式ヘルプサイト:<a href="https://docs.thedesk.top">TheDesk Docs</a></li>
|
||||
</ul>
|
||||
いつの間にかリアルタイムユーザー数が100を超えていました。皆様のご愛顧に感謝申し上げます。<br>
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>ご支援ください。</h3>
|
||||
|
@@ -876,6 +876,29 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.<br>
|
||||
<h5>#InstanceTicker</h5>
|
||||
The MIT License (MIT)<br>
|
||||
<br>
|
||||
ORIGINAL CSS © 小田急don <a href="https://odakyu.app/@ars42525">https://odakyu.app/@ars42525</a><br>
|
||||
#InstanceTicker © weep.me <a href="https://weep.me/@weep">https://weep.me/@weep</a><br>
|
||||
<br>
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:<br>
|
||||
<br>
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.<br>
|
||||
<br>
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.<br>
|
||||
</article>
|
||||
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
|
@@ -14,8 +14,7 @@
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/setting.lang.js"></script>
|
||||
<script>var lang="ja";</script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.ja.js"></script>
|
||||
<h4>設定</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -59,7 +58,12 @@
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>フォント</h5>
|
||||
ローカルフォントを指定します。<br>
|
||||
「選択」を押してフォントを選んでください。<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>
|
||||
<br>
|
||||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
@@ -91,7 +95,7 @@
|
||||
<label for="double">両方表示</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">混合表示</label>
|
||||
<h5>独自ロケールを使用</h5>対応インスタンスではそのインスタンスにあわせた言語表示ができます。
|
||||
<h5>独自ロケールを使用</h5>対応サーバーではそのサーバーにあわせた言語表示ができます。
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">はい</label>
|
||||
@@ -125,9 +129,9 @@
|
||||
<br>
|
||||
<h5>タグタイムラインの表示範囲</h5>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
|
||||
<label for="t_all">接続しているインスタンス</label>
|
||||
<label for="t_all">接続しているサーバー</label>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
|
||||
<label for="t_local">検索対象のインスタンスのみ</label>
|
||||
<label for="t_local">検索対象のサーバーのみ</label>
|
||||
<br>
|
||||
<h5>viaを表示する</h5>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
|
||||
@@ -153,8 +157,8 @@
|
||||
<h5>指定行数以上を折りたたむ</h5>
|
||||
5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">行以上または
|
||||
<input type="text" style="width:50px" id="letters">文字以上
|
||||
<input type="text" style="width:50px" id="sentence">行 以上 または
|
||||
<input type="text" style="width:50px" id="letters">文字 以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>画像の高さ
|
||||
@@ -162,6 +166,12 @@
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>#InstanceTickerを使う</h5>
|
||||
トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href="https://cdn.weep.me/mastodon/">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">いいえ</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
@@ -177,8 +187,8 @@
|
||||
<h5>長文投稿時に警告</h5>
|
||||
下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">行以上または
|
||||
<input type="text" style="width:50px" id="cw_letters">文字以上
|
||||
<input type="text" style="width:50px" id="cw_sentence">行 以上 または
|
||||
<input type="text" style="width:50px" id="cw_letters">文字 以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>標準でCWを設定</h5>
|
||||
@@ -198,7 +208,7 @@
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">ダイレクト(Direct)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">前回の投稿設定を記憶する(インスタンスごとに記憶されます)</label>
|
||||
<label for="memory">前回の投稿設定を記憶する(サーバーごとに記憶されます)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">マストドンアカウント設定の既定値</label>
|
||||
<br>
|
||||
@@ -298,6 +308,22 @@
|
||||
<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>
|
||||
<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" />
|
||||
<label for="itunes">iTunes</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
|
||||
<label for="npmm">MediaMonkey</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<label for="winamp">Winamp</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
|
||||
<label for="wmp">WMP</label>
|
||||
<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>
|
||||
<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
|
||||
<h5>アカウントの連携</h5>
|
||||
APIの性質上,thedesk.topへアクセスします。<br>
|
||||
@@ -308,12 +334,13 @@
|
||||
以下を編集してテンプレートを変更できます。<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
テンプレート:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
|
||||
iTunes NowPlayingでも{url}以外のテンプレートに従ってトゥートされます。また、作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}が有効です。<br>
|
||||
Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
|
||||
macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}<br>
|
||||
Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名<br>
|
||||
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
|
||||
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
|
||||
<h5>Spotifyでアルバムアートワークを添付する</h5>
|
||||
<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
|
||||
<span class="imas hide">この設定はCINDERELLA NowPlaying(imastodon.net限定)にも適用されます。</span><br>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<label for="awk_yes">はい</label>
|
||||
@@ -337,7 +364,7 @@
|
||||
0-100まで、デフォルトは100。<br>
|
||||
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100" style="width:500px; max-width:100%"/></p>
|
||||
<h5>テスト</h5>
|
||||
<input type="text" style="width:350px" id="voicetxt" value="これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチインスタンスやマルチカラムに対応しています。">
|
||||
<input type="text" style="width:350px" id="voicetxt" value="これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。">
|
||||
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()" id="testplay">再生/停止</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">設定</button>
|
||||
|
@@ -25,9 +25,8 @@ body,html{overflow-y: scroll;}
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.{{lang}}.js"></script>
|
||||
<script>
|
||||
var lang="{{lang}}";
|
||||
var misskeytoken=false;
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
|
@@ -18,15 +18,14 @@
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/parse.lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.{{lang}}.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/version.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Akane (16.1.5)";
|
||||
var ver="{{versionLetter}}";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
@@ -34,8 +33,7 @@ var ver="Akane (16.1.5)";
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
var lang="{{lang}}";
|
||||
verck(ver);
|
||||
verck(ver,winstore);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
@@ -125,9 +123,8 @@ var lang="{{lang}}";
|
||||
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1' id="vis-icon">public</i>
|
||||
<a class="waves-effect gray" id="cw" onclick="cw()" title="{{cwDes}}">CW</a>
|
||||
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray" onclick="fileselect()" title="{{selfile}}">photo_library</i></span></span>
|
||||
<i class="waves-effect gray material-icons" onclick="adobe()" title="{{adobephoto}}">format_shapes</i>
|
||||
<i class="waves-effect gray material-icons" onclick="emojiToggle()" id="emojibtn" title="{{insertEmoji}}">tag_faces</i>
|
||||
<a class="pointer waves-effect gray" id="npbtn" title="{{NowPlayingDes}}"><i class="material-icons" style="font-size:24px;">music_note</i></a>
|
||||
<i class="waves-effect gray material-icons dropdown-button" data-activates='dropdown2'>more_vert</i>
|
||||
<i class="material-icons nex gray waves-effect" title="{{clearToot}}(Ctrl+Shit+C)" data-trans-title="post_box_clear" id="clear">clear</i>
|
||||
</div>
|
||||
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
|
||||
@@ -140,6 +137,9 @@ var lang="{{lang}}";
|
||||
</span>
|
||||
<br>
|
||||
<input type="text" id="cw-text" placeholder="{{cwtext}}" class="mize" style="margin:0">
|
||||
<div id="sch-box">{{postat}}<br><span class="sml">{{scheduleWarn}}</span><br>
|
||||
<input type="datetime-local" id="sch-date" placeholder="{{schedule}}" class="datepicker" style="margin:0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 公開範囲 Dropdown Structure -->
|
||||
@@ -164,6 +164,21 @@ var lang="{{lang}}";
|
||||
<a onclick="vis('direct')" class="disabled direct">{{directJP}}(Direct)</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- その他 Dropdown Structure -->
|
||||
<ul id='dropdown2' class='dropdown-content'>
|
||||
<li>
|
||||
<a onclick="adobe()">{{adobephoto}}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('spotify');">{{NPSpotify}}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="nowplaying('itunes');">{{NPiTunes}}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="schedule();">{{schedule}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--hidden area-->
|
||||
<input type="hidden" id="reply">
|
||||
<input type="hidden" id="media">
|
||||
@@ -528,28 +543,16 @@ var lang="{{lang}}";
|
||||
<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-Akane_16-1-5" style="display:none">
|
||||
<div id="release-Miria_17-0-1" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Akane (16.1.5)</h5>
|
||||
16.1.5<br>
|
||||
<ul>
|
||||
<li>バグ,脆弱性修正</li>
|
||||
</ul>
|
||||
16.1.4<br>
|
||||
<ul>
|
||||
<li>全てバグ修正(5件ほど)</li>
|
||||
</ul>
|
||||
ご迷惑をおかけしたことをお詫び申し上げます。
|
||||
16.1.3<br>
|
||||
<ul>
|
||||
<li>セカンダリートゥートボタン</li>
|
||||
<li>読み上げや絵文字に関するバグの修正</li>
|
||||
<li>公式ヘルプサイト:<a href="https://docs.thedesk.top">TheDesk Docs</a></li>
|
||||
</ul>
|
||||
いつの間にかリアルタイムユーザー数が100を超えていました。皆様のご愛顧に感謝申し上げます。<br>
|
||||
<h5>Release Note Miria (17.0.1)</h5>
|
||||
バグ修正<br>
|
||||
(Mastodon 2.7)<b>時間指定投稿が利用できます。</b><br>
|
||||
(Mastodon 2.7)<b>「インスタンス」を「サーバー」に変更</b><br>
|
||||
|
||||
</div>
|
||||
<br><br>
|
||||
<h3>{{supportme}}</h3>
|
||||
|
@@ -2,14 +2,14 @@
|
||||
"list":"List of accounts",
|
||||
"back":"Back",
|
||||
"add":"Add an account",
|
||||
"codesetupwarn":"Check if TheDesk is not working on Windows, you want to login Pleroma instance.",
|
||||
"codesetupwarn":"Check if TheDesk is not working on Windows, you want to login Pleroma servers, you cannot login when it checked.",
|
||||
"codesetup":"Code setup",
|
||||
"mainacct":"Main an account",
|
||||
"selacct":"Select an account",
|
||||
"codepastewarn":"Paste the code and close browser.",
|
||||
"codepaste":"Code",
|
||||
"domain":"Domain",
|
||||
"connect":"Federated instances",
|
||||
"connect":"Federated servers",
|
||||
"toots":"Toots",
|
||||
"users":"Users",
|
||||
"users2":"users",
|
||||
|
@@ -2,14 +2,14 @@
|
||||
"list":"アカウント一覧",
|
||||
"back":"戻る",
|
||||
"add":"アカウントを追加",
|
||||
"codesetupwarn":"Windows以外でご使用の方やPleromaにログインされる方はチェックを入れて下さい。",
|
||||
"codesetupwarn":"Windows以外でご使用の方やPleromaにログインされる方はチェックを入れて下さい。ログインできない場合、チェックを外してください。",
|
||||
"codesetup":"コードセットアップ",
|
||||
"mainacct":"メインアカウント",
|
||||
"selacct":"アカウントを選択",
|
||||
"codepastewarn":"指定されたコードを貼り付けてください。ログインウィンドウは閉じていただいて構いません。",
|
||||
"codepaste":"コードを入力",
|
||||
"domain":"ドメイン名",
|
||||
"connect":"接続インスタンス数",
|
||||
"connect":"接続サーバー数",
|
||||
"toots":"トゥート数",
|
||||
"users":"ユーザー数",
|
||||
"users2":"人",
|
||||
|
@@ -9,7 +9,11 @@
|
||||
"selfile":"Attach..",
|
||||
"adobephoto":"Adobe Photo Editor",
|
||||
"insertEmoji":"Emojis",
|
||||
"NowPlayingDes":"NowPlaying[Click to insert info of Spotify(account link is required.)/control+click to insert that of iTunes(macOS)]",
|
||||
"NPSpotify":"NowPlaying(Spotify)",
|
||||
"NPiTunes":"NowPlaying",
|
||||
"schedule":"Scheduled toot",
|
||||
"postat":"Post at",
|
||||
"scheduleWarn":"2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
"clearToot":"Clear toot box",
|
||||
"replyMode":"Reply",
|
||||
"no":"No",
|
||||
|
@@ -9,7 +9,11 @@
|
||||
"selfile":"ファイルを選択",
|
||||
"adobephoto":"Adobeフォトエディタ",
|
||||
"insertEmoji":"絵文字を挿入",
|
||||
"NowPlayingDes":"NowPlaying[クリックでSpotify(アカウント連携が必要です)/control+クリックでiTunes(macOSが必要です)]",
|
||||
"NPSpotify":"NowPlaying(Spotify)",
|
||||
"NPiTunes":"NowPlaying",
|
||||
"schedule":"時間指定投稿",
|
||||
"postat":"時間指定投稿",
|
||||
"scheduleWarn":"2.7.0~ 5分以内には投稿できません。サーバーの時計が正確とは限りません。",
|
||||
"clearToot":"トゥートボックスのクリア",
|
||||
"replyMode":"返信モード",
|
||||
"no":"いいえ",
|
||||
@@ -25,7 +29,7 @@
|
||||
"localJP":"ローカル限定",
|
||||
"directJP":"ダイレクト",
|
||||
"sectoot":"セカンダリートゥート",
|
||||
"emojiWarn":"インスタンスによって実装が異なります。",
|
||||
"emojiWarn":"サーバーによって実装が異なります。",
|
||||
"emojiInsertWarn":"一部絵文字は入力できません。",
|
||||
"refreshEmoji":"絵文字更新",
|
||||
"closeThisBox":"このボックスを閉じる",
|
||||
|
@@ -4,13 +4,14 @@
|
||||
"yes":"Yes",
|
||||
"no":"No",
|
||||
"change":"Change",
|
||||
"select":"Select",
|
||||
"env":"System Preferences",
|
||||
"setlang":"Languages",
|
||||
"backup":"Import and export of preferences",
|
||||
"import":"Import",
|
||||
"export":"Export",
|
||||
"theme":"Themes",
|
||||
"popup":"Popup notification(on window)",
|
||||
"popup":"Popup notification(on Windows)",
|
||||
"popupwarn":"Hide to set \"0\"",
|
||||
"s":"sec",
|
||||
"nativenotf":"Native notification",
|
||||
@@ -20,7 +21,7 @@
|
||||
"minwidthwarn":"Scroll bar will be shown when your window size is more than ammounts of columns.",
|
||||
"above":"above",
|
||||
"font":"Font",
|
||||
"fontwarn":"Set local font",
|
||||
"fontwarn":"Select your favorite font to 'Select'",
|
||||
"fontsize":"Font size",
|
||||
"savefolder":"Folder to save",
|
||||
"savefolderwarn":"TheDesk uses this value when it try to save pictures or take screenshots.",
|
||||
@@ -31,11 +32,11 @@
|
||||
"absolutetime":"Absolute format:\"23:25:21\",\"2017/12/30 23:59:00\"",
|
||||
"mixtime":"Mixed format:toots posted today are relative-format, others are absolute-format.",
|
||||
"relativesel":"Relative",
|
||||
"absolutesel":"Absoltue",
|
||||
"absolutesel":"Absolute",
|
||||
"doublesel":"Both relative and absolute",
|
||||
"mixsel":"Mixed",
|
||||
"locale":"Instance unique locale",
|
||||
"localewarn":"This value is available on some Japanese instances",
|
||||
"locale":"Server's unique locale",
|
||||
"localewarn":"This value is available on some Japanese servers",
|
||||
"nswf":"Hide NSFW pictures",
|
||||
"nsfwwarn":"Strong blur effect",
|
||||
"cw":"Hide CW contents",
|
||||
@@ -62,6 +63,8 @@
|
||||
"letters":"letters",
|
||||
"or":"or",
|
||||
"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.",
|
||||
"post":"Posting Preferences",
|
||||
"autocw":"Alert before posting a long toot.",
|
||||
"autocwwarn":"Show dialog whether you make too-long text hidden.",
|
||||
@@ -72,8 +75,8 @@
|
||||
"unlisted":"Unlisted",
|
||||
"private":"Private",
|
||||
"direct":"Direct",
|
||||
"memory":"Memory(memorized as each instance)",
|
||||
"useapi":"Default of your visibility(Set on preferences of Mastodon instance)",
|
||||
"memory":"Memory(memorized as each server)",
|
||||
"useapi":"Default of your visibility(Set on preferences of Mastodon server)",
|
||||
"postimg":"Posting images preferences",
|
||||
"showurl":"Insert media URL",
|
||||
"nourl":"Insert nothig",
|
||||
@@ -104,6 +107,8 @@
|
||||
"useerempwarn":"Set on users data modals.",
|
||||
"empcolorwarn":"Use this color to emphasis",
|
||||
"spotify":"Spotify and NowPlaying Preferences",
|
||||
"npProvider":"NowPlaying Provider(Windows)",
|
||||
"npPeoviderWarn":"macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a> is required.",
|
||||
"spotifynote1":"Click ",
|
||||
"spotifynote2":"icon to NowPlaying",
|
||||
"link":"Account Connection",
|
||||
@@ -112,8 +117,9 @@
|
||||
"disconnect":"Disconnect",
|
||||
"templeteedit":"Edit a template",
|
||||
"templeteeditwarn":"",
|
||||
"templete1":"Refer:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
"templete2":"iTunes NowPlaying:{url} is disabled, but composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre} are available.",
|
||||
"templete1":"Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
"templete2":"macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
|
||||
"templete3":"Windows:{song}:Song name/{album}:Album name/{artist}:Artist name",
|
||||
"postartwork":"Attach an Artwork of Spotify",
|
||||
"tts":"TTS(text to speech) Preferences",
|
||||
"speed":"Speed",
|
||||
@@ -149,4 +155,4 @@
|
||||
"sushi":"Give me a sushi!",
|
||||
"checkup":"Check update",
|
||||
"ossJP":""
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@
|
||||
"yes":"はい",
|
||||
"no":"いいえ",
|
||||
"change":"変更",
|
||||
"select":"選択",
|
||||
"env":"環境設定",
|
||||
"setlang":"言語",
|
||||
"backup":"設定のインポートとエクスポート",
|
||||
@@ -20,7 +21,7 @@
|
||||
"minwidthwarn":"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
|
||||
"above":"以上",
|
||||
"font":"フォント",
|
||||
"fontwarn":"ローカルフォントを指定します。",
|
||||
"fontwarn":"「選択」を押してフォントを選んでください。",
|
||||
"fontsize":"フォントサイズ",
|
||||
"savefolder":"デフォルトの保存先",
|
||||
"savefolderwarn":"画像ダウンロードやスクリーンショットに影響します。",
|
||||
@@ -35,7 +36,7 @@
|
||||
"doublesel":"両方表示",
|
||||
"mixsel":"混合表示",
|
||||
"locale":"独自ロケールを使用",
|
||||
"localewarn":"対応インスタンスではそのインスタンスにあわせた言語表示ができます。",
|
||||
"localewarn":"対応サーバーではそのサーバーにあわせた言語表示ができます。",
|
||||
"nswf":"非表示設定の画像(NSFW)を隠す",
|
||||
"nsfwwarn":"きつめのぼかしがかかります。",
|
||||
"cw":"非表示設定のテキスト(CW)を隠す",
|
||||
@@ -48,8 +49,8 @@
|
||||
"boxabs":"枠外クリックで閉じない(起動時に展開)",
|
||||
"boxno":"投稿後も隠さない",
|
||||
"tag":"タグタイムラインの表示範囲",
|
||||
"tagfed":"接続しているインスタンス",
|
||||
"taglocal":"検索対象のインスタンスのみ",
|
||||
"tagfed":"接続しているサーバー",
|
||||
"taglocal":"検索対象のサーバーのみ",
|
||||
"via":"viaを表示する",
|
||||
"mouseover":"アクションメニューを非表示",
|
||||
"mouseoverwarn":"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。",
|
||||
@@ -62,6 +63,8 @@
|
||||
"letters":"文字",
|
||||
"or":"または",
|
||||
"imgheight":"画像の高さ",
|
||||
"ticker":"#InstanceTickerを使う",
|
||||
"tickerwarn":"トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://cdn.weep.me/mastodon/\">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.",
|
||||
"post":"投稿設定",
|
||||
"autocw":"長文投稿時に警告",
|
||||
"autocwwarn":"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
||||
@@ -72,7 +75,7 @@
|
||||
"unlisted":"未収載(Unlisted)",
|
||||
"private":"非公開(Private)",
|
||||
"direct":"ダイレクト(Direct)",
|
||||
"memory":"前回の投稿設定を記憶する(インスタンスごとに記憶されます)",
|
||||
"memory":"前回の投稿設定を記憶する(サーバーごとに記憶されます)",
|
||||
"useapi":"マストドンアカウント設定の既定値",
|
||||
"postimg":"画像投稿設定",
|
||||
"showurl":"画像を投稿し、画像のURLを最後に表示",
|
||||
@@ -104,6 +107,8 @@
|
||||
"useerempwarn":"各ユーザーのデータ表示画面で設定できます。",
|
||||
"empcolorwarn":"強調色(テーマによって異なります。)",
|
||||
"spotify":"SpotifyとNowPlayingの設定",
|
||||
"npProvider":"NowPlayingのソース(Windows)",
|
||||
"npPeoviderWarn":"macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href=\"http://poiru.github.com/foo-cad/\">foo_cad plugin</a>が必要です。",
|
||||
"spotifynote1":"",
|
||||
"spotifynote2":"ボタンから簡単にNowPlayingができます。",
|
||||
"link":"アカウントの連携",
|
||||
@@ -112,9 +117,10 @@
|
||||
"disconnect":"切断",
|
||||
"templeteedit":"テンプレートの編集",
|
||||
"templeteeditwarn":"以下を編集してテンプレートを変更できます。",
|
||||
"templete1":"テンプレート:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL",
|
||||
"templete2":"iTunes NowPlayingでも{url}以外のテンプレートに従ってトゥートされます。また、作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}が有効です。",
|
||||
"postartwork":"Spotifyでアルバムアートワークを添付する",
|
||||
"templete1":"Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL",
|
||||
"templete2":"macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}",
|
||||
"templete3":"Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名",
|
||||
"postartwork":"アルバムアートワークを添付する(Spotify/Windows)",
|
||||
"tts":"読み上げの設定",
|
||||
"speed":"読み上げの速さ",
|
||||
"speedwarn":"1-100まで、デフォルトは10。",
|
||||
@@ -123,7 +129,7 @@
|
||||
"vol":"読み上げの音量",
|
||||
"volwarn":"0-100まで、デフォルトは100。",
|
||||
"test":"テスト",
|
||||
"sample":"これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチインスタンスやマルチカラムに対応しています。",
|
||||
"sample":"これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。",
|
||||
"playstop":"再生/停止",
|
||||
"back":"戻る",
|
||||
"keyscs":"キーボードショートカット一覧",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"updatehere":"Get latest TheDesk",
|
||||
"download":"Start",
|
||||
"portable":"Poetable ver.",
|
||||
"portable":"Portable ver.",
|
||||
"winzip":"Durling unzippng, TheDesk may freeze. It takes several seconds.",
|
||||
"unrewrite":"Not rewrite",
|
||||
"sureupd":"You may lose a cool experience!",
|
||||
@@ -12,4 +12,4 @@
|
||||
"problem2":"Please download on <a href=\"https://thedesk.top\">Oficial HP</a>.",
|
||||
"continue":"Continue updating",
|
||||
"dlnow":"Downloading..."
|
||||
}
|
||||
}
|
||||
|
@@ -14,8 +14,7 @@
|
||||
<script type="text/javascript" src="../../js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/setting.lang.js"></script>
|
||||
<script>var lang="{{lang}}";</script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.{{lang}}.js"></script>
|
||||
<h4>{{setting}}</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
@@ -60,6 +59,11 @@
|
||||
<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>
|
||||
<br>
|
||||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
@@ -153,8 +157,8 @@
|
||||
<h5>{{autofold}}</h5>
|
||||
{{autofoldwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">{{lines}}{{above}}{{or}}
|
||||
<input type="text" style="width:50px" id="letters">{{letters}}{{above}}
|
||||
<input type="text" style="width:50px" id="sentence">{{lines}} {{above}} {{or}}
|
||||
<input type="text" style="width:50px" id="letters">{{letters}} {{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{imgheight}}
|
||||
@@ -162,6 +166,12 @@
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{ticker}}</h5>
|
||||
{{tickerwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">{{no}}</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
@@ -177,8 +187,8 @@
|
||||
<h5>{{autocw}}</h5>
|
||||
{{autocwwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">{{lines}}{{above}}{{or}}
|
||||
<input type="text" style="width:50px" id="cw_letters">{{letters}}{{above}}
|
||||
<input type="text" style="width:50px" id="cw_sentence">{{lines}} {{above}} {{or}}
|
||||
<input type="text" style="width:50px" id="cw_letters">{{letters}} {{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{cws}}</h5>
|
||||
@@ -298,6 +308,22 @@
|
||||
<i class="fa fa-spotify"></i>{{spotify}}
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{npProvider}}</h5>
|
||||
{{npPeoviderWarn}}<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" />
|
||||
<label for="itunes">iTunes</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
|
||||
<label for="npmm">MediaMonkey</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
|
||||
<label for="winamp">Winamp</label>
|
||||
<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
|
||||
<label for="wmp">WMP</label>
|
||||
<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>
|
||||
{{spotifynote1}}<i class="material-icons" style="font-size:24px;">music_note</i>{{spotifynote2}}<br>
|
||||
<h5>{{link}}</h5>
|
||||
{{linkwarn}}<br>
|
||||
@@ -310,6 +336,7 @@
|
||||
{url}</textarea><br>
|
||||
{{templete1}}<br>
|
||||
{{templete2}}<br>
|
||||
{{templete3}}<br>
|
||||
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
|
||||
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">{{set}}</button>
|
||||
|
13
snap/snapcraft.yaml
Normal file
13
snap/snapcraft.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
# After registering a name on build.snapcraft.io, commit an uncommented line:
|
||||
name: thedesk
|
||||
version: '17.0.1' # just for humans, typically '1.2+git' or '1.3.2'
|
||||
summary: TheDesk is an open source client for Mastodon. # 79 char long summary
|
||||
description: |
|
||||
TheDesk is an open source client for Mastodon.
|
||||
|
||||
parts:
|
||||
my-part:
|
||||
# See 'snapcraft plugins'
|
||||
plugin: nil
|
||||
|
Reference in New Issue
Block a user