Compare commits
177 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
eee3c34dd7 | ||
|
cac39ad539 | ||
|
1b68cdf7db | ||
|
845c9a0f2e | ||
|
24c69af942 | ||
|
c656bc4bb6 | ||
|
025b60e564 | ||
|
1e86964d8f | ||
|
61d4d7005e | ||
|
d0ed9faf50 | ||
|
8ed12170de | ||
|
d2ba5cbe4d | ||
|
6b6d3c7307 | ||
|
362b5b9c69 | ||
|
3cde12e893 | ||
|
d2214480f6 | ||
|
b8bd1a8ae6 | ||
|
0bfef0c2ce | ||
|
f2ce98fda5 | ||
|
5f08215571 | ||
|
9567a6ddf9 | ||
|
4416c56884 | ||
|
68328a9449 | ||
|
141f2a3f39 | ||
|
7bbca06033 | ||
|
ebb72265b9 | ||
|
c98f433da6 | ||
|
2346ef7089 | ||
|
8aac6474da | ||
|
ffcecf38c8 | ||
|
77342206b1 | ||
|
b6a44e7a7c | ||
|
e138d357c7 | ||
|
66645982e9 | ||
|
4347f55077 | ||
|
ab9d45c775 | ||
|
9c0c662f25 | ||
|
63abdb2d53 | ||
|
47e2693368 | ||
|
b909cbe666 | ||
|
95f5ce13ba | ||
|
fed1496e68 | ||
|
da6993730c | ||
|
0a1d462ace | ||
|
1387482db0 | ||
|
b7a86324dd | ||
|
babc5a6424 | ||
|
74a468383c | ||
|
3a48f0ff0d | ||
|
e26363adf6 | ||
|
35d97d42c5 | ||
|
4fa7d07500 | ||
|
15f428528b | ||
|
7fa805fe3a | ||
|
fd9c97a126 | ||
|
f081154804 | ||
|
866affdf45 | ||
|
30aee556f1 | ||
|
b12c18aa08 | ||
|
f17a47d088 | ||
|
d79f096749 | ||
|
5b82b91c6a | ||
|
4a6b87ac1c | ||
|
1bea06354e | ||
|
5fbd5aaf10 | ||
|
0290a6d918 | ||
|
2576c48441 | ||
|
eb02dd2986 | ||
|
d92570fa3b | ||
|
38c988d2a2 | ||
|
0927282d41 | ||
|
5ffd59619c | ||
|
a739926ad4 | ||
|
e41c38f41d | ||
|
2de05b84aa | ||
|
0e9bdef9ca | ||
|
8e70e005c1 | ||
|
3817dbc925 | ||
|
63ec669c52 | ||
|
afc5702796 | ||
|
41ec66b58a | ||
|
936d3ca7fc | ||
|
f8b4b7b74d | ||
|
bd865977b0 | ||
|
d056db5617 | ||
|
7685677ada | ||
|
eb0aa81492 | ||
|
dc52531f28 | ||
|
5a20034b9f | ||
|
5cd0ef0d8a | ||
|
4daf47bb5f | ||
|
3e0dbd8433 | ||
|
fc4d3b24f6 | ||
|
3a9eab55a4 | ||
|
546b34275d | ||
|
3ee4cf27d5 | ||
|
87da95b9a4 | ||
|
3368e30e15 | ||
|
f1ea5ad8f1 | ||
|
fa2d5f8492 | ||
|
0f2c5de161 | ||
|
b69937d4fd | ||
|
e82faacbb2 | ||
|
2ab5c67545 | ||
|
358d01b12e | ||
|
95460fabbb | ||
|
0fb882b3ad | ||
|
3d0382d279 | ||
|
59d5aa4515 | ||
|
2dff9f9b17 | ||
|
03fded672e | ||
|
a21c1f5329 | ||
|
37815ced63 | ||
|
b7f9b8d668 | ||
|
f68af78099 | ||
|
027abffa01 | ||
|
5dfba4dd5e | ||
|
d0ae7e9cf9 | ||
|
5a57e984de | ||
|
473f4d7c24 | ||
|
35bfea2dbd | ||
|
62cb30cb5b | ||
|
9d2eb6f18b | ||
|
d5cd57c26d | ||
|
37695735e0 | ||
|
c15625c063 | ||
|
cd65bd4c2a | ||
|
fc3fead235 | ||
|
2e00282560 | ||
|
54d740e861 | ||
|
478a849e8d | ||
|
82c5b35d07 | ||
|
6cdd4cba9e | ||
|
dda9469874 | ||
|
334fbdab3f | ||
|
a5f8e34ee6 | ||
|
eba54d0906 | ||
|
070c40a958 | ||
|
8d308cae5e | ||
|
848e9fcf99 | ||
|
d146776b17 | ||
|
7da16a7428 | ||
|
7b46145114 | ||
|
725f0f789a | ||
|
772a5438aa | ||
|
3c276b329b | ||
|
e2cde71831 | ||
|
861ee3250d | ||
|
5672ccfa37 | ||
|
65e691cda8 | ||
|
56cca8b529 | ||
|
367f2f656e | ||
|
7f806bd155 | ||
|
a70444e3c7 | ||
|
1a72033571 | ||
|
a475407c27 | ||
|
b602cd92a9 | ||
|
2878a4a524 | ||
|
8b1ac63343 | ||
|
8d1012c9fb | ||
|
62f2654358 | ||
|
e7feb4b2c5 | ||
|
dcc62b32a2 | ||
|
26eecd11b6 | ||
|
8d388bbd4b | ||
|
409635b00c | ||
|
17a71ddbf6 | ||
|
d2a86af0e2 | ||
|
f23dc928b2 | ||
|
68e11dc222 | ||
|
075c3ef9ca | ||
|
6b004a3992 | ||
|
3cf198538a | ||
|
612400944e | ||
|
5f22d2427e | ||
|
2692967b7d | ||
|
2ed85ab978 |
27
.github/ISSUE_TEMPLATE/bug-report-english.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: Bug report English
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: "\U0001F41Bbug"
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Describe the bug: a clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Click on '....'
|
||||
2. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Environment**
|
||||
- OS: [e.g. macOS High Sierra , Windows 10 Pro 1903, Ubuntu 19.04]
|
||||
- Version: [e.g. Usamin (18.0.0)]
|
||||
Check at 'Application,' 'About TheDesk' at top of the window.
|
||||
- Your instance: [e.g. mastodon.social]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
27
.github/ISSUE_TEMPLATE/bug-report-japanese----------.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: Bug report Japanese(日本語のバグ報告)
|
||||
about: 迅速なバグ撲滅のために
|
||||
title: ''
|
||||
labels: "\U0001F41Bbug"
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
バグの簡単な説明を最初に入れます。
|
||||
|
||||
**再現方法**
|
||||
このようにするとバグが発生しました。
|
||||
1. '....'をクリックすると
|
||||
2. エラーが出ます
|
||||
|
||||
**本来の挙動**
|
||||
本来どのように動くのが望ましいかを記入
|
||||
|
||||
**環境**
|
||||
- OS: [例 macOS High Sierra , Windows 10 Pro 1903, Ubuntu 19.04]
|
||||
- バージョン: [例 Usamin (18.0.0)]
|
||||
TheDesk画面上部の「アプリケーション」から「TheDeskについて」で確認
|
||||
- インスタンス: [例. mastodon.social]
|
||||
|
||||
**追記**
|
||||
追記
|
4
.gitignore
vendored
@@ -3,8 +3,7 @@
|
||||
*.7z
|
||||
*.exe
|
||||
TheDesk-*
|
||||
app/build
|
||||
build
|
||||
build/*
|
||||
app/.DS_Store
|
||||
.DS_Store
|
||||
.vs/*
|
||||
@@ -13,3 +12,4 @@ enq.md
|
||||
app/.tkn
|
||||
app/node_modules
|
||||
app/js/login/tkn.js
|
||||
app/package-lock.json
|
27
README.md
@@ -5,8 +5,8 @@
|
||||
|
||||
[](https://travis-ci.org/cutls/TheDesk)
|
||||
[](https://translate.thedesk.top/project/thedesk)
|
||||
[](https://bit.ly/31zqMmZ)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||

|
||||
Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
オープンソースSNSマストドン/MisskeyのPC向けクライアント[日本語はこちら](README_ja.md)
|
||||
@@ -14,6 +14,7 @@ Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
Download:[TheDesk](https://thedesk.top) [](https://status.cutls.com)
|
||||
|
||||
<a href="https://www.patreon.com/cutls"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160"></a>
|
||||
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
|
||||

|
||||
|
||||
## License
|
||||
@@ -21,12 +22,13 @@ Download:[TheDesk](https://thedesk.top) [
|
||||
|
||||
The icon is provided under [Creative Commons BY-NC-SA](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
||||
[Press Kit](https://dl.thedesk.top/press/TheDesk+PressKit.zip)
|
||||
[Press Kit](https://d2upiril6ywqp9.cloudfront.net/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)
|
||||
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
|
||||
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
|
||||
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
|
||||
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
|
||||
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
|
||||
|
||||
The default sounds of notifications is provided [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/)
|
||||
|
||||
@@ -44,7 +46,7 @@ The default sounds of notifications is provided [Creative Commons BY](https://cr
|
||||
|
||||
Crowdin project is available! Visit: https://translate.thedesk.top
|
||||
|
||||
## Requirement
|
||||
## Requirement and development
|
||||
|
||||
* Electron 4.2 or above(install yourself)
|
||||
* electron-dl(in package.json)
|
||||
@@ -57,6 +59,10 @@ Crowdin project is available! Visit: https://translate.thedesk.top
|
||||
* sumchecker(in package.json)
|
||||
* Ability to read unformated files!(install yourself)
|
||||
|
||||
### Run on developer mode
|
||||
|
||||
`npm run dev` on `app` folder.
|
||||
|
||||
## Contributors
|
||||
|
||||
Build for macOS
|
||||
@@ -69,7 +75,7 @@ Build for Linux
|
||||
|
||||
Fellow coder
|
||||
|
||||
* [kPherox](https://www.kr-kp.com/)
|
||||
* [kPherox](https://pl.kpherox.dev/kPherox)
|
||||
|
||||
## Build
|
||||
|
||||
@@ -120,3 +126,8 @@ macOS
|
||||
Did you find a bug with Pleroma accounts?
|
||||
Pleroma **does not** follow Mastodon API rules completely although Pleroma developers say so.
|
||||
Please write issues to improve TheDesk affinity with Pleroma.
|
||||
|
||||
## Vulnerabilities when `npm i`???
|
||||
|
||||
No, if your npm says materialize-css has vulnerabilities(CVE-2019-11002/3/4), look at [here](https://github.com/Dogfalo/materialize/issues/6286) under discussion.
|
||||
|
||||
|
24
README_ja.md
@@ -5,8 +5,8 @@
|
||||
|
||||
[](https://travis-ci.org/cutls/TheDesk)
|
||||
[](https://translate.thedesk.top/project/thedesk)
|
||||
[](https://bit.ly/31zqMmZ)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||
[](https://github.com/cutls/TheDesk/releases)
|
||||

|
||||
Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
オープンソースSNSマストドン/MisskeyのPC向けクライアント
|
||||
@@ -21,12 +21,13 @@ Download:[TheDesk](https://thedesk.top) [
|
||||
|
||||
アイコンは[クリエイティブ・コモンズ 表示-非営利-継承](https://creativecommons.org/licenses/by-nc-sa/4.0/)で提供されています。
|
||||
[プレスキット](https://dl.thedesk.top/press/TheDesk+PressKit.zip)
|
||||
[プレスキット](https://d2upiril6ywqp9.cloudfront.net/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)
|
||||
* [PNG 512x512](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.png)
|
||||
* [SVG 4095x4096](https://d2upiril6ywqp9.cloudfront.net/press/thedesk-fullcolor.svg)
|
||||
* [ico 256x256](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ico)
|
||||
* [icns old](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.icns)
|
||||
* [Illustrator .ai](https://d2upiril6ywqp9.cloudfront.net/press/thedesk.ai)
|
||||
|
||||
標準の通知音は [Creative Commons BY](https://creativecommons.org/licenses/by/4.0/) で提供されています。
|
||||
|
||||
@@ -57,6 +58,10 @@ Crowdinから翻訳に参加してみませんか?: https://translate.thedesk.
|
||||
* sumchecker(in package.json)
|
||||
* Ability to read unformated files!(自分で入れて)
|
||||
|
||||
### デベロッパーモード
|
||||
|
||||
`npm run dev`を`app`フォルダ内で実行
|
||||
|
||||
## 主なコントリビューター
|
||||
|
||||
macOSビルダー
|
||||
@@ -69,7 +74,7 @@ Linuxビルダー
|
||||
|
||||
iTunes NowPlayingにアルバムアートワークを付けてくれた人
|
||||
|
||||
* [kPherox](https://www.kr-kp.com/)
|
||||
* [kPherox](https://pl.kpherox.dev/kPherox)
|
||||
|
||||
## ビルド
|
||||
|
||||
@@ -126,3 +131,8 @@ Issuesに書いてある問題についてはなるべく対処しますので
|
||||
## 詳しく
|
||||
|
||||
[TheDesk - マストドン日本語ウィキ](https://ja.mstdn.wiki/TheDesk)
|
||||
|
||||
## `npm i`したら脆弱性あるって言われた
|
||||
|
||||
materialize-cssの脆弱性(CVE-2019-11002/3/4)については[こちら](https://github.com/Dogfalo/materialize/issues/6286)で本当に脆弱性かどうか議論しています。
|
||||
実際には害が無いものと思われます。
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<title>TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="./css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="./node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="./css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="./css/master.css" type="text/css" rel="stylesheet">
|
||||
@@ -75,27 +75,27 @@
|
||||
</head>
|
||||
|
||||
<body class="center " style="overflow:hidden">
|
||||
<script type="text/javascript" src="./js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="./js/platform/first-not-view.js"></script>
|
||||
<script type="text/javascript" src="./js/common/materialize.js"></script>
|
||||
<img src="./img/desk.png" style="max-width:70%;">
|
||||
<script type="text/javascript" src="./node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<img src="./img/desk.svg" style="max-width:62%;">
|
||||
<h5>TheDesk</h5>
|
||||
<div class='container'>
|
||||
<div class='area-name1'>Display version</div>
|
||||
<div class='area-data1' id="now"></div>
|
||||
<div class='area-name2'>Internal version</div>
|
||||
<div class='area-data2' id="ver"></div>
|
||||
<div class='area-name3'>Chromium</div>
|
||||
<div class='area-data3' id="chrome"></div>
|
||||
<div class='area-name4'>Electron</div>
|
||||
<div class='area-data4' id="electron"></div>
|
||||
<div class='area-name5'>Node.js</div>
|
||||
<div class='area-data5' id="node"></div>
|
||||
<div class="container">
|
||||
<div class="area-name1">Display version</div>
|
||||
<div class="area-data1" id="now"></div>
|
||||
<div class="area-name2">Internal version</div>
|
||||
<div class="area-data2" id="ver"></div>
|
||||
<div class="area-name3">Chromium</div>
|
||||
<div class="area-data3" id="chrome"></div>
|
||||
<div class="area-name4">Electron</div>
|
||||
<div class="area-data4" id="electron"></div>
|
||||
<div class="area-name5">Node.js</div>
|
||||
<div class="area-data5" id="node"></div>
|
||||
</div>
|
||||
<div class="cp">Copyright © TheDesk 2018<br>
|
||||
Main developer(author): <a href="https://cutls.com/@Cutls" target="_blank">Cutls P</a><br>
|
||||
Thanks:<a href="https://minohdon.jp/@toneji" target="_blank">toneji</a>/<a
|
||||
href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pawoo.net/@kPherox"
|
||||
href="https://popon.pptdn.jp/@popn_ja" target="_blank">popn_ja</a>/<a href="https://pl.kpherox.dev/kPherox"
|
||||
target="_blank">kPherox</a> and all users
|
||||
<img draggable="false" style="width:0.8rem;top: 1px;margin-left: 1px;position: relative;" alt="❤️"
|
||||
title=":heart:" src="https://twemoji.maxcdn.com/2/72x72/2764.png">
|
||||
@@ -104,13 +104,11 @@
|
||||
class="material-icons left">close</i>Close</button>
|
||||
<script type="text/javascript" src="./js/ui/theme.js"></script>
|
||||
<script>
|
||||
var about = JSON.parse(localStorage.getItem("about"));
|
||||
$("#now").text(localStorage.getItem("ver"));
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
const shell = electron.shell;
|
||||
$("#node").text(remote.process.version);
|
||||
$("#chrome").text(remote.process.versions.chrome);
|
||||
$("#electron").text(remote.process.versions.electron);
|
||||
$("#node").text(about[0]);
|
||||
$("#chrome").text(about[1]);
|
||||
$("#electron").text(about[2]);
|
||||
if (location.search) {
|
||||
var m = location.search.match(/\?ver=([a-zA-Z-0-9.]+)/);
|
||||
var ver = m[1];
|
||||
@@ -118,7 +116,7 @@
|
||||
}
|
||||
$(document).on('click', 'a', e => {
|
||||
var url = $(e.target).attr('href');
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
return false;
|
||||
});
|
||||
</script>
|
267
app/adobe.html
@@ -1,267 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="ja">
|
||||
|
||||
<head>
|
||||
<title>Adobe Photo Editor - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="./css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="./css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="./css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="./css/auth.css" type="text/css" rel="stylesheet">
|
||||
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href='./css/tl.css' rel='stylesheet' type='text/css'>
|
||||
<link href='./css/userdata.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<style>
|
||||
#cb-drag {
|
||||
margin-bottom: 8px;
|
||||
padding: 24px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#cb-drag p {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#cb-file {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#cb-display {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#cb-display p {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 0;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.cb-div {
|
||||
padding: 16px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.cb-image {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
|
||||
<body id="mainView">
|
||||
<script type="text/javascript" src="./js/common/jquery.js"></script>
|
||||
<script type="text/javascript" src="./js/platform/first-not-view.js"></script>
|
||||
<script type="text/javascript" src="./js/common/materialize.js"></script>
|
||||
<script type="text/javascript" src="./js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="./js/common/time.js"></script>
|
||||
<script type="text/javascript" src="./js/common/modal.js"></script>
|
||||
<div>
|
||||
<div id="cb-drag">
|
||||
<p>ここに画像ファイルをドラッグし、画像をクリックしてください。</p>
|
||||
<input type="file" id="cb-file">
|
||||
</div>
|
||||
<div id="cb-display"></div>
|
||||
</div>
|
||||
<script type="text/javascript" src="https://dme0ih8comzn4.cloudfront.net/imaging/v2/editor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var dragAndDrop = (function (window, document) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var drag = document.getElementById("mainView");
|
||||
var disp = document.getElementById("cb-display");
|
||||
var file = document.getElementById("cb-file");
|
||||
|
||||
function makeView(data) {
|
||||
|
||||
var div, img, customEvent;
|
||||
var metaData = "<p>■ファイル名: <b>" + data.name + "</b><br>■容量: <b>" + data.size + "</b>バイト</p>";
|
||||
|
||||
div = document.createElement("div");
|
||||
div.setAttribute("class", "cb-div");
|
||||
|
||||
img = document.createElement("img");
|
||||
img.src = data.url;
|
||||
img.setAttribute("class", "cb-image");
|
||||
img.style.maxWidth = "100%";
|
||||
img.style.height = "auto";
|
||||
|
||||
div.appendChild(img);
|
||||
img.insertAdjacentHTML("afterend", metaData);
|
||||
disp.appendChild(div);
|
||||
|
||||
customEvent = document.createEvent("HTMLEvents");
|
||||
customEvent.initEvent("makeView", true, false);
|
||||
div.dispatchEvent(customEvent);
|
||||
|
||||
}
|
||||
|
||||
function readImage(e) {
|
||||
|
||||
var f = (e.dataTransfer) ? e.dataTransfer.files : e.target.files;
|
||||
|
||||
for (var i = 0, l = f.length; i < l; i++) {
|
||||
|
||||
var reader = new FileReader();
|
||||
|
||||
reader.onload = (function (f) {
|
||||
|
||||
var imageData = {};
|
||||
|
||||
return function (evt) {
|
||||
|
||||
if (f.type === "image/gif" || f.type === "image/png" || f.type === "image/jpeg") {
|
||||
|
||||
imageData.type = f.type;
|
||||
imageData.name = f.name;
|
||||
imageData.size = f.size;
|
||||
imageData.date = f.lastModifiedDate.toLocaleDateString();
|
||||
imageData.url = evt.target.result;
|
||||
makeView(imageData);
|
||||
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})(f[i]);
|
||||
|
||||
reader.readAsDataURL(f[i]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function dragFiles() {
|
||||
|
||||
drag.addEventListener("drop", function (e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
readImage(e);
|
||||
}, false);
|
||||
|
||||
drag.addEventListener("dragover", function (e) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}, false);
|
||||
|
||||
}
|
||||
|
||||
function uploadFiles() {
|
||||
|
||||
file.addEventListener("change", function (e) {
|
||||
readImage(e);
|
||||
}, false);
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
init: function () {
|
||||
dragFiles();
|
||||
uploadFiles();
|
||||
}
|
||||
};
|
||||
|
||||
})(this, this.document);
|
||||
|
||||
var photoEditor = (function (window, document) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var featherEditor = new Aviary.Feather({
|
||||
apiKey: "ffee425017ab44b18ce95dab98a5cdc1",
|
||||
onSave: function (imageID, newURL) {
|
||||
var img1 = document.getElementById(imageID);
|
||||
img1.src = newURL;
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('bmp-image', [newURL, 0]);
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
|
||||
function clearImage() {
|
||||
this.parentNode.style.display = "none";
|
||||
}
|
||||
|
||||
function launchEditor(id, src) {
|
||||
featherEditor.launch({
|
||||
image: id,
|
||||
url: src
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function editPhoto() {
|
||||
var id = this.getAttribute("id");
|
||||
var src = this.getAttribute("src");
|
||||
launchEditor(id, src);
|
||||
}
|
||||
|
||||
function makeButton() {
|
||||
var button = document.createElement("button");
|
||||
button.setAttribute("style",
|
||||
"width: 64px;"
|
||||
+ " line-height: 24px;"
|
||||
+ " background-color: #37474F;"
|
||||
+ " color: #fff;"
|
||||
+ " border: none;"
|
||||
+ " cursor: pointer;"
|
||||
+ " border-radius: 2px;"
|
||||
+ " font-size: 14px;"
|
||||
+ " position: absolute;"
|
||||
+ " text-align: center;"
|
||||
+ " top: 16px;"
|
||||
+ " right: 8px;"
|
||||
+ " padding: 0;"
|
||||
+ " z-index: 1000;"
|
||||
);
|
||||
button.innerHTML = "削除";
|
||||
return button;
|
||||
}
|
||||
|
||||
function listener() {
|
||||
|
||||
var disp = document.getElementById("cb-display");
|
||||
|
||||
disp.addEventListener("makeView", function () {
|
||||
|
||||
var image = document.querySelectorAll(".cb-image");
|
||||
var button = [];
|
||||
|
||||
for (var i = 0, l = image.length; i < l; i++) {
|
||||
|
||||
button[i] = makeButton();
|
||||
image[i].setAttribute("id", "cb-image_" + i);
|
||||
image[i].parentNode.style.position = "relative";
|
||||
image[i].parentNode.appendChild(button[i]);
|
||||
|
||||
button[i].addEventListener("click", clearImage, false);
|
||||
image[i].addEventListener("click", editPhoto, false);
|
||||
}
|
||||
|
||||
}, false);
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
init: function () {
|
||||
listener();
|
||||
}
|
||||
};
|
||||
|
||||
})(this, this.document);
|
||||
|
||||
dragAndDrop.init();
|
||||
photoEditor.init();
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="./js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="./js/platform/end.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
BIN
app/build/appx/Square150x150Logo.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
app/build/appx/Square44x44Logo.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
app/build/appx/StoreLogo.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
app/build/appx/Wide310x150Logo.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
app/build/thedesk.ico
Normal file
After Width: | Height: | Size: 9.4 KiB |
@@ -7,12 +7,8 @@ body {
|
||||
cursor: default;
|
||||
font-size: 13px;
|
||||
height: 100vh;
|
||||
background-color: var(--bg);
|
||||
color: var(--color);
|
||||
}
|
||||
body {
|
||||
border: thin solid gray;
|
||||
}
|
||||
.btn {
|
||||
margin: 5px;
|
||||
text-transform: none;
|
||||
@@ -50,6 +46,7 @@ option {
|
||||
max-height: 100vh;
|
||||
position: fixed;
|
||||
z-index: 9;
|
||||
top: 0 !important;
|
||||
}
|
||||
#videomodal,
|
||||
#tootmodal {
|
||||
@@ -75,6 +72,9 @@ option {
|
||||
min-width: 0 !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.unvisible{
|
||||
opacity: 0;
|
||||
}
|
||||
.bbcode-pulse-loadings,
|
||||
.bbcode-pulse-loading,
|
||||
.fa-pulse {
|
||||
@@ -234,9 +234,6 @@ blockquote:before,
|
||||
#drag-content {
|
||||
font-size: 2rem;
|
||||
}
|
||||
.radio {
|
||||
font-family: "Baloo Bhai";
|
||||
}
|
||||
#pip {
|
||||
z-index: 504;
|
||||
width: 418px;
|
||||
@@ -303,6 +300,9 @@ blockquote:before,
|
||||
.tabs {
|
||||
background-color: var(--subcolor);
|
||||
}
|
||||
.collapsible-header:focus {
|
||||
background-color: var(--subcolor) !important;
|
||||
}
|
||||
.modal-footer {
|
||||
background-color: var(--modalfooter) !important;
|
||||
}
|
||||
@@ -396,7 +396,8 @@ blockquote:before,
|
||||
text-align: center;
|
||||
width: calc(100% + 10px);
|
||||
border-radius: 5px;
|
||||
background-color: var(--bg);
|
||||
background-color: var(--box);
|
||||
filter: brightness(80%);
|
||||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
margin-top: -5px;
|
||||
@@ -412,6 +413,45 @@ blockquote:before,
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#support-btm {
|
||||
position: fixed;
|
||||
bottom: -300px;
|
||||
width: 100vw;
|
||||
background-color: var(--box);
|
||||
z-index: 9999;
|
||||
padding: 10px;
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 1fr 1fr;
|
||||
grid-template-rows: 1fr 36px;
|
||||
grid-template-areas: "note middle right" "note close close";
|
||||
}
|
||||
#support-btm-en,
|
||||
#support-btm-ja {
|
||||
grid-area: note;
|
||||
}
|
||||
#support-btm-middle {
|
||||
grid-area: middle;
|
||||
}
|
||||
#support-btm-right {
|
||||
grid-area: right;
|
||||
}
|
||||
#support-btm-close {
|
||||
grid-area: close;
|
||||
}
|
||||
.select-wrapper .dropdown-content {
|
||||
width: 250px !important;
|
||||
}
|
||||
input, textarea {
|
||||
color: var(--color);
|
||||
font-size: 1rem !important;
|
||||
font-family: inherit;
|
||||
}
|
||||
.swal2-popup{
|
||||
background-color: var(--notfbox) !important;
|
||||
}
|
||||
.swal2-title, .swal2-content{
|
||||
color: var(--color) !important;
|
||||
}
|
||||
|
||||
/*スクロールバー*/
|
||||
::-webkit-scrollbar {
|
||||
@@ -430,3 +470,32 @@ blockquote:before,
|
||||
background: #607d8b;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
/* Web Fonts */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local('Open Sans Light'), local('OpenSans-Light'), url(https://fonts.gstatic.com/s/opensans/v17/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Material Icons';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
|
||||
}
|
||||
.material-icons {
|
||||
font-family: 'Material Icons';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
direction: ltr;
|
||||
-webkit-font-feature-settings: 'liga';
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
9595
app/css/materialize.css
vendored
16
app/css/materialize.min.css
vendored
@@ -12,6 +12,10 @@
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
textarea {
|
||||
min-height: 100px !important;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
.cancel {
|
||||
font-size: 0.5rem;
|
||||
@@ -78,7 +82,7 @@
|
||||
max-height: 100px;
|
||||
}
|
||||
#default-emoji a {
|
||||
color: white;
|
||||
color: var(--color);
|
||||
margin-right: 2px;
|
||||
}
|
||||
.character-counter {
|
||||
@@ -120,7 +124,9 @@
|
||||
overflow-y: scroll;
|
||||
top: 90px;
|
||||
}
|
||||
|
||||
#posttgl,#toot-post-btn {
|
||||
background-color: var(--accentbtn);
|
||||
}
|
||||
/*mini*/
|
||||
.mini-post .mize {
|
||||
display: none !important;
|
||||
|
@@ -14,6 +14,10 @@
|
||||
--active: #e6ee9c;
|
||||
--postbox: white;
|
||||
--modalfooter: #fafafa;
|
||||
--accentbtn: #009688;
|
||||
--selected: #c0c0c0;
|
||||
--selectedWithShare: #b2babd;
|
||||
--gray: #757575;
|
||||
}
|
||||
#imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
@@ -34,6 +38,10 @@
|
||||
--active: #757575;
|
||||
--postbox: #424242;
|
||||
--modalfooter: #212121;
|
||||
--accentbtn: #3f51b5;
|
||||
--selected: #3f3f3f;
|
||||
--selectedWithShare: #003a30;
|
||||
--gray: #cccccc;
|
||||
}
|
||||
.blacktheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
@@ -54,6 +62,10 @@
|
||||
--active: #757575;
|
||||
--postbox: #1a237e;
|
||||
--modalfooter: #031833;
|
||||
--accentbtn: #00acc1;
|
||||
--selected: #214f8a;
|
||||
--selectedWithShare: #003a30;
|
||||
--gray: #cccccc ;
|
||||
}
|
||||
.indigotheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
@@ -74,6 +86,10 @@
|
||||
--active: #757575;
|
||||
--postbox: #4e342e;
|
||||
--modalfooter: #261411;
|
||||
--accentbtn: #827717;
|
||||
--selected: #6d352b;
|
||||
--selectedWithShare: #003a30;
|
||||
--gray: #cccccc;
|
||||
}
|
||||
.browntheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
@@ -86,7 +102,7 @@
|
||||
--modal: #81c784;
|
||||
--subcolor: #a5d6a7;
|
||||
--box: #81c784;
|
||||
--sidebar: #81c784;
|
||||
--sidebar: #c5e1a5;
|
||||
--shared: #ffcc80;
|
||||
--notfbox: #a5d6a7;
|
||||
--emphasized: #9e9d24;
|
||||
@@ -94,7 +110,35 @@
|
||||
--active: #e6ee9c;
|
||||
--postbox: #a5d6a7;
|
||||
--modalfooter: #81c784;
|
||||
--accentbtn: #33691e;
|
||||
--selected: #78c17a;
|
||||
--selectedWithShare: #caa266;
|
||||
--gray: #757575;
|
||||
}
|
||||
.greentheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
.bluetheme {
|
||||
--bg: #c9e1ec;
|
||||
--drag: rgba(255, 255, 255, 0.8);
|
||||
--color: black;
|
||||
--beforehover: #757575;
|
||||
--modal: #b2ebf2;
|
||||
--subcolor: #90caf9;
|
||||
--box: #90caf9;
|
||||
--sidebar: #b6e6f5;
|
||||
--shared: #e0ffe4;
|
||||
--notfbox: #90caf9;
|
||||
--emphasized: #c5e1a5;
|
||||
--his-data: rgba(255, 255, 255, 0.9);
|
||||
--active: #b39ddb;
|
||||
--postbox: #dff1ff;
|
||||
--modalfooter: #2196f3;
|
||||
--accentbtn: #2f7bb7;
|
||||
--selected: #9dcade;
|
||||
--selectedWithShare: #c1dac4;
|
||||
--gray: #757575;
|
||||
}
|
||||
.bluetheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
|
@@ -94,8 +94,10 @@
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
iframe {
|
||||
iframe,
|
||||
.cvo video {
|
||||
max-width: 100%;
|
||||
max-height: 300px;
|
||||
}
|
||||
@media screen and (max-width: 600px) {
|
||||
.mobile #timeline-container {
|
||||
@@ -126,7 +128,7 @@ iframe {
|
||||
}
|
||||
.marquee {
|
||||
width: 100%;
|
||||
padding: .5em 0;
|
||||
padding: 0.5em 0;
|
||||
overflow: hidden;
|
||||
margin-bottom: 0;
|
||||
position: relative;
|
||||
@@ -142,14 +144,15 @@ iframe {
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
@keyframes marquee {
|
||||
0% {
|
||||
0% {
|
||||
-webkit-transform: translate(0);
|
||||
transform: translate(0);
|
||||
}
|
||||
99%, 100% {
|
||||
}
|
||||
99%,
|
||||
100% {
|
||||
-webkit-transform: translate(-100%);
|
||||
transform: translate(-100%);
|
||||
}
|
||||
}
|
||||
}
|
||||
.boxIn {
|
||||
display: flex;
|
||||
@@ -157,6 +160,7 @@ iframe {
|
||||
height: 100%;
|
||||
border: thin solid gray;
|
||||
overflow: hidden;
|
||||
border-top: none;
|
||||
}
|
||||
.box .pin,
|
||||
#his-data .pin {
|
||||
@@ -207,7 +211,8 @@ iframe {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 43px 2fr 1fr;
|
||||
grid-template-areas: "notice notice notice" "icon display_name display_name" "icon toot toot" "vis additional additional" "actions actions side";
|
||||
grid-template-rows: auto 1.6rem 1fr auto 2.5rem;
|
||||
grid-template-areas: "notice notice notice" "icon display_name display_name" "space toot toot" "space additional additional" "vis actions side";
|
||||
}
|
||||
.cvo h1,
|
||||
.cvo h2,
|
||||
@@ -252,7 +257,8 @@ iframe {
|
||||
.area-toot {
|
||||
cursor: text;
|
||||
user-select: auto;
|
||||
margin: 2px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
grid-area: toot;
|
||||
}
|
||||
@@ -274,19 +280,22 @@ iframe {
|
||||
.area-actions {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
top: -20px;
|
||||
top: -5px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
width: 250px;
|
||||
max-width: 100%;
|
||||
grid-area: actions;
|
||||
}
|
||||
.area-vis {
|
||||
margin: 2px;
|
||||
grid-area: vis;
|
||||
text-align: center;
|
||||
}
|
||||
.area-side {
|
||||
display: flex;
|
||||
top: -5px;
|
||||
position: relative;
|
||||
justify-content: flex-end;
|
||||
margin: 2px;
|
||||
grid-area: side;
|
||||
@@ -339,7 +348,7 @@ iframe {
|
||||
}
|
||||
|
||||
.gray {
|
||||
color: gray;
|
||||
color: var(--gray);
|
||||
}
|
||||
.sml {
|
||||
font-size: 0.8em;
|
||||
@@ -425,6 +434,9 @@ p:not(:last-child) {
|
||||
|
||||
.area-notice_name {
|
||||
grid-area: notice_name;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.area-notice_acct {
|
||||
@@ -523,7 +535,7 @@ p:not(:last-child) {
|
||||
content: "...";
|
||||
}
|
||||
.toot a:not(.mention) span:last-of-type {
|
||||
display: none;
|
||||
/*display: none;*/
|
||||
}
|
||||
.tl-box .via-hide {
|
||||
display: none;
|
||||
@@ -581,6 +593,7 @@ p:not(:last-child) {
|
||||
display: block;
|
||||
margin-right: 1px;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
}
|
||||
.nsfw-media {
|
||||
position: absolute;
|
||||
@@ -594,6 +607,31 @@ p:not(:last-child) {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.shared.selectedToot {
|
||||
background-color: var(--selectedWithShare);
|
||||
}
|
||||
.selectedToot {
|
||||
background-color: var(--selected);
|
||||
}
|
||||
audio {
|
||||
height: 2rem;
|
||||
}
|
||||
.translate {
|
||||
white-space: normal;
|
||||
}
|
||||
.cw_btn {
|
||||
margin: 3px;
|
||||
background-color: var(--emphasized);
|
||||
color: var(--color);
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid var(--color);
|
||||
}
|
||||
.vis-data {
|
||||
font-size: 1rem !important;
|
||||
margin: 5px;
|
||||
}
|
||||
@keyframes jump {
|
||||
0% {
|
||||
transform: translateY(0);
|
||||
|
@@ -4,6 +4,10 @@
|
||||
background-image: url("../../loading.svg");
|
||||
overflow-y: hidden;
|
||||
}
|
||||
#his-data-content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
#his-name {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
@@ -13,16 +17,17 @@
|
||||
margin-right: 5px;
|
||||
}
|
||||
.his-float {
|
||||
float: left;
|
||||
overflow-y: scroll;
|
||||
padding: 5px;
|
||||
}
|
||||
#his-float-data {
|
||||
width: 400px;
|
||||
height: 100%;
|
||||
}
|
||||
#his-leftside {
|
||||
width: 500px;
|
||||
}
|
||||
#his-float-timeline {
|
||||
width: calc(100% - 400px);
|
||||
max-width: 775px;
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
@@ -61,21 +66,30 @@
|
||||
#his-data a:not(.mention) span:last-of-type {
|
||||
display: none;
|
||||
}
|
||||
#his-data a .rep_ct,
|
||||
#his-data a .rt_ct,
|
||||
#his-data a .fav_ct {
|
||||
display: inline !important;
|
||||
}
|
||||
#his-data-show {
|
||||
margin: 20px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
background-color: var(--his-data);
|
||||
width: calc(100% - 20px);
|
||||
height: calc(100% - 20px);
|
||||
margin-bottom: 0;
|
||||
padding: 5px;
|
||||
}
|
||||
.tab-content {
|
||||
#his-data-wrap {
|
||||
display: flex;
|
||||
}
|
||||
.his-var-content {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
height: calc(100% - 240px);
|
||||
height: calc(100% - 45px);
|
||||
}
|
||||
.my-data-width {
|
||||
width: 10%;
|
||||
#my-data-nav .btn {
|
||||
width: 140px;
|
||||
}
|
||||
.active-back {
|
||||
background-color: var(--active);
|
||||
@@ -87,10 +101,10 @@
|
||||
#his-plus-action .btn {
|
||||
width: 170px;
|
||||
}
|
||||
.custom-tabs {
|
||||
.tabs {
|
||||
display: flex;
|
||||
}
|
||||
.custom-tabs .custom-tab a {
|
||||
.tabs .tab a {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
#his-des .mention {
|
||||
@@ -102,7 +116,11 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 2rem;
|
||||
width: 90%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
#hisdropdown{
|
||||
background-color: var(--bg);
|
||||
}
|
||||
#hisdropdown li:hover{
|
||||
background-color: var(--active);
|
||||
}
|
BIN
app/img/desk.png
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 11 KiB |
35
app/img/desk.svg
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 4096 4096" style="enable-background:new 0 0 4096 4096;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
.st2{fill:#545251;stroke:#040000;stroke-miterlimit:10;}
|
||||
.st3{fill:#F0842E;}
|
||||
.st4{fill:#364C9F;}
|
||||
.st5{fill:#FFFFFF;stroke:#040000;stroke-miterlimit:10;}
|
||||
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:#040000;}
|
||||
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
|
||||
</style>
|
||||
<g id="レイヤー_1" class="st0">
|
||||
</g>
|
||||
<g id="レイヤー_2">
|
||||
<polyline class="st1" points="1128.5,650.67 3378,1950 3378,2137 1128.5,3432.67 "/>
|
||||
<rect x="678.5" y="128.48" class="st2" width="450" height="3821.5"/>
|
||||
|
||||
<rect x="1915.71" y="-583.55" transform="matrix(0.5 -0.866 0.866 0.5 225.753 2341.5386)" class="st3" width="450" height="3117.62"/>
|
||||
|
||||
<rect x="1915.5" y="1555.41" transform="matrix(0.5 0.866 -0.866 0.5 3762.031 -299.6245)" class="st4" width="450" height="3105.58"/>
|
||||
<path class="st5" d="M714.5,2953.5"/>
|
||||
<path id="path1891" class="st6" d="M1592.47,2584h456.47c0-64.89-4.63-77.76-112.1-77.76c17.17-51.5,86.95-176.11,125.73-176.11
|
||||
c34.31,0,75.24,1.89,75.24,80.17c0,88.87,149.56,232.16,185.82,173.7c54.04-87.12-92.91-60.55-92.91-270.65
|
||||
c0-287.43,167.74-246.51,167.74-407.99c0-80.79-22.32-91.7-22.32-149.46c0-76.34,67.25-71.91,54.17-135.2
|
||||
c-9.04-43.72-16.11-78.78-21.38-131.65c-3.74-37.51-4.93-77.5-43.9-75.89c-45.78,1.89-63.15,82.47-134.31,88.25
|
||||
c-71.02,5.77-131.57-60.46-159.06-51c-27.25,9.38-18.68,83.32-2.52,135.83c25.4,82.54,80.79,189.86-20.2,206.02
|
||||
c-100.99,16.16-274.69,32.32-399.92,197.94s-120.6,359.99-169.66,420.11C1314.72,2612.08,1146,2529.23,1146,2697.11
|
||||
c0,75.16,127.35,129.27,147.55,105.03c20.2-24.24-171.62-96.46,43.01-181.78C1519.91,2547.46,1536.28,2532.58,1592.47,2584z"/>
|
||||
<rect class="st7" width="4096" height="4096"/>
|
||||
<path class="st1" d="M-58,1122"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
@@ -1,122 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 4096 4096" style="enable-background:new 0 0 4096 4096;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;}
|
||||
.st1{fill:none;}
|
||||
.st2{fill:#FFFFFF;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
.st4{fill:#FFFFFF;}
|
||||
.st5{fill:#none;}
|
||||
.st6{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
|
||||
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
|
||||
</style>
|
||||
<g id="レイヤー_1" class="st0">
|
||||
</g>
|
||||
<g id="レイヤー_2">
|
||||
<polyline class="st1" points="1128.5,650.67 3378,1950 3378,2137 1128.5,3432.67 "/>
|
||||
<rect x="678.5" y="128.48" class="st2" width="450" height="3821.5"/>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="7.11022in" height="7.11022in"
|
||||
viewBox="0 0 512 512">
|
||||
<path id="選択範囲 #1"
|
||||
fill="white" stroke="white" stroke-width="1"
|
||||
d="M 96.00,16.00
|
||||
C 99.85,16.01 102.39,15.12 104.00,19.00
|
||||
104.00,19.00 97.00,19.00 97.00,19.00
|
||||
97.00,19.00 108.00,22.07 108.00,22.07
|
||||
108.00,22.07 144.00,43.08 144.00,43.08
|
||||
144.00,43.08 181.83,64.31 181.83,64.31
|
||||
181.83,64.31 223.00,88.26 223.00,88.26
|
||||
223.00,88.26 247.00,102.22 247.00,102.22
|
||||
247.00,102.22 257.00,107.00 257.00,107.00
|
||||
260.09,110.36 266.43,114.39 271.00,115.00
|
||||
271.00,115.00 298.00,133.00 298.00,133.00
|
||||
298.00,133.00 300.00,132.00 300.00,132.00
|
||||
300.00,132.00 312.00,141.00 312.00,141.00
|
||||
312.00,141.00 314.00,140.00 314.00,140.00
|
||||
318.40,144.39 334.83,152.80 341.00,156.45
|
||||
341.00,156.45 404.00,192.94 404.00,192.94
|
||||
404.00,192.94 425.67,205.63 425.67,205.63
|
||||
428.70,208.64 426.87,211.86 425.12,215.00
|
||||
425.12,215.00 412.26,237.00 412.26,237.00
|
||||
410.65,240.07 409.02,245.62 404.90,245.68
|
||||
401.70,245.72 396.83,242.47 394.00,240.87
|
||||
394.00,240.87 370.00,226.89 370.00,226.89
|
||||
370.00,226.89 282.00,176.51 282.00,176.51
|
||||
282.00,176.51 271.00,169.52 271.00,169.52
|
||||
271.00,169.52 261.00,164.31 261.00,164.31
|
||||
257.45,162.08 251.05,157.46 247.00,157.00
|
||||
247.00,157.00 234.00,148.55 234.00,148.55
|
||||
234.00,148.55 208.17,133.78 208.17,133.78
|
||||
208.17,133.78 190.00,124.00 190.00,124.00
|
||||
190.00,124.00 163.00,107.60 163.00,107.60
|
||||
163.00,107.60 103.00,73.00 103.00,73.00
|
||||
103.00,73.00 103.00,453.00 103.00,453.00
|
||||
103.00,453.00 127.00,439.42 127.00,439.42
|
||||
127.00,439.42 170.00,414.58 170.00,414.58
|
||||
170.00,414.58 237.17,376.24 237.17,376.24
|
||||
237.17,376.24 256.00,364.59 256.00,364.59
|
||||
256.00,364.59 264.00,360.53 264.00,360.53
|
||||
264.00,360.53 285.00,348.20 285.00,348.20
|
||||
285.00,348.20 292.99,344.12 292.99,344.12
|
||||
292.99,344.12 299.28,339.83 299.28,339.83
|
||||
299.28,339.83 320.00,328.41 320.00,328.41
|
||||
320.00,328.41 362.00,304.05 362.00,304.05
|
||||
362.00,304.05 371.91,297.68 371.91,297.68
|
||||
371.91,297.68 379.04,294.41 379.04,294.41
|
||||
379.04,294.41 410.00,276.00 410.00,276.00
|
||||
410.00,276.00 416.00,285.00 416.00,285.00
|
||||
416.81,288.83 421.21,296.21 424.00,299.00
|
||||
424.00,299.00 423.00,301.00 423.00,301.00
|
||||
427.24,303.72 430.62,312.17 432.00,317.00
|
||||
432.00,317.00 388.00,342.67 388.00,342.67
|
||||
388.00,342.67 317.00,383.55 317.00,383.55
|
||||
317.00,383.55 279.00,405.32 279.00,405.32
|
||||
279.00,405.32 264.00,415.00 264.00,415.00
|
||||
264.00,415.00 262.00,414.00 262.00,414.00
|
||||
262.00,414.00 250.00,423.00 250.00,423.00
|
||||
250.00,423.00 248.00,422.00 248.00,422.00
|
||||
248.00,422.00 238.00,428.92 238.00,428.92
|
||||
238.00,428.92 218.00,440.67 218.00,440.67
|
||||
218.00,440.67 207.00,448.00 207.00,448.00
|
||||
207.00,448.00 193.00,455.18 193.00,455.18
|
||||
193.00,455.18 176.00,465.08 176.00,465.08
|
||||
176.00,465.08 166.09,470.31 166.09,470.31
|
||||
166.09,470.31 137.00,487.31 137.00,487.31
|
||||
137.00,487.31 103.00,506.00 103.00,506.00
|
||||
103.00,506.00 104.00,509.00 104.00,509.00
|
||||
104.00,509.00 57.00,509.00 57.00,509.00
|
||||
57.00,509.00 57.00,16.00 57.00,16.00
|
||||
57.00,16.00 96.00,16.00 96.00,16.00 Z
|
||||
M 102.00,72.00
|
||||
C 102.00,72.00 103.00,73.00 103.00,73.00
|
||||
103.00,73.00 103.00,72.00 103.00,72.00
|
||||
103.00,72.00 102.00,72.00 102.00,72.00 Z
|
||||
M 261.00,190.61
|
||||
C 270.30,188.63 274.03,177.15 280.77,179.78
|
||||
284.36,181.18 284.28,187.65 284.72,191.00
|
||||
285.35,195.85 287.64,207.99 286.57,212.00
|
||||
285.51,216.00 282.42,218.30 280.78,222.00
|
||||
277.54,229.29 282.79,236.85 282.99,245.00
|
||||
283.38,261.24 274.02,264.52 266.36,276.00
|
||||
261.36,283.50 258.58,297.05 259.09,306.00
|
||||
259.91,320.41 263.09,322.38 271.02,333.00
|
||||
273.09,335.77 275.09,339.39 272.11,342.37
|
||||
269.94,344.63 266.39,343.51 264.00,342.37
|
||||
258.40,339.52 252.76,332.51 249.91,327.00
|
||||
246.61,320.60 248.26,314.37 244.57,310.23
|
||||
240.72,305.90 235.19,306.50 231.18,310.23
|
||||
225.69,315.34 221.16,325.22 218.00,332.00
|
||||
226.04,333.96 232.79,331.61 234.00,342.00
|
||||
234.00,342.00 175.00,342.00 175.00,342.00
|
||||
166.62,341.85 166.77,339.11 162.00,338.56
|
||||
158.39,338.15 148.72,341.68 145.00,343.05
|
||||
138.31,345.53 120.54,352.22 119.64,360.00
|
||||
119.01,365.49 125.06,367.91 127.00,374.00
|
||||
115.41,373.03 104.20,364.93 108.88,352.00
|
||||
111.36,345.12 117.06,343.57 123.00,340.75
|
||||
132.86,336.05 141.94,332.38 149.58,323.96
|
||||
151.40,321.95 154.62,318.26 155.92,316.00
|
||||
155.92,316.00 166.03,283.00 166.03,283.00
|
||||
169.87,271.08 179.16,256.26 189.00,248.52
|
||||
199.37,240.36 208.38,237.36 221.00,234.66
|
||||
226.45,233.50 237.77,232.36 240.99,227.79
|
||||
244.55,222.75 241.98,216.26 240.34,211.00
|
||||
237.46,201.77 234.64,193.69 237.00,184.00
|
||||
244.82,185.47 252.94,192.32 261.00,190.61 Z
|
||||
M 102.00,453.00
|
||||
C 102.00,453.00 103.00,454.00 103.00,454.00
|
||||
103.00,454.00 103.00,453.00 103.00,453.00
|
||||
103.00,453.00 102.00,453.00 102.00,453.00 Z
|
||||
M 102.00,505.00
|
||||
C 102.00,505.00 103.00,506.00 103.00,506.00
|
||||
103.00,506.00 103.00,505.00 103.00,505.00
|
||||
103.00,505.00 102.00,505.00 102.00,505.00 Z" />
|
||||
<rect x="1915.71" y="-583.55" transform="matrix(0.5 -0.866 0.866 0.5 225.753 2341.5386)" class="st3" width="450" height="3117.62"/>
|
||||
|
||||
<rect x="1915.5" y="1555.41" transform="matrix(0.5 0.866 -0.866 0.5 3762.031 -299.6245)" class="st4" width="450" height="3105.58"/>
|
||||
<path class="st5" d="M714.5,2953.5"/>
|
||||
<path id="path1891" class="st6" d="M1592.47,2584h456.47c0-64.89-4.63-77.76-112.1-77.76c17.17-51.5,86.95-176.11,125.73-176.11
|
||||
c34.31,0,75.24,1.89,75.24,80.17c0,88.87,149.56,232.16,185.82,173.7c54.04-87.12-92.91-60.55-92.91-270.65
|
||||
c0-287.43,167.74-246.51,167.74-407.99c0-80.79-22.32-91.7-22.32-149.46c0-76.34,67.25-71.91,54.17-135.2
|
||||
c-9.04-43.72-16.11-78.78-21.38-131.65c-3.74-37.51-4.93-77.5-43.9-75.89c-45.78,1.89-63.15,82.47-134.31,88.25
|
||||
c-71.02,5.77-131.57-60.46-159.06-51c-27.25,9.38-18.68,83.32-2.52,135.83c25.4,82.54,80.79,189.86-20.2,206.02
|
||||
c-100.99,16.16-274.69,32.32-399.92,197.94s-120.6,359.99-169.66,420.11C1314.72,2612.08,1146,2529.23,1146,2697.11
|
||||
c0,75.16,127.35,129.27,147.55,105.03c20.2-24.24-171.62-96.46,43.01-181.78C1519.91,2547.46,1536.28,2532.58,1592.47,2584z"/>
|
||||
<rect class="st7" width="4096" height="4096"/>
|
||||
<path class="st1" d="M-58,1122"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 434 B |
Before Width: | Height: | Size: 34 KiB |
132
app/img/thinking.svg
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 4096 4096" style="enable-background:new 0 0 4096 4096;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#040000;}
|
||||
.st1{fill:#040000;stroke:#040000;stroke-miterlimit:10;}
|
||||
.st2{clip-path:url(#SVGID_2_);}
|
||||
.st3{clip-path:url(#SVGID_4_);}
|
||||
.st4{fill:none;}
|
||||
.st5{fill:#FFFFFF;}
|
||||
.st6{fill:#545251;stroke:#040000;stroke-miterlimit:10;}
|
||||
.st7{fill:#F0842E;}
|
||||
.st8{fill:#3D4FA0;}
|
||||
.st9{fill:#63451F;stroke:#FFFFFF;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st10{fill:#63451F;}
|
||||
</style>
|
||||
<g id="DrawBlack">
|
||||
<polyline id="BG_1_" class="st0" points="1128.5,650.67 3378,1950 3378,2137 1128.5,3432.67 "/>
|
||||
<rect id="Left_1_" x="678.5" y="128.48" class="st1" width="450" height="3821.5"/>
|
||||
|
||||
<rect id="Top_1_" x="1915.71" y="-583.55" transform="matrix(0.5 -0.866 0.866 0.5 225.753 2341.5386)" class="st0" width="450" height="3117.62"/>
|
||||
<g id="Finger_1_">
|
||||
<g>
|
||||
<defs>
|
||||
|
||||
<rect id="SVGID_1_" x="-626.54" y="666.18" transform="matrix(0.9063 -0.4226 0.4226 0.9063 -723.8983 1097.2598)" width="5478.6" height="3030.2"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<g id="g14_3_" class="st2">
|
||||
<g id="g44_1_" transform="translate(17.2764,0.8682)">
|
||||
<path id="path46_1_" class="st0" d="M2605.11,3533.86c0,0,159.85-112.71,149-195.05c-10.68-85.2-127.58-48.89-127.58-48.89
|
||||
s136.18-82.82,112.7-180.35c-22.17-91.83-167.38-48.54-167.38-48.54s119.56-92.9,85.39-182.75
|
||||
c-28.87-75.6-188.03-44.94-188.03-44.94s651.47-417.09,718.51-459.5c66.86-42.42,160.29-131.95,87.28-198.12
|
||||
c-72.76-66.37-205.83-7.85-269.88,32.69c-64.01,40.62-874.42,553.28-1153.93,730.24c-29.84,18.84-169.66,107.16-186.59,118.03
|
||||
c-69.96,44.42-112.22,42.02-74.07-13.01c51.14-73.63,74.73-139.7,55.45-222.1c-20.44-86.69-114.31-161.6-159.65-186.44
|
||||
c-84.35-46.21-197.27-61.16-306.71-33.34c-170.83,43.44-256.98,149.65-157.15,218.26c149.29,102.66,148.88,244.02,37.82,381.07
|
||||
c-261.05,322.06-363.57,512.7-142.28,713.95c241.24,219.53,812.72,166.75,1276.35-126.35
|
||||
C2218.92,3773.38,2605.11,3533.86,2605.11,3533.86"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Eyes_1_">
|
||||
<g>
|
||||
<defs>
|
||||
<rect id="SVGID_3_" x="95.01" y="544.01" width="3526.99" height="3526.99"/>
|
||||
</defs>
|
||||
<clipPath id="SVGID_4_">
|
||||
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
|
||||
</clipPath>
|
||||
<g id="g14_2_" class="st3">
|
||||
<g id="g24_1_" transform="translate(15.4063,25.5)">
|
||||
<path id="path26_1_" class="st0" d="M1588.99,1547.21c0,135.3-87.78,244.93-195.94,244.93
|
||||
c-108.16,0-195.94-109.63-195.94-244.93c0-135.2,87.78-244.93,195.94-244.93C1501.21,1302.28,1588.99,1412.01,1588.99,1547.21"
|
||||
/>
|
||||
</g>
|
||||
<g id="g32_1_" transform="translate(9.6709,29.667)">
|
||||
<path id="path34_1_" class="st0" d="M1032.82,1134.8c-16.07-8.52-29.69-21.85-38.31-38.99c-21.16-42.03-3.92-90.82,38.5-109.04
|
||||
c417.95-179.29,754.29-4.21,768.39,3.33c42.42,22.63,59.57,73.28,38.31,113.06c-21.16,39.68-72.5,53.49-114.92,31.16
|
||||
c-12.05-6.27-277.46-140.3-615.07,4.6C1084.54,1149.59,1056.13,1147.24,1032.82,1134.8"/>
|
||||
</g>
|
||||
<g id="g36_1_" transform="translate(14.7427,16.4277)">
|
||||
<path id="path38_1_" class="st0" d="M1524.64,2445.12c-13.32-12.44-23.12-28.71-27.04-47.61c-9.7-45.95,19.4-88.76,65.15-95.42
|
||||
c449.89-66.43,730.09,188.99,741.94,199.86c35.27,32.72,38.7,85.92,8.03,119.04c-30.57,32.92-83.77,33.11-118.94,0.59
|
||||
c-10.19-9.01-232.39-206.52-595.87-152.93C1570.78,2472.65,1543.94,2463.15,1524.64,2445.12"/>
|
||||
</g>
|
||||
<g id="g40_1_" transform="translate(20.4307,25.917)">
|
||||
<path id="path42_1_" class="st0" d="M2076.21,1505.94c-15.28-9.6-28.02-23.81-35.47-41.54c-18.32-43.3,2.25-90.92,45.75-106.2
|
||||
c429.22-150.48,752.91,47.03,766.53,55.55c40.66,25.47,54.28,77.1,30.47,115.41c-23.71,38.21-76.03,48.5-116.68,23.32
|
||||
c-11.76-7.15-267.27-158.81-613.99-37.23C2126.96,1524.26,2098.75,1519.95,2076.21,1505.94"/>
|
||||
</g>
|
||||
<g id="g28_1_" transform="translate(26,24.5)">
|
||||
<path id="path30_1_" class="st0" d="M2616.28,1646.19c0,135.3-87.69,244.93-195.94,244.93
|
||||
c-108.16,0-195.94-109.63-195.94-244.93c0-135.2,87.78-244.93,195.94-244.93C2528.6,1401.26,2616.28,1510.99,2616.28,1646.19"
|
||||
/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Path">
|
||||
<path id="CutLine" class="st4" d="M528,128C532-14,669,0,669,0h346l2629,1464c0,0,78,34,28,108s-217,359-217,359s-22,9,9,226
|
||||
s-204,313-204,313l-545,356c0,0,421.37,492.67,29.68,732.33S1798,4056,1798,4056s28.13,15-290.94,15s-828.56,0-828.56,0
|
||||
S531,4102,528,3904S528,128,528,128z"/>
|
||||
</g>
|
||||
<g id="Draw">
|
||||
<polyline id="BG" class="st5" points="1128.5,650.67 3378,1950 3378,2137 1128.5,3432.67 "/>
|
||||
<rect id="Left" x="678.5" y="128.48" class="st6" width="450" height="3821.5"/>
|
||||
|
||||
<rect id="Top" x="1915.71" y="-583.55" transform="matrix(0.5 -0.866 0.866 0.5 225.753 2341.5386)" class="st7" width="450" height="3117.62"/>
|
||||
<g id="Finger">
|
||||
<g id="g44" transform="translate(17.2764,0.8682)">
|
||||
<path id="path46" class="st8" d="M2605.11,3533.86c0,0,159.85-112.71,149-195.05c-10.68-85.2-127.58-48.89-127.58-48.89
|
||||
s136.18-82.82,112.7-180.35c-22.17-91.83-167.38-48.54-167.38-48.54s119.56-92.9,85.39-182.75
|
||||
c-28.87-75.6-188.03-44.94-188.03-44.94s651.47-417.09,718.51-459.5c66.86-42.42,160.29-131.95,87.28-198.12
|
||||
c-72.76-66.37-205.83-7.85-269.88,32.69c-64.01,40.62-874.42,553.28-1153.93,730.24c-29.84,18.84-169.66,107.16-186.59,118.03
|
||||
c-69.96,44.42-112.22,42.02-74.07-13.01c51.14-73.63,74.73-139.7,55.45-222.1c-20.44-86.69-114.31-161.6-159.65-186.44
|
||||
c-84.35-46.21-197.27-61.16-306.71-33.34c-170.83,43.44-256.98,149.65-157.15,218.26c149.29,102.66,148.88,244.02,37.82,381.07
|
||||
c-261.05,322.06-363.57,512.7-142.28,713.95c241.24,219.53,812.72,166.75,1276.35-126.35
|
||||
C2218.92,3773.38,2605.11,3533.86,2605.11,3533.86"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Eyes">
|
||||
<g id="g24" transform="translate(15.4063,25.5)">
|
||||
<path id="path26" class="st9" d="M1588.99,1547.21c0,135.3-87.78,244.93-195.94,244.93c-108.16,0-195.94-109.63-195.94-244.93
|
||||
c0-135.2,87.78-244.93,195.94-244.93C1501.21,1302.28,1588.99,1412.01,1588.99,1547.21"/>
|
||||
</g>
|
||||
<g id="g32" transform="translate(9.6709,29.667)">
|
||||
<path id="path34" class="st9" d="M1032.82,1134.8c-16.07-8.52-29.69-21.85-38.31-38.99c-21.16-42.03-3.92-90.82,38.5-109.04
|
||||
c417.95-179.29,754.29-4.21,768.39,3.33c42.42,22.63,59.57,73.28,38.31,113.06c-21.16,39.68-72.5,53.49-114.92,31.16
|
||||
c-12.05-6.27-277.46-140.3-615.07,4.6C1084.54,1149.59,1056.13,1147.24,1032.82,1134.8"/>
|
||||
</g>
|
||||
<g id="g36" transform="translate(14.7427,16.4277)">
|
||||
<path id="path38" class="st9" d="M1524.64,2445.12c-13.32-12.44-23.12-28.71-27.04-47.61c-9.7-45.95,19.4-88.76,65.15-95.42
|
||||
c449.89-66.43,730.09,188.99,741.94,199.86c35.27,32.72,38.7,85.92,8.03,119.04c-30.57,32.92-83.77,33.11-118.94,0.59
|
||||
c-10.19-9.01-232.39-206.52-595.87-152.93C1570.78,2472.65,1543.94,2463.15,1524.64,2445.12"/>
|
||||
</g>
|
||||
<g id="g40" transform="translate(20.4307,25.917)">
|
||||
<path id="path42" class="st9" d="M2076.21,1505.94c-15.28-9.6-28.02-23.81-35.47-41.54c-18.32-43.3,2.25-90.92,45.75-106.2
|
||||
c429.22-150.48,752.91,47.03,766.53,55.55c40.66,25.47,54.28,77.1,30.47,115.41c-23.71,38.21-76.03,48.5-116.68,23.32
|
||||
c-11.76-7.15-267.27-158.81-613.99-37.23C2126.96,1524.26,2098.75,1519.95,2076.21,1505.94"/>
|
||||
</g>
|
||||
<g id="g28" transform="translate(26,24.5)">
|
||||
<path id="path30" class="st10" d="M2616.28,1646.19c0,135.3-87.69,244.93-195.94,244.93c-108.16,0-195.94-109.63-195.94-244.93
|
||||
c0-135.2,87.78-244.93,195.94-244.93C2528.6,1401.26,2616.28,1510.99,2616.28,1646.19"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 41 KiB |
@@ -1,6 +1,4 @@
|
||||
//このソフトについて
|
||||
function about() {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('about', 'go');
|
||||
postMessage(["sendSinmpleIpc", "about"], "*")
|
||||
}
|
4
app/js/common/jquery.js
vendored
@@ -1,3 +1,5 @@
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
$(function ($) {
|
||||
//キーボードショートカット
|
||||
$(window).keydown(function (e) {
|
||||
@@ -20,7 +22,6 @@ $(function ($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//Ctrl+Enter:投稿
|
||||
if (event.metaKey || event.ctrlKey && wv) {
|
||||
@@ -36,14 +37,6 @@ $(function ($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Shift+Space:Markdownゼロ幅スペース
|
||||
if (event.shiftKey) {
|
||||
if (e.keyCode === 32) {
|
||||
brInsert("");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//Esc:消す
|
||||
if (e.keyCode === 27 && wv) {
|
||||
hide();
|
||||
@@ -54,14 +47,6 @@ $(function ($) {
|
||||
location.href = "index.html";
|
||||
return false;
|
||||
}
|
||||
//Ctrl+R:ランキング
|
||||
if ((event.metaKey || event.ctrlKey) && wv) {
|
||||
if (e.keyCode === 82) {
|
||||
if (localStorage.getItem("kirishima")) {
|
||||
window.open("https://astarte.thedesk.top");
|
||||
}
|
||||
}
|
||||
}
|
||||
//Ctrl+Sift+C:全消し
|
||||
if (((event.metaKey || event.ctrlKey) && event.shiftKey) && wv) {
|
||||
if (e.keyCode === 67) {
|
||||
@@ -135,7 +120,7 @@ $(function ($) {
|
||||
}
|
||||
}
|
||||
//Ctrl+Sift+P:プロフ
|
||||
if ((event.ctrlKey) && event.shiftKey) {
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
|
||||
if (e.keyCode === 80) {
|
||||
profShow()
|
||||
return false;
|
||||
@@ -149,30 +134,82 @@ $(function ($) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//矢印:選択
|
||||
if (e.code == "ArrowLeft") {
|
||||
//left
|
||||
if ($("#imagemodal").hasClass("open")) {
|
||||
imgCont('prev');
|
||||
return false;
|
||||
}
|
||||
if (selectedColumn > 0) {
|
||||
selectedColumn--
|
||||
}
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
} else if (e.code == "ArrowUp") {
|
||||
//up
|
||||
if ($("#imagemodal").hasClass("open")) {
|
||||
return false;
|
||||
}
|
||||
if (selectedToot > 0) {
|
||||
selectedToot--
|
||||
}
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
} else if (e.code == "ArrowRight") {
|
||||
//right
|
||||
if ($("#imagemodal").hasClass("open")) {
|
||||
imgCont('next');
|
||||
return false;
|
||||
}
|
||||
if (selectedColumn < $(".tl-box").length - 1) {
|
||||
selectedColumn++
|
||||
}
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
} else if (e.code == "ArrowDown") {
|
||||
//down
|
||||
if ($("#imagemodal").hasClass("open")) {
|
||||
return false;
|
||||
}
|
||||
selectedToot++
|
||||
tootSelector(selectedColumn, selectedToot)
|
||||
return false;
|
||||
}
|
||||
//Ctrl+U:0,0選択
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
if (e.keyCode === 85) {
|
||||
selectedToot = 0
|
||||
selectedColumn = 0
|
||||
tootSelector(0, 0)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//選択時
|
||||
if (e.keyCode == 70) {
|
||||
var id = $(".selectedToot").attr('unique-id')
|
||||
var acct_id = $('#timeline_' + selectedColumn).attr("data-acct")
|
||||
fav(id, acct_id, false)
|
||||
return false;
|
||||
}
|
||||
if (e.keyCode == 66) {
|
||||
var id = $(".selectedToot").attr('unique-id')
|
||||
var acct_id = $('#timeline_' + selectedColumn).attr("data-acct")
|
||||
rt(id, acct_id, false)
|
||||
return false;
|
||||
}
|
||||
if (e.keyCode == 82) {
|
||||
var id = $(".selectedToot").attr('unique-id')
|
||||
var acct_id = $('#timeline_' + selectedColumn).attr("data-acct")
|
||||
var ats_cm = $('.selectedToot .rep-btn').attr("data-men")
|
||||
var mode = $('.selectedToot .rep-btn').attr("data-visen")
|
||||
re(id, ats_cm, acct_id, mode)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//textareaフォーカス時
|
||||
if (hasFocus2 && wv) {
|
||||
if (event.metaKey || event.ctrlKey) {
|
||||
//Ctrl+B:太字
|
||||
if (e.keyCode === 66) {
|
||||
tagsel('b');
|
||||
return false;
|
||||
}
|
||||
//Ctrl+I:斜字
|
||||
if (e.keyCode === 73) {
|
||||
tagsel('i');
|
||||
return false;
|
||||
}
|
||||
//Ctrl+U:下線
|
||||
if (e.keyCode === 85) {
|
||||
tagsel('u');
|
||||
return false;
|
||||
}
|
||||
//Ctrl+S:取り消し線
|
||||
if (e.keyCode === 83) {
|
||||
tagsel('s');
|
||||
return false;
|
||||
}
|
||||
//C+S+(No):ワンクリ
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
|
||||
if (e.keyCode >= 49 && e.keyCode <= 51) {
|
||||
@@ -183,22 +220,28 @@ $(function ($) {
|
||||
}
|
||||
}
|
||||
}
|
||||
//イメージビューワー切り替え
|
||||
if (e.keyCode === 37 && wv) {
|
||||
if ($("#imagemodal").hasClass("open")) {
|
||||
imgCont('prev');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (e.keyCode === 39 && wv) {
|
||||
if ($("#imagemodal").hasClass("open")) {
|
||||
imgCont('next');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
//クリアボタン
|
||||
$("#clear").click(function () {
|
||||
clear();
|
||||
});
|
||||
});
|
||||
//選択する
|
||||
function tootSelector(column, toot) {
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
$('#timeline_' + column + ' .cvo').eq(toot).addClass("selectedToot")
|
||||
var scr = $('.tl-box[tlid=' + column + ']').scrollTop()
|
||||
var elem = $('.selectedToot').offset().top
|
||||
var top = elem - $('.tl-box').height() + scr
|
||||
if (top > 0) {
|
||||
top = top + $('.selectedToot').height()
|
||||
if (top > scr) {
|
||||
$('.tl-box[tlid=' + column + ']').animate({ scrollTop: top })
|
||||
}
|
||||
} else if (elem < 0) {
|
||||
var to = scr + elem - $('.selectedToot').height()
|
||||
if (to < scr) {
|
||||
$('.tl-box[tlid=' + column + ']').animate({ scrollTop: to })
|
||||
}
|
||||
}
|
||||
}
|
10135
app/js/common/materialize.js
vendored
6
app/js/common/materialize.min.js
vendored
@@ -1,8 +1,17 @@
|
||||
//モーダル・ドロップダウンの各種設定
|
||||
$(document).ready(function () {
|
||||
// the "href" attribute of the modal trigger must specify the modal ID that wants to be triggered
|
||||
$('.modal').modal();
|
||||
$('.dropdown-button').dropdown({
|
||||
$('.modal').modal({
|
||||
inDuration: 300,
|
||||
outDuration: 225,
|
||||
constrainWidth: false, // Does not change width of dropdown to that of the activator
|
||||
hover: false, // Activate on hover
|
||||
gutter: 0, // Spacing from edge
|
||||
belowOrigin: false, // Displays dropdown below the button
|
||||
alignment: 'left', // Displays dropdown with edge aligned to the left of button
|
||||
stopPropagation: false
|
||||
});
|
||||
$('.dropdown-trigger').dropdown({
|
||||
inDuration: 300,
|
||||
outDuration: 225,
|
||||
constrainWidth: false, // Does not change width of dropdown to that of the activator
|
||||
@@ -13,5 +22,5 @@ $(document).ready(function () {
|
||||
stopPropagation: false // Stops event propagation
|
||||
}
|
||||
);
|
||||
|
||||
$('.collapsible').collapsible();
|
||||
});
|
@@ -1,8 +1,22 @@
|
||||
//バージョンチェッカー
|
||||
function verck(ver) {
|
||||
console.log("%c Welcome😊", "color: red;font-size:200%;")
|
||||
if (localStorage.getItem("ver") != ver) {
|
||||
var date = new Date();
|
||||
var show = false
|
||||
if (localStorage.getItem("ver") != ver && localStorage.getItem("winstore")) {
|
||||
//ちょっと削除とリンク解析の都合上アレ(s)
|
||||
//対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)"
|
||||
if (!localStorage.getItem("usamin_18_6_5_flag")) {
|
||||
localStorage.setItem("usamin_18_6_5_flag", true)
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
localStorage.removeItem("card_" + i);
|
||||
}
|
||||
}
|
||||
//ちょっと削除とリンク解析の都合上アレ(e)
|
||||
localStorage.setItem("ver", ver);
|
||||
show = true
|
||||
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
|
||||
$(document).ready(function () {
|
||||
$('#releasenote').modal('open');
|
||||
@@ -19,71 +33,33 @@ function verck(ver) {
|
||||
} else {
|
||||
$("#release-en").show();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
var platform = remote.process.platform;
|
||||
console.log("Your platform:"+remote.process.platform)
|
||||
if (platform == "win32") {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform,
|
||||
buttons: [lang.lang_no, lang.lang_yesno]
|
||||
if (!show) {
|
||||
console.log(show)
|
||||
if (date.getMonth() + 1 >= localStorage.getItem("showSupportMe") || !localStorage.getItem("showSupportMe")) {
|
||||
if (date.getMonth() == 11) {
|
||||
var nextmonth = 1
|
||||
} else {
|
||||
var nextmonth = date.getMonth() + 2
|
||||
}
|
||||
if (lang.language != "ja") {
|
||||
$("#support-btm-ja").addClass("hide");
|
||||
$("#support-btm-en").removeClass("hide");
|
||||
}
|
||||
localStorage.setItem("showSupportMe", nextmonth)
|
||||
$("#support-btm").removeClass("hide")
|
||||
$("#support-btm").animate({
|
||||
'bottom': '0'
|
||||
}, {
|
||||
'duration': 300
|
||||
});
|
||||
}
|
||||
}
|
||||
var platform = localStorage.getItem("platform");
|
||||
console.log("Your platform:" + platform)
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
|
||||
dialog.showMessageBox(options, function (arg) {
|
||||
if (arg == 1) {
|
||||
localStorage.setItem("winstore", "winstore")
|
||||
} else {
|
||||
localStorage.setItem("winstore", "localinstall")
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if (platform == "linux") {
|
||||
if (localStorage.getItem("winstore") == "unix") {
|
||||
localStorage.removeItem("winstore")
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform_linux,
|
||||
buttons: [lang.lang_no, lang.lang_yesno]
|
||||
}
|
||||
dialog.showMessageBox(options, function (arg) {
|
||||
if (arg == 1) {
|
||||
localStorage.setItem("winstore", "snapcraft")
|
||||
} else {
|
||||
localStorage.setItem("winstore", "localinstall")
|
||||
}
|
||||
});
|
||||
}
|
||||
} else if (platform == "darwin") {
|
||||
if (localStorage.getItem("winstore") == "unix") {
|
||||
localStorage.removeItem("winstore")
|
||||
}
|
||||
if (!localStorage.getItem("winstore")) {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: "Select your platform",
|
||||
message: lang.lang_version_platform_mac,
|
||||
buttons: [lang.lang_no, lang.lang_yesno]
|
||||
}
|
||||
dialog.showMessageBox(options, function (arg) {
|
||||
if (arg == 1) {
|
||||
localStorage.setItem("winstore", "brewcask")
|
||||
} else {
|
||||
localStorage.setItem("winstore", "localinstall")
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
localStorage.setItem("winstore", "unix")
|
||||
storeDialog(platform, ver)
|
||||
}
|
||||
if (localStorage.getItem("winstore") == "brewcask" || localStorage.getItem("winstore") == "snapcraft" || localStorage.getItem("winstore") == "winstore") {
|
||||
var winstore = true;
|
||||
@@ -109,9 +85,7 @@ function verck(ver) {
|
||||
}).then(function (mess) {
|
||||
console.table(mess);
|
||||
if (mess) {
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var platform = remote.process.platform;
|
||||
var platform = localStorage.getItem("platform");
|
||||
if (platform == "darwin") {
|
||||
var newest = mess.desk_mac;
|
||||
} else {
|
||||
@@ -126,15 +100,13 @@ function verck(ver) {
|
||||
localStorage.removeItem("instance")
|
||||
if (localStorage.getItem("new-ver-skip")) {
|
||||
if (localStorage.getItem("next-ver") != newest) {
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('update', "true");
|
||||
postMessage(["sendSinmpleIpc", "update"], "*")
|
||||
} else {
|
||||
console.warn(lang.lang_version_skipver);
|
||||
todo(lang.lang_version_skipver);
|
||||
}
|
||||
} else {
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('update', "true");
|
||||
postMessage(["sendSinmpleIpc", "update"], "*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -161,34 +133,38 @@ function verck(ver) {
|
||||
if (obj.ID * 1 <= last) {
|
||||
break;
|
||||
} else {
|
||||
if (obj.type == "textv2") {
|
||||
if (~obj.languages.indexOf(lang.language)) {
|
||||
var show = true;
|
||||
if (obj.toot != "") {
|
||||
var toot = '<button class="btn-flat toast-action" onclick="detEx(\'' + obj.toot + '\',\'main\')">Show</button>';
|
||||
} else {
|
||||
var toot = "";
|
||||
}
|
||||
if (obj.Ver != "") {
|
||||
if (obj.Ver == ver) {
|
||||
if (obj.ver != "") {
|
||||
if (obj.ver == ver) {
|
||||
show = true;
|
||||
} else {
|
||||
show = false;
|
||||
}
|
||||
}
|
||||
if (obj.Domain != "") {
|
||||
if (obj.domain != "") {
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (multi) {
|
||||
show = false;
|
||||
var accts = JSON.parse(multi);
|
||||
Object.keys(accts).forEach(function (key) {
|
||||
var acct = accts[key];
|
||||
if (acct.domain == obj.Domain) {
|
||||
if (acct.domain == obj.domain) {
|
||||
show = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (show) {
|
||||
Materialize.toast(escapeHTML(obj.Text) + toot + '<span class="sml grey-text">(スライドして消去)</span>', 86400);
|
||||
M.toast({ html: escapeHTML(obj.text) + toot + '<span class="sml grey-text">(スライドして消去)</span>', displayLength: 86400 })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,6 +183,8 @@ function infowebsocket() {
|
||||
console.log([tlid, ":Receive Streaming:", JSON.parse(mess.data)]);
|
||||
var obj = JSON.parse(mess.data);
|
||||
if (obj.type != "counter") {
|
||||
if (obj.type == "textv2") {
|
||||
if (~obj.languages.indexOf(lang.language)) {
|
||||
localStorage.setItem("last-notice-id", obj.id)
|
||||
var show = true;
|
||||
if (obj.toot != "") {
|
||||
@@ -235,7 +213,11 @@ function infowebsocket() {
|
||||
}
|
||||
}
|
||||
if (show) {
|
||||
Materialize.toast(escapeHTML(obj.text) + toot + '<span class="sml grey-text">(スライドして消去)</span>', 86400);
|
||||
console.log(obj.text)
|
||||
console.log(escapeHTML(obj.text))
|
||||
M.toast({ html: escapeHTML(obj.text) + toot + '<span class="sml grey-text">(スライドして消去)</span>', displayLength: 86400 })
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$("#persons").text(obj.text);
|
||||
@@ -273,3 +255,58 @@ function openRN() {
|
||||
$("#release-en").show();
|
||||
}
|
||||
}
|
||||
function closeSupport() {
|
||||
$("#support-btm").animate({
|
||||
'bottom': '-300px'
|
||||
}, {
|
||||
'duration': 300,
|
||||
'complete': function () {
|
||||
$("#support-btm").addClass("hide")
|
||||
}
|
||||
});
|
||||
}
|
||||
function storeDialog(platform, ver) {
|
||||
if (platform == "win32") {
|
||||
var mes = lang.lang_version_platform;
|
||||
} else if (platform == "linux") {
|
||||
var mes = lang.lang_version_platform_linux;
|
||||
} else if (platform == "darwin") {
|
||||
var mes = lang.lang_version_platform_mac;
|
||||
}
|
||||
Swal.fire({
|
||||
title: "Select your platform",
|
||||
text: mes,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_no,
|
||||
cancelButtonText: lang.lang_yesno
|
||||
}).then((result) => {
|
||||
//逆にしてる
|
||||
if (!result.value) {
|
||||
localStorage.setItem("winstore", "winstore")
|
||||
} else {
|
||||
localStorage.setItem("winstore", "localinstall")
|
||||
}
|
||||
localStorage.setItem("ver", ver);
|
||||
show = true
|
||||
console.log("%c Thank you for your update🎉", "color: red;font-size:200%;");
|
||||
$(document).ready(function () {
|
||||
$('#releasenote').modal('open');
|
||||
verp = ver.replace('(', '');
|
||||
verp = verp.replace('.', '-');
|
||||
verp = verp.replace('.', '-');
|
||||
verp = verp.replace('[', '-');
|
||||
verp = verp.replace(']', '');
|
||||
verp = verp.replace(')', '');
|
||||
verp = verp.replace(' ', '_');
|
||||
console.log("%c " + verp, "color: red;font-size:200%;");
|
||||
if (lang.language == "ja") {
|
||||
$("#release-" + verp).show();
|
||||
} else {
|
||||
$("#release-en").show();
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
@@ -50,6 +50,10 @@ function customEmoji() {
|
||||
emojiList('home')
|
||||
}
|
||||
function defEmoji(target) {
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if (!selin) {
|
||||
selin = 0;
|
||||
}
|
||||
var emojiraw = newpack.filter(function (item, index) {
|
||||
if (item.short_name == target) return true;
|
||||
});
|
||||
@@ -60,22 +64,11 @@ function defEmoji(target) {
|
||||
emoji = twemoji.convert.fromCodePoint(hex[0]);
|
||||
}
|
||||
var now = $("#textarea").val();
|
||||
var selin = localStorage.getItem("cursor");
|
||||
var now = $("#textarea").val();
|
||||
if (selin > 0) {
|
||||
var before = now.substr(0, selin);
|
||||
var after = now.substr(selin, now.length);
|
||||
newt = before + emoji + after;
|
||||
} else {
|
||||
newt = emoji + now;
|
||||
}
|
||||
$("#textarea").val(newt);
|
||||
$("#textarea").focus();
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if (!selin) {
|
||||
selin = 0;
|
||||
}
|
||||
localStorage.setItem("cursor", selin);
|
||||
}
|
||||
function faicon() {
|
||||
var json = faicons;
|
||||
|
228
app/js/lang/lang.bg.js
Normal file
@@ -0,0 +1,228 @@
|
||||
var lang={
|
||||
"language": "en",
|
||||
"lang_toot": "Раздумай",
|
||||
"lang_there": "Да",
|
||||
"lang_nothing": "Няма",
|
||||
"lang_yesno": "Да",
|
||||
"lang_no": "Не",
|
||||
"lang_progress": "Изчакайте...",
|
||||
"lang_edit": "Редактиране",
|
||||
"lang_del": "Изтрий",
|
||||
"lang_add": "Добави",
|
||||
"lang_fatalerroroccured": "Възникнаха някои грешки, моля рестартирайте Desk.",
|
||||
"lang_speech": "Google US English",
|
||||
"lang_lang": "Език",
|
||||
"lang_langlocale": "Английски",
|
||||
"lang_back": "Назад",
|
||||
"lang_set": "Задай",
|
||||
"lang_langadd": "Преведете TheDesk на други езици или проверете TheDesk на <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\"> GitHub </a>. TheDesk се нуждае от вашата помощ.",
|
||||
"lang_version_usever": "Не е намерена актуализация({{ver}})",
|
||||
"lang_version_skipver": "Актуализацията бе игнорирана.",
|
||||
"lang_version_platform": "Искате ли автоматични актуализации? (За потребителите инсталирали от Microsoft Store, изберете „Не“)",
|
||||
"lang_version_platform_linux": "Искате ли автоматични актуализации? (За потребителите инсталирали от Snapcraft, изберете „Не“)",
|
||||
"lang_version_platform_mac": "Искате ли автоматични актуализации? (За потребителите на Homebrew Cask изберете „Не“)",
|
||||
"lang_login_noauth": "Показване на TL на нерегистрирани профили",
|
||||
"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": "Отворете DevCenter на Misskey. Ние показваме официални документи, на които се позоваваме.",
|
||||
"lang_manager_logout": "Излизане",
|
||||
"lang_bbmd_misskey": "TheDesk разглежда \"@\" като отговор, но поставя друг параметър. Ако не е включено в Mastodon това означава, че е в Home на Misskey.",
|
||||
"lang_emoji_get": "Вземи емотикони",
|
||||
"lang_emoji_custom": "Персонализирани емотикони",
|
||||
"lang_defaultemojis_text": "Още емотикони {{cat}}",
|
||||
"lang_postimg_previewdis": "не може да се визуализира",
|
||||
"lang_postimg_aftupload": "Не можете да променяте профилите след качването.",
|
||||
"lang_postimg_delete": "Изтрийте това изображение.",
|
||||
"lang_post_tagTL": "Тази раздумка не съдържа маркер по подразбиране. Тази раздумка няма да се показва в локалния TL. Продължавате?",
|
||||
"lang_post_tagVis": "Тази раздумка (не е \"публична\") не е показана с този етикет в ТЛ.",
|
||||
"lang_post_cwtitle": "Авто CW Сигнал",
|
||||
"lang_post_cwtxt": "На път сте да публикувате по-дълга раздумка, отколкото е зададена.\nТекст на предупреждението:",
|
||||
"lang_post_btn1": "Отказ (няма да се публикува)",
|
||||
"lang_post_btn2": "Текстът да се скрива автоматично",
|
||||
"lang_post_btn3": "Продължете към публикуването",
|
||||
"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_redraftTitle": "Изтрий & върни",
|
||||
"lang_status_redraft": "Продължете да изтривате & преработвате? Ще изгубите статуса на тази раздумка. В тази функция може да се съдържат някои грешки. Снимките от тази раздумка ще бъдат изтрити на по-стари от Mastodon 2.4.1.",
|
||||
"lang_status_emphas": "'s toots are emphasized. Please reload after this action.",
|
||||
"lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.",
|
||||
"lang_status_unendorse": "Not feature on profile",
|
||||
"lang_status_endorse": "Feature on profile",
|
||||
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
|
||||
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
|
||||
"lang_cards_check": " check",
|
||||
"lang_cards_pip": "PiP mode",
|
||||
"lang_details_nodata": "No data",
|
||||
"lang_details_filtered": "Filtered toot",
|
||||
"lang_details_embed": "Embed HTML is cliped.",
|
||||
"lang_details_url": "URL of this toot is cliped.",
|
||||
"lang_details_txt": "Content of this toot is cliped.",
|
||||
"lang_filter_nodata": "No data",
|
||||
"lang_filter_errordegree": "Please check a context",
|
||||
"lang_list_nodata": "No data",
|
||||
"lang_list_show": "Show",
|
||||
"lang_list_users": "Users list",
|
||||
"lang_list_nouser": "No users in this list.",
|
||||
"lang_list_add": "Add to the list",
|
||||
"lang_list_add_misskey": "(perhaps this user has been listed)",
|
||||
"lang_list_remove": "Remove from the list",
|
||||
"lang_notf_new": " new notifications",
|
||||
"lang_speech_refresh": "Save value about TTS config",
|
||||
"lang_src_ts": "chronological order",
|
||||
"lang_src_people": " people toot",
|
||||
"lang_tags_always": "Always toots with ",
|
||||
"lang_tags_realtime": "Tag-stream toot",
|
||||
"lang_tags_tagunpin": "Unpin {{tag}}",
|
||||
"lang_tags_unrealtime": "Disable TsT",
|
||||
"lang_tags_tagwarn": "Автоматично попълване на {{tag}}, ако раздумката няма {{tag}}",
|
||||
"lang_tl_media": "Media",
|
||||
"lang_tl_reconnect": "Reconnect to streaming API",
|
||||
"lang_img_DLDone": "Downloaded:",
|
||||
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
|
||||
"lang_layout_thisacct": "{{notf}} of this account",
|
||||
"lang_layout_delthis": "Remove this column",
|
||||
"lang_layout_setthis": "Preferences of this column",
|
||||
"lang_layout_mediafil": "Media filtering",
|
||||
"lang_layout_linkana": "Auto Link Analyzer",
|
||||
"lang_layout_linkanades": "Auto link analyzer",
|
||||
"lang_layout_tts": "Text to speech ",
|
||||
"lang_layout_reconnect": "Reconnect to streaming API",
|
||||
"lang_layout_headercolor": "Header color of this column",
|
||||
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
|
||||
"lang_layout_dm": "Direct Message",
|
||||
"lang_layout_webviewmode": "Prefer WebView",
|
||||
"lang_excluded": "Excluded type of notification",
|
||||
"lang_layout_excludingbt": "Показване в BT режим (ИЗКЛ./Изключване BT/ Само в BT)",
|
||||
"lang_layout_leftFold": "Стъпка наляво",
|
||||
"lang_layout_leftUnfold": "Док отдясно",
|
||||
"lang_layout_deleteColumn": "Премахване на тази колона",
|
||||
"lang_layout_deleteColumnDesc": "Премахване на тази колона",
|
||||
"lang_sort_gothis": "Отидете в тази колона",
|
||||
"lang_sort_remthis": "Премахване на тази колона",
|
||||
"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": "Готово:шаблон на NowPlaying",
|
||||
"lang_setting_npprovide": "NowPlaying provider:{{set}}",
|
||||
"lang_hisdata_frcreq": "Required Mastodon 2.4.3 and above",
|
||||
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
|
||||
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
|
||||
"lang_hisdata_notonmisskey": "Misskey is unable to request.",
|
||||
"lang_hisdata_key": "This user is proofed by {{set}}",
|
||||
"lang_showontl_movetxt": "This account was moved",
|
||||
"lang_showontl_movebtn": "Continue on the new account",
|
||||
"lang_showontl_botacct": "[bot]",
|
||||
"lang_showontl_followed": "Following you",
|
||||
"lang_showontl_notf": "Notification ",
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_parse_mentioned": " replied to you",
|
||||
"lang_parse_faved": " favourited your toot",
|
||||
"lang_parse_bted": " boosted your toot",
|
||||
"lang_parse_btedsimple": " boosted",
|
||||
"lang_parse_polled": "'s poll",
|
||||
"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": "Изтрийте тази раздумка",
|
||||
"lang_parse_pin": "Pin this toot",
|
||||
"lang_parse_det": "Details via your main account.",
|
||||
"lang_parse_redraft": "Изтрий & върни",
|
||||
"lang_parse_followed": "Followed you",
|
||||
"lang_parse_clientop": "Operation of this client",
|
||||
"lang_parse_clienttxt": " will be",
|
||||
"lang_parse_clientno": "done nothing",
|
||||
"lang_parse_clientemp": "emphasized(/not emphasized)",
|
||||
"lang_parse_clientmute": "muted",
|
||||
"lang_parse_mute": " will be muted. You can remove on preferences.",
|
||||
"lang_parse_voted": "Voted",
|
||||
"lang_parse_vote": "Vote",
|
||||
"lang_parse_unvoted": "Show the result without voting",
|
||||
"lang_parse_endedvote": "Expired",
|
||||
"lang_parse_thread": "Show thread",
|
||||
"lang_parse_unknown": "Attached file",
|
||||
"lang_parse_nsfw": "NSFW media",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_misskeyparse_renote": "Repost",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaction",
|
||||
"lang_misskeyparse_tagnostr": "No streaming API on Tag TLs",
|
||||
"lang_misskeyparse_listnostr": "No streaming API on List TLs",
|
||||
"lang_misskeyparse_home": "Home",
|
||||
"lang_misskeyparse_followers": "Follower",
|
||||
"lang_misskeyparse_specified": "Specified User",
|
||||
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
|
||||
"lang_misskeyparse_renoted": " renoted your following post.",
|
||||
"lang_misskeyparse_quoted": " quoted your following post.",
|
||||
"lang_misskeyparse_reacted": " reacted your following post.",
|
||||
"lang_setting_time": "Time format:{{set}}",
|
||||
"lang_setting_theme": "Theme:{{set}}",
|
||||
"lang_setting_nsfw": "NSFW:{{set}}",
|
||||
"lang_setting_cw": "CW:{{set}}",
|
||||
"lang_setting_cwtext": "Default CW text:{{set}}",
|
||||
"lang_setting_cws": "Always CW on:{{set}}",
|
||||
"lang_setting_rp": "Reply counter:{{set}}",
|
||||
"lang_setting_vis": "Default visibility:{{set}}",
|
||||
"lang_setting_popup": "Popup notification:{{set}}",
|
||||
"lang_setting_off": "Off",
|
||||
"lang_setting_s": "s",
|
||||
"lang_setting_box": "Default toot box action:{{set}}",
|
||||
"lang_setting_gif": "GIF:{{set}}",
|
||||
"lang_setting_selt": "Автоматично сгъване:{{set1}} линии по-нагоре,{{set2}} букви по-нагоре",
|
||||
"lang_setting_autocw": "Автоматично CW:{{set1}} линии по-нагоре, {{set2}} букви по-нагоре",
|
||||
"lang_setting_width": "Minimam width:{{set}}",
|
||||
"lang_setting_fixwidth": "TweetDeck fixed width:{{set}}px",
|
||||
"lang_setting_img": "After posting an image:{{set}}",
|
||||
"lang_setting_font": "Fonts:{{set}}",
|
||||
"lang_setting_default": "default font",
|
||||
"lang_setting_size": "Font size:{{set}}px",
|
||||
"lang_setting_imgheight": "Image height:{{set}}px",
|
||||
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
|
||||
"lang_setting_animation": "Animation: {{set}}",
|
||||
"lang_setting_tag": "Tag TL:{{set}}",
|
||||
"lang_setting_boxConfirm": "Post box:{{set}}",
|
||||
"lang_setting_ul": "Native locale:{{set}}",
|
||||
"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": "Всички данни ще бъдат изтрити."
|
||||
}
|
228
app/js/lang/lang.cs.js
Normal file
@@ -0,0 +1,228 @@
|
||||
var lang={
|
||||
"language": "cs",
|
||||
"lang_toot": "Toot",
|
||||
"lang_there": "Ano",
|
||||
"lang_nothing": "Nic",
|
||||
"lang_yesno": "Ano",
|
||||
"lang_no": "Ne",
|
||||
"lang_progress": "Čekejte...",
|
||||
"lang_edit": "Upravit",
|
||||
"lang_del": "Smazat",
|
||||
"lang_add": "Přidat",
|
||||
"lang_fatalerroroccured": "Vyskytly se nějaké chyby, prosím restartujte TheDesk.",
|
||||
"lang_speech": "Google Čeština",
|
||||
"lang_lang": "Jazyk",
|
||||
"lang_langlocale": "Čeština",
|
||||
"lang_back": "Zpět",
|
||||
"lang_set": "Nastavit",
|
||||
"lang_langadd": "Přeložte TheDesk do jiných jazyků nebo opravte existující překlad na <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHubu</a> nebo <a href=\"https://translate.thedesk.top/\" target=\"_blank\">Crowdinu</a>. TheDesk potřebuje vaši pomoc.",
|
||||
"lang_version_usever": "Nebyla nalezena žádná aktualizace ({{ver}})",
|
||||
"lang_version_skipver": "Aktualizace byla ignorována.",
|
||||
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
|
||||
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
|
||||
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
|
||||
"lang_login_noauth": "Zobrazit časové osy nepřihlášených účtů",
|
||||
"lang_manager_info": "O tomto serveru",
|
||||
"lang_manager_refresh": "Obnovit",
|
||||
"lang_manager_delete": "Odhlásit",
|
||||
"lang_manager_color": "Barva účtu",
|
||||
"lang_manager_confirm": "se chce odhlásit. Pokračovat?",
|
||||
"lang_manager_mainAcct": "Hotovo: vyberte hlavní účet",
|
||||
"lang_manager_def": "Výchozí",
|
||||
"lang_manager_none": "Žádný",
|
||||
"lang_manager_godev": "Otevřené vývojářské centrum softwaru Misskey. Zobrazujeme také oficiální dokumentaci.",
|
||||
"lang_manager_logout": "Logout",
|
||||
"lang_bbmd_misskey": "TheDesk považuje „@“ za odpověď, ale vkládá ho do jiných parametrů. „Neuvedeno“ na Mastodonu znamená „Domů“ na Misskey.",
|
||||
"lang_emoji_get": "Získat emoji",
|
||||
"lang_emoji_custom": "Vlastní emoji",
|
||||
"lang_defaultemojis_text": "Emojis about {{cat}}",
|
||||
"lang_postimg_previewdis": "nelze vytvořit náhled",
|
||||
"lang_postimg_aftupload": "Po nahrání nemůžete změnit účty.",
|
||||
"lang_postimg_delete": "Delete this image.",
|
||||
"lang_post_tagTL": "Tento toot neobsahuje výchozí hashtag. Tento toot nebude zobrazen na výchozí časové ose. Pokračovat?",
|
||||
"lang_post_tagVis": "Tento toot (ne „veřejný“ toot) není zobrazen na časové ose tohoto hashtagu.",
|
||||
"lang_post_cwtitle": "Automatické varování o obsahu",
|
||||
"lang_post_cwtxt": "Chcete napsat delší toot, než jste nastavil/a.\nText varování:",
|
||||
"lang_post_btn1": "Zrušit (příspěvek nebude publikován)",
|
||||
"lang_post_btn2": "Skrýt text automaticky",
|
||||
"lang_post_btn3": "Pokračovat k přispívání",
|
||||
"lang_status_favWarn": "Oblíbení vzdáleného tootu bude chvíli trvat.",
|
||||
"lang_status_btWarn": "Boostnutí vzdáleného tootu bude chvíli trvat.",
|
||||
"lang_status_follow": "Sledovat",
|
||||
"lang_status_unfollow": "Přestat sledovat",
|
||||
"lang_status_block": "Blokovat",
|
||||
"lang_status_unblock": "Odblokovat",
|
||||
"lang_status_mute": "Ignorovat",
|
||||
"lang_status_unmute": "Přestat ignorovat",
|
||||
"lang_status_redraftTitle": "Delete & redraft",
|
||||
"lang_status_redraft": "Chcete pokračovat k vymazání a přepsání? Ztratíte odpovědi na tento toot. Tato funkce může obashovat několik chyb. Obrázky v tomto tootu budou na verzi Mastodonu starší než 2.4.1 smazány.",
|
||||
"lang_status_emphas": ": tooty tohoto uživatele jsou zdůrazněny. Po této akci prosím obnovte stránku.",
|
||||
"lang_status_unemphas": ": tooty tohoto uživatele nejsou zdůrazněny. Po této akci prosím obnovte stránku.",
|
||||
"lang_status_unendorse": "Nepředstavit na profilu",
|
||||
"lang_status_endorse": "Představit na profilu",
|
||||
"lang_suggest_nodata": "Pro zobrazení návrhu prosím získejte seznam emoji.",
|
||||
"lang_usetxtbox_reply": "Režim odpovězení. Pro vymazání stiskněte Ctrl+Shift+C.",
|
||||
"lang_cards_check": " kontrolovat",
|
||||
"lang_cards_pip": "Režim PiP",
|
||||
"lang_details_nodata": "Žádná data",
|
||||
"lang_details_filtered": "Filtrovaný toot",
|
||||
"lang_details_embed": "HTML pro vložení je zkopírován.",
|
||||
"lang_details_url": "URL adresa tohoto tootu je zkopírována.",
|
||||
"lang_details_txt": "Obsah tohoto tootu je zkopírován.",
|
||||
"lang_filter_nodata": "Žádná data",
|
||||
"lang_filter_errordegree": "Prosím zkontrolujte kontext",
|
||||
"lang_list_nodata": "Žádná data",
|
||||
"lang_list_show": "Zobrazit",
|
||||
"lang_list_users": "Seznam uživatelů",
|
||||
"lang_list_nouser": "Žádní uživatelé na tomto seznamu.",
|
||||
"lang_list_add": "Přidat na seznam",
|
||||
"lang_list_add_misskey": "(perhaps this user has been listed)",
|
||||
"lang_list_remove": "Odstranit ze seznamu",
|
||||
"lang_notf_new": " nových oznámení",
|
||||
"lang_speech_refresh": "Uložit hodnotu nastavení TTS",
|
||||
"lang_src_ts": "chronologické pořadí",
|
||||
"lang_src_people": " lidí tootují",
|
||||
"lang_tags_always": "Vždy tootnout s ",
|
||||
"lang_tags_realtime": "Tag-stream toot",
|
||||
"lang_tags_tagunpin": "Odepnout {{tag}}",
|
||||
"lang_tags_unrealtime": "Disable TsT",
|
||||
"lang_tags_tagwarn": "Auto complete {{tag}}, if toot without {{tag}}",
|
||||
"lang_tl_media": "Média",
|
||||
"lang_tl_reconnect": "Reconnect to streaming API",
|
||||
"lang_img_DLDone": "Downloaded:",
|
||||
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
|
||||
"lang_layout_thisacct": "{{notf}} tohoto účtu",
|
||||
"lang_layout_delthis": "Odstranit tento sloupec",
|
||||
"lang_layout_setthis": "Nastavení tohoto sloupce",
|
||||
"lang_layout_mediafil": "Filtrování médií",
|
||||
"lang_layout_linkana": "Automatický analyzátor odkazů",
|
||||
"lang_layout_linkanades": "Automatický analyzátor odkazů",
|
||||
"lang_layout_tts": "Převod textu na řeč ",
|
||||
"lang_layout_reconnect": "Reconnect to streaming API",
|
||||
"lang_layout_headercolor": "Header color of this column",
|
||||
"lang_layout_nodata": "[Žádná data]<br>Obnovte stránku klávesami F5/⌘+R",
|
||||
"lang_layout_dm": "Přímá zpráva",
|
||||
"lang_layout_webviewmode": "Preferovat WebView",
|
||||
"lang_excluded": "Excluded type of notification",
|
||||
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
|
||||
"lang_layout_leftFold": "Stack to the left",
|
||||
"lang_layout_leftUnfold": "Dock on the right",
|
||||
"lang_layout_deleteColumn": "Delete this column",
|
||||
"lang_layout_deleteColumnDesc": "Delete this column",
|
||||
"lang_sort_gothis": "Go to this column",
|
||||
"lang_sort_remthis": "Delete this column",
|
||||
"lang_spotify_img": "Attach an album artwork",
|
||||
"lang_spotify_imgno": "Not attach an album artwork",
|
||||
"lang_spotify_acct": "Spojit TheDesk se Spotify",
|
||||
"lang_spotify_np": "Hotovo: šablona NowPlaying",
|
||||
"lang_setting_npprovide": "NowPlaying provider:{{set}}",
|
||||
"lang_hisdata_frcreq": "Vyžaduje Mastodon 2.4.3 nebo vyšší verzi",
|
||||
"lang_hisdata_frcwarn": "Budou zobrazeny již nesledované účty.",
|
||||
"lang_hisdata_taketime": "It will take 30s ~ several minutes",
|
||||
"lang_hisdata_notonmisskey": "Misskey is unable to request.",
|
||||
"lang_hisdata_key": "This user is proofed by {{set}}",
|
||||
"lang_showontl_movetxt": "Tento účet byl přesunut",
|
||||
"lang_showontl_movebtn": "Continue on the new account",
|
||||
"lang_showontl_botacct": "[robot]",
|
||||
"lang_showontl_followed": "Sledují vás",
|
||||
"lang_showontl_notf": "Oznámení ",
|
||||
"lang_showontl_domain": "Doména ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_parse_mentioned": " vám odpověděl/a",
|
||||
"lang_parse_faved": " si oblíbil/a váš toot",
|
||||
"lang_parse_bted": " boostnul/a váš toot",
|
||||
"lang_parse_btedsimple": " boostnul/a",
|
||||
"lang_parse_polled": "'s poll",
|
||||
"lang_parse_notftime": "Provedeno",
|
||||
"lang_parse_cwshow": "Zobrazit",
|
||||
"lang_parse_fulltext": "Celý text:",
|
||||
"lang_parse_autofold": "Auto folded",
|
||||
"lang_parse_more": "Více",
|
||||
"lang_parse_url": "Analyzátor URL",
|
||||
"lang_parse_tagTL": "Časová osa {{tag}}",
|
||||
"lang_parse_tagtoot": "Tootnout s hashtagem {{tag}}",
|
||||
"lang_parse_tagpin": "Připnout {{tag}}",
|
||||
"lang_parse_public": "Veřejný",
|
||||
"lang_parse_unlisted": "Neuvedený",
|
||||
"lang_parse_private": "Soukromý",
|
||||
"lang_parse_direct": "Přímý",
|
||||
"lang_parse_clickcopy": "Klikněte pro zkopírování textu tohoto tootu",
|
||||
"lang_parse_clickcopyurl": "Klikněte pro zkopírování URL adresy tohoto tootu",
|
||||
"lang_parse_trans": "Přeložit do japonštiny",
|
||||
"lang_parse_replyto": "Odpovědět na tento toot",
|
||||
"lang_parse_bt": "Boostnout tento toot",
|
||||
"lang_parse_fav": "Oblíbit si tento toot",
|
||||
"lang_parse_quote": "Citovat tento toot",
|
||||
"lang_parse_del": "Smazat tento toot",
|
||||
"lang_parse_pin": "Připnout tento toot",
|
||||
"lang_parse_det": "Details via your main account.",
|
||||
"lang_parse_redraft": "Vymazat a přepsat",
|
||||
"lang_parse_followed": "vás nyní sleduje",
|
||||
"lang_parse_clientop": "Operace tohoto klienta",
|
||||
"lang_parse_clienttxt": " bude",
|
||||
"lang_parse_clientno": "nic nedělat",
|
||||
"lang_parse_clientemp": "zdůrazněna (nebo nezdůrazněna)",
|
||||
"lang_parse_clientmute": "ztlumena",
|
||||
"lang_parse_mute": " bude ztlumena. To můžete odstranit v nastavení.",
|
||||
"lang_parse_voted": "Voted",
|
||||
"lang_parse_vote": "Vote",
|
||||
"lang_parse_unvoted": "Show the result without voting",
|
||||
"lang_parse_endedvote": "Expired",
|
||||
"lang_parse_thread": "Show thread",
|
||||
"lang_parse_unknown": "Attached file",
|
||||
"lang_parse_nsfw": "NSFW media",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_misskeyparse_renote": "Znovusdílení",
|
||||
"lang_misskeyparse_renoteqt": "Renotování",
|
||||
"lang_misskeyparse_reaction": "Reakce",
|
||||
"lang_misskeyparse_tagnostr": "Žádné streamovací API na časových osách hashtagů",
|
||||
"lang_misskeyparse_listnostr": "Žádné streamovací API na časových osách seznamů",
|
||||
"lang_misskeyparse_home": "Domů",
|
||||
"lang_misskeyparse_followers": "Sledující",
|
||||
"lang_misskeyparse_specified": "Určený uživatel",
|
||||
"lang_misskeyparse_qt": "Režim renotování (citace) Misskey: pro vymazání stiskněte Ctrl+Shift+Enter",
|
||||
"lang_misskeyparse_renoted": " renotoval/a váš následující příspěvek.",
|
||||
"lang_misskeyparse_quoted": " citoval/a váš následující příspěvek.",
|
||||
"lang_misskeyparse_reacted": " reagoval/a na váš následující příspěvek.",
|
||||
"lang_setting_time": "Časový formát: {{set}}",
|
||||
"lang_setting_theme": "Motiv: {{set}}",
|
||||
"lang_setting_nsfw": "Citlivý obsah: {{set}}",
|
||||
"lang_setting_cw": "Varování: {{set}}",
|
||||
"lang_setting_cwtext": "Výchozí text varování: {{set}}",
|
||||
"lang_setting_cws": "Vždy zapnout varování na: {{set}}",
|
||||
"lang_setting_rp": "Počitadlo odpovědí: {{set}}",
|
||||
"lang_setting_vis": "Výchozí viditelnost: {{set}}",
|
||||
"lang_setting_popup": "Popupové oznámení: {{set}}",
|
||||
"lang_setting_off": "Vyl",
|
||||
"lang_setting_s": "s",
|
||||
"lang_setting_box": "Výchozí akce tootového pole: {{set}}",
|
||||
"lang_setting_gif": "GIF: {{set}}",
|
||||
"lang_setting_selt": "Auto fold:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_autocw": "Auto CW:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_width": "Minimam width:{{set}}",
|
||||
"lang_setting_fixwidth": "TweetDeck fixed width:{{set}}px",
|
||||
"lang_setting_img": "After posting an image:{{set}}",
|
||||
"lang_setting_font": "Písma: {{set}}",
|
||||
"lang_setting_default": "výchozí písmo",
|
||||
"lang_setting_size": "Velikost písma: {{set}} px",
|
||||
"lang_setting_imgheight": "Výška obrázků: {{set}} px",
|
||||
"lang_setting_ticker": "#InstanceTicker: {{set}} px",
|
||||
"lang_setting_animation": "Animation: {{set}}",
|
||||
"lang_setting_tag": "Časová osa hashtagu: {{set}}",
|
||||
"lang_setting_boxConfirm": "Post box:{{set}}",
|
||||
"lang_setting_ul": "Native locale:{{set}}",
|
||||
"lang_setting_notf": "Native notification:{{set}}",
|
||||
"lang_setting_quote": "Formát citace: {{set}}",
|
||||
"lang_setting_via": "Přes: {{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": "Žádný klient není ztlumen.",
|
||||
"lang_setting_notftest": " Test oznámení ",
|
||||
"lang_setting_notftestprof": "Vaše ikona je zobrazena.",
|
||||
"lang_setting_exportwarn": "Budou exportována pouze důležitá data. Tato data musíte udržet v bezpečí.",
|
||||
"lang_setting_importwarn": "Všechna data budou smazána."
|
||||
}
|
228
app/js/lang/lang.de.js
Normal file
@@ -0,0 +1,228 @@
|
||||
var lang={
|
||||
"language": "en",
|
||||
"lang_toot": "Tröt",
|
||||
"lang_there": "Ja",
|
||||
"lang_nothing": "Ohne",
|
||||
"lang_yesno": "Ja",
|
||||
"lang_no": "Nein",
|
||||
"lang_progress": "Warten...",
|
||||
"lang_edit": "Bearbeiten",
|
||||
"lang_del": "Löschen",
|
||||
"lang_add": "Hinzufügen",
|
||||
"lang_fatalerroroccured": "Ein Fehler ist aufgetreten, bitte starten Sie TheDesk neu.",
|
||||
"lang_speech": "Google US Englisch",
|
||||
"lang_lang": "Sprache",
|
||||
"lang_langlocale": "Englisch",
|
||||
"lang_back": "Zurück",
|
||||
"lang_set": "Setzen",
|
||||
"lang_langadd": "Übersetzen oder korrigieren Sie TheDesk in andere Sprachen auf <a href=\"https://github.com/cutls/TheDesk\" target=\"_blank\">GitHub</a>. TheDesk benötigt Ihre Hilfe.",
|
||||
"lang_version_usever": "Keine Aktualisierung gefunden({{ver}})",
|
||||
"lang_version_skipver": "Update wurde ignoriert.",
|
||||
"lang_version_platform": "Möchten Sie automatische Updates?(Benutzer im Microsoft Store wählen 'Nein')",
|
||||
"lang_version_platform_linux": "Möchten Sie automatische Updates?(Benutzer auf Snapcraft wählen 'Nein')",
|
||||
"lang_version_platform_mac": "Möchten Sie automatische Updates?(Homebrew Cask Benutzer wählen 'Nein')",
|
||||
"lang_login_noauth": "Verläufe von nicht angemeldeten Konten anzeigen",
|
||||
"lang_manager_info": "Über diese Instanz",
|
||||
"lang_manager_refresh": "Aktualisieren",
|
||||
"lang_manager_delete": "Abmelden",
|
||||
"lang_manager_color": "Kontofarbe",
|
||||
"lang_manager_confirm": "ist im Begriff, sich auszuloggen. Fortfahren?",
|
||||
"lang_manager_mainAcct": "Fertig:Hauptkonto wählen",
|
||||
"lang_manager_def": "Standard",
|
||||
"lang_manager_none": "Ohne",
|
||||
"lang_manager_godev": "Öffnen Sie das DevCenter von Misskey. Wir zeigen auch ein offizielles Dokument als Referenz.",
|
||||
"lang_manager_logout": "Abmelden",
|
||||
"lang_bbmd_misskey": "TheDesk betrachtet \"@\" als Antwort, setzt aber einen anderen Parameter. Nicht auf Mastodon gelistet bedeutet Home on Misskey.",
|
||||
"lang_emoji_get": "Hole Emojis",
|
||||
"lang_emoji_custom": "Eigene Emojis",
|
||||
"lang_defaultemojis_text": "Emojis über {{cat}}",
|
||||
"lang_postimg_previewdis": "keine Vorschau",
|
||||
"lang_postimg_aftupload": "Sie können die Konten nach dem Hochladen nicht mehr ändern.",
|
||||
"lang_postimg_delete": "Dieses Bild löschen.",
|
||||
"lang_post_tagTL": "Dieses Tröt enthält keinen Standard-Tag. Er wird in dem lokalen Verlauf nicht angezeigt. Fortfahren?",
|
||||
"lang_post_tagVis": "Dieser Tröt (nicht 'öffentlicher' Tröt) wird nicht in diesem Tag-Verlauf angezeigt.",
|
||||
"lang_post_cwtitle": "Auto CW Alert",
|
||||
"lang_post_cwtxt": "Du bist dabei, länger zu posten, als du eingestellt hast.\nWarntext:",
|
||||
"lang_post_btn1": "Abbrechen (wird nicht gesendet)",
|
||||
"lang_post_btn2": "Text automatisch ausblenden",
|
||||
"lang_post_btn3": "Weiter mit Senden",
|
||||
"lang_status_favWarn": "Es braucht einen Moment, um ein entferntes Tröt zu favorisieren.",
|
||||
"lang_status_btWarn": "Es braucht einen Moment, um ein entferntes Tröt zu verstärken.",
|
||||
"lang_status_follow": "Folgen",
|
||||
"lang_status_unfollow": "Nicht mehr folgen",
|
||||
"lang_status_block": "Blockieren",
|
||||
"lang_status_unblock": "Freigeben",
|
||||
"lang_status_mute": "Stummschalten",
|
||||
"lang_status_unmute": "Stummschalten aufheben",
|
||||
"lang_status_redraftTitle": "Löschen & Neuentwerfen",
|
||||
"lang_status_redraft": "Weiter mit löschen & neu entwerfen? Du verlierst den Status dieses Tröts. Diese Aktion kann einige Fehler enthalten. Bilder dieses Tröts werden auf älteren Versionen als Mastodon 2.4.1 gelöscht.",
|
||||
"lang_status_emphas": "'s Tröts werden hervorgehoben. Bitte laden Sie nach dieser Aktion neu.",
|
||||
"lang_status_unemphas": "'s Tröts werden nicht hervorgehoben. Bitte laden Sie nach dieser Aktion neu.",
|
||||
"lang_status_unendorse": "Nicht auf dem Profil zeigen",
|
||||
"lang_status_endorse": "Auf dem Profil zeigen",
|
||||
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
|
||||
"lang_usetxtbox_reply": "Antwortmodus. Strg+Umschalt+C zum Löschen.",
|
||||
"lang_cards_check": " überprüfen",
|
||||
"lang_cards_pip": "PiP mode",
|
||||
"lang_details_nodata": "Keine Daten",
|
||||
"lang_details_filtered": "Gefilterter Tröt",
|
||||
"lang_details_embed": "Eingefügtes HTML wurde entfernt.",
|
||||
"lang_details_url": "URL dieses Tröts wurde entfernt.",
|
||||
"lang_details_txt": "Inhalt dieses Tröts wurde entfernt.",
|
||||
"lang_filter_nodata": "Keine Daten",
|
||||
"lang_filter_errordegree": "Bitte überprüfen Sie den Kontext",
|
||||
"lang_list_nodata": "Keine Daten",
|
||||
"lang_list_show": "Anzeigen",
|
||||
"lang_list_users": "Benutzerliste",
|
||||
"lang_list_nouser": "Keine Benutzer in dieser Liste.",
|
||||
"lang_list_add": "Zur Liste hinzufügen",
|
||||
"lang_list_add_misskey": "(vielleicht wurde dieser Benutzer aufgelistet)",
|
||||
"lang_list_remove": "Aus Liste entfernen",
|
||||
"lang_notf_new": " neue Benachrichtigungen",
|
||||
"lang_speech_refresh": "Sichern der Vorlesefunktionseinstellungen",
|
||||
"lang_src_ts": "chronologische Reihenfolge",
|
||||
"lang_src_people": " Leute Tröt",
|
||||
"lang_tags_always": "Immer Tröten mit ",
|
||||
"lang_tags_realtime": "Tag-Stream Tröt",
|
||||
"lang_tags_tagunpin": "{{tag}} entsperren",
|
||||
"lang_tags_unrealtime": "Disable TsT",
|
||||
"lang_tags_tagwarn": "Automatisch {{tag}} anfügen, wenn Tröt ohne {{tag}} ist",
|
||||
"lang_tl_media": "Medien",
|
||||
"lang_tl_reconnect": "Mit Streaming API erneut verbinden",
|
||||
"lang_img_DLDone": "Heruntergeladen:",
|
||||
"lang_layout_gotop": "Gehen Sie zum Anfang dieser Spalte. Wenn das Symbol rot ist, kann diese Spalte keine Verbindung zur Streaming-API herstellen. Bitte neu laden.",
|
||||
"lang_layout_thisacct": "{{notf}} dieses Kontos",
|
||||
"lang_layout_delthis": "Diese Spalte löschen",
|
||||
"lang_layout_setthis": "Einstellungen dieser Spalte",
|
||||
"lang_layout_mediafil": "Medien filtern",
|
||||
"lang_layout_linkana": "Automatische Link-Analyse",
|
||||
"lang_layout_linkanades": "Automatische Link-Analyse",
|
||||
"lang_layout_tts": "Sprachausgabe ",
|
||||
"lang_layout_reconnect": "Mit Streaming API erneut verbinden",
|
||||
"lang_layout_headercolor": "Kopfzeilenfarbe dieser Spalte",
|
||||
"lang_layout_nodata": "[Keine Daten]<br>F5/⌘+R zum Neu laden",
|
||||
"lang_layout_dm": "Direkte Nachricht",
|
||||
"lang_layout_webviewmode": "Web-Ansicht bevorzugen",
|
||||
"lang_excluded": "Ausgeschlossene Benachrichtigungsart",
|
||||
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
|
||||
"lang_layout_leftFold": "Nach links Stapeln",
|
||||
"lang_layout_leftUnfold": "Rechts Anheften",
|
||||
"lang_layout_deleteColumn": "Diese Spalte löschen",
|
||||
"lang_layout_deleteColumnDesc": "Diese Spalte löschen",
|
||||
"lang_sort_gothis": "Gehe zu dieser Spalte",
|
||||
"lang_sort_remthis": "Diese Spalte löschen",
|
||||
"lang_spotify_img": "Albumcover anhängen",
|
||||
"lang_spotify_imgno": "Kein Albumcover anhängen",
|
||||
"lang_spotify_acct": "TheDesk mit Spotify verbinden",
|
||||
"lang_spotify_np": "Done:Vorlage für NowPlaying",
|
||||
"lang_setting_npprovide": "NowPlaying Provider:{{set}}",
|
||||
"lang_hisdata_frcreq": "Benötigte Mastodon 2.4.3 und höher",
|
||||
"lang_hisdata_frcwarn": "Unfollow accounts will be shown.",
|
||||
"lang_hisdata_taketime": "Es dauert 30s bis mehrere Minuten",
|
||||
"lang_hisdata_notonmisskey": "Misskey kann nicht angefordert werden.",
|
||||
"lang_hisdata_key": "Dieser Benutzer ist von {{set}} überprüft",
|
||||
"lang_showontl_movetxt": "Dieses Konto wurde verschoben",
|
||||
"lang_showontl_movebtn": "Auf dem neuen Konto fortfahren",
|
||||
"lang_showontl_botacct": "[bot]",
|
||||
"lang_showontl_followed": "Folgt dir",
|
||||
"lang_showontl_notf": "Benachrichtigung ",
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Folgen, um diesen Benutzer zu Listen hinzuzufügen.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_parse_mentioned": " hat dir geantwortet",
|
||||
"lang_parse_faved": " favorisierte deinen Tröt",
|
||||
"lang_parse_bted": " hat deinen Tröt verstärkt",
|
||||
"lang_parse_btedsimple": " verstärkt",
|
||||
"lang_parse_polled": "'s Umfrage",
|
||||
"lang_parse_notftime": "Bearbeitet am",
|
||||
"lang_parse_cwshow": "Anzeigen",
|
||||
"lang_parse_fulltext": "Full size text:",
|
||||
"lang_parse_autofold": "Automatisches Zusammenfalten",
|
||||
"lang_parse_more": "Mehr",
|
||||
"lang_parse_url": "URL-Analyse",
|
||||
"lang_parse_tagTL": "Verlauf von {{tag}}",
|
||||
"lang_parse_tagtoot": "Tröt mit {{tag}}",
|
||||
"lang_parse_tagpin": "Pin {{tag}}",
|
||||
"lang_parse_public": "Öffentlich",
|
||||
"lang_parse_unlisted": "Nicht aufgeführt",
|
||||
"lang_parse_private": "Privat",
|
||||
"lang_parse_direct": "Direkt",
|
||||
"lang_parse_clickcopy": "Klicken, um den Text dieses Tröts zu kopieren",
|
||||
"lang_parse_clickcopyurl": "Klicken, um die URL dieses Tröts zu kopieren",
|
||||
"lang_parse_trans": "Übersetzen nach Japanisch",
|
||||
"lang_parse_replyto": "Auf diesen Tröt antworten",
|
||||
"lang_parse_bt": "Diesen Tröt verstärken",
|
||||
"lang_parse_fav": "Diesen Tröt favorisieren",
|
||||
"lang_parse_quote": "Diesen Tröt zitieren",
|
||||
"lang_parse_del": "Diesen Tröt löschen",
|
||||
"lang_parse_pin": "Dieses Tröt fixieren",
|
||||
"lang_parse_det": "Details über Ihr Hauptkonto.",
|
||||
"lang_parse_redraft": "Löschen & Neuentwerfen",
|
||||
"lang_parse_followed": "Folgt dir",
|
||||
"lang_parse_clientop": "Aktion dieses Clients",
|
||||
"lang_parse_clienttxt": " wird",
|
||||
"lang_parse_clientno": "Nichts unternehmen",
|
||||
"lang_parse_clientemp": "Hervorgehoben(/nicht hervorgehoben)",
|
||||
"lang_parse_clientmute": "Stumm",
|
||||
"lang_parse_mute": " wird stumm gemacht. Kann in den Einstellungen wieder entfernt werden.",
|
||||
"lang_parse_voted": "Abgestimmt",
|
||||
"lang_parse_vote": "Abstimmen",
|
||||
"lang_parse_unvoted": "Ergebnis ohne Abstimmung anzeigen",
|
||||
"lang_parse_endedvote": "Abgelaufen",
|
||||
"lang_parse_thread": "Konversation anzeigen",
|
||||
"lang_parse_unknown": "Angehängte Datei",
|
||||
"lang_parse_nsfw": "NSFW Medien",
|
||||
"lang_parse_notffilter": "Benachrichtigungen dieses Benutzers anzeigen",
|
||||
"lang_misskeyparse_renote": "Weiterleiten",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaktion",
|
||||
"lang_misskeyparse_tagnostr": "Keine Streaming-API für Tag-Verläufe",
|
||||
"lang_misskeyparse_listnostr": "Keine Streaming-API fpr Listen-Verläufe",
|
||||
"lang_misskeyparse_home": "Startseite",
|
||||
"lang_misskeyparse_followers": "Abonnent",
|
||||
"lang_misskeyparse_specified": "Ausgewählte Benutzer",
|
||||
"lang_misskeyparse_qt": "Misskey renote(quote) mode:Ctrl+Shift+Enter to clear",
|
||||
"lang_misskeyparse_renoted": " hat deinen folgenden Beitrag zurückgewiesen.",
|
||||
"lang_misskeyparse_quoted": " zitierte deinen folgenden Beitrag.",
|
||||
"lang_misskeyparse_reacted": " hat auf Ihren folgenden Beitrag reagiert.",
|
||||
"lang_setting_time": "Zeitformat:{{set}}",
|
||||
"lang_setting_theme": "Design:{{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": "Antwortzähler:{{set}}",
|
||||
"lang_setting_vis": "Standardsichtbarkeit:{{set}}",
|
||||
"lang_setting_popup": "Popup-Benachrichtigung:{{set}}",
|
||||
"lang_setting_off": "Aus",
|
||||
"lang_setting_s": "s",
|
||||
"lang_setting_box": "Standard-Tröt-Box-Aktion:{{set}}",
|
||||
"lang_setting_gif": "GIF:{{set}}",
|
||||
"lang_setting_selt": "Auto-Falten:{{set1}} Zeilen und höher, {{set2}} Buchstaben und höher",
|
||||
"lang_setting_autocw": "Auto CW:{{set1}} lines and above, {{set2}} letters and above",
|
||||
"lang_setting_width": "Minimale Breite:{{set}}",
|
||||
"lang_setting_fixwidth": "TweetDeck feste Breite:{{set}}px",
|
||||
"lang_setting_img": "Nach dem Posten eines Bildes:{{set}}",
|
||||
"lang_setting_font": "Schriftart:{{set}}",
|
||||
"lang_setting_default": "Standard-Schriftart",
|
||||
"lang_setting_size": "Schriftgröße:{{set}}px",
|
||||
"lang_setting_imgheight": "Bildhöhe:{{set}}px",
|
||||
"lang_setting_ticker": "#InstanceTicker:{{set}}px",
|
||||
"lang_setting_animation": "Animation: {{set}}",
|
||||
"lang_setting_tag": "Tag-Verlauf:{{set}}",
|
||||
"lang_setting_boxConfirm": "Postfach:{{set}}",
|
||||
"lang_setting_ul": "Muttersprache:{{set}}",
|
||||
"lang_setting_notf": "System Benachrichtigungen:{{set}}",
|
||||
"lang_setting_quote": "Zitierformat:{{set}}",
|
||||
"lang_setting_via": "Via:{{set}}",
|
||||
"lang_setting_mov": "Aktionstasten verstecken:{{set}}",
|
||||
"lang_setting_setasread": "Benachrichtigungs-Markierungen:{{set}}",
|
||||
"lang_setting_main": "Standard-Konto:{{set}}",
|
||||
"lang_setting_sec": "Zweite Tröt-Taste:{{set}}",
|
||||
"lang_setting_ksref": "Tastaturkürzel werden aktualisiert.",
|
||||
"lang_setting_nomuting": "Kein Client ist stumm.",
|
||||
"lang_setting_notftest": " Benachrichtigungen testen ",
|
||||
"lang_setting_notftestprof": "Ihr Symbol wird angezeigt.",
|
||||
"lang_setting_exportwarn": "Nur wichtige Daten werden exportiert. Sie müssen diese Daten sichern.",
|
||||
"lang_setting_importwarn": "Alle Daten werden gelöscht."
|
||||
}
|
@@ -21,9 +21,9 @@ var lang = {
|
||||
//common/version.js
|
||||
"lang_version_usever": "No update is found({{ver}})",
|
||||
"lang_version_skipver": "Update was ignored.",
|
||||
"lang_version_platform": "Was this software installed at Microsoft Store? When select 'yes', any update was ignored.",
|
||||
"lang_version_platform_linux": "Was this software installed at Snapcraft(snapd)? When select 'yes', any update was ignored.",
|
||||
"lang_version_platform_mac": "Was this software installed at Homebrew Cask? When select 'yes', any update was ignored.",
|
||||
"lang_version_platform": "Do you want auto-updates?(users installed on Microsoft Store select 'No')",
|
||||
"lang_version_platform_linux": "Do you want auto-updates?(users installed on Snapcraft select 'No')",
|
||||
"lang_version_platform_mac": "Do you want auto-updates?(Homebrew Cask users select 'No')",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth": "Show TL of unlogined accounts",
|
||||
@@ -37,6 +37,7 @@ var lang = {
|
||||
"lang_manager_def": "Default",
|
||||
"lang_manager_none": "None",
|
||||
"lang_manager_godev": "Open DevCenter of Misskey. We show also an official documents to refer.",
|
||||
"lang_manager_logout": "Logout",
|
||||
//post/bb-md.js
|
||||
"lang_bbmd_misskey": "TheDesk regards \"@\" as reply, but put other parameter. Unlisted on Mastodon means Home on Misskey.",
|
||||
//post/emoji.js
|
||||
@@ -46,6 +47,7 @@ var lang = {
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis": "cannot preview",
|
||||
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
|
||||
"lang_postimg_failupload": "Failed",
|
||||
"lang_postimg_delete": "Delete this image.",
|
||||
//post/post.js
|
||||
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
|
||||
@@ -64,6 +66,7 @@ var lang = {
|
||||
"lang_status_unblock": "Unblock",
|
||||
"lang_status_mute": "Mute",
|
||||
"lang_status_unmute": "Unmute",
|
||||
"lang_status_redraftTitle": "Delete & redraft",
|
||||
"lang_status_redraft": "Continue to delete & redraft? You lose statuses of this toot. This fanction may contain some bugs. Images of this toot will be deleted on older than Mastodon 2.4.1.",
|
||||
"lang_status_emphas": "'s toots are emphasized. Please reload after this action.",
|
||||
"lang_status_unemphas": "'s toots are not emphasized. Please reload after this action.",
|
||||
@@ -109,6 +112,8 @@ var lang = {
|
||||
//tl/tl.js
|
||||
"lang_tl_media": "Media",
|
||||
"lang_tl_reconnect": "Reconnect to streaming API",
|
||||
//ui/img.js
|
||||
"lang_img_DLDone": "Downloaded:",
|
||||
//ui/layout.js
|
||||
"lang_layout_gotop": "Go top of this column. When icon is red, this column cannot connect straming API. Please reload.",
|
||||
"lang_layout_thisacct": "{{notf}} of this account",
|
||||
@@ -118,7 +123,7 @@ var lang = {
|
||||
"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_reconnect": "Reload this column",
|
||||
"lang_layout_headercolor": "Header color of this column",
|
||||
"lang_layout_nodata": "[No data]<br>F5/⌘+R to reload",
|
||||
"lang_layout_dm": "Direct Message",
|
||||
@@ -127,6 +132,8 @@ var lang = {
|
||||
"lang_layout_excludingbt": "Show BT mode(OFF/Exclude BT/Only BT)",
|
||||
"lang_layout_leftFold": "Stack to the left",
|
||||
"lang_layout_leftUnfold": "Dock on the right",
|
||||
"lang_layout_deleteColumn":"Delete this column",
|
||||
"lang_layout_deleteColumnDesc":"Delete this column",
|
||||
//ui/sort.js
|
||||
"lang_sort_gothis": "Go to this column",
|
||||
"lang_sort_remthis": "Delete this column",
|
||||
@@ -194,7 +201,7 @@ var lang = {
|
||||
"lang_parse_endedvote": "Expired",
|
||||
"lang_parse_thread": "Show thread",
|
||||
"lang_parse_unknown": "Attached file",
|
||||
"lang_parse_nsfw": "NSFW media",
|
||||
"lang_parse_nsfw": "sensitive media",
|
||||
"lang_parse_notffilter":"Show this user's notifications",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote": "Repost",
|
||||
@@ -212,7 +219,7 @@ var lang = {
|
||||
//setting
|
||||
"lang_setting_time": "Time format:{{set}}",
|
||||
"lang_setting_theme": "Theme:{{set}}",
|
||||
"lang_setting_nsfw": "NSFW:{{set}}",
|
||||
"lang_setting_nsfw": "Sensitive media:{{set}}",
|
||||
"lang_setting_cw": "CW:{{set}}",
|
||||
"lang_setting_cwtext": "Default CW text:{{set}}",
|
||||
"lang_setting_cws": "Always CW on:{{set}}",
|
||||
|
@@ -21,9 +21,9 @@ var lang = {
|
||||
//common/version.js
|
||||
"lang_version_usever": "お使いのバージョン{{ver}}は最新です。",
|
||||
"lang_version_skipver": "アップデートはスキップされました。",
|
||||
"lang_version_platform": "このソフトウェアはMicrosoft Storeからダウンロードされましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform_linux": "このソフトウェアはSnapcraft(snapd)からインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform_mac": "このソフトウェアはHomebrew Caskからインストールしましたか?(「はい」を選択すると次回からアップデート通知を無視します。)",
|
||||
"lang_version_platform": "このソフトウェアはMicrosoft Storeからダウンロードされましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとMicrosoft Storeからアップデートが提供され、アップデートの通知を出しません。",
|
||||
"lang_version_platform_linux": "このソフトウェアはSnapcraft(snapd)からインストールしましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとSnapcraftからアップデートが提供され、アップデートの通知を出しません。",
|
||||
"lang_version_platform_mac": "このソフトウェアはHomebrew Caskからインストールしましたか?通常はホームページからインストールするため「いいえ」を選んでください。「はい」を選ぶとアップデートの通知を出しません。",
|
||||
//login
|
||||
//login/login.js
|
||||
"lang_login_noauth": "認証せずに見る",
|
||||
@@ -37,6 +37,7 @@ var lang = {
|
||||
"lang_manager_def": "既定",
|
||||
"lang_manager_none": "なし",
|
||||
"lang_manager_godev": "MisskeyのDevセンターに移動します。同時に開かれるドキュメントを参考にログインしてください。",
|
||||
"lang_manager_logout": "ログアウト",
|
||||
//post/bb-md.js
|
||||
"lang_bbmd_misskey": "TheDeskにおけるMisskeyでは、@を返信として扱いますが、全ての@は消去され別パラメータに入力されます。また、「未収載」を「ホーム」として扱います。",
|
||||
//post/emoji.js
|
||||
@@ -46,6 +47,7 @@ var lang = {
|
||||
//post/img.js
|
||||
"lang_postimg_previewdis": "プレビューできません。",
|
||||
"lang_postimg_aftupload": "アップロード後はアカウントを切り替えられません。",
|
||||
"lang_postimg_failupload": "アップロードに失敗しました。",
|
||||
"lang_postimg_delete": "この画像を削除します",
|
||||
//post/post.js
|
||||
"lang_post_tagTL": "デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
|
||||
@@ -64,6 +66,7 @@ var lang = {
|
||||
"lang_status_unblock": "ブロック解除",
|
||||
"lang_status_mute": "ミュート",
|
||||
"lang_status_unmute": "ミュート解除",
|
||||
"lang_status_redraftTitle": "削除して再編集",
|
||||
"lang_status_redraft": "削除して再編集しますか?そのトゥートの全てのデータがリセットされます。この機能はベータ版です。画像は~v2.4.1で破棄されます。",
|
||||
"lang_status_emphas": "を強調します。リロードしてください。",
|
||||
"lang_status_unemphas": "を強調解除します。リロードしてください。",
|
||||
@@ -120,7 +123,7 @@ var lang = {
|
||||
"lang_layout_linkana": "リンク解析",
|
||||
"lang_layout_linkanades": "リンクの解析を切り替え",
|
||||
"lang_layout_tts": "読み上げ",
|
||||
"lang_layout_reconnect": "ストリーミング再接続",
|
||||
"lang_layout_reconnect": "カラム再読込",
|
||||
"lang_layout_headercolor": "TLヘッダーカラー",
|
||||
"lang_layout_nodata": "[ここにトゥートはありません。]<br>F5/⌘+Rで再読込できます。",
|
||||
"lang_layout_dm": "ダイレクトメッセージ",
|
||||
@@ -129,6 +132,8 @@ var lang = {
|
||||
"lang_layout_excludingbt": "BT表示(OFF/BT除外/BTのみ)",
|
||||
"lang_layout_leftFold": "左へ重ねる",
|
||||
"lang_layout_leftUnfold": "右へ出す",
|
||||
"lang_layout_deleteColumn": "カラム削除",
|
||||
"lang_layout_deleteColumnDesc": "カラムを削除しますか?",
|
||||
//ui/sort.js
|
||||
"lang_sort_gothis": "このカラムへ",
|
||||
"lang_sort_remthis": "このカラムを削除",
|
||||
@@ -184,8 +189,8 @@ var lang = {
|
||||
"lang_parse_det": "詳細(メインアカウント経由)",
|
||||
"lang_parse_redraft": "このトゥートを削除して再編集",
|
||||
"lang_parse_followed": "フォローされました。",
|
||||
"lang_parse_clientop": "クライアント処理",
|
||||
"lang_parse_clienttxt": "に対する処理を選択してください。",
|
||||
"lang_parse_clientop": "クライアント操作",
|
||||
"lang_parse_clienttxt": " に対する処理を選択してください。",
|
||||
"lang_parse_clientno": "何もしない",
|
||||
"lang_parse_clientemp": "強調表示/解除",
|
||||
"lang_parse_clientmute": "ミュート",
|
||||
@@ -197,7 +202,7 @@ var lang = {
|
||||
"lang_parse_thread": "会話を表示",
|
||||
"lang_parse_unknown": "添付ファイル",
|
||||
"lang_parse_nsfw": "閲覧注意",
|
||||
"lang_parse_notffilter":"このユーザーの通知のみを表示",
|
||||
"lang_parse_notffilter": "このユーザーの通知のみを表示",
|
||||
//misskey
|
||||
"lang_misskeyparse_renote": "再投稿",
|
||||
"lang_misskeyparse_renoteqt": "引用",
|
||||
|
@@ -13,12 +13,6 @@ var idata = {
|
||||
"minohdon.jp_bbcode": "disabled",
|
||||
"minohdon.jp_markdown": "disabled",
|
||||
"minohdon.jp_glitch": "disabled",
|
||||
"knzk.me": "instance",
|
||||
"knzk.me_name": "Knzk",
|
||||
"knzk.me_letters": "5000",
|
||||
"knzk.me_bbcode": "disabled",
|
||||
"knzk.me_markdown": "disabled",
|
||||
"knzk.me_glitch": "disabled",
|
||||
"mastodos.com": "instance",
|
||||
"mastodos.com_name": "マストどす",
|
||||
"mastodos.com_letters": "500",
|
||||
@@ -90,16 +84,16 @@ var idata = {
|
||||
"dtp-mstdn.jp_bbcode": "disabled",
|
||||
"dtp-mstdn.jp_markdown": "disabled",
|
||||
"dtp-mstdn.jp_glitch": "disabled",
|
||||
"misskey.xyz": "misskey",
|
||||
"misskey.xyz_name": "misskey.xyz",
|
||||
"misskey.xyz_letters": "1000",
|
||||
"misskey.xyz_bbcode": "disabled",
|
||||
"misskey.xyz_markdown": "enabled",
|
||||
"misskey.xyz_public": "Global",
|
||||
"misskey.xyz_post": "Post",
|
||||
"misskey.xyz_fav": " reacted your post.",
|
||||
"misskey.xyz_bt": " reposted your post.",
|
||||
"misskey.dev": "misskey",
|
||||
"misskey.io": "misskey",
|
||||
"misskey.io_name": "misskey.io",
|
||||
"misskey.io_letters": "1000",
|
||||
"misskey.io_bbcode": "disabled",
|
||||
"misskey.io_markdown": "enabled",
|
||||
"misskey.io_public": "Global",
|
||||
"misskey.io_post": "Post",
|
||||
"misskey.io_fav": " reacted your post.",
|
||||
"misskey.io_bt": " reposted your post.",
|
||||
"misskey.dev": "misskey.dev",
|
||||
"misskey.dev_name": "misskey.dev",
|
||||
"misskey.dev_letters": "1024",
|
||||
"misskey.dev_bbcode": "disabled",
|
||||
@@ -114,13 +108,7 @@ var idata = {
|
||||
"precure.ml_bbcode": "disabled",
|
||||
"precure.ml_markdown": "disabled",
|
||||
"precure.ml_post": "キュア!",
|
||||
"precure.ml_glitch": "disabled",
|
||||
"best-friends.chat": "instance",
|
||||
"best-friends.chat_name": "Best Friends",
|
||||
"best-friends.chat_letters": "500",
|
||||
"best-friends.chat_bbcode": "disabled",
|
||||
"best-friends.chat_markdown": "disabled",
|
||||
"best-friends.chat_glitch": "disabled",
|
||||
"precure.ml_glitch": "disabled"
|
||||
};
|
||||
|
||||
localStorage.setItem("instance", JSON.stringify(idata));
|
||||
|
@@ -26,6 +26,8 @@ function ck() {
|
||||
}
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (!multi || multi == "[]") {
|
||||
var date = new Date();
|
||||
localStorage.setItem("showSupportMe", date.getMonth() + 2)
|
||||
location.href = "acct.html?mode=first&code=true"
|
||||
} else {
|
||||
var obj = JSON.parse(multi);
|
||||
@@ -38,9 +40,10 @@ function ck() {
|
||||
if (obj[0].domain) {
|
||||
$("#tl").show();
|
||||
ticker();
|
||||
multiSelector();
|
||||
multiSelector(false);
|
||||
verck(ver);
|
||||
$("#something-wrong img").attr("src", "../../img/thinkingdesk.png")
|
||||
$(".stw").show()
|
||||
$("#something-wrong img").attr("src", "../../img/thinking.svg")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,15 +80,11 @@ function login(url) {
|
||||
localStorage.setItem("client_secret", json["client_secret"]);
|
||||
$("#auth").show();
|
||||
$("#masara").hide();
|
||||
const { shell } = require('electron');
|
||||
|
||||
shell.openExternal(auth);
|
||||
postMessage(["openUrl", auth], "*")
|
||||
|
||||
if ($('#linux:checked').val() == "on") {
|
||||
} else {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('quit', 'go');
|
||||
postMessage(["sendSinmpleIpc", "quit"], "*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -164,8 +163,7 @@ function getdata() {
|
||||
}).then(function (json) {
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang.lang_fatalerroroccured + "Error:" + json.error,
|
||||
5000);
|
||||
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 })
|
||||
return;
|
||||
}
|
||||
var avatar = json["avatar"];
|
||||
@@ -212,8 +210,7 @@ function getdataAdv(domain, at) {
|
||||
}).then(function (json) {
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang.lang_fatalerroroccured + "Error:" + json.error,
|
||||
5000);
|
||||
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 })
|
||||
return;
|
||||
}
|
||||
var avatar = json["avatar"];
|
||||
@@ -271,8 +268,7 @@ function refresh(target, loadskip) {
|
||||
}).then(function (json) {
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang.lang_fatalerroroccured + "Error:" + json.error,
|
||||
5000);
|
||||
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 })
|
||||
return;
|
||||
}
|
||||
var avatar = json["avatar"];
|
||||
@@ -294,7 +290,7 @@ function refresh(target, loadskip) {
|
||||
localStorage.setItem("user-id_" + target, json["id"]);
|
||||
localStorage.setItem("prof_" + target, avatar);
|
||||
localStorage.setItem("follow_" + target, json["following_count"]);
|
||||
obj[target] = ref;
|
||||
console.log(obj)
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("multi", json);
|
||||
if (!loadskip) {
|
||||
@@ -408,7 +404,7 @@ function ckdb(acct_id) {
|
||||
}
|
||||
|
||||
//アカウントを選択…を実装
|
||||
function multiSelector() {
|
||||
function multiSelector(parseC) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
if (!multi) {
|
||||
var obj = [];
|
||||
@@ -455,7 +451,7 @@ function multiSelector() {
|
||||
$("#local-button").removeClass("hide")
|
||||
}
|
||||
var profimg = acct.prof;
|
||||
localStorage.setItem("prof_" + key, profimg);
|
||||
//localStorage.setItem("prof_" + key, profimg);
|
||||
if (!profimg) {
|
||||
profimg = "../../img/missing.svg";
|
||||
}
|
||||
@@ -494,8 +490,10 @@ function multiSelector() {
|
||||
$("#src-acct-sel").append('<option value="tootsearch">Tootsearch</option>');
|
||||
$("#add-acct-sel").append('<option value="noauth">' + lang.lang_login_noauth + '</option><option value="webview">Twitter</option>');
|
||||
}
|
||||
$('select').material_select('update');
|
||||
parseColumn(true);
|
||||
$('select').formSelect();
|
||||
if(!parseC){
|
||||
parseColumn(null, true);
|
||||
}
|
||||
}
|
||||
|
||||
//バージョンエンコ
|
||||
|
@@ -146,7 +146,17 @@ function multiDel(target) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
//削除確認ダイアログ
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm)) {
|
||||
Swal.fire({
|
||||
title: lang.lang_manager_logout,
|
||||
text: obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var nk = key - 1;
|
||||
//公開範囲(差分のみ)
|
||||
@@ -205,11 +215,22 @@ function multiDel(target) {
|
||||
localStorage.setItem("column", json);
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
function multiDel2(target) {
|
||||
var multi = localStorage.getItem("multi");
|
||||
var obj = JSON.parse(multi);
|
||||
if (confirm(obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm)) {
|
||||
Swal.fire({
|
||||
title: lang.lang_manager_logout,
|
||||
text: obj[target]["user"] + "@" + obj[target]["domain"] + lang.lang_manager_confirm,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
obj.splice(target, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("multi", json);
|
||||
@@ -254,6 +275,7 @@ function multiDel2(target) {
|
||||
localStorage.setItem("column", json);
|
||||
load();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//サポートインスタンス
|
||||
@@ -282,7 +304,7 @@ function login(url) {
|
||||
return;
|
||||
}
|
||||
if ($('#linux:checked').val() == "on") {
|
||||
var red = "https://thedesk.top/hello.html"
|
||||
var red = "urn:ietf:wg:oauth:2.0:oob"
|
||||
} else {
|
||||
var red = 'thedesk://manager';
|
||||
}
|
||||
@@ -310,15 +332,9 @@ function login(url) {
|
||||
localStorage.setItem("client_secret", json["client_secret"]);
|
||||
$("#auth").show();
|
||||
$("#add").hide();
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
|
||||
shell.openExternal(auth);
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
postMessage(["openUrl", auth], "*")
|
||||
if ($('#linux:checked').val() == "on") { } else {
|
||||
ipc.send('quit', 'go');
|
||||
postMessage(["sendSinmpleIpc", "quit"], "*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -407,16 +423,13 @@ function misskeyAuth(url, mkc) {
|
||||
httpreq.onreadystatechange = function () {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
var token = json.token;
|
||||
$("#auth").show();
|
||||
$("#code").val(token);
|
||||
$("#add").hide();
|
||||
$("#misskey").prop("checked", false);
|
||||
localStorage.setItem("domain_tmp", url);
|
||||
shell.openExternal(json.url);
|
||||
postMessage(["openUrl", json.url], "*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -495,7 +508,7 @@ function code(code) {
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(JSON.stringify({
|
||||
grant_type: "authorization_code",
|
||||
redirect_uri: "https://thedesk.top/hello.html",
|
||||
redirect_uri: "urn:ietf:wg:oauth:2.0:oob",
|
||||
client_id: id,
|
||||
client_secret: secret,
|
||||
code: code
|
||||
@@ -530,8 +543,7 @@ function getdata(domain, at) {
|
||||
}).then(function (json) {
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang.lang_fatalerroroccured + "Error:" + escapeHTML(json.error),
|
||||
5000);
|
||||
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 })
|
||||
return;
|
||||
}
|
||||
var avatar = json["avatar"];
|
||||
@@ -595,8 +607,7 @@ function refresh(target) {
|
||||
}).then(function (json) {
|
||||
if (json.error) {
|
||||
console.error("Error:" + json.error);
|
||||
Materialize.toast(lang.lang_fatalerroroccured + "Error:" + json.error,
|
||||
5000);
|
||||
M.toast({ html: lang.lang_fatalerroroccured + "Error:" + json.error, displayLength: 5000 })
|
||||
return;
|
||||
}
|
||||
var avatar = json["avatar"];
|
||||
@@ -704,12 +715,12 @@ function multisel() {
|
||||
|
||||
});
|
||||
}
|
||||
$('select').material_select('update');
|
||||
$('select').formSelect();
|
||||
}
|
||||
function mainacct() {
|
||||
var acct_id = $("#main-acct-sel").val();
|
||||
localStorage.setItem("main", acct_id);
|
||||
Materialize.toast(lang.lang_manager_mainAcct, 3000);
|
||||
M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 })
|
||||
}
|
||||
function colorpicker(key) {
|
||||
temp =
|
||||
|
@@ -10,16 +10,20 @@ $(document).on('click', 'a', e => {
|
||||
if (url) {
|
||||
urls = url.match(/https?:\/\/(.+)/);
|
||||
//トゥートのURLぽかったら
|
||||
toot = url.match(/https:\/\/([a-zA-Z0-9.-]+)\/@([a-zA-Z0-9_]+)\/([0-9]+)/);
|
||||
toot = url.match(/https:\/\/([^+_]+)\/@([a-zA-Z0-9_]+)\/([0-9]+)/);
|
||||
if(!toot){
|
||||
//Pleroma対策
|
||||
toot = url.match(/https:\/\/([^+_]+)\/users\/([a-zA-Z0-9_]+)\/statuses\/([0-9]+)/);
|
||||
}
|
||||
//タグのURLぽかったら
|
||||
var tags = [];
|
||||
tags = url.match(
|
||||
/https:\/\/([-a-zA-Z0-9@.]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#]+)/
|
||||
/https:\/\/([^+_]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#]+)/
|
||||
);
|
||||
//メンションっぽかったら
|
||||
var ats = [];
|
||||
ats = url.match(
|
||||
/https:\/\/([-a-zA-Z0-9.]+)\/@([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#@]+)/
|
||||
/https:\/\/([^+_]+)\/@([-_.!~*\'()a-zA-Z0-9;\/?:\&=+\$,%#@]+)/
|
||||
);
|
||||
if (toot) {
|
||||
if (toot[1]) {
|
||||
@@ -47,11 +51,7 @@ $(document).on('click', 'a', e => {
|
||||
udgEx(ats[2] + "@" + ats[1], "main");
|
||||
return false
|
||||
} else {
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
|
||||
|
||||
@@ -60,12 +60,11 @@ $(document).on('click', 'a', e => {
|
||||
//hrefがhttp/httpsならブラウザで
|
||||
if (urls) {
|
||||
if (urls[0]) {
|
||||
const { shell } = require('electron');
|
||||
if (~url.indexOf("thedeks.top")) {
|
||||
//alert("If you recieve this alert, let the developer(Cutls@kirishima.cloud) know it with a screenshot.");
|
||||
url = "https://thedesk.top";
|
||||
}
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
} else {
|
||||
|
||||
location.href = url;
|
||||
@@ -88,12 +87,6 @@ function execCopy(string) {
|
||||
var result = document.execCommand('copy');
|
||||
return result;
|
||||
}
|
||||
//Nano
|
||||
function nano() {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('nano', "");
|
||||
}
|
||||
function progshow(e) {
|
||||
if (e.lengthComputable) {
|
||||
var percent = e.loaded / e.total;
|
||||
@@ -106,30 +99,6 @@ function progshow(e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.on('reload', function (event, arg) {
|
||||
location.reload();
|
||||
})
|
||||
ipc.on('mess', function (event, arg) {
|
||||
if (arg == "unzip") {
|
||||
if (lang == "ja") {
|
||||
$("body").text("アップデートを展開中です。");
|
||||
} else {
|
||||
$("body").text("Unzipping...");
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
//Native Notf
|
||||
ipc.on('shownotf', function (event, args) {
|
||||
if (args["type"] == "toot") {
|
||||
details(id, acct_id)
|
||||
} else if (args["type"] == "userdata") {
|
||||
udg(user, acct_id)
|
||||
}
|
||||
})
|
||||
function opendev() {
|
||||
var webview = document.getElementById("webview");
|
||||
webview.openDevTools();
|
||||
@@ -139,14 +108,6 @@ function opendev() {
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
var webviewDom = document.getElementById('webview');
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
webviewDom.addEventListener('new-window', function (e) {
|
||||
shell.openExternal(e.url);
|
||||
});
|
||||
function playSound() {
|
||||
window.AudioContext = window.AudioContext || window.webkitAudioContext;
|
||||
context = new AudioContext();
|
||||
@@ -163,3 +124,50 @@ function playSound() {
|
||||
volumeControl.gain.value = 0.8
|
||||
source.start(0);
|
||||
}
|
||||
function nano() {
|
||||
postMessage(["nano", null], "*")
|
||||
}
|
||||
onmessage = function (e) {
|
||||
if (e.data[0] == "details") {
|
||||
details(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "udg") {
|
||||
udg(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "media") {
|
||||
media(e.data[1][0], e.data[1][1], e.data[1][2])
|
||||
} else if (e.data[0] == "post") {
|
||||
post("pass")
|
||||
} else if (e.data[0] == "toastSaved") {
|
||||
M.toast({ html: lang.lang_img_DLDone + e.data[1][0] + '<button class="btn-flat toast-action" onclick="openFinder(\'' + e.data[1][1] + '\')">Show</button>', displayLength: 5000 })
|
||||
} else if (e.data[0] == "parseColumn") {
|
||||
parseColumn(e.data[1])
|
||||
} else if (e.data[0] == "exportSettingsCore") {
|
||||
exportSettingsCore()
|
||||
} else if (e.data[0] == "fontList") {
|
||||
fontList(e.data[1])
|
||||
} else if (e.data[0] == "customSoundSave") {
|
||||
customSoundSave(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == "ctLoadCore") {
|
||||
ctLoadCore(e.data[1])
|
||||
} else if (e.data[0] == "ctLoad") {
|
||||
ctLoad()
|
||||
} else if (e.data[0] == "customConnect") {
|
||||
customConnect(e.data[1])
|
||||
} else if (e.data[0] == "clearCustomImport") {
|
||||
clearCustomImport()
|
||||
} else if (e.data[0] == "npCore") {
|
||||
npCore(e.data[1]);
|
||||
} else if (e.data[0] == "renderMem") {
|
||||
renderMem(e.data[1][0], e.data[1][1], e.data[1][2])
|
||||
} else if (e.data[0] == "updateProg") {
|
||||
updateProg(e.data[1]);
|
||||
} else if (e.data[0] == "updateMess") {
|
||||
updateMess(e.data[1]);
|
||||
} else if (e.data[0] == "renderAbout") {
|
||||
renderAbout(e.data[1]);
|
||||
} else if (e.data[0] == "alert") {
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: e.data[1]
|
||||
})
|
||||
}
|
||||
}
|
@@ -1,3 +1 @@
|
||||
//jQuery読む
|
||||
window.jQuery = window.$ = require('./js/common/jquery.js');
|
||||
var Hammer = require('./js/common/hammer.min.js');
|
@@ -1,6 +1,4 @@
|
||||
//jQuery読む
|
||||
window.jQuery = window.$ = require('../../js/common/jquery.js');
|
||||
var Hammer = require('../../js/common/hammer.min.js');
|
||||
document.title="TheDesk"
|
||||
$.strip_tags = function (str, allowed) {
|
||||
if (!str) {
|
||||
return "";
|
||||
@@ -89,27 +87,7 @@ function formattimeutc(date) {
|
||||
}
|
||||
return escapeHTML(str);
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('custom-css-request', "");
|
||||
ipc.on('custom-css-response', function (event, arg) {
|
||||
if (arg == "") { return false; }
|
||||
var styleNode = document.createElement("style");
|
||||
styleNode.setAttribute("type", "text/css")
|
||||
|
||||
var content = document.createTextNode(arg)
|
||||
styleNode.append(content)
|
||||
document.getElementsByTagName("head")[0].append(styleNode)
|
||||
})
|
||||
ipc.on('theme-css-response', function (event, arg) {
|
||||
if (arg == "") { return false; }
|
||||
var styleNode = document.createElement("style");
|
||||
styleNode.setAttribute("type", "text/css")
|
||||
|
||||
var content = document.createTextNode(arg)
|
||||
styleNode.append(content)
|
||||
document.getElementsByTagName("head")[0].append(styleNode)
|
||||
})
|
||||
postMessage(["sendSinmpleIpc", "custom-css-request"], "*")
|
||||
function makeCID() {
|
||||
return randomStr(8) + "-" + randomStr(4) + "-" + randomStr(4) + "-" + randomStr(4) + "-" + randomStr(12);
|
||||
}
|
||||
@@ -193,4 +171,29 @@ $.mb_substr = function (str, begin, end) {
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
//ソートするやつ
|
||||
function object_array_sort(data, key, order, fn) {
|
||||
var num_a = -1;
|
||||
var num_b = 1;
|
||||
if (order === '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);
|
||||
}
|
||||
localStorage.removeItem("errors");
|
169
app/js/platform/preload.js
Normal file
@@ -0,0 +1,169 @@
|
||||
var electron = require("electron");
|
||||
const shell = electron.shell;
|
||||
var ipc = electron.ipcRenderer;
|
||||
onmessage = function (e) {
|
||||
if (e.data[0] == "openUrl") {
|
||||
urls = e.data[1].match(/https?:\/\/(.+)/);
|
||||
if (urls) {
|
||||
shell.openExternal(e.data[1]);
|
||||
}
|
||||
} else if (e.data[0] == "sendSinmpleIpc") {
|
||||
ipc.send(e.data[1], "")
|
||||
} else if (e.data[0] == "dialogStore") {
|
||||
ipc.send("dialogStore", e.data[1])
|
||||
} else if (e.data[0] == "bmpImage") {
|
||||
ipc.send('bmp-image', e.data[1]);
|
||||
} else if (e.data[0] == "dialogCW") {
|
||||
ipc.send("dialogCW", e.data[1])
|
||||
} else if (e.data[0] == "nativeNotf") {
|
||||
console.log(e.data[1])
|
||||
ipc.send('native-notf', e.data[1]);
|
||||
} else if (e.data[0] == "dialogClient") {
|
||||
ipc.send("dialogClient", e.data[1])
|
||||
} else if (e.data[0] == "generalDL") {
|
||||
ipc.send('general-dl', e.data[1]);
|
||||
} else if (e.data[0] == "openFinder") {
|
||||
ipc.send('open-finder', e.data[1]);
|
||||
} else if (e.data[0] == "columnDel") {
|
||||
ipc.send('column-del', e.data[1]);
|
||||
} else if (e.data[0] == "lang") {
|
||||
ipc.send('lang', e.data[1]);
|
||||
} else if (e.data[0] == "exportSettings") {
|
||||
ipc.send('exportSettings', e.data[1]);
|
||||
} else if (e.data[0] == "importSettings") {
|
||||
ipc.send('importSettings', e.data[1]);
|
||||
} else if (e.data[0] == "customSound") {
|
||||
ipc.send('customSound', e.data[1]);
|
||||
} else if (e.data[0] == "themeJsonDelete") {
|
||||
ipc.send('theme-json-delete', e.data[1]);
|
||||
} else if (e.data[0] == "themeJsonCreate") {
|
||||
ipc.send('theme-json-create', e.data[1]);
|
||||
} else if (e.data[0] == "themeJsonRequest") {
|
||||
ipc.send('theme-json-request', e.data[1]);
|
||||
} else if (e.data[0] == "ha") {
|
||||
ipc.send('ha', e.data[1]);
|
||||
} else if (e.data[0] == "aboutData") {
|
||||
ipc.send('aboutData', "");
|
||||
} else if (e.data[0] == "itunes") {
|
||||
console.log("NowPlaying")
|
||||
ipc.send("itunes", e.data[1])
|
||||
} else if (e.data[0] == "themeCSSRequest") {
|
||||
ipc.send('theme-css-request', e.data[1]);
|
||||
} else if (e.data[0] == "downloadButton") {
|
||||
ipc.send('download-btn', e.data[1]);
|
||||
} else if (e.data[0] == "nano") {
|
||||
ipc.send('nano', null);
|
||||
}
|
||||
}
|
||||
//version.js
|
||||
ipc.send("getPlatform", "")
|
||||
ipc.on('platform', function (event, args) {
|
||||
localStorage.setItem("platform", args[0])
|
||||
localStorage.setItem("bit", args[1])
|
||||
localStorage.setItem("about", JSON.stringify([args[2], args[3], args[4]]))
|
||||
})
|
||||
|
||||
ipc.on('reload', function (event, arg) {
|
||||
location.reload();
|
||||
})
|
||||
//Native Notf
|
||||
ipc.on('shownotf', function (event, args) {
|
||||
if (args["type"] == "toot") {
|
||||
postMessage(["details", [id, acct_id]], "*")
|
||||
} else if (args["type"] == "userdata") {
|
||||
postMessage(["udg", [user, acct_id]], "*")
|
||||
}
|
||||
})
|
||||
|
||||
//first.js
|
||||
ipc.on('custom-css-response', function (event, arg) {
|
||||
if (arg == "") { return false; }
|
||||
var styleNode = document.createElement("style");
|
||||
styleNode.setAttribute("type", "text/css")
|
||||
|
||||
var content = document.createTextNode(arg)
|
||||
styleNode.append(content)
|
||||
document.getElementsByTagName("head")[0].append(styleNode)
|
||||
})
|
||||
ipc.on('theme-css-response', function (event, arg) {
|
||||
if (arg == "") { return false; }
|
||||
var styleNode = document.createElement("style");
|
||||
styleNode.setAttribute("type", "text/css")
|
||||
|
||||
var content = document.createTextNode(arg)
|
||||
styleNode.append(content)
|
||||
document.getElementsByTagName("head")[0].append(styleNode)
|
||||
})
|
||||
//img.js
|
||||
ipc.on('bmp-img-comp', function (event, b64) {
|
||||
postMessage(["media", [b64[0], "image/png", b64[1]]], "*")
|
||||
});
|
||||
//ui,img.js
|
||||
ipc.on('general-dl-prog', function (event, arg) {
|
||||
console.log("Progress: " + arg);
|
||||
})
|
||||
ipc.on('general-dl-message', function (event, arg) {
|
||||
var argC = arg.replace(/\\/g, "\\\\") + "\\\\.";
|
||||
console.log("saved")
|
||||
postMessage(["toastSaved", [arg, argC]], "*")
|
||||
})
|
||||
//setting.js
|
||||
ipc.on('langres', function (event, arg) {
|
||||
location.href = "../" + arg + "/setting.html"
|
||||
});
|
||||
ipc.on('exportSettingsFile', function (event, savedFiles) {
|
||||
var exp = exportSettingsCore()
|
||||
ipc.send('export', [savedFiles, JSON.stringify(exp)]);
|
||||
postMessage(["alert", "Done"], "*")
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
ipc.on('config', function (event, arg) {
|
||||
postMessage(["importSettingsCore", arg], "*")
|
||||
});
|
||||
ipc.on('savefolder', function (event, arg) {
|
||||
localStorage.setItem("savefolder", arg);
|
||||
});
|
||||
ipc.on('font-list', function (event, arg) {
|
||||
postMessage(["fontList", arg], "*")
|
||||
});
|
||||
ipc.on('customSoundRender', function (event, args) {
|
||||
postMessage(["customSoundSave", [args[0], args[1]]], "*")
|
||||
});
|
||||
ipc.on('theme-json-list-response', function (event, args) {
|
||||
postMessage(["ctLoadCore", args], "*")
|
||||
});
|
||||
ipc.on('theme-json-delete-complete', function (event, args) {
|
||||
postMessage(["ctLoad", ""], "*")
|
||||
});
|
||||
ipc.on('theme-json-response', function (event, args) {
|
||||
postMessage(["customConnect", args], "*")
|
||||
});
|
||||
ipc.on('theme-json-create-complete', function (event, args) {
|
||||
postMessage(["clearCustomImport", ""], "*")
|
||||
postMessage(["ctLoad", ""], "*")
|
||||
});
|
||||
//spotify.js
|
||||
ipc.on('itunes-np', function (event, arg) {
|
||||
postMessage(["npCore", arg], "*")
|
||||
})
|
||||
//tips.js
|
||||
ipc.on('memory', function (event, arg) {
|
||||
var use = arg[0];
|
||||
var cpu = arg[1];
|
||||
var total = arg[2]
|
||||
postMessage(["renderMem", [use, cpu, total]], "*")
|
||||
})
|
||||
//update.html
|
||||
ipc.on('prog', function (event, arg) {
|
||||
postMessage(["updateProg", arg], "*")
|
||||
})
|
||||
ipc.on('mess', function (event, arg) {
|
||||
postMessage(["updateMess", arg], "*")
|
||||
})
|
||||
var webviewDom = document.getElementById('webview');
|
||||
if (webviewDom) {
|
||||
webviewDom.addEventListener('new-window', function (e) {
|
||||
shell.openExternal(e.url);
|
||||
});
|
||||
}
|
533
app/js/platform/punycode.js
Normal file
@@ -0,0 +1,533 @@
|
||||
/*! https://mths.be/punycode v1.4.1 by @mathias */
|
||||
;(function(root) {
|
||||
|
||||
/** Detect free variables */
|
||||
var freeExports = typeof exports == 'object' && exports &&
|
||||
!exports.nodeType && exports;
|
||||
var freeModule = typeof module == 'object' && module &&
|
||||
!module.nodeType && module;
|
||||
var freeGlobal = typeof global == 'object' && global;
|
||||
if (
|
||||
freeGlobal.global === freeGlobal ||
|
||||
freeGlobal.window === freeGlobal ||
|
||||
freeGlobal.self === freeGlobal
|
||||
) {
|
||||
root = freeGlobal;
|
||||
}
|
||||
|
||||
/**
|
||||
* The `punycode` object.
|
||||
* @name punycode
|
||||
* @type Object
|
||||
*/
|
||||
var punycode,
|
||||
|
||||
/** Highest positive signed 32-bit float value */
|
||||
maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
|
||||
|
||||
/** Bootstring parameters */
|
||||
base = 36,
|
||||
tMin = 1,
|
||||
tMax = 26,
|
||||
skew = 38,
|
||||
damp = 700,
|
||||
initialBias = 72,
|
||||
initialN = 128, // 0x80
|
||||
delimiter = '-', // '\x2D'
|
||||
|
||||
/** Regular expressions */
|
||||
regexPunycode = /^xn--/,
|
||||
regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
|
||||
regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
|
||||
|
||||
/** Error messages */
|
||||
errors = {
|
||||
'overflow': 'Overflow: input needs wider integers to process',
|
||||
'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
|
||||
'invalid-input': 'Invalid input'
|
||||
},
|
||||
|
||||
/** Convenience shortcuts */
|
||||
baseMinusTMin = base - tMin,
|
||||
floor = Math.floor,
|
||||
stringFromCharCode = String.fromCharCode,
|
||||
|
||||
/** Temporary variable */
|
||||
key;
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* A generic error utility function.
|
||||
* @private
|
||||
* @param {String} type The error type.
|
||||
* @returns {Error} Throws a `RangeError` with the applicable error message.
|
||||
*/
|
||||
function error(type) {
|
||||
throw new RangeError(errors[type]);
|
||||
}
|
||||
|
||||
/**
|
||||
* A generic `Array#map` utility function.
|
||||
* @private
|
||||
* @param {Array} array The array to iterate over.
|
||||
* @param {Function} callback The function that gets called for every array
|
||||
* item.
|
||||
* @returns {Array} A new array of values returned by the callback function.
|
||||
*/
|
||||
function map(array, fn) {
|
||||
var length = array.length;
|
||||
var result = [];
|
||||
while (length--) {
|
||||
result[length] = fn(array[length]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* A simple `Array#map`-like wrapper to work with domain name strings or email
|
||||
* addresses.
|
||||
* @private
|
||||
* @param {String} domain The domain name or email address.
|
||||
* @param {Function} callback The function that gets called for every
|
||||
* character.
|
||||
* @returns {Array} A new string of characters returned by the callback
|
||||
* function.
|
||||
*/
|
||||
function mapDomain(string, fn) {
|
||||
var parts = string.split('@');
|
||||
var result = '';
|
||||
if (parts.length > 1) {
|
||||
// In email addresses, only the domain name should be punycoded. Leave
|
||||
// the local part (i.e. everything up to `@`) intact.
|
||||
result = parts[0] + '@';
|
||||
string = parts[1];
|
||||
}
|
||||
// Avoid `split(regex)` for IE8 compatibility. See #17.
|
||||
string = string.replace(regexSeparators, '\x2E');
|
||||
var labels = string.split('.');
|
||||
var encoded = map(labels, fn).join('.');
|
||||
return result + encoded;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an array containing the numeric code points of each Unicode
|
||||
* character in the string. While JavaScript uses UCS-2 internally,
|
||||
* this function will convert a pair of surrogate halves (each of which
|
||||
* UCS-2 exposes as separate characters) into a single code point,
|
||||
* matching UTF-16.
|
||||
* @see `punycode.ucs2.encode`
|
||||
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
||||
* @memberOf punycode.ucs2
|
||||
* @name decode
|
||||
* @param {String} string The Unicode input string (UCS-2).
|
||||
* @returns {Array} The new array of code points.
|
||||
*/
|
||||
function ucs2decode(string) {
|
||||
var output = [],
|
||||
counter = 0,
|
||||
length = string.length,
|
||||
value,
|
||||
extra;
|
||||
while (counter < length) {
|
||||
value = string.charCodeAt(counter++);
|
||||
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
||||
// high surrogate, and there is a next character
|
||||
extra = string.charCodeAt(counter++);
|
||||
if ((extra & 0xFC00) == 0xDC00) { // low surrogate
|
||||
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
||||
} else {
|
||||
// unmatched surrogate; only append this code unit, in case the next
|
||||
// code unit is the high surrogate of a surrogate pair
|
||||
output.push(value);
|
||||
counter--;
|
||||
}
|
||||
} else {
|
||||
output.push(value);
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a string based on an array of numeric code points.
|
||||
* @see `punycode.ucs2.decode`
|
||||
* @memberOf punycode.ucs2
|
||||
* @name encode
|
||||
* @param {Array} codePoints The array of numeric code points.
|
||||
* @returns {String} The new Unicode string (UCS-2).
|
||||
*/
|
||||
function ucs2encode(array) {
|
||||
return map(array, function(value) {
|
||||
var output = '';
|
||||
if (value > 0xFFFF) {
|
||||
value -= 0x10000;
|
||||
output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
|
||||
value = 0xDC00 | value & 0x3FF;
|
||||
}
|
||||
output += stringFromCharCode(value);
|
||||
return output;
|
||||
}).join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a basic code point into a digit/integer.
|
||||
* @see `digitToBasic()`
|
||||
* @private
|
||||
* @param {Number} codePoint The basic numeric code point value.
|
||||
* @returns {Number} The numeric value of a basic code point (for use in
|
||||
* representing integers) in the range `0` to `base - 1`, or `base` if
|
||||
* the code point does not represent a value.
|
||||
*/
|
||||
function basicToDigit(codePoint) {
|
||||
if (codePoint - 48 < 10) {
|
||||
return codePoint - 22;
|
||||
}
|
||||
if (codePoint - 65 < 26) {
|
||||
return codePoint - 65;
|
||||
}
|
||||
if (codePoint - 97 < 26) {
|
||||
return codePoint - 97;
|
||||
}
|
||||
return base;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a digit/integer into a basic code point.
|
||||
* @see `basicToDigit()`
|
||||
* @private
|
||||
* @param {Number} digit The numeric value of a basic code point.
|
||||
* @returns {Number} The basic code point whose value (when used for
|
||||
* representing integers) is `digit`, which needs to be in the range
|
||||
* `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
|
||||
* used; else, the lowercase form is used. The behavior is undefined
|
||||
* if `flag` is non-zero and `digit` has no uppercase form.
|
||||
*/
|
||||
function digitToBasic(digit, flag) {
|
||||
// 0..25 map to ASCII a..z or A..Z
|
||||
// 26..35 map to ASCII 0..9
|
||||
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Bias adaptation function as per section 3.4 of RFC 3492.
|
||||
* https://tools.ietf.org/html/rfc3492#section-3.4
|
||||
* @private
|
||||
*/
|
||||
function adapt(delta, numPoints, firstTime) {
|
||||
var k = 0;
|
||||
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
||||
delta += floor(delta / numPoints);
|
||||
for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
|
||||
delta = floor(delta / baseMinusTMin);
|
||||
}
|
||||
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
||||
* symbols.
|
||||
* @memberOf punycode
|
||||
* @param {String} input The Punycode string of ASCII-only symbols.
|
||||
* @returns {String} The resulting string of Unicode symbols.
|
||||
*/
|
||||
function decode(input) {
|
||||
// Don't use UCS-2
|
||||
var output = [],
|
||||
inputLength = input.length,
|
||||
out,
|
||||
i = 0,
|
||||
n = initialN,
|
||||
bias = initialBias,
|
||||
basic,
|
||||
j,
|
||||
index,
|
||||
oldi,
|
||||
w,
|
||||
k,
|
||||
digit,
|
||||
t,
|
||||
/** Cached calculation results */
|
||||
baseMinusT;
|
||||
|
||||
// Handle the basic code points: let `basic` be the number of input code
|
||||
// points before the last delimiter, or `0` if there is none, then copy
|
||||
// the first basic code points to the output.
|
||||
|
||||
basic = input.lastIndexOf(delimiter);
|
||||
if (basic < 0) {
|
||||
basic = 0;
|
||||
}
|
||||
|
||||
for (j = 0; j < basic; ++j) {
|
||||
// if it's not a basic code point
|
||||
if (input.charCodeAt(j) >= 0x80) {
|
||||
error('not-basic');
|
||||
}
|
||||
output.push(input.charCodeAt(j));
|
||||
}
|
||||
|
||||
// Main decoding loop: start just after the last delimiter if any basic code
|
||||
// points were copied; start at the beginning otherwise.
|
||||
|
||||
for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
|
||||
|
||||
// `index` is the index of the next character to be consumed.
|
||||
// Decode a generalized variable-length integer into `delta`,
|
||||
// which gets added to `i`. The overflow checking is easier
|
||||
// if we increase `i` as we go, then subtract off its starting
|
||||
// value at the end to obtain `delta`.
|
||||
for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
|
||||
|
||||
if (index >= inputLength) {
|
||||
error('invalid-input');
|
||||
}
|
||||
|
||||
digit = basicToDigit(input.charCodeAt(index++));
|
||||
|
||||
if (digit >= base || digit > floor((maxInt - i) / w)) {
|
||||
error('overflow');
|
||||
}
|
||||
|
||||
i += digit * w;
|
||||
t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
||||
|
||||
if (digit < t) {
|
||||
break;
|
||||
}
|
||||
|
||||
baseMinusT = base - t;
|
||||
if (w > floor(maxInt / baseMinusT)) {
|
||||
error('overflow');
|
||||
}
|
||||
|
||||
w *= baseMinusT;
|
||||
|
||||
}
|
||||
|
||||
out = output.length + 1;
|
||||
bias = adapt(i - oldi, out, oldi == 0);
|
||||
|
||||
// `i` was supposed to wrap around from `out` to `0`,
|
||||
// incrementing `n` each time, so we'll fix that now:
|
||||
if (floor(i / out) > maxInt - n) {
|
||||
error('overflow');
|
||||
}
|
||||
|
||||
n += floor(i / out);
|
||||
i %= out;
|
||||
|
||||
// Insert `n` at position `i` of the output
|
||||
output.splice(i++, 0, n);
|
||||
|
||||
}
|
||||
|
||||
return ucs2encode(output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
||||
* Punycode string of ASCII-only symbols.
|
||||
* @memberOf punycode
|
||||
* @param {String} input The string of Unicode symbols.
|
||||
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
||||
*/
|
||||
function encode(input) {
|
||||
var n,
|
||||
delta,
|
||||
handledCPCount,
|
||||
basicLength,
|
||||
bias,
|
||||
j,
|
||||
m,
|
||||
q,
|
||||
k,
|
||||
t,
|
||||
currentValue,
|
||||
output = [],
|
||||
/** `inputLength` will hold the number of code points in `input`. */
|
||||
inputLength,
|
||||
/** Cached calculation results */
|
||||
handledCPCountPlusOne,
|
||||
baseMinusT,
|
||||
qMinusT;
|
||||
|
||||
// Convert the input in UCS-2 to Unicode
|
||||
input = ucs2decode(input);
|
||||
|
||||
// Cache the length
|
||||
inputLength = input.length;
|
||||
|
||||
// Initialize the state
|
||||
n = initialN;
|
||||
delta = 0;
|
||||
bias = initialBias;
|
||||
|
||||
// Handle the basic code points
|
||||
for (j = 0; j < inputLength; ++j) {
|
||||
currentValue = input[j];
|
||||
if (currentValue < 0x80) {
|
||||
output.push(stringFromCharCode(currentValue));
|
||||
}
|
||||
}
|
||||
|
||||
handledCPCount = basicLength = output.length;
|
||||
|
||||
// `handledCPCount` is the number of code points that have been handled;
|
||||
// `basicLength` is the number of basic code points.
|
||||
|
||||
// Finish the basic string - if it is not empty - with a delimiter
|
||||
if (basicLength) {
|
||||
output.push(delimiter);
|
||||
}
|
||||
|
||||
// Main encoding loop:
|
||||
while (handledCPCount < inputLength) {
|
||||
|
||||
// All non-basic code points < n have been handled already. Find the next
|
||||
// larger one:
|
||||
for (m = maxInt, j = 0; j < inputLength; ++j) {
|
||||
currentValue = input[j];
|
||||
if (currentValue >= n && currentValue < m) {
|
||||
m = currentValue;
|
||||
}
|
||||
}
|
||||
|
||||
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
|
||||
// but guard against overflow
|
||||
handledCPCountPlusOne = handledCPCount + 1;
|
||||
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
||||
error('overflow');
|
||||
}
|
||||
|
||||
delta += (m - n) * handledCPCountPlusOne;
|
||||
n = m;
|
||||
|
||||
for (j = 0; j < inputLength; ++j) {
|
||||
currentValue = input[j];
|
||||
|
||||
if (currentValue < n && ++delta > maxInt) {
|
||||
error('overflow');
|
||||
}
|
||||
|
||||
if (currentValue == n) {
|
||||
// Represent delta as a generalized variable-length integer
|
||||
for (q = delta, k = base; /* no condition */; k += base) {
|
||||
t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
||||
if (q < t) {
|
||||
break;
|
||||
}
|
||||
qMinusT = q - t;
|
||||
baseMinusT = base - t;
|
||||
output.push(
|
||||
stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
|
||||
);
|
||||
q = floor(qMinusT / baseMinusT);
|
||||
}
|
||||
|
||||
output.push(stringFromCharCode(digitToBasic(q, 0)));
|
||||
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
||||
delta = 0;
|
||||
++handledCPCount;
|
||||
}
|
||||
}
|
||||
|
||||
++delta;
|
||||
++n;
|
||||
|
||||
}
|
||||
return output.join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a Punycode string representing a domain name or an email address
|
||||
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
||||
* it doesn't matter if you call it on a string that has already been
|
||||
* converted to Unicode.
|
||||
* @memberOf punycode
|
||||
* @param {String} input The Punycoded domain name or email address to
|
||||
* convert to Unicode.
|
||||
* @returns {String} The Unicode representation of the given Punycode
|
||||
* string.
|
||||
*/
|
||||
function toUnicode(input) {
|
||||
return mapDomain(input, function(string) {
|
||||
return regexPunycode.test(string)
|
||||
? decode(string.slice(4).toLowerCase())
|
||||
: string;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a Unicode string representing a domain name or an email address to
|
||||
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
||||
* i.e. it doesn't matter if you call it with a domain that's already in
|
||||
* ASCII.
|
||||
* @memberOf punycode
|
||||
* @param {String} input The domain name or email address to convert, as a
|
||||
* Unicode string.
|
||||
* @returns {String} The Punycode representation of the given domain name or
|
||||
* email address.
|
||||
*/
|
||||
function toASCII(input) {
|
||||
return mapDomain(input, function(string) {
|
||||
return regexNonASCII.test(string)
|
||||
? 'xn--' + encode(string)
|
||||
: string;
|
||||
});
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/** Define the public API */
|
||||
punycode = {
|
||||
/**
|
||||
* A string representing the current Punycode.js version number.
|
||||
* @memberOf punycode
|
||||
* @type String
|
||||
*/
|
||||
'version': '1.4.1',
|
||||
/**
|
||||
* An object of methods to convert from JavaScript's internal character
|
||||
* representation (UCS-2) to Unicode code points, and back.
|
||||
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
||||
* @memberOf punycode
|
||||
* @type Object
|
||||
*/
|
||||
'ucs2': {
|
||||
'decode': ucs2decode,
|
||||
'encode': ucs2encode
|
||||
},
|
||||
'decode': decode,
|
||||
'encode': encode,
|
||||
'toASCII': toASCII,
|
||||
'toUnicode': toUnicode
|
||||
};
|
||||
|
||||
/** Expose `punycode` */
|
||||
// Some AMD build optimizers, like r.js, check for specific condition patterns
|
||||
// like the following:
|
||||
if (
|
||||
typeof define == 'function' &&
|
||||
typeof define.amd == 'object' &&
|
||||
define.amd
|
||||
) {
|
||||
define('punycode', function() {
|
||||
return punycode;
|
||||
});
|
||||
} else if (freeExports && freeModule) {
|
||||
if (module.exports == freeExports) {
|
||||
// in Node.js, io.js, or RingoJS v0.8.0+
|
||||
freeModule.exports = punycode;
|
||||
} else {
|
||||
// in Narwhal or RingoJS v0.7.0-
|
||||
for (key in punycode) {
|
||||
punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// in Rhino or a web browser
|
||||
root.punycode = punycode;
|
||||
}
|
||||
|
||||
}(this));
|
@@ -1,51 +0,0 @@
|
||||
var electron = require("electron");
|
||||
const fs = require("fs");
|
||||
const os = require('os')
|
||||
const shell = electron.shell;
|
||||
const path = require('path')
|
||||
function shot() {
|
||||
//screenshotMsg.textContent = 'Gathering screens...'
|
||||
$(window).height
|
||||
let options = {
|
||||
types: ['screen'],
|
||||
thumbnailSize: {
|
||||
width: window.parent.screen.width,
|
||||
height: window.parent.screen.height
|
||||
}
|
||||
}
|
||||
const desktopCapturer = electron.desktopCapturer;
|
||||
desktopCapturer.getSources(options, function (error, sources) {
|
||||
if (error) return console.log(error)
|
||||
|
||||
sources.forEach(function (source) {
|
||||
if (location.search) {
|
||||
var m = location.search.match(/\?id=([a-zA-Z-0-9]+)/);
|
||||
var title = m[1];
|
||||
} else {
|
||||
var title = "screenshot";
|
||||
}
|
||||
if (source.name === 'Screen 1' || source.name === 'TheDesk') {
|
||||
var durl = source.thumbnail.toDataURL();
|
||||
var b64 = durl.match(
|
||||
/data:image\/png;base64,(.+)/
|
||||
);
|
||||
const screenshotPath = path.join(os.tmpdir(), 'screenshot.png');
|
||||
const savePath = path.join(os.tmpdir(), 'screenshot.png');
|
||||
var ipc = electron.ipcRenderer;
|
||||
var h = $(window).height() - 150;
|
||||
var w = $(window).width();
|
||||
ipc.send('shot', ['file://' + screenshotPath, w, h, b64[1], title]);
|
||||
if ($(".img-parsed").length > 0) {
|
||||
for (i = 0; i < $(".img-parsed").length; i++) {
|
||||
var url = $(".img-parsed").eq(i).attr("data-url");
|
||||
ipc.send('shot-img-dl', [url, title + "_img" + i + ".png"]);
|
||||
}
|
||||
}
|
||||
window.close();
|
||||
return;
|
||||
const message = `Saved screenshot to: ${screenshotPath}`
|
||||
//screenshotMsg.textContent = message
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
@@ -40,7 +40,7 @@ function mdCheck() {
|
||||
$("#trendtag").html("");
|
||||
}
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
Materialize.toast(lang.lang_bbmd_misskey, 5000);
|
||||
M.toast({ html: lang.lang_bbmd_misskey, displayLength: 5000 })
|
||||
}
|
||||
if (idata[domain + "_letters"]) {
|
||||
$("#textarea").attr("data-length", idata[domain + "_letters"])
|
||||
|
@@ -10,8 +10,6 @@ function emojiToggle(reaction) {
|
||||
if (!selin) {
|
||||
selin = 0;
|
||||
}
|
||||
localStorage.setItem("cursor", selin);
|
||||
|
||||
if ($("#emoji").hasClass("hide")) {
|
||||
$("#emoji").removeClass("hide")
|
||||
$("#right-side").show()
|
||||
@@ -173,35 +171,31 @@ function emojiList(target, reaction) {
|
||||
//絵文字など様々なものをテキストボックスに挿入
|
||||
function emojiInsert(code, del) {
|
||||
var now = $("#textarea").val();
|
||||
var selin = localStorage.getItem("cursor");
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if (localStorage.getItem("emoji-zero-width") == "yes") {
|
||||
var brank = "";
|
||||
var blank = "";
|
||||
} else {
|
||||
var brank = " ";
|
||||
var blank = " ";
|
||||
}
|
||||
var now = $("#textarea").val();
|
||||
if (selin > 0) {
|
||||
var before = now.substr(0, selin);
|
||||
var after = now.substr(selin, now.length);
|
||||
newt = before + brank + code + brank + after;
|
||||
} else {
|
||||
newt = code + brank;
|
||||
if (before.slice(-1) != " ") {
|
||||
before = before + blank
|
||||
}
|
||||
var after = now.substr(selin, now.length);
|
||||
if (after.slice(-1) != " ") {
|
||||
after = blank + after
|
||||
}
|
||||
newt = before + code + after;
|
||||
if (!del) {
|
||||
$("#textarea").val(newt);
|
||||
//emoji();
|
||||
} else {
|
||||
var regExp = new RegExp(del, "g");
|
||||
var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
var now = now.replace(regExp, "");
|
||||
$("#textarea").val(now + brank + code);
|
||||
$("#textarea").val(now + blank + code);
|
||||
}
|
||||
|
||||
$("#textarea").focus();
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if (!selin) {
|
||||
selin = 0;
|
||||
}
|
||||
localStorage.setItem("cursor", selin);
|
||||
}
|
||||
//改行挿入
|
||||
function brInsert(code) {
|
||||
|
@@ -40,9 +40,7 @@ function pimg(files) {
|
||||
for (i = 0; i < files.length; i++) {
|
||||
var dot = files[i].path.match(/\.(.+)$/)[1];
|
||||
if (dot == "bmp" || dot == "BMP") {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('bmp-image', [files[i].path, i]);
|
||||
postMessage(["bmpImage", [files[i].path, i]], "*")
|
||||
todo(lang.lang_progress);
|
||||
|
||||
} else {
|
||||
@@ -50,18 +48,13 @@ function pimg(files) {
|
||||
}
|
||||
}
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.on('bmp-img-comp', function (event, b64) {
|
||||
media(b64[0], "image/png", b64[1]);
|
||||
});
|
||||
//ドラッグ・アンド・ドロップを終了
|
||||
function closedrop() {
|
||||
$("#drag").css('display', 'none');
|
||||
}
|
||||
//ファイル選択
|
||||
function fileselect() {
|
||||
ipc.send('file-select', "");
|
||||
postMessage(["sendSinmpleIpc", "file-select"], "*")
|
||||
}
|
||||
|
||||
//ファイル読み込み
|
||||
@@ -127,6 +120,16 @@ function media(b64, type, no) {
|
||||
httpreq.onreadystatechange = function () {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
if (!json.id) {
|
||||
todc();
|
||||
$("#imgup").text("");
|
||||
$(".toot-btn-group").prop("disabled", false);
|
||||
$("#post-acct-sel").prop("disabled", false);
|
||||
$('select').formSelect();
|
||||
$("#imgsel").show();
|
||||
M.toast({ html: lang.lang_postimg_failupload, displayLength: 5000 })
|
||||
return false
|
||||
}
|
||||
var img = localStorage.getItem("img");
|
||||
if (json.type.indexOf("image") != -1) {
|
||||
var html = '<img src="' + json[previewer] + '" class="preview-img pointer" data-media="' + json["id"] + '" onclick="deleteImage(\'' + json["id"] + '\')" title="' + lang.lang_postimg_delete + '">';
|
||||
@@ -149,9 +152,9 @@ function media(b64, type, no) {
|
||||
}
|
||||
todc();
|
||||
$(".toot-btn-group").prop("disabled", false);
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
$("#mec").text(lang.lang_there);
|
||||
Materialize.toast(lang.lang_postimg_aftupload, 1000);
|
||||
M.toast({ html: lang.lang_postimg_aftupload, displayLength: 1000 })
|
||||
$("#imgup").text("");
|
||||
$("#imgsel").show();
|
||||
localStorage.removeItem("image");
|
||||
@@ -211,18 +214,17 @@ element.addEventListener("paste", function (e) {
|
||||
|
||||
// 画像以外がペーストされたときのために、元に戻しておく
|
||||
});
|
||||
//Adobeフォトエディタ
|
||||
function adobe() {
|
||||
var agree = localStorage.getItem("adobeagree");
|
||||
ipc.send('adobe', agree);
|
||||
}
|
||||
ipc.on('adobeagree', function (event, arg) {
|
||||
localStorage.setItem("adobeagree", arg);
|
||||
});
|
||||
function deleteImage(key) {
|
||||
if (!confirm(lang.lang_postimg_delete)) {
|
||||
return false;
|
||||
}
|
||||
Swal.fire({
|
||||
title: lang.lang_postimg_delete,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
var media = $("#media").val();
|
||||
var arr = media.split(",");
|
||||
for (var i = 0; i < media.length; i++) {
|
||||
@@ -233,4 +235,7 @@ function deleteImage(key) {
|
||||
}
|
||||
$("#media").val(arr.join(","));
|
||||
$('#preview [data-media=' + key + ']').remove();
|
||||
}
|
||||
})
|
||||
|
||||
}
|
@@ -31,7 +31,7 @@ function renoteqt(id, acct_id) {
|
||||
$("#rec").text("Renote");
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
$("#textarea").attr("placeholder", lang.lang_misskeyparse_qt);
|
||||
$("#textarea").focus();
|
||||
}
|
||||
@@ -43,7 +43,7 @@ function misskeyreply(id, acct_id) {
|
||||
$("#rec").text("Renote");
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
$("#textarea").attr("placeholder", lang.lang_misskeyparse_qt);
|
||||
$("#textarea").focus();
|
||||
}
|
||||
@@ -102,7 +102,7 @@ function reactioncustom(acct_id, id) {
|
||||
$("#unreact").hide();
|
||||
$("#addreact").removeClass("hide");
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
localStorage.setItem("nohide", true);
|
||||
show()
|
||||
emojiToggle(true)
|
||||
|
@@ -17,55 +17,41 @@ function post(mode, postvis) {
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
localStorage.setItem("last-use", acct_id);
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if (domain == "theboss.tech") {
|
||||
if (~str.indexOf("#")) {
|
||||
if (str.indexOf("#theboss_tech") == "-1") {
|
||||
if (!confirm(lang.lang_post_tagTL)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (domain == "dtp-mstdn.jp") {
|
||||
if (~str.indexOf("#")) {
|
||||
if (str.indexOf("#dtp") == "-1") {
|
||||
if (!confirm(lang.lang_post_tagTL)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!localStorage.getItem("cw_sentence")) {
|
||||
var cw_sent = 500;
|
||||
} else {
|
||||
var cw_sent = localStorage.getItem("cw_sentence");
|
||||
}
|
||||
if (!localStorage.getItem("cw_letters")) {
|
||||
var cw_ltres = 500;
|
||||
var cw_ltres = 7000;
|
||||
} else {
|
||||
var cw_ltres = localStorage.getItem("cw_letters");
|
||||
}
|
||||
if (domain != "kirishima.cloud") {
|
||||
if (mode != "pass" && !$("#cw").hasClass("cw-avail") && (str.length > cw_sent || (str.split("\n").length - 1) > cw_ltres)) {
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
var plus = str.replace(/\n/g, "").slice(0, 10) + "...";
|
||||
const options = {
|
||||
type: 'info',
|
||||
Swal.fire({
|
||||
title: lang.lang_post_cwtitle,
|
||||
message: lang.lang_post_cwtxt + plus,
|
||||
buttons: [lang.lang_post_btn1, lang.lang_post_btn2, lang.lang_post_btn3]
|
||||
}
|
||||
dialog.showMessageBox(options, function (arg) {
|
||||
if (arg === 1) {
|
||||
text: lang.lang_post_cwtxt + plus,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_post_btn2,
|
||||
cancelButtonText: lang.lang_post_btn3,
|
||||
showCloseButton: true,
|
||||
focusConfirm: false,
|
||||
}).then((result) => {
|
||||
if (result.dismiss == "cancel") {
|
||||
//btn3:sonomama
|
||||
post("pass")
|
||||
} else if (result.value) {
|
||||
//btn2:auto-CW
|
||||
$("#cw-text").show();
|
||||
$("#cw").addClass("yellow-text");
|
||||
$("#cw").addClass("cw-avail");
|
||||
$("#cw-text").val(plus);
|
||||
post("pass");
|
||||
} else if (arg === 2) {
|
||||
post("pass");
|
||||
post("pass")
|
||||
}
|
||||
})
|
||||
return false;
|
||||
@@ -104,22 +90,11 @@ function post(mode, postvis) {
|
||||
} else {
|
||||
var vis = $("#vis").text();
|
||||
}
|
||||
|
||||
if (vis != "inherit" && vis != "local") {
|
||||
toot.visibility = vis;
|
||||
} else if (vis == "local") {
|
||||
toot.status = str + "👁️";
|
||||
}
|
||||
//ここに非公開・未収載タグについてwarn
|
||||
if (domain != "kirishima.cloud" && domain != "imastodon.net") {
|
||||
if (~str.indexOf("#")) {
|
||||
if (vis == "local" || vis == "unlisted" || vis == "direct" || vis == "private") {
|
||||
if (!confirm(lang.lang_post_tagVis)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($("#cw").hasClass("cw-avail")) {
|
||||
var spo = $("#cw-text").val();
|
||||
cw();
|
||||
@@ -218,9 +193,9 @@ function misskeyPost() {
|
||||
}
|
||||
var vis = $("#vis").text();
|
||||
if (vis == "unlisted") {
|
||||
vis == "home"
|
||||
vis = "home"
|
||||
} else if (vis == "direct") {
|
||||
vis == "specified";
|
||||
vis = "specified";
|
||||
toot.visibleUserIds = str.match(/@([a-zA-Z0-9_@.-]+)(\s|$)/g).join('').split("@");
|
||||
}
|
||||
if (vis != "inherit") {
|
||||
@@ -306,7 +281,7 @@ function clear() {
|
||||
if (localStorage.getItem("mainuse") == "main") {
|
||||
$("#post-acct-sel").val(localStorage.getItem("main"));
|
||||
}
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
$("#left-side").show();
|
||||
$("#default-emoji").show();
|
||||
$("#unreact").show();
|
||||
|
@@ -45,7 +45,10 @@ function vis(set) {
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
localStorage.setItem("vis-memory-" + acct_id, set);
|
||||
}
|
||||
$('.dropdown-button').dropdown('close');
|
||||
var ins = M.Dropdown.getInstance($('#dropdown1'))
|
||||
if(ins){
|
||||
ins.close();
|
||||
}
|
||||
}
|
||||
function loadVis() {
|
||||
var vist = localStorage.getItem("vis");
|
||||
|
@@ -43,7 +43,7 @@ function fav(id, acct_id, remote) {
|
||||
$(".fav_" + id).addClass("yellow-text");
|
||||
}
|
||||
} else {
|
||||
Materialize.toast(lang.lang_status_favWarn, 1000);
|
||||
M.toast({ html: lang.lang_status_favWarn, displayLength: 1000 })
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,13 +84,13 @@ function rt(id, acct_id, remote) {
|
||||
|
||||
if ($("[toot-id=" + id + "]").hasClass("rted")) {
|
||||
$("[toot-id=" + id + "]").removeClass("rted");
|
||||
$(".rt_" + id).removeClass("teal-text");
|
||||
$(".rt_" + id).removeClass("light-blue-text");
|
||||
} else {
|
||||
$("[toot-id=" + id + "]").addClass("rted");
|
||||
$(".rt_" + id).addClass("teal-text");
|
||||
$(".rt_" + id).addClass("light-blue-text");
|
||||
}
|
||||
} else {
|
||||
Materialize.toast(lang.lang_status_btWarn, 1000);
|
||||
M.toast({ html: lang.lang_status_btWarn, displayLength: 1000 })
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -116,16 +116,12 @@ function follow(acct_id, remote) {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var user = $("#his-acct").text();
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag;
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
var start = "https://" + domain + "/api/following/" + flagm;
|
||||
var user = $("#his-acct").text();
|
||||
var ent = { "i": at, "userId": id }
|
||||
} else if (remote == "true" && flag == "follow") {
|
||||
var start = "https://" + domain + "/api/v1/follows";
|
||||
var user = $("#his-acct").text();
|
||||
var ent = { "uri": user }
|
||||
} else {
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag;
|
||||
var ent = {}
|
||||
}
|
||||
var httpreq = new XMLHttpRequest();
|
||||
@@ -151,15 +147,28 @@ function follow(acct_id, remote) {
|
||||
|
||||
//ブロック
|
||||
function block(acct_id) {
|
||||
if ($("#his-data").hasClass("blocking")) {
|
||||
var flag = "unblock";
|
||||
var txt = lang.lang_status_unmute
|
||||
} else {
|
||||
var flag = "block";
|
||||
var txt = lang.lang_status_block
|
||||
}
|
||||
Swal.fire({
|
||||
title: txt,
|
||||
text: "",
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var id = $("#his-data").attr("user-id");
|
||||
if ($("#his-data").hasClass("blocking")) {
|
||||
var flag = "unblock";
|
||||
} else {
|
||||
var flag = "block";
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + id + "/" + flag;
|
||||
@@ -180,21 +189,37 @@ function block(acct_id) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//ミュート
|
||||
function mute(acct_id) {
|
||||
function muteDo(acct_id) {
|
||||
if ($("#his-data").hasClass("muting")) {
|
||||
var flag = "unmute";
|
||||
var flagm = "delete";
|
||||
var txt = lang.lang_status_unmute
|
||||
} else {
|
||||
var flag = "mute";
|
||||
var flagm = "create";
|
||||
var txt = lang.lang_status_mute
|
||||
}
|
||||
Swal.fire({
|
||||
title: txt,
|
||||
text: "",
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
if (!acct_id) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
}
|
||||
var id = $("#his-data").attr("user-id");
|
||||
if ($("#his-data").hasClass("muting")) {
|
||||
var flag = "unmute";
|
||||
var flagm = "delete";
|
||||
} else {
|
||||
var flag = "mute";
|
||||
var flagm = "create";
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
@@ -222,6 +247,9 @@ function mute(acct_id) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//投稿削除
|
||||
@@ -253,7 +281,17 @@ function del(id, acct_id) {
|
||||
}
|
||||
//redraft
|
||||
function redraft(id, acct_id) {
|
||||
if (confirm(lang.lang_status_redraft)) {
|
||||
Swal.fire({
|
||||
title: lang.lang_status_redraftTitle,
|
||||
text: lang.lang_status_redraft,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
show();
|
||||
del(id, acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
@@ -286,6 +324,7 @@ function redraft(id, acct_id) {
|
||||
$("#cw-text").val(cwtxt);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
//ピン留め
|
||||
function pin(id, acct_id) {
|
||||
@@ -373,7 +412,7 @@ function empUser() {
|
||||
if (!obj) {
|
||||
var obj = [];
|
||||
obj.push(id);
|
||||
Materialize.toast(id + lang.lang_status_emphas, 4000);
|
||||
M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 })
|
||||
} else {
|
||||
var can;
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
@@ -383,7 +422,7 @@ function empUser() {
|
||||
} else {
|
||||
can = true;
|
||||
obj.splice(key, 1);
|
||||
Materialize.toast(id + lang.lang_status_unemphas, 4000);
|
||||
M.toast({ html: id + lang.lang_status_unemphas, displayLength: 4000 })
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -425,7 +464,7 @@ function pinUser() {
|
||||
//URLコピー
|
||||
function tootUriCopy(url) {
|
||||
execCopy(url);
|
||||
Materialize.toast(lang.lang_details_url, 1500);
|
||||
M.toast({ html: lang.lang_details_url, displayLength: 1500 })
|
||||
}
|
||||
|
||||
//他のアカウントで…
|
||||
@@ -460,7 +499,9 @@ function staEx(mode) {
|
||||
}
|
||||
function toggleAction(id, tlid, acct_id) {
|
||||
if (tlid == "notf") {
|
||||
var tlide = "[data-notf=" + acct_id + "]";
|
||||
var tlide = "[data-acct=" + acct_id + "] .notf-timeline";
|
||||
} else if (tlid == "user") {
|
||||
var tlide = "#his-tl-contents";
|
||||
} else {
|
||||
var tlide = "[tlid=" + tlid + "]";
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@ var oldSuggest;
|
||||
var suggest;
|
||||
|
||||
input.addEventListener("focus", function () {
|
||||
localStorage.removeItem("cursor");
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
$("#suggest").html("");
|
||||
window.clearInterval(timer);
|
||||
@@ -66,7 +67,7 @@ input.addEventListener("focus", function () {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
suggest = "https://" + domain + "/api/v1/search?q=" + q
|
||||
suggest = "https://" + domain + "/api/v2/search?q=" + q
|
||||
if (suggest != oldSuggest) {
|
||||
console.log("Try to get suggest at " + suggest)
|
||||
fetch(suggest, {
|
||||
@@ -81,18 +82,43 @@ input.addEventListener("focus", function () {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
console.log(["Search", json]);
|
||||
//ハッシュタグ
|
||||
if (json.hashtags[0] && tag) {
|
||||
if (tag[1]) {
|
||||
var tags = "";
|
||||
var tags = [];
|
||||
Object.keys(json.hashtags).forEach(function (key4) {
|
||||
var tag = json.hashtags[key4];
|
||||
if (tag != q) {
|
||||
tags = tags + '<a onclick="tagInsert(\'#' + tag + '\',\'#' + q +
|
||||
'\')" class="pointer">#' + tag + '</a><br>';
|
||||
var his = tag.history;
|
||||
var uses = his[0].uses * 1 + his[1].uses * 1 + his[2].uses * 1 + his[3].uses * 1 + his[4].uses * 1 + his[5].uses * 1 + his[6].uses * 1;
|
||||
tagHTML = '<br><a onclick="tagInsert(\'#' + escapeHTML(tag.name) + '\',\'#' + q + '\')" class="pointer">#' +
|
||||
escapeHTML(tag.name) + '</a> ' + uses + 'toot(s)'
|
||||
var item = {
|
||||
"uses": uses,
|
||||
"html": tagHTML
|
||||
}
|
||||
tags.push(item)
|
||||
});
|
||||
var num_a = -1;
|
||||
var num_b = 1;
|
||||
tags = tags.sort(function (a, b) {
|
||||
var x = a["uses"];
|
||||
var y = b["uses"];
|
||||
if (x > y) return num_a;
|
||||
if (x < y) return num_b;
|
||||
return 0;
|
||||
});
|
||||
var ins = ""
|
||||
var nev = false
|
||||
Object.keys(tags).forEach(function (key7) {
|
||||
ins = ins + tags[key7].html
|
||||
if (key7 <= 0 && !nev) {
|
||||
ins = ins + '<br>'
|
||||
nev = true
|
||||
}
|
||||
});
|
||||
$("#suggest").html(ins);
|
||||
$("#right-side").show()
|
||||
$("#suggest").html("Tags:<br>" + tags);
|
||||
$("#poll").addClass("hide")
|
||||
$("#emoji").addClass("hide")
|
||||
}
|
||||
@@ -131,7 +157,7 @@ function tagInsert(code, del) {
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if (!del) {
|
||||
} else {
|
||||
var regExp = new RegExp(del, "g");
|
||||
var regExp = new RegExp(del.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
var now = now.replace(regExp, "");
|
||||
selin = selin - del.length;
|
||||
}
|
||||
|
@@ -15,7 +15,7 @@ function re(id, ats_cm, acct_id, mode) {
|
||||
$("#rec").text(lang.lang_yesno);
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
$("#textarea").attr("placeholder", lang.lang_usetxtbox_reply);
|
||||
$("#textarea").focus();
|
||||
var profimg = localStorage.getItem("prof_" + acct_id);
|
||||
@@ -58,7 +58,7 @@ function qt(id, acct_id, at, url) {
|
||||
html = $.strip_tags(html);
|
||||
$("#textarea").val("\n" + "@" + at + " " + html + "\n" + url);
|
||||
}
|
||||
$("#textarea").focus();
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$('select').material_select();
|
||||
$('select').formSelect();
|
||||
$("#textarea").focus();
|
||||
}
|
@@ -155,7 +155,7 @@ function additionalIndv(tlid, acct_id, id) {
|
||||
});
|
||||
} else {
|
||||
var id = $("[toot-id=" + id + "] .toot a").parents('.cvo').attr("toot-id");
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id + "/card";
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
@@ -169,6 +169,7 @@ function additionalIndv(tlid, acct_id, id) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
json = json.card;
|
||||
//このリンク鳥やんけ、ってとき
|
||||
if (json.provider_name == "Twitter") {
|
||||
if (json.image) {
|
||||
|
@@ -82,7 +82,7 @@ function details(id, acct_id, tlid, mode) {
|
||||
} else {
|
||||
$("#tootmodal").attr("data-user", scn);
|
||||
}
|
||||
context(id, acct_id);
|
||||
getContext(id, acct_id);
|
||||
var dom = null;
|
||||
if (!local) {
|
||||
dom = scn.replace(/.+@/g, '');
|
||||
@@ -99,8 +99,10 @@ function details(id, acct_id, tlid, mode) {
|
||||
if ($("#toot-this div").hasClass("cvo")) {
|
||||
$("#toot-this").removeClass("cvo");
|
||||
} else {
|
||||
if(!$("#toot-this .cvo").hasClass("cvo")){
|
||||
$("#toot-this").addClass("cvo");
|
||||
}
|
||||
}
|
||||
if (!$("#activator").hasClass("active")) {
|
||||
$('#det-col').collapsible('open', 4);
|
||||
}
|
||||
@@ -125,14 +127,7 @@ function replyTL(id, acct_id) {
|
||||
})
|
||||
}
|
||||
} else {
|
||||
var start = "https://" + domain + "/api/v1/statuses/" + id;
|
||||
var i = {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
}
|
||||
return false
|
||||
}
|
||||
fetch(start, i).then(function (response) {
|
||||
return response.json();
|
||||
@@ -155,27 +150,13 @@ function replyTL(id, acct_id) {
|
||||
if (json[rep]) {
|
||||
replyTL(json[rep][0], acct_id);
|
||||
}
|
||||
} else {
|
||||
var templete = parse([json], '', acct_id, "", "", mute);
|
||||
if (templete != "") {
|
||||
$("#toot-reply .no-data").hide();
|
||||
}
|
||||
$("#toot-reply").prepend(templete);
|
||||
$("#toot-reply .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-reply .by_filter").css("display", "block");
|
||||
$("#toot-reply .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
var rep = "in_reply_to_id";
|
||||
if (json[rep]) {
|
||||
replyTL(json[rep], acct_id);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//コンテクストってなんですか
|
||||
function context(id, acct_id) {
|
||||
function getContext(id, acct_id) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
@@ -228,6 +209,14 @@ function context(id, acct_id) {
|
||||
$("#toot-after .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-after .by_filter").css("display", "block");
|
||||
$("#toot-after .by_filter").removeClass("hide");
|
||||
var templete = parse(json.ancestors, '', acct_id, "", "", mute);
|
||||
if (templete != "") {
|
||||
$("#toot-reply .no-data").hide();
|
||||
}
|
||||
$("#toot-reply").prepend(templete);
|
||||
$("#toot-reply .hide").html(lang.lang_details_filtered);
|
||||
$("#toot-reply .by_filter").css("display", "block");
|
||||
$("#toot-reply .by_filter").removeClass("hide");
|
||||
jQuery("time.timeago").timeago();
|
||||
}
|
||||
|
||||
@@ -466,10 +455,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.lang_details_embed, 1500);
|
||||
M.toast({ html: lang.lang_details_embed, displayLength: 1500 })
|
||||
} else {
|
||||
if (execCopy(url)) {
|
||||
Materialize.toast(lang.lang_details_url, 1500);
|
||||
M.toast({ html: lang.lang_details_url, displayLength: 1500 })
|
||||
}
|
||||
|
||||
}
|
||||
@@ -485,7 +474,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.lang_details_txt, 1500);
|
||||
M.toast({ html: lang.lang_details_txt, displayLength: 1500 })
|
||||
}
|
||||
|
||||
}
|
||||
@@ -513,17 +502,13 @@ function trans(tar, to) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (text) {
|
||||
$("#toot-this .additional").html('<span class="gray">' + text.text + '</span>');
|
||||
$("#toot-this .additional").html('<span class="gray translate">' + text.text + '</span>');
|
||||
});
|
||||
}
|
||||
//ブラウザで開く
|
||||
function brws() {
|
||||
var url = $("#tootmodal").attr("data-url");
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
//外部からトゥート開く
|
||||
function detEx(url, acct_id) {
|
||||
@@ -546,11 +531,7 @@ function detEx(url, acct_id) {
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
if (!json.statuses) {
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
} else {
|
||||
var id = json.statuses[0].id;
|
||||
$(".loadp").text($(".loadp").attr("href"));
|
||||
|
@@ -77,12 +77,12 @@ function catchToggle(tlid) {
|
||||
localStorage.removeItem("catch_" + tlid);
|
||||
$("#sta-del-" + tlid).text("Off");
|
||||
$("#sta-del-" + tlid).css("color", 'red');
|
||||
parseColumn();
|
||||
parseColumn(tlid);
|
||||
} else {
|
||||
localStorage.setItem("catch_" + tlid, "true");
|
||||
$("#sta-del-" + tlid).text("On");
|
||||
$("#sta-del-" + tlid).css("color", '#009688');
|
||||
parseColumn();
|
||||
parseColumn(tlid);
|
||||
}
|
||||
}
|
||||
function catchCheck(tlid) {
|
||||
@@ -370,7 +370,7 @@ function filterUpdateInternal(json, type) {
|
||||
var text = $(elem).find('.toot').html();
|
||||
Object.keys(home).forEach(function (key8) {
|
||||
var word = home[key8];
|
||||
var regExp = new RegExp(word, "g");
|
||||
var regExp = new RegExp(word.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
if ($.strip_tags(text).match(regExp)) {
|
||||
$("[toot-id=" + id + "]").addClass("hide");
|
||||
}
|
||||
@@ -386,33 +386,34 @@ function filterUpdateInternal(json, type) {
|
||||
*/
|
||||
//通知フィルター
|
||||
function exclude(key) {
|
||||
localStorage.setItem("exclude-" + key, "")
|
||||
var excludetxt = localStorage.getItem("exclude-" + key);
|
||||
if ($('#exc-reply-' + key + ':checked').val()) {
|
||||
excludetxt = "?exclude_types[]=mention"
|
||||
}
|
||||
if ($('#exc-fav-' + key + ':checked').val()) {
|
||||
if (!excludetxt || excludetxt !="") {
|
||||
if (excludetxt || excludetxt !="") {
|
||||
excludetxt = excludetxt + "&exclude_types[]=favourite"
|
||||
} else {
|
||||
excludetxt = "?exclude_types[]=favourite"
|
||||
}
|
||||
}
|
||||
if ($('#exc-bt-' + key + ':checked').val()) {
|
||||
if (!excludetxt || excludetxt !="") {
|
||||
if (excludetxt || excludetxt !="") {
|
||||
excludetxt = excludetxt + "&exclude_types[]=reblog"
|
||||
} else {
|
||||
excludetxt = "?exclude_types[]=reblog"
|
||||
}
|
||||
}
|
||||
if ($('#exc-follow-' + key + ':checked').val()) {
|
||||
if (!excludetxt || excludetxt !="") {
|
||||
if (excludetxt || excludetxt !="") {
|
||||
excludetxt = excludetxt + "&exclude_types[]=follow"
|
||||
} else {
|
||||
excludetxt = "?exclude_types[]=follow"
|
||||
}
|
||||
}
|
||||
if ($('#exc-poll-' + key + ':checked').val()) {
|
||||
if (!excludetxt || excludetxt !="") {
|
||||
if (excludetxt || excludetxt !="") {
|
||||
excludetxt = excludetxt + "&exclude_types[]=poll"
|
||||
} else {
|
||||
excludetxt = "?exclude_types[]=poll"
|
||||
@@ -420,7 +421,7 @@ function exclude(key) {
|
||||
} else {
|
||||
}
|
||||
localStorage.setItem("exclude-" + key, excludetxt)
|
||||
parseColumn();
|
||||
parseColumn(key);
|
||||
}
|
||||
function excludeCk(key, target) {
|
||||
var exc = localStorage.getItem("exclude-" + key);
|
||||
@@ -443,15 +444,15 @@ function checkNotfFilter(tlid){
|
||||
}
|
||||
function resetNotfFilter(tlid){
|
||||
localStorage.setItem("exclude-" + tlid, "")
|
||||
parseColumn();
|
||||
parseColumn(tlid);
|
||||
}
|
||||
function notfFilter(id,tlid){
|
||||
function notfFilter(id,tlid,acct_id){
|
||||
var excludetxt = localStorage.getItem("exclude-" + tlid);
|
||||
if (!excludetxt || excludetxt !="") {
|
||||
if (excludetxt || excludetxt !="") {
|
||||
excludetxt = excludetxt + "&account_id="+id
|
||||
} else {
|
||||
excludetxt = "?account_id="+id
|
||||
}
|
||||
localStorage.setItem("exclude-" + tlid, excludetxt)
|
||||
parseColumn();
|
||||
parseColumn(tlid);
|
||||
}
|
@@ -50,14 +50,18 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
native = "yes";
|
||||
}
|
||||
//クライアント強調
|
||||
var emp = localStorage.getItem("client_emp");
|
||||
if (emp) {
|
||||
var emp = JSON.parse(emp);
|
||||
var empCli = localStorage.getItem("client_emp");
|
||||
if (empCli) {
|
||||
var empCli = JSON.parse(empCli);
|
||||
} else {
|
||||
var empCli = [];
|
||||
}
|
||||
//クライアントミュート
|
||||
var mute = localStorage.getItem("client_mute");
|
||||
if (mute) {
|
||||
var mute = JSON.parse(mute);
|
||||
var muteCli = localStorage.getItem("client_mute");
|
||||
if (muteCli) {
|
||||
var muteCli = JSON.parse(muteCli);
|
||||
} else {
|
||||
var muteCli = [];
|
||||
}
|
||||
//ユーザー強調
|
||||
var useremp = localStorage.getItem("user_emp");
|
||||
@@ -65,17 +69,19 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var useremp = JSON.parse(useremp);
|
||||
}
|
||||
//ワード強調
|
||||
var wordemp = localStorage.getItem("word_emp");
|
||||
if (wordemp) {
|
||||
var wordemp = JSON.parse(wordemp);
|
||||
var wordempList = localStorage.getItem("word_emp");
|
||||
if (wordempList) {
|
||||
var wordempList = JSON.parse(wordempList);
|
||||
}
|
||||
//ワードミュート
|
||||
var wordmute = localStorage.getItem("word_mute");
|
||||
if (wordmute) {
|
||||
var wordmute = JSON.parse(wordmute);
|
||||
wordmute = wordmute.concat(mutefilter);
|
||||
var wordmuteList = localStorage.getItem("word_mute");
|
||||
if (wordmuteList) {
|
||||
var wordmuteList = JSON.parse(wordmuteList);
|
||||
if (wordmuteList) {
|
||||
wordmuteList = wordmuteList.concat(mutefilter);
|
||||
}
|
||||
} else {
|
||||
wordmute = mutefilter;
|
||||
wordmuteList = mutefilter;
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
@@ -178,9 +184,9 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
noticeavatar = toot.user.avatarUrl;
|
||||
}
|
||||
noticeavatar = '<a onclick="udg(\'' + toot.user.id +
|
||||
'\',' + acct_id + ');" user="' + toot.user.username + '" class="udg">' +
|
||||
'\',' + acct_id + ');" user="' + toot.user.username + '" class="udg notf-icon">' +
|
||||
'<img src="' + noticeavatar +
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.user.username +
|
||||
'" width="20" class="prof-img" user="' + toot.user.username +
|
||||
'"></a>';
|
||||
if (toot.type == "reply") {
|
||||
var what = lang.lang_parse_mentioned;
|
||||
@@ -254,12 +260,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if (popup > 0) {
|
||||
Materialize.toast("[" + domain + "]" + escapeHTMLtemp(toot.user.name) + what, popup * 1000);
|
||||
M.toast({ html: "[" + domain + "]" + escapeHTMLtemp(toot.user.name) + what, displayLength: popup * 1000 })
|
||||
}
|
||||
if (native == "yes") {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: toot.user.name + "(" + toot.user.username + ")" + what + "\n\n" + $.strip_tagstemp(toot.note.text),
|
||||
icon: toot.user.avatarUrl
|
||||
@@ -267,14 +271,15 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
ipc.send('native-notf', [
|
||||
var nativeNotfOpt = [
|
||||
'TheDesk:' + domain,
|
||||
toot.user.name + "(" + toot.user.username + ")" + what + "\n\n" + $.strip_tagstemp(toot.note.text),
|
||||
toot.user.avatarUrl,
|
||||
"toot",
|
||||
acct_id,
|
||||
toot.note.id
|
||||
]);
|
||||
]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
}
|
||||
if (localStorage.getItem("hasNotfC_" + acct_id) != "true") {
|
||||
@@ -350,16 +355,16 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
viashow = "via-hide";
|
||||
}
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function (key6) {
|
||||
var cli = emp[key6];
|
||||
if (cli == via) {
|
||||
Object.keys(empCli).forEach(function (key6) {
|
||||
var empCliList = empCli[key6];
|
||||
if (empCliList == via) {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
//ミュートチェック
|
||||
Object.keys(mute).forEach(function (key7) {
|
||||
var cli = mute[key7];
|
||||
if (cli == via) {
|
||||
Object.keys(muteCli).forEach(function (key7) {
|
||||
var muteCliList = muteCli[key7];
|
||||
if (muteCliList == via) {
|
||||
boostback = "hide";
|
||||
}
|
||||
});
|
||||
@@ -370,7 +375,7 @@ function misskeyParse(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.lang_parse_cwshow + '</a><br>';
|
||||
'\')" class="nex parsed cw_btn">' + 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;
|
||||
@@ -382,7 +387,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'</span><span class="gray">' + lang.lang_parse_autofold + '</span>';
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed">' + lang.lang_parse_more + '</a><br>';
|
||||
'\')" class="nex parsed cw_btn">' + lang.lang_parse_more + '</a><br>';
|
||||
} else {
|
||||
var content = escapeHTMLtemp(toot.text);
|
||||
if (toot.cw) {
|
||||
@@ -496,12 +501,16 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'" data-type="video" class="img-parsed"><video src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="max-width:100%;"></a></span>';
|
||||
} else if (media.type.indexOf("audio") !== -1) {
|
||||
viewer = viewer + '<audio src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="width:100%;" controls></span>';
|
||||
} else {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
|
||||
acct_id + ')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
'" data-type="image" class="img-parsed"><img src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" style="width:' + cwdt + '%; height:' + imh + 'px;"></a></span>';
|
||||
' toot-img pointer" style="width:' + cwdt + '%; height:' + imh + 'px;" onerror="this.src=\'../../img/loading.svg\'"></a></span>';
|
||||
}
|
||||
|
||||
});
|
||||
@@ -572,7 +581,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var rt_app = "";
|
||||
/*
|
||||
if (toot.reblogged) {
|
||||
var if_rt = "teal-text";
|
||||
var if_rt = "light-blue-text";
|
||||
var rt_app = "rted";
|
||||
} else {
|
||||
var if_rt = "";
|
||||
@@ -582,16 +591,16 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
//アバター
|
||||
var avatar = toot.user.avatarUrl;
|
||||
//ワードミュート
|
||||
if (wordmute) {
|
||||
Object.keys(wordmute).forEach(function (key8) {
|
||||
var worde = wordmute[key8];
|
||||
if (wordmuteList) {
|
||||
Object.keys(wordmuteList).forEach(function (key8) {
|
||||
var worde = wordmuteList[key8];
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
var word = worde.tag;
|
||||
var wordList = worde.tag;
|
||||
} else {
|
||||
var word = worde
|
||||
var wordList = worde
|
||||
}
|
||||
var regExp = new RegExp(word, "g");
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
if ($.strip_tagstemp(content).match(regExp)) {
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
@@ -599,13 +608,13 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
});
|
||||
}
|
||||
//ワード強調
|
||||
if (wordemp) {
|
||||
Object.keys(wordemp).forEach(function (key9) {
|
||||
var word = wordemp[key9];
|
||||
if (word) {
|
||||
var word = word.tag;
|
||||
var regExp = new RegExp(word, "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + word + "</span>");
|
||||
if (wordempList) {
|
||||
Object.keys(wordempList).forEach(function (key9) {
|
||||
var wordList = wordempList[key9];
|
||||
if (wordList) {
|
||||
var wordList = wordList.tag;
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + wordList + "</span>");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -779,7 +788,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'\',' + acct_id + ');" user="' + toot.user.username + '" class="udg">' +
|
||||
'<img src="' + avatar +
|
||||
'" width="40" class="prof-img" user="' + toot.user.username +
|
||||
'"></a></div>' +
|
||||
'" onerror="this.src=\'../../img/loading.svg\'"></a></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;"> @' +
|
||||
@@ -823,10 +832,10 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
'<div class="action ' + disp["re"] + ' ' + noauth + '"><a onclick="misskeyreply(\'' + toot.id +
|
||||
'\',\'' + acct_id + '\',' +
|
||||
acct_id + ',\'' + visen +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i></a></div>' +
|
||||
'\')" class="waves-effect waves-dark btn-flat rep-btn" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["rt"] + ' ' + noauth + '"><a onclick="renote(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_misskeyparse_renote + '"><i class="text-darken-3 fas fa-retweet ' +
|
||||
'\')" class="waves-effect waves-dark btn-flat bt-btn" style="padding:0" title="' + lang.lang_misskeyparse_renote + '"><i class="text-darken-3 fas fa-retweet ' +
|
||||
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct"></span></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["qt"] + ' ' + noauth + '"><a onclick="renoteqt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'misskey.xyz\',\'misskey.xyz\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_misskeyparse_renoteqt + '"><i class="text-darken-3 fas fa-quote-right"></i></a></div>' +
|
||||
@@ -893,7 +902,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(escapeHTMLtemp(toot.name) + ":" + ftxt, popup * 1000);
|
||||
M.toast({ html: escapeHTMLtemp(toot.name) + ":" + ftxt, displayLength: popup * 1000 })
|
||||
$(".notf-icon_" + tlid).addClass("red-text");
|
||||
localStorage.setItem("notice-mem", notftext);
|
||||
notftext = "";
|
||||
@@ -902,9 +911,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
native = "yes";
|
||||
}
|
||||
if (native == "yes") {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: toot.display_name + "(" + toot.acct + ")" + ftxt,
|
||||
icon: toot.avatar
|
||||
@@ -913,14 +920,15 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
ipc.send('native-notf', [
|
||||
var nativeNotfOpt = [
|
||||
'TheDesk:' + domain,
|
||||
toot.display_name + "(" + toot.acct + ")" + ftxt,
|
||||
toot.avatar,
|
||||
"userdata",
|
||||
acct_id,
|
||||
toot.id
|
||||
]);
|
||||
]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -967,15 +975,11 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
|
||||
function goGoogle(id) {
|
||||
var val = $("#srcbox_" + id).val();
|
||||
var url = "https://google.com/search?q=" + val;
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
var misskeyws = []
|
||||
var misskeywsstate = []
|
||||
function connectMisskey(acct_id) {
|
||||
function connectMisskey(acct_id, re) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "wss://" + domain +
|
||||
@@ -994,10 +998,9 @@ function connectMisskey(acct_id) {
|
||||
console.log([domain + ":Receive Streaming API:", data]);
|
||||
var data = JSON.parse(mess.data)
|
||||
var obj = data.body.body
|
||||
|
||||
var mute = [];
|
||||
if (data.body.id.indexOf("notf:") !== -1) {
|
||||
var obj = JSON.parse(mess.data).body;
|
||||
console.log(obj);
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
popup = 0;
|
||||
@@ -1059,13 +1062,17 @@ function connectMisskey(acct_id) {
|
||||
console.error("Error closing " + tlid);
|
||||
console.error(error);
|
||||
misskeywsstate[wsid] = false
|
||||
connectMisskey(acct_id)
|
||||
if(!re){
|
||||
connectMisskey(acct_id, true)
|
||||
}
|
||||
return false;
|
||||
};
|
||||
misskeyws[wsid].onclose = function () {
|
||||
console.warn("Closing " + tlid);
|
||||
misskeywsstate[wsid] = false
|
||||
connectMisskey(acct_id)
|
||||
if(!re){
|
||||
connectMisskey(acct_id, true)
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
|
@@ -43,15 +43,15 @@ function mixtl(acct_id, tlid, type, delc, voice) {
|
||||
timeline.splice(20);
|
||||
}
|
||||
var templete = "";
|
||||
Object.keys(timeline).forEach(function (key) {
|
||||
var pkey = key * 1 + 1;
|
||||
if (pkey < timeline.length) {
|
||||
if (date(timeline[key].created_at, "unix") != date(timeline[pkey].created_at, "unix")) {
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), "mix");
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
Object.keys(timeline).forEach(function (key) {
|
||||
var pkey = key * 1 + 1;
|
||||
if (pkey < timeline.length) {
|
||||
if (date(timeline[key].created_at, "unix") != date(timeline[pkey].created_at, "unix")) {
|
||||
if (type == "integrated") {
|
||||
templete = templete + parse([timeline[key]], '', acct_id, tlid, "", mute, "mix");
|
||||
} else if (type == "plus") {
|
||||
|
@@ -58,9 +58,7 @@ function notfColumn(acct_id, tlid, sys) {
|
||||
if (key > 14) {
|
||||
ct = "15+";
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: ct + lang.lang_notf_new,
|
||||
icon: localStorage.getItem("prof_" + acct_id)
|
||||
@@ -68,7 +66,8 @@ function notfColumn(acct_id, tlid, sys) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
ipc.send('native-notf', ['TheDesk:' + domain, ct + lang.lang_notf_new, localStorage.getItem("prof_" + acct_id)]);
|
||||
var nativeNotfOpt=['TheDesk:' + domain, ct + lang.lang_notf_new, localStorage.getItem("prof_" + acct_id)]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
|
||||
}
|
||||
@@ -164,9 +163,7 @@ function notfCommon(acct_id, tlid, sys) {
|
||||
if (key > 14) {
|
||||
ct = "15+";
|
||||
}
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: ct + lang.lang_notf_new,
|
||||
icon: localStorage.getItem("prof_" + acct_id)
|
||||
@@ -174,7 +171,8 @@ function notfCommon(acct_id, tlid, sys) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
ipc.send('native-notf', ['TheDesk:' + domain, ct + lang.lang_notf_new, localStorage.getItem("prof_" + acct_id)]);
|
||||
var nativeNotfOpt=['TheDesk:' + domain, ct + lang.lang_notf_new, localStorage.getItem("prof_" + acct_id)]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
|
||||
}
|
||||
@@ -226,7 +224,7 @@ function notfWS(misskey, acct_id, tlid, domain, at) {
|
||||
|
||||
}
|
||||
websocketNotf[acct_id].onmessage = function (mess) {
|
||||
console.log(["Receive Streaming API(Notf):" + acct_id + "(" + domain + ")", JSON.parse(JSON.parse(mess.data).payload)]);
|
||||
//console.log(["Receive Streaming API(Notf):" + acct_id + "(" + domain + ")", JSON.parse(JSON.parse(mess.data).payload)]);
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
popup = 0;
|
||||
|
@@ -52,14 +52,14 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
native = "yes";
|
||||
}
|
||||
//クライアント強調
|
||||
var emp = localStorage.getItem("client_emp");
|
||||
if (emp) {
|
||||
var emp = JSON.parse(emp);
|
||||
var empCli = localStorage.getItem("client_emp");
|
||||
if (empCli) {
|
||||
var empCli = JSON.parse(empCli);
|
||||
}
|
||||
//クライアントミュート
|
||||
var mute = localStorage.getItem("client_mute");
|
||||
if (mute) {
|
||||
var mute = JSON.parse(mute);
|
||||
var muteCli = localStorage.getItem("client_mute");
|
||||
if (muteCli) {
|
||||
var muteCli = JSON.parse(muteCli);
|
||||
}
|
||||
//ユーザー強調
|
||||
var useremp = localStorage.getItem("user_emp");
|
||||
@@ -67,17 +67,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var useremp = JSON.parse(useremp);
|
||||
}
|
||||
//ワード強調
|
||||
var wordemp = localStorage.getItem("word_emp");
|
||||
if (wordemp) {
|
||||
var wordemp = JSON.parse(wordemp);
|
||||
var wordempList = localStorage.getItem("word_emp");
|
||||
if (wordempList) {
|
||||
var wordempList = JSON.parse(wordempList);
|
||||
}
|
||||
//ワードミュート
|
||||
var wordmute = localStorage.getItem("word_mute");
|
||||
if (wordmute) {
|
||||
var wordmute = JSON.parse(wordmute);
|
||||
wordmute = wordmute.concat(mutefilter);
|
||||
var wordmuteList = localStorage.getItem("word_mute");
|
||||
if (wordmuteList) {
|
||||
var wordmuteList = JSON.parse(wordmuteList);
|
||||
if (wordmuteList) {
|
||||
wordmuteList = wordmuteList.concat(mutefilter);
|
||||
}
|
||||
} else {
|
||||
wordmute = mutefilter;
|
||||
wordmuteList = mutefilter;
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
@@ -235,7 +237,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var what = lang.lang_parse_polled;
|
||||
var icon = "fa-tasks purple-text";
|
||||
}
|
||||
var noticetext = '<i class="fas fa-filter pointer big-text" onclick="notfFilter(\'' + toot.account.id +
|
||||
if (tlid == "notf") {
|
||||
var notfFilHide = "hide"
|
||||
} else {
|
||||
var notfFilHide = ""
|
||||
}
|
||||
var noticetext = '<i class="fas fa-filter pointer big-text ' + notfFilHide + '" onclick="notfFilter(\'' + toot.account.id +
|
||||
'\',\'' + tlid + '\');" title="' + lang.lang_parse_notffilter + '"></i><span class="cbadge cbadge-hover"title="' + date(toot.created_at,
|
||||
'absolute') + '(' + lang.lang_parse_notftime + ')"><i class="far fa-clock"></i>' + date(toot.created_at,
|
||||
datetype) +
|
||||
@@ -279,7 +286,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if (popup > 0) {
|
||||
Materialize.toast("[" + domain + "]" + escapeHTML(toot.account.display_name) + what, popup * 1000);
|
||||
M.toast({ html: "[" + domain + "]" + escapeHTML(toot.account.display_name) + what, displayLength: popup * 1000 })
|
||||
}
|
||||
//通知音
|
||||
if (sound == "c1") {
|
||||
@@ -299,9 +306,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
request.send();
|
||||
}
|
||||
if (native == "yes") {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: toot.account.display_name + "(" + toot.account.acct + ")" + what + "\n\n" + $.strip_tags(toot.status.content),
|
||||
icon: toot.account.avatar
|
||||
@@ -309,14 +314,15 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
ipc.send('native-notf', [
|
||||
var nativeNotfOpt = [
|
||||
'TheDesk:' + domain,
|
||||
toot.account.display_name + "(" + toot.account.acct + ")" + what + "\n\n" + $.strip_tags(toot.status.content),
|
||||
toot.account.avatar,
|
||||
"toot",
|
||||
acct_id,
|
||||
toot.status.id
|
||||
]);
|
||||
]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
}
|
||||
if (localStorage.getItem("hasNotfC_" + acct_id) != "true") {
|
||||
@@ -353,10 +359,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
noticeavatar = toot.account.avatar_static;
|
||||
}
|
||||
noticeavatar = '<a onclick="udg(\'' + toot.account.id +
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="udg">' +
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="notf-icon udg">' +
|
||||
'<img draggable="false" src="' + noticeavatar +
|
||||
'" width="20" class="notf-icon prof-img" user="' + toot.account.acct +
|
||||
'"></a>';
|
||||
'" width="20" class="prof-img" user="' + toot.account.acct +
|
||||
'" onerror="this.src=\'../../img/loading.svg\'"></a>';
|
||||
var rebtxt = lang.lang_parse_btedsimple;
|
||||
var rticon = "fa-retweet light-blue-text";
|
||||
if (localStorage.getItem("domain_" + acct_id) == "imastodon.net" && !locale) {
|
||||
@@ -370,6 +376,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var uniqueid = toot.id;
|
||||
var toot = toot.reblog;
|
||||
var dis_name = escapeHTML(toot.account.display_name);
|
||||
if(!dis_name){
|
||||
dis_name = toot.account.acct
|
||||
}
|
||||
if (toot.account.emojis) {
|
||||
var actemojick = toot.account.emojis[0];
|
||||
} else {
|
||||
@@ -426,21 +435,25 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
viashow = "hide";
|
||||
} else {
|
||||
var via = escapeHTML(toot.application.name);
|
||||
if (empCli) {
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function (key6) {
|
||||
var cli = emp[key6];
|
||||
if (cli == via) {
|
||||
Object.keys(empCli).forEach(function (key6) {
|
||||
var empCliList = empCli[key6];
|
||||
if (empCliList == via) {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
});
|
||||
}
|
||||
if (muteCli) {
|
||||
//ミュートチェック
|
||||
Object.keys(mute).forEach(function (key7) {
|
||||
var cli = mute[key7];
|
||||
if (cli == via) {
|
||||
Object.keys(muteCli).forEach(function (key7) {
|
||||
var muteCliList = muteCli[key7];
|
||||
if (muteCliList == via) {
|
||||
boostback = "hide";
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (mix == "pinned") {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
@@ -450,7 +463,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var api_spoil = "gray";
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed">' + lang.lang_parse_cwshow + '</a><br>';
|
||||
'\')" class="nex parsed cw_btn">' + 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;
|
||||
@@ -462,7 +475,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
'</span><span class="gray">' + lang.lang_parse_autofold + '</span>';
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed">' + lang.lang_parse_more + '</a><br>';
|
||||
'\')" class="nex parsed cw_btn">' + lang.lang_parse_more + '</a><br>';
|
||||
} else {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
@@ -471,8 +484,25 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
}
|
||||
var urls = $.strip_tags(content).replace(/\n/g, " ").match(
|
||||
/https?:\/\/([-a-zA-Z0-9@.]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/
|
||||
/https?:\/\/([^+_]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/
|
||||
);
|
||||
urlsck = content.match(/(https?):\/\/([^<>]*?)\/([^"]*)/g)
|
||||
if (urlsck) {
|
||||
for (var urlct = 0; urlct < urlsck.length; urlct++) {
|
||||
var urlindv = urlsck[urlct]
|
||||
urlCont = urlindv.match(/(https?):\/\/([^a-zA-Z0-9.-]*?)\.(.+?)\/([^"]*)/)
|
||||
if (urlCont) {
|
||||
urlindv = urlindv.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&")
|
||||
var encoded = encodeURI(urlCont[4])
|
||||
var punycoded = "xn--" + punycode.encode(urlCont[2])
|
||||
var eUrl = urlCont[1] + "://" + punycoded + "." + urlCont[3] + "/" + encoded
|
||||
var regExp = new RegExp('href="' + urlindv + '"', "g")
|
||||
content = content.replace(regExp, 'href="' + eUrl + '"')
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (urls) {
|
||||
var analyze = '<a onclick="additionalIndv(\'' + tlid + '\',' + acct_id +
|
||||
',\'' + id + '\')" class="add-show pointer">' + lang.lang_parse_url + '</a><br>';
|
||||
@@ -489,6 +519,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (toot.poll.voted) {
|
||||
var myvote = lang.lang_parse_voted;
|
||||
var result_hide = "";
|
||||
} else if (toot.poll.expired) {
|
||||
var myvote = lang.lang_parse_endedvote;
|
||||
var result_hide = "";
|
||||
} else {
|
||||
var myvote = '<a onclick="voteMastodon(\'' + acct_id + '\',\'' + toot.poll.id + '\')" class="votebtn">' + lang.lang_parse_vote + '</a><br>';
|
||||
if (choices[0].votes_count === 0 || choices[0].votes_count > 0) {
|
||||
@@ -496,11 +529,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
var result_hide = "hide";
|
||||
}
|
||||
if (toot.poll.expired) {
|
||||
var ended = lang.lang_parse_endedvote;
|
||||
} else {
|
||||
var ended = date(toot.poll.expires_at, datetype);
|
||||
}
|
||||
Object.keys(choices).forEach(function (keyc) {
|
||||
var choice = choices[keyc];
|
||||
if (!toot.poll.voted && !toot.poll.expired) {
|
||||
@@ -512,10 +541,197 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
poll = poll + '<div class="' + voteclass + ' vote vote_' + acct_id + '_' + toot.poll.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + toot.poll.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span></div>';
|
||||
});
|
||||
poll = '<div class="vote_' + acct_id + '_' + toot.poll.id + '">' + poll + myvote + '<span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
||||
poll = '<div class="vote_' + acct_id + '_' + toot.poll.id + '">' + poll + myvote + '<a onclick="voteMastodonrefresh(\'' + acct_id + '\',\'' + toot.poll.id + '\')" class="pointer">' + lang.lang_manager_refresh + '</a><span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
||||
'"><i class="far fa-calendar-times"></i>' +
|
||||
ended + '</span></div>';
|
||||
}
|
||||
|
||||
var mediack = toot.media_attachments[0];
|
||||
//メディアがあれば
|
||||
var media_ids = "";
|
||||
if (mediack) {
|
||||
hasmedia = "hasmedia";
|
||||
var cwdt = 100 / toot.media_attachments.length;
|
||||
Object.keys(toot.media_attachments).forEach(function (key2) {
|
||||
var media = toot.media_attachments[key2];
|
||||
var purl = media.preview_url;
|
||||
media_ids = media_ids + media.id + ",";
|
||||
var url = media.url;
|
||||
var nsfwmes = ""
|
||||
if (toot.sensitive && nsfw) {
|
||||
var sense = "sensitive"
|
||||
var blur = media.blurhash
|
||||
nsfwmes = '<div class="nsfw-media">' + lang.lang_parse_nsfw + '</div>'
|
||||
if (blur) {
|
||||
purl = parseBlur(blur)
|
||||
var sense = ""
|
||||
}
|
||||
} else {
|
||||
var sense = ""
|
||||
var blur = null
|
||||
}
|
||||
if (media.pleroma && media.pleroma.mime_type.indexOf("video") !== -1) {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
|
||||
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%;" loop="true"></a></span>';
|
||||
} else {
|
||||
if (media.type == "unknown") {
|
||||
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + ']</a> '
|
||||
} else if (media.type == "audio") {
|
||||
viewer = viewer + '<audio src="' +
|
||||
url + '" class="pointer" style="width:100%;" controls></span>';
|
||||
} else {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
|
||||
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
'" data-type="' + media.type + '" class="img-parsed img-link" style="width:calc(' + cwdt + '% - 1px); height:' + imh + ';"><img draggable="false" src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer" onerror="this.src=\'../../img/loading.svg\'">' + nsfwmes + '</a>';
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
media_ids = media_ids.slice(0, -1);
|
||||
} else {
|
||||
viewer = "";
|
||||
hasmedia = "nomedia";
|
||||
}
|
||||
var menck = toot.mentions[0];
|
||||
var mentions = "";
|
||||
//メンションであれば
|
||||
if (menck) {
|
||||
mentions = "";
|
||||
var to_mention = [];
|
||||
Object.keys(toot.mentions).forEach(function (key3) {
|
||||
var mention = toot.mentions[key3];
|
||||
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
|
||||
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
|
||||
//自分は除外
|
||||
//自インスタンスかどうかを確認し、IDの一致
|
||||
if (mention.acct == mention.username && mention.id == localStorage.getItem("user-id_" + acct_id)) {
|
||||
//自分
|
||||
} else {
|
||||
//そのトゥの人NG
|
||||
if (toot.account.acct != mention.acct) {
|
||||
to_mention.push(mention.acct);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
to_mention.push(toot.account.acct);
|
||||
mentions = '<div style="float:right">' + mentions + '</div>';
|
||||
} else {
|
||||
var to_mention = [toot.account.acct];
|
||||
//メンションじゃなくてもlang_parse_thread
|
||||
if(toot.in_reply_to_id){
|
||||
mentions = '<div style="float:right"><a onclick="details(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid + '\')" class="pointer waves-effect">' + lang.lang_parse_thread + '</a></div>';
|
||||
}
|
||||
}
|
||||
var tagck = toot.tags[0];
|
||||
var tags = "";
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function (key4) {
|
||||
var tag = toot.tags[key4];
|
||||
tags = tags + '<span class="hide" data-tag="' + tag.name + '">#' + tag.name + ':<a onclick="tl(\'tag\',\'' + tag.name + '\',' + acct_id +
|
||||
',\'add\')" class="pointer" title="' + lang.lang_parse_tagTL.replace("{{tag}}", '#' + tag.name) + '">TL</a> <a onclick="brInsert(\'#' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}", '#' + tag.name) + '">Toot</a> ' +
|
||||
'<a onclick="tagPin(\'' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagpin.replace("{{tag}}", '#' + tag.name) + '">Pin</a></span> ';
|
||||
});
|
||||
tags = '<div style="float:right">' + tags + '</div>';
|
||||
}
|
||||
//リプ数
|
||||
if (toot.replies_count || toot.replies_count === 0) {
|
||||
var replyct = toot.replies_count;
|
||||
if (replyct_view == "hidden" && replyct > 1) {
|
||||
replyct = "1+";
|
||||
}
|
||||
} else {
|
||||
var replyct = "";
|
||||
}
|
||||
//公開範囲を取得
|
||||
var vis = "";
|
||||
var visen = toot.visibility;
|
||||
if (visen == "public") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons gray sml vis-data pointer" title="' + lang.lang_parse_public + '(' + lang.lang_parse_clickcopy + ')" data-vis="public" onclick="staCopy(\'' + id + '\')">public</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "unlisted") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="' + lang.lang_parse_unlisted + '(' + lang.lang_parse_clickcopy + ')" data-vis="unlisted" onclick="staCopy(\'' + id + '\')">lock_open</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "private") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="' + lang.lang_parse_private + '(' + lang.lang_parse_clickcopy + ')" data-vis="private" onclick="staCopy(\'' + id + '\')">lock</i>';
|
||||
var can_rt = "unvisible";
|
||||
} else if (visen == "direct") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="' + lang.lang_parse_direct + '(' + lang.lang_parse_clickcopy + ')" data-vis="direct" onclick="staCopy(\'' + id + '\')">mail</i>';
|
||||
var can_rt = "unvisible";
|
||||
}
|
||||
if (toot.account.acct == localStorage.getItem("user_" + acct_id)) {
|
||||
var if_mine = "";
|
||||
var mine_via = "type-b";
|
||||
} else {
|
||||
var if_mine = "hide";
|
||||
var mine_via = "";
|
||||
}
|
||||
if (toot.favourited) {
|
||||
var if_fav = " yellow-text";
|
||||
var fav_app = "faved";
|
||||
} else {
|
||||
var if_fav = "";
|
||||
var fav_app = "";
|
||||
}
|
||||
if (toot.reblogged) {
|
||||
var if_rt = "light-blue-text";
|
||||
var rt_app = "rted";
|
||||
} else {
|
||||
var if_rt = "";
|
||||
var rt_app = "";
|
||||
}
|
||||
if (toot.pinned) {
|
||||
var if_pin = "blue-text";
|
||||
var pin_app = "pinnedToot";
|
||||
} else {
|
||||
var if_pin = "";
|
||||
var pin_app = "";
|
||||
}
|
||||
//アニメ再生
|
||||
if (gif == "yes") {
|
||||
var avatar = toot.account.avatar;
|
||||
} else {
|
||||
var avatar = toot.account.avatar_static;
|
||||
}
|
||||
//ワードミュート
|
||||
if (wordmuteList) {
|
||||
Object.keys(wordmuteList).forEach(function (key8) {
|
||||
var worde = wordmuteList[key8];
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
var wordList = worde.tag;
|
||||
} else {
|
||||
var wordList = worde
|
||||
}
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
if ($.strip_tags(content).match(regExp)) {
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//ワード強調
|
||||
if (wordempList) {
|
||||
Object.keys(wordempList).forEach(function (key9) {
|
||||
var wordList = wordempList[key9];
|
||||
if (wordList) {
|
||||
var wordList = wordList.tag;
|
||||
var regExp = new RegExp(wordList.replace(/[.*+?^=!:${}()|[\]\/\\]/g, "\\$&"), "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + wordList + "</span>");
|
||||
}
|
||||
});
|
||||
}
|
||||
if (toot.emojis) {
|
||||
var emojick = toot.emojis[0];
|
||||
} else {
|
||||
@@ -570,189 +786,9 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (poll) {
|
||||
poll = twemoji.parse(poll);
|
||||
}
|
||||
var mediack = toot.media_attachments[0];
|
||||
//メディアがあれば
|
||||
var media_ids = "";
|
||||
if (mediack) {
|
||||
hasmedia = "hasmedia";
|
||||
var cwdt = 100 / toot.media_attachments.length;
|
||||
Object.keys(toot.media_attachments).forEach(function (key2) {
|
||||
var media = toot.media_attachments[key2];
|
||||
var purl = media.preview_url;
|
||||
media_ids = media_ids + media.id + ",";
|
||||
var url = media.url;
|
||||
var nsfwmes = ""
|
||||
if (toot.sensitive && nsfw) {
|
||||
var sense = "sensitive"
|
||||
var blur = media.blurhash
|
||||
if (blur) {
|
||||
nsfwmes = '<div class="nsfw-media">' + lang.lang_parse_nsfw + '</div>'
|
||||
purl = parseBlur(blur)
|
||||
var sense = ""
|
||||
}
|
||||
} else {
|
||||
var sense = ""
|
||||
var blur = null
|
||||
}
|
||||
if (media.pleroma) {
|
||||
if (media.pleroma.mime_type.indexOf("video") !== -1) {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',' +
|
||||
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%;"></a></span>';
|
||||
}
|
||||
} else {
|
||||
if (media.type == "unknown") {
|
||||
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + ']</a> '
|
||||
} else {
|
||||
viewer = viewer + '<a onclick="imgv(\'' + id + '\',\'' + key2 + '\',\'' +
|
||||
acct_id + '\')" id="' + id + '-image-' + key2 + '" data-url="' + url +
|
||||
'" data-type="' + media.type + '" class="img-parsed img-link" style="width:calc(' + cwdt + '% - 1px); height:' + imh + ';"><img draggable="false" src="' +
|
||||
purl + '" class="' + sense +
|
||||
' toot-img pointer">' + nsfwmes + '</a>';
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
media_ids = media_ids.slice(0, -1);
|
||||
} else {
|
||||
viewer = "";
|
||||
hasmedia = "nomedia";
|
||||
}
|
||||
var menck = toot.mentions[0];
|
||||
var mentions = "";
|
||||
//メンションであれば
|
||||
if (menck) {
|
||||
mentions = "";
|
||||
var to_mention = [];
|
||||
Object.keys(toot.mentions).forEach(function (key3) {
|
||||
var mention = toot.mentions[key3];
|
||||
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
|
||||
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
|
||||
//自分は除外
|
||||
//自インスタンスかどうかを確認し、IDの一致
|
||||
if (mention.acct == mention.username && mention.id == localStorage.getItem("user-id_" + acct_id)) {
|
||||
//自分
|
||||
} else {
|
||||
//そのトゥの人NG
|
||||
if (toot.account.acct != mention.acct) {
|
||||
to_mention.push(mention.acct);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
to_mention.push(toot.account.acct);
|
||||
mentions = '<div style="float:right">' + mentions + '</div>';
|
||||
} else {
|
||||
var to_mention = [toot.account.acct];
|
||||
}
|
||||
var tagck = toot.tags[0];
|
||||
var tags = "";
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function (key4) {
|
||||
var tag = toot.tags[key4];
|
||||
tags = tags + '<span class="hide" data-tag="' + tag.name + '">#' + tag.name + ':<a onclick="tl(\'tag\',\'' + tag.name + '\',' + acct_id +
|
||||
',\'add\')" class="pointer" title="' + lang.lang_parse_tagTL.replace("{{tag}}", '#' + tag.name) + '">TL</a> <a onclick="brInsert(\'#' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}", '#' + tag.name) + '">Toot</a> ' +
|
||||
'<a onclick="tagPin(\'' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagpin.replace("{{tag}}", '#' + tag.name) + '">Pin</a></span> ';
|
||||
});
|
||||
tags = '<div style="float:right">' + tags + '</div>';
|
||||
}
|
||||
//リプ数
|
||||
if (toot.replies_count || toot.replies_count === 0) {
|
||||
var replyct = toot.replies_count;
|
||||
if (replyct_view == "hidden" && replyct > 1) {
|
||||
replyct = "1+";
|
||||
}
|
||||
} else {
|
||||
var replyct = "";
|
||||
}
|
||||
//公開範囲を取得
|
||||
var vis = "";
|
||||
var visen = toot.visibility;
|
||||
if (visen == "public") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons gray sml vis-data pointer" title="' + lang.lang_parse_public + '(' + lang.lang_parse_clickcopy + ')" data-vis="public" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">public</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "unlisted") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons blue-text vis-data pointer" title="' + lang.lang_parse_unlisted + '(' + lang.lang_parse_clickcopy + ')" data-vis="unlisted" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">lock_open</i>';
|
||||
var can_rt = "";
|
||||
} else if (visen == "private") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons orange-text vis-data pointer" title="' + lang.lang_parse_private + '(' + lang.lang_parse_clickcopy + ')" data-vis="private" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">lock</i>';
|
||||
var can_rt = "hide";
|
||||
} else if (visen == "direct") {
|
||||
var vis =
|
||||
'<i class="text-darken-3 material-icons red-text vis-data pointer" title="' + lang.lang_parse_direct + '(' + lang.lang_parse_clickcopy + ')" data-vis="direct" onclick="staCopy(\'' + id + '\')" style="font-size:1rem;">mail</i>';
|
||||
var can_rt = "hide";
|
||||
}
|
||||
if (toot.account.acct == localStorage.getItem("user_" + acct_id)) {
|
||||
var if_mine = "";
|
||||
var mine_via = "type-b";
|
||||
} else {
|
||||
var if_mine = "hide";
|
||||
var mine_via = "";
|
||||
}
|
||||
if (toot.favourited) {
|
||||
var if_fav = " yellow-text";
|
||||
var fav_app = "faved";
|
||||
} else {
|
||||
var if_fav = "";
|
||||
var fav_app = "";
|
||||
}
|
||||
if (toot.reblogged) {
|
||||
var if_rt = "teal-text";
|
||||
var rt_app = "rted";
|
||||
} else {
|
||||
var if_rt = "";
|
||||
var rt_app = "";
|
||||
}
|
||||
if (toot.pinned) {
|
||||
var if_pin = "blue-text";
|
||||
var pin_app = "pinned";
|
||||
} else {
|
||||
var if_pin = "";
|
||||
var pin_app = "";
|
||||
}
|
||||
//アニメ再生
|
||||
if (gif == "yes") {
|
||||
var avatar = toot.account.avatar;
|
||||
} else {
|
||||
var avatar = toot.account.avatar_static;
|
||||
}
|
||||
//ワードミュート
|
||||
if (wordmute) {
|
||||
Object.keys(wordmute).forEach(function (key8) {
|
||||
var worde = wordmute[key8];
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
var word = worde.tag;
|
||||
} else {
|
||||
var word = worde
|
||||
}
|
||||
var regExp = new RegExp(word, "g");
|
||||
if ($.strip_tags(content).match(regExp)) {
|
||||
boostback = "hide by_filter";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//ワード強調
|
||||
if (wordemp) {
|
||||
Object.keys(wordemp).forEach(function (key9) {
|
||||
var word = wordemp[key9];
|
||||
if (word) {
|
||||
var word = word.tag;
|
||||
var regExp = new RegExp(word, "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + word + "</span>");
|
||||
}
|
||||
});
|
||||
}
|
||||
//日本語じゃない
|
||||
if (toot.language != lang.language && toot.language) {
|
||||
var trans = '<div class="action pin"><a onclick="trans(\'' + toot.language + '\',\'' + lang.language + '\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_trans + '"><i class="material-icons">g_translate</i></a></div>';
|
||||
var trans = '<div class="action pin"><a onclick="trans(\'' + toot.language + '\',\'' + lang.language + '\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_trans + '"><i class="material-icons">g_translate</i></a></div>';
|
||||
} else {
|
||||
var trans = "";
|
||||
}
|
||||
@@ -790,7 +826,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
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 draggable="false" src="' + value.image + '" style="height:100%;"><span style="position:relative; top:-0.2rem;"> ' + escapeHTML(value.name) + '</span></div>';
|
||||
var tickerdom = '<div style="background:linear-gradient(90deg, ' + value.bg + ', transparent 96%) !important; color:' + value.text + ';width:100%; height:0.9rem; font-size:0.8rem;"><img draggable="false" src="' + value.image + '" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'"><span style="position:relative; top:-0.2rem;"> ' + escapeHTML(value.name) + '</span></div>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -810,7 +846,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
'\',' + acct_id + ');" user="' + toot.account.acct + '" class="udg">' +
|
||||
'<img draggable="false" src="' + avatar +
|
||||
'" width="40" class="prof-img" user="' + toot.account.acct +
|
||||
'"></a>' + noticeavatar + '</div>' +
|
||||
'" onerror="this.src=\'../../img/loading.svg\'"></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;"> @' +
|
||||
@@ -828,19 +864,18 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
'</div><div class="area-additional"><span class="additional">' + analyze +
|
||||
'</span>' +
|
||||
'' + mentions + tags + '</div>' +
|
||||
'<div class="area-vis"></div>' +
|
||||
'<div class="area-vis">' + 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.lang_parse_det + '</a></div>' +
|
||||
'<div class="action ' + antidmHide + '"><a onclick="details(\'' + toot.id + '\',' + acct_id + ',\'' + tlid + '\',\'normal\')" class="waves-effect waves-dark details" style="padding:0">' + lang.lang_parse_thread + '</a></div>' +
|
||||
'<div class="action ' + disp["re"] + ' ' + noauth + '"><a onclick="re(\'' + toot.id +
|
||||
'\',\'' + to_mention + '\',' +
|
||||
acct_id + ',\'' + visen +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct rep-btn" data-men="' + to_mention + '" data-visen="' + visen + '" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i><span class="rep_ct">' + replyct +
|
||||
'</a></span></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["rt"] + ' ' + noauth + '"><a onclick="rt(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_bt + '"><i class="fas fa-retweet ' +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct bt-btn" style="padding:0" title="' + lang.lang_parse_bt + '"><i class="fas fa-retweet ' +
|
||||
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct">' + toot.reblogs_count +
|
||||
'</span></a></div>' +
|
||||
'<div class="action ' + can_rt + ' ' + disp["qt"] + ' ' + noauth + ' ' + qtClass + '"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
|
||||
@@ -848,22 +883,21 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_quote + '"><i class="text-darken-3 fas fa-quote-right"></i></a></div>' +
|
||||
'<div class="action ' + disp["fav"] + ' ' + noauth + '"><a onclick="fav(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_fav + '"><i class="fas text-darken-3 fa-star' +
|
||||
'\')" class="waves-effect waves-dark btn-flat actct fav-btn" style="padding:0" title="' + lang.lang_parse_fav + '"><i class="fas text-darken-3 fa-star' +
|
||||
if_fav + ' fav_' + toot.id + '"></i><span class="fav_ct">' + toot.favourites_count +
|
||||
'</a></span></div>' +
|
||||
'<div class="' + if_mine + ' action ' + disp["del"] + ' ' + noauth + '"><a onclick="del(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_del + '"><i class="fas fa-trash"></i></a></div>' +
|
||||
')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_del + '"><i class="fas fa-trash"></i></a></div>' +
|
||||
'<div class="' + if_mine + ' action pin ' + disp["pin"] + ' ' + noauth + '"><a onclick="pin(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_pin + '"><i class="fas fa-map-pin pin_' + toot.id + ' ' + if_pin + '"></i></a></div>'
|
||||
')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_pin + '"><i class="fas fa-map-pin pin_' + toot.id + ' ' + if_pin + '"></i></a></div>'
|
||||
+ '<div class="' + if_mine + ' action ' + disp["red"] + ' ' + noauth + '"><a onclick="redraft(\'' + toot.id + '\',' +
|
||||
acct_id +
|
||||
')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_redraft + '"><i class="material-icons">redo</i></a></div>' + trans +
|
||||
'<span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" onclick="client(\'' + $.strip_tags(via) + '\')" title="via ' + $.strip_tags(via) + '">via ' +
|
||||
')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="' + lang.lang_parse_redraft + '"><i class="material-icons">redo</i></a></div>' + trans +
|
||||
'</div><div class="area-side ' + mouseover + '"><span class="cbadge viabadge waves-effect ' + viashow + ' ' + mine_via + '" style="max-width:60px;" onclick="client(\'' + $.strip_tags(via) + '\')" title="via ' + $.strip_tags(via) + '">' +
|
||||
via +
|
||||
'</span>' +
|
||||
'</div><div class="area-side ' + mouseover + '"><div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
|
||||
'</span>' + '<div class="action ' + if_mine + ' ' + noauth + '"><a onclick="toggleAction(\'' + toot.id + '\',\'' + tlid + '\',\'' + acct_id + '\')" class="waves-effect waves-dark btn-flat" style="padding:0"><i class="text-darken-3 material-icons act-icon">expand_more</i></a></div>' +
|
||||
'<div class="action ' + noauth + '"><a onclick="details(\'' + toot.id + '\',' + acct_id +
|
||||
',\'' + tlid + '\',\'normal\')" class="waves-effect waves-dark btn-flat details ' + dmHide + '" style="padding:0"><i class="text-darken-3 material-icons">more_vert</i></a></div>' +
|
||||
'</div></div>' +
|
||||
@@ -887,6 +921,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var toot = obj[key];
|
||||
if (toot) {
|
||||
console.log(["Parsing", toot])
|
||||
if (!toot.username) {
|
||||
var raw = toot;
|
||||
@@ -918,7 +953,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
var memory = localStorage.getItem("notice-mem");
|
||||
if (popup >= 0 && obj.length < 5 && notftext != memory) {
|
||||
Materialize.toast(escapeHTML(toot.display_name) + ":" + ftxt, popup * 1000);
|
||||
M.toast({ html: escapeHTML(toot.display_name) + ":" + ftxt, displayLength: popup * 1000 })
|
||||
$(".notf-icon_" + tlid).addClass("red-text");
|
||||
localStorage.setItem("notice-mem", notftext);
|
||||
notftext = "";
|
||||
@@ -927,9 +962,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
native = "yes";
|
||||
}
|
||||
if (native == "yes") {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: toot.display_name + "(" + toot.acct + ")" + ftxt,
|
||||
icon: toot.avatar
|
||||
@@ -938,14 +971,15 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk:' + domain, options);
|
||||
} else {
|
||||
ipc.send('native-notf', [
|
||||
var nativeNotfOpt = [
|
||||
'TheDesk:' + domain,
|
||||
toot.display_name + "(" + toot.acct + ")" + ftxt,
|
||||
toot.avatar,
|
||||
"userdata",
|
||||
acct_id,
|
||||
toot.id
|
||||
]);
|
||||
]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -987,20 +1021,22 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
'</div><div class="area-icon"><a onclick="udg(\'' + toot.id + '\',' +
|
||||
acct_id + ');" user="' + toot.acct + '" class="udg">' +
|
||||
'<img draggable="false" src="' + avatar + '" width="40" class="prof-img" user="' + toot
|
||||
.acct + '"></a></div>' +
|
||||
.acct + '" onerror="this.src=\'../../img/loading.svg\'"></a></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;user-select:auto; cursor:text;"> @' +
|
||||
toot.acct + locked + '</span>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div style="justify-content:space-around" class="area-toot"> <div class="cbadge" style="width:100px;">Follows:' +
|
||||
'<div style="justify-content:space-around;top:5px" class="area-actions"> <div class="cbadge" style="width:100px;">Follows:' +
|
||||
toot.following_count +
|
||||
'</div><div class="cbadge" style="width:100px;">Followers:' + toot.followers_count +
|
||||
'</div>' + authhtml +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</div>';
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
return templete;
|
||||
@@ -1009,23 +1045,26 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
function client(name) {
|
||||
if (name != "Unknown") {
|
||||
//聞く
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
const options = {
|
||||
type: 'info',
|
||||
Swal.fire({
|
||||
title: lang.lang_parse_clientop,
|
||||
message: name + lang.lang_parse_clienttxt,
|
||||
buttons: [lang.lang_parse_clientno, lang.lang_parse_clientemp, lang.lang_parse_clientmute]
|
||||
}
|
||||
dialog.showMessageBox(options, function (arg) {
|
||||
if (arg === 1) {
|
||||
text: name + lang.lang_parse_clienttxt,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_parse_clientmute,
|
||||
cancelButtonText: lang.lang_parse_clientemp,
|
||||
showCloseButton: true,
|
||||
focusConfirm: false,
|
||||
}).then((result) => {
|
||||
if (result.dismiss == "cancel") {
|
||||
//Emp
|
||||
var cli = localStorage.getItem("client_emp");
|
||||
var obj = JSON.parse(cli);
|
||||
if (!obj) {
|
||||
var obj = [];
|
||||
obj.push(name);
|
||||
Materialize.toast(escapeHTML(name) + lang.lang_status_emphas, 2000);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else {
|
||||
var can;
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
@@ -1035,19 +1074,21 @@ function client(name) {
|
||||
} else {
|
||||
can = true;
|
||||
obj.splice(key, 1);
|
||||
Materialize.toast(escapeHTML(name) + lang.lang_status_unemphas, 2000);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_unemphas, displayLength: 2000 })
|
||||
}
|
||||
});
|
||||
if (!can) {
|
||||
obj.push(name);
|
||||
Materialize.toast(escapeHTML(name) + lang.lang_status_emphas, 2000);
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_emp", json);
|
||||
} else if (arg === 2) {
|
||||
parseColumn()
|
||||
}
|
||||
} else if (result.value) {
|
||||
//Mute
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if (!obj) {
|
||||
@@ -1056,12 +1097,9 @@ function client(name) {
|
||||
obj.push(name);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
Materialize.toast(escapeHTML(name) + lang.lang_parse_mute, 2000);
|
||||
} else {
|
||||
return;
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_parse_mute, displayLength: 2000 })
|
||||
parseColumn()
|
||||
}
|
||||
parseColumn();
|
||||
})
|
||||
|
||||
}
|
||||
}
|
@@ -89,8 +89,9 @@ function voteMastodonrefresh(acct_id, id) {
|
||||
var start = "https://" + domain + "/api/v1/polls/" + id;
|
||||
httpreqd.open('GET', start, true);
|
||||
httpreqd.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreqd.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreqd.responseType = 'json';
|
||||
httpreqd.send(JSON.stringify({ i: at, noteId: id }));
|
||||
httpreqd.send();
|
||||
httpreqd.onreadystatechange = function () {
|
||||
if (httpreqd.readyState == 4) {
|
||||
var json = httpreqd.response;
|
||||
@@ -109,7 +110,7 @@ function voteMastodonrefresh(acct_id, id) {
|
||||
}
|
||||
poll = poll + '<div class="pointer vote vote_' + acct_id + '_' + json.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + json.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span></div>';
|
||||
});
|
||||
poll = poll + myvote + '<span class="cbadge cbadge-hover" title="' + date(json.expires_at, 'absolute') +
|
||||
poll = poll + myvote + '<a onclick="voteMastodonrefresh(\'' + acct_id + '\',\'' + json.id + '\')" class="pointer">' + lang.lang_manager_refresh + '</a><span class="cbadge cbadge-hover" title="' + date(json.expires_at, 'absolute') +
|
||||
'"><i class="far fa-calendar-times"></i>' +
|
||||
date(json.expires_at, datetype) + '</span>';
|
||||
$('.vote_' + acct_id + '_' + json.id).html(poll)
|
||||
|
@@ -56,12 +56,12 @@ function voiceToggle(tlid) {
|
||||
speechSynthesis.cancel()
|
||||
$("#sta-voice-" + tlid).text("Off");
|
||||
$("#sta-voice-" + tlid).css("color", 'red');
|
||||
parseColumn();
|
||||
parseColumn(tlid);
|
||||
} else {
|
||||
localStorage.setItem("voice_" + tlid, "true");
|
||||
$("#sta-voice-" + tlid).text("On");
|
||||
$("#sta-voice-" + tlid).css("color", '#009688');
|
||||
parseColumn();
|
||||
parseColumn(tlid);
|
||||
}
|
||||
}
|
||||
function voiceCheck(tlid) {
|
||||
@@ -90,7 +90,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.lang_speech_refresh, 3000);
|
||||
M.toast({ html: lang.lang_speech_refresh, displayLength: 3000 })
|
||||
}
|
||||
function voiceSettingLoad() {
|
||||
var speed = localStorage.getItem("voice_speed");
|
||||
|
@@ -1,12 +1,13 @@
|
||||
//検索
|
||||
//検索ボックストグル
|
||||
function searchMenu() {
|
||||
$("#src-contents").html("");
|
||||
trend();
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#searchMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#src-box").removeClass("hide");
|
||||
$('ul.tabs').tabs('select_tab', 'src-sta');
|
||||
$("#src-contents").html("");
|
||||
//$('ul.tabs').tabs('select_tab', 'src-sta');
|
||||
}
|
||||
|
||||
//検索取得
|
||||
@@ -54,7 +55,7 @@ function src(mode) {
|
||||
tags = tags + '<a onclick="tl(\'tag\',\'' + tag + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + escapeHTML(tag) + '</a><br> ';
|
||||
} else {
|
||||
tags = tags + graphDraw(tag);
|
||||
tags = tags + graphDraw(tag, acct_id);
|
||||
}
|
||||
|
||||
});
|
||||
@@ -63,12 +64,12 @@ function src(mode) {
|
||||
//トゥート
|
||||
if (json.statuses[0]) {
|
||||
var templete = parse(json.statuses, '', acct_id);
|
||||
$("#src-contents").append("Mentions<br>" + templete);
|
||||
$("#src-contents").append("<br>Mentions<br>" + templete);
|
||||
}
|
||||
//アカウント
|
||||
if (json.accounts[0]) {
|
||||
var templete = userparse(json.accounts, '', acct_id);
|
||||
$("#src-contents").append("Accounts<br>" + templete);
|
||||
$("#src-contents").append("<br>Accounts<br>" + templete);
|
||||
}
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
@@ -85,7 +86,7 @@ function tsAdd(q) {
|
||||
obj.push(add);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
parseColumn();
|
||||
parseColumn('add');
|
||||
}
|
||||
function tootsearch(tlid, q) {
|
||||
var start = "https://tootsearch.chotto.moe/api/v1/search?from=0&sort=created_at%3Adesc&q=" + q
|
||||
@@ -164,7 +165,7 @@ function moreTs(tlid, q) {
|
||||
jQuery("time.timeago").timeago();
|
||||
});
|
||||
}
|
||||
function graphDraw(tag) {
|
||||
function graphDraw(tag, acct_id) {
|
||||
var tags = "";
|
||||
var his = tag.history;
|
||||
var max = Math.max.apply(null, [his[0].uses, his[1].uses, his[2].uses, his[3].uses, his[4].uses, his[5].uses, his[6].uses]);
|
||||
@@ -177,12 +178,12 @@ function graphDraw(tag) {
|
||||
var zero = 50 - (his[0].uses / max * 50);
|
||||
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\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id +
|
||||
'</svg><span style="font-size:200%">' + his[0].uses + '</span>toot(s) <a onclick="tl(\'tag\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + escapeHTML(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\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id +
|
||||
'</svg><span style="font-size:200%">' + his[0].uses + '</span>toot <a onclick="tl(\'tag\',\'' + escapeHTML(tag.name) + '\',\'' + acct_id +
|
||||
'\',\'add\')" class="pointer">#' + escapeHTML(tag.name) + '</a> ' + his[0].accounts + lang.lang_src_people;
|
||||
}
|
||||
|
||||
@@ -193,3 +194,48 @@ function graphDraw(tag) {
|
||||
<path d="M0,0 L10,0 20,10 20,50" fill="#3F51B5"></path>
|
||||
</svg>
|
||||
*/
|
||||
function trend(){
|
||||
console.log("get trend")
|
||||
$("#src-contents").html("");
|
||||
var acct_id = $("#src-acct-sel").val();
|
||||
if(acct_id=="tootsearch"){
|
||||
return false;
|
||||
}
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_"+ acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/trends"
|
||||
console.log(start)
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
'Authorization': 'Bearer ' + at
|
||||
},
|
||||
}).then(function(response) {
|
||||
return response.json();
|
||||
}).catch(function(error) {
|
||||
//todo(error);
|
||||
console.error(error);
|
||||
}).then(function(json) {
|
||||
var tags = "";
|
||||
Object.keys(json).forEach(function(keye) {
|
||||
var tag = json[keye];
|
||||
var his=tag.history;
|
||||
var max=Math.max.apply(null, [his[0].uses,his[1].uses,his[2].uses,his[3].uses,his[4].uses,his[5].uses,his[6].uses]);
|
||||
var six=50-(his[6].uses/max*50);
|
||||
var five=50-(his[5].uses/max*50);
|
||||
var four=50-(his[4].uses/max*50);
|
||||
var three=50-(his[3].uses/max*50);
|
||||
var two=50-(his[2].uses/max*50);
|
||||
var one=50-(his[1].uses/max*50);
|
||||
var zero=50-(his[0].uses/max*50);
|
||||
tags = '<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.lang_src_people+"<br><br>";
|
||||
|
||||
$("#src-contents").append(tags);
|
||||
});
|
||||
|
||||
});
|
||||
}
|
@@ -10,7 +10,7 @@ if (location.search) {
|
||||
}
|
||||
//よく使うタグ
|
||||
function tagShow(tag) {
|
||||
$("[data-tag=" + decodeURI(tag) + "]").toggleClass("hide");
|
||||
$("[data-tag=" + decodeURI(tag).toLowerCase() + "]").toggleClass("hide");
|
||||
}
|
||||
//タグ追加
|
||||
function tagPin(tag) {
|
||||
@@ -120,10 +120,10 @@ function autoToot(tag) {
|
||||
var nowPT = localStorage.getItem("stable")
|
||||
if (nowPT == tag) {
|
||||
localStorage.removeItem("stable");
|
||||
Materialize.toast(lang.lang_tags_unrealtime, 3000);
|
||||
M.toast({ html: lang.lang_tags_unrealtime, displayLength: 3000 })
|
||||
} else {
|
||||
localStorage.setItem("stable", tag);
|
||||
Materialize.toast(lang.lang_tags_tagwarn.replace("{{tag}}", tag).replace("{{tag}}", tag), 3000);
|
||||
M.toast({ html: lang.lang_tags_tagwarn.replace("{{tag}}", tag).replace("{{tag}}", tag), displayLength: 3000 })
|
||||
brInsert('#' + tag + " ")
|
||||
}
|
||||
favTag();
|
||||
|
@@ -20,7 +20,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
obj.push(add);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
parseColumn();
|
||||
parseColumn('add');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -425,6 +425,11 @@ function moreload(type, tlid) {
|
||||
todo(error);
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type);
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
if (misskey) {
|
||||
var templete = misskeyParse(json, '', acct_id, tlid, "", mute);
|
||||
} else {
|
||||
@@ -816,6 +821,43 @@ function reconnector(tlid, type, acct_id, data, mode) {
|
||||
}
|
||||
reload(type, '', acct_id, tlid, data, mute, "", voice, mode);
|
||||
}
|
||||
Materialize.toast(lang.lang_tl_reconnect, 2000);
|
||||
M.toast({ html: lang.lang_tl_reconnect, displayLength: 2000 })
|
||||
|
||||
}
|
||||
function columnReload(tlid, type){
|
||||
$("#notice_icon_" + tlid).addClass("red-text");
|
||||
if (type == "mix" || type == "integrated" || type == "plus") {
|
||||
if (localStorage.getItem("voice_" + tlid)) {
|
||||
var voice = true;
|
||||
} else {
|
||||
var voice = false;
|
||||
}
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type);
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
var wssh = localStorage.getItem("wssH_" + tlid);
|
||||
websocketHome[wssh].close();
|
||||
var wssl = localStorage.getItem("wssL_" + tlid);
|
||||
websocketLocal[wssl].close();
|
||||
parseColumn(tlid)
|
||||
} else if (type == "notf") {
|
||||
notfColumn(acct_id, tlid, "")
|
||||
} else {
|
||||
var wss = localStorage.getItem("wss_" + tlid);
|
||||
websocket[wss].close();
|
||||
if (localStorage.getItem("voice_" + tlid)) {
|
||||
var voice = true;
|
||||
} else {
|
||||
var voice = false;
|
||||
}
|
||||
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
|
||||
var mute = getFilterType(JSON.parse(localStorage.getItem("filter_" + acct_id)), type);
|
||||
} else {
|
||||
var mute = [];
|
||||
}
|
||||
parseColumn(tlid)
|
||||
}
|
||||
}
|
||||
strAliveInt()
|
@@ -271,22 +271,14 @@ function detFromImg() {
|
||||
//画像保存
|
||||
function dlImg() {
|
||||
var url = $("#imgmodal").attr("src");
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
if (localStorage.getItem("savefolder")) {
|
||||
var save = localStorage.getItem("savefolder");
|
||||
} else {
|
||||
var save = "";
|
||||
}
|
||||
ipc.send('general-dl', [url, save, false]);
|
||||
ipc.on('general-dl-prog', function (event, arg) {
|
||||
console.log("Progress: " + arg);
|
||||
})
|
||||
ipc.on('general-dl-message', function (event, arg) {
|
||||
var argC = arg.replace(/\\/g, "\\\\") + "\\\\.";
|
||||
Materialize.toast(lang.lang_img_DLDone + arg + '<button class="btn-flat toast-action" onclick="openFinder(\'' + argC + '\')">Show</button>', 5000);
|
||||
})
|
||||
postMessage(["generalDL", [url, save, false]], "*")
|
||||
|
||||
}
|
||||
function openFinder(dir) {
|
||||
ipc.send('open-finder', dir);
|
||||
postMessage(["openFinder", dir], "*")
|
||||
}
|
@@ -20,7 +20,11 @@ $('.type').click(function () {
|
||||
$("#type-sel").val($(this).attr("data-type"))
|
||||
})
|
||||
//最初、カラム変更時に発火
|
||||
function parseColumn(dontclose) {
|
||||
function parseColumn(target, dontclose) {
|
||||
if (target === 0) {
|
||||
//this is kuso
|
||||
target = "zero"
|
||||
}
|
||||
console.log("%c Parse column", "color:red;font-size:125%");
|
||||
var size = localStorage.getItem("size");
|
||||
if (size) {
|
||||
@@ -31,7 +35,7 @@ function parseColumn(dontclose) {
|
||||
if (localStorage.getItem("menu-done")) {
|
||||
$("#fukidashi").addClass("hide")
|
||||
}
|
||||
if (!dontclose) {
|
||||
if (!dontclose && !target) {
|
||||
tlCloser();
|
||||
}
|
||||
|
||||
@@ -55,7 +59,7 @@ function parseColumn(dontclose) {
|
||||
var domain = localStorage.getItem("domain_" + key);
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
localStorage.removeItem("misskey_wss_" + key)
|
||||
connectMisskey(key)
|
||||
connectMisskey(key, false)
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -76,13 +80,36 @@ function parseColumn(dontclose) {
|
||||
} else {
|
||||
var obj = JSON.parse(col);
|
||||
}
|
||||
var numtarget = false
|
||||
if (target == "add") {
|
||||
var tlidtar = obj.length - 1
|
||||
obj = [obj[tlidtar]]
|
||||
} else if (target) {
|
||||
var tlidtar = target
|
||||
if (target == "zero") {
|
||||
target = 0
|
||||
}
|
||||
obj = [obj[target]]
|
||||
numtarget = true
|
||||
} else {
|
||||
var tlidtar = null
|
||||
if ($("#timeline-container").length) {
|
||||
$("#timeline-container").html("");
|
||||
}
|
||||
}
|
||||
var basekey = 0;
|
||||
for (var key = 0; key < obj.length; key++) {
|
||||
var next = key + 1;
|
||||
//acctって言いながらタイムライン
|
||||
var acct = obj[key];
|
||||
if (tlidtar) {
|
||||
if (tlidtar == "zero") {
|
||||
key = 0
|
||||
} else {
|
||||
key = tlidtar
|
||||
}
|
||||
|
||||
}
|
||||
if (acct.type == "notf") {
|
||||
var notf_attr = ' data-notf=' + acct.domain;
|
||||
var if_notf = "hide";
|
||||
@@ -164,16 +191,16 @@ function parseColumn(dontclose) {
|
||||
var animecss = "";
|
||||
}
|
||||
if (acct.type == "notf") {
|
||||
var exclude = lang.lang_excluded + ':<br><input type="checkbox" class="filled-in" id="exc-reply-' + key + '" ' + excludeCk(key, "mention") + ' /><label for="exc-reply-' + key + '" class="exc-chb"><i class="fas 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="fas 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="fas 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="fas fa-users exc-icons"></i></label> ' +
|
||||
'<input type="checkbox" class="filled-in" id="exc-poll-' + key + '" ' + excludeCk(key, "poll") + ' /><label for="exc-poll-' + key + '" class="exc-chb" ><i class="fas fa-tasks exc-icons"></i></label> ' +
|
||||
var exclude = lang.lang_excluded + ':<br><label><input type="checkbox" class="filled-in" id="exc-reply-' + key + '" ' + excludeCk(key, "mention") + ' /><span><i class="fas fa-share exc-icons"></i></span></label> ' +
|
||||
'<label><input type="checkbox" class="filled-in" id="exc-fav-' + key + '" ' + excludeCk(key, "favourite") + ' /><span><i class="fas fa-star exc-icons"></i></span></label> ' +
|
||||
'<label><input type="checkbox" class="filled-in" id="exc-bt-' + key + '" ' + excludeCk(key, "reblog") + ' /><span><i class="fas fa-retweet exc-icons"></i></span></label> ' +
|
||||
'<label><input type="checkbox" class="filled-in" id="exc-follow-' + key + '" ' + excludeCk(key, "follow") + ' /><span><i class="fas fa-users exc-icons"></i></span></label> ' +
|
||||
'<label><input type="checkbox" class="filled-in" id="exc-poll-' + key + '" ' + excludeCk(key, "poll") + ' /><span><i class="fas fa-tasks exc-icons"></i></span></label> ' +
|
||||
'<button class="btn waves-effect" style="width:60px; padding:0;" onclick="exclude(' + key + ')">Filter</button>';
|
||||
if(checkNotfFilter(key)){
|
||||
exclude=exclude+'<button class="btn red waves-effect" style="width:60px; padding:0;" onclick="resetNotfFilter(' + key + ')">Clear all</button>'
|
||||
if (checkNotfFilter(key)) {
|
||||
exclude = exclude + '<button class="btn red waves-effect" style="width:60px; padding:0;" onclick="resetNotfFilter(' + key + ')">Clear all</button>'
|
||||
}
|
||||
exclude=exclude+"<br>";
|
||||
exclude = exclude + "<br>";
|
||||
} else if (acct.type == "home") {
|
||||
var exclude = '<a onclick="ebtToggle(' + key +
|
||||
')" class="setting nex"><i class="fas fa-retweet waves-effect nex" title="' + lang.lang_layout_excludingbt + '" style="font-size:24px"></i><span id="sta-bt-' +
|
||||
@@ -183,8 +210,10 @@ function parseColumn(dontclose) {
|
||||
}
|
||||
if (!acct.left_fold) {
|
||||
basekey = key;
|
||||
if (!numtarget) {
|
||||
var basehtml = '<div style="' + css + '" class="box ' + animecss + '" id="timeline_box_' + basekey + '_parentBox"></div>';
|
||||
$("#timeline-container").append(basehtml);
|
||||
}
|
||||
var left_hold = '<a onclick="leftFoldSet(' + key + ')" class="setting nex"><i class="material-icons waves-effect nex" title="' + lang.lang_layout_leftFold + '">view_agenda</i></a>' + lang.lang_layout_leftFold + '</span><br>';
|
||||
} else {
|
||||
var left_hold = '<a onclick="leftFoldRemove(' + key + ')" class="setting nex"><i class="material-icons waves-effect nex" title="' + lang.lang_layout_leftUnfold + '">view_column</i></a>' + lang.lang_layout_leftUnfold + '</span><br>';
|
||||
@@ -220,10 +249,14 @@ function parseColumn(dontclose) {
|
||||
')" 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 + '\',\'' + escapeHTML(acct.data) + '\')" class="setting nex ' + if_notf + ' ' + if_misskey_hide + '"><i class="material-icons waves-effect nex ' + if_notf + '" title="' + lang.lang_layout_reconnect + '">low_priority</i></a><span class="' + if_notf + '">' + lang.lang_layout_reconnect + '</span><br>' + lang.lang_layout_headercolor + '<br><div id="picker_' + key + '" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
key + ',\'' + acct.type + '\'">On</span></a>' + lang.lang_layout_tts + 'TL<br><a onclick="columnReload(' + key +
|
||||
')" class="setting nex ' + if_notf + ' ' + if_misskey_hide + '"><i class="material-icons waves-effect nex ' + if_notf + '" title="' + lang.lang_layout_reconnect + '">refresh</i></a><span class="' + if_notf + '">' + lang.lang_layout_reconnect + '</span><br>' + lang.lang_layout_headercolor + '<br><div id="picker_' + key + '" class="color-picker"></div></div><div class="tl-box" tlid="' + key + '"><div id="timeline_' + key +
|
||||
'" class="tl ' + acct.type + '-timeline " tlid="' + key + '" data-type="' + acct.type + '" data-acct="' + acct.domain + '" data-const="' + acct.type + '_' + acct.domain + '"><div id="landing_' + key + '" style="text-align:center">' + lang.lang_layout_nodata + '</div></div></div>'
|
||||
$('#timeline_box_' + basekey + '_parentBox').append(html);
|
||||
if (numtarget) {
|
||||
$('timeline_box_' + key + '_box').html(html)
|
||||
} else {
|
||||
$('#timeline_box_' + basekey + '_parentBox').append(html)
|
||||
}
|
||||
localStorage.removeItem("pool_" + key);
|
||||
if (acct.data) {
|
||||
var data = acct.data;
|
||||
@@ -257,6 +290,7 @@ function parseColumn(dontclose) {
|
||||
$("#bottom").removeClass("reverse");
|
||||
$(".leftside").removeClass("reverse");
|
||||
}
|
||||
$("#bottom").removeClass("hide");
|
||||
if (localStorage.getItem("sec") && localStorage.getItem("sec") != "nothing") {
|
||||
secvis(localStorage.getItem("sec"));
|
||||
}
|
||||
@@ -308,7 +342,7 @@ function secvis(set) {
|
||||
//カラム追加
|
||||
function addColumn() {
|
||||
var acct = $("#add-acct-sel").val();
|
||||
if(acct != "webview" && acct != "noauth"){
|
||||
if (acct != "webview" && acct != "noauth") {
|
||||
localStorage.setItem("last-use", acct);
|
||||
}
|
||||
var type = $("#type-sel").val();
|
||||
@@ -336,7 +370,7 @@ function addColumn() {
|
||||
localStorage.setItem("column", json);
|
||||
}
|
||||
|
||||
parseColumn();
|
||||
parseColumn('add');
|
||||
}
|
||||
function addselCk() {
|
||||
var acct = $("#add-acct-sel").val();
|
||||
@@ -364,26 +398,28 @@ function addselCk() {
|
||||
function removeColumn(tlid) {
|
||||
$("#sort-box").addClass("hide");
|
||||
$("#sort-box").removeClass("show");
|
||||
Swal.fire({
|
||||
title: lang.lang_layout_deleteColumn,
|
||||
text: lang.lang_layout_deleteColumnDesc,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
//聞く
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('column-del', "");
|
||||
ipc.on('column-del-reply', function (event, arg) {
|
||||
if (arg === 1) {
|
||||
localStorage.removeItem("card_" + tlid);
|
||||
obj.splice(tlid, 1);
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
localStorage.setItem("card_" + i, "true");
|
||||
localStorage.removeItem("catch_" + i);
|
||||
}
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("column", json);
|
||||
parseColumn();
|
||||
sortload()
|
||||
sortLoad()
|
||||
$("#timeline_box_" + tlid + "_parentBox").remove()
|
||||
}
|
||||
})
|
||||
$("#sort-box").removeClass("hide");
|
||||
$("#sort-box").addClass("show");
|
||||
});
|
||||
}
|
||||
|
||||
//設定トグル
|
||||
@@ -470,7 +506,7 @@ function webviewParse(url, key, insert, icnsert, css) {
|
||||
'" style="' + css + '"><div class="notice-box z-depth-2" id="menu_' + key + '" style="' + insert + '">' +
|
||||
'<div class="area-notice"><i class="fab fa-twitter waves-effect" id="notice_icon_' + key + '" style="font-size:40px; padding-top:25%;"></i></div>' +
|
||||
'<div class="area-notice_name tl-title">WebView(' + url + ')</div>' +
|
||||
'<div class="area-sta"><input type="checkbox" id="webviewsel" value="true" class="filled-in"><label for="webviewsel">' + lang.lang_layout_webviewmode + '</label></div>' +
|
||||
'<div class="area-sta"></div>' +
|
||||
'<div class="area-a2"><a onclick="removeColumn(' + key +
|
||||
')" 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 +
|
||||
@@ -479,7 +515,6 @@ function webviewParse(url, key, insert, icnsert, css) {
|
||||
'"></div><div class="column-hide notf-indv-box" id="util-box_' + 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:100%;"><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;
|
||||
}
|
||||
function unstreamingTL(type, key, basekey, insert, icnsert, left_fold, css, animecss, q) {
|
||||
|
@@ -51,6 +51,5 @@ $(function () {
|
||||
});
|
||||
});
|
||||
function help() {
|
||||
const { shell } = require('electron');
|
||||
shell.openExternal("https://docs.thedesk.top");
|
||||
postMessage(["openUrl", "https://docs.thedesk.top"], "*")
|
||||
}
|
@@ -39,6 +39,7 @@ function show() {
|
||||
$('#post-box').css("left", left + "px")
|
||||
$('#post-box').css("top", top + "px")
|
||||
$('#post-box').fadeIn();
|
||||
$('#textarea').characterCounter();
|
||||
}
|
||||
|
||||
$(function () {
|
||||
@@ -69,7 +70,6 @@ if (location.search) {
|
||||
var mode = m[1];
|
||||
var codex = m[2];
|
||||
if (mode == "share") {
|
||||
console.log(codex);
|
||||
$('textarea').focus();
|
||||
$("#textarea").val(decodeURI(codex));
|
||||
show();
|
||||
@@ -83,15 +83,20 @@ $('#posttgl').click(function (e) {
|
||||
} else {
|
||||
hide();
|
||||
}
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
});
|
||||
|
||||
$("#timeline-container,#group").click(function (e) {
|
||||
|
||||
if (localStorage.getItem("box") != "absolute") {
|
||||
if ($('#post-box').hasClass("appear") && !localStorage.getItem("nohide")) {
|
||||
hide();
|
||||
}
|
||||
}
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
localStorage.removeItem("nohide")
|
||||
});
|
||||
$('#textarea,#cw-text').focusout(function (e) {
|
||||
@@ -100,4 +105,7 @@ $('#textarea,#cw-text').focusout(function (e) {
|
||||
localStorage.removeItem("nohide")
|
||||
}
|
||||
//setTimeout(remove, 100);
|
||||
$('.cvo').removeClass("selectedToot")
|
||||
selectedColumn = 0
|
||||
selectedToot = 0
|
||||
});
|
@@ -5,7 +5,7 @@ var envView = new Vue({
|
||||
methods: {
|
||||
complete: function (i, val) {
|
||||
var ls = envView.config[i].storage;
|
||||
Materialize.toast("Complete", 3000);
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
if (!val) {
|
||||
var id = envView.config[i].id;
|
||||
var val = $("#" + id).val()
|
||||
@@ -23,13 +23,22 @@ var tlView = new Vue({
|
||||
data: { config: tlConstruction },
|
||||
methods: {
|
||||
complete: function (i, val) {
|
||||
var ls = tlView.config[i].storage;
|
||||
if (!val) {
|
||||
var id = tlView.config[i].id;
|
||||
var val = $("#" + id).val()
|
||||
var ls = tlView.config[i];
|
||||
if (val) {
|
||||
localStorage.setItem(ls.storage, val)
|
||||
} else {
|
||||
if (!ls.data) {
|
||||
ls = [ls]
|
||||
} else {
|
||||
ls = ls.data
|
||||
}
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
var id = ls[j].id;
|
||||
var val = $("#" + id).val()
|
||||
localStorage.setItem(ls[j].storage, val)
|
||||
}
|
||||
}
|
||||
Materialize.toast("Complete", 3000);
|
||||
localStorage.setItem(ls, val)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -39,13 +48,22 @@ var postView = new Vue({
|
||||
data: { config: postConstruction, kirishima: localStorage.getItem('kirishima') },
|
||||
methods: {
|
||||
complete: function (i, val) {
|
||||
var ls = postView.config[i].storage;
|
||||
Materialize.toast("Complete", 3000);
|
||||
if (!val) {
|
||||
var id = postView.config[i].id;
|
||||
var val = $("#" + id).val()
|
||||
var ls = postView.config[i];
|
||||
if (val) {
|
||||
localStorage.setItem(ls.storage, val)
|
||||
} else {
|
||||
if (!ls.data) {
|
||||
ls = [ls]
|
||||
} else {
|
||||
ls = ls.data
|
||||
}
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
M.toast({ html: 'Complete', displayLength: 3000 })
|
||||
var id = ls[j].id;
|
||||
var val = $("#" + id).val()
|
||||
localStorage.setItem(ls[j].storage, val)
|
||||
}
|
||||
}
|
||||
localStorage.setItem(ls, val)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -62,7 +80,7 @@ function settings() {
|
||||
$("#" + theme).prop("checked", true);
|
||||
} else {
|
||||
if (cd != localStorage.getItem("theme")) {
|
||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}", ct), 3000);
|
||||
M.toast({ html: lang.lang_setting_theme.replace("{{set}}", ct), displayLength: 3000 })
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd);
|
||||
@@ -71,14 +89,14 @@ function settings() {
|
||||
var fontd = $("#font").val();
|
||||
if (fontd) {
|
||||
if (fontd != localStorage.getItem("font")) {
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}", fontd), 3000);
|
||||
M.toast({ html: lang.lang_setting_font.replace("{{set}}", ct), displayLength: 3000 })
|
||||
}
|
||||
localStorage.setItem("font", fontd);
|
||||
themes();
|
||||
} else {
|
||||
if (localStorage.getItem("font")) {
|
||||
localStorage.removeItem("font");
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}", lang.lang_setting_default), 3000);
|
||||
M.toast({ html: lang.lang_setting_font.replace("{{set}}", ct), displayLength: 3000 })
|
||||
themes();
|
||||
}
|
||||
}
|
||||
@@ -96,16 +114,32 @@ function load() {
|
||||
var max = tlView.config.length;
|
||||
for (var i = 0; i < max; i++) {
|
||||
var ls = tlView.config[i].storage;
|
||||
if (ls) {
|
||||
if (localStorage.getItem(ls)) {
|
||||
tlView.config[i].setValue = localStorage.getItem(ls)
|
||||
}
|
||||
} else {
|
||||
ls = tlView.config[i].data
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
if(localStorage.getItem(tlView.config[i].data[j].storage)){
|
||||
tlView.config[i].data[j].setValue = localStorage.getItem(tlView.config[i].data[j].storage)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var max = postView.config.length;
|
||||
for (var i = 0; i < max; i++) {
|
||||
var ls = postView.config[i].storage;
|
||||
if (ls) {
|
||||
if (localStorage.getItem(ls)) {
|
||||
postView.config[i].setValue = localStorage.getItem(ls)
|
||||
}
|
||||
} else {
|
||||
ls = postView.config[i].data
|
||||
for (var j = 0; j < ls.length; j++) {
|
||||
postView.config[i].data[j].setValue = localStorage.getItem(ls[j].storage)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (localStorage.getItem("imas")) {
|
||||
$(".imas").removeClass("hide");
|
||||
@@ -165,12 +199,13 @@ function cliMuteDel(key) {
|
||||
function wordmute() {
|
||||
var word = localStorage.getItem("word_mute");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordmute').material_chip({
|
||||
if (!obj) { obj = [] }
|
||||
$('#wordmute').chips({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordmuteSave() {
|
||||
var word = $('#wordmute').material_chip('data');
|
||||
var word = M.Chips.getInstance($("#wordmute")).chipsData;
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_mute", json);
|
||||
}
|
||||
@@ -178,19 +213,18 @@ function wordmuteSave() {
|
||||
function wordemp() {
|
||||
var word = localStorage.getItem("word_emp");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordemp').material_chip({
|
||||
if (!obj) { obj = [] }
|
||||
$('#wordemp').chips({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordempSave() {
|
||||
var word = $('#wordemp').material_chip('data');
|
||||
var word = M.Chips.getInstance($("#wordemp")).chipsData;
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_emp", json);
|
||||
}
|
||||
function notftest() {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var os = localStorage.getItem("platform");
|
||||
var options = {
|
||||
body: lang.lang_setting_notftest + '(' + lang.lang_setting_notftestprof + ')',
|
||||
icon: localStorage.getItem("prof_0")
|
||||
@@ -198,14 +232,15 @@ function notftest() {
|
||||
if (os == "darwin") {
|
||||
var n = new Notification('TheDesk' + lang.lang_setting_notftest, options);
|
||||
} else {
|
||||
ipc.send('native-notf', ['TheDesk' + lang.lang_setting_notftest, lang.lang_setting_notftest + '(' + lang.lang_setting_notftestprof + ')', localStorage.getItem('prof_0'), "", ""]);
|
||||
var nativeNotfOpt = ['TheDesk' + lang.lang_setting_notftest, lang.lang_setting_notftest + '(' + lang.lang_setting_notftestprof + ')', localStorage.getItem('prof_0'), "", ""]
|
||||
postMessage(["nativeNotf", nativeNotfOpt], "*")
|
||||
}
|
||||
|
||||
}
|
||||
function oks(no) {
|
||||
var txt = $("#oks-" + no).val();
|
||||
localStorage.setItem("oks-" + no, txt);
|
||||
Materialize.toast(lang.lang_setting_ksref, 3000);
|
||||
M.toast({ html: lang.lang_setting_ksref, displayLength: 3000 })
|
||||
}
|
||||
function oksload() {
|
||||
if (localStorage.getItem("oks-1")) { $("#oks-1").val(localStorage.getItem("oks-1")) }
|
||||
@@ -213,29 +248,24 @@ function oksload() {
|
||||
if (localStorage.getItem("oks-3")) { $("#oks-3").val(localStorage.getItem("oks-3")) }
|
||||
}
|
||||
function changelang(lang) {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('lang', lang);
|
||||
ipc.on('langres', function (event, arg) {
|
||||
location.href = "../" + lang + "/setting.html"
|
||||
});
|
||||
postMessage(["lang", lang], "*")
|
||||
}
|
||||
function exportSettings() {
|
||||
if (!confirm(lang.lang_setting_exportwarn)) {
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showSaveDialog(null, {
|
||||
title: 'Export',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: "export.thedeskconfigv2"
|
||||
}, (savedFiles) => {
|
||||
if (!savedFiles) {
|
||||
return false;
|
||||
Swal.fire({
|
||||
title: lang.lang_setting_exportwarn,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
postMessage(["exportSettings", ""], "*")
|
||||
}
|
||||
})
|
||||
}
|
||||
function exportSettingsCore() {
|
||||
var exp = {};
|
||||
//Accounts
|
||||
var multi = localStorage.getItem("multi");
|
||||
@@ -293,32 +323,24 @@ function exportSettings() {
|
||||
var tagarr = localStorage.getItem("tag");
|
||||
var favtag = JSON.parse(tagarr);
|
||||
exp.favoriteTags = favtag;
|
||||
ipc.send('export', [savedFiles, JSON.stringify(exp)]);
|
||||
alert("Done.")
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
return exp;
|
||||
}
|
||||
function importSettings() {
|
||||
if (!confirm(lang.lang_setting_importwarn)) {
|
||||
return false;
|
||||
Swal.fire({
|
||||
title: lang.lang_setting_importwarn,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: lang.lang_yesno,
|
||||
cancelButtonText: lang.lang_no
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
postMessage(["importSettings", ""], "*")
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Import',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{ name: 'TheDesk Config', extensions: ['thedeskconfig', 'thedeskconfigv2'] },
|
||||
]
|
||||
}, (fileNames) => {
|
||||
if (!fileNames) {
|
||||
return false;
|
||||
}
|
||||
ipc.send('import', fileNames[0]);
|
||||
ipc.on('config', function (event, arg) {
|
||||
})
|
||||
}
|
||||
function importSettingsCore(arg) {
|
||||
var obj = JSON.parse(arg);
|
||||
if (obj) {
|
||||
localStorage.clear();
|
||||
@@ -405,36 +427,25 @@ function importSettings() {
|
||||
}
|
||||
location.href = "index.html";
|
||||
} else {
|
||||
alert("Error.")
|
||||
}
|
||||
Swal.fire({
|
||||
type: 'error',
|
||||
title: 'Error'
|
||||
})
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
}
|
||||
function savefolder() {
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Save folder',
|
||||
properties: ['openDirectory'],
|
||||
}, (fileNames) => {
|
||||
localStorage.setItem("savefolder", fileNames[0]);
|
||||
});
|
||||
postMessage(["sendSinmpleIpc", "savefolder"], "*")
|
||||
}
|
||||
|
||||
function font() {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('fonts', []);
|
||||
ipc.on('font-list', function (event, arg) {
|
||||
postMessage(["sendSinmpleIpc", "fonts"], "*")
|
||||
}
|
||||
function fontList(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);
|
||||
@@ -520,7 +531,7 @@ function customComp() {
|
||||
pickerDefine(1, "fff");
|
||||
pickerDefine(2, "fff");
|
||||
pickerDefine(3, "fff");
|
||||
ipc.send('theme-json-create', JSON.stringify(json));
|
||||
postMessage(["themeJsonCreate", JSON.stringify(json)], "*")
|
||||
}
|
||||
function deleteIt() {
|
||||
var id = $("#custom-sel-sel").val();
|
||||
@@ -540,14 +551,12 @@ function deleteIt() {
|
||||
pickerDefine(1, "fff");
|
||||
pickerDefine(2, "fff");
|
||||
pickerDefine(3, "fff");
|
||||
ipc.on('theme-json-delete-complete', function (event, args) {
|
||||
ctLoad()
|
||||
});
|
||||
ipc.send('theme-json-delete', id);
|
||||
postMessage(["themeJsonDelete", id], "*")
|
||||
}
|
||||
function ctLoad() {
|
||||
ipc.send('theme-json-list', "");
|
||||
ipc.on('theme-json-list-response', function (event, args) {
|
||||
postMessage(["sendSinmpleIpc", "theme-json-list"], "*")
|
||||
}
|
||||
function ctLoadCore(args) {
|
||||
var templete = "";
|
||||
Object.keys(args).forEach(function (key) {
|
||||
var theme = args[key];
|
||||
@@ -560,8 +569,7 @@ function ctLoad() {
|
||||
$("#custom-sel-sel").html(templete);
|
||||
templete = '<option value="add_new">' + $("#edit-selector").attr("data-add") + '</option>' + templete;
|
||||
$("#custom-edit-sel").html(templete);
|
||||
$('select').material_select('update');
|
||||
});
|
||||
$('select').formSelect();
|
||||
}
|
||||
function customSel() {
|
||||
var id = $("#custom-sel-sel").val();
|
||||
@@ -589,8 +597,10 @@ function custom() {
|
||||
$("#delTheme").addClass("disabled")
|
||||
} else {
|
||||
$("#delTheme").removeClass("disabled")
|
||||
ipc.send('theme-json-request', id);
|
||||
ipc.on('theme-json-response', function (event, args) {
|
||||
postMessage(["themeJsonRequest", id], "*")
|
||||
}
|
||||
}
|
||||
function customConnect(args) {
|
||||
$("#custom_name").val(args.name);
|
||||
$("#custom_desc").val(args.desc);
|
||||
$("#" + args.base).prop("checked", true);
|
||||
@@ -615,40 +625,30 @@ function custom() {
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
pickerDefine(3, rgbToHex(accent))
|
||||
$("#custom_json").val(JSON.stringify(args));
|
||||
});
|
||||
}
|
||||
}
|
||||
function customImp() {
|
||||
var json = $("#custom_import").val();
|
||||
if (JSON5.parse(json)) {
|
||||
ipc.send('theme-json-create', json);
|
||||
postMessage(["themeJsonCreate", json], "*")
|
||||
} else {
|
||||
alert("Error")
|
||||
Swal.fire({
|
||||
type: 'error',
|
||||
title: 'Error'
|
||||
})
|
||||
}
|
||||
}
|
||||
function hardwareAcceleration(had) {
|
||||
ipc.send('ha', had);
|
||||
}
|
||||
|
||||
ipc.on('theme-json-create-complete', function (event, args) {
|
||||
function clearCustomImport() {
|
||||
$("#custom_import").val("");
|
||||
ctLoad()
|
||||
});
|
||||
}
|
||||
function hardwareAcceleration(had) {
|
||||
postMessage(["ha", had], "*")
|
||||
}
|
||||
function customSound(key) {
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var dialog = remote.dialog;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Custom sound',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{ name: 'Audio', extensions: ['mp3', 'aac', 'wav', 'flac', 'm4a'] },
|
||||
{ name: 'All', extensions: ['*'] },
|
||||
]
|
||||
}, (fileNames) => {
|
||||
localStorage.setItem("custom" + key, fileNames[0]);
|
||||
$("#c1-file").text(fileNames[0])
|
||||
});
|
||||
postMessage(["customSound", key], "*")
|
||||
}
|
||||
function customSoundSave(key, file) {
|
||||
localStorage.setItem("custom" + key, file);
|
||||
$("#c1-file").text(file)
|
||||
}
|
||||
window.onload = function () {
|
||||
//最初に読む
|
||||
@@ -659,7 +659,6 @@ window.onload = function () {
|
||||
checkSpotify();
|
||||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
ctLoad()
|
||||
};
|
||||
|
||||
|
@@ -1,953 +0,0 @@
|
||||
//設定(setting.html)で読む
|
||||
var envView = new Vue({
|
||||
el: '#env-view',
|
||||
data: {config:envConstruction,value:envValue},
|
||||
method: {
|
||||
settings: function (index) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//設定ボタン押した。
|
||||
function settings() {
|
||||
var dd = $("[name=time]:checked").val();
|
||||
var dt = $("[for="+dd+"]").text();
|
||||
if (dd != localStorage.getItem("datetype")) {
|
||||
Materialize.toast(lang.lang_setting_time.replace("{{set}}" ,dt), 3000);
|
||||
}
|
||||
localStorage.setItem("datetype", dd);
|
||||
|
||||
var cd = $("[name=theme]:checked").val();
|
||||
var ct = $("[for="+cd+"]").html();
|
||||
if(cd=="custom" && !$("#custom-sel-sel").val()){
|
||||
var theme = localStorage.getItem("theme");
|
||||
if (!theme) {
|
||||
var theme = "white";
|
||||
}
|
||||
$("#" + theme).prop("checked", true);
|
||||
}else{
|
||||
if (cd != localStorage.getItem("theme")) {
|
||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd);
|
||||
localStorage.setItem("theme", cd);
|
||||
}
|
||||
|
||||
var nd = $("[name=nsfw]:checked").val();
|
||||
var nt = $("[for=n_"+nd+"]").text();
|
||||
if (nd != localStorage.getItem("nsfw")) {
|
||||
Materialize.toast(lang.lang_setting_nsfw.replace("{{set}}" ,nt), 3000);
|
||||
}
|
||||
localStorage.setItem("nsfw", nd);
|
||||
|
||||
var cwd = $("[name=cw]:checked").val();
|
||||
var cwt = $("[for=c_"+cwd+"]").text();
|
||||
if (cwd != localStorage.getItem("cw")) {
|
||||
Materialize.toast(lang.lang_setting_cw.replace("{{set}}" ,cwt), 3000);
|
||||
}
|
||||
localStorage.setItem("cw", cwd);
|
||||
|
||||
var cwtd = $("#cw-text").val();
|
||||
if (cwtd != localStorage.getItem("cw-text")) {
|
||||
Materialize.toast(lang.lang_setting_cwtext.replace("{{set}}" ,cwtd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw-text", cwtd);
|
||||
|
||||
var cwsd = $("[name=cws]:checked").val();
|
||||
var cwst = $("[for=cws_"+cwsd+"]").text();
|
||||
if (cwsd != localStorage.getItem("always-cw")) {
|
||||
Materialize.toast(lang.lang_setting_cws.replace("{{set}}" ,cwst), 3000);
|
||||
}
|
||||
localStorage.setItem("always-cw", cwsd);
|
||||
|
||||
var rpd = $("[name=rp]:checked").val();
|
||||
var rpt = $("[for=c_"+cwd+"]").text();
|
||||
if (rpd != localStorage.getItem("replyct")) {
|
||||
Materialize.toast(lang.lang_setting_rp.replace("{{set}}" ,rpt), 3000);
|
||||
}
|
||||
localStorage.setItem("replyct", rpd);
|
||||
|
||||
var visd = $("[name=vis]:checked").val();
|
||||
var vist = $("[for="+visd+"]").text();
|
||||
if (visd != localStorage.getItem("vis")) {
|
||||
Materialize.toast(lang.lang_setting_vis.replace("{{set}}" ,vist), 3000);
|
||||
}
|
||||
localStorage.setItem("vis", visd);
|
||||
|
||||
var popd = $("#popup").val();
|
||||
if (popd > 0 && popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,popd+lang.lang_setting_s), 3000);
|
||||
} else if (popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,lang.lang_setting_off), 3000);
|
||||
}
|
||||
localStorage.setItem("popup", popd);
|
||||
|
||||
var gifd = $("[name=gif]:checked").val();
|
||||
var gift = $("[for=g_"+gifd+"]").text();
|
||||
if (gifd != localStorage.getItem("gif")) {
|
||||
Materialize.toast(lang.lang_setting_gif.replace("{{set}}" ,gift), 3000);
|
||||
}
|
||||
localStorage.setItem("gif", gifd);
|
||||
|
||||
var sentd = $("#sentence").val();
|
||||
var ltrd = $("#letters").val();
|
||||
if (sentd != localStorage.getItem("sentence") || ltrd != localStorage.getItem("letters")) {
|
||||
Materialize.toast(lang.lang_setting_selt.replace("{{set1}}" ,sentd).replace("{{set2}}" ,ltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("sentence", sentd);
|
||||
localStorage.setItem("letters", ltrd);
|
||||
|
||||
var csentd = $("#cw_sentence").val();
|
||||
var cltrd = $("#cw_letters").val();
|
||||
if (csentd != localStorage.getItem("cw_sentence") || cltrd != localStorage.getItem("cw_letters")) {
|
||||
Materialize.toast(lang.lang_setting_autocw.replace("{{set1}}" ,csentd).replace("{{set2}}" ,cltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw_sentence", csentd);
|
||||
localStorage.setItem("cw_letters", cltrd);
|
||||
|
||||
var widthd = $("#width").val();
|
||||
if (widthd != localStorage.getItem("width")) {
|
||||
Materialize.toast(lang.lang_setting_width.replace("{{set}}" ,widthd), 3000);
|
||||
}
|
||||
localStorage.setItem("width", widthd);
|
||||
|
||||
var fwidthd = $("#fixwidth").val();
|
||||
if (fwidthd != localStorage.getItem("fixwidth")) {
|
||||
Materialize.toast(lang.lang_setting_fixwidth.replace("{{set}}" ,fwidthd), 3000);
|
||||
}
|
||||
localStorage.setItem("fixwidth", fwidthd);
|
||||
|
||||
var imgd = $("[name=img]:checked").val();
|
||||
var imgt = $("[for=i_"+imgd+"]").text();
|
||||
if (imgd != localStorage.getItem("img")) {
|
||||
Materialize.toast(lang.lang_setting_img.replace("{{set}}" ,imgt), 3000);
|
||||
}
|
||||
localStorage.setItem("img", imgd);
|
||||
|
||||
var fontd = $("#font").val();
|
||||
if(fontd){
|
||||
if (fontd != localStorage.getItem("font")) {
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,fontd), 3000);
|
||||
}
|
||||
localStorage.setItem("font", fontd);
|
||||
themes();
|
||||
}else{
|
||||
if(localStorage.getItem("font")){
|
||||
localStorage.removeItem("font");
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,lang.lang_setting_default), 3000);
|
||||
themes();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var sized = $("#size").val();
|
||||
if (sized != localStorage.getItem("size")) {
|
||||
Materialize.toast(lang.lang_setting_size.replace("{{set}}" ,sized), 3000);
|
||||
}
|
||||
localStorage.setItem("size", sized);
|
||||
|
||||
var heid = $("#img-height").val();
|
||||
if (heid != localStorage.getItem("img-height")) {
|
||||
Materialize.toast(lang.lang_setting_imgheight.replace("{{set}}" ,heid), 3000);
|
||||
}
|
||||
localStorage.setItem("img-height", heid);
|
||||
|
||||
var tckrd = $("[name=ticker]:checked").val();
|
||||
var tckrt = $("[for=ticker_"+tckrd+"]").text();
|
||||
if (tckrd != localStorage.getItem("ticker_ok")) {
|
||||
Materialize.toast(lang.lang_setting_ticker.replace("{{set}}" ,tckrt), 3000);
|
||||
}
|
||||
localStorage.setItem("ticker_ok", tckrd);
|
||||
|
||||
var animed = $("[name=anime]:checked").val();
|
||||
var animet = $("[for=anime_"+animed+"]").text();
|
||||
if (animed != localStorage.getItem("animation")) {
|
||||
Materialize.toast(lang.lang_setting_animation.replace("{{set}}" ,animet), 3000);
|
||||
}
|
||||
localStorage.setItem("animation", animed);
|
||||
|
||||
var boxd = $("[name=box]:checked").val();
|
||||
var boxt = $("[for=bx_"+boxd+"]").text();
|
||||
if (boxd != localStorage.getItem("box")) {
|
||||
Materialize.toast(lang.lang_setting_boxConfirm.replace("{{set}}" ,boxt), 3000);
|
||||
}
|
||||
localStorage.setItem("box", boxd);
|
||||
|
||||
var tagd = $("[name=tag]:checked").val();
|
||||
var tagt = $("[for=t_"+tagd+"]").text();
|
||||
if (tagd != localStorage.getItem("tag-range")) {
|
||||
Materialize.toast(lang.lang_setting_tag.replace("{{set}}" ,tagt), 3000);
|
||||
}
|
||||
localStorage.setItem("tag-range", tagd);
|
||||
|
||||
var uld = $("[name=ul]:checked").val();
|
||||
var ult = $("[for=ul_"+uld+"]").text();
|
||||
if (uld != localStorage.getItem("locale")) {
|
||||
Materialize.toast(lang.lang_setting_ul.replace("{{set}}" ,ult), 3000);
|
||||
}
|
||||
localStorage.setItem("locale", uld);
|
||||
|
||||
var ntd = $("[name=notf]:checked").val();
|
||||
var ntt = $("[for=ntf_"+ntd+"]").text();
|
||||
if (ntd != localStorage.getItem("nativenotf")) {
|
||||
Materialize.toast(lang.lang_setting_notf.replace("{{set}}" ,ntt), 3000);
|
||||
}
|
||||
localStorage.setItem("nativenotf", ntd);
|
||||
|
||||
var qtd = $("[name=quote]:checked").val();
|
||||
var qtt = $("[for=q_"+qtd+"]").text();
|
||||
if (qtd != localStorage.getItem("quote")) {
|
||||
Materialize.toast(lang.lang_setting_quote.replace("{{set}}" ,qtt), 3000);
|
||||
}
|
||||
localStorage.setItem("quote", qtd);
|
||||
|
||||
var viad = $("[name=via]:checked").val();
|
||||
var viat = $("[for=via_"+viad+"]").text();
|
||||
if (viad != localStorage.getItem("viashow")) {
|
||||
Materialize.toast(lang.lang_setting_via.replace("{{set}}" ,viat), 3000);
|
||||
}
|
||||
localStorage.setItem("viashow", viad);
|
||||
|
||||
var notfmd = $("[name=notfm]:checked").val();
|
||||
var notfmt = $("[for=notfm_"+notfmd+"]").text();
|
||||
if (notfmd != localStorage.getItem("setasread")) {
|
||||
Materialize.toast(lang.lang_setting_setasread.replace("{{set}}" ,notfmt), 3000);
|
||||
}
|
||||
localStorage.setItem("setasread", notfmd);
|
||||
|
||||
var movd = $("[name=mov]:checked").val();
|
||||
var movt = $("[for=mov_"+movd+"]").text();
|
||||
if (movd != localStorage.getItem("mouseover")) {
|
||||
Materialize.toast(lang.lang_setting_mov.replace("{{set}}" ,movt), 3000);
|
||||
}
|
||||
localStorage.setItem("mouseover", movd);
|
||||
|
||||
var maind = $("[name=main]:checked").val();
|
||||
var maint = $("[for=mn_"+maind+"]").text();
|
||||
if (maind != localStorage.getItem("mainuse")) {
|
||||
Materialize.toast(lang.lang_setting_main.replace("{{set}}" ,maint), 3000);
|
||||
}
|
||||
localStorage.setItem("mainuse", maind);
|
||||
|
||||
var secd = $("[name=sec]:checked").val();
|
||||
var sect = $("[for=sec-"+secd+"]").text();
|
||||
if (secd != localStorage.getItem("sec")) {
|
||||
Materialize.toast(lang.lang_setting_sec.replace("{{set}}" ,sect), 3000);
|
||||
}
|
||||
localStorage.setItem("sec", secd);
|
||||
}
|
||||
|
||||
//読み込み時の設定ロード
|
||||
function load() {
|
||||
if(localStorage.getItem("imas")){
|
||||
$(".imas").removeClass("hide");
|
||||
}
|
||||
if(localStorage.getItem("kirishima")){
|
||||
$(".kirishima").removeClass("hide");
|
||||
}
|
||||
var prof = localStorage.getItem("prof");
|
||||
$("#my-prof").attr("src", prof);
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
if (!datetype) {
|
||||
var datetype = "absolute";
|
||||
}
|
||||
$("#" + datetype).prop("checked", true);
|
||||
|
||||
var theme = localStorage.getItem("theme");
|
||||
if (!theme) {
|
||||
var theme = "white";
|
||||
}
|
||||
$("#" + theme).prop("checked", true);
|
||||
|
||||
var ha = localStorage.getItem("ha");
|
||||
if (!ha) {
|
||||
var ha = "false";
|
||||
}
|
||||
$("#ha_" + ha).prop("checked", true);
|
||||
|
||||
var nsfw = localStorage.getItem("nsfw");
|
||||
if (!nsfw) {
|
||||
var nsfw = "yes";
|
||||
}
|
||||
$("#n_" + nsfw).prop("checked", true);
|
||||
|
||||
var cw = localStorage.getItem("cw");
|
||||
if (!cw) {
|
||||
var cw = "yes";
|
||||
}
|
||||
$("#c_" + cw).prop("checked", true);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
var popup = "0";
|
||||
}
|
||||
$("#popup").val(popup);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "no";
|
||||
}
|
||||
if(box=="absolute"){
|
||||
var box = "abs";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var gif = localStorage.getItem("gif");
|
||||
if (!gif) {
|
||||
var gif = "yes";
|
||||
}
|
||||
$("#g_" + gif).prop("checked", true);
|
||||
|
||||
var sent = localStorage.getItem("sentence");
|
||||
if (!sent) {
|
||||
var sent = "500";
|
||||
}
|
||||
$("#sentence").val(sent);
|
||||
var ltrs = localStorage.getItem("letters");
|
||||
if (!ltrs) {
|
||||
var ltrs = "500";
|
||||
}
|
||||
$("#letters").val(ltrs);
|
||||
|
||||
var csent = localStorage.getItem("cw_sentence");
|
||||
if (!csent) {
|
||||
var csent = "500";
|
||||
}
|
||||
$("#cw_sentence").val(csent);
|
||||
var cltrs = localStorage.getItem("cw_letters");
|
||||
if (!cltrs) {
|
||||
var cltrs = "500";
|
||||
}
|
||||
$("#cw_letters").val(cltrs);
|
||||
|
||||
var width = localStorage.getItem("width");
|
||||
if (!width) {
|
||||
var width = "300";
|
||||
}
|
||||
$("#width").val(width);
|
||||
|
||||
var fwidth = localStorage.getItem("fixwidth");
|
||||
if (!fwidth) {
|
||||
var fwidth = "300";
|
||||
}
|
||||
$("#fixwidth").val(fwidth);
|
||||
|
||||
var cwt = localStorage.getItem("cw-text");
|
||||
if (!cwt) {
|
||||
var cwt = "";
|
||||
}
|
||||
$("#cw-text").val(cwt);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var rps = localStorage.getItem("replyct");
|
||||
if (!rps) {
|
||||
var rps = "hidden";
|
||||
}
|
||||
$("#rp_" + rps).prop("checked", true);
|
||||
|
||||
var vis = localStorage.getItem("vis");
|
||||
if (!vis) {
|
||||
var vis = "public";
|
||||
}
|
||||
$("#" + vis).prop("checked", true);
|
||||
|
||||
var img = localStorage.getItem("img");
|
||||
if (!img) {
|
||||
var img = "no-act";
|
||||
}
|
||||
$("#i_" + img).prop("checked", true);
|
||||
|
||||
var font = localStorage.getItem("font");
|
||||
if (!font) {
|
||||
var font = "";
|
||||
}
|
||||
$("#font").val(font);
|
||||
|
||||
var size = localStorage.getItem("size");
|
||||
if (!size) {
|
||||
var size = "13";
|
||||
}
|
||||
$("#size").val(size);
|
||||
|
||||
var imh = localStorage.getItem("img-height");
|
||||
if (!imh) {
|
||||
var imh = "200";
|
||||
}
|
||||
$("#img-height").val(imh);
|
||||
|
||||
var ticker = localStorage.getItem("ticker_ok");
|
||||
if (!ticker) {
|
||||
var ticker = "no";
|
||||
}
|
||||
$("#ticker_" + ticker).prop("checked", true);
|
||||
|
||||
var animation = localStorage.getItem("animation");
|
||||
if (!animation) {
|
||||
var animation = "yes";
|
||||
}
|
||||
$("#anime_" + animation).prop("checked", true);
|
||||
|
||||
var tag = localStorage.getItem("tag-range");
|
||||
if (!tag) {
|
||||
var tag = "all";
|
||||
}
|
||||
$("#t_" + tag).prop("checked", true);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "yes";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var uld = localStorage.getItem("locale");
|
||||
if (!uld) {
|
||||
var uld = "yes";
|
||||
}
|
||||
$("#ul_" + uld).prop("checked", true);
|
||||
|
||||
var nnd = localStorage.getItem("nativenotf");
|
||||
if (!nnd) {
|
||||
var nnd = "yes";
|
||||
}
|
||||
$("#ntf_" + nnd).prop("checked", true);
|
||||
|
||||
var qt = localStorage.getItem("quote");
|
||||
if (!qt) {
|
||||
var qt = "simple";
|
||||
}
|
||||
$("#q_" + qt).prop("checked", true);
|
||||
|
||||
var viat = localStorage.getItem("viashow");
|
||||
if (!viat) {
|
||||
var viat = "hide";
|
||||
}
|
||||
$("#via_" + viat).prop("checked", true);
|
||||
|
||||
var movt = localStorage.getItem("mouseover");
|
||||
if (!movt) {
|
||||
var movt = "no";
|
||||
}
|
||||
$("#mov_" + movt).prop("checked", true);
|
||||
|
||||
var notfmt = localStorage.getItem("setasread");
|
||||
if (!notfmt) {
|
||||
var notfmt = "yes";
|
||||
}
|
||||
$("#notfm_" + notfmt).prop("checked", true);
|
||||
|
||||
var maint = localStorage.getItem("mainuse");
|
||||
if (!maint) {
|
||||
var maint = "remain";
|
||||
}
|
||||
$("#mn_" + maint).prop("checked", true);
|
||||
|
||||
var sect = localStorage.getItem("sec");
|
||||
if (!sect) {
|
||||
var sect = "nothing";
|
||||
}
|
||||
$("#sec-" + sect).prop("checked", true);
|
||||
|
||||
}
|
||||
|
||||
function climute(){
|
||||
//クライアントミュート
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
}else{
|
||||
if(!obj[0]){
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
return;
|
||||
}
|
||||
var templete;
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var cli = obj[key];
|
||||
var list = key * 1 + 1;
|
||||
templete = '<div class="acct" id="acct_' + key + '">' + list +
|
||||
'.' +
|
||||
cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
|
||||
key + ')">'+lang.lang_del+'</button><br></div>';
|
||||
$("#mute-cli").append(templete);
|
||||
});
|
||||
}
|
||||
}
|
||||
function cliMuteDel(key){
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
obj.splice(key, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
mute();
|
||||
}
|
||||
|
||||
function wordmute(){
|
||||
var word = localStorage.getItem("word_mute");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordmute').material_chip({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordmuteSave(){
|
||||
var word=$('#wordmute').material_chip('data');
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_mute", json);
|
||||
}
|
||||
|
||||
function wordemp(){
|
||||
var word = localStorage.getItem("word_emp");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordemp').material_chip({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordempSave(){
|
||||
var word=$('#wordemp').material_chip('data');
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_emp", json);
|
||||
}
|
||||
function notftest(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',
|
||||
icon: localStorage.getItem("prof_0")
|
||||
};
|
||||
if(os=="darwin"){
|
||||
var n = new Notification('TheDesk'+lang.lang_setting_notftest, options);
|
||||
}else{
|
||||
ipc.send('native-notf', ['TheDesk'+lang.lang_setting_notftest,lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',localStorage.getItem('prof_0'),"",""]);
|
||||
}
|
||||
|
||||
}
|
||||
function oks(no){
|
||||
var txt=$("#oks-"+no).val();
|
||||
localStorage.setItem("oks-"+no, txt);
|
||||
Materialize.toast(lang.lang_setting_ksref, 3000);
|
||||
}
|
||||
function oksload(){
|
||||
if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))}
|
||||
if(localStorage.getItem("oks-2")){$("#oks-2").val(localStorage.getItem("oks-2"))}
|
||||
if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))}
|
||||
}
|
||||
function changelang(lang){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('lang',lang);
|
||||
ipc.on('langres', function (event, arg) {
|
||||
location.href="../"+lang+"/setting.html"
|
||||
});
|
||||
}
|
||||
function exportSettings(){
|
||||
if(!confirm(lang.lang_setting_exportwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showSaveDialog(null, {
|
||||
title: 'Export',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: "export.thedeskconfig"
|
||||
}, (savedFiles) => {
|
||||
console.log(savedFiles);
|
||||
if(!savedFiles){
|
||||
return false;
|
||||
}
|
||||
var exp={};
|
||||
//Accounts
|
||||
var multi = localStorage.getItem("multi");
|
||||
var acct = JSON.parse(multi);
|
||||
exp.accts=acct;
|
||||
//Columns
|
||||
var multi = localStorage.getItem("column");
|
||||
var column = JSON.parse(multi);
|
||||
exp.columns=column;
|
||||
//Themes
|
||||
exp.theme=localStorage.getItem("theme");
|
||||
//Min width
|
||||
exp.minwidth=localStorage.getItem("width");
|
||||
//Font
|
||||
exp.font=localStorage.getItem("font");
|
||||
exp.size=localStorage.getItem("size");
|
||||
//Img height
|
||||
exp.imgheight=localStorage.getItem("img-height");
|
||||
//Main
|
||||
exp.mainuse=localStorage.getItem("mainuse");
|
||||
//CW text
|
||||
exp.cw=localStorage.getItem("cw-text");
|
||||
//vis
|
||||
exp.vis=localStorage.getItem("vis");
|
||||
//keysc
|
||||
exp.ksc=[
|
||||
localStorage.getItem("oks-1"),
|
||||
localStorage.getItem("oks-2"),
|
||||
localStorage.getItem("oks-3")
|
||||
];
|
||||
//climu
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var climu = JSON.parse(cli);
|
||||
exp.clientMute=climu;
|
||||
//wordmu
|
||||
var wdm = localStorage.getItem("word_mute");
|
||||
var wordmu = JSON.parse(wdm);
|
||||
exp.wordMute=wordmu;
|
||||
//spotify
|
||||
exp.spotifyArtwork=localStorage.getItem("artwork")
|
||||
var content=localStorage.getItem("np-temp");
|
||||
if(content || content=="" || content=="null"){
|
||||
exp.spotifyTemplete=content;
|
||||
}else{
|
||||
exp.spotifyTemplete=null;
|
||||
}
|
||||
//tags
|
||||
var tagarr = localStorage.getItem("tag");
|
||||
var favtag = JSON.parse(tagarr);
|
||||
exp.favoriteTags=favtag;
|
||||
console.log(exp);
|
||||
ipc.send('export', [savedFiles,JSON.stringify(exp)]);
|
||||
alert("Done.")
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
function importSettings(){
|
||||
if(!confirm(lang.lang_setting_importwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Import',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{name: 'TheDesk Config', extensions: ['thedeskconfig']},
|
||||
]
|
||||
}, (fileNames) => {
|
||||
console.log(fileNames);
|
||||
if(!fileNames){
|
||||
return false;
|
||||
}
|
||||
ipc.send('import', fileNames[0]);
|
||||
ipc.on('config', function (event, arg) {
|
||||
var obj = JSON.parse(arg);
|
||||
if(obj){
|
||||
localStorage.clear();
|
||||
localStorage.setItem("multi",JSON.stringify(obj.accts));
|
||||
for(var key=0;key<obj.accts.length;key++){
|
||||
var acct=obj.accts[key];
|
||||
localStorage.setItem("name_" + key, acct.name);
|
||||
localStorage.setItem("user_" + key, acct.user);
|
||||
localStorage.setItem("user-id_" + key, acct.id);
|
||||
localStorage.setItem("prof_" + key, acct.prof);
|
||||
localStorage.setItem("domain_" + key, acct.domain);
|
||||
localStorage.setItem("acct_"+ key + "_at", acct.at);
|
||||
}
|
||||
localStorage.setItem("column",JSON.stringify(obj.columns));
|
||||
localStorage.setItem("theme",obj.theme);
|
||||
if(obj.width){
|
||||
console.log(obj.width)
|
||||
localStorage.setItem("width",obj.width);
|
||||
}
|
||||
if(obj.font){
|
||||
localStorage.setItem("font",obj.font);
|
||||
}
|
||||
if(obj.size){
|
||||
localStorage.setItem("size",obj.size);
|
||||
}
|
||||
themes(obj.theme);
|
||||
if(obj.imgheight){
|
||||
localStorage.setItem("img-height",obj.imgheight);
|
||||
}
|
||||
localStorage.setItem("mainuse",obj.mainuse);
|
||||
if(obj.cw){
|
||||
localStorage.setItem("cwtext",obj.cw);
|
||||
}
|
||||
localStorage.setItem("vis",obj.vis);
|
||||
if(obj.ksc[0]){
|
||||
localStorage.setItem("oks-1",obj.ksc[0]);
|
||||
}
|
||||
if(obj.ksc[1]){
|
||||
localStorage.setItem("oks-2",obj.ksc[1]);
|
||||
}
|
||||
if(obj.ksc[2]){
|
||||
localStorage.setItem("oks-3",obj.ksc[2]);
|
||||
}
|
||||
if(obj.clientMute){
|
||||
localStorage.setItem("client_mute",JSON.stringify(obj.clientMute));
|
||||
}
|
||||
if(obj.wordMute){
|
||||
localStorage.setItem("word_mute",JSON.stringify(obj.wordMute));
|
||||
}
|
||||
if(obj.favoriteTags){
|
||||
localStorage.setItem("tag",JSON.stringify(obj.favoriteTags));
|
||||
}
|
||||
|
||||
localStorage.setItem("np-temp",obj.spotifyTemplete);
|
||||
for(var i=0;i<obj.columns.length;i++){
|
||||
localStorage.setItem("card_" + i,"true");
|
||||
localStorage.removeItem("catch_" + i);
|
||||
}
|
||||
location.href="language.html";
|
||||
}else{
|
||||
alert("Error.")
|
||||
}
|
||||
})
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
function savefolder(){
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Save folder',
|
||||
properties: ['openDirectory'],
|
||||
}, (fileNames) => {
|
||||
localStorage.setItem("savefolder",fileNames[0]);
|
||||
});
|
||||
}
|
||||
|
||||
function font(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('fonts', []);
|
||||
ipc.on('font-list', function (event, arg) {
|
||||
$("#fonts").removeClass("hide");
|
||||
for( var i=0; i<arg.length; i++) {
|
||||
var font=arg[i];
|
||||
$("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>")
|
||||
}
|
||||
});
|
||||
}
|
||||
function insertFont(name){
|
||||
$("#font").val(name);
|
||||
}
|
||||
$(".color-picker").each(function(i, elem) {
|
||||
pickerDefine(i,"fff");
|
||||
});
|
||||
function pickerDefine(i,color){
|
||||
var pickr = new Pickr({
|
||||
el: '#color-picker'+i,
|
||||
default: color,
|
||||
showAlways: true,
|
||||
appendToBody: true,
|
||||
closeWithKey: 'Escape',
|
||||
comparison: false,
|
||||
components: {
|
||||
preview: true, // Left side color comparison
|
||||
opacity: false, // Opacity slider
|
||||
hue: true, // Hue slider
|
||||
interaction: {
|
||||
rgba: false, // rgba option (red green blue and alpha)
|
||||
input: true, // input / output element
|
||||
}
|
||||
},
|
||||
strings: {
|
||||
save: 'Save', // Default for save button
|
||||
clear: 'Clear' // Default for clear button
|
||||
}
|
||||
});
|
||||
pickr.on('change', (...args) => {
|
||||
var rgb='rgb('+args[0].toRGBA()[0]+','+args[0].toRGBA()[1]+','+args[0].toRGBA()[2]+')';
|
||||
$("#color-picker"+i+"_value").val(rgb)
|
||||
});
|
||||
}
|
||||
function customComp(){
|
||||
var nameC=$("#custom_name").val();
|
||||
if(!nameC){return false;}
|
||||
var descC=$("#custom_desc").val();
|
||||
var primaryC=$("#color-picker0_value").val();
|
||||
if(!primaryC){primaryC="rgb(255,255,255)"}
|
||||
var secondaryC=$("#color-picker1_value").val();
|
||||
if(!secondaryC){secondaryC="rgb(255,255,255)"}
|
||||
var textC=$("#color-picker2_value").val();
|
||||
if(!textC){textC="rgb(255,255,255)"}
|
||||
var accentC=$("#color-picker3_value").val();
|
||||
if(!accentC){accentC="rgb(255,255,255)"}
|
||||
var multi = localStorage.getItem("multi");
|
||||
var my=JSON.parse(multi)[0].name;
|
||||
var id=$("#custom-edit-sel").val();
|
||||
if(id=="add_new"){
|
||||
id=makeCID();
|
||||
}
|
||||
var json={
|
||||
"name": nameC,
|
||||
"author": my,
|
||||
"desc": descC,
|
||||
"base": $("[name=direction]:checked").val(),
|
||||
"vars": {
|
||||
"primary": primaryC,
|
||||
"secondary": secondaryC,
|
||||
"text": textC
|
||||
},
|
||||
"props": {
|
||||
"TheDeskAccent": accentC
|
||||
},
|
||||
"id": id
|
||||
}
|
||||
$("#custom_json").val(JSON.stringify(json));
|
||||
themes();
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
ipc.send('theme-json-create', JSON.stringify(json));
|
||||
}
|
||||
function deleteIt(){
|
||||
var id=$("#custom-sel-sel").val();
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
ipc.on('theme-json-delete-complete', function (event, args) {
|
||||
ctLoad()
|
||||
});
|
||||
ipc.send('theme-json-delete', id);
|
||||
}
|
||||
function ctLoad(){
|
||||
ipc.send('theme-json-list', "");
|
||||
ipc.on('theme-json-list-response', function (event, args) {
|
||||
console.log(args);
|
||||
var templete="";
|
||||
Object.keys(args).forEach(function(key) {
|
||||
var theme = args[key];
|
||||
var themeid=theme.id
|
||||
templete = templete+'<option value="'+themeid+'">' + theme.name +'</option>';
|
||||
});
|
||||
if(args[0]){
|
||||
localStorage.setItem("customtheme-id",args[0].id)
|
||||
}
|
||||
$("#custom-sel-sel").html(templete);
|
||||
templete='<option value="add_new">'+$("#edit-selector").attr("data-add")+'</option>'+templete;
|
||||
$("#custom-edit-sel").html(templete);
|
||||
$('select').material_select('update');
|
||||
});
|
||||
}
|
||||
function customSel(){
|
||||
var id=$("#custom-sel-sel").val();
|
||||
localStorage.setItem("customtheme-id",id)
|
||||
}
|
||||
function custom(){
|
||||
var id=$("#custom-edit-sel").val();
|
||||
if(id=="add_new"){
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
$("#delTheme").addClass("disabled")
|
||||
}else{
|
||||
$("#delTheme").removeClass("disabled")
|
||||
ipc.send('theme-json-request', id);
|
||||
ipc.on('theme-json-response', function (event, args) {
|
||||
console.log(args);
|
||||
$("#custom_name").val(args.name);
|
||||
$("#custom_desc").val(args.desc);
|
||||
$("#"+args.base).prop("checked", true);
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
pickerDefine(0,rgbToHex(args.vars.primary))
|
||||
$("#color-picker0_value").val(args.vars.primary);
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
pickerDefine(1,rgbToHex(args.vars.secondary))
|
||||
$("#color-picker1_value").val(args.vars.secondary);
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker2_value").val(args.vars.text);
|
||||
pickerDefine(2,rgbToHex(args.vars.text))
|
||||
if(args.props){
|
||||
if(args.props.TheDeskAccent){
|
||||
var accent=args.props.TheDeskAccent;
|
||||
}else{
|
||||
var accent=args.vars.secondary;
|
||||
}
|
||||
}else{
|
||||
var accent=args.vars.secondary;
|
||||
}
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
pickerDefine(3,rgbToHex(accent))
|
||||
$("#custom_json").val(JSON.stringify(args));
|
||||
});
|
||||
}
|
||||
}
|
||||
function customImp(){
|
||||
var json=$("#custom_import").val();
|
||||
if(JSON5.parse(json)){
|
||||
ipc.send('theme-json-create', json);
|
||||
}else{
|
||||
alert("Error")
|
||||
}
|
||||
}
|
||||
function hardwareAcceleration(){
|
||||
var had = $("[name=ha]:checked").val();
|
||||
localStorage.setItem("ha", had);
|
||||
console.log("ha");
|
||||
ipc.send('ha', had);
|
||||
}
|
||||
|
||||
ipc.on('theme-json-create-complete', function (event, args) {
|
||||
$("#custom_import").val("");
|
||||
ctLoad()
|
||||
});
|
||||
//最初に読む
|
||||
load();
|
||||
climute();
|
||||
wordmute();
|
||||
wordemp();
|
||||
checkSpotify();
|
||||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
ctLoad()
|
@@ -1,5 +1,6 @@
|
||||
//ソートデータ読み込み
|
||||
function sortload() {
|
||||
function sortLoad () {
|
||||
$("#sort").html("");
|
||||
var col = localStorage.getItem("column");
|
||||
if (col) {
|
||||
var obj = JSON.parse(col);
|
||||
@@ -103,8 +104,8 @@ function sort() {
|
||||
var json = JSON.stringify(newobj);
|
||||
localStorage.setItem("column", json);
|
||||
$("#sort").html("");
|
||||
Materialize.toast("Sorted", 3000);
|
||||
sortload();
|
||||
M.toast({ html: "Sorted", displayLength: 3000 })
|
||||
sortLoad();
|
||||
parseColumn();
|
||||
sortMenu()
|
||||
}
|
||||
@@ -115,5 +116,5 @@ function sortMenu() {
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#sort-box").removeClass("hide");
|
||||
$("#sort").html("");
|
||||
sortload();
|
||||
sortLoad();
|
||||
}
|
@@ -1,21 +1,13 @@
|
||||
function spotifyConnect() {
|
||||
var auth = "https://accounts.spotify.com/authorize?client_id=0f18e54abe0b4aedb4591e353d3aff69&redirect_uri=https://thedesk.top/spotify-connect&response_type=code&scope=user-read-currently-playing";
|
||||
const {
|
||||
shell
|
||||
} = require('electron');
|
||||
|
||||
|
||||
var electron = require("electron");
|
||||
var remote = electron.remote;
|
||||
var platform = remote.process.platform;
|
||||
var platform = localStorage.getItem("platform");
|
||||
if (platform == "win32") {
|
||||
shell.openExternal(auth);
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('quit', 'go');
|
||||
postMessage(["openUrl", auth], "*")
|
||||
postMessage(["sendSinmpleIpc", "quit"], "*")
|
||||
} else {
|
||||
auth = auth + "&state=code";
|
||||
$("#spotify-code-show").removeClass("hide");
|
||||
shell.openExternal(auth);
|
||||
postMessage(["openUrl", auth], "*")
|
||||
}
|
||||
|
||||
|
||||
@@ -57,10 +49,10 @@ function spotifyFlagSave() {
|
||||
var awk = $("[name=awk]:checked").val();
|
||||
if (awk == "yes") {
|
||||
localStorage.setItem("artwork", "yes");
|
||||
Materialize.toast(lang.lang_spotify_img, 3000);
|
||||
M.toast({ html: lang.lang_spotify_img, displayLength: 3000 })
|
||||
} else {
|
||||
localStorage.removeItem("artwork");
|
||||
Materialize.toast(lang.lang_spotify_imgno, 3000);
|
||||
M.toast({ html: lang.lang_spotify_imgno, displayLength: 3000 })
|
||||
}
|
||||
}
|
||||
function nowplaying(mode) {
|
||||
@@ -85,11 +77,9 @@ function nowplaying(mode) {
|
||||
}
|
||||
var item = json.item;
|
||||
var img = item.album.images[0].url;
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var flag = localStorage.getItem("artwork");
|
||||
if (flag) {
|
||||
ipc.send('bmp-image', [img, 0]);
|
||||
postMessage(["bmpImage", [img, 0]], "*")
|
||||
}
|
||||
var content = localStorage.getItem("np-temp");
|
||||
if (!content || content == "" || content == "null") {
|
||||
@@ -118,17 +108,16 @@ function nowplaying(mode) {
|
||||
$("#textarea").val(content);
|
||||
});
|
||||
} else {
|
||||
alert(lang.lang_spotify_acct);
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: lang.lang_spotify_acct
|
||||
})
|
||||
}
|
||||
} else if (mode == "itunes") {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
if (ipc.listenerCount('itunes-np') > 0) {
|
||||
return false;
|
||||
postMessage(["itunes", ""], "*")
|
||||
}
|
||||
|
||||
ipc.send('itunes', "");
|
||||
ipc.once('itunes-np', function (event, arg) {
|
||||
}
|
||||
function npCore(arg) {
|
||||
if (arg.cmd) {
|
||||
console.error(arg);
|
||||
return;
|
||||
@@ -139,8 +128,7 @@ function nowplaying(mode) {
|
||||
var content = "#NowPlaying {song} / {album} / {artist}\n{url}";
|
||||
}
|
||||
var flag = localStorage.getItem("artwork");
|
||||
var remote = electron.remote;
|
||||
var platform = remote.process.platform;
|
||||
var platform = localStorage.getItem("platform");
|
||||
if (platform == "win32") {
|
||||
if (flag && arg.path) {
|
||||
media(arg.path, "image/png", "new");
|
||||
@@ -171,33 +159,11 @@ function nowplaying(mode) {
|
||||
var regExp = new RegExp("{genre}", "g");
|
||||
content = content.replace(regExp, arg.genre);
|
||||
$("#textarea").val(content);
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
function spotifySave() {
|
||||
var temp = $("#np-temp").val();
|
||||
localStorage.setItem("np-temp", temp);
|
||||
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]);
|
||||
}
|
||||
M.toast({ html: lang.lang_spotify_np, displayLength: 3000 })
|
||||
}
|
||||
if (location.search) {
|
||||
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
|
||||
@@ -212,10 +178,3 @@ if (location.search) {
|
||||
}
|
||||
|
||||
}
|
||||
$("#npbtn").click(function () {
|
||||
nowplaying('spotify');
|
||||
});
|
||||
$("#npbtn").bind('contextmenu', function () {
|
||||
nowplaying('itunes');
|
||||
return false;
|
||||
});
|
@@ -7,22 +7,26 @@ function themes(theme) {
|
||||
localStorage.setItem("theme", "black");
|
||||
}
|
||||
}
|
||||
$("html").removeClass("indigotheme");
|
||||
$("html").removeClass("greentheme");
|
||||
$("html").removeClass("browntheme");
|
||||
$("html").removeClass("blacktheme");
|
||||
$("html").removeClass("customtheme");
|
||||
$("html").addClass(theme + "theme");
|
||||
var el = document.getElementsByTagName("html")[0]
|
||||
|
||||
el.classList.remove('indigotheme');
|
||||
el.classList.remove('greentheme');
|
||||
el.classList.remove('browntheme');
|
||||
el.classList.remove('blacktheme');
|
||||
el.classList.remove('bluetheme');
|
||||
el.classList.remove('customtheme');
|
||||
el.classList.add(theme + "theme");
|
||||
var font = localStorage.getItem("font");
|
||||
if (font) {
|
||||
$("html").css("font-family", font);
|
||||
el.style.fontFamily = font;
|
||||
} else {
|
||||
$("html").css("font-family", "");
|
||||
el.style.fontFamily = "";
|
||||
}
|
||||
if (theme == "custom") {
|
||||
if (localStorage.getItem("customtheme-id")) {
|
||||
ipc.send('theme-css-request', localStorage.getItem("customtheme-id"));
|
||||
postMessage(["themeCSSRequest", localStorage.getItem("customtheme-id")], "*")
|
||||
}
|
||||
}
|
||||
el.style.backgroundColor = "var(--bg)";
|
||||
}
|
||||
themes();
|
@@ -20,9 +20,7 @@ function bottomReverse() {
|
||||
}
|
||||
}
|
||||
function tips(mode) {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('endmem', "");
|
||||
postMessage(["sendSinmpleIpc", "endmem"], "*")
|
||||
clearInterval(clockint);
|
||||
clearInterval(spotStart);
|
||||
if (mode == "ver") {
|
||||
@@ -50,15 +48,10 @@ function tips(mode) {
|
||||
}
|
||||
//メモリ
|
||||
function startmem() {
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('startmem', "");
|
||||
ipc.on('memory', function (event, arg) {
|
||||
var use = arg[0];
|
||||
var cpu = arg[1];
|
||||
var total = arg[2]
|
||||
postMessage(["sendSinmpleIpc", "startmem"], "*")
|
||||
}
|
||||
function renderMem(use, cpu, total){
|
||||
$("#tips-text").html(escapeHTML(cpu) + "<br>Memory:" + Math.floor(use / 1024 / 1024 / 102.4) / 10 + "/" + Math.floor(total / 1024 / 1024 / 102.4) / 10 + "GB(" + Math.floor(use / total * 100) + "%)")
|
||||
})
|
||||
}
|
||||
//トレンドタグ
|
||||
function trendTagonTip() {
|
||||
@@ -140,7 +133,10 @@ function spotifytips() {
|
||||
spotint = setInterval(spotStart, 1000);
|
||||
});
|
||||
} else {
|
||||
alert(lang.lang_spotify_acct);
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: lang.lang_spotify_acct
|
||||
})
|
||||
}
|
||||
}
|
||||
function spotStart() {
|
||||
|
@@ -622,12 +622,17 @@ function showMat() {
|
||||
var templete = "";
|
||||
Object.keys(json).forEach(function (key) {
|
||||
var user = json[key];
|
||||
if (user.avatar) {
|
||||
var avatar = user.avatar
|
||||
} else {
|
||||
var avatar = "../../img/loading.svg"
|
||||
}
|
||||
templete = templete +
|
||||
'<div class="" style="padding-top:5px;">' +
|
||||
'<div style="padding:0; margin:0; width:400px; max-width:100%; display:flex; align-items:flex-end;">' +
|
||||
'<div style="flex-basis:40px;"><a onclick="udgEx(\'' + user.user + '\',' +
|
||||
acct_id + ');" user="' + user.user + '" class="udg">' +
|
||||
'<img src="' + user.avatar + '" width="40" class="prof-img" user="' + user.user + '"></a></div>' +
|
||||
'<img src="' + avatar + '" width="40" class="prof-img" user="' + user.user + '"></a></div>' +
|
||||
'<div style="flex-grow:3; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;user-select:auto; cursor:text;"><big>' +
|
||||
escapeHTML(user.screen_name) + '</big></div>' +
|
||||
'<div class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;user-select:auto; cursor:text;"> @' +
|
||||
|
@@ -40,9 +40,7 @@ function udgEx(user, acct_id) {
|
||||
var id = json.accounts[0].id;
|
||||
udg(id, acct_id);
|
||||
} else {
|
||||
var url = "https://" + user.split('@')[1] + "/@" + user.split('@')[0];
|
||||
const { shell } = require('electron');
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
});
|
||||
return true;
|
||||
@@ -81,9 +79,10 @@ function udg(user, acct_id) {
|
||||
}
|
||||
//moved設定時
|
||||
if (json.moved) {
|
||||
Materialize.toast(
|
||||
lang.lang_showontl_movetxt + '<button class="btn-flat toast-action" onclick="udg(\'' +
|
||||
json.moved.id + '\',\'' + acct_id + '\')">' + lang.lang_showontl_movebtn + '</button>', 4000)
|
||||
M.toast({
|
||||
html: lang.lang_showontl_movetxt + '<button class="btn-flat toast-action" onclick="udg(\'' +
|
||||
json.moved.id + '\',\'' + acct_id + '\')">' + lang.lang_showontl_movebtn + '</button>', displayLength: 4000
|
||||
})
|
||||
}
|
||||
$('#his-data').modal('open');
|
||||
$('#his-data').attr("user-id", user);
|
||||
@@ -167,7 +166,7 @@ function udg(user, acct_id) {
|
||||
}
|
||||
$("#his-des").attr("data-acct", acct_id);
|
||||
$('#his-data').css('background-size', 'cover');
|
||||
$("#his-data .tab-content").css("height", $("#his-float-timeline").height() - 70 + "px")
|
||||
$("#his-float-timeline").css("height", $("#his-data-show").height() + "px")
|
||||
localStorage.setItem("history", user);
|
||||
//自分の時
|
||||
if (json.acct == localStorage.getItem("user_" + acct_id)) {
|
||||
@@ -196,6 +195,9 @@ function udg(user, acct_id) {
|
||||
$("#his-emp-btn").hide();
|
||||
$(".only-my-data").show();
|
||||
$(".only-his-data").hide();
|
||||
if (localStorage.getItem("main") == acct_id) {
|
||||
$("#his-main-acct").hide();
|
||||
}
|
||||
} else {
|
||||
relations(user, acct_id);
|
||||
$(".only-my-data").hide();
|
||||
@@ -296,6 +298,9 @@ function misskeyUdg(user, acct_id) {
|
||||
$("#his-emp-btn").hide();
|
||||
$(".only-my-data").show();
|
||||
$(".only-his-data").hide();
|
||||
if (localStorage.getItem("main") == acct_id) {
|
||||
$("#his-main-acct").hide();
|
||||
}
|
||||
} else {
|
||||
if (json.isFollowing) {
|
||||
//自分がフォローしている
|
||||
@@ -354,7 +359,6 @@ function relations(user, acct_id) {
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
var json = json[0];
|
||||
console.log(json);
|
||||
if (json.following) {
|
||||
//自分がフォローしている
|
||||
$("#his-data").addClass("following");
|
||||
@@ -401,17 +405,23 @@ function relations(user, acct_id) {
|
||||
}
|
||||
//Blocked
|
||||
if (json.blocked_by) {
|
||||
$("#his-float-timeline").hide();
|
||||
$("#his-float-blocked").show();
|
||||
$("#my-data-nav .btn").addClass("disabled")
|
||||
$(".his-var-content").hide();
|
||||
$("#his-float-blocked").show()
|
||||
$("#his-follow-btn").hide()
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
function profbrws() {
|
||||
const { shell } = require('electron');
|
||||
var url = $("#his-openin").attr("data-href")
|
||||
shell.openExternal(url);
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
function setMain() {
|
||||
var acct_id = $("#his-data").attr("use-acct")
|
||||
localStorage.setItem("main", acct_id);
|
||||
multiSelector(true)
|
||||
M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 })
|
||||
}
|
||||
//オールリセット
|
||||
function hisclose() {
|
||||
@@ -421,8 +431,9 @@ function hisclose() {
|
||||
localStorage.removeItem("history");
|
||||
}
|
||||
function reset() {
|
||||
$(".tab-content:eq(0)").show();
|
||||
$(".tab-content:gt(0)").hide();
|
||||
$(".his-var-content:eq(0)").show();
|
||||
$(".his-var-content:gt(0)").hide();
|
||||
$("#my-data-nav .btn").removeClass("disabled")
|
||||
$(".active-back").removeClass("active-back");
|
||||
$(".column-first").addClass("active-back");
|
||||
$("#his-name").text("Loading");
|
||||
@@ -468,12 +479,16 @@ function reset() {
|
||||
$("#his-openin").attr("data-href", "");
|
||||
$("#his-float-timeline").show();
|
||||
$("#his-float-blocked").hide();
|
||||
$("#his-main-acct").show();
|
||||
$("#his-proof-prof").html("")
|
||||
}
|
||||
$('#my-data-nav .custom-tab').on('click', function () {
|
||||
var target = $(this).find("a").attr("go");
|
||||
$("#my-data-nav .custom-tab").removeClass("active-back");
|
||||
$('#my-data-nav .anc-link').on('click', function () {
|
||||
var target = $(this).attr("go");
|
||||
if (target) {
|
||||
$("#my-data-nav .anc-link").removeClass("active-back");
|
||||
$(this).addClass("active-back");
|
||||
$(target).show();
|
||||
$(".tab-content:not(" + target + ")").hide();
|
||||
$(".his-var-content:not(" + target + ")").hide();
|
||||
}
|
||||
|
||||
});
|
85
app/main.js
@@ -1,4 +1,4 @@
|
||||
|
||||
var dirname = __dirname;
|
||||
var dir = 'file://' + __dirname;
|
||||
var base = dir + '/view/';
|
||||
// Electronのモジュール
|
||||
@@ -18,6 +18,27 @@ const app = electron.app;
|
||||
const BrowserWindow = electron.BrowserWindow;
|
||||
// メインウィンドウはGCされないようにグローバル宣言
|
||||
let mainWindow;
|
||||
if (process.argv.indexOf("--dev") === -1) {
|
||||
var packaged = true;
|
||||
} else {
|
||||
var packaged = false;
|
||||
console.log(
|
||||
"||\\\\\\ \n"+
|
||||
"|||| \\\\\\\\ \n"+
|
||||
"|||| \\\\\\\\ \n"+
|
||||
"|||| Am I a \\\\\\\\ \n"+
|
||||
"|||| cat? ^ ^ \\\\\\\\\\ _____ _ ____ _ \n"+
|
||||
"|||| (.-.) \\\\\\\\\\ |_ _| |__ ___| _ \\ ___ ___| | __\n"+
|
||||
"|||| ___> ) ||||| | | | '_ \\ / _ \\ | | |/ _ \\/ __| |/ /\n"+
|
||||
"|||| < _ _) ////// | | | | | | __/ |_| | __/\__ \\ < \n"+
|
||||
"|||| |_||_| ///// |_| |_| |_|\\___|____/ \\___||___/_|\\_\\ \n"+
|
||||
"|||| ///// \n"+
|
||||
"|||| /////\n"+
|
||||
"|||| /////\n"+
|
||||
"||||//////"
|
||||
)
|
||||
console.log("Welcome!")
|
||||
}
|
||||
var info_path = join(app.getPath("userData"), "window-size.json");
|
||||
var max_info_path = join(app.getPath("userData"), "max-window-size.json");
|
||||
var lang_path = join(app.getPath("userData"), "language");
|
||||
@@ -25,9 +46,9 @@ var ha_path = join(app.getPath("userData"), "hardwareAcceleration");
|
||||
try {
|
||||
fs.readFileSync(ha_path, 'utf8');
|
||||
app.disableHardwareAcceleration()
|
||||
console.log("disabled: HA");
|
||||
if(!packaged) console.log("disabled: Hardware Acceleration");
|
||||
} catch{
|
||||
console.log("enabled: HA");
|
||||
if(!packaged) console.log("enabled: Hardware Acceleration");
|
||||
}
|
||||
var window_size;
|
||||
try {
|
||||
@@ -74,13 +95,18 @@ app.on('activate', function () {
|
||||
|
||||
function createWindow() {
|
||||
if (isFile(lang_path)) {
|
||||
console.log("exist");
|
||||
var lang = fs.readFileSync(lang_path, 'utf8');
|
||||
} else {
|
||||
var langs = app.getLocale();
|
||||
console.log(langs);
|
||||
if (~langs.indexOf("ja")) {
|
||||
lang = "ja";
|
||||
} else if (~langs.indexOf("de")) {
|
||||
lang = "de";
|
||||
} else if (~langs.indexOf("cs")) {
|
||||
lang = "cs";
|
||||
} else if (~langs.indexOf("bg")) {
|
||||
lang = "bg";
|
||||
} else {
|
||||
lang = "en";
|
||||
}
|
||||
@@ -88,19 +114,49 @@ function createWindow() {
|
||||
fs.writeFileSync(lang_path, lang);
|
||||
});
|
||||
}
|
||||
console.log(app.getLocale());
|
||||
console.log("launch:" + lang);
|
||||
if(!packaged) console.log("your lang:" + app.getLocale());
|
||||
if(!packaged) console.log("launch:" + lang);
|
||||
// メイン画面の表示。ウィンドウの幅、高さを指定できる
|
||||
var platform = process.platform;
|
||||
var bit = process.arch;
|
||||
if (platform == "linux") {
|
||||
var arg = { webPreferences: { webviewTag: true, nodeIntegration: true }, width: window_size.width, height: window_size.height, x: window_size.x, y: window_size.y, icon: __dirname + '/desk.png' }
|
||||
var arg = {
|
||||
webPreferences: {
|
||||
webviewTag: true,
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload: join(__dirname, "js", "platform", "preload.js")
|
||||
},
|
||||
width: window_size.width, height: window_size.height, x: window_size.x, y: window_size.y, icon: __dirname + '/desk.png', show: false
|
||||
}
|
||||
} else if (platform == "win32") {
|
||||
var arg = {webPreferences: { webviewTag: true, nodeIntegration: true }, width: window_size.width, height: window_size.height, x: window_size.x, y: window_size.y, simpleFullscreen: true }
|
||||
var arg = {
|
||||
webPreferences: {
|
||||
webviewTag: true,
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload: join(__dirname, "js", "platform", "preload.js")
|
||||
},
|
||||
width: window_size.width, height: window_size.height, x: window_size.x, y: window_size.y, simpleFullscreen: true, show: false
|
||||
}
|
||||
} else if (platform == "darwin") {
|
||||
var arg = { webPreferences: { webviewTag: true, nodeIntegration: true }, width: window_size.width, height: window_size.height, x: window_size.x, y: window_size.y, simpleFullscreen: true }
|
||||
var arg = {
|
||||
webPreferences: {
|
||||
webviewTag: true,
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload: join(__dirname, "js", "platform", "preload.js")
|
||||
},
|
||||
width: window_size.width, height: window_size.height, x: window_size.x, y: window_size.y, simpleFullscreen: true, show: false
|
||||
}
|
||||
}
|
||||
mainWindow = new BrowserWindow(arg);
|
||||
mainWindow.once('page-title-updated', () => {
|
||||
mainWindow.show()
|
||||
if (window_size.max) {
|
||||
mainWindow.maximize();
|
||||
}
|
||||
})
|
||||
electron.session.defaultSession.clearCache(() => { })
|
||||
if (process.argv) {
|
||||
if (process.argv[1]) {
|
||||
@@ -122,9 +178,6 @@ function createWindow() {
|
||||
if (!window_size.x && !window_size.y) {
|
||||
mainWindow.center();
|
||||
}
|
||||
if (window_size.max) {
|
||||
mainWindow.maximize();
|
||||
}
|
||||
// ウィンドウが閉じられたらアプリも終了
|
||||
mainWindow.on('closed', function () {
|
||||
electron.ipcMain.removeAllListeners();
|
||||
@@ -149,19 +202,17 @@ function createWindow() {
|
||||
|
||||
var platform = process.platform;
|
||||
var bit = process.arch;
|
||||
if (platform == "darwin") {
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(language.template(lang, mainWindow, false, dir)));
|
||||
}
|
||||
Menu.setApplicationMenu(Menu.buildFromTemplate(language.template(lang, mainWindow, packaged, dir)));
|
||||
//CSS
|
||||
css.css(mainWindow);
|
||||
//アップデータとダウンロード
|
||||
dl.dl(mainWindow, lang_path, base);
|
||||
dl.dl(mainWindow, lang_path, base, dirname);
|
||||
//画像選択と画像処理
|
||||
img.img(mainWindow, dir);
|
||||
//NowPlaying
|
||||
np.TheDeskNowPlaying(mainWindow);
|
||||
//その他system
|
||||
systemFunc.system(mainWindow, dir, lang);
|
||||
systemFunc.system(mainWindow, dir, lang, dirname);
|
||||
}
|
||||
// Electronの初期化完了後に実行
|
||||
app.on('ready', createWindow);
|
||||
|
@@ -10,7 +10,7 @@ function css(mainWindow) {
|
||||
|
||||
ipc.on('custom-css-create', function (e, arg) {
|
||||
fs.writeFileSync(customcss, arg);
|
||||
mainWindow.webContents.send('custom-css-create-complete', "");
|
||||
e.sender.webContents.send('custom-css-create-complete', "");
|
||||
})
|
||||
ipc.on('custom-css-request', function (e, arg) {
|
||||
try {
|
||||
@@ -18,29 +18,29 @@ function css(mainWindow) {
|
||||
} catch (e) {
|
||||
var css = "";
|
||||
}
|
||||
mainWindow.webContents.send('custom-css-response', css);
|
||||
e.sender.webContents.send('custom-css-response', css);
|
||||
})
|
||||
ipc.on('theme-json-create', function (e, arg) {
|
||||
var themecss = join(app.getPath("userData"), JSON5.parse(arg)["id"] +
|
||||
".thedesktheme");
|
||||
fs.writeFileSync(themecss, JSON.stringify(JSON5.parse(arg)));
|
||||
if (JSON5.parse(arg)["id"]) {
|
||||
mainWindow.webContents.send('theme-json-create-complete', "");
|
||||
e.sender.webContents.send('theme-json-create-complete', "");
|
||||
} else {
|
||||
mainWindow.webContents.send('theme-json-create-complete', "error");
|
||||
e.sender.webContents.send('theme-json-create-complete', "error");
|
||||
}
|
||||
})
|
||||
ipc.on('theme-json-delete', function (e, arg) {
|
||||
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
|
||||
console.log(themecss);
|
||||
fs.unlink(themecss, function (err) {
|
||||
mainWindow.webContents.send('theme-json-delete-complete', "");
|
||||
e.sender.webContents.send('theme-json-delete-complete', "");
|
||||
});
|
||||
})
|
||||
ipc.on('theme-json-request', function (e, arg) {
|
||||
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
|
||||
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
mainWindow.webContents.send('theme-json-response', json);
|
||||
e.sender.webContents.send('theme-json-response', json);
|
||||
})
|
||||
ipc.on('theme-css-request', function (e, arg) {
|
||||
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
|
||||
@@ -53,9 +53,15 @@ function css(mainWindow) {
|
||||
if (json.base == "light") {
|
||||
var drag = "rgba(255, 255, 255, 0.8)";
|
||||
var beforehover = "#757575";
|
||||
var selected = "#3f3f3f"
|
||||
var selectedWithShare = "#b2babd"
|
||||
var gray = "#757575"
|
||||
} else {
|
||||
var drag = "rgba(0, 0, 0, 0.8)";
|
||||
var beforehover = "#9e9e9e";
|
||||
var selected = "#c0c0c0"
|
||||
var selectedWithShare = "#003a30"
|
||||
var gray = "#cccccc"
|
||||
}
|
||||
if (json.props) {
|
||||
if (json.props.TheDeskAccent) {
|
||||
@@ -75,8 +81,10 @@ function css(mainWindow) {
|
||||
secondary +
|
||||
";--active:" + primary + ";--postbox:" + primary + ";--modalfooter:" +
|
||||
primary +
|
||||
";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
mainWindow.webContents.send('theme-css-response', css);
|
||||
";--accentbtn:" + primary + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + "}"+
|
||||
"--gray:" + gray + ";"+
|
||||
".customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
e.sender.webContents.send('theme-css-response', css);
|
||||
} catch (e) {
|
||||
var css = "";
|
||||
}
|
||||
@@ -98,7 +106,7 @@ function css(mainWindow) {
|
||||
id: json.id
|
||||
})
|
||||
}
|
||||
mainWindow.webContents.send('theme-json-list-response', themes);
|
||||
e.sender.webContents.send('theme-json-list-response', themes);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
function dl(mainWindow, lang_path, base) {
|
||||
function dl(mainWindow, lang_path, base, dirname) {
|
||||
const electron = require("electron");
|
||||
const shell = electron.shell;
|
||||
const fs = require("fs");
|
||||
@@ -16,15 +16,18 @@ function dl(mainWindow, lang_path, base) {
|
||||
if (platform != "others") {
|
||||
updatewin = new BrowserWindow({
|
||||
webPreferences: {
|
||||
nodeIntegration:true
|
||||
webviewTag: false,
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload: join(dirname,"js", "platform", "preload.js")
|
||||
},
|
||||
width: 600,
|
||||
height: 400,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
"frame": false, // 枠の無いウィンドウ
|
||||
"resizable": false,
|
||||
"modal": true
|
||||
"resizable": false
|
||||
});
|
||||
//updatewin.openDevTools()
|
||||
var lang = fs.readFileSync(lang_path, 'utf8');
|
||||
updatewin.loadURL(base + lang + '/update.html');
|
||||
|
||||
@@ -35,7 +38,25 @@ function dl(mainWindow, lang_path, base) {
|
||||
})
|
||||
//アプデDL
|
||||
ipc.on('download-btn', (e, args) => {
|
||||
function dl(url, file, dir, e) {
|
||||
|
||||
e.sender.webContents.send('mess', "ダウンロードを開始します。");
|
||||
const opts = {
|
||||
directory: dir,
|
||||
openFolderWhenDone: true,
|
||||
onProgress: function (event) {
|
||||
e.sender.webContents.send('prog', event);
|
||||
},
|
||||
saveAs: false
|
||||
};
|
||||
download(updatewin,
|
||||
url, opts)
|
||||
.then(dl => {
|
||||
e.sender.webContents.send('mess', "ダウンロードが完了しました。");
|
||||
app.quit();
|
||||
})
|
||||
.catch(console.error);
|
||||
}
|
||||
var platform = process.platform;
|
||||
var bit = process.arch;
|
||||
dialog.showSaveDialog(null, {
|
||||
@@ -55,7 +76,7 @@ function dl(mainWindow, lang_path, base) {
|
||||
if (isExistFile(savedFiles)) {
|
||||
fs.unlinkSync(savedFiles);
|
||||
}
|
||||
dl(args[0], args[1], m[1]);
|
||||
dl(args[0], args[1], m[1], e);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -68,27 +89,8 @@ function dl(mainWindow, lang_path, base) {
|
||||
}
|
||||
}
|
||||
|
||||
function dl(url, file, dir) {
|
||||
|
||||
updatewin.webContents.send('mess', "ダウンロードを開始します。");
|
||||
const opts = {
|
||||
directory: dir,
|
||||
openFolderWhenDone: true,
|
||||
onProgress: function (e) {
|
||||
updatewin.webContents.send('prog', e);
|
||||
},
|
||||
saveAs: false
|
||||
};
|
||||
download(updatewin,
|
||||
url, opts)
|
||||
.then(dl => {
|
||||
updatewin.webContents.send('mess', "ダウンロードが完了しました。");
|
||||
app.quit();
|
||||
|
||||
})
|
||||
.catch(console.error);
|
||||
}
|
||||
ipc.on('general-dl', (e, args) => {
|
||||
ipc.on('general-dl', (event, args) => {
|
||||
|
||||
var name = "";
|
||||
var platform = process.platform;
|
||||
@@ -107,14 +109,14 @@ function dl(mainWindow, lang_path, base) {
|
||||
filename: name,
|
||||
openFolderWhenDone: false,
|
||||
onProgress: function (e) {
|
||||
mainWindow.webContents.send('general-dl-prog', e);
|
||||
event.sender.webContents.send('general-dl-prog', e);
|
||||
},
|
||||
saveAs: false
|
||||
};
|
||||
download(BrowserWindow.getFocusedWindow(),
|
||||
args[0], opts)
|
||||
.then(dl => {
|
||||
mainWindow.webContents.send('general-dl-message', dir);
|
||||
event.sender.webContents.send('general-dl-message', dir);
|
||||
})
|
||||
.catch(console.error);
|
||||
});
|
||||
|
@@ -24,48 +24,17 @@ function img(mainWindow, dir) {
|
||||
for (var i = 0; i < fileNames.length; i++) {
|
||||
var path = fileNames[i];
|
||||
var bin = fs.readFileSync(path, 'base64');
|
||||
mainWindow.webContents.send('bmp-img-comp', [bin, 'new']);
|
||||
e.sender.webContents.send('bmp-img-comp', [bin, 'new']);
|
||||
}
|
||||
});
|
||||
});
|
||||
ipc.on('adobe', (e, arg) => {
|
||||
|
||||
if (!arg) {
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: 'Adobeフォトエディタ',
|
||||
message: "「許可」または「永続的に許可」をクリックするとTheDeskとAdobeで情報を共有します。\n次のウィンドウを開いている時以外は一切提供しません。",
|
||||
buttons: ['拒否', '許可', '永続的に許可']
|
||||
}
|
||||
dialog.showMessageBox(options, function (index) {
|
||||
if (index === 2) {
|
||||
mainWindow.webContents.send('adobeagree', "true");
|
||||
}
|
||||
if (index > 0) {
|
||||
adobeWindow();
|
||||
}
|
||||
})
|
||||
} else {
|
||||
adobeWindow();
|
||||
}
|
||||
});
|
||||
function adobeWindow() {
|
||||
var window = new BrowserWindow({
|
||||
webPreferences: {
|
||||
nodeIntegration:true
|
||||
},
|
||||
width: 1000,
|
||||
height: 750
|
||||
});
|
||||
window.loadURL(dir + '/adobe.html');
|
||||
}
|
||||
ipc.on('bmp-image', (e, args) => {
|
||||
|
||||
var m = args[0].match(/(.+)\\(.+)\.(.+)$/);
|
||||
Jimp.read(args[0], function (err, lenna) {
|
||||
if (err) throw err;
|
||||
lenna.getBase64(Jimp.MIME_PNG, function (err, src) {
|
||||
mainWindow.webContents.send('bmp-img-comp', [src, args[1]]);
|
||||
e.sender.webContents.send('bmp-img-comp', [src, args[1]]);
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -1,5 +1,8 @@
|
||||
// Create the Application's main menu
|
||||
function templete(lang, mainWindow, packaged, dir) {
|
||||
if(lang !="ja" && lang != "en"){
|
||||
lang = "en"
|
||||
}
|
||||
const electron = require("electron");
|
||||
const app = electron.app;
|
||||
const BrowserWindow = electron.BrowserWindow;
|
||||
@@ -65,6 +68,28 @@ function templete(lang, mainWindow, packaged, dir) {
|
||||
"en": "Close"
|
||||
}
|
||||
}
|
||||
if(packaged){
|
||||
var ifDev = [
|
||||
{
|
||||
label: dict.reload[lang],
|
||||
accelerator: 'CmdOrCtrl+R',
|
||||
click: function () { mainWindow.reload(); }
|
||||
}
|
||||
]
|
||||
}else{
|
||||
var ifDev = [
|
||||
{
|
||||
label: 'Toggle Developer Tools',
|
||||
accelerator: 'Alt+Command+I',
|
||||
click: function () { if (!packaged) { mainWindow.toggleDevTools(); } }
|
||||
},
|
||||
{
|
||||
label: dict.reload[lang],
|
||||
accelerator: 'CmdOrCtrl+R',
|
||||
click: function () { mainWindow.reload(); }
|
||||
}
|
||||
]
|
||||
}
|
||||
const menu = [{
|
||||
label: dict.application[lang],
|
||||
submenu: [
|
||||
@@ -73,7 +98,10 @@ function templete(lang, mainWindow, packaged, dir) {
|
||||
var ver = app.getVersion()
|
||||
var window = new BrowserWindow({
|
||||
webPreferences: {
|
||||
nodeIntegration:true
|
||||
webviewTag: false,
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload: "../js/platform/preload.js"
|
||||
},
|
||||
width: 300, height: 460,
|
||||
"transparent": false, // ウィンドウの背景を透過
|
||||
@@ -100,18 +128,7 @@ function templete(lang, mainWindow, packaged, dir) {
|
||||
]
|
||||
}, {
|
||||
label: dict.view[lang],
|
||||
submenu: [
|
||||
{
|
||||
label: 'Toggle Developer Tools',
|
||||
accelerator: 'Alt+Command+I',
|
||||
click: function () { if (!packaged) { mainWindow.toggleDevTools(); } }
|
||||
},
|
||||
{
|
||||
label: dict.reload[lang],
|
||||
accelerator: 'CmdOrCtrl+R',
|
||||
click: function () { mainWindow.webContents.send('reload', " "); }
|
||||
}
|
||||
]
|
||||
submenu: ifDev
|
||||
},
|
||||
{
|
||||
label: dict.window[lang],
|
||||
@@ -132,33 +149,5 @@ function templete(lang, mainWindow, packaged, dir) {
|
||||
];
|
||||
return menu;
|
||||
}
|
||||
function delsel(lang) {
|
||||
const dict = {
|
||||
"delete": {
|
||||
"ja": "カラム削除",
|
||||
"en": "Delete this column"
|
||||
},
|
||||
"mess": {
|
||||
"ja": "カラムを削除しますか?(すべてのカラムのリンク解析がOFFになります。)",
|
||||
"en": "Delete this column(URL analyzes of all windows will be disabled.)"
|
||||
},
|
||||
"yes": {
|
||||
"ja": "はい",
|
||||
"en": "Yes"
|
||||
},
|
||||
"no": {
|
||||
"ja": "いいえ",
|
||||
"en": "No"
|
||||
}
|
||||
}
|
||||
const options = {
|
||||
type: 'info',
|
||||
title: dict.delete[lang],
|
||||
message: dict.mess[lang],
|
||||
buttons: [dict.no[lang], dict.yes[lang]]
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
exports.template = templete;
|
||||
exports.delsel = delsel;
|
@@ -8,19 +8,7 @@ function np(mainWindow) {
|
||||
//Verified on Windows
|
||||
console.log("Access");
|
||||
if (args[0] == "set") {
|
||||
var { NowPlaying, PlayerName } = require("nowplaying-node");
|
||||
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;
|
||||
@@ -28,41 +16,14 @@ function np(mainWindow) {
|
||||
try {
|
||||
const nowplaying = require("itunes-nowplaying-mac");
|
||||
const value = await nowplaying.getRawData();
|
||||
mainWindow.webContents.send('itunes-np', value);
|
||||
e.sender.webContents.send('itunes-np', value);
|
||||
} catch (error) {
|
||||
// エラーを返す
|
||||
console.error(error);
|
||||
mainWindow.webContents.send('itunes-np', error);
|
||||
e.sender.webContents.send('itunes-np', error);
|
||||
}
|
||||
} else {
|
||||
var { NowPlaying, PlayerName } = require("nowplaying-node");
|
||||
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 = {
|
||||
win: true,
|
||||
name: myAIMP.getTitle(),
|
||||
artist: myAIMP.getArtist(),
|
||||
album: myAIMP.getAlbum(),
|
||||
path: bin
|
||||
}
|
||||
mainWindow.webContents.send('itunes-np', value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
function system(mainWindow, dir, lang) {
|
||||
function system(mainWindow, dir, lang, dirname) {
|
||||
const electron = require("electron");
|
||||
const app = electron.app;
|
||||
const join = require('path').join;
|
||||
@@ -40,13 +40,68 @@ function system(mainWindow, dir, lang) {
|
||||
});
|
||||
}
|
||||
});
|
||||
//プラットフォーム
|
||||
ipc.on('getPlatform', function (e, arg) {
|
||||
e.sender.webContents.send('platform', [process.platform, process.arch, process.version, process.versions.chrome, process.versions.electron]);
|
||||
})
|
||||
//言語
|
||||
ipc.on('lang', function (e, arg) {
|
||||
|
||||
console.log("set:" + arg);
|
||||
fs.writeFileSync(lang_path, arg);
|
||||
mainWindow.webContents.send('langres', "");
|
||||
e.sender.webContents.send('langres', arg);
|
||||
})
|
||||
//エクスポートのダイアログ
|
||||
ipc.on('exportSettings', function (e, args) {
|
||||
dialog.showSaveDialog(null, {
|
||||
title: 'Export',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: "export.thedeskconfigv2"
|
||||
}, (savedFiles) => {
|
||||
if (!savedFiles) {
|
||||
return false;
|
||||
}
|
||||
e.sender.webContents.send('exportSettingsFile', savedFiles);
|
||||
})
|
||||
})
|
||||
//インポートのダイアログ
|
||||
ipc.on('importSettings', function (e, args) {
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Import',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{ name: 'TheDesk Config', extensions: ['thedeskconfig', 'thedeskconfigv2'] },
|
||||
]
|
||||
}, (fileNames) => {
|
||||
if (!fileNames) {
|
||||
return false;
|
||||
}
|
||||
e.sender.webContents.send('config', fs.readFileSync(arg, 'utf8'));
|
||||
})
|
||||
})
|
||||
//保存フォルダのダイアログ
|
||||
ipc.on('savefolder', function (e, args) {
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Save folder',
|
||||
properties: ['openDirectory'],
|
||||
}, (fileNames) => {
|
||||
e.sender.webContents.send('savefolder', fileNames[0]);
|
||||
});
|
||||
})
|
||||
//カスタムサウンドのダイアログ
|
||||
ipc.on('customSound', function (e, arg) {
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Custom sound',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{ name: 'Audio', extensions: ['mp3', 'aac', 'wav', 'flac', 'm4a'] },
|
||||
{ name: 'All', extensions: ['*'] },
|
||||
]
|
||||
}, (fileNames) => {
|
||||
e.sender.webContents.send('customSoundRender', [arg, fileNames[0]]);
|
||||
});
|
||||
})
|
||||
|
||||
//ハードウェアアクセラレーションの無効化
|
||||
ipc.on('ha', function (e, arg) {
|
||||
|
||||
@@ -60,20 +115,17 @@ function system(mainWindow, dir, lang) {
|
||||
})
|
||||
|
||||
ipc.on('quit', (e, args) => {
|
||||
|
||||
app.quit();
|
||||
});
|
||||
ipc.on('about', (e, args) => {
|
||||
|
||||
about();
|
||||
});
|
||||
|
||||
function about() {
|
||||
|
||||
var ver = app.getVersion()
|
||||
var window = new BrowserWindow({
|
||||
webPreferences: {
|
||||
nodeIntegration:true
|
||||
webviewTag: false,
|
||||
nodeIntegration: false
|
||||
},
|
||||
width: 300,
|
||||
height: 480,
|
||||
@@ -84,14 +136,6 @@ function system(mainWindow, dir, lang) {
|
||||
window.loadURL(dir + '/about.html?ver=' + ver);
|
||||
return "true"
|
||||
}
|
||||
ipc.on('column-del', (e, args) => {
|
||||
|
||||
console.log(lang);
|
||||
var options = language.delsel(lang)
|
||||
dialog.showMessageBox(options, function (index) {
|
||||
mainWindow.webContents.send('column-del-reply', index);
|
||||
})
|
||||
});
|
||||
ipc.on('nano', function (e, x, y) {
|
||||
|
||||
var nano_info_path = join(app.getPath("userData"),
|
||||
@@ -104,7 +148,10 @@ function system(mainWindow, dir, lang) {
|
||||
}
|
||||
var nanowindow = new BrowserWindow({
|
||||
webPreferences: {
|
||||
nodeIntegration:true
|
||||
webviewTag: false,
|
||||
nodeIntegration: false,
|
||||
contextIsolation: true,
|
||||
preload: join(dirname,"js", "platform", "preload.js")
|
||||
},
|
||||
width: 350,
|
||||
height: 200,
|
||||
@@ -121,29 +168,27 @@ function system(mainWindow, dir, lang) {
|
||||
});
|
||||
return true;
|
||||
})
|
||||
|
||||
var cbTimer1;
|
||||
ipc.on('startmem', (e, arg) => {
|
||||
event = e.sender
|
||||
cbTimer1 = setInterval(mems, 1000);
|
||||
});
|
||||
function mems() {
|
||||
var mem = os.totalmem() - os.freemem();
|
||||
if (mainWindow) {
|
||||
event.webContents.send('memory', [mem, os.cpus()[0].model, os.totalmem()]);
|
||||
}
|
||||
}
|
||||
ipc.on('endmem', (e, arg) => {
|
||||
if (cbTimer1) {
|
||||
clearInterval(cbTimer1);
|
||||
}
|
||||
});
|
||||
|
||||
function mems() {
|
||||
var mem = os.totalmem() - os.freemem();
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('memory', [mem, os.cpus()[0].model, os.totalmem()]);
|
||||
}
|
||||
}
|
||||
|
||||
ipc.on('export', (e, args) => {
|
||||
fs.writeFileSync(args[0], args[1]);
|
||||
});
|
||||
ipc.on('import', (e, arg) => {
|
||||
mainWindow.webContents.send('config', fs.readFileSync(arg, 'utf8'));
|
||||
});
|
||||
//フォント
|
||||
function object_array_sort(data, key, order, fn) {
|
||||
//デフォは降順(DESC)
|
||||
@@ -180,7 +225,7 @@ function system(mainWindow, dir, lang) {
|
||||
const fm = require('font-manager');
|
||||
var fonts = fm.getAvailableFontsSync();
|
||||
object_array_sort(fonts, 'family', 'asc', function (fonts_sorted) {
|
||||
mainWindow.webContents.send('font-list', fonts_sorted);
|
||||
e.sender.webContents.send('font-list', fonts_sorted);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@@ -99,10 +99,8 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
|
||||
<script>
|
||||
//jQuery読む
|
||||
window.jQuery = window.$ = require('./js/common/jquery.js');
|
||||
var Hammer = require('./js/common/hammer.min.js');
|
||||
$.strip_tags = function (str, allowed) {
|
||||
if (!str) {
|
||||
return "";
|
||||
|